1 |
- {"version":3,"file":"50497.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA,4BAA4B,GAC5B;AAAuE;AAEnC;AAEM;AAES;AAChB;AAC0B;AACR;AACL;IAEzC,UAIN;UAJWS,UAAU;IAAVA,UAAU,CACpBC,OAAK,IAAG,OAAO;IADLD,UAAU,CAEpBE,QAAM,IAAG,QAAQ;IAFPF,UAAU,CAGpBG,OAAK,IAAG,OAAO;GAHLH,UAAU,KAAVA,UAAU;IAMf,WAIN;UAJWI,WAAW;IAAXA,WAAW,CACrBC,QAAM,IAAG,QAAQ;IADPD,WAAW,CAErBE,QAAM,IAAG,QAAQ;IAFPF,WAAW,CAGrBG,MAAI,IAAG,MAAM;GAHHH,WAAW,KAAXA,WAAW;IAMhB,UAON;UAPWI,UAAU;IAAVA,UAAU,CACpBC,SAAO,IAAG,SAAS;IADTD,UAAU,CAEpBE,WAAS,IAAG,WAAW;IAFbF,UAAU,CAGpBG,SAAO,IAAG,SAAS;IAHTH,UAAU,CAIpBI,OAAK,IAAG,OAAO;IAJLJ,UAAU,CAKpBK,SAAO,IAAG,SAAS;IALTL,UAAU,CAMpBM,SAAO,IAAG,SAAS;GANTN,UAAU,KAAVA,UAAU;IASf,aAKN;UALWO,aAAa;IAAbA,aAAa,CACvBC,QAAM,IAAG,QAAQ;IADPD,aAAa,CAEvBE,OAAK,IAAG,OAAO;IAFLF,aAAa,CAGvBG,SAAO,IAAG,SAAS;IAHTH,aAAa,CAIvBI,UAAQ,IAAG,UAAU;GAJXJ,aAAa,KAAbA,aAAa;AAgCzB,MAAMK,MAAM,GAA0B,CAAC,EACrCC,IAAI,GACJC,OAAO,GACPC,QAAQ,GACRC,UAAU,EAAEC,QAAQ,GAAG,KAAK,GAC5BC,SAAS,GACTC,IAAI,EAAGnB,UAAU,CAACC,OAAO,GACzBmB,IAAI,EAAG5B,UAAU,CAACE,MAAM,GACxB2B,KAAK,GACLC,MAAM,GACNC,MAAM,GACNC,OAAO,GACPC,OAAO,GACPC,kBAAkB,EAAGpC,6EAAkB,GACvCsC,SAAS,GACTC,cAAc,EAAG,IAAI,GACrBC,eAAe,EAAG,IAAI,GACtBC,kBAAkB,EAAEC,cAAc,GAAG,KAAK,GAC1CC,cAAc,EAAEC,QAAQ,GAAG,IAAI,GAC/BC,QAAQ,EAAEC,MAAM,GAChBC,SAAS,GACTC,QAAQ,GACR,GAAGC,KAAK,EACT,GAAK;IACJ,MAAMC,SAAS,GAAGjD,wEAAY,EAAE;IAChC,MAAMkD,OAAO,GAAGzD,iDAAU,CAACC,iEAAW,EAAE2C,SAAS,EAAE;QACjD,CAAC3C,qEAAe,CAAC,EAAE,OAAO8B,QAAQ,KAAK,QAAQ;QAC/C,CAAC9B,qEAAe,CAAC,EAAE,OAAO8B,QAAQ,KAAK,QAAQ;QAC/C,OAAO;QACP,CAAC9B,oEAAc,CAAC,EAAEkC,IAAI,KAAKnB,UAAU,CAACC,OAAO;QAC7C,CAAChB,sEAAgB,CAAC,EAAEkC,IAAI,KAAKnB,UAAU,CAACE,SAAS;QACjD,CAACjB,oEAAc,CAAC,EAAEkC,IAAI,KAAKnB,UAAU,CAACG,OAAO;QAC7C,CAAClB,oEAAc,CAAC,EAAEkC,IAAI,KAAKnB,UAAU,CAACK,OAAO;QAC7C,CAACpB,kEAAY,CAAC,EAAEkC,IAAI,KAAKnB,UAAU,CAACI,KAAK;QACzC,CAACnB,oEAAc,CAAC,EAAEkC,IAAI,KAAKnB,UAAU,CAACM,OAAO;QAE7C,OAAO;QACP,CAACrB,kEAAY,CAAC,EAAEmC,IAAI,KAAK5B,UAAU,CAACG,KAAK;QACzC,CAACV,mEAAa,CAAC,EAAEmC,IAAI,KAAK5B,UAAU,CAACE,MAAM;QAC3C,CAACT,kEAAY,CAAC,EAAEmC,IAAI,KAAK5B,UAAU,CAACC,KAAK;QAEzC,QAAQ;QACR,CAACR,mEAAa,CAAC,EAAEoC,KAAK,KAAKzB,WAAW,CAACC,MAAM;QAC7C,CAACZ,mEAAa,CAAC,EAAEoC,KAAK,KAAKzB,WAAW,CAACE,MAAM;QAC7C,CAACb,iEAAW,CAAC,EAAEoC,KAAK,KAAKzB,WAAW,CAACG,IAAI;QAEzC,UAAU;QACV,CAACd,mEAAa,CAAC,EAAEuC,OAAO,KAAKjB,aAAa,CAACC,MAAM;QACjD,CAACvB,kEAAY,CAAC,EAAEuC,OAAO,KAAKjB,aAAa,CAACE,KAAK;QAC/C,CAACxB,oEAAc,CAAC,EAAEuC,OAAO,KAAKjB,aAAa,CAACG,OAAO;QACnD,CAACzB,qEAAe,CAAC,EAAEuC,OAAO,KAAKjB,aAAa,CAACI,QAAQ;QAErD,CAAC1B,qEAAe,CAAC,EAAEgC,QAAQ,IAAIC,SAAS;QACxC,CAACjC,0EAAoB,CAAC,EAAE,CAAC4C,cAAc;KACxC,CAAC;IAEF,0DAA0D;IAC1D,IAAIiC,WAAW;IACf,IAAI5C,SAAS,EAAE4C,WAAW,iBAAG,mDAAC1E,qEAAO;QAACgC,IAAI,EAAEA,IAAI,CAAC2C,QAAQ,EAAE;MAAmB,CAAC;SAC1ED,WAAW,GAAGxC,MAAM,CAAC;IAE1B,IAAI0C,OAAO;IAEX,IAAInD,IAAI,IAAI,CAACI,QAAQ,EAAE;QACrB+C,OAAO,iBACL,mDAAC7E,+DAAI;YACH0B,IAAI,EAAEA,IAAI;YACVsB,QAAQ,EAAEC,MAAM;YAChBH,cAAc,EAAEC,QAAQ;YACxB+B,SAAS,EAAEjC,cAAc;YACxB,GAAIlB,OAAO,IAAI;gBAAEA,OAAO;aAAE;YAE1B,GAAIuB,SAAS,IAAI;gBAAEA,SAAS;aAAE;sBAE/B,sEAAC6B,KAAG;gBAACC,GAAG,EAAE3B,SAAS;gBAAEZ,SAAS,EAAEa,OAAO;gBAAE2B,qBAAmB,EAAEtC,eAAe;gBAAG,GAAGS,KAAK;;oBACrFuB,WAAW,kBACV,mDAACO,MAAI;wBAACF,GAAG,EAAE3B,SAAS;wBAAEZ,SAAS,EAAE3C,mEAAa;wBAAEmF,qBAAmB,EAAEtC,eAAe;kCACjFgC,WAAW;sBACP;kCAET,mDAACO,MAAI;wBAACzC,SAAS,EAAE3C,oEAAc;kCAAG8B,QAAQ;sBAAQ;oBACjDQ,MAAM,kBACL,mDAAC8C,MAAI;wBAACF,GAAG,EAAE3B,SAAS;wBAAEZ,SAAS,EAAE3C,mEAAa;wBAAEmF,qBAAmB,EAAEtC,eAAe;kCACjFP,MAAM;sBACF;;cAEL;UACD,CACP;IACJ,OAAO;QACLyC,OAAO,iBACL,wDAACM,QAAM;YACL,iDAAiD;YACjDnD,IAAI,EAAEmB,QAAQ;YACd6B,GAAG,EAAE3B,SAAS;YACdZ,SAAS,EAAEa,OAAO;YAClBxB,QAAQ,EAAEA,QAAQ;YAClBH,OAAO,EAAEA,OAAO;YAChBsD,qBAAmB,EAAEtC,eAAe;YAEnC,GAAIO,SAAS,IAAI;gBAAE,YAAY,EAAEA,SAAS;aAAE;YAC5C,GAAGE,KAAK;;gBAERuB,WAAW,kBACV,mDAACO,MAAI;oBAACF,GAAG,EAAE3B,SAAS;oBAAEZ,SAAS,EAAE3C,mEAAa;oBAAEmF,qBAAmB,EAAEtC,eAAe;8BACjFgC,WAAW;kBACP;8BAET,mDAACO,MAAI;oBAACzC,SAAS,EAAE3C,oEAAc;8BAAG8B,QAAQ;kBAAQ;gBACjDQ,MAAM,kBACL,mDAAC8C,MAAI;oBAACF,GAAG,EAAE3B,SAAS;oBAAEZ,SAAS,EAAE3C,mEAAa;oBAAEmF,qBAAmB,EAAEtC,eAAe;8BACjFP,MAAM;kBACF;;UAEF,CACT;IACJ,CAAC;IAED,qBACE,mDAACrC,4EAAO;QACNqF,UAAU,EAAE,CAAC,CAAC9C,OAAO;QACrB+C,OAAO,EAAE,CAACC,eAAe,iBACvB,mDAACpF,8DAAO;gBAACqF,IAAI,EAAEjD,OAAO;gBAAEkD,WAAW,EAAEjD,kBAAkB;0BACpD+C,eAAe;cACR;kBAGXT,OAAO;MACA,CACV;AACJ,CAAC;AAED,iEAAepD,MAAM,EAAC;;;;;;;;;;;;;;;;;;;;;ACtMtB;AAAoC;AAEO;IAEpC,WAIN;UAJWgE,WAAW;IAAXA,WAAW,CACrBnF,OAAK,IAAG,OAAO;IADLmF,WAAW,CAErBlF,QAAM,IAAG,QAAQ;IAFPkF,WAAW,CAGrBjF,OAAK,IAALA,OAAK;GAHKiF,WAAW,KAAXA,WAAW;AAYvB,MAAMxF,OAAO,GAAG,CAAC,EACfgC,IAAI,EAAGwD,WAAW,CAAClF,MAAM,GACzBmF,UAAU,EAAG,IAAI,GACjBjD,SAAS,GACTkD,qBAAqB,GACR,iBACb,mDAACZ,KAAG;QACFtC,SAAS,EAAE5C,iDAAU,CAACC,qEAAc,EAAE2C,SAAS,EAAE;YAC/C,CAAC3C,mEAAY,CAAC,EAAEmC,IAAI,KAAKwD,WAAW,CAACjF,KAAK;YAC1C,CAACV,oEAAa,CAAC,EAAEmC,IAAI,KAAKwD,WAAW,CAAClF,MAAM;YAC5C,CAACT,mEAAY,CAAC,EAAEmC,IAAI,KAAKwD,WAAW,CAACnF,KAAK;YAC1C,CAACR,sEAAe,CAAC,EAAE4F,UAAU;YAC7B,CAAC5F,6EAAsB,CAAC,EAAE6F,qBAAqB;SAChD,CAAC;kBAEF,iEAACZ,KAAG;YAACtC,SAAS,EAAE3C,uEAAgB;sBAAGkG,QAAQ,EAAE;UAAO;MAChD;AAGR,MAAMA,QAAQ,GAAG,IACf,gEAAgE;IAChE;WAAI,IAAIC,KAAK,CAAC,EAAE,CAAC;KAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,GAC9B,oDAAoD;sBACpD,mDAAClB,MAAI;YAACzC,SAAS,EAAE3C,kEAAW;WAAO,CAAC,QAAQ,EAAEsG,KAAK,CAAC,CAAC,CAAI,CACzD;AAEJ,iEAAenG,OAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AC1CvB;AAAyC;AAEe;AACpB;AAEO;IAEpC,WAKN;UALWqG,WAAW;IAAXA,WAAW,CACrBC,SAAO,IAAG,SAAS;IADTD,WAAW,CAErBE,OAAK,IAAG,OAAO;IAFLF,WAAW,CAGrBG,SAAO,IAAG,SAAS;IAHTH,WAAW,CAIrBI,WAAS,IAAG,WAAW;GAJbJ,WAAW,KAAXA,WAAW;IAOhB,WAKN;UALWnG,WAAW;IAAXA,WAAW,CACrBwG,KAAG,IAAG,KAAK;IADDxG,WAAW,CAErByG,OAAK,IAAG,OAAO;IAFLzG,WAAW,CAGrBqC,QAAM,IAAG,QAAQ;IAHPrC,WAAW,CAIrB0G,MAAI,IAAG,MAAM;GAJH1G,WAAW,KAAXA,WAAW;IAOhB,YAIN;UAJW2G,YAAY;IAAZA,YAAY,CACtBC,OAAK,IAAG,OAAO;IADLD,YAAY,CAEtBE,QAAM,IAAG,QAAQ;IAFPF,YAAY,CAGtBG,KAAG,IAAG,KAAK;GAHDH,YAAY,KAAZA,YAAY;AAqBxB,MAAM5G,OAAO,GAAoB,CAAC,EAChCqF,IAAI,GACJ3D,QAAQ,GACRsF,YAAY,GACZC,IAAI,GACJnF,IAAI,GACJwD,WAAW,EAAGrF,WAAW,CAACqC,MAAM,GAChC4E,YAAY,EAAGN,YAAY,CAACE,MAAM,GAClCK,eAAe,EAAG,IAAI,GACtBC,KAAK,EAAG,GAAG,GACXC,GAAG,EAAG,IAAI,GACVC,YAAY,EAAG,IAAI,GACnBC,UAAU,EAAG,IAAI,KAClB,iBACC,wDAACpB,yDAAiB;QAChBsB,aAAa,EAAEL,KAAK;QACnB,GAAI,OAAOH,IAAI,KAAK,WAAW,IAAI;YAAEA,IAAI;SAAE;QAC3C,GAAID,YAAY,IAAI;YAAEA,YAAY;SAAE;;0BAErC,mDAACb,4DAAoB;gBAACwB,YAAU,EAAC,cAAc;gBAACC,OAAO;0BACrD,iEAAC5C,MAAI;oBAACzC,SAAS,EAAE3C,qEAAc;8BAAG8B,QAAQ;kBAAQ;cAC7B;0BACvB,wDAACyE,4DAAoB;gBACnB4B,UAAU,EAAE,CAAC;gBACbC,IAAI,EAAE1C,WAAW;gBACjB2C,KAAK,EAAEf,YAAY;gBACnBC,eAAe,EAAEA,eAAe;gBAChC5E,SAAS,EAAE5C,iDAAU,CAACC,qEAAc,EAAE;oBACpC,CAACA,uEAAgB,CAAC,EAAE0H,YAAY,KAAK,KAAK;oBAC1C,CAAC1H,sEAAe,CAAC,EAAE2H,UAAU,KAAK,KAAK;oBACvC,CAAC3H,qEAAc,CAAC,EAAEkC,IAAI,KAAKsE,WAAW,CAACC,OAAO;oBAC9C,CAACzG,qEAAc,CAAC,EAAEkC,IAAI,KAAKsE,WAAW,CAACG,OAAO;oBAC9C,CAAC3G,mEAAY,CAAC,EAAEkC,IAAI,KAAKsE,WAAW,CAACE,KAAK;oBAC1C,CAAC1G,uEAAgB,CAAC,EAAEkC,IAAI,KAAKsE,WAAW,CAACI,SAAS;iBACnD,CAAC;;oBAEDnB,IAAI;oBACJgC,GAAG,kBAAI,mDAAClB,0DAAkB,KAAG;;cACT;;MACL;AAGtB,iEAAenG,OAAO,EAAC;;;;;;;;;;;;;;;;;ACpFiB;AAEA;AAExC,MAAME,YAAY,GAAG,IAAc;IACjC,MAAM,EAAEqI,MAAM,GAAE,GAAGF,sDAAS,EAAE;IAC9B,OAAOC,+DAAM,CAACC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,iEAAerI,YAAY,EAAC","sources":["webpack://quran.com/./src/components/dls/Button/Button.module.scss","webpack://quran.com/./src/components/dls/Spinner/Spinner.module.scss","webpack://quran.com/./src/components/dls/Tooltip/Tooltip.module.scss","webpack://quran.com/./src/components/dls/Button/Button.tsx","webpack://quran.com/./src/components/dls/Spinner/Spinner.tsx","webpack://quran.com/./src/components/dls/Tooltip/index.tsx","webpack://quran.com/./src/hooks/useDirection.ts"],"sourcesContent":["// Exports\nmodule.exports = {\n\t\"base\": \"Button_base__J2n8j\",\n\t\"disabled\": \"Button_disabled__X_sEV\",\n\t\"primary\": \"Button_primary__VBekZ\",\n\t\"secondary\": \"Button_secondary__UbmkS\",\n\t\"success\": \"Button_success__As9HB\",\n\t\"warning\": \"Button_warning__lvS_t\",\n\t\"error\": \"Button_error__FO_OV\",\n\t\"inverse\": \"Button_inverse__UF9r0\",\n\t\"ghost\": \"Button_ghost__pS9ZU\",\n\t\"large\": \"Button_large__JQFA1\",\n\t\"normal\": \"Button_normal__gNVb9\",\n\t\"small\": \"Button_small__DBbNO\",\n\t\"square\": \"Button_square__WerFZ\",\n\t\"circle\": \"Button_circle__ZrzHE\",\n\t\"pill\": \"Button_pill__tSakZ\",\n\t\"shadow\": \"Button_shadow__Epq7b\",\n\t\"outlined\": \"Button_outlined__Axs1Q\",\n\t\"compact\": \"Button_compact__S8Mm9\",\n\t\"suffix\": \"Button_suffix__9V66Z\",\n\t\"prefix\": \"Button_prefix__Y1BE7\",\n\t\"content\": \"Button_content__hmBjB\",\n\t\"noSidePadding\": \"Button_noSidePadding__mIqRQ\"\n};\n","// Exports\nmodule.exports = {\n\t\"large\": \"Spinner_large___jIQL\",\n\t\"normal\": \"Spinner_normal__RzEer\",\n\t\"small\": \"Spinner_small__Yp4tO\",\n\t\"spinner\": \"Spinner_spinner__E67OJ\",\n\t\"delayVisibility\": \"Spinner_delayVisibility__XK8gt\",\n\t\"fadeIn\": \"Spinner_fadeIn__C5hKJ\",\n\t\"centered\": \"Spinner_centered__WjW8H\",\n\t\"container\": \"Spinner_container__cpw6E\",\n\t\"span\": \"Spinner_span__4CLzE\"\n};\n","// Exports\nmodule.exports = {\n\t\"trigger\": \"Tooltip_trigger__E263W\",\n\t\"content\": \"Tooltip_content__I7VNE\",\n\t\"noInverse\": \"Tooltip_noInverse__cxnCQ\",\n\t\"noCenter\": \"Tooltip_noCenter__dXZMR\",\n\t\"secondary\": \"Tooltip_secondary__AJcKD\",\n\t\"success\": \"Tooltip_success__V_jEF\",\n\t\"warning\": \"Tooltip_warning__xHcqu\",\n\t\"error\": \"Tooltip_error__LuaPY\"\n};\n","/* eslint-disable max-lines */\nimport React, { MouseEventHandler, ButtonHTMLAttributes } from 'react';\n\nimport classNames from 'classnames';\n\nimport styles from './Button.module.scss';\n\nimport Wrapper from '@/components/Wrapper/Wrapper';\nimport Link from '@/dls/Link/Link';\nimport Spinner, { SpinnerSize } from '@/dls/Spinner/Spinner';\nimport Tooltip, { ContentSide } from '@/dls/Tooltip';\nimport useDirection from '@/hooks/useDirection';\n\nexport enum ButtonSize {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\nexport enum ButtonShape {\n Square = 'square',\n Circle = 'circle',\n Pill = 'pill',\n}\n\nexport enum ButtonType {\n Primary = 'primary',\n Secondary = 'secondary',\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n Inverse = 'inverse',\n}\n\nexport enum ButtonVariant {\n Shadow = 'shadow',\n Ghost = 'ghost',\n Compact = 'compact',\n Outlined = 'outlined',\n}\n\nexport type ButtonProps = {\n size?: ButtonSize;\n shape?: ButtonShape;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n isLoading?: boolean;\n href?: string;\n isDisabled?: boolean;\n onClick?: MouseEventHandler;\n tooltip?: string | React.ReactNode;\n tooltipContentSide?: ContentSide;\n className?: string;\n hasSidePadding?: boolean;\n shouldFlipOnRTL?: boolean;\n shouldShallowRoute?: boolean;\n shouldPrefetch?: boolean;\n isNewTab?: boolean;\n ariaLabel?: string;\n htmlType?: ButtonHTMLAttributes<HTMLButtonElement>['type'];\n children?: React.ReactNode;\n id?: string;\n};\n\nconst Button: React.FC<ButtonProps> = ({\n href,\n onClick,\n children,\n isDisabled: disabled = false,\n isLoading,\n type = ButtonType.Primary,\n size = ButtonSize.Medium,\n shape,\n prefix,\n suffix,\n variant,\n tooltip,\n tooltipContentSide = ContentSide.BOTTOM,\n className,\n hasSidePadding = true,\n shouldFlipOnRTL = true,\n shouldShallowRoute: shallowRouting = false,\n shouldPrefetch: prefetch = true,\n isNewTab: newTab,\n ariaLabel,\n htmlType,\n ...props\n}) => {\n const direction = useDirection();\n const classes = classNames(styles.base, className, {\n [styles.withText]: typeof children === 'string',\n [styles.withIcon]: typeof children !== 'string',\n // type\n [styles.primary]: type === ButtonType.Primary,\n [styles.secondary]: type === ButtonType.Secondary,\n [styles.success]: type === ButtonType.Success,\n [styles.warning]: type === ButtonType.Warning,\n [styles.error]: type === ButtonType.Error,\n [styles.inverse]: type === ButtonType.Inverse,\n\n // size\n [styles.large]: size === ButtonSize.Large,\n [styles.normal]: size === ButtonSize.Medium,\n [styles.small]: size === ButtonSize.Small,\n\n // shape\n [styles.square]: shape === ButtonShape.Square,\n [styles.circle]: shape === ButtonShape.Circle,\n [styles.pill]: shape === ButtonShape.Pill,\n\n // variant\n [styles.shadow]: variant === ButtonVariant.Shadow,\n [styles.ghost]: variant === ButtonVariant.Ghost,\n [styles.compact]: variant === ButtonVariant.Compact,\n [styles.outlined]: variant === ButtonVariant.Outlined,\n\n [styles.disabled]: disabled || isLoading,\n [styles.noSidePadding]: !hasSidePadding,\n });\n\n // when loading, replace the prefix icon with loading icon\n let prefixFinal;\n if (isLoading) prefixFinal = <Spinner size={size.toString() as SpinnerSize} />;\n else prefixFinal = prefix;\n\n let content;\n\n if (href && !disabled) {\n content = (\n <Link\n href={href}\n isNewTab={newTab}\n shouldPrefetch={prefetch}\n isShallow={shallowRouting}\n {...(onClick && { onClick })}\n // eslint-disable-next-line @typescript-eslint/naming-convention\n {...(ariaLabel && { ariaLabel })}\n >\n <div dir={direction} className={classes} data-auto-flip-icon={shouldFlipOnRTL} {...props}>\n {prefixFinal && (\n <span dir={direction} className={styles.prefix} data-auto-flip-icon={shouldFlipOnRTL}>\n {prefixFinal}\n </span>\n )}\n <span className={styles.content}>{children}</span>\n {suffix && (\n <span dir={direction} className={styles.suffix} data-auto-flip-icon={shouldFlipOnRTL}>\n {suffix}\n </span>\n )}\n </div>\n </Link>\n );\n } else {\n content = (\n <button\n // eslint-disable-next-line react/button-has-type\n type={htmlType}\n dir={direction}\n className={classes}\n disabled={disabled}\n onClick={onClick}\n data-auto-flip-icon={shouldFlipOnRTL}\n // eslint-disable-next-line @typescript-eslint/naming-convention\n {...(ariaLabel && { 'aria-label': ariaLabel })}\n {...props}\n >\n {prefixFinal && (\n <span dir={direction} className={styles.prefix} data-auto-flip-icon={shouldFlipOnRTL}>\n {prefixFinal}\n </span>\n )}\n <span className={styles.content}>{children}</span>\n {suffix && (\n <span dir={direction} className={styles.suffix} data-auto-flip-icon={shouldFlipOnRTL}>\n {suffix}\n </span>\n )}\n </button>\n );\n }\n\n return (\n <Wrapper\n shouldWrap={!!tooltip}\n wrapper={(tooltipChildren) => (\n <Tooltip text={tooltip} contentSide={tooltipContentSide}>\n {tooltipChildren}\n </Tooltip>\n )}\n >\n {content}\n </Wrapper>\n );\n};\n\nexport default Button;\n","import classNames from 'classnames';\n\nimport styles from './Spinner.module.scss';\n\nexport enum SpinnerSize {\n Small = 'small',\n Medium = 'medium',\n Large = 'Large',\n}\ntype SpinnerProps = {\n size?: SpinnerSize;\n isCentered?: boolean;\n className?: string;\n shouldDelayVisibility?: boolean;\n};\n\nconst Spinner = ({\n size = SpinnerSize.Medium,\n isCentered = true,\n className,\n shouldDelayVisibility,\n}: SpinnerProps) => (\n <div\n className={classNames(styles.spinner, className, {\n [styles.large]: size === SpinnerSize.Large,\n [styles.normal]: size === SpinnerSize.Medium,\n [styles.small]: size === SpinnerSize.Small,\n [styles.centered]: isCentered,\n [styles.delayVisibility]: shouldDelayVisibility,\n })}\n >\n <div className={styles.container}>{getSpans()}</div>\n </div>\n);\n\nconst getSpans = () =>\n // eslint-disable-next-line @typescript-eslint/naming-convention\n [...new Array(12)].map((_, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <span className={styles.span} key={`spinner-${index}`} />\n ));\n\nexport default Spinner;\n","import React, { ReactNode } from 'react';\n\nimport * as RadixTooltip from '@radix-ui/react-tooltip';\nimport classNames from 'classnames';\n\nimport styles from './Tooltip.module.scss';\n\nexport enum TooltipType {\n SUCCESS = 'success',\n ERROR = 'error',\n WARNING = 'warning',\n SECONDARY = 'secondary',\n}\n\nexport enum ContentSide {\n TOP = 'top',\n RIGHT = 'right',\n BOTTOM = 'bottom',\n LEFT = 'left',\n}\n\nexport enum ContentAlign {\n START = 'start',\n CENTER = 'center',\n END = 'end',\n}\n\ninterface Props {\n text: ReactNode;\n children: ReactNode | ReactNode[];\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n contentSide?: ContentSide;\n contentAlign?: ContentAlign;\n avoidCollisions?: boolean;\n tip?: boolean;\n delay?: number;\n invertColors?: boolean;\n centerText?: boolean;\n type?: TooltipType;\n}\n\nconst Tooltip: React.FC<Props> = ({\n text,\n children,\n onOpenChange,\n open,\n type,\n contentSide = ContentSide.BOTTOM,\n contentAlign = ContentAlign.CENTER,\n avoidCollisions = true,\n delay = 400,\n tip = true,\n invertColors = true,\n centerText = true,\n}) => (\n <RadixTooltip.Root\n delayDuration={delay}\n {...(typeof open !== 'undefined' && { open })}\n {...(onOpenChange && { onOpenChange })}\n >\n <RadixTooltip.Trigger aria-label=\"Open tooltip\" asChild>\n <span className={styles.trigger}>{children}</span>\n </RadixTooltip.Trigger>\n <RadixTooltip.Content\n sideOffset={2}\n side={contentSide}\n align={contentAlign}\n avoidCollisions={avoidCollisions}\n className={classNames(styles.content, {\n [styles.noInverse]: invertColors === false,\n [styles.noCenter]: centerText === false,\n [styles.success]: type === TooltipType.SUCCESS,\n [styles.warning]: type === TooltipType.WARNING,\n [styles.error]: type === TooltipType.ERROR,\n [styles.secondary]: type === TooltipType.SECONDARY,\n })}\n >\n {text}\n {tip && <RadixTooltip.Arrow />}\n </RadixTooltip.Content>\n </RadixTooltip.Root>\n);\n\nexport default Tooltip;\n","import { useRouter } from 'next/router';\n\nimport { getDir } from '@/utils/locale';\n\nconst useDirection = (): string => {\n const { locale } = useRouter();\n return getDir(locale);\n};\n\nexport default useDirection;\n"],"names":["React","classNames","styles","Wrapper","Link","Spinner","Tooltip","ContentSide","useDirection","ButtonSize","Small","Medium","Large","ButtonShape","Square","Circle","Pill","ButtonType","Primary","Secondary","Success","Error","Warning","Inverse","ButtonVariant","Shadow","Ghost","Compact","Outlined","Button","href","onClick","children","isDisabled","disabled","isLoading","type","size","shape","prefix","suffix","variant","tooltip","tooltipContentSide","BOTTOM","className","hasSidePadding","shouldFlipOnRTL","shouldShallowRoute","shallowRouting","shouldPrefetch","prefetch","isNewTab","newTab","ariaLabel","htmlType","props","direction","classes","base","withText","withIcon","primary","secondary","success","warning","error","inverse","large","normal","small","square","circle","pill","shadow","ghost","compact","outlined","noSidePadding","prefixFinal","toString","content","isShallow","div","dir","data-auto-flip-icon","span","button","shouldWrap","wrapper","tooltipChildren","text","contentSide","SpinnerSize","isCentered","shouldDelayVisibility","spinner","centered","delayVisibility","container","getSpans","Array","map","_","index","RadixTooltip","TooltipType","SUCCESS","ERROR","WARNING","SECONDARY","TOP","RIGHT","LEFT","ContentAlign","START","CENTER","END","onOpenChange","open","contentAlign","avoidCollisions","delay","tip","invertColors","centerText","Root","delayDuration","Trigger","aria-label","asChild","trigger","Content","sideOffset","side","align","noInverse","noCenter","Arrow","useRouter","getDir","locale"],"sourceRoot":""}
|