@kodiak-finance/orderly-ui 2.8.19 → 2.8.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/button/button.tsx","../src/helpers/parse-props.ts","../src/layout/shadow.tsx","../src/button/base.tsx","../src/flex/flex.tsx","../src/layout/gap.tsx","../src/utils/tv.ts","../src/box/box.tsx","../src/layout/decoration.ts","../src/layout/layout.tsx","../src/layout/position.tsx","../src/layout/visible.ts","../src/spinner/spinner.tsx","../src/button/throttledButton.tsx","../src/grid/grid.tsx","../src/grid/span.tsx","../src/grid/index.ts","../src/typography/formatted.tsx","../src/icon/baseIcon.tsx","../src/icon/combine.tsx","../src/icon/chainIcon.tsx","../src/avatar/avatar.tsx","../src/icon/tokenIcon.tsx","../src/icon/close.tsx","../src/icon/check.tsx","../src/icon/baseIconWithPath.tsx","../src/icon/chevronDown.tsx","../src/icon/chevronUp.tsx","../src/icon/caretUp.tsx","../src/icon/caretDown.tsx","../src/icon/caretLeft.tsx","../src/icon/caretRight.tsx","../src/icon/chevronLeft.tsx","../src/icon/chevronRight.tsx","../src/icon/calendarMinus.tsx","../src/icon/setting.tsx","../src/icon/closeSquareFill.tsx","../src/icon/closeCircleFill.tsx","../src/icon/checkCircleFill.tsx","../src/icon/checkSquareFill.tsx","../src/icon/checkSquareEmpty.tsx","../src/icon/plus.tsx","../src/icon/reduce.tsx","../src/icon/circleOutlined.tsx","../src/icon/squareOutlined.tsx","../src/icon/exclamationFill.tsx","../src/icon/questionFill.tsx","../src/icon/arrowLeftRight.tsx","../src/icon/arrowDownUp.tsx","../src/icon/arrowUpSquareFill.tsx","../src/icon/arrowDownSquareFill.tsx","../src/icon/arrowLeftRightSquareFill.tsx","../src/icon/arrowRightUpSquareFill.tsx","../src/icon/assetIcon.tsx","../src/icon/barChartIcon.tsx","../src/icon/battleIcon.tsx","../src/icon/battleActiveIcon.tsx","../src/icon/battleInactiveIcon.tsx","../src/icon/battleSolidActiveIcon.tsx","../src/icon/battleSolidInactiveIcon.tsx","../src/icon/feeTier.tsx","../src/icon/earnActiveIcon.tsx","../src/icon/earnInactiveIcon.tsx","../src/icon/edit.tsx","../src/icon/eye.tsx","../src/icon/share.tsx","../src/icon/eyeClose.tsx","../src/icon/refresh.tsx","../src/icon/orderly.tsx","../src/icon/esOrderly.tsx","../src/icon/infoCircle.tsx","../src/icon/walletIcon.tsx","../src/icon/calendar.tsx","../src/icon/copy.tsx","../src/icon/serverFill.tsx","../src/icon/sortingASCIcon.tsx","../src/icon/sortingDESCIcon.tsx","../src/icon/arrowShort.tsx","../src/icon/sortingIcon.tsx","../src/icon/traderMobileIcon.tsx","../src/icon/affiliateIcon.tsx","../src/icon/tradingRewardsIcon.tsx","../src/icon/portfolioActiveIcon.tsx","../src/icon/portfolioInactiveIcon.tsx","../src/icon/tradingActiveIcon.tsx","../src/icon/tradingIcon.tsx","../src/icon/tradingInactiveIcon.tsx","../src/icon/leaderboardActive.tsx","../src/icon/leaderboardInactive.tsx","../src/icon/marketsActiveIcon.tsx","../src/icon/marketsInactiveIcon.tsx","../src/icon/starChildChatActiveIcon.tsx","../src/icon/starChildChatInactiveIcon.tsx","../src/icon/closeRoundFill.tsx","../src/icon/selectedChoicesFill.tsx","../src/icon/popupUnion.tsx","../src/icon/spotIcon.tsx","../src/icon/perpsIcon.tsx","../src/icon/emptyData.tsx","../src/icon/vectorIcon.tsx","../src/icon/swapHoriz.tsx","../src/icon/peopleIcon.tsx","../src/icon/personIcon.tsx","../src/icon/settingFill.tsx","../src/icon/tradingLeftNavIcon.tsx","../src/icon/vaultsIcon.tsx","../src/icon/leftNavVaultsIcon.tsx","../src/icon/newsFill.tsx","../src/icon/bellIcon.tsx","../src/icon/woofiStakeIcon.tsx","../src/icon/earnIcon.tsx","../src/icon/referralSolidIcon.tsx","../src/icon/addCircle.tsx","../src/icon/index.ts","../src/typography/text.tsx","../src/typography/utils.ts","../src/typography/gradient.tsx","../src/typography/numType.tsx","../src/typography/numeral.tsx","../src/typography/statistic.tsx","../src/typography/index.ts","../src/input/extends/quantity.tsx","../src/input/input.tsx","../src/input/baseInput.tsx","../src/input/inputAdditional.tsx","../src/input/prefix.tsx","../src/input/suffix.tsx","../src/select/combine.tsx","../src/popover/popover.tsx","../src/scrollarea/scrollArea.tsx","../src/select/selectPrimitive.tsx","../src/select/select.tsx","../src/select/tokens.tsx","../src/select/withOptions.tsx","../src/select/index.ts","../src/input/input.tooltip.tsx","../src/tooltip/tooltip.tsx","../src/input/formatter/index.ts","../src/input/formatter/currency.ts","../src/input/formatter/number.ts","../src/input/formatter/regex.ts","../src/input/formatter/dp.ts","../src/input/formatter/range.ts","../src/input/formatter/identifier.ts","../src/input/formatter/decimalPoint.ts","../src/input/textField.tsx","../src/input/inputHelpText.tsx","../src/input/index.ts","../src/checkbox/checkbox.tsx","../src/switch/switch.tsx","../src/badge/badge.tsx","../src/logo/logo.tsx","../src/table/dataTable.tsx","../src/table/hooks/useInit.ts","../src/table/hooks/useScroll.ts","../src/table/hooks/useShowHeader.ts","../src/table/hooks/useShowPagination.ts","../src/table/hooks/useSort.ts","../src/table/hooks/useWrap.ts","../src/table/tableBody.tsx","../src/table/className.ts","../src/table/tableCell.tsx","../src/table/utils/getColumnPinningProps.ts","../src/table/tableHeader.tsx","../src/table/icons.tsx","../src/table/multiSortHeader.tsx","../src/table/hooks/useMultiSort.ts","../src/pagination/pagination.tsx","../src/locale/context.ts","../src/locale/provider.tsx","../src/locale/useLocale.ts","../src/locale/en.ts","../src/table/tablePagination.tsx","../src/table/tablePlaceholder.tsx","../src/plugin/registry.ts","../src/plugin/install.tsx","../src/plugin/slot.tsx","../src/plugin/notFound.tsx","../src/plugin/useBuilder.ts","../src/plugin/useExtensionBuilder.ts","../src/plugin/types.ts","../src/table/transform.ts","../src/table/dataFilter.tsx","../src/pickers/dateRangePicker.tsx","../src/pickers/date/calendar.tsx","../src/pickers/datepicker.tsx","../src/pickers/picker.tsx","../src/sheet/sheet.tsx","../src/modal/modalContext.tsx","../src/modal/utils.ts","../src/modal/modalHelper.tsx","../src/modal/useModal.tsx","../src/divider/divider.tsx","../src/sheet/simpleSheet.tsx","../src/modal/preset/sheet.tsx","../src/modal/preset/alert.tsx","../src/dialog/alertDialog.tsx","../src/dialog/dialog.tsx","../src/dialog/simpleDialogFooter.tsx","../src/dialog/simpleDialog.tsx","../src/hooks/useMediaQuery.ts","../src/hooks/useScreen.ts","../src/hooks/useObserverElement.ts","../src/hooks/useCanLinkDevice.ts","../src/hooks/useLongPress.ts","../src/modal/preset/dialog.tsx","../src/dialog/triggerDialog.tsx","../src/dialog/helper.tsx","../src/modal/preset/confirm.tsx","../src/modal/index.tsx","../src/sheet/helper.tsx","../src/sheet/actionSheet.tsx","../src/table/hooks/usePagination.ts","../src/table/emptyDataState.tsx","../src/table/features/index.ts","../src/table/features/csvExportService.ts","../src/table/features/download.ts","../src/tabs/tabsBase.tsx","../src/tabs/tabs.tsx","../src/provider/orderlyThemeContext.tsx","../src/scrollIndicator/scrollIndicator.tsx","../src/scrollIndicator/hooks/useDrag.ts","../src/scrollIndicator/hooks/useScroll.ts","../src/scrollIndicator/scrollButton.tsx","../src/card/cardBase.tsx","../src/card/card.tsx","../src/card/hoverCard.tsx","../src/pickers/index.ts","../src/slider/slider.tsx","../src/slider/utils.ts","../src/toast/Toaster.tsx","../src/icon/toasterIcons.tsx","../src/toast/index.ts","../src/toast/toastTile.tsx","../src/listView/listView.tsx","../src/listView/useEndReached.ts","../src/collapsible/collapsible.tsx","../src/collapsible/collapse/collapse.tsx","../src/collapsible/collapse/collapseContext.tsx","../src/collapsible/collapse/panel.tsx","../src/marquee/marquee.tsx","../src/dropdown/dropdown.tsx","../src/dropdown/menuItem.tsx","../src/provider/orderlyThemeProvider.tsx","../src/provider/componentProvider.tsx","../src/misc/either.tsx","../src/index.ts","../src/utils/string.ts","../src/utils/transition.ts","../src/tailwind.css","../src/status/dotStatus.tsx"],"names":["React","tv","Slot","jsx","Fragment","jsxs","useRef","Grid","useMemo","forwardRef","cnBase","Text","useState","useCallback","useEffect","value","SelectPrimitive","Input","SelectItem","Select","token","cn","commify","rest","SortingIcon","SortIndicator","ExtensionPositionEnum","props","DEFAULT_DATE_FORMAT","createContext","useContext","modal","show","args","hide","remove","setStates","updateArgs","buttons","query","actions","Dialog","items","option","useScroll","container","DatePicker","marks","range","toast","CollapsibleTrigger","CollapsibleContent","default"],"mappings":"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GAAG;AAAA,MACD,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,GAAG;AAAA,MACD,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,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","sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { parseAngleProps } from \"../helpers/parse-props\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { shadowVariants } from \"../layout/shadow\";\nimport { BaseButton, BaseButtonProps } from \"./base\";\n\nconst buttonVariants = tv(\n {\n base: [\n \"oui-button\",\n \"oui-inline-flex\",\n \"oui-items-center\",\n \"oui-justify-center\",\n \"oui-whitespace-nowrap\",\n \"oui-transition-colors\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-bg-base-3\",\n \"disabled:oui-text-base-contrast-36\",\n \"disabled:hover:oui-bg-base-3\",\n ],\n variants: {\n ...shadowVariants.variants,\n variant: {\n text: \"oui-bg-transparent\",\n outlined: \"oui-border\",\n contained: \"oui-text-white\",\n gradient: \"oui-gradient-brand oui-text-[rgba(0,0,0,0.88)]\",\n },\n size: {\n xs: [\"oui-px-2\", \"oui-rounded\", \"oui-h-6\", \"oui-text-2xs\"], //24px\n sm: [\"oui-px-3\", \"oui-rounded\", \"oui-h-7\", \"oui-text-2xs\"], //28px\n md: [\"oui-px-3\", \"oui-rounded-md\", \"oui-h-8\", \"oui-text-sm\"], //32px\n lg: [\"oui-px-3\", \"oui-rounded-md\", \"oui-h-10\", \"oui-text-base\"], //40px\n xl: [\"oui-px-4\", \"oui-rounded-lg\", \"oui-h-13\", \"oui-text-lg\"], //54px\n },\n color: {\n primary: [\n \"hover:oui-bg-primary-darken/80 active:oui-bg-primary-darken/70\",\n ],\n secondary: \"hover:oui-bg-base-4/80 active:oui-bg-base-4/70\",\n success: \"hover:oui-bg-success/80 active:oui-bg-success/70\",\n buy: \"hover:oui-bg-success/80 active:oui-bg-success/70\",\n danger: \"hover:oui-bg-danger/80 active:oui-bg-danger/70\",\n sell: \"hover:oui-bg-danger/80 active:oui-bg-danger/70\",\n warning:\n \"hover:oui-bg-warning-darken/80 active:oui-bg-warning-darken/70\",\n gray: \"hover:oui-bg-base-2/80 active:oui-bg-base-2/70\",\n light:\n \"hover:oui-bg-white/80 active:oui-bg-white/50 disable:oui-bg-white/20\",\n },\n fullWidth: {\n true: \"oui-w-full\",\n },\n // disabled: {\n // true: \"oui-bg-base-3 oui-text-base-contrast-36\",\n // },\n },\n compoundVariants: [\n // contained\n {\n variant: \"contained\",\n color: \"primary\",\n className: [\"oui-bg-primary-darken\", \"oui-text-primary-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"secondary\",\n className: [\"oui-bg-base-4\", \"oui-text-secondary-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"success\",\n className: [\"oui-bg-success\", \"oui-text-success-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"buy\",\n className: [\"oui-bg-trade-profit\", \"oui-text-success-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"warning\",\n className: [\"oui-bg-warning-darken\", \"oui-text-warning-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"danger\",\n className: [\"oui-bg-danger\", \"oui-text-danger-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"sell\",\n className: [\"oui-bg-trade-loss\", \"oui-text-danger-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"gray\",\n className: [\"oui-bg-base-2\", \"oui-text-base-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"light\",\n className: [\n \"oui-bg-white\",\n \"oui-text-black/[.88]\",\n \"disabled:oui-bg-white/30 hover:disabled:oui-bg-white/30 disabled:oui-text-black/[.36]\",\n ],\n },\n\n {\n variant: \"outlined\",\n color: \"primary\",\n className: [\n \"oui-border-primary-darken\",\n \"oui-text-primary-darken\",\n \"hover:oui-bg-primary-darken/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"secondary\",\n className: [\n \"oui-border-base-4\",\n \"oui-text-base-contrast-54\",\n \"hover:oui-bg-base-4/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"success\",\n className: [\n \"oui-border-success\",\n \"oui-text-success\",\n \"hover:oui-bg-success/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"warning\",\n className: [\n \"oui-border-warning-darken\",\n \"oui-text-warning-contrast\",\n \"hover:oui-bg-warning-darken/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"danger\",\n className: [\n \"oui-border-danger\",\n \"oui-text-danger\",\n \"hover:oui-bg-danger/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"gray\",\n className: [\"oui-border-base-2\", \"oui-text-base\"],\n },\n // outlined end\n // {\n // variant: \"outlined\",\n // color: \"darkGray\",\n // className: [\"oui-border-base-4\", \"oui-text-base\"],\n // },\n // text\n {\n variant: \"text\",\n color: \"primary\",\n className: [\"oui-text-primary-darken hover:oui-bg-primary-darken/10\"],\n },\n {\n variant: \"text\",\n color: \"success\",\n className: [\"oui-text-success hover:oui-bg-success/10\"],\n },\n {\n variant: \"text\",\n color: \"warning\",\n className: [\"oui-text-warning-contrast hover:oui-bg-warning-darken/10\"],\n },\n {\n variant: \"text\",\n color: \"danger\",\n className: [\"oui-text-danger hover:oui-bg-danger/10\"],\n },\n {\n variant: \"text\",\n color: \"gray\",\n className: [\"oui-text-base hover:oui-bg-base-2/10\"],\n },\n {\n variant: \"text\",\n color: \"secondary\",\n className: [\"oui-text-base-contrast-36 hover:oui-bg-base-2/10\"],\n },\n ],\n defaultVariants: {\n size: \"lg\",\n variant: \"contained\",\n color: \"primary\",\n // elevation: \"none\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n },\n);\n\ninterface ButtonProps\n extends Omit<BaseButtonProps, \"size\">,\n VariantProps<typeof buttonVariants> {\n angle?: number;\n \"data-testid\"?: string;\n}\n\nconst Button = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps>\n>(\n (\n {\n className,\n variant,\n size,\n color,\n fullWidth,\n shadow,\n angle,\n style,\n ...props\n },\n ref,\n ) => {\n // const Comp = asChild ? Slot : \"button\";\n const angleStyle = parseAngleProps({ angle });\n return (\n <BaseButton\n className={buttonVariants({\n variant,\n size,\n color,\n className,\n fullWidth,\n shadow,\n })}\n size={size as SizeType}\n ref={ref}\n style={{ ...style, ...angleStyle }}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n\nexport type { ButtonProps };\n","import { CSSProperties } from \"react\";\n\nexport const parseSizeProps = <\n T extends {\n width?: number | string;\n height?: number | string;\n angle?: number;\n left?: number | string;\n right?: number | string;\n top?: number | string;\n bottom?: number | string;\n [key: string]: any;\n },\n>(\n props: T,\n) => {\n const { width, height, angle, left, top, bottom, right, ...rest } = props;\n\n const style = Object.create(null);\n\n if (angle) {\n style[\"--oui-gradient-angle\"] = `${angle}deg`;\n }\n\n convertToStyle(\"--oui-width\", width, style);\n convertToStyle(\"--oui-height\", height, style);\n convertToStyle(\"--oui-left\", left, style);\n convertToStyle(\"--oui-right\", right, style);\n convertToStyle(\"--oui-top\", top, style);\n convertToStyle(\"--oui-bottom\", bottom, style);\n\n return {\n ...rest,\n style: {\n ...rest.style,\n ...style,\n },\n } as const;\n};\n\nfunction convertToStyle(\n key: string,\n value: string | number,\n style: CSSProperties,\n) {\n if (typeof value !== \"undefined\") {\n style[key] = convertToPx(value);\n }\n}\n\nfunction convertToPx(value: number | string) {\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nexport const parseAngleProps = (props: { angle?: number }) => {\n const { angle } = props;\n return {\n \"--oui-gradient-angle\": angle ? `${angle}deg` : `180deg`,\n };\n};\n","export const shadowVariants = {\n variants: {\n shadow: {\n sm: \"oui-shadow-sm\",\n base: \"oui-shadow\",\n md: \"oui-shadow-md\",\n lg: \"oui-shadow-lg\",\n xl: \"oui-shadow-xl\",\n \"2xl\": \"oui-shadow-2xl\",\n inner: \"oui-shadow-inner\",\n none: \"oui-shadow-none\",\n },\n },\n};\n","import React, { useMemo } from \"react\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Flex } from \"../flex\";\nimport { Spinner } from \"../spinner/spinner\";\nimport { SizeType } from \"../helpers/sizeType\";\n\ntype BaseButtonElement = React.ElementRef<\"button\">;\n\nexport interface BaseButtonProps\n extends ComponentPropsWithout<\"button\", RemovedProps> {\n loading?: boolean;\n leading?: React.ReactNode;\n trailing?: React.ReactNode;\n asChild?: boolean;\n size: SizeType;\n icon?: React.ReactElement;\n as?: \"button\" | \"a\";\n}\n\nexport const BaseButton = React.forwardRef<BaseButtonElement, BaseButtonProps>(\n (props, forwardedRef) => {\n const {\n asChild = false,\n children,\n loading,\n leading,\n trailing,\n size,\n icon,\n disabled,\n ...rest\n } = props;\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = typeof disabled !== \"undefined\" ? disabled : loading;\n\n const iconElement = useMemo(() => {\n return icon\n ? React.cloneElement(icon, {\n size:\n size === \"xs\"\n ? 12\n : size === \"sm\"\n ? 12\n : size === \"md\"\n ? 14\n : size === \"lg\"\n ? 16\n : size === \"xl\"\n ? 18\n : 12,\n className: \"oui-text-inherit\",\n opacity: loading ? 0 : 1,\n })\n : null;\n }, [size, icon]);\n\n const content = useMemo(() => {\n if (!leading && !trailing && !iconElement) return children;\n\n return (\n <Flex as=\"span\" itemAlign={\"center\"} className=\"oui-space-x-1\">\n {leading}\n {iconElement}\n <span>{children}</span>\n {trailing}\n </Flex>\n );\n }, [children, leading, trailing, iconElement]);\n\n const spinnerSize = useMemo(() => {\n switch (size) {\n case \"xl\":\n return \"md\";\n case \"lg\":\n return \"md\";\n case \"md\":\n return \"sm\";\n case \"sm\":\n case \"xs\":\n return \"xs\";\n default:\n return \"md\";\n }\n }, [size]);\n\n return (\n <Comp {...rest} disabled={isDisabled} ref={forwardedRef}>\n {loading ? (\n <>\n <span className=\"oui-invisible\">{content}</span>\n <Flex\n itemAlign={\"center\"}\n justify={\"center\"}\n position={\"absolute\"}\n as=\"span\"\n >\n <Spinner size={spinnerSize} color=\"white\" />\n </Flex>\n </>\n ) : (\n content\n )}\n </Comp>\n );\n }\n);\n\nBaseButton.displayName = \"BaseButton\";\n","import { ElementRef, forwardRef } from \"react\";\nimport { gapVariants } from \"../layout/gap\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport { Box, BoxProps } from \"../box\";\n\ntype FlexElement = ElementRef<\"div\">;\n\n// interface CommonFlexProps extends MarginProps, LayoutProps, FlexOwnProps {}\n// type FlexDivProps = { as?: 'div' } & ComponentPropsWithout<'div', RemovedProps>;\n// type FlexSpanProps = { as: 'span' } & ComponentPropsWithout<'span', RemovedProps>;\n// type FlexProps = CommonFlexProps & (FlexSpanProps | FlexDivProps);\n\nconst flexBaseVariant = tv({\n variants: {\n ...gapVariants.variants,\n // ...layoutVariants.variants,\n // ...positionVariants.variants,\n },\n});\n\nconst flexVariant = tv(\n {\n extend: flexBaseVariant,\n base: [\"oui-flex\"],\n variants: {\n display: {\n flex: \"oui-flex\",\n inlineFlex: \"oui-inline-flex\",\n },\n direction: {\n row: \"oui-flex-row\",\n rowReverse: \"oui-flex-row-reverse\",\n column: \"oui-flex-col\",\n columnReverse: \"oui-flex-col-reverse\",\n },\n itemAlign: {\n start: \"oui-items-start\",\n end: \"oui-items-end\",\n center: \"oui-items-center\",\n baseline: \"oui-items-baseline\",\n stretch: \"oui-items-stretch\",\n },\n justify: {\n start: \"oui-justify-start\",\n end: \"oui-justify-end\",\n center: \"oui-justify-center\",\n between: \"oui-justify-between\",\n around: \"oui-justify-around\",\n evenly: \"oui-justify-evenly\",\n stretch: \"oui-justify-stretch\",\n },\n wrap: {\n noWrap: \"oui-flex-nowrap\",\n wrap: \"oui-flex-wrap\",\n wrapReverse: \"oui-flex-wrap-reverse\",\n },\n },\n defaultVariants: {\n display: \"flex\",\n direction: \"row\",\n itemAlign: \"center\",\n justify: \"start\",\n wrap: \"noWrap\",\n // gap: 4,\n // gap: 0,\n // gapX: 0,\n // gapY: 0,\n },\n },\n {\n responsiveVariants: true,\n }\n);\n\n// const flexVariant = compose(layoutVariants, gapVariants, flexBaseVariant);\ninterface FlexProps extends BoxProps, VariantProps<typeof flexVariant> {\n // asChild?: boolean;\n // as?: \"div\" | \"span\";\n // width?: string | number;\n // height?: string | number;\n}\n\nconst Flex = forwardRef<FlexElement, FlexProps>((props, ref) => {\n const {\n className,\n display,\n gap,\n gapX,\n gapY,\n wrap,\n justify,\n itemAlign,\n direction,\n ...rest\n } = props;\n // const Comp = asChild ? Slot : TAG;\n //\n\n return (\n <Box\n ref={ref}\n className={flexVariant({\n className,\n display,\n gap,\n gapX,\n gapY,\n wrap,\n justify,\n itemAlign,\n direction,\n })}\n {...rest}\n />\n );\n});\n\nFlex.displayName = \"Flex\";\n\nexport { Flex, flexVariant };\n\nexport type { FlexProps };\n","export const gapVariants = {\n // extend: layoutVariants,\n variants: {\n gap: {\n 0: \"oui-gap-0\",\n 1: \"oui-gap-1\",\n 2: \"oui-gap-2\",\n 3: \"oui-gap-3\",\n 4: \"oui-gap-4\",\n 5: \"oui-gap-5\",\n 6: \"oui-gap-6\",\n 8: \"oui-gap-8\",\n 10: \"oui-gap-10\",\n },\n gapX: {\n 0: \"oui-gap-x-0\",\n 1: \"oui-gap-x-1\",\n 2: \"oui-gap-x-2\",\n 3: \"oui-gap-x-3\",\n 4: \"oui-gap-x-4\",\n 5: \"oui-gap-x-5\",\n 6: \"oui-gap-x-6\",\n 8: \"oui-gap-x-8\",\n 10: \"oui-gap-x-10\",\n },\n gapY: {\n 0: \"oui-gap-y-0\",\n 1: \"oui-gap-y-1\",\n 2: \"oui-gap-y-2\",\n 3: \"oui-gap-y-3\",\n 4: \"oui-gap-y-4\",\n 5: \"oui-gap-y-5\",\n 6: \"oui-gap-y-6\",\n 8: \"oui-gap-y-8\",\n 10: \"oui-gap-y-10\",\n },\n },\n};\n","import { createTV } from \"tailwind-variants\";\n\nexport const tv = createTV({\n twMergeConfig: {\n prefix: \"oui-\",\n },\n});\n","import React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { parseSizeProps } from \"../helpers/parse-props\";\nimport { decorationVariants } from \"../layout/decoration\";\nimport { layoutVariants } from \"../layout/layout\";\nimport { positionVariants } from \"../layout/position\";\nimport { shadowVariants } from \"../layout/shadow\";\nimport { visibleVariants } from \"../layout/visible\";\nimport { tv } from \"../utils/tv\";\n\nconst boxVariants = tv({\n base: [\"oui-box\"],\n variants: {\n ...layoutVariants.variants,\n ...shadowVariants.variants,\n ...decorationVariants.variants,\n ...positionVariants.variants,\n ...visibleVariants.variants,\n __position: {\n true: \"oui-position\",\n },\n __size_width: {\n true: \"oui-size-width\",\n },\n __size_height: {\n true: \"oui-size-height\",\n },\n },\n defaultVariants: {\n __position: false,\n __size: false,\n },\n});\n\n// // @ts-ignore\n// const boxVariants = tv({\n// extend: baseBoxVariants,\n// });\n\ntype BoxElement = React.ElementRef<\"div\">;\n\ninterface BoxProps\n extends React.ButtonHTMLAttributes<HTMLDivElement | HTMLSpanElement>,\n Omit<\n VariantProps<typeof boxVariants>,\n \"__position\" | \"__size_width\" | \"__size_height\"\n > {\n asChild?: boolean;\n as?:\n | \"div\"\n | \"span\"\n | \"nav\"\n | \"section\"\n | \"article\"\n | \"aside\"\n | \"header\"\n | \"footer\";\n width?: string | number;\n height?: string | number;\n left?: string | number;\n right?: string | number;\n top?: string | number;\n bottom?: string | number;\n /**\n * Angle of the gradient\n */\n angle?: number;\n}\n\nconst Box = React.forwardRef<BoxElement, BoxProps>((props, forwardedRef) => {\n const {\n asChild = false,\n as: TAG = \"div\",\n className,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n m,\n mx,\n my,\n mr,\n mt,\n mb,\n ml,\n grow,\n zIndex,\n style,\n shadow,\n border,\n gradient,\n r,\n invisible,\n intensity,\n position,\n borderColor,\n children,\n ...rest\n } = parseSizeProps(props);\n\n const Comp = asChild ? Slot : TAG;\n\n return (\n <Comp\n style={style}\n className={boxVariants({\n className,\n p,\n r,\n px,\n py,\n pt,\n pb,\n pr,\n pl,\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n zIndex,\n shadow,\n border,\n gradient,\n position,\n intensity,\n invisible,\n grow,\n borderColor,\n __position: typeof position !== \"undefined\",\n __size_width: typeof props.width !== \"undefined\",\n __size_height: typeof props.height !== \"undefined\",\n })}\n {...rest}\n ref={forwardedRef}\n >\n {children}\n </Comp>\n );\n});\n\nBox.displayName = \"Box\";\n\nexport { Box, boxVariants };\n\nexport type { BoxProps };\n","export type Gradient = {\n start: string;\n end: string;\n degree: number;\n stops: number;\n};\n\nexport const decorationVariants = {\n variants: {\n border: {\n true: \"oui-border oui-border-line\",\n // false: \"oui-border-none\",\n },\n // borderTop\n r: {\n none: \"oui-rounded-none\",\n sm: \"oui-rounded-sm\",\n base: \"oui-rounded\",\n md: \"oui-rounded-md\",\n lg: \"oui-rounded-lg\",\n xl: \"oui-rounded-xl\",\n \"2xl\": \"oui-rounded-2xl\",\n full: \"oui-rounded-full\",\n },\n gradient: {\n // // brands:'',\n // primary: \"oui-from-primary-400 to-primary-900\",\n primary: \"oui-gradient-primary\",\n secondary: \"oui-gradient-secondary\",\n brand: \"oui-gradient-brand\",\n success: \"oui-gradient-success\",\n warning: \"oui-gradient-warning\",\n danger: \"oui-gradient-danger\",\n neutral: \"oui-gradient-neutral\",\n },\n intensity: {\n 100: \"oui-bg-base-1\",\n 200: \"oui-bg-base-2\",\n 300: \"oui-bg-base-3\",\n 400: \"oui-bg-base-4\",\n 500: \"oui-bg-base-5\",\n 600: \"oui-bg-base-6\",\n 700: \"oui-bg-base-7\",\n 800: \"oui-bg-base-8\",\n 900: \"oui-bg-base-9\",\n },\n borderColor: {\n 4: \"oui-border-line-4\",\n 6: \"oui-border-line-6\",\n 8: \"oui-border-line\",\n 12: \"oui-border-line-12\",\n 16: \"oui-border-line-16\",\n },\n },\n};\n","export const layoutVariants = {\n variants: {\n p: {\n 0: \"oui-p-0\",\n 1: \"oui-p-1\",\n 2: \"oui-p-2\",\n 3: \"oui-p-3\",\n 4: \"oui-p-4\",\n 5: \"oui-p-5\",\n 6: \"oui-p-6\",\n 7: \"oui-p-7\",\n 8: \"oui-p-8\",\n 9: \"oui-p-9\",\n 10: \"oui-p-10\",\n },\n px: {\n 0: \"oui-px-0\",\n 1: \"oui-px-1\",\n 2: \"oui-px-2\",\n 3: \"oui-px-3\",\n 4: \"oui-px-4\",\n 5: \"oui-px-5\",\n 6: \"oui-px-6\",\n 7: \"oui-px-7\",\n 8: \"oui-px-8\",\n 9: \"oui-px-9\",\n 10: \"oui-px-10\",\n },\n py: {\n 0: \"oui-py-0\",\n 1: \"oui-py-1\",\n 2: \"oui-py-2\",\n 3: \"oui-py-3\",\n 4: \"oui-py-4\",\n 5: \"oui-py-5\",\n 6: \"oui-py-6\",\n 7: \"oui-py-7\",\n 8: \"oui-py-8\",\n 9: \"oui-py-9\",\n 10: \"oui-py-10\",\n },\n pt: {\n 0: \"oui-pt-0\",\n 1: \"oui-pt-1\",\n 2: \"oui-pt-2\",\n 3: \"oui-pt-3\",\n 4: \"oui-pt-4\",\n 5: \"oui-pt-5\",\n 6: \"oui-pt-6\",\n 7: \"oui-pt-7\",\n 8: \"oui-pt-8\",\n 9: \"oui-pt-9\",\n 10: \"oui-pt-10\",\n },\n pb: {\n 0: \"oui-pb-0\",\n 1: \"oui-pb-1\",\n 2: \"oui-pb-2\",\n 3: \"oui-pb-3\",\n 4: \"oui-pb-4\",\n 5: \"oui-pb-5\",\n 6: \"oui-pb-6\",\n 7: \"oui-pb-7\",\n 8: \"oui-pb-8\",\n 9: \"oui-pb-9\",\n 10: \"oui-pb-10\",\n },\n pl: {\n 0: \"oui-pl-0\",\n 1: \"oui-pl-1\",\n 2: \"oui-pl-2\",\n 3: \"oui-pl-3\",\n 4: \"oui-pl-4\",\n 5: \"oui-pl-5\",\n 6: \"oui-pl-6\",\n 7: \"oui-pl-7\",\n 8: \"oui-pl-8\",\n 9: \"oui-pl-9\",\n 10: \"oui-pl-10\",\n },\n pr: {\n 0: \"oui-pr-0\",\n 1: \"oui-pr-1\",\n 2: \"oui-pr-2\",\n 3: \"oui-pr-3\",\n 4: \"oui-pr-4\",\n 5: \"oui-pr-5\",\n 6: \"oui-pr-6\",\n 7: \"oui-pr-7\",\n 8: \"oui-pr-8\",\n 9: \"oui-pr-9\",\n 10: \"oui-pr-10\",\n },\n m: {\n 0: \"oui-m-0\",\n 1: \"oui-m-1\",\n 2: \"oui-m-2\",\n 3: \"oui-m-3\",\n 4: \"oui-m-4\",\n 5: \"oui-m-5\",\n 6: \"oui-m-6\",\n 7: \"oui-m-7\",\n 8: \"oui-m-8\",\n 9: \"oui-m-9\",\n 10: \"oui-m-10\",\n },\n mx: {\n 0: \"oui-mx-0\",\n 1: \"oui-mx-1\",\n 2: \"oui-mx-2\",\n 3: \"oui-mx-3\",\n 4: \"oui-mx-4\",\n 5: \"oui-mx-5\",\n 6: \"oui-mx-6\",\n 7: \"oui-mx-7\",\n 8: \"oui-mx-8\",\n 9: \"oui-mx-9\",\n 10: \"oui-mx-10\",\n },\n my: {\n 0: \"oui-my-0\",\n 1: \"oui-my-1\",\n 2: \"oui-my-2\",\n 3: \"oui-my-3\",\n 4: \"oui-my-4\",\n 5: \"oui-my-5\",\n 6: \"oui-my-6\",\n 7: \"oui-my-7\",\n 8: \"oui-my-8\",\n 9: \"oui-my-9\",\n 10: \"oui-my-10\",\n },\n mt: {\n 0: \"oui-mt-0\",\n 1: \"oui-mt-1\",\n 2: \"oui-mt-2\",\n 3: \"oui-mt-3\",\n 4: \"oui-mt-4\",\n 5: \"oui-mt-5\",\n 6: \"oui-mt-6\",\n 7: \"oui-mt-7\",\n 8: \"oui-mt-8\",\n 9: \"oui-mt-9\",\n 10: \"oui-mt-10\",\n },\n mb: {\n 0: \"oui-mb-0\",\n 1: \"oui-mb-1\",\n 2: \"oui-mb-2\",\n 3: \"oui-mb-3\",\n 4: \"oui-mb-4\",\n 5: \"oui-mb-5\",\n 6: \"oui-mb-6\",\n 7: \"oui-mb-7\",\n 8: \"oui-mb-8\",\n 9: \"oui-mb-9\",\n 10: \"oui-mb-10\",\n },\n ml: {\n 0: \"oui-ml-0\",\n 1: \"oui-ml-1\",\n 2: \"oui-ml-2\",\n 3: \"oui-ml-3\",\n 4: \"oui-ml-4\",\n 5: \"oui-ml-5\",\n 6: \"oui-ml-6\",\n 7: \"oui-ml-7\",\n 8: \"oui-ml-8\",\n 9: \"oui-ml-9\",\n 10: \"oui-ml-10\",\n },\n mr: {\n 0: \"oui-mr-0\",\n 1: \"oui-mr-1\",\n 2: \"oui-mr-2\",\n 3: \"oui-mr-3\",\n 4: \"oui-mr-4\",\n 5: \"oui-mr-5\",\n 6: \"oui-mr-6\",\n 7: \"oui-mr-7\",\n 8: \"oui-mr-8\",\n 9: \"oui-mr-9\",\n 10: \"oui-mr-10\",\n },\n grow: {\n true: \"oui-grow\",\n },\n },\n};\n","export const positionVariants = {\n // extend: layoutVariants,\n variants: {\n position: {\n static: \"oui-static\",\n fixed: \"oui-fixed\",\n absolute: \"oui-absolute\",\n relative: \"oui-relative\",\n sticky: \"oui-sticky\",\n },\n zIndex: {\n 0: \"oui-z-0\",\n 10: \"oui-z-10\",\n 20: \"oui-z-20\",\n 30: \"oui-z-30\",\n 40: \"oui-z-40\",\n 50: \"oui-z-50\",\n auto: \"oui-z-auto\",\n },\n },\n};\n","export const visibleVariants = {\n variants: {\n invisible: {\n true: \"oui-invisible\",\n // false: \"oui-visible\",\n },\n },\n};\n","import { FC } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst spinnerVariants = tv({\n base: \"oui-text-gray-200 oui-animate-spin dark:oui-text-gray-600 oui-fill-primary-darken\",\n variants: {\n size: {\n xs: \"oui-w-3 oui-h-3\",\n sm: \"oui-w-4 oui-h-4\",\n md: \"oui-w-6 oui-h-6\",\n lg: \"oui-w-8 oui-h-8\",\n xl: \"oui-w-10 oui-h-10\",\n },\n color: {\n primary: \"oui-fill-primary-darken\",\n success: \"oui-fill-success\",\n danger: \"oui-fill-danger\",\n warning: \"oui-fill-warning-darken\",\n gray: \"oui-fill-gray\",\n darkGray: \"oui-fill-darkGray\",\n white: \"oui-fill-white\",\n },\n // background: {\n // default: \"oui-text-base-contrast/40\",\n // transparent: \"oui-text-transparent\",\n // },\n },\n\n defaultVariants: {\n size: \"lg\",\n color: \"primary\",\n },\n});\n\ninterface SpinnerProps\n extends ComponentPropsWithout<\"svg\", RemovedProps>,\n VariantProps<typeof spinnerVariants> {\n loading?: boolean;\n}\n\nconst Spinner: FC<SpinnerProps> = (props) => {\n const { size, color, loading = true, children, className } = props;\n if (!loading) {\n return <>{children}</>;\n }\n return (\n <span role=\"status\" className=\"oui-inline-block\">\n <svg\n aria-hidden=\"true\"\n className={spinnerVariants({ size, className, color })}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n fillOpacity={0.2}\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n {/* hide, not show when render */}\n <span className=\"oui-sr-only\">Loading...</span>\n </span>\n );\n};\n\nexport { Spinner, spinnerVariants };\n\nexport type { SpinnerProps };\n","import React, { PropsWithChildren, useCallback, useRef, useState } from \"react\";\nimport { Button, ButtonProps } from \".\";\n\nconst ThrottledButton = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps & { throttleDuration?: number }>\n>(({ onClick, throttleDuration = 700, ...props }, ref) => {\n const lastCall = useRef(0);\n const throttle = useCallback(\n (delay: number, fn?: Function) => {\n return function (...args: any[]) {\n const now = Date.now();\n\n // Check if enough time has passed since the last call\n if (now - lastCall.current >= delay) {\n lastCall.current = now;\n fn?.(...args); // Execute the function\n }\n };\n },\n [throttleDuration]\n );\n\n const debouncedClick = throttle(throttleDuration, onClick);\n return <Button onClick={debouncedClick} ref={ref} {...props} />;\n});\n\nexport { ThrottledButton };\n","import React from \"react\";\nimport { tv } from \"../utils/tv\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { type BoxProps, Box } from \"../box\";\nimport { gapVariants } from \"../layout/gap\";\n\nconst gridVariants = tv({\n extend: gapVariants,\n base: [\"oui-grid\"],\n variants: {\n // inline: {\n // true: \"oui-inline-grid\",\n // // false: \"\",\n // },\n cols: {\n 1: \"oui-grid-cols-1\",\n 2: \"oui-grid-cols-2\",\n 3: \"oui-grid-cols-3\",\n 4: \"oui-grid-cols-4\",\n 5: \"oui-grid-cols-5\",\n 6: \"oui-grid-cols-6\",\n 7: \"oui-grid-cols-7\",\n 8: \"oui-grid-cols-8\",\n 9: \"oui-grid-cols-9\",\n none: \"oui-grid-cols-none\",\n },\n rows: {\n 1: \"oui-grid-rows-1\",\n 2: \"oui-grid-rows-2\",\n 3: \"oui-grid-rows-3\",\n 4: \"oui-grid-rows-4\",\n 5: \"oui-grid-rows-5\",\n 6: \"oui-grid-rows-6\",\n 7: \"oui-grid-rows-7\",\n 8: \"oui-grid-rows-8\",\n 9: \"oui-grid-rows-9\",\n none: \"oui-grid-rows-none\",\n },\n autoFlow: {\n row: \"oui-grid-flow-row\",\n col: \"oui-grid-flow-col\",\n rowDense: \"oui-grid-flow-row-dense\",\n colDense: \"oui-grid-flow-col-dense\",\n },\n gap: {\n 0: \"oui-gap-0\",\n 1: \"oui-gap-1\",\n 2: \"oui-gap-2\",\n 3: \"oui-gap-3\",\n 4: \"oui-gap-4\",\n 5: \"oui-gap-5\",\n },\n gapX: {\n 0: \"oui-gap-x-0\",\n 1: \"oui-gap-x-1\",\n 2: \"oui-gap-x-2\",\n 3: \"oui-gap-x-3\",\n 4: \"oui-gap-x-4\",\n 5: \"oui-gap-x-5\",\n },\n gapY: {\n 0: \"oui-gap-y-0\",\n 1: \"oui-gap-y-1\",\n 2: \"oui-gap-y-2\",\n 3: \"oui-gap-y-3\",\n 4: \"oui-gap-y-4\",\n 5: \"oui-gap-y-5\",\n },\n },\n defaultVariants: {\n // cols: \"1\",\n // rows: \"1\",\n // gap: 4,\n // autoFlow: \"row\",\n },\n});\n\ninterface GridProps extends BoxProps, VariantProps<typeof gridVariants> {}\n\nconst Grid = React.forwardRef<HTMLDivElement, GridProps>((props, ref) => {\n const { className, cols, rows, gap, gapX, gapY, autoFlow, ...rest } = props;\n\n return (\n <Box\n ref={ref}\n {...rest}\n className={gridVariants({\n className,\n cols,\n rows,\n gap,\n gapX,\n gapY,\n autoFlow,\n })}\n />\n );\n});\n\nGrid.displayName = \"Grid\";\n\nexport { Grid, gridVariants };\n","import { VariantProps } from \"tailwind-variants\";\nimport { Box, BoxProps } from \"../box\";\n\nimport { tv } from \"../utils/tv\";\nimport { useEffect, useRef } from \"react\";\n\nconst gridSpanVariants = tv({\n variants: {\n colSpan: {\n auto: \"oui-col-auto\",\n 1: \"oui-col-span-1\",\n 2: \"oui-col-span-2\",\n 3: \"oui-col-span-3\",\n 4: \"oui-col-span-4\",\n 5: \"oui-col-span-5\",\n 6: \"oui-col-span-6\",\n 7: \"oui-col-span-7\",\n 8: \"oui-col-span-8\",\n 9: \"oui-col-span-9\",\n },\n rowSpan: {\n auto: \"oui-row-auto\",\n 1: \"oui-row-span-1\",\n 2: \"oui-row-span-2\",\n 3: \"oui-row-span-3\",\n 4: \"oui-row-span-4\",\n 5: \"oui-row-span-5\",\n 6: \"oui-row-span-6\",\n 7: \"oui-row-span-7\",\n 8: \"oui-row-span-8\",\n 9: \"oui-row-span-9\",\n },\n },\n});\n\ninterface SpanProps extends BoxProps, VariantProps<typeof gridSpanVariants> {}\n\nconst Span = (props: SpanProps) => {\n const { colSpan, rowSpan, className, ...rest } = props;\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n const parent: HTMLElement = ref.current!.parentElement!;\n\n if (!parent || !parent.classList.contains(\"oui-grid\")) {\n console.warn(\"Span component must be a child of a Grid component\");\n }\n }\n }, []);\n\n return (\n <Box\n ref={ref}\n {...rest}\n className={gridSpanVariants({\n colSpan,\n rowSpan,\n className,\n })}\n />\n );\n};\n\nexport { Span, type SpanProps, gridSpanVariants };\n","import { Grid as GridBase, gridVariants } from \"./grid\";\nimport { Span } from \"./span\";\n\ntype GridType = typeof GridBase & {\n span: typeof Span;\n};\n\nconst Grid = GridBase as GridType;\nGrid.span = Span;\n\nexport { Grid, gridVariants };\n","import React, { useMemo, useState } from \"react\";\nimport { format as formatDate, isValid } from \"date-fns\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { TokenIcon } from \"../icon\";\nimport { CopyIcon } from \"../icon/copy\";\nimport { CopyableTextProps, Text, TextElement, TextProps } from \"./text\";\nimport { formatAddress } from \"./utils\";\n\nexport type TextRule = \"date\" | \"address\" | \"symbol\" | \"status\" | \"txId\";\n\nexport const isTextRule = (rule: string): rule is TextRule => {\n return [\"date\", \"address\", \"symbol\", \"status\", \"txId\"].includes(rule);\n};\n\ntype DateText = {\n rule: \"date\";\n /**\n * use date-fns to format the date, default is \"YYYY-MM-DD HH:mm:ss\", more info:\n * @see https://date-fns.org/v3.6.0/docs/format\n */\n formatString?: string;\n};\ntype AddressText = {\n rule: \"address\";\n /**\n * range of the address to show\n * the first number is the length of the start of the address, and the second number is the length of the end of the address\n * @default [6, 4]\n */\n range?: [number, number];\n};\n\ntype BaseText = {\n rule: Omit<TextRule, \"address\" | \"date\">;\n /**\n * capitalize the first letter of the string\n */\n capitalize?: boolean;\n};\n\ntype TxIDText = {\n rule: \"txId\";\n range?: [number, number];\n};\n\ntype SymbolText = {\n rule: \"symbol\";\n // symbolElement?: \"base\" | \"quote\";\n /**\n * symbol format string, like \"type-base-quote\",\n * @default base-quote\n */\n formatString?: string;\n showIcon?: boolean;\n iconSize?: SizeType;\n};\n\nconst DEFAULT_SYMBOL_FORMAT = \"base-quote\";\nconst DEFAULT_DATE_FORMAT = \"yyyy-MM-dd HH:mm:ss\";\n\nexport type FormattedTextProps = TextProps &\n CopyableTextProps & {\n // asChildren?: boolean;\n // rule?: Omit<TextRule, \"status\"|'address'|'date'>;\n loading?: boolean;\n\n suffix?: React.ReactNode;\n prefix?: React.ReactNode;\n showIcon?: boolean;\n } & (\n | BaseText\n | DateText\n | AddressText\n | SymbolText\n | TxIDText\n | { rule?: string }\n );\n\nexport const FormattedText = React.forwardRef<TextElement, FormattedTextProps>(\n (props, ref) => {\n const {\n rule,\n children,\n\n prefix,\n // @ts-ignore\n symbolElement,\n // @ts-ignore\n formatString,\n // @ts-ignore\n range,\n // @ts-ignore\n capitalize,\n copyable,\n copyIconSize,\n onCopy,\n showIcon,\n //@ts-ignore\n iconSize = \"xs\",\n copyIconTestid,\n //@ts-ignore\n isIcon,\n ...rest\n } = props;\n // const Comp = asChildren ? Slot : \"span\";\n //\n const prefixElement = useMemo(() => {\n if (rule === \"symbol\" && showIcon) {\n return <TokenIcon symbol={children as string} size={iconSize} />;\n }\n\n return prefix;\n }, [prefix, showIcon, rule, iconSize, children]);\n\n const suffix = useMemo(() => {\n if (typeof props.suffix !== \"undefined\") {\n return props.suffix;\n }\n if (copyable) {\n return (\n <button\n className=\"oui-cursor-pointer oui-text-sm\"\n data-testid={copyIconTestid}\n onClick={(e) => {\n navigator.clipboard.writeText(children as string);\n onCopy?.(e);\n }}\n >\n <CopyIcon size={copyIconSize ?? 12} color=\"white\" />\n </button>\n );\n }\n }, [props.suffix, copyable, children]);\n\n const content = useMemo(() => {\n if (typeof children === \"undefined\") {\n return \"--\";\n }\n if (typeof rule === \"undefined\") {\n return children;\n }\n if (rule === \"address\" || rule === \"txId\") {\n return formatAddress(\n children as string,\n range ?? (rule === \"address\" ? [6, 4] : [6, 6]),\n );\n }\n if (rule === \"date\") {\n // return new Date(children as string).toLocaleString();\n const date = new Date(children as string | number | Date);\n if (!isValid(date)) {\n return \"Error: Invalid Date\";\n }\n return formatDate(\n new Date(children as string),\n formatString ?? DEFAULT_DATE_FORMAT,\n );\n }\n /**\n * format Orderly symbol\n */\n if (rule === \"symbol\") {\n const arr = (children as string).split(\"_\");\n const type = arr[0];\n const base = arr[1];\n const quote = arr[2];\n\n return (formatString ?? DEFAULT_SYMBOL_FORMAT)\n .replace(\"type\", type)\n .replace(\"base\", base)\n .replace(\"quote\", quote);\n }\n\n // if (rule === \"status\") {\n // const status = children as string;\n // if (status === OrderStatus.NEW || status === OrderStatus.OPEN) {\n // return \"Pending\";\n // }\n // const text = firstLetterToUpperCase(status);\n\n // return text;\n // }\n\n return children;\n }, [children, rule, formatString, range, symbolElement]);\n\n const contentWithFix = useMemo(() => {\n if (\n typeof suffix === \"undefined\" &&\n typeof prefixElement === \"undefined\"\n ) {\n return content;\n }\n return (\n <span className=\"oui-flex oui-items-center oui-gap-1\">\n {prefixElement}\n {content}\n {suffix}\n </span>\n );\n }, [content, suffix, prefixElement]);\n\n return (\n <Text {...rest} ref={ref}>\n {contentWithFix}\n </Text>\n );\n },\n);\n\nFormattedText.displayName = \"FormattedText\";\n","import React from \"react\";\nimport { type VariantProps, tv } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst iconVariants = tv({\n variants: {\n color: {\n primary: \"oui-text-primary-darken\",\n success: \"oui-text-success\",\n danger: \"oui-text-danger\",\n warning: \"oui-text-warning-darken\",\n // secondary: \"oui-text-secondary\",\n // tertiary: \"oui-text-tertiary\",\n white: \"oui-text-white\",\n black: \"oui-text-black\",\n inherit: \"oui-text-inherit\",\n // gray: \"oui-text-gray\",\n // darkGray: \"oui-text-darkGray\",\n },\n },\n defaultVariants: {\n color: \"black\",\n },\n});\n\nexport interface BaseIconProps\n extends ComponentPropsWithout<\"svg\", RemovedProps>,\n VariantProps<typeof iconVariants> {\n // width?: number;\n size?: number;\n viewBox?: string;\n opacity?: number;\n}\n\nexport const BaseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const {\n size = 24,\n color,\n className,\n children,\n viewBox = \"0 0 24 24\",\n fill = \"none\",\n ...rest\n } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n fill={fill}\n viewBox={viewBox}\n ref={ref}\n className={iconVariants({ className, color })}\n {...rest}\n >\n {children}\n </svg>\n );\n },\n);\n","import { FC, PropsWithChildren, ReactNode, cloneElement, useMemo } from \"react\";\nimport { ChainIcon, ChainIconProps } from \"./chainIcon\";\nimport { TokenIcon, TokenIconProps } from \"./tokenIcon\";\nimport { cnBase } from \"tailwind-variants\";\n\nexport type CombineIconProps = {\n secondary: (ChainIconProps | TokenIconProps) & {\n component?: ReactNode;\n };\n};\n\nexport const CombineIcon: FC<PropsWithChildren<CombineIconProps>> = (props) => {\n const { secondary } = props;\n\n const subElement = useMemo(() => {\n const className =\n \"oui-bg-base-6 oui-absolute oui-bottom-0 oui-right-0 oui-outline oui-outline-2 oui-outline-base-1 oui-z-10\";\n\n if (secondary.component) {\n return (\n <div className={cnBase(className, secondary?.className)}>\n {secondary.component}\n </div>\n );\n }\n\n if (\"chainId\" in secondary) {\n return (\n <ChainIcon\n {...secondary}\n className={cnBase(className, secondary?.className)}\n />\n );\n }\n\n return (\n <TokenIcon\n {...secondary}\n className={cnBase(className, secondary?.className)}\n />\n );\n }, [secondary]);\n\n return (\n <div className=\"oui-relative\">\n {props.children}\n {subElement}\n </div>\n );\n};\n","import { useMemo, type FC } from \"react\";\nimport { Avatar } from \"../avatar\";\n\nexport type ChainIconProps = {\n size?: \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\";\n chainId: string | number;\n className?: string;\n};\n\nexport const ChainIcon: FC<ChainIconProps> = (props) => {\n const url = useMemo(() => {\n return `https://oss.orderly.network/static/network_logo/${props.chainId}.png`;\n }, [props.chainId]);\n return (\n <Avatar\n size={props.size}\n src={url}\n alt={`${props.chainId}`}\n className={props.className}\n />\n );\n};\n","import * as React from \"react\";\nimport { useMemo } from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport makeBlockie from \"ethereum-blockies-base64\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst avatarVariants = tv({\n slots: {\n root: \"oui-relative oui-flex oui-shrink-0 oui-overflow-hidden oui-rounded-full\",\n image: \"oui-aspect-square oui-h-full oui-w-full\",\n fallback:\n \"oui-flex oui-h-full oui-w-full oui-items-center oui-justify-center oui-rounded-full oui-bg-base-2\",\n },\n variants: {\n size: {\n \"2xs\": {\n root: \"oui-w-4 oui-h-4\",\n },\n xs: {\n root: \"oui-w-5 oui-h-5\",\n },\n sm: {\n root: \"oui-w-6 oui-h-6\",\n },\n md: {\n root: \"oui-w-8 oui-h-8\",\n },\n lg: {\n root: \"oui-w-10 oui-h-10\",\n },\n xl: {\n root: \"oui-w-12 oui-h-12\",\n },\n },\n },\n defaultVariants: {\n size: \"sm\",\n },\n});\n\nexport type AvatarSizeType = VariantProps<typeof avatarVariants>[\"size\"];\n\nconst AvatarBase = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> &\n VariantProps<typeof avatarVariants>\n>(({ className, size, ...props }, ref) => {\n const { root } = avatarVariants({ size });\n return (\n <AvatarPrimitive.Root\n ref={ref}\n {...props}\n className={root({ className })}\n />\n );\n});\nAvatarBase.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => {\n const { image } = avatarVariants();\n return (\n <AvatarPrimitive.Image\n ref={ref}\n className={image({ className })}\n {...props}\n />\n );\n});\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => {\n const { fallback } = avatarVariants({ className });\n return (\n <AvatarPrimitive.Fallback ref={ref} className={fallback()} {...props} />\n );\n});\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\ntype AvatarProps = React.ComponentProps<typeof AvatarBase> &\n VariantProps<typeof avatarVariants> & {\n src?: string;\n alt?: string;\n fallback?: React.ReactNode;\n delayMs?: number;\n onLoadingStatusChange?: AvatarPrimitive.AvatarImageProps[\"onLoadingStatusChange\"];\n };\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>((props, ref) => {\n const { size, src, fallback, delayMs, alt, onLoadingStatusChange, ...rest } =\n props;\n return (\n <AvatarBase {...rest} ref={ref} size={size}>\n <AvatarImage\n src={src}\n onLoadingStatusChange={onLoadingStatusChange}\n alt={alt}\n />\n {typeof fallback !== \"undefined\" && (\n <AvatarFallback delayMs={delayMs}>{fallback}</AvatarFallback>\n )}\n </AvatarBase>\n );\n});\n\nconst EVMAvatar = React.forwardRef<\n React.ElementRef<typeof Avatar>,\n AvatarProps & {\n address: string;\n }\n>((props, ref) => {\n const { address, ...rest } = props;\n const src = useMemo(() => makeBlockie(address), [props.address]);\n return <Avatar {...rest} src={src} />;\n});\n\nexport {\n AvatarBase,\n AvatarImage,\n AvatarFallback,\n Avatar,\n EVMAvatar,\n avatarVariants,\n};\n","import { FC, useMemo } from \"react\";\nimport { Avatar } from \"../avatar\";\nimport { AvatarSizeType } from \"../avatar/avatar\";\n\nexport type TokenIconProps = {\n size?: AvatarSizeType;\n name?: string;\n symbol?: string;\n className?: string;\n};\n\nexport const TokenIcon: FC<TokenIconProps> = (props) => {\n const url = useMemo(() => {\n let name = props.name;\n if (typeof props.symbol === \"string\") {\n const arr = props.symbol?.split(\"_\");\n name = arr[1];\n }\n return `https://oss.orderly.network/static/symbol_logo/${name}.png`;\n }, [props.name, props.symbol]);\n\n return (\n <Avatar\n size={props.size}\n src={url}\n alt={props.name}\n className={props.className}\n />\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M4.994 3.906c-.256 0-.523.086-.718.281a1.029 1.029 0 0 0 0 1.438l6.28 6.281-6.28 6.281a1.029 1.029 0 0 0 0 1.438c.39.39 1.047.39 1.437 0l6.281-6.28 6.282 6.28c.39.39 1.047.39 1.437 0 .39-.39.39-1.047 0-1.438l-6.281-6.28 6.281-6.282c.39-.39.39-1.047 0-1.438a1.013 1.013 0 0 0-.719-.28c-.256 0-.523.085-.718.28l-6.282 6.281-6.28-6.28a1.013 1.013 0 0 0-.72-.282Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCloseIcon.displayName = \"CloseIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CheckIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIconWithPath\n d=\"M19.018 5.997c-.256 0-.523.084-.718.276l-8.707 8.594c-.257.253-.515.206-.717-.092l-2.996-4.42a1.034 1.034 0 0 0-1.405-.276.996.996 0 0 0-.28 1.38l2.995 4.42c.902 1.33 2.659 1.499 3.808.369l8.738-8.563a1 1 0 0 0 0-1.412 1.02 1.02 0 0 0-.718-.276Z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nCheckIcon.displayName = \"CheckIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport interface BaseIconWithPathProps extends BaseIconProps {\n d: string;\n}\n\nexport const BaseIconWithPath = React.forwardRef<\n SVGSVGElement,\n BaseIconWithPathProps\n>((props, ref) => {\n const { opacity = 0.54, d, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d={d}\n />\n </BaseIcon>\n );\n});\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronDownIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M5.827 9.03c-.25.05-.502.175-.655.404a1.019 1.019 0 0 0 .28 1.401l5.992 3.985c.334.223.787.223 1.122 0l5.992-3.985c.459-.305.587-.943.28-1.4a1.023 1.023 0 0 0-1.404-.28l-5.43 3.61-5.428-3.61c-.23-.154-.498-.176-.75-.126Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronDownIcon.displayName = \"ChevronDownIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"m11.443 9.17-5.991 3.986a1.02 1.02 0 0 0-.28 1.4c.305.458.945.586 1.404.281l5.429-3.612 5.428 3.612a1.025 1.025 0 0 0 1.404-.28 1.02 1.02 0 0 0-.28-1.401l-5.99-3.986a1.028 1.028 0 0 0-1.124 0Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronUpIcon.displayName = \"ChevronUpIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.017 5.997c-.3 0-.612.14-.812.406l-6 8c-.495.66-.012 1.594.812 1.594h12c.824 0 1.307-.935.812-1.594l-6-8a1.022 1.022 0 0 0-.812-.406Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretUpIcon.displayName = \"CaretUpIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CaretDownIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.007 7.996c-.824 0-1.276.935-.781 1.594l6 8a.994.994 0 0 0 1.593 0l6-8c.495-.66.012-1.594-.812-1.594h-12Z\"\n />\n );\n }\n);\n\nCaretDownIcon.displayName = \"CaretDownIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretLeftIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M15.475 5.113a1.014 1.014 0 0 0-1.063.094l-8 6a1.025 1.025 0 0 0 0 1.624l8 6c.659.495 1.594.012 1.594-.812v-12c0-.412-.214-.747-.531-.906Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretLeftIcon.displayName = \"CaretLeftIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretRightIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.558 5.113a1.015 1.015 0 0 0-.562.906v12c0 .824.966 1.307 1.625.812l8-6c.533-.4.533-1.224 0-1.624l-8-6a1.014 1.014 0 0 0-1.063-.094Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretRightIcon.displayName = \"CaretRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ChevronLeftIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M13.778 5.022c-.25.05-.5.176-.653.406l-3.986 6a1.03 1.03 0 0 0 0 1.125l3.986 6c.305.459.943.588 1.401.28.457-.305.585-.946.28-1.405l-3.612-5.438 3.612-5.437c.305-.46.177-1.1-.28-1.406-.229-.154-.498-.176-.748-.125Z\"\n />\n );\n }\n);\n\nChevronLeftIcon.displayName = \"ChevronLeftIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronRightIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M10.166 5.022c-.25-.051-.519-.03-.748.125a1.027 1.027 0 0 0-.28 1.406l3.612 5.437-3.612 5.438c-.305.459-.177 1.1.28 1.406a1.019 1.019 0 0 0 1.401-.281l3.986-6a1.03 1.03 0 0 0 0-1.125l-3.986-6c-.152-.23-.403-.356-.653-.406Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronRightIcon.displayName = \"ChevronRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CalendarMinusIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M9.67364 2.34985C9.02964 2.34985 8.50697 2.87252 8.50697 3.51652C5.9298 3.51652 3.8403 5.60602 3.8403 8.18319V19.8499C3.8403 22.427 5.9298 24.5165 8.50697 24.5165H20.1736C22.7508 24.5165 24.8403 22.427 24.8403 19.8499V8.18319C24.8403 5.60602 22.7508 3.51652 20.1736 3.51652C20.1736 2.87252 19.651 2.34985 19.007 2.34985C18.363 2.34985 17.8403 2.87252 17.8403 3.51652H10.8403C10.8403 2.87252 10.3176 2.34985 9.67364 2.34985ZM8.50697 5.84985H20.1736C21.4628 5.84985 22.507 6.89402 22.507 8.18319V19.8499C22.507 21.139 21.4628 22.1832 20.1736 22.1832H8.50697C7.2178 22.1832 6.17364 21.139 6.17364 19.8499V8.18319C6.17364 6.89402 7.2178 5.84985 8.50697 5.84985ZM9.67364 8.18319C9.02964 8.18319 8.50697 8.70585 8.50697 9.34985C8.50697 9.99385 9.02964 10.5165 9.67364 10.5165H19.007C19.651 10.5165 20.1736 9.99385 20.1736 9.34985C20.1736 8.70585 19.651 8.18319 19.007 8.18319H9.67364ZM12.007 15.1832C11.363 15.1832 10.8403 15.7059 10.8403 16.3499C10.8403 16.9939 11.363 17.5165 12.007 17.5165H16.6736C17.3176 17.5165 17.8403 16.9939 17.8403 16.3499C17.8403 15.7059 17.3176 15.1832 16.6736 15.1832H12.007Z\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nCalendarMinusIcon.displayName = \"CalendarMinusIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SettingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.968 2.455a9.671 9.671 0 0 0-3.72 2.188c-.332.31-.434.818-.218 1.218.8 1.481-.037 3.066-1.844 3.157-.442.022-.833.35-.937.781a8.71 8.71 0 0 0-.25 2.188c0 .687.074 1.464.219 2.156.09.432.466.743.906.781 1.818.158 2.718 1.544 1.906 3.313-.18.393-.098.863.219 1.157 1.062.982 2.282 1.675 3.719 2.125.41.128.873-.027 1.125-.375 1.112-1.54 2.725-1.544 3.78 0 .25.363.706.538 1.126.405a10.1 10.1 0 0 0 3.75-2.155c.33-.301.417-.788.219-1.188-.832-1.68.125-3.22 1.843-3.25.456-.008.862-.307.969-.75.173-.717.219-1.341.219-2.22 0-.754-.09-1.497-.25-2.218a.994.994 0 0 0-.97-.782c-1.69-.003-2.638-1.665-1.811-3.125a.977.977 0 0 0-.188-1.218c-1.09-.99-2.42-1.764-3.812-2.188a.986.986 0 0 0-1.125.406c-.966 1.501-2.77 1.527-3.72.032a1.023 1.023 0 0 0-1.155-.438Zm6.078 2.124a7.904 7.904 0 0 1 1.84 1.054c-.725 2.297.506 4.683 3.056 5.265.063.412.057.662.057 1.088 0 .51.007.688-.051 1.056-2.54.527-3.795 2.845-3.088 5.296-.608.441-1.043.747-1.806 1.043-1.792-1.825-4.28-1.904-6.11.011-.714-.314-1.263-.593-1.818-1.061.688-2.49-.475-4.638-3.057-5.29-.115-.457-.07-1.745-.003-2.136 2.67-.64 3.722-3.003 3.059-5.279.586-.44 1.113-.762 1.798-1.04 1.725 1.755 4.315 1.93 6.123-.007Zm-3.047 3.407a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nSettingIcon.displayName = \"SettingIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M7.006 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm2 5c.256 0 .523.086.719.28l2.28 2.282 2.282-2.281c.195-.195.463-.281.719-.281.256 0 .523.086.719.28a1.03 1.03 0 0 1 0 1.439l-2.281 2.28 2.28 2.282a1.03 1.03 0 0 1 0 1.438 1.03 1.03 0 0 1-1.437 0l-2.281-2.281-2.281 2.28a1.03 1.03 0 0 1-1.438 0 1.03 1.03 0 0 1 0-1.437l2.28-2.281-2.28-2.281a1.03 1.03 0 0 1 0-1.438c.195-.195.463-.281.719-.281Z\"\n />\n </BaseIcon>\n );\n});\n\nCloseSquareFillIcon.displayName = \"CloseSquareFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseCircleFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M11.999 1.953c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm-3 6c.256 0 .523.086.719.281l2.28 2.281 2.282-2.28c.196-.196.463-.282.719-.282.256 0 .523.086.719.281a1.03 1.03 0 0 1 0 1.438l-2.281 2.281 2.28 2.281a1.03 1.03 0 0 1 0 1.438 1.03 1.03 0 0 1-1.437 0l-2.281-2.28-2.281 2.28a1.03 1.03 0 0 1-1.438 0 1.029 1.029 0 0 1 0-1.438l2.28-2.28-2.28-2.282a1.029 1.029 0 0 1 0-1.438c.196-.195.463-.28.719-.28Z\"\n />\n </BaseIcon>\n );\n});\n\nCloseCircleFillIcon.displayName = \"CloseCircleFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CheckedCircleFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n // const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M2.014 11.999c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10-10-4.477-10-10Zm14.971-4.687c.227-.217.539-.312.837-.312.298 0 .61.095.836.312a1.102 1.102 0 0 1 0 1.595l-8.15 7.768a1.24 1.24 0 0 1-1.673 0l-3.494-3.33a1.104 1.104 0 0 1 0-1.594 1.24 1.24 0 0 1 1.674 0l2.656 2.531 7.314-6.97Z\"\n ></BaseIconWithPath>\n );\n});\n\nCheckedCircleFillIcon.displayName = \"CheckedCircleFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CheckedSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm9.995 4.382c.227-.217.539-.312.837-.312.298 0 .61.095.836.312a1.102 1.102 0 0 1 0 1.595l-8.15 7.768a1.24 1.24 0 0 1-1.673 0l-3.494-3.33a1.104 1.104 0 0 1 0-1.594 1.24 1.24 0 0 1 1.674 0l2.656 2.531 7.314-6.97Z\"\n />\n </BaseIcon>\n );\n});\n\nCheckedSquareFillIcon.displayName = \"CheckSquareFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nconst CheckSquareEmptyIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm0 2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-10a2 2 0 0 1 2-2Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCheckSquareEmptyIcon.displayName = \"CheckSquareEmptyIcon\";\n\nexport { CheckSquareEmptyIcon };\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PlusIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M11.99 2.93a1 1 0 0 0-1 1v7h-7a1 1 0 0 0 0 2h7v7a1 1 0 0 0 2 0v-7h7a1 1 0 0 0 0-2h-7v-7a1 1 0 0 0-1-1Z\"\n />\n </BaseIcon>\n );\n },\n);\n\nPlusIcon.displayName = \"PlusIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ReduceIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <rect\n x=\"4\"\n y=\"11\"\n width=\"16\"\n height=\"1.5\"\n rx=\"0.666667\"\n fill=\"currentcolor\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n },\n);\n\nReduceIcon.displayName = \"ReduceIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CircleOutlinedIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.014 1.999c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z\"\n />\n </BaseIcon>\n );\n});\n\nCircleOutlinedIcon.displayName = \"CircleOutlinedIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SquareOutlinedIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm0 2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-10a2 2 0 0 1 2-2Z\"\n />\n </BaseIcon>\n );\n});\n\nSquareOutlinedIcon.displayName = \"SquareOutlinedIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ExclamationFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n d=\"M12.014 1.999c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 5a1 1 0 0 1 1 1v5a1 1 0 0 1-2 0v-5a1 1 0 0 1 1-1Zm0 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"\n />\n </BaseIcon>\n );\n});\n\nExclamationFillIcon.displayName = \"ExclamationFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const QuestionFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.014 1.953c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 5a3.006 3.006 0 0 1 3 3c.004 1.11-.516 2.044-1.375 2.906-.18.181-.353.355-.563.532-.099.084-.376.287-.406.312-.422.356-1.05.33-1.406-.094a1.035 1.035 0 0 1 .125-1.437l.375-.313c.168-.14.335-.272.47-.406.518-.522.782-1.022.78-1.5a1 1 0 0 0-1.969-.25c-.14.534-.685.86-1.219.72a1.034 1.034 0 0 1-.718-1.25 2.995 2.995 0 0 1 2.906-2.22Zm0 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nQuestionFillIcon.displayName = \"ExclamationFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowLeftRightIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M21.995 16.007c0-.256-.086-.523-.28-.719l-3.72-3.687-1.406 1.406 1.968 2H3.995a1 1 0 000 2h14.562l-1.968 2 1.406 1.406 3.72-3.687c.194-.196.28-.463.28-.719zm-1-8a1 1 0 00-1-1H5.432l1.97-2-1.407-1.406-3.719 3.687a1.03 1.03 0 000 1.438l3.72 3.687L7.4 11.007l-1.969-2h14.563a1 1 0 001-1z\"\n ref={ref}\n {...props}\n />\n );\n});\n\nArrowLeftRightIcon.displayName = \"ArrowLeftRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowDownUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M16.007 2.014c-.256 0-.523.086-.718.281L11.6 6.015l1.406 1.405 2-1.968v14.562a1 1 0 002 0V5.452l2 1.968 1.407-1.406-3.688-3.719a1.012 1.012 0 00-.719-.28zm-8 1a1 1 0 00-1 1v14.562l-2-1.968-1.406 1.406 3.688 3.72c.39.39 1.047.39 1.437 0l3.688-3.72-1.407-1.406-2 1.968V4.014a1 1 0 00-1-1z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nArrowDownUpIcon.displayName = \"ArrowDownUpIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowUpSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.99 20.99a4 4 0 01-4-4v-10a4 4 0 014-4h10a4 4 0 014 4v10a4 4 0 01-4 4h-10zm5-4a1 1 0 001-1v-5h3l-4-4-4 4h3v5a1 1 0 001 1z\"\n ></BaseIconWithPath>\n );\n});\n\nArrowUpSquareFillIcon.displayName = \"ArrowUpSquareFillIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ArrowDownSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M6.99 2.99a4 4 0 00-4 4v10a4 4 0 004 4h10a4 4 0 004-4v-10a4 4 0 00-4-4h-10zm5 4a1 1 0 011 1v5h3l-4 4-4-4h3v-5a1 1 0 011-1z\"\n />\n </BaseIcon>\n );\n});\n\nArrowDownSquareFillIcon.displayName = \"ArrowDownSquareFillIconIcon\";\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const ArrowLeftRightSquareFill = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.74463 4.07796C1.74463 2.78938 2.78938 1.74463 4.07796 1.74463H9.9113C11.1999 1.74463 12.2446 2.78938 12.2446 4.07796V9.9113C12.2446 11.1999 11.1999 12.2446 9.9113 12.2446H4.07796C2.78938 12.2446 1.74463 11.1999 1.74463 9.9113V4.07796ZM6.5 5.5C6.224 5.5 6 5.724 6 6C6 6.276 6.224 6.5 6.5 6.5H9V8L11 6L9 4V5.5H6.5ZM7.5 7.5C7.776 7.5 8 7.724 8 8C8 8.276 7.776 8.5 7.5 8.5H5V10L3 8L5 6V7.5H7.5Z\"\n />\n </svg>\n );\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ArrowLeftRightSquareFill.displayName = \"ArrowLeftRightSquareFill\";\n}\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowRightUpSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M12.7432 15.743C14.3999 15.743 15.7432 14.3998 15.7432 12.743V5.24304C15.7432 3.58629 14.3999 2.24304 12.7432 2.24304H5.24316C3.58641 2.24304 2.24316 3.58629 2.24316 5.24304V12.743C2.24316 14.3998 3.58641 15.743 5.24316 15.743H12.7432ZM6.74316 11.993C6.55116 11.993 6.35092 11.9285 6.20392 11.7823C5.91142 11.489 5.91142 10.997 6.20392 10.7038L9.20392 7.7038L7.49316 5.99304H11.9932V10.493L10.2824 8.78229L7.28241 11.7823C7.13616 11.9285 6.93516 11.993 6.74316 11.993Z\"\n ref={ref}\n {...props}\n />\n );\n});\n\nArrowRightUpSquareFillIcon.displayName = \"ArrowRightUpSquareFillIcon\";\n","export const AssetIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.9004 5H12.9004V6.59961L13.5 6.90039C13.8 7.10039 14.1008 7.29961 14.3008 7.59961C14.5008 7.89961 14.7008 8.19961 14.8008 8.59961C14.9008 8.99961 15 9.40039 15 9.90039H13.0996C13.0996 9.30039 13.0008 8.89961 12.8008 8.59961C12.6008 8.29961 12.4 8.19922 12 8.19922C11.8 8.19922 11.6 8.20078 11.5 8.30078L11.1992 8.59961C11.0992 8.69961 11.1 8.9 11 9C10.9 9.1 10.9004 9.3 10.9004 9.5C10.9004 9.7 11 9.8 11 10C11 10.2 11.0992 10.3004 11.1992 10.4004C11.2992 10.6004 11.3996 10.7008 11.5996 10.8008C11.6996 10.9008 11.8992 10.9996 12.1992 11.0996C12.5992 11.2996 13.0008 11.4992 13.3008 11.6992C13.7008 11.8992 13.9992 12.1004 14.1992 12.4004C14.4992 12.7004 14.7008 13.0008 14.8008 13.3008C14.9008 13.6008 15 14 15 14.5C15 15 14.9008 15.3992 14.8008 15.6992C14.7008 16.0992 14.5008 16.2996 14.3008 16.5996C14.1008 16.7996 13.8 16.9992 13.5 17.1992C13.3 17.2992 13.2 17.4004 13 17.4004V19H11V17.3008C10.8 17.2008 10.6004 17.1996 10.4004 17.0996C10.0004 16.9996 9.8 16.8 9.5 16.5C9.3 16.3 9.10039 15.9 8.90039 15.5C8.80039 15 8.69922 14.5004 8.69922 13.9004H10.6992C10.6992 14.2004 10.7008 14.5008 10.8008 14.8008C10.9008 15.1008 10.9996 15.3004 11.0996 15.4004C11.1996 15.5004 11.3 15.5992 11.5 15.6992C11.7 15.7992 11.8 15.8008 12 15.8008C12.2 15.8008 12.3 15.7992 12.5 15.6992C12.7 15.5992 12.8004 15.5004 12.9004 15.4004C13.0004 15.3004 12.9996 15.2 13.0996 15C13.1996 14.9 13.1992 14.7 13.1992 14.5C13.1992 14.3 13.0996 14.1 13.0996 14C13.0996 13.9 13.0004 13.6996 12.9004 13.5996C12.8004 13.3996 12.7 13.2992 12.5 13.1992L11.9004 12.9004C11.5004 12.7004 11.1008 12.5008 10.8008 12.3008C10.4008 12.1008 10.1004 11.8996 9.90039 11.5996C9.60039 11.3996 9.40078 11.0992 9.30078 10.6992C9.20078 10.3992 9.09961 10 9.09961 9.5C9.09961 9.1 9.09922 8.70039 9.19922 8.40039C9.39922 8.10039 9.50078 7.8 9.80078 7.5C10.0008 7.2 10.2004 7.00039 10.4004 6.90039C10.6004 6.80039 10.7004 6.69922 10.9004 6.69922V5Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"9\"\n stroke=\"white\"\n strokeOpacity={0.8}\n strokeWidth=\"2\"\n />\n </svg>\n );\n};\n","export const BarChartIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18.0142 3.9978C16.9092 3.9978 16.0142 4.8928 16.0142 5.9978V17.9978C16.0142 19.1028 16.9092 19.9978 18.0142 19.9978H20.0142C21.1192 19.9978 22.0142 19.1028 22.0142 17.9978V5.9978C22.0142 4.8928 21.1192 3.9978 20.0142 3.9978H18.0142ZM18.0142 5.9978H20.0142V17.9978H18.0142V5.9978ZM11.0142 7.9978C9.90917 7.9978 9.01416 8.8928 9.01416 9.9978V17.9978C9.01416 19.1028 9.90917 19.9978 11.0142 19.9978H13.0142C14.1192 19.9978 15.0142 19.1028 15.0142 17.9978V9.9978C15.0142 8.8928 14.1192 7.9978 13.0142 7.9978H11.0142ZM11.0142 9.9978H13.0142V17.9978H11.0142V9.9978ZM4.01416 11.9978C2.90916 11.9978 2.01416 12.8928 2.01416 13.9978V17.9978C2.01416 19.1028 2.90916 19.9978 4.01416 19.9978H6.01416C7.11916 19.9978 8.01416 19.1028 8.01416 17.9978V13.9978C8.01416 12.8928 7.11916 11.9978 6.01416 11.9978H4.01416ZM4.01416 13.9978H6.01416V17.9978H4.01416V13.9978Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","export const BattleIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.59485 3L4.43619 6.47708L9.86872 11.7606L7.84097 13.9847L7.13438 13.2513L5.94468 14.4805L6.69071 15.2513L4.58079 17.5637L4.1897 17.163L3 18.3922L5.52401 21L6.71371 19.7708L6.32262 19.3667L8.56399 17.1902L9.31002 17.9576L10.4997 16.7284L9.79314 15.9983L12.0082 13.8387L14.2167 15.9881L13.5003 16.7284L14.69 17.9576L15.4426 17.18L17.684 19.3565L17.283 19.7708L18.476 21L21 18.3922L19.8103 17.163L19.4291 17.5569L17.3192 15.2411L18.0553 14.4805L16.8656 13.2513L16.1656 13.9745L14.1477 11.7606L14.151 11.7572L12.0082 9.41087L6.9602 3.86927L3.59485 3ZM20.4216 3L17.0562 3.86927L12.9777 8.34465L15.2454 10.691L19.5802 6.47708L20.4216 3Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const BattleActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Battle\">\n <path\n d=\"M2.66095 2.5L3.59576 6.17025L9.63192 11.7473L7.37886 14.095L6.59375 13.3208L5.27186 14.6183L6.10079 15.4319L3.75644 17.8728L3.32189 17.4498L2 18.7473L4.80446 21.5L6.12635 20.2025L5.6918 19.776L8.18222 17.4785L9.01114 18.2885L10.333 16.991L9.54793 16.2204L12.0091 13.9409L14.463 16.2097L13.667 16.991L14.9889 18.2885L15.8251 17.4677L18.3155 19.7652L17.87 20.2025L19.1955 21.5L22 18.7473L20.6781 17.4498L20.2545 17.8656L17.9102 15.4211L18.7281 14.6183L17.4062 13.3208L16.6284 14.0842L14.3863 11.7473L14.39 11.7437L12.0091 9.26702L6.40022 3.41756L2.66095 2.5Z\"\n fill=\"url(#paint0_linear_battle_active)\"\n />\n <path\n d=\"M21.3574 2.5L17.6181 3.41756L13.0864 8.14158L15.6061 10.6183L20.4226 6.17025L21.3574 2.5Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_battle_active\"\n x1=\"22\"\n y1=\"12\"\n x2=\"2\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const BattleInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Battle\">\n <path\n d=\"M2.66095 2.5L3.59576 6.17025L9.63192 11.7473L7.37886 14.095L6.59375 13.3208L5.27186 14.6183L6.10079 15.4319L3.75644 17.8728L3.32189 17.4498L2 18.7473L4.80446 21.5L6.12635 20.2025L5.6918 19.776L8.18222 17.4785L9.01114 18.2885L10.333 16.991L9.54793 16.2204L12.0091 13.9409L14.463 16.2097L13.667 16.991L14.9889 18.2885L15.8251 17.4677L18.3155 19.7652L17.87 20.2025L19.1955 21.5L22 18.7473L20.6781 17.4498L20.2545 17.8656L17.9102 15.4211L18.7281 14.6183L17.4062 13.3208L16.6284 14.0842L14.3863 11.7473L14.39 11.7437L12.0091 9.26702L6.40022 3.41756L2.66095 2.5Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M21.3574 2.5L17.6181 3.41756L13.0864 8.14158L15.6061 10.6183L20.4226 6.17025L21.3574 2.5Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const BattleSolidActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M2.66095 2.5L3.59576 6.17025L9.63192 11.7473L7.37886 14.095L6.59375 13.3208L5.27186 14.6183L6.10079 15.4319L3.75644 17.8728L3.32189 17.4498L2 18.7473L4.80446 21.5L6.12635 20.2025L5.6918 19.776L8.18222 17.4785L9.01114 18.2885L10.333 16.991L9.54793 16.2204L12.0091 13.9409L14.463 16.2097L13.667 16.991L14.9889 18.2885L15.8251 17.4677L18.3155 19.7652L17.87 20.2025L19.1955 21.5L22 18.7473L20.6781 17.4498L20.2545 17.8656L17.9102 15.4211L18.7281 14.6183L17.4062 13.3208L16.6284 14.0842L14.3863 11.7473L14.39 11.7437L12.0091 9.26702L6.40022 3.41756L2.66095 2.5ZM21.3573 2.5L17.618 3.41756L13.0864 8.14158L15.606 10.6183L20.4225 6.17025L21.3573 2.5Z\"\n fill=\"url(#paint0_linear_battle_solid_active)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_battle_solid_active\"\n x1=\"22\"\n y1=\"12\"\n x2=\"2\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#59B0FE\" />\n <stop offset=\"1\" stopColor=\"#26FEFE\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const BattleSolidInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M2.66095 2.5L3.59576 6.17025L9.63192 11.7473L7.37886 14.095L6.59375 13.3208L5.27186 14.6183L6.10079 15.4319L3.75644 17.8728L3.32189 17.4498L2 18.7473L4.80446 21.5L6.12635 20.2025L5.6918 19.776L8.18222 17.4785L9.01114 18.2885L10.333 16.991L9.54793 16.2204L12.0091 13.9409L14.463 16.2097L13.667 16.991L14.9889 18.2885L15.8251 17.4677L18.3155 19.7652L17.87 20.2025L19.1955 21.5L22 18.7473L20.6781 17.4498L20.2545 17.8656L17.9102 15.4211L18.7281 14.6183L17.4062 13.3208L16.6284 14.0842L14.3863 11.7473L14.39 11.7437L12.0091 9.26702L6.40022 3.41756L2.66095 2.5ZM21.3573 2.5L17.618 3.41756L13.0864 8.14158L15.606 10.6183L20.4225 6.17025L21.3573 2.5Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const FeeTierIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M7.998 2.014a4 4 0 00-4 4v12a4 4 0 004 4h8a4 4 0 004-4v-12a4 4 0 00-4-4h-8zm0 2h8a2 2 0 012 2v12a2 2 0 01-2 2h-8a2 2 0 01-2-2v-12a2 2 0 012-2zm1 2a1 1 0 00-1 1v1a1 1 0 001 1h6a1 1 0 001-1v-1a1 1 0 00-1-1h-6zm0 4a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm-6 3a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 00-1 1v3a1 1 0 002 0v-3a1 1 0 00-1-1zm-6 3a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nFeeTierIcon.displayName = \"FeeTierIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EarnActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Earn\">\n <path\n d=\"M10.7999 2C15.2182 2 18.7999 5.58172 18.7999 10C18.7999 14.4183 15.2182 18 10.7999 18C6.38165 18 2.79993 14.4183 2.79993 10C2.79993 5.58172 6.38165 2 10.7999 2ZM9.79993 7C8.69536 7 7.79993 7.89543 7.79993 9V11C7.79993 12.1046 8.69536 13 9.79993 13H11.7999C12.9045 13 13.7999 12.1046 13.7999 11V9C13.7999 7.89543 12.9045 7 11.7999 7H9.79993Z\"\n fill=\"url(#paint0_linear_earn_active)\"\n />\n <path\n d=\"M19.6034 8.1276C19.5434 7.84577 19.8603 7.62722 20.0756 7.81876C21.7466 9.3053 22.8005 11.4702 22.8005 13.8826C22.8002 18.3657 19.1655 22.0005 14.6824 22.0007C12.27 22.0007 10.1051 20.9467 8.61857 19.2758C8.42703 19.0605 8.64561 18.7434 8.92748 18.8033C9.53166 18.9317 10.1582 18.9998 10.8005 18.9998C10.9368 18.9997 11.0722 18.9957 11.207 18.9893C11.2715 18.9862 11.3354 19.0036 11.3898 19.0385C12.3404 19.6468 13.4701 20.0007 14.6824 20.0007C17.9555 20.0005 20.6288 17.4294 20.7927 14.197L20.8005 13.8826C20.8005 12.6708 20.4471 11.5414 19.8392 10.591C19.8044 10.5365 19.787 10.4727 19.79 10.4082C19.7965 10.2728 19.8005 10.1365 19.8005 9.99976C19.8005 9.35761 19.7321 8.73148 19.6034 8.1276Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_earn_active\"\n x1=\"18.7999\"\n y1=\"10\"\n x2=\"2.79993\"\n y2=\"10\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EarnInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Earn\">\n <path\n d=\"M10.7999 2C15.2182 2 18.7999 5.58172 18.7999 10C18.7999 14.4183 15.2182 18 10.7999 18C6.38165 18 2.79993 14.4183 2.79993 10C2.79993 5.58172 6.38165 2 10.7999 2ZM9.79993 7C8.69536 7 7.79993 7.89543 7.79993 9V11C7.79993 12.1046 8.69536 13 9.79993 13H11.7999C12.9045 13 13.7999 12.1046 13.7999 11V9C13.7999 7.89543 12.9045 7 11.7999 7H9.79993Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M19.6034 8.12792C19.5435 7.84606 19.8606 7.62751 20.0758 7.81905C21.7464 9.30546 22.7998 11.4698 22.7998 13.8818C22.7998 18.3653 19.1651 22 14.6816 22C12.2696 21.9999 10.1053 20.9466 8.61887 19.276C8.42732 19.0607 8.64587 18.7437 8.92773 18.8036C9.53159 18.9319 10.1577 19 10.7998 19C10.9363 19 11.0722 18.9959 11.2072 18.9895C11.2718 18.9864 11.3356 19.0039 11.3901 19.0387C12.3405 19.6468 13.4696 20 14.6816 20C17.955 20 20.6283 17.429 20.792 14.1963L20.7998 13.8818C20.7998 12.6698 20.4466 11.5407 19.8385 10.5903C19.8037 10.5358 19.7862 10.472 19.7893 10.4074C19.7957 10.2724 19.7998 10.1366 19.7998 10C19.7998 9.3579 19.7318 8.73178 19.6034 8.12792Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EditIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M16.995 1.953a1.02 1.02 0 00-.719.281l-3 3.002-9.006 9.005-1 1c-.14.14-.212.338-.25.532l-1 5.003a.974.974 0 001.155 1.157l5.003-1c.194-.04.392-.112.532-.25l1-1.002 9.005-9.005c.445-.444 2.447-2.446 3.003-3a1.02 1.02 0 00.28-.72c0-1.637-.417-2.807-1.282-3.69-.873-.89-2.039-1.313-3.72-1.313zm.395 2.02c.902.052 1.488.26 1.889.67.41.417.669.997.724 1.882-.547.547-1.35 1.337-2.006 1.994l-2.565-2.564c.658-.657 1.41-1.436 1.958-1.983zm-3.396 3.42l2.564 2.564-7.567 7.567-2.564-2.564 7.568-7.567zM4.99 16.398l2.564 2.564-.094.094c-.66.132-1.993.411-3.22.657l.656-3.22.094-.095z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEditIcon.displayName = \"EditIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EyeIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.001 3.998c-2.959 0-5.452 1.454-7.5 3.844a16.652 16.652 0 00-1.812 2.562c-.302.528-.486.936-.594 1.188a1.058 1.058 0 000 .812c.108.252.292.66.594 1.188a16.652 16.652 0 001.812 2.562c2.048 2.39 4.541 3.844 7.5 3.844 2.96 0 5.452-1.454 7.5-3.844a16.652 16.652 0 001.812-2.562c.302-.528.486-.936.594-1.188a1.058 1.058 0 000-.812c-.108-.252-.292-.66-.594-1.188a16.652 16.652 0 00-1.812-2.562c-2.048-2.39-4.54-3.844-7.5-3.844zm0 4a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 3.999 2 2 0 000-4z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEyeIcon.displayName = \"EyeIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ShareIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M16.998 1.953a3 3 0 0 0-3 3c0 .257.04.577.102.815L8.747 9.504a3.25 3.25 0 0 0-1.75-.55 3 3 0 1 0 0 6c.633 0 1.257-.236 1.74-.569l5.365 3.766a3.2 3.2 0 0 0-.104.802 3 3 0 1 0 3-3c-.632 0-1.248.228-1.731.562l-5.378-3.763a3.2 3.2 0 0 0 .109-.799c0-.268-.038-.557-.104-.804l5.365-3.752c.479.323 1.118.556 1.739.556a3 3 0 1 0 0-6\"\n />\n </BaseIcon>\n );\n }\n);\n\nShareIcon.displayName = \"ShareIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EyeCloseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.001 3.998c-2.959-.007-5.452 1.454-7.5 3.844a16.654 16.654 0 00-1.812 2.562c-.302.528-.486.936-.594 1.188a1.058 1.058 0 000 .812c.108.252.292.66.594 1.188.401.703.87 1.419 1.406 2.094.085.107.76.873 1.344 1.468l-1.157 1.125a1.03 1.03 0 000 1.438 1.03 1.03 0 001.438 0l14-14a1.03 1.03 0 000-1.438 1.014 1.014 0 00-.719-.281c-.256 0-.523.086-.719.28l-1.28 1.314c-1.654-1.106-3.298-1.59-5-1.594zm0 4c.518 0 1.31.137 2.031.562l-1.53 1.532c-.158-.082-.457-.094-.5-.094a2 2 0 00-2 2c0 .044-.015.347.03.53-.192.234-1.5 1.5-1.5 1.5a4.204 4.204 0 01-.53-2.03c-.012-2.21 1.79-4 4-4zm7.938.344s-9.755 9.718-11.063 11.03c1.44.572 2.918.626 3.125.626 2.96 0 5.452-1.454 7.5-3.844a16.652 16.652 0 001.812-2.562c.302-.528.486-.936.594-1.188a1.04 1.04 0 000-.812c-.227-.52-.654-1.347-1.312-2.313-.177-.26-.656-.937-.656-.937z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEyeCloseIcon.displayName = \"EyeCloseIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const RefreshIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.007 2.99a9 9 0 0 0-5.594 1.94 1 1 0 1 0 1.25 1.562 6.97 6.97 0 0 1 4.344-1.5 7 7 0 0 1 7 7h-2l3 4 3-4h-2a9 9 0 0 0-9-9m-8 5-3 4h2a9 9 0 0 0 9 9 9 9 0 0 0 5.594-1.937 1 1 0 1 0-1.25-1.562 6.96 6.96 0 0 1-4.344 1.5 7 7 0 0 1-7-7h2z\"\n />\n </BaseIcon>\n );\n }\n);\n\nRefreshIcon.displayName = \"RefreshIcon\";\n","import { BaseIcon } from \"./baseIcon\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const OrderlyIcon = (props: BaseIconProps) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { BaseIcon } from \"./baseIcon\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const EsOrderlyIcon = (props: BaseIconProps) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const InfoCircleIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { className, opacity = 0.36, ...rest } = props;\n return (\n <svg\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n opacity={opacity}\n className={className}\n ref={ref}\n {...rest}\n >\n <path\n d=\"M7.99925 1.84277C4.31738 1.84277 1.33258 4.82744 1.33258 8.50944C1.33258 12.1914 4.31738 15.1761 7.99925 15.1761C11.6811 15.1761 14.6659 12.1914 14.6659 8.50944C14.6659 4.82744 11.6811 1.84277 7.99925 1.84277ZM7.99925 5.17611C8.36745 5.17611 8.66591 5.47477 8.66591 5.84277C8.66591 6.21077 8.36745 6.50944 7.99925 6.50944C7.63105 6.50944 7.33258 6.21077 7.33258 5.84277C7.33258 5.47477 7.63105 5.17611 7.99925 5.17611ZM7.99925 7.17611C8.36745 7.17611 8.66591 7.47477 8.66591 7.84277V11.1761C8.66591 11.5441 8.36745 11.8428 7.99925 11.8428C7.63105 11.8428 7.33258 11.5441 7.33258 11.1761V7.84277C7.33258 7.47477 7.63105 7.17611 7.99925 7.17611Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n },\n);\n","import { useMemo, type FC } from \"react\";\nimport { Avatar, AvatarBase, avatarVariants } from \"../avatar/avatar\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nexport type WalletIconProps = {\n name: string;\n} & Pick<VariantProps<typeof avatarVariants>, \"size\">;\n\nexport const WalletIcon: FC<WalletIconProps> = (props) => {\n const url = useMemo(() => {\n const split = props.name?.split(\" \");\n const formatWalletName = split?.[0]?.toLowerCase();\n return `https://oss.orderly.network/static/wallet_icon/${formatWalletName}.png`;\n }, [props.name]);\n return <Avatar size={props.size} src={url} alt={`${props.name}`} />;\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CalendarIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M8.006 2.014a1 1 0 0 0-1 1 4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10c0-2.205-1.792-4-4-4a1 1 0 0 0-2 0h-6a1 1 0 0 0-1-1Zm-1 3a1 1 0 0 0 2 0h6a1 1 0 0 0 2 0 2 2 0 0 1 2 2v1h-14v-1a2 2 0 0 1 2-2Zm-2 5h14v7a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-7Zm3 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-8 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nCalendarIcon.displayName = \"CaretLeftIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CopyIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.998 2.99a4 4 0 00-4 4v6a4 4 0 004 4 4 4 0 004 4h6a4 4 0 004-4v-6a4 4 0 00-4-4 4 4 0 00-4-4h-6zm10 6a2 2 0 012 2v6a2 2 0 01-2 2h-6a2 2 0 01-2-2h4a4 4 0 004-4v-4z\"\n />\n );\n }\n);\n\nCopyIcon.displayName = \"CopyIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ServerFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.998 1.953c-4.362 0-8 1.56-8 4s3.638 4 8 4 8-1.559 8-4-3.638-4-8-4m-8 7.625v2.375c0 2.441 3.638 4 8 4s8-1.559 8-4V9.578c-1.814 1.49-4.642 2.375-8 2.375s-6.186-.885-8-2.375m0 6v2.375c0 2.441 3.638 4 8 4s8-1.559 8-4v-2.375c-1.814 1.49-4.642 2.375-8 2.375s-6.186-.885-8-2.375\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nServerFillIcon.displayName = \"ServerFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingAscIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325\"\n fill=\"currentcolor\"\n fillOpacity=\".98\"\n />\n <path\n d=\"M12 21.5c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n fill=\"currentcolor\"\n fillOpacity=\".36\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingAscIcon.displayName = \"SortingAscIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingDescIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325\"\n fill=\"currentcolor\"\n fillOpacity=\".36\"\n />\n <path\n d=\"M12 21.5c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n fill=\"currentcolor\"\n fillOpacity=\".98\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingDescIcon.displayName = \"SortingDescIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowUpShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.993 18.012a1 1 0 0 1-.999-.999V9.458l-2.997 2.966-1.405-1.405 4.683-4.714a1 1 0 0 1 .72-.293c.26 0 .521.098.716.293l4.683 4.714-1.405 1.405-2.997-2.966v7.555a1 1 0 0 1-.999.999\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\n\nexport const ArrowDownShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.993 6.012a1 1 0 0 0-1 .999v7.555L7.998 11.6l-1.405 1.405 4.683 4.714c.195.196.457.293.719.293.26 0 .522-.098.717-.293l4.683-4.714L15.99 11.6l-2.997 2.966V7.011a1 1 0 0 0-1-.999\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nexport const ArrowLeftShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M18.012 11.993a1 1 0 0 0-.999-1H9.458l2.966-2.996-1.405-1.405-4.714 4.683a1 1 0 0 0-.293.719c0 .26.098.522.293.717l4.714 4.683 1.405-1.405-2.966-2.997h7.555a1 1 0 0 0 .999-1\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nexport const ArrowRightShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M6.012 11.993a1 1 0 0 1 .999-1h7.555L11.6 7.998l1.405-1.405 4.714 4.683c.196.195.293.457.293.719 0 .26-.098.522-.293.717l-4.714 4.683L11.6 15.99l2.966-2.997H7.011a1 1 0 0 1-.999-1\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nArrowUpShortIcon.displayName = \"ArrowUpShortIcon\";\nArrowDownShortIcon.displayName = \"ArrowDownShortIcon\";\nArrowLeftShortIcon.displayName = \"ArrowLeftShortIcon\";\nArrowRightShortIcon.displayName = \"ArrowRightShortIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325m0 19c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingIcon.displayName = \"SortingIconIcon\";\n","import { FC } from \"react\";\n\nexport const TraderMobileIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g>\n <path\n d=\"M1.33301 18.6668C1.33301 17.9304 1.92996 17.3335 2.66634 17.3335H5.33301C6.06939 17.3335 6.66634 17.9304 6.66634 18.6668V28.0002C6.66634 28.7365 6.06939 29.3335 5.33301 29.3335H2.66634C1.92996 29.3335 1.33301 28.7365 1.33301 28.0002V18.6668Z\"\n fill=\"url(#paint0_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.33301 18.0002H2.66634C2.29815 18.0002 1.99967 18.2986 1.99967 18.6668V28.0002C1.99967 28.3684 2.29815 28.6668 2.66634 28.6668H5.33301C5.7012 28.6668 5.99967 28.3684 5.99967 28.0002V18.6668C5.99967 18.2986 5.7012 18.0002 5.33301 18.0002ZM2.66634 17.3335C1.92996 17.3335 1.33301 17.9304 1.33301 18.6668V28.0002C1.33301 28.7365 1.92996 29.3335 2.66634 29.3335H5.33301C6.06939 29.3335 6.66634 28.7365 6.66634 28.0002V18.6668C6.66634 17.9304 6.06939 17.3335 5.33301 17.3335H2.66634Z\"\n fill=\"url(#paint1_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M9.33301 12.0001C9.33301 11.2637 9.92996 10.6667 10.6663 10.6667H13.333C14.0694 10.6667 14.6663 11.2637 14.6663 12.0001V28.0001C14.6663 28.7365 14.0694 29.3334 13.333 29.3334H10.6663C9.92996 29.3334 9.33301 28.7365 9.33301 28.0001V12.0001Z\"\n fill=\"url(#paint2_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.333 11.3334H10.6663C10.2982 11.3334 9.99967 11.6319 9.99967 12.0001V28.0001C9.99967 28.3683 10.2982 28.6667 10.6663 28.6667H13.333C13.7012 28.6667 13.9997 28.3683 13.9997 28.0001V12.0001C13.9997 11.6319 13.7012 11.3334 13.333 11.3334ZM10.6663 10.6667C9.92996 10.6667 9.33301 11.2637 9.33301 12.0001V28.0001C9.33301 28.7365 9.92996 29.3334 10.6663 29.3334H13.333C14.0694 29.3334 14.6663 28.7365 14.6663 28.0001V12.0001C14.6663 11.2637 14.0694 10.6667 13.333 10.6667H10.6663Z\"\n fill=\"url(#paint3_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M17.333 16.0001C17.333 15.2637 17.93 14.6667 18.6663 14.6667H21.333C22.0694 14.6667 22.6663 15.2637 22.6663 16.0001V28.0001C22.6663 28.7365 22.0694 29.3334 21.333 29.3334H18.6663C17.93 29.3334 17.333 28.7365 17.333 28.0001V16.0001Z\"\n fill=\"url(#paint4_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M21.333 15.3334H18.6663C18.2982 15.3334 17.9997 15.6319 17.9997 16.0001V28.0001C17.9997 28.3683 18.2982 28.6667 18.6663 28.6667H21.333C21.7012 28.6667 21.9997 28.3683 21.9997 28.0001V16.0001C21.9997 15.6319 21.7012 15.3334 21.333 15.3334ZM18.6663 14.6667C17.93 14.6667 17.333 15.2637 17.333 16.0001V28.0001C17.333 28.7365 17.93 29.3334 18.6663 29.3334H21.333C22.0694 29.3334 22.6663 28.7365 22.6663 28.0001V16.0001C22.6663 15.2637 22.0694 14.6667 21.333 14.6667H18.6663Z\"\n fill=\"url(#paint5_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M25.333 22.6668C25.333 21.9304 25.93 21.3335 26.6663 21.3335H29.333C30.0694 21.3335 30.6663 21.9304 30.6663 22.6668V28.0002C30.6663 28.7365 30.0694 29.3335 29.333 29.3335H26.6663C25.93 29.3335 25.333 28.7365 25.333 28.0002V22.6668Z\"\n fill=\"url(#paint6_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M29.333 22.0002H26.6663C26.2982 22.0002 25.9997 22.2986 25.9997 22.6668V28.0002C25.9997 28.3684 26.2982 28.6668 26.6663 28.6668H29.333C29.7012 28.6668 29.9997 28.3684 29.9997 28.0002V22.6668C29.9997 22.2986 29.7012 22.0002 29.333 22.0002ZM26.6663 21.3335C25.93 21.3335 25.333 21.9304 25.333 22.6668V28.0002C25.333 28.7365 25.93 29.3335 26.6663 29.3335H29.333C30.0694 29.3335 30.6663 28.7365 30.6663 28.0002V22.6668C30.6663 21.9304 30.0694 21.3335 29.333 21.3335H26.6663Z\"\n fill=\"url(#paint7_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M23.9997 3.33341C23.9997 2.96522 24.2981 2.66675 24.6663 2.66675H27.9997C28.3679 2.66675 28.6663 2.96522 28.6663 3.33341V6.66675C28.6663 7.03494 28.3679 7.33341 27.9997 7.33341C27.6315 7.33341 27.333 7.03494 27.333 6.66675V4.94289L20.9425 11.3334C20.4218 11.8541 19.5776 11.8541 19.0569 11.3334L11.9997 4.27622L4.47108 11.8048C4.21073 12.0652 3.78862 12.0652 3.52827 11.8048C3.26792 11.5445 3.26792 11.1224 3.52827 10.862L11.0569 3.33341C11.5776 2.81272 12.4218 2.81272 12.9425 3.33341L19.9997 10.3906L26.3902 4.00008H24.6663C24.2981 4.00008 23.9997 3.7016 23.9997 3.33341Z\"\n fill=\"url(#paint8_linear_1609_10673)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_10673\"\n x1=\"5.99967\"\n y1=\"23.3335\"\n x2=\"1.99967\"\n y2=\"23.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_10673\"\n x1=\"3.99967\"\n y1=\"17.3335\"\n x2=\"3.99967\"\n y2=\"29.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_10673\"\n x1=\"13.9997\"\n y1=\"19.3334\"\n x2=\"9.92665\"\n y2=\"19.3783\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#015B50\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_10673\"\n x1=\"11.9997\"\n y1=\"10.6667\"\n x2=\"11.9997\"\n y2=\"29.3334\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#01B49E\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_10673\"\n x1=\"21.9997\"\n y1=\"22.0001\"\n x2=\"17.9997\"\n y2=\"22.0001\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_10673\"\n x1=\"19.9997\"\n y1=\"14.6667\"\n x2=\"19.9997\"\n y2=\"29.3334\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_10673\"\n x1=\"29.9997\"\n y1=\"25.3335\"\n x2=\"25.9997\"\n y2=\"25.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_10673\"\n x1=\"27.9997\"\n y1=\"21.3335\"\n x2=\"27.9997\"\n y2=\"29.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint8_linear_1609_10673\"\n x1=\"3.66634\"\n y1=\"12.0001\"\n x2=\"21.262\"\n y2=\"-4.99792\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#01B49E\" stopOpacity=\"0.36\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC } from \"react\";\n\nexport const AffiliateIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.6001 14.3967C1.6001 13.86 1.86916 13.359 2.31661 13.0627L15.1166 4.58513C15.6522 4.23041 16.348 4.23041 16.8836 4.58513L29.6836 13.0627C30.131 13.359 30.4001 13.86 30.4001 14.3967V28C30.4001 28.8836 29.6838 29.6 28.8001 29.6H3.2001C2.31644 29.6 1.6001 28.8836 1.6001 28V14.3967Z\"\n fill=\"url(#paint0_linear_1609_7317)\"\n />\n <path\n d=\"M28.8001 28.8V29.6H3.2001V28.8H28.8001ZM29.6001 28V14.3969C29.6001 14.1285 29.4652 13.8778 29.2415 13.7297L16.4415 5.25232C16.2073 5.09729 15.9121 5.07755 15.6626 5.19373L15.5587 5.25232L2.75869 13.7297C2.53497 13.8778 2.4001 14.1285 2.4001 14.3969V28C2.4001 28.4418 2.75827 28.8 3.2001 28.8V29.6L3.03682 29.5914C2.28357 29.515 1.68506 28.9165 1.60869 28.1633L1.6001 28V14.3969C1.6001 13.8937 1.83627 13.4215 2.23447 13.1203L2.3165 13.0625L15.1165 4.58513C15.6521 4.23041 16.3481 4.23041 16.8837 4.58513L29.6837 13.0625C30.1311 13.3588 30.4001 13.8602 30.4001 14.3969V28L30.3915 28.1633C30.3151 28.9165 29.7166 29.515 28.9634 29.5914L28.8001 29.6V28.8C29.2419 28.8 29.6001 28.4418 29.6001 28Z\"\n fill=\"url(#paint1_linear_1609_7317)\"\n />\n <path\n d=\"M5.6001 4.7999C5.6001 3.47442 6.67461 2.3999 8.0001 2.3999H20.1374C20.5617 2.3999 20.9687 2.56847 21.2687 2.86853L25.9315 7.53127C26.2315 7.83133 26.4001 8.2383 26.4001 8.66264V17.2121C26.4001 17.7088 26.1694 18.1774 25.7756 18.4803L16.9998 25.2309C16.4135 25.6819 15.5944 25.6722 15.0189 25.2074L6.19476 18.0802C5.81868 17.7764 5.6001 17.3189 5.6001 16.8355V4.7999Z\"\n fill=\"url(#paint2_linear_1609_7317)\"\n />\n <path\n d=\"M5.6001 16.8358V4.7999C5.6001 3.51582 6.60854 2.46727 7.87666 2.40303L8.0001 2.3999H20.1376L20.2954 2.40771C20.6617 2.44407 21.0063 2.60608 21.2688 2.86865L25.9313 7.53115C26.2313 7.83115 26.4 8.23814 26.4001 8.6624V17.2124L26.3892 17.3968C26.3396 17.8233 26.1203 18.2154 25.7759 18.4804L17.0001 25.2312L16.8876 25.3101C16.3507 25.6545 15.6584 25.6459 15.1298 25.289L15.0188 25.2077L6.19463 18.0804C5.86561 17.8146 5.65728 17.431 5.61025 17.0155L5.6001 16.8358ZM6.4001 16.8358C6.4002 17.0774 6.5098 17.3059 6.69775 17.4577L15.522 24.5851C15.8097 24.8172 16.2187 24.8221 16.5118 24.5968L25.2876 17.846L25.3579 17.7858C25.5118 17.6362 25.6 17.4296 25.6001 17.2124V8.6624C25.6 8.47675 25.5355 8.2977 25.4188 8.15537L25.3657 8.09678L20.7032 3.43428C20.5532 3.2843 20.3497 3.19997 20.1376 3.1999H8.0001C7.11644 3.1999 6.4001 3.91625 6.4001 4.7999V16.8358Z\"\n fill=\"url(#paint3_linear_1609_7317)\"\n />\n <path\n d=\"M1.68437 14.1546C1.80314 14.0019 2.0105 13.9586 2.17734 14.0413L2.24531 14.0843L16.3922 25.0874L29.7461 14.0913C29.9166 13.951 30.1682 13.9755 30.3086 14.146C30.4489 14.3166 30.4244 14.5681 30.2539 14.7085L16.6539 25.9085L16.407 26.1124L16.1547 25.9156L1.75469 14.7156L1.69609 14.6601C1.57487 14.5188 1.56569 14.3073 1.68437 14.1546Z\"\n fill=\"url(#paint4_linear_1609_7317)\"\n />\n <path\n d=\"M15.063 19.8766C15.6222 19.4728 16.3773 19.4728 16.9366 19.8766L29.3969 28.8758C29.7115 29.103 29.5508 29.6001 29.1627 29.6001H2.8368C2.44873 29.6001 2.28801 29.103 2.6026 28.8758L15.063 19.8766Z\"\n fill=\"url(#paint5_linear_1609_7317)\"\n />\n <path\n d=\"M15.0634 19.8766C15.6226 19.4728 16.3776 19.4728 16.9368 19.8766L29.3969 28.8758C29.6919 29.0889 29.5693 29.5393 29.2329 29.5946L29.1634 29.6H2.83679L2.76726 29.5946C2.43083 29.5393 2.3082 29.0889 2.6032 28.8758L15.0634 19.8766ZM16.4688 20.525C16.2242 20.3484 15.9041 20.3262 15.6407 20.4586L15.5313 20.525L4.07429 28.8H27.9259L16.4688 20.525Z\"\n fill=\"url(#paint6_linear_1609_7317)\"\n />\n <path\n d=\"M16.2198 10.2711L15.999 10.4993L15.7783 10.2701C14.9185 9.38023 13.5199 9.37627 12.6562 10.2622L12.6485 10.2701C11.7838 11.164 11.7838 12.6095 12.6485 13.5044L15.6424 16.6463C15.8361 16.8487 16.1523 16.8517 16.3499 16.6532L16.3566 16.6463L19.3515 13.5044C20.2162 12.6105 20.2162 11.165 19.3515 10.2701C18.4917 9.38023 17.0931 9.37627 16.2294 10.2612L16.2198 10.2711Z\"\n fill=\"#B9D1FF\"\n />\n <path\n d=\"M15.9992 9.92654C17.0243 8.93604 18.641 8.95922 19.6391 9.99217L19.7312 10.0922C20.6519 11.146 20.6216 12.7633 19.6406 13.7797L19.6414 13.7804L16.6461 16.9219L16.6437 16.925L16.6336 16.9351C16.2776 17.2926 15.7023 17.2874 15.3531 16.9226V16.9219L12.3586 13.7804V13.7797C11.3466 12.7297 11.3471 11.0404 12.3609 9.99217L12.3695 9.98357V9.98279L12.4672 9.88748C13.4713 8.95732 15.0109 8.97251 15.9992 9.92654ZM19.0641 10.5476C18.3608 9.81979 17.2216 9.81726 16.5156 10.5406L16.507 10.55L16.5062 10.5492L16.2867 10.7773L15.9984 11.075L15.7109 10.7765L15.4898 10.5476V10.5469C14.7865 9.81999 13.6486 9.81767 12.943 10.5414L12.9422 10.5406L12.9351 10.5476L12.9359 10.5484C12.2663 11.2409 12.2241 12.3379 12.8101 13.082L12.9359 13.2265L12.9383 13.2281L15.9312 16.3695L15.9633 16.3922C15.9974 16.4073 16.0371 16.4004 16.0664 16.3711L16.0695 16.3672L19.0617 13.2281L19.0641 13.2258L19.1898 13.0828C19.7369 12.3893 19.7369 11.3867 19.1898 10.6922L19.0641 10.5476Z\"\n fill=\"#B9D1FF\"\n />\n <path\n d=\"M20 7.19997V3.53134C20 2.81862 20.8617 2.46168 21.3657 2.96565L25.8343 7.43428C26.3383 7.93826 25.9814 8.79997 25.2686 8.79997H21.6C20.7163 8.79997 20 8.08363 20 7.19997Z\"\n fill=\"#1F2D94\"\n />\n <path\n d=\"M20 7.19997V3.53122C20.0001 2.8186 20.8617 2.46174 21.3656 2.9656L25.8344 7.43435C26.3068 7.90689 26.0224 8.69348 25.3977 8.78981L25.2688 8.79997V7.99997L20.8 3.53122V7.19997C20.8 7.6418 21.1582 7.99997 21.6 7.99997V8.79997C20.7163 8.79997 20 8.08363 20 7.19997ZM25.2688 7.99997V8.79997H21.6V7.99997H25.2688Z\"\n fill=\"url(#paint7_linear_1609_7317)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_7317\"\n x1=\"2.8001\"\n y1=\"15.5451\"\n x2=\"29.6001\"\n y2=\"15.5451\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#333948\" />\n <stop offset=\"1\" stopColor=\"#181C23\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_7317\"\n x1=\"16.0001\"\n y1=\"3.99998\"\n x2=\"16.0001\"\n y2=\"29.6\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#222832\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_7317\"\n x1=\"25.6001\"\n y1=\"14.3999\"\n x2=\"9.46705\"\n y2=\"7.84048\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1828C3\" />\n <stop offset=\"1\" stopColor=\"#608CFF\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_7317\"\n x1=\"15.2001\"\n y1=\"25.9999\"\n x2=\"23.4343\"\n y2=\"5.74778\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1828C3\" />\n <stop offset=\"1\" stopColor=\"#608CFF\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_7317\"\n x1=\"30\"\n y1=\"14.3999\"\n x2=\"2\"\n y2=\"14.3999\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#3B4355\" />\n <stop offset=\"0.483985\" stopColor=\"#6A7387\" />\n <stop offset=\"1\" stopColor=\"#3B4355\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_7317\"\n x1=\"1.59977\"\n y1=\"24.4001\"\n x2=\"30.3998\"\n y2=\"24.4001\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#333948\" />\n <stop offset=\"1\" stopColor=\"#181C23\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_7317\"\n x1=\"16.0001\"\n y1=\"19.2\"\n x2=\"16.0001\"\n y2=\"29.6\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#656D83\" />\n <stop offset=\"1\" stopColor=\"#222832\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_7317\"\n x1=\"23.6\"\n y1=\"5.19997\"\n x2=\"20\"\n y2=\"8.79997\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#5D86FC\" />\n <stop offset=\"1\" stopColor=\"#4667E8\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC } from \"react\";\n\nexport const TradingRewardsIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.38623 9.2336C7.38623 4.46801 11.2495 0.604736 16.0151 0.604736C20.7807 0.604736 24.644 4.46801 24.644 9.2336C24.644 13.9992 20.7807 17.8625 16.0151 17.8625C11.2495 17.8625 7.38623 13.9992 7.38623 9.2336Z\"\n fill=\"url(#paint0_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.3296 5.18278C19.3806 5.22417 19.3507 5.30493 19.285 5.30493H12.8438C12.778 5.30493 12.7482 5.22417 12.7993 5.18278C13.6911 4.46035 14.8272 4.02759 16.0643 4.02759C17.3016 4.02759 18.4376 4.46035 19.3296 5.18278Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0452 10.6322C14.0081 10.5792 13.9483 10.5459 13.8836 10.5459H11.1677C11.1055 10.5459 11.0601 10.605 11.0774 10.6647C11.7036 12.8282 13.6994 14.4099 16.0646 14.4099C18.4298 14.4099 20.4256 12.8282 21.0517 10.6647C21.069 10.605 21.0236 10.5459 20.9614 10.5459H18.2456C18.1809 10.5459 18.1211 10.5792 18.084 10.6322C17.6382 11.2679 16.8999 11.6834 16.0646 11.6834C15.2293 11.6834 14.491 11.2679 14.0452 10.6322Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.8902 7.56345C17.9277 7.60484 17.9805 7.62978 18.0363 7.62978H20.8773C20.9418 7.62978 20.9874 7.56711 20.9661 7.50639C20.7656 6.93242 20.4672 6.40442 20.0908 5.94243C20.0555 5.89906 20.0022 5.87451 19.9462 5.87451H12.1818C12.1259 5.87451 12.0727 5.89906 12.0373 5.94243C11.661 6.40442 11.3625 6.93242 11.162 7.50639C11.1408 7.56711 11.1864 7.62978 11.2508 7.62978H14.0918C14.1477 7.62978 14.2005 7.60484 14.238 7.56345C14.6889 7.06633 15.34 6.75415 16.0641 6.75415C16.7881 6.75415 17.4392 7.06633 17.8902 7.56345Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.5077 9.9775C18.4594 9.9775 18.425 9.93038 18.4381 9.88382C18.4973 9.67209 18.5289 9.44887 18.5289 9.21826C18.5289 8.89376 18.4662 8.58388 18.3523 8.30011C18.333 8.25208 18.3676 8.19849 18.4193 8.19849H21.0969C21.1308 8.19849 21.1602 8.22244 21.1664 8.2558C21.2248 8.56772 21.2554 8.88947 21.2554 9.21834C21.2554 9.45516 21.2395 9.68821 21.2089 9.91654C21.2041 9.95154 21.1742 9.9775 21.1389 9.9775H18.5077ZM13.6904 9.88382C13.7034 9.93038 13.6692 9.9775 13.6209 9.9775H10.9896C10.9543 9.9775 10.9243 9.95154 10.9196 9.91654C10.8889 9.68821 10.873 9.45516 10.873 9.21834C10.873 8.88947 10.9036 8.56772 10.9621 8.2558C10.9684 8.22244 10.9976 8.19849 11.0316 8.19849H13.7092C13.7609 8.19849 13.7955 8.25208 13.7762 8.30011C13.6622 8.58388 13.5995 8.89376 13.5995 9.21826C13.5995 9.44887 13.6312 9.67209 13.6904 9.88382Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.00258 9.2336C8.00258 13.6588 11.5899 17.2461 16.0151 17.2461C20.4403 17.2461 24.0276 13.6588 24.0276 9.2336C24.0276 4.80841 20.4403 1.22108 16.0151 1.22108C11.5899 1.22108 8.00258 4.80841 8.00258 9.2336ZM16.0151 0.604736C11.2495 0.604736 7.38623 4.46801 7.38623 9.2336C7.38623 13.9992 11.2495 17.8625 16.0151 17.8625C20.7807 17.8625 24.644 13.9992 24.644 9.2336C24.644 4.46801 20.7807 0.604736 16.0151 0.604736Z\"\n fill=\"url(#paint1_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.4248 19.2514C16.1912 19.0438 15.8393 19.0438 15.6058 19.2514L11.6798 22.7412C11.2562 23.1177 11.5225 23.8182 12.0893 23.8182H13.5494V25.6673C13.5494 26.3481 14.1013 26.9 14.7821 26.9H17.2475C17.9283 26.9 18.4802 26.3481 18.4802 25.6673V23.8182H19.9413C20.508 23.8182 20.7744 23.1177 20.3508 22.7412L16.4248 19.2514ZM14.474 27.5163C13.9634 27.5163 13.5494 27.9302 13.5494 28.4408C13.5494 28.9514 13.9634 29.3654 14.474 29.3654H17.5557C18.0663 29.3654 18.4802 28.9514 18.4802 28.4408C18.4802 27.9302 18.0663 27.5163 17.5557 27.5163H14.474ZM13.5494 30.5981C13.5494 30.2577 13.8254 29.9817 14.1658 29.9817H17.8639C18.2043 29.9817 18.4802 30.2577 18.4802 30.5981C18.4802 30.9385 18.2043 31.2144 17.8639 31.2144H14.1658C13.8254 31.2144 13.5494 30.9385 13.5494 30.5981Z\"\n fill=\"url(#paint2_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1658 23.2018V25.6673C14.1658 26.0077 14.4417 26.2836 14.7821 26.2836H17.2475C17.5879 26.2836 17.8639 26.0077 17.8639 25.6673V23.2018H19.9413L16.0153 19.7121L12.0893 23.2018H14.1658ZM12.0893 23.8182C11.5225 23.8182 11.2562 23.1177 11.6798 22.7412L15.6058 19.2514C15.8393 19.0438 16.1912 19.0438 16.4248 19.2514L20.3508 22.7412C20.7744 23.1177 20.508 23.8182 19.9413 23.8182H18.4802V25.6673C18.4802 26.3481 17.9283 26.9 17.2475 26.9H14.7821C14.1013 26.9 13.5494 26.3481 13.5494 25.6673V23.8182H12.0893ZM14.1658 29.9817C13.8254 29.9817 13.5494 30.2577 13.5494 30.5981C13.5494 30.9385 13.8254 31.2144 14.1658 31.2144H17.8639C18.2043 31.2144 18.4802 30.9385 18.4802 30.5981C18.4802 30.2577 18.2043 29.9817 17.8639 29.9817H14.1658ZM14.474 27.5163C13.9634 27.5163 13.5494 27.9302 13.5494 28.4408C13.5494 28.9514 13.9634 29.3654 14.474 29.3654H17.5557C18.0663 29.3654 18.4802 28.9514 18.4802 28.4408C18.4802 27.9302 18.0663 27.5163 17.5557 27.5163H14.474ZM14.474 28.1327C14.3038 28.1327 14.1658 28.2706 14.1658 28.4408C14.1658 28.611 14.3038 28.749 14.474 28.749H17.5557C17.7259 28.749 17.8639 28.611 17.8639 28.4408C17.8639 28.2706 17.7259 28.1327 17.5557 28.1327H14.474Z\"\n fill=\"url(#paint3_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.88568 17.3473C8.87284 17.0263 8.61551 16.7689 8.29446 16.7561L4.99029 16.6239C4.42967 16.6015 4.1331 17.2789 4.52983 17.6756L5.15844 18.3042L3.85097 19.6117C3.36957 20.0931 3.36957 20.8736 3.85097 21.355L4.2868 21.7908C4.76819 22.2722 5.54869 22.2722 6.03009 21.7908L7.33756 20.4833L7.96617 21.1119C8.36291 21.5087 9.04027 21.2121 9.01785 20.6515L8.88568 17.3473ZM2.10768 21.355C2.34838 21.1143 2.73863 21.1143 2.97932 21.355L4.2868 22.6624C4.52749 22.9031 4.52749 23.2934 4.2868 23.5341C4.0461 23.7748 3.65585 23.7748 3.41515 23.5341L2.10768 22.2266C1.86698 21.9859 1.86698 21.5957 2.10768 21.355Z\"\n fill=\"url(#paint4_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.03009 18.3042L4.2868 20.0475C4.0461 20.2882 4.0461 20.6785 4.2868 20.9192L4.72262 21.355C4.96332 21.5957 5.35357 21.5957 5.59427 21.355L7.33756 19.6117L8.40199 20.6761L8.26983 17.3719L4.96566 17.2398L6.03009 18.3042ZM8.29446 16.7561L4.99029 16.6239C4.42967 16.6015 4.1331 17.2789 4.52983 17.6756L5.15844 18.3042L3.85097 19.6117C3.36957 20.0931 3.36957 20.8736 3.85097 21.355L4.2868 21.7908C4.76819 22.2722 5.54869 22.2722 6.03009 21.7908L7.33756 20.4833L7.96617 21.1119C8.36291 21.5087 9.04027 21.2121 9.01785 20.6515L8.88568 17.3473C8.87284 17.0263 8.61551 16.7689 8.29446 16.7561ZM2.97932 21.355C2.73863 21.1143 2.34838 21.1143 2.10768 21.355C1.86698 21.5957 1.86698 21.9859 2.10768 22.2266L3.41515 23.5341C3.65585 23.7748 4.0461 23.7748 4.2868 23.5341C4.52749 23.2934 4.52749 22.9031 4.2868 22.6624L2.97932 21.355Z\"\n fill=\"url(#paint5_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.921 17.3473C22.9338 17.0263 23.1911 16.7689 23.5122 16.7561L26.8164 16.6239C27.377 16.6015 27.6735 17.2789 27.2768 17.6756L26.6482 18.3042L27.9557 19.6117C28.4371 20.0931 28.4371 20.8736 27.9557 21.355L27.5198 21.7908C27.0384 22.2722 26.2579 22.2722 25.7766 21.7908L24.4691 20.4833L23.8405 21.1119C23.4437 21.5087 22.7664 21.2121 22.7888 20.6515L22.921 17.3473ZM29.699 21.355C29.4583 21.1143 29.068 21.1143 28.8273 21.355L27.5198 22.6624C27.2791 22.9031 27.2791 23.2934 27.5198 23.5341C27.7605 23.7748 28.1508 23.7748 28.3915 23.5341L29.699 22.2266C29.9397 21.9859 29.9397 21.5957 29.699 21.355Z\"\n fill=\"url(#paint6_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M25.7766 18.3042L27.5198 20.0475C27.7605 20.2882 27.7605 20.6785 27.5198 20.9192L27.084 21.355C26.8433 21.5957 26.4531 21.5957 26.2124 21.355L24.4691 19.6117L23.4046 20.6761L23.5368 17.3719L26.841 17.2398L25.7766 18.3042ZM23.5122 16.7561L26.8164 16.6239C27.377 16.6015 27.6735 17.2789 27.2768 17.6756L26.6482 18.3042L27.9557 19.6117C28.4371 20.0931 28.4371 20.8736 27.9557 21.355L27.5198 21.7908C27.0384 22.2722 26.2579 22.2722 25.7766 21.7908L24.4691 20.4833L23.8405 21.1119C23.4437 21.5087 22.7664 21.2121 22.7888 20.6515L22.921 17.3473C22.9338 17.0263 23.1911 16.7689 23.5122 16.7561ZM28.8273 21.355C29.068 21.1143 29.4583 21.1143 29.699 21.355C29.9397 21.5957 29.9397 21.9859 29.699 22.2266L28.3915 23.5341C28.1508 23.7748 27.7605 23.7748 27.5198 23.5341C27.2791 23.2934 27.2791 22.9031 27.5198 22.6624L28.8273 21.355Z\"\n fill=\"url(#paint7_linear_1609_7349)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_7349\"\n x1=\"22.4867\"\n y1=\"8.61726\"\n x2=\"9.32517\"\n y2=\"9.12524\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#5806D4\" />\n <stop offset=\"1\" stopColor=\"#BB6CED\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_7349\"\n x1=\"16.0151\"\n y1=\"0.604736\"\n x2=\"16.0151\"\n y2=\"17.8625\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#BD6CED\" />\n <stop offset=\"1\" stopColor=\"#5A08DD\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_7349\"\n x1=\"20.1752\"\n y1=\"20.7365\"\n x2=\"11.8545\"\n y2=\"20.7365\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#28303B\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_7349\"\n x1=\"16.0069\"\n y1=\"19.4285\"\n x2=\"16.0069\"\n y2=\"30.9792\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_7349\"\n x1=\"11.0242\"\n y1=\"20.3888\"\n x2=\"5.14058\"\n y2=\"14.5052\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_7349\"\n x1=\"8.7345\"\n y1=\"16.8618\"\n x2=\"2.74525\"\n y2=\"22.8511\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_7349\"\n x1=\"20.7824\"\n y1=\"20.3888\"\n x2=\"26.6661\"\n y2=\"14.5052\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_7349\"\n x1=\"23.2796\"\n y1=\"16.8618\"\n x2=\"29.2688\"\n y2=\"22.8511\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" stopOpacity=\"0.411765\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PortfolioActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Portfolio\">\n <path\n id=\"Vector\"\n d=\"M8.9688 13.3124C6.3545 14.0269 4.5 16.3001 4.5 18.9999V20.9999C4.5 21.5522 4.9477 21.9999 5.5 21.9999H19.5C20.0523 21.9999 20.5 21.5522 20.5 20.9999V18.9999C20.5 16.3001 18.6455 14.0269 16.0312 13.3124C15.8071 13.2511 15.5869 13.2794 15.375 13.3749C14.4595 13.7875 13.4849 13.9999 12.5 13.9999C11.5151 13.9999 10.5405 13.7875 9.625 13.3749C9.4131 13.2794 9.1929 13.2511 8.9688 13.3124Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n id=\"Vector_2\"\n d=\"M12.5 2C9.7386 2 7.5 4.2386 7.5 7C7.5 9.7614 9.7386 12 12.5 12C15.2614 12 17.5 9.7614 17.5 7C17.5 4.2386 15.2614 2 12.5 2Z\"\n fill=\"url(#paint0_linear_148_26239)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_148_26239\"\n x1=\"17.5\"\n y1=\"7\"\n x2=\"7.5\"\n y2=\"7\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PortfolioInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Portfolio\">\n <path\n id=\"Vector\"\n d=\"M8.9688 13.3124C6.3545 14.0269 4.5 16.3001 4.5 18.9999V20.9999C4.5 21.5522 4.9477 21.9999 5.5 21.9999H19.5C20.0523 21.9999 20.5 21.5522 20.5 20.9999V18.9999C20.5 16.3001 18.6455 14.0269 16.0312 13.3124C15.8071 13.2511 15.5869 13.2794 15.375 13.3749C14.4595 13.7875 13.4849 13.9999 12.5 13.9999C11.5151 13.9999 10.5405 13.7875 9.625 13.3749C9.4131 13.2794 9.1929 13.2511 8.9688 13.3124Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n id=\"Vector_2\"\n d=\"M12.5 2C9.7386 2 7.5 4.2386 7.5 7C7.5 9.7614 9.7386 12 12.5 12C15.2614 12 17.5 9.7614 17.5 7C17.5 4.2386 15.2614 2 12.5 2Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const TradingActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Trading\">\n <path\n id=\"Vector 646 (Stroke)\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.5 7C2.5 6.44772 2.94772 6 3.5 6H5.66905C7.77663 6 9.72966 7.10579 10.814 8.91303L13.901 14.058C14.6239 15.2628 15.9259 16 17.3309 16H19.5V14L22.5 17L19.5 20V18H17.3309C15.2234 18 13.2703 16.8942 12.186 15.087L9.09902 9.94202C8.37613 8.7372 7.0741 8 5.66905 8H3.5C2.94772 8 2.5 7.55228 2.5 7Z\"\n fill=\"url(#paint0_linear_134_17004)\"\n />\n <path\n id=\"Subtract\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.5 18C2.94772 18 2.5 17.5523 2.5 17C2.5 16.4477 2.94772 16 3.5 16H5.66905C7.0741 16 8.37613 15.2628 9.09902 14.058L10.3338 12L11.5 13.9436L10.814 15.087C9.72966 16.8942 7.77663 18 5.66905 18H3.5ZM12.6662 12L13.901 9.94202C14.6239 8.7372 15.9259 8 17.3309 8H19.5V10L22.5 7L19.5 4V6H17.3309C15.2234 6 13.2703 7.10579 12.186 8.91303L11.5 10.0563L12.6662 12Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_134_17004\"\n x1=\"22.5\"\n y1=\"13\"\n x2=\"2.5\"\n y2=\"13\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","export const TradingIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2 7C2 6.44772 2.44772 6 3 6H5.16905C7.27663 6 9.22967 7.10579 10.314 8.91303L13.401 14.058C14.1239 15.2628 15.4259 16 16.831 16H19V14L22 17L19 20V18H16.831C14.7234 18 12.7703 16.8942 11.686 15.087L8.59902 9.94202C7.87613 8.7372 6.5741 8 5.16905 8H3C2.44772 8 2 7.55228 2 7Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 18C2.44772 18 2 17.5523 2 17C2 16.4477 2.44772 16 3 16H5.16905C6.5741 16 7.87613 15.2628 8.59902 14.058L9.83381 12L11 13.9437L10.314 15.087C9.22967 16.8942 7.27663 18 5.16905 18H3ZM12.1662 12L13.401 9.94202C14.1239 8.7372 15.4259 8 16.831 8H19V10L22 7L19 4V6H16.831C14.7234 6 12.7703 7.10579 11.686 8.91303L11 10.0563L12.1662 12Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const TradingInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Trading\">\n <path\n id=\"Vector 646 (Stroke)\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.5 7C2.5 6.44772 2.94772 6 3.5 6H5.66905C7.77663 6 9.72967 7.10579 10.814 8.91303L13.901 14.058C14.6239 15.2628 15.9259 16 17.331 16H19.5V14L22.5 17L19.5 20V18H17.331C15.2234 18 13.2703 16.8942 12.186 15.087L9.09902 9.94202C8.37613 8.7372 7.0741 8 5.66905 8H3.5C2.94772 8 2.5 7.55228 2.5 7Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n id=\"Subtract\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.5 18C2.94772 18 2.5 17.5523 2.5 17C2.5 16.4477 2.94772 16 3.5 16H5.66905C7.0741 16 8.37613 15.2628 9.09902 14.058L10.3338 12L11.5 13.9437L10.814 15.087C9.72967 16.8942 7.77663 18 5.66905 18H3.5ZM12.6662 12L13.901 9.94202C14.6239 8.7372 15.9259 8 17.331 8H19.5V10L22.5 7L19.5 4V6H17.331C15.2234 6 13.2703 7.10579 12.186 8.91303L11.5 10.0563L12.6662 12Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const LeaderboardActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M18 11H21C22.103 11 23 11.897 23 13V17C23 18.103 22.103 19 21 19H18V17V11Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M16 7V17V19H8V17V7C8 5.897 8.897 5 10 5H14C15.103 5 16 5.897 16 7Z\"\n fill=\"url(#paint0_linear_999_8196)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_999_8196\"\n x1=\"16\"\n y1=\"12\"\n x2=\"8\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const LeaderboardInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M18 11H21C22.103 11 23 11.897 23 13V17C23 18.103 22.103 19 21 19H18V17V11Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n d=\"M16 7V17V19H8V17V7C8 5.897 8.897 5 10 5H14C15.103 5 16 5.897 16 7Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </BaseIcon>\n );\n};\n","import { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const MarketsActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.75 8C10.6454 8 9.75 8.89543 9.75 10V18C9.75 19.1046 10.6454 20 11.75 20H13.75C14.8546 20 15.75 19.1046 15.75 18V10C15.75 8.89543 14.8546 8 13.75 8H11.75ZM4.75 12C3.64543 12 2.75 12.8954 2.75 14V18C2.75 19.1046 3.64543 20 4.75 20H6.75C7.85457 20 8.75 19.1046 8.75 18V14C8.75 12.8954 7.85457 12 6.75 12H4.75Z\"\n fill=\"white\"\n fillOpacity=\"0.16\"\n />\n <path\n d=\"M16.75 6C16.75 4.89543 17.6454 4 18.75 4H20.75C21.8546 4 22.75 4.89543 22.75 6V18C22.75 19.1046 21.8546 20 20.75 20H18.75C17.6454 20 16.75 19.1046 16.75 18V6Z\"\n fill=\"url(#paint0_linear_2097_10887)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_2097_10887\"\n x1=\"22.75\"\n y1=\"12\"\n x2=\"16.75\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const MarketsInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5 8a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2zm-7 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z\"\n fill=\"#fff\"\n fillOpacity=\".12\"\n />\n <path\n d=\"M16.5 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2z\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const StarChildChatActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n {/* Outer chat bubble */}\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.8889 6.03755C17.4388 6.00078 16.8565 6 15.9999 6H14.7999V4H16.0412C16.8462 3.99999 17.5106 3.99998 18.0518 4.04419C18.6139 4.09012 19.1306 4.18868 19.6159 4.43597C20.3685 4.81947 20.9805 5.43139 21.364 6.18404C21.6112 6.66937 21.7098 7.18608 21.7557 7.74817C21.7999 8.28936 21.7999 8.95372 21.7999 9.75868V13.2408C21.7999 14.0457 21.7999 14.7101 21.7557 15.2513C21.7098 15.8134 21.6112 16.3301 21.364 16.8154C20.9805 17.568 20.3685 18.18 19.6159 18.5635C19.1306 18.8108 18.6139 18.9093 18.0518 18.9552C17.5106 18.9995 16.8462 18.9995 16.0413 18.9994H15.8314L13.5592 21.6507L12.0406 21.6507L9.76852 18.9994H9.5586C8.75364 18.9995 8.08929 18.9995 7.5481 18.9552C6.986 18.9093 6.4693 18.8108 5.98397 18.5635C5.23132 18.18 4.61939 17.568 4.2359 16.8154C3.98861 16.3301 3.89005 15.8134 3.84412 15.2513C3.7999 14.7101 3.79991 14.0457 3.79993 13.2407L3.79993 12.4997H5.79993V13.1994C5.79993 14.056 5.80071 14.6383 5.83748 15.0884C5.8733 15.5268 5.93823 15.751 6.01791 15.9074C6.20966 16.2837 6.51562 16.5897 6.89195 16.7815C7.04835 16.8611 7.27255 16.9261 7.71097 16.9619C8.16106 16.9987 8.74335 16.9994 9.59993 16.9994H10.6885L12.7999 19.4632L14.9114 16.9994H15.9999C16.8565 16.9994 17.4388 16.9987 17.8889 16.9619C18.3273 16.9261 18.5515 16.8611 18.7079 16.7815C19.0842 16.5897 19.3902 16.2837 19.5819 15.9074C19.6616 15.751 19.7266 15.5268 19.7624 15.0884C19.7991 14.6383 19.7999 14.056 19.7999 13.1994V9.8C19.7999 8.94342 19.7991 8.36113 19.7624 7.91104C19.7266 7.47262 19.6616 7.24842 19.5819 7.09202C19.3902 6.71569 19.0842 6.40973 18.7079 6.21799C18.5515 6.1383 18.3273 6.07337 17.8889 6.03755Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n {/* Star child glyph */}\n <path\n d=\"M8.83997 3.27539L12.1163 4.36719V6.26465L8.83997 7.35645L7.74817 10.6328H5.85071L4.75891 7.35645L1.48352 6.26465V4.36719L4.75891 3.27539L5.85071 0H7.74817L8.83997 3.27539ZM6.49817 4.38281L5.86633 5.01465L4.96204 5.31641L5.86633 5.61719L6.49817 6.25L6.79993 7.1543L7.10071 6.25L7.73352 5.61719L8.63782 5.31641L7.73352 5.01465L7.10071 4.38281L6.79993 3.47852L6.49817 4.38281Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n {/* Center plus/star */}\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5756 10.7757L12.2308 8.8103H13.3692L14.0243 10.7757L15.9897 11.4308V12.5692L14.0243 13.2244L13.3692 15.1898H12.2308L11.5756 13.2244L9.61023 12.5692V11.4308L11.5756 10.7757Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const StarChildChatInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n {/* Outer chat bubble (inactive) */}\n <path\n d=\"M17.8889 6.03755C17.4388 6.00078 16.8565 6 15.9999 6H14.7999V4H16.0412C16.8462 3.99999 17.5106 3.99998 18.0518 4.04419C18.6139 4.09012 19.1306 4.18868 19.6159 4.43597C20.3685 4.81947 20.9805 5.43139 21.364 6.18404C21.6112 6.66937 21.7098 7.18608 21.7557 7.74817C21.7999 8.28936 21.7999 8.95372 21.7999 9.75868V13.2408C21.7999 14.0457 21.7999 14.7101 21.7557 15.2513C21.7098 15.8134 21.6112 16.3301 21.364 16.8154C20.9805 17.568 20.3685 18.18 19.6159 18.5635C19.1306 18.8108 18.6139 18.9093 18.0518 18.9552C17.5106 18.9995 16.8462 18.9995 16.0413 18.9994H15.8314L13.5592 21.6507L12.0406 21.6507L9.76852 18.9994H9.5586C8.75364 18.9995 8.08929 18.9995 7.5481 18.9552C6.986 18.9093 6.4693 18.8108 5.98397 18.5635C5.23132 18.18 4.61939 17.568 4.2359 16.8154C3.98861 16.3301 3.89005 15.8134 3.84412 15.2513C3.7999 14.7101 3.79991 14.0457 3.79993 13.2407L3.79993 12.4997H5.79993V13.1994C5.79993 14.056 5.80071 14.6383 5.83748 15.0884C5.8733 15.5268 5.93823 15.751 6.01791 15.9074C6.20966 16.2837 6.51562 16.5897 6.89195 16.7815C7.04835 16.8611 7.27255 16.9261 7.71097 16.9619C8.16106 16.9987 8.74335 16.9994 9.59993 16.9994H10.6885L12.7999 19.4632L14.9114 16.9994H15.9999C16.8565 16.9994 17.4388 16.9987 17.8889 16.9619C18.3273 16.9261 18.5515 16.8611 18.7079 16.7815C19.0842 16.5897 19.3902 16.2837 19.5819 15.9074C19.6616 15.751 19.7266 15.5268 19.7624 15.0884C19.7991 14.6383 19.7999 14.056 19.7999 13.1994V9.8C19.7999 8.94342 19.7991 8.36113 19.7624 7.91104C19.7266 7.47262 19.6616 7.24842 19.5819 7.09202C19.3902 6.71569 19.0842 6.40973 18.7079 6.21799C18.5515 6.1383 18.3273 6.07337 17.8889 6.03755Z\"\n fill=\"#fff\"\n fillOpacity=\"0.36\"\n />\n {/* Star child glyph (inactive) */}\n <path\n d=\"M8.83997 3.27539L12.1163 4.36719V6.26465L8.83997 7.35645L7.74817 10.6328H5.85071L4.75891 7.35645L1.48352 6.26465V4.36719L4.75891 3.27539L5.85071 0H7.74817L8.83997 3.27539ZM6.49817 4.38281L5.86633 5.01465L4.96204 5.31641L5.86633 5.61719L6.49817 6.25L6.79993 7.1543L7.10071 6.25L7.73352 5.61719L8.63782 5.31641L7.73352 5.01465L7.10071 4.38281L6.79993 3.47852L6.49817 4.38281Z\"\n fill=\"#fff\"\n fillOpacity=\"0.36\"\n />\n {/* Center plus/star (inactive subtle) */}\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5756 10.7757L12.2308 8.8103H13.3692L14.0243 10.7757L15.9897 11.4308V12.5692L14.0243 13.2244L13.3692 15.1898H12.2308L11.5756 13.2244L9.61023 12.5692V11.4308L11.5756 10.7757Z\"\n fill=\"#fff\"\n fillOpacity=\"0.12\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseRoundFillIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 28 28\">\n <path\n d=\"M13.9987 2.27881C7.55546 2.27881 2.33206 7.50198 2.33206 13.9455C2.33206 20.389 7.55546 25.6121 13.9987 25.6121C20.4422 25.6121 25.6654 20.389 25.6654 13.9455C25.6654 7.50198 20.4422 2.27881 13.9987 2.27881ZM10.4987 9.27881C10.7972 9.27881 11.1095 9.37915 11.3373 9.60665L13.9987 12.2678L16.6599 9.60665C16.8886 9.37915 17.2001 9.27881 17.4987 9.27881C17.7974 9.27881 18.1089 9.37915 18.3376 9.60665C18.7926 10.0628 18.7926 10.8281 18.3376 11.2843L15.6764 13.9455L18.3376 16.6066C18.7926 17.0628 18.7926 17.8281 18.3376 18.2843C17.8814 18.7393 17.1161 18.7393 16.6599 18.2843L13.9987 15.6231L11.3373 18.2843C10.8817 18.7393 10.1158 18.7393 9.66012 18.2843C9.20454 17.8281 9.20454 17.0628 9.66012 16.6066L12.3211 13.9455L9.66012 11.2843C9.20454 10.8281 9.20454 10.0628 9.66012 9.60665C9.88809 9.37915 10.2002 9.27881 10.4987 9.27881Z\"\n fill=\"white\"\n fillOpacity=\"0.54\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SelectedChoicesFillIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 14 14\">\n <path\n d=\"M7.0083 1.16602C10.2299 1.16604 12.8411 3.7775 12.8413 6.99902C12.8413 10.2208 10.23 12.833 7.0083 12.833C3.78667 12.833 1.17529 10.2208 1.17529 6.99902C1.17554 3.77748 3.78682 1.16602 7.0083 1.16602ZM10.396 4.08301C10.222 4.08303 10.0402 4.13922 9.90771 4.26562L5.64111 8.33105L4.09229 6.85449C3.82733 6.6018 3.38148 6.60197 3.11572 6.85449C2.85068 7.10722 2.85068 7.53236 3.11572 7.78516L5.15381 9.72754C5.41881 9.97998 5.86442 9.98002 6.12939 9.72754L10.8843 5.19629C11.1499 4.94355 11.1498 4.51844 10.8843 4.26562C10.7518 4.1392 10.57 4.08301 10.396 4.08301Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PopupUnionIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 78 35\">\n <path\n d=\"M39 0C44.2354 0 49.0005 0.889223 52.5654 3H78C69.0165 3 61.4172 8.92325 58.8926 17.0771C57.8535 27.1467 49.3443 35 39 35C28.6557 35 20.1455 27.1468 19.1064 17.0771C16.5817 8.92339 8.98344 3 0 3H25.4346C28.9995 0.889223 33.7646 0 39 0Z\"\n fill=\"currentColor\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SpotIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM9 7C7.89543 7 7 7.89543 7 9V11C7 12.1046 7.89543 13 9 13H11C12.1046 13 13 12.1046 13 11V9C13 7.89543 12.1046 7 11 7H9Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M18.8034 8.1276C18.7434 7.84577 19.0603 7.62722 19.2756 7.81876C20.9466 9.3053 22.0006 11.4702 22.0006 13.8826C22.0003 18.3657 18.3655 22.0005 13.8824 22.0007C11.4701 22.0007 9.30514 20.9467 7.81859 19.2758C7.62706 19.0605 7.84563 18.7434 8.1275 18.8033C8.73168 18.9317 9.35821 18.9998 10.0006 18.9998C10.1368 18.9997 10.2723 18.9957 10.407 18.9893C10.4716 18.9862 10.5354 19.0036 10.5898 19.0385C11.5405 19.6468 12.6701 20.0007 13.8824 20.0007C17.1555 20.0005 19.8288 17.4294 19.9927 14.197L20.0006 13.8826C20.0006 12.6708 19.6471 11.5414 19.0392 10.591C19.0044 10.5365 18.987 10.4727 18.9901 10.4082C18.9965 10.2728 19.0006 10.1365 19.0006 9.99976C19.0005 9.35761 18.9321 8.73148 18.8034 8.1276Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PerpsIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 20 20\">\n <path\n d=\"M14.3213 2.44141C16.0928 2.44149 17.4989 3.94461 17.499 5.77441V14.1084C17.4989 15.9382 16.0928 17.4413 14.3213 17.4414H5.67578C3.90506 17.4414 2.49919 15.9382 2.49902 14.1084V5.77441C2.49919 3.94456 3.90505 2.44141 5.67578 2.44141H14.3213ZM4.16504 7.44141V14.1084C4.1652 15.0399 4.84838 15.7744 5.67578 15.7744H5.83203V7.44141H4.16504ZM7.49902 7.44141V15.7744H14.3213C15.1495 15.7743 15.8319 15.0398 15.832 14.1084V7.44141H7.49902ZM10.2441 9.41113C10.5696 9.0857 11.0974 9.0857 11.4229 9.41113L13.0889 11.0771C13.4143 11.4026 13.4143 11.9304 13.0889 12.2559L11.4229 13.9229C11.0975 14.2482 10.5696 14.2481 10.2441 13.9229C9.91871 13.5974 9.91873 13.0696 10.2441 12.7441L11.3213 11.667L10.2441 10.5889C9.91889 10.2635 9.91894 9.73654 10.2441 9.41113ZM5.67578 4.1084C4.84838 4.1084 4.1652 4.8429 4.16504 5.77441H15.832C15.8319 4.84296 15.1495 4.10849 14.3213 4.1084H5.67578Z\"\n fill=\"url(#paint0_linear_perps)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_perps\"\n x1=\"17.499\"\n y1=\"9.9414\"\n x2=\"2.49902\"\n y2=\"9.9414\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#59B0FE\" />\n <stop offset=\"1\" stopColor=\"#26FEFE\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\n\nexport function EmptyStateIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"64\"\n height=\"64\"\n fill=\"none\"\n viewBox=\"0 0 64 64\"\n >\n <rect width=\"36\" height=\"48\" x=\"18\" y=\"5\" fill=\"#07080A\" rx=\"4\"></rect>\n <rect\n width=\"36\"\n height=\"48\"\n x=\"11\"\n y=\"12\"\n fill=\"url(#paint0_linear_309_13641)\"\n rx=\"4\"\n ></rect>\n <rect\n width=\"36\"\n height=\"48\"\n x=\"9\"\n y=\"10\"\n fill=\"url(#paint1_linear_309_13641)\"\n rx=\"4\"\n ></rect>\n <path\n fill=\"#303237\"\n d=\"M36.636 53.323V50H6v3.323C6 55.91 7.943 58 10.462 58H41c-2.392 0-4.364-2.168-4.364-4.663\"\n ></path>\n <rect width=\"9\" height=\"2\" x=\"15\" y=\"16\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"16\" height=\"2\" x=\"15\" y=\"24\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"12\" height=\"3\" x=\"28\" y=\"29\" fill=\"#45484E\" rx=\"1.5\"></rect>\n <path\n fill=\"#45484E\"\n d=\"M33 23a2 2 0 012-2h1.5a1.5 1.5 0 010 3H34a1 1 0 01-1-1z\"\n ></path>\n <rect width=\"9\" height=\"3\" x=\"29\" y=\"37\" fill=\"#45484E\" rx=\"1.5\"></rect>\n <rect width=\"13\" height=\"2\" x=\"15\" y=\"30\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"15\" height=\"2\" x=\"15\" y=\"36\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"24\" height=\"2\" x=\"15\" y=\"42\" fill=\"#3F4146\" rx=\"1\"></rect>\n <path\n fill=\"#181A1D\"\n fillRule=\"evenodd\"\n d=\"M27.24 30.022a12.451 12.451 0 1122.195 9.87l5.328 5.328-1.58 1.58-5.241-5.24a12.452 12.452 0 01-20.703-11.537zm14.193 12.39A10.156 10.156 0 1037.47 22.49a10.156 10.156 0 003.963 19.92z\"\n clipRule=\"evenodd\"\n ></path>\n <path\n fill=\"#54565B\"\n fillRule=\"evenodd\"\n d=\"M27.24 29.022a12.451 12.451 0 1122.195 9.87l5.328 5.328-1.58 1.58-5.241-5.24a12.452 12.452 0 01-20.703-11.537zm14.193 12.39A10.156 10.156 0 1037.47 21.49a10.156 10.156 0 003.963 19.92z\"\n clipRule=\"evenodd\"\n ></path>\n <path\n fill=\"#16181B\"\n d=\"M51.755 43.867c-.99.99-.99 2.596 0 3.586l3.754 3.754a2.536 2.536 0 103.586-3.586l-3.754-3.754a2.536 2.536 0 00-3.586 0z\"\n ></path>\n <path\n fill=\"#4E525C\"\n d=\"M51.755 42.867c-.99.99-.99 2.596 0 3.586l3.754 3.754a2.536 2.536 0 103.586-3.586l-3.754-3.754a2.536 2.536 0 00-3.586 0z\"\n ></path>\n <defs>\n <linearGradient\n id=\"paint0_linear_309_13641\"\n x1=\"27.286\"\n x2=\"48.844\"\n y1=\"55.742\"\n y2=\"25.703\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#0C0D10\"></stop>\n <stop offset=\"1\" stopColor=\"#121418\"></stop>\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_309_13641\"\n x1=\"25.286\"\n x2=\"46.844\"\n y1=\"53.742\"\n y2=\"23.703\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1B1D22\"></stop>\n <stop offset=\"1\" stopColor=\"#26292E\"></stop>\n </linearGradient>\n </defs>\n </svg>\n );\n}\n\nexport default EmptyStateIcon;\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\n\nexport const VectorIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n width=\"20\"\n height=\"13\"\n viewBox=\"0 0 20 13\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillOpacity={0.8}\n d=\"M0.999023 0.103516C0.447023 0.103516 -0.000976562 0.551516 -0.000976562 1.10352C-0.000976562 1.65552 0.447023 2.10352 0.999023 2.10352H18.999C19.551 2.10352 19.999 1.65552 19.999 1.10352C19.999 0.551516 19.551 0.103516 18.999 0.103516H0.999023ZM0.999023 5.10352C0.447023 5.10352 -0.000976562 5.55152 -0.000976562 6.10352C-0.000976562 6.65552 0.447023 7.10352 0.999023 7.10352H18.999C19.551 7.10352 19.999 6.65552 19.999 6.10352C19.999 5.55152 19.551 5.10352 18.999 5.10352H0.999023ZM0.999023 10.1035C0.447023 10.1035 -0.000976562 10.5515 -0.000976562 11.1035C-0.000976562 11.6555 0.447023 12.1035 0.999023 12.1035H18.999C19.551 12.1035 19.999 11.6555 19.999 11.1035C19.999 10.5515 19.551 10.1035 18.999 10.1035H0.999023Z\"\n fill=\"white\"\n />\n </svg>\n );\n },\n);\n\nVectorIcon.displayName = \"VectorIcon\";\n","export const SwapHorizIcon = () => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <mask\n id=\"mask0_2321_5422\"\n style={{ maskType: \"alpha\" }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width=\"20\"\n height=\"20\"\n >\n <rect width=\"20\" height=\"20\" fill=\"#D9D9D9\" />\n </mask>\n <g mask=\"url(#mask0_2321_5422)\">\n <path\n d=\"M6 16.5L2 12.5L6 8.5L7.0625 9.5625L4.875 11.75H11V13.25H4.875L7.0625 15.4375L6 16.5ZM14 11.5L12.9375 10.4375L15.125 8.25H9V6.75H15.125L12.9375 4.5625L14 3.5L18 7.5L14 11.5Z\"\n fill=\"white\"\n fillOpacity=\"0.54\"\n />\n </g>\n </svg>\n );\n};\n","export const PeopleIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.499 2.92969C13.0137 2.92969 10.999 4.94469 10.999 7.42969C10.999 9.91469 13.0137 11.9297 15.499 11.9297C17.9843 11.9297 19.999 9.91469 19.999 7.42969C19.999 4.94469 17.9843 2.92969 15.499 2.92969ZM7.99902 3.92969C5.78992 3.92969 3.99902 5.72069 3.99902 7.92969C3.99902 10.1387 5.78992 11.9297 7.99902 11.9297C8.82842 11.9297 9.61402 11.6767 10.2802 11.2107C10.7329 10.8947 10.8466 10.2577 10.5302 9.80469C10.2138 9.35169 9.60792 9.26969 9.15522 9.58569C8.82232 9.81869 8.41522 9.92969 7.99902 9.92969C6.89442 9.92969 5.99902 9.03469 5.99902 7.92969C5.99902 6.82469 6.89442 5.92969 7.99902 5.92969C8.32522 5.92969 8.62362 6.00168 8.90522 6.14868C9.39522 6.40368 10.0254 6.2317 10.2802 5.7417C10.5351 5.2527 10.3327 4.62168 9.84282 4.36768C9.27772 4.07368 8.64842 3.92969 7.99902 3.92969ZM15.499 4.92969C16.8797 4.92969 17.999 6.04869 17.999 7.42969C17.999 8.81069 16.8797 9.92969 15.499 9.92969C14.1183 9.92969 12.999 8.81069 12.999 7.42969C12.999 6.04869 14.1183 4.92969 15.499 4.92969ZM5.06152 13.2737C3.22742 14.0307 1.99902 15.8857 1.99902 17.9297V19.9297C1.99902 20.4817 2.44672 20.9297 2.99902 20.9297H6.99902C7.55132 20.9297 7.99902 20.4817 7.99902 19.9297C7.99902 19.3777 7.55132 18.9297 6.99902 18.9297H3.99902V17.9297C3.99902 16.8057 4.66572 15.7737 5.43202 15.3197C6.15272 15.6237 6.91512 15.8537 7.59312 15.9107C8.14352 15.9577 8.63982 15.5427 8.68652 14.9917C8.73322 14.4417 8.33552 13.9757 7.78522 13.9287C7.34622 13.8917 6.86642 13.7597 6.31152 13.5237C6.17752 13.4667 6.09972 13.4217 5.84282 13.3047C5.59092 13.1897 5.31732 13.1677 5.06152 13.2737ZM12.0615 13.2737C10.2274 14.0307 8.99902 15.8857 8.99902 17.9297V19.9297C8.99902 20.4817 9.44672 20.9297 9.99902 20.9297H20.999C21.5513 20.9297 21.999 20.4817 21.999 19.9297V17.9297C21.999 15.9337 20.7638 14.1237 18.9365 13.3357C18.6793 13.2247 18.3796 13.2217 18.124 13.3357C17.2392 13.7327 16.3772 13.9297 15.499 13.9297C14.6238 13.9297 13.7588 13.7217 12.8428 13.3047C12.5909 13.1897 12.3173 13.1677 12.0615 13.2737ZM12.446 15.3197C13.3908 15.6777 14.5299 15.9297 15.499 15.9297C16.4605 15.9297 17.5525 15.6947 18.4782 15.3527C19.3808 15.8667 19.999 16.8287 19.999 17.9297V18.9297H10.999V17.9297C10.999 16.7647 11.6549 15.7827 12.446 15.3197Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","export const PersonIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.998 1.95312C9.23665 1.95312 6.99805 4.19172 6.99805 6.95312C6.99805 9.71452 9.23665 11.9531 11.998 11.9531C14.7594 11.9531 16.998 9.71452 16.998 6.95312C16.998 4.19172 14.7594 1.95312 11.998 1.95312ZM11.998 3.95312C13.6549 3.95312 14.998 5.29622 14.998 6.95312C14.998 8.61002 13.6549 9.95312 11.998 9.95312C10.3411 9.95312 8.99805 8.61002 8.99805 6.95312C8.99805 5.29622 10.3411 3.95312 11.998 3.95312ZM8.46685 13.2656C5.85255 13.9801 3.99805 16.2533 3.99805 18.9531V20.9531C3.99805 21.5054 4.44575 21.9531 4.99805 21.9531H18.998C19.5503 21.9531 19.998 21.5054 19.998 20.9531V18.9531C19.998 16.2533 18.1435 13.9801 15.5292 13.2656C15.3051 13.2043 15.0849 13.2326 14.873 13.3281C13.9575 13.7407 12.9829 13.9531 11.998 13.9531C11.0131 13.9531 10.0385 13.7407 9.12305 13.3281C8.91115 13.2326 8.69095 13.2043 8.46685 13.2656ZM8.87305 15.2656C9.88285 15.6475 10.9177 15.9531 11.998 15.9531C13.0783 15.9531 14.1132 15.6475 15.123 15.2656C16.8264 15.7816 17.998 17.2195 17.998 18.9531V19.9531H5.99805V18.9531C5.99805 17.2195 7.16965 15.7816 8.87305 15.2656Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SettingFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.968 2.456a9.669 9.669 0 0 0-3.72 2.187c-.332.31-.434.818-.218 1.219.8 1.48-.037 3.065-1.843 3.156-.443.023-.834.35-.938.78a8.712 8.712 0 0 0-.25 2.188c0 .688.074 1.464.219 2.156.09.433.466.744.906.783 1.818.156 2.718 1.543 1.906 3.311-.18.393-.098.863.219 1.156 1.062.983 2.282 1.675 3.719 2.125.41.13.873-.026 1.125-.375 1.112-1.537 2.725-1.543 3.78 0 .25.364.706.54 1.126.407a10.072 10.072 0 0 0 3.75-2.157c.33-.3.417-.787.219-1.186-.832-1.68.125-3.221 1.843-3.25.456-.008.862-.308.969-.75.173-.717.219-1.342.219-2.22 0-.754-.09-1.497-.25-2.218a.994.994 0 0 0-.97-.781c-1.69-.003-2.638-1.665-1.811-3.125a.979.979 0 0 0-.188-1.22 10.153 10.153 0 0 0-3.812-2.186.986.986 0 0 0-1.125.406c-.966 1.5-2.77 1.527-3.72.03-.242-.382-.723-.574-1.155-.436Zm3.03 5.53a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nSettingFillIcon.displayName = \"SettingFillIcon\";\n","import { FC, SVGProps } from \"react\";\n\nexport const TradingLeftNavIcon: FC<SVGProps<SVGSVGElement>> = (props) => {\n const { width = 24, height = 24, opacity = 0.54, ...rest } = props;\n return (\n <svg\n width={`${width}px`}\n height={`${height}px`}\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <path\n d=\"M5.426 1.66663C5.24175 1.67715 4.98875 1.75081 4.85308 1.85868C4.80817 1.89464 4.67798 2.0148 4.65323 2.05076L1.02049 7.28121C0.892158 7.44872 0.833496 7.67235 0.833496 7.80916C0.833496 8.18539 1.09108 8.41167 1.09108 8.41167L9.28423 18.0043C9.28973 18.0113 9.58307 18.3393 10.0002 18.3332C10.4172 18.3262 10.7106 18.0113 10.7161 18.0043C10.9718 17.7053 18.9404 8.37835 18.9404 8.37835C18.9404 8.37835 19.1668 8.08015 19.1668 7.80916C19.1668 7.53729 18.9486 7.23472 18.9486 7.23472L15.3571 2.05338C15.3315 2.01742 15.2728 2.0297 15.2426 1.99901C15.2059 1.95691 15.2013 1.89728 15.1564 1.86132C15.0207 1.75345 14.8603 1.74292 14.6981 1.7245C14.6541 1.71836 14.6284 1.67013 14.5835 1.67013H14.4973L5.426 1.66663ZM7.36474 3.42414H12.6356L10.0002 6.43841L7.36474 3.42414ZM5.50299 4.02664L8.05224 6.93216H3.46891L5.50299 4.02664ZM14.4973 4.02664L16.5314 6.93216H11.9481L14.4973 4.02664ZM3.69808 8.68616H9.08349V14.9892L3.69808 8.68616ZM10.9168 8.68616H16.3022C15.0235 10.1806 12.4999 13.1387 10.9168 14.9892V8.68616Z\"\n fill=\"white\"\n fillOpacity={opacity}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const VaultsIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path d=\"M13.333 3.33334C13.333 2.96515 13.0345 2.66668 12.6663 2.66668H3.33301C2.96482 2.66668 2.66634 2.96515 2.66634 3.33334V9.33334C2.66634 9.70153 2.96482 10 3.33301 10H12.6663C13.0345 10 13.333 9.70153 13.333 9.33334V3.33334ZM14.6663 9.33334C14.6663 10.4379 13.7709 11.3333 12.6663 11.3333H3.33301C2.22844 11.3333 1.33301 10.4379 1.33301 9.33334V3.33334C1.33301 2.22877 2.22844 1.33334 3.33301 1.33334H12.6663C13.7709 1.33334 14.6663 2.22877 14.6663 3.33334V9.33334Z\" />\n <path d=\"M4.66699 13.3333C4.66699 12.9651 4.96547 12.6667 5.33366 12.6667H10.667C11.0352 12.6667 11.3337 12.9651 11.3337 13.3333C11.3337 13.7015 11.0352 14 10.667 14H5.33366C4.96547 14 4.66699 13.7015 4.66699 13.3333Z\" />\n <path d=\"M10.1859 4.20509C10.4408 3.93953 10.8629 3.93072 11.1286 4.18556C11.3941 4.44049 11.4029 4.86265 11.1481 5.12827L8.48143 7.90626C8.35571 8.03721 8.18184 8.11134 8.00031 8.11134C7.81878 8.11134 7.6449 8.03721 7.51919 7.90626L6.93325 7.29558L5.81476 8.4616C5.55982 8.72716 5.13767 8.73597 4.87205 8.48113C4.60649 8.2262 4.59768 7.80404 4.85252 7.53842L6.45278 5.87176L6.50226 5.82553C6.6222 5.72363 6.77506 5.66668 6.9339 5.66668C7.11531 5.66675 7.28872 5.74089 7.41437 5.87176L7.99965 6.48178L10.1859 4.20509Z\" />\n </svg>\n );\n },\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n VaultsIcon.displayName = \"VaultsIcon\";\n}\n","import { forwardRef } from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const LeftNavVaultsIcon = forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path\n d=\"M20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V14C4 14.5523 4.44772 15 5 15H19C19.5523 15 20 14.5523 20 14V5ZM22 14C22 15.6569 20.6569 17 19 17H5C3.34315 17 2 15.6569 2 14V5C2 3.34315 3.34315 2 5 2H19C20.6569 2 22 3.34315 22 5V14Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M7 20C7 19.4477 7.44772 19 8 19H16C16.5523 19 17 19.4477 17 20C17 20.5523 16.5523 21 16 21H8C7.44772 21 7 20.5523 7 20Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M15.2783 6.30759C15.6607 5.90925 16.2939 5.89604 16.6924 6.27829C17.0907 6.66069 17.1039 7.29393 16.7217 7.69235L12.7217 11.8593C12.5331 12.0558 12.2723 12.167 12 12.167C11.7277 12.167 11.4669 12.0558 11.2783 11.8593L10.3994 10.9433L8.72165 12.6924C8.33925 13.0907 7.70601 13.1039 7.30759 12.7217C6.90925 12.3392 6.89604 11.706 7.27829 11.3076L9.67868 8.80759L9.7529 8.73825C9.93282 8.5854 10.1621 8.49997 10.4004 8.49997C10.6725 8.50008 10.9326 8.61129 11.1211 8.80759L11.999 9.72263L15.2783 6.30759Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </svg>\n );\n },\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n LeftNavVaultsIcon.displayName = \"LeftNavVaultsIcon\";\n}\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const NewsFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12 2.75a1 1 0 0 1 1 1v1a5 5 0 0 1 5 5v5c0 .577.245 1.098.637 1.463.606.565 1.363 1.21 1.363 2.037a1.5 1.5 0 0 1-1.5 1.5h-4.05q.049.243.05.5a2.5 2.5 0 1 1-4.95-.5H5.5a1.5 1.5 0 0 1-1.5-1.5c0-.828.757-1.472 1.363-2.037.392-.365.637-.886.637-1.463v-5a5 5 0 0 1 5-5v-1a1 1 0 0 1 1-1m-1.146 17a1.25 1.25 0 1 0 2.292 0z\"\n />\n </BaseIcon>\n );\n },\n);\n\nNewsFillIcon.displayName = \"NewsFillIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const BellIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M9.992 1.666c-2.96 0-5 2.04-5 5v1.666c0 .269-.135.451-.599.834l-.338.286C3 10.324 2.481 11.141 2.492 12.5a2.53 2.53 0 0 0 2.5 2.5H7.64s-.147.51-.147.833a2.5 2.5 0 1 0 5 0c0-.324-.14-.833-.14-.833h2.64a2.506 2.506 0 0 0 2.5-2.5c-.001-1.348-.521-2.179-1.562-3.047-.068-.057-.31-.241-.365-.286-.453-.379-.572-.569-.572-.834V6.666c0-2.96-2.04-5-5-5m0 1.666c2.04 0 3.334 1.294 3.334 3.334v1.666c0 .885.373 1.444 1.172 2.11.063.052.33.262.39.312.699.583.937.977.938 1.745a.846.846 0 0 1-.834.833h-5c-2.416.001-4.822.002-5 0a.835.835 0 0 1-.833-.833c-.006-.767.232-1.162.938-1.745.057-.047.304-.262.364-.312.811-.67 1.198-1.216 1.198-2.11V6.666c0-2.04 1.294-3.334 3.333-3.334m0 11.667a.834.834 0 1 1 0 1.667.834.834 0 0 1 0-1.667\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nBellIcon.displayName = \"BellIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const WoofiStakeIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 18 19\">\n <path\n d=\"M14.4333 15.5449L13.5283 13.3949C13.3283 12.8099 12.8233 12.5149 12.2183 12.5149C11.6133 12.5149 11.1083 12.9049 10.9083 13.3949L9.89825 15.5449L8.38825 10.7549H6.47325L8.69325 17.6949C8.79325 17.9899 8.99325 18.1849 9.29825 18.1849H10.4083C10.7083 18.1849 10.9133 17.9899 11.0133 17.7949L12.1233 15.0599L13.3333 17.7949C13.4333 17.9899 13.6333 18.1849 13.9383 18.1849H14.9483C15.2483 18.1849 15.4532 17.9899 15.5533 17.7949L16.5633 14.4699H14.7483L14.4333 15.5449Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M15.9433 10.76L15.0333 13.495H16.9483L17.7583 10.76H15.9433Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M1.83325 15.14C1.20325 12.355 2.59325 10.06 3.48825 8.935C4.96325 7.075 7.07825 5.82 8.75325 5.82C11.3283 5.82 13.2983 8.19 14.1833 9.475H16.1533C15.9683 9.13 14.3183 6.2 11.5783 4.84C12.7233 3.945 13.3283 2.58 13.5033 1.34C13.5533 1.005 13.4533 0.665 13.2283 0.405C12.9983 0.15 12.6733 0 12.3283 0H4.69825C4.32325 0 3.97325 0.18 3.74825 0.475C3.52825 0.775 3.45825 1.16 3.56325 1.52C3.76325 2.19 4.39325 3.865 5.79325 4.915C4.47825 5.565 3.19825 6.6 2.17325 7.895C0.298253 10.26 -0.396748 12.995 0.218252 15.59L0.258252 15.71C1.21825 18.095 4.14825 18.48 5.96325 18.48C6.67325 18.48 7.20825 18.42 7.38825 18.395L6.86825 16.765C5.81325 16.85 2.62325 16.94 1.83325 15.14ZM11.7283 1.67C11.4633 2.63 10.6983 4.145 8.55825 4.145C6.75825 4.145 5.82825 2.71 5.39325 1.67H11.7283Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EarnIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 19C13.866 19 17 15.866 17 12C17 8.13401 13.866 5 10 5C6.13401 5 3 8.13401 3 12C3 15.866 6.13401 19 10 19ZM10 21C14.9706 21 19 16.9706 19 12C19 7.02944 14.9706 3 10 3C5.02944 3 1 7.02944 1 12C1 16.9706 5.02944 21 10 21Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M10 7C10.5523 7 11 7.44772 11 8H12C12.5523 8 13 8.44772 13 9C13 9.55228 12.5523 10 12 10H9V11H12C12.5523 11 13 11.4477 13 12V15C13 15.5523 12.5523 16 12 16H11C11 16.5523 10.5523 17 10 17C9.44772 17 9 16.5523 9 16H8C7.44772 16 7 15.5523 7 15C7 14.4477 7.44772 14 8 14H11V13H8C7.44772 13 7 12.5523 7 12V9C7 8.44772 7.44772 8 8 8H9C9 7.44772 9.44772 7 10 7Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M15.6203 3.72962C15.3518 3.54661 15.4854 3.11807 15.8039 3.18284C19.9099 4.01795 22.9999 7.64751 22.9999 12.0002C22.9998 16.3529 19.9099 19.9825 15.8039 20.8176C15.4854 20.8824 15.3518 20.4538 15.6203 20.2708C16.6993 19.5353 17.6263 18.5936 18.3466 17.5031C18.3641 17.4767 18.3855 17.4531 18.4101 17.4331C19.9893 16.1497 20.9998 14.1938 20.9999 12.0002C20.9999 9.80647 19.9896 7.84985 18.4101 6.56641C18.3855 6.54643 18.3641 6.52284 18.3466 6.49641C17.6263 5.40614 16.6993 4.46488 15.6203 3.72962Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ReferralSolidIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M14.7002 3C16.6882 3.00011 18.2996 4.61163 18.2998 6.59961V7.91797L19.3965 8.64941C20.3979 9.317 20.9998 10.441 21 11.6445V17.4004C20.9998 19.3883 19.3883 20.9998 17.4004 21H6.59961C4.6117 20.9998 3.00021 19.3883 3 17.4004V11.6445C3.00016 10.441 3.60213 9.317 4.60352 8.64941L5.7002 7.91797V6.59961C5.7004 4.61163 7.3118 3.00011 9.2998 3H14.7002ZM13.1055 17.6807C12.4555 18.1862 11.5445 18.1862 10.8945 17.6807L4.7998 12.9395V17.4004C4.80001 18.3942 5.60581 19.2 6.59961 19.2002H17.4004C18.3942 19.2 19.2 18.3942 19.2002 17.4004V12.9395L13.1055 17.6807ZM9.2998 4.7998C8.30591 4.79991 7.50021 5.60574 7.5 6.59961V12.7598L12 16.2598L16.5 12.7598V6.59961C16.4998 5.60574 15.6941 4.79991 14.7002 4.7998H9.2998ZM12.1553 7.9541C12.7383 7.34613 13.6825 7.34927 14.2627 7.96094C14.846 8.57618 14.8462 9.57015 14.2627 10.1846L12.2412 12.3447L12.2363 12.3486C12.1031 12.4849 11.8896 12.4835 11.7588 12.3447L9.7373 10.1846C9.15379 9.56947 9.15402 8.5755 9.7373 7.96094L9.74316 7.95508C10.3262 7.34618 11.2703 7.34919 11.8506 7.96094L11.999 8.11816L12.1484 7.96094L12.1553 7.9541ZM5.60156 10.1475C5.34425 10.319 5.13998 10.5509 5.00195 10.8174L5.7002 11.3594V10.0811L5.60156 10.1475ZM18.2998 11.3594L18.9971 10.8174C18.859 10.551 18.6556 10.3189 18.3984 10.1475L18.2998 10.0811V11.3594Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { forwardRef, SVGProps } from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const AddCircleIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { className, opacity = 0.54, ...rest } = props;\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n opacity={opacity}\n className={className}\n ref={ref}\n {...rest}\n >\n <path\n d=\"M8.47 4.669c.12.12.205.287.205.471v2.15h2.151c.184.001.35.087.471.207a.68.68 0 0 1 .207.472c0 .368-.31.677-.678.678h-2.15v2.15c0 .368-.31.678-.678.678a.687.687 0 0 1-.678-.678v-2.15H5.17a.686.686 0 0 1-.679-.678c0-.368.31-.678.678-.678h2.15V5.14a.687.687 0 0 1 .679-.678c.184 0 .35.085.471.206\"\n fill=\"currentColor\"\n />\n <path\n d=\"M7.999 1.333a6.667 6.667 0 1 0 0 13.333 6.667 6.667 0 0 0 0-13.333m0 1.333a5.334 5.334 0 1 1 0 10.667 5.334 5.334 0 0 1 0-10.667\"\n fill=\"currentColor\"\n />\n </svg>\n );\n },\n);\n\nAddCircleIcon.displayName = \"AddCircleIcon\";\n\nexport default AddCircleIcon;\n","import { BaseIcon } from \"./baseIcon\";\nimport { CombineIcon } from \"./combine\";\n\nexport type { BaseIconProps } from \"./baseIcon\";\nexport { CloseIcon } from \"./close\";\nexport { CheckIcon } from \"./check\";\nexport { ChevronDownIcon } from \"./chevronDown\";\nexport { ChevronUpIcon } from \"./chevronUp\";\nexport { CaretUpIcon } from \"./caretUp\";\nexport { CaretDownIcon } from \"./caretDown\";\nexport { CaretLeftIcon } from \"./caretLeft\";\nexport { CaretRightIcon } from \"./caretRight\";\nexport { ChevronLeftIcon } from \"./chevronLeft\";\nexport { ChevronRightIcon } from \"./chevronRight\";\nexport { CalendarMinusIcon } from \"./calendarMinus\";\nexport { SettingIcon } from \"./setting\";\nexport { CloseSquareFillIcon } from \"./closeSquareFill\";\nexport { CloseCircleFillIcon } from \"./closeCircleFill\";\nexport { CheckedCircleFillIcon } from \"./checkCircleFill\";\nexport { CheckedSquareFillIcon } from \"./checkSquareFill\";\nexport { CheckSquareEmptyIcon } from \"./checkSquareEmpty\";\nexport { PlusIcon } from \"./plus\";\nexport { ReduceIcon } from \"./reduce\";\nexport { CircleOutlinedIcon } from \"./circleOutlined\";\nexport { SquareOutlinedIcon } from \"./squareOutlined\";\nexport { ExclamationFillIcon } from \"./exclamationFill\";\nexport { QuestionFillIcon } from \"./questionFill\";\nexport { ArrowLeftRightIcon } from \"./arrowLeftRight\";\nexport { ArrowDownUpIcon } from \"./arrowDownUp\";\nexport { ArrowUpSquareFillIcon } from \"./arrowUpSquareFill\";\nexport { ArrowDownSquareFillIcon } from \"./arrowDownSquareFill\";\nexport { ArrowLeftRightSquareFill } from \"./arrowLeftRightSquareFill\";\nexport { ArrowRightUpSquareFillIcon } from \"./arrowRightUpSquareFill\";\nexport { AssetIcon } from \"./assetIcon\";\nexport { BarChartIcon } from \"./barChartIcon\";\nexport { BattleIcon } from \"./battleIcon\";\nexport { BattleActiveIcon } from \"./battleActiveIcon\";\nexport { BattleInactiveIcon } from \"./battleInactiveIcon\";\nexport { BattleSolidActiveIcon } from \"./battleSolidActiveIcon\";\nexport { BattleSolidInactiveIcon } from \"./battleSolidInactiveIcon\";\nexport { FeeTierIcon } from \"./feeTier\";\nexport { EarnActiveIcon } from \"./earnActiveIcon\";\nexport { EarnInactiveIcon } from \"./earnInactiveIcon\";\nexport { EditIcon } from \"./edit\";\nexport { EyeIcon } from \"./eye\";\nexport { ShareIcon } from \"./share\";\nexport { EyeCloseIcon } from \"./eyeClose\";\nexport { RefreshIcon } from \"./refresh\";\nexport { OrderlyIcon } from \"./orderly\";\nexport { EsOrderlyIcon } from \"./esOrderly\";\nexport { InfoCircleIcon } from \"./infoCircle\";\n\nexport { TokenIcon } from \"./tokenIcon\";\nexport { ChainIcon } from \"./chainIcon\";\nexport { WalletIcon } from \"./walletIcon\";\nexport { CalendarIcon } from \"./calendar\";\nexport { CopyIcon } from \"./copy\";\nexport { ServerFillIcon } from \"./serverFill\";\nexport { SortingAscIcon } from \"./sortingASCIcon\";\nexport { SortingDescIcon } from \"./sortingDESCIcon\";\nexport {\n ArrowUpShortIcon,\n ArrowDownShortIcon,\n ArrowLeftShortIcon,\n ArrowRightShortIcon,\n} from \"./arrowShort\";\n\nexport { SortingIcon } from \"./sortingIcon\";\nexport { TraderMobileIcon } from \"./traderMobileIcon\";\nexport { AffiliateIcon } from \"./affiliateIcon\";\nexport { TradingRewardsIcon } from \"./tradingRewardsIcon\";\nexport { PortfolioActiveIcon } from \"./portfolioActiveIcon\";\nexport { PortfolioInactiveIcon } from \"./portfolioInactiveIcon\";\nexport { TradingActiveIcon } from \"./tradingActiveIcon\";\nexport { TradingIcon } from \"./tradingIcon\";\nexport { TradingInactiveIcon } from \"./tradingInactiveIcon\";\nexport { LeaderboardActiveIcon } from \"./leaderboardActive\";\nexport { LeaderboardInactiveIcon } from \"./leaderboardInactive\";\nexport { MarketsActiveIcon } from \"./marketsActiveIcon\";\nexport { MarketsInactiveIcon } from \"./marketsInactiveIcon\";\nexport { StarChildChatActiveIcon } from \"./starChildChatActiveIcon\";\nexport { StarChildChatInactiveIcon } from \"./starChildChatInactiveIcon\";\nexport { CloseRoundFillIcon } from \"./closeRoundFill\";\nexport { SelectedChoicesFillIcon } from \"./selectedChoicesFill\";\nexport { PopupUnionIcon } from \"./popupUnion\";\nexport { SpotIcon } from \"./spotIcon\";\nexport { PerpsIcon } from \"./perpsIcon\";\nexport { EmptyStateIcon } from \"./emptyData\";\nexport { VectorIcon } from \"./vectorIcon\";\nexport { SwapHorizIcon } from \"./swapHoriz\";\nexport { PeopleIcon } from \"./peopleIcon\";\nexport { PersonIcon } from \"./personIcon\";\nexport { SettingFillIcon } from \"./settingFill\";\nexport { TradingLeftNavIcon } from \"./tradingLeftNavIcon\";\nexport { VaultsIcon } from \"./vaultsIcon\";\nexport { LeftNavVaultsIcon } from \"./leftNavVaultsIcon\";\nexport { NewsFillIcon } from \"./newsFill\";\nexport { BellIcon } from \"./bellIcon\";\nexport { WoofiStakeIcon } from \"./woofiStakeIcon\";\nexport { EarnIcon } from \"./earnIcon\";\nexport { ReferralSolidIcon } from \"./referralSolidIcon\";\nexport { AddCircleIcon } from \"./addCircle\";\n\ntype IconType = typeof BaseIcon & {\n combine: typeof CombineIcon;\n};\n\nconst Icon = BaseIcon as IconType;\nIcon.combine = CombineIcon;\n\nexport { Icon };\n\nexport type { IconType };\n","import { tv } from \"../utils/tv\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport React, { MouseEventHandler } from \"react\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst textVariants = tv({\n variants: {\n size: {\n \"3xs\": [\"oui-text-3xs\"],\n \"2xs\": [\"oui-text-2xs\"],\n xs: [\"oui-text-xs\"],\n sm: [\"oui-text-sm\"],\n base: [\"oui-text-base\"],\n lg: [\"oui-text-lg\"],\n xl: [\"oui-text-xl\"],\n \"2xl\": [\"oui-text-2xl\"],\n \"3xl\": [\"oui-text-3xl\"],\n \"4xl\": [\"oui-text-4xl\"],\n \"5xl\": [\"oui-text-5xl\"],\n \"6xl\": [\"oui-text-6xl\"],\n },\n weight: {\n regular: [\"oui-font-normal\"],\n semibold: [\"oui-font-semibold\"],\n bold: [\"oui-font-bold\"],\n },\n color: {\n inherit: \"oui-text-inherit\",\n neutral: \"oui-text-base-contrast-54\",\n primary: \"oui-text-primary\",\n primaryLight: \"oui-text-primary-light\",\n secondary: \"oui-text-secondary\",\n tertiary: \"oui-text-tertiary\",\n // quaternary: \"oui-text-gray-300\",\n warning: \"oui-text-warning-darken\",\n danger: \"oui-text-danger\",\n success: \"oui-text-success\",\n buy: \"oui-text-trade-profit\",\n sell: \"oui-text-trade-loss\",\n lose: \"oui-text-trade-loss\",\n withdraw: \"oui-text-trade-loss\",\n profit: \"oui-text-trade-profit\",\n deposit: \"oui-text-trade-profit\",\n // gradient\n },\n intensity: {\n 12: \"oui-text-base-contrast-12\",\n 20: \"oui-text-base-contrast-20\",\n 36: \"oui-text-base-contrast-36\",\n 54: \"oui-text-base-contrast-54\",\n 80: \"oui-text-base-contrast-80\",\n 98: \"oui-text-base-contrast\",\n },\n dashBoard: {\n default: \"oui-border-b oui-border-dashed oui-border-base-contrast-12\",\n },\n },\n});\n\nexport type TextElement = React.ElementRef<\"span\">;\n\ninterface BasicTextProps extends VariantProps<typeof textVariants> {\n asChild?: boolean;\n}\n\ninterface CopyableTextProps extends BasicTextProps {\n /**\n * If true, the text will be copied when clicked.\n */\n copyable?: boolean;\n /**\n * Callback when the text is copied.\n */\n onCopy?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n /** default is 12 */\n copyIconSize?: number;\n copyIconTestid?: string;\n}\n\ntype TextSpanProps = { as?: \"span\" } & ComponentPropsWithout<\n \"span\",\n RemovedProps\n>;\ntype TextDivProps = { as: \"div\" } & ComponentPropsWithout<\"div\", RemovedProps>;\ntype TextLabelProps = { as: \"label\" } & ComponentPropsWithout<\n \"label\",\n RemovedProps\n>;\ntype TextPProps = { as: \"p\" } & ComponentPropsWithout<\"p\", RemovedProps>;\ntype TextProps = BasicTextProps &\n (TextSpanProps | TextDivProps | TextLabelProps | TextPProps);\n\nconst Text = React.forwardRef<TextElement, TextProps>((props, forwardedRef) => {\n const {\n children,\n className,\n asChild,\n as: Tag = \"span\",\n color,\n size,\n weight,\n intensity,\n ...textProps\n } = props;\n return (\n <Slot\n data-accent-color={color}\n {...textProps}\n ref={forwardedRef}\n className={textVariants({\n className,\n color,\n size,\n weight,\n intensity,\n })}\n >\n {asChild ? children : <Tag>{children}</Tag>}\n </Slot>\n );\n});\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\nexport type { TextProps, CopyableTextProps };\n","import {\n Decimal,\n commify,\n getPrecisionByNumber,\n numberToHumanStyle,\n todpIfNeed,\n} from \"@kodiak-finance/orderly-utils\";\n\nexport type RoundingMode = number | \"truncate\";\n\nexport const parseNumber = (\n value: number | string,\n options: {\n rule?: \"percentages\" | \"price\" | \"human\";\n dp?: number;\n\n tick?: number;\n rm?: RoundingMode;\n padding?: boolean;\n\n abs?: boolean;\n } = {},\n): string => {\n let {\n rule,\n dp,\n tick,\n rm = Decimal.ROUND_DOWN,\n padding = true,\n abs,\n } = options;\n\n if (Number.isNaN(value)) {\n return \"--\";\n }\n\n dp = dp != null ? dp : tick ? getPrecisionByNumber(tick) : 2;\n\n if (rule === \"human\") {\n return numberToHumanStyle(\n typeof value === \"number\" ? value : Number(value),\n dp,\n // { padding }\n );\n }\n\n let d = new Decimal(value);\n\n if (abs) {\n d = d.abs();\n }\n\n if (rule === \"percentages\") {\n // return `${d.mul(100).toFixed(2)}%`;\n return rounding(d.mul(100), { dp, rm, padding }) + \"%\";\n }\n const truncatedNum = rounding(d, { dp, rm, padding });\n\n // if (truncate === \"round\") {\n // if (padding) {\n // truncatedNum = d.toFixed(dp, Decimal.ROUND_HALF_EVEN);\n // } else {\n // truncatedNum = d.todp(dp, Decimal.ROUND_HALF_EVEN).toString();\n // }\n // } else {\n // if (padding) {\n // truncatedNum = d.toFixed(dp);\n // } else {\n // truncatedNum = d.todp(dp).toString();\n // }\n // }\n\n if (rule === \"price\") {\n return commify(truncatedNum);\n }\n\n if (truncatedNum?.includes(\"e\")) {\n // If dp is omitted, the return value will be unrounded and in normal notation.\n // https://mikemcl.github.io/decimal.js/#toFixed\n return new Decimal(truncatedNum)?.toFixed();\n }\n\n return truncatedNum;\n};\n\nfunction rounding(\n d: Decimal,\n options: { dp: number; rm: RoundingMode; padding: boolean },\n): string {\n const { dp, rm, padding } = options;\n\n if (rm === \"truncate\") {\n return todpIfNeed(d.toString(), dp);\n }\n\n if (padding) {\n return d.toFixed(dp, rm);\n }\n\n return d.todp(dp, rm).toString();\n}\n\nexport const NumberReg = /^([0-9]{1,}[.]?[0-9]*)/;\n\nexport function formatAddress(address: string, range?: [number, number]) {\n if (address === undefined || address === null) {\n return \"\";\n }\n const [start, end] = range ?? [6, 4];\n const reg = new RegExp(`^(.{${start}})(.*)(.{${end}})$`);\n return `${address.replace(reg, \"$1...$3\")}`;\n}\n","import React, { CSSProperties } from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { parseAngleProps } from \"../helpers/parse-props\";\nimport { tv } from \"../utils/tv\";\nimport { textVariants, type TextProps, Text } from \"./text\";\n\nconst gradientTextVariants = tv({\n // extend: textVariants,\n base: \"oui-text-transparent oui-bg-clip-text\",\n variants: {\n color: {\n primary: \"oui-gradient-primary\",\n brand: \"oui-gradient-brand\",\n success: \"oui-gradient-success\",\n warning: \"oui-gradient-warning\",\n danger: \"oui-gradient-danger\",\n neutral: \"oui-gradient-neutral\",\n // transparent: \"oui-gradient-transparent\",\n inherit: \"oui-text-inherit\",\n },\n },\n});\n\ntype GradientTextProps = Omit<TextProps, \"color\"> &\n VariantProps<typeof gradientTextVariants> & {\n /**\n * Angle of the gradient\n */\n angle?: number;\n };\n\nconst GradientText = React.forwardRef<\n React.ElementRef<\"span\">,\n GradientTextProps\n>((props, ref) => {\n const { color, className, angle, ...rest } = props;\n const style = parseAngleProps({ angle });\n return (\n // @ts-ignore\n <Text\n {...rest}\n ref={ref}\n className={gradientTextVariants({ color, className })}\n style={style as CSSProperties}\n />\n );\n});\n\nexport { gradientTextVariants, GradientText };\n\nGradientText.displayName = \"GradientText\";\n","import { formatNum } from \"@kodiak-finance/orderly-utils\";\nimport { Numeral, NumeralProps } from \"./numeral\";\n\ntype NumTypeProps = Omit<NumeralProps, \"ignoreDP\" | \"rm\" | \"tick\"> & {\n numType: \"roi\" | \"pnl\" | \"notional\" | \"assetValue\" | \"collateral\";\n};\n\ntype NumTypeComponentProps = Omit<NumTypeProps, \"numType\">;\n\nconst NumType: React.FC<NumTypeProps> = (props) => {\n const { numType, dp = 2, children, ...rest } = props;\n\n const renderChild = () => {\n switch (numType) {\n case \"roi\":\n return formatNum\n .roi(children, props.rule === \"percentages\" ? 4 : 2)\n ?.toString();\n case \"pnl\":\n return formatNum.pnl(children);\n case \"notional\":\n return formatNum.notional(children);\n case \"assetValue\":\n return formatNum.assetValue(children);\n case \"collateral\":\n return formatNum.collateral(children);\n }\n };\n\n return (\n <Numeral dp={dp} rm={undefined} tick={undefined} {...(rest as any)}>\n {renderChild() ?? \"--\"}\n </Numeral>\n );\n};\n\nexport const NumTypeRoi: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"roi\" />;\n};\n\nexport const NumTypePnl: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"pnl\" />;\n};\n\nexport const NumTypeNotional: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"notional\" />;\n};\n\nexport const NumTypeAssetValue: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"assetValue\" />;\n};\n\nexport const NumTypeCollateral: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"collateral\" />;\n};\n","import React, { FC, useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Text, TextProps } from \"./text\";\nimport { RoundingMode, parseNumber } from \"./utils\";\n\nexport type NumeralRule = \"percentages\" | \"price\" | \"human\";\n\nexport const isNumeralRule = (rule: string): rule is NumeralRule => {\n return [\"percentages\", \"price\", \"human\"].includes(rule);\n};\n\nexport type NumeralProps = TextProps & {\n rule?: NumeralRule;\n\n /**\n * decimal place, default 2 digits\n * @default 2\n */\n dp?: number;\n\n /**\n * Whether to ignore the decimal place, if true then direct output, the default is false\n */\n ignoreDP?: boolean;\n\n /**\n * The number of decimal places to round to.\n * tick is obtained directly from the Orderly API and is used to calculate the number of decimal places for prices.\n * If both dp and tick are passed, dp takes priority.\n * Format: 0.00001\n */\n tick?: number;\n /**\n * Rounding mode\n * The method of rounding the decimal digits after the decimal point, options are ceil, floor, round, aligns with Math.ceil, Math.floor, Math.round.\n * @default floor\n */\n rm?: RoundingMode;\n // truncate?: \"ceil\" | \"floor\" | \"round\" | \"truncate\";\n\n /**\n * The number to be formatted\n */\n children: number | string;\n\n className?: string;\n\n unitClassName?: string;\n\n coloring?: boolean;\n\n loading?: boolean;\n\n suffix?: React.ReactNode;\n prefix?: React.ReactNode;\n\n unit?: string;\n currency?: string;\n\n /**\n * Whether to display as *****\n */\n visible?: boolean;\n /**\n * Whether to pad with 0\n * @default true\n */\n padding?: boolean;\n\n /**\n * Whether to show the + or - sign\n */\n showIdentifier?: boolean;\n\n /**\n * Placeholder when children is not valid number\n */\n placeholder?: string;\n\n /**\n * custom masking element when visible is false\n */\n masking?: React.ReactNode | string;\n\n /**\n * Custom + or - sign\n */\n identifiers?: {\n loss?: React.ReactNode;\n profit?: React.ReactNode;\n };\n};\n\nexport const Numeral: FC<NumeralProps> = (props) => {\n const {\n rule = \"price\",\n coloring,\n dp,\n tick,\n suffix,\n prefix,\n visible,\n unit,\n currency,\n rm,\n padding = true,\n showIdentifier = false,\n identifiers,\n className,\n unitClassName,\n placeholder,\n masking,\n ignoreDP,\n ...rest\n } = props;\n // TODO: check precision\n\n const num = Number(props.children);\n\n const child = useMemo(() => {\n if (props.children === \"-\") return props.children;\n if (isNaN(num)) return placeholder ?? \"--\";\n\n if (typeof visible !== \"undefined\" && !visible) return masking ?? \"*****\";\n\n if (ignoreDP) {\n if (!!props.showIdentifier) {\n return Math.abs(num).toString();\n }\n\n return num;\n }\n\n return parseNumber(num, {\n rule,\n dp,\n tick,\n rm,\n padding,\n abs: showIdentifier,\n });\n }, [num, visible, tick, dp]);\n\n // console.log(\"numeral\", child, props.showIdentifier);\n\n const defaultColor = rest.color || \"inherit\";\n\n const colorName = useMemo(() => {\n if (!coloring) return defaultColor;\n if (typeof visible !== \"undefined\" && !visible) return defaultColor;\n\n if (Number.isNaN(num)) {\n // console.warn(`if coloring, value is need number: ${props.value}`);\n return defaultColor;\n }\n\n if (num === 0) return \"neutral\";\n if (num < 0) return \"lose\";\n\n return \"profit\";\n }, [coloring, num, rest.color, props.visible]);\n\n // console.log(\"parseNumber\", child, props.showIdentifier);\n\n const identifier = useMemo(() => {\n if (!showIdentifier || Number.isNaN(num) || num === 0) return null;\n if (typeof visible !== \"undefined\" && !visible) return null;\n\n if (num < 0) {\n if (identifiers?.loss) return identifiers!.loss;\n // @ts-ignore\n // return <Minus size={12} />;\n return <span>-</span>;\n }\n\n if (identifiers?.profit) return identifiers!.profit;\n // @ts-ignore\n // return <Plus size={12} />;\n return <span>+</span>;\n }, [num, props.visible, showIdentifier]);\n\n const childWithUnit = useMemo(() => {\n if (\n typeof suffix === \"undefined\" &&\n typeof prefix === \"undefined\" &&\n typeof unit === \"undefined\" &&\n typeof currency === \"undefined\" &&\n !showIdentifier\n ) {\n return child;\n }\n\n const suffixEle = suffix ? (\n typeof suffix === \"string\" ? (\n <span>{suffix}</span>\n ) : (\n suffix\n )\n ) : undefined;\n\n const unitEle = unit ? (\n <span className={cnBase(\"orderly-numeral-unit\", unitClassName)}>\n {unit}\n </span>\n ) : undefined;\n\n const prefixEle = prefix ? (\n prefix\n ) : currency ? (\n <span>{currency}</span>\n ) : undefined;\n\n const child_unit = (\n <>\n {child}\n {unitEle}\n </>\n );\n\n return (\n <>\n {prefixEle}\n {typeof identifier !== \"undefined\" ? (\n <span>\n {identifier}\n <span>{child_unit}</span>\n </span>\n ) : (\n <span>{child_unit}</span>\n )}\n {/*{unitEle}*/}\n {suffixEle}\n </>\n );\n }, [child, suffix, unit, prefix, identifier, unitClassName]);\n\n return (\n <Text\n {...rest}\n color={colorName}\n className={cnBase(\"oui-tabular-nums\", className)}\n >\n {childWithUnit}\n </Text>\n );\n};\n","import React, {\n HTMLAttributes,\n PropsWithChildren,\n ReactNode,\n useMemo,\n} from \"react\";\nimport { type VariantProps, cnBase } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport { Numeral, NumeralProps } from \"./numeral\";\n\nconst statisticVariants = tv({\n slots: {\n root: \"oui-text-base oui-flex oui-flex-col\",\n label: \"oui-text-xs oui-text-base-contrast-36\",\n value: \"\",\n },\n variants: {\n align: {\n start: {\n root: \"oui-items-start\",\n },\n\n end: {\n root: \"oui-items-end\",\n },\n },\n // color: {},\n },\n defaultVariants: {\n align: \"start\",\n // color: \"default\",\n },\n});\n\ntype StatisticLabelProps = VariantProps<typeof statisticVariants> &\n HTMLAttributes<HTMLDivElement> & {\n // label: string | ReactNode;\n };\n\nconst StatisticLabel = React.forwardRef<HTMLDivElement, StatisticLabelProps>(\n (props, ref) => {\n // const { label } = props;\n const { label: labelClassName } = statisticVariants({});\n return (\n <div\n ref={ref}\n className={labelClassName({\n className: cnBase(\"oui-statistic-label\", props.className),\n })}\n >\n {props.children}\n </div>\n );\n },\n);\n\nStatisticLabel.displayName = \"StatisticLabel\";\n\ntype DivElement = React.ElementRef<\"div\">;\n\ntype StatisticProps = VariantProps<typeof statisticVariants> &\n HTMLAttributes<HTMLDivElement> & {\n label: string | ReactNode;\n valueProps?: Omit<NumeralProps, \"children\">;\n classNames?: {\n root?: string;\n label?: string;\n value?: string;\n };\n };\n\nconst Statistic = React.forwardRef<\n DivElement,\n PropsWithChildren<StatisticProps>\n>((props, ref) => {\n const { label, valueProps, align, className, classNames, children, ...rest } =\n props;\n const { root, value: valueClassName } = statisticVariants({ align });\n\n const value = useMemo(() => {\n if (typeof children === \"string\" || typeof children === \"number\") {\n const { className: valueClass, as, ...restValueProps } = valueProps ?? {};\n return (\n <Numeral\n {...restValueProps}\n as={as as any}\n className={cnBase(\n valueClassName({ className: valueClass }),\n \"oui-font-semibold\",\n !valueProps?.coloring && \"oui-text-base-contrast-80\",\n )}\n >\n {children}\n </Numeral>\n );\n }\n return children;\n }, [children, valueProps]);\n\n return (\n <div\n {...rest}\n className={root({ className: cnBase(className, classNames?.root) })}\n ref={ref}\n >\n <StatisticLabel className={classNames?.label}>{label}</StatisticLabel>\n {value}\n </div>\n );\n});\n\nStatistic.displayName = \"Statistic\";\n\nexport { Statistic, StatisticLabel, statisticVariants };\n","import { FormattedText } from \"./formatted\";\nimport { GradientText, gradientTextVariants } from \"./gradient\";\nimport {\n NumTypePnl,\n NumTypeRoi,\n NumTypeNotional,\n NumTypeAssetValue,\n NumTypeCollateral,\n} from \"./numType\";\nimport { Numeral } from \"./numeral\";\nimport { Text as BaseText, textVariants } from \"./text\";\nimport type { TextProps } from \"./text\";\n\nexport { Statistic, StatisticLabel, statisticVariants } from \"./statistic\";\n\nexport type { NumeralProps } from \"./numeral\";\nexport { parseNumber, formatAddress } from \"./utils\";\n\nexport type TextType = typeof BaseText & {\n formatted: typeof FormattedText;\n numeral: typeof Numeral;\n gradient: typeof GradientText;\n roi: typeof NumTypeRoi;\n pnl: typeof NumTypePnl;\n notional: typeof NumTypeNotional;\n assetValue: typeof NumTypeAssetValue;\n collateral: typeof NumTypeCollateral;\n};\n\nconst Text = BaseText as TextType;\nText.formatted = FormattedText;\nText.numeral = Numeral;\nText.gradient = GradientText;\nText.roi = NumTypeRoi;\nText.pnl = NumTypePnl;\nText.notional = NumTypeNotional;\nText.assetValue = NumTypeAssetValue;\nText.collateral = NumTypeCollateral;\n\nexport { Text, textVariants, gradientTextVariants, GradientText };\nexport type { TextProps };\n","import { forwardRef, useMemo, useRef, useState } from \"react\";\nimport { Input, InputProps } from \"../input\";\nimport { Select } from \"../../select\";\n\nexport type QuantityInputProps = {\n tokens: string[];\n} & Omit<InputProps, \"onClear\" | \"suffix\">;\n\n//@ts-ignore\nexport const QuantityInput = forwardRef<HTMLInputElement, QuantityInputProps>(\n (props, ref) => {\n const { tokens, ...rest } = props;\n const [token, setToken] = useState(tokens[0]);\n const tokenOptions = useMemo(() => {\n return props.tokens.map((token) => ({\n name: token,\n }));\n }, [props.tokens]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n return (\n <Input\n ref={(node) => {\n // @ts-ignore\n inputRef.current = node;\n if (ref) {\n if (typeof ref === \"function\") {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }}\n autoComplete=\"off\"\n {...rest}\n suffix={\n <div className=\"oui-max-w-fit\">\n <Select.tokens\n disabled={rest.disabled}\n variant=\"text\"\n tokens={tokenOptions}\n value={token}\n size={rest.size}\n onValueChange={(value) => setToken(value)}\n // According to the design guideline, the token icon are not displayed when the text is right-aligned\n showIcon={rest.align !== \"right\"}\n contentProps={{\n align: \"end\",\n onCloseAutoFocus: (event) => {\n event.preventDefault();\n inputRef.current?.focus();\n },\n }}\n />\n </div>\n }\n />\n );\n }\n);\n\nQuantityInput.displayName = \"QuantityInput\";\n","import React, { type InputHTMLAttributes, useId } from \"react\";\nimport { cnBase, cn, type VariantProps } from \"tailwind-variants\";\nimport { BaseInput, BaseInputProps } from \"./baseInput\";\nimport { InputPrefix } from \"./prefix\";\nimport { InputSuffix } from \"./suffix\";\nimport { tv } from \"../utils/tv\";\n\nconst inputVariants = tv(\n {\n slots: {\n input: [\n \"oui-w-full oui-bg-transparent\",\n \"oui-bg-transparent\",\n \"oui-flex-1\",\n \"focus-visible:oui-outline-none\",\n \"oui-flex\",\n \"placeholder:oui-text-base-contrast-20\",\n \"placeholder:oui-text-xs\",\n \"oui-tabular-nums\",\n \"oui-text-white\",\n \"autofill:oui-bg-transparent\",\n \"oui-input-input\",\n \"disabled:oui-cursor-not-allowed\",\n \"oui-peer\",\n ],\n box: [\n \"oui-rounded\",\n \"oui-bg-base-6\",\n \"oui-flex\",\n \"oui-items-center\",\n \"oui-outline\",\n \"oui-outline-offset-0\",\n \"oui-outline-1\",\n \"oui-outline-transparent\",\n \"focus-within:oui-outline-primary-light\",\n \"oui-input-root\",\n ],\n additional: [\n \"oui-h-full oui-flex oui-flex-col oui-justify-center oui-px-2 oui-text-base-contrast\",\n ],\n closeButton: [\n \"oui-cursor-pointer\",\n \"oui-invisible\",\n \"peer-focus:oui-visible\",\n ],\n },\n variants: {\n // variant: {\n // outline:{\n // box:\n // }\n // },\n size: {\n xs: {\n input: [\"oui-h-6\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-6\"],\n additional: [\"oui-text-2xs\"],\n },\n sm: {\n input: [\"oui-h-7\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-7\"],\n additional: [\"oui-text-2xs\"],\n },\n md: {\n input: [\"oui-h-8\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-8\"],\n additional: [\"oui-text-2xs\"],\n },\n lg: {\n input: [\"oui-h-10\", \"oui-text-sm\", \"placeholder:oui-text-sm\"],\n box: [\"oui-h-10 oui-rounded-md\"],\n additional: [\"oui-text-sm\"],\n },\n xl: {\n input: [\"oui-h-12\", \"oui-text-base\", \"placeholder:oui-text-base\"],\n box: [\"oui-h-12 oui-rounded-md\"],\n additional: [\"oui-text-sm\"],\n },\n },\n color: {\n success: {\n box: [\"oui-outline-success\", \"focus-within:oui-outline-success\"],\n input: [\"oui-text-success\"],\n },\n danger: {\n box: [\"oui-outline-danger\", \"focus-within:oui-outline-danger\"],\n input: [\"oui-text-danger\"],\n },\n warning: {\n box: [\"oui-outline-warning-darken\", \"focus-within:oui-outline-warning-darken\"],\n input: [\"oui-text-warning-darken\"],\n },\n default: {\n box: [\"oui-outline-transparent\"],\n },\n },\n disabled: {\n true: {\n input: [\"oui-cursor-not-allowed\", \"oui-text-base-contrast-20\"],\n box: [\"oui-bg-base-5\"],\n },\n },\n pl: {\n true: {\n box: \"oui-pl-3\",\n },\n false: {\n box: \"oui-pl-0\",\n },\n },\n pr: {\n true: {\n box: \"oui-pr-3\",\n },\n false: {\n box: \"oui-pr-0\",\n },\n },\n fullWidth: {\n true: {\n box: \"oui-w-full\",\n },\n },\n align: {\n center: {\n input: \"oui-text-center\",\n },\n left: {\n input: \"oui-text-left\",\n },\n right: {\n input: \"oui-text-right\",\n },\n },\n },\n // compoundVariants: [{ size: \"default\", className: [\"oui-bg-transparent\"] }],\n\n defaultVariants: {\n size: \"lg\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n }\n);\n\n// @ts-ignore\ninterface InputProps<T = string>\n extends BaseInputProps<T>,\n VariantProps<typeof inputVariants> {\n prefix?: string | React.ReactNode;\n suffix?: string | React.ReactNode;\n fullWidth?: boolean;\n onClear?: () => void;\n classNames?: {\n input?: string;\n root?: string;\n additional?: string;\n clearButton?: string;\n prefix?: string;\n suffix?: string;\n };\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n const {\n size,\n disabled,\n color,\n suffix,\n prefix,\n id,\n pl,\n pr,\n fullWidth,\n className,\n classNames,\n onClear,\n align,\n ...inputProps\n } = props;\n\n const { input, box, additional, closeButton } = inputVariants({\n size,\n disabled,\n color,\n fullWidth,\n align,\n // className: cnBase(className, classes?.root),\n\n pl: typeof prefix === \"undefined\" || pl,\n pr: typeof suffix === \"undefined\" || pr,\n });\n const cid = useId();\n\n const suffixElement =\n typeof onClear !== \"undefined\" ? (\n <ClearButton\n className={closeButton({ className: classNames?.clearButton })}\n onClick={() => {\n onClear?.();\n }}\n value={inputProps.value as string | number}\n />\n ) : (\n suffix\n );\n\n return (\n <div className={box({ className: cnBase(className, classNames?.root) })}>\n <InputPrefix\n id={id || cid}\n prefix={prefix}\n className={additional({\n className: cnBase(classNames?.additional, classNames?.prefix),\n })}\n />\n <BaseInput\n {...inputProps}\n id={id || cid}\n disabled={disabled}\n ref={ref}\n className={input({ align, className: classNames?.input })}\n />\n <InputSuffix\n id={id || cid}\n suffix={suffixElement}\n className={additional({\n className: cnBase(classNames?.additional, classNames?.suffix),\n })}\n />\n </div>\n );\n});\n\nconst ClearButton = React.forwardRef<\n HTMLButtonElement,\n { onClick: () => void; value: string | number; className?: string }\n>((props, ref) => {\n return (\n <button\n onMouseDown={(event) => {\n event.preventDefault();\n props.onClick();\n }}\n ref={ref}\n className={props.className}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8 1.302a6.667 6.667 0 1 0 0 13.333A6.667 6.667 0 0 0 8 1.302m-2 4c.17 0 .349.057.479.187l1.52 1.521L9.52 5.49a.68.68 0 0 1 .48-.188c.17 0 .348.057.479.187.26.261.26.698 0 .96l-1.52 1.52 1.52 1.52c.26.261.26.698 0 .96a.687.687 0 0 1-.959 0L8 8.926l-1.521 1.521a.686.686 0 0 1-.959 0 .686.686 0 0 1 0-.959l1.521-1.52-1.52-1.52a.686.686 0 0 1 0-.96A.68.68 0 0 1 6 5.302\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </svg>\n </button>\n );\n});\n\nClearButton.displayName = \"ClearButton\";\n\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };\n\nexport type { InputProps };\n","import React, {\n useState,\n useRef,\n useCallback,\n useMemo,\n useEffect,\n forwardRef,\n} from \"react\";\nimport { InputHTMLAttributes } from \"react\";\nimport { findLongestCommonSubString } from \"@kodiak-finance/orderly-utils\";\nimport { InputFormatter } from \"./formatter/inputFormatter\";\n\nexport interface BaseInputProps<T = string>\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"size\" | \"prefix\" | \"disabled\" | \"inputMode\" | \"color\"\n > {\n disabled?: boolean;\n\n clearable?: boolean;\n onClean?: () => void;\n fixClassName?: string;\n helpText?: string;\n loading?: boolean;\n inputMode?: \"decimal\" | \"numeric\" | \"amount\";\n containerClassName?: string;\n\n formatters?: InputFormatter[];\n\n // dp?: number;\n // tick?: number;\n\n onValueChange?: (value: T) => void;\n}\n\nexport const BaseInput = forwardRef<HTMLInputElement, BaseInputProps>(\n (props, ref) => {\n const {\n clearable,\n onClean,\n fixClassName,\n helpText,\n loading,\n inputMode,\n containerClassName,\n onValueChange,\n onChange,\n id,\n formatters,\n value,\n ...inputProps\n } = props;\n\n const [cursor, setCursor] = useState<number | null>(null);\n const innerInputRef = useRef<HTMLInputElement>(null);\n const prevInputValue = useRef<string | null>(null);\n\n const isFocused = useRef<boolean>(false);\n\n const innerFormatters = useMemo<InputFormatter[]>(() => {\n return formatters ?? [];\n }, [formatters]);\n\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(innerInputRef.current);\n } else {\n ref.current = innerInputRef.current;\n }\n }, [innerInputRef, ref]);\n\n const formatToRender = useCallback(\n (value: string) => {\n if (!Array.isArray(innerFormatters) || innerFormatters.length === 0)\n return value;\n if (value === null || value === undefined) return \"\";\n let index = 0;\n while (index < innerFormatters.length) {\n value = innerFormatters[index].onRenderBefore(value, {\n isFocused: isFocused.current,\n });\n\n index++;\n }\n\n return value;\n },\n [innerFormatters],\n );\n\n const formatToChange = useCallback(\n (value: string, originValue?: string) => {\n if (!Array.isArray(innerFormatters) || innerFormatters.length === 0)\n return value;\n if (value === null || value === undefined) return \"\";\n let index = innerFormatters.length - 1;\n while (index > -1) {\n value = innerFormatters[index].onSendBefore(value, {\n isFocused: isFocused.current,\n originValue,\n });\n index--;\n }\n\n return value;\n },\n [innerFormatters],\n );\n\n const formattedValue = useMemo(() => {\n if (typeof value === \"undefined\" || value === null) return \"\";\n return formatToRender(value as string);\n }, [value, formatToRender]);\n\n // fix cursor pointer jump to end;\n useEffect(() => {\n if (document.activeElement !== innerInputRef.current) return;\n // filter the thousands separator\n const nextValueLen = `${formattedValue}`.length;\n const prevValueLen = prevInputValue.current?.length || 0;\n\n const next = cursor ? cursor + (nextValueLen - prevValueLen) : 0;\n innerInputRef.current?.setSelectionRange(next, next);\n }, [formattedValue]);\n\n const onInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.value.length < (props.value as string)?.length) {\n const currentCursor = event.target.selectionStart;\n const diffIndex = findLongestCommonSubString(\n `${props.value}`,\n event.target.value,\n );\n\n if (diffIndex > -1) {\n // @ts-ignore\n const diffStr = `${props.value}`.at(diffIndex);\n if (diffStr === \",\") {\n event.target.value = `${event.target.value.substring(\n 0,\n diffIndex - 1,\n )}${event.target.value.substring(diffIndex)}`;\n\n event.target.selectionStart = currentCursor ? currentCursor - 1 : 0;\n }\n }\n }\n\n if (typeof onChange === \"function\") {\n onChange(event);\n }\n\n if (typeof onValueChange === \"function\") {\n let value = event.target.value;\n\n value = formatToChange(value, String(props.value));\n\n onValueChange(value);\n }\n prevInputValue.current = event.target.value;\n setCursor(event.target.selectionStart);\n };\n\n const onInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n isFocused.current = true;\n inputProps.onFocus?.(event);\n };\n\n const onInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n isFocused.current = false;\n inputProps.onBlur?.(event);\n };\n\n // Map custom inputMode values to valid HTML inputMode\n const htmlInputMode = inputMode === \"amount\" ? \"decimal\" : inputMode;\n\n return (\n <input\n type=\"text\"\n {...inputProps}\n inputMode={htmlInputMode}\n ref={innerInputRef}\n onBlur={onInputBlur}\n onFocus={onInputFocus}\n onChange={onInputChange}\n value={formattedValue}\n id={id}\n />\n );\n },\n);\n\nBaseInput.displayName = \"BaseInput\";\n","import { FC, PropsWithChildren } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport const InputAdditional: FC<\n PropsWithChildren<{\n className?: string;\n name?: string;\n asChild?: boolean;\n as?: string;\n }>\n> = (props) => {\n const { asChild, as = \"label\" } = props;\n\n const Comp = asChild ? Slot : \"label\";\n\n return (\n <Comp htmlFor={props.name} className={props.className}>\n {props.children}\n </Comp>\n );\n};\n","import React from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { InputAdditional } from \"./inputAdditional\";\n\ninterface InputPrefixProps {\n prefix?: string | React.ReactNode;\n className?: string;\n id: string;\n}\n\nexport const InputPrefix: React.FC<InputPrefixProps> = (props) => {\n const { prefix, id } = props;\n if (typeof prefix === \"undefined\") {\n return null;\n }\n if (typeof prefix === \"string\") {\n return (\n <InputAdditional name={id} className={props.className}>\n {prefix}\n </InputAdditional>\n );\n }\n return prefix;\n};\n","import React from \"react\";\nimport { InputAdditional } from \"./inputAdditional\";\n\ninterface InputPrefixProps {\n suffix?: string | React.ReactNode;\n className?: string;\n id: string;\n}\n\nexport const InputSuffix: React.FC<InputPrefixProps> = (props) => {\n const { suffix, id } = props;\n if (typeof suffix === \"undefined\") {\n return null;\n }\n if (typeof suffix === \"string\") {\n return (\n <InputAdditional name={id} className={props.className}>\n {suffix}\n </InputAdditional>\n );\n }\n return suffix;\n};\n","import React, { KeyboardEvent, useRef, useState } from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CaretDownIcon } from \"../icon\";\nimport { Input } from \"../input\";\nimport { PopoverRoot, PopoverAnchor, PopoverContent } from \"../popover\";\n// import { SizeType } from \"../helpers/sizeType\";\nimport { ScrollArea } from \"../scrollarea\";\nimport { type SelectVariantProps } from \"./select\";\nimport { selectVariants } from \"./selectPrimitive\";\nimport { SelectOption, SelectWithOptionsProps } from \"./withOptions\";\n\nexport type CombineSelectProps = {\n placeholder?: string;\n} & SelectWithOptionsProps;\n\nexport const CombineSelect: React.FC<CombineSelectProps> = (props) => {\n const { options, variant, valueFormatter, ...rest } = props;\n const [keyword, setKeyword] = useState<string>(\"\");\n // const [open, setOpen] = useState<boolean>(props.defaultOpen || false);\n const [value, setValue] = useState<string | undefined>(props.value ?? \"\");\n const { trigger } = selectVariants({\n size: props.size,\n variant,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(() =>\n typeof props.value === \"undefined\"\n ? -1\n : options.findIndex((option) => option.value === props.value),\n );\n\n const [focused, setFocused] = useState<boolean>(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const onFocus = () => {\n setFocused(true);\n // setOpen(true);\n };\n\n const filteredOptions = !keyword\n ? options\n : options.filter((option) => {\n if (option.value.toLowerCase().includes(keyword.toLowerCase()))\n return true;\n });\n\n // const onKeyDown = useCallback(\n // (e: React.KeyboardEvent) => {\n // console.log(e.code);\n // },\n // [filteredOptions]\n // );\n\n return (\n <PopoverRoot open={focused}>\n <PopoverAnchor>\n <Input\n ref={inputRef}\n size={props.size}\n autoComplete={\"off\"}\n onFocus={onFocus}\n onBlur={() => {\n setFocused(false);\n }}\n placeholder={props.placeholder ?? \"All\"}\n value={\n focused\n ? keyword\n : typeof valueFormatter === \"function\"\n ? (valueFormatter(value ?? \"\", {\n placeholder: props.placeholder,\n }) as string)\n : value\n }\n onValueChange={(value) => {\n setKeyword(value);\n }}\n // onKeyDown={onKeyDown}\n\n classNames={{\n root: trigger({\n className: \"oui-w-24 oui-peer\",\n }),\n input: \"oui-text-base-contrast-54 oui-font-semibold\",\n }}\n data-state={focused ? \"open\" : \"closed\"}\n suffix={\n <SelectPrimitive.Icon\n onMouseDown={(e) => {\n e.preventDefault();\n focused ? inputRef.current?.blur() : inputRef.current?.focus();\n }}\n asChild\n className=\"oui-transition-transform peer-data-[state=open]:oui-rotate-180 peer-data-[state=closed]:oui-rotate-0 oui-mx-2\"\n >\n <CaretDownIcon\n size={12}\n className=\"oui-text-inherit\"\n // opacity={1}\n />\n </SelectPrimitive.Icon>\n }\n />\n </PopoverAnchor>\n <PopoverContent\n onOpenAutoFocus={(e) => {\n e.preventDefault();\n setKeyword(\"\");\n }}\n className={\"oui-w-[var(_--radix-popover-trigger-width)] oui-p-1\"}\n >\n <ScrollArea className=\"oui-h-[200px]\">\n {filteredOptions.map((option, index) => {\n return (\n <SelectItem\n option={option}\n key={index}\n size={props.size}\n activated={selectedIndex === index}\n onClick={(value) => {\n setValue(value.value);\n setSelectedIndex(index);\n props.onValueChange?.(value.value);\n inputRef.current?.blur();\n // setKeyword(value.value);\n }}\n />\n );\n })}\n </ScrollArea>\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nconst SelectItem = (props: {\n option: SelectOption;\n size?: SelectVariantProps[\"size\"];\n activated: boolean;\n onClick: (item: SelectOption) => void;\n}) => {\n const { item } = selectVariants({\n size: props.size,\n });\n return (\n <button\n className={item({\n className: `oui-text-base-contrast-54 oui-w-full ${\n props.activated ? \"oui-bg-base-7\" : \"\"\n }`,\n })}\n onMouseDown={(e) => {\n e.preventDefault();\n props.onClick(props.option);\n }}\n >\n {props.option.label}\n </button>\n );\n};\n","import * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst popoverVariants = tv({\n base: [\n \"oui-z-50\",\n \"oui-w-72\",\n \"oui-rounded-md\",\n \"oui-border\",\n \"oui-border-line-6\",\n // \"oui-bg-popover\",\n \"oui-p-4\",\n \"oui-bg-base-8\",\n // \"oui-text-popover-foreground\",\n \"oui-shadow-md\",\n \"oui-outline-none\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n});\n\nconst PopoverRoot = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> &\n VariantProps<typeof popoverVariants>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={popoverVariants({ className })}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\ntype PopoverProps = PopoverPrimitive.PopoverProps & {\n content: React.ReactNode;\n arrow?: boolean;\n contentProps?: PopoverPrimitive.PopoverContentProps;\n};\n\n/**\n * Popover component\n * @param {React.ReactNode} content - The content of the popover\n */\nconst Popover: React.FC<React.PropsWithChildren<PopoverProps>> = (props) => {\n const { arrow, content, contentProps, ...popoverProps } = props;\n return (\n <PopoverRoot {...popoverProps}>\n <PopoverTrigger asChild>{props.children}</PopoverTrigger>\n <PopoverContent {...contentProps}>\n {content}\n {arrow && (\n <PopoverPrimitive.Arrow\n className={\"oui-fill-base-8\"}\n width={10}\n height={6}\n />\n )}\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nexport { PopoverRoot, PopoverTrigger, PopoverContent, PopoverAnchor, Popover };\n","import React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst scrollAreaVariants = tv({\n slots: {\n root: \"oui-relative oui-overflow-hidden oui-scroll-area-root\",\n viewport: \"oui-h-full oui-w-full oui-rounded-[inherit]\",\n bar: [\n \"oui-flex\",\n \"oui-touch-none\",\n \"oui-select-none\",\n \"oui-transition-colors\",\n ],\n tumb: \"oui-relative oui-flex-1 oui-rounded-full oui-bg-base-10\",\n },\n variants: {\n orientation: {\n vertical: {\n bar: \"oui-h-full oui-w-2 oui-border-l oui-border-l-transparent oui-p-[1px]\",\n },\n horizontal: {\n bar: \"oui-h-2 oui-flex-col oui-border-t oui-border-t-transparent oui-p-[1px]\",\n },\n },\n },\n});\n\ninterface ScrollAreaProps\n extends React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>,\n VariantProps<typeof scrollAreaVariants> {\n classNames?: {\n viewport?: string;\n };\n}\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n ScrollAreaProps\n>((oriProps, ref) => {\n const {\n className,\n classNames,\n children,\n orientation = \"vertical\",\n ...props\n } = oriProps;\n const { root, viewport } = scrollAreaVariants({ orientation });\n return (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={root({ className: className })}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n className={viewport({ className: classNames?.viewport })}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar orientation={orientation} />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n});\n\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>((oriProps, ref) => {\n const { className, orientation = \"vertical\", ...props } = oriProps;\n const { bar, tumb } = scrollAreaVariants({ className, orientation });\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={bar({ className })}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className={tumb()} />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n});\n\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar, scrollAreaVariants };\n\nexport { type ScrollAreaProps };\n","import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { CaretDownIcon, CaretUpIcon } from \"../icon\";\nimport { tv } from \"../utils/tv\";\n\nconst selectVariants = tv(\n {\n slots: {\n trigger: [\n \"oui-flex\",\n \"oui-group\",\n \"oui-w-full\",\n \"oui-items-center\",\n \"oui-justify-between\",\n \"oui-whitespace-nowrap\",\n \"oui-rounded-md\",\n \"oui-px-2\",\n // \"oui-py-2\",\n\n \"oui-space-x-1\",\n // \"oui-text-sm\",\n \"oui-shadow-sm\",\n // \"oui-ring-offset-background\",\n \"oui-text-base-contrast-54\",\n \"placeholder:oui-text-base-contrast-54\",\n \"data-[state=open]:oui-text-base-contrast-80\",\n \"focus:oui-outline-none\",\n \"focus:oui-ring-1\",\n \"focus:oui-ring-ring\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n \"[&>span]:oui-line-clamp-1\",\n ],\n scrollUpButton:\n \"oui-flex oui-cursor-default oui-items-center oui-justify-center oui-py-1\",\n scrollDownButton:\n \"oui-flex oui-cursor-default oui-items-center oui-justify-center oui-py-1\",\n content: [\n \"oui-relative\",\n \"oui-z-50\",\n \"oui-max-h-96\",\n // \"oui-min-w-[8rem]\",\n \"oui-overflow-hidden\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n \"oui-text-base-contrast\",\n // \"oui-bg-popover\",\n // \"oui-text-popover-foreground\",\n \"oui-shadow-md\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:aoui-nimate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n viewport: [\"oui-p-1\"],\n label: \"oui-px-2 oui-py-1.5 oui-text-sm oui-font-semibold\",\n item: [\n \"oui-option-item\",\n \"oui-relative\",\n \"oui-flex\",\n // \"oui-w-full\",\n \"oui-cursor-default\",\n \"oui-select-none\",\n \"oui-items-center\",\n \"oui-rounded-sm\",\n \"oui-py-1\",\n \"oui-pl-2\",\n \"oui-pr-8\",\n \"oui-text-sm\",\n \"oui-text-base-contrast-54\",\n \"oui-outline-none\",\n \"hover:oui-bg-base-6\",\n \"hover:oui-rounded\",\n \"focus:oui-bg-accent\",\n \"focus:oui-text-accent-foreground\",\n \"data-[state=checked]:oui-bg-base-5\",\n \"data-[state=checked]:oui-text-base-contrast-80\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-opacity-50\",\n ],\n separator: \"-oui-mx-1 oui-my-1 oui-h-px oui-bg-muted\",\n icon: \"\",\n },\n variants: {\n variant: {\n outlined: {\n trigger: [\"oui-border oui-border-line-6 oui-bg-line-4\"],\n },\n contained: {\n trigger: [\"oui-bg-base-4\"],\n },\n text: {\n trigger: [],\n },\n // text\n },\n position: {\n popper: {\n content: [\n \"data-[side=bottom]:oui-translate-y-1\",\n \"data-[side=left]:-oui-translate-x-1\",\n \"data-[side=right]:oui-translate-x-1\",\n \"data-[side=top]:-oui-translate-y-1\",\n ],\n viewport:\n \"oui-h-[var(--radix-select-trigger-height)] oui-w-full oui-min-w-[var(--radix-select-trigger-width)]\",\n },\n \"item-aligned\": {\n content: \"\",\n viewport: \"\",\n },\n },\n size: {\n xs: {\n trigger: [\"oui-h-6\", \"oui-text-2xs\"],\n item: [\"oui-h-6\", \"oui-text-2xs\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n sm: {\n trigger: [\"oui-h-7\", \"oui-text-2xs\"],\n item: [\"oui-h-7\", \"oui-text-2xs\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n md: {\n trigger: [\"oui-h-8\", \"oui-text-xs\"],\n item: [\"oui-h-7\", \"oui-text-xs\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n lg: {\n trigger: [\"oui-h-10\", \"oui-text-sm\", \"oui-px-3\"],\n item: [\"oui-h-8\", \"oui-text-2xs\"],\n icon: [\"oui-w-5\", \"oui-h-5\"],\n },\n xl: {\n trigger: [\"oui-h-12\", \"oui-text-2xs\", \"oui-px-3\"],\n item: [\"oui-h-12\", \"oui-text-2xs\"],\n icon: [\"oui-w-6\", \"oui-h-6\"],\n },\n },\n error: {\n true: {\n trigger: [\n \"oui-border-danger\",\n \"focus:oui-ring-danger\",\n \"focus:oui-ring-ring-danger\",\n ],\n },\n },\n },\n defaultVariants: {\n size: \"lg\",\n variant: \"outlined\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n },\n);\n\nconst SelectRoot = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> &\n VariantProps<typeof selectVariants> & {\n showCaret?: boolean;\n }\n>(\n (\n {\n className,\n children,\n size,\n error,\n variant,\n asChild,\n showCaret = true,\n ...props\n },\n ref,\n ) => {\n const { trigger } = selectVariants({ size, error, variant });\n if (asChild) {\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n asChild={asChild}\n {...props}\n >\n {children}\n </SelectPrimitive.Trigger>\n );\n }\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n asChild={asChild}\n {...props}\n >\n {children}\n\n <>\n {showCaret && (\n <SelectPrimitive.Icon\n asChild\n className=\"oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n >\n <CaretDownIcon\n size={12}\n className=\"oui-text-inherit\"\n opacity={1}\n />\n </SelectPrimitive.Icon>\n )}\n </>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => {\n const { scrollUpButton } = selectVariants();\n return (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={scrollUpButton({ className })}\n {...props}\n >\n <CaretUpIcon size={16} color={\"white\"} />\n </SelectPrimitive.ScrollUpButton>\n );\n});\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => {\n const { scrollDownButton } = selectVariants();\n return (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={scrollDownButton({ className })}\n {...props}\n >\n <CaretDownIcon size={16} color={\"white\"} />\n </SelectPrimitive.ScrollDownButton>\n );\n});\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => {\n const { content, viewport } = selectVariants({ position, className });\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={content({ className })}\n position={position}\n {...props}\n >\n {/* <SelectScrollUpButton /> */}\n <SelectPrimitive.Viewport className={viewport()}>\n {children}\n </SelectPrimitive.Viewport>\n {/* <SelectScrollDownButton /> */}\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n});\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => {\n const { label } = selectVariants();\n return (\n <SelectPrimitive.Label\n ref={ref}\n className={label({ className })}\n {...props}\n />\n );\n});\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> & {\n size?: VariantProps<typeof selectVariants>[\"size\"];\n }\n>(({ className, children, size, ...props }, ref) => {\n const { item } = selectVariants({ size });\n return (\n <SelectPrimitive.Item ref={ref} className={item({ className })} {...props}>\n {/* <span className=\"oui-absolute oui-right-2 oui-flex vh-3.5 oui-w-3.5 oui-items-center oui-justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span> */}\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => {\n const { separator } = selectVariants();\n return (\n <SelectPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n );\n});\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n // Select: ,\n SelectRoot,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n selectVariants,\n};\n","import React, { FC, PropsWithChildren, ReactElement } from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { ScrollArea } from \"../scrollarea\";\nimport {\n SelectContent,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n selectVariants,\n} from \"./selectPrimitive\";\n\nexport type SelectVariantProps = VariantProps<typeof selectVariants>;\n\nexport type SelectProps<T> = SelectPrimitive.SelectProps & {\n placeholder?: string;\n valueFormatter?: (\n value: T,\n options: {\n placeholder?: string;\n },\n ) => React.ReactNode;\n contentProps?: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>;\n showCaret?: boolean;\n maxHeight?: number;\n testid?: string;\n classNames?: {\n trigger?: string;\n };\n} & SelectVariantProps;\n\nexport const Select = <T,>(props: PropsWithChildren<SelectProps<T>>) => {\n const {\n children,\n size,\n error,\n placeholder,\n variant,\n contentProps,\n valueFormatter: valueRenderer,\n showCaret,\n maxHeight,\n testid,\n classNames,\n ...rest\n } = props;\n\n return (\n <SelectRoot {...rest}>\n <SelectTrigger\n size={size}\n error={error}\n variant={variant}\n showCaret={showCaret}\n className={cnBase(\n \"oui-cursor-pointer oui-font-semibold focus:oui-ring-transparent\",\n // !showCaret && \"oui-cursor-auto\",\n classNames?.trigger,\n )}\n data-testid={testid}\n >\n {typeof valueRenderer === \"function\" ? (\n valueRenderer((props.value || props.defaultValue) as T, {\n placeholder,\n })\n ) : (\n <SelectValue placeholder={placeholder} />\n )}\n </SelectTrigger>\n <SelectContent {...contentProps}>\n <ScrollArea>\n <div style={{ maxHeight }}>{children}</div>\n </ScrollArea>\n </SelectContent>\n </SelectRoot>\n );\n};\n","import React, { ReactElement, useMemo } from \"react\";\nimport {\n ItemIndicator,\n SelectItem,\n SelectItemText,\n} from \"@radix-ui/react-select\";\nimport { AvatarSizeType } from \"../avatar/avatar\";\nimport { Flex } from \"../flex\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { TokenIcon } from \"../icon\";\nimport { Text } from \"../typography\";\nimport type { SelectProps } from \"./select\";\nimport { selectVariants } from \"./selectPrimitive\";\nimport { SelectOption, SelectWithOptions } from \"./withOptions\";\n\ntype TokenItem = {\n name: string;\n [x: string]: any;\n};\n\nexport type TokenSelectProps = {\n tokens: TokenItem[];\n showIcon?: boolean;\n optionRenderer?: (option: SelectOption) => ReactElement;\n iconSize?: AvatarSizeType;\n} & SelectProps<string>;\n\nexport const TokenSelect: React.FC<TokenSelectProps> = (props) => {\n const { tokens, showIcon = true, iconSize, showCaret, ...rest } = props;\n const { icon } = selectVariants();\n\n const options = useMemo(() => {\n return tokens.map((token) => {\n return {\n ...token,\n label: token.name,\n value: token.name,\n };\n });\n }, [tokens]);\n\n const selectable = options.length > 1;\n\n const valueRenderer = (value: string) => {\n if (typeof props.valueFormatter === \"function\") {\n return props.valueFormatter(value, {});\n }\n return (\n <Flex gapX={1}>\n <TokenIcon\n name={value}\n className={iconSize ? undefined : icon({ size: props.size })}\n size={iconSize}\n />\n <Text weight=\"semibold\" intensity={54}>\n {value}\n </Text>\n </Flex>\n );\n };\n\n const optionRenderer = (option: SelectOption) => {\n if (typeof props.optionRenderer === \"function\") {\n return props.optionRenderer(option);\n }\n return <Option {...option} iconSize={iconSize} />;\n };\n\n return (\n <SelectWithOptions\n {...rest}\n showCaret={typeof showCaret === \"boolean\" ? showCaret : selectable}\n options={options}\n valueFormatter={showIcon ? valueRenderer : undefined}\n optionRenderer={optionRenderer}\n maxHeight={254} // 30 * 8 + 2 * 7\n />\n );\n};\n\ntype OptionProps = SelectOption & {\n index?: number;\n size?: SizeType;\n iconSize?: AvatarSizeType;\n};\n\nconst Option: React.FC<OptionProps> = (props) => {\n const { size, label, value, iconSize } = props;\n\n const { item, icon } = selectVariants();\n return (\n <SelectItem\n value={value}\n className={item({\n size,\n className: \"oui-space-x-1 oui-flex oui-flex-row oui-items-center\",\n })}\n >\n <TokenIcon\n name={value}\n className={iconSize ? undefined : icon({ size })}\n size={iconSize}\n />\n <SelectItemText>{label}</SelectItemText>\n <ItemIndicator />\n </SelectItem>\n );\n};\n","import React, { FC, ReactElement } from \"react\";\nimport { cn } from \"..\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select, SelectProps } from \"./select\";\nimport { SelectGroup, SelectItem } from \"./selectPrimitive\";\n\nexport type SelectOption = {\n label: string;\n value: string;\n};\n\nexport type SelectWithOptionsProps<T = string> = SelectProps<T> & {\n // options: SelectOption[] | (() => Promise<SelectOption[]>);\n currentValue?: string;\n options: SelectOption[];\n optionRenderer?: (\n option: SelectOption,\n // & {\n // size?: SizeType;\n // index: number;\n // }\n ) => ReactElement;\n // loading?: boolean;\n testid?: string;\n prefix?: string;\n};\n\nexport const defaultOptionRenderer = (\n option: SelectOption,\n currentValue?: string,\n) => {\n return (\n <SelectItem\n key={option.value}\n value={option.value}\n className={cn(\"oui-relative oui-cursor-pointer\")}\n data-testid={`oui-testid-selectItem-${option.value\n ?.toLowerCase()\n ?.replace(\" \", \"_\")}`}\n >\n {option.label}\n {currentValue == option.value && (\n <Box\n width={4}\n height={4}\n gradient=\"brand\"\n r=\"full\"\n className=\"oui-absolute oui-right-2 oui-top-1/2 -oui-translate-y-1/2\"\n />\n )}\n </SelectItem>\n );\n};\n\nexport const SelectWithOptions: FC<SelectWithOptionsProps> = (props) => {\n const {\n children,\n options,\n optionRenderer = defaultOptionRenderer,\n currentValue,\n ...rest\n } = props;\n\n // const [] = useState<SelectOption[]>([]);\n\n return (\n <Select {...rest}>\n <SelectGroup>\n {options.map((option, index) => {\n // return optionRenderer({\n // ...option,\n // // value: option,\n // size: props.size,\n // index,\n // });\n return React.cloneElement(optionRenderer(option, currentValue), {\n size: props.size,\n key: index,\n index,\n });\n })}\n </SelectGroup>\n </Select>\n );\n};\n","import { CombineSelect } from \"./combine\";\nimport { Select as SelectComponent } from \"./select\";\nimport { TokenSelect } from \"./tokens\";\nimport { SelectWithOptions } from \"./withOptions\";\n\nexport {\n SelectRoot,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n} from \"./selectPrimitive\";\n\nexport type SelectType = typeof SelectComponent & {\n options: typeof SelectWithOptions;\n tokens: typeof TokenSelect;\n combine: typeof CombineSelect;\n};\n\nconst Select = SelectComponent as SelectType;\nSelect.options = SelectWithOptions;\nSelect.combine = CombineSelect;\nSelect.tokens = TokenSelect;\n\nexport { Select };\n\nexport type { SelectProps } from \"./select\";\nexport type { SelectWithOptionsProps, SelectOption } from \"./withOptions\";\nexport type { ChainSelectProps } from \"./chains\";\n","import { forwardRef, useEffect, useState } from \"react\";\nimport {\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipRoot,\n TooltipArrow,\n TooltipTrigger,\n} from \"../tooltip\";\nimport { Input, InputProps } from \"./input\";\nimport type { TooltipContentProps } from \"@radix-ui/react-tooltip\";\n\nexport type InputWithTooltipProps = InputProps & {\n tooltip?: React.ReactNode;\n tooltipProps?: {\n content?: TooltipContentProps;\n arrow?: TooltipContentProps;\n };\n triggerClassName?: string;\n};\n\nexport const InputWithTooltip = forwardRef<\n HTMLInputElement,\n InputWithTooltipProps\n>((props, ref) => {\n const { tooltip, tooltipProps, triggerClassName, ...inputProps } = props;\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (typeof tooltip !== \"undefined\" && tooltip !== \"\" && tooltip !== null) {\n setOpen(true);\n } else {\n setOpen(false);\n }\n }, [tooltip]);\n\n return (\n <TooltipRoot open={open}>\n <TooltipTrigger asChild>\n <div className={triggerClassName}>\n <Input {...inputProps} ref={ref} />\n </div>\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent {...tooltipProps?.content}>\n {props.tooltip}\n <TooltipArrow {...tooltipProps?.arrow}/>\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n );\n});\n\nInputWithTooltip.displayName = \"InputWithTooltip\";\n","import * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { TooltipContentProps } from \"@radix-ui/react-tooltip\";\nimport { cn } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\n// import { cn } from \"..\";\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\n// const Tooltip = TooltipPrimitive.Root;\nconst TooltipRoot = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\n// const TooltipArrow = TooltipPrimitive.Arrow;\n\nconst TooltipPortal = TooltipPrimitive.Portal;\n\nconst tooltipVariants = tv({\n base: [\n \"oui-z-50\",\n \"oui-overflow-hidden\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n \"oui-px-2\",\n \"oui-py-1\",\n \"oui-text-xs\",\n \"oui-text-base-contrast\",\n \"oui-animate-in\",\n \"oui-fade-in-0\",\n \"oui-zoom-in-95\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n});\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => {\n return (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={tooltipVariants({\n className,\n })}\n {...props}\n />\n );\n});\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = (props: {\n className?: string;\n style?: React.CSSProperties;\n}) => {\n const { className, ...arrowProps } = props;\n return (\n <TooltipPrimitive.Arrow\n width={12}\n height={6}\n {...arrowProps}\n className={cn(\n \"oui-fill-base-8\",\n className,\n )({\n twMerge: true,\n })}\n />\n );\n};\n\nexport type TooltipProps = Omit<\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root> &\n React.ComponentPropsWithoutRef<typeof TooltipContent>,\n \"content\"\n> & {\n className?: string;\n content?: React.ReactNode;\n arrow?: TooltipPrimitive.TooltipArrowProps;\n};\n\nconst Tooltip = React.forwardRef<\n React.ElementRef<typeof TooltipContent>,\n TooltipProps\n>((originalProps, ref) => {\n const {\n children,\n content,\n defaultOpen,\n open,\n onOpenChange,\n delayDuration,\n disableHoverableContent,\n arrow,\n ...props\n } = originalProps;\n const { className, ...arrowProps } = arrow || {};\n return (\n <TooltipPrimitive.Root\n defaultOpen={defaultOpen}\n open={open}\n onOpenChange={onOpenChange}\n delayDuration={delayDuration}\n disableHoverableContent={disableHoverableContent}\n >\n <TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>\n <TooltipPortal>\n <TooltipContent ref={ref} {...props}>\n {content}\n <TooltipArrow {...arrow} />\n </TooltipContent>\n </TooltipPortal>\n </TooltipPrimitive.Root>\n );\n});\n\nTooltip.displayName = \"Tooltip\";\n\nexport {\n Tooltip,\n TooltipRoot,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipArrow,\n TooltipPortal,\n};\n","export { currencyFormatter } from \"./currency\";\n\nexport { numberFormatter } from \"./number\";\n\nexport { createRegexInputFormatter } from \"./regex\";\n\nexport { dpFormatter } from \"./dp\";\n\nexport { rangeFormatter } from \"./range\";\n\nexport { identifierFormatter } from \"./identifier\";\n\nexport { decimalPointFormatter } from \"./decimalPoint\";","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\nimport { commify } from \"@kodiak-finance/orderly-utils\";\n\nexport const currencyFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n return commify(value);\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n\n value = value.replace(/,/g, \"\");\n\n return value;\n },\n};\n","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\nexport const numberFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n return \"\" + value;\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value.startsWith(\".\")) return `0${value}`;\n if (value === '00') return '0';\n\n // if (/^0{2,}$/.test(value)) {\n // return \"0\";\n // }\n\n value = value\n .replace(/[^\\d.]/g, \"\")\n .replace(\".\", \"$#$\")\n .replace(/\\./g, \"\")\n .replace(\"$#$\", \".\");\n\n return value;\n },\n};\n","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\ntype RegExpFunction = (value: string | number) => string;\n\ntype RegexInputFormatter = (regex: RegExp | RegExpFunction) => InputFormatter;\n\nexport const createRegexInputFormatter: RegexInputFormatter = (\n regex: RegExp | RegExpFunction,\n onSendBefore?: (value: string, options: InputFormatterOptions) => string,\n) => ({\n onRenderBefore: (\n value: string | number,\n options: InputFormatterOptions,\n ): string => {\n if (typeof regex === \"function\") {\n return regex(String(value));\n }\n const formattedValue = `${value}`.replace(regex, \"\");\n return formattedValue;\n },\n onSendBefore: (value: string, options: InputFormatterOptions): string => {\n return onSendBefore?.(value, options) || value;\n },\n});\n","import { InputFormatterOptions } from \"./inputFormatter\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\n\nexport const dpFormatter = (\n dp: number,\n config?: {\n /**\n * The rounding mode to use when rounding the number\n * @default Decimal.ROUND_DOWN\n */\n roundingMode?: number;\n }\n) => {\n const onBefore = (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n // if (config && config.tick !== null) {\n // return utils.formatNumber(value, config.tick) ?? value;\n // }\n return truncateNumber(value, dp);\n // const { roundingMode = Decimal.ROUND_DOWN } = config ?? {};\n // let d = new Decimal(value);\n // d = d.todp(dp, roundingMode);\n // return d.toString();\n };\n\n return {\n onRenderBefore: onBefore,\n onSendBefore: onBefore,\n };\n};\n\n/**\n * Truncate a number to a specified number of decimal places.\n * @param num The string to be truncated.\n * @param decimalPlaces The number of decimal places to keep.\n * @returns The truncated number as a string.\n */\nfunction truncateNumber(numStr: string, decimalPlaces: number): string {\n // Convert the number to a string\n // const numStr = typeof num ==='number'? num.toString():num;\n\n // Find the position of the decimal point\n const decimalIndex = numStr.indexOf(\".\");\n\n // If there's no decimal point or we don't need to truncate, return the number as is\n if (decimalIndex === -1 || decimalPlaces <= 0) {\n return numStr.split(\".\")[0];\n }\n\n // Calculate the end position for the substring\n const endIndex = decimalIndex + decimalPlaces + 1;\n\n // Return the truncated string\n return numStr.substring(0, endIndex);\n}\n","import { InputFormatterOptions } from \"./inputFormatter\";\n\nexport const rangeFormatter = (props: {\n max: number;\n min: number;\n dp?: number;\n}) => {\n const onBefore = (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n\n // Handle empty value or value ending with decimal point\n if (value === \".\") return \"0.\";\n if (!value || value.endsWith(\".\")) return value;\n\n const { max, min, dp } = props;\n\n const numValue = Number(value);\n\n // Handle invalid number\n if (isNaN(numValue)) {\n return \"\";\n }\n\n if (numValue < min) {\n return min.toString();\n }\n\n if (numValue > max) {\n return max.toString();\n }\n\n // Handle decimal places if dp is specified\n if (dp !== undefined && value.includes(\".\")) {\n const [integer, decimal] = value.split(\".\");\n // if decimal length is more than dp, return value without the last digit\n return decimal?.length <= dp ? value : value.slice(0, -1);\n }\n\n return value;\n };\n\n return {\n onRenderBefore: onBefore,\n onSendBefore: onBefore,\n };\n};\n","import { InputFormatterOptions } from \"./inputFormatter\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\n\nexport const identifierFormatter = (\n// props: {\n// integer?: string;\n// negative?: string;\n// }\n) => {\n // const {\n // integer = '+',\n // negative = '-',\n // } = props;\n\n const integer = '+';\n const negative = '-';\n return {\n onRenderBefore: (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n const _value = Number(value);\n if (_value) {\n // greater than 0 && not start with +\n if (_value > 0 && !value.startsWith(integer)) return integer + value;\n // greater less 0 && not start with -\n if (_value < 0 && !value.startsWith(negative)) return negative + value;\n }\n return value;\n },\n onSendBefore: (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n const _value = Number(value);\n if (_value) {\n // greater than 0\n if (_value > 0) return value.replace(integer, \"\");\n }\n return value;\n },\n };\n};\n\n","import { commify } from \"@kodiak-finance/orderly-utils\";\nimport { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\nexport const decimalPointFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n return String(value);\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n return replaceComma(value, options?.originValue);\n },\n};\n\nconst replaceComma = (value: string, originValue?: string) => {\n if (value === null || value === undefined) return \"\";\n if (value.endsWith(\",\")) {\n return value.slice(0, -1) + \".\";\n }\n if (value.startsWith(\",\")) {\n return value.slice(0, 1) + \".\";\n }\n\n const originFormatValue = commify(originValue as string)\n if (\n originValue &&\n value.length > originFormatValue.length &&\n value.length - originFormatValue.length === 1\n ) {\n return findAndReplace(value, originFormatValue);\n }\n return value;\n};\n\nconst findAndReplace = (str1: string, str2: string) => {\n if (str1.length <= str2.length) {\n return str1;\n }\n\n for (let i = 0; i < str2.length; i++) {\n if (str1[i] !== str2[i]) {\n const differentChar = str1[i];\n const newChar = differentChar === \",\" ? \".\" : differentChar;\n return str1.slice(0, i) + newChar + str1.slice(i + 1);\n }\n }\n return str1;\n};\n","import React from \"react\";\nimport { Input, InputProps } from \"./input\";\nimport { InputHelpText, type InputHelpTextVariantProps } from \"./inputHelpText\";\nimport { tv } from \"../utils/tv\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cn } from \"..\";\n\nconst textFieldVariants = tv({\n slots: {\n root: \"oui-flex\",\n label: \"oui-text-sm oui-font-semibold\",\n input: [],\n },\n variants: {\n direction: {\n column: {\n root: \"oui-flex-col oui-space-y-1\",\n },\n row: {\n root: \"oui-flex-row oui-space-x-3 \",\n },\n },\n },\n defaultVariants: {\n direction: \"column\",\n },\n});\n\nexport type TextFieldProps = InputProps & {\n label: string;\n helpText?: string;\n classNames?: {\n root?: string;\n label?: string;\n input?: string;\n };\n} & VariantProps<typeof textFieldVariants>;\n\nexport const TextField: React.FC<TextFieldProps> = React.forwardRef<\n HTMLDivElement,\n TextFieldProps\n>((props, ref) => {\n const { label, helpText, direction, className, ...inputProps } = props;\n const { root, label: labelClassName } = textFieldVariants({ direction });\n\n return (\n <div className={root({ className, direction })}>\n <InputLabel className={cn(props.classNames?.label) || labelClassName()}>\n {label}\n </InputLabel>\n <div>\n <Input {...inputProps} />\n {(helpText?.length || 0 > 0) && (\n <InputHelpText\n color={inputProps.color as InputHelpTextVariantProps[\"color\"]}\n >\n {helpText}\n </InputHelpText>\n )}\n </div>\n </div>\n );\n});\n\nTextField.displayName = \"TextField\";\n\ninterface InputLabelProps extends React.HTMLAttributes<HTMLLabelElement> {\n asChild?: boolean;\n}\n\nconst InputLabel = React.forwardRef<HTMLLabelElement, InputLabelProps>(\n (props, ref) => {\n const { asChild = false, className, ...rest } = props;\n const Comp = asChild ? Slot : \"label\";\n\n return (\n <Comp className={className} ref={ref} {...rest}>\n {props.children}\n </Comp>\n );\n }\n);\n\nInputLabel.displayName = \"InputLabel\";\n","import { Slot } from \"@radix-ui/react-slot\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\nimport React from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nconst inputHelpTextVariants = tv({\n base: [\n \"oui-text-xs\",\n \"oui-text-base-contrast-36\",\n \"oui-mt-1\",\n \"oui-list-disc\",\n \"oui-list-inside\",\n \"oui-list-item\",\n ],\n variants: {\n color: {\n success: [\"oui-text-success\"],\n danger: [\"oui-text-danger\"],\n warning: [\"oui-text-warning-darken\"],\n default: [\"oui-text-base-contrast-54\"],\n },\n },\n});\n\nexport type InputHelpTextVariantProps = VariantProps<\n typeof inputHelpTextVariants\n>;\n\ninterface InputHelpTextProps\n extends ComponentPropsWithout<\"div\", RemovedProps>,\n InputHelpTextVariantProps {\n asChild?: boolean;\n}\n\nconst InputHelpText = React.forwardRef<HTMLDivElement, InputHelpTextProps>(\n (props, ref) => {\n const { className, asChild, color, ...rest } = props;\n const Comp = asChild ? Slot : \"div\";\n return (\n <Comp\n ref={ref}\n className={inputHelpTextVariants({\n className,\n color,\n })}\n {...rest}\n />\n );\n }\n);\n\nInputHelpText.displayName = \"InputHelpText\";\n\nexport { InputHelpText, inputHelpTextVariants };\n\nexport { type InputHelpTextProps };\n","import { QuantityInput } from \"./extends/quantity\";\nimport { Input as InputBase, inputVariants } from \"./input\";\nimport { InputWithTooltip } from \"./input.tooltip\";\n\nexport { InputAdditional } from \"./inputAdditional\";\n\nexport type { InputProps } from \"./input\";\nexport type { InputWithTooltipProps } from \"./input.tooltip\";\nexport * as inputFormatter from \"./formatter\";\n\nexport type {\n InputFormatter,\n InputFormatterOptions,\n} from \"./formatter/inputFormatter\";\n\nexport { TextField } from \"./textField\";\n\nexport { type TextFieldProps } from \"./textField\";\n\nexport { InputHelpText } from \"./inputHelpText\";\nexport type { InputHelpTextProps } from \"./inputHelpText\";\n\ntype InputType = typeof InputBase & {\n token: typeof QuantityInput;\n tooltip: typeof InputWithTooltip;\n};\n\nconst Input = InputBase as InputType;\nInput.token = QuantityInput;\nInput.tooltip = InputWithTooltip;\n\nexport { Input, inputVariants };\n","import * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { tv, cnBase } from \"tailwind-variants\";\n\nconst checkboxVariants = tv({\n base: [\n \"peer\",\n \"oui-h-3\",\n \"oui-w-3\",\n \"oui-shrink-0\",\n \"oui-rounded-sm\",\n \"oui-border\",\n \"focus-visible:oui-outline-none\",\n // \"focus-visible:oui-ring-1\",\n // \"focus-visible:oui-ring-ring\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n // \"data-[state=checked]:oui-border-none\",\n // \"data-[state=checked]:oui-text-base-contrast\",\n ],\n variants: {\n color: {\n primary: \"oui-border-primary data-[state=checked]:oui-text-base-contrast\",\n white: \"oui-border-base-contrast-54 \",\n // data-[state=checked]:oui-bg-white/80 data-[state=checked]:oui-text-[rgba(0,0,0,0.88)]\n },\n variant: {\n checkBox: \"data-[state=checked]:oui-border-none\",\n radio:\n \"oui-rounded-full data-[state=checked]:oui-border-base-contrast-20 data-[state=checked]:oui-bg-transparent\",\n },\n },\n compoundVariants: [\n {\n color: \"primary\",\n variant: \"radio\",\n className:\n \"data-[state=checked]:oui-border-parimary data-[state=checked]:!oui-text-parimary\",\n },\n ],\n defaultVariants: {\n color: \"white\",\n // style: \"checkBox\",\n },\n});\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & {\n size?: number;\n indicatorClassName?: string;\n color?: \"primary\" | \"white\";\n variant?: \"checkBox\" | \"radio\";\n }\n>(({ className, color = \"white\", variant = \"checkBox\", ...props }, ref) => {\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n className={checkboxVariants({ color, className, variant })}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cnBase(\n \"oui-flex oui-items-center oui-justify-center oui-text-current\",\n props.indicatorClassName\n )}\n >\n {variant === \"checkBox\" ? (\n <CheckboxIcon\n className={cnBase(\n color === \"primary\" ? \"oui-text-primary\" : \"oui-text-white\"\n )}\n />\n ) : (\n <div\n className={cnBase(\n \"oui-w-[6px] oui-h-[6px] oui-rounded-full\",\n color === \"primary\" ? \"oui-bg-primary\" : \"oui-bg-base-contrast-80\"\n )}\n />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n});\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n\nexport const CheckboxIcon: React.FC<React.SVGProps<SVGSVGElement>> = (\n props\n) => (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.078.71A2.333 2.333 0 0 0 .745 3.041v5.834a2.333 2.333 0 0 0 2.333 2.333H8.91a2.333 2.333 0 0 0 2.334-2.333V3.042A2.333 2.333 0 0 0 8.91.71zm5.83 2.555a.7.7 0 0 1 .488-.182c.174 0 .355.056.488.182a.643.643 0 0 1 0 .93L5.129 8.728a.723.723 0 0 1-.975 0L2.115 6.785a.644.644 0 0 1 0-.93.724.724 0 0 1 .977 0l1.55 1.476z\"\n fillOpacity=\".8\"\n />\n </svg>\n);\n","import React from \"react\";\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"..\";\n\nconst switchVariants = tv({\n slots: {\n root: [\n \"peer\",\n \"oui-inline-flex\",\n \"oui-h-[16px]\",\n \"oui-w-[28px]\",\n \"oui-shrink-0\",\n \"oui-cursor-pointer\",\n \"oui-items-center\",\n \"oui-rounded-full\",\n // \"oui-border-3\",\n \"oui-border-transparent\",\n \"oui-shadow-sm\",\n \"oui-transition-colors\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n \"focus-visible:oui-ring-offset-background\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n \"data-[state=checked]:oui-bg-primary-darken\",\n \"data-[state=unchecked]:oui-bg-input\",\n ],\n thumb: [\n \"oui-pointer-events-none\",\n \"oui-block\",\n \"oui-h-[10px]\",\n \"oui-w-[10px]\",\n \"oui-rounded-full\",\n // \"oui-bg-white/80\",\n \"oui-bg-primary-contrast\",\n \"oui-shadow-lg\",\n \"oui-ring-0\",\n \"oui-transition-transform\",\n \"data-[state=checked]:oui-translate-x-[15px]\",\n \"data-[state=unchecked]:oui-translate-x-[3px]\",\n ],\n },\n variants: {\n color: {\n primary: {\n root: [\n \"data-[state=checked]:oui-bg-primary-darken\",\n \"data-[state=unchecked]:oui-bg-base-1\",\n ],\n },\n success: {\n root: [\n \"data-[state=checked]:oui-bg-success\",\n \"data-[state=unchecked]:oui-bg-success\",\n ],\n },\n danger: {\n root: [\n \"data-[state=checked]:oui-bg-danger\",\n \"data-[state=unchecked]:oui-bg-danger\",\n ],\n },\n warning: {\n root: [\n \"data-[state=checked]:oui-bg-warning-darken\",\n \"data-[state=unchecked]:oui-bg-warning-darken\",\n ],\n },\n },\n },\n defaultVariants: {\n color: \"primary\",\n },\n});\n\ninterface SwitchProps\n extends VariantProps<typeof switchVariants>,\n Omit<\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>,\n \"color\"\n > {}\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n SwitchProps\n>(({ className, color, ...props }, ref) => {\n const { root, thumb } = switchVariants({\n className,\n color,\n });\n\n return (\n <SwitchPrimitives.Root className={root({ className })} {...props} ref={ref}>\n <SwitchPrimitives.Thumb className={thumb()} />\n </SwitchPrimitives.Root>\n );\n});\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst badgeVariants = tv({\n base: \"oui-inline-flex oui-items-center oui-rounded-md oui-font-semibold oui-transition-colors focus:oui-outline-none focus:oui-ring-2 focus:oui-ring-ring focus:oui-ring-offset-2\",\n\n variants: {\n variant: {\n contained: \"\",\n // outlined: \"oui-border\",\n text: \"\",\n },\n color: {\n primary: \"\",\n primaryLight: \"\",\n secondary: \"\",\n danger: \"\",\n buy: \"\",\n success: \"\",\n warning: \"\",\n sell: \"\",\n neutral: \"\",\n },\n size: {\n xs: \"oui-px-2 oui-py-0.5 oui-text-2xs oui-rounded oui-h-[18px]\",\n sm: \"oui-px-2 oui-py-0.5 oui-text-2xs oui-rounded\",\n md: \"oui-px-2 oui-py-0.5 oui-text-sm\",\n lg: \"oui-px-2 oui-py-1 oui-text-base\",\n // xl: \"oui-px-4 oui-py-1.5 oui-text-sm\",\n },\n // dot:{\n // true: \"oui-w-2 oui-h-2 oui-rounded-full\",\n // false: \"\"\n // }\n },\n compoundVariants: [\n {\n variant: \"contained\",\n color: \"primary\",\n className: [\"oui-bg-primary/15\", \"oui-text-primary\"],\n },\n {\n variant: \"contained\",\n color: \"primaryLight\",\n className: [\"oui-bg-primary-light/15\", \"oui-text-primary-light\"],\n },\n {\n variant: \"contained\",\n color: \"danger\",\n className: [\"oui-bg-danger/15\", \"oui-text-danger\"],\n },\n {\n variant: \"contained\",\n color: \"sell\",\n className: [\"oui-bg-danger/15\", \"oui-text-danger\"],\n },\n {\n variant: \"contained\",\n color: \"success\",\n className: [\"oui-bg-success/15\", \"oui-text-success\"],\n },\n {\n variant: \"contained\",\n color: \"buy\",\n className: [\"oui-bg-success/15\", \"oui-text-success\"],\n },\n {\n variant: \"contained\",\n color: \"warning\",\n className: [\"oui-bg-warning-darken/15\", \"oui-text-warning-darken\"],\n },\n {\n variant: \"contained\",\n color: \"neutral\",\n className: [\"oui-bg-line\", \"oui-text-base-contrast-36\"],\n },\n {\n variant: \"text\",\n color: \"primary\",\n className: [\"oui-text-primary\"],\n },\n {\n variant: \"text\",\n color: \"danger\",\n className: [\"oui-text-danger\"],\n },\n {\n variant: \"text\",\n color: \"success\",\n className: [\"oui-text-success\"],\n },\n {\n variant: \"text\",\n color: \"warning\",\n className: [\"oui-text-warning-darken\"],\n },\n {\n variant: \"text\",\n color: \"neutral\",\n className: [\"oui-text-base-contrast-36\"],\n },\n ],\n defaultVariants: {\n variant: \"contained\",\n color: \"primary\",\n size: \"md\",\n },\n});\n\nexport interface BadgeProps\n extends ComponentPropsWithout<\"div\", RemovedProps>,\n VariantProps<typeof badgeVariants> {\n // dot?: boolean;\n}\n\nfunction Badge({ className, variant, color, size, ...props }: BadgeProps) {\n return (\n <div\n className={badgeVariants({ variant, className, color, size })}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n","import React, { ElementRef, HTMLAttributes } from \"react\";\n\ntype Elment = ElementRef<\"div\">;\n\ntype LogoProps = HTMLAttributes<Elment> & {\n src: string;\n alt?: string;\n href?: string;\n};\n\nconst Logo = React.forwardRef<Elment, LogoProps>(({ src, alt, href }, ref) => {\n return (\n <div className=\"logo oui-px-3\" ref={ref}>\n <a href={href ?? \"/\"}>\n <img\n src={src}\n alt={alt}\n className=\"oui-object-contain oui-h-8 oui-py-2\"\n />\n </a>\n </div>\n );\n});\n\nLogo.displayName = \"LogoElement\";\n\nexport { Logo };\nexport type { LogoProps };\n","import { PropsWithChildren, ReactNode, useEffect, useMemo } from \"react\";\nimport {\n getCoreRowModel,\n useReactTable,\n getExpandedRowModel,\n Row,\n getSortedRowModel,\n CoreOptions,\n ColumnFilter,\n getFilteredRowModel,\n RowSelectionState,\n TableFeature,\n Table,\n Column as TanstackColumn,\n ExpandedState,\n OnChangeFn,\n} from \"@tanstack/react-table\";\nimport { cnBase, cn } from \"tailwind-variants\";\nimport { useInit } from \"./hooks/useInit\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport { useShowHeader } from \"./hooks/useShowHeader\";\nimport { useShowPagination } from \"./hooks/useShowPagination\";\nimport { useSort } from \"./hooks/useSort\";\nimport { useWrap } from \"./hooks/useWrap\";\nimport { TableBody } from \"./tableBody\";\nimport { TableHeader } from \"./tableHeader\";\nimport { TablePagination } from \"./tablePagination\";\nimport { TablePlaceholder } from \"./tablePlaceholder\";\nimport { Transform } from \"./transform\";\nimport {\n Column,\n PaginationMeta,\n TableSort,\n DataTableClassNames,\n TableCellContext,\n} from \"./type\";\n\nexport type DataTableProps<RecordType> = {\n columns: Column<RecordType>[];\n dataSource?: RecordType[] | ReadonlyArray<RecordType> | null;\n /**\n * @description loading state\n * @default false\n */\n loading?: boolean;\n // isValidating?: boolean;\n ignoreLoadingCheck?: boolean;\n className?: string;\n classNames?: DataTableClassNames;\n // showMaskElement?: boolean;\n emptyView?: ReactNode;\n bordered?: boolean;\n // loadMore?: () => void;\n onSort?: (sort?: TableSort) => void;\n initialSort?: TableSort;\n id?: string;\n // minHeight?: number;\n // initialMinHeight?: number;\n getRowCanExpand?: (row: Row<any>) => boolean;\n expandRowRender?: (row: Row<any>, index: number) => ReactNode;\n expanded?: ExpandedState;\n onExpandedChange?: OnChangeFn<ExpandedState>;\n getSubRows?: (record: any, index: number) => undefined | any[];\n manualSorting?: boolean;\n manualPagination?: boolean;\n manualFiltering?: boolean;\n pagination?: PaginationMeta;\n renderRowContainer?: (\n record: RecordType,\n index: number,\n children: ReactNode,\n context: Row<RecordType>,\n ) => ReactNode;\n generatedRowKey?: CoreOptions<any>[\"getRowId\"];\n onRow?: (record: RecordType, index: number, context: Row<RecordType>) => any;\n onCell?: (\n column: TanstackColumn<any>,\n record: RecordType,\n index: number,\n context: TableCellContext,\n ) => any;\n columnFilters?: ColumnFilter | ColumnFilter[];\n rowSelection?: RowSelectionState;\n\n // test id\n testIds?: {\n body?: string;\n };\n features?: TableFeature[];\n getTableInstance?: (table: Table<RecordType>) => void;\n};\n\nexport function DataTable<RecordType extends any>(\n props: PropsWithChildren<DataTableProps<RecordType>>,\n) {\n const {\n columns,\n className,\n classNames,\n pagination,\n getRowCanExpand,\n manualPagination,\n loading,\n ignoreLoadingCheck,\n emptyView,\n initialSort,\n manualSorting,\n onSort,\n expanded,\n onExpandedChange,\n } = props;\n\n const [sorting, setSorting] = useSort({\n onSort,\n initialSort,\n });\n\n // Check if we need to override manualSorting for multiSort columns\n const hasMultiSortColumns = useMemo(() => {\n return columns.some((col) => col.multiSort && !col.multiSort.onSort);\n }, [columns]);\n\n // For multiSort columns, check if current sorting is a multiSort field\n const effectiveManualSorting = useMemo(() => {\n if (!hasMultiSortColumns) {\n return manualSorting;\n }\n\n // If current sorting is a multiSort field, use manual sorting\n if (sorting.length > 0) {\n const currentSort = sorting[0];\n const sortId = currentSort.id;\n\n const isMultiSortField = columns.some((col) =>\n col.multiSort?.fields?.some((field) => field.sortKey === sortId),\n );\n\n return isMultiSortField; // Use manual sorting for multiSort fields\n }\n\n return false; // Use client-side sorting for regular columns\n }, [hasMultiSortColumns, manualSorting, sorting, columns]);\n\n const dataSource = useMemo(() => {\n return Transform.dataSource(props.dataSource || [], columns, sorting);\n }, [props.dataSource, columns, sorting]);\n\n const formatColumns = useMemo(\n () => Transform.columns(columns, sorting, setSorting),\n [columns, sorting, setSorting],\n );\n\n const columnPinning = useMemo(\n () => Transform.columnPinning(columns),\n [columns],\n );\n\n const rowSelection = useMemo(\n () => props.rowSelection || {},\n [props.rowSelection],\n );\n\n const { state: paginationState, config: paginationConfig } = useMemo(\n () => Transform.pagination(pagination),\n [pagination],\n );\n\n // const { state: sortState, config: sortConfig } = useMemo(\n // () => Transform.sorting(onSort, initialSort),\n // [onSort, initialSort]\n // );\n\n const initialized = useInit({ dataSource, loading, ignoreLoadingCheck });\n\n const columnFilters = useMemo(() => {\n return Array.isArray(props.columnFilters)\n ? (props.columnFilters as ColumnFilter[])\n : props.columnFilters\n ? [props.columnFilters]\n : [];\n }, [props.columnFilters]);\n\n const table = useReactTable({\n _features: props.features,\n data: dataSource! as RecordType[],\n columns: formatColumns,\n state: {\n columnPinning,\n columnFilters,\n rowSelection,\n sorting,\n expanded,\n ...paginationState,\n // ...sortState,\n },\n onSortingChange: setSorting,\n // onColumnFiltersChange: setColumnFilters,\n getRowId: props.generatedRowKey,\n getCoreRowModel: getCoreRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n getRowCanExpand,\n onExpandedChange,\n getSubRows: props.getSubRows,\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n // use pre-sorted row model instead of sorted row model, but force client-side for multiSort\n manualSorting: effectiveManualSorting,\n // turn off client-side pagination\n manualPagination,\n // only allow a single row to be selected at once\n enableMultiRowSelection: false,\n enableExpanding: true,\n ...paginationConfig,\n // ...sortConfig,\n });\n\n useEffect(() => {\n props.getTableInstance?.(table);\n }, [table]);\n\n const wrapRef = useWrap([className, classNames?.root]);\n const { scrollRef, showLeftShadow, showRightShadow } = useScroll([\n dataSource?.length,\n ]);\n\n // filter data\n const rows = table.getRowModel().rows;\n\n const showPlaceholder = initialized && (rows.length === 0 || loading);\n\n const showHeader = useShowHeader({\n loading,\n dataSource,\n });\n\n const showPagination = useShowPagination({\n loading,\n dataSource,\n rows,\n pagination,\n });\n\n return (\n <div\n ref={wrapRef}\n id={props.id}\n className={cn(\n \"oui-table-root oui-size-full\",\n \"oui-bg-base-9\",\n className,\n classNames?.root,\n )({\n twMerge: true,\n })}\n >\n <div\n ref={scrollRef}\n className={cn(\n \"oui-table-scroll oui-relative\",\n \"oui-min-h-[162px] oui-w-full\",\n \"oui-text-xs oui-font-semibold\",\n \"oui-custom-scrollbar oui-overflow-auto\",\n showPagination ? \"oui-h-[calc(100%_-_40px)]\" : \"oui-h-full\",\n classNames?.scroll,\n )({\n twMerge: true,\n })}\n >\n <table\n className={cnBase(\n \"oui-w-full oui-px-2\",\n \"oui-table-fixed oui-border-collapse\",\n )}\n >\n {showHeader && (\n <TableHeader\n className={classNames?.header}\n headerGroups={table.getHeaderGroups()}\n bordered={props.bordered}\n showLeftShadow={showLeftShadow}\n showRightShadow={showRightShadow}\n sorting={sorting}\n />\n )}\n\n <TableBody\n className={classNames?.body}\n rows={rows}\n bordered={props.bordered}\n renderRowContainer={props.renderRowContainer}\n expandRowRender={props.expandRowRender}\n onRow={props.onRow}\n onCell={props.onCell}\n showLeftShadow={showLeftShadow}\n showRightShadow={showRightShadow}\n testId={props.testIds?.body}\n />\n </table>\n\n <TablePlaceholder\n visible={showPlaceholder}\n loading={loading}\n emptyView={emptyView}\n className={classNames?.empty}\n />\n </div>\n\n {showPagination && (\n <TablePagination\n className={classNames?.pagination}\n count={pagination?.count || rows?.length}\n pageTotal={pagination?.pageTotal || table.getPageCount()}\n page={pagination?.page!}\n pageSize={pagination?.pageSize}\n onPageChange={pagination?.onPageChange}\n onPageSizeChange={pagination?.onPageSizeChange}\n generatePageNumbers={pagination?.generatePageNumbers}\n hideRowsPerPage={pagination?.hideRowsPerPage}\n />\n )}\n </div>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\n\nexport function useInit(\n params: Pick<\n DataTableProps<any>,\n \"dataSource\" | \"loading\" | \"ignoreLoadingCheck\"\n >\n) {\n const { dataSource, loading, ignoreLoadingCheck } = params;\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (initialized) return;\n\n if (ignoreLoadingCheck || loading || Array.isArray(dataSource)) {\n setInitialized(true);\n }\n }, [loading, ignoreLoadingCheck, dataSource, initialized]);\n\n return initialized;\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nexport function useScroll(deps: any[]) {\n const scrollRef = useRef<HTMLDivElement>(null);\n const [showLeftShadow, setShowLeftShadow] = useState(false);\n const [showRightShadow, setShowRightShadow] = useState(false);\n\n useEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n\n scrollRef.current.addEventListener(\"scroll\", function (e) {\n setShowLeftShadow(scrollRef.current!.scrollLeft > 0);\n setShowRightShadow(!isScrolledToRight(scrollRef.current!));\n });\n }, [scrollRef]);\n\n useEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n\n const scrollAble = hasHorizontalScroll(scrollRef.current);\n const scrollEnd = isScrolledToRight(scrollRef.current);\n\n setShowRightShadow(scrollAble && !scrollEnd);\n }, [scrollRef, ...deps]);\n\n return {\n scrollRef,\n showLeftShadow,\n showRightShadow,\n };\n}\n\nfunction isScrolledToRight(element: HTMLDivElement) {\n return element.scrollLeft + element.clientWidth >= element.scrollWidth;\n}\n\nfunction hasHorizontalScroll(element: HTMLDivElement) {\n return element.scrollWidth > element.clientWidth;\n}\n\nfunction hasVerticalScroll(element: HTMLDivElement) {\n return element.scrollHeight > element.clientHeight;\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\n\nexport function useShowHeader(\n params: Pick<DataTableProps<any>, \"dataSource\" | \"loading\">\n) {\n const { dataSource, loading } = params;\n\n const initShowHeader = useRef(false);\n\n const showHeader = useMemo(() => {\n if (loading && !dataSource?.length) {\n return initShowHeader.current;\n }\n\n return !!dataSource?.length;\n }, [loading, dataSource]);\n\n useEffect(() => {\n if (showHeader) {\n initShowHeader.current = true;\n }\n }, [showHeader]);\n\n return showHeader;\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\nimport { Row } from \"@tanstack/react-table\";\n\nexport function useShowPagination(\n params: Pick<DataTableProps<any>, \"dataSource\" | \"loading\" | \"pagination\"> & {\n rows: Row<any>[];\n }\n) {\n const { loading, dataSource, pagination, rows } = params;\n\n const initShowPagination = useRef(false);\n\n const showPagination = useMemo(() => {\n if (loading && !dataSource?.length) {\n return initShowPagination.current;\n }\n\n if (pagination && dataSource?.length && rows?.length) {\n return true;\n }\n\n return false;\n }, [loading, pagination, dataSource, rows]);\n\n useEffect(() => {\n if (showPagination) {\n initShowPagination.current = true;\n }\n }, [showPagination]);\n\n return showPagination;\n}\n","import { useEffect, useState } from \"react\";\nimport { SortingState } from \"@tanstack/react-table\";\nimport { TableSort } from \"../type\";\n\nexport function useSort(props: {\n onSort?: (sort?: TableSort) => void;\n initialSort?: TableSort;\n}) {\n const { onSort, initialSort } = props;\n\n const [sorting, setSorting] = useState<SortingState>(\n initialSort\n ? [\n {\n id: initialSort.sortKey,\n desc: initialSort.sort === \"desc\",\n },\n ]\n : []\n );\n\n useEffect(() => {\n const { id, desc } = sorting[0] || {};\n onSort?.(id ? { sortKey: id, sort: desc ? \"desc\" : \"asc\" } : undefined);\n }, [sorting, onSort]);\n\n return [sorting, setSorting] as const;\n}\n","import { useEffect, useRef } from \"react\";\n\nexport function useWrap(deps: any[]) {\n const wrapRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!wrapRef.current) return;\n\n const bgColor = window.getComputedStyle(wrapRef.current).backgroundColor;\n\n wrapRef.current.style.setProperty(\"--oui-table-background-color\", bgColor);\n }, deps);\n\n return wrapRef;\n}\n","import React, { FC, Fragment } from \"react\";\nimport { Row } from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { alignVariants } from \"./className\";\nimport { DataTableProps } from \"./dataTable\";\nimport { TableCell } from \"./tableCell\";\nimport { getColumnPinningProps } from \"./utils/getColumnPinningProps\";\n\ntype TableBodyProps<RecordType> = {\n className?: string;\n rows: Row<RecordType>[];\n justified?: boolean;\n showLeftShadow?: boolean;\n showRightShadow?: boolean;\n testId?: string;\n} & Pick<\n DataTableProps<any>,\n \"bordered\" | \"onRow\" | \"onCell\" | \"renderRowContainer\" | \"expandRowRender\"\n>;\n\nexport const TableBody: React.FC<TableBodyProps<any>> = (props) => {\n return (\n <tbody\n className={cnBase(\n \"oui-table-tbody oui-relative\",\n \"oui-text-base-contrast-80\",\n props.className,\n )}\n data-testid={props.testId}\n >\n {props.rows.map((row) => {\n const { className, onClick, ...rest } =\n typeof props.onRow === \"function\"\n ? props.onRow(row.original, row.index, row) || {}\n : {};\n\n const expandView = row.getIsExpanded() && (\n <tr className=\"oui-table-expand-tr oui-z-0 [&>td:first-child]:oui-pl-3 [&>td:last-child]:oui-pr-3\">\n <td\n className=\"oui-table-expand-td\"\n colSpan={row.getVisibleCells().length}\n >\n {props.expandRowRender?.(row, row.index)}\n </td>\n </tr>\n );\n\n const rowView = (\n <Fragment key={row.id}>\n <tr\n key={row.id}\n className={cnBase(\n \"oui-table-tbody-tr oui-group oui-h-10\",\n \"[&>td:first-child]:oui-pl-3 [&>td:last-child]:oui-pr-3\",\n typeof onClick === \"function\" && \"oui-cursor-pointer\",\n props.bordered && \"oui-border-b oui-border-b-line-4\",\n className,\n )}\n onClick={onClick}\n {...rest}\n >\n {row.getVisibleCells().map((cell) => {\n const column = cell.column;\n const meta = column.columnDef.meta || ({} as any);\n const { align, className: rowClassName, hidden } = meta;\n\n // Skip rendering hidden columns\n if (hidden) {\n return null;\n }\n\n const { style: pinStyle, classNames: pinClassNames } =\n getColumnPinningProps(column);\n\n const {\n style: cellStyle,\n className: cellClassName,\n children,\n ...rest\n } = typeof props.onCell === \"function\"\n ? props.onCell(cell.column, row.original, row.index, cell) ||\n {}\n : {};\n\n const cellView =\n children !== undefined ? (\n children\n ) : (\n <>\n <TableCell cell={cell} />\n <CellHover\n selected={row.getIsSelected()}\n isFirst={column.getIsFirstColumn()}\n isLast={column.getIsLastColumn()}\n />\n </>\n );\n\n return (\n <td\n key={cell.id}\n style={{ ...pinStyle, ...cellStyle }}\n className={cnBase(\n \"oui-table-tbody-td oui-relative\",\n \"oui-px-1\",\n alignVariants({ align }),\n // rowClassName,\n typeof rowClassName === \"function\"\n ? rowClassName(row.original)\n : rowClassName,\n pinClassNames.content,\n props.showLeftShadow && pinClassNames.leftShadow,\n props.showRightShadow && pinClassNames.rightShadow,\n cellClassName,\n )}\n {...rest}\n >\n {cellView}\n </td>\n );\n })}\n </tr>\n\n {expandView}\n </Fragment>\n );\n\n if (typeof props.renderRowContainer === \"function\") {\n return (\n <Fragment key={row.id}>\n {props.renderRowContainer(row.original, row.index, rowView, row)}\n </Fragment>\n );\n }\n\n return rowView;\n })}\n </tbody>\n );\n};\n\ntype CellHoverProps = {\n selected: boolean;\n isFirst: boolean;\n isLast: boolean;\n};\n\nconst CellHover: FC<CellHoverProps> = ({ selected, isFirst, isLast }) => {\n return (\n <div\n className={cnBase(\n \"oui-absolute oui-left-0 oui-top-0 oui-z-[-1]\",\n \"oui-size-full\",\n \"group-hover:oui-bg-line-4\",\n selected && \"oui-bg-line-6 group-hover:oui-bg-line-6\",\n isFirst && \"oui-rounded-l\",\n isLast && \"oui-rounded-r\",\n )}\n />\n );\n};\n","import { tv } from \"tailwind-variants\";\n\nexport const alignVariants = tv({\n variants: {\n align: {\n left: \"oui-text-left\",\n center: \"oui-text-center\",\n right: \"oui-text-right\",\n },\n },\n defaultVariants: {\n align: \"left\",\n },\n});\n","import React, { ReactNode } from \"react\";\nimport { Cell, flexRender } from \"@tanstack/react-table\";\nimport { FormattedText, isTextRule } from \"../typography/formatted\";\nimport { isNumeralRule, Numeral } from \"../typography/numeral\";\nimport { Column } from \"./type\";\n\ntype TableCellProps = {\n cell: Cell<any, any>;\n};\n\nexport const TableCell: React.FC<TableCellProps> = (props) => {\n const { cell } = props;\n\n const { original: record, index } = cell.row;\n const { formatter, render, rule, textProps, numeralProps } = (cell.column\n .columnDef.meta || {}) as Column;\n\n let value = cell.getValue();\n\n if (typeof formatter === \"function\") {\n value = formatter(value, record, index);\n }\n\n if (typeof render === \"function\") {\n return render(value, record, index, cell);\n }\n\n if (typeof rule !== \"undefined\") {\n if (isTextRule(rule)) {\n const _textProps =\n typeof textProps === \"function\"\n ? textProps(value, record, index)\n : textProps;\n return (\n <FormattedText rule={rule} {..._textProps}>\n {value}\n </FormattedText>\n );\n }\n\n if (isNumeralRule(rule)) {\n const _numeralProps =\n typeof numeralProps === \"function\"\n ? numeralProps(value, record, index)\n : numeralProps;\n\n return (\n <Numeral rule={rule} {..._numeralProps}>\n {value}\n </Numeral>\n );\n }\n }\n\n return flexRender(cell.column.columnDef.cell, cell.getContext()) as ReactNode;\n};\n","import { CSSProperties } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { TanstackColumn } from \"../type\";\n\nexport function getColumnPinningProps(\n column: TanstackColumn<any>,\n isHeader?: boolean\n) {\n const isPinned = column.getIsPinned();\n const isLastLeftPinnedColumn =\n isPinned === \"left\" && column.getIsLastColumn(\"left\");\n const isFirstRightPinnedColumn =\n isPinned === \"right\" && column.getIsFirstColumn(\"right\");\n\n const style: CSSProperties = {\n left: isPinned === \"left\" ? `${column.getStart(\"left\")}px` : undefined,\n right: isPinned === \"right\" ? `${column.getAfter(\"right\")}px` : undefined,\n width: column.getSize(),\n };\n\n const contentCls = cnBase(\n isPinned ? \"oui-sticky\" : \"oui-relative\",\n isPinned ? \"oui-z-[1]\" : \"oui-z-0\",\n isPinned && \"oui-bg-[var(--oui-table-background-color)]\"\n );\n\n const shadowCls = cnBase(\n \"before:oui-block before:oui-absolute\",\n \"before:oui-w-[32px] before:oui-h-full\",\n \"before:oui-top-0 before:oui-z-[-1]\",\n \"before:oui-bg-[linear-gradient(90deg,rgba(var(--oui-color-base-10)_/_0.80)_0%,rgba(var(--oui-color-base-10)_/_0.36)_65%,rgba(var(--oui-color-base-10)_/_0.00)_100%)]\"\n );\n\n const leftShadow =\n isLastLeftPinnedColumn && cnBase(shadowCls, \"before:oui-right-[-32px]\");\n\n const rightShadow =\n isFirstRightPinnedColumn &&\n cnBase(shadowCls, \"before:oui-left-[-32px] before:oui-rotate-180\");\n\n return {\n style,\n classNames: {\n content: contentCls,\n leftShadow,\n rightShadow,\n },\n };\n}\n","import { FC } from \"react\";\nimport {\n HeaderGroup,\n SortDirection,\n SortingState,\n} from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { alignVariants } from \"./className\";\nimport { DataTableProps } from \"./dataTable\";\nimport { AscendingIcon, DescendingIcon, SortingIcon } from \"./icons\";\nimport { MultiSortHeader } from \"./multiSortHeader\";\nimport { getColumnPinningProps } from \"./utils/getColumnPinningProps\";\n\ntype TableHeaderProps = {\n className?: string;\n headerGroups: HeaderGroup<any>[];\n showLeftShadow?: boolean;\n showRightShadow?: boolean;\n sorting?: SortingState;\n} & Pick<DataTableProps<any>, \"bordered\">;\n\nexport const TableHeader: FC<TableHeaderProps> = (props) => {\n return (\n <thead\n className={cnBase(\n \"oui-table-thead\",\n \"oui-sticky oui-top-0 oui-z-[2]\",\n \"oui-bg-[var(--oui-table-background-color)]\",\n \"oui-text-base-contrast-36\",\n )}\n >\n {props.headerGroups.map((headerGroup) => (\n <tr\n key={headerGroup.id}\n className={cnBase(\n \"oui-table-thead-tr\",\n \"oui-h-10\",\n \"[&>th:first-child]:oui-pl-3 [&>th:last-child]:oui-pr-3\",\n props.className,\n )}\n >\n {headerGroup.headers.map((header) => {\n const column = header.column;\n const meta = column.columnDef.meta || ({} as any);\n const { align, className: rowClassName, title, hidden } = meta;\n\n // Skip rendering hidden columns\n if (hidden) {\n return null;\n }\n\n const { style: pinStyle, classNames: pinClassNames } =\n getColumnPinningProps(column, true);\n\n const canSort = column.getCanSort();\n const isSorted = column.getIsSorted();\n\n return (\n <th\n key={header.id}\n style={pinStyle}\n className={cnBase(\n \"oui-table-thead-th\",\n \"oui-whitespace-nowrap\",\n \"oui-px-1\",\n props.bordered &&\n \"after:oui-absolute after:oui-left-0 after:oui-top-0 after:oui-z-[-1] after:oui-block after:oui-size-full after:oui-border-b after:oui-border-line\",\n // use border-b will show bottom element content\n // props.bordered && \"oui-border-b oui-border-line\"\n alignVariants({ align }),\n rowClassName,\n pinClassNames.content,\n props.showLeftShadow && pinClassNames.leftShadow,\n props.showRightShadow && pinClassNames.rightShadow,\n )}\n >\n {header.isPlaceholder ? null : (column.columnDef.meta as any)\n ?.multiSort ? (\n <MultiSortHeader\n column={column.columnDef.meta as any}\n sorting={props.sorting}\n />\n ) : (\n <div\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n canSort &&\n \"oui-cursor-pointer oui-select-none hover:oui-text-base-contrast-80\",\n )}\n onClick={column.getToggleSortingHandler()}\n >\n {title}\n {canSort && (\n <SortIndicator isSorted={isSorted as SortDirection} />\n )}\n </div>\n )}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n );\n};\n\nconst SortIndicator: FC<{ isSorted: SortDirection }> = ({ isSorted }) => {\n return (\n {\n asc: <AscendingIcon />,\n desc: <DescendingIcon />,\n }[isSorted] || <SortingIcon />\n );\n};\n","import { PropsWithChildren } from \"react\";\n\nconst BaseSortIcon = (props: PropsWithChildren) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 10 10\"\n fill=\"none\"\n >\n {props.children}\n </svg>\n );\n};\n\nexport const SortingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042m0 7.916a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </BaseSortIcon>\n );\n};\n\nexport const AscendingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042\"\n fill=\"#fff\"\n fillOpacity=\".8\"\n />\n <path\n d=\"M5 8.958a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </BaseSortIcon>\n );\n};\n\nexport const DescendingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n <path\n d=\"M5 8.958a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".8\"\n />\n </BaseSortIcon>\n );\n};\n","import { FC } from \"react\";\nimport { SortingState } from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useMultiSort } from \"./hooks/useMultiSort\";\nimport { AscendingIcon, DescendingIcon, SortingIcon } from \"./icons\";\nimport { Column, SortOrder } from \"./type\";\n\nexport type MultiSortHeaderProps = {\n column: Column<any>;\n className?: string;\n sorting?: SortingState;\n};\n\nexport const MultiSortHeader: FC<MultiSortHeaderProps> = ({\n column,\n className,\n sorting,\n}) => {\n const { multiSort, title } = column;\n\n if (!multiSort) {\n return <span>{title}</span>;\n }\n\n // Extract current sorting state\n const currentSorting = sorting?.[0]\n ? {\n sortKey: sorting[0].id,\n sort: sorting[0].desc ? (\"desc\" as SortOrder) : (\"asc\" as SortOrder),\n }\n : undefined;\n\n const { handleFieldSort, getFieldSort } = useMultiSort({\n columnKey: column.dataIndex,\n onSort: multiSort.onSort,\n initialSort: multiSort.initialSort,\n currentSorting,\n });\n\n return (\n <div\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n className,\n )}\n >\n {multiSort.fields.map((field, index) => {\n const fieldSort = getFieldSort(field.sortKey);\n\n return (\n <div\n key={field.sortKey}\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n \"oui-cursor-pointer oui-select-none hover:oui-text-base-contrast-80\",\n field.className,\n )}\n onClick={\n multiSort.onSort\n ? () => handleFieldSort(field.sortKey)\n : undefined\n }\n >\n <span className=\"oui-whitespace-nowrap\">\n {field.label || field.sortKey}\n </span>\n <SortIndicator sortDirection={fieldSort?.sort} />\n {index < multiSort.fields.length - 1 && (\n <span className=\"oui-text-base-contrast-36\">/</span>\n )}\n </div>\n );\n })}\n </div>\n );\n};\n\nconst SortIndicator: FC<{ sortDirection?: \"asc\" | \"desc\" }> = ({\n sortDirection,\n}) => {\n if (sortDirection === \"asc\") {\n return <AscendingIcon />;\n }\n if (sortDirection === \"desc\") {\n return <DescendingIcon />;\n }\n return <SortingIcon />;\n};\n","import { useCallback } from \"react\";\nimport { SortOrder, MultiFieldSort } from \"../type\";\n\nexport function useMultiSort(props: {\n columnKey: string;\n onSort?: (fieldKey: string, sortOrder?: SortOrder) => void;\n initialSort?: MultiFieldSort[];\n currentSorting?: { sortKey: string; sort: SortOrder };\n}) {\n const { onSort, currentSorting } = props;\n\n const handleFieldSort = useCallback(\n (fieldKey: string) => {\n // Check if this field is currently sorted\n const isCurrentField = currentSorting?.sortKey === fieldKey;\n let newOrder: SortOrder | undefined;\n\n if (!isCurrentField) {\n // Not currently sorted, start with asc\n newOrder = \"asc\";\n } else if (currentSorting.sort === \"asc\") {\n // Currently asc, change to desc\n newOrder = \"desc\";\n } else {\n // Currently desc, clear sorting\n newOrder = undefined;\n }\n\n // Call external handler\n onSort?.(fieldKey, newOrder);\n },\n [currentSorting, onSort],\n );\n\n const getFieldSort = useCallback(\n (fieldKey: string) => {\n // Only return sort info if this field is currently being sorted\n if (currentSorting?.sortKey === fieldKey) {\n return { sortKey: fieldKey, sort: currentSorting.sort };\n }\n return undefined;\n },\n [currentSorting],\n );\n\n return {\n handleFieldSort,\n getFieldSort,\n };\n}\n","import React, { useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { ButtonProps, buttonVariants } from \"../button\";\nimport { Flex } from \"../flex\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"../icon\";\nimport { useLocale } from \"../locale\";\nimport { Select } from \"../select\";\nimport { Text } from \"../typography/text\";\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<\"nav\">) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cnBase(\n \"oui-flex oui-justify-between oui-items-center oui-w-full oui-text-xs\",\n className,\n )}\n {...props}\n />\n);\nPagination.displayName = \"Pagination\";\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cnBase(\n \"oui-flex oui-flex-row oui-items-center oui-gap-x-2\",\n className,\n )}\n {...props}\n />\n));\nPaginationContent.displayName = \"PaginationContent\";\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cnBase(\"oui-leading-[0px]\", className)} {...props} />\n));\nPaginationItem.displayName = \"PaginationItem\";\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<ButtonProps, \"size\"> &\n React.ComponentProps<\"button\">;\n\nconst PaginationLink = ({\n className,\n isActive,\n // size = \"icon\",\n ...props\n}: PaginationLinkProps) => (\n <button\n aria-current={isActive ? \"page\" : undefined}\n data-active={isActive}\n className={buttonVariants({\n size: \"xs\",\n // color:'white',\n variant: isActive ? \"contained\" : \"text\",\n className:\n \"oui-min-w-6 oui-text-primary-contrast oui-font-semibold data-[active=false]:hover:oui-bg-base-6 disabled:oui-bg-transparent disabled:hover:oui-bg-transparent\",\n // size,\n })}\n {...props}\n />\n);\nPaginationLink.displayName = \"PaginationLink\";\n\nconst PaginationPrevious = ({\n className,\n\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to previous page\"\n className={cnBase(\"oui-gap-1 oui-pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon className=\"oui-h-4 oui-w-4\" color=\"white\" />\n </PaginationLink>\n);\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nconst PaginationNext = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to next page\"\n className={cnBase(\"oui-gap-1 oui-pr-2.5\", className)}\n {...props}\n >\n <ChevronRightIcon className=\"oui-h-4 oui-w-4\" color=\"white\" />\n </PaginationLink>\n);\nPaginationNext.displayName = \"PaginationNext\";\n\nconst PaginationEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => {\n const [locale] = useLocale(\"pagination\");\n return (\n <span\n aria-hidden\n className={cnBase(\n \"oui-flex oui-h-9 oui-w-9 oui-items-center oui-justify-center\",\n className,\n )}\n {...props}\n >\n {/* <DotsHorizontalIcon className=\"h-4 w-4\" /> */}\n <span className=\"sr-only\">{locale.morePages}</span>\n </span>\n );\n};\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\nexport type PaginationProps = {\n onPageChange?: (page: number) => void;\n onPageSizeChange?: (pageSize: number) => void;\n pageSize?: number;\n page: number;\n count: number;\n pageTotal: number;\n className?: string;\n classNames?: {\n pagination?: string;\n paginationContent?: string;\n paginationItem?: string;\n paginationLink?: string;\n paginationPrevious?: string;\n paginationNext?: string;\n paginationEllipsis?: string;\n };\n hideRowsPerPage?: boolean;\n generatePageNumbers?: (\n currentPage: number,\n totalPages: number,\n ) => (number | string)[];\n};\n\nconst Paginations = (props: PaginationProps) => {\n const {\n classNames,\n className,\n pageTotal: totalPages,\n page: currentPage,\n hideRowsPerPage = false,\n } = props;\n\n const [locale] = useLocale(\"pagination\");\n\n return (\n <Pagination className={cnBase(classNames?.pagination, className)}>\n {!hideRowsPerPage ? (\n <Flex mr={4}>\n <Text\n as=\"div\"\n size=\"2xs\"\n intensity={54}\n className=\"oui-text-nowrap oui-mr-2\"\n >\n {locale.rowsPerPage}\n </Text>\n <div className={\"oui-w-15\"}>\n <Select.options\n options={[\n { value: \"10\", label: \"10\" },\n { value: \"20\", label: \"20\" },\n { value: \"50\", label: \"50\" },\n { value: \"100\", label: \"100\" },\n ]}\n value={`${props.pageSize ?? 5}`}\n size=\"xs\"\n onValueChange={(value) =>\n props.onPageSizeChange?.(parseInt(value))\n }\n />\n </div>\n </Flex>\n ) : (\n <div></div>\n )}\n <PaginationItems {...props} />\n </Pagination>\n );\n};\n\nfunction generatePagination(\n currentPage: number,\n totalPages: number,\n): (number | string)[] {\n const pagination: (number | string)[] = [];\n const ellipsis = \"...\";\n const maxPagesToShow = 5;\n\n if (totalPages <= maxPagesToShow) {\n for (let i = 1; i <= totalPages; i++) {\n pagination.push(i);\n }\n } else {\n if (currentPage <= 3) {\n pagination.push(1, 2, 3, 4, ellipsis, totalPages);\n } else if (currentPage >= totalPages - 2) {\n pagination.push(\n 1,\n ellipsis,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n );\n } else {\n pagination.push(\n 1,\n ellipsis,\n currentPage - 1,\n currentPage,\n currentPage + 1,\n ellipsis,\n totalPages,\n );\n }\n }\n\n return pagination;\n}\n\nconst PaginationItems = (props: Omit<PaginationProps, \"onPageSizeChange\">) => {\n const {\n classNames,\n className,\n pageTotal: totalPages,\n page: currentPage,\n } = props;\n\n if (totalPages <= 1) {\n return null;\n }\n\n const pageNumbers = useMemo(() => {\n if (typeof props.generatePageNumbers === \"function\") {\n return props.generatePageNumbers(currentPage, totalPages);\n }\n return generatePagination(currentPage, totalPages);\n }, [currentPage, totalPages, props.generatePageNumbers]);\n\n return (\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious\n // @ts-ignore\n disabled={props.page === 1}\n onClick={(event) => {\n event.preventDefault();\n props.onPageChange?.(props.page - 1);\n }}\n />\n </PaginationItem>\n {pageNumbers.map((page, index) => {\n return (\n <PaginationItem key={index}>\n <PaginationLink\n isActive={page === props.page}\n onClick={(event) => {\n event.preventDefault();\n if (page !== \"...\") {\n props.onPageChange?.(Number(page));\n } else {\n props.onPageChange?.(\n Number((pageNumbers[index + 1] as number) - 1),\n );\n }\n }}\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n );\n })}\n\n {/* <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem> */}\n <PaginationItem>\n <PaginationNext\n disabled={props.page === props.pageTotal}\n onClick={(event) => {\n event.preventDefault();\n props.onPageChange?.(props.page + 1);\n }}\n />\n </PaginationItem>\n </PaginationContent>\n );\n};\n\nexport {\n Paginations,\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationItems,\n PaginationEllipsis,\n};\n","import { createContext } from \"react\";\nimport { localeValues } from \"./en\";\n\nexport type Locale = typeof localeValues;\n\nexport const LocaleContext = createContext<Locale | undefined>(undefined);\n","import React, { FC, useMemo } from \"react\";\nimport { Locale, LocaleContext } from \"./context\";\n\nexport type LocaleProviderProps = {\n locale: Locale;\n children?: React.ReactNode;\n};\n\nexport const LocaleProvider: FC<LocaleProviderProps> = (props) => {\n const value = useMemo<Locale>(\n () => ({ ...props.locale, exist: true }),\n [props.locale]\n );\n\n return (\n <LocaleContext.Provider value={value}>\n {props.children}\n </LocaleContext.Provider>\n );\n};\n","import { useContext, useMemo } from \"react\";\nimport { localeValues as defaultLocaleValues } from \"./en\";\nimport { Locale, LocaleContext } from \"./context\";\n\nexport type LocaleComponentName = Exclude<keyof Locale, \"locale\">;\n\nexport const useLocale = <C extends LocaleComponentName = LocaleComponentName>(\n componentName: C,\n defaultLocale?: Locale[C] | (() => Locale[C])\n): readonly [NonNullable<Locale[C]>, string] => {\n const fullLocale = useContext(LocaleContext);\n\n const getLocale = useMemo<NonNullable<Locale[C]>>(() => {\n const locale = defaultLocale || defaultLocaleValues[componentName];\n const localeFromContext = fullLocale?.[componentName] || {};\n return {\n ...(typeof locale === \"function\" ? locale() : locale),\n ...localeFromContext,\n };\n }, [componentName, defaultLocale, fullLocale]);\n\n const getLocaleCode = useMemo(() => {\n const localeCode = fullLocale?.locale;\n const defaultLocaleCode = defaultLocaleValues.locale;\n return localeCode || defaultLocaleCode;\n }, [fullLocale]);\n\n return [getLocale, getLocaleCode] as const;\n};\n","import { enUS } from \"date-fns/locale\";\n\nexport const localeValues = {\n locale: \"en\" as string,\n dialog: {\n ok: \"OK\",\n cancel: \"Cancel\",\n },\n modal: {\n confirm: \"Confirm\",\n cancel: \"Cancel\",\n },\n pagination: {\n morePages: \"More pages\",\n rowsPerPage: \"Rows per page\",\n },\n picker: {\n selectDate: \"Select Date\",\n dayPicker: enUS,\n },\n empty: {\n description: \"No results found.\",\n },\n} as const;\n","import { FC } from \"react\";\nimport { Flex } from \"../flex\";\nimport { PaginationProps, Paginations } from \"../pagination\";\n\nexport const TablePagination: FC<Omit<PaginationProps, \"classNames\">> = (\n props,\n) => {\n if (props.pageTotal === 0) {\n return null;\n }\n return (\n <Flex justify={\"end\"} py={2} mx={3} className=\"oui-h-10 oui-w-full\">\n <Paginations\n {...props}\n className=\"oui-table-pagination oui-justify-between oui-w-full\"\n />\n </Flex>\n );\n};\n","import { FC, ReactNode } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Box } from \"../box\";\nimport { ExtensionPositionEnum, ExtensionSlot } from \"../plugin\";\nimport { Spinner } from \"../spinner/spinner\";\n\ntype TablePlaceholderProps = {\n visible?: boolean;\n loading?: boolean;\n emptyView?: ReactNode;\n className?: string;\n};\n\nexport const TablePlaceholder: FC<TablePlaceholderProps> = (props) => {\n const { visible, loading, emptyView, className } = props;\n if (!visible) {\n return null;\n }\n return (\n <Box\n position=\"absolute\"\n left={0}\n top={0}\n right={0}\n bottom={0}\n className={cnBase(\n \"oui-flex oui-items-center oui-justify-center\",\n className,\n )}\n >\n {loading ? (\n <Spinner />\n ) : (\n emptyView || (\n <ExtensionSlot position={ExtensionPositionEnum.EmptyDataIdentifier} />\n )\n )}\n </Box>\n );\n};\n","import { getGlobalObject } from \"@kodiak-finance/orderly-utils\";\nimport { Extension, ExtensionBuilder, ExtensionPosition } from \"./types\";\n\nfunction DEFAULT_BUILDER(data: any) {\n // console.warn(\"No builder provided for extension\");\n return data || {};\n}\n\n// The plugin manager\nexport class OrderlyExtensionRegistry {\n // private static _instance: OrderlyExtensionRegistry;\n static getInstance(): OrderlyExtensionRegistry {\n const globalObject = getGlobalObject();\n\n if (!(globalObject as any).__ORDERLY_EXTENSION_REGISTRY__) {\n (globalObject as any).__ORDERLY_EXTENSION_REGISTRY__ =\n new OrderlyExtensionRegistry();\n }\n return (globalObject as any).__ORDERLY_EXTENSION_REGISTRY__;\n\n // if (!OrderlyExtensionRegistry._instance) {\n // OrderlyExtensionRegistry._instance = new OrderlyExtensionRegistry();\n // }\n // return OrderlyExtensionRegistry._instance;\n }\n private extensionMap: Map<ExtensionPosition, Extension<unknown>> = new Map();\n // private formatterMap: Map<string, Function> = new Map();\n\n register<Props>(\n plugin: Omit<Extension<Props>, \"builder\"> & {\n builder?: (props: any) => Props;\n },\n ) {\n // this.pluginMap.set(plugin.name, plugin);\n\n if (!plugin.builder) {\n console.warn(\"No builder provided for extension\");\n }\n\n for (let index = 0; index < plugin.positions.length; index++) {\n if (typeof plugin.builder !== \"function\") {\n // get existing builder\n const builder = this.extensionMap.get(plugin.positions[index])?.builder;\n plugin.builder =\n typeof builder === \"undefined\"\n ? // ? DEFAULT_BUILDER\n undefined\n : (builder as ExtensionBuilder);\n }\n const pos = plugin.positions[index];\n this.registerToPosition<Props>(pos, plugin as Extension<Props>);\n }\n }\n\n private registerToPosition<Props>(\n position: ExtensionPosition,\n plugin: Extension<Props>,\n ) {\n if (this.extensionMap.has(position)) {\n const existingPlugin = this.extensionMap.get(position);\n if (!existingPlugin?.__isInternal) {\n console.warn(\"`Plugin already registered at position [${position}]`\");\n // throw new Error(`Plugin already registered at position [${position}]`);\n if (!existingPlugin?.builder && plugin.__isInternal) {\n this.setBuilder(position, plugin.builder);\n }\n return;\n }\n if (!plugin.builder) {\n plugin.builder = existingPlugin.builder as ExtensionBuilder<Props>;\n }\n }\n this.extensionMap.set(position, plugin as Extension<any>);\n }\n\n setBuilder<Props>(\n position: ExtensionPosition,\n builder: ExtensionBuilder<Props>,\n ) {\n const plugin = this.extensionMap.get(position);\n if (plugin) {\n plugin.builder = builder;\n }\n }\n\n unregister(plugin: Extension<unknown>) {\n for (let index = 0; index < plugin.positions.length; index++) {\n const pos = plugin.positions[index];\n\n this.unregisterFromPosition(pos);\n }\n }\n\n private unregisterFromPosition(position: ExtensionPosition) {\n this.extensionMap.delete(position);\n }\n\n getPluginsByPosition(position: ExtensionPosition) {\n return this.extensionMap.get(position);\n }\n\n /**\n * get the registered formatter by position\n * @param position\n */\n getFormatterByPosition(position: ExtensionPosition) {\n return this.extensionMap.get(position);\n }\n}\n","import { ElementType, ReactElement } from \"react\";\nimport { ExtensionProvider } from \"./pluginContext\";\nimport { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\n\n/**\n * @name ExtensionOptions\n * @description Extension meta data\n */\nexport type ExtensionOptions<Props> = {\n name: string;\n /**\n * which ctx data the extension available to use\n */\n scope?: string[];\n /**\n * @description define the extension require @kodiak-finance/orderly-hook version, optional\n * @default \"*\"\n */\n engines?: string; //\n positions: ExtensionPosition[];\n builder?: (props: any) => Props;\n __isInternal?: boolean;\n entry?: string[];\n // dependencies?: string[]; // define the extension require other extensions, optional\n // lifecycle hooks\n /**\n * fire when the extension is installed\n * @returns\n */\n installed?: () => Promise<void>;\n onInit?: () => void;\n activate?: () => Promise<void>;\n deactivate?: () => Promise<void>;\n};\n\ntype ExtensionRenderComponentType<Props> =\n | ElementType<Props>\n | ((props: Props) => ReactElement);\n\n// type ExtensionRenderComponent = (\n// component: ExtensionRenderComponentType<Props>\n// ) => void;\n\nexport const installExtension = <Props,>(\n options: ExtensionOptions<Props>,\n): ((component: ExtensionRenderComponentType<Props>) => void) => {\n return (component) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n console.log(\"[plugin] install:\", options.name);\n registry.register<Props>({\n name: options.name,\n positions: options.positions,\n __isInternal: !!options.__isInternal,\n builder: options.builder,\n render: component,\n });\n };\n};\n\n/**\n * update the extension builder function\n */\nexport const setExtensionBuilder = <Props extends unknown = {}>(\n position: ExtensionPosition,\n builder: () => Props,\n) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n registry.setBuilder(position, builder);\n};\n","import React, { ElementType, useMemo } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { NotFound } from \"./notFound\";\nimport { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\nimport { useExtensionBuilder } from \"./useExtensionBuilder\";\n\ninterface SlotProps {\n position: ExtensionPosition;\n defaultWidget?: React.FC;\n scope?: string[];\n [key: string]: any;\n}\n\nexport const ExtensionSlot: React.FC<SlotProps> = (props) => {\n const { position, scope, defaultWidget: defaultValue, ...rest } = props;\n\n const elementProps = useExtensionBuilder(position, rest);\n\n const Ele = useMemo<ElementType>(() => {\n const registry = OrderlyExtensionRegistry.getInstance();\n const plugin = registry.getPluginsByPosition(position);\n return plugin?.render ?? defaultValue ?? NotFound;\n }, []);\n\n return (\n <ErrorBoundary\n fallback={<div>{`Component: [${position}] went wrong`}</div>}\n >\n <Slot {...elementProps} position={position}>\n <Ele />\n </Slot>\n </ErrorBoundary>\n );\n};\n","import { FC } from \"react\";\n\nexport const NotFound: FC<{ position: string }> = (props) => {\n const { position } = props;\n return (\n <div className=\"oui-text-danger\">\n <strong>{`[${position}] `}</strong>\n <span>Not found!</span>\n </div>\n );\n};\n","import { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\n\nexport const useBuilder = (position: ExtensionPosition, props: any) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n const plugin = registry.getPluginsByPosition(position);\n return () => {\n return plugin?.builder?.(props) || props;\n };\n};\n","import { ExtensionPosition } from \"./types\";\nimport { useBuilder } from \"./useBuilder\";\n\nexport const useExtensionBuilder = (\n position: ExtensionPosition,\n props: any\n) => {\n const builder = useBuilder(position, props);\n\n return builder();\n};\n","import { ElementType, ReactElement, ReactNode } from \"react\";\n\nexport type ExtensionBuilder<Props = any> = (\n props?: Partial<Props> & Record<string, any>\n) => Props;\n\nexport type ExtensionPosition = ExtensionPositionEnum | string;\n\nexport interface Extension<Props extends any = {}> {\n __isInternal: boolean;\n\n get name(): string;\n get positions(): ExtensionPosition[];\n\n initialize?: () => void;\n\n builder: ExtensionBuilder<Props>;\n\n // render(ctx: any): ReactNode;\n render: ElementType<Props> | ((props: Props) => ReactElement);\n}\n\nexport enum ExtensionPositionEnum {\n DepositForm = \"depositForm\",\n WithdrawForm = \"withdrawForm\",\n // ListEmpty = \"listEmpty\",\n // Positions = \"positions\",\n // Orders = \"orders\",\n // MainNav = \"mainNav\",\n // SideNav = \"sideNav\",\n /**\n * Wallet button\n */\n AccountMenu = \"accountMenu\",\n MobileAccountMenu = \"mobileAccountMenu\",\n // Logo = \"logo\",\n // Toast = \"toast\",\n /// Layout components\n MainMenus = \"mainMenus\",\n // PortfolioLayout = \"portfolioLayout\",\n // TradingRewardsLayout = \"tradingRewardsLayout\",\n // AffiliateLayoutLayout = \"affiliateLayoutLayout\",\n EmptyDataIdentifier = \"emptyDataIdentifier\",\n}\n\nexport type DepositProps = {\n onOk: () => void;\n};\n","import {\n ColumnSort,\n createColumnHelper,\n getPaginationRowModel,\n PaginationTableState,\n SortingState,\n SortingTableState,\n TableOptions,\n OnChangeFn,\n} from \"@tanstack/react-table\";\nimport { PaginationMeta, Column, TableSort, SortOrder } from \"./type\";\n\n/**\n * Compare two values intelligently for table sorting\n */\nconst compareValues = (aValue: any, bValue: any): number => {\n // Handle null/undefined values (always sort to bottom)\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return 1;\n if (bValue == null) return -1;\n\n // Convert to string first for type checking\n const aStr = String(aValue).trim();\n const bStr = String(bValue).trim();\n\n // More robust number detection - check if values can be converted to valid numbers\n const aNum = Number(aStr);\n const bNum = Number(bStr);\n const aIsNumber =\n !isNaN(aNum) && isFinite(aNum) && /^-?\\d*\\.?\\d+([eE][+-]?\\d+)?$/.test(aStr);\n const bIsNumber =\n !isNaN(bNum) && isFinite(bNum) && /^-?\\d*\\.?\\d+([eE][+-]?\\d+)?$/.test(bStr);\n\n if (aIsNumber && bIsNumber) {\n return aNum - bNum;\n }\n\n // Check if both are valid dates (ISO format or timestamp)\n const aIsDate = /^\\d{4}-\\d{2}-\\d{2}/.test(aStr) || /^\\d{13}$/.test(aStr);\n const bIsDate = /^\\d{4}-\\d{2}-\\d{2}/.test(bStr) || /^\\d{13}$/.test(bStr);\n\n if (aIsDate && bIsDate) {\n const aDate = new Date(aValue);\n const bDate = new Date(bValue);\n if (!isNaN(aDate.getTime()) && !isNaN(bDate.getTime())) {\n return aDate.getTime() - bDate.getTime();\n }\n }\n\n // String comparison - use localeCompare for proper string sorting\n return aStr.localeCompare(bStr, undefined, {\n sensitivity: \"base\",\n numeric: false, // Disable numeric sorting for pure string comparison\n caseFirst: \"upper\",\n });\n};\n\n/**\n * Custom sorting function for TanStack Table\n */\nconst customSortingFn = (rowA: any, rowB: any, columnId: string): number => {\n const aValue = rowA.getValue(columnId);\n const bValue = rowB.getValue(columnId);\n return compareValues(aValue, bValue);\n};\n\n/**\n * Create a sorting comparator for multiSort fields\n */\nconst createMultiSortComparator = (sortId: string, isDesc: boolean) => {\n return (a: any, b: any) => {\n // Support nested field access (e.g., \"user.name\" or \"data.price.value\")\n const getNestedValue = (obj: any, path: string) => {\n return path.split(\".\").reduce((current, key) => {\n return current && current[key] !== undefined ? current[key] : undefined;\n }, obj);\n };\n\n const aValue = getNestedValue(a, sortId) ?? a[sortId];\n const bValue = getNestedValue(b, sortId) ?? b[sortId];\n\n // Handle null/undefined values\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return 1;\n if (bValue == null) return -1;\n\n // Numeric comparison\n const aNum = Number(aValue);\n const bNum = Number(bValue);\n if (!isNaN(aNum) && !isNaN(bNum)) {\n return isDesc ? bNum - aNum : aNum - bNum;\n }\n\n // String comparison with enhanced support for complex strings\n const aStr = String(aValue);\n const bStr = String(bValue);\n const comparison = aStr.localeCompare(bStr, undefined, {\n sensitivity: \"base\",\n numeric: true, // Handle numeric sequences in strings like \"PERP_1000PEPE_USDC\"\n });\n\n return isDesc ? -comparison : comparison;\n };\n};\n\nexport const Transform = {\n columns: (\n columns: Column[],\n sorting?: SortingState,\n setSorting?: OnChangeFn<SortingState>,\n ) => {\n const columnHelper = createColumnHelper<any>();\n\n return columns?.map((column, index) => {\n // Create a copy of column to avoid mutating the original\n let columnCopy = { ...column };\n\n const { dataIndex, onSort, multiSort } = columnCopy;\n\n // For multi-field sorting, provide default onSort if not provided\n const isMultiSort = Boolean(multiSort);\n\n // If multiSort is enabled but no onSort is provided, create default handler\n if (isMultiSort && multiSort && !multiSort.onSort && setSorting) {\n columnCopy = {\n ...columnCopy,\n multiSort: {\n ...multiSort,\n onSort: (fieldKey: string, sortOrder?: SortOrder) => {\n if (!setSorting) return;\n\n if (!sortOrder) {\n // Clear sorting\n setSorting([]);\n } else {\n // Set sorting for the field with custom sorting function\n setSorting([\n {\n id: fieldKey,\n desc: sortOrder === \"desc\",\n },\n ]);\n }\n },\n },\n };\n }\n\n const commonProps = {\n meta: columnCopy,\n size: columnCopy.width || 100,\n };\n\n return columnHelper.accessor(dataIndex, {\n header: () => columnCopy.title,\n enableSorting: onSort && !isMultiSort ? true : false, // Disable sorting for multiSort columns\n sortingFn:\n typeof onSort === \"function\"\n ? (rowA, rowB, columnId) => onSort?.(rowA.original, rowB.original)\n : customSortingFn,\n ...commonProps,\n });\n });\n },\n\n dataSource: <T>(\n dataSource: ReadonlyArray<T> | T[],\n columns: Column[],\n sorting?: SortingState,\n ): ReadonlyArray<T> | T[] => {\n if (\n !dataSource ||\n dataSource.length === 0 ||\n !sorting ||\n sorting.length === 0\n ) {\n return dataSource || [];\n }\n\n const currentSort = sorting[0];\n const sortId = currentSort.id;\n\n // Check if this sort ID matches any multiSort field\n const multiSortColumn = columns.find((col) =>\n col.multiSort?.fields?.some((field) => field.sortKey === sortId),\n );\n\n if (!multiSortColumn) {\n return dataSource; // Not a multiSort field, return original data\n }\n\n // Create a copy and sort using the optimized comparator\n const sortedData = [...dataSource].sort(\n createMultiSortComparator(sortId, currentSort.desc),\n );\n\n return sortedData;\n },\n\n columnPinning: (columns: Column[]) => {\n const left: string[] = [];\n const right: string[] = [];\n columns?.map((column) => {\n if (column.fixed === \"left\") {\n left.push(column.dataIndex);\n } else if (column.fixed === \"right\") {\n right.push(column.dataIndex);\n }\n });\n\n return { left, right };\n },\n\n pagination: (pagination?: PaginationMeta) => {\n let state = {} as PaginationTableState;\n let config = {} as Pick<\n TableOptions<any>,\n \"getPaginationRowModel\" | \"onPaginationChange\"\n >;\n if (pagination) {\n state = {\n pagination: {\n pageIndex: pagination.page - 1,\n pageSize: pagination.pageSize,\n },\n };\n config = {\n // no need to set onPaginationChange\n // onPaginationChange,\n // load client-side pagination code\n getPaginationRowModel: getPaginationRowModel(),\n };\n }\n return { state, config };\n },\n // sorting: (onSort?: (sort?: TableSort) => void, initialSort?: TableSort) => {\n // let state = {} as SortingTableState;\n // let config = {} as Pick<TableOptions<any>, \"onSortingChange\">;\n\n // if (typeof onSort === \"function\") {\n // config = {\n // onSortingChange: (updaterFn: any) => {\n // const sorting = updaterFn() as ColumnSort[];\n // const { id, desc } = sorting[0];\n // onSort({ sortKey: id, sort: desc ? \"desc\" : \"asc\" });\n // },\n // };\n // }\n\n // if (initialSort) {\n // state = {\n // sorting: [\n // {\n // id: initialSort.sortKey,\n // desc: initialSort.sort === \"desc\",\n // },\n // ],\n // } as SortingTableState;\n // }\n\n // return { state, config };\n // },\n};\n","import React, { FC } from \"react\";\nimport { DateRange } from \"react-day-picker\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport {\n DateRangePicker,\n DateRangePickerProps,\n} from \"../pickers/dateRangePicker\";\nimport { DatePicker, DatePickerProps } from \"../pickers/datepicker\";\nimport { Picker, PickerProps } from \"../pickers/picker\";\nimport { CombineSelect } from \"../select/combine\";\nimport {\n SelectWithOptions,\n type SelectWithOptionsProps,\n} from \"../select/withOptions\";\n\ntype FilterType =\n | \"select\"\n | \"input\"\n | \"date\"\n | \"range\"\n | \"custom\"\n | \"symbol\"\n | \"picker\";\n\ntype DataFilterGeneral = {\n // initialValue?: any;\n name: string;\n type: FilterType;\n};\n\ntype SelectFilter = {\n type: \"select\";\n isCombine?: boolean;\n // options: DataFilterOption[];\n} & SelectWithOptionsProps;\n\n// type DateFilterMode = \"range\" | \"single\";\n\ntype DateFilter = {\n type: \"date\";\n // range?: DataFilterDateRange;\n // mode?: DateFilterMode;\n} & DatePickerProps;\n\ntype DateRangeFilter = {\n type: \"range\";\n} & DateRangePickerProps;\n\ntype SymbolFilter = {\n type: \"symbol\";\n};\n\ntype PickerFilter = {\n type: \"picker\";\n} & PickerProps;\n\nexport type DataFilterItem = DataFilterGeneral &\n (SelectFilter | DateFilter | DateRangeFilter | SymbolFilter | PickerFilter);\n\nexport type DataFilterProps = {\n items: DataFilterItem[];\n onFilter: (filter: { name: string; value: any }) => void;\n className?: string;\n trailing?: React.ReactNode;\n};\n\nconst FilterDatePicker = (props: DatePickerProps) => {\n return (\n <div>\n {/* @ts-ignore */}\n <DatePicker\n size=\"xs\"\n {...props}\n mode={\"single\"}\n onChange={(date) => {\n console.log(date);\n }}\n />\n </div>\n );\n};\n\nconst FilterDateRangePicker = (props: DateRangePickerProps) => {\n const { onChange, ...rest } = props;\n\n const onValueChange = (value: DateRange) => {\n // const from =value.from\n // console.log(value);\n\n if (typeof onChange === \"function\") {\n onChange(value);\n }\n };\n\n return (\n <div className={\"oui-min-w-[180px]\"}>\n <DateRangePicker size=\"xs\" {...rest} onChange={onValueChange} />\n </div>\n );\n};\n\nexport const DataFilterRenderer: FC<{\n type: FilterType;\n onChange?: (value: any) => void;\n [key: string]: any;\n}> = (props) => {\n const { onChange, type, isCombine, ...rest } = props;\n\n switch (type) {\n case \"select\":\n return (\n <div className=\"oui-min-w-24\">\n {isCombine ? (\n <CombineSelect\n size=\"xs\"\n {...(rest as SelectWithOptionsProps)}\n onValueChange={onChange}\n />\n ) : (\n <SelectWithOptions\n size=\"xs\"\n {...(rest as SelectWithOptionsProps)}\n onValueChange={onChange}\n />\n )}\n </div>\n );\n case \"date\":\n return <FilterDatePicker {...(rest as DatePickerProps)} />;\n case \"range\":\n return (\n <FilterDateRangePicker\n {...(rest as DateRangePickerProps)}\n onChange={onChange}\n />\n );\n case \"symbol\":\n return <div></div>;\n case \"picker\":\n return <Picker {...(rest as PickerProps)} onValueChange={onChange} />;\n case \"input\":\n default:\n return <div>No Component</div>;\n }\n};\n\nexport const DataFilter: React.FC<DataFilterProps> = (props) => {\n return (\n <Flex\n justify={\"start\"}\n gapX={3}\n py={3}\n width={\"100%\"}\n className={cnBase(\"oui-data-filter-bar\", props.className)}\n >\n {props.items.filter(Boolean).map((item, index: number) => {\n if (item.type === \"date\") {\n (item as DatePickerProps).mode = \"range\";\n }\n return (\n <DataFilterRenderer\n key={index}\n {...item}\n onChange={(value: any) => {\n // onChange(item.name ?? item.type, value);\n props.onFilter({ name: item.name ?? item.type, value });\n }}\n />\n );\n })}\n {props.trailing && (\n <div className=\"oui-flex oui-flex-1 oui-justify-end\">\n {props.trailing}\n </div>\n )}\n </Flex>\n );\n};\n","import { FC, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { Popover } from \"../popover/popover\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { format } from \"date-fns\";\nimport { DateRange, DayPickerRangeProps } from \"react-day-picker\";\nimport { useLocale } from \"../locale\";\nexport type DateRangePickerProps = {\n onChange?: (date: DateRange) => void;\n // selected: Date;\n placeholder?: string;\n value?: DateRange;\n initialValue?: DateRange;\n dateFormat?: string;\n size?: SizeType;\n className?: string;\n formatString?: string;\n} & Omit<DayPickerRangeProps, \"mode\">;\n\nconst DEFAULT_DATE_FORMAT = \"yyyy/MM/dd\";\n\nconst DateRangePicker: FC<DateRangePickerProps> = (props) => {\n const {\n placeholder,\n dateFormat,\n onChange,\n value,\n initialValue,\n size,\n className,\n formatString = DEFAULT_DATE_FORMAT,\n ...calendarProps\n } = props;\n const [locale] = useLocale(\"picker\");\n const [open, setOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | null>(\n value || initialValue || null\n );\n\n const [isMobileView, setIsMobileView] = useState<boolean>(false);\n\n const update = useDebouncedCallback((width: number) => {\n setIsMobileView(width <= 768);\n }, 100);\n\n // Effect hook to listen to window resize events\n useEffect(() => {\n const handleResize = () => {\n update(window.innerWidth);\n };\n\n setIsMobileView(window.innerWidth <= 768);\n window.addEventListener(\"resize\", handleResize);\n\n // Cleanup event listener on component unmount\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n if (\n value?.from &&\n value?.to &&\n dateRange?.from &&\n dateRange?.to &&\n !areDatesEqual(value as any, dateRange as any)\n )\n setDateRange(value);\n }, [value]);\n\n const { trigger } = selectVariants({ size, className });\n\n const formattedValue = useMemo(() => {\n // console.log(\"dateRange\", dateRange);\n if (!dateRange || !dateRange.from || !dateRange.to) {\n return placeholder ?? locale.selectDate;\n }\n const arr = [];\n if (dateRange.from) arr.push(format(dateRange.from, formatString));\n if (dateRange.to) arr.push(format(dateRange.to, formatString));\n\n return `${arr.join(\" - \")}`;\n }, [dateRange, placeholder, locale]);\n\n const onOpenChange = (nextOpen: boolean) => {\n // console.log(dateRange);\n if (\n typeof dateRange?.to === \"undefined\" &&\n typeof dateRange?.from !== \"undefined\"\n ) {\n setDateRange({\n ...dateRange,\n to: dateRange.from,\n });\n }\n if (!nextOpen && dateRange) {\n onChange?.(dateRange);\n }\n setOpen(nextOpen);\n };\n\n const onSelected = (range: DateRange, date: Date) => {\n if (dateRange?.from && dateRange?.to) {\n setDateRange({\n from: date,\n });\n } else {\n setDateRange(range);\n }\n };\n\n return (\n <Popover\n open={open}\n onOpenChange={onOpenChange}\n contentProps={{\n className: \"oui-w-auto oui-p-0\",\n align: \"start\",\n }}\n content={\n <Calendar\n numberOfMonths={isMobileView ? 1 : 2}\n {...calendarProps}\n mode={\"range\"}\n // @ts-ignore\n selected={dateRange}\n // @ts-ignore\n onSelect={onSelected}\n />\n }\n >\n <button\n className={trigger({\n className: \"oui-datepicker-trigger oui-group\",\n })}\n >\n <span className=\"oui-datepicker-trigger-icon\">\n <CalendarIcon size={14} className=\"oui-text-inherit\" opacity={1} />\n </span>\n <span>{formattedValue}</span>\n <CaretDownIcon\n size={12}\n className=\"oui-datepicker-trigger-arrow oui-text-inherit oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n opacity={1}\n />\n </button>\n </Popover>\n );\n};\n\nDateRangePicker.displayName = \"DateRangePicker\";\n\nexport { DateRangePicker };\n\nfunction useDebouncedCallback(callback: any, delay: number) {\n const timeoutRef = useRef<any | null>(null);\n\n const debouncedCallback = useCallback(\n (args: any) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n callback(args);\n }, delay);\n },\n [callback, delay]\n );\n return debouncedCallback;\n}\n\nfunction areDatesEqual(\n date1: { from: Date; to: Date },\n date2: { from: Date; to: Date }\n): boolean {\n const extractDateParts = (date: Date) => ({\n year: date.getFullYear(),\n month: date.getMonth(),\n day: date.getDate(),\n });\n\n const from1 = extractDateParts(date1.from);\n const to1 = extractDateParts(date1.to);\n const from2 = extractDateParts(date2.from);\n const to2 = extractDateParts(date2.to);\n\n return (\n from1.year === from2.year &&\n from1.month === from2.month &&\n from1.day === from2.day &&\n to1.year === to2.year &&\n to1.month === to2.month &&\n to1.day === to2.day\n );\n}\n","import { DayPicker } from \"react-day-picker\";\n\nimport { ChevronLeftIcon, ChevronRightIcon } from \"../../icon\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useLocale } from \"../../locale\";\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n const [locale] = useLocale(\"picker\");\n return (\n <DayPicker\n locale={locale.dayPicker}\n showOutsideDays={showOutsideDays}\n className={cnBase(\"oui-p-3 oui-bg-base-7 oui-rounded\", className)}\n classNames={{\n months:\n \"oui-flex oui-flex-col sm:oui-flex-row oui-space-y-4 sm:oui-space-x-4 sm:oui-space-y-0\",\n month: \"oui-space-y-4\",\n caption:\n \"oui-flex oui-justify-center oui-pt-1 oui-relative oui-items-center\",\n caption_label: \"oui-text-sm oui-font-medium \",\n nav: \"oui-space-x-1 oui-flex oui-items-center\",\n nav_button: cnBase(\n \"oui-h-7 oui-w-7 oui-bg-transparent oui-p-0 oui-opacity-50 hover:oui-opacity-100\"\n ),\n nav_button_previous: \"oui-absolute oui-left-1\",\n nav_button_next: \"oui-absolute oui-right-1\",\n table: \"oui-w-full oui-border-collapse oui-space-y-1\",\n head_row: \"oui-flex\",\n head_cell:\n \"oui-text-base-contrast-80 oui-rounded-md oui-w-7 oui-font-normal oui-text-[0.8rem] oui-opacity-30\",\n row: \"oui-flex oui-w-full oui-mt-2\",\n cell: cnBase(\n \"oui-relative oui-day-cell oui-p-0 oui-text-center oui-text-2xs focus-within:oui-relative focus-within:oui-z-20 [&:has([aria-selected])]:oui-bg-base-4 [&:has([aria-selected].day-outside)]:oui-bg-base-4/50 [&:has([aria-selected].day-range-end)]:oui-rounded-r-md\",\n props.mode === \"range\"\n ? \"[&:has(>.oui-day-range-end)]:oui-rounded-r-md [&:has(>.oui-day-range-start)]:oui-rounded-l-md first:[&:has([aria-selected])]:oui-rounded-l-md last:[&:has([aria-selected])]:oui-rounded-r-md\"\n : \"[&:has([aria-selected])]:oui-rounded-md\"\n ),\n day: cnBase(\n // buttonVariants({ variant: \"ghost\" }),\n \"oui-h-7 oui-w-7 oui-p-0 oui-rounded-md oui-font-normal aria-selected:oui-opacity-100 oui-text-base-contrast-80 hover:oui-bg-base-5\"\n ),\n day_range_start:\n \"day-range-start oui-bg-primary-darken oui-text-base-contrast-80 hover:oui-bg-primary-darken\",\n day_range_end:\n \"day-range-end oui-bg-primary-darken oui-text-base-contrast-80 hover:oui-bg-primary-darken\",\n day_selected: \"oui-bg-base-4 \",\n day_today: \"oui-bg-accent \",\n day_outside:\n \"oui-day-outside oui-text-muted-foreground oui-opacity-50 aria-selected:oui-bg-accent/50 aria-selected:oui-text-muted-foreground aria-selected:oui-opacity-30\",\n day_disabled: \"oui-text-muted-foreground oui-opacity-50\",\n day_range_middle:\n \"aria-selected:oui-bg-accent aria-selected:oui-text-accent-foreground\",\n day_hidden: \"oui-invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ...props }) => (\n <ChevronLeftIcon size={16} className=\"oui-text-inherit\" opacity={1} />\n ),\n IconRight: ({ ...props }) => (\n <ChevronRightIcon\n size={16}\n className=\"oui-text-inherit\"\n opacity={1}\n />\n ),\n }}\n {...props}\n />\n );\n}\n\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n","import { FC, useMemo, useState } from \"react\";\nimport { Popover } from \"../popover/popover\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { ActiveModifiers } from \"react-day-picker\";\nimport { useLocale } from \"../locale\";\nexport type DatePickerProps = {\n onChange?: (date: Date) => void;\n // selected: Date;\n placeholder?: string;\n value?: Date;\n dateFormat?: string;\n size?: SizeType;\n className?: string;\n} & CalendarProps;\n\nconst DatePicker: FC<DatePickerProps> = (props) => {\n const {\n placeholder,\n dateFormat,\n onChange,\n value,\n size,\n className,\n ...calendarProps\n } = props;\n\n const [locale] = useLocale(\"picker\");\n\n const { trigger } = selectVariants({ size, className });\n\n const [open, setOpen] = useState(false);\n\n const formattedValue = useMemo(() => {\n if (typeof value === \"undefined\") {\n return placeholder ?? locale.selectDate;\n }\n }, [value, placeholder, locale]);\n\n const onSelect = (\n day: Date | undefined,\n selectedDay: Date,\n activeModifiers: ActiveModifiers,\n e: MouseEvent\n ) => {\n //@ts-ignore\n calendarProps.onSelect?.(day, selectedDay, activeModifiers, e);\n\n if (day) {\n onChange?.(day);\n setOpen(false);\n }\n };\n\n return (\n <Popover\n open={open}\n onOpenChange={setOpen}\n contentProps={{\n className: \"oui-w-auto oui-p-0\",\n }}\n // @ts-ignore\n content={<Calendar onSelect={onSelect} {...calendarProps} />}\n >\n <button\n className={trigger({\n className: \"orderly-datepicker-trigger oui-group\",\n })}\n >\n <span className=\"orderly-datepicker-trigger-icon\">\n <CalendarIcon size={14} className=\"oui-text-inherit\" opacity={1} />\n </span>\n <span>{formattedValue}</span>\n <CaretDownIcon\n size={12}\n className=\"orderly-datepicker-trigger-arrow oui-text-inherit oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n opacity={1}\n />\n </button>\n </Popover>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n\nexport { DatePicker };\n","import {\n forwardRef,\n SelectHTMLAttributes,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { ChevronDownIcon, ChevronUpIcon, cn } from \"..\";\nimport { SelectOption } from \"../select/withOptions\";\nimport { ActionSheet, ActionSheetItem } from \"../sheet\";\nimport { tv } from \"../utils/tv\";\n\nconst pickerVariants = tv({\n base: \"oui-flex oui-flex-row oui-items-stretch oui-rounded-md oui-cursor-pointer oui-border oui-border-line-6 oui-bg-line-4 oui-text-base-contrast-54\",\n variants: {\n size: {\n sm: \"oui-px-2 oui-h-[22px] oui-text-2xs\",\n md: \"oui-px-2 oui-h-[24px] oui-text-2xs\",\n base: \"oui-px-3 oui-h-[40px]\",\n lg: \"oui-px-6 oui-py-3\",\n },\n fullWidth: {\n true: \"oui-w-full\",\n },\n disabled: {\n true: \"oui-opacity-50 oui-cursor-not-allowed\",\n },\n color: {\n // primary: \"text-primary-darken\",\n base: \"oui-text-base-contract\",\n buy: \"oui-text-trade-profit\",\n sell: \"oui-text-trade-loss\",\n },\n },\n defaultVariants: {\n size: \"base\",\n color: \"base\",\n },\n});\n\nexport interface PickerProps\n extends Omit<\n SelectHTMLAttributes<HTMLSelectElement>,\n \"disabled\" | \"size\" | \"color\" | \"value\"\n >,\n VariantProps<typeof pickerVariants> {\n loading?: boolean;\n label?: string;\n placeholder?: string;\n options: SelectOption[];\n value?: SelectOption | string | number;\n onValueChange?: (value: any) => void;\n valueRenderer?: (\n value: any,\n options: { open?: boolean; data?: any },\n ) => React.ReactNode;\n}\n\nexport type PickerRef = {};\n\nexport const Picker = forwardRef<PickerRef, PickerProps>(\n (originalProps, ref) => {\n const {\n size,\n color,\n value,\n label,\n placeholder,\n className,\n options,\n fullWidth,\n disabled,\n valueRenderer,\n ...props\n } = originalProps;\n\n const [open, setOpen] = useState(false);\n\n const selectedItem = useMemo<SelectOption | undefined>(() => {\n if (value && !!(value as SelectOption).value) {\n return value as SelectOption;\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n const option = options.find((option) => option.value === value);\n if (option) {\n return option;\n }\n }\n }, [value, options]);\n\n const text = useMemo(() => {\n if (selectedItem) {\n return selectedItem.label;\n }\n return placeholder || label || \"\";\n }, [selectedItem, label, placeholder]);\n\n const actions = useMemo<ActionSheetItem[]>(() => {\n return [...options, \"---\", \"Cancel\"];\n }, [options]);\n\n // const triggerRef = useRef(null);\n // const [dropdownWidth, setDropdownWidth] = useState(218);\n\n // useEffect(() => {\n // if (triggerRef.current) {\n // // @ts-ignore\n // const width = triggerRef.current.offsetWidth;\n // setDropdownWidth(width);\n // }\n // }, []);\n\n return (\n <ActionSheet\n actionSheets={actions}\n onOpenChange={setOpen}\n open={open}\n onClose={() => setOpen(false)}\n // @ts-ignore\n value={selectedItem}\n onValueChange={props.onValueChange}\n >\n {typeof valueRenderer === \"function\" ? (\n valueRenderer(selectedItem?.value || props.defaultValue, {\n open: open,\n data: (selectedItem as any)?.data,\n })\n ) : (\n <div\n className={cn(\n \"oui-space-x-1\",\n \"oui-text-base-contrast-54\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n pickerVariants({\n size,\n color,\n fullWidth,\n disabled: disabled || options.length === 0,\n className,\n }),\n )}\n >\n <div className=\"oui-flex oui-flex-1 oui-items-center oui-justify-start oui-text-2xs oui-text-inherit\">\n {text}\n </div>\n <div className=\"oui-flex oui-items-center\">\n {open ? (\n <ChevronUpIcon size={14} color=\"white\" />\n ) : (\n <ChevronDownIcon size={14} color=\"white\" />\n )}\n </div>\n </div>\n )}\n </ActionSheet>\n );\n },\n);\n","import * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cn, cnBase, tv, type VariantProps } from \"tailwind-variants\";\nimport { CloseIcon } from \"../icon/close\";\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cnBase(\n \"oui-fixed oui-inset-0 oui-z-50 oui-bg-black/80 data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out data-[state=closed]:oui-fade-out-0 data-[state=open]:oui-fade-in-0\",\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = tv({\n base: \"oui-fixed oui-z-50 oui-gap-4 oui-bg-base-8 oui-px-4 oui-shadow-lg oui-transition oui-ease-in-out data-[state=closed]:oui-duration-260 data-[state=open]:oui-duration-300 data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out\",\n variants: {\n side: {\n top: \"oui-inset-x-0 oui-top-0 oui-border-b data-[state=closed]:oui-slide-out-to-top data-[state=open]:oui-slide-in-from-top\",\n bottom:\n \"oui-inset-x-0 oui-bottom-0 oui-rounded-t-2xl data-[state=closed]:oui-slide-out-to-bottom data-[state=open]:oui-slide-in-from-bottom\",\n left: \"oui-inset-y-0 oui-left-0 oui-h-full oui-w-3/4 data-[state=closed]:oui-slide-out-to-left data-[state=open]:oui-slide-in-from-left sm:oui-max-w-sm\",\n right:\n \"oui-inset-y-0 oui-right-0 oui-h-full oui-w-3/4 oui-border-l data-[state=closed]:oui-slide-out-to-right data-[state=open]:oui-slide-in-from-right sm:oui-max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"bottom\",\n },\n});\n\nexport interface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n // if true, show close button\n closeable?: boolean;\n onClose?: () => void;\n closeableSize?: number;\n closeOpacity?: number;\n closeClassName?: string;\n overlayClassName?: string;\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(\n (\n {\n side = \"bottom\",\n closeable = true,\n closeableSize = 16,\n closeOpacity = 0.98,\n className,\n overlayClassName,\n children,\n ...props\n },\n ref,\n ) => (\n <SheetPortal>\n <SheetOverlay className={overlayClassName} />\n <SheetPrimitive.Content\n ref={ref}\n className={cnBase(sheetVariants({ side }), className)}\n onOpenAutoFocus={(e) => e.preventDefault()}\n onCloseAutoFocus={(e) => e.preventDefault()}\n {...props}\n >\n {closeable && (\n <SheetPrimitive.Close\n className={cnBase(\n \"oui-ring-offset-base-700 focus:oui-ring-ring oui-absolute oui-right-4 oui-top-4 oui-z-10 oui-rounded-sm oui-transition-opacity focus:oui-outline-none focus:oui-ring-2 focus:oui-ring-offset-2 active:oui-outline-none focus:orderly-outline-none disabled:oui-pointer-events-none data-[state=open]:oui-bg-secondary\",\n props?.closeClassName,\n )}\n >\n <CloseIcon\n size={closeableSize}\n color=\"white\"\n opacity={closeOpacity}\n onClick={props?.onClose}\n />\n <span className=\"oui-sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n ),\n);\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({\n className,\n leading,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & {\n leading?: React.ReactNode;\n}) => (\n <div\n className={cnBase(\n \"oui-sheet-header oui-grid oui-min-h-12 oui-grid-cols-[40px_1fr_40px] oui-items-center\",\n )}\n >\n <div>{leading}</div>\n <div\n {...props}\n className={cnBase(\n \"oui-flex oui-flex-col oui-space-y-2 oui-text-center oui-text-lg oui-text-base-contrast\",\n className,\n )}\n />\n </div>\n);\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetBody = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div className={cn(\"oui-py-4\", className)({ twMerge: true })} {...props} />\n );\n};\n\nSheetBody.displayName = \"DialogBody\";\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cnBase(\n \"oui-sheet-footer oui-flex oui-flex-col-reverse sm:oui-flex-row sm:oui-justify-end sm:oui-space-x-2\",\n className,\n )}\n {...props}\n />\n);\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title> & {\n leading?: React.ReactNode;\n }\n>(({ className, leading, ...props }, ref) => (\n <div\n className=\"oui-sheet-header oui-grid oui-grid-cols-[40px_1fr_40px] oui-items-center\"\n ref={ref}\n >\n <div>{leading}</div>\n <div\n className={cnBase(\n \"oui-flex oui-flex-col oui-space-y-2 oui-text-center oui-text-lg oui-text-base-contrast\",\n className,\n )}\n {...props}\n />\n </div>\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cnBase(\n \"oui-sheet-description oui-text-2xs oui-text-base-contrast-54\",\n className,\n )}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetBody,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","import React, {\n FC,\n PropsWithChildren,\n ReactElement,\n ElementType,\n createContext,\n useContext,\n useReducer,\n ReactNode,\n} from \"react\";\nimport { ModalAction, ModalArgs, ModalCallbacks, ModalStore } from \"./types\";\nimport { getModalId } from \"./utils\";\nimport { MODAL_REGISTRY, register } from \"./modalHelper\";\n\nexport type ModalContextType = {};\n\nconst initialState: ModalStore = {};\n\n// const MODAL_STACK: string[] = [];\n\nexport const ALREADY_MOUNTED: Record<string, boolean> = {};\n\nexport const ModalContext = createContext<ModalStore>(initialState);\n\nexport const ModalIdContext = createContext<string | null>(null);\n\nexport const modalCallbacks: ModalCallbacks = {};\nexport const hideModalCallbacks: ModalCallbacks = {};\n\nlet dispatch: React.Dispatch<ModalAction> = () => {\n throw new Error(\n \"No dispatch method detected, did you embed your app with Modal.Provider?\"\n );\n};\n\n//------- reducer actions --------\n/**\n * show modal\n * @param id string modalId\n * @param args Record<string, unknown> modalArgs\n * @returns ModalAction\n */\nfunction showModal(id: string, args?: any): ModalAction {\n return {\n type: \"SHOW_MODAL\",\n payload: {\n id,\n args,\n },\n };\n}\n\n/**\n * close modal\n * @param id string modalId\n * @returns ModalAction\n */\nfunction hideModal(id: string): ModalAction {\n return {\n type: \"HIDE_MODAL\",\n payload: {\n id,\n },\n };\n}\n\nfunction removeModal(id: string): ModalAction {\n return {\n type: \"DESTROY_MODAL\",\n payload: {\n id,\n },\n };\n}\n\nfunction updateArgsAction(\n id: string,\n args: Record<string, unknown>\n): ModalAction {\n return {\n type: \"UPDATE_ARGS\",\n payload: {\n id,\n args,\n },\n };\n}\n\nfunction setModalStates(\n id: string,\n states: Record<string, unknown>\n): ModalAction {\n return {\n type: \"SET_MODAL_STATES\",\n payload: {\n id,\n states,\n },\n };\n}\n\n//------- reducer actions --------\n\nconst reducer = (state: ModalStore, action: ModalAction) => {\n const { id, args } = action.payload;\n // console.log(\"reducer action\", action);\n switch (action.type) {\n case \"SHOW_MODAL\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n id,\n args,\n visible: !!ALREADY_MOUNTED[id],\n delayVisible: !ALREADY_MOUNTED[id],\n },\n };\n }\n case \"HIDE_MODAL\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n visible: false,\n },\n };\n }\n case \"DESTROY_MODAL\": {\n const newState = { ...state };\n delete newState[id];\n return newState;\n }\n case \"UPDATE_ARGS\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n args: {\n ...state[id].args,\n ...args,\n },\n },\n };\n }\n case \"SET_MODAL_STATES\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n states: {\n ...state.states,\n ...action.payload.states,\n },\n },\n };\n }\n default:\n return state;\n }\n};\n\nconst ModalContainer: FC = () => {\n const modals = useContext(ModalContext);\n const visibleModalIds = Object.keys(modals).filter((id) => !!modals[id]);\n\n visibleModalIds.forEach((id) => {\n if (!MODAL_REGISTRY.has(id) && !ALREADY_MOUNTED[id]) {\n console.warn(\n `No modal found for id: ${id}. Please check the id or if it is registered or declared via JSX.`\n );\n return;\n }\n });\n\n const components = visibleModalIds\n .filter((id) => MODAL_REGISTRY.has(id))\n .map((id) => {\n return {\n id,\n ...MODAL_REGISTRY.get(id)!,\n };\n });\n\n // console.log(\"components\", components, modals);\n\n return (\n <>\n {components.map((component) => {\n // console.log(\"component\", component);\n\n const Comp: ElementType = component.comp;\n return (\n <Comp key={component.id} id={component.id} {...component.props} />\n );\n })}\n </>\n );\n};\n\nexport const ModalProvider: FC<\n PropsWithChildren<{\n dialogBuilder?: (children: ReactNode) => ReactElement;\n }>\n> = (props) => {\n const [state, dispatchOrigin] = useReducer(reducer, initialState);\n dispatch = dispatchOrigin;\n return (\n <ModalContext.Provider value={state}>\n {props.children}\n <ModalContainer />\n </ModalContext.Provider>\n );\n};\n\nfunction show<T extends any, C extends any>(\n modal: ElementType<C>,\n args?: ModalArgs<ElementType<C>>\n): Promise<T>;\nfunction show<T extends any>(\n modal: string,\n args?: Record<string, unknown>\n): Promise<T>;\nfunction show<T extends any, P extends any>(\n modal: string,\n args?: P\n): Promise<T>;\nfunction show<T extends any, P extends any>(\n modal: ElementType<any> | string,\n args?: any\n): Promise<unknown> {\n const modalId = getModalId(modal);\n if (typeof modal !== \"string\" && !MODAL_REGISTRY.has(modalId)) {\n register(modalId, modal as ElementType);\n }\n\n dispatch(showModal(modalId, args));\n if (!modalCallbacks[modalId]) {\n let theResolve!: (args?: unknown) => void;\n // `!` tell ts that theResolve will be written before it is used\n let theReject!: (args?: unknown) => void;\n const promise = new Promise((resolve, reject) => {\n theResolve = resolve;\n theReject = reject;\n });\n modalCallbacks[modalId] = {\n resolve: theResolve,\n reject: theReject,\n promise,\n };\n }\n\n return modalCallbacks[modalId].promise as Promise<T>;\n}\n\nfunction hide<T>(modal: string | FC<any>): Promise<T>;\nfunction hide(modal: string | FC<any>) {\n const modalId = getModalId(modal);\n dispatch(hideModal(modalId));\n\n delete modalCallbacks[modalId];\n\n if (!hideModalCallbacks[modalId]) {\n let theResolve!: (args?: unknown) => void;\n let theReject!: (args?: unknown) => void;\n const promise = new Promise((resolve, reject) => {\n theResolve = resolve;\n theReject = reject;\n });\n hideModalCallbacks[modalId] = {\n resolve: theResolve,\n reject: theReject,\n promise,\n };\n }\n\n return hideModalCallbacks[modalId].promise;\n}\n\nfunction remove(id: string) {\n dispatch(removeModal(id));\n delete modalCallbacks[id];\n delete hideModalCallbacks[id];\n}\n\nfunction setStates(id: string, states: Record<string, unknown>) {\n dispatch(setModalStates(id, states));\n}\n\nfunction updateArgs(id: string, args: Record<string, unknown>) {\n dispatch(updateArgsAction(id, args));\n}\n\nexport const modalActions = {\n show,\n hide,\n remove,\n setStates,\n updateArgs,\n};\n","const symModalId = Symbol(\"modalId\");\n\nlet uidSeed = 0;\n\nconst getUid = () => `__modal_${uidSeed++}`;\n\nexport const getModalId = (modal: any): string => {\n if (typeof modal === \"string\") return modal as string;\n if (!modal[symModalId]) {\n modal[symModalId] = getUid();\n }\n return modal[symModalId];\n};\n","import { ElementType, FC, useContext, useEffect } from \"react\";\nimport type { ModalArgs, ModalHocProps } from \"./types\";\nimport { useModal } from \"./useModal\";\nimport {\n ALREADY_MOUNTED,\n modalActions,\n ModalContext,\n ModalIdContext,\n} from \"./modalContext\";\n\ntype ModalRegistry = {\n comp: ElementType;\n props?: Record<string, unknown>;\n};\n\nexport const MODAL_REGISTRY = new Map<string, ModalRegistry>();\n\nexport const create = <P extends {}>(\n Comp: React.ComponentType<P>\n): FC<P & ModalHocProps> => {\n // return higher order component\n // eslint-disable-next-line react/display-name\n return ({ id, defaultVisible, keepMounted, ...props }) => {\n const { args, show } = useModal(id);\n\n const modals = useContext(ModalContext);\n const shouldMount = !!modals[id];\n\n useEffect(() => {\n if (defaultVisible) {\n show();\n }\n\n ALREADY_MOUNTED[id] = true;\n\n return () => {\n if (!keepMounted) {\n delete ALREADY_MOUNTED[id];\n }\n };\n }, [id, show, defaultVisible]);\n\n useEffect(() => {\n if (keepMounted) modalActions.setStates(id, { keepMounted: true });\n }, [id, keepMounted]);\n\n const delayVisible = modals[id]?.delayVisible;\n\n useEffect(() => {\n if (delayVisible) {\n show(args);\n }\n }, [delayVisible, args, show]);\n\n if (!shouldMount) return null;\n\n return (\n <ModalIdContext.Provider value={id}>\n <Comp {...(props as unknown as P)} {...args} />\n </ModalIdContext.Provider>\n );\n };\n};\n\nexport function register<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<ModalArgs<Props>>\n): void {\n if (!MODAL_REGISTRY.has(id)) {\n // auto crate;\n // MODAL_REGISTRY.set(id, { comp, props });\n MODAL_REGISTRY.set(id, { comp, props });\n } else {\n MODAL_REGISTRY.set(id, { comp: MODAL_REGISTRY.get(id)!.comp!, props });\n }\n}\n\nexport const unregister = (id: string): void => {\n MODAL_REGISTRY.delete(id);\n};\n","import { FC, useCallback, useContext, useEffect } from \"react\";\nimport { ModalArgs, ModalHandler } from \"./types\";\nimport {\n ModalContext,\n hideModalCallbacks,\n modalActions,\n modalCallbacks,\n ModalIdContext,\n} from \"./modalContext\";\nimport { getModalId } from \"./utils\";\nimport { register } from \"./modalHelper\";\n\nexport function useModal(): ModalHandler;\nexport function useModal(\n modal: string,\n args?: Record<string, unknown>\n): ModalHandler;\nexport function useModal<\n T extends React.FC<any>,\n ComponentProps extends ModalArgs<T>,\n PreparedProps extends Partial<ComponentProps> = {} | ComponentProps,\n RemainingProps = Omit<ComponentProps, keyof PreparedProps> &\n Partial<ComponentProps>,\n ResolveType = unknown\n>(\n modal: T,\n args?: PreparedProps\n): Omit<ModalHandler, \"show\"> & {\n show: Partial<RemainingProps> extends RemainingProps\n ? (args?: RemainingProps) => Promise<ResolveType>\n : (args: RemainingProps) => Promise<ResolveType>;\n};\nexport function useModal(modal?: any, args?: any): ModalHandler {\n const modals = useContext(ModalContext);\n const modalIdFromContext = useContext(ModalIdContext);\n\n let modalId: string | null;\n let isComponent = modal && typeof modal !== \"string\";\n\n if (!modal) {\n modalId = modalIdFromContext;\n } else {\n modalId = getModalId(modal);\n }\n\n if (!modalId) {\n throw new Error(\"modalId is required\");\n }\n\n const id = modalId as string;\n\n useEffect(() => {\n if (isComponent) {\n register(id, modal, args);\n }\n }, [isComponent, modalId, modal, args]);\n\n const modalInfo = modals[id];\n\n // console.log(\"modalInfo\", modalInfo);\n\n const show = useCallback(\n (args?: Record<string, unknown>) => modalActions.show(id, args),\n [id]\n );\n\n const hide = useCallback(() => modalActions.hide(id), [id]);\n\n const remove = useCallback(() => modalActions.remove(id), [id]);\n\n const onOpenChange = useCallback(\n (isOpen: boolean) => {\n // isOpen ? () => {} : hide();\n if (!isOpen) {\n // hide();\n reject(\"cancel\");\n hide();\n }\n },\n [id]\n );\n\n const setStates = useCallback(\n (states: Record<string, unknown>) => {\n modalActions.setStates(id, states);\n },\n [id]\n );\n\n const updateArgs = useCallback(\n (args: Record<string, unknown>) => {\n modalActions.updateArgs(id, args);\n },\n [id]\n );\n\n const resolve = useCallback(\n (args?: unknown) => {\n modalCallbacks[id]?.resolve(args);\n delete modalCallbacks[id];\n },\n [id]\n );\n\n const reject = useCallback(\n (args?: unknown) => {\n modalCallbacks[id]?.reject(args);\n delete modalCallbacks[id];\n },\n [id]\n );\n\n const resolveHide = useCallback((args?: unknown) => {\n hideModalCallbacks[id]?.resolve(args);\n delete hideModalCallbacks[id];\n }, []);\n\n return {\n id,\n args: modalInfo?.args,\n states: modalInfo?.states,\n visible: !!modalInfo?.visible,\n keepMounted: !!modalInfo?.keepMounted,\n\n show,\n hide,\n onOpenChange,\n setStates,\n updateArgs,\n remove,\n /**\n * resolve the show Promise\n */\n resolve,\n /**\n * reject the show Promise\n */\n reject,\n /**\n * emit when modal is hidden\n */\n resolveHide,\n };\n}\n","import { tv } from \"../utils/tv\";\nimport React from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\n\nconst dividerVariants = tv({\n base: [\"oui-pointer-events-none oui-box-content\"],\n variants: {\n intensity: {\n 4: \"oui-border-line-4\",\n 6: \"oui-border-line-6\",\n 8: \"oui-border-line\",\n 12: \"oui-border-line-12\",\n 16: \"oui-border-line-16\",\n },\n direction: {\n horizontal: [\"oui-border-b\"],\n vertical: [\"oui-border-l\"],\n },\n lineStyle: {\n // solid: \"oui-border-solid\",\n dashed: \"oui-border-dashed\",\n dotted: \"oui-border-dotted\",\n },\n mx: {\n 2: \"oui-mx-2\",\n 4: \"oui-mx-4\",\n 6: \"oui-mx-6\",\n 8: \"oui-mx-8\",\n 10: \"oui-mx-10\",\n },\n my: {\n 2: \"oui-my-2\",\n 4: \"oui-my-4\",\n 6: \"oui-my-6\",\n 8: \"oui-my-8\",\n 10: \"oui-my-10\",\n },\n },\n defaultVariants: {\n direction: \"horizontal\",\n intensity: 4,\n },\n});\n\ntype DividerProps = VariantProps<typeof dividerVariants> &\n React.HTMLAttributes<HTMLDivElement>;\n\nconst Divider = React.forwardRef<HTMLDivElement, DividerProps>((props, ref) => {\n const { className, intensity, direction, lineStyle, mx, my, ...rest } = props;\n return (\n <div\n ref={ref}\n {...rest}\n className={dividerVariants({\n direction,\n intensity,\n className,\n lineStyle,\n mx,\n my,\n })}\n />\n );\n});\n\nDivider.displayName = \"Divider\";\n\nexport { Divider, dividerVariants };\nexport type { DividerProps };\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport { Sheet, SheetContent, SheetHeader } from \".\";\nimport { Divider } from \"../divider\";\nimport { SheetBody, SheetContentProps, SheetTitle } from \"./sheet\";\n\nexport interface SimpleSheetProps {\n title?: ReactNode | (() => ReactNode);\n leading?: React.ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n classNames?: {\n content?: string;\n body?: string;\n header?: string;\n overlay?: string;\n };\n contentProps?: SheetContentProps;\n closable?: boolean;\n}\n\nexport const SimpleSheet: FC<PropsWithChildren<SimpleSheetProps>> = (props) => {\n const {\n open,\n onOpenChange,\n classNames,\n contentProps,\n closable = true,\n } = props;\n\n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <Sheet open={open} onOpenChange={onOpenChange}>\n <SheetContent\n onOpenAutoFocus={(event) => event.preventDefault()}\n className={classNames?.content}\n overlayClassName={classNames?.overlay}\n closeable={closable}\n {...contentProps}\n >\n {title && (\n <>\n <SheetHeader leading={props.leading}>\n <SheetTitle>{title}</SheetTitle>\n </SheetHeader>\n <Divider />\n </>\n )}\n <SheetBody className={classNames?.body}>{props.children}</SheetBody>\n </SheetContent>\n </Sheet>\n );\n};\n","import { ReactNode } from \"react\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { SimpleSheet, SimpleSheetProps } from \"../../sheet/simpleSheet\";\n\nexport type SheetProps = Pick<\n SimpleSheetProps,\n \"title\" | \"classNames\" | \"leading\" | \"contentProps\" | \"closable\"\n> & {\n content: ReactNode;\n};\nconst BaseSheet = create<SheetProps>((props) => {\n const { visible, hide, resolve, onOpenChange } = useModal();\n\n return (\n <SimpleSheet open={visible} onOpenChange={onOpenChange} {...props}>\n {props.content}\n </SimpleSheet>\n );\n});\n\nexport const sheet = (props: SheetProps) => {\n return modalActions.show(BaseSheet, props);\n};\n","import { useCallback } from \"react\";\nimport { AlertDialog, AlertDialogProps } from \"../../dialog/alertDialog\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\n\nexport const CreatedAlertDialog = create<AlertDialogProps>((props) => {\n const { onOk } = props;\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n\n const onOkHandler = useCallback((): Promise<any> => {\n return Promise.resolve().then(onOk).then(hide);\n }, [onOk]);\n\n return (\n <AlertDialog\n open={visible}\n onOpenChange={onOpenChange}\n {...props}\n onOk={onOkHandler}\n />\n );\n});\n\nexport const alert = (props: AlertDialogProps) => {\n return modalActions.show(CreatedAlertDialog, props);\n};\n","import { FC, ReactNode, useMemo } from \"react\";\nimport { SimpleDialog, SimpleDialogProps } from \"./simpleDialog\";\nimport { DialogAction } from \"./simpleDialogFooter\";\nimport { useScreen } from \"../hooks\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useLocale } from \"../locale\";\n\nexport type AlertDialogProps = {\n message?: ReactNode;\n onOk?: () => Promise<boolean>;\n onCancel?: () => void;\n okLabel?: string;\n cancelLabel?: string;\n actions?: {\n primary?: Partial<DialogAction>;\n secondary?: Partial<DialogAction>;\n };\n} & Pick<\n SimpleDialogProps,\n \"open\" | \"onOpenChange\" | \"title\" | \"closable\" | \"classNames\" | \"size\"\n>;\n\n/**\n * Generic alert dialog, often used for confirmation/alert/information dialogs.\n */\nexport const AlertDialog: FC<AlertDialogProps> = (props) => {\n const [locale] = useLocale(\"dialog\");\n const {\n title,\n message,\n open,\n onOpenChange,\n onOk,\n onCancel,\n okLabel = locale.ok,\n cancelLabel = locale.cancel,\n size,\n classNames,\n } = props;\n\n const { isMobile } = useScreen();\n\n const actions = useMemo(() => {\n if (typeof onOk !== \"function\" && typeof onCancel !== \"function\")\n return undefined;\n const actions: any = {};\n if (typeof onCancel === \"function\") {\n actions[\"secondary\"] = {\n label: cancelLabel,\n onClick: onCancel,\n size: \"md\",\n fullWidth: true,\n ...props.actions?.secondary,\n } as DialogAction;\n }\n\n if (typeof onOk === \"function\") {\n actions[\"primary\"] = {\n label: okLabel,\n size: \"md\",\n fullWidth: true,\n className: \"oui-w-full lg:oui-w-[154px]\",\n onClick: onOk,\n ...props.actions?.primary,\n } as DialogAction;\n }\n\n return actions;\n }, [onOk, onCancel, okLabel, cancelLabel, props.actions]);\n\n const defaultSize = isMobile ? \"xs\" : \"sm\";\n\n return (\n <SimpleDialog\n open={open}\n title={title}\n size={size || defaultSize}\n actions={actions}\n onOpenChange={onOpenChange}\n classNames={{\n content: cnBase(\n \"oui-bg-base-8 oui-font-semibold oui-border oui-border-line-6\",\n \"oui-p-4 oui-pt-0 lg:oui-p-5 lg:oui-pt-0\",\n classNames?.content\n ),\n body: cnBase(\"oui-py-4 lg:oui-py-5\", classNames?.body),\n footer: cnBase(\n \"oui-justify-center oui-pb-0 oui-pt-2 lg:oui-pt-3\",\n classNames?.footer\n ),\n }}\n >\n {message}\n </SimpleDialog>\n );\n};\n","import * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { VariantProps, tv } from \"tailwind-variants\";\nimport { CloseIcon } from \"../icon/close\";\n\nconst dialogVariants = tv({\n slots: {\n overlay: [\n \"oui-dialog-overlay\",\n \"oui-fixed\",\n \"oui-inset-0\",\n \"oui-z-50\",\n \"oui-bg-black/80\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n ],\n content: [\n \"oui-dialog-content\",\n \"oui-fixed\",\n \"oui-left-[50%]\",\n \"oui-top-[50%]\",\n \"oui-z-50\",\n // \"oui-grid\",\n \"oui-w-full\",\n \"oui-max-w-lg\",\n \"oui-translate-x-[-50%]\",\n \"oui-translate-y-[-50%]\",\n // \"oui-gap-4\",\n // \"oui-bg-base-8\",\n \"oui-text-base-contrast-54\",\n \"oui-px-4 lg:oui-px-5\",\n\n \"oui-shadow-lg\",\n \"oui-duration-200\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[state=closed]:oui-slide-out-to-left-1/2\",\n \"data-[state=closed]:oui-slide-out-to-top-[48%]\",\n \"data-[state=open]:oui-slide-in-from-left-1/2\",\n \"data-[state=open]:oui-slide-in-from-top-[48%]\",\n \"sm:oui-rounded-xl\",\n ],\n body: [\"oui-dialog-body\", \"oui-py-4 lg:oui-py-5\", \"oui-text-xs\"],\n close: [\n \"oui-dialog-close-btn\",\n \"oui-absolute\",\n \"oui-right-4\",\n \"oui-top-4\",\n // \"oui-opacity-70\",\n \"oui-ring-offset-background\",\n \"oui-transition-opacity\",\n \"hover:oui-opacity-100\",\n\n \"disabled:oui-pointer-events-none\",\n // \"data-[state=open]:oui-bg-accent\",\n // \"data-[state=open]:oui-text-muted-foreground\",\n ],\n header: [\n \"oui-dialog-header\",\n \"oui-flex\",\n \"oui-flex-col\",\n // \"oui-pb-4\"\n ],\n footer: [\n \"oui-dialog-footer\",\n \"oui-flex\",\n \"oui-flex-row\",\n \"oui-justify-end\",\n \"oui-space-x-2\",\n \"oui-pb-5\",\n \"oui-pt-2 lg:oui-pt-3\",\n // \"has-[&>*:nth-child(1)]:oui-bg-red-400\",\n // \"oui-has-[:checked]:oui-bg-indigo-50\",\n // \"has-[button]:oui-bg-red-50\",\n ],\n title: [\n \"oui-dialog-title\",\n \"oui-text-base\",\n // \"oui-pt-3\",\n // \"oui-pb-2\",\n \"oui-min-h-11 lg:oui-min-h-[46px]\",\n \"oui-flex\",\n \"oui-items-center\",\n \"oui-text-base-contrast\",\n ],\n desc: [\n \"oui-dialog-desc\",\n \"oui-text-xs\",\n \"oui-text-warning-darken\",\n \"oui-pt-2\",\n \"oui-text-center\",\n \"oui-pb-3\",\n // \"has-[&_+_div]:oui-pb-3\",\n ],\n },\n variants: {\n size: {\n xs: {\n content: [\"oui-max-w-xs\"], //320\n },\n sm: {\n content: [\"oui-max-w-sm\"], //360\n },\n md: {\n content: [\"oui-max-w-md\"], //420\n },\n lg: {\n content: [\"oui-max-w-lg\"], //480\n },\n xl: {\n content: [\"oui-max-w-xl\"], //540\n },\n },\n intensity: {\n 100: {\n content: [\"oui-bg-base-1\"],\n },\n 200: {\n content: [\"oui-bg-base-2\"],\n },\n 300: {\n content: [\"oui-bg-base-3\"],\n },\n 400: {\n content: [\"oui-bg-base-4\"],\n },\n 500: {\n content: [\"oui-bg-base-5\"],\n },\n 600: {\n content: [\"oui-bg-base-6\"],\n },\n 700: {\n content: [\"oui-bg-base-7\"],\n },\n 800: {\n content: [\"oui-bg-base-8\"],\n },\n 900: {\n content: [\"oui-bg-base-9\"],\n },\n },\n },\n defaultVariants: {\n intensity: 800,\n },\n});\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { overlay } = dialogVariants();\n return (\n <DialogPrimitive.Overlay\n ref={ref}\n className={overlay({ className })}\n {...props}\n />\n );\n});\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nexport type DialogContentProps = React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Content\n> &\n VariantProps<typeof dialogVariants> & {\n closable?: boolean;\n onClose?: () => void;\n overlyClassName?: string;\n };\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(\n (\n {\n overlyClassName,\n className,\n children,\n size,\n closable = true,\n intensity,\n ...props\n },\n ref,\n ) => {\n const { content, close } = dialogVariants({ className, size, intensity });\n return (\n <DialogPortal>\n <DialogOverlay className={overlyClassName} />\n <DialogPrimitive.Content\n ref={ref}\n className={content({ className })}\n {...props}\n >\n {children}\n {closable && (\n <DialogPrimitive.Close\n className={close()}\n data-testid=\"oui-testid-dialog-content-close-btn\"\n >\n <CloseIcon size={16} color=\"white\" opacity={0.98} />\n <span className=\"oui-sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n },\n);\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { header } = dialogVariants();\n return <div className={header({ className })} {...props} />;\n};\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogBody = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { body } = dialogVariants();\n return <div className={body({ className })} {...props} />;\n};\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { footer } = dialogVariants();\n return <div className={footer({ className })} {...props} />;\n};\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => {\n const { title } = dialogVariants();\n return (\n <DialogPrimitive.Title\n ref={ref}\n className={title({ className })}\n {...props}\n />\n );\n});\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => {\n const { desc } = dialogVariants();\n return (\n <DialogPrimitive.Description\n ref={ref}\n className={desc({ className })}\n {...props}\n />\n );\n});\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogBody,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","import { FC, useEffect, useMemo, useState } from \"react\";\nimport { DialogFooter } from \"./dialog\";\nimport { Button, ButtonProps, ThrottledButton } from \"../button\";\n\nexport type DialogAction<T = any> = {\n label: string;\n onClick: (event: any) => Promise<T> | T;\n} & Pick<\n ButtonProps,\n | \"size\"\n | \"disabled\"\n | \"className\"\n | \"fullWidth\"\n | \"data-testid\"\n | \"loading\"\n | \"variant\"\n | \"color\"\n>;\n\nexport type SimpleDialogFooterProps = {\n actions?: {\n primary?: DialogAction;\n secondary?: DialogAction;\n };\n className?: string;\n};\n\nexport const SimpleDialogFooter: FC<SimpleDialogFooterProps> = (props) => {\n const { actions } = props;\n const [primaryLoading, setPrimaryLoading] = useState(\n actions?.primary?.loading ?? false\n );\n\n useEffect(() => {\n if (actions?.primary?.loading) {\n setPrimaryLoading(actions?.primary?.loading);\n }\n\n return () => {\n setPrimaryLoading(false);\n };\n }, [actions?.primary?.loading]);\n\n if (!actions) return null;\n\n const buttons = useMemo(() => {\n const buttons = [];\n\n if (actions.secondary && typeof actions.secondary.onClick === \"function\") {\n const {\n fullWidth = true,\n color = \"gray\",\n label,\n ...rest\n } = actions.secondary;\n\n buttons.push(\n <Button\n key=\"secondary\"\n {...rest}\n data-testid={actions.secondary?.[\"data-testid\"]}\n color={color}\n fullWidth={fullWidth}\n >\n {label}\n </Button>\n );\n }\n\n if (actions.primary && typeof actions.primary.onClick === \"function\") {\n const {\n fullWidth = true,\n color,\n disabled,\n label,\n onClick,\n ...rest\n } = actions.primary;\n\n buttons.push(\n <ThrottledButton\n key=\"primary\"\n {...rest}\n data-testid={actions.primary?.[\"data-testid\"]}\n onClick={async (event) => {\n if (primaryLoading) return;\n try {\n setPrimaryLoading(true);\n await onClick(event);\n } catch (e) {\n } finally {\n setPrimaryLoading(false);\n }\n }}\n disabled={disabled || primaryLoading}\n loading={primaryLoading}\n fullWidth={fullWidth}\n color={color}\n >\n {label}\n </ThrottledButton>\n );\n }\n\n return buttons;\n }, [actions, primaryLoading]);\n\n return <DialogFooter className={props.className}>{buttons}</DialogFooter>;\n};\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport { Divider } from \"../divider\";\nimport {\n Dialog,\n DialogBody,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n DialogContentProps,\n} from \"./dialog\";\nimport {\n SimpleDialogFooter,\n SimpleDialogFooterProps,\n} from \"./simpleDialogFooter\";\n\ntype SimpleDialogProps = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n closable?: boolean;\n title?: ReactNode | (() => ReactNode);\n description?: ReactNode;\n classNames?: {\n content?: string;\n body?: string;\n footer?: string;\n overlay?: string;\n };\n /** if provider, it will overrides others content props */\n contentProps?: DialogContentProps;\n // footer?: ReactNode;\n} & SimpleDialogFooterProps;\n\n/**\n * Simplified dialog component.\n */\nconst SimpleDialog: FC<PropsWithChildren<SimpleDialogProps>> = (props) => {\n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <Dialog open={props.open} onOpenChange={props.onOpenChange}>\n <DialogContent\n size={props.size}\n closable={props.closable}\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n /** prevent close dialog when click the mask */\n // onPointerDownOutside={(event) => event.preventDefault()}\n className={props.classNames?.content}\n overlyClassName={props.classNames?.overlay}\n {...props.contentProps}\n >\n {title && (\n <>\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n </DialogHeader>\n <Divider />\n </>\n )}\n <DialogBody className={props.classNames?.body}>\n {props.children}\n </DialogBody>\n {typeof props.description !== \"undefined\" && (\n <DialogDescription>{props.description}</DialogDescription>\n )}\n <SimpleDialogFooter\n actions={props.actions}\n className={props.classNames?.footer}\n />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { SimpleDialog };\n\nexport type { SimpleDialogProps };\n","import { useEffect, useState } from \"react\";\n\nexport function useMediaQuery(query: string): boolean {\n const getMatches = (query: string): boolean => {\n // Prevents SSR issues\n if (typeof window !== \"undefined\") {\n return window.matchMedia(query).matches;\n }\n return false;\n };\n\n const [matches, setMatches] = useState<boolean>(getMatches(query));\n\n function handleChange() {\n setMatches(getMatches(query));\n }\n\n useEffect(() => {\n const matchMedia = window?.matchMedia(query);\n\n // Triggered at the first client-side load and if query changes\n handleChange();\n\n // Listen matchMedia\n if (matchMedia?.addListener) {\n matchMedia?.addListener(handleChange);\n } else {\n matchMedia?.addEventListener?.(\"change\", handleChange);\n }\n\n return () => {\n if (matchMedia?.removeListener) {\n matchMedia?.removeListener(handleChange);\n } else {\n matchMedia?.removeEventListener?.(\"change\", handleChange);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return matches;\n}\n","import { useMediaQuery } from \"./useMediaQuery\";\n\nexport function useScreen() {\n const isMobile = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n isMobile,\n isDesktop: !isMobile,\n };\n}\n","import { useEffect } from \"react\";\n\n/**\n * observe the element and call the callback when the element is changed\n * */\nexport function useObserverElement<T extends HTMLElement>(\n element: T | null,\n callback: (entry: ResizeObserverEntry) => void,\n) {\n useEffect(() => {\n if (!element) {\n return;\n }\n\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n callback(entry);\n }\n });\n\n resizeObserver.observe(element);\n\n return () => {\n resizeObserver.unobserve(element);\n };\n }, [element]);\n}\n","import { useMemo } from \"react\";\nimport { useMediaQuery } from \"./useMediaQuery\";\n\n/**\n * Hook to determine if the current device can use mobile device linking\n * This includes actual mobile devices AND tablets (iPad, Android tablets)\n * even if their viewport width exceeds the mobile breakpoint\n *\n */\nexport function useCanLinkDevice(): boolean {\n const isSmallViewport = useMediaQuery(\"(max-width: 768px)\");\n\n return useMemo(() => {\n // Check if device is a tablet or mobile device based on user agent\n const ua = navigator.userAgent;\n const isIpad =\n /iPad/.test(ua) || (/MacIntel/.test(ua) && navigator.maxTouchPoints > 1);\n\n const isAndroidTablet = /Android/.test(ua) && !/Mobile/.test(ua);\n\n const isTablet = isIpad || isAndroidTablet;\n return isSmallViewport || isTablet;\n }, [isSmallViewport]);\n}\n","import { useRef, useCallback } from \"react\";\n\ninterface LongPressHandlers {\n onMouseDown: (e: React.MouseEvent) => void;\n onMouseUp: () => void;\n onMouseMove: (e: React.MouseEvent) => void;\n onMouseLeave: () => void;\n onContextMenu: (e: React.MouseEvent) => void;\n onTouchStart: (e: React.TouchEvent) => void;\n onTouchEnd: () => void;\n onTouchMove: (e: React.TouchEvent) => void;\n onTouchCancel: () => void;\n}\n\nexport function useLongPress(\n callback: () => void,\n longPressTime = 600, // milliseconds\n): LongPressHandlers {\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n const targetRef = useRef<EventTarget | null>(null);\n const startPositionRef = useRef<{ x: number; y: number } | null>(null);\n const isLongPressTriggeredRef = useRef(false);\n\n const clearLongPress = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n targetRef.current = null;\n startPositionRef.current = null;\n isLongPressTriggeredRef.current = false;\n }, []);\n\n const startLongPress = useCallback(\n (e: React.MouseEvent | React.TouchEvent) => {\n // Clear previous timer\n clearLongPress();\n\n // Prevent default behavior (disable browser default menu)\n if (\"touches\" in e) {\n e.preventDefault();\n }\n\n // Record target element and start position\n targetRef.current = e.currentTarget;\n const clientX = \"touches\" in e ? e.touches[0]?.clientX : e.clientX;\n const clientY = \"touches\" in e ? e.touches[0]?.clientY : e.clientY;\n\n startPositionRef.current = { x: clientX, y: clientY };\n isLongPressTriggeredRef.current = false;\n\n // Set long press timer\n timeoutRef.current = setTimeout(() => {\n if (targetRef.current && startPositionRef.current) {\n isLongPressTriggeredRef.current = true;\n callback();\n }\n clearLongPress();\n }, longPressTime);\n },\n [callback, longPressTime, clearLongPress],\n );\n\n const handleMouseDown = useCallback(\n (e: React.MouseEvent) => {\n // Only handle left button click\n if (e.button !== 0) return;\n startLongPress(e);\n },\n [startLongPress],\n );\n\n const handleMouseUp = useCallback(() => {\n clearLongPress();\n }, [clearLongPress]);\n\n const handleMouseMove = useCallback(\n (e: React.MouseEvent) => {\n // If long press is already triggered, ignore movement\n if (isLongPressTriggeredRef.current) return;\n\n // Check if movement exceeds threshold (5px)\n if (startPositionRef.current) {\n const deltaX = Math.abs(e.clientX - startPositionRef.current.x);\n const deltaY = Math.abs(e.clientY - startPositionRef.current.y);\n const threshold = 5;\n\n if (deltaX > threshold || deltaY > threshold) {\n clearLongPress();\n }\n }\n },\n [clearLongPress],\n );\n\n const handleMouseLeave = useCallback(() => {\n clearLongPress();\n }, [clearLongPress]);\n\n const handleContextMenu = useCallback((e: React.MouseEvent) => {\n // If long press is in progress, prevent context menu\n if (timeoutRef.current || isLongPressTriggeredRef.current) {\n e.preventDefault();\n e.stopPropagation();\n }\n }, []);\n\n const handleTouchStart = useCallback(\n (e: React.TouchEvent) => {\n startLongPress(e);\n },\n [startLongPress],\n );\n\n const handleTouchEnd = useCallback(() => {\n clearLongPress();\n }, [clearLongPress]);\n\n const handleTouchMove = useCallback(\n (e: React.TouchEvent) => {\n // If long press is in progress, prevent default behavior (disable long press menu)\n if (timeoutRef.current) {\n e.preventDefault();\n }\n\n // If long press is already triggered, ignore movement\n if (isLongPressTriggeredRef.current) return;\n\n // Check if movement exceeds threshold (5px)\n if (startPositionRef.current && e.touches[0]) {\n const deltaX = Math.abs(\n e.touches[0].clientX - startPositionRef.current.x,\n );\n const deltaY = Math.abs(\n e.touches[0].clientY - startPositionRef.current.y,\n );\n const threshold = 5;\n\n if (deltaX > threshold || deltaY > threshold) {\n clearLongPress();\n }\n }\n },\n [clearLongPress],\n );\n\n const handleTouchCancel = useCallback(() => {\n clearLongPress();\n }, [clearLongPress]);\n\n return {\n onMouseDown: handleMouseDown,\n onMouseUp: handleMouseUp,\n onMouseMove: handleMouseMove,\n onMouseLeave: handleMouseLeave,\n onContextMenu: handleContextMenu,\n onTouchStart: handleTouchStart,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchCancel: handleTouchCancel,\n };\n}\n","import { ReactNode } from \"react\";\nimport { SimpleDialog, SimpleDialogProps } from \"../../dialog/simpleDialog\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\n\nexport type DialogProps = {\n content: ReactNode;\n} & Pick<SimpleDialogProps, \"title\" | \"closable\" | \"size\" | \"actions\">;\n\nconst Dialog = create<DialogProps>((props) => {\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n return (\n <SimpleDialog\n title={props.title}\n open={visible}\n onOpenChange={onOpenChange}\n size={props.size}\n closable={props.closable}\n actions={props.actions}\n // // @ts-ignore\n // onOk={() => {\n // resolve(true);\n // hide();\n // }}\n // onCancel={() => {\n // reject(false);\n // hide();\n // }}\n >\n {props.content}\n </SimpleDialog>\n );\n});\n\nexport const dialog = (props: DialogProps) => {\n return modalActions.show(Dialog, props);\n};\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport {\n Dialog,\n DialogBody,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"./dialog\";\nimport { Divider } from \"../divider\";\nimport {\n SimpleDialogFooter,\n SimpleDialogFooterProps,\n} from \"./simpleDialogFooter\";\n\ntype TriggerDialogProps = {\n size?: \"sm\" | \"md\" | \"lg\";\n closable?: boolean;\n title?: ReactNode;\n description?: ReactNode;\n trigger: ReactNode;\n} & SimpleDialogFooterProps;\n\nconst TriggerDialog: FC<PropsWithChildren<TriggerDialogProps>> = (props) => {\n return (\n <Dialog>\n <DialogTrigger asChild>{props.trigger}</DialogTrigger>\n <DialogContent\n size={props.size}\n closable={props.closable}\n onOpenAutoFocus={(event) => event.preventDefault()}\n >\n {props.title && (\n <>\n <DialogHeader>\n <DialogTitle>{props.title}</DialogTitle>\n </DialogHeader>\n <Divider />\n </>\n )}\n <DialogBody>{props.children}</DialogBody>\n {typeof props.description !== \"undefined\" && (\n <DialogDescription>{props.description}</DialogDescription>\n )}\n <SimpleDialogFooter actions={props.actions} />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { TriggerDialog };\n\nexport type { TriggerDialogProps };\n","import { ElementType } from \"react\";\nimport { useModal, modal } from \"../modal\";\nimport { SimpleDialog, SimpleDialogProps } from \"./simpleDialog\";\nimport { ModalArgs } from \"../modal/types\";\n\nexport function createDialogComponent<P extends Partial<SimpleDialogProps>>(\n Comp: ElementType\n) {\n return modal.create((props: P) => {\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n\n const {\n title,\n size,\n // @ts-ignore deprecated\n contentClassName,\n // @ts-ignore deprecated\n bodyClassName,\n closable,\n classNames,\n ...rest\n } = props;\n return (\n <SimpleDialog\n open={visible}\n onOpenChange={onOpenChange}\n size={size}\n title={title}\n closable={closable}\n classNames={{\n content: contentClassName,\n body: bodyClassName,\n ...classNames,\n }}\n contentProps={{\n onInteractOutside: (e) => {\n const el = document.querySelector('#privy-dialog')\n if (el) {\n e.preventDefault();\n }\n },\n }}\n >\n <Comp {...rest} close={hide} resolve={resolve} reject={reject} />\n </SimpleDialog>\n );\n });\n}\n\nexport function registerSimpleDialog<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<SimpleDialogProps & Props>\n) {\n modal.register(id, createDialogComponent(comp), props);\n}\n","import { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { SimpleDialog, SimpleDialogProps } from \"../../dialog\";\nimport { modalActions } from \"../modalContext\";\nimport { Text } from \"../../typography\";\nimport { useScreen } from \"../../hooks\";\nimport { useLocale } from \"../../locale\";\n\nexport type ConfirmProps = {\n content?: React.ReactNode;\n footer?: React.ReactNode;\n onOk?: () => Promise<any>;\n okLabel?: string;\n onCancel?: () => Promise<any>;\n cancelLabel?: string;\n contentClassName?: string;\n bodyClassName?: string;\n // closeableSize?: number;\n // okId?: string;\n // cancelId?: string;\n} & Pick<SimpleDialogProps, \"title\" | \"classNames\" | \"size\">;\n\nexport const ConfirmDialog = create<ConfirmProps>((props) => {\n const { size } = props;\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n const [locale] = useLocale(\"modal\");\n\n const { isMobile } = useScreen();\n\n const defaultSize = isMobile ? \"xs\" : \"sm\";\n \n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <SimpleDialog\n open={visible}\n title={\n <Text size=\"base\" weight=\"semibold\">\n {title}\n </Text>\n }\n size={size || defaultSize}\n classNames={{\n content: props.contentClassName,\n body: props.bodyClassName,\n ...props.classNames,\n }}\n // maxWidth={props.maxWidth}\n closable\n // closeableSize={props.closeableSize}\n // okId={props.okId}\n // cancelId={props.cancelId}\n onOpenChange={(open) => {\n if (!open) {\n reject();\n }\n onOpenChange(open);\n }}\n actions={{\n primary: {\n label: props.okLabel ?? locale.confirm,\n className: \"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8\",\n \"data-testid\": \"oui-testid-confirm-dialog-confirm-btn\",\n onClick: () => {\n return Promise.resolve()\n .then(() => {\n if (typeof props.onOk === \"function\") {\n return props.onOk();\n }\n return true;\n })\n .then(\n (data?: any) => {\n resolve(data);\n hide();\n },\n (err) => {\n reject(err);\n hide();\n }\n );\n },\n },\n secondary: {\n label: props.cancelLabel ?? locale.cancel,\n className: \"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8\",\n \"data-testid\": \"oui-testid-confirm-dialog-cancel-btn\",\n onClick: () => {\n return Promise.resolve()\n .then(() => {\n if (typeof props.onCancel === \"function\") {\n return props.onCancel();\n }\n return Promise.reject('cancel');\n })\n .then(\n (data?: any) => {\n resolve(data);\n hide();\n },\n (err) => {\n reject(err);\n hide();\n }\n );\n },\n },\n }}\n >\n <div className=\"oui-text-2xs lg:oui-text-sm\">{props.content}</div>\n </SimpleDialog>\n );\n});\n\nexport const confirm = <T = any, >(props: ConfirmProps):Promise<T> => {\n return modalActions.show(ConfirmDialog, props);\n};\n","import { modalActions } from \"./modalContext\";\nimport { register, unregister, create } from \"./modalHelper\";\n\nexport { ModalProvider } from \"./modalContext\";\n\nimport { sheet } from \"./preset/sheet\";\nimport { alert } from \"./preset/alert\";\nimport { dialog } from \"./preset/dialog\";\n\nimport { confirm } from \"./preset/confirm\";\nexport type { ConfirmProps } from \"./preset/confirm\";\n// import { actionSheet } from \"@/modal/preset/actionSheet\";\nexport { ConfirmDialog } from \"./preset/confirm\";\n\nexport type { ModalHocProps } from \"./types\";\n\nexport { ModalContext, ModalIdContext } from \"./modalContext\";\n\n// @ebay/nice-modal-react\nexport { useModal } from \"./useModal\";\n\nexport const modal = {\n create,\n register,\n unregister,\n\n ...modalActions,\n // actionSheet,\n confirm,\n alert,\n sheet,\n dialog,\n // alert\n //actionSheet\n /// toast\n};\n","import { ElementType } from \"react\";\nimport { useModal, modal } from \"../modal\";\nimport { SheetProps } from \"../modal/preset/sheet\";\nimport { SimpleSheet, SimpleSheetProps } from \"./simpleSheet\";\n\nfunction createSheetComponent<P extends Partial<SimpleSheetProps>>(\n Comp: ElementType\n) {\n return modal.create((props: P) => {\n const { title, leading, classNames, contentProps, closable, ...rest } =\n props;\n\n const { visible, hide, resolve, reject, onOpenChange, args } = useModal();\n\n // console.log(\"-------\", args);\n\n return (\n <SimpleSheet\n open={visible}\n onOpenChange={onOpenChange}\n title={title}\n leading={leading}\n classNames={classNames}\n closable={closable}\n contentProps={contentProps}\n >\n <Comp {...rest} close={hide} resolve={resolve} reject={reject} />\n </SimpleSheet>\n );\n });\n}\n\nexport function registerSimpleSheet<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<SimpleSheetProps & Props>\n) {\n modal.register(id, createSheetComponent(comp), props);\n}\n","import React, {\n ComponentPropsWithoutRef,\n FC,\n Fragment,\n PropsWithChildren,\n useCallback,\n useMemo,\n} from \"react\";\nimport { cn, Divider, Sheet, SheetContent, SheetTrigger } from \"..\";\nimport { useLocale } from \"../locale\";\n\ntype SheetItemType = \"division\" | \"data\" | \"cancel\";\n\nexport interface BaseActionSheetItem {\n label: string;\n type?: SheetItemType;\n icon?: string;\n value?: string;\n active?: boolean;\n onClick?: (action: BaseActionSheetItem) => void;\n}\n\nexport interface ActionSheetItemProps {\n action: BaseActionSheetItem;\n index: number;\n active?: boolean;\n onClick?: (value: { value?: string; index: number }) => void;\n}\n\nexport const ActionItem: FC<ActionSheetItemProps> = (props) => {\n const { action } = props;\n\n const onItemClick = useCallback(() => {\n if (typeof action.onClick === \"function\") {\n action.onClick(action);\n } else {\n props.onClick?.({ ...action, index: props.index });\n }\n }, [action]);\n\n const child = useMemo(() => {\n return action.label;\n }, [action.label]);\n\n return (\n <div\n className={cn(\n \"oui-flex oui-justify-center oui-items-center oui-text-lg oui-h-[52px] oui-cursor-pointer\",\n\n props.active && \"oui-text-primary-darken\"\n )}\n onClick={onItemClick}\n >\n {child}\n </div>\n );\n};\n\nexport const ActionDivision: FC = (props) => {\n return (\n <div className=\"oui-relative oui-h-[1px] oui-bg-base-300 oui-mt-[-1px]\"></div>\n );\n};\n\nexport interface ActionSheetContentProps {\n actionSheets: BaseActionSheetItem[];\n value?: BaseActionSheetItem;\n onValueChange?: (value: any) => void;\n onClose?: () => void;\n}\nexport const ActionSheetContent: FC<ActionSheetContentProps> = (props) => {\n return (\n <>\n {props.actionSheets.map((action, index) => {\n if (action.type === \"division\") {\n return <ActionDivision key={index} />;\n }\n return (\n <Fragment key={action.value || index}>\n {action.value === \"cancel\" && (\n <div className=\"oui-h-2 oui-bg-base-10\" />\n )}\n <ActionItem\n onClick={(value) => {\n if (value.value === \"cancel\") {\n return;\n }\n\n if (typeof action.onClick === \"function\") {\n action.onClick(action);\n } else {\n props.onValueChange?.(value.value);\n props.onClose?.();\n }\n }}\n index={index}\n action={action}\n active={\n typeof props.value !== \"undefined\" &&\n props.value.value === action.value\n }\n />\n {index < props.actionSheets.length - 1 && (\n <Divider className=\"oui-border-base-contrast/10\" />\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport type SystemActionSheetItem = \"Cancel\" | \"Confirm\" | \"---\";\n\nexport type ActionSheetItem = BaseActionSheetItem | SystemActionSheetItem;\n\nexport interface ActionSheetProps\n extends ComponentPropsWithoutRef<typeof Sheet> {\n actionSheets: ActionSheetItem[];\n value?: BaseActionSheetItem;\n onValueChange?: (value: string) => void;\n open?: boolean;\n onClose?: () => void;\n}\n\nexport const ActionSheet: FC<PropsWithChildren<ActionSheetProps>> = (props) => {\n const [locale] = useLocale(\"modal\");\n // create actionSheet items\n const items = useMemo<BaseActionSheetItem[]>(() => {\n const items: BaseActionSheetItem[] = [];\n\n if (Array.isArray(props.actionSheets)) {\n for (const action of props.actionSheets) {\n if (typeof action === \"string\") {\n if (action === \"Cancel\") {\n items.push({\n label: locale.cancel,\n value: \"cancel\",\n onClick: () => {\n props.onClose?.();\n },\n });\n } else if (action === \"Confirm\") {\n items.push({\n label: locale.confirm,\n value: \"confirm\",\n });\n } else if (action.startsWith(\"---\")) {\n items.push({\n label: \"---\",\n value: \"---\",\n type: \"division\",\n });\n }\n } else {\n items.push(action);\n }\n }\n }\n\n return items;\n }, [props.actionSheets]);\n\n return (\n <Sheet open={props.open} onOpenChange={props.onOpenChange}>\n {typeof props.children !== \"undefined\" && (\n <SheetTrigger asChild>{props.children}</SheetTrigger>\n )}\n\n <SheetContent\n closeable={false}\n className=\"oui-action-sheet-content !oui-p-0 oui-pb-[env(safe-area-inset-bottom)]\"\n onOpenAutoFocus={(event) => event.preventDefault()}\n >\n <ActionSheetContent\n actionSheets={items}\n onClose={props.onClose}\n onValueChange={props.onValueChange}\n value={props.value}\n />\n </SheetContent>\n </Sheet>\n );\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { PaginationMeta } from \"../type\";\n\nexport const usePagination = (initial?: {\n page?: number;\n pageSize?: number;\n resetPageWhenPageSizeChange?: boolean;\n}) => {\n const dataTotal = useRef(0);\n const [page, setPage] = useState<number>(initial?.page ?? 1);\n const [pageSize, _setPageSize] = useState<number>(initial?.pageSize ?? 10);\n\n const setPageSize = useCallback(\n (size: number) => {\n _setPageSize(size);\n // check page > page total\n if (dataTotal.current > 0) {\n const totalPage = Math.ceil(dataTotal.current / size);\n if (page > totalPage) {\n setPage(totalPage);\n }\n }\n },\n [page],\n );\n\n /**\n * helper function to parse meta data,\n * the format of meta data is same as the response from the API\n */\n const parseMeta = (meta?: {\n total: number;\n current_page: number;\n records_per_page: number;\n }) => {\n const count = meta?.total ?? dataTotal.current;\n dataTotal.current = count;\n const size = meta?.records_per_page ?? pageSize;\n const pageTotal = count ? Math.ceil(count / size) : 0;\n const curPage = Math.min(meta?.current_page ?? page, pageTotal);\n return {\n count,\n page: curPage,\n pageSize: size,\n pageTotal: pageTotal,\n };\n };\n\n /** server pagination */\n const parsePagination = useCallback(\n (meta?: {\n total: number;\n current_page: number;\n records_per_page: number;\n }): PaginationMeta => {\n return {\n ...parseMeta(meta),\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n };\n },\n [page, pageSize],\n );\n\n /** manual pagination */\n const pagination = useMemo<PaginationMeta>(\n () => ({\n page,\n pageSize,\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n }),\n [parsePagination],\n );\n\n useEffect(() => {\n // reset page when page size change\n if (initial?.resetPageWhenPageSizeChange !== false) {\n setPage(1);\n }\n }, [pageSize, initial?.resetPageWhenPageSizeChange]);\n\n return {\n page,\n pageSize,\n setPage,\n setPageSize,\n parseMeta,\n pagination,\n parsePagination,\n };\n};\n","import { FC } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\nimport EmptyStateIcon from \"../icon/emptyData\";\nimport { ExtensionPositionEnum, installExtension } from \"../plugin\";\nimport { useLocale } from \"../locale\";\n\nexport const EmptyDataState: FC<{ title?: string; className?: string }> = (\n props\n) => {\n const [locale] = useLocale(\"empty\");\n\n return (\n <Flex\n itemAlign=\"center\"\n direction=\"column\"\n gapY={4}\n className={props.className}\n >\n <Box>\n <EmptyStateIcon />\n </Box>\n <Text as=\"div\" intensity={36} size=\"2xs\">\n {props.title ?? locale.description}\n </Text>\n </Flex>\n );\n};\n\ninstallExtension<{ title?: string }>({\n name: \"emptyDataIdentifier\",\n positions: [ExtensionPositionEnum.EmptyDataIdentifier],\n})(EmptyDataState);\n","export { DownloadFeature } from \"./download\";\nexport {\n generateCSVData,\n generateCSVContent,\n downloadCSVFile,\n exportToCSV,\n type CSVColumn,\n type CSVExportOptions,\n} from \"./csvExportService\";\n","/**\n * CSV Export Service\n * Platform-agnostic utilities for CSV export\n * Used by both DataTable (desktop) and mobile ListView components\n */\n\nexport interface CSVColumn {\n title: string;\n plantTextTitle?: string;\n dataIndex?: string;\n renderPlantText?: (value: any, record: any, index: number) => any;\n hidden?: boolean;\n type?: string;\n}\n\nexport interface CSVExportOptions {\n columns: CSVColumn[];\n dataSource: any[];\n filename?: string;\n}\n\n/**\n * Converts raw data to CSV format\n * @param columns - Column definitions with formatting functions\n * @param dataSource - Array of data records\n * @returns Array of CSV rows (header + data rows)\n */\nexport const generateCSVData = (\n columns: CSVColumn[],\n dataSource: any[],\n): any[][] => {\n // Filter and map headers\n const headers = columns\n .filter((column) => !column.hidden && column.type !== \"action\")\n .map((column) => column.plantTextTitle || column.title);\n\n // Filter and map data rows\n const rows = dataSource.map((record, recordIndex) => {\n return columns\n .filter((column) => !column.hidden && column.type !== \"action\")\n .map((column) => {\n // Get value from record using dataIndex\n let value = column.dataIndex ? record[column.dataIndex] : record;\n\n // Apply custom formatting if provided\n if (typeof column.renderPlantText === \"function\") {\n value = column.renderPlantText(value, record, recordIndex);\n }\n\n return `\"${value ?? \"--\"}\"`;\n });\n });\n\n return [headers, ...rows];\n};\n\n/**\n * Generates CSV content string from data\n * @param data - Array of CSV rows\n * @returns CSV formatted string\n */\nexport const generateCSVContent = (data: any[][]): string => {\n return data.map((row) => row.join(\",\")).join(\"\\n\");\n};\n\n/**\n * Triggers browser download of CSV file\n * @param csvContent - CSV formatted string\n * @param filename - Name of the file to download\n */\nexport const downloadCSVFile = (\n csvContent: string,\n filename = `export_${Date.now()}.csv`,\n) => {\n const blob = new Blob([csvContent], { type: \"text/csv;charset=utf-8;\" });\n const url = URL.createObjectURL(blob);\n\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", filename);\n link.click();\n\n URL.revokeObjectURL(url);\n};\n\n/**\n * Complete CSV export flow\n * @param options - Export options with columns and dataSource\n */\nexport const exportToCSV = (options: CSVExportOptions) => {\n const { columns, dataSource, filename } = options;\n const csvData = generateCSVData(columns, dataSource);\n const csvContent = generateCSVContent(csvData);\n downloadCSVFile(csvContent, filename);\n};\n","import { Table, TableFeature, RowData } from \"@tanstack/react-table\";\nimport { Column } from \"../type\";\nimport { generateCSVContent, downloadCSVFile } from \"./csvExportService\";\n\n// Define types for our new feature's table APIs\nexport interface DownloadInstance {\n getPlainTextData: () => any[];\n download: (filename?: string) => void;\n}\n\n// Use declaration merging to add our new feature APIs and state types to TanStack Table's existing types.\ndeclare module \"@tanstack/react-table\" {\n //merge our new feature's instance APIs with the existing table instance APIs\n interface Table<TData extends RowData> extends DownloadInstance {}\n}\n\nexport const DownloadFeature: TableFeature<any> = {\n // define the new feature's table instance methods\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n table.getPlainTextData = () => {\n const header = table\n .getAllColumns()\n // filter action column and non-exportable columns (but include hidden columns for CSV)\n .filter((column) => {\n const meta = column.columnDef.meta as any;\n return meta.type !== \"action\" && meta.exportable !== false;\n })\n .map((column) => {\n const { title, plantTextTitle } = column.columnDef.meta as any;\n return plantTextTitle || title;\n });\n\n const rows = table.getRowModel().rows.map((row) =>\n row\n .getVisibleCells()\n .filter((cell) => {\n const meta = cell.column.columnDef.meta as any;\n return meta.type !== \"action\" && meta.exportable !== false;\n })\n .map((cell) => {\n const { original: record, index } = cell.row;\n const { renderPlantText } = (cell.column.columnDef.meta ||\n {}) as Column;\n const dataIndex = (cell.column.columnDef.meta as any)?.dataIndex;\n\n // Get raw value from record using dataIndex\n let value = dataIndex\n ? (record as any)[dataIndex]\n : cell.getValue();\n\n if (typeof renderPlantText === \"function\") {\n value = renderPlantText(value, record, index, cell);\n }\n\n return `\"${value ?? \"--\"}\"`;\n }),\n );\n\n const data = [header, ...rows];\n\n return data;\n };\n\n table.download = (filename?: string) => {\n const data = table.getPlainTextData();\n console.log(\"downloadCSV\", data);\n const csvContent = generateCSVContent(data);\n downloadCSVFile(csvContent, filename);\n };\n },\n};\n","import * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst tabsVariants = tv({\n slots: {\n list: [\n \"oui-header-list\",\n \"oui-flex\",\n \"oui-items-center\",\n // \"oui-px-1\",\n ],\n content: [\n \"oui-ring-offset-background\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n ],\n trigger: [\n \"oui-tab-trigger\",\n \"oui-inline-flex\",\n \"oui-items-center\",\n \"oui-justify-center\",\n \"oui-whitespace-nowrap\",\n // \"oui-px-3\",\n\n \"oui-box-content\",\n \"oui-font-medium\",\n\n \"oui-text-base-contrast-36 hover:oui-text-base-contrast-54\",\n \"oui-ring-offset-background\",\n \"oui-transition-all\",\n \"oui-space-x-1\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n \"disabled:oui-pointer-events-none\",\n \"disabled:oui-opacity-50\",\n ],\n icon: [\"oui-text-inherit\"],\n },\n variants: {\n variant: {\n text: {\n list: [\n \"oui-space-x-6\",\n \"oui-border-b\",\n \"oui-border-line-6\",\n \"oui-px-1\",\n ],\n trigger: [\n \"oui-pb-2\",\n \"oui-relative\",\n \"data-[state=active]:oui-text-base-contrast\",\n \"data-[state=active]:after:oui-content-['']\",\n \"data-[state=active]:after:oui-block\",\n \"data-[state=active]:after:oui-h-[3px]\",\n \"data-[state=active]:after:oui-bg-white\",\n \"data-[state=active]:after:oui-absolute\",\n \"data-[state=active]:after:oui-rounded-full\",\n \"data-[state=active]:after:-oui-bottom-0\",\n \"data-[state=active]:after:oui-left-0\",\n \"data-[state=active]:after:oui-right-0\",\n ],\n },\n contained: {\n list: [\"oui-space-x-[6px]\"],\n trigger: [\n \"oui-rounded\",\n \"oui-px-3\",\n \"oui-bg-base-7 hover:oui-bg-base-5\",\n \"oui-text-base-contrast-36\",\n \"data-[state=active]:oui-bg-base-5\",\n \"data-[state=active]:oui-text-base-contrast\",\n ],\n icon: [\"oui-text-inherit\"],\n },\n },\n size: {\n sm: {},\n md: {},\n lg: {},\n xl: {},\n },\n },\n compoundVariants: [\n {\n size: \"sm\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-sm\", \"oui-h-5\"],\n icon: [\"oui-w-[10px]\", \"oui-h-[10px]\"],\n },\n },\n {\n size: \"md\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-base\", \"oui-h-6\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n },\n {\n size: \"lg\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-lg\", \"oui-h-7\"],\n icon: [\"oui-w-[14px]\", \"oui-h-[14px]\"],\n },\n },\n {\n size: \"xl\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-lg\", \"oui-h-7\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n },\n {\n size: \"sm\",\n variant: \"contained\",\n className: {\n list: [\"oui-space-x-1\"],\n trigger: [\"oui-text-2xs\", \"oui-h-6\"],\n icon: [\"oui-w-[10px]\", \"oui-h-[10px]\"],\n },\n },\n {\n size: \"md\",\n variant: \"contained\",\n className: {\n // list: [\"oui-space-x-[6px]\"],\n trigger: [\"oui-text-2xs\", \"oui-h-7\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n },\n {\n size: \"lg\",\n variant: \"contained\",\n className: {\n trigger: [\"oui-text-sm\", \"oui-h-8\", \"oui-rounded-md\"],\n icon: [\"oui-w-[14px]\", \"oui-h-[14px]\"],\n },\n },\n {\n size: \"xl\",\n variant: \"contained\",\n className: {\n trigger: [\"oui-text-base\", \"oui-h-9\", \"oui-rounded-md\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n },\n ],\n defaultVariants: {\n size: \"md\",\n variant: \"text\",\n },\n});\n\nconst TabsBase = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsVariants>\n>((originProps, ref) => {\n const { className, size, variant, ...props } = originProps;\n const { list } = tabsVariants({ size, variant });\n return (\n <TabsPrimitive.List ref={ref} className={list({ className })} {...props} />\n );\n});\n\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> &\n VariantProps<typeof tabsVariants> & {\n icon?: React.ReactElement;\n \"data-testid\"?: string;\n }\n>((originProps, ref) => {\n const { className, size, children, icon, variant, ...props } = originProps;\n const { trigger, icon: iconClassName } = tabsVariants({ size, variant });\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n {...props}\n >\n {typeof icon !== \"undefined\"\n ? React.cloneElement(icon, { className: iconClassName(), opacity: 1 })\n : null}\n <span>{children}</span>\n </TabsPrimitive.Trigger>\n );\n});\n\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content> &\n VariantProps<typeof tabsVariants>\n>((oriProps, ref) => {\n const { className, size, children, ...props } = oriProps;\n const { content } = tabsVariants({ size });\n return (\n <TabsPrimitive.Content\n ref={ref}\n className={content({ className })}\n {...props}\n >\n {children}\n </TabsPrimitive.Content>\n );\n});\n\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { TabsBase, TabsList, TabsTrigger, TabsContent, tabsVariants };\n","import React, {\n FC,\n PropsWithChildren,\n createContext,\n useEffect,\n ReactNode,\n useState,\n useContext,\n ReactElement,\n useMemo,\n useCallback,\n} from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport { useOrderlyTheme } from \"../provider/orderlyThemeContext\";\nimport { ScrollIndicator } from \"../scrollIndicator\";\nimport {\n TabsBase,\n TabsList,\n TabsContent,\n TabsTrigger,\n tabsVariants,\n} from \"./tabsBase\";\n\ntype tabConfig = {\n title: ReactNode;\n icon?: ReactElement;\n testid?: string;\n value: string;\n content: ReactNode;\n collapsed?: boolean;\n className?: string;\n style?: React.CSSProperties;\n};\n\ninterface TabsContextState {\n registerTab: (tab: tabConfig) => void;\n unregisterTab: (tab: tabConfig) => void;\n}\n\nconst TabsContext = createContext<TabsContextState>({} as TabsContextState);\n\ntype TabsProps<T = string> = {\n defaultValue?: T;\n value?: T;\n // onChange?: (value: T) => void;\n leading?: ReactNode;\n trailing?: ReactNode;\n classNames?: {\n tabsListContainer?: string;\n tabsList?: string;\n tabsContent?: string;\n scrollIndicator?: string;\n trigger?: string;\n };\n contentVisible?: boolean;\n showScrollIndicator?: boolean;\n} & TabsPrimitive.TabsProps &\n VariantProps<typeof tabsVariants>;\n\nconst Tabs: FC<TabsProps> = (props) => {\n const { getComponentTheme } = useOrderlyTheme();\n const {\n classNames,\n contentVisible = true,\n variant,\n showScrollIndicator,\n value,\n ...rest\n } = props;\n\n const tabsOverrides = getComponentTheme(\"tabs\", { variant: \"contained\" });\n\n const tabsVariant = variant || tabsOverrides.variant;\n\n const [tabList, setTabList] = useState<{ [key: string]: tabConfig }>({});\n\n const registerTab = useCallback((config: tabConfig) => {\n setTabList((prev) => {\n return { ...prev, [config.value]: config };\n });\n }, []);\n\n const unregisterTab = useCallback((config: tabConfig) => {\n setTabList((prev) => {\n const newTabList = { ...prev };\n delete newTabList[config.value];\n return newTabList;\n });\n }, []);\n\n const memoizedValue = useMemo<TabsContextState>(\n () => ({ registerTab, unregisterTab }),\n [registerTab, unregisterTab],\n );\n\n const renderTabsList = () => {\n const tabsList = (\n <TabsList\n variant={tabsVariant}\n size={rest.size}\n className={cnBase(\"oui-flex-1 oui-border-0\", classNames?.tabsList)}\n >\n {Object.keys(tabList).map((key) => {\n const tab = tabList[key];\n return (\n <TabsTrigger\n key={key}\n value={tab.value}\n icon={tab.icon}\n variant={tabsVariant}\n size={rest.size}\n data-testid={tab.testid}\n className={classNames?.trigger}\n >\n {tab.title}\n </TabsTrigger>\n );\n })}\n </TabsList>\n );\n\n if (showScrollIndicator) {\n return (\n <ScrollIndicator className={classNames?.scrollIndicator}>\n {tabsList}\n </ScrollIndicator>\n );\n }\n\n return tabsList;\n };\n\n return (\n <TabsContext.Provider value={memoizedValue}>\n {props.children}\n <TabsBase value={value} {...rest}>\n <Flex\n justify=\"between\"\n itemAlign=\"center\"\n width=\"100%\"\n className={cnBase(\n tabsVariant !== \"contained\" && \"oui-border-b oui-border-b-line-6\",\n classNames?.tabsListContainer,\n )}\n >\n {props.leading}\n {renderTabsList()}\n {props.trailing}\n </Flex>\n {contentVisible &&\n Object.keys(tabList).map((key) => {\n const tab = tabList[key];\n return (\n <TabsContent\n key={key}\n value={tab.value}\n className={cnBase(classNames?.tabsContent, tab.className)}\n style={tab.style}\n >\n {tab.content}\n </TabsContent>\n );\n })}\n </TabsBase>\n </TabsContext.Provider>\n );\n};\n\nTabs.displayName = \"Tabs\";\n\nexport interface TabPanelProps {\n value: any;\n title: string | React.ReactNode;\n icon?: React.ReactElement;\n testid?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst TabPanel: FC<PropsWithChildren<TabPanelProps>> = (props) => {\n const { title, value, icon, className, style, testid, children } = props;\n\n const { registerTab, unregisterTab } = useContext(TabsContext);\n\n useEffect(() => {\n const tabConfig = {\n title,\n value,\n icon,\n testid,\n className,\n style,\n content: children,\n };\n registerTab(tabConfig);\n return () => {\n unregisterTab(tabConfig);\n };\n }, [children, className, style, icon, testid, title, value]);\n\n return null;\n};\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanel.displayName = \"TabPanel\";\n}\n\nexport { Tabs, TabPanel };\n","import { createContext, useContext } from \"react\";\n\nexport type ComponentOverrides = {\n tabs: {\n variant: \"text\" | \"contained\";\n };\n chainSelector: {\n /**\n * show testnet chains list\n * @default true\n * */\n showTestnet: boolean;\n };\n};\n\ntype GetComponentTheme = <T extends keyof ComponentOverrides>(\n component: T,\n defaultValue?: ComponentOverrides[T],\n) => ComponentOverrides[T];\n\nexport type OrderlyThemeContextState = {\n // overrides?: Partial<ComponentOverrides>;\n getComponentTheme: GetComponentTheme;\n};\n\nexport const OrderlyThemeContext = createContext(\n {} as OrderlyThemeContextState,\n);\n\nexport const useOrderlyTheme = () => {\n return useContext(OrderlyThemeContext);\n};\n","import { FC, ReactNode } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useDrag } from \"./hooks/useDrag\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport { ScrolButton } from \"./scrollButton\";\n\nexport type ScrollIndicatorProps = { children: ReactNode; className?: string };\n\nexport const ScrollIndicator: FC<ScrollIndicatorProps> = (props) => {\n const { containerRef, leadingVisible, tailingVisible, onScoll } = useScroll();\n\n const { handleMouseDown, handleMouseMove, handleMouseUp, isDragging } =\n useDrag(containerRef);\n\n return (\n <div\n className={cnBase(\n \"oui-scroll-indicator\",\n \"oui-relative oui-select-none oui-overflow-hidden\",\n props.className,\n )}\n >\n <div\n ref={containerRef}\n className={cnBase(\n \"oui-hide-scrollbar oui-overflow-x-scroll\",\n isDragging ? \"oui-cursor-grabbing\" : \"oui-cursor-grab\",\n )}\n onMouseDown={handleMouseDown}\n onMouseMove={handleMouseMove}\n onMouseUp={handleMouseUp}\n onMouseLeave={handleMouseUp}\n >\n {props.children}\n </div>\n <ScrolButton leading onClick={onScoll} visible={leadingVisible} />\n <ScrolButton tailing onClick={onScoll} visible={tailingVisible} />\n </div>\n );\n};\n","import { useState, RefObject } from \"react\";\n\nexport function useDrag(containerRef: RefObject<HTMLDivElement>) {\n const [isDragging, setIsDragging] = useState(false);\n const [startX, setStartX] = useState(0);\n const [scrollLeft, setScrollLeft] = useState(0);\n\n const handleMouseDown = (e: React.MouseEvent) => {\n if (!containerRef.current) return;\n\n setIsDragging(true);\n setStartX(e.pageX - containerRef.current.offsetLeft);\n setScrollLeft(containerRef.current.scrollLeft);\n };\n\n const handleMouseMove = (e: React.MouseEvent) => {\n if (!isDragging || !containerRef.current) return;\n\n e.preventDefault();\n const x = e.pageX - containerRef.current.offsetLeft;\n const walk = x - startX;\n containerRef.current.scrollLeft = scrollLeft - walk;\n };\n\n const handleMouseUp = () => {\n setIsDragging(false);\n };\n\n return {\n handleMouseDown,\n handleMouseMove,\n handleMouseUp,\n isDragging,\n };\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nexport function useScroll() {\n const [leadingVisible, setLeadingVisible] = useState(false);\n const [tailingVisible, setTailingVisible] = useState(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const handleScroll = () => {\n const container = containerRef.current;\n if (!container) return;\n setLeadingVisible(container.scrollLeft > 0);\n setTailingVisible(\n container.scrollLeft + container.clientWidth < container.scrollWidth\n );\n };\n\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n handleScroll();\n }\n });\n });\n\n const container = containerRef.current;\n container.addEventListener(\"scroll\", handleScroll);\n intersectionObserver.observe(container);\n\n return () => {\n container.removeEventListener(\"scroll\", handleScroll);\n intersectionObserver.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n }\n });\n });\n\n intersectionObserver.observe(containerRef.current);\n\n return () => {\n intersectionObserver.disconnect();\n };\n }, []);\n\n const onScoll = (direction: string) => {\n if (direction === \"left\") {\n containerRef.current?.scrollBy({ left: -100, behavior: \"smooth\" });\n } else {\n containerRef.current?.scrollBy({ left: 100, behavior: \"smooth\" });\n }\n };\n\n return { containerRef, leadingVisible, tailingVisible, onScoll };\n}\n","import { FC } from \"react\";\nimport { SVGProps } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\n\ntype ScrolButtonProps = {\n tailing?: boolean;\n leading?: boolean;\n visible?: boolean;\n onClick?: (direction: string) => void;\n};\n\nexport const ScrolButton: FC<ScrolButtonProps> = (props) => {\n const { visible, leading, tailing, onClick } = props;\n\n if (!visible) {\n return null;\n }\n\n return (\n <button\n onClick={() => {\n onClick?.(leading ? \"left\" : \"right\");\n }}\n className={cnBase(\n leading\n ? \"oui-scroll-indicator-leading\"\n : \"oui-scroll-indicator-tailing\",\n \"oui-group oui-flex\",\n \"oui-absolute oui-top-0 oui-bottom-0\",\n leading && \"oui-left-0 oui-flex-row-reverse\",\n tailing && \"oui-right-0\"\n )}\n >\n <div\n className={cnBase(\n \"oui-w-6 oui-h-full\",\n \"oui-bg-[linear-gradient(90deg,rgba(var(--oui-color-base-9)_/_0)_0%,rgba(var(--oui-color-base-9)_/_1)_100%)]\",\n leading && \"oui-rotate-180\"\n )}\n />\n <div\n className={cnBase(\n \"oui-flex oui-justify-center oui-items-center\",\n \"oui-w-3 oui-bg-base-9 oui-h-full\"\n )}\n >\n <ArrowRightIcon\n className={cnBase(\n \"oui-text-base-contrast-54 group-hover:oui-text-base-contrast\",\n leading && \"oui-rotate-180\"\n )}\n />\n </div>\n </button>\n );\n};\n\nexport const ArrowRightIcon: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"6\"\n height=\"14\"\n viewBox=\"0 0 6 14\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M1.194.025C.944-.026.675-.005.446.15a1.027 1.027 0 0 0-.28 1.406l3.612 5.437L.166 12.43c-.305.459-.177 1.1.28 1.406a1.02 1.02 0 0 0 1.401-.281l3.986-6a1.03 1.03 0 0 0 0-1.125l-3.986-6C1.695.2 1.444.075 1.194.025\" />\n </svg>\n);\n","import React from \"react\";\nimport { cnBase, type VariantProps } from \"tailwind-variants\";\nimport type { ComponentPropsWithout } from \"../helpers/component-props\";\nimport { decorationVariants } from \"../layout/decoration\";\nimport { tv } from \"../utils/tv\";\n\nconst cardVariants = tv({\n base: [\n \"oui-card-root\",\n \"oui-card\",\n \"oui-rounded-xl\",\n \"oui-shadow\",\n \"oui-text-base-contrast\",\n \"oui-p-6\",\n ],\n\n variants: {\n ...decorationVariants.variants,\n },\n defaultVariants: {\n intensity: 900,\n },\n});\n\nexport type BaseCardProps = ComponentPropsWithout<\"div\", \"color\" | \"title\"> &\n VariantProps<typeof cardVariants>;\n\nconst CardBase = React.forwardRef<HTMLDivElement, BaseCardProps>(\n ({ className, intensity, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cardVariants({ intensity, className })}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nCardBase.displayName = \"CardBase\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cnBase(\n \"oui-card-header oui-flex oui-flex-col oui-space-y-1.5\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, children, ...props }, ref) => (\n <h3\n ref={ref}\n className={cnBase(\n \"oui-card-header-title oui-text-lg oui-font-semibold oui-leading-none oui-tracking-tight\",\n className,\n )}\n {...props}\n >\n {children}\n </h3>\n));\n\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => (\n <p\n ref={ref}\n className={cnBase(\"oui-text-muted-foreground oui-text-sm\", className)}\n {...props}\n >\n {children}\n </p>\n));\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cnBase(\"oui-card-content oui-pt-4\", className)}\n {...props}\n >\n {children}\n </div>\n));\n\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div ref={ref} className={className} {...props}>\n {children}\n </div>\n));\n\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n CardBase,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n cardVariants,\n};\n","import { PropsWithChildren, forwardRef, ElementType, ReactNode } from \"react\";\nimport { cn } from \"..\";\nimport {\n BaseCardProps,\n CardBase,\n CardContent,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"./cardBase\";\n\ninterface CardProps extends BaseCardProps {\n title?: ReactNode;\n footer?: ReactNode;\n // footerClassName?: string;\n classNames?: {\n root?: string;\n header?: string;\n content?: string;\n footer?: string;\n };\n // color?: number;\n}\n\nconst Card = forwardRef<React.ElementRef<\"div\">, PropsWithChildren<CardProps>>(\n (props, ref) => {\n const { title, children, footer, className, classNames, ...rest } = props;\n return (\n <CardBase {...rest} className={cn(className, classNames?.root)} ref={ref}>\n <CardHeader className={classNames?.header}>\n {typeof title === \"string\" ? <CardTitle>{title}</CardTitle> : title}\n </CardHeader>\n <CardContent className={classNames?.content}>{children}</CardContent>\n {footer && (\n <CardFooter className={classNames?.footer}>{footer}</CardFooter>\n )}\n </CardBase>\n );\n },\n);\n\nCard.displayName = \"Card\";\n\nexport { Card };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport { cn } from \"..\";\n\nconst HoverCardRoot = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"oui-z-[100] oui-w-64 oui-rounded-md oui-bg-base-8 oui-p-3 oui-text-base-contrast oui-shadow-md oui-outline-none data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out data-[state=closed]:oui-fade-out-0 data-[state=open]:oui-fade-in-0 data-[state=closed]:oui-zoom-out-95 data-[state=open]:oui-zoom-in-95 data-[side=bottom]:oui-slide-in-from-top-2 data-[side=left]:oui-slide-in-from-right-2 data-[side=right]:oui-slide-in-from-left-2 data-[side=top]:oui-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport interface HoverCardProps\n extends React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Root> {\n className?: string;\n content: React.ReactNode;\n}\n\nconst HoverCard: React.FC<\n HoverCardProps &\n Omit<\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>,\n \"content\"\n >\n> = (props) => {\n const { content, open, defaultOpen, onOpenChange, children, ...rest } = props;\n return (\n <HoverCardRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n <HoverCardTrigger asChild>{children}</HoverCardTrigger>\n <HoverCardPrimitive.Portal>\n <HoverCardContent {...rest}>\n {content}\n <HoverCardPrimitive.Arrow\n width={11}\n height={5}\n className=\"oui-fill-base-4\"\n />\n </HoverCardContent>\n </HoverCardPrimitive.Portal>\n </HoverCardRoot>\n );\n};\n\nHoverCard.displayName = \"HoverCard\";\n\nexport { HoverCard, HoverCardRoot, HoverCardTrigger, HoverCardContent };\n","export { Calendar } from \"./date/calendar\";\n\nimport { DatePicker as DatePickerBase } from \"./datepicker\";\nimport { DateRangePicker } from \"./dateRangePicker\";\n\ntype DatePickerType = typeof DatePickerBase & {\n range: typeof DateRangePicker;\n};\n\nconst DatePicker = DatePickerBase as DatePickerType;\nDatePicker.range = DateRangePicker;\n\nexport { DatePicker };\nexport type { DatePickerProps } from \"./datepicker\";\n\nexport { Picker } from \"./picker\";\n","import * as React from \"react\";\nimport { Fragment, useMemo } from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { cn } from \"..\";\nimport { tv } from \"../utils/tv\";\nimport { convertValueToPercentage, getThumbInBoundsOffset } from \"./utils\";\n\nconst sliderVariants = tv({\n slots: {\n root: \"oui-relative oui-flex oui-w-full oui-touch-none oui-select-none oui-items-center\",\n thumb: [\n \"oui-block\",\n \"oui-h-[10px]\",\n \"oui-w-[10px]\",\n \"oui-rounded-full\",\n \"oui-border-[2px]\",\n \"oui-border-primary\",\n \"oui-bg-base-6\",\n \"oui-shadow\",\n \"oui-group\",\n \"oui-transition-colors\",\n \"focus-visible:oui-outline-none\",\n\n // \"focus-visible:oui-ring-1\",\n // \"focus-visible:oui-ring-ring\",\n // \"focus:oui-w-4\",\n // \"focus:oui-h-4\",\n \"focus:oui-shadow-[0_0_0_8px]\",\n \"focus:oui-shadow-base-contrast/20\",\n \"focus:oui-h-[14px]\",\n \"focus:oui-w-[14px]\",\n // \"focus:oui-border-[3px]\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-border-base-2\",\n \"data-[disabled]:oui-hidden\",\n ],\n track:\n \"oui-relative oui-h-[8px] oui-w-full oui-grow oui-overflow-hidden oui-rounded-full\",\n\n trackInner:\n \"oui-absolute oui-left-0 oui-right-0 oui-h-[2px] oui-top-[3px] oui-pointer-events-none oui-bg-base-2\",\n range:\n \"oui-absolute oui-h-[2px] oui-top-[3px] oui-bg-primary data-[disabled]:oui-bg-base-2\",\n mark: \"oui-absolute oui-top-[1px] oui-w-[6px] oui-h-[6px] oui-rounded oui-border oui-border-base-2 oui-bg-base-6 oui-pointer-events-none oui-translate-x-[-50%]\",\n tips: [\n \"oui-absolute\",\n \"oui-hidden\",\n \"oui-rounded\",\n \"oui-drop-shadow\",\n \"oui-w-[36px]\",\n \"oui-h-[19px]\",\n \"oui-translate-x-[-12px]\",\n \"oui-top-[-28px]\",\n \"oui-font-semibold\",\n \"oui-text-center\",\n \"group-focus:oui-inline-block\",\n \"after:oui-block\",\n \"after:oui-absolute\",\n \"after:oui-bottom-[-8px]\",\n \"after:oui-w-0\",\n \"after:oui-h-0\",\n \"after:oui-border-4\",\n \"after:oui-left-1/2\",\n \"after:oui-translate-x-[-50%]\",\n \"after:oui-border-solid\",\n \"after:oui-border-transparent\",\n \"after:oui-border-t-inherit\",\n \"oui-text-base-5\",\n \"oui-text-2xs\",\n ],\n },\n variants: {\n color: {\n primary: {\n thumb: [\"oui-border-primary\", \"oui-bg-base-5\"],\n range: \"oui-bg-primary\",\n tips: \"oui-bg-primary after:oui-border-t-primary\",\n },\n primaryLight: {\n thumb: [\"oui-border-primary-light\", \"oui-bg-base-5\"],\n range: \"oui-bg-primary-light\",\n tips: \"oui-bg-primary-light after:oui-border-t-primary-light\",\n },\n buy: {\n thumb: [\"oui-border-success\", \"oui-bg-base-5\"],\n range: \"oui-bg-success\",\n tips: [\"oui-bg-success after:oui-border-t-success\"],\n },\n sell: {\n thumb: [\"oui-border-danger\", \"oui-bg-base-5\"],\n range: \"oui-bg-danger\",\n tips: [\"oui-bg-danger after:oui-border-t-danger\"],\n },\n },\n },\n});\n\nexport type SliderMarks = { value: number; label: string }[];\n\ntype SliderProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root> &\n VariantProps<typeof sliderVariants> & {\n // showMarks?: boolean;\n marks?: SliderMarks;\n markCount?: number;\n markLabelVisible?: boolean;\n showTip?: boolean;\n tipFormatter?: (\n value: number,\n min: number,\n max: number,\n percent: number,\n ) => string | React.ReactNode;\n classNames?: {\n root?: string;\n thumb?: string;\n track?: string;\n range?: string;\n };\n };\n\nconst BaseSlider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n SliderProps\n>((oriProps, ref) => {\n const {\n className,\n color,\n marks,\n markCount,\n classNames,\n markLabelVisible,\n showTip,\n onValueChange,\n value: __propsValue,\n ...props\n } = oriProps;\n const { track, range, thumb, root, trackInner, mark, tips } = sliderVariants({\n color,\n });\n\n const [innerValue, setInvalue] = React.useState(__propsValue);\n\n React.useEffect(() => {\n setInvalue((prev) => {\n if (!prev) {\n return __propsValue;\n }\n if (__propsValue?.some((v, i) => v !== prev[i])) {\n return __propsValue;\n }\n return prev;\n });\n }, [__propsValue]);\n\n const innerMasks = useMemo<SliderMarks>(() => {\n if (Array.isArray(marks) && marks.length > 0) {\n return marks;\n }\n\n const _max = props.max ?? 100;\n const _min = props.min ?? 0;\n\n if (typeof markCount !== \"undefined\") {\n const marks: SliderMarks = [];\n\n // calculate the range from min to max\n const range = _max - _min;\n const piece = range / markCount;\n\n for (let i = 0; i <= markCount; i++) {\n const value = _min + i * piece;\n marks.push({\n value,\n label: `${value}`,\n });\n }\n\n return marks;\n }\n\n return [];\n }, [marks, markCount, props.max, props.min]);\n\n const onValueChangeInner = (value: number[]) => {\n setInvalue(value);\n\n onValueChange?.(value);\n };\n\n return (\n <SliderPrimitive.Root\n ref={ref}\n className={root({ className })}\n value={onValueChange ? __propsValue : innerValue}\n onValueChange={onValueChange ? onValueChange : onValueChangeInner}\n {...props}\n >\n <SliderPrimitive.Track\n className={track({ className: classNames?.track })}\n >\n <div className={trackInner()} />\n <SliderPrimitive.Range\n className={range({ className: classNames?.range })}\n />\n </SliderPrimitive.Track>\n {Array.isArray(innerMasks) && innerMasks.length > 0 && (\n <Marks\n value={innerValue}\n color={color}\n marks={innerMasks}\n isInnerMask={!Array.isArray(marks) || marks.length === 0}\n min={props.min}\n max={props.max}\n markLabelVisible={markLabelVisible}\n disabled={props.disabled}\n className={mark()}\n step={props.step}\n />\n )}\n <SliderPrimitive.Thumb\n className={thumb({\n className: cn(classNames?.thumb, \"oui-slider-thumb\"),\n })}\n >\n {showTip && (\n <SliderTip\n value={innerValue}\n className={tips({ color })}\n max={props.max ?? 100}\n min={0}\n tipFormatter={props.tipFormatter}\n />\n )}\n </SliderPrimitive.Thumb>\n </SliderPrimitive.Root>\n );\n});\n\nBaseSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport type SliderMarksProps = {\n value?: number[];\n marks?: SliderMarks;\n color?: \"primary\" | \"buy\" | \"sell\" | \"primaryLight\";\n // width: number;\n min?: number;\n max?: number;\n disabled?: boolean;\n markLabelVisible?: boolean;\n isInnerMask?: boolean;\n className?: string;\n step?: number;\n};\n\nconst Marks: React.FC<SliderMarksProps> = (props) => {\n const {\n marks,\n value,\n isInnerMask,\n markLabelVisible,\n className,\n color = \"primary\",\n } = props;\n const _value = useMemo(() => value?.[0] ?? 0, [value]);\n const selIndex = useMemo(() => {\n if (typeof props.step === \"undefined\") {\n return undefined;\n }\n return Math.floor(_value / props.step);\n }, [_value, props.step]);\n\n const colorCls = useMemo(() => {\n switch (color) {\n case \"primary\":\n return \"oui-border-primary oui-bg-primary\";\n case \"buy\":\n return \"oui-border-trade-profit oui-bg-trade-profit\";\n case \"sell\":\n return \"oui-border-trade-loss oui-bg-trade-loss\";\n case \"primaryLight\":\n return \"oui-border-primary-light oui-bg-primary-light\";\n }\n }, [color]);\n\n const textCls = useMemo(() => {\n switch (color) {\n case \"primary\":\n return \"oui-text-primary\";\n case \"buy\":\n return \"oui-texttrade-profit\";\n case \"sell\":\n return \"oui-text-trade-loss\";\n case \"primaryLight\":\n return \"oui-text-primary-light\";\n }\n }, [color]);\n\n return (\n <>\n {marks?.map((mark, index) => {\n const percent = convertValueToPercentage(\n mark.value,\n props.min ?? 1,\n props.max ?? marks.length - 1,\n );\n // const percent = convertValueToPercentage(index, 0, marks.length - 1);\n // const percent = ((100 - 2 * 6) / (marks.length - 1)) * index;\n const thumbInBoundsOffset = getThumbInBoundsOffset(6, percent, 1);\n const __value = isInnerMask ? mark.value : index;\n // console.log(\"_ value\", isInnerMask, _value, selIndex, mark, __value, percent);\n\n const active =\n (isInnerMask ? _value >= __value : _value >= mark.value) &&\n _value >= 0 &&\n !props.disabled;\n\n const classNames = active ? colorCls : \"\";\n\n return (\n <Fragment key={index}>\n {/* Only draw mark dots when label is not empty (for external marks) or always draw (for internal marks) */}\n {(!isInnerMask ? mark.label : true) && (\n <span\n className={cnBase(className, classNames)}\n style={{ left: `calc(${percent}% + ${thumbInBoundsOffset}px)` }}\n />\n )}\n {!props.disabled && markLabelVisible && mark.label && (\n <span\n data-testid={`oui-testid-slider-mark-label-${mark.label}`}\n key={index}\n className={cn(\n \"oui-absolute oui-top-[16px] oui-text-2xs xl:oui-text-xs oui-text-base-contrast-54 oui-cursor-pointer oui-translate-x-[-50%]\",\n selIndex === index && textCls,\n )}\n style={{ left: `calc(${percent}% + ${thumbInBoundsOffset}px)` }}\n >\n {mark.label}\n </span>\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport interface SliderTipProps {\n value?: number[];\n className?: string;\n min: number;\n max: number;\n tipFormatter?: (\n value: number,\n min: number,\n max: number,\n percent: number,\n ) => string | React.ReactNode;\n}\n\nexport const SliderTip: React.FC<SliderTipProps> = (props) => {\n const { className, min, max } = props;\n const value = props.value?.[0] ?? 0;\n const percent = convertValueToPercentage(value, min, max);\n return (\n <span className={className} style={{ lineHeight: \"19px\" }}>\n {props.tipFormatter?.(value, min, max, percent) ??\n `${percent.toFixed()}%`}\n </span>\n );\n};\n\nconst SingleSlider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n Omit<SliderProps, \"value\" | \"onValueChange\" | \"onValueCommit\"> & {\n value: number;\n onValueChange?: (value: number) => void;\n onValueCommit?: (value: number) => void;\n }\n>((props, ref) => {\n const _value = useMemo(() => [props.value], [props.value]);\n\n return (\n <BaseSlider\n {...props}\n value={_value}\n ref={ref}\n onValueChange={\n typeof props.onValueChange === \"function\"\n ? (values: number[]) => {\n props.onValueChange!(values[0]);\n }\n : undefined\n }\n onValueCommit={\n typeof props.onValueCommit === \"function\"\n ? (values: number[]) => {\n props.onValueCommit!(values[0]);\n }\n : undefined\n }\n />\n );\n});\n\nSingleSlider.displayName = \"SingleSlider\";\n\ntype SliderType = typeof BaseSlider & {\n single: typeof SingleSlider;\n};\n\nconst Slider = BaseSlider as SliderType;\n\nSlider.single = SingleSlider;\n\nexport { Slider };\n","function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport function convertValueToPercentage(\n value: number,\n min: number,\n max: number,\n) {\n const maxSteps = max - min;\n if (maxSteps === 0) {\n return clamp(0, [0, 100]);\n }\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\n\nfunction linearScale(\n input: readonly [number, number],\n output: readonly [number, number],\n) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) {\n return output[0];\n }\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n\nexport function getThumbInBoundsOffset(\n width: number,\n left: number,\n direction: number,\n) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\n","\"use client\";\n\nimport { FC } from \"react\";\nimport {\n ToastBar,\n toast,\n Toaster as PrimitiveToaster,\n ToastOptions,\n} from \"react-hot-toast\";\nimport { CloseIcon, cn } from \"..\";\nimport {\n ToastErrorIcon,\n ToastLoadingIcon,\n ToastSuccessIcon,\n} from \"../icon/toasterIcons\";\n\ninterface ToastProps extends ToastOptions {}\n\nexport const Toaster: FC<ToastProps> = (props) => {\n return (\n // @ts-ignore\n <PrimitiveToaster\n toastOptions={{\n duration: 3000,\n // style: {\n // fontSize: \"16px\",\n // color: \"rgba(255, 255, 255, 0.8)\",\n // padding: 16,\n // background: \"rgba(25, 14, 44, 1)\",\n // },\n success: {\n iconTheme: {\n primary: \"rgba(123, 220, 138, 1)\",\n secondary: \"rgba(25, 14, 44, 1)\",\n },\n style: {\n // color: \"rgba(123, 220, 138, 1)\",\n background: \"rgba(40, 46, 58, 1)\",\n },\n },\n loading: {\n duration: 5000,\n style: {\n background: \"rgba(40, 46, 58, 1)\",\n },\n },\n error: {\n iconTheme: {\n primary: \"rgba(217, 91, 129, 1)\",\n secondary: \"rgba(25, 14, 44, 1)\",\n },\n style: {\n // color: \"rgba(217, 91, 129, 1)\",\n background: \"rgba(40, 46, 58, 1)\",\n },\n },\n custom: {\n duration: 5000,\n removeDelay: 0,\n position: \"top-right\",\n style: {\n background: \"rgba(40, 46, 58, 1)\",\n },\n },\n }}\n {...props}\n containerClassName={cn(\n \"!top-[62px] md:!top-[80px] oui-font-semibold\",\n props.className,\n )}\n >\n {(t) => (\n // @ts-ignore\n <ToastBar\n toast={t}\n style={{\n ...t.style,\n color: \"rgba(255, 255, 255, 0.8)\",\n // background: \"rgba(25, 14, 44, 1)\",\n borderRadius: \"6px\",\n wordBreak: \"break-all\",\n maxWidth: 800,\n boxShadow: \"0px 4px 8px 0px rgba(0, 0, 0, 0.36)\",\n }}\n >\n {({ icon, message }) => {\n let customIcon = icon;\n if (t.type === \"error\") {\n customIcon = (\n <ToastErrorIcon className=\"w-[16px] h-[16px] md:w-[24px] md:h-[24px]\" />\n );\n } else if (t.type === \"success\") {\n customIcon = <ToastSuccessIcon size={20} />;\n } else if (t.type === \"loading\") {\n customIcon = (\n <div className=\"oui-animate-rotate-360 oui-rounded-full\">\n <ToastLoadingIcon className=\"w-[16px] h-[16px] md:w-[24px] md:h-[24px]\" />\n </div>\n );\n } else if (t.type === \"custom\") {\n customIcon = <></>;\n }\n return (\n <div className=\"oui-flex oui-items-center oui-padding-[12px] md:oui-padding-[16px]\">\n {customIcon}\n <div className=\"oui-text-base oui-px-[2px]\">{message}</div>\n {true && (\n <button\n onClick={() => toast.dismiss(t.id)}\n className=\"oui-hidden md:oui-block\"\n >\n <CloseIcon\n size={16}\n className=\" oui-text-base-contrast-54\"\n />\n </button>\n )}\n </div>\n );\n }}\n </ToastBar>\n )}\n </PrimitiveToaster>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ToastErrorIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n d=\"M10 1.628a8.333 8.333 0 1 0-.001 16.666 8.333 8.333 0 0 0 0-16.666m-2.5 5c.212 0 .435.071.598.234L10 8.762l1.9-1.9a.85.85 0 0 1 .6-.234c.213 0 .436.071.6.234a.86.86 0 0 1 0 1.198l-1.902 1.901 1.901 1.9a.86.86 0 0 1 0 1.2.86.86 0 0 1-1.198 0L10 11.158 8.097 13.06a.86.86 0 0 1-1.198 0 .857.857 0 0 1 0-1.198L8.8 9.96l-1.9-1.9a.857.857 0 0 1 0-1.2.84.84 0 0 1 .6-.233\"\n fill=\"#FF447C\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n }\n);\nexport const ToastSuccessIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.678 10a8.333 8.333 0 1 1 16.667-.001 8.333 8.333 0 0 1-16.667 0m12.477-3.907c.189-.18.448-.26.697-.26s.507.08.697.26c.38.362.38.969 0 1.33l-6.793 6.473a1.033 1.033 0 0 1-1.394 0l-2.911-2.774a.92.92 0 0 1 0-1.33 1.034 1.034 0 0 1 1.395 0l2.213 2.11z\"\n fill=\"#00B49E\"\n />\n </BaseIcon>\n );\n }\n);\nexport const ToastLoadingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.167 3.333c0-.46.373-.833.833-.833A7.5 7.5 0 1 1 2.5 10a.833.833 0 0 1 1.667 0A5.834 5.834 0 1 0 10 4.167a.833.833 0 0 1-.833-.834\"\n fill=\"#4774F6\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n }\n);\n\nToastErrorIcon.displayName = \"ToasterErrorIcon\";\nToastSuccessIcon.displayName = \"ToastSuccessIcon\";\nToastLoadingIcon.displayName = \"ToastLoadingIcon\";\n","export { Toaster } from \"./Toaster\";\nexport { toast } from \"react-hot-toast\";\nexport { ToastTile } from \"./toastTile\";\n","import { cn } from \"..\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\n\nexport const ToastTile = (props: {\n title: string;\n subtitle?: string;\n classNames?: {\n className?: string;\n titleClassName?: string;\n subtitleClassName?: string;\n };\n}) => {\n return (\n <Flex\n direction=\"column\"\n itemAlign={\"start\"}\n className={cn(\"oui-gap-[2px]\", props.classNames?.className)}\n >\n <Text\n size=\"base\"\n intensity={80}\n className={props.classNames?.titleClassName}\n >\n {props.title}\n </Text>\n {(props.subtitle?.length || 0) > 0 && (\n <Text\n size=\"xs\"\n intensity={54}\n className={props.classNames?.subtitleClassName}\n >\n {props.subtitle}\n </Text>\n )}\n </Flex>\n );\n};\n","import React, { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { useMemo, useRef } from \"react\";\nimport { cnBase, cn } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport { Spinner } from \"../spinner\";\nimport { EmptyDataState } from \"../table\";\nimport { useEndReached } from \"./useEndReached\";\n\nexport interface ListViewProps<T, D> {\n dataSource: T[] | null | undefined;\n renderItem: (item: T, index: number, extraData?: D) => React.ReactNode;\n className?: string;\n contentClassName?: string;\n isLoading?: boolean;\n loadMore?: () => void;\n\n style?: React.CSSProperties;\n\n extraData?: D;\n emptyView?: React.ReactNode;\n}\n\nexport type ListViewRef = ForwardedRef<{\n scroll: (direction: { x: number; y: number }) => void;\n}>;\n\nconst ListViewInner = <T, D>(props: ListViewProps<T, D>, ref: ListViewRef) => {\n const sentinelRef = useRef<HTMLDivElement | null>(null);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEndReached(sentinelRef, () => {\n if (!props.isLoading) {\n props.loadMore?.();\n }\n });\n\n const emptyDataSouce = useMemo(() => {\n return Array.isArray(props.dataSource) && props.dataSource.length <= 0;\n }, [props.dataSource]);\n\n const listViewElement = useMemo(() => {\n if (!props.dataSource) {\n return null;\n }\n\n if (emptyDataSouce) {\n return (\n props.emptyView || (\n <Flex\n direction={\"column\"}\n height={\"100%\"}\n itemAlign={\"center\"}\n justify={\"center\"}\n mt={3}\n >\n <EmptyDataState />\n </Flex>\n )\n );\n }\n\n return props.dataSource.map((item, index) => (\n <React.Fragment key={index}>\n {props.renderItem(item, index, props.extraData)}\n </React.Fragment>\n ));\n }, [emptyDataSouce, props.dataSource, props.extraData, props.emptyView]);\n\n const loadingViewElement = useMemo(() => {\n if ((props.dataSource?.length || 0) === 0) return null;\n if (!props.isLoading) {\n return null;\n }\n\n return (\n <div className=\"oui-flex oui-py-2 oui-justify-center oui-items-center\">\n <Spinner />\n </div>\n );\n }, [props.isLoading, props.dataSource]);\n\n useImperativeHandle(ref, () => {\n return {\n scroll: (direction) => {\n containerRef.current?.scroll({\n left: direction.x,\n top: direction.y,\n behavior: \"smooth\",\n });\n },\n };\n });\n\n return (\n <div\n style={props.style}\n ref={containerRef}\n className={cn(\n \"oui-custom-scrollbar oui-relative oui-min-h-[180px] oui-overflow-auto\",\n props.className,\n )({\n twMerge: true,\n })}\n >\n <div\n className={cn(\n \"oui-space-y-3 oui-h-full oui-w-full\",\n emptyDataSouce &&\n \"oui-absolute oui-left-0 oui-right-0 oui-top-0 oui-bottom-0\",\n props.contentClassName,\n )({ twMerge: true })}\n >\n {listViewElement}\n </div>\n <div\n ref={sentinelRef}\n className=\"oui-relative oui-invisible oui-h-[1px] oui-top-[-300px]\"\n />\n {loadingViewElement}\n </div>\n );\n};\n\nexport const ListView = forwardRef(ListViewInner) as <T, D>(\n props: ListViewProps<T, D> & {\n ref?: ForwardedRef<{\n scroll: (direction: { x: number; y: number }) => void;\n }>;\n },\n) => JSX.Element;\n","import { useEffect, useRef, MutableRefObject } from \"react\";\n\n/**\n * Listen for the specified element to scroll to the bottom\n */\nexport function useEndReached(\n sentinelRef: MutableRefObject<HTMLDivElement | null>,\n onEndReached?: () => void\n) {\n const observer = useRef<IntersectionObserver>();\n const cb = useRef(onEndReached);\n\n cb.current = onEndReached;\n\n useEffect(() => {\n const options: IntersectionObserverInit = {\n root: null,\n rootMargin: \"0px\",\n threshold: 0,\n };\n\n const handleObserver = (entries: IntersectionObserverEntry[]) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n cb.current?.();\n }\n });\n };\n\n observer.current = new IntersectionObserver(handleObserver, options);\n\n return () => {\n observer.current?.disconnect();\n };\n }, []);\n\n useEffect(() => {\n observer.current?.observe(sentinelRef.current!);\n }, []);\n}\n","import { FC } from \"react\";\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { cn } from \"..\";\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent: FC<CollapsiblePrimitive.CollapsibleContentProps> = (\n props\n) => {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n {...props}\n className={cn(\n props.className,\n \"data-[state=open]:oui-animate-collapsible-down data-[state=closed]:oui-animate-collapsible-up oui-overflow-hidden\"\n )}\n ></CollapsiblePrimitive.CollapsibleContent>\n );\n};\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import React, { useMemo, useState } from \"react\";\nimport { CollapseContext } from \"./collapseContext\";\nimport type { CollapseContextState } from \"./collapseContext\";\nimport { Panel } from \"./panel\";\n\nconst CollapseRoot: React.FC<\n React.PropsWithChildren<{ activeKey?: string }>\n> = (props) => {\n const { activeKey = \"\", children } = props;\n const [internalActiveKey, setInternalActiveKey] = useState<string>(activeKey);\n const memoizedValue = useMemo<CollapseContextState>(() => {\n return {\n activeKey: internalActiveKey,\n setActiveKey: setInternalActiveKey,\n };\n }, [internalActiveKey, setInternalActiveKey]);\n return (\n <CollapseContext.Provider value={memoizedValue}>\n {children}\n </CollapseContext.Provider>\n );\n};\n\ntype Collapse = typeof CollapseRoot & {\n panel: typeof Panel;\n};\n\nconst Collapse = CollapseRoot as Collapse;\n\nCollapse.panel = Panel;\n\nexport default Collapse;\n","import { createContext, useContext } from \"react\";\n\nexport interface CollapseContextState {\n activeKey: string;\n setActiveKey: (key: string) => void;\n}\n\nexport const CollapseContext = createContext<CollapseContextState>(\n {} as CollapseContextState,\n);\n\nexport const useCollapseContext = () => {\n return useContext(CollapseContext);\n};\n","import React, { FC, PropsWithChildren, ReactNode, useMemo } from \"react\";\nimport { ChevronDownIcon, cn } from \"../..\";\nimport {\n CollapsibleContent,\n Collapsible,\n CollapsibleTrigger,\n} from \"../collapsible\";\nimport { useCollapseContext } from \"./collapseContext\";\n\ninterface Props {\n header: ReactNode;\n headerClassName?: string;\n itemKey: string;\n disabled?: boolean;\n}\n\nexport const Panel: FC<PropsWithChildren<Props>> = (props) => {\n const { activeKey, setActiveKey } = useCollapseContext();\n const { header, headerClassName, itemKey, disabled } = props;\n const headerNode = useMemo<React.ReactNode>(() => {\n if (typeof header === \"string\") {\n return (\n <div\n className={cn(\n \"oui-border-divider flex items-center oui-group oui-cursor-pointer oui-border-b oui-py-2\",\n headerClassName,\n )}\n >\n <div className=\"oui-flex-1 group-data-[state=open]:oui-font-semibold\">\n {header}\n </div>\n <ChevronDownIcon\n size={16}\n className=\"oui-transition-transform group-data-[state=open]:oui-rotate-180\"\n />\n </div>\n );\n }\n return header;\n }, [header, headerClassName]);\n\n return (\n <Collapsible\n disabled={disabled}\n open={itemKey === activeKey}\n onOpenChange={(open) => {\n if (open) {\n setActiveKey(itemKey);\n } else {\n setActiveKey(\"\");\n }\n }}\n >\n <CollapsibleTrigger asChild>{headerNode}</CollapsibleTrigger>\n <CollapsibleContent className=\"oui-py-3\">\n {props.children}\n </CollapsibleContent>\n </Collapsible>\n );\n};\n","import React, { useMemo } from \"react\";\nimport AutoScroll from \"embla-carousel-auto-scroll\";\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { cnBase } from \"tailwind-variants\";\n\n// Extract types from embla carousel\ntype EmblaCarouselType = UseEmblaCarouselType[1];\ntype UseEmblaCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype EmblaCarouselOptions = UseEmblaCarouselParameters[0];\n\n/**\n * Auto scroll plugin options\n */\nexport interface AutoScrollOptions {\n /** Scroll speed in pixels per second */\n speed?: number;\n /** Scroll direction - 'forward' or 'backward' */\n direction?: \"forward\" | \"backward\";\n /** Whether to start auto-scrolling on initialization */\n playOnInit?: boolean;\n /** Whether to stop auto-scrolling on user interaction */\n stopOnInteraction?: boolean;\n /** Whether to stop auto-scrolling on mouse enter */\n stopOnMouseEnter?: boolean;\n /** Whether to stop auto-scrolling on focus */\n stopOnFocusIn?: boolean;\n /** Delay before starting auto-scroll in milliseconds */\n startDelay?: number;\n /** Root node to listen for interactions */\n rootNode?: (emblaRoot: HTMLElement) => HTMLElement;\n}\n\n/**\n * Props for the Marquee component\n */\nexport interface MarqueeProps<T = unknown> {\n /** Array of data items to display in the marquee */\n data: T[] | ReadonlyArray<T>;\n /** Function to render each item */\n renderItem: (item: T, index: number) => React.ReactNode;\n /** Embla carousel options */\n carouselOptions?: EmblaCarouselOptions;\n /** Auto scroll plugin options */\n autoScrollOptions?: AutoScrollOptions;\n /** Additional CSS class name */\n className?: string;\n /** Callback to get the embla carousel API instance */\n setApi?: (api: EmblaCarouselType) => void;\n}\n\n/**\n * Marquee component using Embla Carousel with auto-scroll functionality\n *\n * @example\n * ```tsx\n * const items = ['Item 1', 'Item 2', 'Item 3'];\n *\n * <Marquee\n * data={items}\n * renderItem={(item, index) => <div key={index}>{item}</div>}\n * carouselOptions={{\n * loop: true,\n * align: \"start\",\n * axis: \"x\"\n * }}\n * autoScrollOptions={{\n * speed: 1,\n * direction: \"forward\",\n * stopOnMouseEnter: true\n * }}\n * />\n * ```\n */\nexport const Marquee = <T,>(props: MarqueeProps<T>) => {\n const {\n data,\n renderItem,\n carouselOptions = {},\n autoScrollOptions = {},\n className,\n setApi,\n } = props;\n\n // Determine if scrolling is horizontal or vertical based on axis option\n const isHorizontal = useMemo<boolean>(\n () => carouselOptions.axis !== \"y\",\n [carouselOptions.axis],\n );\n\n // Configure embla carousel options with sensible defaults\n const emblaOptions = useMemo<EmblaCarouselOptions>(() => {\n return {\n loop: true,\n align: \"start\",\n containScroll: \"trimSnaps\",\n skipSnaps: false,\n axis: \"x\",\n ...carouselOptions,\n };\n }, [carouselOptions]);\n\n // Configure auto-scroll plugin options with sensible defaults\n const autoScrollPluginOptions = useMemo(() => {\n return {\n speed: 1,\n direction: \"forward\" as const,\n playOnInit: true,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n stopOnFocusIn: false,\n ...autoScrollOptions,\n };\n }, [autoScrollOptions]);\n\n // Initialize embla carousel with auto-scroll plugin\n const [emblaRef, emblaApi] = useEmblaCarousel(emblaOptions, [\n AutoScroll(autoScrollPluginOptions),\n ]);\n\n // Provide API to parent component if requested\n React.useEffect(() => {\n if (emblaApi && setApi) {\n setApi(emblaApi);\n }\n }, [emblaApi, setApi]);\n\n // Render slides - duplicate content for seamless looping\n const renderSlides = useMemo(() => {\n if (!Array.isArray(data) || data.length === 0) {\n return null;\n }\n\n return data.map((item, index) => (\n <div\n key={`slide-${index}`}\n className={cnBase(\n \"oui-shrink-0\",\n isHorizontal ? \"oui-w-auto\" : \"oui-h-auto\",\n )}\n style={{\n minWidth: isHorizontal ? \"auto\" : \"100%\",\n minHeight: isHorizontal ? \"100%\" : \"auto\",\n }}\n >\n {renderItem(item, index % data.length)}\n </div>\n ));\n }, [data, renderItem, isHorizontal]);\n\n return (\n <div\n ref={emblaRef}\n className={cnBase(\n \"oui-relative oui-overflow-hidden\",\n isHorizontal ? \"oui-w-full\" : \"oui-h-full\",\n className,\n )}\n >\n <div\n className={cnBase(\n \"oui-flex\",\n isHorizontal ? \"oui-flex-row\" : \"oui-flex-col\",\n )}\n >\n {renderSlides}\n </div>\n </div>\n );\n};\n","import * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { tv, VariantProps } from \"tailwind-variants\";\nimport { SizeType } from \"../helpers/sizeType\";\n\nconst DropdownMenuRoot = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst dropdownMenuVariants = tv({\n slots: {\n content: [\n \"oui-z-50\",\n \"oui-min-w-[8rem]\",\n \"oui-overflow-hidden\",\n \"oui-rounded-xl\",\n \"oui-p-1\",\n \"oui-bg-base-8\",\n \"oui-text-base-contrast\",\n \"oui-shadow-md\",\n \"oui-border\",\n \"oui-border-line-6\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n item: [\n \"oui-relative\",\n \"oui-flex\",\n \"oui-cursor-default\",\n \"oui-select-none\",\n \"oui-items-center\",\n // \"oui-rounded-lg\",\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-text-sm\",\n \"oui-outline-none\",\n \"oui-transition-colors\",\n \"hover:oui-bg-base-5\",\n \"focus:oui-bg-accent\",\n \"focus:oui-text-accent-foreground\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-opacity-50\",\n ],\n label: \"oui-px-2 oui-py-1.5 oui-text-sm oui-font-semibold\",\n separator: \"-oui-mx-1 oui-my-1 oui-h-px oui-bg-muted\",\n shortcut: \"oui-ml-auto oui-text-xs oui-tracking-widest oui-opacity-60\",\n },\n variants: {\n size: {\n xs: {\n content: \"oui-rounded\",\n item: [\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-h-6\",\n \"oui-rounded\",\n \"oui-text-2xs\",\n ],\n },\n sm: {\n content: \"oui-rounded\",\n item: [\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-h-6\",\n \"oui-rounded\",\n \"oui-text-2xs\",\n ],\n },\n md: {\n content: \"oui-rounded-md\",\n item: [\"oui-px-4\", \"oui-py-3\", \"oui-h-6\", \"oui-rounded\"],\n },\n lg: {\n content: \"oui-rounded-lg\",\n item: [\"oui-px-4\", \"oui-py-3\", \"oui-h-6\", \"oui-rounded-md\"],\n },\n xl: {\n content: \"oui-rounded-xl\",\n item: [\n \"oui-px-4\",\n \"oui-py-3\",\n \"oui-h-10\",\n \"oui-rounded-lg\",\n \"oui-text-base\",\n ],\n },\n },\n inset: {\n true: {\n item: [\"oui-pl-8\"],\n label: [\"oui-pl-8\"],\n },\n },\n },\n defaultVariants: {\n inset: false,\n size: \"lg\",\n },\n});\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> &\n VariantProps<typeof dropdownMenuVariants>\n>(({ className, sideOffset = 4, size, ...props }, ref) => {\n const { content } = dropdownMenuVariants({ size });\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={content({ className })}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n});\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n size?: SizeType;\n }\n>(({ className, inset, size, ...props }, ref) => {\n const { item } = dropdownMenuVariants({ size });\n return (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={item({ className, inset })}\n {...props}\n />\n );\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\n// const DropdownMenuCheckboxItem = React.forwardRef<\n// React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n// React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n// >(({ className, children, checked, ...props }, ref) => (\n// <DropdownMenuPrimitive.CheckboxItem\n// ref={ref}\n// className={cn(\n// \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n// className\n// )}\n// checked={checked}\n// {...props}\n// >\n// <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n// <DropdownMenuPrimitive.ItemIndicator>\n// {/* <CheckIcon className=\"h-4 w-4\" /> */}\n// </DropdownMenuPrimitive.ItemIndicator>\n// </span>\n// {children}\n// </DropdownMenuPrimitive.CheckboxItem>\n// ));\n// DropdownMenuCheckboxItem.displayName =\n// DropdownMenuPrimitive.CheckboxItem.displayName;\n\n// const DropdownMenuRadioItem = React.forwardRef<\n// React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n// React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n// >(({ className, children, ...props }, ref) => (\n// <DropdownMenuPrimitive.RadioItem\n// ref={ref}\n// className={cn(\n// \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n// className\n// )}\n// {...props}\n// >\n// <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n// <DropdownMenuPrimitive.ItemIndicator>\n// {/* <DotFilledIcon className=\"h-4 w-4 fill-current\" /> */}\n// </DropdownMenuPrimitive.ItemIndicator>\n// </span>\n// {children}\n// </DropdownMenuPrimitive.RadioItem>\n// ));\n// DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => {\n const { label } = dropdownMenuVariants({\n inset,\n });\n return (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={label({ className })}\n {...props}\n />\n );\n});\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => {\n const { separator } = dropdownMenuVariants();\n return (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n );\n});\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n const { shortcut } = dropdownMenuVariants();\n return <span className={shortcut({ className })} {...props} />;\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenuRoot,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n // DropdownMenuCheckboxItem,\n // DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n // DropdownMenuSubContent,\n // DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n","import { PropsWithChildren, type ReactNode, useMemo } from \"react\";\nimport {\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuPortal,\n DropdownMenuRoot,\n DropdownMenuTrigger,\n} from \"./dropdown\";\nimport type { DropdownMenuContentProps } from \"@radix-ui/react-dropdown-menu\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { Flex } from \"../flex\";\nimport { Box } from \"../box\";\n\nexport type MenuItem = {\n label: string;\n value: string;\n testId?: string;\n};\n\ntype DropdownMenuProps = {\n currentValue?: string;\n menu: MenuItem[];\n onSelect?: (item: MenuItem) => void;\n render?: (item: MenuItem, index: number) => ReactNode;\n size?: SizeType;\n} & DropdownMenuContentProps;\n\nconst SimpleDropdownMenu = (props: PropsWithChildren<DropdownMenuProps>) => {\n const { currentValue, menu, render, size, children, ...contentProps } = props;\n\n const items = useMemo(() => {\n if (typeof props.render === \"function\") {\n return props.menu.map((item, index) => {\n return props.render?.(item, index);\n });\n }\n\n return props.menu.map((item) => (\n <DropdownMenuItem\n textValue={item.value}\n key={item.value}\n onSelect={(event) => {\n props.onSelect?.(item);\n }}\n size={size}\n data-testid={item.testId}\n >\n <Flex justify={\"between\"} width={\"100%\"}>\n {item.label}\n {currentValue == item.value && <Box width={4} height={4} gradient=\"primary\" r=\"full\"/>}\n </Flex>\n </DropdownMenuItem>\n ));\n }, [props.menu, props.render, currentValue]);\n return (\n <DropdownMenuRoot>\n <DropdownMenuTrigger asChild>{children}</DropdownMenuTrigger>\n <DropdownMenuPortal>\n <DropdownMenuContent\n onCloseAutoFocus={(event) => {\n event.preventDefault();\n }}\n size={size}\n {...contentProps}\n >\n {items}\n </DropdownMenuContent>\n </DropdownMenuPortal>\n </DropdownMenuRoot>\n );\n};\n\nexport { SimpleDropdownMenu };\n","import {\n ComponentType,\n FC,\n PropsWithChildren,\n useCallback,\n useMemo,\n} from \"react\";\nimport { ExtensionPosition } from \"../plugin\";\nimport { ComponentsProvider } from \"./componentProvider\";\nimport {\n ComponentOverrides,\n OrderlyThemeContext,\n OrderlyThemeContextState,\n} from \"./orderlyThemeContext\";\n\nexport type OrderlyThemeProviderProps = {\n // dateFormatting?: string;\n components?: {\n [position in ExtensionPosition]: ComponentType;\n };\n overrides?: Partial<ComponentOverrides>;\n};\n\nexport const OrderlyThemeProvider: FC<\n PropsWithChildren<OrderlyThemeProviderProps>\n> = (props) => {\n const { components, overrides, children } = props;\n\n const resolveComponentTheme = useCallback(\n <T extends keyof ComponentOverrides>(\n component: T,\n defaultValue?: ComponentOverrides[T],\n ) => {\n return (overrides as ComponentOverrides)?.[component] || defaultValue;\n },\n [overrides],\n );\n\n const memoizedValue = useMemo<OrderlyThemeContextState>(() => {\n return { getComponentTheme: resolveComponentTheme };\n }, [resolveComponentTheme]);\n\n return (\n <OrderlyThemeContext.Provider value={memoizedValue}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OrderlyThemeContext.Provider>\n );\n};\n","import { ExtensionPosition, installExtension } from \"../plugin\";\nimport { ComponentType, FC, PropsWithChildren, useEffect } from \"react\";\n\n/// layout cache: size, position\n\nconst ComponentsProvider: FC<\n PropsWithChildren<{\n components?: { [position in ExtensionPosition]: ComponentType };\n }>\n> = (props) => {\n useEffect(() => {\n if (props.components && Object.keys(props.components).length) {\n for (const position in props.components) {\n const Element = props.components[position];\n installExtension<any>({\n name: Element.displayName ?? `custom-component-${position}`,\n scope: [\"*\"],\n positions: [position],\n __isInternal: false,\n })((props: any) => {\n return <Element {...props} />;\n });\n }\n }\n }, [props.components]);\n\n return props.children;\n};\n\nexport { ComponentsProvider };\n","import { memo, PropsWithChildren, ReactNode, useMemo } from \"react\";\n\ntype Props = {\n value: boolean | (() => boolean);\n left?: ReactNode;\n};\n\nconst Either = memo<PropsWithChildren<Props>>((props) => {\n const { value, children, left } = props;\n const inputValue = useMemo(\n () => Boolean(typeof value === \"function\" ? value() : value),\n [value],\n );\n if (inputValue) {\n return children;\n }\n return left;\n});\n\nexport { Either };\n","import \"./install\";\n\nexport * from \"./button\";\nexport { Box, boxVariants } from \"./box\";\nexport { Grid } from \"./grid\";\nexport { Flex } from \"./flex\";\nexport * from \"./typography\";\nexport { Spinner } from \"./spinner\";\nexport { Input, inputFormatter, InputAdditional, TextField } from \"./input\";\nexport { Checkbox } from \"./checkbox\";\nexport { Switch } from \"./switch\";\nexport { Badge } from \"./badge/badge\";\nexport { Logo, type LogoProps } from \"./logo/logo\";\n// export * from \"./tag/tag\";\nexport * from \"./tooltip\";\nexport * from \"./table\";\nexport * from \"./scrollarea\";\nexport * from \"./dialog\";\nexport * from \"./sheet\";\nexport * from \"./divider\";\nexport * from \"./tabs\";\nexport { PaginationItems } from \"./pagination\";\nexport { Select, SelectItem, type SelectOption } from \"./select\";\nexport * from \"./popover\";\nexport * from \"./card\";\nexport * from \"./pickers\";\nexport * from \"./slider\";\nexport * from \"./toast\";\nexport * from \"./listView\";\nexport * from \"./collapsible\";\nexport * from \"./marquee\";\n\nexport * from \"./dropdown\";\n\nexport * from \"./icon\";\nexport * from \"./modal\";\nexport { EVMAvatar, Avatar } from \"./avatar\";\n\nexport type { ButtonProps } from \"./button\";\nexport type { BoxProps } from \"./box\";\nexport type { FlexProps } from \"./flex\";\nexport type { TextProps, NumeralProps } from \"./typography\";\nexport type {\n InputProps,\n TextFieldProps,\n InputFormatter,\n InputFormatterOptions,\n InputWithTooltipProps,\n} from \"./input\";\nexport type { SpinnerProps } from \"./spinner\";\nexport type { ChainSelectProps, SelectProps } from \"./select\";\nexport type { SizeType } from \"./helpers/sizeType\";\n\nexport {\n OrderlyThemeProvider,\n type OrderlyThemeProviderProps,\n} from \"./provider/orderlyThemeProvider\";\nexport { useOrderlyTheme } from \"./provider/orderlyThemeContext\";\nexport * from \"./plugin\";\n\n//===== Misc widgets\nexport { Either } from \"./misc/either\";\n// TODO: remove this component, because vite will throw Maximum call stack size exceeded\n// export { Match } from \"./misc/switch\";\n\n//===== re-exported\nexport { cnBase as cn } from \"tailwind-variants\";\nexport type { VariantProps } from \"tailwind-variants\";\n\n//===== utils\nexport * from \"./utils\";\nexport { tv } from \"./utils/tv\";\nexport { default as toast } from \"react-hot-toast\";\n\nexport * from \"embla-carousel-react\";\nexport { default as useEmblaCarousel } from \"embla-carousel-react\";\nexport * from \"embla-carousel-auto-scroll\";\nexport { default as AutoScroll } from \"embla-carousel-auto-scroll\";\nexport * from \"embla-carousel-autoplay\";\nexport { default as Autoplay } from \"embla-carousel-autoplay\";\nexport * from \"embla-carousel\";\n\n//===== tailwind\nexport * as OUITailwind from \"./tailwind\";\nexport * from \"./hooks\";\n\nexport * from \"./locale\";\nexport * from \"./scrollIndicator\";\nexport * from \"./status\";\n","/**\n * capitalize the first letter\n * @param str\n * @returns string\n */\nexport const capitalizeFirstLetter = (str: string, fallback?: string): undefined | string => {\n if (typeof str === 'undefined' || str === null) return fallback ?? undefined;\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n \n","export function startViewTransition(callback: () => void) {\n if (typeof document.startViewTransition === \"function\") {\n document.startViewTransition(callback);\n } else {\n callback();\n }\n}\n","*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}/*\n! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n:root {\n --oui-font-family: \"Manrope\",\"PingFang SC\", \"Noto Sans CJK SC\", \"Noto Sans\", sans-serif;\n --oui-color-primary: 176 132 233;\n --oui-color-primary-light: 213 190 244;\n --oui-color-primary-darken: 137 76 209;\n --oui-color-primary-contrast: 255 255 255;\n --oui-color-link: 189 107 237;\n --oui-color-link-light: 217 152 250;\n --oui-color-secondary: 255 255 255;\n --oui-color-tertiary: 218 218 218;\n --oui-color-quaternary: 218 218 218;\n --oui-color-danger: 245 97 139;\n --oui-color-danger-light: 250 167 188;\n --oui-color-danger-darken: 237 72 122;\n --oui-color-danger-contrast: 255 255 255;\n --oui-color-success: 41 233 169;\n --oui-color-success-light: 101 240 194;\n --oui-color-success-darken: 0 161 120;\n --oui-color-success-contrast: 255 255 255;\n --oui-color-warning: 255 209 70;\n --oui-color-warning-light: 255 229 133;\n --oui-color-warning-darken: 255 152 0;\n --oui-color-warning-contrast: 255 255 255;\n --oui-color-fill: 36 32 47;\n --oui-color-fill-active: 40 46 58;\n --oui-color-base-1: 93 83 123;\n --oui-color-base-2: 81 72 107;\n --oui-color-base-3: 68 61 69;\n --oui-color-base-4: 57 52 74;\n --oui-color-base-5: 51 46 66;\n --oui-color-base-6: 43 38 56;\n --oui-color-base-7: 36 32 47;\n --oui-color-base-8: 29 26 38;\n --oui-color-base-9: 22 20 28;\n --oui-color-base-10: 14 13 18;\n --oui-color-base-foreground: 255 255 255;\n --oui-color-line: 255 255 255;\n --oui-color-trading-loss: 245 97 139;\n --oui-color-trading-loss-contrast: 255 255 255;\n --oui-color-trading-profit: 41 233 169;\n --oui-color-trading-profit-contrast: 255 255 255;\n --oui-gradient-primary-start: 40 0 97;\n --oui-gradient-primary-end: 189 107 237;\n --oui-gradient-secondary-start: 81 42 121;\n --oui-gradient-secondary-end: 176 132 233;\n --oui-gradient-success-start: 1 83 68;\n --oui-gradient-success-end: 41 223 169;\n --oui-gradient-danger-start: 153 24 76;\n --oui-gradient-danger-end: 245 97 139;\n --oui-gradient-brand-start: 231 219 249;\n --oui-gradient-brand-end: 159 107 225;\n --oui-gradient-brand-stop-start: 6.62%;\n --oui-gradient-brand-stop-end: 86.5%;\n --oui-gradient-brand-angle: 17.44deg;\n --oui-gradient-warning-start: 152 58 8;\n --oui-gradient-warning-end: 255 209 70;\n --oui-gradient-neutral-start: 27 29 24;\n --oui-gradient-neutral-end: 38 41 46;\n --oui-rounded-sm: 2px;\n --oui-rounded: 4px;\n --oui-rounded-md: 6px;\n --oui-rounded-lg: 8px;\n --oui-rounded-xl: 12px;\n --oui-rounded-2xl: 16px;\n --oui-rounded-full: 9999px;\n --oui-spacing-xs: 20rem;\n --oui-spacing-sm: 22.5rem;\n --oui-spacing-md: 26.25rem;\n --oui-spacing-lg: 30rem;\n --oui-spacing-xl: 33.75rem;\n}\n\nhtml {\n background-color: rgb(var(--oui-color-base-10));\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n font-family: var(--oui-font-family);\n}\n\nbody {\n background-color: rgb(var(--oui-color-base-10));\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n font-family: var(--oui-font-family);\n}\n.oui-size-height {\n height: var(--oui-height, unset);\n}\n.oui-size-width {\n width: var(--oui-width, unset);\n}\n.xAxis .recharts-cartesian-axis-tick:first-child text {\n text-anchor: start;\n}\n.xAxis .recharts-cartesian-axis-tick:last-child text {\n text-anchor: end;\n}\n.oui-position {\n left: var(--oui-left, unset);\n top: var(--oui-top, unset);\n right: var(--oui-right, unset);\n bottom: var(--oui-bottom, unset);\n}\n.oui-card {\n color: red;\n}\n.oui-card:has(.oui-header-list) {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-track {\n background-color: transparent;\n border-radius: 4px;\n padding-top: 20px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-thumb {\n border-radius: 3px;\n border-style: dashed;\n border-color: transparent;\n border-width: 1px;\n background-color: rgb(var(--oui-color-base-7));\n background-clip: padding-box;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-thumb:hover {\n background: rgb(var(--oui-color-base-5));\n border-radius: 3px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n.oui-hide-scrollbar::-webkit-scrollbar {\n display: none;\n}\n.oui-hide-scrollbar::-webkit-scrollbar-thumb {\n display: none;\n}\n@property --gradientAngle {\n syntax: \"<angle>\";\n inherits: false;\n initial-value: 0deg;\n }\n@keyframes angleRotateChange {\n 0% {\n --gradientAngle: 0deg;\n }\n 100% {\n --gradientAngle: 360deg;\n }\n }\n.oui-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.oui-pointer-events-none {\n pointer-events: none;\n}\n.oui-pointer-events-auto {\n pointer-events: auto;\n}\n.oui-visible {\n visibility: visible;\n}\n.oui-invisible {\n visibility: hidden;\n}\n.oui-static {\n position: static;\n}\n.oui-fixed {\n position: fixed;\n}\n.\\!oui-absolute {\n position: absolute !important;\n}\n.oui-absolute {\n position: absolute;\n}\n.oui-relative {\n position: relative;\n}\n.oui-sticky {\n position: sticky;\n}\n.oui-inset-0 {\n inset: 0px;\n}\n.oui-inset-x-0 {\n left: 0px;\n right: 0px;\n}\n.oui-inset-x-\\[50px\\] {\n left: 50px;\n right: 50px;\n}\n.oui-inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.\\!oui-bottom-\\[30px\\] {\n bottom: 30px !important;\n}\n.\\!oui-bottom-\\[40px\\] {\n bottom: 40px !important;\n}\n.\\!oui-top-1 {\n top: 0.25rem !important;\n}\n.-oui-right-3 {\n right: -0.75rem;\n}\n.-oui-right-\\[1px\\] {\n right: -1px;\n}\n.-oui-right-\\[6px\\] {\n right: -6px;\n}\n.-oui-top-4 {\n top: -1rem;\n}\n.-oui-top-\\[1px\\] {\n top: -1px;\n}\n.-oui-top-\\[5px\\] {\n top: -5px;\n}\n.-oui-top-\\[6px\\] {\n top: -6px;\n}\n.-oui-top-\\[calc\\(100vh\\/2\\)\\] {\n top: calc(calc(100vh / 2) * -1);\n}\n.oui--bottom-12 {\n bottom: -3rem;\n}\n.oui--left-12 {\n left: -3rem;\n}\n.oui--right-12 {\n right: -3rem;\n}\n.oui--top-12 {\n top: -3rem;\n}\n.oui-bottom-0 {\n bottom: 0px;\n}\n.oui-bottom-1 {\n bottom: 0.25rem;\n}\n.oui-bottom-3 {\n bottom: 0.75rem;\n}\n.oui-bottom-6 {\n bottom: 1.5rem;\n}\n.oui-bottom-\\[-1\\.5px\\] {\n bottom: -1.5px;\n}\n.oui-bottom-\\[-12px\\] {\n bottom: -12px;\n}\n.oui-bottom-\\[38px\\] {\n bottom: 38px;\n}\n.oui-bottom-\\[calc\\(env\\(safe-area-inset-bottom\\)\\+8px\\)\\] {\n bottom: calc(env(safe-area-inset-bottom) + 8px);\n}\n.oui-bottom-full {\n bottom: 100%;\n}\n.oui-end-\\[-20px\\] {\n inset-inline-end: -20px;\n}\n.oui-left-0 {\n left: 0px;\n}\n.oui-left-1 {\n left: 0.25rem;\n}\n.oui-left-1\\/2 {\n left: 50%;\n}\n.oui-left-2 {\n left: 0.5rem;\n}\n.oui-left-3 {\n left: 0.75rem;\n}\n.oui-left-6 {\n left: 1.5rem;\n}\n.oui-left-\\[-1\\.5px\\] {\n left: -1.5px;\n}\n.oui-left-\\[-100\\%\\] {\n left: -100%;\n}\n.oui-left-\\[-9px\\] {\n left: -9px;\n}\n.oui-left-\\[10px\\] {\n left: 10px;\n}\n.oui-left-\\[30px\\] {\n left: 30px;\n}\n.oui-left-\\[4px\\] {\n left: 4px;\n}\n.oui-left-\\[50\\%\\] {\n left: 50%;\n}\n.oui-right-0 {\n right: 0px;\n}\n.oui-right-1 {\n right: 0.25rem;\n}\n.oui-right-2 {\n right: 0.5rem;\n}\n.oui-right-3 {\n right: 0.75rem;\n}\n.oui-right-4 {\n right: 1rem;\n}\n.oui-right-\\[-1\\.5px\\] {\n right: -1.5px;\n}\n.oui-right-\\[-100\\%\\] {\n right: -100%;\n}\n.oui-right-\\[1px\\] {\n right: 1px;\n}\n.oui-top-0 {\n top: 0px;\n}\n.oui-top-0\\.5 {\n top: 0.125rem;\n}\n.oui-top-1 {\n top: 0.25rem;\n}\n.oui-top-1\\/2 {\n top: 50%;\n}\n.oui-top-2 {\n top: 0.5rem;\n}\n.oui-top-2\\/4 {\n top: 50%;\n}\n.oui-top-3 {\n top: 0.75rem;\n}\n.oui-top-4 {\n top: 1rem;\n}\n.oui-top-\\[-1\\.5px\\] {\n top: -1.5px;\n}\n.oui-top-\\[-12px\\] {\n top: -12px;\n}\n.oui-top-\\[-28px\\] {\n top: -28px;\n}\n.oui-top-\\[-300px\\] {\n top: -300px;\n}\n.oui-top-\\[10px\\] {\n top: 10px;\n}\n.oui-top-\\[16px\\] {\n top: 16px;\n}\n.oui-top-\\[18px\\] {\n top: 18px;\n}\n.oui-top-\\[1px\\] {\n top: 1px;\n}\n.oui-top-\\[20px\\] {\n top: 20px;\n}\n.oui-top-\\[3px\\] {\n top: 3px;\n}\n.oui-top-\\[44px\\] {\n top: 44px;\n}\n.oui-top-\\[48px\\] {\n top: 48px;\n}\n.oui-top-\\[50\\%\\] {\n top: 50%;\n}\n.oui-top-\\[5px\\] {\n top: 5px;\n}\n.oui-top-\\[6\\.5px\\] {\n top: 6.5px;\n}\n.oui-top-\\[7px\\] {\n top: 7px;\n}\n.oui-top-full {\n top: 100%;\n}\n.oui-z-0 {\n z-index: 0;\n}\n.oui-z-10 {\n z-index: 10;\n}\n.oui-z-20 {\n z-index: 20;\n}\n.oui-z-30 {\n z-index: 30;\n}\n.oui-z-40 {\n z-index: 40;\n}\n.oui-z-50 {\n z-index: 50;\n}\n.oui-z-\\[-1\\] {\n z-index: -1;\n}\n.oui-z-\\[100\\] {\n z-index: 100;\n}\n.oui-z-\\[1\\] {\n z-index: 1;\n}\n.oui-z-\\[2\\] {\n z-index: 2;\n}\n.oui-z-\\[40\\] {\n z-index: 40;\n}\n.oui-z-\\[60\\] {\n z-index: 60;\n}\n.oui-z-\\[65\\] {\n z-index: 65;\n}\n.oui-z-\\[99\\] {\n z-index: 99;\n}\n.oui-z-auto {\n z-index: auto;\n}\n.oui-col-auto {\n grid-column: auto;\n}\n.oui-col-span-1 {\n grid-column: span 1 / span 1;\n}\n.oui-col-span-2 {\n grid-column: span 2 / span 2;\n}\n.oui-col-span-3 {\n grid-column: span 3 / span 3;\n}\n.oui-col-span-4 {\n grid-column: span 4 / span 4;\n}\n.oui-col-span-5 {\n grid-column: span 5 / span 5;\n}\n.oui-col-span-6 {\n grid-column: span 6 / span 6;\n}\n.oui-col-span-7 {\n grid-column: span 7 / span 7;\n}\n.oui-col-span-8 {\n grid-column: span 8 / span 8;\n}\n.oui-col-span-9 {\n grid-column: span 9 / span 9;\n}\n.oui-row-auto {\n grid-row: auto;\n}\n.oui-row-span-1 {\n grid-row: span 1 / span 1;\n}\n.oui-row-span-2 {\n grid-row: span 2 / span 2;\n}\n.oui-row-span-3 {\n grid-row: span 3 / span 3;\n}\n.oui-row-span-4 {\n grid-row: span 4 / span 4;\n}\n.oui-row-span-5 {\n grid-row: span 5 / span 5;\n}\n.oui-row-span-6 {\n grid-row: span 6 / span 6;\n}\n.oui-row-span-7 {\n grid-row: span 7 / span 7;\n}\n.oui-row-span-8 {\n grid-row: span 8 / span 8;\n}\n.oui-row-span-9 {\n grid-row: span 9 / span 9;\n}\n.oui-m-0 {\n margin: 0px;\n}\n.oui-m-1 {\n margin: 0.25rem;\n}\n.oui-m-10 {\n margin: 2.5rem;\n}\n.oui-m-2 {\n margin: 0.5rem;\n}\n.oui-m-3 {\n margin: 0.75rem;\n}\n.oui-m-4 {\n margin: 1rem;\n}\n.oui-m-5 {\n margin: 1.25rem;\n}\n.oui-m-6 {\n margin: 1.5rem;\n}\n.oui-m-7 {\n margin: 1.75rem;\n}\n.oui-m-8 {\n margin: 2rem;\n}\n.oui-m-9 {\n margin: 2.25rem;\n}\n.\\!oui-mx-\\[3px\\] {\n margin-left: 3px !important;\n margin-right: 3px !important;\n}\n.\\!oui-my-\\[3px\\] {\n margin-top: 3px !important;\n margin-bottom: 3px !important;\n}\n.-oui-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n}\n.oui-mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n}\n.oui-mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.oui-mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n}\n.oui-mx-11 {\n margin-left: 2.75rem;\n margin-right: 2.75rem;\n}\n.oui-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.oui-mx-3 {\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n.oui-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n.oui-mx-5 {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n}\n.oui-mx-6 {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n}\n.oui-mx-7 {\n margin-left: 1.75rem;\n margin-right: 1.75rem;\n}\n.oui-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n.oui-mx-9 {\n margin-left: 2.25rem;\n margin-right: 2.25rem;\n}\n.oui-mx-\\[-8px\\] {\n margin-left: -8px;\n margin-right: -8px;\n}\n.oui-mx-\\[5px\\] {\n margin-left: 5px;\n margin-right: 5px;\n}\n.oui-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.oui-my-0 {\n margin-top: 0px;\n margin-bottom: 0px;\n}\n.oui-my-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n.oui-my-1\\.5 {\n margin-top: 0.375rem;\n margin-bottom: 0.375rem;\n}\n.oui-my-10 {\n margin-top: 2.5rem;\n margin-bottom: 2.5rem;\n}\n.oui-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.oui-my-3 {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem;\n}\n.oui-my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n.oui-my-5 {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n}\n.oui-my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n.oui-my-7 {\n margin-top: 1.75rem;\n margin-bottom: 1.75rem;\n}\n.oui-my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n}\n.oui-my-9 {\n margin-top: 2.25rem;\n margin-bottom: 2.25rem;\n}\n.oui-my-\\[6px\\] {\n margin-top: 6px;\n margin-bottom: 6px;\n}\n.oui-my-px {\n margin-top: 1px;\n margin-bottom: 1px;\n}\n.\\!oui-mb-\\[6px\\] {\n margin-bottom: 6px !important;\n}\n.-oui-mb-1 {\n margin-bottom: -0.25rem;\n}\n.-oui-mb-2 {\n margin-bottom: -0.5rem;\n}\n.-oui-mb-5 {\n margin-bottom: -1.25rem;\n}\n.-oui-ml-2 {\n margin-left: -0.5rem;\n}\n.-oui-ml-4 {\n margin-left: -1rem;\n}\n.-oui-mr-4 {\n margin-right: -1rem;\n}\n.-oui-mt-2 {\n margin-top: -0.5rem;\n}\n.-oui-mt-4 {\n margin-top: -1rem;\n}\n.oui--mb-\\[22px\\] {\n margin-bottom: -22px;\n}\n.oui--ml-4 {\n margin-left: -1rem;\n}\n.oui--mt-12 {\n margin-top: -3rem;\n}\n.oui--mt-4 {\n margin-top: -1rem;\n}\n.oui--mt-6 {\n margin-top: -1.5rem;\n}\n.oui-mb-0 {\n margin-bottom: 0px;\n}\n.oui-mb-0\\.5 {\n margin-bottom: 0.125rem;\n}\n.oui-mb-1 {\n margin-bottom: 0.25rem;\n}\n.oui-mb-10 {\n margin-bottom: 2.5rem;\n}\n.oui-mb-2 {\n margin-bottom: 0.5rem;\n}\n.oui-mb-3 {\n margin-bottom: 0.75rem;\n}\n.oui-mb-4 {\n margin-bottom: 1rem;\n}\n.oui-mb-5 {\n margin-bottom: 1.25rem;\n}\n.oui-mb-6 {\n margin-bottom: 1.5rem;\n}\n.oui-mb-7 {\n margin-bottom: 1.75rem;\n}\n.oui-mb-8 {\n margin-bottom: 2rem;\n}\n.oui-mb-9 {\n margin-bottom: 2.25rem;\n}\n.oui-mb-\\[-8px\\] {\n margin-bottom: -8px;\n}\n.oui-mb-\\[10px\\] {\n margin-bottom: 10px;\n}\n.oui-mb-\\[32px\\] {\n margin-bottom: 32px;\n}\n.oui-mb-\\[3px\\] {\n margin-bottom: 3px;\n}\n.oui-ml-0 {\n margin-left: 0px;\n}\n.oui-ml-0\\.5 {\n margin-left: 0.125rem;\n}\n.oui-ml-1 {\n margin-left: 0.25rem;\n}\n.oui-ml-10 {\n margin-left: 2.5rem;\n}\n.oui-ml-2 {\n margin-left: 0.5rem;\n}\n.oui-ml-3 {\n margin-left: 0.75rem;\n}\n.oui-ml-4 {\n margin-left: 1rem;\n}\n.oui-ml-5 {\n margin-left: 1.25rem;\n}\n.oui-ml-6 {\n margin-left: 1.5rem;\n}\n.oui-ml-7 {\n margin-left: 1.75rem;\n}\n.oui-ml-8 {\n margin-left: 2rem;\n}\n.oui-ml-9 {\n margin-left: 2.25rem;\n}\n.oui-ml-\\[2px\\] {\n margin-left: 2px;\n}\n.oui-ml-\\[5px\\] {\n margin-left: 5px;\n}\n.oui-ml-auto {\n margin-left: auto;\n}\n.oui-ml-px {\n margin-left: 1px;\n}\n.oui-mr-0 {\n margin-right: 0px;\n}\n.oui-mr-1 {\n margin-right: 0.25rem;\n}\n.oui-mr-10 {\n margin-right: 2.5rem;\n}\n.oui-mr-2 {\n margin-right: 0.5rem;\n}\n.oui-mr-3 {\n margin-right: 0.75rem;\n}\n.oui-mr-4 {\n margin-right: 1rem;\n}\n.oui-mr-5 {\n margin-right: 1.25rem;\n}\n.oui-mr-6 {\n margin-right: 1.5rem;\n}\n.oui-mr-7 {\n margin-right: 1.75rem;\n}\n.oui-mr-8 {\n margin-right: 2rem;\n}\n.oui-mr-9 {\n margin-right: 2.25rem;\n}\n.oui-mr-\\[6px\\] {\n margin-right: 6px;\n}\n.oui-mt-0 {\n margin-top: 0px;\n}\n.oui-mt-0\\.5 {\n margin-top: 0.125rem;\n}\n.oui-mt-1 {\n margin-top: 0.25rem;\n}\n.oui-mt-10 {\n margin-top: 2.5rem;\n}\n.oui-mt-2 {\n margin-top: 0.5rem;\n}\n.oui-mt-3 {\n margin-top: 0.75rem;\n}\n.oui-mt-4 {\n margin-top: 1rem;\n}\n.oui-mt-5 {\n margin-top: 1.25rem;\n}\n.oui-mt-6 {\n margin-top: 1.5rem;\n}\n.oui-mt-7 {\n margin-top: 1.75rem;\n}\n.oui-mt-8 {\n margin-top: 2rem;\n}\n.oui-mt-9 {\n margin-top: 2.25rem;\n}\n.oui-mt-\\[-1px\\] {\n margin-top: -1px;\n}\n.oui-mt-\\[-30px\\] {\n margin-top: -30px;\n}\n.oui-mt-\\[-8px\\] {\n margin-top: -8px;\n}\n.oui-mt-\\[2px\\] {\n margin-top: 2px;\n}\n.oui-mt-\\[35px\\] {\n margin-top: 35px;\n}\n.oui-mt-\\[6px\\] {\n margin-top: 6px;\n}\n.oui-mt-\\[7px\\] {\n margin-top: 7px;\n}\n.oui-mt-auto {\n margin-top: auto;\n}\n.oui-mt-px {\n margin-top: 1px;\n}\n.oui-box-border {\n box-sizing: border-box;\n}\n.oui-box-content {\n box-sizing: content-box;\n}\n.oui-line-clamp-3 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n}\n.oui-line-clamp-5 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 5;\n}\n.oui-block {\n display: block;\n}\n.oui-inline-block {\n display: inline-block;\n}\n.oui-flex {\n display: flex;\n}\n.oui-inline-flex {\n display: inline-flex;\n}\n.oui-grid {\n display: grid;\n}\n.oui-inline-grid {\n display: inline-grid;\n}\n.oui-list-item {\n display: list-item;\n}\n.oui-hidden {\n display: none;\n}\n.oui-aspect-square {\n aspect-ratio: 1 / 1;\n}\n.oui-size-1 {\n width: 0.25rem;\n height: 0.25rem;\n}\n.oui-size-10 {\n width: 2.5rem;\n height: 2.5rem;\n}\n.oui-size-2 {\n width: 0.5rem;\n height: 0.5rem;\n}\n.oui-size-3 {\n width: 0.75rem;\n height: 0.75rem;\n}\n.oui-size-4 {\n width: 1rem;\n height: 1rem;\n}\n.oui-size-5 {\n width: 1.25rem;\n height: 1.25rem;\n}\n.oui-size-6 {\n width: 1.5rem;\n height: 1.5rem;\n}\n.oui-size-8 {\n width: 2rem;\n height: 2rem;\n}\n.oui-size-\\[10px\\] {\n width: 10px;\n height: 10px;\n}\n.oui-size-\\[12px\\] {\n width: 12px;\n height: 12px;\n}\n.oui-size-\\[14px\\] {\n width: 14px;\n height: 14px;\n}\n.oui-size-\\[15px\\] {\n width: 15px;\n height: 15px;\n}\n.oui-size-\\[16px\\] {\n width: 16px;\n height: 16px;\n}\n.oui-size-\\[18px\\] {\n width: 18px;\n height: 18px;\n}\n.oui-size-\\[20px\\] {\n width: 20px;\n height: 20px;\n}\n.oui-size-\\[48px\\] {\n width: 48px;\n height: 48px;\n}\n.oui-size-\\[4px\\] {\n width: 4px;\n height: 4px;\n}\n.oui-size-\\[64px\\] {\n width: 64px;\n height: 64px;\n}\n.oui-size-\\[6px\\] {\n width: 6px;\n height: 6px;\n}\n.oui-size-full {\n width: 100%;\n height: 100%;\n}\n.\\!oui-h-\\[14px\\] {\n height: 14px !important;\n}\n.\\!oui-h-\\[2px\\] {\n height: 2px !important;\n}\n.\\!oui-h-\\[34px\\] {\n height: 34px !important;\n}\n.\\!oui-h-\\[42px\\] {\n height: 42px !important;\n}\n.\\!oui-h-\\[600px\\] {\n height: 600px !important;\n}\n.\\!oui-h-\\[680px\\] {\n height: 680px !important;\n}\n.\\!oui-h-\\[calc\\(100\\%_-_49px\\)\\] {\n height: calc(100% - 49px) !important;\n}\n.\\!oui-h-\\[calc\\(100\\%_-_53px_-_8px\\)\\] {\n height: calc(100% - 53px - 8px) !important;\n}\n.\\!oui-h-auto {\n height: auto !important;\n}\n.oui-h-0 {\n height: 0px;\n}\n.oui-h-1 {\n height: 0.25rem;\n}\n.oui-h-1\\.5 {\n height: 0.375rem;\n}\n.oui-h-10 {\n height: 2.5rem;\n}\n.oui-h-11 {\n height: 2.75rem;\n}\n.oui-h-12 {\n height: 3rem;\n}\n.oui-h-13 {\n height: 3.25rem;\n}\n.oui-h-2 {\n height: 0.5rem;\n}\n.oui-h-3 {\n height: 0.75rem;\n}\n.oui-h-4 {\n height: 1rem;\n}\n.oui-h-5 {\n height: 1.25rem;\n}\n.oui-h-6 {\n height: 1.5rem;\n}\n.oui-h-7 {\n height: 1.75rem;\n}\n.oui-h-8 {\n height: 2rem;\n}\n.oui-h-9 {\n height: 2.25rem;\n}\n.oui-h-\\[100px\\] {\n height: 100px;\n}\n.oui-h-\\[10px\\] {\n height: 10px;\n}\n.oui-h-\\[110px\\] {\n height: 110px;\n}\n.oui-h-\\[112px\\] {\n height: 112px;\n}\n.oui-h-\\[114px\\] {\n height: 114px;\n}\n.oui-h-\\[120px\\] {\n height: 120px;\n}\n.oui-h-\\[124px\\] {\n height: 124px;\n}\n.oui-h-\\[12px\\] {\n height: 12px;\n}\n.oui-h-\\[13px\\] {\n height: 13px;\n}\n.oui-h-\\[144px\\] {\n height: 144px;\n}\n.oui-h-\\[14px\\] {\n height: 14px;\n}\n.oui-h-\\[15px\\] {\n height: 15px;\n}\n.oui-h-\\[160px\\] {\n height: 160px;\n}\n.oui-h-\\[168px\\] {\n height: 168px;\n}\n.oui-h-\\[16px\\] {\n height: 16px;\n}\n.oui-h-\\[170px\\] {\n height: 170px;\n}\n.oui-h-\\[188px\\] {\n height: 188px;\n}\n.oui-h-\\[18px\\] {\n height: 18px;\n}\n.oui-h-\\[197px\\] {\n height: 197px;\n}\n.oui-h-\\[19px\\] {\n height: 19px;\n}\n.oui-h-\\[1px\\] {\n height: 1px;\n}\n.oui-h-\\[2\\.4rem\\] {\n height: 2.4rem;\n}\n.oui-h-\\[200px\\] {\n height: 200px;\n}\n.oui-h-\\[20px\\] {\n height: 20px;\n}\n.oui-h-\\[220px\\] {\n height: 220px;\n}\n.oui-h-\\[22px\\] {\n height: 22px;\n}\n.oui-h-\\[236px\\] {\n height: 236px;\n}\n.oui-h-\\[238px\\] {\n height: 238px;\n}\n.oui-h-\\[23px\\] {\n height: 23px;\n}\n.oui-h-\\[240px\\] {\n height: 240px;\n}\n.oui-h-\\[24px\\] {\n height: 24px;\n}\n.oui-h-\\[252px\\] {\n height: 252px;\n}\n.oui-h-\\[254px\\] {\n height: 254px;\n}\n.oui-h-\\[25px\\] {\n height: 25px;\n}\n.oui-h-\\[26px\\] {\n height: 26px;\n}\n.oui-h-\\[28px\\] {\n height: 28px;\n}\n.oui-h-\\[2px\\] {\n height: 2px;\n}\n.oui-h-\\[300px\\] {\n height: 300px;\n}\n.oui-h-\\[30px\\] {\n height: 30px;\n}\n.oui-h-\\[31px\\] {\n height: 31px;\n}\n.oui-h-\\[320px\\] {\n height: 320px;\n}\n.oui-h-\\[32px\\] {\n height: 32px;\n}\n.oui-h-\\[34px\\] {\n height: 34px;\n}\n.oui-h-\\[360px\\] {\n height: 360px;\n}\n.oui-h-\\[36px\\] {\n height: 36px;\n}\n.oui-h-\\[38px\\] {\n height: 38px;\n}\n.oui-h-\\[400px\\] {\n height: 400px;\n}\n.oui-h-\\[40px\\] {\n height: 40px;\n}\n.oui-h-\\[41px\\] {\n height: 41px;\n}\n.oui-h-\\[42px\\] {\n height: 42px;\n}\n.oui-h-\\[435px\\] {\n height: 435px;\n}\n.oui-h-\\[44px\\] {\n height: 44px;\n}\n.oui-h-\\[45px\\] {\n height: 45px;\n}\n.oui-h-\\[46px\\] {\n height: 46px;\n}\n.oui-h-\\[48px\\] {\n height: 48px;\n}\n.oui-h-\\[496px\\] {\n height: 496px;\n}\n.oui-h-\\[4px\\] {\n height: 4px;\n}\n.oui-h-\\[500px\\] {\n height: 500px;\n}\n.oui-h-\\[50px\\] {\n height: 50px;\n}\n.oui-h-\\[52px\\] {\n height: 52px;\n}\n.oui-h-\\[53px\\] {\n height: 53px;\n}\n.oui-h-\\[54px\\] {\n height: 54px;\n}\n.oui-h-\\[55px\\] {\n height: 55px;\n}\n.oui-h-\\[59px\\] {\n height: 59px;\n}\n.oui-h-\\[600px\\] {\n height: 600px;\n}\n.oui-h-\\[634px\\] {\n height: 634px;\n}\n.oui-h-\\[64px\\] {\n height: 64px;\n}\n.oui-h-\\[68px\\] {\n height: 68px;\n}\n.oui-h-\\[6px\\] {\n height: 6px;\n}\n.oui-h-\\[78px\\] {\n height: 78px;\n}\n.oui-h-\\[8\\.3px\\] {\n height: 8.3px;\n}\n.oui-h-\\[88px\\] {\n height: 88px;\n}\n.oui-h-\\[8px\\] {\n height: 8px;\n}\n.oui-h-\\[calc\\(\\(100vw-48px\\)\\/2\\)\\] {\n height: calc((100vw - 48px) / 2);\n}\n.oui-h-\\[calc\\(100\\%_-_288px_-_20px\\)\\] {\n height: calc(100% - 288px - 20px);\n}\n.oui-h-\\[calc\\(100\\%_-_28px\\)\\] {\n height: calc(100% - 28px);\n}\n.oui-h-\\[calc\\(100\\%_-_32px\\)\\] {\n height: calc(100% - 32px);\n}\n.oui-h-\\[calc\\(100\\%_-_36px\\)\\] {\n height: calc(100% - 36px);\n}\n.oui-h-\\[calc\\(100\\%_-_40px\\)\\] {\n height: calc(100% - 40px);\n}\n.oui-h-\\[calc\\(100\\%_-_49px\\)\\] {\n height: calc(100% - 49px);\n}\n.oui-h-\\[calc\\(100\\%_-_52px\\)\\] {\n height: calc(100% - 52px);\n}\n.oui-h-\\[calc\\(100\\%_-_56px\\)\\] {\n height: calc(100% - 56px);\n}\n.oui-h-\\[calc\\(100\\%_-_59px\\)\\] {\n height: calc(100% - 59px);\n}\n.oui-h-\\[calc\\(100\\%_-_60px\\)\\] {\n height: calc(100% - 60px);\n}\n.oui-h-\\[calc\\(100\\%_-_70px\\)\\] {\n height: calc(100% - 70px);\n}\n.oui-h-\\[calc\\(100\\%_-_92px\\)\\] {\n height: calc(100% - 92px);\n}\n.oui-h-\\[calc\\(100vh-100px\\)\\] {\n height: calc(100vh - 100px);\n}\n.oui-h-\\[calc\\(100vh-200px\\)\\] {\n height: calc(100vh - 200px);\n}\n.oui-h-\\[calc\\(100vh-260px\\)\\] {\n height: calc(100vh - 260px);\n}\n.oui-h-\\[calc\\(100vh-44px\\)\\] {\n height: calc(100vh - 44px);\n}\n.oui-h-\\[calc\\(100vh-80px\\)\\] {\n height: calc(100vh - 80px);\n}\n.oui-h-\\[calc\\(100vh_-_48px_-_29px\\)\\] {\n height: calc(100vh - 48px - 29px);\n}\n.oui-h-\\[calc\\(100vh_-_64px\\)\\] {\n height: calc(100vh - 64px);\n}\n.oui-h-\\[calc\\(80vh_-_104px\\)\\] {\n height: calc(80vh - 104px);\n}\n.oui-h-\\[calc\\(80vh_-_132px_-_8px\\)\\] {\n height: calc(80vh - 132px - 8px);\n}\n.oui-h-\\[env\\(safe-area-inset-bottom\\)\\] {\n height: env(safe-area-inset-bottom);\n}\n.oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n}\n.oui-h-auto {\n height: auto;\n}\n.oui-h-full {\n height: 100%;\n}\n.oui-h-px {\n height: 1px;\n}\n.oui-h-screen {\n height: 100vh;\n}\n.oui-max-h-0 {\n max-height: 0px;\n}\n.oui-max-h-8 {\n max-height: 2rem;\n}\n.oui-max-h-96 {\n max-height: 24rem;\n}\n.oui-max-h-\\[100px\\] {\n max-height: 100px;\n}\n.oui-max-h-\\[104px\\] {\n max-height: 104px;\n}\n.oui-max-h-\\[120px\\] {\n max-height: 120px;\n}\n.oui-max-h-\\[1250px\\] {\n max-height: 1250px;\n}\n.oui-max-h-\\[200px\\] {\n max-height: 200px;\n}\n.oui-max-h-\\[202px\\] {\n max-height: 202px;\n}\n.oui-max-h-\\[240px\\] {\n max-height: 240px;\n}\n.oui-max-h-\\[254px\\] {\n max-height: 254px;\n}\n.oui-max-h-\\[288px\\] {\n max-height: 288px;\n}\n.oui-max-h-\\[300px\\] {\n max-height: 300px;\n}\n.oui-max-h-\\[348px\\] {\n max-height: 348px;\n}\n.oui-max-h-\\[356px\\] {\n max-height: 356px;\n}\n.oui-max-h-\\[396px\\] {\n max-height: 396px;\n}\n.oui-max-h-\\[400px\\] {\n max-height: 400px;\n}\n.oui-max-h-\\[60vh\\] {\n max-height: 60vh;\n}\n.oui-max-h-\\[69px\\] {\n max-height: 69px;\n}\n.oui-max-h-\\[700px\\] {\n max-height: 700px;\n}\n.oui-max-h-\\[80vh\\] {\n max-height: 80vh;\n}\n.oui-max-h-\\[94px\\] {\n max-height: 94px;\n}\n.oui-max-h-full {\n max-height: 100%;\n}\n.\\!oui-min-h-\\[100px\\] {\n min-height: 100px !important;\n}\n.\\!oui-min-h-\\[130px\\] {\n min-height: 130px !important;\n}\n.\\!oui-min-h-\\[170px\\] {\n min-height: 170px !important;\n}\n.\\!oui-min-h-\\[2px\\] {\n min-height: 2px !important;\n}\n.oui-min-h-0 {\n min-height: 0px;\n}\n.oui-min-h-10 {\n min-height: 2.5rem;\n}\n.oui-min-h-11 {\n min-height: 2.75rem;\n}\n.oui-min-h-12 {\n min-height: 3rem;\n}\n.oui-min-h-40 {\n min-height: 10rem;\n}\n.oui-min-h-\\[141px\\] {\n min-height: 141px;\n}\n.oui-min-h-\\[162px\\] {\n min-height: 162px;\n}\n.oui-min-h-\\[170px\\] {\n min-height: 170px;\n}\n.oui-min-h-\\[176px\\] {\n min-height: 176px;\n}\n.oui-min-h-\\[180px\\] {\n min-height: 180px;\n}\n.oui-min-h-\\[20px\\] {\n min-height: 20px;\n}\n.oui-min-h-\\[300px\\] {\n min-height: 300px;\n}\n.oui-min-h-\\[400px\\] {\n min-height: 400px;\n}\n.oui-min-h-\\[420px\\] {\n min-height: 420px;\n}\n.oui-min-h-\\[48px\\] {\n min-height: 48px;\n}\n.oui-min-h-\\[50px\\] {\n min-height: 50px;\n}\n.oui-min-h-\\[54px\\] {\n min-height: 54px;\n}\n.oui-min-h-\\[56px\\] {\n min-height: 56px;\n}\n.oui-min-h-\\[600px\\] {\n min-height: 600px;\n}\n.oui-min-h-\\[calc\\(100vh-44px-64px-env\\(safe-area-inset-bottom\\)\\)\\] {\n min-height: calc(100vh - 44px - 64px - env(safe-area-inset-bottom));\n}\n.oui-min-h-full {\n min-height: 100%;\n}\n.oui-min-h-screen {\n min-height: 100vh;\n}\n.\\!oui-w-\\[180px\\] {\n width: 180px !important;\n}\n.\\!oui-w-\\[2px\\] {\n width: 2px !important;\n}\n.\\!oui-w-\\[90\\%\\] {\n width: 90% !important;\n}\n.oui-w-1 {\n width: 0.25rem;\n}\n.oui-w-1\\/2 {\n width: 50%;\n}\n.oui-w-1\\/3 {\n width: 33.333333%;\n}\n.oui-w-1\\/4 {\n width: 25%;\n}\n.oui-w-1\\/5 {\n width: 20%;\n}\n.oui-w-10 {\n width: 2.5rem;\n}\n.oui-w-11 {\n width: 2.75rem;\n}\n.oui-w-12 {\n width: 3rem;\n}\n.oui-w-2 {\n width: 0.5rem;\n}\n.oui-w-24 {\n width: 6rem;\n}\n.oui-w-28 {\n width: 7rem;\n}\n.oui-w-3 {\n width: 0.75rem;\n}\n.oui-w-3\\.5 {\n width: 0.875rem;\n}\n.oui-w-3\\/4 {\n width: 75%;\n}\n.oui-w-3\\/5 {\n width: 60%;\n}\n.oui-w-4 {\n width: 1rem;\n}\n.oui-w-5 {\n width: 1.25rem;\n}\n.oui-w-6 {\n width: 1.5rem;\n}\n.oui-w-64 {\n width: 16rem;\n}\n.oui-w-7 {\n width: 1.75rem;\n}\n.oui-w-72 {\n width: 18rem;\n}\n.oui-w-8 {\n width: 2rem;\n}\n.oui-w-9 {\n width: 2.25rem;\n}\n.oui-w-\\[--radix-select-content-available-width\\] {\n width: var(--radix-select-content-available-width);\n}\n.oui-w-\\[100\\%\\] {\n width: 100%;\n}\n.oui-w-\\[10px\\] {\n width: 10px;\n}\n.oui-w-\\[120px\\] {\n width: 120px;\n}\n.oui-w-\\[124px\\] {\n width: 124px;\n}\n.oui-w-\\[12px\\] {\n width: 12px;\n}\n.oui-w-\\[13px\\] {\n width: 13px;\n}\n.oui-w-\\[140px\\] {\n width: 140px;\n}\n.oui-w-\\[148px\\] {\n width: 148px;\n}\n.oui-w-\\[14px\\] {\n width: 14px;\n}\n.oui-w-\\[154px\\] {\n width: 154px;\n}\n.oui-w-\\[15px\\] {\n width: 15px;\n}\n.oui-w-\\[162px\\] {\n width: 162px;\n}\n.oui-w-\\[16px\\] {\n width: 16px;\n}\n.oui-w-\\[180px\\] {\n width: 180px;\n}\n.oui-w-\\[184px\\] {\n width: 184px;\n}\n.oui-w-\\[187px\\] {\n width: 187px;\n}\n.oui-w-\\[18px\\] {\n width: 18px;\n}\n.oui-w-\\[1px\\] {\n width: 1px;\n}\n.oui-w-\\[200px\\] {\n width: 200px;\n}\n.oui-w-\\[20px\\] {\n width: 20px;\n}\n.oui-w-\\[220px\\] {\n width: 220px;\n}\n.oui-w-\\[225px\\] {\n width: 225px;\n}\n.oui-w-\\[230px\\] {\n width: 230px;\n}\n.oui-w-\\[240px\\] {\n width: 240px;\n}\n.oui-w-\\[260px\\] {\n width: 260px;\n}\n.oui-w-\\[275px\\] {\n width: 275px;\n}\n.oui-w-\\[276px\\] {\n width: 276px;\n}\n.oui-w-\\[280px\\] {\n width: 280px;\n}\n.oui-w-\\[284px\\] {\n width: 284px;\n}\n.oui-w-\\[28px\\] {\n width: 28px;\n}\n.oui-w-\\[2px\\] {\n width: 2px;\n}\n.oui-w-\\[300px\\] {\n width: 300px;\n}\n.oui-w-\\[320px\\] {\n width: 320px;\n}\n.oui-w-\\[32px\\] {\n width: 32px;\n}\n.oui-w-\\[342px\\] {\n width: 342px;\n}\n.oui-w-\\[360px\\] {\n width: 360px;\n}\n.oui-w-\\[36px\\] {\n width: 36px;\n}\n.oui-w-\\[400px\\] {\n width: 400px;\n}\n.oui-w-\\[420px\\] {\n width: 420px;\n}\n.oui-w-\\[429px\\] {\n width: 429px;\n}\n.oui-w-\\[456px\\] {\n width: 456px;\n}\n.oui-w-\\[45px\\] {\n width: 45px;\n}\n.oui-w-\\[49px\\] {\n width: 49px;\n}\n.oui-w-\\[50\\%\\] {\n width: 50%;\n}\n.oui-w-\\[55px\\] {\n width: 55px;\n}\n.oui-w-\\[590px\\] {\n width: 590px;\n}\n.oui-w-\\[63px\\] {\n width: 63px;\n}\n.oui-w-\\[640px\\] {\n width: 640px;\n}\n.oui-w-\\[6px\\] {\n width: 6px;\n}\n.oui-w-\\[74px\\] {\n width: 74px;\n}\n.oui-w-\\[8\\.3px\\] {\n width: 8.3px;\n}\n.oui-w-\\[80px\\] {\n width: 80px;\n}\n.oui-w-\\[85\\%\\] {\n width: 85%;\n}\n.oui-w-\\[94px\\] {\n width: 94px;\n}\n.oui-w-\\[96px\\] {\n width: 96px;\n}\n.oui-w-\\[calc\\(\\(100\\%_-_4px\\)\\/2\\)\\] {\n width: calc((100% - 4px) / 2);\n}\n.oui-w-\\[calc\\(100\\%-60px\\)\\] {\n width: calc(100% - 60px);\n}\n.oui-w-\\[calc\\(100\\%-64px\\)\\] {\n width: calc(100% - 64px);\n}\n.oui-w-\\[calc\\(100\\%_-_16px\\)\\] {\n width: calc(100% - 16px);\n}\n.oui-w-\\[calc\\(100\\%_-_280px_-_12px\\)\\] {\n width: calc(100% - 280px - 12px);\n}\n.oui-w-\\[calc\\(100vw-24px\\)\\] {\n width: calc(100vw - 24px);\n}\n.oui-w-\\[calc\\(50\\%-6px\\)\\] {\n width: calc(50% - 6px);\n}\n.oui-w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\] {\n width: var(--radix-dropdown-menu-trigger-width);\n}\n.oui-w-\\[var\\(_--radix-popover-trigger-width\\)\\] {\n width: var( --radix-popover-trigger-width);\n}\n.oui-w-auto {\n width: auto;\n}\n.oui-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.oui-w-full {\n width: 100%;\n}\n.oui-w-px {\n width: 1px;\n}\n.oui-w-screen {\n width: 100vw;\n}\n.\\!oui-min-w-\\[2px\\] {\n min-width: 2px !important;\n}\n.oui-min-w-0 {\n min-width: 0px;\n}\n.oui-min-w-11 {\n min-width: 2.75rem;\n}\n.oui-min-w-14 {\n min-width: 3.5rem;\n}\n.oui-min-w-24 {\n min-width: 6rem;\n}\n.oui-min-w-6 {\n min-width: 1.5rem;\n}\n.oui-min-w-\\[1018px\\] {\n min-width: 1018px;\n}\n.oui-min-w-\\[102px\\] {\n min-width: 102px;\n}\n.oui-min-w-\\[105px\\] {\n min-width: 105px;\n}\n.oui-min-w-\\[120px\\] {\n min-width: 120px;\n}\n.oui-min-w-\\[160px\\] {\n min-width: 160px;\n}\n.oui-min-w-\\[180px\\] {\n min-width: 180px;\n}\n.oui-min-w-\\[204px\\] {\n min-width: 204px;\n}\n.oui-min-w-\\[22px\\] {\n min-width: 22px;\n}\n.oui-min-w-\\[240px\\] {\n min-width: 240px;\n}\n.oui-min-w-\\[30px\\] {\n min-width: 30px;\n}\n.oui-min-w-\\[322px\\] {\n min-width: 322px;\n}\n.oui-min-w-\\[40px\\] {\n min-width: 40px;\n}\n.oui-min-w-\\[500px\\] {\n min-width: 500px;\n}\n.oui-min-w-\\[70px\\] {\n min-width: 70px;\n}\n.oui-min-w-\\[80px\\] {\n min-width: 80px;\n}\n.oui-min-w-\\[8rem\\] {\n min-width: 8rem;\n}\n.oui-min-w-\\[96px\\] {\n min-width: 96px;\n}\n.oui-min-w-\\[994px\\] {\n min-width: 994px;\n}\n.oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n}\n.\\!oui-max-w-\\[624px\\] {\n max-width: 624px !important;\n}\n.oui-max-w-4xl {\n max-width: 56rem;\n}\n.oui-max-w-64 {\n max-width: 16rem;\n}\n.oui-max-w-72 {\n max-width: 18rem;\n}\n.oui-max-w-\\[1040px\\] {\n max-width: 1040px;\n}\n.oui-max-w-\\[110px\\] {\n max-width: 110px;\n}\n.oui-max-w-\\[1200px\\] {\n max-width: 1200px;\n}\n.oui-max-w-\\[188px\\] {\n max-width: 188px;\n}\n.oui-max-w-\\[200px\\] {\n max-width: 200px;\n}\n.oui-max-w-\\[240px\\] {\n max-width: 240px;\n}\n.oui-max-w-\\[260px\\] {\n max-width: 260px;\n}\n.oui-max-w-\\[270px\\] {\n max-width: 270px;\n}\n.oui-max-w-\\[274px\\] {\n max-width: 274px;\n}\n.oui-max-w-\\[275px\\] {\n max-width: 275px;\n}\n.oui-max-w-\\[280px\\] {\n max-width: 280px;\n}\n.oui-max-w-\\[298px\\] {\n max-width: 298px;\n}\n.oui-max-w-\\[300px\\] {\n max-width: 300px;\n}\n.oui-max-w-\\[320px\\] {\n max-width: 320px;\n}\n.oui-max-w-\\[330px\\] {\n max-width: 330px;\n}\n.oui-max-w-\\[348px\\] {\n max-width: 348px;\n}\n.oui-max-w-\\[360px\\] {\n max-width: 360px;\n}\n.oui-max-w-\\[382px\\] {\n max-width: 382px;\n}\n.oui-max-w-\\[396px\\] {\n max-width: 396px;\n}\n.oui-max-w-\\[400px\\] {\n max-width: 400px;\n}\n.oui-max-w-\\[450px\\] {\n max-width: 450px;\n}\n.oui-max-w-\\[726px\\] {\n max-width: 726px;\n}\n.oui-max-w-\\[83px\\] {\n max-width: 83px;\n}\n.oui-max-w-\\[960px\\] {\n max-width: 960px;\n}\n.oui-max-w-\\[992px\\] {\n max-width: 992px;\n}\n.oui-max-w-\\[calc\\(100\\%-187px\\)\\] {\n max-width: calc(100% - 187px);\n}\n.oui-max-w-fit {\n max-width: -moz-fit-content;\n max-width: fit-content;\n}\n.oui-max-w-full {\n max-width: 100%;\n}\n.oui-max-w-lg {\n max-width: var(--oui-spacing-lg, 30rem);\n}\n.oui-max-w-md {\n max-width: var(--oui-spacing-md, 26.25rem);\n}\n.oui-max-w-sm {\n max-width: var(--oui-spacing-sm, 22.5rem);\n}\n.oui-max-w-xl {\n max-width: var(--oui-spacing-xl, 33.75rem);\n}\n.oui-max-w-xs {\n max-width: var(--oui-spacing-xs, 20rem);\n}\n.oui-flex-1 {\n flex: 1 1 0%;\n}\n.oui-flex-\\[0_0_100\\%\\] {\n flex: 0 0 100%;\n}\n.oui-flex-\\[0_0_calc\\(\\(100\\%_-_32px\\)_\\/_3\\)\\] {\n flex: 0 0 calc((100% - 32px) / 3);\n}\n.oui-flex-none {\n flex: none;\n}\n.oui-flex-shrink {\n flex-shrink: 1;\n}\n.oui-flex-shrink-0 {\n flex-shrink: 0;\n}\n.oui-shrink {\n flex-shrink: 1;\n}\n.oui-shrink-0 {\n flex-shrink: 0;\n}\n.oui-grow {\n flex-grow: 1;\n}\n.oui-grow-0 {\n flex-grow: 0;\n}\n.oui-basis-1\\/2 {\n flex-basis: 50%;\n}\n.oui-basis-5\\/12 {\n flex-basis: 41.666667%;\n}\n.oui-basis-7\\/12 {\n flex-basis: 58.333333%;\n}\n.oui-basis-\\[100\\%\\] {\n flex-basis: 100%;\n}\n.oui-basis-auto {\n flex-basis: auto;\n}\n.oui-basis-full {\n flex-basis: 100%;\n}\n.oui-table-fixed {\n table-layout: fixed;\n}\n.oui-border-collapse {\n border-collapse: collapse;\n}\n.oui-origin-top-left {\n transform-origin: top left;\n}\n.-oui-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-2\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-\\[0\\.5px\\] {\n --tw-translate-y: -0.5px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-x-full {\n --tw-translate-x: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-3 {\n --tw-translate-x: 0.75rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-\\[-12px\\] {\n --tw-translate-x: -12px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-1 {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[10px\\] {\n --tw-translate-y: 10px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[120\\%\\] {\n --tw-translate-y: 120%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-rotate-180 {\n --tw-rotate: -180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-90 {\n --tw-rotate: 90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-scale-105 {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-transform-gpu {\n transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes oui-pop {\n\n 0% {\n transform: scale(1);\n }\n\n 100% {\n transform: scale(1.05);\n }\n}\n.oui-animate-pop {\n animation: oui-pop 0.2s ease-out;\n}\n@keyframes oui-rotate {\n\n 0% {\n transform: rotate(0deg);\n }\n\n 50% {\n transform: rotate(240deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n.oui-animate-rotate-360 {\n animation: oui-rotate 1s linear infinite;\n}\n@keyframes oui-scan-qr-code {\n\n 0% {\n transform: translateY(0);\n }\n\n 50% {\n transform: translateY(320px);\n }\n\n 100% {\n transform: translateY(0);\n }\n}\n.oui-animate-scan-qr-code {\n animation: oui-scan-qr-code 6s infinite linear;\n}\n@keyframes oui-spin {\n\n to {\n transform: rotate(360deg);\n }\n}\n.oui-animate-spin {\n animation: oui-spin 1s linear infinite;\n}\n.oui-cursor-auto {\n cursor: auto;\n}\n.oui-cursor-default {\n cursor: default;\n}\n.oui-cursor-grab {\n cursor: grab;\n}\n.oui-cursor-grabbing {\n cursor: grabbing;\n}\n.oui-cursor-move {\n cursor: move;\n}\n.oui-cursor-not-allowed {\n cursor: not-allowed;\n}\n.oui-cursor-pointer {\n cursor: pointer;\n}\n.oui-cursor-svg-edit {\n cursor: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%3Cg%20clip-path%3D%22url%28%23clip0_22040_41827%29%22%3E%3Cpath%20d%3D%22M11.4548%200.693201C11.1139%200.352266%2010.5611%200.352266%2010.2202%200.693201L8.98558%201.92784L12.0722%205.01442L13.3068%203.77979C13.6477%203.43885%2013.6477%202.88609%2013.3068%202.54515L11.4548%200.693201Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.98%22%2F%3E%3Cpath%20d%3D%22M11.1462%205.9404L8.0596%202.85381L0.960453%209.95296L0.443602%2013.0541C0.394363%2013.3495%200.650496%2013.6056%200.945935%2013.5564L4.04704%2013.0395L11.1462%205.9404Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.98%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_22040_41827%22%3E%3Crect%20width%3D%2214%22%20height%3D%2214%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\") 2 12, auto;\n}\n.oui-touch-none {\n touch-action: none;\n}\n.oui-select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.oui-resize-none {\n resize: none;\n}\n.oui-list-inside {\n list-style-position: inside;\n}\n.oui-list-outside {\n list-style-position: outside;\n}\n.oui-list-decimal {\n list-style-type: decimal;\n}\n.oui-list-disc {\n list-style-type: disc;\n}\n.oui-list-none {\n list-style-type: none;\n}\n.oui-grid-flow-row {\n grid-auto-flow: row;\n}\n.oui-grid-flow-col {\n grid-auto-flow: column;\n}\n.oui-grid-flow-row-dense {\n grid-auto-flow: row dense;\n}\n.oui-grid-flow-col-dense {\n grid-auto-flow: column dense;\n}\n.oui-auto-rows-fr {\n grid-auto-rows: minmax(0, 1fr);\n}\n.oui-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.oui-grid-cols-12 {\n grid-template-columns: repeat(12, minmax(0, 1fr));\n}\n.oui-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.oui-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.oui-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n.oui-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n.oui-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.oui-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n.oui-grid-cols-9 {\n grid-template-columns: repeat(9, minmax(0, 1fr));\n}\n.oui-grid-cols-\\[1fr\\,1fr\\,135px\\] {\n grid-template-columns: 1fr 1fr 135px;\n}\n.oui-grid-cols-\\[2fr_1fr_1fr_1fr_1fr_1fr_1\\.5fr\\] {\n grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1fr 1.5fr;\n}\n.oui-grid-cols-\\[40px_1fr_40px\\] {\n grid-template-columns: 40px 1fr 40px;\n}\n.oui-grid-cols-\\[4fr\\,6fr\\] {\n grid-template-columns: 4fr 6fr;\n}\n.oui-grid-cols-none {\n grid-template-columns: none;\n}\n.oui-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n.oui-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n.oui-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n.oui-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n.oui-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n.oui-grid-rows-6 {\n grid-template-rows: repeat(6, minmax(0, 1fr));\n}\n.oui-grid-rows-7 {\n grid-template-rows: repeat(7, minmax(0, 1fr));\n}\n.oui-grid-rows-8 {\n grid-template-rows: repeat(8, minmax(0, 1fr));\n}\n.oui-grid-rows-9 {\n grid-template-rows: repeat(9, minmax(0, 1fr));\n}\n.oui-grid-rows-\\[auto\\,1fr\\] {\n grid-template-rows: auto 1fr;\n}\n.oui-grid-rows-\\[auto\\,auto\\,1fr\\,auto\\,1fr\\] {\n grid-template-rows: auto auto 1fr auto 1fr;\n}\n.oui-grid-rows-none {\n grid-template-rows: none;\n}\n.oui-flex-row {\n flex-direction: row;\n}\n.oui-flex-row-reverse {\n flex-direction: row-reverse;\n}\n.oui-flex-col {\n flex-direction: column;\n}\n.oui-flex-col-reverse {\n flex-direction: column-reverse;\n}\n.oui-flex-wrap {\n flex-wrap: wrap;\n}\n.oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n.oui-flex-nowrap {\n flex-wrap: nowrap;\n}\n.oui-items-start {\n align-items: flex-start;\n}\n.oui-items-end {\n align-items: flex-end;\n}\n.oui-items-center {\n align-items: center;\n}\n.oui-items-baseline {\n align-items: baseline;\n}\n.oui-items-stretch {\n align-items: stretch;\n}\n.oui-justify-start {\n justify-content: flex-start;\n}\n.oui-justify-end {\n justify-content: flex-end;\n}\n.oui-justify-center {\n justify-content: center;\n}\n.oui-justify-between {\n justify-content: space-between;\n}\n.oui-justify-around {\n justify-content: space-around;\n}\n.oui-justify-evenly {\n justify-content: space-evenly;\n}\n.oui-justify-stretch {\n justify-content: stretch;\n}\n.\\!oui-gap-\\[2px\\] {\n gap: 2px !important;\n}\n.oui-gap-0 {\n gap: 0px;\n}\n.oui-gap-0\\.5 {\n gap: 0.125rem;\n}\n.oui-gap-1 {\n gap: 0.25rem;\n}\n.oui-gap-1\\.5 {\n gap: 0.375rem;\n}\n.oui-gap-10 {\n gap: 2.5rem;\n}\n.oui-gap-12 {\n gap: 3rem;\n}\n.oui-gap-2 {\n gap: 0.5rem;\n}\n.oui-gap-2\\.5 {\n gap: 0.625rem;\n}\n.oui-gap-3 {\n gap: 0.75rem;\n}\n.oui-gap-4 {\n gap: 1rem;\n}\n.oui-gap-5 {\n gap: 1.25rem;\n}\n.oui-gap-6 {\n gap: 1.5rem;\n}\n.oui-gap-8 {\n gap: 2rem;\n}\n.oui-gap-\\[10px\\] {\n gap: 10px;\n}\n.oui-gap-\\[11px\\] {\n gap: 11px;\n}\n.oui-gap-\\[2px\\] {\n gap: 2px;\n}\n.oui-gap-\\[6px\\] {\n gap: 6px;\n}\n.oui-gap-px {\n gap: 1px;\n}\n.oui-gap-x-0 {\n -moz-column-gap: 0px;\n column-gap: 0px;\n}\n.oui-gap-x-0\\.5 {\n -moz-column-gap: 0.125rem;\n column-gap: 0.125rem;\n}\n.oui-gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n.oui-gap-x-10 {\n -moz-column-gap: 2.5rem;\n column-gap: 2.5rem;\n}\n.oui-gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n}\n.oui-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n}\n.oui-gap-x-4 {\n -moz-column-gap: 1rem;\n column-gap: 1rem;\n}\n.oui-gap-x-5 {\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n}\n.oui-gap-x-6 {\n -moz-column-gap: 1.5rem;\n column-gap: 1.5rem;\n}\n.oui-gap-x-7 {\n -moz-column-gap: 1.75rem;\n column-gap: 1.75rem;\n}\n.oui-gap-x-8 {\n -moz-column-gap: 2rem;\n column-gap: 2rem;\n}\n.oui-gap-x-\\[1px\\] {\n -moz-column-gap: 1px;\n column-gap: 1px;\n}\n.oui-gap-x-\\[30px\\] {\n -moz-column-gap: 30px;\n column-gap: 30px;\n}\n.oui-gap-x-\\[6px\\] {\n -moz-column-gap: 6px;\n column-gap: 6px;\n}\n.oui-gap-x-px {\n -moz-column-gap: 1px;\n column-gap: 1px;\n}\n.oui-gap-y-0 {\n row-gap: 0px;\n}\n.oui-gap-y-1 {\n row-gap: 0.25rem;\n}\n.oui-gap-y-10 {\n row-gap: 2.5rem;\n}\n.oui-gap-y-2 {\n row-gap: 0.5rem;\n}\n.oui-gap-y-3 {\n row-gap: 0.75rem;\n}\n.oui-gap-y-4 {\n row-gap: 1rem;\n}\n.oui-gap-y-5 {\n row-gap: 1.25rem;\n}\n.oui-gap-y-6 {\n row-gap: 1.5rem;\n}\n.oui-gap-y-8 {\n row-gap: 2rem;\n}\n.oui-gap-y-\\[2px\\] {\n row-gap: 2px;\n}\n.\\!oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0 !important;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))) !important;\n margin-bottom: calc(0px * var(--tw-space-y-reverse)) !important;\n}\n.\\!oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0 !important;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))) !important;\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)) !important;\n}\n.oui-space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.75rem * var(--tw-space-x-reverse));\n margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.5rem * var(--tw-space-x-reverse));\n margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-\\[6px\\] > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(6px * var(--tw-space-x-reverse));\n margin-left: calc(6px * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n}\n.oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-\\[2px\\] > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(2px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(2px * var(--tw-space-y-reverse));\n}\n.oui-self-end {\n align-self: flex-end;\n}\n.oui-overflow-auto {\n overflow: auto;\n}\n.oui-overflow-hidden {\n overflow: hidden;\n}\n.oui-overflow-x-auto {\n overflow-x: auto;\n}\n.oui-overflow-y-auto {\n overflow-y: auto;\n}\n.oui-overflow-y-hidden {\n overflow-y: hidden;\n}\n.oui-overflow-x-scroll {\n overflow-x: scroll;\n}\n.oui-overflow-y-scroll {\n overflow-y: scroll;\n}\n.oui-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.oui-overflow-ellipsis {\n text-overflow: ellipsis;\n}\n.oui-text-ellipsis {\n text-overflow: ellipsis;\n}\n.oui-whitespace-normal {\n white-space: normal;\n}\n.oui-whitespace-nowrap {\n white-space: nowrap;\n}\n.oui-whitespace-pre {\n white-space: pre;\n}\n.oui-text-nowrap {\n text-wrap: nowrap;\n}\n.oui-text-pretty {\n text-wrap: pretty;\n}\n.oui-break-normal {\n overflow-wrap: normal;\n word-break: normal;\n}\n.oui-break-words {\n overflow-wrap: break-word;\n}\n.oui-break-all {\n word-break: break-all;\n}\n.oui-rounded {\n border-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n}\n.oui-rounded-\\[100\\%\\] {\n border-radius: 100%;\n}\n.oui-rounded-\\[100px\\] {\n border-radius: 100px;\n}\n.oui-rounded-\\[10px\\] {\n border-radius: 10px;\n}\n.oui-rounded-\\[12px\\] {\n border-radius: 12px;\n}\n.oui-rounded-\\[14px\\] {\n border-radius: 14px;\n}\n.oui-rounded-\\[16px\\] {\n border-radius: 16px;\n}\n.oui-rounded-\\[1px\\] {\n border-radius: 1px;\n}\n.oui-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n.oui-rounded-\\[24px\\] {\n border-radius: 24px;\n}\n.oui-rounded-\\[3px\\] {\n border-radius: 3px;\n}\n.oui-rounded-\\[44px\\] {\n border-radius: 44px;\n}\n.oui-rounded-\\[4px\\] {\n border-radius: 4px;\n}\n.oui-rounded-\\[6px\\] {\n border-radius: 6px;\n}\n.oui-rounded-\\[8px\\] {\n border-radius: 8px;\n}\n.oui-rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n.oui-rounded-full {\n border-radius: var(--oui-rounded-full, 9999px);\n}\n.oui-rounded-lg {\n border-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.oui-rounded-none {\n border-radius: 0;\n}\n.oui-rounded-sm {\n border-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-xl {\n border-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.\\!oui-rounded-l {\n border-top-left-radius: var(--oui-rounded, 0.25rem) !important;\n border-bottom-left-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.\\!oui-rounded-r {\n border-top-right-radius: var(--oui-rounded, 0.25rem) !important;\n border-bottom-right-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.oui-rounded-b-sm {\n border-bottom-right-radius: var(--oui-rounded-sm, 0.125rem);\n border-bottom-left-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-b-xl {\n border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-l {\n border-top-left-radius: var(--oui-rounded, 0.25rem);\n border-bottom-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-l-lg {\n border-top-left-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-left-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-l-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-r {\n border-top-right-radius: var(--oui-rounded, 0.25rem);\n border-bottom-right-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-r-lg {\n border-top-right-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-t-2xl {\n border-top-left-radius: var(--oui-rounded-2xl, 1rem);\n border-top-right-radius: var(--oui-rounded-2xl, 1rem);\n}\n.oui-rounded-t-\\[6px\\] {\n border-top-left-radius: 6px;\n border-top-right-radius: 6px;\n}\n.oui-rounded-t-sm {\n border-top-left-radius: var(--oui-rounded-sm, 0.125rem);\n border-top-right-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-t-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-top-right-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-bl {\n border-bottom-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-bl-\\[10px\\] {\n border-bottom-left-radius: 10px;\n}\n.oui-rounded-bl-\\[6px\\] {\n border-bottom-left-radius: 6px;\n}\n.oui-rounded-br-\\[3px\\] {\n border-bottom-right-radius: 3px;\n}\n.oui-rounded-br-lg {\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-br-none {\n border-bottom-right-radius: 0;\n}\n.oui-rounded-tl {\n border-top-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-tl-\\[10px\\] {\n border-top-left-radius: 10px;\n}\n.oui-rounded-tl-none {\n border-top-left-radius: 0;\n}\n.oui-rounded-tr-\\[10px\\] {\n border-top-right-radius: 10px;\n}\n.\\!oui-border {\n border-width: 1px !important;\n}\n.oui-border {\n border-width: 1px;\n}\n.oui-border-0 {\n border-width: 0px;\n}\n.oui-border-\\[0\\.5px\\] {\n border-width: 0.5px;\n}\n.oui-border-\\[2\\.5px\\] {\n border-width: 2.5px;\n}\n.oui-border-\\[2px\\] {\n border-width: 2px;\n}\n.oui-border-\\[4px\\] {\n border-width: 4px;\n}\n.oui-border-y-2 {\n border-top-width: 2px;\n border-bottom-width: 2px;\n}\n.oui-border-b {\n border-bottom-width: 1px;\n}\n.oui-border-b-2 {\n border-bottom-width: 2px;\n}\n.oui-border-l {\n border-left-width: 1px;\n}\n.oui-border-r {\n border-right-width: 1px;\n}\n.oui-border-t {\n border-top-width: 1px;\n}\n.oui-border-t-2 {\n border-top-width: 2px;\n}\n.\\!oui-border-solid {\n border-style: solid !important;\n}\n.oui-border-solid {\n border-style: solid;\n}\n.oui-border-dashed {\n border-style: dashed;\n}\n.oui-border-dotted {\n border-style: dotted;\n}\n.\\!oui-border-none {\n border-style: none !important;\n}\n.oui-border-none {\n border-style: none;\n}\n.\\!oui-border-line-12 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12) !important;\n}\n.\\!oui-border-primary-light {\n --tw-border-opacity: 1 !important;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1)) !important;\n}\n.oui-border-\\[\\#38E2FE\\] {\n --tw-border-opacity: 1;\n border-color: rgb(56 226 254 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[\\#B9D1FF\\] {\n --tw-border-opacity: 1;\n border-color: rgb(185 209 255 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[\\#faedff\\] {\n --tw-border-opacity: 1;\n border-color: rgb(250 237 255 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n border-color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n border-color: rgba(var(--oui-gradient-brand-start));\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-primary-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-primary-start)/0.36);\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-secondary-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-secondary-start)/0.36);\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-success-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-success-start)/0.36);\n}\n.oui-border-base-2 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-2) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-4 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-4) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-5 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-5) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-6 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-6) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-contrast-12 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-border-base-contrast-16 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.oui-border-base-contrast-20 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-border-base-contrast-36 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-border-base-contrast-54 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-border-base-contrast-80 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-border-base-contrast\\/10 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.1);\n}\n.oui-border-base-contrast\\/\\[0\\.08\\] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.08);\n}\n.oui-border-base-contrast\\/\\[0\\.12\\] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n}\n.oui-border-danger-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-line {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.oui-border-line-12 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-border-line-16 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-border-line-4 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-border-primary {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary) / var(--tw-border-opacity, 1));\n}\n.oui-border-primary-darken {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-darken) / var(--tw-border-opacity, 1));\n}\n.oui-border-primary-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-success {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-success) / var(--tw-border-opacity, 1));\n}\n.oui-border-trade-loss {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-trading-loss) / var(--tw-border-opacity, 1));\n}\n.oui-border-trade-profit {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-trading-profit) / var(--tw-border-opacity, 1));\n}\n.oui-border-transparent {\n border-color: transparent;\n}\n.oui-border-warning-darken {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-darken) / var(--tw-border-opacity, 1));\n}\n.oui-border-warning-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-white\\/10 {\n border-color: rgb(255 255 255 / 0.1);\n}\n.oui-border-white\\/\\[0\\.12\\] {\n border-color: rgb(255 255 255 / 0.12);\n}\n.oui-border-white\\/\\[0\\.36\\] {\n border-color: rgb(255 255 255 / 0.36);\n}\n.oui-border-b-line-4 {\n border-bottom-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-border-b-line-6 {\n border-bottom-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-border-b-transparent {\n border-bottom-color: transparent;\n}\n.oui-border-b-white\\/10 {\n border-bottom-color: rgb(255 255 255 / 0.1);\n}\n.oui-border-l-transparent {\n border-left-color: transparent;\n}\n.oui-border-r-line-16 {\n border-right-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-border-t-transparent {\n border-top-color: transparent;\n}\n.\\!oui-bg-\\[\\#131519\\] {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(19 21 25 / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-\\[\\#181C23\\] {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(24 28 35 / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-base-10\\/60 {\n background-color: rgb(var(--oui-color-base-10) / 0.6) !important;\n}\n.\\!oui-bg-base-8 {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-primary-darken {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-transparent {\n background-color: transparent !important;\n}\n.oui-bg-\\[\\#00A858\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 168 88 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#00A9DE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 169 222 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#07080A\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(7 8 10 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#131519\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(19 21 25 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#282e3a\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(40 46 58 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#283BEE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(40 59 238 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#333948\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(51 57 72 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#335FFC\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(51 95 252 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#38E2FE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(56 226 254 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#3D79A9\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(61 121 169 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#630EAD\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(99 14 173 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#D25f00\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(210 95 0 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#d25f00\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(210 95 0 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#e9e9eb\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(233 233 235 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[lightgray\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(211 211 211 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[rgba\\(0\\,0\\,0\\,0\\.48\\)\\] {\n background-color: rgba(0,0,0,0.48);\n}\n.oui-bg-\\[rgba\\(232\\,136\\,0\\,0\\.15\\)\\] {\n background-color: rgba(232,136,0,0.15);\n}\n.oui-bg-\\[rgba\\(255\\,125\\,0\\,0\\.1\\)\\] {\n background-color: rgba(255,125,0,0.1);\n}\n.oui-bg-\\[rgba\\(255\\,169\\,64\\,0\\.70\\)\\] {\n background-color: rgba(255,169,64,0.70);\n}\n.oui-bg-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n background-color: rgba(var(--oui-gradient-brand-start));\n}\n.oui-bg-\\[var\\(--oui-table-background-color\\)\\] {\n background-color: var(--oui-table-background-color);\n}\n.oui-bg-base-1 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-1) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-10 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-10) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-2 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-2) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-3 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-7 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-8 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-9 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-9) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-contrast {\n background-color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-bg-base-contrast-12 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-bg-base-contrast-20 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-bg-base-contrast-36 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-bg-base-contrast-80 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-bg-black\\/80 {\n background-color: rgb(0 0 0 / 0.8);\n}\n.oui-bg-black\\/\\[0\\.08\\] {\n background-color: rgb(0 0 0 / 0.08);\n}\n.oui-bg-black\\/\\[0\\.15\\] {\n background-color: rgb(0 0 0 / 0.15);\n}\n.oui-bg-danger {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger\\/15 {\n background-color: rgb(var(--oui-color-danger) / 0.15);\n}\n.oui-bg-line {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.oui-bg-line-12 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-bg-line-6 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-contrast {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-contrast) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-light\\/15 {\n background-color: rgb(var(--oui-color-primary-light) / 0.15);\n}\n.oui-bg-primary\\/15 {\n background-color: rgb(var(--oui-color-primary) / 0.15);\n}\n.oui-bg-primary\\/\\[0\\.08\\] {\n background-color: rgb(var(--oui-color-primary) / 0.08);\n}\n.oui-bg-primary\\/\\[0\\.12\\] {\n background-color: rgb(var(--oui-color-primary) / 0.12);\n}\n.oui-bg-red-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success\\/15 {\n background-color: rgb(var(--oui-color-success) / 0.15);\n}\n.oui-bg-success\\/20 {\n background-color: rgb(var(--oui-color-success) / 0.2);\n}\n.oui-bg-success\\/\\[0\\.15\\] {\n background-color: rgb(var(--oui-color-success) / 0.15);\n}\n.oui-bg-trade-loss {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-trading-loss) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-trade-loss\\/10 {\n background-color: rgb(var(--oui-color-trading-loss) / 0.1);\n}\n.oui-bg-trade-loss\\/20 {\n background-color: rgb(var(--oui-color-trading-loss) / 0.2);\n}\n.oui-bg-trade-profit {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-trading-profit) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-trade-profit\\/10 {\n background-color: rgb(var(--oui-color-trading-profit) / 0.1);\n}\n.oui-bg-trade-profit\\/20 {\n background-color: rgb(var(--oui-color-trading-profit) / 0.2);\n}\n.oui-bg-transparent {\n background-color: transparent;\n}\n.oui-bg-warning-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-warning-darken\\/10 {\n background-color: rgb(var(--oui-color-warning-darken) / 0.1);\n}\n.oui-bg-warning-darken\\/15 {\n background-color: rgb(var(--oui-color-warning-darken) / 0.15);\n}\n.oui-bg-warning-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-white\\/30 {\n background-color: rgb(255 255 255 / 0.3);\n}\n.oui-bg-white\\/80 {\n background-color: rgb(255 255 255 / 0.8);\n}\n.oui-bg-white\\/\\[\\.06\\] {\n background-color: rgb(255 255 255 / .06);\n}\n.oui-bg-white\\/\\[0\\.04\\] {\n background-color: rgb(255 255 255 / 0.04);\n}\n.oui-bg-white\\/\\[0\\.06\\] {\n background-color: rgb(255 255 255 / 0.06);\n}\n.oui-bg-white\\/\\[0\\.08\\] {\n background-color: rgb(255 255 255 / 0.08);\n}\n.oui-bg-white\\/\\[0\\.12\\] {\n background-color: rgb(255 255 255 / 0.12);\n}\n.oui-bg-white\\/\\[0\\.16\\] {\n background-color: rgb(255 255 255 / 0.16);\n}\n.oui-bg-white\\/\\[0\\.2\\] {\n background-color: rgb(255 255 255 / 0.2);\n}\n.oui-bg-white\\/\\[0\\.54\\] {\n background-color: rgb(255 255 255 / 0.54);\n}\n.oui-bg-white\\/\\[0\\.8\\] {\n background-color: rgb(255 255 255 / 0.8);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#27FDFE_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#27FDFE 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#283BEE_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,\\#A53411_100\\%\\)\\] {\n background-image: linear-gradient(15deg,#283BEE -11%,transparent 30%,transparent 77%,#A53411 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#335FFC_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#335FFC 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#7400D0_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,\\#009A7E_100\\%\\)\\] {\n background-image: linear-gradient(15deg,#7400D0 -11%,transparent 30%,transparent 77%,#009A7E 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#D25F00_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#D25F00 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,\\#59B0FE_0\\%\\,\\#26FEFE_100\\%\\)\\] {\n background-image: linear-gradient(270deg,#59B0FE 0%,#26FEFE 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgb\\(var\\(--oui-gradient-brand-end\\)\\)_0\\%\\,rgb\\(var\\(--oui-gradient-brand-start\\)\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgb(var(--oui-gradient-brand-end)) 0%,rgb(var(--oui-gradient-brand-start)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgb\\(var\\(--oui-gradient-brand-start\\)\\)_0\\%\\,rgb\\(var\\(--oui-gradient-brand-end\\)\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgb(var(--oui-gradient-brand-start)) 0%,rgb(var(--oui-gradient-brand-end)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(241\\,215\\,121\\,0\\.0225\\)_-2\\.05\\%\\,rgba\\(255\\,203\\,70\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(241,215,121,0.0225) -2.05%,rgba(255,203,70,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(255\\,233\\,157\\,0\\.0225\\)_-1\\.3\\%\\,rgba\\(160\\,101\\,46\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(255,233,157,0.0225) -1.3%,rgba(160,101,46,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(255\\,255\\,255\\,0\\.0225\\)_-2\\.05\\%\\,rgba\\(199\\,199\\,199\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(255,255,255,0.0225) -2.05%,rgba(199,199,199,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(89\\,176\\,254\\,0\\.10\\)_0\\%\\,rgba\\(38\\,254\\,254\\,0\\.10\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(89,176,254,0.10) 0%,rgba(38,254,254,0.10) 100%);\n}\n.oui-bg-\\[linear-gradient\\(90deg\\,rgba\\(var\\(--oui-color-base-9\\)_\\/_0\\)_0\\%\\,rgba\\(var\\(--oui-color-base-9\\)_\\/_1\\)_100\\%\\)\\] {\n background-image: linear-gradient(90deg,rgba(var(--oui-color-base-9) / 0) 0%,rgba(var(--oui-color-base-9) / 1) 100%);\n}\n.oui-bg-gradient-to-b {\n background-image: linear-gradient(to bottom, var(--tw-gradient-stops));\n}\n.oui-bg-gradient-to-r {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.oui-bg-gradient-to-t {\n background-image: linear-gradient(to top, var(--tw-gradient-stops));\n}\n.oui-bg-gradient-to-tr {\n background-image: linear-gradient(to top right, var(--tw-gradient-stops));\n}\n.oui-from-\\[\\#26292E\\] {\n --tw-gradient-from: #26292E var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(38 41 46 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#26fefe\\] {\n --tw-gradient-from: #26fefe var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(38 254 254 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#2d0061\\] {\n --tw-gradient-from: #2d0061 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(45 0 97 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#59b0fe\\] {\n --tw-gradient-from: #59b0fe var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(89 176 254 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#791438\\] {\n --tw-gradient-from: #791438 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(121 20 56 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#792e00\\] {\n --tw-gradient-from: #792e00 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(121 46 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#FF7B00\\] {\n --tw-gradient-from: #FF7B00 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(255 123 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-from: rgb(var(--oui-gradient-brand-start)) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(var(--oui-gradient-brand-start) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgb\\(var\\(--oui-gradient-brand-start\\)_\\/_0\\.12\\)\\] {\n --tw-gradient-from: rgb(var(--oui-gradient-brand-start) / 0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(var(--oui-gradient-brand-start) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\/0\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-brand-end)/0) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-brand-start)) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-brand-start), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-primary-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-primary-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-primary-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-secondary-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-secondary-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-secondary-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-success-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-success-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-success-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[-20\\%\\] {\n --tw-gradient-from-position: -20%;\n}\n.oui-via-\\[\\#ff7d00\\] {\n --tw-gradient-to: rgb(255 125 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), #ff7d00 var(--tw-gradient-via-position), var(--tw-gradient-to);\n}\n.oui-to-\\[\\#1B1D22\\] {\n --tw-gradient-to: #1B1D22 var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#26fefe\\] {\n --tw-gradient-to: #26fefe var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#FFEA00\\] {\n --tw-gradient-to: #FFEA00 var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#bd6bed\\] {\n --tw-gradient-to: #bd6bed var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#d92d6b\\] {\n --tw-gradient-to: #d92d6b var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#ff447c\\] {\n --tw-gradient-to: #ff447c var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#ffb65d\\] {\n --tw-gradient-to: #ffb65d var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-brand-end\\)\\)\\] {\n --tw-gradient-to: rgb(var(--oui-gradient-brand-end)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-brand-end\\)_\\/_0\\.12\\)\\] {\n --tw-gradient-to: rgb(var(--oui-gradient-brand-end) / 0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\/0\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end)/0) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-start)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-primary-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-primary-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-secondary-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-secondary-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-success-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-success-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[40\\%\\] {\n --tw-gradient-to-position: 40%;\n}\n.oui-bg-contain {\n background-size: contain;\n}\n.oui-bg-cover {\n background-size: cover;\n}\n.oui-bg-clip-padding {\n background-clip: padding-box;\n}\n.oui-bg-clip-text {\n -webkit-background-clip: text;\n background-clip: text;\n}\n.oui-bg-center {\n background-position: center;\n}\n.oui-bg-no-repeat {\n background-repeat: no-repeat;\n}\n.\\!oui-fill-base-6 {\n fill: rgb(var(--oui-color-base-6) / 1) !important;\n}\n.oui-fill-\\[rgba\\(255\\,255\\,255\\,0\\.36\\)\\] {\n fill: rgba(255,255,255,0.36);\n}\n.oui-fill-base-4 {\n fill: rgb(var(--oui-color-base-4) / 1);\n}\n.oui-fill-base-5 {\n fill: rgb(var(--oui-color-base-5) / 1);\n}\n.oui-fill-base-6 {\n fill: rgb(var(--oui-color-base-6) / 1);\n}\n.oui-fill-base-8 {\n fill: rgb(var(--oui-color-base-8) / 1);\n}\n.oui-fill-base-contrast-20 {\n fill: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-fill-base-contrast-36 {\n fill: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-fill-base-contrast-54 {\n fill: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-fill-current {\n fill: currentColor;\n}\n.oui-fill-danger {\n fill: rgb(var(--oui-color-danger) / 1);\n}\n.oui-fill-danger-light {\n fill: rgb(var(--oui-color-danger-light) / 1);\n}\n.oui-fill-primary-contrast\\/50 {\n fill: rgb(var(--oui-color-primary-contrast) / 0.5);\n}\n.oui-fill-primary-darken {\n fill: rgb(var(--oui-color-primary-darken) / 1);\n}\n.oui-fill-primary-light {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.oui-fill-success {\n fill: rgb(var(--oui-color-success) / 1);\n}\n.oui-fill-success-light {\n fill: rgb(var(--oui-color-success-light) / 1);\n}\n.oui-fill-transparent {\n fill: transparent;\n}\n.oui-fill-warning-darken {\n fill: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-fill-warning-light {\n fill: rgb(var(--oui-color-warning-light) / 1);\n}\n.oui-fill-white {\n fill: #fff;\n}\n.oui-fill-white\\/\\[\\.36\\] {\n fill: rgb(255 255 255 / .36);\n}\n.oui-fill-white\\/\\[\\.54\\] {\n fill: rgb(255 255 255 / .54);\n}\n.oui-fill-white\\/\\[\\.98\\] {\n fill: rgb(255 255 255 / .98);\n}\n.oui-object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\n.oui-object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n}\n.oui-object-fill {\n -o-object-fit: fill;\n object-fit: fill;\n}\n.\\!oui-p-0 {\n padding: 0px !important;\n}\n.\\!oui-p-1 {\n padding: 0.25rem !important;\n}\n.\\!oui-p-3 {\n padding: 0.75rem !important;\n}\n.\\!oui-p-4 {\n padding: 1rem !important;\n}\n.oui-p-0 {\n padding: 0px;\n}\n.oui-p-0\\.5 {\n padding: 0.125rem;\n}\n.oui-p-1 {\n padding: 0.25rem;\n}\n.oui-p-1\\.5 {\n padding: 0.375rem;\n}\n.oui-p-10 {\n padding: 2.5rem;\n}\n.oui-p-2 {\n padding: 0.5rem;\n}\n.oui-p-3 {\n padding: 0.75rem;\n}\n.oui-p-4 {\n padding: 1rem;\n}\n.oui-p-5 {\n padding: 1.25rem;\n}\n.oui-p-6 {\n padding: 1.5rem;\n}\n.oui-p-7 {\n padding: 1.75rem;\n}\n.oui-p-8 {\n padding: 2rem;\n}\n.oui-p-9 {\n padding: 2.25rem;\n}\n.oui-p-\\[1px\\] {\n padding: 1px;\n}\n.oui-p-\\[2px\\] {\n padding: 2px;\n}\n.oui-p-\\[7px\\] {\n padding: 7px;\n}\n.\\!oui-px-0 {\n padding-left: 0px !important;\n padding-right: 0px !important;\n}\n.\\!oui-px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n.\\!oui-py-\\[2px\\] {\n padding-top: 2px !important;\n padding-bottom: 2px !important;\n}\n.oui-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.oui-px-0\\.5 {\n padding-left: 0.125rem;\n padding-right: 0.125rem;\n}\n.oui-px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.oui-px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n.oui-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.oui-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.oui-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n.oui-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.oui-px-7 {\n padding-left: 1.75rem;\n padding-right: 1.75rem;\n}\n.oui-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n.oui-px-9 {\n padding-left: 2.25rem;\n padding-right: 2.25rem;\n}\n.oui-px-\\[10\\%\\] {\n padding-left: 10%;\n padding-right: 10%;\n}\n.oui-px-\\[14px\\] {\n padding-left: 14px;\n padding-right: 14px;\n}\n.oui-px-\\[1px\\] {\n padding-left: 1px;\n padding-right: 1px;\n}\n.oui-px-\\[20px\\] {\n padding-left: 20px;\n padding-right: 20px;\n}\n.oui-px-\\[2px\\] {\n padding-left: 2px;\n padding-right: 2px;\n}\n.oui-px-\\[40px\\] {\n padding-left: 40px;\n padding-right: 40px;\n}\n.oui-px-\\[5px\\] {\n padding-left: 5px;\n padding-right: 5px;\n}\n.oui-px-\\[6px\\] {\n padding-left: 6px;\n padding-right: 6px;\n}\n.oui-px-\\[7px\\] {\n padding-left: 7px;\n padding-right: 7px;\n}\n.oui-px-px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.oui-py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n.oui-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.oui-py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.oui-py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n}\n.oui-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n.oui-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.oui-py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n.oui-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.oui-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.oui-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n.oui-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n.oui-py-7 {\n padding-top: 1.75rem;\n padding-bottom: 1.75rem;\n}\n.oui-py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n.oui-py-9 {\n padding-top: 2.25rem;\n padding-bottom: 2.25rem;\n}\n.oui-py-\\[10px\\] {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n.oui-py-\\[11px\\] {\n padding-top: 11px;\n padding-bottom: 11px;\n}\n.oui-py-\\[13px\\] {\n padding-top: 13px;\n padding-bottom: 13px;\n}\n.oui-py-\\[2px\\] {\n padding-top: 2px;\n padding-bottom: 2px;\n}\n.oui-py-\\[3px\\] {\n padding-top: 3px;\n padding-bottom: 3px;\n}\n.oui-py-\\[5px\\] {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n.oui-py-\\[6px\\] {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n.\\!oui-pb-0 {\n padding-bottom: 0px !important;\n}\n.\\!oui-pl-5 {\n padding-left: 1.25rem !important;\n}\n.\\!oui-pr-0 {\n padding-right: 0px !important;\n}\n.\\!oui-pr-5 {\n padding-right: 1.25rem !important;\n}\n.\\!oui-pt-0 {\n padding-top: 0px !important;\n}\n.\\!oui-pt-3 {\n padding-top: 0.75rem !important;\n}\n.\\!oui-pt-8 {\n padding-top: 2rem !important;\n}\n.oui-pb-0 {\n padding-bottom: 0px;\n}\n.oui-pb-1 {\n padding-bottom: 0.25rem;\n}\n.oui-pb-10 {\n padding-bottom: 2.5rem;\n}\n.oui-pb-2 {\n padding-bottom: 0.5rem;\n}\n.oui-pb-3 {\n padding-bottom: 0.75rem;\n}\n.oui-pb-4 {\n padding-bottom: 1rem;\n}\n.oui-pb-5 {\n padding-bottom: 1.25rem;\n}\n.oui-pb-6 {\n padding-bottom: 1.5rem;\n}\n.oui-pb-7 {\n padding-bottom: 1.75rem;\n}\n.oui-pb-8 {\n padding-bottom: 2rem;\n}\n.oui-pb-9 {\n padding-bottom: 2.25rem;\n}\n.oui-pb-\\[5px\\] {\n padding-bottom: 5px;\n}\n.oui-pb-\\[calc\\(env\\(safe-area-inset-bottom\\)\\)\\] {\n padding-bottom: calc(env(safe-area-inset-bottom));\n}\n.oui-pb-\\[env\\(safe-area-inset-bottom\\)\\] {\n padding-bottom: env(safe-area-inset-bottom);\n}\n.oui-pb-\\[env\\(safe-area-inset-bottom\\,_20px\\)\\] {\n padding-bottom: env(safe-area-inset-bottom, 20px);\n}\n.oui-pl-0 {\n padding-left: 0px;\n}\n.oui-pl-0\\.5 {\n padding-left: 0.125rem;\n}\n.oui-pl-1 {\n padding-left: 0.25rem;\n}\n.oui-pl-10 {\n padding-left: 2.5rem;\n}\n.oui-pl-2 {\n padding-left: 0.5rem;\n}\n.oui-pl-2\\.5 {\n padding-left: 0.625rem;\n}\n.oui-pl-3 {\n padding-left: 0.75rem;\n}\n.oui-pl-4 {\n padding-left: 1rem;\n}\n.oui-pl-5 {\n padding-left: 1.25rem;\n}\n.oui-pl-6 {\n padding-left: 1.5rem;\n}\n.oui-pl-7 {\n padding-left: 1.75rem;\n}\n.oui-pl-8 {\n padding-left: 2rem;\n}\n.oui-pl-9 {\n padding-left: 2.25rem;\n}\n.oui-pr-0 {\n padding-right: 0px;\n}\n.oui-pr-1 {\n padding-right: 0.25rem;\n}\n.oui-pr-1\\.5 {\n padding-right: 0.375rem;\n}\n.oui-pr-10 {\n padding-right: 2.5rem;\n}\n.oui-pr-12 {\n padding-right: 3rem;\n}\n.oui-pr-2 {\n padding-right: 0.5rem;\n}\n.oui-pr-2\\.5 {\n padding-right: 0.625rem;\n}\n.oui-pr-3 {\n padding-right: 0.75rem;\n}\n.oui-pr-4 {\n padding-right: 1rem;\n}\n.oui-pr-5 {\n padding-right: 1.25rem;\n}\n.oui-pr-6 {\n padding-right: 1.5rem;\n}\n.oui-pr-7 {\n padding-right: 1.75rem;\n}\n.oui-pr-8 {\n padding-right: 2rem;\n}\n.oui-pr-9 {\n padding-right: 2.25rem;\n}\n.oui-pr-\\[-4px\\] {\n padding-right: -4px;\n}\n.oui-pr-\\[5px\\] {\n padding-right: 5px;\n}\n.oui-pr-\\[6px\\] {\n padding-right: 6px;\n}\n.oui-pt-0 {\n padding-top: 0px;\n}\n.oui-pt-1 {\n padding-top: 0.25rem;\n}\n.oui-pt-10 {\n padding-top: 2.5rem;\n}\n.oui-pt-2 {\n padding-top: 0.5rem;\n}\n.oui-pt-3 {\n padding-top: 0.75rem;\n}\n.oui-pt-4 {\n padding-top: 1rem;\n}\n.oui-pt-5 {\n padding-top: 1.25rem;\n}\n.oui-pt-6 {\n padding-top: 1.5rem;\n}\n.oui-pt-7 {\n padding-top: 1.75rem;\n}\n.oui-pt-8 {\n padding-top: 2rem;\n}\n.oui-pt-9 {\n padding-top: 2.25rem;\n}\n.oui-pt-\\[2px\\] {\n padding-top: 2px;\n}\n.oui-pt-\\[6px\\] {\n padding-top: 6px;\n}\n.oui-text-left {\n text-align: left;\n}\n.oui-text-center {\n text-align: center;\n}\n.oui-text-right {\n text-align: right;\n}\n.oui-text-end {\n text-align: end;\n}\n.\\!oui-text-\\[10px\\] {\n font-size: 10px !important;\n}\n.oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n}\n.oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n}\n.oui-text-3xs {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.oui-text-4xl {\n font-size: var(--oui-font-size-4xl, 1.875rem);\n line-height: 2.375rem;\n}\n.oui-text-5xl {\n font-size: var(--oui-font-size-5xl, 2.25rem);\n line-height: 2.75rem;\n}\n.oui-text-6xl {\n font-size: var(--oui-font-size-6xl, 3rem);\n line-height: 3rem;\n}\n.oui-text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n}\n.oui-text-\\[10px\\] {\n font-size: 10px;\n}\n.oui-text-\\[11px\\] {\n font-size: 11px;\n}\n.oui-text-\\[14px\\] {\n font-size: 14px;\n}\n.oui-text-\\[16px\\] {\n font-size: 16px;\n}\n.oui-text-\\[18px\\] {\n font-size: 18px;\n}\n.oui-text-\\[20px\\] {\n font-size: 20px;\n}\n.oui-text-\\[24px\\] {\n font-size: 24px;\n}\n.oui-text-\\[28px\\] {\n font-size: 28px;\n}\n.oui-text-\\[32px\\] {\n font-size: 32px;\n}\n.oui-text-\\[36px\\] {\n font-size: 36px;\n}\n.oui-text-\\[48px\\] {\n font-size: 48px;\n}\n.oui-text-\\[56px\\] {\n font-size: 56px;\n}\n.oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n}\n.oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n}\n.oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.oui-font-bold {\n font-weight: 700;\n}\n.oui-font-medium {\n font-weight: 500;\n}\n.oui-font-normal {\n font-weight: 400;\n}\n.oui-font-semibold {\n font-weight: 600;\n}\n.oui-tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n.oui-leading-10 {\n line-height: 2.5rem;\n}\n.oui-leading-3 {\n line-height: .75rem;\n}\n.oui-leading-4 {\n line-height: 1rem;\n}\n.oui-leading-\\[0px\\] {\n line-height: 0px;\n}\n.oui-leading-\\[1\\.5\\] {\n line-height: 1.5;\n}\n.oui-leading-\\[10px\\] {\n line-height: 10px;\n}\n.oui-leading-\\[14px\\] {\n line-height: 14px;\n}\n.oui-leading-\\[15px\\] {\n line-height: 15px;\n}\n.oui-leading-\\[16px\\] {\n line-height: 16px;\n}\n.oui-leading-\\[18px\\] {\n line-height: 18px;\n}\n.oui-leading-\\[20px\\] {\n line-height: 20px;\n}\n.oui-leading-\\[24px\\] {\n line-height: 24px;\n}\n.oui-leading-\\[26px\\] {\n line-height: 26px;\n}\n.oui-leading-\\[28px\\] {\n line-height: 28px;\n}\n.oui-leading-\\[32px\\] {\n line-height: 32px;\n}\n.oui-leading-\\[36px\\] {\n line-height: 36px;\n}\n.oui-leading-\\[40px\\] {\n line-height: 40px;\n}\n.oui-leading-\\[44px\\] {\n line-height: 44px;\n}\n.oui-leading-\\[56px\\] {\n line-height: 56px;\n}\n.oui-leading-none {\n line-height: 1;\n}\n.oui-leading-normal {\n line-height: 1.5;\n}\n.oui-leading-relaxed {\n line-height: 1.625;\n}\n.oui-tracking-tight {\n letter-spacing: -0.025em;\n}\n.oui-tracking-widest {\n letter-spacing: 0.1em;\n}\n.oui-text-\\[\\#63666D\\] {\n --tw-text-opacity: 1;\n color: rgb(99 102 109 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#D25f00\\] {\n --tw-text-opacity: 1;\n color: rgb(210 95 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#FF7D00\\] {\n --tw-text-opacity: 1;\n color: rgb(255 125 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-text-\\[rgba\\(0\\,0\\,0\\,\\.88\\)\\] {\n color: rgba(0,0,0,.88);\n}\n.oui-text-\\[rgba\\(0\\,0\\,0\\,0\\.88\\)\\] {\n color: rgba(0,0,0,0.88);\n}\n.oui-text-\\[rgba\\(255\\,154\\,46\\,1\\)\\] {\n color: rgba(255,154,46,1);\n}\n.oui-text-base-1 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-1) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-5 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-5) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-6 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-6) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-8 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-8) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-contrast {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-text-base-contrast-12 {\n color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-text-base-contrast-36 {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-text-base-contrast-54 {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-text-base-contrast\\/30 {\n color: rgb(var(--oui-color-base-foreground) / 0.3);\n}\n.oui-text-base-contrast\\/40 {\n color: rgb(var(--oui-color-base-foreground) / 0.4);\n}\n.oui-text-base-contrast\\/60 {\n color: rgb(var(--oui-color-base-foreground) / 0.6);\n}\n.oui-text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-black\\/\\[\\.88\\] {\n color: rgb(0 0 0 / .88);\n}\n.oui-text-black\\/\\[0\\.2\\] {\n color: rgb(0 0 0 / 0.2);\n}\n.oui-text-black\\/\\[0\\.88\\] {\n color: rgb(0 0 0 / 0.88);\n}\n.oui-text-current {\n color: currentColor;\n}\n.oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-gray-200 {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.oui-text-gray-300 {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n}\n.oui-text-inherit {\n color: inherit;\n}\n.oui-text-primary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-light\\/60 {\n color: rgb(var(--oui-color-primary-light) / 0.6);\n}\n.oui-text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.oui-text-secondary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-secondary) / var(--tw-text-opacity, 1));\n}\n.oui-text-secondary\\/\\[0\\.36\\] {\n color: rgb(var(--oui-color-secondary) / 0.36);\n}\n.oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-tertiary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-tertiary) / var(--tw-text-opacity, 1));\n}\n.oui-text-trade-loss {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-trading-loss) / var(--tw-text-opacity, 1));\n}\n.oui-text-trade-profit {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-trading-profit) / var(--tw-text-opacity, 1));\n}\n.oui-text-transparent {\n color: transparent;\n}\n.oui-text-warning {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.oui-text-white\\/\\[\\.36\\] {\n color: rgb(255 255 255 / .36);\n}\n.oui-underline {\n text-decoration-line: underline;\n}\n.oui-no-underline {\n text-decoration-line: none;\n}\n.oui-decoration-base-contrast-36 {\n text-decoration-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-decoration-line-16 {\n text-decoration-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-decoration-warning-darken {\n text-decoration-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-decoration-white\\/20 {\n text-decoration-color: rgb(255 255 255 / 0.2);\n}\n.oui-decoration-dashed {\n text-decoration-style: dashed;\n}\n.oui-decoration-1 {\n text-decoration-thickness: 1px;\n}\n.oui-underline-offset-2 {\n text-underline-offset: 2px;\n}\n.oui-underline-offset-4 {\n text-underline-offset: 4px;\n}\n.oui-placeholder-base-contrast-20::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-placeholder-base-contrast-20::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-caret-\\[rgba\\(217\\,217\\,217\\,1\\)\\] {\n caret-color: rgba(217,217,217,1);\n}\n.oui-opacity-0 {\n opacity: 0;\n}\n.oui-opacity-100 {\n opacity: 1;\n}\n.oui-opacity-20 {\n opacity: 0.2;\n}\n.oui-opacity-30 {\n opacity: 0.3;\n}\n.oui-opacity-40 {\n opacity: 0.4;\n}\n.oui-opacity-50 {\n opacity: 0.5;\n}\n.oui-opacity-60 {\n opacity: 0.6;\n}\n.oui-opacity-70 {\n opacity: 0.7;\n}\n.oui-opacity-80 {\n opacity: 0.8;\n}\n.oui-opacity-\\[\\.12\\] {\n opacity: .12;\n}\n.oui-bg-blend-luminosity {\n background-blend-mode: luminosity;\n}\n.oui-mix-blend-screen {\n mix-blend-mode: screen;\n}\n.oui-mix-blend-luminosity {\n mix-blend-mode: luminosity;\n}\n.\\!oui-shadow-none {\n --tw-shadow: 0 0 #0000 !important;\n --tw-shadow-colored: 0 0 #0000 !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.oui-shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-\\[0_0_8px_4px_rgba\\(var\\(--oui-gradient-brand-start\\)\\/0\\.12\\)\\] {\n --tw-shadow: 0 0 8px 4px rgba(var(--oui-gradient-brand-start)/0.12);\n --tw-shadow-colored: 0 0 8px 4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-\\[0px_12px_20px_0px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\] {\n --tw-shadow: 0px 12px 20px 0px rgba(0,0,0,0.25);\n --tw-shadow-colored: 0px 12px 20px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-inner {\n --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-none {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-base-9 {\n --tw-shadow-color: rgb(var(--oui-color-base-9) / 1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.oui-outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.oui-outline {\n outline-style: solid;\n}\n.oui-outline-1 {\n outline-width: 1px;\n}\n.oui-outline-2 {\n outline-width: 2px;\n}\n.oui-outline-offset-0 {\n outline-offset: 0px;\n}\n.oui-outline-base-1 {\n outline-color: rgb(var(--oui-color-base-1) / 1);\n}\n.oui-outline-base-8 {\n outline-color: rgb(var(--oui-color-base-8) / 1);\n}\n.oui-outline-base-contrast-12 {\n outline-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.oui-outline-danger-light {\n outline-color: rgb(var(--oui-color-danger-light) / 1);\n}\n.oui-outline-line-12 {\n outline-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-outline-primary-darken {\n outline-color: rgb(var(--oui-color-primary-darken) / 1);\n}\n.oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n}\n.oui-outline-transparent {\n outline-color: transparent;\n}\n.oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-outline-warning-light {\n outline-color: rgb(var(--oui-color-warning-light) / 1);\n}\n.oui-ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.oui-blur-\\[200px\\] {\n --tw-blur: blur(200px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.oui-drop-shadow {\n --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.oui-backdrop-blur-\\[10px\\] {\n --tw-backdrop-blur: blur(10px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.oui-backdrop-blur-\\[200px\\] {\n --tw-backdrop-blur: blur(200px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.oui-backdrop-blur-\\[2px\\] {\n --tw-backdrop-blur: blur(2px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.\\!oui-transition-none {\n transition-property: none !important;\n}\n.oui-transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-\\[height\\] {\n transition-property: height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-\\[max-height\\] {\n transition-property: max-height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-duration-150 {\n transition-duration: 150ms;\n}\n.oui-duration-200 {\n transition-duration: 200ms;\n}\n.oui-duration-300 {\n transition-duration: 300ms;\n}\n.oui-ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.oui-gradient-primary {\n background-image: linear-gradient(var(--oui-gradient-primary-angle, 28.29deg), rgb(var(--oui-gradient-primary-start)) var(--oui-gradient-primary-stop-start,0%), rgb(var(--oui-gradient-primary-end)) var(--oui-gradient-primary-stop-end,100%));\n}\n.oui-gradient-secondary {\n background-image: linear-gradient(var(--oui-gradient-secondary-angle, 0deg), rgb(var(--oui-gradient-secondary-start)) var(--oui-gradient-secondary-stop-start,0%), rgb(var(--oui-gradient-secondary-end)) var(--oui-gradient-secondary-stop-end,100%));\n}\n.oui-gradient-success {\n background-image: linear-gradient(var(--oui-gradient-success-angle, 28.29deg), rgb(var(--oui-gradient-success-start)) var(--oui-gradient-success-stop-start,0%), rgba(var(--oui-gradient-success-end)) var(--oui-gradient-success-stop-end,100%));\n}\n.oui-gradient-warning {\n background-image: linear-gradient(var(--oui-gradient-warning-angle, 28.29deg),rgb(var(--oui-gradient-warning-start)) var(--oui-gradient-warning-stop-start,0%), rgb(var(--oui-gradient-warning-end)) var(--oui-gradient-warning-stop-end,100%));\n}\n.oui-gradient-danger {\n background-image: linear-gradient(var(--oui-gradient-danger-angle, 28.29deg), rgb(var(--oui-gradient-danger-start)) var(--oui-gradient-danger-stop-start,0%), rgb(var(--oui-gradient-danger-end)) var(--oui-gradient-danger-stop-end,100%));\n}\n.oui-gradient-neutral {\n background-image: linear-gradient(var(--oui-gradient-neutral-angle, 28.29deg), rgb(var(--oui-gradient-neutral-start)) var(--oui-gradient-neutral-stop-start,0%), rgb(var(--oui-gradient-neutral-end)) var(--oui-gradient-neutral-stop-end,100%));\n}\n.oui-gradient-brand {\n background-image: linear-gradient(var(--oui-gradient-brand-angle, 17.44deg), rgb(var(--oui-gradient-brand-start)) var(--oui-gradient-brand-stop-start,0%), rgb(var(--oui-gradient-brand-end)) var(--oui-gradient-brand-stop-end,100%));\n}\n@keyframes enter {\n\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n.oui-animate-in {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.oui-fade-in {\n --tw-enter-opacity: 0;\n}\n.oui-fade-in-0 {\n --tw-enter-opacity: 0;\n}\n.oui-fade-out {\n --tw-exit-opacity: 0;\n}\n.oui-zoom-in-95 {\n --tw-enter-scale: .95;\n}\n.oui-slide-in-from-bottom-2 {\n --tw-enter-translate-y: 0.5rem;\n}\n.oui-slide-in-from-top-2 {\n --tw-enter-translate-y: -0.5rem;\n}\n.oui-duration-150 {\n animation-duration: 150ms;\n}\n.oui-duration-200 {\n animation-duration: 200ms;\n}\n.oui-duration-300 {\n animation-duration: 300ms;\n}\n.oui-ease-in-out {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.marker\\:oui-text-3xs *::marker {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.marker\\:oui-text-3xs::marker {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-xs::-moz-placeholder {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-xs::placeholder {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-base-contrast-20::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.placeholder\\:oui-text-base-contrast-20::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.placeholder\\:oui-text-base-contrast-54::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.placeholder\\:oui-text-base-contrast-54::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.before\\:oui-absolute::before {\n content: var(--tw-content);\n position: absolute;\n}\n.before\\:oui-left-\\[-32px\\]::before {\n content: var(--tw-content);\n left: -32px;\n}\n.before\\:oui-right-\\[-32px\\]::before {\n content: var(--tw-content);\n right: -32px;\n}\n.before\\:oui-top-0::before {\n content: var(--tw-content);\n top: 0px;\n}\n.before\\:oui-z-\\[-1\\]::before {\n content: var(--tw-content);\n z-index: -1;\n}\n.before\\:oui-block::before {\n content: var(--tw-content);\n display: block;\n}\n.before\\:oui-h-full::before {\n content: var(--tw-content);\n height: 100%;\n}\n.before\\:oui-w-\\[32px\\]::before {\n content: var(--tw-content);\n width: 32px;\n}\n.before\\:oui-rotate-180::before {\n content: var(--tw-content);\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.before\\:oui-bg-\\[linear-gradient\\(90deg\\2c rgba\\(var\\(--oui-color-base-10\\)_\\/_0\\.80\\)_0\\%\\2c rgba\\(var\\(--oui-color-base-10\\)_\\/_0\\.36\\)_65\\%\\2c rgba\\(var\\(--oui-color-base-10\\)_\\/_0\\.00\\)_100\\%\\)\\]::before {\n content: var(--tw-content);\n background-image: linear-gradient(90deg,rgba(var(--oui-color-base-10) / 0.80) 0%,rgba(var(--oui-color-base-10) / 0.36) 65%,rgba(var(--oui-color-base-10) / 0.00) 100%);\n}\n.after\\:oui-absolute::after {\n content: var(--tw-content);\n position: absolute;\n}\n.after\\:oui-bottom-\\[-8px\\]::after {\n content: var(--tw-content);\n bottom: -8px;\n}\n.after\\:oui-left-0::after {\n content: var(--tw-content);\n left: 0px;\n}\n.after\\:oui-left-1\\/2::after {\n content: var(--tw-content);\n left: 50%;\n}\n.after\\:oui-right-0::after {\n content: var(--tw-content);\n right: 0px;\n}\n.after\\:oui-top-0::after {\n content: var(--tw-content);\n top: 0px;\n}\n.after\\:oui-top-\\[2px\\]::after {\n content: var(--tw-content);\n top: 2px;\n}\n.after\\:oui-z-\\[-1\\]::after {\n content: var(--tw-content);\n z-index: -1;\n}\n.after\\:oui-block::after {\n content: var(--tw-content);\n display: block;\n}\n.after\\:oui-size-full::after {\n content: var(--tw-content);\n width: 100%;\n height: 100%;\n}\n.after\\:\\!oui-h-\\[2px\\]::after {\n content: var(--tw-content);\n height: 2px !important;\n}\n.after\\:oui-h-0::after {\n content: var(--tw-content);\n height: 0px;\n}\n.after\\:oui-h-\\[2px\\]::after {\n content: var(--tw-content);\n height: 2px;\n}\n.after\\:oui-h-\\[30px\\]::after {\n content: var(--tw-content);\n height: 30px;\n}\n.after\\:oui-h-\\[40px\\]::after {\n content: var(--tw-content);\n height: 40px;\n}\n.after\\:oui-h-\\[48px\\]::after {\n content: var(--tw-content);\n height: 48px;\n}\n.after\\:\\!oui-w-\\[2px\\]::after {\n content: var(--tw-content);\n width: 2px !important;\n}\n.after\\:oui-w-0::after {\n content: var(--tw-content);\n width: 0px;\n}\n.after\\:oui-w-\\[10px\\]::after {\n content: var(--tw-content);\n width: 10px;\n}\n.after\\:oui-w-full::after {\n content: var(--tw-content);\n width: 100%;\n}\n.after\\:oui-translate-x-\\[-50\\%\\]::after {\n content: var(--tw-content);\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.after\\:oui-rounded-l-lg::after {\n content: var(--tw-content);\n border-top-left-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-left-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.after\\:oui-rounded-r-lg::after {\n content: var(--tw-content);\n border-top-right-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.after\\:oui-border-4::after {\n content: var(--tw-content);\n border-width: 4px;\n}\n.after\\:oui-border-y::after {\n content: var(--tw-content);\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n.after\\:oui-border-b::after {\n content: var(--tw-content);\n border-bottom-width: 1px;\n}\n.after\\:oui-border-l::after {\n content: var(--tw-content);\n border-left-width: 1px;\n}\n.after\\:oui-border-r::after {\n content: var(--tw-content);\n border-right-width: 1px;\n}\n.after\\:oui-border-solid::after {\n content: var(--tw-content);\n border-style: solid;\n}\n.after\\:oui-border-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\]::after {\n content: var(--tw-content);\n border-color: rgb(var(--oui-gradient-brand-start));\n}\n.after\\:oui-border-line::after {\n content: var(--tw-content);\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.after\\:oui-border-transparent::after {\n content: var(--tw-content);\n border-color: transparent;\n}\n.after\\:oui-border-t-danger::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n}\n.after\\:oui-border-t-inherit::after {\n content: var(--tw-content);\n border-top-color: inherit;\n}\n.after\\:oui-border-t-primary::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-primary) / var(--tw-border-opacity, 1));\n}\n.after\\:oui-border-t-primary-light::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.after\\:oui-border-t-success::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-success) / var(--tw-border-opacity, 1));\n}\n.after\\:\\!oui-bg-transparent::after {\n content: var(--tw-content);\n background-color: transparent !important;\n}\n.after\\:oui-bg-white\\/50::after {\n content: var(--tw-content);\n background-color: rgb(255 255 255 / 0.5);\n}\n.after\\:\\!oui-shadow-transparent::after {\n content: var(--tw-content);\n --tw-shadow-color: transparent !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.after\\:oui-content-\\[\\'\\'\\]::after {\n --tw-content: '';\n content: var(--tw-content);\n}\n.autofill\\:oui-bg-transparent:-webkit-autofill {\n background-color: transparent;\n}\n.autofill\\:oui-bg-transparent:autofill {\n background-color: transparent;\n}\n.focus-within\\:oui-relative:focus-within {\n position: relative;\n}\n.focus-within\\:oui-z-20:focus-within {\n z-index: 20;\n}\n.focus-within\\:oui-border-danger-light:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.focus-within\\:oui-border-warning-light:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.focus-within\\:oui-outline-0:focus-within {\n outline-width: 0px;\n}\n.focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.focus-within\\:oui-outline-danger-light:focus-within {\n outline-color: rgb(var(--oui-color-danger-light) / 1);\n}\n.focus-within\\:oui-outline-line-12:focus-within {\n outline-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.focus-within\\:oui-outline-primary-darken:focus-within {\n outline-color: rgb(var(--oui-color-primary-darken) / 1);\n}\n.focus-within\\:oui-outline-primary-light:focus-within {\n outline-color: rgb(var(--oui-color-primary-light) / 1);\n}\n.focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n}\n.focus-within\\:oui-outline-transparent:focus-within {\n outline-color: transparent;\n}\n.focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.focus-within\\:oui-outline-warning-light:focus-within {\n outline-color: rgb(var(--oui-color-warning-light) / 1);\n}\n.hover\\:oui-cursor-pointer:hover {\n cursor: pointer;\n}\n.hover\\:oui-rounded:hover {\n border-radius: var(--oui-rounded, 0.25rem);\n}\n.hover\\:oui-rounded-md:hover {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.hover\\:oui-border-base-contrast:hover {\n border-color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.hover\\:oui-border-base-contrast-16:hover {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.hover\\:oui-border-primary-light:hover {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.hover\\:\\!oui-bg-primary-light:hover {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1)) !important;\n}\n.hover\\:oui-bg-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\]\\/\\[0\\.08\\]:hover {\n background-color: rgb(var(--oui-gradient-brand-start) / 0.08);\n}\n.hover\\:oui-bg-base-2\\/10:hover {\n background-color: rgb(var(--oui-color-base-2) / 0.1);\n}\n.hover\\:oui-bg-base-2\\/50:hover {\n background-color: rgb(var(--oui-color-base-2) / 0.5);\n}\n.hover\\:oui-bg-base-2\\/80:hover {\n background-color: rgb(var(--oui-color-base-2) / 0.8);\n}\n.hover\\:oui-bg-base-3:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-4:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-4\\/20:hover {\n background-color: rgb(var(--oui-color-base-4) / 0.2);\n}\n.hover\\:oui-bg-base-4\\/80:hover {\n background-color: rgb(var(--oui-color-base-4) / 0.8);\n}\n.hover\\:oui-bg-base-5:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-6:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-7:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-8:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-danger-darken\\/80:hover {\n background-color: rgb(var(--oui-color-danger-darken) / 0.8);\n}\n.hover\\:oui-bg-danger\\/10:hover {\n background-color: rgb(var(--oui-color-danger) / 0.1);\n}\n.hover\\:oui-bg-danger\\/20:hover {\n background-color: rgb(var(--oui-color-danger) / 0.2);\n}\n.hover\\:oui-bg-danger\\/80:hover {\n background-color: rgb(var(--oui-color-danger) / 0.8);\n}\n.hover\\:oui-bg-primary-darken:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-primary-darken\\/10:hover {\n background-color: rgb(var(--oui-color-primary-darken) / 0.1);\n}\n.hover\\:oui-bg-primary-darken\\/20:hover {\n background-color: rgb(var(--oui-color-primary-darken) / 0.2);\n}\n.hover\\:oui-bg-primary-darken\\/80:hover {\n background-color: rgb(var(--oui-color-primary-darken) / 0.8);\n}\n.hover\\:oui-bg-primary-light\\/20:hover {\n background-color: rgb(var(--oui-color-primary-light) / 0.2);\n}\n.hover\\:oui-bg-success-darken\\/80:hover {\n background-color: rgb(var(--oui-color-success-darken) / 0.8);\n}\n.hover\\:oui-bg-success\\/10:hover {\n background-color: rgb(var(--oui-color-success) / 0.1);\n}\n.hover\\:oui-bg-success\\/20:hover {\n background-color: rgb(var(--oui-color-success) / 0.2);\n}\n.hover\\:oui-bg-success\\/80:hover {\n background-color: rgb(var(--oui-color-success) / 0.8);\n}\n.hover\\:oui-bg-transparent:hover {\n background-color: transparent;\n}\n.hover\\:oui-bg-warning-darken\\/10:hover {\n background-color: rgb(var(--oui-color-warning-darken) / 0.1);\n}\n.hover\\:oui-bg-warning-darken\\/20:hover {\n background-color: rgb(var(--oui-color-warning-darken) / 0.2);\n}\n.hover\\:oui-bg-warning-darken\\/80:hover {\n background-color: rgb(var(--oui-color-warning-darken) / 0.8);\n}\n.hover\\:oui-bg-white\\/80:hover {\n background-color: rgb(255 255 255 / 0.8);\n}\n.hover\\:oui-fill-base-contrast:hover {\n fill: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.hover\\:oui-fill-base-contrast-80:hover {\n fill: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.hover\\:oui-fill-primary-darken:hover {\n fill: rgb(var(--oui-color-primary-darken) / 1);\n}\n.hover\\:oui-fill-primary-light:hover {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.hover\\:oui-fill-white\\/80:hover {\n fill: rgb(255 255 255 / 0.8);\n}\n.hover\\:oui-fill-white\\/\\[\\.98\\]:hover {\n fill: rgb(255 255 255 / .98);\n}\n.hover\\:oui-text-\\[rgba\\(255\\2c 154\\2c 46\\2c 1\\)\\]:hover {\n color: rgba(255,154,46,1);\n}\n.hover\\:oui-text-base-contrast:hover {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.hover\\:oui-text-base-contrast-54:hover {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.hover\\:oui-text-base-contrast-80:hover {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.hover\\:oui-text-primary-darken:hover {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-darken) / var(--tw-text-opacity, 1));\n}\n.hover\\:oui-text-secondary\\/80:hover {\n color: rgb(var(--oui-color-secondary) / 0.8);\n}\n.hover\\:oui-text-warning-darken:hover {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n}\n.hover\\:oui-text-white\\/80:hover {\n color: rgb(255 255 255 / 0.8);\n}\n.hover\\:oui-opacity-100:hover {\n opacity: 1;\n}\n.hover\\:oui-opacity-80:hover {\n opacity: 0.8;\n}\n.hover\\:\\!oui-shadow-\\[0px_0px_4px_0px\\]:hover {\n --tw-shadow: 0px 0px 4px 0px !important;\n --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.hover\\:\\!oui-shadow-primary-light\\/80:hover {\n --tw-shadow-color: rgb(var(--oui-color-primary-light) / 0.8) !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.focus\\:oui-h-4:focus {\n height: 1rem;\n}\n.focus\\:oui-h-\\[14px\\]:focus {\n height: 14px;\n}\n.focus\\:oui-w-4:focus {\n width: 1rem;\n}\n.focus\\:oui-w-\\[14px\\]:focus {\n width: 14px;\n}\n.focus\\:oui-border-2:focus {\n border-width: 2px;\n}\n.focus\\:oui-border-\\[3px\\]:focus {\n border-width: 3px;\n}\n.focus\\:oui-border-danger-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.focus\\:oui-border-primary-darken:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-darken) / var(--tw-border-opacity, 1));\n}\n.focus\\:oui-border-primary-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.focus\\:oui-border-warning-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.focus\\:\\!oui-bg-primary-light:focus {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1)) !important;\n}\n.focus\\:\\!oui-shadow-\\[0px_0px_4px_0px\\]:focus {\n --tw-shadow: 0px 0px 4px 0px !important;\n --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.focus\\:oui-shadow-\\[0_0_0_8px\\]:focus {\n --tw-shadow: 0 0 0 8px;\n --tw-shadow-colored: 0 0 0 8px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.focus\\:\\!oui-shadow-primary-light\\/80:focus {\n --tw-shadow-color: rgb(var(--oui-color-primary-light) / 0.8) !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.focus\\:oui-shadow-base-contrast\\/20:focus {\n --tw-shadow-color: rgb(var(--oui-color-base-foreground) / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.focus\\:oui-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus\\:oui-ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:oui-ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n}\n.focus\\:oui-ring-transparent:focus {\n --tw-ring-color: transparent;\n}\n.focus\\:oui-ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n.focus-visible\\:oui-outline-none:focus-visible {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus-visible\\:oui-outline-danger:focus-visible {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.focus-visible\\:oui-ring-1:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:oui-ring-2:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:oui-ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n.active\\:\\!oui-bg-primary-light:active {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1)) !important;\n}\n.active\\:oui-bg-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\]\\/\\[0\\.08\\]:active {\n background-color: rgb(var(--oui-gradient-brand-start) / 0.08);\n}\n.active\\:oui-bg-base-2\\/70:active {\n background-color: rgb(var(--oui-color-base-2) / 0.7);\n}\n.active\\:oui-bg-base-4\\/70:active {\n background-color: rgb(var(--oui-color-base-4) / 0.7);\n}\n.active\\:oui-bg-base-6:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.active\\:oui-bg-danger-darken\\/80:active {\n background-color: rgb(var(--oui-color-danger-darken) / 0.8);\n}\n.active\\:oui-bg-danger\\/70:active {\n background-color: rgb(var(--oui-color-danger) / 0.7);\n}\n.active\\:oui-bg-primary-darken\\/70:active {\n background-color: rgb(var(--oui-color-primary-darken) / 0.7);\n}\n.active\\:oui-bg-success-darken\\/80:active {\n background-color: rgb(var(--oui-color-success-darken) / 0.8);\n}\n.active\\:oui-bg-success\\/70:active {\n background-color: rgb(var(--oui-color-success) / 0.7);\n}\n.active\\:oui-bg-warning-darken\\/70:active {\n background-color: rgb(var(--oui-color-warning-darken) / 0.7);\n}\n.active\\:oui-bg-white\\/50:active {\n background-color: rgb(255 255 255 / 0.5);\n}\n.active\\:\\!oui-shadow-\\[0px_0px_4px_0px\\]:active {\n --tw-shadow: 0px 0px 4px 0px !important;\n --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.active\\:\\!oui-shadow-primary-light\\/80:active {\n --tw-shadow-color: rgb(var(--oui-color-primary-light) / 0.8) !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.active\\:oui-outline-none:active {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.disabled\\:oui-pointer-events-none:disabled {\n pointer-events: none;\n}\n.disabled\\:oui-cursor-default:disabled {\n cursor: default;\n}\n.disabled\\:oui-cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n.disabled\\:oui-border-base-contrast-16:disabled {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.disabled\\:oui-bg-base-3:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.disabled\\:oui-bg-base-7:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.disabled\\:oui-bg-transparent:disabled {\n background-color: transparent;\n}\n.disabled\\:oui-bg-white\\/30:disabled {\n background-color: rgb(255 255 255 / 0.3);\n}\n.disabled\\:oui-text-base-contrast-20:disabled {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.disabled\\:oui-text-base-contrast-36:disabled {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.disabled\\:oui-text-black\\/\\[\\.36\\]:disabled {\n color: rgb(0 0 0 / .36);\n}\n.disabled\\:oui-opacity-30:disabled {\n opacity: 0.3;\n}\n.disabled\\:oui-opacity-50:disabled {\n opacity: 0.5;\n}\n.disabled\\:hover\\:oui-bg-base-3:hover:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.disabled\\:hover\\:oui-bg-transparent:hover:disabled {\n background-color: transparent;\n}\n.hover\\:disabled\\:oui-bg-white\\/30:disabled:hover {\n background-color: rgb(255 255 255 / 0.3);\n}\n.oui-group:first-child .group-first\\:oui-rounded-t-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-top-right-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-group:last-child .group-last\\:oui-rounded-b-xl {\n border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-group:hover .group-hover\\:oui-visible {\n visibility: visible;\n}\n.oui-group:hover .group-hover\\:oui-invisible {\n visibility: hidden;\n}\n.oui-group:hover .group-hover\\:oui-block {\n display: block;\n}\n.oui-group:hover .group-hover\\:oui-inline-flex {\n display: inline-flex;\n}\n.oui-group:hover .group-hover\\:-oui-translate-x-5 {\n --tw-translate-x: -1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group:hover .group-hover\\:oui-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group:hover .group-hover\\:oui-border-primary-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.oui-group:hover .group-hover\\:oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.oui-group:hover .group-hover\\:oui-bg-base-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-group:hover .group-hover\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-group:hover .group-hover\\:oui-bg-line-6 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-group:hover .group-hover\\:oui-bg-transparent {\n background-color: transparent;\n}\n.oui-group\\/icon:hover .group-hover\\/icon\\:oui-fill-primary-contrast {\n fill: rgb(var(--oui-color-primary-contrast) / 1);\n}\n.oui-group:hover .group-hover\\:oui-fill-base-contrast-80 {\n fill: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-group:hover .group-hover\\:oui-text-base-contrast {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-group:hover .group-hover\\:oui-text-base-contrast-54 {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-group:hover .group-hover\\:oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-group:hover .group-hover\\:oui-text-transparent {\n color: transparent;\n}\n.oui-group:hover .group-hover\\:oui-opacity-100 {\n opacity: 1;\n}\n.oui-group:hover .group-hover\\:oui-will-change-\\[max-height\\] {\n will-change: max-height;\n}\n.oui-group:focus .group-focus\\:oui-inline-block {\n display: inline-block;\n}\n.oui-peer:focus ~ .peer-focus\\:oui-visible {\n visibility: visible;\n}\n.has-\\[\\&\\>\\*\\:nth-child\\(1\\)\\]\\:oui-bg-red-400:has(.has-\\[\\&\\>\\*\\:nth-child\\(1\\)\\]\\:oui-bg-red-400>*:nth-child(1)) {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));\n}\n.has-\\[button\\]\\:oui-bg-red-50:has(button) {\n --tw-bg-opacity: 1;\n background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n.has-\\[\\&_\\+_div\\]\\:oui-pb-3:has(.has-\\[\\&_\\+_div\\]\\:oui-pb-3 + div) {\n padding-bottom: 0.75rem;\n}\n.aria-selected\\:oui-opacity-100[aria-selected=\"true\"] {\n opacity: 1;\n}\n.aria-selected\\:oui-opacity-30[aria-selected=\"true\"] {\n opacity: 0.3;\n}\n.data-\\[disabled\\]\\:oui-pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n.data-\\[disabled\\]\\:oui-hidden[data-disabled] {\n display: none;\n}\n.data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[state\\=checked\\]\\:oui-translate-x-\\[15px\\][data-state=\"checked\"] {\n --tw-translate-x: 15px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[state\\=unchecked\\]\\:oui-translate-x-\\[3px\\][data-state=\"unchecked\"] {\n --tw-translate-x: 3px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes oui-collapsible-up {\n\n from {\n height: var(--radix-collapsible-content-height);\n }\n\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:oui-animate-collapsible-up[data-state=\"closed\"] {\n animation: oui-collapsible-up 0.2s ease-out;\n}\n@keyframes oui-collapsible-down {\n\n from {\n height: 0;\n }\n\n to {\n height: var(--radix-collapsible-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:oui-animate-collapsible-down[data-state=\"open\"] {\n animation: oui-collapsible-down 0.2s ease-out;\n}\n.data-\\[state\\=checked\\]\\:oui-border-none[data-state=\"checked\"] {\n border-style: none;\n}\n.data-\\[disabled\\]\\:oui-border-base-2[data-disabled] {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-2) / var(--tw-border-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-border-base-contrast-20[data-state=\"checked\"] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.data-\\[active\\=true\\]\\:oui-bg-base-5[data-active=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.data-\\[disabled\\]\\:oui-bg-base-2[data-disabled] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-2) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:oui-bg-base-5[data-state=\"active\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-base-5[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-danger[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-primary-darken[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-success[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-transparent[data-state=\"checked\"] {\n background-color: transparent;\n}\n.data-\\[state\\=checked\\]\\:oui-bg-warning-darken[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-white\\/80[data-state=\"checked\"] {\n background-color: rgb(255 255 255 / 0.8);\n}\n.data-\\[state\\=open\\]\\:oui-bg-secondary[data-state=\"open\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-secondary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-base-1[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-1) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-danger[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-success[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-warning-darken[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:oui-text-base-contrast[data-state=\"active\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.data-\\[state\\=checked\\]\\:oui-text-\\[rgba\\(0\\2c 0\\2c 0\\2c 0\\.88\\)\\][data-state=\"checked\"] {\n color: rgba(0,0,0,0.88);\n}\n.data-\\[state\\=checked\\]\\:oui-text-base-contrast[data-state=\"checked\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.data-\\[state\\=checked\\]\\:oui-text-base-contrast-80[data-state=\"checked\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.data-\\[state\\=open\\]\\:oui-text-base-contrast-80[data-state=\"open\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.data-\\[disabled\\]\\:oui-opacity-50[data-disabled] {\n opacity: 0.5;\n}\n.data-\\[state\\=open\\]\\:oui-duration-300[data-state=\"open\"] {\n transition-duration: 300ms;\n}\n.data-\\[state\\=open\\]\\:oui-animate-in[data-state=\"open\"] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:oui-animate-out[data-state=\"closed\"] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:oui-fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=open\\]\\:oui-fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:oui-zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n}\n.data-\\[state\\=open\\]\\:oui-zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n}\n.data-\\[side\\=bottom\\]\\:oui-slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -0.5rem;\n}\n.data-\\[side\\=left\\]\\:oui-slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: 0.5rem;\n}\n.data-\\[side\\=right\\]\\:oui-slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -0.5rem;\n}\n.data-\\[side\\=top\\]\\:oui-slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: 0.5rem;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-bottom[data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-left[data-state=\"closed\"] {\n --tw-exit-translate-x: -100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-left-1\\/2[data-state=\"closed\"] {\n --tw-exit-translate-x: -50%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-right[data-state=\"closed\"] {\n --tw-exit-translate-x: 100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-top[data-state=\"closed\"] {\n --tw-exit-translate-y: -100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-top-\\[48\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-bottom[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-left[data-state=\"open\"] {\n --tw-enter-translate-x: -100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-left-1\\/2[data-state=\"open\"] {\n --tw-enter-translate-x: -50%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-right[data-state=\"open\"] {\n --tw-enter-translate-x: 100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-top[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-top-\\[48\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:oui-duration-300[data-state=\"open\"] {\n animation-duration: 300ms;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-absolute[data-state=\"active\"]::after {\n content: var(--tw-content);\n position: absolute;\n}\n.data-\\[state\\=active\\]\\:after\\:-oui-bottom-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n bottom: -0px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-left-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n left: 0px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-right-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n right: 0px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-block[data-state=\"active\"]::after {\n content: var(--tw-content);\n display: block;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-h-\\[3px\\][data-state=\"active\"]::after {\n content: var(--tw-content);\n height: 3px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-rounded-full[data-state=\"active\"]::after {\n content: var(--tw-content);\n border-radius: var(--oui-rounded-full, 9999px);\n}\n.data-\\[state\\=active\\]\\:after\\:oui-bg-white[data-state=\"active\"]::after {\n content: var(--tw-content);\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:after\\:oui-content-\\[\\'\\'\\][data-state=\"active\"]::after {\n --tw-content: '';\n content: var(--tw-content);\n}\n.data-\\[active\\=false\\]\\:hover\\:oui-bg-base-6:hover[data-active=\"false\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-group[data-active=\"true\"] .group-data-\\[active\\=true\\]\\:oui-visible {\n visibility: visible;\n}\n.oui-group[data-active=\"true\"] .group-data-\\[active\\=true\\]\\:oui-invisible {\n visibility: hidden;\n}\n.oui-group[data-state=\"active\"] .group-data-\\[state\\=active\\]\\:oui-block {\n display: block;\n}\n.oui-group\\/bar[data-state=\"closed\"] .group-data-\\[state\\=closed\\]\\/bar\\:oui-w-\\[42px\\] {\n width: 42px;\n}\n.oui-group[data-open=\"true\"] .group-data-\\[open\\=true\\]\\:oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group[data-state=\"closed\"] .group-data-\\[state\\=closed\\]\\:oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group[data-actived=\"true\"] .group-data-\\[actived\\=true\\]\\:oui-fill-\\[url\\(\\#side-menu-gradient\\)\\] {\n fill: url(#side-menu-gradient);\n}\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-fill-primary-light {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-font-semibold {\n font-weight: 600;\n}\n.oui-peer[data-state=\"closed\"] ~ .peer-data-\\[state\\=closed\\]\\:oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-peer[data-state=\"open\"] ~ .peer-data-\\[state\\=open\\]\\:oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-peer[data-disabled] ~ .peer-data-\\[disabled\\]\\:oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.dark\\:oui-text-gray-600:is(.oui-dark *) {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n@media (max-width: 400px) {\n\n .max-\\[400px\\]\\:oui-text-\\[15px\\] {\n font-size: 15px;\n }\n}\n@media (min-width: 375px) {\n\n .sm\\:oui-flex {\n display: flex;\n }\n\n .sm\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .sm\\:oui-max-w-sm {\n max-width: var(--oui-spacing-sm, 22.5rem);\n }\n\n .sm\\:oui-flex-row {\n flex-direction: row;\n }\n\n .sm\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .sm\\:oui-flex-col {\n flex-direction: column;\n }\n\n .sm\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .sm\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .sm\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .sm\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .sm\\:oui-items-start {\n align-items: flex-start;\n }\n\n .sm\\:oui-items-end {\n align-items: flex-end;\n }\n\n .sm\\:oui-items-center {\n align-items: center;\n }\n\n .sm\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .sm\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .sm\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .sm\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .sm\\:oui-justify-center {\n justify-content: center;\n }\n\n .sm\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .sm\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .sm\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .sm\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .sm\\:oui-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:oui-space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .sm\\:oui-rounded-xl {\n border-radius: var(--oui-rounded-xl, 0.75rem);\n }\n}\n@media (min-width: 480px) {\n\n .md\\:oui-bottom-10 {\n bottom: 2.5rem;\n }\n\n .md\\:oui-left-auto {\n left: auto;\n }\n\n .md\\:oui-right-3 {\n right: 0.75rem;\n }\n\n .md\\:oui-right-4 {\n right: 1rem;\n }\n\n .md\\:oui-top-1\\/2 {\n top: 50%;\n }\n\n .md\\:oui-m-3 {\n margin: 0.75rem;\n }\n\n .md\\:oui-mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n }\n\n .md\\:oui-mt-3 {\n margin-top: 0.75rem;\n }\n\n .md\\:oui-mt-5 {\n margin-top: 1.25rem;\n }\n\n .md\\:oui-block {\n display: block;\n }\n\n .md\\:oui-flex {\n display: flex;\n }\n\n .md\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .md\\:oui-hidden {\n display: none;\n }\n\n .md\\:oui-size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n\n .md\\:oui-h-10 {\n height: 2.5rem;\n }\n\n .md\\:oui-h-12 {\n height: 3rem;\n }\n\n .md\\:oui-h-3 {\n height: 0.75rem;\n }\n\n .md\\:oui-h-4 {\n height: 1rem;\n }\n\n .md\\:oui-h-5 {\n height: 1.25rem;\n }\n\n .md\\:oui-h-6 {\n height: 1.5rem;\n }\n\n .md\\:oui-h-7 {\n height: 1.75rem;\n }\n\n .md\\:oui-h-8 {\n height: 2rem;\n }\n\n .md\\:oui-h-\\[14px\\] {\n height: 14px;\n }\n\n .md\\:oui-h-\\[24px\\] {\n height: 24px;\n }\n\n .md\\:oui-h-\\[46px\\] {\n height: 46px;\n }\n\n .md\\:oui-h-\\[48px\\] {\n height: 48px;\n }\n\n .md\\:oui-h-\\[52px\\] {\n height: 52px;\n }\n\n .md\\:oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .md\\:oui-w-3 {\n width: 0.75rem;\n }\n\n .md\\:oui-w-4 {\n width: 1rem;\n }\n\n .md\\:oui-w-5 {\n width: 1.25rem;\n }\n\n .md\\:oui-w-6 {\n width: 1.5rem;\n }\n\n .md\\:oui-w-\\[14px\\] {\n width: 14px;\n }\n\n .md\\:oui-w-\\[24px\\] {\n width: 24px;\n }\n\n .md\\:oui-w-\\[300px\\] {\n width: 300px;\n }\n\n .md\\:oui-w-\\[420px\\] {\n width: 420px;\n }\n\n .md\\:oui-w-auto {\n width: auto;\n }\n\n .md\\:oui-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n\n .md\\:oui-w-full {\n width: 100%;\n }\n\n .md\\:oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .md\\:oui-flex-shrink {\n flex-shrink: 1;\n }\n\n .md\\:oui-translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:oui-cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .md\\:oui-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n\n .md\\:oui-flex-row {\n flex-direction: row;\n }\n\n .md\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .md\\:oui-flex-col {\n flex-direction: column;\n }\n\n .md\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .md\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .md\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .md\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .md\\:oui-items-start {\n align-items: flex-start;\n }\n\n .md\\:oui-items-end {\n align-items: flex-end;\n }\n\n .md\\:oui-items-center {\n align-items: center;\n }\n\n .md\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .md\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .md\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .md\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .md\\:oui-justify-center {\n justify-content: center;\n }\n\n .md\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .md\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .md\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .md\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .md\\:oui-gap-4 {\n gap: 1rem;\n }\n\n .md\\:oui-gap-5 {\n gap: 1.25rem;\n }\n\n .md\\:oui-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n }\n\n .md\\:oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n }\n\n .md\\:oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n }\n\n .md\\:oui-rounded-none {\n border-radius: 0;\n }\n\n .md\\:oui-border {\n border-width: 1px;\n }\n\n .md\\:oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n }\n\n .md\\:oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n }\n\n .md\\:oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n }\n\n .md\\:oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n }\n\n .md\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n }\n\n .md\\:oui-p-10 {\n padding: 2.5rem;\n }\n\n .md\\:oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .md\\:oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .md\\:oui-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n\n .md\\:oui-pb-\\[14px\\] {\n padding-bottom: 14px;\n }\n\n .md\\:oui-pl-0 {\n padding-left: 0px;\n }\n\n .md\\:oui-pl-2 {\n padding-left: 0.5rem;\n }\n\n .md\\:oui-pl-3 {\n padding-left: 0.75rem;\n }\n\n .md\\:oui-pl-4 {\n padding-left: 1rem;\n }\n\n .md\\:oui-pr-0 {\n padding-right: 0px;\n }\n\n .md\\:oui-pr-2 {\n padding-right: 0.5rem;\n }\n\n .md\\:oui-pr-3 {\n padding-right: 0.75rem;\n }\n\n .md\\:oui-pr-\\[60px\\] {\n padding-right: 60px;\n }\n\n .md\\:oui-pt-3 {\n padding-top: 0.75rem;\n }\n\n .md\\:oui-text-left {\n text-align: left;\n }\n\n .md\\:oui-text-center {\n text-align: center;\n }\n\n .md\\:oui-text-right {\n text-align: right;\n }\n\n .md\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .md\\:oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n }\n\n .md\\:oui-text-\\[20px\\] {\n font-size: 20px;\n }\n\n .md\\:oui-text-\\[48px\\] {\n font-size: 48px;\n }\n\n .md\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .md\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n }\n\n .md\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .md\\:oui-leading-\\[28px\\] {\n line-height: 28px;\n }\n\n .md\\:oui-leading-\\[56px\\] {\n line-height: 56px;\n }\n\n .md\\:oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n }\n\n .md\\:oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n }\n\n .md\\:oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .md\\:oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .md\\:oui-outline-transparent {\n outline-color: transparent;\n }\n\n .md\\:oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .md\\:placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:after\\:oui-h-\\[48px\\]::after {\n content: var(--tw-content);\n height: 48px;\n }\n\n .md\\:focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .md\\:focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .md\\:focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .md\\:focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n }\n\n .md\\:data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n}\n@media (min-width: 768px) {\n\n .lg\\:oui-bottom-\\[-24px\\] {\n bottom: -24px;\n }\n\n .lg\\:oui-top-\\[-24px\\] {\n top: -24px;\n }\n\n .lg\\:oui-mb-8 {\n margin-bottom: 2rem;\n }\n\n .lg\\:oui-flex {\n display: flex;\n }\n\n .lg\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .lg\\:oui-size-5 {\n width: 1.25rem;\n height: 1.25rem;\n }\n\n .lg\\:oui-size-\\[20px\\] {\n width: 20px;\n height: 20px;\n }\n\n .lg\\:\\!oui-h-\\[700px\\] {\n height: 700px !important;\n }\n\n .lg\\:oui-h-10 {\n height: 2.5rem;\n }\n\n .lg\\:oui-h-12 {\n height: 3rem;\n }\n\n .lg\\:oui-h-3 {\n height: 0.75rem;\n }\n\n .lg\\:oui-h-4 {\n height: 1rem;\n }\n\n .lg\\:oui-h-5 {\n height: 1.25rem;\n }\n\n .lg\\:oui-h-6 {\n height: 1.5rem;\n }\n\n .lg\\:oui-h-7 {\n height: 1.75rem;\n }\n\n .lg\\:oui-h-8 {\n height: 2rem;\n }\n\n .lg\\:oui-h-\\[28px\\] {\n height: 28px;\n }\n\n .lg\\:oui-h-\\[64px\\] {\n height: 64px;\n }\n\n .lg\\:oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .lg\\:oui-min-h-\\[46px\\] {\n min-height: 46px;\n }\n\n .lg\\:oui-w-3 {\n width: 0.75rem;\n }\n\n .lg\\:oui-w-4 {\n width: 1rem;\n }\n\n .lg\\:oui-w-5 {\n width: 1.25rem;\n }\n\n .lg\\:oui-w-6 {\n width: 1.5rem;\n }\n\n .lg\\:oui-w-7 {\n width: 1.75rem;\n }\n\n .lg\\:oui-w-\\[154px\\] {\n width: 154px;\n }\n\n .lg\\:oui-w-\\[184px\\] {\n width: 184px;\n }\n\n .lg\\:oui-w-\\[28px\\] {\n width: 28px;\n }\n\n .lg\\:oui-w-\\[360px\\] {\n width: 360px;\n }\n\n .lg\\:oui-w-\\[64px\\] {\n width: 64px;\n }\n\n .lg\\:oui-w-\\[calc\\(\\(100\\%_-_8px\\)\\/3\\)\\] {\n width: calc((100% - 8px) / 3);\n }\n\n .lg\\:oui-w-auto {\n width: auto;\n }\n\n .lg\\:oui-w-full {\n width: 100%;\n }\n\n .lg\\:oui-min-w-\\[184px\\] {\n min-width: 184px;\n }\n\n .lg\\:oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .lg\\:oui-max-w-\\[640px\\] {\n max-width: 640px;\n }\n\n .lg\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .lg\\:-oui-rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:oui-cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .lg\\:oui-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .lg\\:oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n\n .lg\\:oui-flex-row {\n flex-direction: row;\n }\n\n .lg\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .lg\\:oui-flex-col {\n flex-direction: column;\n }\n\n .lg\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .lg\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .lg\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .lg\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .lg\\:oui-items-start {\n align-items: flex-start;\n }\n\n .lg\\:oui-items-end {\n align-items: flex-end;\n }\n\n .lg\\:oui-items-center {\n align-items: center;\n }\n\n .lg\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .lg\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .lg\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .lg\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .lg\\:oui-justify-center {\n justify-content: center;\n }\n\n .lg\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .lg\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .lg\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .lg\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .lg\\:oui-gap-3 {\n gap: 0.75rem;\n }\n\n .lg\\:oui-gap-4 {\n gap: 1rem;\n }\n\n .lg\\:oui-gap-\\[6px\\] {\n gap: 6px;\n }\n\n .lg\\:oui-gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n }\n\n .lg\\:oui-gap-x-\\[6px\\] {\n -moz-column-gap: 6px;\n column-gap: 6px;\n }\n\n .lg\\:oui-gap-y-2 {\n row-gap: 0.5rem;\n }\n\n .lg\\:oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n }\n\n .lg\\:oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n }\n\n .lg\\:oui-border {\n border-width: 1px;\n }\n\n .lg\\:oui-border-b {\n border-bottom-width: 1px;\n }\n\n .lg\\:oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n }\n\n .lg\\:oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n }\n\n .lg\\:oui-border-b-white\\/\\[0\\.12\\] {\n border-bottom-color: rgb(255 255 255 / 0.12);\n }\n\n .lg\\:oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n }\n\n .lg\\:oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n }\n\n .lg\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n }\n\n .lg\\:oui-p-5 {\n padding: 1.25rem;\n }\n\n .lg\\:oui-p-6 {\n padding: 1.5rem;\n }\n\n .lg\\:oui-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .lg\\:oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .lg\\:oui-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .lg\\:oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .lg\\:oui-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .lg\\:oui-pb-2 {\n padding-bottom: 0.5rem;\n }\n\n .lg\\:oui-pl-0 {\n padding-left: 0px;\n }\n\n .lg\\:oui-pl-3 {\n padding-left: 0.75rem;\n }\n\n .lg\\:oui-pr-0 {\n padding-right: 0px;\n }\n\n .lg\\:oui-pr-3 {\n padding-right: 0.75rem;\n }\n\n .lg\\:oui-pt-0 {\n padding-top: 0px;\n }\n\n .lg\\:oui-pt-3 {\n padding-top: 0.75rem;\n }\n\n .lg\\:oui-pt-4 {\n padding-top: 1rem;\n }\n\n .lg\\:oui-text-left {\n text-align: left;\n }\n\n .lg\\:oui-text-center {\n text-align: center;\n }\n\n .lg\\:oui-text-right {\n text-align: right;\n }\n\n .lg\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .lg\\:oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:oui-text-4xl {\n font-size: var(--oui-font-size-4xl, 1.875rem);\n line-height: 2.375rem;\n }\n\n .lg\\:oui-text-\\[16px\\] {\n font-size: 16px;\n }\n\n .lg\\:oui-text-\\[24px\\] {\n font-size: 24px;\n }\n\n .lg\\:oui-text-\\[48px\\] {\n font-size: 48px;\n }\n\n .lg\\:oui-text-\\[56px\\] {\n font-size: 56px;\n }\n\n .lg\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .lg\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n }\n\n .lg\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .lg\\:oui-leading-\\[24px\\] {\n line-height: 24px;\n }\n\n .lg\\:oui-leading-\\[32px\\] {\n line-height: 32px;\n }\n\n .lg\\:oui-leading-\\[56px\\] {\n line-height: 56px;\n }\n\n .lg\\:oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n }\n\n .lg\\:oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .lg\\:oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .lg\\:oui-outline-transparent {\n outline-color: transparent;\n }\n\n .lg\\:oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .lg\\:placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .lg\\:focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .lg\\:focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .lg\\:focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n }\n\n .lg\\:data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n}\n@media (min-width: 1024px) {\n\n .xl\\:oui-flex {\n display: flex;\n }\n\n .xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .xl\\:oui-grid {\n display: grid;\n }\n\n .xl\\:oui-size-\\[24px\\] {\n width: 24px;\n height: 24px;\n }\n\n .xl\\:oui-size-\\[90px\\] {\n width: 90px;\n height: 90px;\n }\n\n .xl\\:oui-h-4 {\n height: 1rem;\n }\n\n .xl\\:oui-h-8 {\n height: 2rem;\n }\n\n .xl\\:oui-w-4 {\n width: 1rem;\n }\n\n .xl\\:oui-w-8 {\n width: 2rem;\n }\n\n .xl\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .xl\\:oui-items-center {\n align-items: center;\n }\n\n .xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .xl\\:oui-gap-\\[36px\\] {\n gap: 36px;\n }\n\n .xl\\:oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n }\n\n .xl\\:oui-space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n }\n\n .xl\\:oui-p-3 {\n padding: 0.75rem;\n }\n\n .xl\\:oui-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .xl\\:oui-pt-2 {\n padding-top: 0.5rem;\n }\n\n .xl\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .xl\\:oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n }\n\n .xl\\:oui-text-5xl {\n font-size: var(--oui-font-size-5xl, 2.25rem);\n line-height: 2.75rem;\n }\n\n .xl\\:oui-text-\\[32px\\] {\n font-size: 32px;\n }\n\n .xl\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .xl\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .xl\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .xl\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .xl\\:oui-leading-\\[24px\\] {\n line-height: 24px;\n }\n\n .min-\\[1024px\\]\\:oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n@media (min-width: 1280px) {\n\n .\\32xl\\:oui-flex {\n display: flex;\n }\n\n .\\32xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\32xl\\:oui-size-auto {\n width: auto;\n height: auto;\n }\n\n .\\32xl\\:oui-h-\\[196px\\] {\n height: 196px;\n }\n\n .\\32xl\\:oui-h-\\[80px\\] {\n height: 80px;\n }\n\n .\\32xl\\:oui-h-full {\n height: 100%;\n }\n\n .\\32xl\\:oui-max-h-\\[230px\\] {\n max-height: 230px;\n }\n\n .\\32xl\\:oui-w-\\[80px\\] {\n width: 80px;\n }\n\n .\\32xl\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .\\32xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\32xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\32xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\32xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\32xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\32xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\32xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\32xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\32xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\32xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\32xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\32xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\32xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\32xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\32xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\32xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\32xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\32xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\32xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .\\32xl\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .\\32xl\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .\\32xl\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .\\32xl\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n}\n@media (min-width: 1440px) {\n\n .\\33xl\\:oui-mb-0 {\n margin-bottom: 0px;\n }\n\n .\\33xl\\:oui-mt-4 {\n margin-top: 1rem;\n }\n\n .\\33xl\\:oui-flex {\n display: flex;\n }\n\n .\\33xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\33xl\\:oui-hidden {\n display: none;\n }\n\n .\\33xl\\:oui-max-h-\\[300px\\] {\n max-height: 300px;\n }\n\n .\\33xl\\:oui-w-1\\/3 {\n width: 33.333333%;\n }\n\n .\\33xl\\:oui-w-2\\/3 {\n width: 66.666667%;\n }\n\n .\\33xl\\:oui-flex-\\[0_0_calc\\(\\(100\\%_-_48px\\)_\\/_4\\)\\] {\n flex: 0 0 calc((100% - 48px) / 4);\n }\n\n .\\33xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\33xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\33xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\33xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\33xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\33xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\33xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\33xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\33xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\33xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\33xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\33xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\33xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\33xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\33xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\33xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\33xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\33xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\33xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .\\33xl\\:oui-gap-2 {\n gap: 0.5rem;\n }\n}\n@media (min-width: 1680px) {\n\n .\\34xl\\:oui-flex {\n display: flex;\n }\n\n .\\34xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\34xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\34xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\34xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\34xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\34xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\34xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\34xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\34xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\34xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\34xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\34xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\34xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\34xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\34xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\34xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\34xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\34xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\34xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\34xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n}\n@media (min-width: 1920px) {\n\n .\\35xl\\:oui-flex {\n display: flex;\n }\n\n .\\35xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\35xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\35xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\35xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\35xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\35xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\35xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\35xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\35xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\35xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\35xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\35xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\35xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\35xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\35xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\35xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\35xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\35xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\35xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\35xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n}\n.\\[\\&\\:has\\(\\>\\.oui-day-range-end\\)\\]\\:oui-rounded-r-md:has(>.oui-day-range-end) {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\>\\.oui-day-range-start\\)\\]\\:oui-rounded-l-md:has(>.oui-day-range-start) {\n border-top-left-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-left-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-md:has([aria-selected]) {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-bg-base-4:has([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-l-md:has([aria-selected]):first-child {\n border-top-left-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-left-radius: var(--oui-rounded-md, 0.375rem);\n}\n.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-r-md:has([aria-selected]):last-child {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\.day-outside\\)\\]\\:oui-bg-base-4\\/50:has([aria-selected].day-outside) {\n background-color: rgb(var(--oui-color-base-4) / 0.5);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\.day-range-end\\)\\]\\:oui-rounded-r-md:has([aria-selected].day-range-end) {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:oui-border-t>*:not(:first-child) {\n border-top-width: 1px;\n}\n.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:oui-border-line-12>*:not(:first-child) {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:oui-pt-1>*:not(:first-child) {\n padding-top: 0.25rem;\n}\n.\\[\\&\\>div\\]\\:oui-flex-1>div {\n flex: 1 1 0%;\n}\n.\\[\\&\\>div\\]\\:oui-text-2xs>div {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.\\[\\&\\>div\\]\\:oui-text-base-contrast-36>div {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.\\[\\&\\>span\\]\\:oui-line-clamp-1>span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n}\n.\\[\\&\\>td\\:first-child\\]\\:oui-pl-0>td:first-child {\n padding-left: 0px;\n}\n.\\[\\&\\>td\\:first-child\\]\\:oui-pl-3>td:first-child {\n padding-left: 0.75rem;\n}\n.\\[\\&\\>td\\:last-child\\]\\:oui-pr-0>td:last-child {\n padding-right: 0px;\n}\n.\\[\\&\\>td\\:last-child\\]\\:oui-pr-3>td:last-child {\n padding-right: 0.75rem;\n}\n.\\[\\&\\>th\\:first-child\\]\\:oui-pl-3>th:first-child {\n padding-left: 0.75rem;\n}\n.\\[\\&\\>th\\:last-child\\]\\:oui-pr-3>th:last-child {\n padding-right: 0.75rem;\n}\n.\\[\\&_img\\]\\:\\!oui-h-\\[18px\\] img {\n height: 18px !important;\n}\n.\\[\\&_p\\]\\:oui-text-base-contrast-36 p {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n","import { tv, type VariantProps } from \"tailwind-variants\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\n\nconst dotStatusVariants = tv({\n slots: {\n root: \"oui-flex oui-items-center oui-justify-center oui-gap-1\",\n dot: \"oui-flex-shrink-0 oui-rounded-full\",\n label: \"oui-text-2xs\",\n },\n variants: {\n color: {\n primary: {\n dot: \"oui-bg-primary-darken\",\n label: \"oui-text-primary-darken\",\n },\n warning: {\n dot: \"oui-bg-warning-darken\",\n label: \"oui-text-warning-darken\",\n },\n profit: {\n dot: \"oui-bg-profit-darken\",\n label: \"oui-text-profit-darken\",\n },\n loss: {\n dot: \"oui-bg-loss-darken\",\n label: \"oui-text-loss-darken\",\n },\n secondary: {\n dot: \"oui-bg-secondary-darken\",\n label: \"oui-text-secondary-darken\",\n },\n },\n size: {\n xs: {\n dot: \"oui-w-1 oui-h-1\",\n label: \"oui-text-2xs\",\n },\n sm: {\n dot: \"oui-w-2 oui-h-2\",\n label: \"oui-text-2xs\",\n },\n md: {\n dot: \"oui-w-3 oui-h-3\",\n label: \"oui-text-2xs\",\n },\n lg: {\n dot: \"oui-w-4 oui-h-4\",\n label: \"oui-text-2xs\",\n },\n },\n },\n defaultVariants: {\n color: \"primary\",\n size: \"xs\",\n },\n});\n\nconst DotStatus = (\n props: VariantProps<typeof dotStatusVariants> & {\n label?: string;\n classNames?: {\n root?: string;\n dot?: string;\n label?: string;\n };\n },\n) => {\n const { color, size, label, classNames } = props;\n const { root, dot, label: labelSlot } = dotStatusVariants({ color, size });\n if (!label) {\n return <Box r=\"full\" className={dot({ className: classNames?.dot })} />;\n }\n\n return (\n <Flex\n itemAlign={\"center\"}\n justify={\"center\"}\n gapX={1}\n className={root({ className: classNames?.root })}\n >\n <Box r=\"full\" className={dot({ className: classNames?.dot })} />\n\n <Text size=\"2xs\" className={labelSlot({ className: classNames?.label })}>\n {label}\n </Text>\n </Flex>\n );\n};\n\nDotStatus.displayName = \"DotStatus\";\nexport { DotStatus, dotStatusVariants };\n"]}
1
+ {"version":3,"sources":["../src/button/button.tsx","../src/helpers/parse-props.ts","../src/layout/shadow.tsx","../src/button/base.tsx","../src/flex/flex.tsx","../src/layout/gap.tsx","../src/utils/tv.ts","../src/box/box.tsx","../src/layout/decoration.ts","../src/layout/layout.tsx","../src/layout/position.tsx","../src/layout/visible.ts","../src/spinner/spinner.tsx","../src/button/throttledButton.tsx","../src/grid/grid.tsx","../src/grid/span.tsx","../src/grid/index.ts","../src/typography/formatted.tsx","../src/icon/baseIcon.tsx","../src/icon/combine.tsx","../src/icon/chainIcon.tsx","../src/avatar/avatar.tsx","../src/icon/tokenIcon.tsx","../src/icon/close.tsx","../src/icon/check.tsx","../src/icon/baseIconWithPath.tsx","../src/icon/chevronDown.tsx","../src/icon/chevronUp.tsx","../src/icon/caretUp.tsx","../src/icon/caretDown.tsx","../src/icon/caretLeft.tsx","../src/icon/caretRight.tsx","../src/icon/chevronLeft.tsx","../src/icon/chevronRight.tsx","../src/icon/calendarMinus.tsx","../src/icon/setting.tsx","../src/icon/closeSquareFill.tsx","../src/icon/closeCircleFill.tsx","../src/icon/checkCircleFill.tsx","../src/icon/checkSquareFill.tsx","../src/icon/checkSquareEmpty.tsx","../src/icon/plus.tsx","../src/icon/reduce.tsx","../src/icon/circleOutlined.tsx","../src/icon/squareOutlined.tsx","../src/icon/exclamationFill.tsx","../src/icon/questionFill.tsx","../src/icon/arrowLeftRight.tsx","../src/icon/arrowDownUp.tsx","../src/icon/arrowUpSquareFill.tsx","../src/icon/arrowDownSquareFill.tsx","../src/icon/arrowLeftRightSquareFill.tsx","../src/icon/arrowRightUpSquareFill.tsx","../src/icon/assetIcon.tsx","../src/icon/barChartIcon.tsx","../src/icon/battleIcon.tsx","../src/icon/battleActiveIcon.tsx","../src/icon/battleInactiveIcon.tsx","../src/icon/battleSolidActiveIcon.tsx","../src/icon/battleSolidInactiveIcon.tsx","../src/icon/feeTier.tsx","../src/icon/earnActiveIcon.tsx","../src/icon/earnInactiveIcon.tsx","../src/icon/edit.tsx","../src/icon/eye.tsx","../src/icon/share.tsx","../src/icon/eyeClose.tsx","../src/icon/refresh.tsx","../src/icon/orderly.tsx","../src/icon/esOrderly.tsx","../src/icon/infoCircle.tsx","../src/icon/walletIcon.tsx","../src/icon/calendar.tsx","../src/icon/copy.tsx","../src/icon/serverFill.tsx","../src/icon/sortingASCIcon.tsx","../src/icon/sortingDESCIcon.tsx","../src/icon/arrowShort.tsx","../src/icon/sortingIcon.tsx","../src/icon/traderMobileIcon.tsx","../src/icon/affiliateIcon.tsx","../src/icon/tradingRewardsIcon.tsx","../src/icon/portfolioActiveIcon.tsx","../src/icon/portfolioInactiveIcon.tsx","../src/icon/tradingActiveIcon.tsx","../src/icon/tradingIcon.tsx","../src/icon/tradingInactiveIcon.tsx","../src/icon/leaderboardActive.tsx","../src/icon/leaderboardInactive.tsx","../src/icon/marketsActiveIcon.tsx","../src/icon/marketsInactiveIcon.tsx","../src/icon/starChildChatActiveIcon.tsx","../src/icon/starChildChatInactiveIcon.tsx","../src/icon/closeRoundFill.tsx","../src/icon/selectedChoicesFill.tsx","../src/icon/popupUnion.tsx","../src/icon/spotIcon.tsx","../src/icon/perpsIcon.tsx","../src/icon/emptyData.tsx","../src/icon/vectorIcon.tsx","../src/icon/swapHoriz.tsx","../src/icon/peopleIcon.tsx","../src/icon/personIcon.tsx","../src/icon/settingFill.tsx","../src/icon/tradingLeftNavIcon.tsx","../src/icon/vaultsIcon.tsx","../src/icon/leftNavVaultsIcon.tsx","../src/icon/newsFill.tsx","../src/icon/bellIcon.tsx","../src/icon/woofiStakeIcon.tsx","../src/icon/earnIcon.tsx","../src/icon/referralSolidIcon.tsx","../src/icon/addCircle.tsx","../src/icon/index.ts","../src/typography/text.tsx","../src/typography/utils.ts","../src/typography/gradient.tsx","../src/typography/numType.tsx","../src/typography/numeral.tsx","../src/typography/statistic.tsx","../src/typography/index.ts","../src/input/extends/quantity.tsx","../src/input/input.tsx","../src/input/baseInput.tsx","../src/input/inputAdditional.tsx","../src/input/prefix.tsx","../src/input/suffix.tsx","../src/select/combine.tsx","../src/popover/popover.tsx","../src/scrollarea/scrollArea.tsx","../src/select/selectPrimitive.tsx","../src/select/select.tsx","../src/select/tokens.tsx","../src/select/withOptions.tsx","../src/select/index.ts","../src/input/input.tooltip.tsx","../src/tooltip/tooltip.tsx","../src/input/formatter/index.ts","../src/input/formatter/currency.ts","../src/input/formatter/number.ts","../src/input/formatter/regex.ts","../src/input/formatter/dp.ts","../src/input/formatter/range.ts","../src/input/formatter/identifier.ts","../src/input/formatter/decimalPoint.ts","../src/input/textField.tsx","../src/input/inputHelpText.tsx","../src/input/index.ts","../src/checkbox/checkbox.tsx","../src/switch/switch.tsx","../src/badge/badge.tsx","../src/logo/logo.tsx","../src/table/dataTable.tsx","../src/table/hooks/useInit.ts","../src/table/hooks/useScroll.ts","../src/table/hooks/useShowHeader.ts","../src/table/hooks/useShowPagination.ts","../src/table/hooks/useSort.ts","../src/table/hooks/useWrap.ts","../src/table/tableBody.tsx","../src/table/className.ts","../src/table/tableCell.tsx","../src/table/utils/getColumnPinningProps.ts","../src/table/tableHeader.tsx","../src/table/icons.tsx","../src/table/multiSortHeader.tsx","../src/table/hooks/useMultiSort.ts","../src/pagination/pagination.tsx","../src/locale/context.ts","../src/locale/provider.tsx","../src/locale/useLocale.ts","../src/locale/en.ts","../src/table/tablePagination.tsx","../src/table/tablePlaceholder.tsx","../src/plugin/registry.ts","../src/plugin/install.tsx","../src/plugin/slot.tsx","../src/plugin/notFound.tsx","../src/plugin/useBuilder.ts","../src/plugin/useExtensionBuilder.ts","../src/plugin/types.ts","../src/table/transform.ts","../src/table/dataFilter.tsx","../src/pickers/dateRangePicker.tsx","../src/pickers/date/calendar.tsx","../src/pickers/datepicker.tsx","../src/pickers/picker.tsx","../src/sheet/sheet.tsx","../src/modal/modalContext.tsx","../src/modal/utils.ts","../src/modal/modalHelper.tsx","../src/modal/useModal.tsx","../src/divider/divider.tsx","../src/sheet/simpleSheet.tsx","../src/modal/preset/sheet.tsx","../src/modal/preset/alert.tsx","../src/dialog/alertDialog.tsx","../src/dialog/dialog.tsx","../src/dialog/simpleDialogFooter.tsx","../src/dialog/simpleDialog.tsx","../src/hooks/useMediaQuery.ts","../src/hooks/useScreen.ts","../src/hooks/useObserverElement.ts","../src/hooks/useCanLinkDevice.ts","../src/hooks/useLongPress.ts","../src/modal/preset/dialog.tsx","../src/dialog/triggerDialog.tsx","../src/dialog/helper.tsx","../src/modal/preset/confirm.tsx","../src/modal/index.tsx","../src/sheet/helper.tsx","../src/sheet/actionSheet.tsx","../src/table/hooks/usePagination.ts","../src/table/emptyDataState.tsx","../src/table/features/index.ts","../src/table/features/csvExportService.ts","../src/table/features/download.ts","../src/tabs/tabsBase.tsx","../src/tabs/tabs.tsx","../src/provider/orderlyThemeContext.tsx","../src/scrollIndicator/scrollIndicator.tsx","../src/scrollIndicator/hooks/useDrag.ts","../src/scrollIndicator/hooks/useScroll.ts","../src/scrollIndicator/scrollButton.tsx","../src/card/cardBase.tsx","../src/card/card.tsx","../src/card/hoverCard.tsx","../src/pickers/index.ts","../src/slider/slider.tsx","../src/slider/utils.ts","../src/toast/Toaster.tsx","../src/icon/toasterIcons.tsx","../src/toast/index.ts","../src/toast/toastTile.tsx","../src/listView/listView.tsx","../src/listView/useEndReached.ts","../src/collapsible/collapsible.tsx","../src/collapsible/collapse/collapse.tsx","../src/collapsible/collapse/collapseContext.tsx","../src/collapsible/collapse/panel.tsx","../src/marquee/marquee.tsx","../src/dropdown/dropdown.tsx","../src/dropdown/menuItem.tsx","../src/provider/orderlyThemeProvider.tsx","../src/provider/componentProvider.tsx","../src/misc/either.tsx","../src/index.ts","../src/utils/string.ts","../src/utils/transition.ts","../src/tailwind.css","../src/status/dotStatus.tsx"],"names":["React","tv","Slot","jsx","Fragment","jsxs","useRef","Grid","useMemo","forwardRef","cnBase","Text","useState","useCallback","useEffect","value","SelectPrimitive","Input","SelectItem","Select","token","cn","commify","rest","SortingIcon","SortIndicator","ExtensionPositionEnum","props","DEFAULT_DATE_FORMAT","createContext","useContext","modal","show","args","hide","remove","setStates","updateArgs","buttons","query","actions","Dialog","items","option","useScroll","container","DatePicker","marks","range","toast","CollapsibleTrigger","CollapsibleContent","default"],"mappings":"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GAAG;AAAA,MACD,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,GAAG;AAAA,MACD,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACN;AAAA,IACA,IAAI;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,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","sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { parseAngleProps } from \"../helpers/parse-props\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { shadowVariants } from \"../layout/shadow\";\nimport { BaseButton, BaseButtonProps } from \"./base\";\n\nconst buttonVariants = tv(\n {\n base: [\n \"oui-button\",\n \"oui-inline-flex\",\n \"oui-items-center\",\n \"oui-justify-center\",\n \"oui-whitespace-nowrap\",\n \"oui-transition-colors\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-bg-base-3\",\n \"disabled:oui-text-base-contrast-36\",\n \"disabled:hover:oui-bg-base-3\",\n ],\n variants: {\n ...shadowVariants.variants,\n variant: {\n text: \"oui-bg-transparent\",\n outlined: \"oui-border\",\n contained: \"oui-text-white\",\n gradient: \"oui-gradient-brand oui-text-[rgba(0,0,0,0.88)]\",\n },\n size: {\n xs: [\"oui-px-2\", \"oui-rounded\", \"oui-h-6\", \"oui-text-2xs\"], //24px\n sm: [\"oui-px-3\", \"oui-rounded\", \"oui-h-7\", \"oui-text-2xs\"], //28px\n md: [\"oui-px-3\", \"oui-rounded-md\", \"oui-h-8\", \"oui-text-sm\"], //32px\n lg: [\"oui-px-3\", \"oui-rounded-md\", \"oui-h-10\", \"oui-text-base\"], //40px\n xl: [\"oui-px-4\", \"oui-rounded-lg\", \"oui-h-13\", \"oui-text-lg\"], //54px\n },\n color: {\n primary: [\n \"hover:oui-bg-primary-darken/80 active:oui-bg-primary-darken/70\",\n ],\n secondary: \"hover:oui-bg-base-4/80 active:oui-bg-base-4/70\",\n success: \"hover:oui-bg-success/80 active:oui-bg-success/70\",\n buy: \"hover:oui-bg-success/80 active:oui-bg-success/70\",\n danger: \"hover:oui-bg-danger/80 active:oui-bg-danger/70\",\n sell: \"hover:oui-bg-danger/80 active:oui-bg-danger/70\",\n warning:\n \"hover:oui-bg-warning-darken/80 active:oui-bg-warning-darken/70\",\n gray: \"hover:oui-bg-base-2/80 active:oui-bg-base-2/70\",\n light:\n \"hover:oui-bg-white/80 active:oui-bg-white/50 disable:oui-bg-white/20\",\n },\n fullWidth: {\n true: \"oui-w-full\",\n },\n // disabled: {\n // true: \"oui-bg-base-3 oui-text-base-contrast-36\",\n // },\n },\n compoundVariants: [\n // contained\n {\n variant: \"contained\",\n color: \"primary\",\n className: [\"oui-bg-primary-darken\", \"oui-text-primary-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"secondary\",\n className: [\"oui-bg-base-4\", \"oui-text-secondary-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"success\",\n className: [\"oui-bg-success\", \"oui-text-success-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"buy\",\n className: [\"oui-bg-trade-profit\", \"oui-text-success-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"warning\",\n className: [\"oui-bg-warning-darken\", \"oui-text-warning-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"danger\",\n className: [\"oui-bg-danger\", \"oui-text-danger-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"sell\",\n className: [\"oui-bg-trade-loss\", \"oui-text-danger-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"gray\",\n className: [\"oui-bg-base-2\", \"oui-text-base-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"light\",\n className: [\n \"oui-bg-white\",\n \"oui-text-black/[.88]\",\n \"disabled:oui-bg-white/30 hover:disabled:oui-bg-white/30 disabled:oui-text-black/[.36]\",\n ],\n },\n\n {\n variant: \"outlined\",\n color: \"primary\",\n className: [\n \"oui-border-primary-darken\",\n \"oui-text-primary-darken\",\n \"hover:oui-bg-primary-darken/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"secondary\",\n className: [\n \"oui-border-base-4\",\n \"oui-text-base-contrast-54\",\n \"hover:oui-bg-base-4/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"success\",\n className: [\n \"oui-border-success\",\n \"oui-text-success\",\n \"hover:oui-bg-success/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"warning\",\n className: [\n \"oui-border-warning-darken\",\n \"oui-text-warning-contrast\",\n \"hover:oui-bg-warning-darken/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"danger\",\n className: [\n \"oui-border-danger\",\n \"oui-text-danger\",\n \"hover:oui-bg-danger/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"gray\",\n className: [\"oui-border-base-2\", \"oui-text-base\"],\n },\n // outlined end\n // {\n // variant: \"outlined\",\n // color: \"darkGray\",\n // className: [\"oui-border-base-4\", \"oui-text-base\"],\n // },\n // text\n {\n variant: \"text\",\n color: \"primary\",\n className: [\"oui-text-primary-darken hover:oui-bg-primary-darken/10\"],\n },\n {\n variant: \"text\",\n color: \"success\",\n className: [\"oui-text-success hover:oui-bg-success/10\"],\n },\n {\n variant: \"text\",\n color: \"warning\",\n className: [\"oui-text-warning-contrast hover:oui-bg-warning-darken/10\"],\n },\n {\n variant: \"text\",\n color: \"danger\",\n className: [\"oui-text-danger hover:oui-bg-danger/10\"],\n },\n {\n variant: \"text\",\n color: \"gray\",\n className: [\"oui-text-base hover:oui-bg-base-2/10\"],\n },\n {\n variant: \"text\",\n color: \"secondary\",\n className: [\"oui-text-base-contrast-36 hover:oui-bg-base-2/10\"],\n },\n ],\n defaultVariants: {\n size: \"lg\",\n variant: \"contained\",\n color: \"primary\",\n // elevation: \"none\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n },\n);\n\ninterface ButtonProps\n extends Omit<BaseButtonProps, \"size\">,\n VariantProps<typeof buttonVariants> {\n angle?: number;\n \"data-testid\"?: string;\n}\n\nconst Button = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps>\n>(\n (\n {\n className,\n variant,\n size,\n color,\n fullWidth,\n shadow,\n angle,\n style,\n ...props\n },\n ref,\n ) => {\n // const Comp = asChild ? Slot : \"button\";\n const angleStyle = parseAngleProps({ angle });\n return (\n <BaseButton\n className={buttonVariants({\n variant,\n size,\n color,\n className,\n fullWidth,\n shadow,\n })}\n size={size as SizeType}\n ref={ref}\n style={{ ...style, ...angleStyle }}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n\nexport type { ButtonProps };\n","import { CSSProperties } from \"react\";\n\nexport const parseSizeProps = <\n T extends {\n width?: number | string;\n height?: number | string;\n angle?: number;\n left?: number | string;\n right?: number | string;\n top?: number | string;\n bottom?: number | string;\n [key: string]: any;\n },\n>(\n props: T,\n) => {\n const { width, height, angle, left, top, bottom, right, ...rest } = props;\n\n const style = Object.create(null);\n\n if (angle) {\n style[\"--oui-gradient-angle\"] = `${angle}deg`;\n }\n\n convertToStyle(\"--oui-width\", width, style);\n convertToStyle(\"--oui-height\", height, style);\n convertToStyle(\"--oui-left\", left, style);\n convertToStyle(\"--oui-right\", right, style);\n convertToStyle(\"--oui-top\", top, style);\n convertToStyle(\"--oui-bottom\", bottom, style);\n\n return {\n ...rest,\n style: {\n ...rest.style,\n ...style,\n },\n } as const;\n};\n\nfunction convertToStyle(\n key: string,\n value: string | number,\n style: CSSProperties,\n) {\n if (typeof value !== \"undefined\") {\n style[key] = convertToPx(value);\n }\n}\n\nfunction convertToPx(value: number | string) {\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nexport const parseAngleProps = (props: { angle?: number }) => {\n const { angle } = props;\n return {\n \"--oui-gradient-angle\": angle ? `${angle}deg` : `180deg`,\n };\n};\n","export const shadowVariants = {\n variants: {\n shadow: {\n sm: \"oui-shadow-sm\",\n base: \"oui-shadow\",\n md: \"oui-shadow-md\",\n lg: \"oui-shadow-lg\",\n xl: \"oui-shadow-xl\",\n \"2xl\": \"oui-shadow-2xl\",\n inner: \"oui-shadow-inner\",\n none: \"oui-shadow-none\",\n },\n },\n};\n","import React, { useMemo } from \"react\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Flex } from \"../flex\";\nimport { Spinner } from \"../spinner/spinner\";\nimport { SizeType } from \"../helpers/sizeType\";\n\ntype BaseButtonElement = React.ElementRef<\"button\">;\n\nexport interface BaseButtonProps\n extends ComponentPropsWithout<\"button\", RemovedProps> {\n loading?: boolean;\n leading?: React.ReactNode;\n trailing?: React.ReactNode;\n asChild?: boolean;\n size: SizeType;\n icon?: React.ReactElement;\n as?: \"button\" | \"a\";\n}\n\nexport const BaseButton = React.forwardRef<BaseButtonElement, BaseButtonProps>(\n (props, forwardedRef) => {\n const {\n asChild = false,\n children,\n loading,\n leading,\n trailing,\n size,\n icon,\n disabled,\n ...rest\n } = props;\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = typeof disabled !== \"undefined\" ? disabled : loading;\n\n const iconElement = useMemo(() => {\n return icon\n ? React.cloneElement(icon, {\n size:\n size === \"xs\"\n ? 12\n : size === \"sm\"\n ? 12\n : size === \"md\"\n ? 14\n : size === \"lg\"\n ? 16\n : size === \"xl\"\n ? 18\n : 12,\n className: \"oui-text-inherit\",\n opacity: loading ? 0 : 1,\n })\n : null;\n }, [size, icon]);\n\n const content = useMemo(() => {\n if (!leading && !trailing && !iconElement) return children;\n\n return (\n <Flex as=\"span\" itemAlign={\"center\"} className=\"oui-space-x-1\">\n {leading}\n {iconElement}\n <span>{children}</span>\n {trailing}\n </Flex>\n );\n }, [children, leading, trailing, iconElement]);\n\n const spinnerSize = useMemo(() => {\n switch (size) {\n case \"xl\":\n return \"md\";\n case \"lg\":\n return \"md\";\n case \"md\":\n return \"sm\";\n case \"sm\":\n case \"xs\":\n return \"xs\";\n default:\n return \"md\";\n }\n }, [size]);\n\n return (\n <Comp {...rest} disabled={isDisabled} ref={forwardedRef}>\n {loading ? (\n <>\n <span className=\"oui-invisible\">{content}</span>\n <Flex\n itemAlign={\"center\"}\n justify={\"center\"}\n position={\"absolute\"}\n as=\"span\"\n >\n <Spinner size={spinnerSize} color=\"white\" />\n </Flex>\n </>\n ) : (\n content\n )}\n </Comp>\n );\n }\n);\n\nBaseButton.displayName = \"BaseButton\";\n","import { ElementRef, forwardRef } from \"react\";\nimport { gapVariants } from \"../layout/gap\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport { Box, BoxProps } from \"../box\";\n\ntype FlexElement = ElementRef<\"div\">;\n\n// interface CommonFlexProps extends MarginProps, LayoutProps, FlexOwnProps {}\n// type FlexDivProps = { as?: 'div' } & ComponentPropsWithout<'div', RemovedProps>;\n// type FlexSpanProps = { as: 'span' } & ComponentPropsWithout<'span', RemovedProps>;\n// type FlexProps = CommonFlexProps & (FlexSpanProps | FlexDivProps);\n\nconst flexBaseVariant = tv({\n variants: {\n ...gapVariants.variants,\n // ...layoutVariants.variants,\n // ...positionVariants.variants,\n },\n});\n\nconst flexVariant = tv(\n {\n extend: flexBaseVariant,\n base: [\"oui-flex\"],\n variants: {\n display: {\n flex: \"oui-flex\",\n inlineFlex: \"oui-inline-flex\",\n },\n direction: {\n row: \"oui-flex-row\",\n rowReverse: \"oui-flex-row-reverse\",\n column: \"oui-flex-col\",\n columnReverse: \"oui-flex-col-reverse\",\n },\n itemAlign: {\n start: \"oui-items-start\",\n end: \"oui-items-end\",\n center: \"oui-items-center\",\n baseline: \"oui-items-baseline\",\n stretch: \"oui-items-stretch\",\n },\n justify: {\n start: \"oui-justify-start\",\n end: \"oui-justify-end\",\n center: \"oui-justify-center\",\n between: \"oui-justify-between\",\n around: \"oui-justify-around\",\n evenly: \"oui-justify-evenly\",\n stretch: \"oui-justify-stretch\",\n },\n wrap: {\n noWrap: \"oui-flex-nowrap\",\n wrap: \"oui-flex-wrap\",\n wrapReverse: \"oui-flex-wrap-reverse\",\n },\n },\n defaultVariants: {\n display: \"flex\",\n direction: \"row\",\n itemAlign: \"center\",\n justify: \"start\",\n wrap: \"noWrap\",\n // gap: 4,\n // gap: 0,\n // gapX: 0,\n // gapY: 0,\n },\n },\n {\n responsiveVariants: true,\n }\n);\n\n// const flexVariant = compose(layoutVariants, gapVariants, flexBaseVariant);\ninterface FlexProps extends BoxProps, VariantProps<typeof flexVariant> {\n // asChild?: boolean;\n // as?: \"div\" | \"span\";\n // width?: string | number;\n // height?: string | number;\n}\n\nconst Flex = forwardRef<FlexElement, FlexProps>((props, ref) => {\n const {\n className,\n display,\n gap,\n gapX,\n gapY,\n wrap,\n justify,\n itemAlign,\n direction,\n ...rest\n } = props;\n // const Comp = asChild ? Slot : TAG;\n //\n\n return (\n <Box\n ref={ref}\n className={flexVariant({\n className,\n display,\n gap,\n gapX,\n gapY,\n wrap,\n justify,\n itemAlign,\n direction,\n })}\n {...rest}\n />\n );\n});\n\nFlex.displayName = \"Flex\";\n\nexport { Flex, flexVariant };\n\nexport type { FlexProps };\n","export const gapVariants = {\n // extend: layoutVariants,\n variants: {\n gap: {\n 0: \"oui-gap-0\",\n 1: \"oui-gap-1\",\n 2: \"oui-gap-2\",\n 3: \"oui-gap-3\",\n 4: \"oui-gap-4\",\n 5: \"oui-gap-5\",\n 6: \"oui-gap-6\",\n 8: \"oui-gap-8\",\n 10: \"oui-gap-10\",\n },\n gapX: {\n 0: \"oui-gap-x-0\",\n 1: \"oui-gap-x-1\",\n 2: \"oui-gap-x-2\",\n 3: \"oui-gap-x-3\",\n 4: \"oui-gap-x-4\",\n 5: \"oui-gap-x-5\",\n 6: \"oui-gap-x-6\",\n 8: \"oui-gap-x-8\",\n 10: \"oui-gap-x-10\",\n },\n gapY: {\n 0: \"oui-gap-y-0\",\n 1: \"oui-gap-y-1\",\n 2: \"oui-gap-y-2\",\n 3: \"oui-gap-y-3\",\n 4: \"oui-gap-y-4\",\n 5: \"oui-gap-y-5\",\n 6: \"oui-gap-y-6\",\n 8: \"oui-gap-y-8\",\n 10: \"oui-gap-y-10\",\n },\n },\n};\n","import { createTV } from \"tailwind-variants\";\n\nexport const tv = createTV({\n twMergeConfig: {\n prefix: \"oui-\",\n },\n});\n","import React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { parseSizeProps } from \"../helpers/parse-props\";\nimport { decorationVariants } from \"../layout/decoration\";\nimport { layoutVariants } from \"../layout/layout\";\nimport { positionVariants } from \"../layout/position\";\nimport { shadowVariants } from \"../layout/shadow\";\nimport { visibleVariants } from \"../layout/visible\";\nimport { tv } from \"../utils/tv\";\n\nconst boxVariants = tv({\n base: [\"oui-box\"],\n variants: {\n ...layoutVariants.variants,\n ...shadowVariants.variants,\n ...decorationVariants.variants,\n ...positionVariants.variants,\n ...visibleVariants.variants,\n __position: {\n true: \"oui-position\",\n },\n __size_width: {\n true: \"oui-size-width\",\n },\n __size_height: {\n true: \"oui-size-height\",\n },\n },\n defaultVariants: {\n __position: false,\n __size: false,\n },\n});\n\n// // @ts-ignore\n// const boxVariants = tv({\n// extend: baseBoxVariants,\n// });\n\ntype BoxElement = React.ElementRef<\"div\">;\n\ninterface BoxProps\n extends React.ButtonHTMLAttributes<HTMLDivElement | HTMLSpanElement>,\n Omit<\n VariantProps<typeof boxVariants>,\n \"__position\" | \"__size_width\" | \"__size_height\"\n > {\n asChild?: boolean;\n as?:\n | \"div\"\n | \"span\"\n | \"nav\"\n | \"section\"\n | \"article\"\n | \"aside\"\n | \"header\"\n | \"footer\";\n width?: string | number;\n height?: string | number;\n left?: string | number;\n right?: string | number;\n top?: string | number;\n bottom?: string | number;\n /**\n * Angle of the gradient\n */\n angle?: number;\n}\n\nconst Box = React.forwardRef<BoxElement, BoxProps>((props, forwardedRef) => {\n const {\n asChild = false,\n as: TAG = \"div\",\n className,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n m,\n mx,\n my,\n mr,\n mt,\n mb,\n ml,\n grow,\n zIndex,\n style,\n shadow,\n border,\n gradient,\n r,\n invisible,\n intensity,\n position,\n borderColor,\n children,\n ...rest\n } = parseSizeProps(props);\n\n const Comp = asChild ? Slot : TAG;\n\n return (\n <Comp\n style={style}\n className={boxVariants({\n className,\n p,\n r,\n px,\n py,\n pt,\n pb,\n pr,\n pl,\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n zIndex,\n shadow,\n border,\n gradient,\n position,\n intensity,\n invisible,\n grow,\n borderColor,\n __position: typeof position !== \"undefined\",\n __size_width: typeof props.width !== \"undefined\",\n __size_height: typeof props.height !== \"undefined\",\n })}\n {...rest}\n ref={forwardedRef}\n >\n {children}\n </Comp>\n );\n});\n\nBox.displayName = \"Box\";\n\nexport { Box, boxVariants };\n\nexport type { BoxProps };\n","export type Gradient = {\n start: string;\n end: string;\n degree: number;\n stops: number;\n};\n\nexport const decorationVariants = {\n variants: {\n border: {\n true: \"oui-border oui-border-line\",\n // false: \"oui-border-none\",\n },\n // borderTop\n r: {\n none: \"oui-rounded-none\",\n sm: \"oui-rounded-sm\",\n base: \"oui-rounded\",\n md: \"oui-rounded-md\",\n lg: \"oui-rounded-lg\",\n xl: \"oui-rounded-xl\",\n \"2xl\": \"oui-rounded-2xl\",\n full: \"oui-rounded-full\",\n },\n gradient: {\n // // brands:'',\n // primary: \"oui-from-primary-400 to-primary-900\",\n primary: \"oui-gradient-primary\",\n secondary: \"oui-gradient-secondary\",\n brand: \"oui-gradient-brand\",\n success: \"oui-gradient-success\",\n warning: \"oui-gradient-warning\",\n danger: \"oui-gradient-danger\",\n neutral: \"oui-gradient-neutral\",\n },\n intensity: {\n 100: \"oui-bg-base-1\",\n 200: \"oui-bg-base-2\",\n 300: \"oui-bg-base-3\",\n 400: \"oui-bg-base-4\",\n 500: \"oui-bg-base-5\",\n 600: \"oui-bg-base-6\",\n 700: \"oui-bg-base-7\",\n 800: \"oui-bg-base-8\",\n 900: \"oui-bg-base-9\",\n },\n borderColor: {\n 4: \"oui-border-line-4\",\n 6: \"oui-border-line-6\",\n 8: \"oui-border-line\",\n 12: \"oui-border-line-12\",\n 16: \"oui-border-line-16\",\n },\n },\n};\n","export const layoutVariants = {\n variants: {\n p: {\n 0: \"oui-p-0\",\n 1: \"oui-p-1\",\n 2: \"oui-p-2\",\n 3: \"oui-p-3\",\n 4: \"oui-p-4\",\n 5: \"oui-p-5\",\n 6: \"oui-p-6\",\n 7: \"oui-p-7\",\n 8: \"oui-p-8\",\n 9: \"oui-p-9\",\n 10: \"oui-p-10\",\n },\n px: {\n 0: \"oui-px-0\",\n 1: \"oui-px-1\",\n 2: \"oui-px-2\",\n 3: \"oui-px-3\",\n 4: \"oui-px-4\",\n 5: \"oui-px-5\",\n 6: \"oui-px-6\",\n 7: \"oui-px-7\",\n 8: \"oui-px-8\",\n 9: \"oui-px-9\",\n 10: \"oui-px-10\",\n },\n py: {\n 0: \"oui-py-0\",\n 1: \"oui-py-1\",\n 2: \"oui-py-2\",\n 3: \"oui-py-3\",\n 4: \"oui-py-4\",\n 5: \"oui-py-5\",\n 6: \"oui-py-6\",\n 7: \"oui-py-7\",\n 8: \"oui-py-8\",\n 9: \"oui-py-9\",\n 10: \"oui-py-10\",\n },\n pt: {\n 0: \"oui-pt-0\",\n 1: \"oui-pt-1\",\n 2: \"oui-pt-2\",\n 3: \"oui-pt-3\",\n 4: \"oui-pt-4\",\n 5: \"oui-pt-5\",\n 6: \"oui-pt-6\",\n 7: \"oui-pt-7\",\n 8: \"oui-pt-8\",\n 9: \"oui-pt-9\",\n 10: \"oui-pt-10\",\n },\n pb: {\n 0: \"oui-pb-0\",\n 1: \"oui-pb-1\",\n 2: \"oui-pb-2\",\n 3: \"oui-pb-3\",\n 4: \"oui-pb-4\",\n 5: \"oui-pb-5\",\n 6: \"oui-pb-6\",\n 7: \"oui-pb-7\",\n 8: \"oui-pb-8\",\n 9: \"oui-pb-9\",\n 10: \"oui-pb-10\",\n },\n pl: {\n 0: \"oui-pl-0\",\n 1: \"oui-pl-1\",\n 2: \"oui-pl-2\",\n 3: \"oui-pl-3\",\n 4: \"oui-pl-4\",\n 5: \"oui-pl-5\",\n 6: \"oui-pl-6\",\n 7: \"oui-pl-7\",\n 8: \"oui-pl-8\",\n 9: \"oui-pl-9\",\n 10: \"oui-pl-10\",\n },\n pr: {\n 0: \"oui-pr-0\",\n 1: \"oui-pr-1\",\n 2: \"oui-pr-2\",\n 3: \"oui-pr-3\",\n 4: \"oui-pr-4\",\n 5: \"oui-pr-5\",\n 6: \"oui-pr-6\",\n 7: \"oui-pr-7\",\n 8: \"oui-pr-8\",\n 9: \"oui-pr-9\",\n 10: \"oui-pr-10\",\n },\n m: {\n 0: \"oui-m-0\",\n 1: \"oui-m-1\",\n 2: \"oui-m-2\",\n 3: \"oui-m-3\",\n 4: \"oui-m-4\",\n 5: \"oui-m-5\",\n 6: \"oui-m-6\",\n 7: \"oui-m-7\",\n 8: \"oui-m-8\",\n 9: \"oui-m-9\",\n 10: \"oui-m-10\",\n },\n mx: {\n 0: \"oui-mx-0\",\n 1: \"oui-mx-1\",\n 2: \"oui-mx-2\",\n 3: \"oui-mx-3\",\n 4: \"oui-mx-4\",\n 5: \"oui-mx-5\",\n 6: \"oui-mx-6\",\n 7: \"oui-mx-7\",\n 8: \"oui-mx-8\",\n 9: \"oui-mx-9\",\n 10: \"oui-mx-10\",\n },\n my: {\n 0: \"oui-my-0\",\n 1: \"oui-my-1\",\n 2: \"oui-my-2\",\n 3: \"oui-my-3\",\n 4: \"oui-my-4\",\n 5: \"oui-my-5\",\n 6: \"oui-my-6\",\n 7: \"oui-my-7\",\n 8: \"oui-my-8\",\n 9: \"oui-my-9\",\n 10: \"oui-my-10\",\n },\n mt: {\n 0: \"oui-mt-0\",\n 1: \"oui-mt-1\",\n 2: \"oui-mt-2\",\n 3: \"oui-mt-3\",\n 4: \"oui-mt-4\",\n 5: \"oui-mt-5\",\n 6: \"oui-mt-6\",\n 7: \"oui-mt-7\",\n 8: \"oui-mt-8\",\n 9: \"oui-mt-9\",\n 10: \"oui-mt-10\",\n },\n mb: {\n 0: \"oui-mb-0\",\n 1: \"oui-mb-1\",\n 2: \"oui-mb-2\",\n 3: \"oui-mb-3\",\n 4: \"oui-mb-4\",\n 5: \"oui-mb-5\",\n 6: \"oui-mb-6\",\n 7: \"oui-mb-7\",\n 8: \"oui-mb-8\",\n 9: \"oui-mb-9\",\n 10: \"oui-mb-10\",\n },\n ml: {\n 0: \"oui-ml-0\",\n 1: \"oui-ml-1\",\n 2: \"oui-ml-2\",\n 3: \"oui-ml-3\",\n 4: \"oui-ml-4\",\n 5: \"oui-ml-5\",\n 6: \"oui-ml-6\",\n 7: \"oui-ml-7\",\n 8: \"oui-ml-8\",\n 9: \"oui-ml-9\",\n 10: \"oui-ml-10\",\n },\n mr: {\n 0: \"oui-mr-0\",\n 1: \"oui-mr-1\",\n 2: \"oui-mr-2\",\n 3: \"oui-mr-3\",\n 4: \"oui-mr-4\",\n 5: \"oui-mr-5\",\n 6: \"oui-mr-6\",\n 7: \"oui-mr-7\",\n 8: \"oui-mr-8\",\n 9: \"oui-mr-9\",\n 10: \"oui-mr-10\",\n },\n grow: {\n true: \"oui-grow\",\n },\n },\n};\n","export const positionVariants = {\n // extend: layoutVariants,\n variants: {\n position: {\n static: \"oui-static\",\n fixed: \"oui-fixed\",\n absolute: \"oui-absolute\",\n relative: \"oui-relative\",\n sticky: \"oui-sticky\",\n },\n zIndex: {\n 0: \"oui-z-0\",\n 10: \"oui-z-10\",\n 20: \"oui-z-20\",\n 30: \"oui-z-30\",\n 40: \"oui-z-40\",\n 50: \"oui-z-50\",\n auto: \"oui-z-auto\",\n },\n },\n};\n","export const visibleVariants = {\n variants: {\n invisible: {\n true: \"oui-invisible\",\n // false: \"oui-visible\",\n },\n },\n};\n","import { FC } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst spinnerVariants = tv({\n base: \"oui-text-gray-200 oui-animate-spin dark:oui-text-gray-600 oui-fill-primary-darken\",\n variants: {\n size: {\n xs: \"oui-w-3 oui-h-3\",\n sm: \"oui-w-4 oui-h-4\",\n md: \"oui-w-6 oui-h-6\",\n lg: \"oui-w-8 oui-h-8\",\n xl: \"oui-w-10 oui-h-10\",\n },\n color: {\n primary: \"oui-fill-primary-darken\",\n success: \"oui-fill-success\",\n danger: \"oui-fill-danger\",\n warning: \"oui-fill-warning-darken\",\n gray: \"oui-fill-gray\",\n darkGray: \"oui-fill-darkGray\",\n white: \"oui-fill-white\",\n },\n // background: {\n // default: \"oui-text-base-contrast/40\",\n // transparent: \"oui-text-transparent\",\n // },\n },\n\n defaultVariants: {\n size: \"lg\",\n color: \"primary\",\n },\n});\n\ninterface SpinnerProps\n extends ComponentPropsWithout<\"svg\", RemovedProps>,\n VariantProps<typeof spinnerVariants> {\n loading?: boolean;\n}\n\nconst Spinner: FC<SpinnerProps> = (props) => {\n const { size, color, loading = true, children, className } = props;\n if (!loading) {\n return <>{children}</>;\n }\n return (\n <span role=\"status\" className=\"oui-inline-block\">\n <svg\n aria-hidden=\"true\"\n className={spinnerVariants({ size, className, color })}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n fillOpacity={0.2}\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n {/* hide, not show when render */}\n <span className=\"oui-sr-only\">Loading...</span>\n </span>\n );\n};\n\nexport { Spinner, spinnerVariants };\n\nexport type { SpinnerProps };\n","import React, { PropsWithChildren, useCallback, useRef, useState } from \"react\";\nimport { Button, ButtonProps } from \".\";\n\nconst ThrottledButton = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps & { throttleDuration?: number }>\n>(({ onClick, throttleDuration = 700, ...props }, ref) => {\n const lastCall = useRef(0);\n const throttle = useCallback(\n (delay: number, fn?: Function) => {\n return function (...args: any[]) {\n const now = Date.now();\n\n // Check if enough time has passed since the last call\n if (now - lastCall.current >= delay) {\n lastCall.current = now;\n fn?.(...args); // Execute the function\n }\n };\n },\n [throttleDuration]\n );\n\n const debouncedClick = throttle(throttleDuration, onClick);\n return <Button onClick={debouncedClick} ref={ref} {...props} />;\n});\n\nexport { ThrottledButton };\n","import React from \"react\";\nimport { tv } from \"../utils/tv\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { type BoxProps, Box } from \"../box\";\nimport { gapVariants } from \"../layout/gap\";\n\nconst gridVariants = tv({\n extend: gapVariants,\n base: [\"oui-grid\"],\n variants: {\n // inline: {\n // true: \"oui-inline-grid\",\n // // false: \"\",\n // },\n cols: {\n 1: \"oui-grid-cols-1\",\n 2: \"oui-grid-cols-2\",\n 3: \"oui-grid-cols-3\",\n 4: \"oui-grid-cols-4\",\n 5: \"oui-grid-cols-5\",\n 6: \"oui-grid-cols-6\",\n 7: \"oui-grid-cols-7\",\n 8: \"oui-grid-cols-8\",\n 9: \"oui-grid-cols-9\",\n none: \"oui-grid-cols-none\",\n },\n rows: {\n 1: \"oui-grid-rows-1\",\n 2: \"oui-grid-rows-2\",\n 3: \"oui-grid-rows-3\",\n 4: \"oui-grid-rows-4\",\n 5: \"oui-grid-rows-5\",\n 6: \"oui-grid-rows-6\",\n 7: \"oui-grid-rows-7\",\n 8: \"oui-grid-rows-8\",\n 9: \"oui-grid-rows-9\",\n none: \"oui-grid-rows-none\",\n },\n autoFlow: {\n row: \"oui-grid-flow-row\",\n col: \"oui-grid-flow-col\",\n rowDense: \"oui-grid-flow-row-dense\",\n colDense: \"oui-grid-flow-col-dense\",\n },\n gap: {\n 0: \"oui-gap-0\",\n 1: \"oui-gap-1\",\n 2: \"oui-gap-2\",\n 3: \"oui-gap-3\",\n 4: \"oui-gap-4\",\n 5: \"oui-gap-5\",\n },\n gapX: {\n 0: \"oui-gap-x-0\",\n 1: \"oui-gap-x-1\",\n 2: \"oui-gap-x-2\",\n 3: \"oui-gap-x-3\",\n 4: \"oui-gap-x-4\",\n 5: \"oui-gap-x-5\",\n },\n gapY: {\n 0: \"oui-gap-y-0\",\n 1: \"oui-gap-y-1\",\n 2: \"oui-gap-y-2\",\n 3: \"oui-gap-y-3\",\n 4: \"oui-gap-y-4\",\n 5: \"oui-gap-y-5\",\n },\n },\n defaultVariants: {\n // cols: \"1\",\n // rows: \"1\",\n // gap: 4,\n // autoFlow: \"row\",\n },\n});\n\ninterface GridProps extends BoxProps, VariantProps<typeof gridVariants> {}\n\nconst Grid = React.forwardRef<HTMLDivElement, GridProps>((props, ref) => {\n const { className, cols, rows, gap, gapX, gapY, autoFlow, ...rest } = props;\n\n return (\n <Box\n ref={ref}\n {...rest}\n className={gridVariants({\n className,\n cols,\n rows,\n gap,\n gapX,\n gapY,\n autoFlow,\n })}\n />\n );\n});\n\nGrid.displayName = \"Grid\";\n\nexport { Grid, gridVariants };\n","import { VariantProps } from \"tailwind-variants\";\nimport { Box, BoxProps } from \"../box\";\n\nimport { tv } from \"../utils/tv\";\nimport { useEffect, useRef } from \"react\";\n\nconst gridSpanVariants = tv({\n variants: {\n colSpan: {\n auto: \"oui-col-auto\",\n 1: \"oui-col-span-1\",\n 2: \"oui-col-span-2\",\n 3: \"oui-col-span-3\",\n 4: \"oui-col-span-4\",\n 5: \"oui-col-span-5\",\n 6: \"oui-col-span-6\",\n 7: \"oui-col-span-7\",\n 8: \"oui-col-span-8\",\n 9: \"oui-col-span-9\",\n },\n rowSpan: {\n auto: \"oui-row-auto\",\n 1: \"oui-row-span-1\",\n 2: \"oui-row-span-2\",\n 3: \"oui-row-span-3\",\n 4: \"oui-row-span-4\",\n 5: \"oui-row-span-5\",\n 6: \"oui-row-span-6\",\n 7: \"oui-row-span-7\",\n 8: \"oui-row-span-8\",\n 9: \"oui-row-span-9\",\n },\n },\n});\n\ninterface SpanProps extends BoxProps, VariantProps<typeof gridSpanVariants> {}\n\nconst Span = (props: SpanProps) => {\n const { colSpan, rowSpan, className, ...rest } = props;\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n const parent: HTMLElement = ref.current!.parentElement!;\n\n if (!parent || !parent.classList.contains(\"oui-grid\")) {\n console.warn(\"Span component must be a child of a Grid component\");\n }\n }\n }, []);\n\n return (\n <Box\n ref={ref}\n {...rest}\n className={gridSpanVariants({\n colSpan,\n rowSpan,\n className,\n })}\n />\n );\n};\n\nexport { Span, type SpanProps, gridSpanVariants };\n","import { Grid as GridBase, gridVariants } from \"./grid\";\nimport { Span } from \"./span\";\n\ntype GridType = typeof GridBase & {\n span: typeof Span;\n};\n\nconst Grid = GridBase as GridType;\nGrid.span = Span;\n\nexport { Grid, gridVariants };\n","import React, { useMemo, useState } from \"react\";\nimport { format as formatDate, isValid } from \"date-fns\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { TokenIcon } from \"../icon\";\nimport { CopyIcon } from \"../icon/copy\";\nimport { CopyableTextProps, Text, TextElement, TextProps } from \"./text\";\nimport { formatAddress } from \"./utils\";\n\nexport type TextRule = \"date\" | \"address\" | \"symbol\" | \"status\" | \"txId\";\n\nexport const isTextRule = (rule: string): rule is TextRule => {\n return [\"date\", \"address\", \"symbol\", \"status\", \"txId\"].includes(rule);\n};\n\ntype DateText = {\n rule: \"date\";\n /**\n * use date-fns to format the date, default is \"YYYY-MM-DD HH:mm:ss\", more info:\n * @see https://date-fns.org/v3.6.0/docs/format\n */\n formatString?: string;\n};\ntype AddressText = {\n rule: \"address\";\n /**\n * range of the address to show\n * the first number is the length of the start of the address, and the second number is the length of the end of the address\n * @default [6, 4]\n */\n range?: [number, number];\n};\n\ntype BaseText = {\n rule: Omit<TextRule, \"address\" | \"date\">;\n /**\n * capitalize the first letter of the string\n */\n capitalize?: boolean;\n};\n\ntype TxIDText = {\n rule: \"txId\";\n range?: [number, number];\n};\n\ntype SymbolText = {\n rule: \"symbol\";\n // symbolElement?: \"base\" | \"quote\";\n /**\n * symbol format string, like \"type-base-quote\",\n * @default base-quote\n */\n formatString?: string;\n showIcon?: boolean;\n iconSize?: SizeType;\n};\n\nconst DEFAULT_SYMBOL_FORMAT = \"base-quote\";\nconst DEFAULT_DATE_FORMAT = \"yyyy-MM-dd HH:mm:ss\";\n\nexport type FormattedTextProps = TextProps &\n CopyableTextProps & {\n // asChildren?: boolean;\n // rule?: Omit<TextRule, \"status\"|'address'|'date'>;\n loading?: boolean;\n\n suffix?: React.ReactNode;\n prefix?: React.ReactNode;\n showIcon?: boolean;\n } & (\n | BaseText\n | DateText\n | AddressText\n | SymbolText\n | TxIDText\n | { rule?: string }\n );\n\nexport const FormattedText = React.forwardRef<TextElement, FormattedTextProps>(\n (props, ref) => {\n const {\n rule,\n children,\n\n prefix,\n // @ts-ignore\n symbolElement,\n // @ts-ignore\n formatString,\n // @ts-ignore\n range,\n // @ts-ignore\n capitalize,\n copyable,\n copyIconSize,\n onCopy,\n showIcon,\n //@ts-ignore\n iconSize = \"xs\",\n copyIconTestid,\n //@ts-ignore\n isIcon,\n ...rest\n } = props;\n // const Comp = asChildren ? Slot : \"span\";\n //\n const prefixElement = useMemo(() => {\n if (rule === \"symbol\" && showIcon) {\n return <TokenIcon symbol={children as string} size={iconSize} />;\n }\n\n return prefix;\n }, [prefix, showIcon, rule, iconSize, children]);\n\n const suffix = useMemo(() => {\n if (typeof props.suffix !== \"undefined\") {\n return props.suffix;\n }\n if (copyable) {\n return (\n <button\n className=\"oui-cursor-pointer oui-text-sm\"\n data-testid={copyIconTestid}\n onClick={(e) => {\n navigator.clipboard.writeText(children as string);\n onCopy?.(e);\n }}\n >\n <CopyIcon size={copyIconSize ?? 12} color=\"white\" />\n </button>\n );\n }\n }, [props.suffix, copyable, children]);\n\n const content = useMemo(() => {\n if (typeof children === \"undefined\") {\n return \"--\";\n }\n if (typeof rule === \"undefined\") {\n return children;\n }\n if (rule === \"address\" || rule === \"txId\") {\n return formatAddress(\n children as string,\n range ?? (rule === \"address\" ? [6, 4] : [6, 6]),\n );\n }\n if (rule === \"date\") {\n // return new Date(children as string).toLocaleString();\n const date = new Date(children as string | number | Date);\n if (!isValid(date)) {\n return \"Error: Invalid Date\";\n }\n return formatDate(\n new Date(children as string),\n formatString ?? DEFAULT_DATE_FORMAT,\n );\n }\n /**\n * format Orderly symbol\n */\n if (rule === \"symbol\") {\n const arr = (children as string).split(\"_\");\n const type = arr[0];\n const base = arr[1];\n const quote = arr[2];\n\n return (formatString ?? DEFAULT_SYMBOL_FORMAT)\n .replace(\"type\", type)\n .replace(\"base\", base)\n .replace(\"quote\", quote);\n }\n\n // if (rule === \"status\") {\n // const status = children as string;\n // if (status === OrderStatus.NEW || status === OrderStatus.OPEN) {\n // return \"Pending\";\n // }\n // const text = firstLetterToUpperCase(status);\n\n // return text;\n // }\n\n return children;\n }, [children, rule, formatString, range, symbolElement]);\n\n const contentWithFix = useMemo(() => {\n if (\n typeof suffix === \"undefined\" &&\n typeof prefixElement === \"undefined\"\n ) {\n return content;\n }\n return (\n <span className=\"oui-flex oui-items-center oui-gap-1\">\n {prefixElement}\n {content}\n {suffix}\n </span>\n );\n }, [content, suffix, prefixElement]);\n\n return (\n <Text {...rest} ref={ref}>\n {contentWithFix}\n </Text>\n );\n },\n);\n\nFormattedText.displayName = \"FormattedText\";\n","import React from \"react\";\nimport { type VariantProps, tv } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst iconVariants = tv({\n variants: {\n color: {\n primary: \"oui-text-primary-darken\",\n success: \"oui-text-success\",\n danger: \"oui-text-danger\",\n warning: \"oui-text-warning-darken\",\n // secondary: \"oui-text-secondary\",\n // tertiary: \"oui-text-tertiary\",\n white: \"oui-text-white\",\n black: \"oui-text-black\",\n inherit: \"oui-text-inherit\",\n // gray: \"oui-text-gray\",\n // darkGray: \"oui-text-darkGray\",\n },\n },\n defaultVariants: {\n color: \"black\",\n },\n});\n\nexport interface BaseIconProps\n extends ComponentPropsWithout<\"svg\", RemovedProps>,\n VariantProps<typeof iconVariants> {\n // width?: number;\n size?: number;\n viewBox?: string;\n opacity?: number;\n}\n\nexport const BaseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const {\n size = 24,\n color,\n className,\n children,\n viewBox = \"0 0 24 24\",\n fill = \"none\",\n ...rest\n } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n fill={fill}\n viewBox={viewBox}\n ref={ref}\n className={iconVariants({ className, color })}\n {...rest}\n >\n {children}\n </svg>\n );\n },\n);\n","import { FC, PropsWithChildren, ReactNode, cloneElement, useMemo } from \"react\";\nimport { ChainIcon, ChainIconProps } from \"./chainIcon\";\nimport { TokenIcon, TokenIconProps } from \"./tokenIcon\";\nimport { cnBase } from \"tailwind-variants\";\n\nexport type CombineIconProps = {\n secondary: (ChainIconProps | TokenIconProps) & {\n component?: ReactNode;\n };\n};\n\nexport const CombineIcon: FC<PropsWithChildren<CombineIconProps>> = (props) => {\n const { secondary } = props;\n\n const subElement = useMemo(() => {\n const className =\n \"oui-bg-base-6 oui-absolute oui-bottom-0 oui-right-0 oui-outline oui-outline-2 oui-outline-base-1 oui-z-10\";\n\n if (secondary.component) {\n return (\n <div className={cnBase(className, secondary?.className)}>\n {secondary.component}\n </div>\n );\n }\n\n if (\"chainId\" in secondary) {\n return (\n <ChainIcon\n {...secondary}\n className={cnBase(className, secondary?.className)}\n />\n );\n }\n\n return (\n <TokenIcon\n {...secondary}\n className={cnBase(className, secondary?.className)}\n />\n );\n }, [secondary]);\n\n return (\n <div className=\"oui-relative\">\n {props.children}\n {subElement}\n </div>\n );\n};\n","import { useMemo, type FC } from \"react\";\nimport { Avatar } from \"../avatar\";\n\nexport type ChainIconProps = {\n size?: \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\";\n chainId: string | number;\n className?: string;\n};\n\nexport const ChainIcon: FC<ChainIconProps> = (props) => {\n const url = useMemo(() => {\n return `https://oss.orderly.network/static/network_logo/${props.chainId}.png`;\n }, [props.chainId]);\n return (\n <Avatar\n size={props.size}\n src={url}\n alt={`${props.chainId}`}\n className={props.className}\n />\n );\n};\n","import * as React from \"react\";\nimport { useMemo } from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport makeBlockie from \"ethereum-blockies-base64\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst avatarVariants = tv({\n slots: {\n root: \"oui-relative oui-flex oui-shrink-0 oui-overflow-hidden oui-rounded-full\",\n image: \"oui-aspect-square oui-h-full oui-w-full\",\n fallback:\n \"oui-flex oui-h-full oui-w-full oui-items-center oui-justify-center oui-rounded-full oui-bg-base-2\",\n },\n variants: {\n size: {\n \"2xs\": {\n root: \"oui-w-4 oui-h-4\",\n },\n xs: {\n root: \"oui-w-5 oui-h-5\",\n },\n sm: {\n root: \"oui-w-6 oui-h-6\",\n },\n md: {\n root: \"oui-w-8 oui-h-8\",\n },\n lg: {\n root: \"oui-w-10 oui-h-10\",\n },\n xl: {\n root: \"oui-w-12 oui-h-12\",\n },\n },\n },\n defaultVariants: {\n size: \"sm\",\n },\n});\n\nexport type AvatarSizeType = VariantProps<typeof avatarVariants>[\"size\"];\n\nconst AvatarBase = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> &\n VariantProps<typeof avatarVariants>\n>(({ className, size, ...props }, ref) => {\n const { root } = avatarVariants({ size });\n return (\n <AvatarPrimitive.Root\n ref={ref}\n {...props}\n className={root({ className })}\n />\n );\n});\nAvatarBase.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => {\n const { image } = avatarVariants();\n return (\n <AvatarPrimitive.Image\n ref={ref}\n className={image({ className })}\n {...props}\n />\n );\n});\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => {\n const { fallback } = avatarVariants({ className });\n return (\n <AvatarPrimitive.Fallback ref={ref} className={fallback()} {...props} />\n );\n});\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\ntype AvatarProps = React.ComponentProps<typeof AvatarBase> &\n VariantProps<typeof avatarVariants> & {\n src?: string;\n alt?: string;\n fallback?: React.ReactNode;\n delayMs?: number;\n onLoadingStatusChange?: AvatarPrimitive.AvatarImageProps[\"onLoadingStatusChange\"];\n };\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>((props, ref) => {\n const { size, src, fallback, delayMs, alt, onLoadingStatusChange, ...rest } =\n props;\n return (\n <AvatarBase {...rest} ref={ref} size={size}>\n <AvatarImage\n src={src}\n onLoadingStatusChange={onLoadingStatusChange}\n alt={alt}\n />\n {typeof fallback !== \"undefined\" && (\n <AvatarFallback delayMs={delayMs}>{fallback}</AvatarFallback>\n )}\n </AvatarBase>\n );\n});\n\nconst EVMAvatar = React.forwardRef<\n React.ElementRef<typeof Avatar>,\n AvatarProps & {\n address: string;\n }\n>((props, ref) => {\n const { address, ...rest } = props;\n const src = useMemo(() => makeBlockie(address), [props.address]);\n return <Avatar {...rest} src={src} />;\n});\n\nexport {\n AvatarBase,\n AvatarImage,\n AvatarFallback,\n Avatar,\n EVMAvatar,\n avatarVariants,\n};\n","import { FC, useMemo } from \"react\";\nimport { Avatar } from \"../avatar\";\nimport { AvatarSizeType } from \"../avatar/avatar\";\n\nexport type TokenIconProps = {\n size?: AvatarSizeType;\n name?: string;\n symbol?: string;\n className?: string;\n};\n\nexport const TokenIcon: FC<TokenIconProps> = (props) => {\n const url = useMemo(() => {\n let name = props.name;\n if (typeof props.symbol === \"string\") {\n const arr = props.symbol?.split(\"_\");\n name = arr[1];\n }\n return `https://oss.orderly.network/static/symbol_logo/${name}.png`;\n }, [props.name, props.symbol]);\n\n return (\n <Avatar\n size={props.size}\n src={url}\n alt={props.name}\n className={props.className}\n />\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M4.994 3.906c-.256 0-.523.086-.718.281a1.029 1.029 0 0 0 0 1.438l6.28 6.281-6.28 6.281a1.029 1.029 0 0 0 0 1.438c.39.39 1.047.39 1.437 0l6.281-6.28 6.282 6.28c.39.39 1.047.39 1.437 0 .39-.39.39-1.047 0-1.438l-6.281-6.28 6.281-6.282c.39-.39.39-1.047 0-1.438a1.013 1.013 0 0 0-.719-.28c-.256 0-.523.085-.718.28l-6.282 6.281-6.28-6.28a1.013 1.013 0 0 0-.72-.282Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCloseIcon.displayName = \"CloseIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CheckIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIconWithPath\n d=\"M19.018 5.997c-.256 0-.523.084-.718.276l-8.707 8.594c-.257.253-.515.206-.717-.092l-2.996-4.42a1.034 1.034 0 0 0-1.405-.276.996.996 0 0 0-.28 1.38l2.995 4.42c.902 1.33 2.659 1.499 3.808.369l8.738-8.563a1 1 0 0 0 0-1.412 1.02 1.02 0 0 0-.718-.276Z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nCheckIcon.displayName = \"CheckIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport interface BaseIconWithPathProps extends BaseIconProps {\n d: string;\n}\n\nexport const BaseIconWithPath = React.forwardRef<\n SVGSVGElement,\n BaseIconWithPathProps\n>((props, ref) => {\n const { opacity = 0.54, d, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d={d}\n />\n </BaseIcon>\n );\n});\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronDownIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M5.827 9.03c-.25.05-.502.175-.655.404a1.019 1.019 0 0 0 .28 1.401l5.992 3.985c.334.223.787.223 1.122 0l5.992-3.985c.459-.305.587-.943.28-1.4a1.023 1.023 0 0 0-1.404-.28l-5.43 3.61-5.428-3.61c-.23-.154-.498-.176-.75-.126Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronDownIcon.displayName = \"ChevronDownIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"m11.443 9.17-5.991 3.986a1.02 1.02 0 0 0-.28 1.4c.305.458.945.586 1.404.281l5.429-3.612 5.428 3.612a1.025 1.025 0 0 0 1.404-.28 1.02 1.02 0 0 0-.28-1.401l-5.99-3.986a1.028 1.028 0 0 0-1.124 0Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronUpIcon.displayName = \"ChevronUpIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.017 5.997c-.3 0-.612.14-.812.406l-6 8c-.495.66-.012 1.594.812 1.594h12c.824 0 1.307-.935.812-1.594l-6-8a1.022 1.022 0 0 0-.812-.406Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretUpIcon.displayName = \"CaretUpIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CaretDownIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.007 7.996c-.824 0-1.276.935-.781 1.594l6 8a.994.994 0 0 0 1.593 0l6-8c.495-.66.012-1.594-.812-1.594h-12Z\"\n />\n );\n }\n);\n\nCaretDownIcon.displayName = \"CaretDownIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretLeftIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M15.475 5.113a1.014 1.014 0 0 0-1.063.094l-8 6a1.025 1.025 0 0 0 0 1.624l8 6c.659.495 1.594.012 1.594-.812v-12c0-.412-.214-.747-.531-.906Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretLeftIcon.displayName = \"CaretLeftIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretRightIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.558 5.113a1.015 1.015 0 0 0-.562.906v12c0 .824.966 1.307 1.625.812l8-6c.533-.4.533-1.224 0-1.624l-8-6a1.014 1.014 0 0 0-1.063-.094Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretRightIcon.displayName = \"CaretRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ChevronLeftIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M13.778 5.022c-.25.05-.5.176-.653.406l-3.986 6a1.03 1.03 0 0 0 0 1.125l3.986 6c.305.459.943.588 1.401.28.457-.305.585-.946.28-1.405l-3.612-5.438 3.612-5.437c.305-.46.177-1.1-.28-1.406-.229-.154-.498-.176-.748-.125Z\"\n />\n );\n }\n);\n\nChevronLeftIcon.displayName = \"ChevronLeftIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronRightIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M10.166 5.022c-.25-.051-.519-.03-.748.125a1.027 1.027 0 0 0-.28 1.406l3.612 5.437-3.612 5.438c-.305.459-.177 1.1.28 1.406a1.019 1.019 0 0 0 1.401-.281l3.986-6a1.03 1.03 0 0 0 0-1.125l-3.986-6c-.152-.23-.403-.356-.653-.406Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronRightIcon.displayName = \"ChevronRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CalendarMinusIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M9.67364 2.34985C9.02964 2.34985 8.50697 2.87252 8.50697 3.51652C5.9298 3.51652 3.8403 5.60602 3.8403 8.18319V19.8499C3.8403 22.427 5.9298 24.5165 8.50697 24.5165H20.1736C22.7508 24.5165 24.8403 22.427 24.8403 19.8499V8.18319C24.8403 5.60602 22.7508 3.51652 20.1736 3.51652C20.1736 2.87252 19.651 2.34985 19.007 2.34985C18.363 2.34985 17.8403 2.87252 17.8403 3.51652H10.8403C10.8403 2.87252 10.3176 2.34985 9.67364 2.34985ZM8.50697 5.84985H20.1736C21.4628 5.84985 22.507 6.89402 22.507 8.18319V19.8499C22.507 21.139 21.4628 22.1832 20.1736 22.1832H8.50697C7.2178 22.1832 6.17364 21.139 6.17364 19.8499V8.18319C6.17364 6.89402 7.2178 5.84985 8.50697 5.84985ZM9.67364 8.18319C9.02964 8.18319 8.50697 8.70585 8.50697 9.34985C8.50697 9.99385 9.02964 10.5165 9.67364 10.5165H19.007C19.651 10.5165 20.1736 9.99385 20.1736 9.34985C20.1736 8.70585 19.651 8.18319 19.007 8.18319H9.67364ZM12.007 15.1832C11.363 15.1832 10.8403 15.7059 10.8403 16.3499C10.8403 16.9939 11.363 17.5165 12.007 17.5165H16.6736C17.3176 17.5165 17.8403 16.9939 17.8403 16.3499C17.8403 15.7059 17.3176 15.1832 16.6736 15.1832H12.007Z\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nCalendarMinusIcon.displayName = \"CalendarMinusIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SettingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.968 2.455a9.671 9.671 0 0 0-3.72 2.188c-.332.31-.434.818-.218 1.218.8 1.481-.037 3.066-1.844 3.157-.442.022-.833.35-.937.781a8.71 8.71 0 0 0-.25 2.188c0 .687.074 1.464.219 2.156.09.432.466.743.906.781 1.818.158 2.718 1.544 1.906 3.313-.18.393-.098.863.219 1.157 1.062.982 2.282 1.675 3.719 2.125.41.128.873-.027 1.125-.375 1.112-1.54 2.725-1.544 3.78 0 .25.363.706.538 1.126.405a10.1 10.1 0 0 0 3.75-2.155c.33-.301.417-.788.219-1.188-.832-1.68.125-3.22 1.843-3.25.456-.008.862-.307.969-.75.173-.717.219-1.341.219-2.22 0-.754-.09-1.497-.25-2.218a.994.994 0 0 0-.97-.782c-1.69-.003-2.638-1.665-1.811-3.125a.977.977 0 0 0-.188-1.218c-1.09-.99-2.42-1.764-3.812-2.188a.986.986 0 0 0-1.125.406c-.966 1.501-2.77 1.527-3.72.032a1.023 1.023 0 0 0-1.155-.438Zm6.078 2.124a7.904 7.904 0 0 1 1.84 1.054c-.725 2.297.506 4.683 3.056 5.265.063.412.057.662.057 1.088 0 .51.007.688-.051 1.056-2.54.527-3.795 2.845-3.088 5.296-.608.441-1.043.747-1.806 1.043-1.792-1.825-4.28-1.904-6.11.011-.714-.314-1.263-.593-1.818-1.061.688-2.49-.475-4.638-3.057-5.29-.115-.457-.07-1.745-.003-2.136 2.67-.64 3.722-3.003 3.059-5.279.586-.44 1.113-.762 1.798-1.04 1.725 1.755 4.315 1.93 6.123-.007Zm-3.047 3.407a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nSettingIcon.displayName = \"SettingIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M7.006 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm2 5c.256 0 .523.086.719.28l2.28 2.282 2.282-2.281c.195-.195.463-.281.719-.281.256 0 .523.086.719.28a1.03 1.03 0 0 1 0 1.439l-2.281 2.28 2.28 2.282a1.03 1.03 0 0 1 0 1.438 1.03 1.03 0 0 1-1.437 0l-2.281-2.281-2.281 2.28a1.03 1.03 0 0 1-1.438 0 1.03 1.03 0 0 1 0-1.437l2.28-2.281-2.28-2.281a1.03 1.03 0 0 1 0-1.438c.195-.195.463-.281.719-.281Z\"\n />\n </BaseIcon>\n );\n});\n\nCloseSquareFillIcon.displayName = \"CloseSquareFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseCircleFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M11.999 1.953c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm-3 6c.256 0 .523.086.719.281l2.28 2.281 2.282-2.28c.196-.196.463-.282.719-.282.256 0 .523.086.719.281a1.03 1.03 0 0 1 0 1.438l-2.281 2.281 2.28 2.281a1.03 1.03 0 0 1 0 1.438 1.03 1.03 0 0 1-1.437 0l-2.281-2.28-2.281 2.28a1.03 1.03 0 0 1-1.438 0 1.029 1.029 0 0 1 0-1.438l2.28-2.28-2.28-2.282a1.029 1.029 0 0 1 0-1.438c.196-.195.463-.28.719-.28Z\"\n />\n </BaseIcon>\n );\n});\n\nCloseCircleFillIcon.displayName = \"CloseCircleFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CheckedCircleFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n // const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M2.014 11.999c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10-10-4.477-10-10Zm14.971-4.687c.227-.217.539-.312.837-.312.298 0 .61.095.836.312a1.102 1.102 0 0 1 0 1.595l-8.15 7.768a1.24 1.24 0 0 1-1.673 0l-3.494-3.33a1.104 1.104 0 0 1 0-1.594 1.24 1.24 0 0 1 1.674 0l2.656 2.531 7.314-6.97Z\"\n ></BaseIconWithPath>\n );\n});\n\nCheckedCircleFillIcon.displayName = \"CheckedCircleFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CheckedSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm9.995 4.382c.227-.217.539-.312.837-.312.298 0 .61.095.836.312a1.102 1.102 0 0 1 0 1.595l-8.15 7.768a1.24 1.24 0 0 1-1.673 0l-3.494-3.33a1.104 1.104 0 0 1 0-1.594 1.24 1.24 0 0 1 1.674 0l2.656 2.531 7.314-6.97Z\"\n />\n </BaseIcon>\n );\n});\n\nCheckedSquareFillIcon.displayName = \"CheckSquareFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nconst CheckSquareEmptyIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm0 2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-10a2 2 0 0 1 2-2Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCheckSquareEmptyIcon.displayName = \"CheckSquareEmptyIcon\";\n\nexport { CheckSquareEmptyIcon };\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PlusIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M11.99 2.93a1 1 0 0 0-1 1v7h-7a1 1 0 0 0 0 2h7v7a1 1 0 0 0 2 0v-7h7a1 1 0 0 0 0-2h-7v-7a1 1 0 0 0-1-1Z\"\n />\n </BaseIcon>\n );\n },\n);\n\nPlusIcon.displayName = \"PlusIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ReduceIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <rect\n x=\"4\"\n y=\"11\"\n width=\"16\"\n height=\"1.5\"\n rx=\"0.666667\"\n fill=\"currentcolor\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n },\n);\n\nReduceIcon.displayName = \"ReduceIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CircleOutlinedIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.014 1.999c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z\"\n />\n </BaseIcon>\n );\n});\n\nCircleOutlinedIcon.displayName = \"CircleOutlinedIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SquareOutlinedIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm0 2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-10a2 2 0 0 1 2-2Z\"\n />\n </BaseIcon>\n );\n});\n\nSquareOutlinedIcon.displayName = \"SquareOutlinedIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ExclamationFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n d=\"M12.014 1.999c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 5a1 1 0 0 1 1 1v5a1 1 0 0 1-2 0v-5a1 1 0 0 1 1-1Zm0 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"\n />\n </BaseIcon>\n );\n});\n\nExclamationFillIcon.displayName = \"ExclamationFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const QuestionFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.014 1.953c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 5a3.006 3.006 0 0 1 3 3c.004 1.11-.516 2.044-1.375 2.906-.18.181-.353.355-.563.532-.099.084-.376.287-.406.312-.422.356-1.05.33-1.406-.094a1.035 1.035 0 0 1 .125-1.437l.375-.313c.168-.14.335-.272.47-.406.518-.522.782-1.022.78-1.5a1 1 0 0 0-1.969-.25c-.14.534-.685.86-1.219.72a1.034 1.034 0 0 1-.718-1.25 2.995 2.995 0 0 1 2.906-2.22Zm0 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nQuestionFillIcon.displayName = \"ExclamationFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowLeftRightIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M21.995 16.007c0-.256-.086-.523-.28-.719l-3.72-3.687-1.406 1.406 1.968 2H3.995a1 1 0 000 2h14.562l-1.968 2 1.406 1.406 3.72-3.687c.194-.196.28-.463.28-.719zm-1-8a1 1 0 00-1-1H5.432l1.97-2-1.407-1.406-3.719 3.687a1.03 1.03 0 000 1.438l3.72 3.687L7.4 11.007l-1.969-2h14.563a1 1 0 001-1z\"\n ref={ref}\n {...props}\n />\n );\n});\n\nArrowLeftRightIcon.displayName = \"ArrowLeftRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowDownUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M16.007 2.014c-.256 0-.523.086-.718.281L11.6 6.015l1.406 1.405 2-1.968v14.562a1 1 0 002 0V5.452l2 1.968 1.407-1.406-3.688-3.719a1.012 1.012 0 00-.719-.28zm-8 1a1 1 0 00-1 1v14.562l-2-1.968-1.406 1.406 3.688 3.72c.39.39 1.047.39 1.437 0l3.688-3.72-1.407-1.406-2 1.968V4.014a1 1 0 00-1-1z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nArrowDownUpIcon.displayName = \"ArrowDownUpIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowUpSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.99 20.99a4 4 0 01-4-4v-10a4 4 0 014-4h10a4 4 0 014 4v10a4 4 0 01-4 4h-10zm5-4a1 1 0 001-1v-5h3l-4-4-4 4h3v5a1 1 0 001 1z\"\n ></BaseIconWithPath>\n );\n});\n\nArrowUpSquareFillIcon.displayName = \"ArrowUpSquareFillIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ArrowDownSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M6.99 2.99a4 4 0 00-4 4v10a4 4 0 004 4h10a4 4 0 004-4v-10a4 4 0 00-4-4h-10zm5 4a1 1 0 011 1v5h3l-4 4-4-4h3v-5a1 1 0 011-1z\"\n />\n </BaseIcon>\n );\n});\n\nArrowDownSquareFillIcon.displayName = \"ArrowDownSquareFillIconIcon\";\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const ArrowLeftRightSquareFill = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.74463 4.07796C1.74463 2.78938 2.78938 1.74463 4.07796 1.74463H9.9113C11.1999 1.74463 12.2446 2.78938 12.2446 4.07796V9.9113C12.2446 11.1999 11.1999 12.2446 9.9113 12.2446H4.07796C2.78938 12.2446 1.74463 11.1999 1.74463 9.9113V4.07796ZM6.5 5.5C6.224 5.5 6 5.724 6 6C6 6.276 6.224 6.5 6.5 6.5H9V8L11 6L9 4V5.5H6.5ZM7.5 7.5C7.776 7.5 8 7.724 8 8C8 8.276 7.776 8.5 7.5 8.5H5V10L3 8L5 6V7.5H7.5Z\"\n />\n </svg>\n );\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ArrowLeftRightSquareFill.displayName = \"ArrowLeftRightSquareFill\";\n}\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowRightUpSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M12.7432 15.743C14.3999 15.743 15.7432 14.3998 15.7432 12.743V5.24304C15.7432 3.58629 14.3999 2.24304 12.7432 2.24304H5.24316C3.58641 2.24304 2.24316 3.58629 2.24316 5.24304V12.743C2.24316 14.3998 3.58641 15.743 5.24316 15.743H12.7432ZM6.74316 11.993C6.55116 11.993 6.35092 11.9285 6.20392 11.7823C5.91142 11.489 5.91142 10.997 6.20392 10.7038L9.20392 7.7038L7.49316 5.99304H11.9932V10.493L10.2824 8.78229L7.28241 11.7823C7.13616 11.9285 6.93516 11.993 6.74316 11.993Z\"\n ref={ref}\n {...props}\n />\n );\n});\n\nArrowRightUpSquareFillIcon.displayName = \"ArrowRightUpSquareFillIcon\";\n","export const AssetIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.9004 5H12.9004V6.59961L13.5 6.90039C13.8 7.10039 14.1008 7.29961 14.3008 7.59961C14.5008 7.89961 14.7008 8.19961 14.8008 8.59961C14.9008 8.99961 15 9.40039 15 9.90039H13.0996C13.0996 9.30039 13.0008 8.89961 12.8008 8.59961C12.6008 8.29961 12.4 8.19922 12 8.19922C11.8 8.19922 11.6 8.20078 11.5 8.30078L11.1992 8.59961C11.0992 8.69961 11.1 8.9 11 9C10.9 9.1 10.9004 9.3 10.9004 9.5C10.9004 9.7 11 9.8 11 10C11 10.2 11.0992 10.3004 11.1992 10.4004C11.2992 10.6004 11.3996 10.7008 11.5996 10.8008C11.6996 10.9008 11.8992 10.9996 12.1992 11.0996C12.5992 11.2996 13.0008 11.4992 13.3008 11.6992C13.7008 11.8992 13.9992 12.1004 14.1992 12.4004C14.4992 12.7004 14.7008 13.0008 14.8008 13.3008C14.9008 13.6008 15 14 15 14.5C15 15 14.9008 15.3992 14.8008 15.6992C14.7008 16.0992 14.5008 16.2996 14.3008 16.5996C14.1008 16.7996 13.8 16.9992 13.5 17.1992C13.3 17.2992 13.2 17.4004 13 17.4004V19H11V17.3008C10.8 17.2008 10.6004 17.1996 10.4004 17.0996C10.0004 16.9996 9.8 16.8 9.5 16.5C9.3 16.3 9.10039 15.9 8.90039 15.5C8.80039 15 8.69922 14.5004 8.69922 13.9004H10.6992C10.6992 14.2004 10.7008 14.5008 10.8008 14.8008C10.9008 15.1008 10.9996 15.3004 11.0996 15.4004C11.1996 15.5004 11.3 15.5992 11.5 15.6992C11.7 15.7992 11.8 15.8008 12 15.8008C12.2 15.8008 12.3 15.7992 12.5 15.6992C12.7 15.5992 12.8004 15.5004 12.9004 15.4004C13.0004 15.3004 12.9996 15.2 13.0996 15C13.1996 14.9 13.1992 14.7 13.1992 14.5C13.1992 14.3 13.0996 14.1 13.0996 14C13.0996 13.9 13.0004 13.6996 12.9004 13.5996C12.8004 13.3996 12.7 13.2992 12.5 13.1992L11.9004 12.9004C11.5004 12.7004 11.1008 12.5008 10.8008 12.3008C10.4008 12.1008 10.1004 11.8996 9.90039 11.5996C9.60039 11.3996 9.40078 11.0992 9.30078 10.6992C9.20078 10.3992 9.09961 10 9.09961 9.5C9.09961 9.1 9.09922 8.70039 9.19922 8.40039C9.39922 8.10039 9.50078 7.8 9.80078 7.5C10.0008 7.2 10.2004 7.00039 10.4004 6.90039C10.6004 6.80039 10.7004 6.69922 10.9004 6.69922V5Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"9\"\n stroke=\"white\"\n strokeOpacity={0.8}\n strokeWidth=\"2\"\n />\n </svg>\n );\n};\n","export const BarChartIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18.0142 3.9978C16.9092 3.9978 16.0142 4.8928 16.0142 5.9978V17.9978C16.0142 19.1028 16.9092 19.9978 18.0142 19.9978H20.0142C21.1192 19.9978 22.0142 19.1028 22.0142 17.9978V5.9978C22.0142 4.8928 21.1192 3.9978 20.0142 3.9978H18.0142ZM18.0142 5.9978H20.0142V17.9978H18.0142V5.9978ZM11.0142 7.9978C9.90917 7.9978 9.01416 8.8928 9.01416 9.9978V17.9978C9.01416 19.1028 9.90917 19.9978 11.0142 19.9978H13.0142C14.1192 19.9978 15.0142 19.1028 15.0142 17.9978V9.9978C15.0142 8.8928 14.1192 7.9978 13.0142 7.9978H11.0142ZM11.0142 9.9978H13.0142V17.9978H11.0142V9.9978ZM4.01416 11.9978C2.90916 11.9978 2.01416 12.8928 2.01416 13.9978V17.9978C2.01416 19.1028 2.90916 19.9978 4.01416 19.9978H6.01416C7.11916 19.9978 8.01416 19.1028 8.01416 17.9978V13.9978C8.01416 12.8928 7.11916 11.9978 6.01416 11.9978H4.01416ZM4.01416 13.9978H6.01416V17.9978H4.01416V13.9978Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","export const BattleIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.59485 3L4.43619 6.47708L9.86872 11.7606L7.84097 13.9847L7.13438 13.2513L5.94468 14.4805L6.69071 15.2513L4.58079 17.5637L4.1897 17.163L3 18.3922L5.52401 21L6.71371 19.7708L6.32262 19.3667L8.56399 17.1902L9.31002 17.9576L10.4997 16.7284L9.79314 15.9983L12.0082 13.8387L14.2167 15.9881L13.5003 16.7284L14.69 17.9576L15.4426 17.18L17.684 19.3565L17.283 19.7708L18.476 21L21 18.3922L19.8103 17.163L19.4291 17.5569L17.3192 15.2411L18.0553 14.4805L16.8656 13.2513L16.1656 13.9745L14.1477 11.7606L14.151 11.7572L12.0082 9.41087L6.9602 3.86927L3.59485 3ZM20.4216 3L17.0562 3.86927L12.9777 8.34465L15.2454 10.691L19.5802 6.47708L20.4216 3Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const BattleActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Battle\">\n <path\n d=\"M2.66095 2.5L3.59576 6.17025L9.63192 11.7473L7.37886 14.095L6.59375 13.3208L5.27186 14.6183L6.10079 15.4319L3.75644 17.8728L3.32189 17.4498L2 18.7473L4.80446 21.5L6.12635 20.2025L5.6918 19.776L8.18222 17.4785L9.01114 18.2885L10.333 16.991L9.54793 16.2204L12.0091 13.9409L14.463 16.2097L13.667 16.991L14.9889 18.2885L15.8251 17.4677L18.3155 19.7652L17.87 20.2025L19.1955 21.5L22 18.7473L20.6781 17.4498L20.2545 17.8656L17.9102 15.4211L18.7281 14.6183L17.4062 13.3208L16.6284 14.0842L14.3863 11.7473L14.39 11.7437L12.0091 9.26702L6.40022 3.41756L2.66095 2.5Z\"\n fill=\"url(#paint0_linear_battle_active)\"\n />\n <path\n d=\"M21.3574 2.5L17.6181 3.41756L13.0864 8.14158L15.6061 10.6183L20.4226 6.17025L21.3574 2.5Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_battle_active\"\n x1=\"22\"\n y1=\"12\"\n x2=\"2\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const BattleInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Battle\">\n <path\n d=\"M2.66095 2.5L3.59576 6.17025L9.63192 11.7473L7.37886 14.095L6.59375 13.3208L5.27186 14.6183L6.10079 15.4319L3.75644 17.8728L3.32189 17.4498L2 18.7473L4.80446 21.5L6.12635 20.2025L5.6918 19.776L8.18222 17.4785L9.01114 18.2885L10.333 16.991L9.54793 16.2204L12.0091 13.9409L14.463 16.2097L13.667 16.991L14.9889 18.2885L15.8251 17.4677L18.3155 19.7652L17.87 20.2025L19.1955 21.5L22 18.7473L20.6781 17.4498L20.2545 17.8656L17.9102 15.4211L18.7281 14.6183L17.4062 13.3208L16.6284 14.0842L14.3863 11.7473L14.39 11.7437L12.0091 9.26702L6.40022 3.41756L2.66095 2.5Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M21.3574 2.5L17.6181 3.41756L13.0864 8.14158L15.6061 10.6183L20.4226 6.17025L21.3574 2.5Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const BattleSolidActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M2.66095 2.5L3.59576 6.17025L9.63192 11.7473L7.37886 14.095L6.59375 13.3208L5.27186 14.6183L6.10079 15.4319L3.75644 17.8728L3.32189 17.4498L2 18.7473L4.80446 21.5L6.12635 20.2025L5.6918 19.776L8.18222 17.4785L9.01114 18.2885L10.333 16.991L9.54793 16.2204L12.0091 13.9409L14.463 16.2097L13.667 16.991L14.9889 18.2885L15.8251 17.4677L18.3155 19.7652L17.87 20.2025L19.1955 21.5L22 18.7473L20.6781 17.4498L20.2545 17.8656L17.9102 15.4211L18.7281 14.6183L17.4062 13.3208L16.6284 14.0842L14.3863 11.7473L14.39 11.7437L12.0091 9.26702L6.40022 3.41756L2.66095 2.5ZM21.3573 2.5L17.618 3.41756L13.0864 8.14158L15.606 10.6183L20.4225 6.17025L21.3573 2.5Z\"\n fill=\"url(#paint0_linear_battle_solid_active)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_battle_solid_active\"\n x1=\"22\"\n y1=\"12\"\n x2=\"2\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#59B0FE\" />\n <stop offset=\"1\" stopColor=\"#26FEFE\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const BattleSolidInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M2.66095 2.5L3.59576 6.17025L9.63192 11.7473L7.37886 14.095L6.59375 13.3208L5.27186 14.6183L6.10079 15.4319L3.75644 17.8728L3.32189 17.4498L2 18.7473L4.80446 21.5L6.12635 20.2025L5.6918 19.776L8.18222 17.4785L9.01114 18.2885L10.333 16.991L9.54793 16.2204L12.0091 13.9409L14.463 16.2097L13.667 16.991L14.9889 18.2885L15.8251 17.4677L18.3155 19.7652L17.87 20.2025L19.1955 21.5L22 18.7473L20.6781 17.4498L20.2545 17.8656L17.9102 15.4211L18.7281 14.6183L17.4062 13.3208L16.6284 14.0842L14.3863 11.7473L14.39 11.7437L12.0091 9.26702L6.40022 3.41756L2.66095 2.5ZM21.3573 2.5L17.618 3.41756L13.0864 8.14158L15.606 10.6183L20.4225 6.17025L21.3573 2.5Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const FeeTierIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M7.998 2.014a4 4 0 00-4 4v12a4 4 0 004 4h8a4 4 0 004-4v-12a4 4 0 00-4-4h-8zm0 2h8a2 2 0 012 2v12a2 2 0 01-2 2h-8a2 2 0 01-2-2v-12a2 2 0 012-2zm1 2a1 1 0 00-1 1v1a1 1 0 001 1h6a1 1 0 001-1v-1a1 1 0 00-1-1h-6zm0 4a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm-6 3a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 00-1 1v3a1 1 0 002 0v-3a1 1 0 00-1-1zm-6 3a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nFeeTierIcon.displayName = \"FeeTierIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EarnActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Earn\">\n <path\n d=\"M10.7999 2C15.2182 2 18.7999 5.58172 18.7999 10C18.7999 14.4183 15.2182 18 10.7999 18C6.38165 18 2.79993 14.4183 2.79993 10C2.79993 5.58172 6.38165 2 10.7999 2ZM9.79993 7C8.69536 7 7.79993 7.89543 7.79993 9V11C7.79993 12.1046 8.69536 13 9.79993 13H11.7999C12.9045 13 13.7999 12.1046 13.7999 11V9C13.7999 7.89543 12.9045 7 11.7999 7H9.79993Z\"\n fill=\"url(#paint0_linear_earn_active)\"\n />\n <path\n d=\"M19.6034 8.1276C19.5434 7.84577 19.8603 7.62722 20.0756 7.81876C21.7466 9.3053 22.8005 11.4702 22.8005 13.8826C22.8002 18.3657 19.1655 22.0005 14.6824 22.0007C12.27 22.0007 10.1051 20.9467 8.61857 19.2758C8.42703 19.0605 8.64561 18.7434 8.92748 18.8033C9.53166 18.9317 10.1582 18.9998 10.8005 18.9998C10.9368 18.9997 11.0722 18.9957 11.207 18.9893C11.2715 18.9862 11.3354 19.0036 11.3898 19.0385C12.3404 19.6468 13.4701 20.0007 14.6824 20.0007C17.9555 20.0005 20.6288 17.4294 20.7927 14.197L20.8005 13.8826C20.8005 12.6708 20.4471 11.5414 19.8392 10.591C19.8044 10.5365 19.787 10.4727 19.79 10.4082C19.7965 10.2728 19.8005 10.1365 19.8005 9.99976C19.8005 9.35761 19.7321 8.73148 19.6034 8.1276Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_earn_active\"\n x1=\"18.7999\"\n y1=\"10\"\n x2=\"2.79993\"\n y2=\"10\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EarnInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Earn\">\n <path\n d=\"M10.7999 2C15.2182 2 18.7999 5.58172 18.7999 10C18.7999 14.4183 15.2182 18 10.7999 18C6.38165 18 2.79993 14.4183 2.79993 10C2.79993 5.58172 6.38165 2 10.7999 2ZM9.79993 7C8.69536 7 7.79993 7.89543 7.79993 9V11C7.79993 12.1046 8.69536 13 9.79993 13H11.7999C12.9045 13 13.7999 12.1046 13.7999 11V9C13.7999 7.89543 12.9045 7 11.7999 7H9.79993Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M19.6034 8.12792C19.5435 7.84606 19.8606 7.62751 20.0758 7.81905C21.7464 9.30546 22.7998 11.4698 22.7998 13.8818C22.7998 18.3653 19.1651 22 14.6816 22C12.2696 21.9999 10.1053 20.9466 8.61887 19.276C8.42732 19.0607 8.64587 18.7437 8.92773 18.8036C9.53159 18.9319 10.1577 19 10.7998 19C10.9363 19 11.0722 18.9959 11.2072 18.9895C11.2718 18.9864 11.3356 19.0039 11.3901 19.0387C12.3405 19.6468 13.4696 20 14.6816 20C17.955 20 20.6283 17.429 20.792 14.1963L20.7998 13.8818C20.7998 12.6698 20.4466 11.5407 19.8385 10.5903C19.8037 10.5358 19.7862 10.472 19.7893 10.4074C19.7957 10.2724 19.7998 10.1366 19.7998 10C19.7998 9.3579 19.7318 8.73178 19.6034 8.12792Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EditIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M16.995 1.953a1.02 1.02 0 00-.719.281l-3 3.002-9.006 9.005-1 1c-.14.14-.212.338-.25.532l-1 5.003a.974.974 0 001.155 1.157l5.003-1c.194-.04.392-.112.532-.25l1-1.002 9.005-9.005c.445-.444 2.447-2.446 3.003-3a1.02 1.02 0 00.28-.72c0-1.637-.417-2.807-1.282-3.69-.873-.89-2.039-1.313-3.72-1.313zm.395 2.02c.902.052 1.488.26 1.889.67.41.417.669.997.724 1.882-.547.547-1.35 1.337-2.006 1.994l-2.565-2.564c.658-.657 1.41-1.436 1.958-1.983zm-3.396 3.42l2.564 2.564-7.567 7.567-2.564-2.564 7.568-7.567zM4.99 16.398l2.564 2.564-.094.094c-.66.132-1.993.411-3.22.657l.656-3.22.094-.095z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEditIcon.displayName = \"EditIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EyeIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.001 3.998c-2.959 0-5.452 1.454-7.5 3.844a16.652 16.652 0 00-1.812 2.562c-.302.528-.486.936-.594 1.188a1.058 1.058 0 000 .812c.108.252.292.66.594 1.188a16.652 16.652 0 001.812 2.562c2.048 2.39 4.541 3.844 7.5 3.844 2.96 0 5.452-1.454 7.5-3.844a16.652 16.652 0 001.812-2.562c.302-.528.486-.936.594-1.188a1.058 1.058 0 000-.812c-.108-.252-.292-.66-.594-1.188a16.652 16.652 0 00-1.812-2.562c-2.048-2.39-4.54-3.844-7.5-3.844zm0 4a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 3.999 2 2 0 000-4z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEyeIcon.displayName = \"EyeIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ShareIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M16.998 1.953a3 3 0 0 0-3 3c0 .257.04.577.102.815L8.747 9.504a3.25 3.25 0 0 0-1.75-.55 3 3 0 1 0 0 6c.633 0 1.257-.236 1.74-.569l5.365 3.766a3.2 3.2 0 0 0-.104.802 3 3 0 1 0 3-3c-.632 0-1.248.228-1.731.562l-5.378-3.763a3.2 3.2 0 0 0 .109-.799c0-.268-.038-.557-.104-.804l5.365-3.752c.479.323 1.118.556 1.739.556a3 3 0 1 0 0-6\"\n />\n </BaseIcon>\n );\n }\n);\n\nShareIcon.displayName = \"ShareIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EyeCloseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.001 3.998c-2.959-.007-5.452 1.454-7.5 3.844a16.654 16.654 0 00-1.812 2.562c-.302.528-.486.936-.594 1.188a1.058 1.058 0 000 .812c.108.252.292.66.594 1.188.401.703.87 1.419 1.406 2.094.085.107.76.873 1.344 1.468l-1.157 1.125a1.03 1.03 0 000 1.438 1.03 1.03 0 001.438 0l14-14a1.03 1.03 0 000-1.438 1.014 1.014 0 00-.719-.281c-.256 0-.523.086-.719.28l-1.28 1.314c-1.654-1.106-3.298-1.59-5-1.594zm0 4c.518 0 1.31.137 2.031.562l-1.53 1.532c-.158-.082-.457-.094-.5-.094a2 2 0 00-2 2c0 .044-.015.347.03.53-.192.234-1.5 1.5-1.5 1.5a4.204 4.204 0 01-.53-2.03c-.012-2.21 1.79-4 4-4zm7.938.344s-9.755 9.718-11.063 11.03c1.44.572 2.918.626 3.125.626 2.96 0 5.452-1.454 7.5-3.844a16.652 16.652 0 001.812-2.562c.302-.528.486-.936.594-1.188a1.04 1.04 0 000-.812c-.227-.52-.654-1.347-1.312-2.313-.177-.26-.656-.937-.656-.937z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEyeCloseIcon.displayName = \"EyeCloseIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const RefreshIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.007 2.99a9 9 0 0 0-5.594 1.94 1 1 0 1 0 1.25 1.562 6.97 6.97 0 0 1 4.344-1.5 7 7 0 0 1 7 7h-2l3 4 3-4h-2a9 9 0 0 0-9-9m-8 5-3 4h2a9 9 0 0 0 9 9 9 9 0 0 0 5.594-1.937 1 1 0 1 0-1.25-1.562 6.96 6.96 0 0 1-4.344 1.5 7 7 0 0 1-7-7h2z\"\n />\n </BaseIcon>\n );\n }\n);\n\nRefreshIcon.displayName = \"RefreshIcon\";\n","import { BaseIcon } from \"./baseIcon\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const OrderlyIcon = (props: BaseIconProps) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { BaseIcon } from \"./baseIcon\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const EsOrderlyIcon = (props: BaseIconProps) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const InfoCircleIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { className, opacity = 0.36, ...rest } = props;\n return (\n <svg\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n opacity={opacity}\n className={className}\n ref={ref}\n {...rest}\n >\n <path\n d=\"M7.99925 1.84277C4.31738 1.84277 1.33258 4.82744 1.33258 8.50944C1.33258 12.1914 4.31738 15.1761 7.99925 15.1761C11.6811 15.1761 14.6659 12.1914 14.6659 8.50944C14.6659 4.82744 11.6811 1.84277 7.99925 1.84277ZM7.99925 5.17611C8.36745 5.17611 8.66591 5.47477 8.66591 5.84277C8.66591 6.21077 8.36745 6.50944 7.99925 6.50944C7.63105 6.50944 7.33258 6.21077 7.33258 5.84277C7.33258 5.47477 7.63105 5.17611 7.99925 5.17611ZM7.99925 7.17611C8.36745 7.17611 8.66591 7.47477 8.66591 7.84277V11.1761C8.66591 11.5441 8.36745 11.8428 7.99925 11.8428C7.63105 11.8428 7.33258 11.5441 7.33258 11.1761V7.84277C7.33258 7.47477 7.63105 7.17611 7.99925 7.17611Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n },\n);\n","import { useMemo, type FC } from \"react\";\nimport { Avatar, AvatarBase, avatarVariants } from \"../avatar/avatar\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nexport type WalletIconProps = {\n name: string;\n} & Pick<VariantProps<typeof avatarVariants>, \"size\">;\n\nexport const WalletIcon: FC<WalletIconProps> = (props) => {\n const url = useMemo(() => {\n const split = props.name?.split(\" \");\n const formatWalletName = split?.[0]?.toLowerCase();\n return `https://oss.orderly.network/static/wallet_icon/${formatWalletName}.png`;\n }, [props.name]);\n return <Avatar size={props.size} src={url} alt={`${props.name}`} />;\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CalendarIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M8.006 2.014a1 1 0 0 0-1 1 4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10c0-2.205-1.792-4-4-4a1 1 0 0 0-2 0h-6a1 1 0 0 0-1-1Zm-1 3a1 1 0 0 0 2 0h6a1 1 0 0 0 2 0 2 2 0 0 1 2 2v1h-14v-1a2 2 0 0 1 2-2Zm-2 5h14v7a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-7Zm3 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-8 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nCalendarIcon.displayName = \"CaretLeftIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CopyIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.998 2.99a4 4 0 00-4 4v6a4 4 0 004 4 4 4 0 004 4h6a4 4 0 004-4v-6a4 4 0 00-4-4 4 4 0 00-4-4h-6zm10 6a2 2 0 012 2v6a2 2 0 01-2 2h-6a2 2 0 01-2-2h4a4 4 0 004-4v-4z\"\n />\n );\n }\n);\n\nCopyIcon.displayName = \"CopyIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ServerFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.998 1.953c-4.362 0-8 1.56-8 4s3.638 4 8 4 8-1.559 8-4-3.638-4-8-4m-8 7.625v2.375c0 2.441 3.638 4 8 4s8-1.559 8-4V9.578c-1.814 1.49-4.642 2.375-8 2.375s-6.186-.885-8-2.375m0 6v2.375c0 2.441 3.638 4 8 4s8-1.559 8-4v-2.375c-1.814 1.49-4.642 2.375-8 2.375s-6.186-.885-8-2.375\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nServerFillIcon.displayName = \"ServerFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingAscIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325\"\n fill=\"currentcolor\"\n fillOpacity=\".98\"\n />\n <path\n d=\"M12 21.5c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n fill=\"currentcolor\"\n fillOpacity=\".36\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingAscIcon.displayName = \"SortingAscIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingDescIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325\"\n fill=\"currentcolor\"\n fillOpacity=\".36\"\n />\n <path\n d=\"M12 21.5c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n fill=\"currentcolor\"\n fillOpacity=\".98\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingDescIcon.displayName = \"SortingDescIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowUpShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.993 18.012a1 1 0 0 1-.999-.999V9.458l-2.997 2.966-1.405-1.405 4.683-4.714a1 1 0 0 1 .72-.293c.26 0 .521.098.716.293l4.683 4.714-1.405 1.405-2.997-2.966v7.555a1 1 0 0 1-.999.999\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\n\nexport const ArrowDownShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.993 6.012a1 1 0 0 0-1 .999v7.555L7.998 11.6l-1.405 1.405 4.683 4.714c.195.196.457.293.719.293.26 0 .522-.098.717-.293l4.683-4.714L15.99 11.6l-2.997 2.966V7.011a1 1 0 0 0-1-.999\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nexport const ArrowLeftShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M18.012 11.993a1 1 0 0 0-.999-1H9.458l2.966-2.996-1.405-1.405-4.714 4.683a1 1 0 0 0-.293.719c0 .26.098.522.293.717l4.714 4.683 1.405-1.405-2.966-2.997h7.555a1 1 0 0 0 .999-1\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nexport const ArrowRightShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M6.012 11.993a1 1 0 0 1 .999-1h7.555L11.6 7.998l1.405-1.405 4.714 4.683c.196.195.293.457.293.719 0 .26-.098.522-.293.717l-4.714 4.683L11.6 15.99l2.966-2.997H7.011a1 1 0 0 1-.999-1\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nArrowUpShortIcon.displayName = \"ArrowUpShortIcon\";\nArrowDownShortIcon.displayName = \"ArrowDownShortIcon\";\nArrowLeftShortIcon.displayName = \"ArrowLeftShortIcon\";\nArrowRightShortIcon.displayName = \"ArrowRightShortIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325m0 19c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingIcon.displayName = \"SortingIconIcon\";\n","import { FC } from \"react\";\n\nexport const TraderMobileIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g>\n <path\n d=\"M1.33301 18.6668C1.33301 17.9304 1.92996 17.3335 2.66634 17.3335H5.33301C6.06939 17.3335 6.66634 17.9304 6.66634 18.6668V28.0002C6.66634 28.7365 6.06939 29.3335 5.33301 29.3335H2.66634C1.92996 29.3335 1.33301 28.7365 1.33301 28.0002V18.6668Z\"\n fill=\"url(#paint0_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.33301 18.0002H2.66634C2.29815 18.0002 1.99967 18.2986 1.99967 18.6668V28.0002C1.99967 28.3684 2.29815 28.6668 2.66634 28.6668H5.33301C5.7012 28.6668 5.99967 28.3684 5.99967 28.0002V18.6668C5.99967 18.2986 5.7012 18.0002 5.33301 18.0002ZM2.66634 17.3335C1.92996 17.3335 1.33301 17.9304 1.33301 18.6668V28.0002C1.33301 28.7365 1.92996 29.3335 2.66634 29.3335H5.33301C6.06939 29.3335 6.66634 28.7365 6.66634 28.0002V18.6668C6.66634 17.9304 6.06939 17.3335 5.33301 17.3335H2.66634Z\"\n fill=\"url(#paint1_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M9.33301 12.0001C9.33301 11.2637 9.92996 10.6667 10.6663 10.6667H13.333C14.0694 10.6667 14.6663 11.2637 14.6663 12.0001V28.0001C14.6663 28.7365 14.0694 29.3334 13.333 29.3334H10.6663C9.92996 29.3334 9.33301 28.7365 9.33301 28.0001V12.0001Z\"\n fill=\"url(#paint2_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.333 11.3334H10.6663C10.2982 11.3334 9.99967 11.6319 9.99967 12.0001V28.0001C9.99967 28.3683 10.2982 28.6667 10.6663 28.6667H13.333C13.7012 28.6667 13.9997 28.3683 13.9997 28.0001V12.0001C13.9997 11.6319 13.7012 11.3334 13.333 11.3334ZM10.6663 10.6667C9.92996 10.6667 9.33301 11.2637 9.33301 12.0001V28.0001C9.33301 28.7365 9.92996 29.3334 10.6663 29.3334H13.333C14.0694 29.3334 14.6663 28.7365 14.6663 28.0001V12.0001C14.6663 11.2637 14.0694 10.6667 13.333 10.6667H10.6663Z\"\n fill=\"url(#paint3_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M17.333 16.0001C17.333 15.2637 17.93 14.6667 18.6663 14.6667H21.333C22.0694 14.6667 22.6663 15.2637 22.6663 16.0001V28.0001C22.6663 28.7365 22.0694 29.3334 21.333 29.3334H18.6663C17.93 29.3334 17.333 28.7365 17.333 28.0001V16.0001Z\"\n fill=\"url(#paint4_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M21.333 15.3334H18.6663C18.2982 15.3334 17.9997 15.6319 17.9997 16.0001V28.0001C17.9997 28.3683 18.2982 28.6667 18.6663 28.6667H21.333C21.7012 28.6667 21.9997 28.3683 21.9997 28.0001V16.0001C21.9997 15.6319 21.7012 15.3334 21.333 15.3334ZM18.6663 14.6667C17.93 14.6667 17.333 15.2637 17.333 16.0001V28.0001C17.333 28.7365 17.93 29.3334 18.6663 29.3334H21.333C22.0694 29.3334 22.6663 28.7365 22.6663 28.0001V16.0001C22.6663 15.2637 22.0694 14.6667 21.333 14.6667H18.6663Z\"\n fill=\"url(#paint5_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M25.333 22.6668C25.333 21.9304 25.93 21.3335 26.6663 21.3335H29.333C30.0694 21.3335 30.6663 21.9304 30.6663 22.6668V28.0002C30.6663 28.7365 30.0694 29.3335 29.333 29.3335H26.6663C25.93 29.3335 25.333 28.7365 25.333 28.0002V22.6668Z\"\n fill=\"url(#paint6_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M29.333 22.0002H26.6663C26.2982 22.0002 25.9997 22.2986 25.9997 22.6668V28.0002C25.9997 28.3684 26.2982 28.6668 26.6663 28.6668H29.333C29.7012 28.6668 29.9997 28.3684 29.9997 28.0002V22.6668C29.9997 22.2986 29.7012 22.0002 29.333 22.0002ZM26.6663 21.3335C25.93 21.3335 25.333 21.9304 25.333 22.6668V28.0002C25.333 28.7365 25.93 29.3335 26.6663 29.3335H29.333C30.0694 29.3335 30.6663 28.7365 30.6663 28.0002V22.6668C30.6663 21.9304 30.0694 21.3335 29.333 21.3335H26.6663Z\"\n fill=\"url(#paint7_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M23.9997 3.33341C23.9997 2.96522 24.2981 2.66675 24.6663 2.66675H27.9997C28.3679 2.66675 28.6663 2.96522 28.6663 3.33341V6.66675C28.6663 7.03494 28.3679 7.33341 27.9997 7.33341C27.6315 7.33341 27.333 7.03494 27.333 6.66675V4.94289L20.9425 11.3334C20.4218 11.8541 19.5776 11.8541 19.0569 11.3334L11.9997 4.27622L4.47108 11.8048C4.21073 12.0652 3.78862 12.0652 3.52827 11.8048C3.26792 11.5445 3.26792 11.1224 3.52827 10.862L11.0569 3.33341C11.5776 2.81272 12.4218 2.81272 12.9425 3.33341L19.9997 10.3906L26.3902 4.00008H24.6663C24.2981 4.00008 23.9997 3.7016 23.9997 3.33341Z\"\n fill=\"url(#paint8_linear_1609_10673)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_10673\"\n x1=\"5.99967\"\n y1=\"23.3335\"\n x2=\"1.99967\"\n y2=\"23.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_10673\"\n x1=\"3.99967\"\n y1=\"17.3335\"\n x2=\"3.99967\"\n y2=\"29.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_10673\"\n x1=\"13.9997\"\n y1=\"19.3334\"\n x2=\"9.92665\"\n y2=\"19.3783\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#015B50\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_10673\"\n x1=\"11.9997\"\n y1=\"10.6667\"\n x2=\"11.9997\"\n y2=\"29.3334\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#01B49E\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_10673\"\n x1=\"21.9997\"\n y1=\"22.0001\"\n x2=\"17.9997\"\n y2=\"22.0001\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_10673\"\n x1=\"19.9997\"\n y1=\"14.6667\"\n x2=\"19.9997\"\n y2=\"29.3334\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_10673\"\n x1=\"29.9997\"\n y1=\"25.3335\"\n x2=\"25.9997\"\n y2=\"25.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_10673\"\n x1=\"27.9997\"\n y1=\"21.3335\"\n x2=\"27.9997\"\n y2=\"29.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint8_linear_1609_10673\"\n x1=\"3.66634\"\n y1=\"12.0001\"\n x2=\"21.262\"\n y2=\"-4.99792\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#01B49E\" stopOpacity=\"0.36\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC } from \"react\";\n\nexport const AffiliateIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.6001 14.3967C1.6001 13.86 1.86916 13.359 2.31661 13.0627L15.1166 4.58513C15.6522 4.23041 16.348 4.23041 16.8836 4.58513L29.6836 13.0627C30.131 13.359 30.4001 13.86 30.4001 14.3967V28C30.4001 28.8836 29.6838 29.6 28.8001 29.6H3.2001C2.31644 29.6 1.6001 28.8836 1.6001 28V14.3967Z\"\n fill=\"url(#paint0_linear_1609_7317)\"\n />\n <path\n d=\"M28.8001 28.8V29.6H3.2001V28.8H28.8001ZM29.6001 28V14.3969C29.6001 14.1285 29.4652 13.8778 29.2415 13.7297L16.4415 5.25232C16.2073 5.09729 15.9121 5.07755 15.6626 5.19373L15.5587 5.25232L2.75869 13.7297C2.53497 13.8778 2.4001 14.1285 2.4001 14.3969V28C2.4001 28.4418 2.75827 28.8 3.2001 28.8V29.6L3.03682 29.5914C2.28357 29.515 1.68506 28.9165 1.60869 28.1633L1.6001 28V14.3969C1.6001 13.8937 1.83627 13.4215 2.23447 13.1203L2.3165 13.0625L15.1165 4.58513C15.6521 4.23041 16.3481 4.23041 16.8837 4.58513L29.6837 13.0625C30.1311 13.3588 30.4001 13.8602 30.4001 14.3969V28L30.3915 28.1633C30.3151 28.9165 29.7166 29.515 28.9634 29.5914L28.8001 29.6V28.8C29.2419 28.8 29.6001 28.4418 29.6001 28Z\"\n fill=\"url(#paint1_linear_1609_7317)\"\n />\n <path\n d=\"M5.6001 4.7999C5.6001 3.47442 6.67461 2.3999 8.0001 2.3999H20.1374C20.5617 2.3999 20.9687 2.56847 21.2687 2.86853L25.9315 7.53127C26.2315 7.83133 26.4001 8.2383 26.4001 8.66264V17.2121C26.4001 17.7088 26.1694 18.1774 25.7756 18.4803L16.9998 25.2309C16.4135 25.6819 15.5944 25.6722 15.0189 25.2074L6.19476 18.0802C5.81868 17.7764 5.6001 17.3189 5.6001 16.8355V4.7999Z\"\n fill=\"url(#paint2_linear_1609_7317)\"\n />\n <path\n d=\"M5.6001 16.8358V4.7999C5.6001 3.51582 6.60854 2.46727 7.87666 2.40303L8.0001 2.3999H20.1376L20.2954 2.40771C20.6617 2.44407 21.0063 2.60608 21.2688 2.86865L25.9313 7.53115C26.2313 7.83115 26.4 8.23814 26.4001 8.6624V17.2124L26.3892 17.3968C26.3396 17.8233 26.1203 18.2154 25.7759 18.4804L17.0001 25.2312L16.8876 25.3101C16.3507 25.6545 15.6584 25.6459 15.1298 25.289L15.0188 25.2077L6.19463 18.0804C5.86561 17.8146 5.65728 17.431 5.61025 17.0155L5.6001 16.8358ZM6.4001 16.8358C6.4002 17.0774 6.5098 17.3059 6.69775 17.4577L15.522 24.5851C15.8097 24.8172 16.2187 24.8221 16.5118 24.5968L25.2876 17.846L25.3579 17.7858C25.5118 17.6362 25.6 17.4296 25.6001 17.2124V8.6624C25.6 8.47675 25.5355 8.2977 25.4188 8.15537L25.3657 8.09678L20.7032 3.43428C20.5532 3.2843 20.3497 3.19997 20.1376 3.1999H8.0001C7.11644 3.1999 6.4001 3.91625 6.4001 4.7999V16.8358Z\"\n fill=\"url(#paint3_linear_1609_7317)\"\n />\n <path\n d=\"M1.68437 14.1546C1.80314 14.0019 2.0105 13.9586 2.17734 14.0413L2.24531 14.0843L16.3922 25.0874L29.7461 14.0913C29.9166 13.951 30.1682 13.9755 30.3086 14.146C30.4489 14.3166 30.4244 14.5681 30.2539 14.7085L16.6539 25.9085L16.407 26.1124L16.1547 25.9156L1.75469 14.7156L1.69609 14.6601C1.57487 14.5188 1.56569 14.3073 1.68437 14.1546Z\"\n fill=\"url(#paint4_linear_1609_7317)\"\n />\n <path\n d=\"M15.063 19.8766C15.6222 19.4728 16.3773 19.4728 16.9366 19.8766L29.3969 28.8758C29.7115 29.103 29.5508 29.6001 29.1627 29.6001H2.8368C2.44873 29.6001 2.28801 29.103 2.6026 28.8758L15.063 19.8766Z\"\n fill=\"url(#paint5_linear_1609_7317)\"\n />\n <path\n d=\"M15.0634 19.8766C15.6226 19.4728 16.3776 19.4728 16.9368 19.8766L29.3969 28.8758C29.6919 29.0889 29.5693 29.5393 29.2329 29.5946L29.1634 29.6H2.83679L2.76726 29.5946C2.43083 29.5393 2.3082 29.0889 2.6032 28.8758L15.0634 19.8766ZM16.4688 20.525C16.2242 20.3484 15.9041 20.3262 15.6407 20.4586L15.5313 20.525L4.07429 28.8H27.9259L16.4688 20.525Z\"\n fill=\"url(#paint6_linear_1609_7317)\"\n />\n <path\n d=\"M16.2198 10.2711L15.999 10.4993L15.7783 10.2701C14.9185 9.38023 13.5199 9.37627 12.6562 10.2622L12.6485 10.2701C11.7838 11.164 11.7838 12.6095 12.6485 13.5044L15.6424 16.6463C15.8361 16.8487 16.1523 16.8517 16.3499 16.6532L16.3566 16.6463L19.3515 13.5044C20.2162 12.6105 20.2162 11.165 19.3515 10.2701C18.4917 9.38023 17.0931 9.37627 16.2294 10.2612L16.2198 10.2711Z\"\n fill=\"#B9D1FF\"\n />\n <path\n d=\"M15.9992 9.92654C17.0243 8.93604 18.641 8.95922 19.6391 9.99217L19.7312 10.0922C20.6519 11.146 20.6216 12.7633 19.6406 13.7797L19.6414 13.7804L16.6461 16.9219L16.6437 16.925L16.6336 16.9351C16.2776 17.2926 15.7023 17.2874 15.3531 16.9226V16.9219L12.3586 13.7804V13.7797C11.3466 12.7297 11.3471 11.0404 12.3609 9.99217L12.3695 9.98357V9.98279L12.4672 9.88748C13.4713 8.95732 15.0109 8.97251 15.9992 9.92654ZM19.0641 10.5476C18.3608 9.81979 17.2216 9.81726 16.5156 10.5406L16.507 10.55L16.5062 10.5492L16.2867 10.7773L15.9984 11.075L15.7109 10.7765L15.4898 10.5476V10.5469C14.7865 9.81999 13.6486 9.81767 12.943 10.5414L12.9422 10.5406L12.9351 10.5476L12.9359 10.5484C12.2663 11.2409 12.2241 12.3379 12.8101 13.082L12.9359 13.2265L12.9383 13.2281L15.9312 16.3695L15.9633 16.3922C15.9974 16.4073 16.0371 16.4004 16.0664 16.3711L16.0695 16.3672L19.0617 13.2281L19.0641 13.2258L19.1898 13.0828C19.7369 12.3893 19.7369 11.3867 19.1898 10.6922L19.0641 10.5476Z\"\n fill=\"#B9D1FF\"\n />\n <path\n d=\"M20 7.19997V3.53134C20 2.81862 20.8617 2.46168 21.3657 2.96565L25.8343 7.43428C26.3383 7.93826 25.9814 8.79997 25.2686 8.79997H21.6C20.7163 8.79997 20 8.08363 20 7.19997Z\"\n fill=\"#1F2D94\"\n />\n <path\n d=\"M20 7.19997V3.53122C20.0001 2.8186 20.8617 2.46174 21.3656 2.9656L25.8344 7.43435C26.3068 7.90689 26.0224 8.69348 25.3977 8.78981L25.2688 8.79997V7.99997L20.8 3.53122V7.19997C20.8 7.6418 21.1582 7.99997 21.6 7.99997V8.79997C20.7163 8.79997 20 8.08363 20 7.19997ZM25.2688 7.99997V8.79997H21.6V7.99997H25.2688Z\"\n fill=\"url(#paint7_linear_1609_7317)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_7317\"\n x1=\"2.8001\"\n y1=\"15.5451\"\n x2=\"29.6001\"\n y2=\"15.5451\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#333948\" />\n <stop offset=\"1\" stopColor=\"#181C23\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_7317\"\n x1=\"16.0001\"\n y1=\"3.99998\"\n x2=\"16.0001\"\n y2=\"29.6\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#222832\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_7317\"\n x1=\"25.6001\"\n y1=\"14.3999\"\n x2=\"9.46705\"\n y2=\"7.84048\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1828C3\" />\n <stop offset=\"1\" stopColor=\"#608CFF\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_7317\"\n x1=\"15.2001\"\n y1=\"25.9999\"\n x2=\"23.4343\"\n y2=\"5.74778\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1828C3\" />\n <stop offset=\"1\" stopColor=\"#608CFF\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_7317\"\n x1=\"30\"\n y1=\"14.3999\"\n x2=\"2\"\n y2=\"14.3999\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#3B4355\" />\n <stop offset=\"0.483985\" stopColor=\"#6A7387\" />\n <stop offset=\"1\" stopColor=\"#3B4355\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_7317\"\n x1=\"1.59977\"\n y1=\"24.4001\"\n x2=\"30.3998\"\n y2=\"24.4001\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#333948\" />\n <stop offset=\"1\" stopColor=\"#181C23\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_7317\"\n x1=\"16.0001\"\n y1=\"19.2\"\n x2=\"16.0001\"\n y2=\"29.6\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#656D83\" />\n <stop offset=\"1\" stopColor=\"#222832\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_7317\"\n x1=\"23.6\"\n y1=\"5.19997\"\n x2=\"20\"\n y2=\"8.79997\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#5D86FC\" />\n <stop offset=\"1\" stopColor=\"#4667E8\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC } from \"react\";\n\nexport const TradingRewardsIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.38623 9.2336C7.38623 4.46801 11.2495 0.604736 16.0151 0.604736C20.7807 0.604736 24.644 4.46801 24.644 9.2336C24.644 13.9992 20.7807 17.8625 16.0151 17.8625C11.2495 17.8625 7.38623 13.9992 7.38623 9.2336Z\"\n fill=\"url(#paint0_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.3296 5.18278C19.3806 5.22417 19.3507 5.30493 19.285 5.30493H12.8438C12.778 5.30493 12.7482 5.22417 12.7993 5.18278C13.6911 4.46035 14.8272 4.02759 16.0643 4.02759C17.3016 4.02759 18.4376 4.46035 19.3296 5.18278Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0452 10.6322C14.0081 10.5792 13.9483 10.5459 13.8836 10.5459H11.1677C11.1055 10.5459 11.0601 10.605 11.0774 10.6647C11.7036 12.8282 13.6994 14.4099 16.0646 14.4099C18.4298 14.4099 20.4256 12.8282 21.0517 10.6647C21.069 10.605 21.0236 10.5459 20.9614 10.5459H18.2456C18.1809 10.5459 18.1211 10.5792 18.084 10.6322C17.6382 11.2679 16.8999 11.6834 16.0646 11.6834C15.2293 11.6834 14.491 11.2679 14.0452 10.6322Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.8902 7.56345C17.9277 7.60484 17.9805 7.62978 18.0363 7.62978H20.8773C20.9418 7.62978 20.9874 7.56711 20.9661 7.50639C20.7656 6.93242 20.4672 6.40442 20.0908 5.94243C20.0555 5.89906 20.0022 5.87451 19.9462 5.87451H12.1818C12.1259 5.87451 12.0727 5.89906 12.0373 5.94243C11.661 6.40442 11.3625 6.93242 11.162 7.50639C11.1408 7.56711 11.1864 7.62978 11.2508 7.62978H14.0918C14.1477 7.62978 14.2005 7.60484 14.238 7.56345C14.6889 7.06633 15.34 6.75415 16.0641 6.75415C16.7881 6.75415 17.4392 7.06633 17.8902 7.56345Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.5077 9.9775C18.4594 9.9775 18.425 9.93038 18.4381 9.88382C18.4973 9.67209 18.5289 9.44887 18.5289 9.21826C18.5289 8.89376 18.4662 8.58388 18.3523 8.30011C18.333 8.25208 18.3676 8.19849 18.4193 8.19849H21.0969C21.1308 8.19849 21.1602 8.22244 21.1664 8.2558C21.2248 8.56772 21.2554 8.88947 21.2554 9.21834C21.2554 9.45516 21.2395 9.68821 21.2089 9.91654C21.2041 9.95154 21.1742 9.9775 21.1389 9.9775H18.5077ZM13.6904 9.88382C13.7034 9.93038 13.6692 9.9775 13.6209 9.9775H10.9896C10.9543 9.9775 10.9243 9.95154 10.9196 9.91654C10.8889 9.68821 10.873 9.45516 10.873 9.21834C10.873 8.88947 10.9036 8.56772 10.9621 8.2558C10.9684 8.22244 10.9976 8.19849 11.0316 8.19849H13.7092C13.7609 8.19849 13.7955 8.25208 13.7762 8.30011C13.6622 8.58388 13.5995 8.89376 13.5995 9.21826C13.5995 9.44887 13.6312 9.67209 13.6904 9.88382Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.00258 9.2336C8.00258 13.6588 11.5899 17.2461 16.0151 17.2461C20.4403 17.2461 24.0276 13.6588 24.0276 9.2336C24.0276 4.80841 20.4403 1.22108 16.0151 1.22108C11.5899 1.22108 8.00258 4.80841 8.00258 9.2336ZM16.0151 0.604736C11.2495 0.604736 7.38623 4.46801 7.38623 9.2336C7.38623 13.9992 11.2495 17.8625 16.0151 17.8625C20.7807 17.8625 24.644 13.9992 24.644 9.2336C24.644 4.46801 20.7807 0.604736 16.0151 0.604736Z\"\n fill=\"url(#paint1_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.4248 19.2514C16.1912 19.0438 15.8393 19.0438 15.6058 19.2514L11.6798 22.7412C11.2562 23.1177 11.5225 23.8182 12.0893 23.8182H13.5494V25.6673C13.5494 26.3481 14.1013 26.9 14.7821 26.9H17.2475C17.9283 26.9 18.4802 26.3481 18.4802 25.6673V23.8182H19.9413C20.508 23.8182 20.7744 23.1177 20.3508 22.7412L16.4248 19.2514ZM14.474 27.5163C13.9634 27.5163 13.5494 27.9302 13.5494 28.4408C13.5494 28.9514 13.9634 29.3654 14.474 29.3654H17.5557C18.0663 29.3654 18.4802 28.9514 18.4802 28.4408C18.4802 27.9302 18.0663 27.5163 17.5557 27.5163H14.474ZM13.5494 30.5981C13.5494 30.2577 13.8254 29.9817 14.1658 29.9817H17.8639C18.2043 29.9817 18.4802 30.2577 18.4802 30.5981C18.4802 30.9385 18.2043 31.2144 17.8639 31.2144H14.1658C13.8254 31.2144 13.5494 30.9385 13.5494 30.5981Z\"\n fill=\"url(#paint2_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1658 23.2018V25.6673C14.1658 26.0077 14.4417 26.2836 14.7821 26.2836H17.2475C17.5879 26.2836 17.8639 26.0077 17.8639 25.6673V23.2018H19.9413L16.0153 19.7121L12.0893 23.2018H14.1658ZM12.0893 23.8182C11.5225 23.8182 11.2562 23.1177 11.6798 22.7412L15.6058 19.2514C15.8393 19.0438 16.1912 19.0438 16.4248 19.2514L20.3508 22.7412C20.7744 23.1177 20.508 23.8182 19.9413 23.8182H18.4802V25.6673C18.4802 26.3481 17.9283 26.9 17.2475 26.9H14.7821C14.1013 26.9 13.5494 26.3481 13.5494 25.6673V23.8182H12.0893ZM14.1658 29.9817C13.8254 29.9817 13.5494 30.2577 13.5494 30.5981C13.5494 30.9385 13.8254 31.2144 14.1658 31.2144H17.8639C18.2043 31.2144 18.4802 30.9385 18.4802 30.5981C18.4802 30.2577 18.2043 29.9817 17.8639 29.9817H14.1658ZM14.474 27.5163C13.9634 27.5163 13.5494 27.9302 13.5494 28.4408C13.5494 28.9514 13.9634 29.3654 14.474 29.3654H17.5557C18.0663 29.3654 18.4802 28.9514 18.4802 28.4408C18.4802 27.9302 18.0663 27.5163 17.5557 27.5163H14.474ZM14.474 28.1327C14.3038 28.1327 14.1658 28.2706 14.1658 28.4408C14.1658 28.611 14.3038 28.749 14.474 28.749H17.5557C17.7259 28.749 17.8639 28.611 17.8639 28.4408C17.8639 28.2706 17.7259 28.1327 17.5557 28.1327H14.474Z\"\n fill=\"url(#paint3_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.88568 17.3473C8.87284 17.0263 8.61551 16.7689 8.29446 16.7561L4.99029 16.6239C4.42967 16.6015 4.1331 17.2789 4.52983 17.6756L5.15844 18.3042L3.85097 19.6117C3.36957 20.0931 3.36957 20.8736 3.85097 21.355L4.2868 21.7908C4.76819 22.2722 5.54869 22.2722 6.03009 21.7908L7.33756 20.4833L7.96617 21.1119C8.36291 21.5087 9.04027 21.2121 9.01785 20.6515L8.88568 17.3473ZM2.10768 21.355C2.34838 21.1143 2.73863 21.1143 2.97932 21.355L4.2868 22.6624C4.52749 22.9031 4.52749 23.2934 4.2868 23.5341C4.0461 23.7748 3.65585 23.7748 3.41515 23.5341L2.10768 22.2266C1.86698 21.9859 1.86698 21.5957 2.10768 21.355Z\"\n fill=\"url(#paint4_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.03009 18.3042L4.2868 20.0475C4.0461 20.2882 4.0461 20.6785 4.2868 20.9192L4.72262 21.355C4.96332 21.5957 5.35357 21.5957 5.59427 21.355L7.33756 19.6117L8.40199 20.6761L8.26983 17.3719L4.96566 17.2398L6.03009 18.3042ZM8.29446 16.7561L4.99029 16.6239C4.42967 16.6015 4.1331 17.2789 4.52983 17.6756L5.15844 18.3042L3.85097 19.6117C3.36957 20.0931 3.36957 20.8736 3.85097 21.355L4.2868 21.7908C4.76819 22.2722 5.54869 22.2722 6.03009 21.7908L7.33756 20.4833L7.96617 21.1119C8.36291 21.5087 9.04027 21.2121 9.01785 20.6515L8.88568 17.3473C8.87284 17.0263 8.61551 16.7689 8.29446 16.7561ZM2.97932 21.355C2.73863 21.1143 2.34838 21.1143 2.10768 21.355C1.86698 21.5957 1.86698 21.9859 2.10768 22.2266L3.41515 23.5341C3.65585 23.7748 4.0461 23.7748 4.2868 23.5341C4.52749 23.2934 4.52749 22.9031 4.2868 22.6624L2.97932 21.355Z\"\n fill=\"url(#paint5_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.921 17.3473C22.9338 17.0263 23.1911 16.7689 23.5122 16.7561L26.8164 16.6239C27.377 16.6015 27.6735 17.2789 27.2768 17.6756L26.6482 18.3042L27.9557 19.6117C28.4371 20.0931 28.4371 20.8736 27.9557 21.355L27.5198 21.7908C27.0384 22.2722 26.2579 22.2722 25.7766 21.7908L24.4691 20.4833L23.8405 21.1119C23.4437 21.5087 22.7664 21.2121 22.7888 20.6515L22.921 17.3473ZM29.699 21.355C29.4583 21.1143 29.068 21.1143 28.8273 21.355L27.5198 22.6624C27.2791 22.9031 27.2791 23.2934 27.5198 23.5341C27.7605 23.7748 28.1508 23.7748 28.3915 23.5341L29.699 22.2266C29.9397 21.9859 29.9397 21.5957 29.699 21.355Z\"\n fill=\"url(#paint6_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M25.7766 18.3042L27.5198 20.0475C27.7605 20.2882 27.7605 20.6785 27.5198 20.9192L27.084 21.355C26.8433 21.5957 26.4531 21.5957 26.2124 21.355L24.4691 19.6117L23.4046 20.6761L23.5368 17.3719L26.841 17.2398L25.7766 18.3042ZM23.5122 16.7561L26.8164 16.6239C27.377 16.6015 27.6735 17.2789 27.2768 17.6756L26.6482 18.3042L27.9557 19.6117C28.4371 20.0931 28.4371 20.8736 27.9557 21.355L27.5198 21.7908C27.0384 22.2722 26.2579 22.2722 25.7766 21.7908L24.4691 20.4833L23.8405 21.1119C23.4437 21.5087 22.7664 21.2121 22.7888 20.6515L22.921 17.3473C22.9338 17.0263 23.1911 16.7689 23.5122 16.7561ZM28.8273 21.355C29.068 21.1143 29.4583 21.1143 29.699 21.355C29.9397 21.5957 29.9397 21.9859 29.699 22.2266L28.3915 23.5341C28.1508 23.7748 27.7605 23.7748 27.5198 23.5341C27.2791 23.2934 27.2791 22.9031 27.5198 22.6624L28.8273 21.355Z\"\n fill=\"url(#paint7_linear_1609_7349)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_7349\"\n x1=\"22.4867\"\n y1=\"8.61726\"\n x2=\"9.32517\"\n y2=\"9.12524\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#5806D4\" />\n <stop offset=\"1\" stopColor=\"#BB6CED\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_7349\"\n x1=\"16.0151\"\n y1=\"0.604736\"\n x2=\"16.0151\"\n y2=\"17.8625\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#BD6CED\" />\n <stop offset=\"1\" stopColor=\"#5A08DD\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_7349\"\n x1=\"20.1752\"\n y1=\"20.7365\"\n x2=\"11.8545\"\n y2=\"20.7365\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#28303B\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_7349\"\n x1=\"16.0069\"\n y1=\"19.4285\"\n x2=\"16.0069\"\n y2=\"30.9792\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_7349\"\n x1=\"11.0242\"\n y1=\"20.3888\"\n x2=\"5.14058\"\n y2=\"14.5052\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_7349\"\n x1=\"8.7345\"\n y1=\"16.8618\"\n x2=\"2.74525\"\n y2=\"22.8511\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_7349\"\n x1=\"20.7824\"\n y1=\"20.3888\"\n x2=\"26.6661\"\n y2=\"14.5052\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_7349\"\n x1=\"23.2796\"\n y1=\"16.8618\"\n x2=\"29.2688\"\n y2=\"22.8511\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" stopOpacity=\"0.411765\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PortfolioActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Portfolio\">\n <path\n id=\"Vector\"\n d=\"M8.9688 13.3124C6.3545 14.0269 4.5 16.3001 4.5 18.9999V20.9999C4.5 21.5522 4.9477 21.9999 5.5 21.9999H19.5C20.0523 21.9999 20.5 21.5522 20.5 20.9999V18.9999C20.5 16.3001 18.6455 14.0269 16.0312 13.3124C15.8071 13.2511 15.5869 13.2794 15.375 13.3749C14.4595 13.7875 13.4849 13.9999 12.5 13.9999C11.5151 13.9999 10.5405 13.7875 9.625 13.3749C9.4131 13.2794 9.1929 13.2511 8.9688 13.3124Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n id=\"Vector_2\"\n d=\"M12.5 2C9.7386 2 7.5 4.2386 7.5 7C7.5 9.7614 9.7386 12 12.5 12C15.2614 12 17.5 9.7614 17.5 7C17.5 4.2386 15.2614 2 12.5 2Z\"\n fill=\"url(#paint0_linear_148_26239)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_148_26239\"\n x1=\"17.5\"\n y1=\"7\"\n x2=\"7.5\"\n y2=\"7\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PortfolioInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Portfolio\">\n <path\n id=\"Vector\"\n d=\"M8.9688 13.3124C6.3545 14.0269 4.5 16.3001 4.5 18.9999V20.9999C4.5 21.5522 4.9477 21.9999 5.5 21.9999H19.5C20.0523 21.9999 20.5 21.5522 20.5 20.9999V18.9999C20.5 16.3001 18.6455 14.0269 16.0312 13.3124C15.8071 13.2511 15.5869 13.2794 15.375 13.3749C14.4595 13.7875 13.4849 13.9999 12.5 13.9999C11.5151 13.9999 10.5405 13.7875 9.625 13.3749C9.4131 13.2794 9.1929 13.2511 8.9688 13.3124Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n id=\"Vector_2\"\n d=\"M12.5 2C9.7386 2 7.5 4.2386 7.5 7C7.5 9.7614 9.7386 12 12.5 12C15.2614 12 17.5 9.7614 17.5 7C17.5 4.2386 15.2614 2 12.5 2Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const TradingActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Trading\">\n <path\n id=\"Vector 646 (Stroke)\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.5 7C2.5 6.44772 2.94772 6 3.5 6H5.66905C7.77663 6 9.72966 7.10579 10.814 8.91303L13.901 14.058C14.6239 15.2628 15.9259 16 17.3309 16H19.5V14L22.5 17L19.5 20V18H17.3309C15.2234 18 13.2703 16.8942 12.186 15.087L9.09902 9.94202C8.37613 8.7372 7.0741 8 5.66905 8H3.5C2.94772 8 2.5 7.55228 2.5 7Z\"\n fill=\"url(#paint0_linear_134_17004)\"\n />\n <path\n id=\"Subtract\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.5 18C2.94772 18 2.5 17.5523 2.5 17C2.5 16.4477 2.94772 16 3.5 16H5.66905C7.0741 16 8.37613 15.2628 9.09902 14.058L10.3338 12L11.5 13.9436L10.814 15.087C9.72966 16.8942 7.77663 18 5.66905 18H3.5ZM12.6662 12L13.901 9.94202C14.6239 8.7372 15.9259 8 17.3309 8H19.5V10L22.5 7L19.5 4V6H17.3309C15.2234 6 13.2703 7.10579 12.186 8.91303L11.5 10.0563L12.6662 12Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_134_17004\"\n x1=\"22.5\"\n y1=\"13\"\n x2=\"2.5\"\n y2=\"13\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","export const TradingIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2 7C2 6.44772 2.44772 6 3 6H5.16905C7.27663 6 9.22967 7.10579 10.314 8.91303L13.401 14.058C14.1239 15.2628 15.4259 16 16.831 16H19V14L22 17L19 20V18H16.831C14.7234 18 12.7703 16.8942 11.686 15.087L8.59902 9.94202C7.87613 8.7372 6.5741 8 5.16905 8H3C2.44772 8 2 7.55228 2 7Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 18C2.44772 18 2 17.5523 2 17C2 16.4477 2.44772 16 3 16H5.16905C6.5741 16 7.87613 15.2628 8.59902 14.058L9.83381 12L11 13.9437L10.314 15.087C9.22967 16.8942 7.27663 18 5.16905 18H3ZM12.1662 12L13.401 9.94202C14.1239 8.7372 15.4259 8 16.831 8H19V10L22 7L19 4V6H16.831C14.7234 6 12.7703 7.10579 11.686 8.91303L11 10.0563L12.1662 12Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const TradingInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Trading\">\n <path\n id=\"Vector 646 (Stroke)\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.5 7C2.5 6.44772 2.94772 6 3.5 6H5.66905C7.77663 6 9.72967 7.10579 10.814 8.91303L13.901 14.058C14.6239 15.2628 15.9259 16 17.331 16H19.5V14L22.5 17L19.5 20V18H17.331C15.2234 18 13.2703 16.8942 12.186 15.087L9.09902 9.94202C8.37613 8.7372 7.0741 8 5.66905 8H3.5C2.94772 8 2.5 7.55228 2.5 7Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n id=\"Subtract\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.5 18C2.94772 18 2.5 17.5523 2.5 17C2.5 16.4477 2.94772 16 3.5 16H5.66905C7.0741 16 8.37613 15.2628 9.09902 14.058L10.3338 12L11.5 13.9437L10.814 15.087C9.72967 16.8942 7.77663 18 5.66905 18H3.5ZM12.6662 12L13.901 9.94202C14.6239 8.7372 15.9259 8 17.331 8H19.5V10L22.5 7L19.5 4V6H17.331C15.2234 6 13.2703 7.10579 12.186 8.91303L11.5 10.0563L12.6662 12Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const LeaderboardActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M18 11H21C22.103 11 23 11.897 23 13V17C23 18.103 22.103 19 21 19H18V17V11Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M16 7V17V19H8V17V7C8 5.897 8.897 5 10 5H14C15.103 5 16 5.897 16 7Z\"\n fill=\"url(#paint0_linear_999_8196)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_999_8196\"\n x1=\"16\"\n y1=\"12\"\n x2=\"8\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const LeaderboardInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M18 11H21C22.103 11 23 11.897 23 13V17C23 18.103 22.103 19 21 19H18V17V11Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n d=\"M16 7V17V19H8V17V7C8 5.897 8.897 5 10 5H14C15.103 5 16 5.897 16 7Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </BaseIcon>\n );\n};\n","import { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const MarketsActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.75 8C10.6454 8 9.75 8.89543 9.75 10V18C9.75 19.1046 10.6454 20 11.75 20H13.75C14.8546 20 15.75 19.1046 15.75 18V10C15.75 8.89543 14.8546 8 13.75 8H11.75ZM4.75 12C3.64543 12 2.75 12.8954 2.75 14V18C2.75 19.1046 3.64543 20 4.75 20H6.75C7.85457 20 8.75 19.1046 8.75 18V14C8.75 12.8954 7.85457 12 6.75 12H4.75Z\"\n fill=\"white\"\n fillOpacity=\"0.16\"\n />\n <path\n d=\"M16.75 6C16.75 4.89543 17.6454 4 18.75 4H20.75C21.8546 4 22.75 4.89543 22.75 6V18C22.75 19.1046 21.8546 20 20.75 20H18.75C17.6454 20 16.75 19.1046 16.75 18V6Z\"\n fill=\"url(#paint0_linear_2097_10887)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_2097_10887\"\n x1=\"22.75\"\n y1=\"12\"\n x2=\"16.75\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const MarketsInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5 8a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2zm-7 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z\"\n fill=\"#fff\"\n fillOpacity=\".12\"\n />\n <path\n d=\"M16.5 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2z\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const StarChildChatActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n {/* Outer chat bubble */}\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.8889 6.03755C17.4388 6.00078 16.8565 6 15.9999 6H14.7999V4H16.0412C16.8462 3.99999 17.5106 3.99998 18.0518 4.04419C18.6139 4.09012 19.1306 4.18868 19.6159 4.43597C20.3685 4.81947 20.9805 5.43139 21.364 6.18404C21.6112 6.66937 21.7098 7.18608 21.7557 7.74817C21.7999 8.28936 21.7999 8.95372 21.7999 9.75868V13.2408C21.7999 14.0457 21.7999 14.7101 21.7557 15.2513C21.7098 15.8134 21.6112 16.3301 21.364 16.8154C20.9805 17.568 20.3685 18.18 19.6159 18.5635C19.1306 18.8108 18.6139 18.9093 18.0518 18.9552C17.5106 18.9995 16.8462 18.9995 16.0413 18.9994H15.8314L13.5592 21.6507L12.0406 21.6507L9.76852 18.9994H9.5586C8.75364 18.9995 8.08929 18.9995 7.5481 18.9552C6.986 18.9093 6.4693 18.8108 5.98397 18.5635C5.23132 18.18 4.61939 17.568 4.2359 16.8154C3.98861 16.3301 3.89005 15.8134 3.84412 15.2513C3.7999 14.7101 3.79991 14.0457 3.79993 13.2407L3.79993 12.4997H5.79993V13.1994C5.79993 14.056 5.80071 14.6383 5.83748 15.0884C5.8733 15.5268 5.93823 15.751 6.01791 15.9074C6.20966 16.2837 6.51562 16.5897 6.89195 16.7815C7.04835 16.8611 7.27255 16.9261 7.71097 16.9619C8.16106 16.9987 8.74335 16.9994 9.59993 16.9994H10.6885L12.7999 19.4632L14.9114 16.9994H15.9999C16.8565 16.9994 17.4388 16.9987 17.8889 16.9619C18.3273 16.9261 18.5515 16.8611 18.7079 16.7815C19.0842 16.5897 19.3902 16.2837 19.5819 15.9074C19.6616 15.751 19.7266 15.5268 19.7624 15.0884C19.7991 14.6383 19.7999 14.056 19.7999 13.1994V9.8C19.7999 8.94342 19.7991 8.36113 19.7624 7.91104C19.7266 7.47262 19.6616 7.24842 19.5819 7.09202C19.3902 6.71569 19.0842 6.40973 18.7079 6.21799C18.5515 6.1383 18.3273 6.07337 17.8889 6.03755Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n {/* Star child glyph */}\n <path\n d=\"M8.83997 3.27539L12.1163 4.36719V6.26465L8.83997 7.35645L7.74817 10.6328H5.85071L4.75891 7.35645L1.48352 6.26465V4.36719L4.75891 3.27539L5.85071 0H7.74817L8.83997 3.27539ZM6.49817 4.38281L5.86633 5.01465L4.96204 5.31641L5.86633 5.61719L6.49817 6.25L6.79993 7.1543L7.10071 6.25L7.73352 5.61719L8.63782 5.31641L7.73352 5.01465L7.10071 4.38281L6.79993 3.47852L6.49817 4.38281Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n {/* Center plus/star */}\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5756 10.7757L12.2308 8.8103H13.3692L14.0243 10.7757L15.9897 11.4308V12.5692L14.0243 13.2244L13.3692 15.1898H12.2308L11.5756 13.2244L9.61023 12.5692V11.4308L11.5756 10.7757Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const StarChildChatInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n {/* Outer chat bubble (inactive) */}\n <path\n d=\"M17.8889 6.03755C17.4388 6.00078 16.8565 6 15.9999 6H14.7999V4H16.0412C16.8462 3.99999 17.5106 3.99998 18.0518 4.04419C18.6139 4.09012 19.1306 4.18868 19.6159 4.43597C20.3685 4.81947 20.9805 5.43139 21.364 6.18404C21.6112 6.66937 21.7098 7.18608 21.7557 7.74817C21.7999 8.28936 21.7999 8.95372 21.7999 9.75868V13.2408C21.7999 14.0457 21.7999 14.7101 21.7557 15.2513C21.7098 15.8134 21.6112 16.3301 21.364 16.8154C20.9805 17.568 20.3685 18.18 19.6159 18.5635C19.1306 18.8108 18.6139 18.9093 18.0518 18.9552C17.5106 18.9995 16.8462 18.9995 16.0413 18.9994H15.8314L13.5592 21.6507L12.0406 21.6507L9.76852 18.9994H9.5586C8.75364 18.9995 8.08929 18.9995 7.5481 18.9552C6.986 18.9093 6.4693 18.8108 5.98397 18.5635C5.23132 18.18 4.61939 17.568 4.2359 16.8154C3.98861 16.3301 3.89005 15.8134 3.84412 15.2513C3.7999 14.7101 3.79991 14.0457 3.79993 13.2407L3.79993 12.4997H5.79993V13.1994C5.79993 14.056 5.80071 14.6383 5.83748 15.0884C5.8733 15.5268 5.93823 15.751 6.01791 15.9074C6.20966 16.2837 6.51562 16.5897 6.89195 16.7815C7.04835 16.8611 7.27255 16.9261 7.71097 16.9619C8.16106 16.9987 8.74335 16.9994 9.59993 16.9994H10.6885L12.7999 19.4632L14.9114 16.9994H15.9999C16.8565 16.9994 17.4388 16.9987 17.8889 16.9619C18.3273 16.9261 18.5515 16.8611 18.7079 16.7815C19.0842 16.5897 19.3902 16.2837 19.5819 15.9074C19.6616 15.751 19.7266 15.5268 19.7624 15.0884C19.7991 14.6383 19.7999 14.056 19.7999 13.1994V9.8C19.7999 8.94342 19.7991 8.36113 19.7624 7.91104C19.7266 7.47262 19.6616 7.24842 19.5819 7.09202C19.3902 6.71569 19.0842 6.40973 18.7079 6.21799C18.5515 6.1383 18.3273 6.07337 17.8889 6.03755Z\"\n fill=\"#fff\"\n fillOpacity=\"0.36\"\n />\n {/* Star child glyph (inactive) */}\n <path\n d=\"M8.83997 3.27539L12.1163 4.36719V6.26465L8.83997 7.35645L7.74817 10.6328H5.85071L4.75891 7.35645L1.48352 6.26465V4.36719L4.75891 3.27539L5.85071 0H7.74817L8.83997 3.27539ZM6.49817 4.38281L5.86633 5.01465L4.96204 5.31641L5.86633 5.61719L6.49817 6.25L6.79993 7.1543L7.10071 6.25L7.73352 5.61719L8.63782 5.31641L7.73352 5.01465L7.10071 4.38281L6.79993 3.47852L6.49817 4.38281Z\"\n fill=\"#fff\"\n fillOpacity=\"0.36\"\n />\n {/* Center plus/star (inactive subtle) */}\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5756 10.7757L12.2308 8.8103H13.3692L14.0243 10.7757L15.9897 11.4308V12.5692L14.0243 13.2244L13.3692 15.1898H12.2308L11.5756 13.2244L9.61023 12.5692V11.4308L11.5756 10.7757Z\"\n fill=\"#fff\"\n fillOpacity=\"0.12\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseRoundFillIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 28 28\">\n <path\n d=\"M13.9987 2.27881C7.55546 2.27881 2.33206 7.50198 2.33206 13.9455C2.33206 20.389 7.55546 25.6121 13.9987 25.6121C20.4422 25.6121 25.6654 20.389 25.6654 13.9455C25.6654 7.50198 20.4422 2.27881 13.9987 2.27881ZM10.4987 9.27881C10.7972 9.27881 11.1095 9.37915 11.3373 9.60665L13.9987 12.2678L16.6599 9.60665C16.8886 9.37915 17.2001 9.27881 17.4987 9.27881C17.7974 9.27881 18.1089 9.37915 18.3376 9.60665C18.7926 10.0628 18.7926 10.8281 18.3376 11.2843L15.6764 13.9455L18.3376 16.6066C18.7926 17.0628 18.7926 17.8281 18.3376 18.2843C17.8814 18.7393 17.1161 18.7393 16.6599 18.2843L13.9987 15.6231L11.3373 18.2843C10.8817 18.7393 10.1158 18.7393 9.66012 18.2843C9.20454 17.8281 9.20454 17.0628 9.66012 16.6066L12.3211 13.9455L9.66012 11.2843C9.20454 10.8281 9.20454 10.0628 9.66012 9.60665C9.88809 9.37915 10.2002 9.27881 10.4987 9.27881Z\"\n fill=\"white\"\n fillOpacity=\"0.54\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SelectedChoicesFillIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 14 14\">\n <path\n d=\"M7.0083 1.16602C10.2299 1.16604 12.8411 3.7775 12.8413 6.99902C12.8413 10.2208 10.23 12.833 7.0083 12.833C3.78667 12.833 1.17529 10.2208 1.17529 6.99902C1.17554 3.77748 3.78682 1.16602 7.0083 1.16602ZM10.396 4.08301C10.222 4.08303 10.0402 4.13922 9.90771 4.26562L5.64111 8.33105L4.09229 6.85449C3.82733 6.6018 3.38148 6.60197 3.11572 6.85449C2.85068 7.10722 2.85068 7.53236 3.11572 7.78516L5.15381 9.72754C5.41881 9.97998 5.86442 9.98002 6.12939 9.72754L10.8843 5.19629C11.1499 4.94355 11.1498 4.51844 10.8843 4.26562C10.7518 4.1392 10.57 4.08301 10.396 4.08301Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PopupUnionIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 78 35\">\n <path\n d=\"M39 0C44.2354 0 49.0005 0.889223 52.5654 3H78C69.0165 3 61.4172 8.92325 58.8926 17.0771C57.8535 27.1467 49.3443 35 39 35C28.6557 35 20.1455 27.1468 19.1064 17.0771C16.5817 8.92339 8.98344 3 0 3H25.4346C28.9995 0.889223 33.7646 0 39 0Z\"\n fill=\"currentColor\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SpotIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM9 7C7.89543 7 7 7.89543 7 9V11C7 12.1046 7.89543 13 9 13H11C12.1046 13 13 12.1046 13 11V9C13 7.89543 12.1046 7 11 7H9Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M18.8034 8.1276C18.7434 7.84577 19.0603 7.62722 19.2756 7.81876C20.9466 9.3053 22.0006 11.4702 22.0006 13.8826C22.0003 18.3657 18.3655 22.0005 13.8824 22.0007C11.4701 22.0007 9.30514 20.9467 7.81859 19.2758C7.62706 19.0605 7.84563 18.7434 8.1275 18.8033C8.73168 18.9317 9.35821 18.9998 10.0006 18.9998C10.1368 18.9997 10.2723 18.9957 10.407 18.9893C10.4716 18.9862 10.5354 19.0036 10.5898 19.0385C11.5405 19.6468 12.6701 20.0007 13.8824 20.0007C17.1555 20.0005 19.8288 17.4294 19.9927 14.197L20.0006 13.8826C20.0006 12.6708 19.6471 11.5414 19.0392 10.591C19.0044 10.5365 18.987 10.4727 18.9901 10.4082C18.9965 10.2728 19.0006 10.1365 19.0006 9.99976C19.0005 9.35761 18.9321 8.73148 18.8034 8.1276Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PerpsIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 20 20\">\n <path\n d=\"M14.3213 2.44141C16.0928 2.44149 17.4989 3.94461 17.499 5.77441V14.1084C17.4989 15.9382 16.0928 17.4413 14.3213 17.4414H5.67578C3.90506 17.4414 2.49919 15.9382 2.49902 14.1084V5.77441C2.49919 3.94456 3.90505 2.44141 5.67578 2.44141H14.3213ZM4.16504 7.44141V14.1084C4.1652 15.0399 4.84838 15.7744 5.67578 15.7744H5.83203V7.44141H4.16504ZM7.49902 7.44141V15.7744H14.3213C15.1495 15.7743 15.8319 15.0398 15.832 14.1084V7.44141H7.49902ZM10.2441 9.41113C10.5696 9.0857 11.0974 9.0857 11.4229 9.41113L13.0889 11.0771C13.4143 11.4026 13.4143 11.9304 13.0889 12.2559L11.4229 13.9229C11.0975 14.2482 10.5696 14.2481 10.2441 13.9229C9.91871 13.5974 9.91873 13.0696 10.2441 12.7441L11.3213 11.667L10.2441 10.5889C9.91889 10.2635 9.91894 9.73654 10.2441 9.41113ZM5.67578 4.1084C4.84838 4.1084 4.1652 4.8429 4.16504 5.77441H15.832C15.8319 4.84296 15.1495 4.10849 14.3213 4.1084H5.67578Z\"\n fill=\"url(#paint0_linear_perps)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_perps\"\n x1=\"17.499\"\n y1=\"9.9414\"\n x2=\"2.49902\"\n y2=\"9.9414\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#59B0FE\" />\n <stop offset=\"1\" stopColor=\"#26FEFE\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\n\nexport function EmptyStateIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"64\"\n height=\"64\"\n fill=\"none\"\n viewBox=\"0 0 64 64\"\n >\n <rect width=\"36\" height=\"48\" x=\"18\" y=\"5\" fill=\"#07080A\" rx=\"4\"></rect>\n <rect\n width=\"36\"\n height=\"48\"\n x=\"11\"\n y=\"12\"\n fill=\"url(#paint0_linear_309_13641)\"\n rx=\"4\"\n ></rect>\n <rect\n width=\"36\"\n height=\"48\"\n x=\"9\"\n y=\"10\"\n fill=\"url(#paint1_linear_309_13641)\"\n rx=\"4\"\n ></rect>\n <path\n fill=\"#303237\"\n d=\"M36.636 53.323V50H6v3.323C6 55.91 7.943 58 10.462 58H41c-2.392 0-4.364-2.168-4.364-4.663\"\n ></path>\n <rect width=\"9\" height=\"2\" x=\"15\" y=\"16\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"16\" height=\"2\" x=\"15\" y=\"24\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"12\" height=\"3\" x=\"28\" y=\"29\" fill=\"#45484E\" rx=\"1.5\"></rect>\n <path\n fill=\"#45484E\"\n d=\"M33 23a2 2 0 012-2h1.5a1.5 1.5 0 010 3H34a1 1 0 01-1-1z\"\n ></path>\n <rect width=\"9\" height=\"3\" x=\"29\" y=\"37\" fill=\"#45484E\" rx=\"1.5\"></rect>\n <rect width=\"13\" height=\"2\" x=\"15\" y=\"30\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"15\" height=\"2\" x=\"15\" y=\"36\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"24\" height=\"2\" x=\"15\" y=\"42\" fill=\"#3F4146\" rx=\"1\"></rect>\n <path\n fill=\"#181A1D\"\n fillRule=\"evenodd\"\n d=\"M27.24 30.022a12.451 12.451 0 1122.195 9.87l5.328 5.328-1.58 1.58-5.241-5.24a12.452 12.452 0 01-20.703-11.537zm14.193 12.39A10.156 10.156 0 1037.47 22.49a10.156 10.156 0 003.963 19.92z\"\n clipRule=\"evenodd\"\n ></path>\n <path\n fill=\"#54565B\"\n fillRule=\"evenodd\"\n d=\"M27.24 29.022a12.451 12.451 0 1122.195 9.87l5.328 5.328-1.58 1.58-5.241-5.24a12.452 12.452 0 01-20.703-11.537zm14.193 12.39A10.156 10.156 0 1037.47 21.49a10.156 10.156 0 003.963 19.92z\"\n clipRule=\"evenodd\"\n ></path>\n <path\n fill=\"#16181B\"\n d=\"M51.755 43.867c-.99.99-.99 2.596 0 3.586l3.754 3.754a2.536 2.536 0 103.586-3.586l-3.754-3.754a2.536 2.536 0 00-3.586 0z\"\n ></path>\n <path\n fill=\"#4E525C\"\n d=\"M51.755 42.867c-.99.99-.99 2.596 0 3.586l3.754 3.754a2.536 2.536 0 103.586-3.586l-3.754-3.754a2.536 2.536 0 00-3.586 0z\"\n ></path>\n <defs>\n <linearGradient\n id=\"paint0_linear_309_13641\"\n x1=\"27.286\"\n x2=\"48.844\"\n y1=\"55.742\"\n y2=\"25.703\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#0C0D10\"></stop>\n <stop offset=\"1\" stopColor=\"#121418\"></stop>\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_309_13641\"\n x1=\"25.286\"\n x2=\"46.844\"\n y1=\"53.742\"\n y2=\"23.703\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1B1D22\"></stop>\n <stop offset=\"1\" stopColor=\"#26292E\"></stop>\n </linearGradient>\n </defs>\n </svg>\n );\n}\n\nexport default EmptyStateIcon;\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\n\nexport const VectorIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n width=\"20\"\n height=\"13\"\n viewBox=\"0 0 20 13\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillOpacity={0.8}\n d=\"M0.999023 0.103516C0.447023 0.103516 -0.000976562 0.551516 -0.000976562 1.10352C-0.000976562 1.65552 0.447023 2.10352 0.999023 2.10352H18.999C19.551 2.10352 19.999 1.65552 19.999 1.10352C19.999 0.551516 19.551 0.103516 18.999 0.103516H0.999023ZM0.999023 5.10352C0.447023 5.10352 -0.000976562 5.55152 -0.000976562 6.10352C-0.000976562 6.65552 0.447023 7.10352 0.999023 7.10352H18.999C19.551 7.10352 19.999 6.65552 19.999 6.10352C19.999 5.55152 19.551 5.10352 18.999 5.10352H0.999023ZM0.999023 10.1035C0.447023 10.1035 -0.000976562 10.5515 -0.000976562 11.1035C-0.000976562 11.6555 0.447023 12.1035 0.999023 12.1035H18.999C19.551 12.1035 19.999 11.6555 19.999 11.1035C19.999 10.5515 19.551 10.1035 18.999 10.1035H0.999023Z\"\n fill=\"white\"\n />\n </svg>\n );\n },\n);\n\nVectorIcon.displayName = \"VectorIcon\";\n","export const SwapHorizIcon = () => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <mask\n id=\"mask0_2321_5422\"\n style={{ maskType: \"alpha\" }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width=\"20\"\n height=\"20\"\n >\n <rect width=\"20\" height=\"20\" fill=\"#D9D9D9\" />\n </mask>\n <g mask=\"url(#mask0_2321_5422)\">\n <path\n d=\"M6 16.5L2 12.5L6 8.5L7.0625 9.5625L4.875 11.75H11V13.25H4.875L7.0625 15.4375L6 16.5ZM14 11.5L12.9375 10.4375L15.125 8.25H9V6.75H15.125L12.9375 4.5625L14 3.5L18 7.5L14 11.5Z\"\n fill=\"white\"\n fillOpacity=\"0.54\"\n />\n </g>\n </svg>\n );\n};\n","export const PeopleIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.499 2.92969C13.0137 2.92969 10.999 4.94469 10.999 7.42969C10.999 9.91469 13.0137 11.9297 15.499 11.9297C17.9843 11.9297 19.999 9.91469 19.999 7.42969C19.999 4.94469 17.9843 2.92969 15.499 2.92969ZM7.99902 3.92969C5.78992 3.92969 3.99902 5.72069 3.99902 7.92969C3.99902 10.1387 5.78992 11.9297 7.99902 11.9297C8.82842 11.9297 9.61402 11.6767 10.2802 11.2107C10.7329 10.8947 10.8466 10.2577 10.5302 9.80469C10.2138 9.35169 9.60792 9.26969 9.15522 9.58569C8.82232 9.81869 8.41522 9.92969 7.99902 9.92969C6.89442 9.92969 5.99902 9.03469 5.99902 7.92969C5.99902 6.82469 6.89442 5.92969 7.99902 5.92969C8.32522 5.92969 8.62362 6.00168 8.90522 6.14868C9.39522 6.40368 10.0254 6.2317 10.2802 5.7417C10.5351 5.2527 10.3327 4.62168 9.84282 4.36768C9.27772 4.07368 8.64842 3.92969 7.99902 3.92969ZM15.499 4.92969C16.8797 4.92969 17.999 6.04869 17.999 7.42969C17.999 8.81069 16.8797 9.92969 15.499 9.92969C14.1183 9.92969 12.999 8.81069 12.999 7.42969C12.999 6.04869 14.1183 4.92969 15.499 4.92969ZM5.06152 13.2737C3.22742 14.0307 1.99902 15.8857 1.99902 17.9297V19.9297C1.99902 20.4817 2.44672 20.9297 2.99902 20.9297H6.99902C7.55132 20.9297 7.99902 20.4817 7.99902 19.9297C7.99902 19.3777 7.55132 18.9297 6.99902 18.9297H3.99902V17.9297C3.99902 16.8057 4.66572 15.7737 5.43202 15.3197C6.15272 15.6237 6.91512 15.8537 7.59312 15.9107C8.14352 15.9577 8.63982 15.5427 8.68652 14.9917C8.73322 14.4417 8.33552 13.9757 7.78522 13.9287C7.34622 13.8917 6.86642 13.7597 6.31152 13.5237C6.17752 13.4667 6.09972 13.4217 5.84282 13.3047C5.59092 13.1897 5.31732 13.1677 5.06152 13.2737ZM12.0615 13.2737C10.2274 14.0307 8.99902 15.8857 8.99902 17.9297V19.9297C8.99902 20.4817 9.44672 20.9297 9.99902 20.9297H20.999C21.5513 20.9297 21.999 20.4817 21.999 19.9297V17.9297C21.999 15.9337 20.7638 14.1237 18.9365 13.3357C18.6793 13.2247 18.3796 13.2217 18.124 13.3357C17.2392 13.7327 16.3772 13.9297 15.499 13.9297C14.6238 13.9297 13.7588 13.7217 12.8428 13.3047C12.5909 13.1897 12.3173 13.1677 12.0615 13.2737ZM12.446 15.3197C13.3908 15.6777 14.5299 15.9297 15.499 15.9297C16.4605 15.9297 17.5525 15.6947 18.4782 15.3527C19.3808 15.8667 19.999 16.8287 19.999 17.9297V18.9297H10.999V17.9297C10.999 16.7647 11.6549 15.7827 12.446 15.3197Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","export const PersonIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.998 1.95312C9.23665 1.95312 6.99805 4.19172 6.99805 6.95312C6.99805 9.71452 9.23665 11.9531 11.998 11.9531C14.7594 11.9531 16.998 9.71452 16.998 6.95312C16.998 4.19172 14.7594 1.95312 11.998 1.95312ZM11.998 3.95312C13.6549 3.95312 14.998 5.29622 14.998 6.95312C14.998 8.61002 13.6549 9.95312 11.998 9.95312C10.3411 9.95312 8.99805 8.61002 8.99805 6.95312C8.99805 5.29622 10.3411 3.95312 11.998 3.95312ZM8.46685 13.2656C5.85255 13.9801 3.99805 16.2533 3.99805 18.9531V20.9531C3.99805 21.5054 4.44575 21.9531 4.99805 21.9531H18.998C19.5503 21.9531 19.998 21.5054 19.998 20.9531V18.9531C19.998 16.2533 18.1435 13.9801 15.5292 13.2656C15.3051 13.2043 15.0849 13.2326 14.873 13.3281C13.9575 13.7407 12.9829 13.9531 11.998 13.9531C11.0131 13.9531 10.0385 13.7407 9.12305 13.3281C8.91115 13.2326 8.69095 13.2043 8.46685 13.2656ZM8.87305 15.2656C9.88285 15.6475 10.9177 15.9531 11.998 15.9531C13.0783 15.9531 14.1132 15.6475 15.123 15.2656C16.8264 15.7816 17.998 17.2195 17.998 18.9531V19.9531H5.99805V18.9531C5.99805 17.2195 7.16965 15.7816 8.87305 15.2656Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SettingFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.968 2.456a9.669 9.669 0 0 0-3.72 2.187c-.332.31-.434.818-.218 1.219.8 1.48-.037 3.065-1.843 3.156-.443.023-.834.35-.938.78a8.712 8.712 0 0 0-.25 2.188c0 .688.074 1.464.219 2.156.09.433.466.744.906.783 1.818.156 2.718 1.543 1.906 3.311-.18.393-.098.863.219 1.156 1.062.983 2.282 1.675 3.719 2.125.41.13.873-.026 1.125-.375 1.112-1.537 2.725-1.543 3.78 0 .25.364.706.54 1.126.407a10.072 10.072 0 0 0 3.75-2.157c.33-.3.417-.787.219-1.186-.832-1.68.125-3.221 1.843-3.25.456-.008.862-.308.969-.75.173-.717.219-1.342.219-2.22 0-.754-.09-1.497-.25-2.218a.994.994 0 0 0-.97-.781c-1.69-.003-2.638-1.665-1.811-3.125a.979.979 0 0 0-.188-1.22 10.153 10.153 0 0 0-3.812-2.186.986.986 0 0 0-1.125.406c-.966 1.5-2.77 1.527-3.72.03-.242-.382-.723-.574-1.155-.436Zm3.03 5.53a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nSettingFillIcon.displayName = \"SettingFillIcon\";\n","import { FC, SVGProps } from \"react\";\n\nexport const TradingLeftNavIcon: FC<SVGProps<SVGSVGElement>> = (props) => {\n const { width = 24, height = 24, opacity = 0.54, ...rest } = props;\n return (\n <svg\n width={`${width}px`}\n height={`${height}px`}\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <path\n d=\"M5.426 1.66663C5.24175 1.67715 4.98875 1.75081 4.85308 1.85868C4.80817 1.89464 4.67798 2.0148 4.65323 2.05076L1.02049 7.28121C0.892158 7.44872 0.833496 7.67235 0.833496 7.80916C0.833496 8.18539 1.09108 8.41167 1.09108 8.41167L9.28423 18.0043C9.28973 18.0113 9.58307 18.3393 10.0002 18.3332C10.4172 18.3262 10.7106 18.0113 10.7161 18.0043C10.9718 17.7053 18.9404 8.37835 18.9404 8.37835C18.9404 8.37835 19.1668 8.08015 19.1668 7.80916C19.1668 7.53729 18.9486 7.23472 18.9486 7.23472L15.3571 2.05338C15.3315 2.01742 15.2728 2.0297 15.2426 1.99901C15.2059 1.95691 15.2013 1.89728 15.1564 1.86132C15.0207 1.75345 14.8603 1.74292 14.6981 1.7245C14.6541 1.71836 14.6284 1.67013 14.5835 1.67013H14.4973L5.426 1.66663ZM7.36474 3.42414H12.6356L10.0002 6.43841L7.36474 3.42414ZM5.50299 4.02664L8.05224 6.93216H3.46891L5.50299 4.02664ZM14.4973 4.02664L16.5314 6.93216H11.9481L14.4973 4.02664ZM3.69808 8.68616H9.08349V14.9892L3.69808 8.68616ZM10.9168 8.68616H16.3022C15.0235 10.1806 12.4999 13.1387 10.9168 14.9892V8.68616Z\"\n fill=\"white\"\n fillOpacity={opacity}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const VaultsIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path d=\"M13.333 3.33334C13.333 2.96515 13.0345 2.66668 12.6663 2.66668H3.33301C2.96482 2.66668 2.66634 2.96515 2.66634 3.33334V9.33334C2.66634 9.70153 2.96482 10 3.33301 10H12.6663C13.0345 10 13.333 9.70153 13.333 9.33334V3.33334ZM14.6663 9.33334C14.6663 10.4379 13.7709 11.3333 12.6663 11.3333H3.33301C2.22844 11.3333 1.33301 10.4379 1.33301 9.33334V3.33334C1.33301 2.22877 2.22844 1.33334 3.33301 1.33334H12.6663C13.7709 1.33334 14.6663 2.22877 14.6663 3.33334V9.33334Z\" />\n <path d=\"M4.66699 13.3333C4.66699 12.9651 4.96547 12.6667 5.33366 12.6667H10.667C11.0352 12.6667 11.3337 12.9651 11.3337 13.3333C11.3337 13.7015 11.0352 14 10.667 14H5.33366C4.96547 14 4.66699 13.7015 4.66699 13.3333Z\" />\n <path d=\"M10.1859 4.20509C10.4408 3.93953 10.8629 3.93072 11.1286 4.18556C11.3941 4.44049 11.4029 4.86265 11.1481 5.12827L8.48143 7.90626C8.35571 8.03721 8.18184 8.11134 8.00031 8.11134C7.81878 8.11134 7.6449 8.03721 7.51919 7.90626L6.93325 7.29558L5.81476 8.4616C5.55982 8.72716 5.13767 8.73597 4.87205 8.48113C4.60649 8.2262 4.59768 7.80404 4.85252 7.53842L6.45278 5.87176L6.50226 5.82553C6.6222 5.72363 6.77506 5.66668 6.9339 5.66668C7.11531 5.66675 7.28872 5.74089 7.41437 5.87176L7.99965 6.48178L10.1859 4.20509Z\" />\n </svg>\n );\n },\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n VaultsIcon.displayName = \"VaultsIcon\";\n}\n","import { forwardRef } from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const LeftNavVaultsIcon = forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path\n d=\"M20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V14C4 14.5523 4.44772 15 5 15H19C19.5523 15 20 14.5523 20 14V5ZM22 14C22 15.6569 20.6569 17 19 17H5C3.34315 17 2 15.6569 2 14V5C2 3.34315 3.34315 2 5 2H19C20.6569 2 22 3.34315 22 5V14Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M7 20C7 19.4477 7.44772 19 8 19H16C16.5523 19 17 19.4477 17 20C17 20.5523 16.5523 21 16 21H8C7.44772 21 7 20.5523 7 20Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M15.2783 6.30759C15.6607 5.90925 16.2939 5.89604 16.6924 6.27829C17.0907 6.66069 17.1039 7.29393 16.7217 7.69235L12.7217 11.8593C12.5331 12.0558 12.2723 12.167 12 12.167C11.7277 12.167 11.4669 12.0558 11.2783 11.8593L10.3994 10.9433L8.72165 12.6924C8.33925 13.0907 7.70601 13.1039 7.30759 12.7217C6.90925 12.3392 6.89604 11.706 7.27829 11.3076L9.67868 8.80759L9.7529 8.73825C9.93282 8.5854 10.1621 8.49997 10.4004 8.49997C10.6725 8.50008 10.9326 8.61129 11.1211 8.80759L11.999 9.72263L15.2783 6.30759Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </svg>\n );\n },\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n LeftNavVaultsIcon.displayName = \"LeftNavVaultsIcon\";\n}\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const NewsFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12 2.75a1 1 0 0 1 1 1v1a5 5 0 0 1 5 5v5c0 .577.245 1.098.637 1.463.606.565 1.363 1.21 1.363 2.037a1.5 1.5 0 0 1-1.5 1.5h-4.05q.049.243.05.5a2.5 2.5 0 1 1-4.95-.5H5.5a1.5 1.5 0 0 1-1.5-1.5c0-.828.757-1.472 1.363-2.037.392-.365.637-.886.637-1.463v-5a5 5 0 0 1 5-5v-1a1 1 0 0 1 1-1m-1.146 17a1.25 1.25 0 1 0 2.292 0z\"\n />\n </BaseIcon>\n );\n },\n);\n\nNewsFillIcon.displayName = \"NewsFillIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const BellIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M9.992 1.666c-2.96 0-5 2.04-5 5v1.666c0 .269-.135.451-.599.834l-.338.286C3 10.324 2.481 11.141 2.492 12.5a2.53 2.53 0 0 0 2.5 2.5H7.64s-.147.51-.147.833a2.5 2.5 0 1 0 5 0c0-.324-.14-.833-.14-.833h2.64a2.506 2.506 0 0 0 2.5-2.5c-.001-1.348-.521-2.179-1.562-3.047-.068-.057-.31-.241-.365-.286-.453-.379-.572-.569-.572-.834V6.666c0-2.96-2.04-5-5-5m0 1.666c2.04 0 3.334 1.294 3.334 3.334v1.666c0 .885.373 1.444 1.172 2.11.063.052.33.262.39.312.699.583.937.977.938 1.745a.846.846 0 0 1-.834.833h-5c-2.416.001-4.822.002-5 0a.835.835 0 0 1-.833-.833c-.006-.767.232-1.162.938-1.745.057-.047.304-.262.364-.312.811-.67 1.198-1.216 1.198-2.11V6.666c0-2.04 1.294-3.334 3.333-3.334m0 11.667a.834.834 0 1 1 0 1.667.834.834 0 0 1 0-1.667\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nBellIcon.displayName = \"BellIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const WoofiStakeIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props} viewBox=\"0 0 18 19\">\n <path\n d=\"M14.4333 15.5449L13.5283 13.3949C13.3283 12.8099 12.8233 12.5149 12.2183 12.5149C11.6133 12.5149 11.1083 12.9049 10.9083 13.3949L9.89825 15.5449L8.38825 10.7549H6.47325L8.69325 17.6949C8.79325 17.9899 8.99325 18.1849 9.29825 18.1849H10.4083C10.7083 18.1849 10.9133 17.9899 11.0133 17.7949L12.1233 15.0599L13.3333 17.7949C13.4333 17.9899 13.6333 18.1849 13.9383 18.1849H14.9483C15.2483 18.1849 15.4532 17.9899 15.5533 17.7949L16.5633 14.4699H14.7483L14.4333 15.5449Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M15.9433 10.76L15.0333 13.495H16.9483L17.7583 10.76H15.9433Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M1.83325 15.14C1.20325 12.355 2.59325 10.06 3.48825 8.935C4.96325 7.075 7.07825 5.82 8.75325 5.82C11.3283 5.82 13.2983 8.19 14.1833 9.475H16.1533C15.9683 9.13 14.3183 6.2 11.5783 4.84C12.7233 3.945 13.3283 2.58 13.5033 1.34C13.5533 1.005 13.4533 0.665 13.2283 0.405C12.9983 0.15 12.6733 0 12.3283 0H4.69825C4.32325 0 3.97325 0.18 3.74825 0.475C3.52825 0.775 3.45825 1.16 3.56325 1.52C3.76325 2.19 4.39325 3.865 5.79325 4.915C4.47825 5.565 3.19825 6.6 2.17325 7.895C0.298253 10.26 -0.396748 12.995 0.218252 15.59L0.258252 15.71C1.21825 18.095 4.14825 18.48 5.96325 18.48C6.67325 18.48 7.20825 18.42 7.38825 18.395L6.86825 16.765C5.81325 16.85 2.62325 16.94 1.83325 15.14ZM11.7283 1.67C11.4633 2.63 10.6983 4.145 8.55825 4.145C6.75825 4.145 5.82825 2.71 5.39325 1.67H11.7283Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EarnIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10 19C13.866 19 17 15.866 17 12C17 8.13401 13.866 5 10 5C6.13401 5 3 8.13401 3 12C3 15.866 6.13401 19 10 19ZM10 21C14.9706 21 19 16.9706 19 12C19 7.02944 14.9706 3 10 3C5.02944 3 1 7.02944 1 12C1 16.9706 5.02944 21 10 21Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M10 7C10.5523 7 11 7.44772 11 8H12C12.5523 8 13 8.44772 13 9C13 9.55228 12.5523 10 12 10H9V11H12C12.5523 11 13 11.4477 13 12V15C13 15.5523 12.5523 16 12 16H11C11 16.5523 10.5523 17 10 17C9.44772 17 9 16.5523 9 16H8C7.44772 16 7 15.5523 7 15C7 14.4477 7.44772 14 8 14H11V13H8C7.44772 13 7 12.5523 7 12V9C7 8.44772 7.44772 8 8 8H9C9 7.44772 9.44772 7 10 7Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M15.6203 3.72962C15.3518 3.54661 15.4854 3.11807 15.8039 3.18284C19.9099 4.01795 22.9999 7.64751 22.9999 12.0002C22.9998 16.3529 19.9099 19.9825 15.8039 20.8176C15.4854 20.8824 15.3518 20.4538 15.6203 20.2708C16.6993 19.5353 17.6263 18.5936 18.3466 17.5031C18.3641 17.4767 18.3855 17.4531 18.4101 17.4331C19.9893 16.1497 20.9998 14.1938 20.9999 12.0002C20.9999 9.80647 19.9896 7.84985 18.4101 6.56641C18.3855 6.54643 18.3641 6.52284 18.3466 6.49641C17.6263 5.40614 16.6993 4.46488 15.6203 3.72962Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ReferralSolidIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M14.7002 3C16.6882 3.00011 18.2996 4.61163 18.2998 6.59961V7.91797L19.3965 8.64941C20.3979 9.317 20.9998 10.441 21 11.6445V17.4004C20.9998 19.3883 19.3883 20.9998 17.4004 21H6.59961C4.6117 20.9998 3.00021 19.3883 3 17.4004V11.6445C3.00016 10.441 3.60213 9.317 4.60352 8.64941L5.7002 7.91797V6.59961C5.7004 4.61163 7.3118 3.00011 9.2998 3H14.7002ZM13.1055 17.6807C12.4555 18.1862 11.5445 18.1862 10.8945 17.6807L4.7998 12.9395V17.4004C4.80001 18.3942 5.60581 19.2 6.59961 19.2002H17.4004C18.3942 19.2 19.2 18.3942 19.2002 17.4004V12.9395L13.1055 17.6807ZM9.2998 4.7998C8.30591 4.79991 7.50021 5.60574 7.5 6.59961V12.7598L12 16.2598L16.5 12.7598V6.59961C16.4998 5.60574 15.6941 4.79991 14.7002 4.7998H9.2998ZM12.1553 7.9541C12.7383 7.34613 13.6825 7.34927 14.2627 7.96094C14.846 8.57618 14.8462 9.57015 14.2627 10.1846L12.2412 12.3447L12.2363 12.3486C12.1031 12.4849 11.8896 12.4835 11.7588 12.3447L9.7373 10.1846C9.15379 9.56947 9.15402 8.5755 9.7373 7.96094L9.74316 7.95508C10.3262 7.34618 11.2703 7.34919 11.8506 7.96094L11.999 8.11816L12.1484 7.96094L12.1553 7.9541ZM5.60156 10.1475C5.34425 10.319 5.13998 10.5509 5.00195 10.8174L5.7002 11.3594V10.0811L5.60156 10.1475ZM18.2998 11.3594L18.9971 10.8174C18.859 10.551 18.6556 10.3189 18.3984 10.1475L18.2998 10.0811V11.3594Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { forwardRef, SVGProps } from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const AddCircleIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { className, opacity = 0.54, ...rest } = props;\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n opacity={opacity}\n className={className}\n ref={ref}\n {...rest}\n >\n <path\n d=\"M8.47 4.669c.12.12.205.287.205.471v2.15h2.151c.184.001.35.087.471.207a.68.68 0 0 1 .207.472c0 .368-.31.677-.678.678h-2.15v2.15c0 .368-.31.678-.678.678a.687.687 0 0 1-.678-.678v-2.15H5.17a.686.686 0 0 1-.679-.678c0-.368.31-.678.678-.678h2.15V5.14a.687.687 0 0 1 .679-.678c.184 0 .35.085.471.206\"\n fill=\"currentColor\"\n />\n <path\n d=\"M7.999 1.333a6.667 6.667 0 1 0 0 13.333 6.667 6.667 0 0 0 0-13.333m0 1.333a5.334 5.334 0 1 1 0 10.667 5.334 5.334 0 0 1 0-10.667\"\n fill=\"currentColor\"\n />\n </svg>\n );\n },\n);\n\nAddCircleIcon.displayName = \"AddCircleIcon\";\n\nexport default AddCircleIcon;\n","import { BaseIcon } from \"./baseIcon\";\nimport { CombineIcon } from \"./combine\";\n\nexport type { BaseIconProps } from \"./baseIcon\";\nexport { CloseIcon } from \"./close\";\nexport { CheckIcon } from \"./check\";\nexport { ChevronDownIcon } from \"./chevronDown\";\nexport { ChevronUpIcon } from \"./chevronUp\";\nexport { CaretUpIcon } from \"./caretUp\";\nexport { CaretDownIcon } from \"./caretDown\";\nexport { CaretLeftIcon } from \"./caretLeft\";\nexport { CaretRightIcon } from \"./caretRight\";\nexport { ChevronLeftIcon } from \"./chevronLeft\";\nexport { ChevronRightIcon } from \"./chevronRight\";\nexport { CalendarMinusIcon } from \"./calendarMinus\";\nexport { SettingIcon } from \"./setting\";\nexport { CloseSquareFillIcon } from \"./closeSquareFill\";\nexport { CloseCircleFillIcon } from \"./closeCircleFill\";\nexport { CheckedCircleFillIcon } from \"./checkCircleFill\";\nexport { CheckedSquareFillIcon } from \"./checkSquareFill\";\nexport { CheckSquareEmptyIcon } from \"./checkSquareEmpty\";\nexport { PlusIcon } from \"./plus\";\nexport { ReduceIcon } from \"./reduce\";\nexport { CircleOutlinedIcon } from \"./circleOutlined\";\nexport { SquareOutlinedIcon } from \"./squareOutlined\";\nexport { ExclamationFillIcon } from \"./exclamationFill\";\nexport { QuestionFillIcon } from \"./questionFill\";\nexport { ArrowLeftRightIcon } from \"./arrowLeftRight\";\nexport { ArrowDownUpIcon } from \"./arrowDownUp\";\nexport { ArrowUpSquareFillIcon } from \"./arrowUpSquareFill\";\nexport { ArrowDownSquareFillIcon } from \"./arrowDownSquareFill\";\nexport { ArrowLeftRightSquareFill } from \"./arrowLeftRightSquareFill\";\nexport { ArrowRightUpSquareFillIcon } from \"./arrowRightUpSquareFill\";\nexport { AssetIcon } from \"./assetIcon\";\nexport { BarChartIcon } from \"./barChartIcon\";\nexport { BattleIcon } from \"./battleIcon\";\nexport { BattleActiveIcon } from \"./battleActiveIcon\";\nexport { BattleInactiveIcon } from \"./battleInactiveIcon\";\nexport { BattleSolidActiveIcon } from \"./battleSolidActiveIcon\";\nexport { BattleSolidInactiveIcon } from \"./battleSolidInactiveIcon\";\nexport { FeeTierIcon } from \"./feeTier\";\nexport { EarnActiveIcon } from \"./earnActiveIcon\";\nexport { EarnInactiveIcon } from \"./earnInactiveIcon\";\nexport { EditIcon } from \"./edit\";\nexport { EyeIcon } from \"./eye\";\nexport { ShareIcon } from \"./share\";\nexport { EyeCloseIcon } from \"./eyeClose\";\nexport { RefreshIcon } from \"./refresh\";\nexport { OrderlyIcon } from \"./orderly\";\nexport { EsOrderlyIcon } from \"./esOrderly\";\nexport { InfoCircleIcon } from \"./infoCircle\";\n\nexport { TokenIcon } from \"./tokenIcon\";\nexport { ChainIcon } from \"./chainIcon\";\nexport { WalletIcon } from \"./walletIcon\";\nexport { CalendarIcon } from \"./calendar\";\nexport { CopyIcon } from \"./copy\";\nexport { ServerFillIcon } from \"./serverFill\";\nexport { SortingAscIcon } from \"./sortingASCIcon\";\nexport { SortingDescIcon } from \"./sortingDESCIcon\";\nexport {\n ArrowUpShortIcon,\n ArrowDownShortIcon,\n ArrowLeftShortIcon,\n ArrowRightShortIcon,\n} from \"./arrowShort\";\n\nexport { SortingIcon } from \"./sortingIcon\";\nexport { TraderMobileIcon } from \"./traderMobileIcon\";\nexport { AffiliateIcon } from \"./affiliateIcon\";\nexport { TradingRewardsIcon } from \"./tradingRewardsIcon\";\nexport { PortfolioActiveIcon } from \"./portfolioActiveIcon\";\nexport { PortfolioInactiveIcon } from \"./portfolioInactiveIcon\";\nexport { TradingActiveIcon } from \"./tradingActiveIcon\";\nexport { TradingIcon } from \"./tradingIcon\";\nexport { TradingInactiveIcon } from \"./tradingInactiveIcon\";\nexport { LeaderboardActiveIcon } from \"./leaderboardActive\";\nexport { LeaderboardInactiveIcon } from \"./leaderboardInactive\";\nexport { MarketsActiveIcon } from \"./marketsActiveIcon\";\nexport { MarketsInactiveIcon } from \"./marketsInactiveIcon\";\nexport { StarChildChatActiveIcon } from \"./starChildChatActiveIcon\";\nexport { StarChildChatInactiveIcon } from \"./starChildChatInactiveIcon\";\nexport { CloseRoundFillIcon } from \"./closeRoundFill\";\nexport { SelectedChoicesFillIcon } from \"./selectedChoicesFill\";\nexport { PopupUnionIcon } from \"./popupUnion\";\nexport { SpotIcon } from \"./spotIcon\";\nexport { PerpsIcon } from \"./perpsIcon\";\nexport { EmptyStateIcon } from \"./emptyData\";\nexport { VectorIcon } from \"./vectorIcon\";\nexport { SwapHorizIcon } from \"./swapHoriz\";\nexport { PeopleIcon } from \"./peopleIcon\";\nexport { PersonIcon } from \"./personIcon\";\nexport { SettingFillIcon } from \"./settingFill\";\nexport { TradingLeftNavIcon } from \"./tradingLeftNavIcon\";\nexport { VaultsIcon } from \"./vaultsIcon\";\nexport { LeftNavVaultsIcon } from \"./leftNavVaultsIcon\";\nexport { NewsFillIcon } from \"./newsFill\";\nexport { BellIcon } from \"./bellIcon\";\nexport { WoofiStakeIcon } from \"./woofiStakeIcon\";\nexport { EarnIcon } from \"./earnIcon\";\nexport { ReferralSolidIcon } from \"./referralSolidIcon\";\nexport { AddCircleIcon } from \"./addCircle\";\n\ntype IconType = typeof BaseIcon & {\n combine: typeof CombineIcon;\n};\n\nconst Icon = BaseIcon as IconType;\nIcon.combine = CombineIcon;\n\nexport { Icon };\n\nexport type { IconType };\n","import { tv } from \"../utils/tv\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport React, { MouseEventHandler } from \"react\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst textVariants = tv({\n variants: {\n size: {\n \"3xs\": [\"oui-text-3xs\"],\n \"2xs\": [\"oui-text-2xs\"],\n xs: [\"oui-text-xs\"],\n sm: [\"oui-text-sm\"],\n base: [\"oui-text-base\"],\n lg: [\"oui-text-lg\"],\n xl: [\"oui-text-xl\"],\n \"2xl\": [\"oui-text-2xl\"],\n \"3xl\": [\"oui-text-3xl\"],\n \"4xl\": [\"oui-text-4xl\"],\n \"5xl\": [\"oui-text-5xl\"],\n \"6xl\": [\"oui-text-6xl\"],\n },\n weight: {\n regular: [\"oui-font-normal\"],\n semibold: [\"oui-font-semibold\"],\n bold: [\"oui-font-bold\"],\n },\n color: {\n inherit: \"oui-text-inherit\",\n neutral: \"oui-text-base-contrast-54\",\n primary: \"oui-text-primary\",\n primaryLight: \"oui-text-primary-light\",\n secondary: \"oui-text-secondary\",\n tertiary: \"oui-text-tertiary\",\n // quaternary: \"oui-text-gray-300\",\n warning: \"oui-text-warning-darken\",\n danger: \"oui-text-danger\",\n success: \"oui-text-success\",\n buy: \"oui-text-trade-profit\",\n sell: \"oui-text-trade-loss\",\n lose: \"oui-text-trade-loss\",\n withdraw: \"oui-text-trade-loss\",\n profit: \"oui-text-trade-profit\",\n deposit: \"oui-text-trade-profit\",\n // gradient\n },\n intensity: {\n 12: \"oui-text-base-contrast-12\",\n 20: \"oui-text-base-contrast-20\",\n 36: \"oui-text-base-contrast-36\",\n 54: \"oui-text-base-contrast-54\",\n 80: \"oui-text-base-contrast-80\",\n 98: \"oui-text-base-contrast\",\n },\n dashBoard: {\n default: \"oui-border-b oui-border-dashed oui-border-base-contrast-12\",\n },\n },\n});\n\nexport type TextElement = React.ElementRef<\"span\">;\n\ninterface BasicTextProps extends VariantProps<typeof textVariants> {\n asChild?: boolean;\n}\n\ninterface CopyableTextProps extends BasicTextProps {\n /**\n * If true, the text will be copied when clicked.\n */\n copyable?: boolean;\n /**\n * Callback when the text is copied.\n */\n onCopy?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n /** default is 12 */\n copyIconSize?: number;\n copyIconTestid?: string;\n}\n\ntype TextSpanProps = { as?: \"span\" } & ComponentPropsWithout<\n \"span\",\n RemovedProps\n>;\ntype TextDivProps = { as: \"div\" } & ComponentPropsWithout<\"div\", RemovedProps>;\ntype TextLabelProps = { as: \"label\" } & ComponentPropsWithout<\n \"label\",\n RemovedProps\n>;\ntype TextPProps = { as: \"p\" } & ComponentPropsWithout<\"p\", RemovedProps>;\ntype TextProps = BasicTextProps &\n (TextSpanProps | TextDivProps | TextLabelProps | TextPProps);\n\nconst Text = React.forwardRef<TextElement, TextProps>((props, forwardedRef) => {\n const {\n children,\n className,\n asChild,\n as: Tag = \"span\",\n color,\n size,\n weight,\n intensity,\n ...textProps\n } = props;\n return (\n <Slot\n data-accent-color={color}\n {...textProps}\n ref={forwardedRef}\n className={textVariants({\n className,\n color,\n size,\n weight,\n intensity,\n })}\n >\n {asChild ? children : <Tag>{children}</Tag>}\n </Slot>\n );\n});\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\nexport type { TextProps, CopyableTextProps };\n","import {\n Decimal,\n commify,\n getPrecisionByNumber,\n numberToHumanStyle,\n todpIfNeed,\n} from \"@kodiak-finance/orderly-utils\";\n\nexport type RoundingMode = number | \"truncate\";\n\nexport const parseNumber = (\n value: number | string,\n options: {\n rule?: \"percentages\" | \"price\" | \"human\";\n dp?: number;\n\n tick?: number;\n rm?: RoundingMode;\n padding?: boolean;\n\n abs?: boolean;\n } = {},\n): string => {\n let {\n rule,\n dp,\n tick,\n rm = Decimal.ROUND_DOWN,\n padding = true,\n abs,\n } = options;\n\n if (Number.isNaN(value)) {\n return \"--\";\n }\n\n dp = dp != null ? dp : tick ? getPrecisionByNumber(tick) : 2;\n\n if (rule === \"human\") {\n return numberToHumanStyle(\n typeof value === \"number\" ? value : Number(value),\n dp,\n // { padding }\n );\n }\n\n let d = new Decimal(value);\n\n if (abs) {\n d = d.abs();\n }\n\n if (rule === \"percentages\") {\n // return `${d.mul(100).toFixed(2)}%`;\n return rounding(d.mul(100), { dp, rm, padding }) + \"%\";\n }\n const truncatedNum = rounding(d, { dp, rm, padding });\n\n // if (truncate === \"round\") {\n // if (padding) {\n // truncatedNum = d.toFixed(dp, Decimal.ROUND_HALF_EVEN);\n // } else {\n // truncatedNum = d.todp(dp, Decimal.ROUND_HALF_EVEN).toString();\n // }\n // } else {\n // if (padding) {\n // truncatedNum = d.toFixed(dp);\n // } else {\n // truncatedNum = d.todp(dp).toString();\n // }\n // }\n\n if (rule === \"price\") {\n return commify(truncatedNum);\n }\n\n if (truncatedNum?.includes(\"e\")) {\n // If dp is omitted, the return value will be unrounded and in normal notation.\n // https://mikemcl.github.io/decimal.js/#toFixed\n return new Decimal(truncatedNum)?.toFixed();\n }\n\n return truncatedNum;\n};\n\nfunction rounding(\n d: Decimal,\n options: { dp: number; rm: RoundingMode; padding: boolean },\n): string {\n const { dp, rm, padding } = options;\n\n if (rm === \"truncate\") {\n return todpIfNeed(d.toString(), dp);\n }\n\n if (padding) {\n return d.toFixed(dp, rm);\n }\n\n return d.todp(dp, rm).toString();\n}\n\nexport const NumberReg = /^([0-9]{1,}[.]?[0-9]*)/;\n\nexport function formatAddress(address: string, range?: [number, number]) {\n if (address === undefined || address === null) {\n return \"\";\n }\n const [start, end] = range ?? [6, 4];\n const reg = new RegExp(`^(.{${start}})(.*)(.{${end}})$`);\n return `${address.replace(reg, \"$1...$3\")}`;\n}\n","import React, { CSSProperties } from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { parseAngleProps } from \"../helpers/parse-props\";\nimport { tv } from \"../utils/tv\";\nimport { textVariants, type TextProps, Text } from \"./text\";\n\nconst gradientTextVariants = tv({\n // extend: textVariants,\n base: \"oui-text-transparent oui-bg-clip-text\",\n variants: {\n color: {\n primary: \"oui-gradient-primary\",\n brand: \"oui-gradient-brand\",\n success: \"oui-gradient-success\",\n warning: \"oui-gradient-warning\",\n danger: \"oui-gradient-danger\",\n neutral: \"oui-gradient-neutral\",\n // transparent: \"oui-gradient-transparent\",\n inherit: \"oui-text-inherit\",\n },\n },\n});\n\ntype GradientTextProps = Omit<TextProps, \"color\"> &\n VariantProps<typeof gradientTextVariants> & {\n /**\n * Angle of the gradient\n */\n angle?: number;\n };\n\nconst GradientText = React.forwardRef<\n React.ElementRef<\"span\">,\n GradientTextProps\n>((props, ref) => {\n const { color, className, angle, ...rest } = props;\n const style = parseAngleProps({ angle });\n return (\n // @ts-ignore\n <Text\n {...rest}\n ref={ref}\n className={gradientTextVariants({ color, className })}\n style={style as CSSProperties}\n />\n );\n});\n\nexport { gradientTextVariants, GradientText };\n\nGradientText.displayName = \"GradientText\";\n","import { formatNum } from \"@kodiak-finance/orderly-utils\";\nimport { Numeral, NumeralProps } from \"./numeral\";\n\ntype NumTypeProps = Omit<NumeralProps, \"ignoreDP\" | \"rm\" | \"tick\"> & {\n numType: \"roi\" | \"pnl\" | \"notional\" | \"assetValue\" | \"collateral\";\n};\n\ntype NumTypeComponentProps = Omit<NumTypeProps, \"numType\">;\n\nconst NumType: React.FC<NumTypeProps> = (props) => {\n const { numType, dp = 2, children, ...rest } = props;\n\n const renderChild = () => {\n switch (numType) {\n case \"roi\":\n return formatNum\n .roi(children, props.rule === \"percentages\" ? 4 : 2)\n ?.toString();\n case \"pnl\":\n return formatNum.pnl(children);\n case \"notional\":\n return formatNum.notional(children);\n case \"assetValue\":\n return formatNum.assetValue(children);\n case \"collateral\":\n return formatNum.collateral(children);\n }\n };\n\n return (\n <Numeral dp={dp} rm={undefined} tick={undefined} {...(rest as any)}>\n {renderChild() ?? \"--\"}\n </Numeral>\n );\n};\n\nexport const NumTypeRoi: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"roi\" />;\n};\n\nexport const NumTypePnl: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"pnl\" />;\n};\n\nexport const NumTypeNotional: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"notional\" />;\n};\n\nexport const NumTypeAssetValue: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"assetValue\" />;\n};\n\nexport const NumTypeCollateral: React.FC<NumTypeComponentProps> = (props) => {\n return <NumType {...props} numType=\"collateral\" />;\n};\n","import React, { FC, useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Text, TextProps } from \"./text\";\nimport { RoundingMode, parseNumber } from \"./utils\";\n\nexport type NumeralRule = \"percentages\" | \"price\" | \"human\";\n\nexport const isNumeralRule = (rule: string): rule is NumeralRule => {\n return [\"percentages\", \"price\", \"human\"].includes(rule);\n};\n\nexport type NumeralProps = TextProps & {\n rule?: NumeralRule;\n\n /**\n * decimal place, default 2 digits\n * @default 2\n */\n dp?: number;\n\n /**\n * Whether to ignore the decimal place, if true then direct output, the default is false\n */\n ignoreDP?: boolean;\n\n /**\n * The number of decimal places to round to.\n * tick is obtained directly from the Orderly API and is used to calculate the number of decimal places for prices.\n * If both dp and tick are passed, dp takes priority.\n * Format: 0.00001\n */\n tick?: number;\n /**\n * Rounding mode\n * The method of rounding the decimal digits after the decimal point, options are ceil, floor, round, aligns with Math.ceil, Math.floor, Math.round.\n * @default floor\n */\n rm?: RoundingMode;\n // truncate?: \"ceil\" | \"floor\" | \"round\" | \"truncate\";\n\n /**\n * The number to be formatted\n */\n children: number | string;\n\n className?: string;\n\n unitClassName?: string;\n\n coloring?: boolean;\n\n loading?: boolean;\n\n suffix?: React.ReactNode;\n prefix?: React.ReactNode;\n\n unit?: string;\n currency?: string;\n\n /**\n * Whether to display as *****\n */\n visible?: boolean;\n /**\n * Whether to pad with 0\n * @default true\n */\n padding?: boolean;\n\n /**\n * Whether to show the + or - sign\n */\n showIdentifier?: boolean;\n\n /**\n * Placeholder when children is not valid number\n */\n placeholder?: string;\n\n /**\n * custom masking element when visible is false\n */\n masking?: React.ReactNode | string;\n\n /**\n * Custom + or - sign\n */\n identifiers?: {\n loss?: React.ReactNode;\n profit?: React.ReactNode;\n };\n};\n\nexport const Numeral: FC<NumeralProps> = (props) => {\n const {\n rule = \"price\",\n coloring,\n dp,\n tick,\n suffix,\n prefix,\n visible,\n unit,\n currency,\n rm,\n padding = true,\n showIdentifier = false,\n identifiers,\n className,\n unitClassName,\n placeholder,\n masking,\n ignoreDP,\n ...rest\n } = props;\n // TODO: check precision\n\n const num = Number(props.children);\n\n const child = useMemo(() => {\n if (props.children === \"-\") return props.children;\n if (isNaN(num)) return placeholder ?? \"--\";\n\n if (typeof visible !== \"undefined\" && !visible) return masking ?? \"*****\";\n\n if (ignoreDP) {\n if (!!props.showIdentifier) {\n return Math.abs(num).toString();\n }\n\n return num;\n }\n\n return parseNumber(num, {\n rule,\n dp,\n tick,\n rm,\n padding,\n abs: showIdentifier,\n });\n }, [num, visible, tick, dp]);\n\n // console.log(\"numeral\", child, props.showIdentifier);\n\n const defaultColor = rest.color || \"inherit\";\n\n const colorName = useMemo(() => {\n if (!coloring) return defaultColor;\n if (typeof visible !== \"undefined\" && !visible) return defaultColor;\n\n if (Number.isNaN(num)) {\n // console.warn(`if coloring, value is need number: ${props.value}`);\n return defaultColor;\n }\n\n if (num === 0) return \"neutral\";\n if (num < 0) return \"lose\";\n\n return \"profit\";\n }, [coloring, num, rest.color, props.visible]);\n\n // console.log(\"parseNumber\", child, props.showIdentifier);\n\n const identifier = useMemo(() => {\n if (!showIdentifier || Number.isNaN(num) || num === 0) return null;\n if (typeof visible !== \"undefined\" && !visible) return null;\n\n if (num < 0) {\n if (identifiers?.loss) return identifiers!.loss;\n // @ts-ignore\n // return <Minus size={12} />;\n return <span>-</span>;\n }\n\n if (identifiers?.profit) return identifiers!.profit;\n // @ts-ignore\n // return <Plus size={12} />;\n return <span>+</span>;\n }, [num, props.visible, showIdentifier]);\n\n const childWithUnit = useMemo(() => {\n if (\n typeof suffix === \"undefined\" &&\n typeof prefix === \"undefined\" &&\n typeof unit === \"undefined\" &&\n typeof currency === \"undefined\" &&\n !showIdentifier\n ) {\n return child;\n }\n\n const suffixEle = suffix ? (\n typeof suffix === \"string\" ? (\n <span>{suffix}</span>\n ) : (\n suffix\n )\n ) : undefined;\n\n const unitEle = unit ? (\n <span className={cnBase(\"orderly-numeral-unit\", unitClassName)}>\n {unit}\n </span>\n ) : undefined;\n\n const prefixEle = prefix ? (\n prefix\n ) : currency ? (\n <span>{currency}</span>\n ) : undefined;\n\n const child_unit = (\n <>\n {child}\n {unitEle}\n </>\n );\n\n return (\n <>\n {prefixEle}\n {typeof identifier !== \"undefined\" ? (\n <span>\n {identifier}\n <span>{child_unit}</span>\n </span>\n ) : (\n <span>{child_unit}</span>\n )}\n {/*{unitEle}*/}\n {suffixEle}\n </>\n );\n }, [child, suffix, unit, prefix, identifier, unitClassName]);\n\n return (\n <Text\n {...rest}\n color={colorName}\n className={cnBase(\"oui-tabular-nums\", className)}\n >\n {childWithUnit}\n </Text>\n );\n};\n","import React, {\n HTMLAttributes,\n PropsWithChildren,\n ReactNode,\n useMemo,\n} from \"react\";\nimport { type VariantProps, cnBase } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport { Numeral, NumeralProps } from \"./numeral\";\n\nconst statisticVariants = tv({\n slots: {\n root: \"oui-text-base oui-flex oui-flex-col\",\n label: \"oui-text-xs oui-text-base-contrast-36\",\n value: \"\",\n },\n variants: {\n align: {\n start: {\n root: \"oui-items-start\",\n },\n\n end: {\n root: \"oui-items-end\",\n },\n },\n // color: {},\n },\n defaultVariants: {\n align: \"start\",\n // color: \"default\",\n },\n});\n\ntype StatisticLabelProps = VariantProps<typeof statisticVariants> &\n HTMLAttributes<HTMLDivElement> & {\n // label: string | ReactNode;\n };\n\nconst StatisticLabel = React.forwardRef<HTMLDivElement, StatisticLabelProps>(\n (props, ref) => {\n // const { label } = props;\n const { label: labelClassName } = statisticVariants({});\n return (\n <div\n ref={ref}\n className={labelClassName({\n className: cnBase(\"oui-statistic-label\", props.className),\n })}\n >\n {props.children}\n </div>\n );\n },\n);\n\nStatisticLabel.displayName = \"StatisticLabel\";\n\ntype DivElement = React.ElementRef<\"div\">;\n\ntype StatisticProps = VariantProps<typeof statisticVariants> &\n HTMLAttributes<HTMLDivElement> & {\n label: string | ReactNode;\n valueProps?: Omit<NumeralProps, \"children\">;\n classNames?: {\n root?: string;\n label?: string;\n value?: string;\n };\n };\n\nconst Statistic = React.forwardRef<\n DivElement,\n PropsWithChildren<StatisticProps>\n>((props, ref) => {\n const { label, valueProps, align, className, classNames, children, ...rest } =\n props;\n const { root, value: valueClassName } = statisticVariants({ align });\n\n const value = useMemo(() => {\n if (typeof children === \"string\" || typeof children === \"number\") {\n const { className: valueClass, as, ...restValueProps } = valueProps ?? {};\n return (\n <Numeral\n {...restValueProps}\n as={as as any}\n className={cnBase(\n valueClassName({ className: valueClass }),\n \"oui-font-semibold\",\n !valueProps?.coloring && \"oui-text-base-contrast-80\",\n )}\n >\n {children}\n </Numeral>\n );\n }\n return children;\n }, [children, valueProps]);\n\n return (\n <div\n {...rest}\n className={root({ className: cnBase(className, classNames?.root) })}\n ref={ref}\n >\n <StatisticLabel className={classNames?.label}>{label}</StatisticLabel>\n {value}\n </div>\n );\n});\n\nStatistic.displayName = \"Statistic\";\n\nexport { Statistic, StatisticLabel, statisticVariants };\n","import { FormattedText } from \"./formatted\";\nimport { GradientText, gradientTextVariants } from \"./gradient\";\nimport {\n NumTypePnl,\n NumTypeRoi,\n NumTypeNotional,\n NumTypeAssetValue,\n NumTypeCollateral,\n} from \"./numType\";\nimport { Numeral } from \"./numeral\";\nimport { Text as BaseText, textVariants } from \"./text\";\nimport type { TextProps } from \"./text\";\n\nexport { Statistic, StatisticLabel, statisticVariants } from \"./statistic\";\n\nexport type { NumeralProps } from \"./numeral\";\nexport { parseNumber, formatAddress } from \"./utils\";\n\nexport type TextType = typeof BaseText & {\n formatted: typeof FormattedText;\n numeral: typeof Numeral;\n gradient: typeof GradientText;\n roi: typeof NumTypeRoi;\n pnl: typeof NumTypePnl;\n notional: typeof NumTypeNotional;\n assetValue: typeof NumTypeAssetValue;\n collateral: typeof NumTypeCollateral;\n};\n\nconst Text = BaseText as TextType;\nText.formatted = FormattedText;\nText.numeral = Numeral;\nText.gradient = GradientText;\nText.roi = NumTypeRoi;\nText.pnl = NumTypePnl;\nText.notional = NumTypeNotional;\nText.assetValue = NumTypeAssetValue;\nText.collateral = NumTypeCollateral;\n\nexport { Text, textVariants, gradientTextVariants, GradientText };\nexport type { TextProps };\n","import { forwardRef, useMemo, useRef, useState } from \"react\";\nimport { Input, InputProps } from \"../input\";\nimport { Select } from \"../../select\";\n\nexport type QuantityInputProps = {\n tokens: string[];\n} & Omit<InputProps, \"onClear\" | \"suffix\">;\n\n//@ts-ignore\nexport const QuantityInput = forwardRef<HTMLInputElement, QuantityInputProps>(\n (props, ref) => {\n const { tokens, ...rest } = props;\n const [token, setToken] = useState(tokens[0]);\n const tokenOptions = useMemo(() => {\n return props.tokens.map((token) => ({\n name: token,\n }));\n }, [props.tokens]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n return (\n <Input\n ref={(node) => {\n // @ts-ignore\n inputRef.current = node;\n if (ref) {\n if (typeof ref === \"function\") {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }}\n autoComplete=\"off\"\n {...rest}\n suffix={\n <div className=\"oui-max-w-fit\">\n <Select.tokens\n disabled={rest.disabled}\n variant=\"text\"\n tokens={tokenOptions}\n value={token}\n size={rest.size}\n onValueChange={(value) => setToken(value)}\n // According to the design guideline, the token icon are not displayed when the text is right-aligned\n showIcon={rest.align !== \"right\"}\n contentProps={{\n align: \"end\",\n onCloseAutoFocus: (event) => {\n event.preventDefault();\n inputRef.current?.focus();\n },\n }}\n />\n </div>\n }\n />\n );\n }\n);\n\nQuantityInput.displayName = \"QuantityInput\";\n","import React, { type InputHTMLAttributes, useId } from \"react\";\nimport { cnBase, cn, type VariantProps } from \"tailwind-variants\";\nimport { BaseInput, BaseInputProps } from \"./baseInput\";\nimport { InputPrefix } from \"./prefix\";\nimport { InputSuffix } from \"./suffix\";\nimport { tv } from \"../utils/tv\";\n\nconst inputVariants = tv(\n {\n slots: {\n input: [\n \"oui-w-full oui-bg-transparent\",\n \"oui-bg-transparent\",\n \"oui-flex-1\",\n \"focus-visible:oui-outline-none\",\n \"oui-flex\",\n \"placeholder:oui-text-base-contrast-20\",\n \"placeholder:oui-text-xs\",\n \"oui-tabular-nums\",\n \"oui-text-white\",\n \"autofill:oui-bg-transparent\",\n \"oui-input-input\",\n \"disabled:oui-cursor-not-allowed\",\n \"oui-peer\",\n ],\n box: [\n \"oui-rounded\",\n \"oui-bg-base-6\",\n \"oui-flex\",\n \"oui-items-center\",\n \"oui-outline\",\n \"oui-outline-offset-0\",\n \"oui-outline-1\",\n \"oui-outline-transparent\",\n \"focus-within:oui-outline-primary-light\",\n \"oui-input-root\",\n ],\n additional: [\n \"oui-h-full oui-flex oui-flex-col oui-justify-center oui-px-2 oui-text-base-contrast\",\n ],\n closeButton: [\n \"oui-cursor-pointer\",\n \"oui-invisible\",\n \"peer-focus:oui-visible\",\n ],\n },\n variants: {\n // variant: {\n // outline:{\n // box:\n // }\n // },\n size: {\n xs: {\n input: [\"oui-h-6\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-6\"],\n additional: [\"oui-text-2xs\"],\n },\n sm: {\n input: [\"oui-h-7\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-7\"],\n additional: [\"oui-text-2xs\"],\n },\n md: {\n input: [\"oui-h-8\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-8\"],\n additional: [\"oui-text-2xs\"],\n },\n lg: {\n input: [\"oui-h-10\", \"oui-text-sm\", \"placeholder:oui-text-sm\"],\n box: [\"oui-h-10 oui-rounded-md\"],\n additional: [\"oui-text-sm\"],\n },\n xl: {\n input: [\"oui-h-12\", \"oui-text-base\", \"placeholder:oui-text-base\"],\n box: [\"oui-h-12 oui-rounded-md\"],\n additional: [\"oui-text-sm\"],\n },\n },\n color: {\n success: {\n box: [\"oui-outline-success\", \"focus-within:oui-outline-success\"],\n input: [\"oui-text-success\"],\n },\n danger: {\n box: [\"oui-outline-danger\", \"focus-within:oui-outline-danger\"],\n input: [\"oui-text-danger\"],\n },\n warning: {\n box: [\"oui-outline-warning-darken\", \"focus-within:oui-outline-warning-darken\"],\n input: [\"oui-text-warning-darken\"],\n },\n default: {\n box: [\"oui-outline-transparent\"],\n },\n },\n disabled: {\n true: {\n input: [\"oui-cursor-not-allowed\", \"oui-text-base-contrast-20\"],\n box: [\"oui-bg-base-5\"],\n },\n },\n pl: {\n true: {\n box: \"oui-pl-3\",\n },\n false: {\n box: \"oui-pl-0\",\n },\n },\n pr: {\n true: {\n box: \"oui-pr-3\",\n },\n false: {\n box: \"oui-pr-0\",\n },\n },\n fullWidth: {\n true: {\n box: \"oui-w-full\",\n },\n },\n align: {\n center: {\n input: \"oui-text-center\",\n },\n left: {\n input: \"oui-text-left\",\n },\n right: {\n input: \"oui-text-right\",\n },\n },\n },\n // compoundVariants: [{ size: \"default\", className: [\"oui-bg-transparent\"] }],\n\n defaultVariants: {\n size: \"lg\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n }\n);\n\n// @ts-ignore\ninterface InputProps<T = string>\n extends BaseInputProps<T>,\n VariantProps<typeof inputVariants> {\n prefix?: string | React.ReactNode;\n suffix?: string | React.ReactNode;\n fullWidth?: boolean;\n onClear?: () => void;\n classNames?: {\n input?: string;\n root?: string;\n additional?: string;\n clearButton?: string;\n prefix?: string;\n suffix?: string;\n };\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n const {\n size,\n disabled,\n color,\n suffix,\n prefix,\n id,\n pl,\n pr,\n fullWidth,\n className,\n classNames,\n onClear,\n align,\n ...inputProps\n } = props;\n\n const { input, box, additional, closeButton } = inputVariants({\n size,\n disabled,\n color,\n fullWidth,\n align,\n // className: cnBase(className, classes?.root),\n\n pl: typeof prefix === \"undefined\" || pl,\n pr: typeof suffix === \"undefined\" || pr,\n });\n const cid = useId();\n\n const suffixElement =\n typeof onClear !== \"undefined\" ? (\n <ClearButton\n className={closeButton({ className: classNames?.clearButton })}\n onClick={() => {\n onClear?.();\n }}\n value={inputProps.value as string | number}\n />\n ) : (\n suffix\n );\n\n return (\n <div className={box({ className: cnBase(className, classNames?.root) })}>\n <InputPrefix\n id={id || cid}\n prefix={prefix}\n className={additional({\n className: cnBase(classNames?.additional, classNames?.prefix),\n })}\n />\n <BaseInput\n {...inputProps}\n id={id || cid}\n disabled={disabled}\n ref={ref}\n className={input({ align, className: classNames?.input })}\n />\n <InputSuffix\n id={id || cid}\n suffix={suffixElement}\n className={additional({\n className: cnBase(classNames?.additional, classNames?.suffix),\n })}\n />\n </div>\n );\n});\n\nconst ClearButton = React.forwardRef<\n HTMLButtonElement,\n { onClick: () => void; value: string | number; className?: string }\n>((props, ref) => {\n return (\n <button\n onMouseDown={(event) => {\n event.preventDefault();\n props.onClick();\n }}\n ref={ref}\n className={props.className}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8 1.302a6.667 6.667 0 1 0 0 13.333A6.667 6.667 0 0 0 8 1.302m-2 4c.17 0 .349.057.479.187l1.52 1.521L9.52 5.49a.68.68 0 0 1 .48-.188c.17 0 .348.057.479.187.26.261.26.698 0 .96l-1.52 1.52 1.52 1.52c.26.261.26.698 0 .96a.687.687 0 0 1-.959 0L8 8.926l-1.521 1.521a.686.686 0 0 1-.959 0 .686.686 0 0 1 0-.959l1.521-1.52-1.52-1.52a.686.686 0 0 1 0-.96A.68.68 0 0 1 6 5.302\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </svg>\n </button>\n );\n});\n\nClearButton.displayName = \"ClearButton\";\n\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };\n\nexport type { InputProps };\n","import React, {\n useState,\n useRef,\n useCallback,\n useMemo,\n useEffect,\n forwardRef,\n} from \"react\";\nimport { InputHTMLAttributes } from \"react\";\nimport { findLongestCommonSubString } from \"@kodiak-finance/orderly-utils\";\nimport { InputFormatter } from \"./formatter/inputFormatter\";\n\nexport interface BaseInputProps<T = string>\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"size\" | \"prefix\" | \"disabled\" | \"inputMode\" | \"color\"\n > {\n disabled?: boolean;\n\n clearable?: boolean;\n onClean?: () => void;\n fixClassName?: string;\n helpText?: string;\n loading?: boolean;\n inputMode?: \"decimal\" | \"numeric\" | \"amount\";\n containerClassName?: string;\n\n formatters?: InputFormatter[];\n\n // dp?: number;\n // tick?: number;\n\n onValueChange?: (value: T) => void;\n}\n\nexport const BaseInput = forwardRef<HTMLInputElement, BaseInputProps>(\n (props, ref) => {\n const {\n clearable,\n onClean,\n fixClassName,\n helpText,\n loading,\n inputMode,\n containerClassName,\n onValueChange,\n onChange,\n id,\n formatters,\n value,\n ...inputProps\n } = props;\n\n const [cursor, setCursor] = useState<number | null>(null);\n const innerInputRef = useRef<HTMLInputElement>(null);\n const prevInputValue = useRef<string | null>(null);\n\n const isFocused = useRef<boolean>(false);\n\n const innerFormatters = useMemo<InputFormatter[]>(() => {\n return formatters ?? [];\n }, [formatters]);\n\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(innerInputRef.current);\n } else {\n ref.current = innerInputRef.current;\n }\n }, [innerInputRef, ref]);\n\n const formatToRender = useCallback(\n (value: string) => {\n if (!Array.isArray(innerFormatters) || innerFormatters.length === 0)\n return value;\n if (value === null || value === undefined) return \"\";\n let index = 0;\n while (index < innerFormatters.length) {\n value = innerFormatters[index].onRenderBefore(value, {\n isFocused: isFocused.current,\n });\n\n index++;\n }\n\n return value;\n },\n [innerFormatters],\n );\n\n const formatToChange = useCallback(\n (value: string, originValue?: string) => {\n if (!Array.isArray(innerFormatters) || innerFormatters.length === 0)\n return value;\n if (value === null || value === undefined) return \"\";\n let index = innerFormatters.length - 1;\n while (index > -1) {\n value = innerFormatters[index].onSendBefore(value, {\n isFocused: isFocused.current,\n originValue,\n });\n index--;\n }\n\n return value;\n },\n [innerFormatters],\n );\n\n const formattedValue = useMemo(() => {\n if (typeof value === \"undefined\" || value === null) return \"\";\n return formatToRender(value as string);\n }, [value, formatToRender]);\n\n // fix cursor pointer jump to end;\n useEffect(() => {\n if (document.activeElement !== innerInputRef.current) return;\n // filter the thousands separator\n const nextValueLen = `${formattedValue}`.length;\n const prevValueLen = prevInputValue.current?.length || 0;\n\n const next = cursor ? cursor + (nextValueLen - prevValueLen) : 0;\n innerInputRef.current?.setSelectionRange(next, next);\n }, [formattedValue]);\n\n const onInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.value.length < (props.value as string)?.length) {\n const currentCursor = event.target.selectionStart;\n const diffIndex = findLongestCommonSubString(\n `${props.value}`,\n event.target.value,\n );\n\n if (diffIndex > -1) {\n // @ts-ignore\n const diffStr = `${props.value}`.at(diffIndex);\n if (diffStr === \",\") {\n event.target.value = `${event.target.value.substring(\n 0,\n diffIndex - 1,\n )}${event.target.value.substring(diffIndex)}`;\n\n event.target.selectionStart = currentCursor ? currentCursor - 1 : 0;\n }\n }\n }\n\n if (typeof onChange === \"function\") {\n onChange(event);\n }\n\n if (typeof onValueChange === \"function\") {\n let value = event.target.value;\n\n value = formatToChange(value, String(props.value));\n\n onValueChange(value);\n }\n prevInputValue.current = event.target.value;\n setCursor(event.target.selectionStart);\n };\n\n const onInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n isFocused.current = true;\n inputProps.onFocus?.(event);\n };\n\n const onInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n isFocused.current = false;\n inputProps.onBlur?.(event);\n };\n\n // Map custom inputMode values to valid HTML inputMode\n const htmlInputMode = inputMode === \"amount\" ? \"decimal\" : inputMode;\n\n return (\n <input\n type=\"text\"\n {...inputProps}\n inputMode={htmlInputMode}\n ref={innerInputRef}\n onBlur={onInputBlur}\n onFocus={onInputFocus}\n onChange={onInputChange}\n value={formattedValue}\n id={id}\n />\n );\n },\n);\n\nBaseInput.displayName = \"BaseInput\";\n","import { FC, PropsWithChildren } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport const InputAdditional: FC<\n PropsWithChildren<{\n className?: string;\n name?: string;\n asChild?: boolean;\n as?: string;\n }>\n> = (props) => {\n const { asChild, as = \"label\" } = props;\n\n const Comp = asChild ? Slot : \"label\";\n\n return (\n <Comp htmlFor={props.name} className={props.className}>\n {props.children}\n </Comp>\n );\n};\n","import React from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { InputAdditional } from \"./inputAdditional\";\n\ninterface InputPrefixProps {\n prefix?: string | React.ReactNode;\n className?: string;\n id: string;\n}\n\nexport const InputPrefix: React.FC<InputPrefixProps> = (props) => {\n const { prefix, id } = props;\n if (typeof prefix === \"undefined\") {\n return null;\n }\n if (typeof prefix === \"string\") {\n return (\n <InputAdditional name={id} className={props.className}>\n {prefix}\n </InputAdditional>\n );\n }\n return prefix;\n};\n","import React from \"react\";\nimport { InputAdditional } from \"./inputAdditional\";\n\ninterface InputPrefixProps {\n suffix?: string | React.ReactNode;\n className?: string;\n id: string;\n}\n\nexport const InputSuffix: React.FC<InputPrefixProps> = (props) => {\n const { suffix, id } = props;\n if (typeof suffix === \"undefined\") {\n return null;\n }\n if (typeof suffix === \"string\") {\n return (\n <InputAdditional name={id} className={props.className}>\n {suffix}\n </InputAdditional>\n );\n }\n return suffix;\n};\n","import React, { KeyboardEvent, useRef, useState } from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CaretDownIcon } from \"../icon\";\nimport { Input } from \"../input\";\nimport { PopoverRoot, PopoverAnchor, PopoverContent } from \"../popover\";\n// import { SizeType } from \"../helpers/sizeType\";\nimport { ScrollArea } from \"../scrollarea\";\nimport { type SelectVariantProps } from \"./select\";\nimport { selectVariants } from \"./selectPrimitive\";\nimport { SelectOption, SelectWithOptionsProps } from \"./withOptions\";\n\nexport type CombineSelectProps = {\n placeholder?: string;\n} & SelectWithOptionsProps;\n\nexport const CombineSelect: React.FC<CombineSelectProps> = (props) => {\n const { options, variant, valueFormatter, ...rest } = props;\n const [keyword, setKeyword] = useState<string>(\"\");\n // const [open, setOpen] = useState<boolean>(props.defaultOpen || false);\n const [value, setValue] = useState<string | undefined>(props.value ?? \"\");\n const { trigger } = selectVariants({\n size: props.size,\n variant,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(() =>\n typeof props.value === \"undefined\"\n ? -1\n : options.findIndex((option) => option.value === props.value),\n );\n\n const [focused, setFocused] = useState<boolean>(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const onFocus = () => {\n setFocused(true);\n // setOpen(true);\n };\n\n const filteredOptions = !keyword\n ? options\n : options.filter((option) => {\n if (option.value.toLowerCase().includes(keyword.toLowerCase()))\n return true;\n });\n\n // const onKeyDown = useCallback(\n // (e: React.KeyboardEvent) => {\n // console.log(e.code);\n // },\n // [filteredOptions]\n // );\n\n return (\n <PopoverRoot open={focused}>\n <PopoverAnchor>\n <Input\n ref={inputRef}\n size={props.size}\n autoComplete={\"off\"}\n onFocus={onFocus}\n onBlur={() => {\n setFocused(false);\n }}\n placeholder={props.placeholder ?? \"All\"}\n value={\n focused\n ? keyword\n : typeof valueFormatter === \"function\"\n ? (valueFormatter(value ?? \"\", {\n placeholder: props.placeholder,\n }) as string)\n : value\n }\n onValueChange={(value) => {\n setKeyword(value);\n }}\n // onKeyDown={onKeyDown}\n\n classNames={{\n root: trigger({\n className: \"oui-w-24 oui-peer\",\n }),\n input: \"oui-text-base-contrast-54 oui-font-semibold\",\n }}\n data-state={focused ? \"open\" : \"closed\"}\n suffix={\n <SelectPrimitive.Icon\n onMouseDown={(e) => {\n e.preventDefault();\n focused ? inputRef.current?.blur() : inputRef.current?.focus();\n }}\n asChild\n className=\"oui-transition-transform peer-data-[state=open]:oui-rotate-180 peer-data-[state=closed]:oui-rotate-0 oui-mx-2\"\n >\n <CaretDownIcon\n size={12}\n className=\"oui-text-inherit\"\n // opacity={1}\n />\n </SelectPrimitive.Icon>\n }\n />\n </PopoverAnchor>\n <PopoverContent\n onOpenAutoFocus={(e) => {\n e.preventDefault();\n setKeyword(\"\");\n }}\n className={\"oui-w-[var(_--radix-popover-trigger-width)] oui-p-1\"}\n >\n <ScrollArea className=\"oui-h-[200px]\">\n {filteredOptions.map((option, index) => {\n return (\n <SelectItem\n option={option}\n key={index}\n size={props.size}\n activated={selectedIndex === index}\n onClick={(value) => {\n setValue(value.value);\n setSelectedIndex(index);\n props.onValueChange?.(value.value);\n inputRef.current?.blur();\n // setKeyword(value.value);\n }}\n />\n );\n })}\n </ScrollArea>\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nconst SelectItem = (props: {\n option: SelectOption;\n size?: SelectVariantProps[\"size\"];\n activated: boolean;\n onClick: (item: SelectOption) => void;\n}) => {\n const { item } = selectVariants({\n size: props.size,\n });\n return (\n <button\n className={item({\n className: `oui-text-base-contrast-54 oui-w-full ${\n props.activated ? \"oui-bg-base-7\" : \"\"\n }`,\n })}\n onMouseDown={(e) => {\n e.preventDefault();\n props.onClick(props.option);\n }}\n >\n {props.option.label}\n </button>\n );\n};\n","import * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst popoverVariants = tv({\n base: [\n \"oui-z-50\",\n \"oui-w-72\",\n \"oui-rounded-md\",\n \"oui-border\",\n \"oui-border-line-6\",\n // \"oui-bg-popover\",\n \"oui-p-4\",\n \"oui-bg-base-8\",\n // \"oui-text-popover-foreground\",\n \"oui-shadow-md\",\n \"oui-outline-none\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n});\n\nconst PopoverRoot = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> &\n VariantProps<typeof popoverVariants>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={popoverVariants({ className })}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\ntype PopoverProps = PopoverPrimitive.PopoverProps & {\n content: React.ReactNode;\n arrow?: boolean;\n contentProps?: PopoverPrimitive.PopoverContentProps;\n};\n\n/**\n * Popover component\n * @param {React.ReactNode} content - The content of the popover\n */\nconst Popover: React.FC<React.PropsWithChildren<PopoverProps>> = (props) => {\n const { arrow, content, contentProps, ...popoverProps } = props;\n return (\n <PopoverRoot {...popoverProps}>\n <PopoverTrigger asChild>{props.children}</PopoverTrigger>\n <PopoverContent {...contentProps}>\n {content}\n {arrow && (\n <PopoverPrimitive.Arrow\n className={\"oui-fill-base-8\"}\n width={10}\n height={6}\n />\n )}\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nexport { PopoverRoot, PopoverTrigger, PopoverContent, PopoverAnchor, Popover };\n","import React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst scrollAreaVariants = tv({\n slots: {\n root: \"oui-relative oui-overflow-hidden oui-scroll-area-root\",\n viewport: \"oui-h-full oui-w-full oui-rounded-[inherit]\",\n bar: [\n \"oui-flex\",\n \"oui-touch-none\",\n \"oui-select-none\",\n \"oui-transition-colors\",\n ],\n tumb: \"oui-relative oui-flex-1 oui-rounded-full oui-bg-base-10\",\n },\n variants: {\n orientation: {\n vertical: {\n bar: \"oui-h-full oui-w-2 oui-border-l oui-border-l-transparent oui-p-[1px]\",\n },\n horizontal: {\n bar: \"oui-h-2 oui-flex-col oui-border-t oui-border-t-transparent oui-p-[1px]\",\n },\n },\n },\n});\n\ninterface ScrollAreaProps\n extends React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>,\n VariantProps<typeof scrollAreaVariants> {\n classNames?: {\n viewport?: string;\n };\n}\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n ScrollAreaProps\n>((oriProps, ref) => {\n const {\n className,\n classNames,\n children,\n orientation = \"vertical\",\n ...props\n } = oriProps;\n const { root, viewport } = scrollAreaVariants({ orientation });\n return (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={root({ className: className })}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n className={viewport({ className: classNames?.viewport })}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar orientation={orientation} />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n});\n\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>((oriProps, ref) => {\n const { className, orientation = \"vertical\", ...props } = oriProps;\n const { bar, tumb } = scrollAreaVariants({ className, orientation });\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={bar({ className })}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className={tumb()} />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n});\n\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar, scrollAreaVariants };\n\nexport { type ScrollAreaProps };\n","import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { CaretDownIcon, CaretUpIcon } from \"../icon\";\nimport { tv } from \"../utils/tv\";\n\nconst selectVariants = tv(\n {\n slots: {\n trigger: [\n \"oui-flex\",\n \"oui-group\",\n \"oui-w-full\",\n \"oui-items-center\",\n \"oui-justify-between\",\n \"oui-whitespace-nowrap\",\n \"oui-rounded-md\",\n \"oui-px-2\",\n // \"oui-py-2\",\n\n \"oui-space-x-1\",\n // \"oui-text-sm\",\n \"oui-shadow-sm\",\n // \"oui-ring-offset-background\",\n \"oui-text-base-contrast-54\",\n \"placeholder:oui-text-base-contrast-54\",\n \"data-[state=open]:oui-text-base-contrast-80\",\n \"focus:oui-outline-none\",\n \"focus:oui-ring-1\",\n \"focus:oui-ring-ring\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n \"[&>span]:oui-line-clamp-1\",\n ],\n scrollUpButton:\n \"oui-flex oui-cursor-default oui-items-center oui-justify-center oui-py-1\",\n scrollDownButton:\n \"oui-flex oui-cursor-default oui-items-center oui-justify-center oui-py-1\",\n content: [\n \"oui-relative\",\n \"oui-z-50\",\n \"oui-max-h-96\",\n // \"oui-min-w-[8rem]\",\n \"oui-overflow-hidden\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n \"oui-text-base-contrast\",\n // \"oui-bg-popover\",\n // \"oui-text-popover-foreground\",\n \"oui-shadow-md\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:aoui-nimate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n viewport: [\"oui-p-1\"],\n label: \"oui-px-2 oui-py-1.5 oui-text-sm oui-font-semibold\",\n item: [\n \"oui-option-item\",\n \"oui-relative\",\n \"oui-flex\",\n // \"oui-w-full\",\n \"oui-cursor-default\",\n \"oui-select-none\",\n \"oui-items-center\",\n \"oui-rounded-sm\",\n \"oui-py-1\",\n \"oui-pl-2\",\n \"oui-pr-8\",\n \"oui-text-sm\",\n \"oui-text-base-contrast-54\",\n \"oui-outline-none\",\n \"hover:oui-bg-base-6\",\n \"hover:oui-rounded\",\n \"focus:oui-bg-accent\",\n \"focus:oui-text-accent-foreground\",\n \"data-[state=checked]:oui-bg-base-5\",\n \"data-[state=checked]:oui-text-base-contrast-80\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-opacity-50\",\n ],\n separator: \"-oui-mx-1 oui-my-1 oui-h-px oui-bg-muted\",\n icon: \"\",\n },\n variants: {\n variant: {\n outlined: {\n trigger: [\"oui-border oui-border-line-6 oui-bg-line-4\"],\n },\n contained: {\n trigger: [\"oui-bg-base-4\"],\n },\n text: {\n trigger: [],\n },\n // text\n },\n position: {\n popper: {\n content: [\n \"data-[side=bottom]:oui-translate-y-1\",\n \"data-[side=left]:-oui-translate-x-1\",\n \"data-[side=right]:oui-translate-x-1\",\n \"data-[side=top]:-oui-translate-y-1\",\n ],\n viewport:\n \"oui-h-[var(--radix-select-trigger-height)] oui-w-full oui-min-w-[var(--radix-select-trigger-width)]\",\n },\n \"item-aligned\": {\n content: \"\",\n viewport: \"\",\n },\n },\n size: {\n xs: {\n trigger: [\"oui-h-6\", \"oui-text-2xs\"],\n item: [\"oui-h-6\", \"oui-text-2xs\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n sm: {\n trigger: [\"oui-h-7\", \"oui-text-2xs\"],\n item: [\"oui-h-7\", \"oui-text-2xs\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n md: {\n trigger: [\"oui-h-8\", \"oui-text-xs\"],\n item: [\"oui-h-7\", \"oui-text-xs\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n lg: {\n trigger: [\"oui-h-10\", \"oui-text-sm\", \"oui-px-3\"],\n item: [\"oui-h-8\", \"oui-text-2xs\"],\n icon: [\"oui-w-5\", \"oui-h-5\"],\n },\n xl: {\n trigger: [\"oui-h-12\", \"oui-text-2xs\", \"oui-px-3\"],\n item: [\"oui-h-12\", \"oui-text-2xs\"],\n icon: [\"oui-w-6\", \"oui-h-6\"],\n },\n },\n error: {\n true: {\n trigger: [\n \"oui-border-danger\",\n \"focus:oui-ring-danger\",\n \"focus:oui-ring-ring-danger\",\n ],\n },\n },\n },\n defaultVariants: {\n size: \"lg\",\n variant: \"outlined\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n },\n);\n\nconst SelectRoot = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> &\n VariantProps<typeof selectVariants> & {\n showCaret?: boolean;\n }\n>(\n (\n {\n className,\n children,\n size,\n error,\n variant,\n asChild,\n showCaret = true,\n ...props\n },\n ref,\n ) => {\n const { trigger } = selectVariants({ size, error, variant });\n if (asChild) {\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n asChild={asChild}\n {...props}\n >\n {children}\n </SelectPrimitive.Trigger>\n );\n }\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n asChild={asChild}\n {...props}\n >\n {children}\n\n <>\n {showCaret && (\n <SelectPrimitive.Icon\n asChild\n className=\"oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n >\n <CaretDownIcon\n size={12}\n className=\"oui-text-inherit\"\n opacity={1}\n />\n </SelectPrimitive.Icon>\n )}\n </>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => {\n const { scrollUpButton } = selectVariants();\n return (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={scrollUpButton({ className })}\n {...props}\n >\n <CaretUpIcon size={16} color={\"white\"} />\n </SelectPrimitive.ScrollUpButton>\n );\n});\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => {\n const { scrollDownButton } = selectVariants();\n return (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={scrollDownButton({ className })}\n {...props}\n >\n <CaretDownIcon size={16} color={\"white\"} />\n </SelectPrimitive.ScrollDownButton>\n );\n});\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => {\n const { content, viewport } = selectVariants({ position, className });\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={content({ className })}\n position={position}\n {...props}\n >\n {/* <SelectScrollUpButton /> */}\n <SelectPrimitive.Viewport className={viewport()}>\n {children}\n </SelectPrimitive.Viewport>\n {/* <SelectScrollDownButton /> */}\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n});\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => {\n const { label } = selectVariants();\n return (\n <SelectPrimitive.Label\n ref={ref}\n className={label({ className })}\n {...props}\n />\n );\n});\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> & {\n size?: VariantProps<typeof selectVariants>[\"size\"];\n }\n>(({ className, children, size, ...props }, ref) => {\n const { item } = selectVariants({ size });\n return (\n <SelectPrimitive.Item ref={ref} className={item({ className })} {...props}>\n {/* <span className=\"oui-absolute oui-right-2 oui-flex vh-3.5 oui-w-3.5 oui-items-center oui-justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span> */}\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => {\n const { separator } = selectVariants();\n return (\n <SelectPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n );\n});\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n // Select: ,\n SelectRoot,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n selectVariants,\n};\n","import React, { FC, PropsWithChildren, ReactElement } from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { ScrollArea } from \"../scrollarea\";\nimport {\n SelectContent,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n selectVariants,\n} from \"./selectPrimitive\";\n\nexport type SelectVariantProps = VariantProps<typeof selectVariants>;\n\nexport type SelectProps<T> = SelectPrimitive.SelectProps & {\n placeholder?: string;\n valueFormatter?: (\n value: T,\n options: {\n placeholder?: string;\n },\n ) => React.ReactNode;\n contentProps?: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>;\n showCaret?: boolean;\n maxHeight?: number;\n testid?: string;\n classNames?: {\n trigger?: string;\n };\n} & SelectVariantProps;\n\nexport const Select = <T,>(props: PropsWithChildren<SelectProps<T>>) => {\n const {\n children,\n size,\n error,\n placeholder,\n variant,\n contentProps,\n valueFormatter: valueRenderer,\n showCaret,\n maxHeight,\n testid,\n classNames,\n ...rest\n } = props;\n\n return (\n <SelectRoot {...rest}>\n <SelectTrigger\n size={size}\n error={error}\n variant={variant}\n showCaret={showCaret}\n className={cnBase(\n \"oui-cursor-pointer oui-font-semibold focus:oui-ring-transparent\",\n // !showCaret && \"oui-cursor-auto\",\n classNames?.trigger,\n )}\n data-testid={testid}\n >\n {typeof valueRenderer === \"function\" ? (\n valueRenderer((props.value || props.defaultValue) as T, {\n placeholder,\n })\n ) : (\n <SelectValue placeholder={placeholder} />\n )}\n </SelectTrigger>\n <SelectContent {...contentProps}>\n <ScrollArea>\n <div style={{ maxHeight }}>{children}</div>\n </ScrollArea>\n </SelectContent>\n </SelectRoot>\n );\n};\n","import React, { ReactElement, useMemo } from \"react\";\nimport {\n ItemIndicator,\n SelectItem,\n SelectItemText,\n} from \"@radix-ui/react-select\";\nimport { AvatarSizeType } from \"../avatar/avatar\";\nimport { Flex } from \"../flex\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { TokenIcon } from \"../icon\";\nimport { Text } from \"../typography\";\nimport type { SelectProps } from \"./select\";\nimport { selectVariants } from \"./selectPrimitive\";\nimport { SelectOption, SelectWithOptions } from \"./withOptions\";\n\ntype TokenItem = {\n name: string;\n [x: string]: any;\n};\n\nexport type TokenSelectProps = {\n tokens: TokenItem[];\n showIcon?: boolean;\n optionRenderer?: (option: SelectOption) => ReactElement;\n iconSize?: AvatarSizeType;\n} & SelectProps<string>;\n\nexport const TokenSelect: React.FC<TokenSelectProps> = (props) => {\n const { tokens, showIcon = true, iconSize, showCaret, ...rest } = props;\n const { icon } = selectVariants();\n\n const options = useMemo(() => {\n return tokens.map((token) => {\n return {\n ...token,\n label: token.name,\n value: token.name,\n };\n });\n }, [tokens]);\n\n const selectable = options.length > 1;\n\n const valueRenderer = (value: string) => {\n if (typeof props.valueFormatter === \"function\") {\n return props.valueFormatter(value, {});\n }\n return (\n <Flex gapX={1}>\n <TokenIcon\n name={value}\n className={iconSize ? undefined : icon({ size: props.size })}\n size={iconSize}\n />\n <Text weight=\"semibold\" intensity={54}>\n {value}\n </Text>\n </Flex>\n );\n };\n\n const optionRenderer = (option: SelectOption) => {\n if (typeof props.optionRenderer === \"function\") {\n return props.optionRenderer(option);\n }\n return <Option {...option} iconSize={iconSize} />;\n };\n\n return (\n <SelectWithOptions\n {...rest}\n showCaret={typeof showCaret === \"boolean\" ? showCaret : selectable}\n options={options}\n valueFormatter={showIcon ? valueRenderer : undefined}\n optionRenderer={optionRenderer}\n maxHeight={254} // 30 * 8 + 2 * 7\n />\n );\n};\n\ntype OptionProps = SelectOption & {\n index?: number;\n size?: SizeType;\n iconSize?: AvatarSizeType;\n};\n\nconst Option: React.FC<OptionProps> = (props) => {\n const { size, label, value, iconSize } = props;\n\n const { item, icon } = selectVariants();\n return (\n <SelectItem\n value={value}\n className={item({\n size,\n className: \"oui-space-x-1 oui-flex oui-flex-row oui-items-center\",\n })}\n >\n <TokenIcon\n name={value}\n className={iconSize ? undefined : icon({ size })}\n size={iconSize}\n />\n <SelectItemText>{label}</SelectItemText>\n <ItemIndicator />\n </SelectItem>\n );\n};\n","import React, { FC, ReactElement } from \"react\";\nimport { cn } from \"..\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select, SelectProps } from \"./select\";\nimport { SelectGroup, SelectItem } from \"./selectPrimitive\";\n\nexport type SelectOption = {\n label: string;\n value: string;\n};\n\nexport type SelectWithOptionsProps<T = string> = SelectProps<T> & {\n // options: SelectOption[] | (() => Promise<SelectOption[]>);\n currentValue?: string;\n options: SelectOption[];\n optionRenderer?: (\n option: SelectOption,\n // & {\n // size?: SizeType;\n // index: number;\n // }\n ) => ReactElement;\n // loading?: boolean;\n testid?: string;\n prefix?: string;\n};\n\nexport const defaultOptionRenderer = (\n option: SelectOption,\n currentValue?: string,\n) => {\n return (\n <SelectItem\n key={option.value}\n value={option.value}\n className={cn(\"oui-relative oui-cursor-pointer\")}\n data-testid={`oui-testid-selectItem-${option.value\n ?.toLowerCase()\n ?.replace(\" \", \"_\")}`}\n >\n {option.label}\n {currentValue == option.value && (\n <Box\n width={4}\n height={4}\n gradient=\"brand\"\n r=\"full\"\n className=\"oui-absolute oui-right-2 oui-top-1/2 -oui-translate-y-1/2\"\n />\n )}\n </SelectItem>\n );\n};\n\nexport const SelectWithOptions: FC<SelectWithOptionsProps> = (props) => {\n const {\n children,\n options,\n optionRenderer = defaultOptionRenderer,\n currentValue,\n ...rest\n } = props;\n\n // const [] = useState<SelectOption[]>([]);\n\n return (\n <Select {...rest}>\n <SelectGroup>\n {options.map((option, index) => {\n // return optionRenderer({\n // ...option,\n // // value: option,\n // size: props.size,\n // index,\n // });\n return React.cloneElement(optionRenderer(option, currentValue), {\n size: props.size,\n key: index,\n index,\n });\n })}\n </SelectGroup>\n </Select>\n );\n};\n","import { CombineSelect } from \"./combine\";\nimport { Select as SelectComponent } from \"./select\";\nimport { TokenSelect } from \"./tokens\";\nimport { SelectWithOptions } from \"./withOptions\";\n\nexport {\n SelectRoot,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n} from \"./selectPrimitive\";\n\nexport type SelectType = typeof SelectComponent & {\n options: typeof SelectWithOptions;\n tokens: typeof TokenSelect;\n combine: typeof CombineSelect;\n};\n\nconst Select = SelectComponent as SelectType;\nSelect.options = SelectWithOptions;\nSelect.combine = CombineSelect;\nSelect.tokens = TokenSelect;\n\nexport { Select };\n\nexport type { SelectProps } from \"./select\";\nexport type { SelectWithOptionsProps, SelectOption } from \"./withOptions\";\nexport type { ChainSelectProps } from \"./chains\";\n","import { forwardRef, useEffect, useState } from \"react\";\nimport {\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipRoot,\n TooltipArrow,\n TooltipTrigger,\n} from \"../tooltip\";\nimport { Input, InputProps } from \"./input\";\nimport type { TooltipContentProps } from \"@radix-ui/react-tooltip\";\n\nexport type InputWithTooltipProps = InputProps & {\n tooltip?: React.ReactNode;\n tooltipProps?: {\n content?: TooltipContentProps;\n arrow?: TooltipContentProps;\n };\n triggerClassName?: string;\n};\n\nexport const InputWithTooltip = forwardRef<\n HTMLInputElement,\n InputWithTooltipProps\n>((props, ref) => {\n const { tooltip, tooltipProps, triggerClassName, ...inputProps } = props;\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (typeof tooltip !== \"undefined\" && tooltip !== \"\" && tooltip !== null) {\n setOpen(true);\n } else {\n setOpen(false);\n }\n }, [tooltip]);\n\n return (\n <TooltipRoot open={open}>\n <TooltipTrigger asChild>\n <div className={triggerClassName}>\n <Input {...inputProps} ref={ref} />\n </div>\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent {...tooltipProps?.content}>\n {props.tooltip}\n <TooltipArrow {...tooltipProps?.arrow}/>\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n );\n});\n\nInputWithTooltip.displayName = \"InputWithTooltip\";\n","import * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { TooltipContentProps } from \"@radix-ui/react-tooltip\";\nimport { cn } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\n// import { cn } from \"..\";\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\n// const Tooltip = TooltipPrimitive.Root;\nconst TooltipRoot = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\n// const TooltipArrow = TooltipPrimitive.Arrow;\n\nconst TooltipPortal = TooltipPrimitive.Portal;\n\nconst tooltipVariants = tv({\n base: [\n \"oui-z-50\",\n \"oui-overflow-hidden\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n \"oui-px-2\",\n \"oui-py-1\",\n \"oui-text-xs\",\n \"oui-text-base-contrast\",\n \"oui-animate-in\",\n \"oui-fade-in-0\",\n \"oui-zoom-in-95\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n});\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => {\n return (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={tooltipVariants({\n className,\n })}\n {...props}\n />\n );\n});\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = (props: {\n className?: string;\n style?: React.CSSProperties;\n}) => {\n const { className, ...arrowProps } = props;\n return (\n <TooltipPrimitive.Arrow\n width={12}\n height={6}\n {...arrowProps}\n className={cn(\n \"oui-fill-base-8\",\n className,\n )({\n twMerge: true,\n })}\n />\n );\n};\n\nexport type TooltipProps = Omit<\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root> &\n React.ComponentPropsWithoutRef<typeof TooltipContent>,\n \"content\"\n> & {\n className?: string;\n content?: React.ReactNode;\n arrow?: TooltipPrimitive.TooltipArrowProps;\n};\n\nconst Tooltip = React.forwardRef<\n React.ElementRef<typeof TooltipContent>,\n TooltipProps\n>((originalProps, ref) => {\n const {\n children,\n content,\n defaultOpen,\n open,\n onOpenChange,\n delayDuration,\n disableHoverableContent,\n arrow,\n ...props\n } = originalProps;\n const { className, ...arrowProps } = arrow || {};\n return (\n <TooltipPrimitive.Root\n defaultOpen={defaultOpen}\n open={open}\n onOpenChange={onOpenChange}\n delayDuration={delayDuration}\n disableHoverableContent={disableHoverableContent}\n >\n <TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>\n <TooltipPortal>\n <TooltipContent ref={ref} {...props}>\n {content}\n <TooltipArrow {...arrow} />\n </TooltipContent>\n </TooltipPortal>\n </TooltipPrimitive.Root>\n );\n});\n\nTooltip.displayName = \"Tooltip\";\n\nexport {\n Tooltip,\n TooltipRoot,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipArrow,\n TooltipPortal,\n};\n","export { currencyFormatter } from \"./currency\";\n\nexport { numberFormatter } from \"./number\";\n\nexport { createRegexInputFormatter } from \"./regex\";\n\nexport { dpFormatter } from \"./dp\";\n\nexport { rangeFormatter } from \"./range\";\n\nexport { identifierFormatter } from \"./identifier\";\n\nexport { decimalPointFormatter } from \"./decimalPoint\";","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\nimport { commify } from \"@kodiak-finance/orderly-utils\";\n\nexport const currencyFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n return commify(value);\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n\n value = value.replace(/,/g, \"\");\n\n return value;\n },\n};\n","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\nexport const numberFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n return \"\" + value;\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value.startsWith(\".\")) return `0${value}`;\n if (value === '00') return '0';\n\n // if (/^0{2,}$/.test(value)) {\n // return \"0\";\n // }\n\n value = value\n .replace(/[^\\d.]/g, \"\")\n .replace(\".\", \"$#$\")\n .replace(/\\./g, \"\")\n .replace(\"$#$\", \".\");\n\n return value;\n },\n};\n","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\ntype RegExpFunction = (value: string | number) => string;\n\ntype RegexInputFormatter = (regex: RegExp | RegExpFunction) => InputFormatter;\n\nexport const createRegexInputFormatter: RegexInputFormatter = (\n regex: RegExp | RegExpFunction,\n onSendBefore?: (value: string, options: InputFormatterOptions) => string,\n) => ({\n onRenderBefore: (\n value: string | number,\n options: InputFormatterOptions,\n ): string => {\n if (typeof regex === \"function\") {\n return regex(String(value));\n }\n const formattedValue = `${value}`.replace(regex, \"\");\n return formattedValue;\n },\n onSendBefore: (value: string, options: InputFormatterOptions): string => {\n return onSendBefore?.(value, options) || value;\n },\n});\n","import { InputFormatterOptions } from \"./inputFormatter\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\n\nexport const dpFormatter = (\n dp: number,\n config?: {\n /**\n * The rounding mode to use when rounding the number\n * @default Decimal.ROUND_DOWN\n */\n roundingMode?: number;\n }\n) => {\n const onBefore = (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n // if (config && config.tick !== null) {\n // return utils.formatNumber(value, config.tick) ?? value;\n // }\n return truncateNumber(value, dp);\n // const { roundingMode = Decimal.ROUND_DOWN } = config ?? {};\n // let d = new Decimal(value);\n // d = d.todp(dp, roundingMode);\n // return d.toString();\n };\n\n return {\n onRenderBefore: onBefore,\n onSendBefore: onBefore,\n };\n};\n\n/**\n * Truncate a number to a specified number of decimal places.\n * @param num The string to be truncated.\n * @param decimalPlaces The number of decimal places to keep.\n * @returns The truncated number as a string.\n */\nfunction truncateNumber(numStr: string, decimalPlaces: number): string {\n // Convert the number to a string\n // const numStr = typeof num ==='number'? num.toString():num;\n\n // Find the position of the decimal point\n const decimalIndex = numStr.indexOf(\".\");\n\n // If there's no decimal point or we don't need to truncate, return the number as is\n if (decimalIndex === -1 || decimalPlaces <= 0) {\n return numStr.split(\".\")[0];\n }\n\n // Calculate the end position for the substring\n const endIndex = decimalIndex + decimalPlaces + 1;\n\n // Return the truncated string\n return numStr.substring(0, endIndex);\n}\n","import { InputFormatterOptions } from \"./inputFormatter\";\n\nexport const rangeFormatter = (props: {\n max: number;\n min: number;\n dp?: number;\n}) => {\n const onBefore = (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n\n // Handle empty value or value ending with decimal point\n if (value === \".\") return \"0.\";\n if (!value || value.endsWith(\".\")) return value;\n\n const { max, min, dp } = props;\n\n const numValue = Number(value);\n\n // Handle invalid number\n if (isNaN(numValue)) {\n return \"\";\n }\n\n if (numValue < min) {\n return min.toString();\n }\n\n if (numValue > max) {\n return max.toString();\n }\n\n // Handle decimal places if dp is specified\n if (dp !== undefined && value.includes(\".\")) {\n const [integer, decimal] = value.split(\".\");\n // if decimal length is more than dp, return value without the last digit\n return decimal?.length <= dp ? value : value.slice(0, -1);\n }\n\n return value;\n };\n\n return {\n onRenderBefore: onBefore,\n onSendBefore: onBefore,\n };\n};\n","import { InputFormatterOptions } from \"./inputFormatter\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\n\nexport const identifierFormatter = (\n// props: {\n// integer?: string;\n// negative?: string;\n// }\n) => {\n // const {\n // integer = '+',\n // negative = '-',\n // } = props;\n\n const integer = '+';\n const negative = '-';\n return {\n onRenderBefore: (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n const _value = Number(value);\n if (_value) {\n // greater than 0 && not start with +\n if (_value > 0 && !value.startsWith(integer)) return integer + value;\n // greater less 0 && not start with -\n if (_value < 0 && !value.startsWith(negative)) return negative + value;\n }\n return value;\n },\n onSendBefore: (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n const _value = Number(value);\n if (_value) {\n // greater than 0\n if (_value > 0) return value.replace(integer, \"\");\n }\n return value;\n },\n };\n};\n\n","import { commify } from \"@kodiak-finance/orderly-utils\";\nimport { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\nexport const decimalPointFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n return String(value);\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n return replaceComma(value, options?.originValue);\n },\n};\n\nconst replaceComma = (value: string, originValue?: string) => {\n if (value === null || value === undefined) return \"\";\n if (value.endsWith(\",\")) {\n return value.slice(0, -1) + \".\";\n }\n if (value.startsWith(\",\")) {\n return value.slice(0, 1) + \".\";\n }\n\n const originFormatValue = commify(originValue as string)\n if (\n originValue &&\n value.length > originFormatValue.length &&\n value.length - originFormatValue.length === 1\n ) {\n return findAndReplace(value, originFormatValue);\n }\n return value;\n};\n\nconst findAndReplace = (str1: string, str2: string) => {\n if (str1.length <= str2.length) {\n return str1;\n }\n\n for (let i = 0; i < str2.length; i++) {\n if (str1[i] !== str2[i]) {\n const differentChar = str1[i];\n const newChar = differentChar === \",\" ? \".\" : differentChar;\n return str1.slice(0, i) + newChar + str1.slice(i + 1);\n }\n }\n return str1;\n};\n","import React from \"react\";\nimport { Input, InputProps } from \"./input\";\nimport { InputHelpText, type InputHelpTextVariantProps } from \"./inputHelpText\";\nimport { tv } from \"../utils/tv\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cn } from \"..\";\n\nconst textFieldVariants = tv({\n slots: {\n root: \"oui-flex\",\n label: \"oui-text-sm oui-font-semibold\",\n input: [],\n },\n variants: {\n direction: {\n column: {\n root: \"oui-flex-col oui-space-y-1\",\n },\n row: {\n root: \"oui-flex-row oui-space-x-3 \",\n },\n },\n },\n defaultVariants: {\n direction: \"column\",\n },\n});\n\nexport type TextFieldProps = InputProps & {\n label: string;\n helpText?: string;\n classNames?: {\n root?: string;\n label?: string;\n input?: string;\n };\n} & VariantProps<typeof textFieldVariants>;\n\nexport const TextField: React.FC<TextFieldProps> = React.forwardRef<\n HTMLDivElement,\n TextFieldProps\n>((props, ref) => {\n const { label, helpText, direction, className, ...inputProps } = props;\n const { root, label: labelClassName } = textFieldVariants({ direction });\n\n return (\n <div className={root({ className, direction })}>\n <InputLabel className={cn(props.classNames?.label) || labelClassName()}>\n {label}\n </InputLabel>\n <div>\n <Input {...inputProps} />\n {(helpText?.length || 0 > 0) && (\n <InputHelpText\n color={inputProps.color as InputHelpTextVariantProps[\"color\"]}\n >\n {helpText}\n </InputHelpText>\n )}\n </div>\n </div>\n );\n});\n\nTextField.displayName = \"TextField\";\n\ninterface InputLabelProps extends React.HTMLAttributes<HTMLLabelElement> {\n asChild?: boolean;\n}\n\nconst InputLabel = React.forwardRef<HTMLLabelElement, InputLabelProps>(\n (props, ref) => {\n const { asChild = false, className, ...rest } = props;\n const Comp = asChild ? Slot : \"label\";\n\n return (\n <Comp className={className} ref={ref} {...rest}>\n {props.children}\n </Comp>\n );\n }\n);\n\nInputLabel.displayName = \"InputLabel\";\n","import { Slot } from \"@radix-ui/react-slot\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\nimport React from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nconst inputHelpTextVariants = tv({\n base: [\n \"oui-text-xs\",\n \"oui-text-base-contrast-36\",\n \"oui-mt-1\",\n \"oui-list-disc\",\n \"oui-list-inside\",\n \"oui-list-item\",\n ],\n variants: {\n color: {\n success: [\"oui-text-success\"],\n danger: [\"oui-text-danger\"],\n warning: [\"oui-text-warning-darken\"],\n default: [\"oui-text-base-contrast-54\"],\n },\n },\n});\n\nexport type InputHelpTextVariantProps = VariantProps<\n typeof inputHelpTextVariants\n>;\n\ninterface InputHelpTextProps\n extends ComponentPropsWithout<\"div\", RemovedProps>,\n InputHelpTextVariantProps {\n asChild?: boolean;\n}\n\nconst InputHelpText = React.forwardRef<HTMLDivElement, InputHelpTextProps>(\n (props, ref) => {\n const { className, asChild, color, ...rest } = props;\n const Comp = asChild ? Slot : \"div\";\n return (\n <Comp\n ref={ref}\n className={inputHelpTextVariants({\n className,\n color,\n })}\n {...rest}\n />\n );\n }\n);\n\nInputHelpText.displayName = \"InputHelpText\";\n\nexport { InputHelpText, inputHelpTextVariants };\n\nexport { type InputHelpTextProps };\n","import { QuantityInput } from \"./extends/quantity\";\nimport { Input as InputBase, inputVariants } from \"./input\";\nimport { InputWithTooltip } from \"./input.tooltip\";\n\nexport { InputAdditional } from \"./inputAdditional\";\n\nexport type { InputProps } from \"./input\";\nexport type { InputWithTooltipProps } from \"./input.tooltip\";\nexport * as inputFormatter from \"./formatter\";\n\nexport type {\n InputFormatter,\n InputFormatterOptions,\n} from \"./formatter/inputFormatter\";\n\nexport { TextField } from \"./textField\";\n\nexport { type TextFieldProps } from \"./textField\";\n\nexport { InputHelpText } from \"./inputHelpText\";\nexport type { InputHelpTextProps } from \"./inputHelpText\";\n\ntype InputType = typeof InputBase & {\n token: typeof QuantityInput;\n tooltip: typeof InputWithTooltip;\n};\n\nconst Input = InputBase as InputType;\nInput.token = QuantityInput;\nInput.tooltip = InputWithTooltip;\n\nexport { Input, inputVariants };\n","import * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { tv, cnBase } from \"tailwind-variants\";\n\nconst checkboxVariants = tv({\n base: [\n \"peer\",\n \"oui-h-3\",\n \"oui-w-3\",\n \"oui-shrink-0\",\n \"oui-rounded-sm\",\n \"oui-border\",\n \"focus-visible:oui-outline-none\",\n // \"focus-visible:oui-ring-1\",\n // \"focus-visible:oui-ring-ring\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n // \"data-[state=checked]:oui-border-none\",\n // \"data-[state=checked]:oui-text-base-contrast\",\n ],\n variants: {\n color: {\n primary: \"oui-border-primary data-[state=checked]:oui-text-base-contrast\",\n white: \"oui-border-base-contrast-54 \",\n // data-[state=checked]:oui-bg-white/80 data-[state=checked]:oui-text-[rgba(0,0,0,0.88)]\n },\n variant: {\n checkBox: \"data-[state=checked]:oui-border-none\",\n radio:\n \"oui-rounded-full data-[state=checked]:oui-border-base-contrast-20 data-[state=checked]:oui-bg-transparent\",\n },\n },\n compoundVariants: [\n {\n color: \"primary\",\n variant: \"radio\",\n className:\n \"data-[state=checked]:oui-border-parimary data-[state=checked]:!oui-text-parimary\",\n },\n ],\n defaultVariants: {\n color: \"white\",\n // style: \"checkBox\",\n },\n});\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & {\n size?: number;\n indicatorClassName?: string;\n color?: \"primary\" | \"white\";\n variant?: \"checkBox\" | \"radio\";\n }\n>(({ className, color = \"white\", variant = \"checkBox\", ...props }, ref) => {\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n className={checkboxVariants({ color, className, variant })}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cnBase(\n \"oui-flex oui-items-center oui-justify-center oui-text-current\",\n props.indicatorClassName\n )}\n >\n {variant === \"checkBox\" ? (\n <CheckboxIcon\n className={cnBase(\n color === \"primary\" ? \"oui-text-primary\" : \"oui-text-white\"\n )}\n />\n ) : (\n <div\n className={cnBase(\n \"oui-w-[6px] oui-h-[6px] oui-rounded-full\",\n color === \"primary\" ? \"oui-bg-primary\" : \"oui-bg-base-contrast-80\"\n )}\n />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n});\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n\nexport const CheckboxIcon: React.FC<React.SVGProps<SVGSVGElement>> = (\n props\n) => (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.078.71A2.333 2.333 0 0 0 .745 3.041v5.834a2.333 2.333 0 0 0 2.333 2.333H8.91a2.333 2.333 0 0 0 2.334-2.333V3.042A2.333 2.333 0 0 0 8.91.71zm5.83 2.555a.7.7 0 0 1 .488-.182c.174 0 .355.056.488.182a.643.643 0 0 1 0 .93L5.129 8.728a.723.723 0 0 1-.975 0L2.115 6.785a.644.644 0 0 1 0-.93.724.724 0 0 1 .977 0l1.55 1.476z\"\n fillOpacity=\".8\"\n />\n </svg>\n);\n","import React from \"react\";\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"..\";\n\nconst switchVariants = tv({\n slots: {\n root: [\n \"peer\",\n \"oui-inline-flex\",\n \"oui-h-[16px]\",\n \"oui-w-[28px]\",\n \"oui-shrink-0\",\n \"oui-cursor-pointer\",\n \"oui-items-center\",\n \"oui-rounded-full\",\n // \"oui-border-3\",\n \"oui-border-transparent\",\n \"oui-shadow-sm\",\n \"oui-transition-colors\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n \"focus-visible:oui-ring-offset-background\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n \"data-[state=checked]:oui-bg-primary-darken\",\n \"data-[state=unchecked]:oui-bg-input\",\n ],\n thumb: [\n \"oui-pointer-events-none\",\n \"oui-block\",\n \"oui-h-[10px]\",\n \"oui-w-[10px]\",\n \"oui-rounded-full\",\n // \"oui-bg-white/80\",\n \"oui-bg-primary-contrast\",\n \"oui-shadow-lg\",\n \"oui-ring-0\",\n \"oui-transition-transform\",\n \"data-[state=checked]:oui-translate-x-[15px]\",\n \"data-[state=unchecked]:oui-translate-x-[3px]\",\n ],\n },\n variants: {\n color: {\n primary: {\n root: [\n \"data-[state=checked]:oui-bg-primary-darken\",\n \"data-[state=unchecked]:oui-bg-base-1\",\n ],\n },\n success: {\n root: [\n \"data-[state=checked]:oui-bg-success\",\n \"data-[state=unchecked]:oui-bg-success\",\n ],\n },\n danger: {\n root: [\n \"data-[state=checked]:oui-bg-danger\",\n \"data-[state=unchecked]:oui-bg-danger\",\n ],\n },\n warning: {\n root: [\n \"data-[state=checked]:oui-bg-warning-darken\",\n \"data-[state=unchecked]:oui-bg-warning-darken\",\n ],\n },\n },\n },\n defaultVariants: {\n color: \"primary\",\n },\n});\n\ninterface SwitchProps\n extends VariantProps<typeof switchVariants>,\n Omit<\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>,\n \"color\"\n > {}\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n SwitchProps\n>(({ className, color, ...props }, ref) => {\n const { root, thumb } = switchVariants({\n className,\n color,\n });\n\n return (\n <SwitchPrimitives.Root className={root({ className })} {...props} ref={ref}>\n <SwitchPrimitives.Thumb className={thumb()} />\n </SwitchPrimitives.Root>\n );\n});\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst badgeVariants = tv({\n base: \"oui-inline-flex oui-items-center oui-rounded-md oui-font-semibold oui-transition-colors focus:oui-outline-none focus:oui-ring-2 focus:oui-ring-ring focus:oui-ring-offset-2\",\n\n variants: {\n variant: {\n contained: \"\",\n // outlined: \"oui-border\",\n text: \"\",\n },\n color: {\n primary: \"\",\n primaryLight: \"\",\n secondary: \"\",\n danger: \"\",\n buy: \"\",\n success: \"\",\n warning: \"\",\n sell: \"\",\n neutral: \"\",\n },\n size: {\n xs: \"oui-px-2 oui-py-0.5 oui-text-2xs oui-rounded oui-h-[18px]\",\n sm: \"oui-px-2 oui-py-0.5 oui-text-2xs oui-rounded\",\n md: \"oui-px-2 oui-py-0.5 oui-text-sm\",\n lg: \"oui-px-2 oui-py-1 oui-text-base\",\n // xl: \"oui-px-4 oui-py-1.5 oui-text-sm\",\n },\n // dot:{\n // true: \"oui-w-2 oui-h-2 oui-rounded-full\",\n // false: \"\"\n // }\n },\n compoundVariants: [\n {\n variant: \"contained\",\n color: \"primary\",\n className: [\"oui-bg-primary/15\", \"oui-text-primary\"],\n },\n {\n variant: \"contained\",\n color: \"primaryLight\",\n className: [\"oui-bg-primary-light/15\", \"oui-text-primary-light\"],\n },\n {\n variant: \"contained\",\n color: \"danger\",\n className: [\"oui-bg-danger/15\", \"oui-text-danger\"],\n },\n {\n variant: \"contained\",\n color: \"sell\",\n className: [\"oui-bg-danger/15\", \"oui-text-danger\"],\n },\n {\n variant: \"contained\",\n color: \"success\",\n className: [\"oui-bg-success/15\", \"oui-text-success\"],\n },\n {\n variant: \"contained\",\n color: \"buy\",\n className: [\"oui-bg-success/15\", \"oui-text-success\"],\n },\n {\n variant: \"contained\",\n color: \"warning\",\n className: [\"oui-bg-warning-darken/15\", \"oui-text-warning-darken\"],\n },\n {\n variant: \"contained\",\n color: \"neutral\",\n className: [\"oui-bg-line\", \"oui-text-base-contrast-36\"],\n },\n {\n variant: \"text\",\n color: \"primary\",\n className: [\"oui-text-primary\"],\n },\n {\n variant: \"text\",\n color: \"danger\",\n className: [\"oui-text-danger\"],\n },\n {\n variant: \"text\",\n color: \"success\",\n className: [\"oui-text-success\"],\n },\n {\n variant: \"text\",\n color: \"warning\",\n className: [\"oui-text-warning-darken\"],\n },\n {\n variant: \"text\",\n color: \"neutral\",\n className: [\"oui-text-base-contrast-36\"],\n },\n ],\n defaultVariants: {\n variant: \"contained\",\n color: \"primary\",\n size: \"md\",\n },\n});\n\nexport interface BadgeProps\n extends ComponentPropsWithout<\"div\", RemovedProps>,\n VariantProps<typeof badgeVariants> {\n // dot?: boolean;\n}\n\nfunction Badge({ className, variant, color, size, ...props }: BadgeProps) {\n return (\n <div\n className={badgeVariants({ variant, className, color, size })}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n","import React, { ElementRef, HTMLAttributes } from \"react\";\n\ntype Elment = ElementRef<\"div\">;\n\ntype LogoProps = HTMLAttributes<Elment> & {\n src: string;\n alt?: string;\n href?: string;\n};\n\nconst Logo = React.forwardRef<Elment, LogoProps>(({ src, alt, href }, ref) => {\n return (\n <div className=\"logo oui-px-3\" ref={ref}>\n <a href={href ?? \"/\"}>\n <img\n src={src}\n alt={alt}\n className=\"oui-object-contain oui-h-8 oui-py-2\"\n />\n </a>\n </div>\n );\n});\n\nLogo.displayName = \"LogoElement\";\n\nexport { Logo };\nexport type { LogoProps };\n","import { PropsWithChildren, ReactNode, useEffect, useMemo } from \"react\";\nimport {\n getCoreRowModel,\n useReactTable,\n getExpandedRowModel,\n Row,\n getSortedRowModel,\n CoreOptions,\n ColumnFilter,\n getFilteredRowModel,\n RowSelectionState,\n TableFeature,\n Table,\n Column as TanstackColumn,\n ExpandedState,\n OnChangeFn,\n} from \"@tanstack/react-table\";\nimport { cnBase, cn } from \"tailwind-variants\";\nimport { useInit } from \"./hooks/useInit\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport { useShowHeader } from \"./hooks/useShowHeader\";\nimport { useShowPagination } from \"./hooks/useShowPagination\";\nimport { useSort } from \"./hooks/useSort\";\nimport { useWrap } from \"./hooks/useWrap\";\nimport { TableBody } from \"./tableBody\";\nimport { TableHeader } from \"./tableHeader\";\nimport { TablePagination } from \"./tablePagination\";\nimport { TablePlaceholder } from \"./tablePlaceholder\";\nimport { Transform } from \"./transform\";\nimport {\n Column,\n PaginationMeta,\n TableSort,\n DataTableClassNames,\n TableCellContext,\n} from \"./type\";\n\nexport type DataTableProps<RecordType> = {\n columns: Column<RecordType>[];\n dataSource?: RecordType[] | ReadonlyArray<RecordType> | null;\n /**\n * @description loading state\n * @default false\n */\n loading?: boolean;\n // isValidating?: boolean;\n ignoreLoadingCheck?: boolean;\n className?: string;\n classNames?: DataTableClassNames;\n // showMaskElement?: boolean;\n emptyView?: ReactNode;\n bordered?: boolean;\n // loadMore?: () => void;\n onSort?: (sort?: TableSort) => void;\n initialSort?: TableSort;\n id?: string;\n // minHeight?: number;\n // initialMinHeight?: number;\n getRowCanExpand?: (row: Row<any>) => boolean;\n expandRowRender?: (row: Row<any>, index: number) => ReactNode;\n expanded?: ExpandedState;\n onExpandedChange?: OnChangeFn<ExpandedState>;\n getSubRows?: (record: any, index: number) => undefined | any[];\n manualSorting?: boolean;\n manualPagination?: boolean;\n manualFiltering?: boolean;\n pagination?: PaginationMeta;\n renderRowContainer?: (\n record: RecordType,\n index: number,\n children: ReactNode,\n context: Row<RecordType>,\n ) => ReactNode;\n generatedRowKey?: CoreOptions<any>[\"getRowId\"];\n onRow?: (record: RecordType, index: number, context: Row<RecordType>) => any;\n onCell?: (\n column: TanstackColumn<any>,\n record: RecordType,\n index: number,\n context: TableCellContext,\n ) => any;\n columnFilters?: ColumnFilter | ColumnFilter[];\n rowSelection?: RowSelectionState;\n\n // test id\n testIds?: {\n body?: string;\n };\n features?: TableFeature[];\n getTableInstance?: (table: Table<RecordType>) => void;\n};\n\nexport function DataTable<RecordType extends any>(\n props: PropsWithChildren<DataTableProps<RecordType>>,\n) {\n const {\n columns,\n className,\n classNames,\n pagination,\n getRowCanExpand,\n manualPagination,\n loading,\n ignoreLoadingCheck,\n emptyView,\n initialSort,\n manualSorting,\n onSort,\n expanded,\n onExpandedChange,\n } = props;\n\n const [sorting, setSorting] = useSort({\n onSort,\n initialSort,\n });\n\n // Check if we need to override manualSorting for multiSort columns\n const hasMultiSortColumns = useMemo(() => {\n return columns.some((col) => col.multiSort && !col.multiSort.onSort);\n }, [columns]);\n\n // For multiSort columns, check if current sorting is a multiSort field\n const effectiveManualSorting = useMemo(() => {\n if (!hasMultiSortColumns) {\n return manualSorting;\n }\n\n // If current sorting is a multiSort field, use manual sorting\n if (sorting.length > 0) {\n const currentSort = sorting[0];\n const sortId = currentSort.id;\n\n const isMultiSortField = columns.some((col) =>\n col.multiSort?.fields?.some((field) => field.sortKey === sortId),\n );\n\n return isMultiSortField; // Use manual sorting for multiSort fields\n }\n\n return false; // Use client-side sorting for regular columns\n }, [hasMultiSortColumns, manualSorting, sorting, columns]);\n\n const dataSource = useMemo(() => {\n return Transform.dataSource(props.dataSource || [], columns, sorting);\n }, [props.dataSource, columns, sorting]);\n\n const formatColumns = useMemo(\n () => Transform.columns(columns, sorting, setSorting),\n [columns, sorting, setSorting],\n );\n\n const columnPinning = useMemo(\n () => Transform.columnPinning(columns),\n [columns],\n );\n\n const rowSelection = useMemo(\n () => props.rowSelection || {},\n [props.rowSelection],\n );\n\n const { state: paginationState, config: paginationConfig } = useMemo(\n () => Transform.pagination(pagination),\n [pagination],\n );\n\n // const { state: sortState, config: sortConfig } = useMemo(\n // () => Transform.sorting(onSort, initialSort),\n // [onSort, initialSort]\n // );\n\n const initialized = useInit({ dataSource, loading, ignoreLoadingCheck });\n\n const columnFilters = useMemo(() => {\n return Array.isArray(props.columnFilters)\n ? (props.columnFilters as ColumnFilter[])\n : props.columnFilters\n ? [props.columnFilters]\n : [];\n }, [props.columnFilters]);\n\n const table = useReactTable({\n _features: props.features,\n data: dataSource! as RecordType[],\n columns: formatColumns,\n state: {\n columnPinning,\n columnFilters,\n rowSelection,\n sorting,\n expanded,\n ...paginationState,\n // ...sortState,\n },\n onSortingChange: setSorting,\n // onColumnFiltersChange: setColumnFilters,\n getRowId: props.generatedRowKey,\n getCoreRowModel: getCoreRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n getRowCanExpand,\n onExpandedChange,\n getSubRows: props.getSubRows,\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n // use pre-sorted row model instead of sorted row model, but force client-side for multiSort\n manualSorting: effectiveManualSorting,\n // turn off client-side pagination\n manualPagination,\n // only allow a single row to be selected at once\n enableMultiRowSelection: false,\n enableExpanding: true,\n ...paginationConfig,\n // ...sortConfig,\n });\n\n useEffect(() => {\n props.getTableInstance?.(table);\n }, [table]);\n\n const wrapRef = useWrap([className, classNames?.root]);\n const { scrollRef, showLeftShadow, showRightShadow } = useScroll([\n dataSource?.length,\n ]);\n\n // filter data\n const rows = table.getRowModel().rows;\n\n const showPlaceholder = initialized && (rows.length === 0 || loading);\n\n const showHeader = useShowHeader({\n loading,\n dataSource,\n });\n\n const showPagination = useShowPagination({\n loading,\n dataSource,\n rows,\n pagination,\n });\n\n return (\n <div\n ref={wrapRef}\n id={props.id}\n className={cn(\n \"oui-table-root oui-size-full\",\n \"oui-bg-base-9\",\n className,\n classNames?.root,\n )({\n twMerge: true,\n })}\n >\n <div\n ref={scrollRef}\n className={cn(\n \"oui-table-scroll oui-relative\",\n \"oui-min-h-[162px] oui-w-full\",\n \"oui-text-xs oui-font-semibold\",\n \"oui-custom-scrollbar oui-overflow-auto\",\n showPagination ? \"oui-h-[calc(100%_-_40px)]\" : \"oui-h-full\",\n classNames?.scroll,\n )({\n twMerge: true,\n })}\n >\n <table\n className={cnBase(\n \"oui-w-full oui-px-2\",\n \"oui-table-fixed oui-border-collapse\",\n )}\n >\n {showHeader && (\n <TableHeader\n className={classNames?.header}\n headerGroups={table.getHeaderGroups()}\n bordered={props.bordered}\n showLeftShadow={showLeftShadow}\n showRightShadow={showRightShadow}\n sorting={sorting}\n />\n )}\n\n <TableBody\n className={classNames?.body}\n rows={rows}\n bordered={props.bordered}\n renderRowContainer={props.renderRowContainer}\n expandRowRender={props.expandRowRender}\n onRow={props.onRow}\n onCell={props.onCell}\n showLeftShadow={showLeftShadow}\n showRightShadow={showRightShadow}\n testId={props.testIds?.body}\n />\n </table>\n\n <TablePlaceholder\n visible={showPlaceholder}\n loading={loading}\n emptyView={emptyView}\n className={classNames?.empty}\n />\n </div>\n\n {showPagination && (\n <TablePagination\n className={classNames?.pagination}\n count={pagination?.count || rows?.length}\n pageTotal={pagination?.pageTotal || table.getPageCount()}\n page={pagination?.page!}\n pageSize={pagination?.pageSize}\n onPageChange={pagination?.onPageChange}\n onPageSizeChange={pagination?.onPageSizeChange}\n generatePageNumbers={pagination?.generatePageNumbers}\n hideRowsPerPage={pagination?.hideRowsPerPage}\n />\n )}\n </div>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\n\nexport function useInit(\n params: Pick<\n DataTableProps<any>,\n \"dataSource\" | \"loading\" | \"ignoreLoadingCheck\"\n >\n) {\n const { dataSource, loading, ignoreLoadingCheck } = params;\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (initialized) return;\n\n if (ignoreLoadingCheck || loading || Array.isArray(dataSource)) {\n setInitialized(true);\n }\n }, [loading, ignoreLoadingCheck, dataSource, initialized]);\n\n return initialized;\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nexport function useScroll(deps: any[]) {\n const scrollRef = useRef<HTMLDivElement>(null);\n const [showLeftShadow, setShowLeftShadow] = useState(false);\n const [showRightShadow, setShowRightShadow] = useState(false);\n\n useEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n\n scrollRef.current.addEventListener(\"scroll\", function (e) {\n setShowLeftShadow(scrollRef.current!.scrollLeft > 0);\n setShowRightShadow(!isScrolledToRight(scrollRef.current!));\n });\n }, [scrollRef]);\n\n useEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n\n const scrollAble = hasHorizontalScroll(scrollRef.current);\n const scrollEnd = isScrolledToRight(scrollRef.current);\n\n setShowRightShadow(scrollAble && !scrollEnd);\n }, [scrollRef, ...deps]);\n\n return {\n scrollRef,\n showLeftShadow,\n showRightShadow,\n };\n}\n\nfunction isScrolledToRight(element: HTMLDivElement) {\n return element.scrollLeft + element.clientWidth >= element.scrollWidth;\n}\n\nfunction hasHorizontalScroll(element: HTMLDivElement) {\n return element.scrollWidth > element.clientWidth;\n}\n\nfunction hasVerticalScroll(element: HTMLDivElement) {\n return element.scrollHeight > element.clientHeight;\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\n\nexport function useShowHeader(\n params: Pick<DataTableProps<any>, \"dataSource\" | \"loading\">\n) {\n const { dataSource, loading } = params;\n\n const initShowHeader = useRef(false);\n\n const showHeader = useMemo(() => {\n if (loading && !dataSource?.length) {\n return initShowHeader.current;\n }\n\n return !!dataSource?.length;\n }, [loading, dataSource]);\n\n useEffect(() => {\n if (showHeader) {\n initShowHeader.current = true;\n }\n }, [showHeader]);\n\n return showHeader;\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\nimport { Row } from \"@tanstack/react-table\";\n\nexport function useShowPagination(\n params: Pick<DataTableProps<any>, \"dataSource\" | \"loading\" | \"pagination\"> & {\n rows: Row<any>[];\n }\n) {\n const { loading, dataSource, pagination, rows } = params;\n\n const initShowPagination = useRef(false);\n\n const showPagination = useMemo(() => {\n if (loading && !dataSource?.length) {\n return initShowPagination.current;\n }\n\n if (pagination && dataSource?.length && rows?.length) {\n return true;\n }\n\n return false;\n }, [loading, pagination, dataSource, rows]);\n\n useEffect(() => {\n if (showPagination) {\n initShowPagination.current = true;\n }\n }, [showPagination]);\n\n return showPagination;\n}\n","import { useEffect, useState } from \"react\";\nimport { SortingState } from \"@tanstack/react-table\";\nimport { TableSort } from \"../type\";\n\nexport function useSort(props: {\n onSort?: (sort?: TableSort) => void;\n initialSort?: TableSort;\n}) {\n const { onSort, initialSort } = props;\n\n const [sorting, setSorting] = useState<SortingState>(\n initialSort\n ? [\n {\n id: initialSort.sortKey,\n desc: initialSort.sort === \"desc\",\n },\n ]\n : []\n );\n\n useEffect(() => {\n const { id, desc } = sorting[0] || {};\n onSort?.(id ? { sortKey: id, sort: desc ? \"desc\" : \"asc\" } : undefined);\n }, [sorting, onSort]);\n\n return [sorting, setSorting] as const;\n}\n","import { useEffect, useRef } from \"react\";\n\nexport function useWrap(deps: any[]) {\n const wrapRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!wrapRef.current) return;\n\n const bgColor = window.getComputedStyle(wrapRef.current).backgroundColor;\n\n wrapRef.current.style.setProperty(\"--oui-table-background-color\", bgColor);\n }, deps);\n\n return wrapRef;\n}\n","import React, { FC, Fragment } from \"react\";\nimport { Row } from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { alignVariants } from \"./className\";\nimport { DataTableProps } from \"./dataTable\";\nimport { TableCell } from \"./tableCell\";\nimport { getColumnPinningProps } from \"./utils/getColumnPinningProps\";\n\ntype TableBodyProps<RecordType> = {\n className?: string;\n rows: Row<RecordType>[];\n justified?: boolean;\n showLeftShadow?: boolean;\n showRightShadow?: boolean;\n testId?: string;\n} & Pick<\n DataTableProps<any>,\n \"bordered\" | \"onRow\" | \"onCell\" | \"renderRowContainer\" | \"expandRowRender\"\n>;\n\nexport const TableBody: React.FC<TableBodyProps<any>> = (props) => {\n return (\n <tbody\n className={cnBase(\n \"oui-table-tbody oui-relative\",\n \"oui-text-base-contrast-80\",\n props.className,\n )}\n data-testid={props.testId}\n >\n {props.rows.map((row) => {\n const { className, onClick, ...rest } =\n typeof props.onRow === \"function\"\n ? props.onRow(row.original, row.index, row) || {}\n : {};\n\n const expandView = row.getIsExpanded() && (\n <tr className=\"oui-table-expand-tr oui-z-0 [&>td:first-child]:oui-pl-3 [&>td:last-child]:oui-pr-3\">\n <td\n className=\"oui-table-expand-td\"\n colSpan={row.getVisibleCells().length}\n >\n {props.expandRowRender?.(row, row.index)}\n </td>\n </tr>\n );\n\n const rowView = (\n <Fragment key={row.id}>\n <tr\n key={row.id}\n className={cnBase(\n \"oui-table-tbody-tr oui-group oui-h-10\",\n \"[&>td:first-child]:oui-pl-3 [&>td:last-child]:oui-pr-3\",\n typeof onClick === \"function\" && \"oui-cursor-pointer\",\n props.bordered && \"oui-border-b oui-border-b-line-4\",\n className,\n )}\n onClick={onClick}\n {...rest}\n >\n {row.getVisibleCells().map((cell) => {\n const column = cell.column;\n const meta = column.columnDef.meta || ({} as any);\n const { align, className: rowClassName, hidden } = meta;\n\n // Skip rendering hidden columns\n if (hidden) {\n return null;\n }\n\n const { style: pinStyle, classNames: pinClassNames } =\n getColumnPinningProps(column);\n\n const {\n style: cellStyle,\n className: cellClassName,\n children,\n ...rest\n } = typeof props.onCell === \"function\"\n ? props.onCell(cell.column, row.original, row.index, cell) ||\n {}\n : {};\n\n const cellView =\n children !== undefined ? (\n children\n ) : (\n <>\n <TableCell cell={cell} />\n <CellHover\n selected={row.getIsSelected()}\n isFirst={column.getIsFirstColumn()}\n isLast={column.getIsLastColumn()}\n />\n </>\n );\n\n return (\n <td\n key={cell.id}\n style={{ ...pinStyle, ...cellStyle }}\n className={cnBase(\n \"oui-table-tbody-td oui-relative\",\n \"oui-px-1\",\n alignVariants({ align }),\n // rowClassName,\n typeof rowClassName === \"function\"\n ? rowClassName(row.original)\n : rowClassName,\n pinClassNames.content,\n props.showLeftShadow && pinClassNames.leftShadow,\n props.showRightShadow && pinClassNames.rightShadow,\n cellClassName,\n )}\n {...rest}\n >\n {cellView}\n </td>\n );\n })}\n </tr>\n\n {expandView}\n </Fragment>\n );\n\n if (typeof props.renderRowContainer === \"function\") {\n return (\n <Fragment key={row.id}>\n {props.renderRowContainer(row.original, row.index, rowView, row)}\n </Fragment>\n );\n }\n\n return rowView;\n })}\n </tbody>\n );\n};\n\ntype CellHoverProps = {\n selected: boolean;\n isFirst: boolean;\n isLast: boolean;\n};\n\nconst CellHover: FC<CellHoverProps> = ({ selected, isFirst, isLast }) => {\n return (\n <div\n className={cnBase(\n \"oui-absolute oui-left-0 oui-top-0 oui-z-[-1]\",\n \"oui-size-full\",\n \"group-hover:oui-bg-line-4\",\n selected && \"oui-bg-line-6 group-hover:oui-bg-line-6\",\n isFirst && \"oui-rounded-l\",\n isLast && \"oui-rounded-r\",\n )}\n />\n );\n};\n","import { tv } from \"tailwind-variants\";\n\nexport const alignVariants = tv({\n variants: {\n align: {\n left: \"oui-text-left\",\n center: \"oui-text-center\",\n right: \"oui-text-right\",\n },\n },\n defaultVariants: {\n align: \"left\",\n },\n});\n","import React, { ReactNode } from \"react\";\nimport { Cell, flexRender } from \"@tanstack/react-table\";\nimport { FormattedText, isTextRule } from \"../typography/formatted\";\nimport { isNumeralRule, Numeral } from \"../typography/numeral\";\nimport { Column } from \"./type\";\n\ntype TableCellProps = {\n cell: Cell<any, any>;\n};\n\nexport const TableCell: React.FC<TableCellProps> = (props) => {\n const { cell } = props;\n\n const { original: record, index } = cell.row;\n const { formatter, render, rule, textProps, numeralProps } = (cell.column\n .columnDef.meta || {}) as Column;\n\n let value = cell.getValue();\n\n if (typeof formatter === \"function\") {\n value = formatter(value, record, index);\n }\n\n if (typeof render === \"function\") {\n return render(value, record, index, cell);\n }\n\n if (typeof rule !== \"undefined\") {\n if (isTextRule(rule)) {\n const _textProps =\n typeof textProps === \"function\"\n ? textProps(value, record, index)\n : textProps;\n return (\n <FormattedText rule={rule} {..._textProps}>\n {value}\n </FormattedText>\n );\n }\n\n if (isNumeralRule(rule)) {\n const _numeralProps =\n typeof numeralProps === \"function\"\n ? numeralProps(value, record, index)\n : numeralProps;\n\n return (\n <Numeral rule={rule} {..._numeralProps}>\n {value}\n </Numeral>\n );\n }\n }\n\n return flexRender(cell.column.columnDef.cell, cell.getContext()) as ReactNode;\n};\n","import { CSSProperties } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { TanstackColumn } from \"../type\";\n\nexport function getColumnPinningProps(\n column: TanstackColumn<any>,\n isHeader?: boolean\n) {\n const isPinned = column.getIsPinned();\n const isLastLeftPinnedColumn =\n isPinned === \"left\" && column.getIsLastColumn(\"left\");\n const isFirstRightPinnedColumn =\n isPinned === \"right\" && column.getIsFirstColumn(\"right\");\n\n const style: CSSProperties = {\n left: isPinned === \"left\" ? `${column.getStart(\"left\")}px` : undefined,\n right: isPinned === \"right\" ? `${column.getAfter(\"right\")}px` : undefined,\n width: column.getSize(),\n };\n\n const contentCls = cnBase(\n isPinned ? \"oui-sticky\" : \"oui-relative\",\n isPinned ? \"oui-z-[1]\" : \"oui-z-0\",\n isPinned && \"oui-bg-[var(--oui-table-background-color)]\"\n );\n\n const shadowCls = cnBase(\n \"before:oui-block before:oui-absolute\",\n \"before:oui-w-[32px] before:oui-h-full\",\n \"before:oui-top-0 before:oui-z-[-1]\",\n \"before:oui-bg-[linear-gradient(90deg,rgba(var(--oui-color-base-10)_/_0.80)_0%,rgba(var(--oui-color-base-10)_/_0.36)_65%,rgba(var(--oui-color-base-10)_/_0.00)_100%)]\"\n );\n\n const leftShadow =\n isLastLeftPinnedColumn && cnBase(shadowCls, \"before:oui-right-[-32px]\");\n\n const rightShadow =\n isFirstRightPinnedColumn &&\n cnBase(shadowCls, \"before:oui-left-[-32px] before:oui-rotate-180\");\n\n return {\n style,\n classNames: {\n content: contentCls,\n leftShadow,\n rightShadow,\n },\n };\n}\n","import { FC } from \"react\";\nimport {\n HeaderGroup,\n SortDirection,\n SortingState,\n} from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { alignVariants } from \"./className\";\nimport { DataTableProps } from \"./dataTable\";\nimport { AscendingIcon, DescendingIcon, SortingIcon } from \"./icons\";\nimport { MultiSortHeader } from \"./multiSortHeader\";\nimport { getColumnPinningProps } from \"./utils/getColumnPinningProps\";\n\ntype TableHeaderProps = {\n className?: string;\n headerGroups: HeaderGroup<any>[];\n showLeftShadow?: boolean;\n showRightShadow?: boolean;\n sorting?: SortingState;\n} & Pick<DataTableProps<any>, \"bordered\">;\n\nexport const TableHeader: FC<TableHeaderProps> = (props) => {\n return (\n <thead\n className={cnBase(\n \"oui-table-thead\",\n \"oui-sticky oui-top-0 oui-z-[2]\",\n \"oui-bg-[var(--oui-table-background-color)]\",\n \"oui-text-base-contrast-36\",\n )}\n >\n {props.headerGroups.map((headerGroup) => (\n <tr\n key={headerGroup.id}\n className={cnBase(\n \"oui-table-thead-tr\",\n \"oui-h-10\",\n \"[&>th:first-child]:oui-pl-3 [&>th:last-child]:oui-pr-3\",\n props.className,\n )}\n >\n {headerGroup.headers.map((header) => {\n const column = header.column;\n const meta = column.columnDef.meta || ({} as any);\n const { align, className: rowClassName, title, hidden } = meta;\n\n // Skip rendering hidden columns\n if (hidden) {\n return null;\n }\n\n const { style: pinStyle, classNames: pinClassNames } =\n getColumnPinningProps(column, true);\n\n const canSort = column.getCanSort();\n const isSorted = column.getIsSorted();\n\n return (\n <th\n key={header.id}\n style={pinStyle}\n className={cnBase(\n \"oui-table-thead-th\",\n \"oui-whitespace-nowrap\",\n \"oui-px-1\",\n props.bordered &&\n \"after:oui-absolute after:oui-left-0 after:oui-top-0 after:oui-z-[-1] after:oui-block after:oui-size-full after:oui-border-b after:oui-border-line\",\n // use border-b will show bottom element content\n // props.bordered && \"oui-border-b oui-border-line\"\n alignVariants({ align }),\n rowClassName,\n pinClassNames.content,\n props.showLeftShadow && pinClassNames.leftShadow,\n props.showRightShadow && pinClassNames.rightShadow,\n )}\n >\n {header.isPlaceholder ? null : (column.columnDef.meta as any)\n ?.multiSort ? (\n <MultiSortHeader\n column={column.columnDef.meta as any}\n sorting={props.sorting}\n />\n ) : (\n <div\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n canSort &&\n \"oui-cursor-pointer oui-select-none hover:oui-text-base-contrast-80\",\n )}\n onClick={column.getToggleSortingHandler()}\n >\n {title}\n {canSort && (\n <SortIndicator isSorted={isSorted as SortDirection} />\n )}\n </div>\n )}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n );\n};\n\nconst SortIndicator: FC<{ isSorted: SortDirection }> = ({ isSorted }) => {\n return (\n {\n asc: <AscendingIcon />,\n desc: <DescendingIcon />,\n }[isSorted] || <SortingIcon />\n );\n};\n","import { PropsWithChildren } from \"react\";\n\nconst BaseSortIcon = (props: PropsWithChildren) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 10 10\"\n fill=\"none\"\n >\n {props.children}\n </svg>\n );\n};\n\nexport const SortingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042m0 7.916a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </BaseSortIcon>\n );\n};\n\nexport const AscendingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042\"\n fill=\"#fff\"\n fillOpacity=\".8\"\n />\n <path\n d=\"M5 8.958a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </BaseSortIcon>\n );\n};\n\nexport const DescendingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n <path\n d=\"M5 8.958a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".8\"\n />\n </BaseSortIcon>\n );\n};\n","import { FC } from \"react\";\nimport { SortingState } from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useMultiSort } from \"./hooks/useMultiSort\";\nimport { AscendingIcon, DescendingIcon, SortingIcon } from \"./icons\";\nimport { Column, SortOrder } from \"./type\";\n\nexport type MultiSortHeaderProps = {\n column: Column<any>;\n className?: string;\n sorting?: SortingState;\n};\n\nexport const MultiSortHeader: FC<MultiSortHeaderProps> = ({\n column,\n className,\n sorting,\n}) => {\n const { multiSort, title } = column;\n\n if (!multiSort) {\n return <span>{title}</span>;\n }\n\n // Extract current sorting state\n const currentSorting = sorting?.[0]\n ? {\n sortKey: sorting[0].id,\n sort: sorting[0].desc ? (\"desc\" as SortOrder) : (\"asc\" as SortOrder),\n }\n : undefined;\n\n const { handleFieldSort, getFieldSort } = useMultiSort({\n columnKey: column.dataIndex,\n onSort: multiSort.onSort,\n initialSort: multiSort.initialSort,\n currentSorting,\n });\n\n return (\n <div\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n className,\n )}\n >\n {multiSort.fields.map((field, index) => {\n const fieldSort = getFieldSort(field.sortKey);\n\n return (\n <div\n key={field.sortKey}\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n \"oui-cursor-pointer oui-select-none hover:oui-text-base-contrast-80\",\n field.className,\n )}\n onClick={\n multiSort.onSort\n ? () => handleFieldSort(field.sortKey)\n : undefined\n }\n >\n <span className=\"oui-whitespace-nowrap\">\n {field.label || field.sortKey}\n </span>\n <SortIndicator sortDirection={fieldSort?.sort} />\n {index < multiSort.fields.length - 1 && (\n <span className=\"oui-text-base-contrast-36\">/</span>\n )}\n </div>\n );\n })}\n </div>\n );\n};\n\nconst SortIndicator: FC<{ sortDirection?: \"asc\" | \"desc\" }> = ({\n sortDirection,\n}) => {\n if (sortDirection === \"asc\") {\n return <AscendingIcon />;\n }\n if (sortDirection === \"desc\") {\n return <DescendingIcon />;\n }\n return <SortingIcon />;\n};\n","import { useCallback } from \"react\";\nimport { SortOrder, MultiFieldSort } from \"../type\";\n\nexport function useMultiSort(props: {\n columnKey: string;\n onSort?: (fieldKey: string, sortOrder?: SortOrder) => void;\n initialSort?: MultiFieldSort[];\n currentSorting?: { sortKey: string; sort: SortOrder };\n}) {\n const { onSort, currentSorting } = props;\n\n const handleFieldSort = useCallback(\n (fieldKey: string) => {\n // Check if this field is currently sorted\n const isCurrentField = currentSorting?.sortKey === fieldKey;\n let newOrder: SortOrder | undefined;\n\n if (!isCurrentField) {\n // Not currently sorted, start with asc\n newOrder = \"asc\";\n } else if (currentSorting.sort === \"asc\") {\n // Currently asc, change to desc\n newOrder = \"desc\";\n } else {\n // Currently desc, clear sorting\n newOrder = undefined;\n }\n\n // Call external handler\n onSort?.(fieldKey, newOrder);\n },\n [currentSorting, onSort],\n );\n\n const getFieldSort = useCallback(\n (fieldKey: string) => {\n // Only return sort info if this field is currently being sorted\n if (currentSorting?.sortKey === fieldKey) {\n return { sortKey: fieldKey, sort: currentSorting.sort };\n }\n return undefined;\n },\n [currentSorting],\n );\n\n return {\n handleFieldSort,\n getFieldSort,\n };\n}\n","import React, { useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { ButtonProps, buttonVariants } from \"../button\";\nimport { Flex } from \"../flex\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"../icon\";\nimport { useLocale } from \"../locale\";\nimport { Select } from \"../select\";\nimport { Text } from \"../typography/text\";\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<\"nav\">) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cnBase(\n \"oui-flex oui-justify-between oui-items-center oui-w-full oui-text-xs\",\n className,\n )}\n {...props}\n />\n);\nPagination.displayName = \"Pagination\";\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cnBase(\n \"oui-flex oui-flex-row oui-items-center oui-gap-x-2\",\n className,\n )}\n {...props}\n />\n));\nPaginationContent.displayName = \"PaginationContent\";\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cnBase(\"oui-leading-[0px]\", className)} {...props} />\n));\nPaginationItem.displayName = \"PaginationItem\";\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<ButtonProps, \"size\"> &\n React.ComponentProps<\"button\">;\n\nconst PaginationLink = ({\n className,\n isActive,\n // size = \"icon\",\n ...props\n}: PaginationLinkProps) => (\n <button\n aria-current={isActive ? \"page\" : undefined}\n data-active={isActive}\n className={buttonVariants({\n size: \"xs\",\n // color:'white',\n variant: isActive ? \"contained\" : \"text\",\n className:\n \"oui-min-w-6 oui-text-primary-contrast oui-font-semibold data-[active=false]:hover:oui-bg-base-6 disabled:oui-bg-transparent disabled:hover:oui-bg-transparent\",\n // size,\n })}\n {...props}\n />\n);\nPaginationLink.displayName = \"PaginationLink\";\n\nconst PaginationPrevious = ({\n className,\n\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to previous page\"\n className={cnBase(\"oui-gap-1 oui-pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon className=\"oui-h-4 oui-w-4\" color=\"white\" />\n </PaginationLink>\n);\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nconst PaginationNext = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to next page\"\n className={cnBase(\"oui-gap-1 oui-pr-2.5\", className)}\n {...props}\n >\n <ChevronRightIcon className=\"oui-h-4 oui-w-4\" color=\"white\" />\n </PaginationLink>\n);\nPaginationNext.displayName = \"PaginationNext\";\n\nconst PaginationEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => {\n const [locale] = useLocale(\"pagination\");\n return (\n <span\n aria-hidden\n className={cnBase(\n \"oui-flex oui-h-9 oui-w-9 oui-items-center oui-justify-center\",\n className,\n )}\n {...props}\n >\n {/* <DotsHorizontalIcon className=\"h-4 w-4\" /> */}\n <span className=\"sr-only\">{locale.morePages}</span>\n </span>\n );\n};\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\nexport type PaginationProps = {\n onPageChange?: (page: number) => void;\n onPageSizeChange?: (pageSize: number) => void;\n pageSize?: number;\n page: number;\n count: number;\n pageTotal: number;\n className?: string;\n classNames?: {\n pagination?: string;\n paginationContent?: string;\n paginationItem?: string;\n paginationLink?: string;\n paginationPrevious?: string;\n paginationNext?: string;\n paginationEllipsis?: string;\n };\n hideRowsPerPage?: boolean;\n generatePageNumbers?: (\n currentPage: number,\n totalPages: number,\n ) => (number | string)[];\n};\n\nconst Paginations = (props: PaginationProps) => {\n const {\n classNames,\n className,\n pageTotal: totalPages,\n page: currentPage,\n hideRowsPerPage = false,\n } = props;\n\n const [locale] = useLocale(\"pagination\");\n\n return (\n <Pagination className={cnBase(classNames?.pagination, className)}>\n {!hideRowsPerPage ? (\n <Flex mr={4}>\n <Text\n as=\"div\"\n size=\"2xs\"\n intensity={54}\n className=\"oui-text-nowrap oui-mr-2\"\n >\n {locale.rowsPerPage}\n </Text>\n <div className={\"oui-w-15\"}>\n <Select.options\n options={[\n { value: \"10\", label: \"10\" },\n { value: \"20\", label: \"20\" },\n { value: \"50\", label: \"50\" },\n { value: \"100\", label: \"100\" },\n { value: \"500\", label: \"500\" },\n ]}\n value={`${props.pageSize ?? 5}`}\n size=\"xs\"\n onValueChange={(value) =>\n props.onPageSizeChange?.(parseInt(value))\n }\n />\n </div>\n </Flex>\n ) : (\n <div></div>\n )}\n <PaginationItems {...props} />\n </Pagination>\n );\n};\n\nfunction generatePagination(\n currentPage: number,\n totalPages: number,\n): (number | string)[] {\n const pagination: (number | string)[] = [];\n const ellipsis = \"...\";\n const maxPagesToShow = 5;\n\n if (totalPages <= maxPagesToShow) {\n for (let i = 1; i <= totalPages; i++) {\n pagination.push(i);\n }\n } else {\n if (currentPage <= 3) {\n pagination.push(1, 2, 3, 4, ellipsis, totalPages);\n } else if (currentPage >= totalPages - 2) {\n pagination.push(\n 1,\n ellipsis,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n );\n } else {\n pagination.push(\n 1,\n ellipsis,\n currentPage - 1,\n currentPage,\n currentPage + 1,\n ellipsis,\n totalPages,\n );\n }\n }\n\n return pagination;\n}\n\nconst PaginationItems = (props: Omit<PaginationProps, \"onPageSizeChange\">) => {\n const {\n classNames,\n className,\n pageTotal: totalPages,\n page: currentPage,\n } = props;\n\n if (totalPages <= 1) {\n return null;\n }\n\n const pageNumbers = useMemo(() => {\n if (typeof props.generatePageNumbers === \"function\") {\n return props.generatePageNumbers(currentPage, totalPages);\n }\n return generatePagination(currentPage, totalPages);\n }, [currentPage, totalPages, props.generatePageNumbers]);\n\n return (\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious\n // @ts-ignore\n disabled={props.page === 1}\n onClick={(event) => {\n event.preventDefault();\n props.onPageChange?.(props.page - 1);\n }}\n />\n </PaginationItem>\n {pageNumbers.map((page, index) => {\n return (\n <PaginationItem key={index}>\n <PaginationLink\n isActive={page === props.page}\n onClick={(event) => {\n event.preventDefault();\n if (page !== \"...\") {\n props.onPageChange?.(Number(page));\n } else {\n props.onPageChange?.(\n Number((pageNumbers[index + 1] as number) - 1),\n );\n }\n }}\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n );\n })}\n\n {/* <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem> */}\n <PaginationItem>\n <PaginationNext\n disabled={props.page === props.pageTotal}\n onClick={(event) => {\n event.preventDefault();\n props.onPageChange?.(props.page + 1);\n }}\n />\n </PaginationItem>\n </PaginationContent>\n );\n};\n\nexport {\n Paginations,\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationItems,\n PaginationEllipsis,\n};\n","import { createContext } from \"react\";\nimport { localeValues } from \"./en\";\n\nexport type Locale = typeof localeValues;\n\nexport const LocaleContext = createContext<Locale | undefined>(undefined);\n","import React, { FC, useMemo } from \"react\";\nimport { Locale, LocaleContext } from \"./context\";\n\nexport type LocaleProviderProps = {\n locale: Locale;\n children?: React.ReactNode;\n};\n\nexport const LocaleProvider: FC<LocaleProviderProps> = (props) => {\n const value = useMemo<Locale>(\n () => ({ ...props.locale, exist: true }),\n [props.locale]\n );\n\n return (\n <LocaleContext.Provider value={value}>\n {props.children}\n </LocaleContext.Provider>\n );\n};\n","import { useContext, useMemo } from \"react\";\nimport { localeValues as defaultLocaleValues } from \"./en\";\nimport { Locale, LocaleContext } from \"./context\";\n\nexport type LocaleComponentName = Exclude<keyof Locale, \"locale\">;\n\nexport const useLocale = <C extends LocaleComponentName = LocaleComponentName>(\n componentName: C,\n defaultLocale?: Locale[C] | (() => Locale[C])\n): readonly [NonNullable<Locale[C]>, string] => {\n const fullLocale = useContext(LocaleContext);\n\n const getLocale = useMemo<NonNullable<Locale[C]>>(() => {\n const locale = defaultLocale || defaultLocaleValues[componentName];\n const localeFromContext = fullLocale?.[componentName] || {};\n return {\n ...(typeof locale === \"function\" ? locale() : locale),\n ...localeFromContext,\n };\n }, [componentName, defaultLocale, fullLocale]);\n\n const getLocaleCode = useMemo(() => {\n const localeCode = fullLocale?.locale;\n const defaultLocaleCode = defaultLocaleValues.locale;\n return localeCode || defaultLocaleCode;\n }, [fullLocale]);\n\n return [getLocale, getLocaleCode] as const;\n};\n","import { enUS } from \"date-fns/locale\";\n\nexport const localeValues = {\n locale: \"en\" as string,\n dialog: {\n ok: \"OK\",\n cancel: \"Cancel\",\n },\n modal: {\n confirm: \"Confirm\",\n cancel: \"Cancel\",\n },\n pagination: {\n morePages: \"More pages\",\n rowsPerPage: \"Rows per page\",\n },\n picker: {\n selectDate: \"Select Date\",\n dayPicker: enUS,\n },\n empty: {\n description: \"No results found.\",\n },\n} as const;\n","import { FC } from \"react\";\nimport { Flex } from \"../flex\";\nimport { PaginationProps, Paginations } from \"../pagination\";\n\nexport const TablePagination: FC<Omit<PaginationProps, \"classNames\">> = (\n props,\n) => {\n if (props.pageTotal === 0) {\n return null;\n }\n return (\n <Flex justify={\"end\"} py={2} mx={3} className=\"oui-h-10 oui-w-full\">\n <Paginations\n {...props}\n className=\"oui-table-pagination oui-justify-between oui-w-full\"\n />\n </Flex>\n );\n};\n","import { FC, ReactNode } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Box } from \"../box\";\nimport { ExtensionPositionEnum, ExtensionSlot } from \"../plugin\";\nimport { Spinner } from \"../spinner/spinner\";\n\ntype TablePlaceholderProps = {\n visible?: boolean;\n loading?: boolean;\n emptyView?: ReactNode;\n className?: string;\n};\n\nexport const TablePlaceholder: FC<TablePlaceholderProps> = (props) => {\n const { visible, loading, emptyView, className } = props;\n if (!visible) {\n return null;\n }\n return (\n <Box\n position=\"absolute\"\n left={0}\n top={0}\n right={0}\n bottom={0}\n className={cnBase(\n \"oui-flex oui-items-center oui-justify-center\",\n className,\n )}\n >\n {loading ? (\n <Spinner />\n ) : (\n emptyView || (\n <ExtensionSlot position={ExtensionPositionEnum.EmptyDataIdentifier} />\n )\n )}\n </Box>\n );\n};\n","import { getGlobalObject } from \"@kodiak-finance/orderly-utils\";\nimport { Extension, ExtensionBuilder, ExtensionPosition } from \"./types\";\n\nfunction DEFAULT_BUILDER(data: any) {\n // console.warn(\"No builder provided for extension\");\n return data || {};\n}\n\n// The plugin manager\nexport class OrderlyExtensionRegistry {\n // private static _instance: OrderlyExtensionRegistry;\n static getInstance(): OrderlyExtensionRegistry {\n const globalObject = getGlobalObject();\n\n if (!(globalObject as any).__ORDERLY_EXTENSION_REGISTRY__) {\n (globalObject as any).__ORDERLY_EXTENSION_REGISTRY__ =\n new OrderlyExtensionRegistry();\n }\n return (globalObject as any).__ORDERLY_EXTENSION_REGISTRY__;\n\n // if (!OrderlyExtensionRegistry._instance) {\n // OrderlyExtensionRegistry._instance = new OrderlyExtensionRegistry();\n // }\n // return OrderlyExtensionRegistry._instance;\n }\n private extensionMap: Map<ExtensionPosition, Extension<unknown>> = new Map();\n // private formatterMap: Map<string, Function> = new Map();\n\n register<Props>(\n plugin: Omit<Extension<Props>, \"builder\"> & {\n builder?: (props: any) => Props;\n },\n ) {\n // this.pluginMap.set(plugin.name, plugin);\n\n if (!plugin.builder) {\n console.warn(\"No builder provided for extension\");\n }\n\n for (let index = 0; index < plugin.positions.length; index++) {\n if (typeof plugin.builder !== \"function\") {\n // get existing builder\n const builder = this.extensionMap.get(plugin.positions[index])?.builder;\n plugin.builder =\n typeof builder === \"undefined\"\n ? // ? DEFAULT_BUILDER\n undefined\n : (builder as ExtensionBuilder);\n }\n const pos = plugin.positions[index];\n this.registerToPosition<Props>(pos, plugin as Extension<Props>);\n }\n }\n\n private registerToPosition<Props>(\n position: ExtensionPosition,\n plugin: Extension<Props>,\n ) {\n if (this.extensionMap.has(position)) {\n const existingPlugin = this.extensionMap.get(position);\n if (!existingPlugin?.__isInternal) {\n console.warn(\"`Plugin already registered at position [${position}]`\");\n // throw new Error(`Plugin already registered at position [${position}]`);\n if (!existingPlugin?.builder && plugin.__isInternal) {\n this.setBuilder(position, plugin.builder);\n }\n return;\n }\n if (!plugin.builder) {\n plugin.builder = existingPlugin.builder as ExtensionBuilder<Props>;\n }\n }\n this.extensionMap.set(position, plugin as Extension<any>);\n }\n\n setBuilder<Props>(\n position: ExtensionPosition,\n builder: ExtensionBuilder<Props>,\n ) {\n const plugin = this.extensionMap.get(position);\n if (plugin) {\n plugin.builder = builder;\n }\n }\n\n unregister(plugin: Extension<unknown>) {\n for (let index = 0; index < plugin.positions.length; index++) {\n const pos = plugin.positions[index];\n\n this.unregisterFromPosition(pos);\n }\n }\n\n private unregisterFromPosition(position: ExtensionPosition) {\n this.extensionMap.delete(position);\n }\n\n getPluginsByPosition(position: ExtensionPosition) {\n return this.extensionMap.get(position);\n }\n\n /**\n * get the registered formatter by position\n * @param position\n */\n getFormatterByPosition(position: ExtensionPosition) {\n return this.extensionMap.get(position);\n }\n}\n","import { ElementType, ReactElement } from \"react\";\nimport { ExtensionProvider } from \"./pluginContext\";\nimport { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\n\n/**\n * @name ExtensionOptions\n * @description Extension meta data\n */\nexport type ExtensionOptions<Props> = {\n name: string;\n /**\n * which ctx data the extension available to use\n */\n scope?: string[];\n /**\n * @description define the extension require @kodiak-finance/orderly-hook version, optional\n * @default \"*\"\n */\n engines?: string; //\n positions: ExtensionPosition[];\n builder?: (props: any) => Props;\n __isInternal?: boolean;\n entry?: string[];\n // dependencies?: string[]; // define the extension require other extensions, optional\n // lifecycle hooks\n /**\n * fire when the extension is installed\n * @returns\n */\n installed?: () => Promise<void>;\n onInit?: () => void;\n activate?: () => Promise<void>;\n deactivate?: () => Promise<void>;\n};\n\ntype ExtensionRenderComponentType<Props> =\n | ElementType<Props>\n | ((props: Props) => ReactElement);\n\n// type ExtensionRenderComponent = (\n// component: ExtensionRenderComponentType<Props>\n// ) => void;\n\nexport const installExtension = <Props,>(\n options: ExtensionOptions<Props>,\n): ((component: ExtensionRenderComponentType<Props>) => void) => {\n return (component) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n console.log(\"[plugin] install:\", options.name);\n registry.register<Props>({\n name: options.name,\n positions: options.positions,\n __isInternal: !!options.__isInternal,\n builder: options.builder,\n render: component,\n });\n };\n};\n\n/**\n * update the extension builder function\n */\nexport const setExtensionBuilder = <Props extends unknown = {}>(\n position: ExtensionPosition,\n builder: () => Props,\n) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n registry.setBuilder(position, builder);\n};\n","import React, { ElementType, useMemo } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { NotFound } from \"./notFound\";\nimport { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\nimport { useExtensionBuilder } from \"./useExtensionBuilder\";\n\ninterface SlotProps {\n position: ExtensionPosition;\n defaultWidget?: React.FC;\n scope?: string[];\n [key: string]: any;\n}\n\nexport const ExtensionSlot: React.FC<SlotProps> = (props) => {\n const { position, scope, defaultWidget: defaultValue, ...rest } = props;\n\n const elementProps = useExtensionBuilder(position, rest);\n\n const Ele = useMemo<ElementType>(() => {\n const registry = OrderlyExtensionRegistry.getInstance();\n const plugin = registry.getPluginsByPosition(position);\n return plugin?.render ?? defaultValue ?? NotFound;\n }, []);\n\n return (\n <ErrorBoundary\n fallback={<div>{`Component: [${position}] went wrong`}</div>}\n >\n <Slot {...elementProps} position={position}>\n <Ele />\n </Slot>\n </ErrorBoundary>\n );\n};\n","import { FC } from \"react\";\n\nexport const NotFound: FC<{ position: string }> = (props) => {\n const { position } = props;\n return (\n <div className=\"oui-text-danger\">\n <strong>{`[${position}] `}</strong>\n <span>Not found!</span>\n </div>\n );\n};\n","import { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\n\nexport const useBuilder = (position: ExtensionPosition, props: any) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n const plugin = registry.getPluginsByPosition(position);\n return () => {\n return plugin?.builder?.(props) || props;\n };\n};\n","import { ExtensionPosition } from \"./types\";\nimport { useBuilder } from \"./useBuilder\";\n\nexport const useExtensionBuilder = (\n position: ExtensionPosition,\n props: any\n) => {\n const builder = useBuilder(position, props);\n\n return builder();\n};\n","import { ElementType, ReactElement, ReactNode } from \"react\";\n\nexport type ExtensionBuilder<Props = any> = (\n props?: Partial<Props> & Record<string, any>\n) => Props;\n\nexport type ExtensionPosition = ExtensionPositionEnum | string;\n\nexport interface Extension<Props extends any = {}> {\n __isInternal: boolean;\n\n get name(): string;\n get positions(): ExtensionPosition[];\n\n initialize?: () => void;\n\n builder: ExtensionBuilder<Props>;\n\n // render(ctx: any): ReactNode;\n render: ElementType<Props> | ((props: Props) => ReactElement);\n}\n\nexport enum ExtensionPositionEnum {\n DepositForm = \"depositForm\",\n WithdrawForm = \"withdrawForm\",\n // ListEmpty = \"listEmpty\",\n // Positions = \"positions\",\n // Orders = \"orders\",\n // MainNav = \"mainNav\",\n // SideNav = \"sideNav\",\n /**\n * Wallet button\n */\n AccountMenu = \"accountMenu\",\n MobileAccountMenu = \"mobileAccountMenu\",\n // Logo = \"logo\",\n // Toast = \"toast\",\n /// Layout components\n MainMenus = \"mainMenus\",\n // PortfolioLayout = \"portfolioLayout\",\n // TradingRewardsLayout = \"tradingRewardsLayout\",\n // AffiliateLayoutLayout = \"affiliateLayoutLayout\",\n EmptyDataIdentifier = \"emptyDataIdentifier\",\n}\n\nexport type DepositProps = {\n onOk: () => void;\n};\n","import {\n ColumnSort,\n createColumnHelper,\n getPaginationRowModel,\n PaginationTableState,\n SortingState,\n SortingTableState,\n TableOptions,\n OnChangeFn,\n} from \"@tanstack/react-table\";\nimport { PaginationMeta, Column, TableSort, SortOrder } from \"./type\";\n\n/**\n * Compare two values intelligently for table sorting\n */\nconst compareValues = (aValue: any, bValue: any): number => {\n // Handle null/undefined values (always sort to bottom)\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return 1;\n if (bValue == null) return -1;\n\n // Convert to string first for type checking\n const aStr = String(aValue).trim();\n const bStr = String(bValue).trim();\n\n // More robust number detection - check if values can be converted to valid numbers\n const aNum = Number(aStr);\n const bNum = Number(bStr);\n const aIsNumber =\n !isNaN(aNum) && isFinite(aNum) && /^-?\\d*\\.?\\d+([eE][+-]?\\d+)?$/.test(aStr);\n const bIsNumber =\n !isNaN(bNum) && isFinite(bNum) && /^-?\\d*\\.?\\d+([eE][+-]?\\d+)?$/.test(bStr);\n\n if (aIsNumber && bIsNumber) {\n return aNum - bNum;\n }\n\n // Check if both are valid dates (ISO format or timestamp)\n const aIsDate = /^\\d{4}-\\d{2}-\\d{2}/.test(aStr) || /^\\d{13}$/.test(aStr);\n const bIsDate = /^\\d{4}-\\d{2}-\\d{2}/.test(bStr) || /^\\d{13}$/.test(bStr);\n\n if (aIsDate && bIsDate) {\n const aDate = new Date(aValue);\n const bDate = new Date(bValue);\n if (!isNaN(aDate.getTime()) && !isNaN(bDate.getTime())) {\n return aDate.getTime() - bDate.getTime();\n }\n }\n\n // String comparison - use localeCompare for proper string sorting\n return aStr.localeCompare(bStr, undefined, {\n sensitivity: \"base\",\n numeric: false, // Disable numeric sorting for pure string comparison\n caseFirst: \"upper\",\n });\n};\n\n/**\n * Custom sorting function for TanStack Table\n */\nconst customSortingFn = (rowA: any, rowB: any, columnId: string): number => {\n const aValue = rowA.getValue(columnId);\n const bValue = rowB.getValue(columnId);\n return compareValues(aValue, bValue);\n};\n\n/**\n * Create a sorting comparator for multiSort fields\n */\nconst createMultiSortComparator = (sortId: string, isDesc: boolean) => {\n return (a: any, b: any) => {\n // Support nested field access (e.g., \"user.name\" or \"data.price.value\")\n const getNestedValue = (obj: any, path: string) => {\n return path.split(\".\").reduce((current, key) => {\n return current && current[key] !== undefined ? current[key] : undefined;\n }, obj);\n };\n\n const aValue = getNestedValue(a, sortId) ?? a[sortId];\n const bValue = getNestedValue(b, sortId) ?? b[sortId];\n\n // Handle null/undefined values\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return 1;\n if (bValue == null) return -1;\n\n // Numeric comparison\n const aNum = Number(aValue);\n const bNum = Number(bValue);\n if (!isNaN(aNum) && !isNaN(bNum)) {\n return isDesc ? bNum - aNum : aNum - bNum;\n }\n\n // String comparison with enhanced support for complex strings\n const aStr = String(aValue);\n const bStr = String(bValue);\n const comparison = aStr.localeCompare(bStr, undefined, {\n sensitivity: \"base\",\n numeric: true, // Handle numeric sequences in strings like \"PERP_1000PEPE_USDC\"\n });\n\n return isDesc ? -comparison : comparison;\n };\n};\n\nexport const Transform = {\n columns: (\n columns: Column[],\n sorting?: SortingState,\n setSorting?: OnChangeFn<SortingState>,\n ) => {\n const columnHelper = createColumnHelper<any>();\n\n return columns?.map((column, index) => {\n // Create a copy of column to avoid mutating the original\n let columnCopy = { ...column };\n\n const { dataIndex, onSort, multiSort } = columnCopy;\n\n // For multi-field sorting, provide default onSort if not provided\n const isMultiSort = Boolean(multiSort);\n\n // If multiSort is enabled but no onSort is provided, create default handler\n if (isMultiSort && multiSort && !multiSort.onSort && setSorting) {\n columnCopy = {\n ...columnCopy,\n multiSort: {\n ...multiSort,\n onSort: (fieldKey: string, sortOrder?: SortOrder) => {\n if (!setSorting) return;\n\n if (!sortOrder) {\n // Clear sorting\n setSorting([]);\n } else {\n // Set sorting for the field with custom sorting function\n setSorting([\n {\n id: fieldKey,\n desc: sortOrder === \"desc\",\n },\n ]);\n }\n },\n },\n };\n }\n\n const commonProps = {\n meta: columnCopy,\n size: columnCopy.width || 100,\n };\n\n return columnHelper.accessor(dataIndex, {\n header: () => columnCopy.title,\n enableSorting: onSort && !isMultiSort ? true : false, // Disable sorting for multiSort columns\n sortingFn:\n typeof onSort === \"function\"\n ? (rowA, rowB, columnId) => onSort?.(rowA.original, rowB.original)\n : customSortingFn,\n ...commonProps,\n });\n });\n },\n\n dataSource: <T>(\n dataSource: ReadonlyArray<T> | T[],\n columns: Column[],\n sorting?: SortingState,\n ): ReadonlyArray<T> | T[] => {\n if (\n !dataSource ||\n dataSource.length === 0 ||\n !sorting ||\n sorting.length === 0\n ) {\n return dataSource || [];\n }\n\n const currentSort = sorting[0];\n const sortId = currentSort.id;\n\n // Check if this sort ID matches any multiSort field\n const multiSortColumn = columns.find((col) =>\n col.multiSort?.fields?.some((field) => field.sortKey === sortId),\n );\n\n if (!multiSortColumn) {\n return dataSource; // Not a multiSort field, return original data\n }\n\n // Create a copy and sort using the optimized comparator\n const sortedData = [...dataSource].sort(\n createMultiSortComparator(sortId, currentSort.desc),\n );\n\n return sortedData;\n },\n\n columnPinning: (columns: Column[]) => {\n const left: string[] = [];\n const right: string[] = [];\n columns?.map((column) => {\n if (column.fixed === \"left\") {\n left.push(column.dataIndex);\n } else if (column.fixed === \"right\") {\n right.push(column.dataIndex);\n }\n });\n\n return { left, right };\n },\n\n pagination: (pagination?: PaginationMeta) => {\n let state = {} as PaginationTableState;\n let config = {} as Pick<\n TableOptions<any>,\n \"getPaginationRowModel\" | \"onPaginationChange\"\n >;\n if (pagination) {\n state = {\n pagination: {\n pageIndex: pagination.page - 1,\n pageSize: pagination.pageSize,\n },\n };\n config = {\n // no need to set onPaginationChange\n // onPaginationChange,\n // load client-side pagination code\n getPaginationRowModel: getPaginationRowModel(),\n };\n }\n return { state, config };\n },\n // sorting: (onSort?: (sort?: TableSort) => void, initialSort?: TableSort) => {\n // let state = {} as SortingTableState;\n // let config = {} as Pick<TableOptions<any>, \"onSortingChange\">;\n\n // if (typeof onSort === \"function\") {\n // config = {\n // onSortingChange: (updaterFn: any) => {\n // const sorting = updaterFn() as ColumnSort[];\n // const { id, desc } = sorting[0];\n // onSort({ sortKey: id, sort: desc ? \"desc\" : \"asc\" });\n // },\n // };\n // }\n\n // if (initialSort) {\n // state = {\n // sorting: [\n // {\n // id: initialSort.sortKey,\n // desc: initialSort.sort === \"desc\",\n // },\n // ],\n // } as SortingTableState;\n // }\n\n // return { state, config };\n // },\n};\n","import React, { FC } from \"react\";\nimport { DateRange } from \"react-day-picker\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport {\n DateRangePicker,\n DateRangePickerProps,\n} from \"../pickers/dateRangePicker\";\nimport { DatePicker, DatePickerProps } from \"../pickers/datepicker\";\nimport { Picker, PickerProps } from \"../pickers/picker\";\nimport { CombineSelect } from \"../select/combine\";\nimport {\n SelectWithOptions,\n type SelectWithOptionsProps,\n} from \"../select/withOptions\";\n\ntype FilterType =\n | \"select\"\n | \"input\"\n | \"date\"\n | \"range\"\n | \"custom\"\n | \"symbol\"\n | \"picker\";\n\ntype DataFilterGeneral = {\n // initialValue?: any;\n name: string;\n type: FilterType;\n};\n\ntype SelectFilter = {\n type: \"select\";\n isCombine?: boolean;\n // options: DataFilterOption[];\n} & SelectWithOptionsProps;\n\n// type DateFilterMode = \"range\" | \"single\";\n\ntype DateFilter = {\n type: \"date\";\n // range?: DataFilterDateRange;\n // mode?: DateFilterMode;\n} & DatePickerProps;\n\ntype DateRangeFilter = {\n type: \"range\";\n} & DateRangePickerProps;\n\ntype SymbolFilter = {\n type: \"symbol\";\n};\n\ntype PickerFilter = {\n type: \"picker\";\n} & PickerProps;\n\nexport type DataFilterItem = DataFilterGeneral &\n (SelectFilter | DateFilter | DateRangeFilter | SymbolFilter | PickerFilter);\n\nexport type DataFilterProps = {\n items: DataFilterItem[];\n onFilter: (filter: { name: string; value: any }) => void;\n className?: string;\n trailing?: React.ReactNode;\n};\n\nconst FilterDatePicker = (props: DatePickerProps) => {\n return (\n <div>\n {/* @ts-ignore */}\n <DatePicker\n size=\"xs\"\n {...props}\n mode={\"single\"}\n onChange={(date) => {\n console.log(date);\n }}\n />\n </div>\n );\n};\n\nconst FilterDateRangePicker = (props: DateRangePickerProps) => {\n const { onChange, ...rest } = props;\n\n const onValueChange = (value: DateRange) => {\n // const from =value.from\n // console.log(value);\n\n if (typeof onChange === \"function\") {\n onChange(value);\n }\n };\n\n return (\n <div className={\"oui-min-w-[180px]\"}>\n <DateRangePicker size=\"xs\" {...rest} onChange={onValueChange} />\n </div>\n );\n};\n\nexport const DataFilterRenderer: FC<{\n type: FilterType;\n onChange?: (value: any) => void;\n [key: string]: any;\n}> = (props) => {\n const { onChange, type, isCombine, ...rest } = props;\n\n switch (type) {\n case \"select\":\n return (\n <div className=\"oui-min-w-24\">\n {isCombine ? (\n <CombineSelect\n size=\"xs\"\n {...(rest as SelectWithOptionsProps)}\n onValueChange={onChange}\n />\n ) : (\n <SelectWithOptions\n size=\"xs\"\n {...(rest as SelectWithOptionsProps)}\n onValueChange={onChange}\n />\n )}\n </div>\n );\n case \"date\":\n return <FilterDatePicker {...(rest as DatePickerProps)} />;\n case \"range\":\n return (\n <FilterDateRangePicker\n {...(rest as DateRangePickerProps)}\n onChange={onChange}\n />\n );\n case \"symbol\":\n return <div></div>;\n case \"picker\":\n return <Picker {...(rest as PickerProps)} onValueChange={onChange} />;\n case \"input\":\n default:\n return <div>No Component</div>;\n }\n};\n\nexport const DataFilter: React.FC<DataFilterProps> = (props) => {\n return (\n <Flex\n justify={\"start\"}\n gapX={3}\n py={3}\n width={\"100%\"}\n className={cnBase(\"oui-data-filter-bar\", props.className)}\n >\n {props.items.filter(Boolean).map((item, index: number) => {\n if (item.type === \"date\") {\n (item as DatePickerProps).mode = \"range\";\n }\n return (\n <DataFilterRenderer\n key={index}\n {...item}\n onChange={(value: any) => {\n // onChange(item.name ?? item.type, value);\n props.onFilter({ name: item.name ?? item.type, value });\n }}\n />\n );\n })}\n {props.trailing && (\n <div className=\"oui-flex oui-flex-1 oui-justify-end\">\n {props.trailing}\n </div>\n )}\n </Flex>\n );\n};\n","import { FC, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { Popover } from \"../popover/popover\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { format } from \"date-fns\";\nimport { DateRange, DayPickerRangeProps } from \"react-day-picker\";\nimport { useLocale } from \"../locale\";\nexport type DateRangePickerProps = {\n onChange?: (date: DateRange) => void;\n // selected: Date;\n placeholder?: string;\n value?: DateRange;\n initialValue?: DateRange;\n dateFormat?: string;\n size?: SizeType;\n className?: string;\n formatString?: string;\n} & Omit<DayPickerRangeProps, \"mode\">;\n\nconst DEFAULT_DATE_FORMAT = \"yyyy/MM/dd\";\n\nconst DateRangePicker: FC<DateRangePickerProps> = (props) => {\n const {\n placeholder,\n dateFormat,\n onChange,\n value,\n initialValue,\n size,\n className,\n formatString = DEFAULT_DATE_FORMAT,\n ...calendarProps\n } = props;\n const [locale] = useLocale(\"picker\");\n const [open, setOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | null>(\n value || initialValue || null\n );\n\n const [isMobileView, setIsMobileView] = useState<boolean>(false);\n\n const update = useDebouncedCallback((width: number) => {\n setIsMobileView(width <= 768);\n }, 100);\n\n // Effect hook to listen to window resize events\n useEffect(() => {\n const handleResize = () => {\n update(window.innerWidth);\n };\n\n setIsMobileView(window.innerWidth <= 768);\n window.addEventListener(\"resize\", handleResize);\n\n // Cleanup event listener on component unmount\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n if (\n value?.from &&\n value?.to &&\n dateRange?.from &&\n dateRange?.to &&\n !areDatesEqual(value as any, dateRange as any)\n )\n setDateRange(value);\n }, [value]);\n\n const { trigger } = selectVariants({ size, className });\n\n const formattedValue = useMemo(() => {\n // console.log(\"dateRange\", dateRange);\n if (!dateRange || !dateRange.from || !dateRange.to) {\n return placeholder ?? locale.selectDate;\n }\n const arr = [];\n if (dateRange.from) arr.push(format(dateRange.from, formatString));\n if (dateRange.to) arr.push(format(dateRange.to, formatString));\n\n return `${arr.join(\" - \")}`;\n }, [dateRange, placeholder, locale]);\n\n const onOpenChange = (nextOpen: boolean) => {\n // console.log(dateRange);\n if (\n typeof dateRange?.to === \"undefined\" &&\n typeof dateRange?.from !== \"undefined\"\n ) {\n setDateRange({\n ...dateRange,\n to: dateRange.from,\n });\n }\n if (!nextOpen && dateRange) {\n onChange?.(dateRange);\n }\n setOpen(nextOpen);\n };\n\n const onSelected = (range: DateRange, date: Date) => {\n if (dateRange?.from && dateRange?.to) {\n setDateRange({\n from: date,\n });\n } else {\n setDateRange(range);\n }\n };\n\n return (\n <Popover\n open={open}\n onOpenChange={onOpenChange}\n contentProps={{\n className: \"oui-w-auto oui-p-0\",\n align: \"start\",\n }}\n content={\n <Calendar\n numberOfMonths={isMobileView ? 1 : 2}\n {...calendarProps}\n mode={\"range\"}\n // @ts-ignore\n selected={dateRange}\n // @ts-ignore\n onSelect={onSelected}\n />\n }\n >\n <button\n className={trigger({\n className: \"oui-datepicker-trigger oui-group\",\n })}\n >\n <span className=\"oui-datepicker-trigger-icon\">\n <CalendarIcon size={14} className=\"oui-text-inherit\" opacity={1} />\n </span>\n <span>{formattedValue}</span>\n <CaretDownIcon\n size={12}\n className=\"oui-datepicker-trigger-arrow oui-text-inherit oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n opacity={1}\n />\n </button>\n </Popover>\n );\n};\n\nDateRangePicker.displayName = \"DateRangePicker\";\n\nexport { DateRangePicker };\n\nfunction useDebouncedCallback(callback: any, delay: number) {\n const timeoutRef = useRef<any | null>(null);\n\n const debouncedCallback = useCallback(\n (args: any) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n callback(args);\n }, delay);\n },\n [callback, delay]\n );\n return debouncedCallback;\n}\n\nfunction areDatesEqual(\n date1: { from: Date; to: Date },\n date2: { from: Date; to: Date }\n): boolean {\n const extractDateParts = (date: Date) => ({\n year: date.getFullYear(),\n month: date.getMonth(),\n day: date.getDate(),\n });\n\n const from1 = extractDateParts(date1.from);\n const to1 = extractDateParts(date1.to);\n const from2 = extractDateParts(date2.from);\n const to2 = extractDateParts(date2.to);\n\n return (\n from1.year === from2.year &&\n from1.month === from2.month &&\n from1.day === from2.day &&\n to1.year === to2.year &&\n to1.month === to2.month &&\n to1.day === to2.day\n );\n}\n","import { DayPicker } from \"react-day-picker\";\n\nimport { ChevronLeftIcon, ChevronRightIcon } from \"../../icon\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useLocale } from \"../../locale\";\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n const [locale] = useLocale(\"picker\");\n return (\n <DayPicker\n locale={locale.dayPicker}\n showOutsideDays={showOutsideDays}\n className={cnBase(\"oui-p-3 oui-bg-base-7 oui-rounded\", className)}\n classNames={{\n months:\n \"oui-flex oui-flex-col sm:oui-flex-row oui-space-y-4 sm:oui-space-x-4 sm:oui-space-y-0\",\n month: \"oui-space-y-4\",\n caption:\n \"oui-flex oui-justify-center oui-pt-1 oui-relative oui-items-center\",\n caption_label: \"oui-text-sm oui-font-medium \",\n nav: \"oui-space-x-1 oui-flex oui-items-center\",\n nav_button: cnBase(\n \"oui-h-7 oui-w-7 oui-bg-transparent oui-p-0 oui-opacity-50 hover:oui-opacity-100\"\n ),\n nav_button_previous: \"oui-absolute oui-left-1\",\n nav_button_next: \"oui-absolute oui-right-1\",\n table: \"oui-w-full oui-border-collapse oui-space-y-1\",\n head_row: \"oui-flex\",\n head_cell:\n \"oui-text-base-contrast-80 oui-rounded-md oui-w-7 oui-font-normal oui-text-[0.8rem] oui-opacity-30\",\n row: \"oui-flex oui-w-full oui-mt-2\",\n cell: cnBase(\n \"oui-relative oui-day-cell oui-p-0 oui-text-center oui-text-2xs focus-within:oui-relative focus-within:oui-z-20 [&:has([aria-selected])]:oui-bg-base-4 [&:has([aria-selected].day-outside)]:oui-bg-base-4/50 [&:has([aria-selected].day-range-end)]:oui-rounded-r-md\",\n props.mode === \"range\"\n ? \"[&:has(>.oui-day-range-end)]:oui-rounded-r-md [&:has(>.oui-day-range-start)]:oui-rounded-l-md first:[&:has([aria-selected])]:oui-rounded-l-md last:[&:has([aria-selected])]:oui-rounded-r-md\"\n : \"[&:has([aria-selected])]:oui-rounded-md\"\n ),\n day: cnBase(\n // buttonVariants({ variant: \"ghost\" }),\n \"oui-h-7 oui-w-7 oui-p-0 oui-rounded-md oui-font-normal aria-selected:oui-opacity-100 oui-text-base-contrast-80 hover:oui-bg-base-5\"\n ),\n day_range_start:\n \"day-range-start oui-bg-primary-darken oui-text-base-contrast-80 hover:oui-bg-primary-darken\",\n day_range_end:\n \"day-range-end oui-bg-primary-darken oui-text-base-contrast-80 hover:oui-bg-primary-darken\",\n day_selected: \"oui-bg-base-4 \",\n day_today: \"oui-bg-accent \",\n day_outside:\n \"oui-day-outside oui-text-muted-foreground oui-opacity-50 aria-selected:oui-bg-accent/50 aria-selected:oui-text-muted-foreground aria-selected:oui-opacity-30\",\n day_disabled: \"oui-text-muted-foreground oui-opacity-50\",\n day_range_middle:\n \"aria-selected:oui-bg-accent aria-selected:oui-text-accent-foreground\",\n day_hidden: \"oui-invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ...props }) => (\n <ChevronLeftIcon size={16} className=\"oui-text-inherit\" opacity={1} />\n ),\n IconRight: ({ ...props }) => (\n <ChevronRightIcon\n size={16}\n className=\"oui-text-inherit\"\n opacity={1}\n />\n ),\n }}\n {...props}\n />\n );\n}\n\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n","import { FC, useMemo, useState } from \"react\";\nimport { Popover } from \"../popover/popover\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { ActiveModifiers } from \"react-day-picker\";\nimport { useLocale } from \"../locale\";\nexport type DatePickerProps = {\n onChange?: (date: Date) => void;\n // selected: Date;\n placeholder?: string;\n value?: Date;\n dateFormat?: string;\n size?: SizeType;\n className?: string;\n} & CalendarProps;\n\nconst DatePicker: FC<DatePickerProps> = (props) => {\n const {\n placeholder,\n dateFormat,\n onChange,\n value,\n size,\n className,\n ...calendarProps\n } = props;\n\n const [locale] = useLocale(\"picker\");\n\n const { trigger } = selectVariants({ size, className });\n\n const [open, setOpen] = useState(false);\n\n const formattedValue = useMemo(() => {\n if (typeof value === \"undefined\") {\n return placeholder ?? locale.selectDate;\n }\n }, [value, placeholder, locale]);\n\n const onSelect = (\n day: Date | undefined,\n selectedDay: Date,\n activeModifiers: ActiveModifiers,\n e: MouseEvent\n ) => {\n //@ts-ignore\n calendarProps.onSelect?.(day, selectedDay, activeModifiers, e);\n\n if (day) {\n onChange?.(day);\n setOpen(false);\n }\n };\n\n return (\n <Popover\n open={open}\n onOpenChange={setOpen}\n contentProps={{\n className: \"oui-w-auto oui-p-0\",\n }}\n // @ts-ignore\n content={<Calendar onSelect={onSelect} {...calendarProps} />}\n >\n <button\n className={trigger({\n className: \"orderly-datepicker-trigger oui-group\",\n })}\n >\n <span className=\"orderly-datepicker-trigger-icon\">\n <CalendarIcon size={14} className=\"oui-text-inherit\" opacity={1} />\n </span>\n <span>{formattedValue}</span>\n <CaretDownIcon\n size={12}\n className=\"orderly-datepicker-trigger-arrow oui-text-inherit oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n opacity={1}\n />\n </button>\n </Popover>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n\nexport { DatePicker };\n","import {\n forwardRef,\n SelectHTMLAttributes,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { ChevronDownIcon, ChevronUpIcon, cn } from \"..\";\nimport { SelectOption } from \"../select/withOptions\";\nimport { ActionSheet, ActionSheetItem } from \"../sheet\";\nimport { tv } from \"../utils/tv\";\n\nconst pickerVariants = tv({\n base: \"oui-flex oui-flex-row oui-items-stretch oui-rounded-md oui-cursor-pointer oui-border oui-border-line-6 oui-bg-line-4 oui-text-base-contrast-54\",\n variants: {\n size: {\n sm: \"oui-px-2 oui-h-[22px] oui-text-2xs\",\n md: \"oui-px-2 oui-h-[24px] oui-text-2xs\",\n base: \"oui-px-3 oui-h-[40px]\",\n lg: \"oui-px-6 oui-py-3\",\n },\n fullWidth: {\n true: \"oui-w-full\",\n },\n disabled: {\n true: \"oui-opacity-50 oui-cursor-not-allowed\",\n },\n color: {\n // primary: \"text-primary-darken\",\n base: \"oui-text-base-contract\",\n buy: \"oui-text-trade-profit\",\n sell: \"oui-text-trade-loss\",\n },\n },\n defaultVariants: {\n size: \"base\",\n color: \"base\",\n },\n});\n\nexport interface PickerProps\n extends Omit<\n SelectHTMLAttributes<HTMLSelectElement>,\n \"disabled\" | \"size\" | \"color\" | \"value\"\n >,\n VariantProps<typeof pickerVariants> {\n loading?: boolean;\n label?: string;\n placeholder?: string;\n options: SelectOption[];\n value?: SelectOption | string | number;\n onValueChange?: (value: any) => void;\n valueRenderer?: (\n value: any,\n options: { open?: boolean; data?: any },\n ) => React.ReactNode;\n}\n\nexport type PickerRef = {};\n\nexport const Picker = forwardRef<PickerRef, PickerProps>(\n (originalProps, ref) => {\n const {\n size,\n color,\n value,\n label,\n placeholder,\n className,\n options,\n fullWidth,\n disabled,\n valueRenderer,\n ...props\n } = originalProps;\n\n const [open, setOpen] = useState(false);\n\n const selectedItem = useMemo<SelectOption | undefined>(() => {\n if (value && !!(value as SelectOption).value) {\n return value as SelectOption;\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n const option = options.find((option) => option.value === value);\n if (option) {\n return option;\n }\n }\n }, [value, options]);\n\n const text = useMemo(() => {\n if (selectedItem) {\n return selectedItem.label;\n }\n return placeholder || label || \"\";\n }, [selectedItem, label, placeholder]);\n\n const actions = useMemo<ActionSheetItem[]>(() => {\n return [...options, \"---\", \"Cancel\"];\n }, [options]);\n\n // const triggerRef = useRef(null);\n // const [dropdownWidth, setDropdownWidth] = useState(218);\n\n // useEffect(() => {\n // if (triggerRef.current) {\n // // @ts-ignore\n // const width = triggerRef.current.offsetWidth;\n // setDropdownWidth(width);\n // }\n // }, []);\n\n return (\n <ActionSheet\n actionSheets={actions}\n onOpenChange={setOpen}\n open={open}\n onClose={() => setOpen(false)}\n // @ts-ignore\n value={selectedItem}\n onValueChange={props.onValueChange}\n >\n {typeof valueRenderer === \"function\" ? (\n valueRenderer(selectedItem?.value || props.defaultValue, {\n open: open,\n data: (selectedItem as any)?.data,\n })\n ) : (\n <div\n className={cn(\n \"oui-space-x-1\",\n \"oui-text-base-contrast-54\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n pickerVariants({\n size,\n color,\n fullWidth,\n disabled: disabled || options.length === 0,\n className,\n }),\n )}\n >\n <div className=\"oui-flex oui-flex-1 oui-items-center oui-justify-start oui-text-2xs oui-text-inherit\">\n {text}\n </div>\n <div className=\"oui-flex oui-items-center\">\n {open ? (\n <ChevronUpIcon size={14} color=\"white\" />\n ) : (\n <ChevronDownIcon size={14} color=\"white\" />\n )}\n </div>\n </div>\n )}\n </ActionSheet>\n );\n },\n);\n","import * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cn, cnBase, tv, type VariantProps } from \"tailwind-variants\";\nimport { CloseIcon } from \"../icon/close\";\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cnBase(\n \"oui-fixed oui-inset-0 oui-z-50 oui-bg-black/80 data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out data-[state=closed]:oui-fade-out-0 data-[state=open]:oui-fade-in-0\",\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = tv({\n base: \"oui-fixed oui-z-50 oui-gap-4 oui-bg-base-8 oui-px-4 oui-shadow-lg oui-transition oui-ease-in-out data-[state=closed]:oui-duration-260 data-[state=open]:oui-duration-300 data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out\",\n variants: {\n side: {\n top: \"oui-inset-x-0 oui-top-0 oui-border-b data-[state=closed]:oui-slide-out-to-top data-[state=open]:oui-slide-in-from-top\",\n bottom:\n \"oui-inset-x-0 oui-bottom-0 oui-rounded-t-2xl data-[state=closed]:oui-slide-out-to-bottom data-[state=open]:oui-slide-in-from-bottom\",\n left: \"oui-inset-y-0 oui-left-0 oui-h-full oui-w-3/4 data-[state=closed]:oui-slide-out-to-left data-[state=open]:oui-slide-in-from-left sm:oui-max-w-sm\",\n right:\n \"oui-inset-y-0 oui-right-0 oui-h-full oui-w-3/4 oui-border-l data-[state=closed]:oui-slide-out-to-right data-[state=open]:oui-slide-in-from-right sm:oui-max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"bottom\",\n },\n});\n\nexport interface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n // if true, show close button\n closeable?: boolean;\n onClose?: () => void;\n closeableSize?: number;\n closeOpacity?: number;\n closeClassName?: string;\n overlayClassName?: string;\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(\n (\n {\n side = \"bottom\",\n closeable = true,\n closeableSize = 16,\n closeOpacity = 0.98,\n className,\n overlayClassName,\n children,\n ...props\n },\n ref,\n ) => (\n <SheetPortal>\n <SheetOverlay className={overlayClassName} />\n <SheetPrimitive.Content\n ref={ref}\n className={cnBase(sheetVariants({ side }), className)}\n onOpenAutoFocus={(e) => e.preventDefault()}\n onCloseAutoFocus={(e) => e.preventDefault()}\n {...props}\n >\n {closeable && (\n <SheetPrimitive.Close\n className={cnBase(\n \"oui-ring-offset-base-700 focus:oui-ring-ring oui-absolute oui-right-4 oui-top-4 oui-z-10 oui-rounded-sm oui-transition-opacity focus:oui-outline-none focus:oui-ring-2 focus:oui-ring-offset-2 active:oui-outline-none focus:orderly-outline-none disabled:oui-pointer-events-none data-[state=open]:oui-bg-secondary\",\n props?.closeClassName,\n )}\n >\n <CloseIcon\n size={closeableSize}\n color=\"white\"\n opacity={closeOpacity}\n onClick={props?.onClose}\n />\n <span className=\"oui-sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n ),\n);\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({\n className,\n leading,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & {\n leading?: React.ReactNode;\n}) => (\n <div\n className={cnBase(\n \"oui-sheet-header oui-grid oui-min-h-12 oui-grid-cols-[40px_1fr_40px] oui-items-center\",\n )}\n >\n <div>{leading}</div>\n <div\n {...props}\n className={cnBase(\n \"oui-flex oui-flex-col oui-space-y-2 oui-text-center oui-text-lg oui-text-base-contrast\",\n className,\n )}\n />\n </div>\n);\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetBody = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div className={cn(\"oui-py-4\", className)({ twMerge: true })} {...props} />\n );\n};\n\nSheetBody.displayName = \"DialogBody\";\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cnBase(\n \"oui-sheet-footer oui-flex oui-flex-col-reverse sm:oui-flex-row sm:oui-justify-end sm:oui-space-x-2\",\n className,\n )}\n {...props}\n />\n);\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title> & {\n leading?: React.ReactNode;\n }\n>(({ className, leading, ...props }, ref) => (\n <div\n className=\"oui-sheet-header oui-grid oui-grid-cols-[40px_1fr_40px] oui-items-center\"\n ref={ref}\n >\n <div>{leading}</div>\n <div\n className={cnBase(\n \"oui-flex oui-flex-col oui-space-y-2 oui-text-center oui-text-lg oui-text-base-contrast\",\n className,\n )}\n {...props}\n />\n </div>\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cnBase(\n \"oui-sheet-description oui-text-2xs oui-text-base-contrast-54\",\n className,\n )}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetBody,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","import React, {\n FC,\n PropsWithChildren,\n ReactElement,\n ElementType,\n createContext,\n useContext,\n useReducer,\n ReactNode,\n} from \"react\";\nimport { ModalAction, ModalArgs, ModalCallbacks, ModalStore } from \"./types\";\nimport { getModalId } from \"./utils\";\nimport { MODAL_REGISTRY, register } from \"./modalHelper\";\n\nexport type ModalContextType = {};\n\nconst initialState: ModalStore = {};\n\n// const MODAL_STACK: string[] = [];\n\nexport const ALREADY_MOUNTED: Record<string, boolean> = {};\n\nexport const ModalContext = createContext<ModalStore>(initialState);\n\nexport const ModalIdContext = createContext<string | null>(null);\n\nexport const modalCallbacks: ModalCallbacks = {};\nexport const hideModalCallbacks: ModalCallbacks = {};\n\nlet dispatch: React.Dispatch<ModalAction> = () => {\n throw new Error(\n \"No dispatch method detected, did you embed your app with Modal.Provider?\"\n );\n};\n\n//------- reducer actions --------\n/**\n * show modal\n * @param id string modalId\n * @param args Record<string, unknown> modalArgs\n * @returns ModalAction\n */\nfunction showModal(id: string, args?: any): ModalAction {\n return {\n type: \"SHOW_MODAL\",\n payload: {\n id,\n args,\n },\n };\n}\n\n/**\n * close modal\n * @param id string modalId\n * @returns ModalAction\n */\nfunction hideModal(id: string): ModalAction {\n return {\n type: \"HIDE_MODAL\",\n payload: {\n id,\n },\n };\n}\n\nfunction removeModal(id: string): ModalAction {\n return {\n type: \"DESTROY_MODAL\",\n payload: {\n id,\n },\n };\n}\n\nfunction updateArgsAction(\n id: string,\n args: Record<string, unknown>\n): ModalAction {\n return {\n type: \"UPDATE_ARGS\",\n payload: {\n id,\n args,\n },\n };\n}\n\nfunction setModalStates(\n id: string,\n states: Record<string, unknown>\n): ModalAction {\n return {\n type: \"SET_MODAL_STATES\",\n payload: {\n id,\n states,\n },\n };\n}\n\n//------- reducer actions --------\n\nconst reducer = (state: ModalStore, action: ModalAction) => {\n const { id, args } = action.payload;\n // console.log(\"reducer action\", action);\n switch (action.type) {\n case \"SHOW_MODAL\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n id,\n args,\n visible: !!ALREADY_MOUNTED[id],\n delayVisible: !ALREADY_MOUNTED[id],\n },\n };\n }\n case \"HIDE_MODAL\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n visible: false,\n },\n };\n }\n case \"DESTROY_MODAL\": {\n const newState = { ...state };\n delete newState[id];\n return newState;\n }\n case \"UPDATE_ARGS\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n args: {\n ...state[id].args,\n ...args,\n },\n },\n };\n }\n case \"SET_MODAL_STATES\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n states: {\n ...state.states,\n ...action.payload.states,\n },\n },\n };\n }\n default:\n return state;\n }\n};\n\nconst ModalContainer: FC = () => {\n const modals = useContext(ModalContext);\n const visibleModalIds = Object.keys(modals).filter((id) => !!modals[id]);\n\n visibleModalIds.forEach((id) => {\n if (!MODAL_REGISTRY.has(id) && !ALREADY_MOUNTED[id]) {\n console.warn(\n `No modal found for id: ${id}. Please check the id or if it is registered or declared via JSX.`\n );\n return;\n }\n });\n\n const components = visibleModalIds\n .filter((id) => MODAL_REGISTRY.has(id))\n .map((id) => {\n return {\n id,\n ...MODAL_REGISTRY.get(id)!,\n };\n });\n\n // console.log(\"components\", components, modals);\n\n return (\n <>\n {components.map((component) => {\n // console.log(\"component\", component);\n\n const Comp: ElementType = component.comp;\n return (\n <Comp key={component.id} id={component.id} {...component.props} />\n );\n })}\n </>\n );\n};\n\nexport const ModalProvider: FC<\n PropsWithChildren<{\n dialogBuilder?: (children: ReactNode) => ReactElement;\n }>\n> = (props) => {\n const [state, dispatchOrigin] = useReducer(reducer, initialState);\n dispatch = dispatchOrigin;\n return (\n <ModalContext.Provider value={state}>\n {props.children}\n <ModalContainer />\n </ModalContext.Provider>\n );\n};\n\nfunction show<T extends any, C extends any>(\n modal: ElementType<C>,\n args?: ModalArgs<ElementType<C>>\n): Promise<T>;\nfunction show<T extends any>(\n modal: string,\n args?: Record<string, unknown>\n): Promise<T>;\nfunction show<T extends any, P extends any>(\n modal: string,\n args?: P\n): Promise<T>;\nfunction show<T extends any, P extends any>(\n modal: ElementType<any> | string,\n args?: any\n): Promise<unknown> {\n const modalId = getModalId(modal);\n if (typeof modal !== \"string\" && !MODAL_REGISTRY.has(modalId)) {\n register(modalId, modal as ElementType);\n }\n\n dispatch(showModal(modalId, args));\n if (!modalCallbacks[modalId]) {\n let theResolve!: (args?: unknown) => void;\n // `!` tell ts that theResolve will be written before it is used\n let theReject!: (args?: unknown) => void;\n const promise = new Promise((resolve, reject) => {\n theResolve = resolve;\n theReject = reject;\n });\n modalCallbacks[modalId] = {\n resolve: theResolve,\n reject: theReject,\n promise,\n };\n }\n\n return modalCallbacks[modalId].promise as Promise<T>;\n}\n\nfunction hide<T>(modal: string | FC<any>): Promise<T>;\nfunction hide(modal: string | FC<any>) {\n const modalId = getModalId(modal);\n dispatch(hideModal(modalId));\n\n delete modalCallbacks[modalId];\n\n if (!hideModalCallbacks[modalId]) {\n let theResolve!: (args?: unknown) => void;\n let theReject!: (args?: unknown) => void;\n const promise = new Promise((resolve, reject) => {\n theResolve = resolve;\n theReject = reject;\n });\n hideModalCallbacks[modalId] = {\n resolve: theResolve,\n reject: theReject,\n promise,\n };\n }\n\n return hideModalCallbacks[modalId].promise;\n}\n\nfunction remove(id: string) {\n dispatch(removeModal(id));\n delete modalCallbacks[id];\n delete hideModalCallbacks[id];\n}\n\nfunction setStates(id: string, states: Record<string, unknown>) {\n dispatch(setModalStates(id, states));\n}\n\nfunction updateArgs(id: string, args: Record<string, unknown>) {\n dispatch(updateArgsAction(id, args));\n}\n\nexport const modalActions = {\n show,\n hide,\n remove,\n setStates,\n updateArgs,\n};\n","const symModalId = Symbol(\"modalId\");\n\nlet uidSeed = 0;\n\nconst getUid = () => `__modal_${uidSeed++}`;\n\nexport const getModalId = (modal: any): string => {\n if (typeof modal === \"string\") return modal as string;\n if (!modal[symModalId]) {\n modal[symModalId] = getUid();\n }\n return modal[symModalId];\n};\n","import { ElementType, FC, useContext, useEffect } from \"react\";\nimport type { ModalArgs, ModalHocProps } from \"./types\";\nimport { useModal } from \"./useModal\";\nimport {\n ALREADY_MOUNTED,\n modalActions,\n ModalContext,\n ModalIdContext,\n} from \"./modalContext\";\n\ntype ModalRegistry = {\n comp: ElementType;\n props?: Record<string, unknown>;\n};\n\nexport const MODAL_REGISTRY = new Map<string, ModalRegistry>();\n\nexport const create = <P extends {}>(\n Comp: React.ComponentType<P>\n): FC<P & ModalHocProps> => {\n // return higher order component\n // eslint-disable-next-line react/display-name\n return ({ id, defaultVisible, keepMounted, ...props }) => {\n const { args, show } = useModal(id);\n\n const modals = useContext(ModalContext);\n const shouldMount = !!modals[id];\n\n useEffect(() => {\n if (defaultVisible) {\n show();\n }\n\n ALREADY_MOUNTED[id] = true;\n\n return () => {\n if (!keepMounted) {\n delete ALREADY_MOUNTED[id];\n }\n };\n }, [id, show, defaultVisible]);\n\n useEffect(() => {\n if (keepMounted) modalActions.setStates(id, { keepMounted: true });\n }, [id, keepMounted]);\n\n const delayVisible = modals[id]?.delayVisible;\n\n useEffect(() => {\n if (delayVisible) {\n show(args);\n }\n }, [delayVisible, args, show]);\n\n if (!shouldMount) return null;\n\n return (\n <ModalIdContext.Provider value={id}>\n <Comp {...(props as unknown as P)} {...args} />\n </ModalIdContext.Provider>\n );\n };\n};\n\nexport function register<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<ModalArgs<Props>>\n): void {\n if (!MODAL_REGISTRY.has(id)) {\n // auto crate;\n // MODAL_REGISTRY.set(id, { comp, props });\n MODAL_REGISTRY.set(id, { comp, props });\n } else {\n MODAL_REGISTRY.set(id, { comp: MODAL_REGISTRY.get(id)!.comp!, props });\n }\n}\n\nexport const unregister = (id: string): void => {\n MODAL_REGISTRY.delete(id);\n};\n","import { FC, useCallback, useContext, useEffect } from \"react\";\nimport { ModalArgs, ModalHandler } from \"./types\";\nimport {\n ModalContext,\n hideModalCallbacks,\n modalActions,\n modalCallbacks,\n ModalIdContext,\n} from \"./modalContext\";\nimport { getModalId } from \"./utils\";\nimport { register } from \"./modalHelper\";\n\nexport function useModal(): ModalHandler;\nexport function useModal(\n modal: string,\n args?: Record<string, unknown>\n): ModalHandler;\nexport function useModal<\n T extends React.FC<any>,\n ComponentProps extends ModalArgs<T>,\n PreparedProps extends Partial<ComponentProps> = {} | ComponentProps,\n RemainingProps = Omit<ComponentProps, keyof PreparedProps> &\n Partial<ComponentProps>,\n ResolveType = unknown\n>(\n modal: T,\n args?: PreparedProps\n): Omit<ModalHandler, \"show\"> & {\n show: Partial<RemainingProps> extends RemainingProps\n ? (args?: RemainingProps) => Promise<ResolveType>\n : (args: RemainingProps) => Promise<ResolveType>;\n};\nexport function useModal(modal?: any, args?: any): ModalHandler {\n const modals = useContext(ModalContext);\n const modalIdFromContext = useContext(ModalIdContext);\n\n let modalId: string | null;\n let isComponent = modal && typeof modal !== \"string\";\n\n if (!modal) {\n modalId = modalIdFromContext;\n } else {\n modalId = getModalId(modal);\n }\n\n if (!modalId) {\n throw new Error(\"modalId is required\");\n }\n\n const id = modalId as string;\n\n useEffect(() => {\n if (isComponent) {\n register(id, modal, args);\n }\n }, [isComponent, modalId, modal, args]);\n\n const modalInfo = modals[id];\n\n // console.log(\"modalInfo\", modalInfo);\n\n const show = useCallback(\n (args?: Record<string, unknown>) => modalActions.show(id, args),\n [id]\n );\n\n const hide = useCallback(() => modalActions.hide(id), [id]);\n\n const remove = useCallback(() => modalActions.remove(id), [id]);\n\n const onOpenChange = useCallback(\n (isOpen: boolean) => {\n // isOpen ? () => {} : hide();\n if (!isOpen) {\n // hide();\n reject(\"cancel\");\n hide();\n }\n },\n [id]\n );\n\n const setStates = useCallback(\n (states: Record<string, unknown>) => {\n modalActions.setStates(id, states);\n },\n [id]\n );\n\n const updateArgs = useCallback(\n (args: Record<string, unknown>) => {\n modalActions.updateArgs(id, args);\n },\n [id]\n );\n\n const resolve = useCallback(\n (args?: unknown) => {\n modalCallbacks[id]?.resolve(args);\n delete modalCallbacks[id];\n },\n [id]\n );\n\n const reject = useCallback(\n (args?: unknown) => {\n modalCallbacks[id]?.reject(args);\n delete modalCallbacks[id];\n },\n [id]\n );\n\n const resolveHide = useCallback((args?: unknown) => {\n hideModalCallbacks[id]?.resolve(args);\n delete hideModalCallbacks[id];\n }, []);\n\n return {\n id,\n args: modalInfo?.args,\n states: modalInfo?.states,\n visible: !!modalInfo?.visible,\n keepMounted: !!modalInfo?.keepMounted,\n\n show,\n hide,\n onOpenChange,\n setStates,\n updateArgs,\n remove,\n /**\n * resolve the show Promise\n */\n resolve,\n /**\n * reject the show Promise\n */\n reject,\n /**\n * emit when modal is hidden\n */\n resolveHide,\n };\n}\n","import { tv } from \"../utils/tv\";\nimport React from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\n\nconst dividerVariants = tv({\n base: [\"oui-pointer-events-none oui-box-content\"],\n variants: {\n intensity: {\n 4: \"oui-border-line-4\",\n 6: \"oui-border-line-6\",\n 8: \"oui-border-line\",\n 12: \"oui-border-line-12\",\n 16: \"oui-border-line-16\",\n },\n direction: {\n horizontal: [\"oui-border-b\"],\n vertical: [\"oui-border-l\"],\n },\n lineStyle: {\n // solid: \"oui-border-solid\",\n dashed: \"oui-border-dashed\",\n dotted: \"oui-border-dotted\",\n },\n mx: {\n 2: \"oui-mx-2\",\n 4: \"oui-mx-4\",\n 6: \"oui-mx-6\",\n 8: \"oui-mx-8\",\n 10: \"oui-mx-10\",\n },\n my: {\n 2: \"oui-my-2\",\n 4: \"oui-my-4\",\n 6: \"oui-my-6\",\n 8: \"oui-my-8\",\n 10: \"oui-my-10\",\n },\n },\n defaultVariants: {\n direction: \"horizontal\",\n intensity: 4,\n },\n});\n\ntype DividerProps = VariantProps<typeof dividerVariants> &\n React.HTMLAttributes<HTMLDivElement>;\n\nconst Divider = React.forwardRef<HTMLDivElement, DividerProps>((props, ref) => {\n const { className, intensity, direction, lineStyle, mx, my, ...rest } = props;\n return (\n <div\n ref={ref}\n {...rest}\n className={dividerVariants({\n direction,\n intensity,\n className,\n lineStyle,\n mx,\n my,\n })}\n />\n );\n});\n\nDivider.displayName = \"Divider\";\n\nexport { Divider, dividerVariants };\nexport type { DividerProps };\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport { Sheet, SheetContent, SheetHeader } from \".\";\nimport { Divider } from \"../divider\";\nimport { SheetBody, SheetContentProps, SheetTitle } from \"./sheet\";\n\nexport interface SimpleSheetProps {\n title?: ReactNode | (() => ReactNode);\n leading?: React.ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n classNames?: {\n content?: string;\n body?: string;\n header?: string;\n overlay?: string;\n };\n contentProps?: SheetContentProps;\n closable?: boolean;\n}\n\nexport const SimpleSheet: FC<PropsWithChildren<SimpleSheetProps>> = (props) => {\n const {\n open,\n onOpenChange,\n classNames,\n contentProps,\n closable = true,\n } = props;\n\n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <Sheet open={open} onOpenChange={onOpenChange}>\n <SheetContent\n onOpenAutoFocus={(event) => event.preventDefault()}\n className={classNames?.content}\n overlayClassName={classNames?.overlay}\n closeable={closable}\n {...contentProps}\n >\n {title && (\n <>\n <SheetHeader leading={props.leading}>\n <SheetTitle>{title}</SheetTitle>\n </SheetHeader>\n <Divider />\n </>\n )}\n <SheetBody className={classNames?.body}>{props.children}</SheetBody>\n </SheetContent>\n </Sheet>\n );\n};\n","import { ReactNode } from \"react\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { SimpleSheet, SimpleSheetProps } from \"../../sheet/simpleSheet\";\n\nexport type SheetProps = Pick<\n SimpleSheetProps,\n \"title\" | \"classNames\" | \"leading\" | \"contentProps\" | \"closable\"\n> & {\n content: ReactNode;\n};\nconst BaseSheet = create<SheetProps>((props) => {\n const { visible, hide, resolve, onOpenChange } = useModal();\n\n return (\n <SimpleSheet open={visible} onOpenChange={onOpenChange} {...props}>\n {props.content}\n </SimpleSheet>\n );\n});\n\nexport const sheet = (props: SheetProps) => {\n return modalActions.show(BaseSheet, props);\n};\n","import { useCallback } from \"react\";\nimport { AlertDialog, AlertDialogProps } from \"../../dialog/alertDialog\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\n\nexport const CreatedAlertDialog = create<AlertDialogProps>((props) => {\n const { onOk } = props;\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n\n const onOkHandler = useCallback((): Promise<any> => {\n return Promise.resolve().then(onOk).then(hide);\n }, [onOk]);\n\n return (\n <AlertDialog\n open={visible}\n onOpenChange={onOpenChange}\n {...props}\n onOk={onOkHandler}\n />\n );\n});\n\nexport const alert = (props: AlertDialogProps) => {\n return modalActions.show(CreatedAlertDialog, props);\n};\n","import { FC, ReactNode, useMemo } from \"react\";\nimport { SimpleDialog, SimpleDialogProps } from \"./simpleDialog\";\nimport { DialogAction } from \"./simpleDialogFooter\";\nimport { useScreen } from \"../hooks\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useLocale } from \"../locale\";\n\nexport type AlertDialogProps = {\n message?: ReactNode;\n onOk?: () => Promise<boolean>;\n onCancel?: () => void;\n okLabel?: string;\n cancelLabel?: string;\n actions?: {\n primary?: Partial<DialogAction>;\n secondary?: Partial<DialogAction>;\n };\n} & Pick<\n SimpleDialogProps,\n \"open\" | \"onOpenChange\" | \"title\" | \"closable\" | \"classNames\" | \"size\"\n>;\n\n/**\n * Generic alert dialog, often used for confirmation/alert/information dialogs.\n */\nexport const AlertDialog: FC<AlertDialogProps> = (props) => {\n const [locale] = useLocale(\"dialog\");\n const {\n title,\n message,\n open,\n onOpenChange,\n onOk,\n onCancel,\n okLabel = locale.ok,\n cancelLabel = locale.cancel,\n size,\n classNames,\n } = props;\n\n const { isMobile } = useScreen();\n\n const actions = useMemo(() => {\n if (typeof onOk !== \"function\" && typeof onCancel !== \"function\")\n return undefined;\n const actions: any = {};\n if (typeof onCancel === \"function\") {\n actions[\"secondary\"] = {\n label: cancelLabel,\n onClick: onCancel,\n size: \"md\",\n fullWidth: true,\n ...props.actions?.secondary,\n } as DialogAction;\n }\n\n if (typeof onOk === \"function\") {\n actions[\"primary\"] = {\n label: okLabel,\n size: \"md\",\n fullWidth: true,\n className: \"oui-w-full lg:oui-w-[154px]\",\n onClick: onOk,\n ...props.actions?.primary,\n } as DialogAction;\n }\n\n return actions;\n }, [onOk, onCancel, okLabel, cancelLabel, props.actions]);\n\n const defaultSize = isMobile ? \"xs\" : \"sm\";\n\n return (\n <SimpleDialog\n open={open}\n title={title}\n size={size || defaultSize}\n actions={actions}\n onOpenChange={onOpenChange}\n classNames={{\n content: cnBase(\n \"oui-bg-base-8 oui-font-semibold oui-border oui-border-line-6\",\n \"oui-p-4 oui-pt-0 lg:oui-p-5 lg:oui-pt-0\",\n classNames?.content\n ),\n body: cnBase(\"oui-py-4 lg:oui-py-5\", classNames?.body),\n footer: cnBase(\n \"oui-justify-center oui-pb-0 oui-pt-2 lg:oui-pt-3\",\n classNames?.footer\n ),\n }}\n >\n {message}\n </SimpleDialog>\n );\n};\n","import * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { VariantProps, tv } from \"tailwind-variants\";\nimport { CloseIcon } from \"../icon/close\";\n\nconst dialogVariants = tv({\n slots: {\n overlay: [\n \"oui-dialog-overlay\",\n \"oui-fixed\",\n \"oui-inset-0\",\n \"oui-z-50\",\n \"oui-bg-black/80\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n ],\n content: [\n \"oui-dialog-content\",\n \"oui-fixed\",\n \"oui-left-[50%]\",\n \"oui-top-[50%]\",\n \"oui-z-50\",\n // \"oui-grid\",\n \"oui-w-full\",\n \"oui-max-w-lg\",\n \"oui-translate-x-[-50%]\",\n \"oui-translate-y-[-50%]\",\n // \"oui-gap-4\",\n // \"oui-bg-base-8\",\n \"oui-text-base-contrast-54\",\n \"oui-px-4 lg:oui-px-5\",\n\n \"oui-shadow-lg\",\n \"oui-duration-200\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[state=closed]:oui-slide-out-to-left-1/2\",\n \"data-[state=closed]:oui-slide-out-to-top-[48%]\",\n \"data-[state=open]:oui-slide-in-from-left-1/2\",\n \"data-[state=open]:oui-slide-in-from-top-[48%]\",\n \"sm:oui-rounded-xl\",\n ],\n body: [\"oui-dialog-body\", \"oui-py-4 lg:oui-py-5\", \"oui-text-xs\"],\n close: [\n \"oui-dialog-close-btn\",\n \"oui-absolute\",\n \"oui-right-4\",\n \"oui-top-4\",\n // \"oui-opacity-70\",\n \"oui-ring-offset-background\",\n \"oui-transition-opacity\",\n \"hover:oui-opacity-100\",\n\n \"disabled:oui-pointer-events-none\",\n // \"data-[state=open]:oui-bg-accent\",\n // \"data-[state=open]:oui-text-muted-foreground\",\n ],\n header: [\n \"oui-dialog-header\",\n \"oui-flex\",\n \"oui-flex-col\",\n // \"oui-pb-4\"\n ],\n footer: [\n \"oui-dialog-footer\",\n \"oui-flex\",\n \"oui-flex-row\",\n \"oui-justify-end\",\n \"oui-space-x-2\",\n \"oui-pb-5\",\n \"oui-pt-2 lg:oui-pt-3\",\n // \"has-[&>*:nth-child(1)]:oui-bg-red-400\",\n // \"oui-has-[:checked]:oui-bg-indigo-50\",\n // \"has-[button]:oui-bg-red-50\",\n ],\n title: [\n \"oui-dialog-title\",\n \"oui-text-base\",\n // \"oui-pt-3\",\n // \"oui-pb-2\",\n \"oui-min-h-11 lg:oui-min-h-[46px]\",\n \"oui-flex\",\n \"oui-items-center\",\n \"oui-text-base-contrast\",\n ],\n desc: [\n \"oui-dialog-desc\",\n \"oui-text-xs\",\n \"oui-text-warning-darken\",\n \"oui-pt-2\",\n \"oui-text-center\",\n \"oui-pb-3\",\n // \"has-[&_+_div]:oui-pb-3\",\n ],\n },\n variants: {\n size: {\n xs: {\n content: [\"oui-max-w-xs\"], //320\n },\n sm: {\n content: [\"oui-max-w-sm\"], //360\n },\n md: {\n content: [\"oui-max-w-md\"], //420\n },\n lg: {\n content: [\"oui-max-w-lg\"], //480\n },\n xl: {\n content: [\"oui-max-w-xl\"], //540\n },\n },\n intensity: {\n 100: {\n content: [\"oui-bg-base-1\"],\n },\n 200: {\n content: [\"oui-bg-base-2\"],\n },\n 300: {\n content: [\"oui-bg-base-3\"],\n },\n 400: {\n content: [\"oui-bg-base-4\"],\n },\n 500: {\n content: [\"oui-bg-base-5\"],\n },\n 600: {\n content: [\"oui-bg-base-6\"],\n },\n 700: {\n content: [\"oui-bg-base-7\"],\n },\n 800: {\n content: [\"oui-bg-base-8\"],\n },\n 900: {\n content: [\"oui-bg-base-9\"],\n },\n },\n },\n defaultVariants: {\n intensity: 800,\n },\n});\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { overlay } = dialogVariants();\n return (\n <DialogPrimitive.Overlay\n ref={ref}\n className={overlay({ className })}\n {...props}\n />\n );\n});\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nexport type DialogContentProps = React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Content\n> &\n VariantProps<typeof dialogVariants> & {\n closable?: boolean;\n onClose?: () => void;\n overlyClassName?: string;\n };\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(\n (\n {\n overlyClassName,\n className,\n children,\n size,\n closable = true,\n intensity,\n ...props\n },\n ref,\n ) => {\n const { content, close } = dialogVariants({ className, size, intensity });\n return (\n <DialogPortal>\n <DialogOverlay className={overlyClassName} />\n <DialogPrimitive.Content\n ref={ref}\n className={content({ className })}\n {...props}\n >\n {children}\n {closable && (\n <DialogPrimitive.Close\n className={close()}\n data-testid=\"oui-testid-dialog-content-close-btn\"\n >\n <CloseIcon size={16} color=\"white\" opacity={0.98} />\n <span className=\"oui-sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n },\n);\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { header } = dialogVariants();\n return <div className={header({ className })} {...props} />;\n};\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogBody = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { body } = dialogVariants();\n return <div className={body({ className })} {...props} />;\n};\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { footer } = dialogVariants();\n return <div className={footer({ className })} {...props} />;\n};\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => {\n const { title } = dialogVariants();\n return (\n <DialogPrimitive.Title\n ref={ref}\n className={title({ className })}\n {...props}\n />\n );\n});\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => {\n const { desc } = dialogVariants();\n return (\n <DialogPrimitive.Description\n ref={ref}\n className={desc({ className })}\n {...props}\n />\n );\n});\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogBody,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","import { FC, useEffect, useMemo, useState } from \"react\";\nimport { DialogFooter } from \"./dialog\";\nimport { Button, ButtonProps, ThrottledButton } from \"../button\";\n\nexport type DialogAction<T = any> = {\n label: string;\n onClick: (event: any) => Promise<T> | T;\n} & Pick<\n ButtonProps,\n | \"size\"\n | \"disabled\"\n | \"className\"\n | \"fullWidth\"\n | \"data-testid\"\n | \"loading\"\n | \"variant\"\n | \"color\"\n>;\n\nexport type SimpleDialogFooterProps = {\n actions?: {\n primary?: DialogAction;\n secondary?: DialogAction;\n };\n className?: string;\n};\n\nexport const SimpleDialogFooter: FC<SimpleDialogFooterProps> = (props) => {\n const { actions } = props;\n const [primaryLoading, setPrimaryLoading] = useState(\n actions?.primary?.loading ?? false\n );\n\n useEffect(() => {\n if (actions?.primary?.loading) {\n setPrimaryLoading(actions?.primary?.loading);\n }\n\n return () => {\n setPrimaryLoading(false);\n };\n }, [actions?.primary?.loading]);\n\n if (!actions) return null;\n\n const buttons = useMemo(() => {\n const buttons = [];\n\n if (actions.secondary && typeof actions.secondary.onClick === \"function\") {\n const {\n fullWidth = true,\n color = \"gray\",\n label,\n ...rest\n } = actions.secondary;\n\n buttons.push(\n <Button\n key=\"secondary\"\n {...rest}\n data-testid={actions.secondary?.[\"data-testid\"]}\n color={color}\n fullWidth={fullWidth}\n >\n {label}\n </Button>\n );\n }\n\n if (actions.primary && typeof actions.primary.onClick === \"function\") {\n const {\n fullWidth = true,\n color,\n disabled,\n label,\n onClick,\n ...rest\n } = actions.primary;\n\n buttons.push(\n <ThrottledButton\n key=\"primary\"\n {...rest}\n data-testid={actions.primary?.[\"data-testid\"]}\n onClick={async (event) => {\n if (primaryLoading) return;\n try {\n setPrimaryLoading(true);\n await onClick(event);\n } catch (e) {\n } finally {\n setPrimaryLoading(false);\n }\n }}\n disabled={disabled || primaryLoading}\n loading={primaryLoading}\n fullWidth={fullWidth}\n color={color}\n >\n {label}\n </ThrottledButton>\n );\n }\n\n return buttons;\n }, [actions, primaryLoading]);\n\n return <DialogFooter className={props.className}>{buttons}</DialogFooter>;\n};\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport { Divider } from \"../divider\";\nimport {\n Dialog,\n DialogBody,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n DialogContentProps,\n} from \"./dialog\";\nimport {\n SimpleDialogFooter,\n SimpleDialogFooterProps,\n} from \"./simpleDialogFooter\";\n\ntype SimpleDialogProps = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n closable?: boolean;\n title?: ReactNode | (() => ReactNode);\n description?: ReactNode;\n classNames?: {\n content?: string;\n body?: string;\n footer?: string;\n overlay?: string;\n };\n /** if provider, it will overrides others content props */\n contentProps?: DialogContentProps;\n // footer?: ReactNode;\n} & SimpleDialogFooterProps;\n\n/**\n * Simplified dialog component.\n */\nconst SimpleDialog: FC<PropsWithChildren<SimpleDialogProps>> = (props) => {\n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <Dialog open={props.open} onOpenChange={props.onOpenChange}>\n <DialogContent\n size={props.size}\n closable={props.closable}\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n /** prevent close dialog when click the mask */\n // onPointerDownOutside={(event) => event.preventDefault()}\n className={props.classNames?.content}\n overlyClassName={props.classNames?.overlay}\n {...props.contentProps}\n >\n {title && (\n <>\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n </DialogHeader>\n <Divider />\n </>\n )}\n <DialogBody className={props.classNames?.body}>\n {props.children}\n </DialogBody>\n {typeof props.description !== \"undefined\" && (\n <DialogDescription>{props.description}</DialogDescription>\n )}\n <SimpleDialogFooter\n actions={props.actions}\n className={props.classNames?.footer}\n />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { SimpleDialog };\n\nexport type { SimpleDialogProps };\n","import { useEffect, useState } from \"react\";\n\nexport function useMediaQuery(query: string): boolean {\n const getMatches = (query: string): boolean => {\n // Prevents SSR issues\n if (typeof window !== \"undefined\") {\n return window.matchMedia(query).matches;\n }\n return false;\n };\n\n const [matches, setMatches] = useState<boolean>(getMatches(query));\n\n function handleChange() {\n setMatches(getMatches(query));\n }\n\n useEffect(() => {\n const matchMedia = window?.matchMedia(query);\n\n // Triggered at the first client-side load and if query changes\n handleChange();\n\n // Listen matchMedia\n if (matchMedia?.addListener) {\n matchMedia?.addListener(handleChange);\n } else {\n matchMedia?.addEventListener?.(\"change\", handleChange);\n }\n\n return () => {\n if (matchMedia?.removeListener) {\n matchMedia?.removeListener(handleChange);\n } else {\n matchMedia?.removeEventListener?.(\"change\", handleChange);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return matches;\n}\n","import { useMediaQuery } from \"./useMediaQuery\";\n\nexport function useScreen() {\n const isMobile = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n isMobile,\n isDesktop: !isMobile,\n };\n}\n","import { useEffect } from \"react\";\n\n/**\n * observe the element and call the callback when the element is changed\n * */\nexport function useObserverElement<T extends HTMLElement>(\n element: T | null,\n callback: (entry: ResizeObserverEntry) => void,\n) {\n useEffect(() => {\n if (!element) {\n return;\n }\n\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n callback(entry);\n }\n });\n\n resizeObserver.observe(element);\n\n return () => {\n resizeObserver.unobserve(element);\n };\n }, [element]);\n}\n","import { useMemo } from \"react\";\nimport { useMediaQuery } from \"./useMediaQuery\";\n\n/**\n * Hook to determine if the current device can use mobile device linking\n * This includes actual mobile devices AND tablets (iPad, Android tablets)\n * even if their viewport width exceeds the mobile breakpoint\n *\n */\nexport function useCanLinkDevice(): boolean {\n const isSmallViewport = useMediaQuery(\"(max-width: 768px)\");\n\n return useMemo(() => {\n // Check if device is a tablet or mobile device based on user agent\n const ua = navigator.userAgent;\n const isIpad =\n /iPad/.test(ua) || (/MacIntel/.test(ua) && navigator.maxTouchPoints > 1);\n\n const isAndroidTablet = /Android/.test(ua) && !/Mobile/.test(ua);\n\n const isTablet = isIpad || isAndroidTablet;\n return isSmallViewport || isTablet;\n }, [isSmallViewport]);\n}\n","import { useRef, useCallback } from \"react\";\n\ninterface LongPressHandlers {\n onMouseDown: (e: React.MouseEvent) => void;\n onMouseUp: () => void;\n onMouseMove: (e: React.MouseEvent) => void;\n onMouseLeave: () => void;\n onContextMenu: (e: React.MouseEvent) => void;\n onTouchStart: (e: React.TouchEvent) => void;\n onTouchEnd: () => void;\n onTouchMove: (e: React.TouchEvent) => void;\n onTouchCancel: () => void;\n}\n\nexport function useLongPress(\n callback: () => void,\n longPressTime = 600, // milliseconds\n): LongPressHandlers {\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n const targetRef = useRef<EventTarget | null>(null);\n const startPositionRef = useRef<{ x: number; y: number } | null>(null);\n const isLongPressTriggeredRef = useRef(false);\n\n const clearLongPress = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n targetRef.current = null;\n startPositionRef.current = null;\n isLongPressTriggeredRef.current = false;\n }, []);\n\n const startLongPress = useCallback(\n (e: React.MouseEvent | React.TouchEvent) => {\n // Clear previous timer\n clearLongPress();\n\n // Prevent default behavior (disable browser default menu)\n if (\"touches\" in e) {\n e.preventDefault();\n }\n\n // Record target element and start position\n targetRef.current = e.currentTarget;\n const clientX = \"touches\" in e ? e.touches[0]?.clientX : e.clientX;\n const clientY = \"touches\" in e ? e.touches[0]?.clientY : e.clientY;\n\n startPositionRef.current = { x: clientX, y: clientY };\n isLongPressTriggeredRef.current = false;\n\n // Set long press timer\n timeoutRef.current = setTimeout(() => {\n if (targetRef.current && startPositionRef.current) {\n isLongPressTriggeredRef.current = true;\n callback();\n }\n clearLongPress();\n }, longPressTime);\n },\n [callback, longPressTime, clearLongPress],\n );\n\n const handleMouseDown = useCallback(\n (e: React.MouseEvent) => {\n // Only handle left button click\n if (e.button !== 0) return;\n startLongPress(e);\n },\n [startLongPress],\n );\n\n const handleMouseUp = useCallback(() => {\n clearLongPress();\n }, [clearLongPress]);\n\n const handleMouseMove = useCallback(\n (e: React.MouseEvent) => {\n // If long press is already triggered, ignore movement\n if (isLongPressTriggeredRef.current) return;\n\n // Check if movement exceeds threshold (5px)\n if (startPositionRef.current) {\n const deltaX = Math.abs(e.clientX - startPositionRef.current.x);\n const deltaY = Math.abs(e.clientY - startPositionRef.current.y);\n const threshold = 5;\n\n if (deltaX > threshold || deltaY > threshold) {\n clearLongPress();\n }\n }\n },\n [clearLongPress],\n );\n\n const handleMouseLeave = useCallback(() => {\n clearLongPress();\n }, [clearLongPress]);\n\n const handleContextMenu = useCallback((e: React.MouseEvent) => {\n // If long press is in progress, prevent context menu\n if (timeoutRef.current || isLongPressTriggeredRef.current) {\n e.preventDefault();\n e.stopPropagation();\n }\n }, []);\n\n const handleTouchStart = useCallback(\n (e: React.TouchEvent) => {\n startLongPress(e);\n },\n [startLongPress],\n );\n\n const handleTouchEnd = useCallback(() => {\n clearLongPress();\n }, [clearLongPress]);\n\n const handleTouchMove = useCallback(\n (e: React.TouchEvent) => {\n // If long press is in progress, prevent default behavior (disable long press menu)\n if (timeoutRef.current) {\n e.preventDefault();\n }\n\n // If long press is already triggered, ignore movement\n if (isLongPressTriggeredRef.current) return;\n\n // Check if movement exceeds threshold (5px)\n if (startPositionRef.current && e.touches[0]) {\n const deltaX = Math.abs(\n e.touches[0].clientX - startPositionRef.current.x,\n );\n const deltaY = Math.abs(\n e.touches[0].clientY - startPositionRef.current.y,\n );\n const threshold = 5;\n\n if (deltaX > threshold || deltaY > threshold) {\n clearLongPress();\n }\n }\n },\n [clearLongPress],\n );\n\n const handleTouchCancel = useCallback(() => {\n clearLongPress();\n }, [clearLongPress]);\n\n return {\n onMouseDown: handleMouseDown,\n onMouseUp: handleMouseUp,\n onMouseMove: handleMouseMove,\n onMouseLeave: handleMouseLeave,\n onContextMenu: handleContextMenu,\n onTouchStart: handleTouchStart,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchCancel: handleTouchCancel,\n };\n}\n","import { ReactNode } from \"react\";\nimport { SimpleDialog, SimpleDialogProps } from \"../../dialog/simpleDialog\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\n\nexport type DialogProps = {\n content: ReactNode;\n} & Pick<SimpleDialogProps, \"title\" | \"closable\" | \"size\" | \"actions\">;\n\nconst Dialog = create<DialogProps>((props) => {\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n return (\n <SimpleDialog\n title={props.title}\n open={visible}\n onOpenChange={onOpenChange}\n size={props.size}\n closable={props.closable}\n actions={props.actions}\n // // @ts-ignore\n // onOk={() => {\n // resolve(true);\n // hide();\n // }}\n // onCancel={() => {\n // reject(false);\n // hide();\n // }}\n >\n {props.content}\n </SimpleDialog>\n );\n});\n\nexport const dialog = (props: DialogProps) => {\n return modalActions.show(Dialog, props);\n};\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport {\n Dialog,\n DialogBody,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"./dialog\";\nimport { Divider } from \"../divider\";\nimport {\n SimpleDialogFooter,\n SimpleDialogFooterProps,\n} from \"./simpleDialogFooter\";\n\ntype TriggerDialogProps = {\n size?: \"sm\" | \"md\" | \"lg\";\n closable?: boolean;\n title?: ReactNode;\n description?: ReactNode;\n trigger: ReactNode;\n} & SimpleDialogFooterProps;\n\nconst TriggerDialog: FC<PropsWithChildren<TriggerDialogProps>> = (props) => {\n return (\n <Dialog>\n <DialogTrigger asChild>{props.trigger}</DialogTrigger>\n <DialogContent\n size={props.size}\n closable={props.closable}\n onOpenAutoFocus={(event) => event.preventDefault()}\n >\n {props.title && (\n <>\n <DialogHeader>\n <DialogTitle>{props.title}</DialogTitle>\n </DialogHeader>\n <Divider />\n </>\n )}\n <DialogBody>{props.children}</DialogBody>\n {typeof props.description !== \"undefined\" && (\n <DialogDescription>{props.description}</DialogDescription>\n )}\n <SimpleDialogFooter actions={props.actions} />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { TriggerDialog };\n\nexport type { TriggerDialogProps };\n","import { ElementType } from \"react\";\nimport { useModal, modal } from \"../modal\";\nimport { SimpleDialog, SimpleDialogProps } from \"./simpleDialog\";\nimport { ModalArgs } from \"../modal/types\";\n\nexport function createDialogComponent<P extends Partial<SimpleDialogProps>>(\n Comp: ElementType\n) {\n return modal.create((props: P) => {\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n\n const {\n title,\n size,\n // @ts-ignore deprecated\n contentClassName,\n // @ts-ignore deprecated\n bodyClassName,\n closable,\n classNames,\n ...rest\n } = props;\n return (\n <SimpleDialog\n open={visible}\n onOpenChange={onOpenChange}\n size={size}\n title={title}\n closable={closable}\n classNames={{\n content: contentClassName,\n body: bodyClassName,\n ...classNames,\n }}\n contentProps={{\n onInteractOutside: (e) => {\n const el = document.querySelector('#privy-dialog')\n if (el) {\n e.preventDefault();\n }\n },\n }}\n >\n <Comp {...rest} close={hide} resolve={resolve} reject={reject} />\n </SimpleDialog>\n );\n });\n}\n\nexport function registerSimpleDialog<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<SimpleDialogProps & Props>\n) {\n modal.register(id, createDialogComponent(comp), props);\n}\n","import { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { SimpleDialog, SimpleDialogProps } from \"../../dialog\";\nimport { modalActions } from \"../modalContext\";\nimport { Text } from \"../../typography\";\nimport { useScreen } from \"../../hooks\";\nimport { useLocale } from \"../../locale\";\n\nexport type ConfirmProps = {\n content?: React.ReactNode;\n footer?: React.ReactNode;\n onOk?: () => Promise<any>;\n okLabel?: string;\n onCancel?: () => Promise<any>;\n cancelLabel?: string;\n contentClassName?: string;\n bodyClassName?: string;\n // closeableSize?: number;\n // okId?: string;\n // cancelId?: string;\n} & Pick<SimpleDialogProps, \"title\" | \"classNames\" | \"size\">;\n\nexport const ConfirmDialog = create<ConfirmProps>((props) => {\n const { size } = props;\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n const [locale] = useLocale(\"modal\");\n\n const { isMobile } = useScreen();\n\n const defaultSize = isMobile ? \"xs\" : \"sm\";\n \n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <SimpleDialog\n open={visible}\n title={\n <Text size=\"base\" weight=\"semibold\">\n {title}\n </Text>\n }\n size={size || defaultSize}\n classNames={{\n content: props.contentClassName,\n body: props.bodyClassName,\n ...props.classNames,\n }}\n // maxWidth={props.maxWidth}\n closable\n // closeableSize={props.closeableSize}\n // okId={props.okId}\n // cancelId={props.cancelId}\n onOpenChange={(open) => {\n if (!open) {\n reject();\n }\n onOpenChange(open);\n }}\n actions={{\n primary: {\n label: props.okLabel ?? locale.confirm,\n className: \"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8\",\n \"data-testid\": \"oui-testid-confirm-dialog-confirm-btn\",\n onClick: () => {\n return Promise.resolve()\n .then(() => {\n if (typeof props.onOk === \"function\") {\n return props.onOk();\n }\n return true;\n })\n .then(\n (data?: any) => {\n resolve(data);\n hide();\n },\n (err) => {\n reject(err);\n hide();\n }\n );\n },\n },\n secondary: {\n label: props.cancelLabel ?? locale.cancel,\n className: \"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8\",\n \"data-testid\": \"oui-testid-confirm-dialog-cancel-btn\",\n onClick: () => {\n return Promise.resolve()\n .then(() => {\n if (typeof props.onCancel === \"function\") {\n return props.onCancel();\n }\n return Promise.reject('cancel');\n })\n .then(\n (data?: any) => {\n resolve(data);\n hide();\n },\n (err) => {\n reject(err);\n hide();\n }\n );\n },\n },\n }}\n >\n <div className=\"oui-text-2xs lg:oui-text-sm\">{props.content}</div>\n </SimpleDialog>\n );\n});\n\nexport const confirm = <T = any, >(props: ConfirmProps):Promise<T> => {\n return modalActions.show(ConfirmDialog, props);\n};\n","import { modalActions } from \"./modalContext\";\nimport { register, unregister, create } from \"./modalHelper\";\n\nexport { ModalProvider } from \"./modalContext\";\n\nimport { sheet } from \"./preset/sheet\";\nimport { alert } from \"./preset/alert\";\nimport { dialog } from \"./preset/dialog\";\n\nimport { confirm } from \"./preset/confirm\";\nexport type { ConfirmProps } from \"./preset/confirm\";\n// import { actionSheet } from \"@/modal/preset/actionSheet\";\nexport { ConfirmDialog } from \"./preset/confirm\";\n\nexport type { ModalHocProps } from \"./types\";\n\nexport { ModalContext, ModalIdContext } from \"./modalContext\";\n\n// @ebay/nice-modal-react\nexport { useModal } from \"./useModal\";\n\nexport const modal = {\n create,\n register,\n unregister,\n\n ...modalActions,\n // actionSheet,\n confirm,\n alert,\n sheet,\n dialog,\n // alert\n //actionSheet\n /// toast\n};\n","import { ElementType } from \"react\";\nimport { useModal, modal } from \"../modal\";\nimport { SheetProps } from \"../modal/preset/sheet\";\nimport { SimpleSheet, SimpleSheetProps } from \"./simpleSheet\";\n\nfunction createSheetComponent<P extends Partial<SimpleSheetProps>>(\n Comp: ElementType\n) {\n return modal.create((props: P) => {\n const { title, leading, classNames, contentProps, closable, ...rest } =\n props;\n\n const { visible, hide, resolve, reject, onOpenChange, args } = useModal();\n\n // console.log(\"-------\", args);\n\n return (\n <SimpleSheet\n open={visible}\n onOpenChange={onOpenChange}\n title={title}\n leading={leading}\n classNames={classNames}\n closable={closable}\n contentProps={contentProps}\n >\n <Comp {...rest} close={hide} resolve={resolve} reject={reject} />\n </SimpleSheet>\n );\n });\n}\n\nexport function registerSimpleSheet<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<SimpleSheetProps & Props>\n) {\n modal.register(id, createSheetComponent(comp), props);\n}\n","import React, {\n ComponentPropsWithoutRef,\n FC,\n Fragment,\n PropsWithChildren,\n useCallback,\n useMemo,\n} from \"react\";\nimport { cn, Divider, Sheet, SheetContent, SheetTrigger } from \"..\";\nimport { useLocale } from \"../locale\";\n\ntype SheetItemType = \"division\" | \"data\" | \"cancel\";\n\nexport interface BaseActionSheetItem {\n label: string;\n type?: SheetItemType;\n icon?: string;\n value?: string;\n active?: boolean;\n onClick?: (action: BaseActionSheetItem) => void;\n}\n\nexport interface ActionSheetItemProps {\n action: BaseActionSheetItem;\n index: number;\n active?: boolean;\n onClick?: (value: { value?: string; index: number }) => void;\n}\n\nexport const ActionItem: FC<ActionSheetItemProps> = (props) => {\n const { action } = props;\n\n const onItemClick = useCallback(() => {\n if (typeof action.onClick === \"function\") {\n action.onClick(action);\n } else {\n props.onClick?.({ ...action, index: props.index });\n }\n }, [action]);\n\n const child = useMemo(() => {\n return action.label;\n }, [action.label]);\n\n return (\n <div\n className={cn(\n \"oui-flex oui-justify-center oui-items-center oui-text-lg oui-h-[52px] oui-cursor-pointer\",\n\n props.active && \"oui-text-primary-darken\"\n )}\n onClick={onItemClick}\n >\n {child}\n </div>\n );\n};\n\nexport const ActionDivision: FC = (props) => {\n return (\n <div className=\"oui-relative oui-h-[1px] oui-bg-base-300 oui-mt-[-1px]\"></div>\n );\n};\n\nexport interface ActionSheetContentProps {\n actionSheets: BaseActionSheetItem[];\n value?: BaseActionSheetItem;\n onValueChange?: (value: any) => void;\n onClose?: () => void;\n}\nexport const ActionSheetContent: FC<ActionSheetContentProps> = (props) => {\n return (\n <>\n {props.actionSheets.map((action, index) => {\n if (action.type === \"division\") {\n return <ActionDivision key={index} />;\n }\n return (\n <Fragment key={action.value || index}>\n {action.value === \"cancel\" && (\n <div className=\"oui-h-2 oui-bg-base-10\" />\n )}\n <ActionItem\n onClick={(value) => {\n if (value.value === \"cancel\") {\n return;\n }\n\n if (typeof action.onClick === \"function\") {\n action.onClick(action);\n } else {\n props.onValueChange?.(value.value);\n props.onClose?.();\n }\n }}\n index={index}\n action={action}\n active={\n typeof props.value !== \"undefined\" &&\n props.value.value === action.value\n }\n />\n {index < props.actionSheets.length - 1 && (\n <Divider className=\"oui-border-base-contrast/10\" />\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport type SystemActionSheetItem = \"Cancel\" | \"Confirm\" | \"---\";\n\nexport type ActionSheetItem = BaseActionSheetItem | SystemActionSheetItem;\n\nexport interface ActionSheetProps\n extends ComponentPropsWithoutRef<typeof Sheet> {\n actionSheets: ActionSheetItem[];\n value?: BaseActionSheetItem;\n onValueChange?: (value: string) => void;\n open?: boolean;\n onClose?: () => void;\n}\n\nexport const ActionSheet: FC<PropsWithChildren<ActionSheetProps>> = (props) => {\n const [locale] = useLocale(\"modal\");\n // create actionSheet items\n const items = useMemo<BaseActionSheetItem[]>(() => {\n const items: BaseActionSheetItem[] = [];\n\n if (Array.isArray(props.actionSheets)) {\n for (const action of props.actionSheets) {\n if (typeof action === \"string\") {\n if (action === \"Cancel\") {\n items.push({\n label: locale.cancel,\n value: \"cancel\",\n onClick: () => {\n props.onClose?.();\n },\n });\n } else if (action === \"Confirm\") {\n items.push({\n label: locale.confirm,\n value: \"confirm\",\n });\n } else if (action.startsWith(\"---\")) {\n items.push({\n label: \"---\",\n value: \"---\",\n type: \"division\",\n });\n }\n } else {\n items.push(action);\n }\n }\n }\n\n return items;\n }, [props.actionSheets]);\n\n return (\n <Sheet open={props.open} onOpenChange={props.onOpenChange}>\n {typeof props.children !== \"undefined\" && (\n <SheetTrigger asChild>{props.children}</SheetTrigger>\n )}\n\n <SheetContent\n closeable={false}\n className=\"oui-action-sheet-content !oui-p-0 oui-pb-[env(safe-area-inset-bottom)]\"\n onOpenAutoFocus={(event) => event.preventDefault()}\n >\n <ActionSheetContent\n actionSheets={items}\n onClose={props.onClose}\n onValueChange={props.onValueChange}\n value={props.value}\n />\n </SheetContent>\n </Sheet>\n );\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { PaginationMeta } from \"../type\";\n\nexport const usePagination = (initial?: {\n page?: number;\n pageSize?: number;\n resetPageWhenPageSizeChange?: boolean;\n}) => {\n const dataTotal = useRef(0);\n const [page, setPage] = useState<number>(initial?.page ?? 1);\n const [pageSize, _setPageSize] = useState<number>(initial?.pageSize ?? 10);\n\n const setPageSize = useCallback(\n (size: number) => {\n _setPageSize(size);\n // check page > page total\n if (dataTotal.current > 0) {\n const totalPage = Math.ceil(dataTotal.current / size);\n if (page > totalPage) {\n setPage(totalPage);\n }\n }\n },\n [page],\n );\n\n /**\n * helper function to parse meta data,\n * the format of meta data is same as the response from the API\n */\n const parseMeta = (meta?: {\n total: number;\n current_page: number;\n records_per_page: number;\n }) => {\n const count = meta?.total ?? dataTotal.current;\n dataTotal.current = count;\n const size = meta?.records_per_page ?? pageSize;\n const pageTotal = count ? Math.ceil(count / size) : 0;\n const curPage = Math.min(meta?.current_page ?? page, pageTotal);\n return {\n count,\n page: curPage,\n pageSize: size,\n pageTotal: pageTotal,\n };\n };\n\n /** server pagination */\n const parsePagination = useCallback(\n (meta?: {\n total: number;\n current_page: number;\n records_per_page: number;\n }): PaginationMeta => {\n return {\n ...parseMeta(meta),\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n };\n },\n [page, pageSize],\n );\n\n /** manual pagination */\n const pagination = useMemo<PaginationMeta>(\n () => ({\n page,\n pageSize,\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n }),\n [parsePagination],\n );\n\n useEffect(() => {\n // reset page when page size change\n if (initial?.resetPageWhenPageSizeChange !== false) {\n setPage(1);\n }\n }, [pageSize, initial?.resetPageWhenPageSizeChange]);\n\n return {\n page,\n pageSize,\n setPage,\n setPageSize,\n parseMeta,\n pagination,\n parsePagination,\n };\n};\n","import { FC } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\nimport EmptyStateIcon from \"../icon/emptyData\";\nimport { ExtensionPositionEnum, installExtension } from \"../plugin\";\nimport { useLocale } from \"../locale\";\n\nexport const EmptyDataState: FC<{ title?: string; className?: string }> = (\n props\n) => {\n const [locale] = useLocale(\"empty\");\n\n return (\n <Flex\n itemAlign=\"center\"\n direction=\"column\"\n gapY={4}\n className={props.className}\n >\n <Box>\n <EmptyStateIcon />\n </Box>\n <Text as=\"div\" intensity={36} size=\"2xs\">\n {props.title ?? locale.description}\n </Text>\n </Flex>\n );\n};\n\ninstallExtension<{ title?: string }>({\n name: \"emptyDataIdentifier\",\n positions: [ExtensionPositionEnum.EmptyDataIdentifier],\n})(EmptyDataState);\n","export { DownloadFeature } from \"./download\";\nexport {\n generateCSVData,\n generateCSVContent,\n downloadCSVFile,\n exportToCSV,\n type CSVColumn,\n type CSVExportOptions,\n} from \"./csvExportService\";\n","/**\n * CSV Export Service\n * Platform-agnostic utilities for CSV export\n * Used by both DataTable (desktop) and mobile ListView components\n */\n\nexport interface CSVColumn {\n title: string;\n plantTextTitle?: string;\n dataIndex?: string;\n renderPlantText?: (value: any, record: any, index: number) => any;\n hidden?: boolean;\n type?: string;\n}\n\nexport interface CSVExportOptions {\n columns: CSVColumn[];\n dataSource: any[];\n filename?: string;\n}\n\n/**\n * Converts raw data to CSV format\n * @param columns - Column definitions with formatting functions\n * @param dataSource - Array of data records\n * @returns Array of CSV rows (header + data rows)\n */\nexport const generateCSVData = (\n columns: CSVColumn[],\n dataSource: any[],\n): any[][] => {\n // Filter and map headers\n const headers = columns\n .filter((column) => !column.hidden && column.type !== \"action\")\n .map((column) => column.plantTextTitle || column.title);\n\n // Filter and map data rows\n const rows = dataSource.map((record, recordIndex) => {\n return columns\n .filter((column) => !column.hidden && column.type !== \"action\")\n .map((column) => {\n // Get value from record using dataIndex\n let value = column.dataIndex ? record[column.dataIndex] : record;\n\n // Apply custom formatting if provided\n if (typeof column.renderPlantText === \"function\") {\n value = column.renderPlantText(value, record, recordIndex);\n }\n\n return `\"${value ?? \"--\"}\"`;\n });\n });\n\n return [headers, ...rows];\n};\n\n/**\n * Generates CSV content string from data\n * @param data - Array of CSV rows\n * @returns CSV formatted string\n */\nexport const generateCSVContent = (data: any[][]): string => {\n return data.map((row) => row.join(\",\")).join(\"\\n\");\n};\n\n/**\n * Triggers browser download of CSV file\n * @param csvContent - CSV formatted string\n * @param filename - Name of the file to download\n */\nexport const downloadCSVFile = (\n csvContent: string,\n filename = `export_${Date.now()}.csv`,\n) => {\n const blob = new Blob([csvContent], { type: \"text/csv;charset=utf-8;\" });\n const url = URL.createObjectURL(blob);\n\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", filename);\n link.click();\n\n URL.revokeObjectURL(url);\n};\n\n/**\n * Complete CSV export flow\n * @param options - Export options with columns and dataSource\n */\nexport const exportToCSV = (options: CSVExportOptions) => {\n const { columns, dataSource, filename } = options;\n const csvData = generateCSVData(columns, dataSource);\n const csvContent = generateCSVContent(csvData);\n downloadCSVFile(csvContent, filename);\n};\n","import { Table, TableFeature, RowData } from \"@tanstack/react-table\";\nimport { Column } from \"../type\";\nimport { generateCSVContent, downloadCSVFile } from \"./csvExportService\";\n\n// Define types for our new feature's table APIs\nexport interface DownloadInstance {\n getPlainTextData: () => any[];\n download: (filename?: string) => void;\n}\n\n// Use declaration merging to add our new feature APIs and state types to TanStack Table's existing types.\ndeclare module \"@tanstack/react-table\" {\n //merge our new feature's instance APIs with the existing table instance APIs\n interface Table<TData extends RowData> extends DownloadInstance {}\n}\n\nexport const DownloadFeature: TableFeature<any> = {\n // define the new feature's table instance methods\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n table.getPlainTextData = () => {\n const header = table\n .getAllColumns()\n // filter action column and non-exportable columns (but include hidden columns for CSV)\n .filter((column) => {\n const meta = column.columnDef.meta as any;\n return meta.type !== \"action\" && meta.exportable !== false;\n })\n .map((column) => {\n const { title, plantTextTitle } = column.columnDef.meta as any;\n return plantTextTitle || title;\n });\n\n const rows = table.getRowModel().rows.map((row) =>\n row\n .getVisibleCells()\n .filter((cell) => {\n const meta = cell.column.columnDef.meta as any;\n return meta.type !== \"action\" && meta.exportable !== false;\n })\n .map((cell) => {\n const { original: record, index } = cell.row;\n const { renderPlantText } = (cell.column.columnDef.meta ||\n {}) as Column;\n const dataIndex = (cell.column.columnDef.meta as any)?.dataIndex;\n\n // Get raw value from record using dataIndex\n let value = dataIndex\n ? (record as any)[dataIndex]\n : cell.getValue();\n\n if (typeof renderPlantText === \"function\") {\n value = renderPlantText(value, record, index, cell);\n }\n\n return `\"${value ?? \"--\"}\"`;\n }),\n );\n\n const data = [header, ...rows];\n\n return data;\n };\n\n table.download = (filename?: string) => {\n const data = table.getPlainTextData();\n console.log(\"downloadCSV\", data);\n const csvContent = generateCSVContent(data);\n downloadCSVFile(csvContent, filename);\n };\n },\n};\n","import * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst tabsVariants = tv({\n slots: {\n list: [\n \"oui-header-list\",\n \"oui-flex\",\n \"oui-items-center\",\n // \"oui-px-1\",\n ],\n content: [\n \"oui-ring-offset-background\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n ],\n trigger: [\n \"oui-tab-trigger\",\n \"oui-inline-flex\",\n \"oui-items-center\",\n \"oui-justify-center\",\n \"oui-whitespace-nowrap\",\n // \"oui-px-3\",\n\n \"oui-box-content\",\n \"oui-font-medium\",\n\n \"oui-text-base-contrast-36 hover:oui-text-base-contrast-54\",\n \"oui-ring-offset-background\",\n \"oui-transition-all\",\n \"oui-space-x-1\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n \"disabled:oui-pointer-events-none\",\n \"disabled:oui-opacity-50\",\n ],\n icon: [\"oui-text-inherit\"],\n },\n variants: {\n variant: {\n text: {\n list: [\n \"oui-space-x-6\",\n \"oui-border-b\",\n \"oui-border-line-6\",\n \"oui-px-1\",\n ],\n trigger: [\n \"oui-pb-2\",\n \"oui-relative\",\n \"data-[state=active]:oui-text-base-contrast\",\n \"data-[state=active]:after:oui-content-['']\",\n \"data-[state=active]:after:oui-block\",\n \"data-[state=active]:after:oui-h-[3px]\",\n \"data-[state=active]:after:oui-bg-white\",\n \"data-[state=active]:after:oui-absolute\",\n \"data-[state=active]:after:oui-rounded-full\",\n \"data-[state=active]:after:-oui-bottom-0\",\n \"data-[state=active]:after:oui-left-0\",\n \"data-[state=active]:after:oui-right-0\",\n ],\n },\n contained: {\n list: [\"oui-space-x-[6px]\"],\n trigger: [\n \"oui-rounded\",\n \"oui-px-3\",\n \"oui-bg-base-7 hover:oui-bg-base-5\",\n \"oui-text-base-contrast-36\",\n \"data-[state=active]:oui-bg-base-5\",\n \"data-[state=active]:oui-text-base-contrast\",\n ],\n icon: [\"oui-text-inherit\"],\n },\n },\n size: {\n sm: {},\n md: {},\n lg: {},\n xl: {},\n },\n },\n compoundVariants: [\n {\n size: \"sm\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-sm\", \"oui-h-5\"],\n icon: [\"oui-w-[10px]\", \"oui-h-[10px]\"],\n },\n },\n {\n size: \"md\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-base\", \"oui-h-6\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n },\n {\n size: \"lg\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-lg\", \"oui-h-7\"],\n icon: [\"oui-w-[14px]\", \"oui-h-[14px]\"],\n },\n },\n {\n size: \"xl\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-lg\", \"oui-h-7\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n },\n {\n size: \"sm\",\n variant: \"contained\",\n className: {\n list: [\"oui-space-x-1\"],\n trigger: [\"oui-text-2xs\", \"oui-h-6\"],\n icon: [\"oui-w-[10px]\", \"oui-h-[10px]\"],\n },\n },\n {\n size: \"md\",\n variant: \"contained\",\n className: {\n // list: [\"oui-space-x-[6px]\"],\n trigger: [\"oui-text-2xs\", \"oui-h-7\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n },\n {\n size: \"lg\",\n variant: \"contained\",\n className: {\n trigger: [\"oui-text-sm\", \"oui-h-8\", \"oui-rounded-md\"],\n icon: [\"oui-w-[14px]\", \"oui-h-[14px]\"],\n },\n },\n {\n size: \"xl\",\n variant: \"contained\",\n className: {\n trigger: [\"oui-text-base\", \"oui-h-9\", \"oui-rounded-md\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n },\n ],\n defaultVariants: {\n size: \"md\",\n variant: \"text\",\n },\n});\n\nconst TabsBase = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsVariants>\n>((originProps, ref) => {\n const { className, size, variant, ...props } = originProps;\n const { list } = tabsVariants({ size, variant });\n return (\n <TabsPrimitive.List ref={ref} className={list({ className })} {...props} />\n );\n});\n\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> &\n VariantProps<typeof tabsVariants> & {\n icon?: React.ReactElement;\n \"data-testid\"?: string;\n }\n>((originProps, ref) => {\n const { className, size, children, icon, variant, ...props } = originProps;\n const { trigger, icon: iconClassName } = tabsVariants({ size, variant });\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n {...props}\n >\n {typeof icon !== \"undefined\"\n ? React.cloneElement(icon, { className: iconClassName(), opacity: 1 })\n : null}\n <span>{children}</span>\n </TabsPrimitive.Trigger>\n );\n});\n\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content> &\n VariantProps<typeof tabsVariants>\n>((oriProps, ref) => {\n const { className, size, children, ...props } = oriProps;\n const { content } = tabsVariants({ size });\n return (\n <TabsPrimitive.Content\n ref={ref}\n className={content({ className })}\n {...props}\n >\n {children}\n </TabsPrimitive.Content>\n );\n});\n\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { TabsBase, TabsList, TabsTrigger, TabsContent, tabsVariants };\n","import React, {\n FC,\n PropsWithChildren,\n createContext,\n useEffect,\n ReactNode,\n useState,\n useContext,\n ReactElement,\n useMemo,\n useCallback,\n} from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport { useOrderlyTheme } from \"../provider/orderlyThemeContext\";\nimport { ScrollIndicator } from \"../scrollIndicator\";\nimport {\n TabsBase,\n TabsList,\n TabsContent,\n TabsTrigger,\n tabsVariants,\n} from \"./tabsBase\";\n\ntype tabConfig = {\n title: ReactNode;\n icon?: ReactElement;\n testid?: string;\n value: string;\n content: ReactNode;\n collapsed?: boolean;\n className?: string;\n style?: React.CSSProperties;\n};\n\ninterface TabsContextState {\n registerTab: (tab: tabConfig) => void;\n unregisterTab: (tab: tabConfig) => void;\n}\n\nconst TabsContext = createContext<TabsContextState>({} as TabsContextState);\n\ntype TabsProps<T = string> = {\n defaultValue?: T;\n value?: T;\n // onChange?: (value: T) => void;\n leading?: ReactNode;\n trailing?: ReactNode;\n classNames?: {\n tabsListContainer?: string;\n tabsList?: string;\n tabsContent?: string;\n scrollIndicator?: string;\n trigger?: string;\n };\n contentVisible?: boolean;\n showScrollIndicator?: boolean;\n} & TabsPrimitive.TabsProps &\n VariantProps<typeof tabsVariants>;\n\nconst Tabs: FC<TabsProps> = (props) => {\n const { getComponentTheme } = useOrderlyTheme();\n const {\n classNames,\n contentVisible = true,\n variant,\n showScrollIndicator,\n value,\n ...rest\n } = props;\n\n const tabsOverrides = getComponentTheme(\"tabs\", { variant: \"contained\" });\n\n const tabsVariant = variant || tabsOverrides.variant;\n\n const [tabList, setTabList] = useState<{ [key: string]: tabConfig }>({});\n\n const registerTab = useCallback((config: tabConfig) => {\n setTabList((prev) => {\n return { ...prev, [config.value]: config };\n });\n }, []);\n\n const unregisterTab = useCallback((config: tabConfig) => {\n setTabList((prev) => {\n const newTabList = { ...prev };\n delete newTabList[config.value];\n return newTabList;\n });\n }, []);\n\n const memoizedValue = useMemo<TabsContextState>(\n () => ({ registerTab, unregisterTab }),\n [registerTab, unregisterTab],\n );\n\n const renderTabsList = () => {\n const tabsList = (\n <TabsList\n variant={tabsVariant}\n size={rest.size}\n className={cnBase(\"oui-flex-1 oui-border-0\", classNames?.tabsList)}\n >\n {Object.keys(tabList).map((key) => {\n const tab = tabList[key];\n return (\n <TabsTrigger\n key={key}\n value={tab.value}\n icon={tab.icon}\n variant={tabsVariant}\n size={rest.size}\n data-testid={tab.testid}\n className={classNames?.trigger}\n >\n {tab.title}\n </TabsTrigger>\n );\n })}\n </TabsList>\n );\n\n if (showScrollIndicator) {\n return (\n <ScrollIndicator className={classNames?.scrollIndicator}>\n {tabsList}\n </ScrollIndicator>\n );\n }\n\n return tabsList;\n };\n\n return (\n <TabsContext.Provider value={memoizedValue}>\n {props.children}\n <TabsBase value={value} {...rest}>\n <Flex\n justify=\"between\"\n itemAlign=\"center\"\n width=\"100%\"\n className={cnBase(\n tabsVariant !== \"contained\" && \"oui-border-b oui-border-b-line-6\",\n classNames?.tabsListContainer,\n )}\n >\n {props.leading}\n {renderTabsList()}\n {props.trailing}\n </Flex>\n {contentVisible &&\n Object.keys(tabList).map((key) => {\n const tab = tabList[key];\n return (\n <TabsContent\n key={key}\n value={tab.value}\n className={cnBase(classNames?.tabsContent, tab.className)}\n style={tab.style}\n >\n {tab.content}\n </TabsContent>\n );\n })}\n </TabsBase>\n </TabsContext.Provider>\n );\n};\n\nTabs.displayName = \"Tabs\";\n\nexport interface TabPanelProps {\n value: any;\n title: string | React.ReactNode;\n icon?: React.ReactElement;\n testid?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst TabPanel: FC<PropsWithChildren<TabPanelProps>> = (props) => {\n const { title, value, icon, className, style, testid, children } = props;\n\n const { registerTab, unregisterTab } = useContext(TabsContext);\n\n useEffect(() => {\n const tabConfig = {\n title,\n value,\n icon,\n testid,\n className,\n style,\n content: children,\n };\n registerTab(tabConfig);\n return () => {\n unregisterTab(tabConfig);\n };\n }, [children, className, style, icon, testid, title, value]);\n\n return null;\n};\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanel.displayName = \"TabPanel\";\n}\n\nexport { Tabs, TabPanel };\n","import { createContext, useContext } from \"react\";\n\nexport type ComponentOverrides = {\n tabs: {\n variant: \"text\" | \"contained\";\n };\n chainSelector: {\n /**\n * show testnet chains list\n * @default true\n * */\n showTestnet: boolean;\n };\n};\n\ntype GetComponentTheme = <T extends keyof ComponentOverrides>(\n component: T,\n defaultValue?: ComponentOverrides[T],\n) => ComponentOverrides[T];\n\nexport type OrderlyThemeContextState = {\n // overrides?: Partial<ComponentOverrides>;\n getComponentTheme: GetComponentTheme;\n};\n\nexport const OrderlyThemeContext = createContext(\n {} as OrderlyThemeContextState,\n);\n\nexport const useOrderlyTheme = () => {\n return useContext(OrderlyThemeContext);\n};\n","import { FC, ReactNode } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useDrag } from \"./hooks/useDrag\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport { ScrolButton } from \"./scrollButton\";\n\nexport type ScrollIndicatorProps = { children: ReactNode; className?: string };\n\nexport const ScrollIndicator: FC<ScrollIndicatorProps> = (props) => {\n const { containerRef, leadingVisible, tailingVisible, onScoll } = useScroll();\n\n const { handleMouseDown, handleMouseMove, handleMouseUp, isDragging } =\n useDrag(containerRef);\n\n return (\n <div\n className={cnBase(\n \"oui-scroll-indicator\",\n \"oui-relative oui-select-none oui-overflow-hidden\",\n props.className,\n )}\n >\n <div\n ref={containerRef}\n className={cnBase(\n \"oui-hide-scrollbar oui-overflow-x-scroll\",\n isDragging ? \"oui-cursor-grabbing\" : \"oui-cursor-grab\",\n )}\n onMouseDown={handleMouseDown}\n onMouseMove={handleMouseMove}\n onMouseUp={handleMouseUp}\n onMouseLeave={handleMouseUp}\n >\n {props.children}\n </div>\n <ScrolButton leading onClick={onScoll} visible={leadingVisible} />\n <ScrolButton tailing onClick={onScoll} visible={tailingVisible} />\n </div>\n );\n};\n","import { useState, RefObject } from \"react\";\n\nexport function useDrag(containerRef: RefObject<HTMLDivElement>) {\n const [isDragging, setIsDragging] = useState(false);\n const [startX, setStartX] = useState(0);\n const [scrollLeft, setScrollLeft] = useState(0);\n\n const handleMouseDown = (e: React.MouseEvent) => {\n if (!containerRef.current) return;\n\n setIsDragging(true);\n setStartX(e.pageX - containerRef.current.offsetLeft);\n setScrollLeft(containerRef.current.scrollLeft);\n };\n\n const handleMouseMove = (e: React.MouseEvent) => {\n if (!isDragging || !containerRef.current) return;\n\n e.preventDefault();\n const x = e.pageX - containerRef.current.offsetLeft;\n const walk = x - startX;\n containerRef.current.scrollLeft = scrollLeft - walk;\n };\n\n const handleMouseUp = () => {\n setIsDragging(false);\n };\n\n return {\n handleMouseDown,\n handleMouseMove,\n handleMouseUp,\n isDragging,\n };\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nexport function useScroll() {\n const [leadingVisible, setLeadingVisible] = useState(false);\n const [tailingVisible, setTailingVisible] = useState(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const handleScroll = () => {\n const container = containerRef.current;\n if (!container) return;\n setLeadingVisible(container.scrollLeft > 0);\n setTailingVisible(\n container.scrollLeft + container.clientWidth < container.scrollWidth\n );\n };\n\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n handleScroll();\n }\n });\n });\n\n const container = containerRef.current;\n container.addEventListener(\"scroll\", handleScroll);\n intersectionObserver.observe(container);\n\n return () => {\n container.removeEventListener(\"scroll\", handleScroll);\n intersectionObserver.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n }\n });\n });\n\n intersectionObserver.observe(containerRef.current);\n\n return () => {\n intersectionObserver.disconnect();\n };\n }, []);\n\n const onScoll = (direction: string) => {\n if (direction === \"left\") {\n containerRef.current?.scrollBy({ left: -100, behavior: \"smooth\" });\n } else {\n containerRef.current?.scrollBy({ left: 100, behavior: \"smooth\" });\n }\n };\n\n return { containerRef, leadingVisible, tailingVisible, onScoll };\n}\n","import { FC } from \"react\";\nimport { SVGProps } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\n\ntype ScrolButtonProps = {\n tailing?: boolean;\n leading?: boolean;\n visible?: boolean;\n onClick?: (direction: string) => void;\n};\n\nexport const ScrolButton: FC<ScrolButtonProps> = (props) => {\n const { visible, leading, tailing, onClick } = props;\n\n if (!visible) {\n return null;\n }\n\n return (\n <button\n onClick={() => {\n onClick?.(leading ? \"left\" : \"right\");\n }}\n className={cnBase(\n leading\n ? \"oui-scroll-indicator-leading\"\n : \"oui-scroll-indicator-tailing\",\n \"oui-group oui-flex\",\n \"oui-absolute oui-top-0 oui-bottom-0\",\n leading && \"oui-left-0 oui-flex-row-reverse\",\n tailing && \"oui-right-0\"\n )}\n >\n <div\n className={cnBase(\n \"oui-w-6 oui-h-full\",\n \"oui-bg-[linear-gradient(90deg,rgba(var(--oui-color-base-9)_/_0)_0%,rgba(var(--oui-color-base-9)_/_1)_100%)]\",\n leading && \"oui-rotate-180\"\n )}\n />\n <div\n className={cnBase(\n \"oui-flex oui-justify-center oui-items-center\",\n \"oui-w-3 oui-bg-base-9 oui-h-full\"\n )}\n >\n <ArrowRightIcon\n className={cnBase(\n \"oui-text-base-contrast-54 group-hover:oui-text-base-contrast\",\n leading && \"oui-rotate-180\"\n )}\n />\n </div>\n </button>\n );\n};\n\nexport const ArrowRightIcon: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"6\"\n height=\"14\"\n viewBox=\"0 0 6 14\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M1.194.025C.944-.026.675-.005.446.15a1.027 1.027 0 0 0-.28 1.406l3.612 5.437L.166 12.43c-.305.459-.177 1.1.28 1.406a1.02 1.02 0 0 0 1.401-.281l3.986-6a1.03 1.03 0 0 0 0-1.125l-3.986-6C1.695.2 1.444.075 1.194.025\" />\n </svg>\n);\n","import React from \"react\";\nimport { cnBase, type VariantProps } from \"tailwind-variants\";\nimport type { ComponentPropsWithout } from \"../helpers/component-props\";\nimport { decorationVariants } from \"../layout/decoration\";\nimport { tv } from \"../utils/tv\";\n\nconst cardVariants = tv({\n base: [\n \"oui-card-root\",\n \"oui-card\",\n \"oui-rounded-xl\",\n \"oui-shadow\",\n \"oui-text-base-contrast\",\n \"oui-p-6\",\n ],\n\n variants: {\n ...decorationVariants.variants,\n },\n defaultVariants: {\n intensity: 900,\n },\n});\n\nexport type BaseCardProps = ComponentPropsWithout<\"div\", \"color\" | \"title\"> &\n VariantProps<typeof cardVariants>;\n\nconst CardBase = React.forwardRef<HTMLDivElement, BaseCardProps>(\n ({ className, intensity, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cardVariants({ intensity, className })}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nCardBase.displayName = \"CardBase\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cnBase(\n \"oui-card-header oui-flex oui-flex-col oui-space-y-1.5\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, children, ...props }, ref) => (\n <h3\n ref={ref}\n className={cnBase(\n \"oui-card-header-title oui-text-lg oui-font-semibold oui-leading-none oui-tracking-tight\",\n className,\n )}\n {...props}\n >\n {children}\n </h3>\n));\n\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => (\n <p\n ref={ref}\n className={cnBase(\"oui-text-muted-foreground oui-text-sm\", className)}\n {...props}\n >\n {children}\n </p>\n));\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cnBase(\"oui-card-content oui-pt-4\", className)}\n {...props}\n >\n {children}\n </div>\n));\n\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div ref={ref} className={className} {...props}>\n {children}\n </div>\n));\n\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n CardBase,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n cardVariants,\n};\n","import { PropsWithChildren, forwardRef, ElementType, ReactNode } from \"react\";\nimport { cn } from \"..\";\nimport {\n BaseCardProps,\n CardBase,\n CardContent,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"./cardBase\";\n\ninterface CardProps extends BaseCardProps {\n title?: ReactNode;\n footer?: ReactNode;\n // footerClassName?: string;\n classNames?: {\n root?: string;\n header?: string;\n content?: string;\n footer?: string;\n };\n // color?: number;\n}\n\nconst Card = forwardRef<React.ElementRef<\"div\">, PropsWithChildren<CardProps>>(\n (props, ref) => {\n const { title, children, footer, className, classNames, ...rest } = props;\n return (\n <CardBase {...rest} className={cn(className, classNames?.root)} ref={ref}>\n <CardHeader className={classNames?.header}>\n {typeof title === \"string\" ? <CardTitle>{title}</CardTitle> : title}\n </CardHeader>\n <CardContent className={classNames?.content}>{children}</CardContent>\n {footer && (\n <CardFooter className={classNames?.footer}>{footer}</CardFooter>\n )}\n </CardBase>\n );\n },\n);\n\nCard.displayName = \"Card\";\n\nexport { Card };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport { cn } from \"..\";\n\nconst HoverCardRoot = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"oui-z-[100] oui-w-64 oui-rounded-md oui-bg-base-8 oui-p-3 oui-text-base-contrast oui-shadow-md oui-outline-none data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out data-[state=closed]:oui-fade-out-0 data-[state=open]:oui-fade-in-0 data-[state=closed]:oui-zoom-out-95 data-[state=open]:oui-zoom-in-95 data-[side=bottom]:oui-slide-in-from-top-2 data-[side=left]:oui-slide-in-from-right-2 data-[side=right]:oui-slide-in-from-left-2 data-[side=top]:oui-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport interface HoverCardProps\n extends React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Root> {\n className?: string;\n content: React.ReactNode;\n}\n\nconst HoverCard: React.FC<\n HoverCardProps &\n Omit<\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>,\n \"content\"\n >\n> = (props) => {\n const { content, open, defaultOpen, onOpenChange, children, ...rest } = props;\n return (\n <HoverCardRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n <HoverCardTrigger asChild>{children}</HoverCardTrigger>\n <HoverCardPrimitive.Portal>\n <HoverCardContent {...rest}>\n {content}\n <HoverCardPrimitive.Arrow\n width={11}\n height={5}\n className=\"oui-fill-base-4\"\n />\n </HoverCardContent>\n </HoverCardPrimitive.Portal>\n </HoverCardRoot>\n );\n};\n\nHoverCard.displayName = \"HoverCard\";\n\nexport { HoverCard, HoverCardRoot, HoverCardTrigger, HoverCardContent };\n","export { Calendar } from \"./date/calendar\";\n\nimport { DatePicker as DatePickerBase } from \"./datepicker\";\nimport { DateRangePicker } from \"./dateRangePicker\";\n\ntype DatePickerType = typeof DatePickerBase & {\n range: typeof DateRangePicker;\n};\n\nconst DatePicker = DatePickerBase as DatePickerType;\nDatePicker.range = DateRangePicker;\n\nexport { DatePicker };\nexport type { DatePickerProps } from \"./datepicker\";\n\nexport { Picker } from \"./picker\";\n","import * as React from \"react\";\nimport { Fragment, useMemo } from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { cn } from \"..\";\nimport { tv } from \"../utils/tv\";\nimport { convertValueToPercentage, getThumbInBoundsOffset } from \"./utils\";\n\nconst sliderVariants = tv({\n slots: {\n root: \"oui-relative oui-flex oui-w-full oui-touch-none oui-select-none oui-items-center\",\n thumb: [\n \"oui-block\",\n \"oui-h-[10px]\",\n \"oui-w-[10px]\",\n \"oui-rounded-full\",\n \"oui-border-[2px]\",\n \"oui-border-primary\",\n \"oui-bg-base-6\",\n \"oui-shadow\",\n \"oui-group\",\n \"oui-transition-colors\",\n \"focus-visible:oui-outline-none\",\n\n // \"focus-visible:oui-ring-1\",\n // \"focus-visible:oui-ring-ring\",\n // \"focus:oui-w-4\",\n // \"focus:oui-h-4\",\n \"focus:oui-shadow-[0_0_0_8px]\",\n \"focus:oui-shadow-base-contrast/20\",\n \"focus:oui-h-[14px]\",\n \"focus:oui-w-[14px]\",\n // \"focus:oui-border-[3px]\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-border-base-2\",\n \"data-[disabled]:oui-hidden\",\n ],\n track:\n \"oui-relative oui-h-[8px] oui-w-full oui-grow oui-overflow-hidden oui-rounded-full\",\n\n trackInner:\n \"oui-absolute oui-left-0 oui-right-0 oui-h-[2px] oui-top-[3px] oui-pointer-events-none oui-bg-base-2\",\n range:\n \"oui-absolute oui-h-[2px] oui-top-[3px] oui-bg-primary data-[disabled]:oui-bg-base-2\",\n mark: \"oui-absolute oui-top-[1px] oui-w-[6px] oui-h-[6px] oui-rounded oui-border oui-border-base-2 oui-bg-base-6 oui-pointer-events-none oui-translate-x-[-50%]\",\n tips: [\n \"oui-absolute\",\n \"oui-hidden\",\n \"oui-rounded\",\n \"oui-drop-shadow\",\n \"oui-w-[36px]\",\n \"oui-h-[19px]\",\n \"oui-translate-x-[-12px]\",\n \"oui-top-[-28px]\",\n \"oui-font-semibold\",\n \"oui-text-center\",\n \"group-focus:oui-inline-block\",\n \"after:oui-block\",\n \"after:oui-absolute\",\n \"after:oui-bottom-[-8px]\",\n \"after:oui-w-0\",\n \"after:oui-h-0\",\n \"after:oui-border-4\",\n \"after:oui-left-1/2\",\n \"after:oui-translate-x-[-50%]\",\n \"after:oui-border-solid\",\n \"after:oui-border-transparent\",\n \"after:oui-border-t-inherit\",\n \"oui-text-base-5\",\n \"oui-text-2xs\",\n ],\n },\n variants: {\n color: {\n primary: {\n thumb: [\"oui-border-primary\", \"oui-bg-base-5\"],\n range: \"oui-bg-primary\",\n tips: \"oui-bg-primary after:oui-border-t-primary\",\n },\n primaryLight: {\n thumb: [\"oui-border-primary-light\", \"oui-bg-base-5\"],\n range: \"oui-bg-primary-light\",\n tips: \"oui-bg-primary-light after:oui-border-t-primary-light\",\n },\n buy: {\n thumb: [\"oui-border-success\", \"oui-bg-base-5\"],\n range: \"oui-bg-success\",\n tips: [\"oui-bg-success after:oui-border-t-success\"],\n },\n sell: {\n thumb: [\"oui-border-danger\", \"oui-bg-base-5\"],\n range: \"oui-bg-danger\",\n tips: [\"oui-bg-danger after:oui-border-t-danger\"],\n },\n },\n },\n});\n\nexport type SliderMarks = { value: number; label: string }[];\n\ntype SliderProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root> &\n VariantProps<typeof sliderVariants> & {\n // showMarks?: boolean;\n marks?: SliderMarks;\n markCount?: number;\n markLabelVisible?: boolean;\n showTip?: boolean;\n tipFormatter?: (\n value: number,\n min: number,\n max: number,\n percent: number,\n ) => string | React.ReactNode;\n classNames?: {\n root?: string;\n thumb?: string;\n track?: string;\n range?: string;\n };\n };\n\nconst BaseSlider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n SliderProps\n>((oriProps, ref) => {\n const {\n className,\n color,\n marks,\n markCount,\n classNames,\n markLabelVisible,\n showTip,\n onValueChange,\n value: __propsValue,\n ...props\n } = oriProps;\n const { track, range, thumb, root, trackInner, mark, tips } = sliderVariants({\n color,\n });\n\n const [innerValue, setInvalue] = React.useState(__propsValue);\n\n React.useEffect(() => {\n setInvalue((prev) => {\n if (!prev) {\n return __propsValue;\n }\n if (__propsValue?.some((v, i) => v !== prev[i])) {\n return __propsValue;\n }\n return prev;\n });\n }, [__propsValue]);\n\n const innerMasks = useMemo<SliderMarks>(() => {\n if (Array.isArray(marks) && marks.length > 0) {\n return marks;\n }\n\n const _max = props.max ?? 100;\n const _min = props.min ?? 0;\n\n if (typeof markCount !== \"undefined\") {\n const marks: SliderMarks = [];\n\n // calculate the range from min to max\n const range = _max - _min;\n const piece = range / markCount;\n\n for (let i = 0; i <= markCount; i++) {\n const value = _min + i * piece;\n marks.push({\n value,\n label: `${value}`,\n });\n }\n\n return marks;\n }\n\n return [];\n }, [marks, markCount, props.max, props.min]);\n\n const onValueChangeInner = (value: number[]) => {\n setInvalue(value);\n\n onValueChange?.(value);\n };\n\n return (\n <SliderPrimitive.Root\n ref={ref}\n className={root({ className })}\n value={onValueChange ? __propsValue : innerValue}\n onValueChange={onValueChange ? onValueChange : onValueChangeInner}\n {...props}\n >\n <SliderPrimitive.Track\n className={track({ className: classNames?.track })}\n >\n <div className={trackInner()} />\n <SliderPrimitive.Range\n className={range({ className: classNames?.range })}\n />\n </SliderPrimitive.Track>\n {Array.isArray(innerMasks) && innerMasks.length > 0 && (\n <Marks\n value={innerValue}\n color={color}\n marks={innerMasks}\n isInnerMask={!Array.isArray(marks) || marks.length === 0}\n min={props.min}\n max={props.max}\n markLabelVisible={markLabelVisible}\n disabled={props.disabled}\n className={mark()}\n step={props.step}\n />\n )}\n <SliderPrimitive.Thumb\n className={thumb({\n className: cn(classNames?.thumb, \"oui-slider-thumb\"),\n })}\n >\n {showTip && (\n <SliderTip\n value={innerValue}\n className={tips({ color })}\n max={props.max ?? 100}\n min={0}\n tipFormatter={props.tipFormatter}\n />\n )}\n </SliderPrimitive.Thumb>\n </SliderPrimitive.Root>\n );\n});\n\nBaseSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport type SliderMarksProps = {\n value?: number[];\n marks?: SliderMarks;\n color?: \"primary\" | \"buy\" | \"sell\" | \"primaryLight\";\n // width: number;\n min?: number;\n max?: number;\n disabled?: boolean;\n markLabelVisible?: boolean;\n isInnerMask?: boolean;\n className?: string;\n step?: number;\n};\n\nconst Marks: React.FC<SliderMarksProps> = (props) => {\n const {\n marks,\n value,\n isInnerMask,\n markLabelVisible,\n className,\n color = \"primary\",\n } = props;\n const _value = useMemo(() => value?.[0] ?? 0, [value]);\n const selIndex = useMemo(() => {\n if (typeof props.step === \"undefined\") {\n return undefined;\n }\n return Math.floor(_value / props.step);\n }, [_value, props.step]);\n\n const colorCls = useMemo(() => {\n switch (color) {\n case \"primary\":\n return \"oui-border-primary oui-bg-primary\";\n case \"buy\":\n return \"oui-border-trade-profit oui-bg-trade-profit\";\n case \"sell\":\n return \"oui-border-trade-loss oui-bg-trade-loss\";\n case \"primaryLight\":\n return \"oui-border-primary-light oui-bg-primary-light\";\n }\n }, [color]);\n\n const textCls = useMemo(() => {\n switch (color) {\n case \"primary\":\n return \"oui-text-primary\";\n case \"buy\":\n return \"oui-texttrade-profit\";\n case \"sell\":\n return \"oui-text-trade-loss\";\n case \"primaryLight\":\n return \"oui-text-primary-light\";\n }\n }, [color]);\n\n return (\n <>\n {marks?.map((mark, index) => {\n const percent = convertValueToPercentage(\n mark.value,\n props.min ?? 1,\n props.max ?? marks.length - 1,\n );\n // const percent = convertValueToPercentage(index, 0, marks.length - 1);\n // const percent = ((100 - 2 * 6) / (marks.length - 1)) * index;\n const thumbInBoundsOffset = getThumbInBoundsOffset(6, percent, 1);\n const __value = isInnerMask ? mark.value : index;\n // console.log(\"_ value\", isInnerMask, _value, selIndex, mark, __value, percent);\n\n const active =\n (isInnerMask ? _value >= __value : _value >= mark.value) &&\n _value >= 0 &&\n !props.disabled;\n\n const classNames = active ? colorCls : \"\";\n\n return (\n <Fragment key={index}>\n {/* Only draw mark dots when label is not empty (for external marks) or always draw (for internal marks) */}\n {(!isInnerMask ? mark.label : true) && (\n <span\n className={cnBase(className, classNames)}\n style={{ left: `calc(${percent}% + ${thumbInBoundsOffset}px)` }}\n />\n )}\n {!props.disabled && markLabelVisible && mark.label && (\n <span\n data-testid={`oui-testid-slider-mark-label-${mark.label}`}\n key={index}\n className={cn(\n \"oui-absolute oui-top-[16px] oui-text-2xs xl:oui-text-xs oui-text-base-contrast-54 oui-cursor-pointer oui-translate-x-[-50%]\",\n selIndex === index && textCls,\n )}\n style={{ left: `calc(${percent}% + ${thumbInBoundsOffset}px)` }}\n >\n {mark.label}\n </span>\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport interface SliderTipProps {\n value?: number[];\n className?: string;\n min: number;\n max: number;\n tipFormatter?: (\n value: number,\n min: number,\n max: number,\n percent: number,\n ) => string | React.ReactNode;\n}\n\nexport const SliderTip: React.FC<SliderTipProps> = (props) => {\n const { className, min, max } = props;\n const value = props.value?.[0] ?? 0;\n const percent = convertValueToPercentage(value, min, max);\n return (\n <span className={className} style={{ lineHeight: \"19px\" }}>\n {props.tipFormatter?.(value, min, max, percent) ??\n `${percent.toFixed()}%`}\n </span>\n );\n};\n\nconst SingleSlider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n Omit<SliderProps, \"value\" | \"onValueChange\" | \"onValueCommit\"> & {\n value: number;\n onValueChange?: (value: number) => void;\n onValueCommit?: (value: number) => void;\n }\n>((props, ref) => {\n const _value = useMemo(() => [props.value], [props.value]);\n\n return (\n <BaseSlider\n {...props}\n value={_value}\n ref={ref}\n onValueChange={\n typeof props.onValueChange === \"function\"\n ? (values: number[]) => {\n props.onValueChange!(values[0]);\n }\n : undefined\n }\n onValueCommit={\n typeof props.onValueCommit === \"function\"\n ? (values: number[]) => {\n props.onValueCommit!(values[0]);\n }\n : undefined\n }\n />\n );\n});\n\nSingleSlider.displayName = \"SingleSlider\";\n\ntype SliderType = typeof BaseSlider & {\n single: typeof SingleSlider;\n};\n\nconst Slider = BaseSlider as SliderType;\n\nSlider.single = SingleSlider;\n\nexport { Slider };\n","function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport function convertValueToPercentage(\n value: number,\n min: number,\n max: number,\n) {\n const maxSteps = max - min;\n if (maxSteps === 0) {\n return clamp(0, [0, 100]);\n }\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\n\nfunction linearScale(\n input: readonly [number, number],\n output: readonly [number, number],\n) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) {\n return output[0];\n }\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n\nexport function getThumbInBoundsOffset(\n width: number,\n left: number,\n direction: number,\n) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\n","\"use client\";\n\nimport { FC } from \"react\";\nimport {\n ToastBar,\n toast,\n Toaster as PrimitiveToaster,\n ToastOptions,\n} from \"react-hot-toast\";\nimport { CloseIcon, cn } from \"..\";\nimport {\n ToastErrorIcon,\n ToastLoadingIcon,\n ToastSuccessIcon,\n} from \"../icon/toasterIcons\";\n\ninterface ToastProps extends ToastOptions {}\n\nexport const Toaster: FC<ToastProps> = (props) => {\n return (\n // @ts-ignore\n <PrimitiveToaster\n toastOptions={{\n duration: 3000,\n // style: {\n // fontSize: \"16px\",\n // color: \"rgba(255, 255, 255, 0.8)\",\n // padding: 16,\n // background: \"rgba(25, 14, 44, 1)\",\n // },\n success: {\n iconTheme: {\n primary: \"rgba(123, 220, 138, 1)\",\n secondary: \"rgba(25, 14, 44, 1)\",\n },\n style: {\n // color: \"rgba(123, 220, 138, 1)\",\n background: \"rgba(40, 46, 58, 1)\",\n },\n },\n loading: {\n duration: 5000,\n style: {\n background: \"rgba(40, 46, 58, 1)\",\n },\n },\n error: {\n iconTheme: {\n primary: \"rgba(217, 91, 129, 1)\",\n secondary: \"rgba(25, 14, 44, 1)\",\n },\n style: {\n // color: \"rgba(217, 91, 129, 1)\",\n background: \"rgba(40, 46, 58, 1)\",\n },\n },\n custom: {\n duration: 5000,\n removeDelay: 0,\n position: \"top-right\",\n style: {\n background: \"rgba(40, 46, 58, 1)\",\n },\n },\n }}\n {...props}\n containerClassName={cn(\n \"!top-[62px] md:!top-[80px] oui-font-semibold\",\n props.className,\n )}\n >\n {(t) => (\n // @ts-ignore\n <ToastBar\n toast={t}\n style={{\n ...t.style,\n color: \"rgba(255, 255, 255, 0.8)\",\n // background: \"rgba(25, 14, 44, 1)\",\n borderRadius: \"6px\",\n wordBreak: \"break-all\",\n maxWidth: 800,\n boxShadow: \"0px 4px 8px 0px rgba(0, 0, 0, 0.36)\",\n }}\n >\n {({ icon, message }) => {\n let customIcon = icon;\n if (t.type === \"error\") {\n customIcon = (\n <ToastErrorIcon className=\"w-[16px] h-[16px] md:w-[24px] md:h-[24px]\" />\n );\n } else if (t.type === \"success\") {\n customIcon = <ToastSuccessIcon size={20} />;\n } else if (t.type === \"loading\") {\n customIcon = (\n <div className=\"oui-animate-rotate-360 oui-rounded-full\">\n <ToastLoadingIcon className=\"w-[16px] h-[16px] md:w-[24px] md:h-[24px]\" />\n </div>\n );\n } else if (t.type === \"custom\") {\n customIcon = <></>;\n }\n return (\n <div className=\"oui-flex oui-items-center oui-padding-[12px] md:oui-padding-[16px]\">\n {customIcon}\n <div className=\"oui-text-base oui-px-[2px]\">{message}</div>\n {true && (\n <button\n onClick={() => toast.dismiss(t.id)}\n className=\"oui-hidden md:oui-block\"\n >\n <CloseIcon\n size={16}\n className=\" oui-text-base-contrast-54\"\n />\n </button>\n )}\n </div>\n );\n }}\n </ToastBar>\n )}\n </PrimitiveToaster>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ToastErrorIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n d=\"M10 1.628a8.333 8.333 0 1 0-.001 16.666 8.333 8.333 0 0 0 0-16.666m-2.5 5c.212 0 .435.071.598.234L10 8.762l1.9-1.9a.85.85 0 0 1 .6-.234c.213 0 .436.071.6.234a.86.86 0 0 1 0 1.198l-1.902 1.901 1.901 1.9a.86.86 0 0 1 0 1.2.86.86 0 0 1-1.198 0L10 11.158 8.097 13.06a.86.86 0 0 1-1.198 0 .857.857 0 0 1 0-1.198L8.8 9.96l-1.9-1.9a.857.857 0 0 1 0-1.2.84.84 0 0 1 .6-.233\"\n fill=\"#FF447C\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n }\n);\nexport const ToastSuccessIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.678 10a8.333 8.333 0 1 1 16.667-.001 8.333 8.333 0 0 1-16.667 0m12.477-3.907c.189-.18.448-.26.697-.26s.507.08.697.26c.38.362.38.969 0 1.33l-6.793 6.473a1.033 1.033 0 0 1-1.394 0l-2.911-2.774a.92.92 0 0 1 0-1.33 1.034 1.034 0 0 1 1.395 0l2.213 2.11z\"\n fill=\"#00B49E\"\n />\n </BaseIcon>\n );\n }\n);\nexport const ToastLoadingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.167 3.333c0-.46.373-.833.833-.833A7.5 7.5 0 1 1 2.5 10a.833.833 0 0 1 1.667 0A5.834 5.834 0 1 0 10 4.167a.833.833 0 0 1-.833-.834\"\n fill=\"#4774F6\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n }\n);\n\nToastErrorIcon.displayName = \"ToasterErrorIcon\";\nToastSuccessIcon.displayName = \"ToastSuccessIcon\";\nToastLoadingIcon.displayName = \"ToastLoadingIcon\";\n","export { Toaster } from \"./Toaster\";\nexport { toast } from \"react-hot-toast\";\nexport { ToastTile } from \"./toastTile\";\n","import { cn } from \"..\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\n\nexport const ToastTile = (props: {\n title: string;\n subtitle?: string;\n classNames?: {\n className?: string;\n titleClassName?: string;\n subtitleClassName?: string;\n };\n}) => {\n return (\n <Flex\n direction=\"column\"\n itemAlign={\"start\"}\n className={cn(\"oui-gap-[2px]\", props.classNames?.className)}\n >\n <Text\n size=\"base\"\n intensity={80}\n className={props.classNames?.titleClassName}\n >\n {props.title}\n </Text>\n {(props.subtitle?.length || 0) > 0 && (\n <Text\n size=\"xs\"\n intensity={54}\n className={props.classNames?.subtitleClassName}\n >\n {props.subtitle}\n </Text>\n )}\n </Flex>\n );\n};\n","import React, { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { useMemo, useRef } from \"react\";\nimport { cnBase, cn } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport { Spinner } from \"../spinner\";\nimport { EmptyDataState } from \"../table\";\nimport { useEndReached } from \"./useEndReached\";\n\nexport interface ListViewProps<T, D> {\n dataSource: T[] | null | undefined;\n renderItem: (item: T, index: number, extraData?: D) => React.ReactNode;\n className?: string;\n contentClassName?: string;\n isLoading?: boolean;\n loadMore?: () => void;\n\n style?: React.CSSProperties;\n\n extraData?: D;\n emptyView?: React.ReactNode;\n}\n\nexport type ListViewRef = ForwardedRef<{\n scroll: (direction: { x: number; y: number }) => void;\n}>;\n\nconst ListViewInner = <T, D>(props: ListViewProps<T, D>, ref: ListViewRef) => {\n const sentinelRef = useRef<HTMLDivElement | null>(null);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEndReached(sentinelRef, () => {\n if (!props.isLoading) {\n props.loadMore?.();\n }\n });\n\n const emptyDataSouce = useMemo(() => {\n return Array.isArray(props.dataSource) && props.dataSource.length <= 0;\n }, [props.dataSource]);\n\n const listViewElement = useMemo(() => {\n if (!props.dataSource) {\n return null;\n }\n\n if (emptyDataSouce) {\n return (\n props.emptyView || (\n <Flex\n direction={\"column\"}\n height={\"100%\"}\n itemAlign={\"center\"}\n justify={\"center\"}\n mt={3}\n >\n <EmptyDataState />\n </Flex>\n )\n );\n }\n\n return props.dataSource.map((item, index) => (\n <React.Fragment key={index}>\n {props.renderItem(item, index, props.extraData)}\n </React.Fragment>\n ));\n }, [emptyDataSouce, props.dataSource, props.extraData, props.emptyView]);\n\n const loadingViewElement = useMemo(() => {\n if ((props.dataSource?.length || 0) === 0) return null;\n if (!props.isLoading) {\n return null;\n }\n\n return (\n <div className=\"oui-flex oui-py-2 oui-justify-center oui-items-center\">\n <Spinner />\n </div>\n );\n }, [props.isLoading, props.dataSource]);\n\n useImperativeHandle(ref, () => {\n return {\n scroll: (direction) => {\n containerRef.current?.scroll({\n left: direction.x,\n top: direction.y,\n behavior: \"smooth\",\n });\n },\n };\n });\n\n return (\n <div\n style={props.style}\n ref={containerRef}\n className={cn(\n \"oui-custom-scrollbar oui-relative oui-min-h-[180px] oui-overflow-auto\",\n props.className,\n )({\n twMerge: true,\n })}\n >\n <div\n className={cn(\n \"oui-space-y-3 oui-h-full oui-w-full\",\n emptyDataSouce &&\n \"oui-absolute oui-left-0 oui-right-0 oui-top-0 oui-bottom-0\",\n props.contentClassName,\n )({ twMerge: true })}\n >\n {listViewElement}\n </div>\n <div\n ref={sentinelRef}\n className=\"oui-relative oui-invisible oui-h-[1px] oui-top-[-300px]\"\n />\n {loadingViewElement}\n </div>\n );\n};\n\nexport const ListView = forwardRef(ListViewInner) as <T, D>(\n props: ListViewProps<T, D> & {\n ref?: ForwardedRef<{\n scroll: (direction: { x: number; y: number }) => void;\n }>;\n },\n) => JSX.Element;\n","import { useEffect, useRef, MutableRefObject } from \"react\";\n\n/**\n * Listen for the specified element to scroll to the bottom\n */\nexport function useEndReached(\n sentinelRef: MutableRefObject<HTMLDivElement | null>,\n onEndReached?: () => void\n) {\n const observer = useRef<IntersectionObserver>();\n const cb = useRef(onEndReached);\n\n cb.current = onEndReached;\n\n useEffect(() => {\n const options: IntersectionObserverInit = {\n root: null,\n rootMargin: \"0px\",\n threshold: 0,\n };\n\n const handleObserver = (entries: IntersectionObserverEntry[]) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n cb.current?.();\n }\n });\n };\n\n observer.current = new IntersectionObserver(handleObserver, options);\n\n return () => {\n observer.current?.disconnect();\n };\n }, []);\n\n useEffect(() => {\n observer.current?.observe(sentinelRef.current!);\n }, []);\n}\n","import { FC } from \"react\";\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { cn } from \"..\";\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent: FC<CollapsiblePrimitive.CollapsibleContentProps> = (\n props\n) => {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n {...props}\n className={cn(\n props.className,\n \"data-[state=open]:oui-animate-collapsible-down data-[state=closed]:oui-animate-collapsible-up oui-overflow-hidden\"\n )}\n ></CollapsiblePrimitive.CollapsibleContent>\n );\n};\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import React, { useMemo, useState } from \"react\";\nimport { CollapseContext } from \"./collapseContext\";\nimport type { CollapseContextState } from \"./collapseContext\";\nimport { Panel } from \"./panel\";\n\nconst CollapseRoot: React.FC<\n React.PropsWithChildren<{ activeKey?: string }>\n> = (props) => {\n const { activeKey = \"\", children } = props;\n const [internalActiveKey, setInternalActiveKey] = useState<string>(activeKey);\n const memoizedValue = useMemo<CollapseContextState>(() => {\n return {\n activeKey: internalActiveKey,\n setActiveKey: setInternalActiveKey,\n };\n }, [internalActiveKey, setInternalActiveKey]);\n return (\n <CollapseContext.Provider value={memoizedValue}>\n {children}\n </CollapseContext.Provider>\n );\n};\n\ntype Collapse = typeof CollapseRoot & {\n panel: typeof Panel;\n};\n\nconst Collapse = CollapseRoot as Collapse;\n\nCollapse.panel = Panel;\n\nexport default Collapse;\n","import { createContext, useContext } from \"react\";\n\nexport interface CollapseContextState {\n activeKey: string;\n setActiveKey: (key: string) => void;\n}\n\nexport const CollapseContext = createContext<CollapseContextState>(\n {} as CollapseContextState,\n);\n\nexport const useCollapseContext = () => {\n return useContext(CollapseContext);\n};\n","import React, { FC, PropsWithChildren, ReactNode, useMemo } from \"react\";\nimport { ChevronDownIcon, cn } from \"../..\";\nimport {\n CollapsibleContent,\n Collapsible,\n CollapsibleTrigger,\n} from \"../collapsible\";\nimport { useCollapseContext } from \"./collapseContext\";\n\ninterface Props {\n header: ReactNode;\n headerClassName?: string;\n itemKey: string;\n disabled?: boolean;\n}\n\nexport const Panel: FC<PropsWithChildren<Props>> = (props) => {\n const { activeKey, setActiveKey } = useCollapseContext();\n const { header, headerClassName, itemKey, disabled } = props;\n const headerNode = useMemo<React.ReactNode>(() => {\n if (typeof header === \"string\") {\n return (\n <div\n className={cn(\n \"oui-border-divider flex items-center oui-group oui-cursor-pointer oui-border-b oui-py-2\",\n headerClassName,\n )}\n >\n <div className=\"oui-flex-1 group-data-[state=open]:oui-font-semibold\">\n {header}\n </div>\n <ChevronDownIcon\n size={16}\n className=\"oui-transition-transform group-data-[state=open]:oui-rotate-180\"\n />\n </div>\n );\n }\n return header;\n }, [header, headerClassName]);\n\n return (\n <Collapsible\n disabled={disabled}\n open={itemKey === activeKey}\n onOpenChange={(open) => {\n if (open) {\n setActiveKey(itemKey);\n } else {\n setActiveKey(\"\");\n }\n }}\n >\n <CollapsibleTrigger asChild>{headerNode}</CollapsibleTrigger>\n <CollapsibleContent className=\"oui-py-3\">\n {props.children}\n </CollapsibleContent>\n </Collapsible>\n );\n};\n","import React, { useMemo } from \"react\";\nimport AutoScroll from \"embla-carousel-auto-scroll\";\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { cnBase } from \"tailwind-variants\";\n\n// Extract types from embla carousel\ntype EmblaCarouselType = UseEmblaCarouselType[1];\ntype UseEmblaCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype EmblaCarouselOptions = UseEmblaCarouselParameters[0];\n\n/**\n * Auto scroll plugin options\n */\nexport interface AutoScrollOptions {\n /** Scroll speed in pixels per second */\n speed?: number;\n /** Scroll direction - 'forward' or 'backward' */\n direction?: \"forward\" | \"backward\";\n /** Whether to start auto-scrolling on initialization */\n playOnInit?: boolean;\n /** Whether to stop auto-scrolling on user interaction */\n stopOnInteraction?: boolean;\n /** Whether to stop auto-scrolling on mouse enter */\n stopOnMouseEnter?: boolean;\n /** Whether to stop auto-scrolling on focus */\n stopOnFocusIn?: boolean;\n /** Delay before starting auto-scroll in milliseconds */\n startDelay?: number;\n /** Root node to listen for interactions */\n rootNode?: (emblaRoot: HTMLElement) => HTMLElement;\n}\n\n/**\n * Props for the Marquee component\n */\nexport interface MarqueeProps<T = unknown> {\n /** Array of data items to display in the marquee */\n data: T[] | ReadonlyArray<T>;\n /** Function to render each item */\n renderItem: (item: T, index: number) => React.ReactNode;\n /** Embla carousel options */\n carouselOptions?: EmblaCarouselOptions;\n /** Auto scroll plugin options */\n autoScrollOptions?: AutoScrollOptions;\n /** Additional CSS class name */\n className?: string;\n /** Callback to get the embla carousel API instance */\n setApi?: (api: EmblaCarouselType) => void;\n}\n\n/**\n * Marquee component using Embla Carousel with auto-scroll functionality\n *\n * @example\n * ```tsx\n * const items = ['Item 1', 'Item 2', 'Item 3'];\n *\n * <Marquee\n * data={items}\n * renderItem={(item, index) => <div key={index}>{item}</div>}\n * carouselOptions={{\n * loop: true,\n * align: \"start\",\n * axis: \"x\"\n * }}\n * autoScrollOptions={{\n * speed: 1,\n * direction: \"forward\",\n * stopOnMouseEnter: true\n * }}\n * />\n * ```\n */\nexport const Marquee = <T,>(props: MarqueeProps<T>) => {\n const {\n data,\n renderItem,\n carouselOptions = {},\n autoScrollOptions = {},\n className,\n setApi,\n } = props;\n\n // Determine if scrolling is horizontal or vertical based on axis option\n const isHorizontal = useMemo<boolean>(\n () => carouselOptions.axis !== \"y\",\n [carouselOptions.axis],\n );\n\n // Configure embla carousel options with sensible defaults\n const emblaOptions = useMemo<EmblaCarouselOptions>(() => {\n return {\n loop: true,\n align: \"start\",\n containScroll: \"trimSnaps\",\n skipSnaps: false,\n axis: \"x\",\n ...carouselOptions,\n };\n }, [carouselOptions]);\n\n // Configure auto-scroll plugin options with sensible defaults\n const autoScrollPluginOptions = useMemo(() => {\n return {\n speed: 1,\n direction: \"forward\" as const,\n playOnInit: true,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n stopOnFocusIn: false,\n ...autoScrollOptions,\n };\n }, [autoScrollOptions]);\n\n // Initialize embla carousel with auto-scroll plugin\n const [emblaRef, emblaApi] = useEmblaCarousel(emblaOptions, [\n AutoScroll(autoScrollPluginOptions),\n ]);\n\n // Provide API to parent component if requested\n React.useEffect(() => {\n if (emblaApi && setApi) {\n setApi(emblaApi);\n }\n }, [emblaApi, setApi]);\n\n // Render slides - duplicate content for seamless looping\n const renderSlides = useMemo(() => {\n if (!Array.isArray(data) || data.length === 0) {\n return null;\n }\n\n return data.map((item, index) => (\n <div\n key={`slide-${index}`}\n className={cnBase(\n \"oui-shrink-0\",\n isHorizontal ? \"oui-w-auto\" : \"oui-h-auto\",\n )}\n style={{\n minWidth: isHorizontal ? \"auto\" : \"100%\",\n minHeight: isHorizontal ? \"100%\" : \"auto\",\n }}\n >\n {renderItem(item, index % data.length)}\n </div>\n ));\n }, [data, renderItem, isHorizontal]);\n\n return (\n <div\n ref={emblaRef}\n className={cnBase(\n \"oui-relative oui-overflow-hidden\",\n isHorizontal ? \"oui-w-full\" : \"oui-h-full\",\n className,\n )}\n >\n <div\n className={cnBase(\n \"oui-flex\",\n isHorizontal ? \"oui-flex-row\" : \"oui-flex-col\",\n )}\n >\n {renderSlides}\n </div>\n </div>\n );\n};\n","import * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { tv, VariantProps } from \"tailwind-variants\";\nimport { SizeType } from \"../helpers/sizeType\";\n\nconst DropdownMenuRoot = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst dropdownMenuVariants = tv({\n slots: {\n content: [\n \"oui-z-50\",\n \"oui-min-w-[8rem]\",\n \"oui-overflow-hidden\",\n \"oui-rounded-xl\",\n \"oui-p-1\",\n \"oui-bg-base-8\",\n \"oui-text-base-contrast\",\n \"oui-shadow-md\",\n \"oui-border\",\n \"oui-border-line-6\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n item: [\n \"oui-relative\",\n \"oui-flex\",\n \"oui-cursor-default\",\n \"oui-select-none\",\n \"oui-items-center\",\n // \"oui-rounded-lg\",\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-text-sm\",\n \"oui-outline-none\",\n \"oui-transition-colors\",\n \"hover:oui-bg-base-5\",\n \"focus:oui-bg-accent\",\n \"focus:oui-text-accent-foreground\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-opacity-50\",\n ],\n label: \"oui-px-2 oui-py-1.5 oui-text-sm oui-font-semibold\",\n separator: \"-oui-mx-1 oui-my-1 oui-h-px oui-bg-muted\",\n shortcut: \"oui-ml-auto oui-text-xs oui-tracking-widest oui-opacity-60\",\n },\n variants: {\n size: {\n xs: {\n content: \"oui-rounded\",\n item: [\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-h-6\",\n \"oui-rounded\",\n \"oui-text-2xs\",\n ],\n },\n sm: {\n content: \"oui-rounded\",\n item: [\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-h-6\",\n \"oui-rounded\",\n \"oui-text-2xs\",\n ],\n },\n md: {\n content: \"oui-rounded-md\",\n item: [\"oui-px-4\", \"oui-py-3\", \"oui-h-6\", \"oui-rounded\"],\n },\n lg: {\n content: \"oui-rounded-lg\",\n item: [\"oui-px-4\", \"oui-py-3\", \"oui-h-6\", \"oui-rounded-md\"],\n },\n xl: {\n content: \"oui-rounded-xl\",\n item: [\n \"oui-px-4\",\n \"oui-py-3\",\n \"oui-h-10\",\n \"oui-rounded-lg\",\n \"oui-text-base\",\n ],\n },\n },\n inset: {\n true: {\n item: [\"oui-pl-8\"],\n label: [\"oui-pl-8\"],\n },\n },\n },\n defaultVariants: {\n inset: false,\n size: \"lg\",\n },\n});\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> &\n VariantProps<typeof dropdownMenuVariants>\n>(({ className, sideOffset = 4, size, ...props }, ref) => {\n const { content } = dropdownMenuVariants({ size });\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={content({ className })}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n});\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n size?: SizeType;\n }\n>(({ className, inset, size, ...props }, ref) => {\n const { item } = dropdownMenuVariants({ size });\n return (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={item({ className, inset })}\n {...props}\n />\n );\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\n// const DropdownMenuCheckboxItem = React.forwardRef<\n// React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n// React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n// >(({ className, children, checked, ...props }, ref) => (\n// <DropdownMenuPrimitive.CheckboxItem\n// ref={ref}\n// className={cn(\n// \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n// className\n// )}\n// checked={checked}\n// {...props}\n// >\n// <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n// <DropdownMenuPrimitive.ItemIndicator>\n// {/* <CheckIcon className=\"h-4 w-4\" /> */}\n// </DropdownMenuPrimitive.ItemIndicator>\n// </span>\n// {children}\n// </DropdownMenuPrimitive.CheckboxItem>\n// ));\n// DropdownMenuCheckboxItem.displayName =\n// DropdownMenuPrimitive.CheckboxItem.displayName;\n\n// const DropdownMenuRadioItem = React.forwardRef<\n// React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n// React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n// >(({ className, children, ...props }, ref) => (\n// <DropdownMenuPrimitive.RadioItem\n// ref={ref}\n// className={cn(\n// \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n// className\n// )}\n// {...props}\n// >\n// <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n// <DropdownMenuPrimitive.ItemIndicator>\n// {/* <DotFilledIcon className=\"h-4 w-4 fill-current\" /> */}\n// </DropdownMenuPrimitive.ItemIndicator>\n// </span>\n// {children}\n// </DropdownMenuPrimitive.RadioItem>\n// ));\n// DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => {\n const { label } = dropdownMenuVariants({\n inset,\n });\n return (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={label({ className })}\n {...props}\n />\n );\n});\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => {\n const { separator } = dropdownMenuVariants();\n return (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n );\n});\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n const { shortcut } = dropdownMenuVariants();\n return <span className={shortcut({ className })} {...props} />;\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenuRoot,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n // DropdownMenuCheckboxItem,\n // DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n // DropdownMenuSubContent,\n // DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n","import { PropsWithChildren, type ReactNode, useMemo } from \"react\";\nimport {\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuPortal,\n DropdownMenuRoot,\n DropdownMenuTrigger,\n} from \"./dropdown\";\nimport type { DropdownMenuContentProps } from \"@radix-ui/react-dropdown-menu\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { Flex } from \"../flex\";\nimport { Box } from \"../box\";\n\nexport type MenuItem = {\n label: string;\n value: string;\n testId?: string;\n};\n\ntype DropdownMenuProps = {\n currentValue?: string;\n menu: MenuItem[];\n onSelect?: (item: MenuItem) => void;\n render?: (item: MenuItem, index: number) => ReactNode;\n size?: SizeType;\n} & DropdownMenuContentProps;\n\nconst SimpleDropdownMenu = (props: PropsWithChildren<DropdownMenuProps>) => {\n const { currentValue, menu, render, size, children, ...contentProps } = props;\n\n const items = useMemo(() => {\n if (typeof props.render === \"function\") {\n return props.menu.map((item, index) => {\n return props.render?.(item, index);\n });\n }\n\n return props.menu.map((item) => (\n <DropdownMenuItem\n textValue={item.value}\n key={item.value}\n onSelect={(event) => {\n props.onSelect?.(item);\n }}\n size={size}\n data-testid={item.testId}\n >\n <Flex justify={\"between\"} width={\"100%\"}>\n {item.label}\n {currentValue == item.value && <Box width={4} height={4} gradient=\"primary\" r=\"full\"/>}\n </Flex>\n </DropdownMenuItem>\n ));\n }, [props.menu, props.render, currentValue]);\n return (\n <DropdownMenuRoot>\n <DropdownMenuTrigger asChild>{children}</DropdownMenuTrigger>\n <DropdownMenuPortal>\n <DropdownMenuContent\n onCloseAutoFocus={(event) => {\n event.preventDefault();\n }}\n size={size}\n {...contentProps}\n >\n {items}\n </DropdownMenuContent>\n </DropdownMenuPortal>\n </DropdownMenuRoot>\n );\n};\n\nexport { SimpleDropdownMenu };\n","import {\n ComponentType,\n FC,\n PropsWithChildren,\n useCallback,\n useMemo,\n} from \"react\";\nimport { ExtensionPosition } from \"../plugin\";\nimport { ComponentsProvider } from \"./componentProvider\";\nimport {\n ComponentOverrides,\n OrderlyThemeContext,\n OrderlyThemeContextState,\n} from \"./orderlyThemeContext\";\n\nexport type OrderlyThemeProviderProps = {\n // dateFormatting?: string;\n components?: {\n [position in ExtensionPosition]: ComponentType;\n };\n overrides?: Partial<ComponentOverrides>;\n};\n\nexport const OrderlyThemeProvider: FC<\n PropsWithChildren<OrderlyThemeProviderProps>\n> = (props) => {\n const { components, overrides, children } = props;\n\n const resolveComponentTheme = useCallback(\n <T extends keyof ComponentOverrides>(\n component: T,\n defaultValue?: ComponentOverrides[T],\n ) => {\n return (overrides as ComponentOverrides)?.[component] || defaultValue;\n },\n [overrides],\n );\n\n const memoizedValue = useMemo<OrderlyThemeContextState>(() => {\n return { getComponentTheme: resolveComponentTheme };\n }, [resolveComponentTheme]);\n\n return (\n <OrderlyThemeContext.Provider value={memoizedValue}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OrderlyThemeContext.Provider>\n );\n};\n","import { ExtensionPosition, installExtension } from \"../plugin\";\nimport { ComponentType, FC, PropsWithChildren, useEffect } from \"react\";\n\n/// layout cache: size, position\n\nconst ComponentsProvider: FC<\n PropsWithChildren<{\n components?: { [position in ExtensionPosition]: ComponentType };\n }>\n> = (props) => {\n useEffect(() => {\n if (props.components && Object.keys(props.components).length) {\n for (const position in props.components) {\n const Element = props.components[position];\n installExtension<any>({\n name: Element.displayName ?? `custom-component-${position}`,\n scope: [\"*\"],\n positions: [position],\n __isInternal: false,\n })((props: any) => {\n return <Element {...props} />;\n });\n }\n }\n }, [props.components]);\n\n return props.children;\n};\n\nexport { ComponentsProvider };\n","import { memo, PropsWithChildren, ReactNode, useMemo } from \"react\";\n\ntype Props = {\n value: boolean | (() => boolean);\n left?: ReactNode;\n};\n\nconst Either = memo<PropsWithChildren<Props>>((props) => {\n const { value, children, left } = props;\n const inputValue = useMemo(\n () => Boolean(typeof value === \"function\" ? value() : value),\n [value],\n );\n if (inputValue) {\n return children;\n }\n return left;\n});\n\nexport { Either };\n","import \"./install\";\n\nexport * from \"./button\";\nexport { Box, boxVariants } from \"./box\";\nexport { Grid } from \"./grid\";\nexport { Flex } from \"./flex\";\nexport * from \"./typography\";\nexport { Spinner } from \"./spinner\";\nexport { Input, inputFormatter, InputAdditional, TextField } from \"./input\";\nexport { Checkbox } from \"./checkbox\";\nexport { Switch } from \"./switch\";\nexport { Badge } from \"./badge/badge\";\nexport { Logo, type LogoProps } from \"./logo/logo\";\n// export * from \"./tag/tag\";\nexport * from \"./tooltip\";\nexport * from \"./table\";\nexport * from \"./scrollarea\";\nexport * from \"./dialog\";\nexport * from \"./sheet\";\nexport * from \"./divider\";\nexport * from \"./tabs\";\nexport { PaginationItems } from \"./pagination\";\nexport { Select, SelectItem, type SelectOption } from \"./select\";\nexport * from \"./popover\";\nexport * from \"./card\";\nexport * from \"./pickers\";\nexport * from \"./slider\";\nexport * from \"./toast\";\nexport * from \"./listView\";\nexport * from \"./collapsible\";\nexport * from \"./marquee\";\n\nexport * from \"./dropdown\";\n\nexport * from \"./icon\";\nexport * from \"./modal\";\nexport { EVMAvatar, Avatar } from \"./avatar\";\n\nexport type { ButtonProps } from \"./button\";\nexport type { BoxProps } from \"./box\";\nexport type { FlexProps } from \"./flex\";\nexport type { TextProps, NumeralProps } from \"./typography\";\nexport type {\n InputProps,\n TextFieldProps,\n InputFormatter,\n InputFormatterOptions,\n InputWithTooltipProps,\n} from \"./input\";\nexport type { SpinnerProps } from \"./spinner\";\nexport type { ChainSelectProps, SelectProps } from \"./select\";\nexport type { SizeType } from \"./helpers/sizeType\";\n\nexport {\n OrderlyThemeProvider,\n type OrderlyThemeProviderProps,\n} from \"./provider/orderlyThemeProvider\";\nexport { useOrderlyTheme } from \"./provider/orderlyThemeContext\";\nexport * from \"./plugin\";\n\n//===== Misc widgets\nexport { Either } from \"./misc/either\";\n// TODO: remove this component, because vite will throw Maximum call stack size exceeded\n// export { Match } from \"./misc/switch\";\n\n//===== re-exported\nexport { cnBase as cn } from \"tailwind-variants\";\nexport type { VariantProps } from \"tailwind-variants\";\n\n//===== utils\nexport * from \"./utils\";\nexport { tv } from \"./utils/tv\";\nexport { default as toast } from \"react-hot-toast\";\n\nexport * from \"embla-carousel-react\";\nexport { default as useEmblaCarousel } from \"embla-carousel-react\";\nexport * from \"embla-carousel-auto-scroll\";\nexport { default as AutoScroll } from \"embla-carousel-auto-scroll\";\nexport * from \"embla-carousel-autoplay\";\nexport { default as Autoplay } from \"embla-carousel-autoplay\";\nexport * from \"embla-carousel\";\n\n//===== tailwind\nexport * as OUITailwind from \"./tailwind\";\nexport * from \"./hooks\";\n\nexport * from \"./locale\";\nexport * from \"./scrollIndicator\";\nexport * from \"./status\";\n","/**\n * capitalize the first letter\n * @param str\n * @returns string\n */\nexport const capitalizeFirstLetter = (str: string, fallback?: string): undefined | string => {\n if (typeof str === 'undefined' || str === null) return fallback ?? undefined;\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n \n","export function startViewTransition(callback: () => void) {\n if (typeof document.startViewTransition === \"function\") {\n document.startViewTransition(callback);\n } else {\n callback();\n }\n}\n","*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}/*\n! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n:root {\n --oui-font-family: \"Manrope\",\"PingFang SC\", \"Noto Sans CJK SC\", \"Noto Sans\", sans-serif;\n --oui-color-primary: 176 132 233;\n --oui-color-primary-light: 213 190 244;\n --oui-color-primary-darken: 137 76 209;\n --oui-color-primary-contrast: 255 255 255;\n --oui-color-link: 189 107 237;\n --oui-color-link-light: 217 152 250;\n --oui-color-secondary: 255 255 255;\n --oui-color-tertiary: 218 218 218;\n --oui-color-quaternary: 218 218 218;\n --oui-color-danger: 245 97 139;\n --oui-color-danger-light: 250 167 188;\n --oui-color-danger-darken: 237 72 122;\n --oui-color-danger-contrast: 255 255 255;\n --oui-color-success: 41 233 169;\n --oui-color-success-light: 101 240 194;\n --oui-color-success-darken: 0 161 120;\n --oui-color-success-contrast: 255 255 255;\n --oui-color-warning: 255 209 70;\n --oui-color-warning-light: 255 229 133;\n --oui-color-warning-darken: 255 152 0;\n --oui-color-warning-contrast: 255 255 255;\n --oui-color-fill: 36 32 47;\n --oui-color-fill-active: 40 46 58;\n --oui-color-base-1: 93 83 123;\n --oui-color-base-2: 81 72 107;\n --oui-color-base-3: 68 61 69;\n --oui-color-base-4: 57 52 74;\n --oui-color-base-5: 51 46 66;\n --oui-color-base-6: 43 38 56;\n --oui-color-base-7: 36 32 47;\n --oui-color-base-8: 29 26 38;\n --oui-color-base-9: 22 20 28;\n --oui-color-base-10: 14 13 18;\n --oui-color-base-foreground: 255 255 255;\n --oui-color-line: 255 255 255;\n --oui-color-trading-loss: 245 97 139;\n --oui-color-trading-loss-contrast: 255 255 255;\n --oui-color-trading-profit: 41 233 169;\n --oui-color-trading-profit-contrast: 255 255 255;\n --oui-gradient-primary-start: 40 0 97;\n --oui-gradient-primary-end: 189 107 237;\n --oui-gradient-secondary-start: 81 42 121;\n --oui-gradient-secondary-end: 176 132 233;\n --oui-gradient-success-start: 1 83 68;\n --oui-gradient-success-end: 41 223 169;\n --oui-gradient-danger-start: 153 24 76;\n --oui-gradient-danger-end: 245 97 139;\n --oui-gradient-brand-start: 231 219 249;\n --oui-gradient-brand-end: 159 107 225;\n --oui-gradient-brand-stop-start: 6.62%;\n --oui-gradient-brand-stop-end: 86.5%;\n --oui-gradient-brand-angle: 17.44deg;\n --oui-gradient-warning-start: 152 58 8;\n --oui-gradient-warning-end: 255 209 70;\n --oui-gradient-neutral-start: 27 29 24;\n --oui-gradient-neutral-end: 38 41 46;\n --oui-rounded-sm: 2px;\n --oui-rounded: 4px;\n --oui-rounded-md: 6px;\n --oui-rounded-lg: 8px;\n --oui-rounded-xl: 12px;\n --oui-rounded-2xl: 16px;\n --oui-rounded-full: 9999px;\n --oui-spacing-xs: 20rem;\n --oui-spacing-sm: 22.5rem;\n --oui-spacing-md: 26.25rem;\n --oui-spacing-lg: 30rem;\n --oui-spacing-xl: 33.75rem;\n}\n\nhtml {\n background-color: rgb(var(--oui-color-base-10));\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n font-family: var(--oui-font-family);\n}\n\nbody {\n background-color: rgb(var(--oui-color-base-10));\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n font-family: var(--oui-font-family);\n}\n.oui-size-height {\n height: var(--oui-height, unset);\n}\n.oui-size-width {\n width: var(--oui-width, unset);\n}\n.xAxis .recharts-cartesian-axis-tick:first-child text {\n text-anchor: start;\n}\n.xAxis .recharts-cartesian-axis-tick:last-child text {\n text-anchor: end;\n}\n.oui-position {\n left: var(--oui-left, unset);\n top: var(--oui-top, unset);\n right: var(--oui-right, unset);\n bottom: var(--oui-bottom, unset);\n}\n.oui-card {\n color: red;\n}\n.oui-card:has(.oui-header-list) {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-track {\n background-color: transparent;\n border-radius: 4px;\n padding-top: 20px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-thumb {\n border-radius: 3px;\n border-style: dashed;\n border-color: transparent;\n border-width: 1px;\n background-color: rgb(var(--oui-color-base-7));\n background-clip: padding-box;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-thumb:hover {\n background: rgb(var(--oui-color-base-5));\n border-radius: 3px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n.oui-hide-scrollbar::-webkit-scrollbar {\n display: none;\n}\n.oui-hide-scrollbar::-webkit-scrollbar-thumb {\n display: none;\n}\n@property --gradientAngle {\n syntax: \"<angle>\";\n inherits: false;\n initial-value: 0deg;\n }\n@keyframes angleRotateChange {\n 0% {\n --gradientAngle: 0deg;\n }\n 100% {\n --gradientAngle: 360deg;\n }\n }\n.oui-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.oui-pointer-events-none {\n pointer-events: none;\n}\n.oui-pointer-events-auto {\n pointer-events: auto;\n}\n.oui-visible {\n visibility: visible;\n}\n.oui-invisible {\n visibility: hidden;\n}\n.oui-static {\n position: static;\n}\n.oui-fixed {\n position: fixed;\n}\n.\\!oui-absolute {\n position: absolute !important;\n}\n.oui-absolute {\n position: absolute;\n}\n.oui-relative {\n position: relative;\n}\n.oui-sticky {\n position: sticky;\n}\n.oui-inset-0 {\n inset: 0px;\n}\n.oui-inset-x-0 {\n left: 0px;\n right: 0px;\n}\n.oui-inset-x-\\[50px\\] {\n left: 50px;\n right: 50px;\n}\n.oui-inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.\\!oui-bottom-\\[30px\\] {\n bottom: 30px !important;\n}\n.\\!oui-bottom-\\[40px\\] {\n bottom: 40px !important;\n}\n.\\!oui-top-1 {\n top: 0.25rem !important;\n}\n.-oui-right-3 {\n right: -0.75rem;\n}\n.-oui-right-\\[1px\\] {\n right: -1px;\n}\n.-oui-right-\\[6px\\] {\n right: -6px;\n}\n.-oui-top-4 {\n top: -1rem;\n}\n.-oui-top-\\[1px\\] {\n top: -1px;\n}\n.-oui-top-\\[5px\\] {\n top: -5px;\n}\n.-oui-top-\\[6px\\] {\n top: -6px;\n}\n.-oui-top-\\[calc\\(100vh\\/2\\)\\] {\n top: calc(calc(100vh / 2) * -1);\n}\n.oui--bottom-12 {\n bottom: -3rem;\n}\n.oui--left-12 {\n left: -3rem;\n}\n.oui--right-12 {\n right: -3rem;\n}\n.oui--top-12 {\n top: -3rem;\n}\n.oui-bottom-0 {\n bottom: 0px;\n}\n.oui-bottom-1 {\n bottom: 0.25rem;\n}\n.oui-bottom-3 {\n bottom: 0.75rem;\n}\n.oui-bottom-6 {\n bottom: 1.5rem;\n}\n.oui-bottom-\\[-1\\.5px\\] {\n bottom: -1.5px;\n}\n.oui-bottom-\\[-12px\\] {\n bottom: -12px;\n}\n.oui-bottom-\\[38px\\] {\n bottom: 38px;\n}\n.oui-bottom-\\[calc\\(env\\(safe-area-inset-bottom\\)\\+8px\\)\\] {\n bottom: calc(env(safe-area-inset-bottom) + 8px);\n}\n.oui-bottom-full {\n bottom: 100%;\n}\n.oui-end-\\[-20px\\] {\n inset-inline-end: -20px;\n}\n.oui-left-0 {\n left: 0px;\n}\n.oui-left-1 {\n left: 0.25rem;\n}\n.oui-left-1\\/2 {\n left: 50%;\n}\n.oui-left-2 {\n left: 0.5rem;\n}\n.oui-left-3 {\n left: 0.75rem;\n}\n.oui-left-6 {\n left: 1.5rem;\n}\n.oui-left-\\[-1\\.5px\\] {\n left: -1.5px;\n}\n.oui-left-\\[-100\\%\\] {\n left: -100%;\n}\n.oui-left-\\[-9px\\] {\n left: -9px;\n}\n.oui-left-\\[10px\\] {\n left: 10px;\n}\n.oui-left-\\[30px\\] {\n left: 30px;\n}\n.oui-left-\\[4px\\] {\n left: 4px;\n}\n.oui-left-\\[50\\%\\] {\n left: 50%;\n}\n.oui-right-0 {\n right: 0px;\n}\n.oui-right-1 {\n right: 0.25rem;\n}\n.oui-right-2 {\n right: 0.5rem;\n}\n.oui-right-3 {\n right: 0.75rem;\n}\n.oui-right-4 {\n right: 1rem;\n}\n.oui-right-\\[-1\\.5px\\] {\n right: -1.5px;\n}\n.oui-right-\\[-100\\%\\] {\n right: -100%;\n}\n.oui-right-\\[1px\\] {\n right: 1px;\n}\n.oui-top-0 {\n top: 0px;\n}\n.oui-top-0\\.5 {\n top: 0.125rem;\n}\n.oui-top-1 {\n top: 0.25rem;\n}\n.oui-top-1\\/2 {\n top: 50%;\n}\n.oui-top-2 {\n top: 0.5rem;\n}\n.oui-top-2\\/4 {\n top: 50%;\n}\n.oui-top-3 {\n top: 0.75rem;\n}\n.oui-top-4 {\n top: 1rem;\n}\n.oui-top-\\[-1\\.5px\\] {\n top: -1.5px;\n}\n.oui-top-\\[-12px\\] {\n top: -12px;\n}\n.oui-top-\\[-28px\\] {\n top: -28px;\n}\n.oui-top-\\[-300px\\] {\n top: -300px;\n}\n.oui-top-\\[10px\\] {\n top: 10px;\n}\n.oui-top-\\[16px\\] {\n top: 16px;\n}\n.oui-top-\\[18px\\] {\n top: 18px;\n}\n.oui-top-\\[1px\\] {\n top: 1px;\n}\n.oui-top-\\[20px\\] {\n top: 20px;\n}\n.oui-top-\\[3px\\] {\n top: 3px;\n}\n.oui-top-\\[44px\\] {\n top: 44px;\n}\n.oui-top-\\[48px\\] {\n top: 48px;\n}\n.oui-top-\\[50\\%\\] {\n top: 50%;\n}\n.oui-top-\\[5px\\] {\n top: 5px;\n}\n.oui-top-\\[6\\.5px\\] {\n top: 6.5px;\n}\n.oui-top-\\[7px\\] {\n top: 7px;\n}\n.oui-top-full {\n top: 100%;\n}\n.oui-z-0 {\n z-index: 0;\n}\n.oui-z-10 {\n z-index: 10;\n}\n.oui-z-20 {\n z-index: 20;\n}\n.oui-z-30 {\n z-index: 30;\n}\n.oui-z-40 {\n z-index: 40;\n}\n.oui-z-50 {\n z-index: 50;\n}\n.oui-z-\\[-1\\] {\n z-index: -1;\n}\n.oui-z-\\[100\\] {\n z-index: 100;\n}\n.oui-z-\\[1\\] {\n z-index: 1;\n}\n.oui-z-\\[2\\] {\n z-index: 2;\n}\n.oui-z-\\[40\\] {\n z-index: 40;\n}\n.oui-z-\\[60\\] {\n z-index: 60;\n}\n.oui-z-\\[65\\] {\n z-index: 65;\n}\n.oui-z-\\[99\\] {\n z-index: 99;\n}\n.oui-z-auto {\n z-index: auto;\n}\n.oui-col-auto {\n grid-column: auto;\n}\n.oui-col-span-1 {\n grid-column: span 1 / span 1;\n}\n.oui-col-span-2 {\n grid-column: span 2 / span 2;\n}\n.oui-col-span-3 {\n grid-column: span 3 / span 3;\n}\n.oui-col-span-4 {\n grid-column: span 4 / span 4;\n}\n.oui-col-span-5 {\n grid-column: span 5 / span 5;\n}\n.oui-col-span-6 {\n grid-column: span 6 / span 6;\n}\n.oui-col-span-7 {\n grid-column: span 7 / span 7;\n}\n.oui-col-span-8 {\n grid-column: span 8 / span 8;\n}\n.oui-col-span-9 {\n grid-column: span 9 / span 9;\n}\n.oui-row-auto {\n grid-row: auto;\n}\n.oui-row-span-1 {\n grid-row: span 1 / span 1;\n}\n.oui-row-span-2 {\n grid-row: span 2 / span 2;\n}\n.oui-row-span-3 {\n grid-row: span 3 / span 3;\n}\n.oui-row-span-4 {\n grid-row: span 4 / span 4;\n}\n.oui-row-span-5 {\n grid-row: span 5 / span 5;\n}\n.oui-row-span-6 {\n grid-row: span 6 / span 6;\n}\n.oui-row-span-7 {\n grid-row: span 7 / span 7;\n}\n.oui-row-span-8 {\n grid-row: span 8 / span 8;\n}\n.oui-row-span-9 {\n grid-row: span 9 / span 9;\n}\n.oui-m-0 {\n margin: 0px;\n}\n.oui-m-1 {\n margin: 0.25rem;\n}\n.oui-m-10 {\n margin: 2.5rem;\n}\n.oui-m-2 {\n margin: 0.5rem;\n}\n.oui-m-3 {\n margin: 0.75rem;\n}\n.oui-m-4 {\n margin: 1rem;\n}\n.oui-m-5 {\n margin: 1.25rem;\n}\n.oui-m-6 {\n margin: 1.5rem;\n}\n.oui-m-7 {\n margin: 1.75rem;\n}\n.oui-m-8 {\n margin: 2rem;\n}\n.oui-m-9 {\n margin: 2.25rem;\n}\n.\\!oui-mx-\\[3px\\] {\n margin-left: 3px !important;\n margin-right: 3px !important;\n}\n.\\!oui-my-\\[3px\\] {\n margin-top: 3px !important;\n margin-bottom: 3px !important;\n}\n.-oui-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n}\n.oui-mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n}\n.oui-mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.oui-mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n}\n.oui-mx-11 {\n margin-left: 2.75rem;\n margin-right: 2.75rem;\n}\n.oui-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.oui-mx-3 {\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n.oui-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n.oui-mx-5 {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n}\n.oui-mx-6 {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n}\n.oui-mx-7 {\n margin-left: 1.75rem;\n margin-right: 1.75rem;\n}\n.oui-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n.oui-mx-9 {\n margin-left: 2.25rem;\n margin-right: 2.25rem;\n}\n.oui-mx-\\[-8px\\] {\n margin-left: -8px;\n margin-right: -8px;\n}\n.oui-mx-\\[5px\\] {\n margin-left: 5px;\n margin-right: 5px;\n}\n.oui-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.oui-my-0 {\n margin-top: 0px;\n margin-bottom: 0px;\n}\n.oui-my-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n.oui-my-1\\.5 {\n margin-top: 0.375rem;\n margin-bottom: 0.375rem;\n}\n.oui-my-10 {\n margin-top: 2.5rem;\n margin-bottom: 2.5rem;\n}\n.oui-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.oui-my-3 {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem;\n}\n.oui-my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n.oui-my-5 {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n}\n.oui-my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n.oui-my-7 {\n margin-top: 1.75rem;\n margin-bottom: 1.75rem;\n}\n.oui-my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n}\n.oui-my-9 {\n margin-top: 2.25rem;\n margin-bottom: 2.25rem;\n}\n.oui-my-\\[6px\\] {\n margin-top: 6px;\n margin-bottom: 6px;\n}\n.oui-my-px {\n margin-top: 1px;\n margin-bottom: 1px;\n}\n.\\!oui-mb-\\[6px\\] {\n margin-bottom: 6px !important;\n}\n.-oui-mb-1 {\n margin-bottom: -0.25rem;\n}\n.-oui-mb-2 {\n margin-bottom: -0.5rem;\n}\n.-oui-mb-5 {\n margin-bottom: -1.25rem;\n}\n.-oui-ml-2 {\n margin-left: -0.5rem;\n}\n.-oui-ml-4 {\n margin-left: -1rem;\n}\n.-oui-mr-4 {\n margin-right: -1rem;\n}\n.-oui-mt-2 {\n margin-top: -0.5rem;\n}\n.-oui-mt-4 {\n margin-top: -1rem;\n}\n.oui--mb-\\[22px\\] {\n margin-bottom: -22px;\n}\n.oui--ml-4 {\n margin-left: -1rem;\n}\n.oui--mt-12 {\n margin-top: -3rem;\n}\n.oui--mt-4 {\n margin-top: -1rem;\n}\n.oui--mt-6 {\n margin-top: -1.5rem;\n}\n.oui-mb-0 {\n margin-bottom: 0px;\n}\n.oui-mb-0\\.5 {\n margin-bottom: 0.125rem;\n}\n.oui-mb-1 {\n margin-bottom: 0.25rem;\n}\n.oui-mb-10 {\n margin-bottom: 2.5rem;\n}\n.oui-mb-2 {\n margin-bottom: 0.5rem;\n}\n.oui-mb-3 {\n margin-bottom: 0.75rem;\n}\n.oui-mb-4 {\n margin-bottom: 1rem;\n}\n.oui-mb-5 {\n margin-bottom: 1.25rem;\n}\n.oui-mb-6 {\n margin-bottom: 1.5rem;\n}\n.oui-mb-7 {\n margin-bottom: 1.75rem;\n}\n.oui-mb-8 {\n margin-bottom: 2rem;\n}\n.oui-mb-9 {\n margin-bottom: 2.25rem;\n}\n.oui-mb-\\[-8px\\] {\n margin-bottom: -8px;\n}\n.oui-mb-\\[10px\\] {\n margin-bottom: 10px;\n}\n.oui-mb-\\[32px\\] {\n margin-bottom: 32px;\n}\n.oui-mb-\\[3px\\] {\n margin-bottom: 3px;\n}\n.oui-ml-0 {\n margin-left: 0px;\n}\n.oui-ml-0\\.5 {\n margin-left: 0.125rem;\n}\n.oui-ml-1 {\n margin-left: 0.25rem;\n}\n.oui-ml-10 {\n margin-left: 2.5rem;\n}\n.oui-ml-2 {\n margin-left: 0.5rem;\n}\n.oui-ml-3 {\n margin-left: 0.75rem;\n}\n.oui-ml-4 {\n margin-left: 1rem;\n}\n.oui-ml-5 {\n margin-left: 1.25rem;\n}\n.oui-ml-6 {\n margin-left: 1.5rem;\n}\n.oui-ml-7 {\n margin-left: 1.75rem;\n}\n.oui-ml-8 {\n margin-left: 2rem;\n}\n.oui-ml-9 {\n margin-left: 2.25rem;\n}\n.oui-ml-\\[2px\\] {\n margin-left: 2px;\n}\n.oui-ml-\\[5px\\] {\n margin-left: 5px;\n}\n.oui-ml-auto {\n margin-left: auto;\n}\n.oui-ml-px {\n margin-left: 1px;\n}\n.oui-mr-0 {\n margin-right: 0px;\n}\n.oui-mr-1 {\n margin-right: 0.25rem;\n}\n.oui-mr-10 {\n margin-right: 2.5rem;\n}\n.oui-mr-2 {\n margin-right: 0.5rem;\n}\n.oui-mr-3 {\n margin-right: 0.75rem;\n}\n.oui-mr-4 {\n margin-right: 1rem;\n}\n.oui-mr-5 {\n margin-right: 1.25rem;\n}\n.oui-mr-6 {\n margin-right: 1.5rem;\n}\n.oui-mr-7 {\n margin-right: 1.75rem;\n}\n.oui-mr-8 {\n margin-right: 2rem;\n}\n.oui-mr-9 {\n margin-right: 2.25rem;\n}\n.oui-mr-\\[6px\\] {\n margin-right: 6px;\n}\n.oui-mt-0 {\n margin-top: 0px;\n}\n.oui-mt-0\\.5 {\n margin-top: 0.125rem;\n}\n.oui-mt-1 {\n margin-top: 0.25rem;\n}\n.oui-mt-10 {\n margin-top: 2.5rem;\n}\n.oui-mt-2 {\n margin-top: 0.5rem;\n}\n.oui-mt-3 {\n margin-top: 0.75rem;\n}\n.oui-mt-4 {\n margin-top: 1rem;\n}\n.oui-mt-5 {\n margin-top: 1.25rem;\n}\n.oui-mt-6 {\n margin-top: 1.5rem;\n}\n.oui-mt-7 {\n margin-top: 1.75rem;\n}\n.oui-mt-8 {\n margin-top: 2rem;\n}\n.oui-mt-9 {\n margin-top: 2.25rem;\n}\n.oui-mt-\\[-1px\\] {\n margin-top: -1px;\n}\n.oui-mt-\\[-30px\\] {\n margin-top: -30px;\n}\n.oui-mt-\\[-8px\\] {\n margin-top: -8px;\n}\n.oui-mt-\\[2px\\] {\n margin-top: 2px;\n}\n.oui-mt-\\[35px\\] {\n margin-top: 35px;\n}\n.oui-mt-\\[6px\\] {\n margin-top: 6px;\n}\n.oui-mt-\\[7px\\] {\n margin-top: 7px;\n}\n.oui-mt-auto {\n margin-top: auto;\n}\n.oui-mt-px {\n margin-top: 1px;\n}\n.oui-box-border {\n box-sizing: border-box;\n}\n.oui-box-content {\n box-sizing: content-box;\n}\n.oui-line-clamp-3 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n}\n.oui-line-clamp-5 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 5;\n}\n.oui-block {\n display: block;\n}\n.oui-inline-block {\n display: inline-block;\n}\n.oui-flex {\n display: flex;\n}\n.oui-inline-flex {\n display: inline-flex;\n}\n.oui-grid {\n display: grid;\n}\n.oui-inline-grid {\n display: inline-grid;\n}\n.oui-list-item {\n display: list-item;\n}\n.oui-hidden {\n display: none;\n}\n.oui-aspect-square {\n aspect-ratio: 1 / 1;\n}\n.oui-size-1 {\n width: 0.25rem;\n height: 0.25rem;\n}\n.oui-size-10 {\n width: 2.5rem;\n height: 2.5rem;\n}\n.oui-size-2 {\n width: 0.5rem;\n height: 0.5rem;\n}\n.oui-size-3 {\n width: 0.75rem;\n height: 0.75rem;\n}\n.oui-size-4 {\n width: 1rem;\n height: 1rem;\n}\n.oui-size-5 {\n width: 1.25rem;\n height: 1.25rem;\n}\n.oui-size-6 {\n width: 1.5rem;\n height: 1.5rem;\n}\n.oui-size-8 {\n width: 2rem;\n height: 2rem;\n}\n.oui-size-\\[10px\\] {\n width: 10px;\n height: 10px;\n}\n.oui-size-\\[12px\\] {\n width: 12px;\n height: 12px;\n}\n.oui-size-\\[14px\\] {\n width: 14px;\n height: 14px;\n}\n.oui-size-\\[15px\\] {\n width: 15px;\n height: 15px;\n}\n.oui-size-\\[16px\\] {\n width: 16px;\n height: 16px;\n}\n.oui-size-\\[18px\\] {\n width: 18px;\n height: 18px;\n}\n.oui-size-\\[20px\\] {\n width: 20px;\n height: 20px;\n}\n.oui-size-\\[48px\\] {\n width: 48px;\n height: 48px;\n}\n.oui-size-\\[4px\\] {\n width: 4px;\n height: 4px;\n}\n.oui-size-\\[64px\\] {\n width: 64px;\n height: 64px;\n}\n.oui-size-\\[6px\\] {\n width: 6px;\n height: 6px;\n}\n.oui-size-full {\n width: 100%;\n height: 100%;\n}\n.\\!oui-h-\\[14px\\] {\n height: 14px !important;\n}\n.\\!oui-h-\\[2px\\] {\n height: 2px !important;\n}\n.\\!oui-h-\\[34px\\] {\n height: 34px !important;\n}\n.\\!oui-h-\\[42px\\] {\n height: 42px !important;\n}\n.\\!oui-h-\\[600px\\] {\n height: 600px !important;\n}\n.\\!oui-h-\\[680px\\] {\n height: 680px !important;\n}\n.\\!oui-h-\\[calc\\(100\\%_-_49px\\)\\] {\n height: calc(100% - 49px) !important;\n}\n.\\!oui-h-\\[calc\\(100\\%_-_53px_-_8px\\)\\] {\n height: calc(100% - 53px - 8px) !important;\n}\n.\\!oui-h-auto {\n height: auto !important;\n}\n.oui-h-0 {\n height: 0px;\n}\n.oui-h-1 {\n height: 0.25rem;\n}\n.oui-h-1\\.5 {\n height: 0.375rem;\n}\n.oui-h-10 {\n height: 2.5rem;\n}\n.oui-h-11 {\n height: 2.75rem;\n}\n.oui-h-12 {\n height: 3rem;\n}\n.oui-h-13 {\n height: 3.25rem;\n}\n.oui-h-2 {\n height: 0.5rem;\n}\n.oui-h-3 {\n height: 0.75rem;\n}\n.oui-h-4 {\n height: 1rem;\n}\n.oui-h-5 {\n height: 1.25rem;\n}\n.oui-h-6 {\n height: 1.5rem;\n}\n.oui-h-7 {\n height: 1.75rem;\n}\n.oui-h-8 {\n height: 2rem;\n}\n.oui-h-9 {\n height: 2.25rem;\n}\n.oui-h-\\[100px\\] {\n height: 100px;\n}\n.oui-h-\\[10px\\] {\n height: 10px;\n}\n.oui-h-\\[110px\\] {\n height: 110px;\n}\n.oui-h-\\[112px\\] {\n height: 112px;\n}\n.oui-h-\\[114px\\] {\n height: 114px;\n}\n.oui-h-\\[120px\\] {\n height: 120px;\n}\n.oui-h-\\[124px\\] {\n height: 124px;\n}\n.oui-h-\\[12px\\] {\n height: 12px;\n}\n.oui-h-\\[13px\\] {\n height: 13px;\n}\n.oui-h-\\[144px\\] {\n height: 144px;\n}\n.oui-h-\\[14px\\] {\n height: 14px;\n}\n.oui-h-\\[15px\\] {\n height: 15px;\n}\n.oui-h-\\[160px\\] {\n height: 160px;\n}\n.oui-h-\\[168px\\] {\n height: 168px;\n}\n.oui-h-\\[16px\\] {\n height: 16px;\n}\n.oui-h-\\[170px\\] {\n height: 170px;\n}\n.oui-h-\\[188px\\] {\n height: 188px;\n}\n.oui-h-\\[18px\\] {\n height: 18px;\n}\n.oui-h-\\[197px\\] {\n height: 197px;\n}\n.oui-h-\\[19px\\] {\n height: 19px;\n}\n.oui-h-\\[1px\\] {\n height: 1px;\n}\n.oui-h-\\[2\\.4rem\\] {\n height: 2.4rem;\n}\n.oui-h-\\[200px\\] {\n height: 200px;\n}\n.oui-h-\\[20px\\] {\n height: 20px;\n}\n.oui-h-\\[220px\\] {\n height: 220px;\n}\n.oui-h-\\[22px\\] {\n height: 22px;\n}\n.oui-h-\\[236px\\] {\n height: 236px;\n}\n.oui-h-\\[238px\\] {\n height: 238px;\n}\n.oui-h-\\[23px\\] {\n height: 23px;\n}\n.oui-h-\\[240px\\] {\n height: 240px;\n}\n.oui-h-\\[24px\\] {\n height: 24px;\n}\n.oui-h-\\[252px\\] {\n height: 252px;\n}\n.oui-h-\\[254px\\] {\n height: 254px;\n}\n.oui-h-\\[25px\\] {\n height: 25px;\n}\n.oui-h-\\[26px\\] {\n height: 26px;\n}\n.oui-h-\\[28px\\] {\n height: 28px;\n}\n.oui-h-\\[2px\\] {\n height: 2px;\n}\n.oui-h-\\[300px\\] {\n height: 300px;\n}\n.oui-h-\\[30px\\] {\n height: 30px;\n}\n.oui-h-\\[31px\\] {\n height: 31px;\n}\n.oui-h-\\[320px\\] {\n height: 320px;\n}\n.oui-h-\\[32px\\] {\n height: 32px;\n}\n.oui-h-\\[34px\\] {\n height: 34px;\n}\n.oui-h-\\[360px\\] {\n height: 360px;\n}\n.oui-h-\\[36px\\] {\n height: 36px;\n}\n.oui-h-\\[38px\\] {\n height: 38px;\n}\n.oui-h-\\[400px\\] {\n height: 400px;\n}\n.oui-h-\\[40px\\] {\n height: 40px;\n}\n.oui-h-\\[41px\\] {\n height: 41px;\n}\n.oui-h-\\[42px\\] {\n height: 42px;\n}\n.oui-h-\\[435px\\] {\n height: 435px;\n}\n.oui-h-\\[44px\\] {\n height: 44px;\n}\n.oui-h-\\[45px\\] {\n height: 45px;\n}\n.oui-h-\\[46px\\] {\n height: 46px;\n}\n.oui-h-\\[48px\\] {\n height: 48px;\n}\n.oui-h-\\[496px\\] {\n height: 496px;\n}\n.oui-h-\\[4px\\] {\n height: 4px;\n}\n.oui-h-\\[500px\\] {\n height: 500px;\n}\n.oui-h-\\[50px\\] {\n height: 50px;\n}\n.oui-h-\\[52px\\] {\n height: 52px;\n}\n.oui-h-\\[53px\\] {\n height: 53px;\n}\n.oui-h-\\[54px\\] {\n height: 54px;\n}\n.oui-h-\\[55px\\] {\n height: 55px;\n}\n.oui-h-\\[59px\\] {\n height: 59px;\n}\n.oui-h-\\[600px\\] {\n height: 600px;\n}\n.oui-h-\\[634px\\] {\n height: 634px;\n}\n.oui-h-\\[64px\\] {\n height: 64px;\n}\n.oui-h-\\[68px\\] {\n height: 68px;\n}\n.oui-h-\\[6px\\] {\n height: 6px;\n}\n.oui-h-\\[78px\\] {\n height: 78px;\n}\n.oui-h-\\[8\\.3px\\] {\n height: 8.3px;\n}\n.oui-h-\\[88px\\] {\n height: 88px;\n}\n.oui-h-\\[8px\\] {\n height: 8px;\n}\n.oui-h-\\[calc\\(\\(100vw-48px\\)\\/2\\)\\] {\n height: calc((100vw - 48px) / 2);\n}\n.oui-h-\\[calc\\(100\\%_-_288px_-_20px\\)\\] {\n height: calc(100% - 288px - 20px);\n}\n.oui-h-\\[calc\\(100\\%_-_28px\\)\\] {\n height: calc(100% - 28px);\n}\n.oui-h-\\[calc\\(100\\%_-_32px\\)\\] {\n height: calc(100% - 32px);\n}\n.oui-h-\\[calc\\(100\\%_-_36px\\)\\] {\n height: calc(100% - 36px);\n}\n.oui-h-\\[calc\\(100\\%_-_40px\\)\\] {\n height: calc(100% - 40px);\n}\n.oui-h-\\[calc\\(100\\%_-_49px\\)\\] {\n height: calc(100% - 49px);\n}\n.oui-h-\\[calc\\(100\\%_-_52px\\)\\] {\n height: calc(100% - 52px);\n}\n.oui-h-\\[calc\\(100\\%_-_56px\\)\\] {\n height: calc(100% - 56px);\n}\n.oui-h-\\[calc\\(100\\%_-_59px\\)\\] {\n height: calc(100% - 59px);\n}\n.oui-h-\\[calc\\(100\\%_-_60px\\)\\] {\n height: calc(100% - 60px);\n}\n.oui-h-\\[calc\\(100\\%_-_70px\\)\\] {\n height: calc(100% - 70px);\n}\n.oui-h-\\[calc\\(100\\%_-_92px\\)\\] {\n height: calc(100% - 92px);\n}\n.oui-h-\\[calc\\(100vh-100px\\)\\] {\n height: calc(100vh - 100px);\n}\n.oui-h-\\[calc\\(100vh-200px\\)\\] {\n height: calc(100vh - 200px);\n}\n.oui-h-\\[calc\\(100vh-260px\\)\\] {\n height: calc(100vh - 260px);\n}\n.oui-h-\\[calc\\(100vh-44px\\)\\] {\n height: calc(100vh - 44px);\n}\n.oui-h-\\[calc\\(100vh-80px\\)\\] {\n height: calc(100vh - 80px);\n}\n.oui-h-\\[calc\\(100vh_-_48px_-_29px\\)\\] {\n height: calc(100vh - 48px - 29px);\n}\n.oui-h-\\[calc\\(100vh_-_64px\\)\\] {\n height: calc(100vh - 64px);\n}\n.oui-h-\\[calc\\(80vh_-_104px\\)\\] {\n height: calc(80vh - 104px);\n}\n.oui-h-\\[calc\\(80vh_-_132px_-_8px\\)\\] {\n height: calc(80vh - 132px - 8px);\n}\n.oui-h-\\[env\\(safe-area-inset-bottom\\)\\] {\n height: env(safe-area-inset-bottom);\n}\n.oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n}\n.oui-h-auto {\n height: auto;\n}\n.oui-h-full {\n height: 100%;\n}\n.oui-h-px {\n height: 1px;\n}\n.oui-h-screen {\n height: 100vh;\n}\n.oui-max-h-0 {\n max-height: 0px;\n}\n.oui-max-h-8 {\n max-height: 2rem;\n}\n.oui-max-h-96 {\n max-height: 24rem;\n}\n.oui-max-h-\\[100px\\] {\n max-height: 100px;\n}\n.oui-max-h-\\[104px\\] {\n max-height: 104px;\n}\n.oui-max-h-\\[120px\\] {\n max-height: 120px;\n}\n.oui-max-h-\\[1250px\\] {\n max-height: 1250px;\n}\n.oui-max-h-\\[200px\\] {\n max-height: 200px;\n}\n.oui-max-h-\\[202px\\] {\n max-height: 202px;\n}\n.oui-max-h-\\[240px\\] {\n max-height: 240px;\n}\n.oui-max-h-\\[254px\\] {\n max-height: 254px;\n}\n.oui-max-h-\\[288px\\] {\n max-height: 288px;\n}\n.oui-max-h-\\[300px\\] {\n max-height: 300px;\n}\n.oui-max-h-\\[348px\\] {\n max-height: 348px;\n}\n.oui-max-h-\\[356px\\] {\n max-height: 356px;\n}\n.oui-max-h-\\[396px\\] {\n max-height: 396px;\n}\n.oui-max-h-\\[400px\\] {\n max-height: 400px;\n}\n.oui-max-h-\\[60vh\\] {\n max-height: 60vh;\n}\n.oui-max-h-\\[69px\\] {\n max-height: 69px;\n}\n.oui-max-h-\\[700px\\] {\n max-height: 700px;\n}\n.oui-max-h-\\[80vh\\] {\n max-height: 80vh;\n}\n.oui-max-h-\\[94px\\] {\n max-height: 94px;\n}\n.oui-max-h-full {\n max-height: 100%;\n}\n.\\!oui-min-h-\\[100px\\] {\n min-height: 100px !important;\n}\n.\\!oui-min-h-\\[130px\\] {\n min-height: 130px !important;\n}\n.\\!oui-min-h-\\[170px\\] {\n min-height: 170px !important;\n}\n.\\!oui-min-h-\\[2px\\] {\n min-height: 2px !important;\n}\n.oui-min-h-0 {\n min-height: 0px;\n}\n.oui-min-h-10 {\n min-height: 2.5rem;\n}\n.oui-min-h-11 {\n min-height: 2.75rem;\n}\n.oui-min-h-12 {\n min-height: 3rem;\n}\n.oui-min-h-40 {\n min-height: 10rem;\n}\n.oui-min-h-\\[141px\\] {\n min-height: 141px;\n}\n.oui-min-h-\\[162px\\] {\n min-height: 162px;\n}\n.oui-min-h-\\[170px\\] {\n min-height: 170px;\n}\n.oui-min-h-\\[176px\\] {\n min-height: 176px;\n}\n.oui-min-h-\\[180px\\] {\n min-height: 180px;\n}\n.oui-min-h-\\[20px\\] {\n min-height: 20px;\n}\n.oui-min-h-\\[300px\\] {\n min-height: 300px;\n}\n.oui-min-h-\\[400px\\] {\n min-height: 400px;\n}\n.oui-min-h-\\[420px\\] {\n min-height: 420px;\n}\n.oui-min-h-\\[48px\\] {\n min-height: 48px;\n}\n.oui-min-h-\\[50px\\] {\n min-height: 50px;\n}\n.oui-min-h-\\[54px\\] {\n min-height: 54px;\n}\n.oui-min-h-\\[56px\\] {\n min-height: 56px;\n}\n.oui-min-h-\\[600px\\] {\n min-height: 600px;\n}\n.oui-min-h-\\[calc\\(100vh-44px-64px-env\\(safe-area-inset-bottom\\)\\)\\] {\n min-height: calc(100vh - 44px - 64px - env(safe-area-inset-bottom));\n}\n.oui-min-h-full {\n min-height: 100%;\n}\n.oui-min-h-screen {\n min-height: 100vh;\n}\n.\\!oui-w-\\[180px\\] {\n width: 180px !important;\n}\n.\\!oui-w-\\[2px\\] {\n width: 2px !important;\n}\n.\\!oui-w-\\[90\\%\\] {\n width: 90% !important;\n}\n.oui-w-1 {\n width: 0.25rem;\n}\n.oui-w-1\\/2 {\n width: 50%;\n}\n.oui-w-1\\/3 {\n width: 33.333333%;\n}\n.oui-w-1\\/4 {\n width: 25%;\n}\n.oui-w-1\\/5 {\n width: 20%;\n}\n.oui-w-10 {\n width: 2.5rem;\n}\n.oui-w-11 {\n width: 2.75rem;\n}\n.oui-w-12 {\n width: 3rem;\n}\n.oui-w-2 {\n width: 0.5rem;\n}\n.oui-w-24 {\n width: 6rem;\n}\n.oui-w-28 {\n width: 7rem;\n}\n.oui-w-3 {\n width: 0.75rem;\n}\n.oui-w-3\\.5 {\n width: 0.875rem;\n}\n.oui-w-3\\/4 {\n width: 75%;\n}\n.oui-w-3\\/5 {\n width: 60%;\n}\n.oui-w-4 {\n width: 1rem;\n}\n.oui-w-5 {\n width: 1.25rem;\n}\n.oui-w-6 {\n width: 1.5rem;\n}\n.oui-w-64 {\n width: 16rem;\n}\n.oui-w-7 {\n width: 1.75rem;\n}\n.oui-w-72 {\n width: 18rem;\n}\n.oui-w-8 {\n width: 2rem;\n}\n.oui-w-9 {\n width: 2.25rem;\n}\n.oui-w-\\[--radix-select-content-available-width\\] {\n width: var(--radix-select-content-available-width);\n}\n.oui-w-\\[100\\%\\] {\n width: 100%;\n}\n.oui-w-\\[10px\\] {\n width: 10px;\n}\n.oui-w-\\[120px\\] {\n width: 120px;\n}\n.oui-w-\\[124px\\] {\n width: 124px;\n}\n.oui-w-\\[12px\\] {\n width: 12px;\n}\n.oui-w-\\[13px\\] {\n width: 13px;\n}\n.oui-w-\\[140px\\] {\n width: 140px;\n}\n.oui-w-\\[148px\\] {\n width: 148px;\n}\n.oui-w-\\[14px\\] {\n width: 14px;\n}\n.oui-w-\\[154px\\] {\n width: 154px;\n}\n.oui-w-\\[15px\\] {\n width: 15px;\n}\n.oui-w-\\[162px\\] {\n width: 162px;\n}\n.oui-w-\\[16px\\] {\n width: 16px;\n}\n.oui-w-\\[180px\\] {\n width: 180px;\n}\n.oui-w-\\[184px\\] {\n width: 184px;\n}\n.oui-w-\\[187px\\] {\n width: 187px;\n}\n.oui-w-\\[18px\\] {\n width: 18px;\n}\n.oui-w-\\[1px\\] {\n width: 1px;\n}\n.oui-w-\\[200px\\] {\n width: 200px;\n}\n.oui-w-\\[20px\\] {\n width: 20px;\n}\n.oui-w-\\[220px\\] {\n width: 220px;\n}\n.oui-w-\\[225px\\] {\n width: 225px;\n}\n.oui-w-\\[230px\\] {\n width: 230px;\n}\n.oui-w-\\[240px\\] {\n width: 240px;\n}\n.oui-w-\\[260px\\] {\n width: 260px;\n}\n.oui-w-\\[275px\\] {\n width: 275px;\n}\n.oui-w-\\[276px\\] {\n width: 276px;\n}\n.oui-w-\\[280px\\] {\n width: 280px;\n}\n.oui-w-\\[284px\\] {\n width: 284px;\n}\n.oui-w-\\[28px\\] {\n width: 28px;\n}\n.oui-w-\\[2px\\] {\n width: 2px;\n}\n.oui-w-\\[300px\\] {\n width: 300px;\n}\n.oui-w-\\[320px\\] {\n width: 320px;\n}\n.oui-w-\\[32px\\] {\n width: 32px;\n}\n.oui-w-\\[342px\\] {\n width: 342px;\n}\n.oui-w-\\[360px\\] {\n width: 360px;\n}\n.oui-w-\\[36px\\] {\n width: 36px;\n}\n.oui-w-\\[400px\\] {\n width: 400px;\n}\n.oui-w-\\[420px\\] {\n width: 420px;\n}\n.oui-w-\\[429px\\] {\n width: 429px;\n}\n.oui-w-\\[456px\\] {\n width: 456px;\n}\n.oui-w-\\[45px\\] {\n width: 45px;\n}\n.oui-w-\\[49px\\] {\n width: 49px;\n}\n.oui-w-\\[50\\%\\] {\n width: 50%;\n}\n.oui-w-\\[55px\\] {\n width: 55px;\n}\n.oui-w-\\[590px\\] {\n width: 590px;\n}\n.oui-w-\\[63px\\] {\n width: 63px;\n}\n.oui-w-\\[640px\\] {\n width: 640px;\n}\n.oui-w-\\[6px\\] {\n width: 6px;\n}\n.oui-w-\\[74px\\] {\n width: 74px;\n}\n.oui-w-\\[8\\.3px\\] {\n width: 8.3px;\n}\n.oui-w-\\[80px\\] {\n width: 80px;\n}\n.oui-w-\\[85\\%\\] {\n width: 85%;\n}\n.oui-w-\\[94px\\] {\n width: 94px;\n}\n.oui-w-\\[96px\\] {\n width: 96px;\n}\n.oui-w-\\[calc\\(\\(100\\%_-_4px\\)\\/2\\)\\] {\n width: calc((100% - 4px) / 2);\n}\n.oui-w-\\[calc\\(100\\%-60px\\)\\] {\n width: calc(100% - 60px);\n}\n.oui-w-\\[calc\\(100\\%-64px\\)\\] {\n width: calc(100% - 64px);\n}\n.oui-w-\\[calc\\(100\\%_-_16px\\)\\] {\n width: calc(100% - 16px);\n}\n.oui-w-\\[calc\\(100\\%_-_280px_-_12px\\)\\] {\n width: calc(100% - 280px - 12px);\n}\n.oui-w-\\[calc\\(100vw-24px\\)\\] {\n width: calc(100vw - 24px);\n}\n.oui-w-\\[calc\\(50\\%-6px\\)\\] {\n width: calc(50% - 6px);\n}\n.oui-w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\] {\n width: var(--radix-dropdown-menu-trigger-width);\n}\n.oui-w-\\[var\\(_--radix-popover-trigger-width\\)\\] {\n width: var( --radix-popover-trigger-width);\n}\n.oui-w-auto {\n width: auto;\n}\n.oui-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.oui-w-full {\n width: 100%;\n}\n.oui-w-px {\n width: 1px;\n}\n.oui-w-screen {\n width: 100vw;\n}\n.\\!oui-min-w-\\[2px\\] {\n min-width: 2px !important;\n}\n.oui-min-w-0 {\n min-width: 0px;\n}\n.oui-min-w-11 {\n min-width: 2.75rem;\n}\n.oui-min-w-14 {\n min-width: 3.5rem;\n}\n.oui-min-w-24 {\n min-width: 6rem;\n}\n.oui-min-w-6 {\n min-width: 1.5rem;\n}\n.oui-min-w-\\[1018px\\] {\n min-width: 1018px;\n}\n.oui-min-w-\\[102px\\] {\n min-width: 102px;\n}\n.oui-min-w-\\[105px\\] {\n min-width: 105px;\n}\n.oui-min-w-\\[120px\\] {\n min-width: 120px;\n}\n.oui-min-w-\\[160px\\] {\n min-width: 160px;\n}\n.oui-min-w-\\[180px\\] {\n min-width: 180px;\n}\n.oui-min-w-\\[204px\\] {\n min-width: 204px;\n}\n.oui-min-w-\\[22px\\] {\n min-width: 22px;\n}\n.oui-min-w-\\[240px\\] {\n min-width: 240px;\n}\n.oui-min-w-\\[30px\\] {\n min-width: 30px;\n}\n.oui-min-w-\\[322px\\] {\n min-width: 322px;\n}\n.oui-min-w-\\[40px\\] {\n min-width: 40px;\n}\n.oui-min-w-\\[500px\\] {\n min-width: 500px;\n}\n.oui-min-w-\\[70px\\] {\n min-width: 70px;\n}\n.oui-min-w-\\[80px\\] {\n min-width: 80px;\n}\n.oui-min-w-\\[8rem\\] {\n min-width: 8rem;\n}\n.oui-min-w-\\[96px\\] {\n min-width: 96px;\n}\n.oui-min-w-\\[994px\\] {\n min-width: 994px;\n}\n.oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n}\n.\\!oui-max-w-\\[624px\\] {\n max-width: 624px !important;\n}\n.oui-max-w-4xl {\n max-width: 56rem;\n}\n.oui-max-w-64 {\n max-width: 16rem;\n}\n.oui-max-w-72 {\n max-width: 18rem;\n}\n.oui-max-w-\\[1040px\\] {\n max-width: 1040px;\n}\n.oui-max-w-\\[110px\\] {\n max-width: 110px;\n}\n.oui-max-w-\\[1200px\\] {\n max-width: 1200px;\n}\n.oui-max-w-\\[188px\\] {\n max-width: 188px;\n}\n.oui-max-w-\\[200px\\] {\n max-width: 200px;\n}\n.oui-max-w-\\[240px\\] {\n max-width: 240px;\n}\n.oui-max-w-\\[260px\\] {\n max-width: 260px;\n}\n.oui-max-w-\\[270px\\] {\n max-width: 270px;\n}\n.oui-max-w-\\[274px\\] {\n max-width: 274px;\n}\n.oui-max-w-\\[275px\\] {\n max-width: 275px;\n}\n.oui-max-w-\\[280px\\] {\n max-width: 280px;\n}\n.oui-max-w-\\[298px\\] {\n max-width: 298px;\n}\n.oui-max-w-\\[300px\\] {\n max-width: 300px;\n}\n.oui-max-w-\\[320px\\] {\n max-width: 320px;\n}\n.oui-max-w-\\[330px\\] {\n max-width: 330px;\n}\n.oui-max-w-\\[348px\\] {\n max-width: 348px;\n}\n.oui-max-w-\\[360px\\] {\n max-width: 360px;\n}\n.oui-max-w-\\[382px\\] {\n max-width: 382px;\n}\n.oui-max-w-\\[396px\\] {\n max-width: 396px;\n}\n.oui-max-w-\\[400px\\] {\n max-width: 400px;\n}\n.oui-max-w-\\[450px\\] {\n max-width: 450px;\n}\n.oui-max-w-\\[726px\\] {\n max-width: 726px;\n}\n.oui-max-w-\\[83px\\] {\n max-width: 83px;\n}\n.oui-max-w-\\[960px\\] {\n max-width: 960px;\n}\n.oui-max-w-\\[992px\\] {\n max-width: 992px;\n}\n.oui-max-w-\\[calc\\(100\\%-187px\\)\\] {\n max-width: calc(100% - 187px);\n}\n.oui-max-w-fit {\n max-width: -moz-fit-content;\n max-width: fit-content;\n}\n.oui-max-w-full {\n max-width: 100%;\n}\n.oui-max-w-lg {\n max-width: var(--oui-spacing-lg, 30rem);\n}\n.oui-max-w-md {\n max-width: var(--oui-spacing-md, 26.25rem);\n}\n.oui-max-w-sm {\n max-width: var(--oui-spacing-sm, 22.5rem);\n}\n.oui-max-w-xl {\n max-width: var(--oui-spacing-xl, 33.75rem);\n}\n.oui-max-w-xs {\n max-width: var(--oui-spacing-xs, 20rem);\n}\n.oui-flex-1 {\n flex: 1 1 0%;\n}\n.oui-flex-\\[0_0_100\\%\\] {\n flex: 0 0 100%;\n}\n.oui-flex-\\[0_0_calc\\(\\(100\\%_-_32px\\)_\\/_3\\)\\] {\n flex: 0 0 calc((100% - 32px) / 3);\n}\n.oui-flex-none {\n flex: none;\n}\n.oui-flex-shrink {\n flex-shrink: 1;\n}\n.oui-flex-shrink-0 {\n flex-shrink: 0;\n}\n.oui-shrink {\n flex-shrink: 1;\n}\n.oui-shrink-0 {\n flex-shrink: 0;\n}\n.oui-grow {\n flex-grow: 1;\n}\n.oui-grow-0 {\n flex-grow: 0;\n}\n.oui-basis-1\\/2 {\n flex-basis: 50%;\n}\n.oui-basis-5\\/12 {\n flex-basis: 41.666667%;\n}\n.oui-basis-7\\/12 {\n flex-basis: 58.333333%;\n}\n.oui-basis-\\[100\\%\\] {\n flex-basis: 100%;\n}\n.oui-basis-auto {\n flex-basis: auto;\n}\n.oui-basis-full {\n flex-basis: 100%;\n}\n.oui-table-fixed {\n table-layout: fixed;\n}\n.oui-border-collapse {\n border-collapse: collapse;\n}\n.oui-origin-top-left {\n transform-origin: top left;\n}\n.-oui-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-2\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-\\[0\\.5px\\] {\n --tw-translate-y: -0.5px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-x-full {\n --tw-translate-x: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-3 {\n --tw-translate-x: 0.75rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-\\[-12px\\] {\n --tw-translate-x: -12px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-1 {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[10px\\] {\n --tw-translate-y: 10px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[120\\%\\] {\n --tw-translate-y: 120%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-rotate-180 {\n --tw-rotate: -180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-90 {\n --tw-rotate: 90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-scale-105 {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-transform-gpu {\n transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes oui-pop {\n\n 0% {\n transform: scale(1);\n }\n\n 100% {\n transform: scale(1.05);\n }\n}\n.oui-animate-pop {\n animation: oui-pop 0.2s ease-out;\n}\n@keyframes oui-rotate {\n\n 0% {\n transform: rotate(0deg);\n }\n\n 50% {\n transform: rotate(240deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n.oui-animate-rotate-360 {\n animation: oui-rotate 1s linear infinite;\n}\n@keyframes oui-scan-qr-code {\n\n 0% {\n transform: translateY(0);\n }\n\n 50% {\n transform: translateY(320px);\n }\n\n 100% {\n transform: translateY(0);\n }\n}\n.oui-animate-scan-qr-code {\n animation: oui-scan-qr-code 6s infinite linear;\n}\n@keyframes oui-spin {\n\n to {\n transform: rotate(360deg);\n }\n}\n.oui-animate-spin {\n animation: oui-spin 1s linear infinite;\n}\n.oui-cursor-auto {\n cursor: auto;\n}\n.oui-cursor-default {\n cursor: default;\n}\n.oui-cursor-grab {\n cursor: grab;\n}\n.oui-cursor-grabbing {\n cursor: grabbing;\n}\n.oui-cursor-move {\n cursor: move;\n}\n.oui-cursor-not-allowed {\n cursor: not-allowed;\n}\n.oui-cursor-pointer {\n cursor: pointer;\n}\n.oui-cursor-svg-edit {\n cursor: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%3Cg%20clip-path%3D%22url%28%23clip0_22040_41827%29%22%3E%3Cpath%20d%3D%22M11.4548%200.693201C11.1139%200.352266%2010.5611%200.352266%2010.2202%200.693201L8.98558%201.92784L12.0722%205.01442L13.3068%203.77979C13.6477%203.43885%2013.6477%202.88609%2013.3068%202.54515L11.4548%200.693201Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.98%22%2F%3E%3Cpath%20d%3D%22M11.1462%205.9404L8.0596%202.85381L0.960453%209.95296L0.443602%2013.0541C0.394363%2013.3495%200.650496%2013.6056%200.945935%2013.5564L4.04704%2013.0395L11.1462%205.9404Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.98%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_22040_41827%22%3E%3Crect%20width%3D%2214%22%20height%3D%2214%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\") 2 12, auto;\n}\n.oui-touch-none {\n touch-action: none;\n}\n.oui-select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.oui-resize-none {\n resize: none;\n}\n.oui-list-inside {\n list-style-position: inside;\n}\n.oui-list-outside {\n list-style-position: outside;\n}\n.oui-list-decimal {\n list-style-type: decimal;\n}\n.oui-list-disc {\n list-style-type: disc;\n}\n.oui-list-none {\n list-style-type: none;\n}\n.oui-grid-flow-row {\n grid-auto-flow: row;\n}\n.oui-grid-flow-col {\n grid-auto-flow: column;\n}\n.oui-grid-flow-row-dense {\n grid-auto-flow: row dense;\n}\n.oui-grid-flow-col-dense {\n grid-auto-flow: column dense;\n}\n.oui-auto-rows-fr {\n grid-auto-rows: minmax(0, 1fr);\n}\n.oui-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.oui-grid-cols-12 {\n grid-template-columns: repeat(12, minmax(0, 1fr));\n}\n.oui-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.oui-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.oui-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n.oui-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n.oui-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.oui-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n.oui-grid-cols-9 {\n grid-template-columns: repeat(9, minmax(0, 1fr));\n}\n.oui-grid-cols-\\[1fr\\,1fr\\,135px\\] {\n grid-template-columns: 1fr 1fr 135px;\n}\n.oui-grid-cols-\\[2fr_1fr_1fr_1fr_1fr_1fr_1\\.5fr\\] {\n grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1fr 1.5fr;\n}\n.oui-grid-cols-\\[40px_1fr_40px\\] {\n grid-template-columns: 40px 1fr 40px;\n}\n.oui-grid-cols-\\[4fr\\,6fr\\] {\n grid-template-columns: 4fr 6fr;\n}\n.oui-grid-cols-none {\n grid-template-columns: none;\n}\n.oui-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n.oui-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n.oui-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n.oui-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n.oui-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n.oui-grid-rows-6 {\n grid-template-rows: repeat(6, minmax(0, 1fr));\n}\n.oui-grid-rows-7 {\n grid-template-rows: repeat(7, minmax(0, 1fr));\n}\n.oui-grid-rows-8 {\n grid-template-rows: repeat(8, minmax(0, 1fr));\n}\n.oui-grid-rows-9 {\n grid-template-rows: repeat(9, minmax(0, 1fr));\n}\n.oui-grid-rows-\\[auto\\,1fr\\] {\n grid-template-rows: auto 1fr;\n}\n.oui-grid-rows-\\[auto\\,auto\\,1fr\\,auto\\,1fr\\] {\n grid-template-rows: auto auto 1fr auto 1fr;\n}\n.oui-grid-rows-none {\n grid-template-rows: none;\n}\n.oui-flex-row {\n flex-direction: row;\n}\n.oui-flex-row-reverse {\n flex-direction: row-reverse;\n}\n.oui-flex-col {\n flex-direction: column;\n}\n.oui-flex-col-reverse {\n flex-direction: column-reverse;\n}\n.oui-flex-wrap {\n flex-wrap: wrap;\n}\n.oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n.oui-flex-nowrap {\n flex-wrap: nowrap;\n}\n.oui-items-start {\n align-items: flex-start;\n}\n.oui-items-end {\n align-items: flex-end;\n}\n.oui-items-center {\n align-items: center;\n}\n.oui-items-baseline {\n align-items: baseline;\n}\n.oui-items-stretch {\n align-items: stretch;\n}\n.oui-justify-start {\n justify-content: flex-start;\n}\n.oui-justify-end {\n justify-content: flex-end;\n}\n.oui-justify-center {\n justify-content: center;\n}\n.oui-justify-between {\n justify-content: space-between;\n}\n.oui-justify-around {\n justify-content: space-around;\n}\n.oui-justify-evenly {\n justify-content: space-evenly;\n}\n.oui-justify-stretch {\n justify-content: stretch;\n}\n.\\!oui-gap-\\[2px\\] {\n gap: 2px !important;\n}\n.oui-gap-0 {\n gap: 0px;\n}\n.oui-gap-0\\.5 {\n gap: 0.125rem;\n}\n.oui-gap-1 {\n gap: 0.25rem;\n}\n.oui-gap-1\\.5 {\n gap: 0.375rem;\n}\n.oui-gap-10 {\n gap: 2.5rem;\n}\n.oui-gap-12 {\n gap: 3rem;\n}\n.oui-gap-2 {\n gap: 0.5rem;\n}\n.oui-gap-2\\.5 {\n gap: 0.625rem;\n}\n.oui-gap-3 {\n gap: 0.75rem;\n}\n.oui-gap-4 {\n gap: 1rem;\n}\n.oui-gap-5 {\n gap: 1.25rem;\n}\n.oui-gap-6 {\n gap: 1.5rem;\n}\n.oui-gap-8 {\n gap: 2rem;\n}\n.oui-gap-\\[10px\\] {\n gap: 10px;\n}\n.oui-gap-\\[11px\\] {\n gap: 11px;\n}\n.oui-gap-\\[2px\\] {\n gap: 2px;\n}\n.oui-gap-\\[6px\\] {\n gap: 6px;\n}\n.oui-gap-px {\n gap: 1px;\n}\n.oui-gap-x-0 {\n -moz-column-gap: 0px;\n column-gap: 0px;\n}\n.oui-gap-x-0\\.5 {\n -moz-column-gap: 0.125rem;\n column-gap: 0.125rem;\n}\n.oui-gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n.oui-gap-x-10 {\n -moz-column-gap: 2.5rem;\n column-gap: 2.5rem;\n}\n.oui-gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n}\n.oui-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n}\n.oui-gap-x-4 {\n -moz-column-gap: 1rem;\n column-gap: 1rem;\n}\n.oui-gap-x-5 {\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n}\n.oui-gap-x-6 {\n -moz-column-gap: 1.5rem;\n column-gap: 1.5rem;\n}\n.oui-gap-x-7 {\n -moz-column-gap: 1.75rem;\n column-gap: 1.75rem;\n}\n.oui-gap-x-8 {\n -moz-column-gap: 2rem;\n column-gap: 2rem;\n}\n.oui-gap-x-\\[1px\\] {\n -moz-column-gap: 1px;\n column-gap: 1px;\n}\n.oui-gap-x-\\[30px\\] {\n -moz-column-gap: 30px;\n column-gap: 30px;\n}\n.oui-gap-x-\\[6px\\] {\n -moz-column-gap: 6px;\n column-gap: 6px;\n}\n.oui-gap-x-px {\n -moz-column-gap: 1px;\n column-gap: 1px;\n}\n.oui-gap-y-0 {\n row-gap: 0px;\n}\n.oui-gap-y-1 {\n row-gap: 0.25rem;\n}\n.oui-gap-y-10 {\n row-gap: 2.5rem;\n}\n.oui-gap-y-2 {\n row-gap: 0.5rem;\n}\n.oui-gap-y-3 {\n row-gap: 0.75rem;\n}\n.oui-gap-y-4 {\n row-gap: 1rem;\n}\n.oui-gap-y-5 {\n row-gap: 1.25rem;\n}\n.oui-gap-y-6 {\n row-gap: 1.5rem;\n}\n.oui-gap-y-8 {\n row-gap: 2rem;\n}\n.oui-gap-y-\\[2px\\] {\n row-gap: 2px;\n}\n.\\!oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0 !important;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))) !important;\n margin-bottom: calc(0px * var(--tw-space-y-reverse)) !important;\n}\n.\\!oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0 !important;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))) !important;\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)) !important;\n}\n.oui-space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.75rem * var(--tw-space-x-reverse));\n margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.5rem * var(--tw-space-x-reverse));\n margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-\\[6px\\] > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(6px * var(--tw-space-x-reverse));\n margin-left: calc(6px * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n}\n.oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-\\[2px\\] > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(2px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(2px * var(--tw-space-y-reverse));\n}\n.oui-self-end {\n align-self: flex-end;\n}\n.oui-overflow-auto {\n overflow: auto;\n}\n.oui-overflow-hidden {\n overflow: hidden;\n}\n.oui-overflow-x-auto {\n overflow-x: auto;\n}\n.oui-overflow-y-auto {\n overflow-y: auto;\n}\n.oui-overflow-y-hidden {\n overflow-y: hidden;\n}\n.oui-overflow-x-scroll {\n overflow-x: scroll;\n}\n.oui-overflow-y-scroll {\n overflow-y: scroll;\n}\n.oui-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.oui-overflow-ellipsis {\n text-overflow: ellipsis;\n}\n.oui-text-ellipsis {\n text-overflow: ellipsis;\n}\n.oui-whitespace-normal {\n white-space: normal;\n}\n.oui-whitespace-nowrap {\n white-space: nowrap;\n}\n.oui-whitespace-pre {\n white-space: pre;\n}\n.oui-text-nowrap {\n text-wrap: nowrap;\n}\n.oui-text-pretty {\n text-wrap: pretty;\n}\n.oui-break-normal {\n overflow-wrap: normal;\n word-break: normal;\n}\n.oui-break-words {\n overflow-wrap: break-word;\n}\n.oui-break-all {\n word-break: break-all;\n}\n.oui-rounded {\n border-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n}\n.oui-rounded-\\[100\\%\\] {\n border-radius: 100%;\n}\n.oui-rounded-\\[100px\\] {\n border-radius: 100px;\n}\n.oui-rounded-\\[10px\\] {\n border-radius: 10px;\n}\n.oui-rounded-\\[12px\\] {\n border-radius: 12px;\n}\n.oui-rounded-\\[14px\\] {\n border-radius: 14px;\n}\n.oui-rounded-\\[16px\\] {\n border-radius: 16px;\n}\n.oui-rounded-\\[1px\\] {\n border-radius: 1px;\n}\n.oui-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n.oui-rounded-\\[24px\\] {\n border-radius: 24px;\n}\n.oui-rounded-\\[3px\\] {\n border-radius: 3px;\n}\n.oui-rounded-\\[44px\\] {\n border-radius: 44px;\n}\n.oui-rounded-\\[4px\\] {\n border-radius: 4px;\n}\n.oui-rounded-\\[6px\\] {\n border-radius: 6px;\n}\n.oui-rounded-\\[8px\\] {\n border-radius: 8px;\n}\n.oui-rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n.oui-rounded-full {\n border-radius: var(--oui-rounded-full, 9999px);\n}\n.oui-rounded-lg {\n border-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.oui-rounded-none {\n border-radius: 0;\n}\n.oui-rounded-sm {\n border-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-xl {\n border-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.\\!oui-rounded-l {\n border-top-left-radius: var(--oui-rounded, 0.25rem) !important;\n border-bottom-left-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.\\!oui-rounded-r {\n border-top-right-radius: var(--oui-rounded, 0.25rem) !important;\n border-bottom-right-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.oui-rounded-b-sm {\n border-bottom-right-radius: var(--oui-rounded-sm, 0.125rem);\n border-bottom-left-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-b-xl {\n border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-l {\n border-top-left-radius: var(--oui-rounded, 0.25rem);\n border-bottom-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-l-lg {\n border-top-left-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-left-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-l-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-r {\n border-top-right-radius: var(--oui-rounded, 0.25rem);\n border-bottom-right-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-r-lg {\n border-top-right-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-t-2xl {\n border-top-left-radius: var(--oui-rounded-2xl, 1rem);\n border-top-right-radius: var(--oui-rounded-2xl, 1rem);\n}\n.oui-rounded-t-\\[6px\\] {\n border-top-left-radius: 6px;\n border-top-right-radius: 6px;\n}\n.oui-rounded-t-sm {\n border-top-left-radius: var(--oui-rounded-sm, 0.125rem);\n border-top-right-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-t-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-top-right-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-bl {\n border-bottom-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-bl-\\[10px\\] {\n border-bottom-left-radius: 10px;\n}\n.oui-rounded-bl-\\[6px\\] {\n border-bottom-left-radius: 6px;\n}\n.oui-rounded-br-\\[3px\\] {\n border-bottom-right-radius: 3px;\n}\n.oui-rounded-br-lg {\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-br-none {\n border-bottom-right-radius: 0;\n}\n.oui-rounded-tl {\n border-top-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-tl-\\[10px\\] {\n border-top-left-radius: 10px;\n}\n.oui-rounded-tl-none {\n border-top-left-radius: 0;\n}\n.oui-rounded-tr-\\[10px\\] {\n border-top-right-radius: 10px;\n}\n.\\!oui-border {\n border-width: 1px !important;\n}\n.oui-border {\n border-width: 1px;\n}\n.oui-border-0 {\n border-width: 0px;\n}\n.oui-border-\\[0\\.5px\\] {\n border-width: 0.5px;\n}\n.oui-border-\\[2\\.5px\\] {\n border-width: 2.5px;\n}\n.oui-border-\\[2px\\] {\n border-width: 2px;\n}\n.oui-border-\\[4px\\] {\n border-width: 4px;\n}\n.oui-border-y-2 {\n border-top-width: 2px;\n border-bottom-width: 2px;\n}\n.oui-border-b {\n border-bottom-width: 1px;\n}\n.oui-border-b-2 {\n border-bottom-width: 2px;\n}\n.oui-border-l {\n border-left-width: 1px;\n}\n.oui-border-r {\n border-right-width: 1px;\n}\n.oui-border-t {\n border-top-width: 1px;\n}\n.oui-border-t-2 {\n border-top-width: 2px;\n}\n.\\!oui-border-solid {\n border-style: solid !important;\n}\n.oui-border-solid {\n border-style: solid;\n}\n.oui-border-dashed {\n border-style: dashed;\n}\n.oui-border-dotted {\n border-style: dotted;\n}\n.\\!oui-border-none {\n border-style: none !important;\n}\n.oui-border-none {\n border-style: none;\n}\n.\\!oui-border-line-12 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12) !important;\n}\n.\\!oui-border-primary-light {\n --tw-border-opacity: 1 !important;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1)) !important;\n}\n.oui-border-\\[\\#38E2FE\\] {\n --tw-border-opacity: 1;\n border-color: rgb(56 226 254 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[\\#B9D1FF\\] {\n --tw-border-opacity: 1;\n border-color: rgb(185 209 255 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[\\#faedff\\] {\n --tw-border-opacity: 1;\n border-color: rgb(250 237 255 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n border-color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n border-color: rgba(var(--oui-gradient-brand-start));\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-primary-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-primary-start)/0.36);\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-secondary-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-secondary-start)/0.36);\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-success-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-success-start)/0.36);\n}\n.oui-border-base-2 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-2) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-4 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-4) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-5 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-5) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-6 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-6) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-contrast-12 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-border-base-contrast-16 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.oui-border-base-contrast-20 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-border-base-contrast-36 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-border-base-contrast-54 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-border-base-contrast-80 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-border-base-contrast\\/10 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.1);\n}\n.oui-border-base-contrast\\/\\[0\\.08\\] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.08);\n}\n.oui-border-base-contrast\\/\\[0\\.12\\] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n}\n.oui-border-danger-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-line {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.oui-border-line-12 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-border-line-16 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-border-line-4 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-border-primary {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary) / var(--tw-border-opacity, 1));\n}\n.oui-border-primary-darken {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-darken) / var(--tw-border-opacity, 1));\n}\n.oui-border-primary-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-success {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-success) / var(--tw-border-opacity, 1));\n}\n.oui-border-trade-loss {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-trading-loss) / var(--tw-border-opacity, 1));\n}\n.oui-border-trade-profit {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-trading-profit) / var(--tw-border-opacity, 1));\n}\n.oui-border-transparent {\n border-color: transparent;\n}\n.oui-border-warning-darken {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-darken) / var(--tw-border-opacity, 1));\n}\n.oui-border-warning-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-white\\/10 {\n border-color: rgb(255 255 255 / 0.1);\n}\n.oui-border-white\\/\\[0\\.12\\] {\n border-color: rgb(255 255 255 / 0.12);\n}\n.oui-border-white\\/\\[0\\.36\\] {\n border-color: rgb(255 255 255 / 0.36);\n}\n.oui-border-b-line-4 {\n border-bottom-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-border-b-line-6 {\n border-bottom-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-border-b-transparent {\n border-bottom-color: transparent;\n}\n.oui-border-b-white\\/10 {\n border-bottom-color: rgb(255 255 255 / 0.1);\n}\n.oui-border-l-transparent {\n border-left-color: transparent;\n}\n.oui-border-r-line-16 {\n border-right-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-border-t-transparent {\n border-top-color: transparent;\n}\n.\\!oui-bg-\\[\\#131519\\] {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(19 21 25 / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-\\[\\#181C23\\] {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(24 28 35 / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-base-10\\/60 {\n background-color: rgb(var(--oui-color-base-10) / 0.6) !important;\n}\n.\\!oui-bg-base-8 {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-primary-darken {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-transparent {\n background-color: transparent !important;\n}\n.oui-bg-\\[\\#00A858\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 168 88 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#00A9DE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 169 222 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#07080A\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(7 8 10 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#131519\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(19 21 25 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#282e3a\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(40 46 58 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#283BEE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(40 59 238 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#333948\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(51 57 72 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#335FFC\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(51 95 252 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#38E2FE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(56 226 254 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#3D79A9\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(61 121 169 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#630EAD\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(99 14 173 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#D25f00\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(210 95 0 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#d25f00\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(210 95 0 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#e9e9eb\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(233 233 235 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[lightgray\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(211 211 211 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[rgba\\(0\\,0\\,0\\,0\\.48\\)\\] {\n background-color: rgba(0,0,0,0.48);\n}\n.oui-bg-\\[rgba\\(232\\,136\\,0\\,0\\.15\\)\\] {\n background-color: rgba(232,136,0,0.15);\n}\n.oui-bg-\\[rgba\\(255\\,125\\,0\\,0\\.1\\)\\] {\n background-color: rgba(255,125,0,0.1);\n}\n.oui-bg-\\[rgba\\(255\\,169\\,64\\,0\\.70\\)\\] {\n background-color: rgba(255,169,64,0.70);\n}\n.oui-bg-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n background-color: rgba(var(--oui-gradient-brand-start));\n}\n.oui-bg-\\[var\\(--oui-table-background-color\\)\\] {\n background-color: var(--oui-table-background-color);\n}\n.oui-bg-base-1 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-1) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-10 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-10) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-2 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-2) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-3 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-7 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-8 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-9 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-9) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-contrast {\n background-color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-bg-base-contrast-12 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-bg-base-contrast-20 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-bg-base-contrast-36 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-bg-base-contrast-80 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-bg-black\\/80 {\n background-color: rgb(0 0 0 / 0.8);\n}\n.oui-bg-black\\/\\[0\\.08\\] {\n background-color: rgb(0 0 0 / 0.08);\n}\n.oui-bg-black\\/\\[0\\.15\\] {\n background-color: rgb(0 0 0 / 0.15);\n}\n.oui-bg-danger {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger\\/15 {\n background-color: rgb(var(--oui-color-danger) / 0.15);\n}\n.oui-bg-line {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.oui-bg-line-12 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-bg-line-6 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-contrast {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-contrast) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-light\\/15 {\n background-color: rgb(var(--oui-color-primary-light) / 0.15);\n}\n.oui-bg-primary\\/15 {\n background-color: rgb(var(--oui-color-primary) / 0.15);\n}\n.oui-bg-primary\\/\\[0\\.08\\] {\n background-color: rgb(var(--oui-color-primary) / 0.08);\n}\n.oui-bg-primary\\/\\[0\\.12\\] {\n background-color: rgb(var(--oui-color-primary) / 0.12);\n}\n.oui-bg-red-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success\\/15 {\n background-color: rgb(var(--oui-color-success) / 0.15);\n}\n.oui-bg-success\\/20 {\n background-color: rgb(var(--oui-color-success) / 0.2);\n}\n.oui-bg-success\\/\\[0\\.15\\] {\n background-color: rgb(var(--oui-color-success) / 0.15);\n}\n.oui-bg-trade-loss {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-trading-loss) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-trade-loss\\/10 {\n background-color: rgb(var(--oui-color-trading-loss) / 0.1);\n}\n.oui-bg-trade-loss\\/20 {\n background-color: rgb(var(--oui-color-trading-loss) / 0.2);\n}\n.oui-bg-trade-profit {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-trading-profit) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-trade-profit\\/10 {\n background-color: rgb(var(--oui-color-trading-profit) / 0.1);\n}\n.oui-bg-trade-profit\\/20 {\n background-color: rgb(var(--oui-color-trading-profit) / 0.2);\n}\n.oui-bg-transparent {\n background-color: transparent;\n}\n.oui-bg-warning-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-warning-darken\\/10 {\n background-color: rgb(var(--oui-color-warning-darken) / 0.1);\n}\n.oui-bg-warning-darken\\/15 {\n background-color: rgb(var(--oui-color-warning-darken) / 0.15);\n}\n.oui-bg-warning-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-white\\/30 {\n background-color: rgb(255 255 255 / 0.3);\n}\n.oui-bg-white\\/80 {\n background-color: rgb(255 255 255 / 0.8);\n}\n.oui-bg-white\\/\\[\\.06\\] {\n background-color: rgb(255 255 255 / .06);\n}\n.oui-bg-white\\/\\[0\\.04\\] {\n background-color: rgb(255 255 255 / 0.04);\n}\n.oui-bg-white\\/\\[0\\.06\\] {\n background-color: rgb(255 255 255 / 0.06);\n}\n.oui-bg-white\\/\\[0\\.08\\] {\n background-color: rgb(255 255 255 / 0.08);\n}\n.oui-bg-white\\/\\[0\\.12\\] {\n background-color: rgb(255 255 255 / 0.12);\n}\n.oui-bg-white\\/\\[0\\.16\\] {\n background-color: rgb(255 255 255 / 0.16);\n}\n.oui-bg-white\\/\\[0\\.2\\] {\n background-color: rgb(255 255 255 / 0.2);\n}\n.oui-bg-white\\/\\[0\\.54\\] {\n background-color: rgb(255 255 255 / 0.54);\n}\n.oui-bg-white\\/\\[0\\.8\\] {\n background-color: rgb(255 255 255 / 0.8);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#27FDFE_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#27FDFE 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#283BEE_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,\\#A53411_100\\%\\)\\] {\n background-image: linear-gradient(15deg,#283BEE -11%,transparent 30%,transparent 77%,#A53411 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#335FFC_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#335FFC 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#7400D0_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,\\#009A7E_100\\%\\)\\] {\n background-image: linear-gradient(15deg,#7400D0 -11%,transparent 30%,transparent 77%,#009A7E 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#D25F00_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#D25F00 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,\\#59B0FE_0\\%\\,\\#26FEFE_100\\%\\)\\] {\n background-image: linear-gradient(270deg,#59B0FE 0%,#26FEFE 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgb\\(var\\(--oui-gradient-brand-end\\)\\)_0\\%\\,rgb\\(var\\(--oui-gradient-brand-start\\)\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgb(var(--oui-gradient-brand-end)) 0%,rgb(var(--oui-gradient-brand-start)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgb\\(var\\(--oui-gradient-brand-start\\)\\)_0\\%\\,rgb\\(var\\(--oui-gradient-brand-end\\)\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgb(var(--oui-gradient-brand-start)) 0%,rgb(var(--oui-gradient-brand-end)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(241\\,215\\,121\\,0\\.0225\\)_-2\\.05\\%\\,rgba\\(255\\,203\\,70\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(241,215,121,0.0225) -2.05%,rgba(255,203,70,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(255\\,233\\,157\\,0\\.0225\\)_-1\\.3\\%\\,rgba\\(160\\,101\\,46\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(255,233,157,0.0225) -1.3%,rgba(160,101,46,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(255\\,255\\,255\\,0\\.0225\\)_-2\\.05\\%\\,rgba\\(199\\,199\\,199\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(255,255,255,0.0225) -2.05%,rgba(199,199,199,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(89\\,176\\,254\\,0\\.10\\)_0\\%\\,rgba\\(38\\,254\\,254\\,0\\.10\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(89,176,254,0.10) 0%,rgba(38,254,254,0.10) 100%);\n}\n.oui-bg-\\[linear-gradient\\(90deg\\,rgba\\(var\\(--oui-color-base-9\\)_\\/_0\\)_0\\%\\,rgba\\(var\\(--oui-color-base-9\\)_\\/_1\\)_100\\%\\)\\] {\n background-image: linear-gradient(90deg,rgba(var(--oui-color-base-9) / 0) 0%,rgba(var(--oui-color-base-9) / 1) 100%);\n}\n.oui-bg-gradient-to-b {\n background-image: linear-gradient(to bottom, var(--tw-gradient-stops));\n}\n.oui-bg-gradient-to-r {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.oui-bg-gradient-to-t {\n background-image: linear-gradient(to top, var(--tw-gradient-stops));\n}\n.oui-bg-gradient-to-tr {\n background-image: linear-gradient(to top right, var(--tw-gradient-stops));\n}\n.oui-from-\\[\\#26292E\\] {\n --tw-gradient-from: #26292E var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(38 41 46 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#26fefe\\] {\n --tw-gradient-from: #26fefe var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(38 254 254 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#2d0061\\] {\n --tw-gradient-from: #2d0061 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(45 0 97 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#59b0fe\\] {\n --tw-gradient-from: #59b0fe var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(89 176 254 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#791438\\] {\n --tw-gradient-from: #791438 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(121 20 56 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#792e00\\] {\n --tw-gradient-from: #792e00 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(121 46 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#FF7B00\\] {\n --tw-gradient-from: #FF7B00 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(255 123 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-from: rgb(var(--oui-gradient-brand-start)) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(var(--oui-gradient-brand-start) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgb\\(var\\(--oui-gradient-brand-start\\)_\\/_0\\.12\\)\\] {\n --tw-gradient-from: rgb(var(--oui-gradient-brand-start) / 0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(var(--oui-gradient-brand-start) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\/0\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-brand-end)/0) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-brand-start)) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-brand-start), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-primary-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-primary-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-primary-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-secondary-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-secondary-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-secondary-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-success-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-success-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-success-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[-20\\%\\] {\n --tw-gradient-from-position: -20%;\n}\n.oui-via-\\[\\#ff7d00\\] {\n --tw-gradient-to: rgb(255 125 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), #ff7d00 var(--tw-gradient-via-position), var(--tw-gradient-to);\n}\n.oui-to-\\[\\#1B1D22\\] {\n --tw-gradient-to: #1B1D22 var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#26fefe\\] {\n --tw-gradient-to: #26fefe var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#FFEA00\\] {\n --tw-gradient-to: #FFEA00 var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#bd6bed\\] {\n --tw-gradient-to: #bd6bed var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#d92d6b\\] {\n --tw-gradient-to: #d92d6b var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#ff447c\\] {\n --tw-gradient-to: #ff447c var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#ffb65d\\] {\n --tw-gradient-to: #ffb65d var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-brand-end\\)\\)\\] {\n --tw-gradient-to: rgb(var(--oui-gradient-brand-end)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-brand-end\\)_\\/_0\\.12\\)\\] {\n --tw-gradient-to: rgb(var(--oui-gradient-brand-end) / 0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\/0\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end)/0) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-start)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-primary-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-primary-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-secondary-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-secondary-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-success-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-success-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[40\\%\\] {\n --tw-gradient-to-position: 40%;\n}\n.oui-bg-contain {\n background-size: contain;\n}\n.oui-bg-cover {\n background-size: cover;\n}\n.oui-bg-clip-padding {\n background-clip: padding-box;\n}\n.oui-bg-clip-text {\n -webkit-background-clip: text;\n background-clip: text;\n}\n.oui-bg-center {\n background-position: center;\n}\n.oui-bg-no-repeat {\n background-repeat: no-repeat;\n}\n.\\!oui-fill-base-6 {\n fill: rgb(var(--oui-color-base-6) / 1) !important;\n}\n.oui-fill-\\[rgba\\(255\\,255\\,255\\,0\\.36\\)\\] {\n fill: rgba(255,255,255,0.36);\n}\n.oui-fill-base-4 {\n fill: rgb(var(--oui-color-base-4) / 1);\n}\n.oui-fill-base-5 {\n fill: rgb(var(--oui-color-base-5) / 1);\n}\n.oui-fill-base-6 {\n fill: rgb(var(--oui-color-base-6) / 1);\n}\n.oui-fill-base-8 {\n fill: rgb(var(--oui-color-base-8) / 1);\n}\n.oui-fill-base-contrast-20 {\n fill: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-fill-base-contrast-36 {\n fill: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-fill-base-contrast-54 {\n fill: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-fill-current {\n fill: currentColor;\n}\n.oui-fill-danger {\n fill: rgb(var(--oui-color-danger) / 1);\n}\n.oui-fill-danger-light {\n fill: rgb(var(--oui-color-danger-light) / 1);\n}\n.oui-fill-primary-contrast\\/50 {\n fill: rgb(var(--oui-color-primary-contrast) / 0.5);\n}\n.oui-fill-primary-darken {\n fill: rgb(var(--oui-color-primary-darken) / 1);\n}\n.oui-fill-primary-light {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.oui-fill-success {\n fill: rgb(var(--oui-color-success) / 1);\n}\n.oui-fill-success-light {\n fill: rgb(var(--oui-color-success-light) / 1);\n}\n.oui-fill-transparent {\n fill: transparent;\n}\n.oui-fill-warning-darken {\n fill: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-fill-warning-light {\n fill: rgb(var(--oui-color-warning-light) / 1);\n}\n.oui-fill-white {\n fill: #fff;\n}\n.oui-fill-white\\/\\[\\.36\\] {\n fill: rgb(255 255 255 / .36);\n}\n.oui-fill-white\\/\\[\\.54\\] {\n fill: rgb(255 255 255 / .54);\n}\n.oui-fill-white\\/\\[\\.98\\] {\n fill: rgb(255 255 255 / .98);\n}\n.oui-object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\n.oui-object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n}\n.oui-object-fill {\n -o-object-fit: fill;\n object-fit: fill;\n}\n.\\!oui-p-0 {\n padding: 0px !important;\n}\n.\\!oui-p-1 {\n padding: 0.25rem !important;\n}\n.\\!oui-p-3 {\n padding: 0.75rem !important;\n}\n.\\!oui-p-4 {\n padding: 1rem !important;\n}\n.oui-p-0 {\n padding: 0px;\n}\n.oui-p-0\\.5 {\n padding: 0.125rem;\n}\n.oui-p-1 {\n padding: 0.25rem;\n}\n.oui-p-1\\.5 {\n padding: 0.375rem;\n}\n.oui-p-10 {\n padding: 2.5rem;\n}\n.oui-p-2 {\n padding: 0.5rem;\n}\n.oui-p-3 {\n padding: 0.75rem;\n}\n.oui-p-4 {\n padding: 1rem;\n}\n.oui-p-5 {\n padding: 1.25rem;\n}\n.oui-p-6 {\n padding: 1.5rem;\n}\n.oui-p-7 {\n padding: 1.75rem;\n}\n.oui-p-8 {\n padding: 2rem;\n}\n.oui-p-9 {\n padding: 2.25rem;\n}\n.oui-p-\\[1px\\] {\n padding: 1px;\n}\n.oui-p-\\[2px\\] {\n padding: 2px;\n}\n.oui-p-\\[7px\\] {\n padding: 7px;\n}\n.\\!oui-px-0 {\n padding-left: 0px !important;\n padding-right: 0px !important;\n}\n.\\!oui-px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n.\\!oui-py-\\[2px\\] {\n padding-top: 2px !important;\n padding-bottom: 2px !important;\n}\n.oui-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.oui-px-0\\.5 {\n padding-left: 0.125rem;\n padding-right: 0.125rem;\n}\n.oui-px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.oui-px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n.oui-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.oui-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.oui-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n.oui-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.oui-px-7 {\n padding-left: 1.75rem;\n padding-right: 1.75rem;\n}\n.oui-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n.oui-px-9 {\n padding-left: 2.25rem;\n padding-right: 2.25rem;\n}\n.oui-px-\\[10\\%\\] {\n padding-left: 10%;\n padding-right: 10%;\n}\n.oui-px-\\[14px\\] {\n padding-left: 14px;\n padding-right: 14px;\n}\n.oui-px-\\[1px\\] {\n padding-left: 1px;\n padding-right: 1px;\n}\n.oui-px-\\[20px\\] {\n padding-left: 20px;\n padding-right: 20px;\n}\n.oui-px-\\[2px\\] {\n padding-left: 2px;\n padding-right: 2px;\n}\n.oui-px-\\[40px\\] {\n padding-left: 40px;\n padding-right: 40px;\n}\n.oui-px-\\[5px\\] {\n padding-left: 5px;\n padding-right: 5px;\n}\n.oui-px-\\[6px\\] {\n padding-left: 6px;\n padding-right: 6px;\n}\n.oui-px-\\[7px\\] {\n padding-left: 7px;\n padding-right: 7px;\n}\n.oui-px-px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.oui-py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n.oui-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.oui-py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.oui-py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n}\n.oui-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n.oui-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.oui-py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n.oui-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.oui-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.oui-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n.oui-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n.oui-py-7 {\n padding-top: 1.75rem;\n padding-bottom: 1.75rem;\n}\n.oui-py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n.oui-py-9 {\n padding-top: 2.25rem;\n padding-bottom: 2.25rem;\n}\n.oui-py-\\[10px\\] {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n.oui-py-\\[11px\\] {\n padding-top: 11px;\n padding-bottom: 11px;\n}\n.oui-py-\\[13px\\] {\n padding-top: 13px;\n padding-bottom: 13px;\n}\n.oui-py-\\[2px\\] {\n padding-top: 2px;\n padding-bottom: 2px;\n}\n.oui-py-\\[3px\\] {\n padding-top: 3px;\n padding-bottom: 3px;\n}\n.oui-py-\\[5px\\] {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n.oui-py-\\[6px\\] {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n.\\!oui-pb-0 {\n padding-bottom: 0px !important;\n}\n.\\!oui-pl-5 {\n padding-left: 1.25rem !important;\n}\n.\\!oui-pr-0 {\n padding-right: 0px !important;\n}\n.\\!oui-pr-5 {\n padding-right: 1.25rem !important;\n}\n.\\!oui-pt-0 {\n padding-top: 0px !important;\n}\n.\\!oui-pt-3 {\n padding-top: 0.75rem !important;\n}\n.\\!oui-pt-8 {\n padding-top: 2rem !important;\n}\n.oui-pb-0 {\n padding-bottom: 0px;\n}\n.oui-pb-1 {\n padding-bottom: 0.25rem;\n}\n.oui-pb-10 {\n padding-bottom: 2.5rem;\n}\n.oui-pb-2 {\n padding-bottom: 0.5rem;\n}\n.oui-pb-3 {\n padding-bottom: 0.75rem;\n}\n.oui-pb-4 {\n padding-bottom: 1rem;\n}\n.oui-pb-5 {\n padding-bottom: 1.25rem;\n}\n.oui-pb-6 {\n padding-bottom: 1.5rem;\n}\n.oui-pb-7 {\n padding-bottom: 1.75rem;\n}\n.oui-pb-8 {\n padding-bottom: 2rem;\n}\n.oui-pb-9 {\n padding-bottom: 2.25rem;\n}\n.oui-pb-\\[5px\\] {\n padding-bottom: 5px;\n}\n.oui-pb-\\[calc\\(env\\(safe-area-inset-bottom\\)\\)\\] {\n padding-bottom: calc(env(safe-area-inset-bottom));\n}\n.oui-pb-\\[env\\(safe-area-inset-bottom\\)\\] {\n padding-bottom: env(safe-area-inset-bottom);\n}\n.oui-pb-\\[env\\(safe-area-inset-bottom\\,_20px\\)\\] {\n padding-bottom: env(safe-area-inset-bottom, 20px);\n}\n.oui-pl-0 {\n padding-left: 0px;\n}\n.oui-pl-0\\.5 {\n padding-left: 0.125rem;\n}\n.oui-pl-1 {\n padding-left: 0.25rem;\n}\n.oui-pl-10 {\n padding-left: 2.5rem;\n}\n.oui-pl-2 {\n padding-left: 0.5rem;\n}\n.oui-pl-2\\.5 {\n padding-left: 0.625rem;\n}\n.oui-pl-3 {\n padding-left: 0.75rem;\n}\n.oui-pl-4 {\n padding-left: 1rem;\n}\n.oui-pl-5 {\n padding-left: 1.25rem;\n}\n.oui-pl-6 {\n padding-left: 1.5rem;\n}\n.oui-pl-7 {\n padding-left: 1.75rem;\n}\n.oui-pl-8 {\n padding-left: 2rem;\n}\n.oui-pl-9 {\n padding-left: 2.25rem;\n}\n.oui-pr-0 {\n padding-right: 0px;\n}\n.oui-pr-1 {\n padding-right: 0.25rem;\n}\n.oui-pr-1\\.5 {\n padding-right: 0.375rem;\n}\n.oui-pr-10 {\n padding-right: 2.5rem;\n}\n.oui-pr-12 {\n padding-right: 3rem;\n}\n.oui-pr-2 {\n padding-right: 0.5rem;\n}\n.oui-pr-2\\.5 {\n padding-right: 0.625rem;\n}\n.oui-pr-3 {\n padding-right: 0.75rem;\n}\n.oui-pr-4 {\n padding-right: 1rem;\n}\n.oui-pr-5 {\n padding-right: 1.25rem;\n}\n.oui-pr-6 {\n padding-right: 1.5rem;\n}\n.oui-pr-7 {\n padding-right: 1.75rem;\n}\n.oui-pr-8 {\n padding-right: 2rem;\n}\n.oui-pr-9 {\n padding-right: 2.25rem;\n}\n.oui-pr-\\[-4px\\] {\n padding-right: -4px;\n}\n.oui-pr-\\[5px\\] {\n padding-right: 5px;\n}\n.oui-pr-\\[6px\\] {\n padding-right: 6px;\n}\n.oui-pt-0 {\n padding-top: 0px;\n}\n.oui-pt-1 {\n padding-top: 0.25rem;\n}\n.oui-pt-10 {\n padding-top: 2.5rem;\n}\n.oui-pt-2 {\n padding-top: 0.5rem;\n}\n.oui-pt-3 {\n padding-top: 0.75rem;\n}\n.oui-pt-4 {\n padding-top: 1rem;\n}\n.oui-pt-5 {\n padding-top: 1.25rem;\n}\n.oui-pt-6 {\n padding-top: 1.5rem;\n}\n.oui-pt-7 {\n padding-top: 1.75rem;\n}\n.oui-pt-8 {\n padding-top: 2rem;\n}\n.oui-pt-9 {\n padding-top: 2.25rem;\n}\n.oui-pt-\\[2px\\] {\n padding-top: 2px;\n}\n.oui-pt-\\[6px\\] {\n padding-top: 6px;\n}\n.oui-text-left {\n text-align: left;\n}\n.oui-text-center {\n text-align: center;\n}\n.oui-text-right {\n text-align: right;\n}\n.oui-text-end {\n text-align: end;\n}\n.\\!oui-text-\\[10px\\] {\n font-size: 10px !important;\n}\n.oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n}\n.oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n}\n.oui-text-3xs {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.oui-text-4xl {\n font-size: var(--oui-font-size-4xl, 1.875rem);\n line-height: 2.375rem;\n}\n.oui-text-5xl {\n font-size: var(--oui-font-size-5xl, 2.25rem);\n line-height: 2.75rem;\n}\n.oui-text-6xl {\n font-size: var(--oui-font-size-6xl, 3rem);\n line-height: 3rem;\n}\n.oui-text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n}\n.oui-text-\\[10px\\] {\n font-size: 10px;\n}\n.oui-text-\\[11px\\] {\n font-size: 11px;\n}\n.oui-text-\\[14px\\] {\n font-size: 14px;\n}\n.oui-text-\\[16px\\] {\n font-size: 16px;\n}\n.oui-text-\\[18px\\] {\n font-size: 18px;\n}\n.oui-text-\\[20px\\] {\n font-size: 20px;\n}\n.oui-text-\\[24px\\] {\n font-size: 24px;\n}\n.oui-text-\\[28px\\] {\n font-size: 28px;\n}\n.oui-text-\\[32px\\] {\n font-size: 32px;\n}\n.oui-text-\\[36px\\] {\n font-size: 36px;\n}\n.oui-text-\\[48px\\] {\n font-size: 48px;\n}\n.oui-text-\\[56px\\] {\n font-size: 56px;\n}\n.oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n}\n.oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n}\n.oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.oui-font-bold {\n font-weight: 700;\n}\n.oui-font-medium {\n font-weight: 500;\n}\n.oui-font-normal {\n font-weight: 400;\n}\n.oui-font-semibold {\n font-weight: 600;\n}\n.oui-tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n.oui-leading-10 {\n line-height: 2.5rem;\n}\n.oui-leading-3 {\n line-height: .75rem;\n}\n.oui-leading-4 {\n line-height: 1rem;\n}\n.oui-leading-\\[0px\\] {\n line-height: 0px;\n}\n.oui-leading-\\[1\\.5\\] {\n line-height: 1.5;\n}\n.oui-leading-\\[10px\\] {\n line-height: 10px;\n}\n.oui-leading-\\[14px\\] {\n line-height: 14px;\n}\n.oui-leading-\\[15px\\] {\n line-height: 15px;\n}\n.oui-leading-\\[16px\\] {\n line-height: 16px;\n}\n.oui-leading-\\[18px\\] {\n line-height: 18px;\n}\n.oui-leading-\\[20px\\] {\n line-height: 20px;\n}\n.oui-leading-\\[24px\\] {\n line-height: 24px;\n}\n.oui-leading-\\[26px\\] {\n line-height: 26px;\n}\n.oui-leading-\\[28px\\] {\n line-height: 28px;\n}\n.oui-leading-\\[32px\\] {\n line-height: 32px;\n}\n.oui-leading-\\[36px\\] {\n line-height: 36px;\n}\n.oui-leading-\\[40px\\] {\n line-height: 40px;\n}\n.oui-leading-\\[44px\\] {\n line-height: 44px;\n}\n.oui-leading-\\[56px\\] {\n line-height: 56px;\n}\n.oui-leading-none {\n line-height: 1;\n}\n.oui-leading-normal {\n line-height: 1.5;\n}\n.oui-leading-relaxed {\n line-height: 1.625;\n}\n.oui-tracking-tight {\n letter-spacing: -0.025em;\n}\n.oui-tracking-widest {\n letter-spacing: 0.1em;\n}\n.oui-text-\\[\\#63666D\\] {\n --tw-text-opacity: 1;\n color: rgb(99 102 109 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#D25f00\\] {\n --tw-text-opacity: 1;\n color: rgb(210 95 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#FF7D00\\] {\n --tw-text-opacity: 1;\n color: rgb(255 125 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-text-\\[rgba\\(0\\,0\\,0\\,\\.88\\)\\] {\n color: rgba(0,0,0,.88);\n}\n.oui-text-\\[rgba\\(0\\,0\\,0\\,0\\.88\\)\\] {\n color: rgba(0,0,0,0.88);\n}\n.oui-text-\\[rgba\\(255\\,154\\,46\\,1\\)\\] {\n color: rgba(255,154,46,1);\n}\n.oui-text-base-1 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-1) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-5 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-5) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-6 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-6) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-8 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-8) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-contrast {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-text-base-contrast-12 {\n color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-text-base-contrast-36 {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-text-base-contrast-54 {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-text-base-contrast\\/30 {\n color: rgb(var(--oui-color-base-foreground) / 0.3);\n}\n.oui-text-base-contrast\\/40 {\n color: rgb(var(--oui-color-base-foreground) / 0.4);\n}\n.oui-text-base-contrast\\/60 {\n color: rgb(var(--oui-color-base-foreground) / 0.6);\n}\n.oui-text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-black\\/\\[\\.88\\] {\n color: rgb(0 0 0 / .88);\n}\n.oui-text-black\\/\\[0\\.2\\] {\n color: rgb(0 0 0 / 0.2);\n}\n.oui-text-black\\/\\[0\\.88\\] {\n color: rgb(0 0 0 / 0.88);\n}\n.oui-text-current {\n color: currentColor;\n}\n.oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-gray-200 {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.oui-text-gray-300 {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n}\n.oui-text-inherit {\n color: inherit;\n}\n.oui-text-primary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-light\\/60 {\n color: rgb(var(--oui-color-primary-light) / 0.6);\n}\n.oui-text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.oui-text-secondary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-secondary) / var(--tw-text-opacity, 1));\n}\n.oui-text-secondary\\/\\[0\\.36\\] {\n color: rgb(var(--oui-color-secondary) / 0.36);\n}\n.oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-tertiary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-tertiary) / var(--tw-text-opacity, 1));\n}\n.oui-text-trade-loss {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-trading-loss) / var(--tw-text-opacity, 1));\n}\n.oui-text-trade-profit {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-trading-profit) / var(--tw-text-opacity, 1));\n}\n.oui-text-transparent {\n color: transparent;\n}\n.oui-text-warning {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.oui-text-white\\/\\[\\.36\\] {\n color: rgb(255 255 255 / .36);\n}\n.oui-underline {\n text-decoration-line: underline;\n}\n.oui-no-underline {\n text-decoration-line: none;\n}\n.oui-decoration-base-contrast-36 {\n text-decoration-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-decoration-line-16 {\n text-decoration-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-decoration-warning-darken {\n text-decoration-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-decoration-white\\/20 {\n text-decoration-color: rgb(255 255 255 / 0.2);\n}\n.oui-decoration-dashed {\n text-decoration-style: dashed;\n}\n.oui-decoration-1 {\n text-decoration-thickness: 1px;\n}\n.oui-underline-offset-2 {\n text-underline-offset: 2px;\n}\n.oui-underline-offset-4 {\n text-underline-offset: 4px;\n}\n.oui-placeholder-base-contrast-20::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-placeholder-base-contrast-20::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-caret-\\[rgba\\(217\\,217\\,217\\,1\\)\\] {\n caret-color: rgba(217,217,217,1);\n}\n.oui-opacity-0 {\n opacity: 0;\n}\n.oui-opacity-100 {\n opacity: 1;\n}\n.oui-opacity-20 {\n opacity: 0.2;\n}\n.oui-opacity-30 {\n opacity: 0.3;\n}\n.oui-opacity-40 {\n opacity: 0.4;\n}\n.oui-opacity-50 {\n opacity: 0.5;\n}\n.oui-opacity-60 {\n opacity: 0.6;\n}\n.oui-opacity-70 {\n opacity: 0.7;\n}\n.oui-opacity-80 {\n opacity: 0.8;\n}\n.oui-opacity-\\[\\.12\\] {\n opacity: .12;\n}\n.oui-bg-blend-luminosity {\n background-blend-mode: luminosity;\n}\n.oui-mix-blend-screen {\n mix-blend-mode: screen;\n}\n.oui-mix-blend-luminosity {\n mix-blend-mode: luminosity;\n}\n.\\!oui-shadow-none {\n --tw-shadow: 0 0 #0000 !important;\n --tw-shadow-colored: 0 0 #0000 !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.oui-shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-\\[0_0_8px_4px_rgba\\(var\\(--oui-gradient-brand-start\\)\\/0\\.12\\)\\] {\n --tw-shadow: 0 0 8px 4px rgba(var(--oui-gradient-brand-start)/0.12);\n --tw-shadow-colored: 0 0 8px 4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-\\[0px_12px_20px_0px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\] {\n --tw-shadow: 0px 12px 20px 0px rgba(0,0,0,0.25);\n --tw-shadow-colored: 0px 12px 20px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-inner {\n --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-none {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-base-9 {\n --tw-shadow-color: rgb(var(--oui-color-base-9) / 1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.oui-outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.oui-outline {\n outline-style: solid;\n}\n.oui-outline-1 {\n outline-width: 1px;\n}\n.oui-outline-2 {\n outline-width: 2px;\n}\n.oui-outline-offset-0 {\n outline-offset: 0px;\n}\n.oui-outline-base-1 {\n outline-color: rgb(var(--oui-color-base-1) / 1);\n}\n.oui-outline-base-8 {\n outline-color: rgb(var(--oui-color-base-8) / 1);\n}\n.oui-outline-base-contrast-12 {\n outline-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.oui-outline-danger-light {\n outline-color: rgb(var(--oui-color-danger-light) / 1);\n}\n.oui-outline-line-12 {\n outline-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-outline-primary-darken {\n outline-color: rgb(var(--oui-color-primary-darken) / 1);\n}\n.oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n}\n.oui-outline-transparent {\n outline-color: transparent;\n}\n.oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-outline-warning-light {\n outline-color: rgb(var(--oui-color-warning-light) / 1);\n}\n.oui-ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.oui-blur-\\[200px\\] {\n --tw-blur: blur(200px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.oui-drop-shadow {\n --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.oui-backdrop-blur-\\[10px\\] {\n --tw-backdrop-blur: blur(10px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.oui-backdrop-blur-\\[200px\\] {\n --tw-backdrop-blur: blur(200px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.oui-backdrop-blur-\\[2px\\] {\n --tw-backdrop-blur: blur(2px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.\\!oui-transition-none {\n transition-property: none !important;\n}\n.oui-transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-\\[height\\] {\n transition-property: height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-\\[max-height\\] {\n transition-property: max-height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-duration-150 {\n transition-duration: 150ms;\n}\n.oui-duration-200 {\n transition-duration: 200ms;\n}\n.oui-duration-300 {\n transition-duration: 300ms;\n}\n.oui-ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.oui-gradient-primary {\n background-image: linear-gradient(var(--oui-gradient-primary-angle, 28.29deg), rgb(var(--oui-gradient-primary-start)) var(--oui-gradient-primary-stop-start,0%), rgb(var(--oui-gradient-primary-end)) var(--oui-gradient-primary-stop-end,100%));\n}\n.oui-gradient-secondary {\n background-image: linear-gradient(var(--oui-gradient-secondary-angle, 0deg), rgb(var(--oui-gradient-secondary-start)) var(--oui-gradient-secondary-stop-start,0%), rgb(var(--oui-gradient-secondary-end)) var(--oui-gradient-secondary-stop-end,100%));\n}\n.oui-gradient-success {\n background-image: linear-gradient(var(--oui-gradient-success-angle, 28.29deg), rgb(var(--oui-gradient-success-start)) var(--oui-gradient-success-stop-start,0%), rgba(var(--oui-gradient-success-end)) var(--oui-gradient-success-stop-end,100%));\n}\n.oui-gradient-warning {\n background-image: linear-gradient(var(--oui-gradient-warning-angle, 28.29deg),rgb(var(--oui-gradient-warning-start)) var(--oui-gradient-warning-stop-start,0%), rgb(var(--oui-gradient-warning-end)) var(--oui-gradient-warning-stop-end,100%));\n}\n.oui-gradient-danger {\n background-image: linear-gradient(var(--oui-gradient-danger-angle, 28.29deg), rgb(var(--oui-gradient-danger-start)) var(--oui-gradient-danger-stop-start,0%), rgb(var(--oui-gradient-danger-end)) var(--oui-gradient-danger-stop-end,100%));\n}\n.oui-gradient-neutral {\n background-image: linear-gradient(var(--oui-gradient-neutral-angle, 28.29deg), rgb(var(--oui-gradient-neutral-start)) var(--oui-gradient-neutral-stop-start,0%), rgb(var(--oui-gradient-neutral-end)) var(--oui-gradient-neutral-stop-end,100%));\n}\n.oui-gradient-brand {\n background-image: linear-gradient(var(--oui-gradient-brand-angle, 17.44deg), rgb(var(--oui-gradient-brand-start)) var(--oui-gradient-brand-stop-start,0%), rgb(var(--oui-gradient-brand-end)) var(--oui-gradient-brand-stop-end,100%));\n}\n@keyframes enter {\n\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n.oui-animate-in {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.oui-fade-in {\n --tw-enter-opacity: 0;\n}\n.oui-fade-in-0 {\n --tw-enter-opacity: 0;\n}\n.oui-fade-out {\n --tw-exit-opacity: 0;\n}\n.oui-zoom-in-95 {\n --tw-enter-scale: .95;\n}\n.oui-slide-in-from-bottom-2 {\n --tw-enter-translate-y: 0.5rem;\n}\n.oui-slide-in-from-top-2 {\n --tw-enter-translate-y: -0.5rem;\n}\n.oui-duration-150 {\n animation-duration: 150ms;\n}\n.oui-duration-200 {\n animation-duration: 200ms;\n}\n.oui-duration-300 {\n animation-duration: 300ms;\n}\n.oui-ease-in-out {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.marker\\:oui-text-3xs *::marker {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.marker\\:oui-text-3xs::marker {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-xs::-moz-placeholder {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-xs::placeholder {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-base-contrast-20::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.placeholder\\:oui-text-base-contrast-20::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.placeholder\\:oui-text-base-contrast-54::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.placeholder\\:oui-text-base-contrast-54::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.before\\:oui-absolute::before {\n content: var(--tw-content);\n position: absolute;\n}\n.before\\:oui-left-\\[-32px\\]::before {\n content: var(--tw-content);\n left: -32px;\n}\n.before\\:oui-right-\\[-32px\\]::before {\n content: var(--tw-content);\n right: -32px;\n}\n.before\\:oui-top-0::before {\n content: var(--tw-content);\n top: 0px;\n}\n.before\\:oui-z-\\[-1\\]::before {\n content: var(--tw-content);\n z-index: -1;\n}\n.before\\:oui-block::before {\n content: var(--tw-content);\n display: block;\n}\n.before\\:oui-h-full::before {\n content: var(--tw-content);\n height: 100%;\n}\n.before\\:oui-w-\\[32px\\]::before {\n content: var(--tw-content);\n width: 32px;\n}\n.before\\:oui-rotate-180::before {\n content: var(--tw-content);\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.before\\:oui-bg-\\[linear-gradient\\(90deg\\2c rgba\\(var\\(--oui-color-base-10\\)_\\/_0\\.80\\)_0\\%\\2c rgba\\(var\\(--oui-color-base-10\\)_\\/_0\\.36\\)_65\\%\\2c rgba\\(var\\(--oui-color-base-10\\)_\\/_0\\.00\\)_100\\%\\)\\]::before {\n content: var(--tw-content);\n background-image: linear-gradient(90deg,rgba(var(--oui-color-base-10) / 0.80) 0%,rgba(var(--oui-color-base-10) / 0.36) 65%,rgba(var(--oui-color-base-10) / 0.00) 100%);\n}\n.after\\:oui-absolute::after {\n content: var(--tw-content);\n position: absolute;\n}\n.after\\:oui-bottom-\\[-8px\\]::after {\n content: var(--tw-content);\n bottom: -8px;\n}\n.after\\:oui-left-0::after {\n content: var(--tw-content);\n left: 0px;\n}\n.after\\:oui-left-1\\/2::after {\n content: var(--tw-content);\n left: 50%;\n}\n.after\\:oui-right-0::after {\n content: var(--tw-content);\n right: 0px;\n}\n.after\\:oui-top-0::after {\n content: var(--tw-content);\n top: 0px;\n}\n.after\\:oui-top-\\[2px\\]::after {\n content: var(--tw-content);\n top: 2px;\n}\n.after\\:oui-z-\\[-1\\]::after {\n content: var(--tw-content);\n z-index: -1;\n}\n.after\\:oui-block::after {\n content: var(--tw-content);\n display: block;\n}\n.after\\:oui-size-full::after {\n content: var(--tw-content);\n width: 100%;\n height: 100%;\n}\n.after\\:\\!oui-h-\\[2px\\]::after {\n content: var(--tw-content);\n height: 2px !important;\n}\n.after\\:oui-h-0::after {\n content: var(--tw-content);\n height: 0px;\n}\n.after\\:oui-h-\\[2px\\]::after {\n content: var(--tw-content);\n height: 2px;\n}\n.after\\:oui-h-\\[30px\\]::after {\n content: var(--tw-content);\n height: 30px;\n}\n.after\\:oui-h-\\[40px\\]::after {\n content: var(--tw-content);\n height: 40px;\n}\n.after\\:oui-h-\\[48px\\]::after {\n content: var(--tw-content);\n height: 48px;\n}\n.after\\:\\!oui-w-\\[2px\\]::after {\n content: var(--tw-content);\n width: 2px !important;\n}\n.after\\:oui-w-0::after {\n content: var(--tw-content);\n width: 0px;\n}\n.after\\:oui-w-\\[10px\\]::after {\n content: var(--tw-content);\n width: 10px;\n}\n.after\\:oui-w-full::after {\n content: var(--tw-content);\n width: 100%;\n}\n.after\\:oui-translate-x-\\[-50\\%\\]::after {\n content: var(--tw-content);\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.after\\:oui-rounded-l-lg::after {\n content: var(--tw-content);\n border-top-left-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-left-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.after\\:oui-rounded-r-lg::after {\n content: var(--tw-content);\n border-top-right-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.after\\:oui-border-4::after {\n content: var(--tw-content);\n border-width: 4px;\n}\n.after\\:oui-border-y::after {\n content: var(--tw-content);\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n.after\\:oui-border-b::after {\n content: var(--tw-content);\n border-bottom-width: 1px;\n}\n.after\\:oui-border-l::after {\n content: var(--tw-content);\n border-left-width: 1px;\n}\n.after\\:oui-border-r::after {\n content: var(--tw-content);\n border-right-width: 1px;\n}\n.after\\:oui-border-solid::after {\n content: var(--tw-content);\n border-style: solid;\n}\n.after\\:oui-border-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\]::after {\n content: var(--tw-content);\n border-color: rgb(var(--oui-gradient-brand-start));\n}\n.after\\:oui-border-line::after {\n content: var(--tw-content);\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.after\\:oui-border-transparent::after {\n content: var(--tw-content);\n border-color: transparent;\n}\n.after\\:oui-border-t-danger::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n}\n.after\\:oui-border-t-inherit::after {\n content: var(--tw-content);\n border-top-color: inherit;\n}\n.after\\:oui-border-t-primary::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-primary) / var(--tw-border-opacity, 1));\n}\n.after\\:oui-border-t-primary-light::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.after\\:oui-border-t-success::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-success) / var(--tw-border-opacity, 1));\n}\n.after\\:\\!oui-bg-transparent::after {\n content: var(--tw-content);\n background-color: transparent !important;\n}\n.after\\:oui-bg-white\\/50::after {\n content: var(--tw-content);\n background-color: rgb(255 255 255 / 0.5);\n}\n.after\\:\\!oui-shadow-transparent::after {\n content: var(--tw-content);\n --tw-shadow-color: transparent !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.after\\:oui-content-\\[\\'\\'\\]::after {\n --tw-content: '';\n content: var(--tw-content);\n}\n.autofill\\:oui-bg-transparent:-webkit-autofill {\n background-color: transparent;\n}\n.autofill\\:oui-bg-transparent:autofill {\n background-color: transparent;\n}\n.focus-within\\:oui-relative:focus-within {\n position: relative;\n}\n.focus-within\\:oui-z-20:focus-within {\n z-index: 20;\n}\n.focus-within\\:oui-border-danger-light:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.focus-within\\:oui-border-warning-light:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.focus-within\\:oui-outline-0:focus-within {\n outline-width: 0px;\n}\n.focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.focus-within\\:oui-outline-danger-light:focus-within {\n outline-color: rgb(var(--oui-color-danger-light) / 1);\n}\n.focus-within\\:oui-outline-line-12:focus-within {\n outline-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.focus-within\\:oui-outline-primary-darken:focus-within {\n outline-color: rgb(var(--oui-color-primary-darken) / 1);\n}\n.focus-within\\:oui-outline-primary-light:focus-within {\n outline-color: rgb(var(--oui-color-primary-light) / 1);\n}\n.focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n}\n.focus-within\\:oui-outline-transparent:focus-within {\n outline-color: transparent;\n}\n.focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.focus-within\\:oui-outline-warning-light:focus-within {\n outline-color: rgb(var(--oui-color-warning-light) / 1);\n}\n.hover\\:oui-cursor-pointer:hover {\n cursor: pointer;\n}\n.hover\\:oui-rounded:hover {\n border-radius: var(--oui-rounded, 0.25rem);\n}\n.hover\\:oui-rounded-md:hover {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.hover\\:oui-border-base-contrast:hover {\n border-color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.hover\\:oui-border-base-contrast-16:hover {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.hover\\:oui-border-primary-light:hover {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.hover\\:\\!oui-bg-primary-light:hover {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1)) !important;\n}\n.hover\\:oui-bg-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\]\\/\\[0\\.08\\]:hover {\n background-color: rgb(var(--oui-gradient-brand-start) / 0.08);\n}\n.hover\\:oui-bg-base-2\\/10:hover {\n background-color: rgb(var(--oui-color-base-2) / 0.1);\n}\n.hover\\:oui-bg-base-2\\/50:hover {\n background-color: rgb(var(--oui-color-base-2) / 0.5);\n}\n.hover\\:oui-bg-base-2\\/80:hover {\n background-color: rgb(var(--oui-color-base-2) / 0.8);\n}\n.hover\\:oui-bg-base-3:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-4:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-4\\/20:hover {\n background-color: rgb(var(--oui-color-base-4) / 0.2);\n}\n.hover\\:oui-bg-base-4\\/80:hover {\n background-color: rgb(var(--oui-color-base-4) / 0.8);\n}\n.hover\\:oui-bg-base-5:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-6:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-7:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-8:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-danger-darken\\/80:hover {\n background-color: rgb(var(--oui-color-danger-darken) / 0.8);\n}\n.hover\\:oui-bg-danger\\/10:hover {\n background-color: rgb(var(--oui-color-danger) / 0.1);\n}\n.hover\\:oui-bg-danger\\/20:hover {\n background-color: rgb(var(--oui-color-danger) / 0.2);\n}\n.hover\\:oui-bg-danger\\/80:hover {\n background-color: rgb(var(--oui-color-danger) / 0.8);\n}\n.hover\\:oui-bg-primary-darken:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-primary-darken\\/10:hover {\n background-color: rgb(var(--oui-color-primary-darken) / 0.1);\n}\n.hover\\:oui-bg-primary-darken\\/20:hover {\n background-color: rgb(var(--oui-color-primary-darken) / 0.2);\n}\n.hover\\:oui-bg-primary-darken\\/80:hover {\n background-color: rgb(var(--oui-color-primary-darken) / 0.8);\n}\n.hover\\:oui-bg-primary-light\\/20:hover {\n background-color: rgb(var(--oui-color-primary-light) / 0.2);\n}\n.hover\\:oui-bg-success-darken\\/80:hover {\n background-color: rgb(var(--oui-color-success-darken) / 0.8);\n}\n.hover\\:oui-bg-success\\/10:hover {\n background-color: rgb(var(--oui-color-success) / 0.1);\n}\n.hover\\:oui-bg-success\\/20:hover {\n background-color: rgb(var(--oui-color-success) / 0.2);\n}\n.hover\\:oui-bg-success\\/80:hover {\n background-color: rgb(var(--oui-color-success) / 0.8);\n}\n.hover\\:oui-bg-transparent:hover {\n background-color: transparent;\n}\n.hover\\:oui-bg-warning-darken\\/10:hover {\n background-color: rgb(var(--oui-color-warning-darken) / 0.1);\n}\n.hover\\:oui-bg-warning-darken\\/20:hover {\n background-color: rgb(var(--oui-color-warning-darken) / 0.2);\n}\n.hover\\:oui-bg-warning-darken\\/80:hover {\n background-color: rgb(var(--oui-color-warning-darken) / 0.8);\n}\n.hover\\:oui-bg-white\\/80:hover {\n background-color: rgb(255 255 255 / 0.8);\n}\n.hover\\:oui-fill-base-contrast:hover {\n fill: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.hover\\:oui-fill-base-contrast-80:hover {\n fill: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.hover\\:oui-fill-primary-darken:hover {\n fill: rgb(var(--oui-color-primary-darken) / 1);\n}\n.hover\\:oui-fill-primary-light:hover {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.hover\\:oui-fill-white\\/80:hover {\n fill: rgb(255 255 255 / 0.8);\n}\n.hover\\:oui-fill-white\\/\\[\\.98\\]:hover {\n fill: rgb(255 255 255 / .98);\n}\n.hover\\:oui-text-\\[rgba\\(255\\2c 154\\2c 46\\2c 1\\)\\]:hover {\n color: rgba(255,154,46,1);\n}\n.hover\\:oui-text-base-contrast:hover {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.hover\\:oui-text-base-contrast-54:hover {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.hover\\:oui-text-base-contrast-80:hover {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.hover\\:oui-text-primary-darken:hover {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-darken) / var(--tw-text-opacity, 1));\n}\n.hover\\:oui-text-secondary\\/80:hover {\n color: rgb(var(--oui-color-secondary) / 0.8);\n}\n.hover\\:oui-text-warning-darken:hover {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n}\n.hover\\:oui-text-white\\/80:hover {\n color: rgb(255 255 255 / 0.8);\n}\n.hover\\:oui-opacity-100:hover {\n opacity: 1;\n}\n.hover\\:oui-opacity-80:hover {\n opacity: 0.8;\n}\n.hover\\:\\!oui-shadow-\\[0px_0px_4px_0px\\]:hover {\n --tw-shadow: 0px 0px 4px 0px !important;\n --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.hover\\:\\!oui-shadow-primary-light\\/80:hover {\n --tw-shadow-color: rgb(var(--oui-color-primary-light) / 0.8) !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.focus\\:oui-h-4:focus {\n height: 1rem;\n}\n.focus\\:oui-h-\\[14px\\]:focus {\n height: 14px;\n}\n.focus\\:oui-w-4:focus {\n width: 1rem;\n}\n.focus\\:oui-w-\\[14px\\]:focus {\n width: 14px;\n}\n.focus\\:oui-border-2:focus {\n border-width: 2px;\n}\n.focus\\:oui-border-\\[3px\\]:focus {\n border-width: 3px;\n}\n.focus\\:oui-border-danger-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.focus\\:oui-border-primary-darken:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-darken) / var(--tw-border-opacity, 1));\n}\n.focus\\:oui-border-primary-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.focus\\:oui-border-warning-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.focus\\:\\!oui-bg-primary-light:focus {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1)) !important;\n}\n.focus\\:\\!oui-shadow-\\[0px_0px_4px_0px\\]:focus {\n --tw-shadow: 0px 0px 4px 0px !important;\n --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.focus\\:oui-shadow-\\[0_0_0_8px\\]:focus {\n --tw-shadow: 0 0 0 8px;\n --tw-shadow-colored: 0 0 0 8px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.focus\\:\\!oui-shadow-primary-light\\/80:focus {\n --tw-shadow-color: rgb(var(--oui-color-primary-light) / 0.8) !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.focus\\:oui-shadow-base-contrast\\/20:focus {\n --tw-shadow-color: rgb(var(--oui-color-base-foreground) / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.focus\\:oui-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus\\:oui-ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:oui-ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n}\n.focus\\:oui-ring-transparent:focus {\n --tw-ring-color: transparent;\n}\n.focus\\:oui-ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n.focus-visible\\:oui-outline-none:focus-visible {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus-visible\\:oui-outline-danger:focus-visible {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.focus-visible\\:oui-ring-1:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:oui-ring-2:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:oui-ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n.active\\:\\!oui-bg-primary-light:active {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1)) !important;\n}\n.active\\:oui-bg-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\]\\/\\[0\\.08\\]:active {\n background-color: rgb(var(--oui-gradient-brand-start) / 0.08);\n}\n.active\\:oui-bg-base-2\\/70:active {\n background-color: rgb(var(--oui-color-base-2) / 0.7);\n}\n.active\\:oui-bg-base-4\\/70:active {\n background-color: rgb(var(--oui-color-base-4) / 0.7);\n}\n.active\\:oui-bg-base-6:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.active\\:oui-bg-danger-darken\\/80:active {\n background-color: rgb(var(--oui-color-danger-darken) / 0.8);\n}\n.active\\:oui-bg-danger\\/70:active {\n background-color: rgb(var(--oui-color-danger) / 0.7);\n}\n.active\\:oui-bg-primary-darken\\/70:active {\n background-color: rgb(var(--oui-color-primary-darken) / 0.7);\n}\n.active\\:oui-bg-success-darken\\/80:active {\n background-color: rgb(var(--oui-color-success-darken) / 0.8);\n}\n.active\\:oui-bg-success\\/70:active {\n background-color: rgb(var(--oui-color-success) / 0.7);\n}\n.active\\:oui-bg-warning-darken\\/70:active {\n background-color: rgb(var(--oui-color-warning-darken) / 0.7);\n}\n.active\\:oui-bg-white\\/50:active {\n background-color: rgb(255 255 255 / 0.5);\n}\n.active\\:\\!oui-shadow-\\[0px_0px_4px_0px\\]:active {\n --tw-shadow: 0px 0px 4px 0px !important;\n --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.active\\:\\!oui-shadow-primary-light\\/80:active {\n --tw-shadow-color: rgb(var(--oui-color-primary-light) / 0.8) !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.active\\:oui-outline-none:active {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.disabled\\:oui-pointer-events-none:disabled {\n pointer-events: none;\n}\n.disabled\\:oui-cursor-default:disabled {\n cursor: default;\n}\n.disabled\\:oui-cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n.disabled\\:oui-border-base-contrast-16:disabled {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.disabled\\:oui-bg-base-3:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.disabled\\:oui-bg-base-7:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.disabled\\:oui-bg-transparent:disabled {\n background-color: transparent;\n}\n.disabled\\:oui-bg-white\\/30:disabled {\n background-color: rgb(255 255 255 / 0.3);\n}\n.disabled\\:oui-text-base-contrast-20:disabled {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.disabled\\:oui-text-base-contrast-36:disabled {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.disabled\\:oui-text-black\\/\\[\\.36\\]:disabled {\n color: rgb(0 0 0 / .36);\n}\n.disabled\\:oui-opacity-30:disabled {\n opacity: 0.3;\n}\n.disabled\\:oui-opacity-50:disabled {\n opacity: 0.5;\n}\n.disabled\\:hover\\:oui-bg-base-3:hover:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.disabled\\:hover\\:oui-bg-transparent:hover:disabled {\n background-color: transparent;\n}\n.hover\\:disabled\\:oui-bg-white\\/30:disabled:hover {\n background-color: rgb(255 255 255 / 0.3);\n}\n.oui-group:first-child .group-first\\:oui-rounded-t-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-top-right-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-group:last-child .group-last\\:oui-rounded-b-xl {\n border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-group:hover .group-hover\\:oui-visible {\n visibility: visible;\n}\n.oui-group:hover .group-hover\\:oui-invisible {\n visibility: hidden;\n}\n.oui-group:hover .group-hover\\:oui-block {\n display: block;\n}\n.oui-group:hover .group-hover\\:oui-inline-flex {\n display: inline-flex;\n}\n.oui-group:hover .group-hover\\:-oui-translate-x-5 {\n --tw-translate-x: -1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group:hover .group-hover\\:oui-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group:hover .group-hover\\:oui-border-primary-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.oui-group:hover .group-hover\\:oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.oui-group:hover .group-hover\\:oui-bg-base-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-group:hover .group-hover\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-group:hover .group-hover\\:oui-bg-line-6 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-group:hover .group-hover\\:oui-bg-transparent {\n background-color: transparent;\n}\n.oui-group\\/icon:hover .group-hover\\/icon\\:oui-fill-primary-contrast {\n fill: rgb(var(--oui-color-primary-contrast) / 1);\n}\n.oui-group:hover .group-hover\\:oui-fill-base-contrast-80 {\n fill: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-group:hover .group-hover\\:oui-text-base-contrast {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-group:hover .group-hover\\:oui-text-base-contrast-54 {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-group:hover .group-hover\\:oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-group:hover .group-hover\\:oui-text-transparent {\n color: transparent;\n}\n.oui-group:hover .group-hover\\:oui-opacity-100 {\n opacity: 1;\n}\n.oui-group:hover .group-hover\\:oui-will-change-\\[max-height\\] {\n will-change: max-height;\n}\n.oui-group:focus .group-focus\\:oui-inline-block {\n display: inline-block;\n}\n.oui-peer:focus ~ .peer-focus\\:oui-visible {\n visibility: visible;\n}\n.has-\\[\\&\\>\\*\\:nth-child\\(1\\)\\]\\:oui-bg-red-400:has(.has-\\[\\&\\>\\*\\:nth-child\\(1\\)\\]\\:oui-bg-red-400>*:nth-child(1)) {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));\n}\n.has-\\[button\\]\\:oui-bg-red-50:has(button) {\n --tw-bg-opacity: 1;\n background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n.has-\\[\\&_\\+_div\\]\\:oui-pb-3:has(.has-\\[\\&_\\+_div\\]\\:oui-pb-3 + div) {\n padding-bottom: 0.75rem;\n}\n.aria-selected\\:oui-opacity-100[aria-selected=\"true\"] {\n opacity: 1;\n}\n.aria-selected\\:oui-opacity-30[aria-selected=\"true\"] {\n opacity: 0.3;\n}\n.data-\\[disabled\\]\\:oui-pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n.data-\\[disabled\\]\\:oui-hidden[data-disabled] {\n display: none;\n}\n.data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[state\\=checked\\]\\:oui-translate-x-\\[15px\\][data-state=\"checked\"] {\n --tw-translate-x: 15px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[state\\=unchecked\\]\\:oui-translate-x-\\[3px\\][data-state=\"unchecked\"] {\n --tw-translate-x: 3px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes oui-collapsible-up {\n\n from {\n height: var(--radix-collapsible-content-height);\n }\n\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:oui-animate-collapsible-up[data-state=\"closed\"] {\n animation: oui-collapsible-up 0.2s ease-out;\n}\n@keyframes oui-collapsible-down {\n\n from {\n height: 0;\n }\n\n to {\n height: var(--radix-collapsible-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:oui-animate-collapsible-down[data-state=\"open\"] {\n animation: oui-collapsible-down 0.2s ease-out;\n}\n.data-\\[state\\=checked\\]\\:oui-border-none[data-state=\"checked\"] {\n border-style: none;\n}\n.data-\\[disabled\\]\\:oui-border-base-2[data-disabled] {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-2) / var(--tw-border-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-border-base-contrast-20[data-state=\"checked\"] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.data-\\[active\\=true\\]\\:oui-bg-base-5[data-active=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.data-\\[disabled\\]\\:oui-bg-base-2[data-disabled] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-2) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:oui-bg-base-5[data-state=\"active\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-base-5[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-danger[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-primary-darken[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-success[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-transparent[data-state=\"checked\"] {\n background-color: transparent;\n}\n.data-\\[state\\=checked\\]\\:oui-bg-warning-darken[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-white\\/80[data-state=\"checked\"] {\n background-color: rgb(255 255 255 / 0.8);\n}\n.data-\\[state\\=open\\]\\:oui-bg-secondary[data-state=\"open\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-secondary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-base-1[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-1) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-danger[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-success[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-warning-darken[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:oui-text-base-contrast[data-state=\"active\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.data-\\[state\\=checked\\]\\:oui-text-\\[rgba\\(0\\2c 0\\2c 0\\2c 0\\.88\\)\\][data-state=\"checked\"] {\n color: rgba(0,0,0,0.88);\n}\n.data-\\[state\\=checked\\]\\:oui-text-base-contrast[data-state=\"checked\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.data-\\[state\\=checked\\]\\:oui-text-base-contrast-80[data-state=\"checked\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.data-\\[state\\=open\\]\\:oui-text-base-contrast-80[data-state=\"open\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.data-\\[disabled\\]\\:oui-opacity-50[data-disabled] {\n opacity: 0.5;\n}\n.data-\\[state\\=open\\]\\:oui-duration-300[data-state=\"open\"] {\n transition-duration: 300ms;\n}\n.data-\\[state\\=open\\]\\:oui-animate-in[data-state=\"open\"] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:oui-animate-out[data-state=\"closed\"] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:oui-fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=open\\]\\:oui-fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:oui-zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n}\n.data-\\[state\\=open\\]\\:oui-zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n}\n.data-\\[side\\=bottom\\]\\:oui-slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -0.5rem;\n}\n.data-\\[side\\=left\\]\\:oui-slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: 0.5rem;\n}\n.data-\\[side\\=right\\]\\:oui-slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -0.5rem;\n}\n.data-\\[side\\=top\\]\\:oui-slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: 0.5rem;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-bottom[data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-left[data-state=\"closed\"] {\n --tw-exit-translate-x: -100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-left-1\\/2[data-state=\"closed\"] {\n --tw-exit-translate-x: -50%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-right[data-state=\"closed\"] {\n --tw-exit-translate-x: 100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-top[data-state=\"closed\"] {\n --tw-exit-translate-y: -100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-top-\\[48\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-bottom[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-left[data-state=\"open\"] {\n --tw-enter-translate-x: -100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-left-1\\/2[data-state=\"open\"] {\n --tw-enter-translate-x: -50%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-right[data-state=\"open\"] {\n --tw-enter-translate-x: 100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-top[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-top-\\[48\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:oui-duration-300[data-state=\"open\"] {\n animation-duration: 300ms;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-absolute[data-state=\"active\"]::after {\n content: var(--tw-content);\n position: absolute;\n}\n.data-\\[state\\=active\\]\\:after\\:-oui-bottom-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n bottom: -0px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-left-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n left: 0px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-right-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n right: 0px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-block[data-state=\"active\"]::after {\n content: var(--tw-content);\n display: block;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-h-\\[3px\\][data-state=\"active\"]::after {\n content: var(--tw-content);\n height: 3px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-rounded-full[data-state=\"active\"]::after {\n content: var(--tw-content);\n border-radius: var(--oui-rounded-full, 9999px);\n}\n.data-\\[state\\=active\\]\\:after\\:oui-bg-white[data-state=\"active\"]::after {\n content: var(--tw-content);\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:after\\:oui-content-\\[\\'\\'\\][data-state=\"active\"]::after {\n --tw-content: '';\n content: var(--tw-content);\n}\n.data-\\[active\\=false\\]\\:hover\\:oui-bg-base-6:hover[data-active=\"false\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-group[data-active=\"true\"] .group-data-\\[active\\=true\\]\\:oui-visible {\n visibility: visible;\n}\n.oui-group[data-active=\"true\"] .group-data-\\[active\\=true\\]\\:oui-invisible {\n visibility: hidden;\n}\n.oui-group[data-state=\"active\"] .group-data-\\[state\\=active\\]\\:oui-block {\n display: block;\n}\n.oui-group\\/bar[data-state=\"closed\"] .group-data-\\[state\\=closed\\]\\/bar\\:oui-w-\\[42px\\] {\n width: 42px;\n}\n.oui-group[data-open=\"true\"] .group-data-\\[open\\=true\\]\\:oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group[data-state=\"closed\"] .group-data-\\[state\\=closed\\]\\:oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group[data-actived=\"true\"] .group-data-\\[actived\\=true\\]\\:oui-fill-\\[url\\(\\#side-menu-gradient\\)\\] {\n fill: url(#side-menu-gradient);\n}\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-fill-primary-light {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-font-semibold {\n font-weight: 600;\n}\n.oui-peer[data-state=\"closed\"] ~ .peer-data-\\[state\\=closed\\]\\:oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-peer[data-state=\"open\"] ~ .peer-data-\\[state\\=open\\]\\:oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-peer[data-disabled] ~ .peer-data-\\[disabled\\]\\:oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.dark\\:oui-text-gray-600:is(.oui-dark *) {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n@media (max-width: 400px) {\n\n .max-\\[400px\\]\\:oui-text-\\[15px\\] {\n font-size: 15px;\n }\n}\n@media (min-width: 375px) {\n\n .sm\\:oui-flex {\n display: flex;\n }\n\n .sm\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .sm\\:oui-max-w-sm {\n max-width: var(--oui-spacing-sm, 22.5rem);\n }\n\n .sm\\:oui-flex-row {\n flex-direction: row;\n }\n\n .sm\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .sm\\:oui-flex-col {\n flex-direction: column;\n }\n\n .sm\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .sm\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .sm\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .sm\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .sm\\:oui-items-start {\n align-items: flex-start;\n }\n\n .sm\\:oui-items-end {\n align-items: flex-end;\n }\n\n .sm\\:oui-items-center {\n align-items: center;\n }\n\n .sm\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .sm\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .sm\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .sm\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .sm\\:oui-justify-center {\n justify-content: center;\n }\n\n .sm\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .sm\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .sm\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .sm\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .sm\\:oui-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:oui-space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .sm\\:oui-rounded-xl {\n border-radius: var(--oui-rounded-xl, 0.75rem);\n }\n}\n@media (min-width: 480px) {\n\n .md\\:oui-bottom-10 {\n bottom: 2.5rem;\n }\n\n .md\\:oui-left-auto {\n left: auto;\n }\n\n .md\\:oui-right-3 {\n right: 0.75rem;\n }\n\n .md\\:oui-right-4 {\n right: 1rem;\n }\n\n .md\\:oui-top-1\\/2 {\n top: 50%;\n }\n\n .md\\:oui-m-3 {\n margin: 0.75rem;\n }\n\n .md\\:oui-mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n }\n\n .md\\:oui-mt-3 {\n margin-top: 0.75rem;\n }\n\n .md\\:oui-mt-5 {\n margin-top: 1.25rem;\n }\n\n .md\\:oui-block {\n display: block;\n }\n\n .md\\:oui-flex {\n display: flex;\n }\n\n .md\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .md\\:oui-hidden {\n display: none;\n }\n\n .md\\:oui-size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n\n .md\\:oui-h-10 {\n height: 2.5rem;\n }\n\n .md\\:oui-h-12 {\n height: 3rem;\n }\n\n .md\\:oui-h-3 {\n height: 0.75rem;\n }\n\n .md\\:oui-h-4 {\n height: 1rem;\n }\n\n .md\\:oui-h-5 {\n height: 1.25rem;\n }\n\n .md\\:oui-h-6 {\n height: 1.5rem;\n }\n\n .md\\:oui-h-7 {\n height: 1.75rem;\n }\n\n .md\\:oui-h-8 {\n height: 2rem;\n }\n\n .md\\:oui-h-\\[14px\\] {\n height: 14px;\n }\n\n .md\\:oui-h-\\[24px\\] {\n height: 24px;\n }\n\n .md\\:oui-h-\\[46px\\] {\n height: 46px;\n }\n\n .md\\:oui-h-\\[48px\\] {\n height: 48px;\n }\n\n .md\\:oui-h-\\[52px\\] {\n height: 52px;\n }\n\n .md\\:oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .md\\:oui-w-3 {\n width: 0.75rem;\n }\n\n .md\\:oui-w-4 {\n width: 1rem;\n }\n\n .md\\:oui-w-5 {\n width: 1.25rem;\n }\n\n .md\\:oui-w-6 {\n width: 1.5rem;\n }\n\n .md\\:oui-w-\\[14px\\] {\n width: 14px;\n }\n\n .md\\:oui-w-\\[24px\\] {\n width: 24px;\n }\n\n .md\\:oui-w-\\[300px\\] {\n width: 300px;\n }\n\n .md\\:oui-w-\\[420px\\] {\n width: 420px;\n }\n\n .md\\:oui-w-auto {\n width: auto;\n }\n\n .md\\:oui-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n\n .md\\:oui-w-full {\n width: 100%;\n }\n\n .md\\:oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .md\\:oui-flex-shrink {\n flex-shrink: 1;\n }\n\n .md\\:oui-translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:oui-cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .md\\:oui-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n\n .md\\:oui-flex-row {\n flex-direction: row;\n }\n\n .md\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .md\\:oui-flex-col {\n flex-direction: column;\n }\n\n .md\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .md\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .md\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .md\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .md\\:oui-items-start {\n align-items: flex-start;\n }\n\n .md\\:oui-items-end {\n align-items: flex-end;\n }\n\n .md\\:oui-items-center {\n align-items: center;\n }\n\n .md\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .md\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .md\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .md\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .md\\:oui-justify-center {\n justify-content: center;\n }\n\n .md\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .md\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .md\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .md\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .md\\:oui-gap-4 {\n gap: 1rem;\n }\n\n .md\\:oui-gap-5 {\n gap: 1.25rem;\n }\n\n .md\\:oui-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n }\n\n .md\\:oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n }\n\n .md\\:oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n }\n\n .md\\:oui-rounded-none {\n border-radius: 0;\n }\n\n .md\\:oui-border {\n border-width: 1px;\n }\n\n .md\\:oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n }\n\n .md\\:oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n }\n\n .md\\:oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n }\n\n .md\\:oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n }\n\n .md\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n }\n\n .md\\:oui-p-10 {\n padding: 2.5rem;\n }\n\n .md\\:oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .md\\:oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .md\\:oui-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n\n .md\\:oui-pb-\\[14px\\] {\n padding-bottom: 14px;\n }\n\n .md\\:oui-pl-0 {\n padding-left: 0px;\n }\n\n .md\\:oui-pl-2 {\n padding-left: 0.5rem;\n }\n\n .md\\:oui-pl-3 {\n padding-left: 0.75rem;\n }\n\n .md\\:oui-pl-4 {\n padding-left: 1rem;\n }\n\n .md\\:oui-pr-0 {\n padding-right: 0px;\n }\n\n .md\\:oui-pr-2 {\n padding-right: 0.5rem;\n }\n\n .md\\:oui-pr-3 {\n padding-right: 0.75rem;\n }\n\n .md\\:oui-pr-\\[60px\\] {\n padding-right: 60px;\n }\n\n .md\\:oui-pt-3 {\n padding-top: 0.75rem;\n }\n\n .md\\:oui-text-left {\n text-align: left;\n }\n\n .md\\:oui-text-center {\n text-align: center;\n }\n\n .md\\:oui-text-right {\n text-align: right;\n }\n\n .md\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .md\\:oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n }\n\n .md\\:oui-text-\\[20px\\] {\n font-size: 20px;\n }\n\n .md\\:oui-text-\\[48px\\] {\n font-size: 48px;\n }\n\n .md\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .md\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n }\n\n .md\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .md\\:oui-leading-\\[28px\\] {\n line-height: 28px;\n }\n\n .md\\:oui-leading-\\[56px\\] {\n line-height: 56px;\n }\n\n .md\\:oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n }\n\n .md\\:oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n }\n\n .md\\:oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .md\\:oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .md\\:oui-outline-transparent {\n outline-color: transparent;\n }\n\n .md\\:oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .md\\:placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:after\\:oui-h-\\[48px\\]::after {\n content: var(--tw-content);\n height: 48px;\n }\n\n .md\\:focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .md\\:focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .md\\:focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .md\\:focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n }\n\n .md\\:data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n}\n@media (min-width: 768px) {\n\n .lg\\:oui-bottom-\\[-24px\\] {\n bottom: -24px;\n }\n\n .lg\\:oui-top-\\[-24px\\] {\n top: -24px;\n }\n\n .lg\\:oui-mb-8 {\n margin-bottom: 2rem;\n }\n\n .lg\\:oui-flex {\n display: flex;\n }\n\n .lg\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .lg\\:oui-size-5 {\n width: 1.25rem;\n height: 1.25rem;\n }\n\n .lg\\:oui-size-\\[20px\\] {\n width: 20px;\n height: 20px;\n }\n\n .lg\\:\\!oui-h-\\[700px\\] {\n height: 700px !important;\n }\n\n .lg\\:oui-h-10 {\n height: 2.5rem;\n }\n\n .lg\\:oui-h-12 {\n height: 3rem;\n }\n\n .lg\\:oui-h-3 {\n height: 0.75rem;\n }\n\n .lg\\:oui-h-4 {\n height: 1rem;\n }\n\n .lg\\:oui-h-5 {\n height: 1.25rem;\n }\n\n .lg\\:oui-h-6 {\n height: 1.5rem;\n }\n\n .lg\\:oui-h-7 {\n height: 1.75rem;\n }\n\n .lg\\:oui-h-8 {\n height: 2rem;\n }\n\n .lg\\:oui-h-\\[28px\\] {\n height: 28px;\n }\n\n .lg\\:oui-h-\\[64px\\] {\n height: 64px;\n }\n\n .lg\\:oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .lg\\:oui-min-h-\\[46px\\] {\n min-height: 46px;\n }\n\n .lg\\:oui-w-3 {\n width: 0.75rem;\n }\n\n .lg\\:oui-w-4 {\n width: 1rem;\n }\n\n .lg\\:oui-w-5 {\n width: 1.25rem;\n }\n\n .lg\\:oui-w-6 {\n width: 1.5rem;\n }\n\n .lg\\:oui-w-7 {\n width: 1.75rem;\n }\n\n .lg\\:oui-w-\\[154px\\] {\n width: 154px;\n }\n\n .lg\\:oui-w-\\[184px\\] {\n width: 184px;\n }\n\n .lg\\:oui-w-\\[28px\\] {\n width: 28px;\n }\n\n .lg\\:oui-w-\\[360px\\] {\n width: 360px;\n }\n\n .lg\\:oui-w-\\[64px\\] {\n width: 64px;\n }\n\n .lg\\:oui-w-\\[calc\\(\\(100\\%_-_8px\\)\\/3\\)\\] {\n width: calc((100% - 8px) / 3);\n }\n\n .lg\\:oui-w-auto {\n width: auto;\n }\n\n .lg\\:oui-w-full {\n width: 100%;\n }\n\n .lg\\:oui-min-w-\\[184px\\] {\n min-width: 184px;\n }\n\n .lg\\:oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .lg\\:oui-max-w-\\[640px\\] {\n max-width: 640px;\n }\n\n .lg\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .lg\\:-oui-rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:oui-cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .lg\\:oui-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .lg\\:oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n\n .lg\\:oui-flex-row {\n flex-direction: row;\n }\n\n .lg\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .lg\\:oui-flex-col {\n flex-direction: column;\n }\n\n .lg\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .lg\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .lg\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .lg\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .lg\\:oui-items-start {\n align-items: flex-start;\n }\n\n .lg\\:oui-items-end {\n align-items: flex-end;\n }\n\n .lg\\:oui-items-center {\n align-items: center;\n }\n\n .lg\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .lg\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .lg\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .lg\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .lg\\:oui-justify-center {\n justify-content: center;\n }\n\n .lg\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .lg\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .lg\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .lg\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .lg\\:oui-gap-3 {\n gap: 0.75rem;\n }\n\n .lg\\:oui-gap-4 {\n gap: 1rem;\n }\n\n .lg\\:oui-gap-\\[6px\\] {\n gap: 6px;\n }\n\n .lg\\:oui-gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n }\n\n .lg\\:oui-gap-x-\\[6px\\] {\n -moz-column-gap: 6px;\n column-gap: 6px;\n }\n\n .lg\\:oui-gap-y-2 {\n row-gap: 0.5rem;\n }\n\n .lg\\:oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n }\n\n .lg\\:oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n }\n\n .lg\\:oui-border {\n border-width: 1px;\n }\n\n .lg\\:oui-border-b {\n border-bottom-width: 1px;\n }\n\n .lg\\:oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n }\n\n .lg\\:oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n }\n\n .lg\\:oui-border-b-white\\/\\[0\\.12\\] {\n border-bottom-color: rgb(255 255 255 / 0.12);\n }\n\n .lg\\:oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n }\n\n .lg\\:oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n }\n\n .lg\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n }\n\n .lg\\:oui-p-5 {\n padding: 1.25rem;\n }\n\n .lg\\:oui-p-6 {\n padding: 1.5rem;\n }\n\n .lg\\:oui-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .lg\\:oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .lg\\:oui-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .lg\\:oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .lg\\:oui-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .lg\\:oui-pb-2 {\n padding-bottom: 0.5rem;\n }\n\n .lg\\:oui-pl-0 {\n padding-left: 0px;\n }\n\n .lg\\:oui-pl-3 {\n padding-left: 0.75rem;\n }\n\n .lg\\:oui-pr-0 {\n padding-right: 0px;\n }\n\n .lg\\:oui-pr-3 {\n padding-right: 0.75rem;\n }\n\n .lg\\:oui-pt-0 {\n padding-top: 0px;\n }\n\n .lg\\:oui-pt-3 {\n padding-top: 0.75rem;\n }\n\n .lg\\:oui-pt-4 {\n padding-top: 1rem;\n }\n\n .lg\\:oui-text-left {\n text-align: left;\n }\n\n .lg\\:oui-text-center {\n text-align: center;\n }\n\n .lg\\:oui-text-right {\n text-align: right;\n }\n\n .lg\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .lg\\:oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:oui-text-4xl {\n font-size: var(--oui-font-size-4xl, 1.875rem);\n line-height: 2.375rem;\n }\n\n .lg\\:oui-text-\\[16px\\] {\n font-size: 16px;\n }\n\n .lg\\:oui-text-\\[24px\\] {\n font-size: 24px;\n }\n\n .lg\\:oui-text-\\[48px\\] {\n font-size: 48px;\n }\n\n .lg\\:oui-text-\\[56px\\] {\n font-size: 56px;\n }\n\n .lg\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .lg\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n }\n\n .lg\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .lg\\:oui-leading-\\[24px\\] {\n line-height: 24px;\n }\n\n .lg\\:oui-leading-\\[32px\\] {\n line-height: 32px;\n }\n\n .lg\\:oui-leading-\\[56px\\] {\n line-height: 56px;\n }\n\n .lg\\:oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n }\n\n .lg\\:oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .lg\\:oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .lg\\:oui-outline-transparent {\n outline-color: transparent;\n }\n\n .lg\\:oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .lg\\:placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .lg\\:focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .lg\\:focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .lg\\:focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n }\n\n .lg\\:data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n}\n@media (min-width: 1024px) {\n\n .xl\\:oui-flex {\n display: flex;\n }\n\n .xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .xl\\:oui-grid {\n display: grid;\n }\n\n .xl\\:oui-size-\\[24px\\] {\n width: 24px;\n height: 24px;\n }\n\n .xl\\:oui-size-\\[90px\\] {\n width: 90px;\n height: 90px;\n }\n\n .xl\\:oui-h-4 {\n height: 1rem;\n }\n\n .xl\\:oui-h-8 {\n height: 2rem;\n }\n\n .xl\\:oui-w-4 {\n width: 1rem;\n }\n\n .xl\\:oui-w-8 {\n width: 2rem;\n }\n\n .xl\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .xl\\:oui-items-center {\n align-items: center;\n }\n\n .xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .xl\\:oui-gap-\\[36px\\] {\n gap: 36px;\n }\n\n .xl\\:oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n }\n\n .xl\\:oui-space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n }\n\n .xl\\:oui-p-3 {\n padding: 0.75rem;\n }\n\n .xl\\:oui-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .xl\\:oui-pt-2 {\n padding-top: 0.5rem;\n }\n\n .xl\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .xl\\:oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n }\n\n .xl\\:oui-text-5xl {\n font-size: var(--oui-font-size-5xl, 2.25rem);\n line-height: 2.75rem;\n }\n\n .xl\\:oui-text-\\[32px\\] {\n font-size: 32px;\n }\n\n .xl\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .xl\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .xl\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .xl\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .xl\\:oui-leading-\\[24px\\] {\n line-height: 24px;\n }\n\n .min-\\[1024px\\]\\:oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n@media (min-width: 1280px) {\n\n .\\32xl\\:oui-flex {\n display: flex;\n }\n\n .\\32xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\32xl\\:oui-size-auto {\n width: auto;\n height: auto;\n }\n\n .\\32xl\\:oui-h-\\[196px\\] {\n height: 196px;\n }\n\n .\\32xl\\:oui-h-\\[80px\\] {\n height: 80px;\n }\n\n .\\32xl\\:oui-h-full {\n height: 100%;\n }\n\n .\\32xl\\:oui-max-h-\\[230px\\] {\n max-height: 230px;\n }\n\n .\\32xl\\:oui-w-\\[80px\\] {\n width: 80px;\n }\n\n .\\32xl\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .\\32xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\32xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\32xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\32xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\32xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\32xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\32xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\32xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\32xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\32xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\32xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\32xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\32xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\32xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\32xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\32xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\32xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\32xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\32xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .\\32xl\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .\\32xl\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .\\32xl\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .\\32xl\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n}\n@media (min-width: 1440px) {\n\n .\\33xl\\:oui-mb-0 {\n margin-bottom: 0px;\n }\n\n .\\33xl\\:oui-mt-4 {\n margin-top: 1rem;\n }\n\n .\\33xl\\:oui-flex {\n display: flex;\n }\n\n .\\33xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\33xl\\:oui-hidden {\n display: none;\n }\n\n .\\33xl\\:oui-max-h-\\[300px\\] {\n max-height: 300px;\n }\n\n .\\33xl\\:oui-w-1\\/3 {\n width: 33.333333%;\n }\n\n .\\33xl\\:oui-w-2\\/3 {\n width: 66.666667%;\n }\n\n .\\33xl\\:oui-flex-\\[0_0_calc\\(\\(100\\%_-_48px\\)_\\/_4\\)\\] {\n flex: 0 0 calc((100% - 48px) / 4);\n }\n\n .\\33xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\33xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\33xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\33xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\33xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\33xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\33xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\33xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\33xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\33xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\33xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\33xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\33xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\33xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\33xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\33xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\33xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\33xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\33xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .\\33xl\\:oui-gap-2 {\n gap: 0.5rem;\n }\n}\n@media (min-width: 1680px) {\n\n .\\34xl\\:oui-flex {\n display: flex;\n }\n\n .\\34xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\34xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\34xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\34xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\34xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\34xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\34xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\34xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\34xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\34xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\34xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\34xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\34xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\34xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\34xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\34xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\34xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\34xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\34xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\34xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n}\n@media (min-width: 1920px) {\n\n .\\35xl\\:oui-flex {\n display: flex;\n }\n\n .\\35xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\35xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\35xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\35xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\35xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\35xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\35xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\35xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\35xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\35xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\35xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\35xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\35xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\35xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\35xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\35xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\35xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\35xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\35xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\35xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n}\n.\\[\\&\\:has\\(\\>\\.oui-day-range-end\\)\\]\\:oui-rounded-r-md:has(>.oui-day-range-end) {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\>\\.oui-day-range-start\\)\\]\\:oui-rounded-l-md:has(>.oui-day-range-start) {\n border-top-left-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-left-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-md:has([aria-selected]) {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-bg-base-4:has([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-l-md:has([aria-selected]):first-child {\n border-top-left-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-left-radius: var(--oui-rounded-md, 0.375rem);\n}\n.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-r-md:has([aria-selected]):last-child {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\.day-outside\\)\\]\\:oui-bg-base-4\\/50:has([aria-selected].day-outside) {\n background-color: rgb(var(--oui-color-base-4) / 0.5);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\.day-range-end\\)\\]\\:oui-rounded-r-md:has([aria-selected].day-range-end) {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:oui-border-t>*:not(:first-child) {\n border-top-width: 1px;\n}\n.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:oui-border-line-12>*:not(:first-child) {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:oui-pt-1>*:not(:first-child) {\n padding-top: 0.25rem;\n}\n.\\[\\&\\>div\\]\\:oui-flex-1>div {\n flex: 1 1 0%;\n}\n.\\[\\&\\>div\\]\\:oui-text-2xs>div {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.\\[\\&\\>div\\]\\:oui-text-base-contrast-36>div {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.\\[\\&\\>span\\]\\:oui-line-clamp-1>span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n}\n.\\[\\&\\>td\\:first-child\\]\\:oui-pl-0>td:first-child {\n padding-left: 0px;\n}\n.\\[\\&\\>td\\:first-child\\]\\:oui-pl-3>td:first-child {\n padding-left: 0.75rem;\n}\n.\\[\\&\\>td\\:last-child\\]\\:oui-pr-0>td:last-child {\n padding-right: 0px;\n}\n.\\[\\&\\>td\\:last-child\\]\\:oui-pr-3>td:last-child {\n padding-right: 0.75rem;\n}\n.\\[\\&\\>th\\:first-child\\]\\:oui-pl-3>th:first-child {\n padding-left: 0.75rem;\n}\n.\\[\\&\\>th\\:last-child\\]\\:oui-pr-3>th:last-child {\n padding-right: 0.75rem;\n}\n.\\[\\&_img\\]\\:\\!oui-h-\\[18px\\] img {\n height: 18px !important;\n}\n.\\[\\&_p\\]\\:oui-text-base-contrast-36 p {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n","import { tv, type VariantProps } from \"tailwind-variants\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\n\nconst dotStatusVariants = tv({\n slots: {\n root: \"oui-flex oui-items-center oui-justify-center oui-gap-1\",\n dot: \"oui-flex-shrink-0 oui-rounded-full\",\n label: \"oui-text-2xs\",\n },\n variants: {\n color: {\n primary: {\n dot: \"oui-bg-primary-darken\",\n label: \"oui-text-primary-darken\",\n },\n warning: {\n dot: \"oui-bg-warning-darken\",\n label: \"oui-text-warning-darken\",\n },\n profit: {\n dot: \"oui-bg-profit-darken\",\n label: \"oui-text-profit-darken\",\n },\n loss: {\n dot: \"oui-bg-loss-darken\",\n label: \"oui-text-loss-darken\",\n },\n secondary: {\n dot: \"oui-bg-secondary-darken\",\n label: \"oui-text-secondary-darken\",\n },\n },\n size: {\n xs: {\n dot: \"oui-w-1 oui-h-1\",\n label: \"oui-text-2xs\",\n },\n sm: {\n dot: \"oui-w-2 oui-h-2\",\n label: \"oui-text-2xs\",\n },\n md: {\n dot: \"oui-w-3 oui-h-3\",\n label: \"oui-text-2xs\",\n },\n lg: {\n dot: \"oui-w-4 oui-h-4\",\n label: \"oui-text-2xs\",\n },\n },\n },\n defaultVariants: {\n color: \"primary\",\n size: \"xs\",\n },\n});\n\nconst DotStatus = (\n props: VariantProps<typeof dotStatusVariants> & {\n label?: string;\n classNames?: {\n root?: string;\n dot?: string;\n label?: string;\n };\n },\n) => {\n const { color, size, label, classNames } = props;\n const { root, dot, label: labelSlot } = dotStatusVariants({ color, size });\n if (!label) {\n return <Box r=\"full\" className={dot({ className: classNames?.dot })} />;\n }\n\n return (\n <Flex\n itemAlign={\"center\"}\n justify={\"center\"}\n gapX={1}\n className={root({ className: classNames?.root })}\n >\n <Box r=\"full\" className={dot({ className: classNames?.dot })} />\n\n <Text size=\"2xs\" className={labelSlot({ className: classNames?.label })}>\n {label}\n </Text>\n </Flex>\n );\n};\n\nDotStatus.displayName = \"DotStatus\";\nexport { DotStatus, dotStatusVariants };\n"]}