{"version":3,"sources":["../../../node_modules/.pnpm/tailwindcss@3.4.19_tsx@4.21.0_yaml@2.9.0/node_modules/tailwindcss/lib/util/createPlugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.19_tsx@4.21.0_yaml@2.9.0/node_modules/tailwindcss/lib/public/create-plugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.19_tsx@4.21.0_yaml@2.9.0/node_modules/tailwindcss/plugin.js","../src/helpers/parse-props.ts","../src/layout/shadow.tsx","../src/layout/gap.tsx","../src/utils/tv.ts","../src/layout/decoration.ts","../src/layout/layout.tsx","../src/layout/position.tsx","../src/layout/visible.ts","../src/box/box.tsx","../src/flex/flex.tsx","../src/spinner/spinner.tsx","../src/button/base.tsx","../src/button/button.tsx","../src/button/throttledButton.tsx","../src/button/iconButton.tsx","../src/grid/grid.tsx","../src/grid/span.tsx","../src/grid/index.ts","../src/icon/baseIcon.tsx","../src/avatar/avatar.tsx","../src/icon/chainIcon.tsx","../src/icon/tokenIcon.tsx","../src/icon/combine.tsx","../src/icon/close.tsx","../src/icon/baseIconWithPath.tsx","../src/icon/check.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/infoFill.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/warning.tsx","../src/icon/rwa.tsx","../src/icon/index.ts","../src/typography/text.tsx","../src/typography/utils.ts","../src/typography/formatted.tsx","../src/typography/gradient.tsx","../src/typography/numeral.tsx","../src/typography/numType.tsx","../src/badge/badge.tsx","../src/hooks/useMediaQuery.ts","../src/hooks/useScreen.ts","../src/hooks/useObserverElement.ts","../src/hooks/useLongPress.ts","../src/hooks/useThemeAttribute.ts","../src/hooks/useDocumentDirection.ts","../src/popover/popover.tsx","../src/tooltip/tooltip.tsx","../src/typography/symbolBadge.tsx","../src/typography/statistic.tsx","../src/typography/index.ts","../src/input/baseInput.tsx","../src/input/inputAdditional.tsx","../src/input/prefix.tsx","../src/input/suffix.tsx","../src/input/input.tsx","../src/scrollarea/scrollArea.tsx","../src/select/selectPrimitive.tsx","../src/select/combine.tsx","../src/select/select.tsx","../src/select/withOptions.tsx","../src/select/tokens.tsx","../src/select/index.ts","../src/input/extends/quantity.tsx","../src/input/input.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/inputHelpText.tsx","../src/input/textField.tsx","../src/input/index.ts","../src/checkbox/checkbox.tsx","../src/switch/switch.tsx","../src/logo/logo.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/className.ts","../src/table/tableCell.tsx","../src/table/utils/getColumnPinningProps.ts","../src/table/tableBody.tsx","../src/table/icons.tsx","../src/table/hooks/useMultiSort.ts","../src/table/multiSortHeader.tsx","../src/table/tableHeader.tsx","../src/locale/context.ts","../src/locale/provider.tsx","../src/locale/en.ts","../src/locale/useLocale.ts","../src/pagination/pagination.tsx","../src/table/tablePagination.tsx","../src/table/emptyDataState.tsx","../src/table/tablePlaceholder.tsx","../src/table/transform.ts","../src/table/dataTable.tsx","../src/pickers/calendarRange.ts","../src/pickers/date/calendar.tsx","../src/pickers/dateRangePicker.tsx","../src/pickers/datepicker.tsx","../src/sheet/sheet.tsx","../src/modal/utils.ts","../src/modal/useModal.tsx","../src/modal/modalHelper.tsx","../src/modal/modalContext.tsx","../src/divider/divider.tsx","../src/sheet/simpleSheet.tsx","../src/modal/preset/sheet.tsx","../src/dialog/dialog.tsx","../src/dialog/simpleDialogFooter.tsx","../src/dialog/simpleDialog.tsx","../src/dialog/alertDialog.tsx","../src/modal/preset/alert.tsx","../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/pickers/picker.tsx","../src/table/dataFilter.tsx","../src/table/hooks/usePagination.ts","../src/table/features/index.ts","../src/table/features/download.ts","../src/tabs/tabsBase.tsx","../src/provider/orderlyThemeContext.tsx","../src/scrollIndicator/hooks/useScroll.ts","../src/scrollIndicator/hooks/useDrag.ts","../src/scrollIndicator/scrollButton.tsx","../src/scrollIndicator/scrollIndicator.tsx","../src/tabs/tabs.tsx","../src/card/cardBase.tsx","../src/card/card.tsx","../src/card/hoverCard.tsx","../src/pickers/index.ts","../src/slider/utils.ts","../src/slider/slider.tsx","../src/icon/toasterIcons.tsx","../src/toast/Toaster.tsx","../src/toast/toastTile.tsx","../src/listView/useEndReached.ts","../src/listView/listView.tsx","../src/collapsible/collapsible.tsx","../src/collapsible/collapse/collapseContext.tsx","../src/collapsible/collapse/panel.tsx","../src/collapsible/collapse/collapse.tsx","../src/marquee/marquee.tsx","../src/dropdown/dropdown.tsx","../src/dropdown/menuItem.tsx","../src/provider/componentProvider.tsx","../src/provider/orderlyThemeProvider.tsx","../src/misc/either.tsx","../src/utils/string.ts","../src/utils/transition.ts","../src/tips/tips.tsx","../src/status/dotStatus.tsx","../src/tailwind.css","../src/tailwind/theme/contrast.ts","../src/tailwind/theme/purpleDarkTheme.ts","../src/tailwind/theme/darkTheme.ts","../src/tailwind/theme/lightTheme.ts"],"names":["plugin","React","jsx","tv","Slot","jsxs","Fragment","useRef","Grid","React8","useMemo","useState","useEffect","forwardRef","formatDate","cnBase","query","useCallback","React67","React68","Text","value","Input","SelectPrimitive2","SelectItem","Select","token","commify","React80","rest","SortingIcon","SortIndicator","Icon","cn","props","DEFAULT_DATE_FORMAT","format","React86","modal","useContext","show","args","hide","remove","setStates","updateArgs","createContext","SheetPrimitive2","DialogPrimitive","React89","buttons","DialogPrimitive2","actions","Dialog","items","option","React91","useScroll","React94","DatePicker","React95","marks","range","PrimitiveToaster","CollapsibleTrigger","CollapsibleContent","useEmblaCarousel","AutoScroll","React101"],"mappings":"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","file":"index.mjs","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nObject.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function() {\n        return _default;\n    }\n});\nfunction createPlugin(plugin, config) {\n    return {\n        handler: plugin,\n        config\n    };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n    const optionsFunction = function(options) {\n        return {\n            __options: options,\n            handler: pluginFunction(options),\n            config: configFunction(options)\n        };\n    };\n    optionsFunction.__isOptionsFunction = true;\n    // Expose plugin dependencies so that `object-hash` returns a different\n    // value if anything here changes, to ensure a rebuild is triggered.\n    optionsFunction.__pluginFunction = pluginFunction;\n    optionsFunction.__configFunction = configFunction;\n    return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nObject.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function() {\n        return _default;\n    }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n    return obj && obj.__esModule ? obj : {\n        default: obj\n    };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\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","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","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 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  extend: shadowVariants,\n  base: [\"oui-box\"],\n  variants: {\n    ...layoutVariants.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\n    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","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","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      primaryContrast: \"oui-fill-primary-contrast\",\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-base-contrast\",\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\n    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=\"currentFill\"\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, { useMemo } from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Flex } from \"../flex\";\nimport {\n  ComponentPropsWithout,\n  RemovedProps,\n} from \"../helpers/component-props\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { Spinner } from \"../spinner/spinner\";\n\ntype BaseButtonElement = React.ElementRef<\"button\">;\n\nexport interface BaseButtonProps extends ComponentPropsWithout<\n  \"button\",\n  RemovedProps\n> {\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-gap-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=\"primaryContrast\" />\n            </Flex>\n          </>\n        ) : (\n          content\n        )}\n      </Comp>\n    );\n  },\n);\n\nBaseButton.displayName = \"BaseButton\";\n","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    extend: shadowVariants,\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      variant: {\n        text: \"oui-bg-transparent\",\n        outlined: \"oui-border\",\n        contained: \"oui-text-base-contrast\",\n        // Token-driven brand gradient: real gradient in themes that define\n        // gradient values, flat brand fill under flattened presets (ODS).\n        gradient: \"oui-gradient-brand oui-text-base-10\",\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-base-static-80 active:oui-bg-base-static-54 disable:oui-bg-base-static-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\"],\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-base-static\",\n          \"oui-text-base-static-contrast-80 disabled:oui-text-base-static-contrast-36\",\n          \"disabled:oui-bg-base-static-36 hover:disabled:oui-bg-base-static-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\"],\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: [\"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\">, 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 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, type VariantProps } from \"tailwind-variants\";\nimport { parseAngleProps } from \"../helpers/parse-props\";\nimport { BaseButton, BaseButtonProps } from \"./base\";\n\nconst iconButtonVariants = tv({\n  base: [\n    \"oui-button\",\n    \"oui-inline-flex\",\n    \"oui-items-center\",\n    \"oui-justify-center\",\n    \"oui-transition-colors\",\n    \"disabled:oui-cursor-not-allowed\",\n    \"disabled:oui-opacity-36\",\n  ],\n  variants: {\n    color: {\n      primary: [\n        \"oui-text-primary-darken\",\n        \"hover:oui-text-primary-darken/80\",\n        \"active:oui-text-primary-darken/70\",\n      ],\n      secondary: [\n        \"oui-text-base-contrast-54\",\n        \"hover:oui-text-base-contrast-80\",\n        \"active:oui-text-base-contrast-70\",\n      ],\n      success: [\n        \"oui-text-success\",\n        \"hover:oui-text-success/80\",\n        \"active:oui-text-success/70\",\n      ],\n      buy: [\n        \"oui-text-success\",\n        \"hover:oui-text-success/80\",\n        \"active:oui-text-success/70\",\n      ],\n      danger: [\n        \"oui-text-danger\",\n        \"hover:oui-text-danger/80\",\n        \"active:oui-text-danger/70\",\n      ],\n      sell: [\n        \"oui-text-danger\",\n        \"hover:oui-text-danger/80\",\n        \"active:oui-text-danger/70\",\n      ],\n      warning: [\n        \"oui-text-warning-darken\",\n        \"hover:oui-text-warning-darken/80\",\n        \"active:oui-text-warning-darken/70\",\n      ],\n      gray: [\n        \"oui-text-base\",\n        \"hover:oui-text-base/80\",\n        \"active:oui-text-base/70\",\n      ],\n      light: [\n        \"oui-text-white\",\n        \"hover:oui-text-white/80\",\n        \"active:oui-text-white/70\",\n      ],\n    },\n  },\n  defaultVariants: {\n    color: \"secondary\",\n  },\n});\n\ninterface IconButtonProps\n  extends Omit<BaseButtonProps, \"size\" | \"children\">,\n    VariantProps<typeof iconButtonVariants> {\n  children: React.ReactElement;\n  angle?: number;\n  \"data-testid\"?: string;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n  ({ className, color, angle, style, children, ...props }, ref) => {\n    const angleStyle = parseAngleProps({ angle });\n    // BaseButton requires size, but we don't apply size styles\n    // Pass a default size that won't affect the icon size\n    return (\n      <BaseButton\n        className={iconButtonVariants({\n          color,\n          className,\n        })}\n        size=\"md\"\n        ref={ref}\n        style={{ ...style, ...angleStyle }}\n        {...props}\n      >\n        {children}\n      </BaseButton>\n    );\n  },\n);\nIconButton.displayName = \"IconButton\";\n\nexport { IconButton, iconButtonVariants };\n\nexport type { IconButtonProps };\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 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-base-contrast\",\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\n    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 * 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      \"3xs\": {\n        root: \"oui-w-3.5 oui-h-3.5\",\n      },\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 { 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 { FC, useEffect, useMemo, useState } 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  url?: string;\n};\n\nconst BASE_URL = \"https://oss.orderly.network/static\";\n\nexport const TokenIcon: FC<TokenIconProps> = (props) => {\n  const { primaryUrl, fallbackUrl } = useMemo(() => {\n    if (props.url) {\n      return { primaryUrl: props.url, fallbackUrl: props.url };\n    }\n    let name = props.name;\n    let hasBroker = false;\n    let brokerId: string | undefined;\n    if (typeof props.symbol === \"string\") {\n      const arr = props.symbol.split(\"_\");\n      // PERP_BTC_USDC_brokerId -> arr[1]\n      if (arr.length >= 2) {\n        name = arr[1];\n      }\n      brokerId = arr[3]?.trim();\n      hasBroker = !!brokerId;\n    }\n    if (!name) {\n      return { primaryUrl: undefined, fallbackUrl: undefined };\n    }\n    const symbolUrl = `${BASE_URL}/symbol_logo/${name}.png`;\n    const brokerName = hasBroker && brokerId ? `${name}_${brokerId}` : name;\n    const brokerUrl = `${BASE_URL}/broker_symbol_logo/${brokerName}.png`;\n    return {\n      primaryUrl: hasBroker ? brokerUrl : symbolUrl,\n      fallbackUrl: symbolUrl,\n    };\n  }, [props.name, props.symbol, props.url]);\n\n  const [currentSrc, setCurrentSrc] = useState(primaryUrl);\n\n  useEffect(() => {\n    setCurrentSrc(primaryUrl);\n  }, [primaryUrl]);\n\n  return (\n    <Avatar\n      size={props.size}\n      src={currentSrc}\n      alt={props.name}\n      className={props.className}\n      onLoadingStatusChange={(status) => {\n        if (status === \"error\" && primaryUrl !== fallbackUrl) {\n          setCurrentSrc((prev) => (prev === primaryUrl ? fallbackUrl : prev));\n        }\n      }}\n    />\n  );\n};\n","import { FC, PropsWithChildren, ReactNode, useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { ChainIcon, ChainIconProps } from \"./chainIcon\";\nimport { TokenIcon, TokenIconProps } from \"./tokenIcon\";\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-end-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 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\";\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 { 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 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        className=\"oui-fill-base-contrast-80\"\n      />\n      <circle\n        cx=\"12\"\n        cy=\"12\"\n        r=\"9\"\n        stroke=\"rgb(var(--oui-color-base-foreground))\"\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        className=\"oui-fill-base-contrast-80\"\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        className=\"oui-fill-base-contrast-80\"\n      />\n    </svg>\n  );\n};\n","import { 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          className=\"oui-fill-base-contrast-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 { 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          className=\"oui-fill-base-contrast-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          className=\"oui-fill-base-contrast-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=\"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 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        className=\"oui-fill-base-contrast-80\"\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 { 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          className=\"oui-fill-base-contrast-54\"\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 { 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          className=\"oui-fill-base-contrast-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          className=\"oui-fill-base-contrast-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=\"rgb(var(--oui-color-base-foreground))\"\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=\"rgb(var(--oui-color-base-foreground))\"\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=\"rgb(var(--oui-color-base-foreground))\"\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=\"rgb(var(--oui-color-base-foreground))\"\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=\"rgb(var(--oui-gradient-secondary-start))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-secondary-end))\" />\n        </linearGradient>\n        <clipPath id=\"clip0_862_2443\">\n          <rect\n            width=\"20\"\n            height=\"20\"\n            fill=\"rgb(var(--oui-color-base-foreground))\"\n          />\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=\"rgb(var(--oui-color-base-foreground))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-quaternary))\" />\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=\"rgb(var(--oui-gradient-secondary-start))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-secondary-end))\" />\n        </linearGradient>\n        <clipPath id=\"clip0_862_2449\">\n          <rect\n            width=\"20\"\n            height=\"20\"\n            fill=\"rgb(var(--oui-color-base-foreground))\"\n          />\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\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=\"M7.999 1.343a6.667 6.667 0 1 0 0 13.333 6.667 6.667 0 0 0 0-13.333m0 3.333a.667.667 0 1 1 0 1.334.667.667 0 0 1 0-1.334m0 2c.368 0 .666.299.666.667v3.333a.667.667 0 0 1-1.333 0V7.343c0-.368.298-.667.667-.667\"\n          fill=\"currentColor\"\n        />\n      </svg>\n    );\n  },\n);\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const InfoFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n  (props, ref) => {\n    const { className, opacity = 1, ...rest } = props;\n\n    return (\n      <svg\n        width=\"20\"\n        height=\"20\"\n        viewBox=\"0 0 20 20\"\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=\"M10 2.5C5.86 2.5 2.5 5.86 2.5 10C2.5 14.14 5.86 17.5 10 17.5C14.14 17.5 17.5 14.14 17.5 10C17.5 5.86 14.14 2.5 10 2.5ZM10.75 13.75L9.25 13.75L9.25 9.25H10.75L10.75 13.75ZM10.75 7.75H9.25V6.25H10.75V7.75Z\"\n          fill=\"currentColor\"\n        />\n      </svg>\n    );\n  },\n);\n\nInfoFillIcon.displayName = \"InfoFillIcon\";\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=\"rgb(var(--oui-color-base-8))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-4))\" />\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=\"rgb(var(--oui-color-base-2))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-7))\" />\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=\"rgb(var(--oui-color-success-darken))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-success))\" />\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=\"rgb(var(--oui-color-success))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-success))\" />\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=\"rgb(var(--oui-color-base-8))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-4))\" />\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=\"rgb(var(--oui-color-base-2))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-7))\" />\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=\"rgb(var(--oui-color-base-8))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-4))\" />\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=\"rgb(var(--oui-color-base-2))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-7))\" />\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=\"rgb(var(--oui-color-success))\" stopOpacity=\"0.36\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-success))\" />\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=\"rgb(var(--oui-color-primary-light))\"\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=\"rgb(var(--oui-color-primary-light))\"\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=\"rgb(var(--oui-color-primary-darken))\"\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=\"rgb(var(--oui-color-base-4))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-8))\" />\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=\"rgb(var(--oui-color-base-2))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-7))\" />\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=\"rgb(var(--oui-gradient-primary-end))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-primary-start))\" />\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=\"rgb(var(--oui-gradient-primary-end))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-primary-start))\" />\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=\"rgb(var(--oui-color-base-3))\" />\n          <stop offset=\"0.483985\" stopColor=\"rgb(var(--oui-color-base-1))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-3))\" />\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=\"rgb(var(--oui-color-base-4))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-8))\" />\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=\"rgb(var(--oui-color-base-1))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-7))\" />\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=\"rgb(var(--oui-color-primary))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-primary-darken))\" />\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=\"rgb(var(--oui-color-base-foreground))\"\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=\"rgb(var(--oui-color-base-foreground))\"\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=\"rgb(var(--oui-color-base-foreground))\"\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=\"rgb(var(--oui-color-base-foreground))\"\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=\"rgb(var(--oui-gradient-secondary-start))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-secondary-end))\" />\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=\"rgb(var(--oui-gradient-secondary-start))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-secondary-end))\" />\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=\"rgb(var(--oui-color-base-5))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-4))\" />\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=\"rgb(var(--oui-color-base-1))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-7))\" />\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=\"rgb(var(--oui-color-base-8))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-4))\" />\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=\"rgb(var(--oui-color-base-1))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-7))\" />\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=\"rgb(var(--oui-color-base-8))\" />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-4))\" />\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\n            stopColor=\"rgb(var(--oui-color-base-1))\"\n            stopOpacity=\"0.411765\"\n          />\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-7))\" />\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          className=\"oui-fill-base-contrast-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 { 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          className=\"oui-fill-base-contrast-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          className=\"oui-fill-base-contrast-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          className=\"oui-fill-base-contrast-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        className=\"oui-fill-base-contrast-80\"\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        className=\"oui-fill-base-contrast-80\"\n      />\n    </svg>\n  );\n};\n","import { 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          className=\"oui-fill-base-contrast-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          className=\"oui-fill-base-contrast-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        className=\"oui-fill-base-contrast-36\"\n      />\n      <path\n        d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n        className=\"oui-fill-base-contrast-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        className=\"oui-fill-base-contrast-12\"\n      />\n      <path\n        d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n        className=\"oui-fill-base-contrast-12\"\n      />\n      <path\n        d=\"M16 7V17V19H8V17V7C8 5.897 8.897 5 10 5H14C15.103 5 16 5.897 16 7Z\"\n        className=\"oui-fill-base-contrast-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        className=\"oui-fill-base-contrast-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        className=\"oui-fill-base-contrast-12\"\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      />\n      <path\n        className=\"oui-fill-base-contrast-36\"\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      />\n    </BaseIcon>\n  );\n};\n","import { 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        className=\"oui-fill-base-contrast-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        className=\"oui-fill-base-contrast-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        className=\"oui-fill-base-contrast-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        className=\"oui-fill-base-contrast-36\"\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      />\n      {/* Star child glyph (inactive) */}\n      <path\n        className=\"oui-fill-base-contrast-36\"\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      />\n      {/* Center plus/star (inactive subtle) */}\n      <path\n        className=\"oui-fill-base-contrast-12\"\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      />\n    </BaseIcon>\n  );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseRoundFillIcon = React.forwardRef<\n  SVGSVGElement,\n  BaseIconProps\n>((props, ref) => {\n  const { opacity = 0.54, ...rest } = props;\n  return (\n    <BaseIcon ref={ref} {...rest} 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=\"currentcolor\"\n        fillOpacity={opacity}\n      />\n    </BaseIcon>\n  );\n});\n\nCloseRoundFillIcon.displayName = \"CloseRoundFillIcon\";\n","import { 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        className=\"oui-fill-base-contrast-80\"\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        className=\"oui-fill-base-contrast-80\"\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        className=\"oui-fill-base-contrast-80\"\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=\"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\";\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\n        width=\"36\"\n        height=\"48\"\n        x=\"18\"\n        y=\"5\"\n        fill=\"rgb(var(--oui-color-base-10))\"\n        rx=\"4\"\n      ></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=\"rgb(var(--oui-color-base-5))\"\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\n        width=\"9\"\n        height=\"2\"\n        x=\"15\"\n        y=\"16\"\n        fill=\"rgb(var(--oui-color-base-4))\"\n        rx=\"1\"\n      ></rect>\n      <rect\n        width=\"16\"\n        height=\"2\"\n        x=\"15\"\n        y=\"24\"\n        fill=\"rgb(var(--oui-color-base-4))\"\n        rx=\"1\"\n      ></rect>\n      <rect\n        width=\"12\"\n        height=\"3\"\n        x=\"28\"\n        y=\"29\"\n        fill=\"rgb(var(--oui-color-base-3))\"\n        rx=\"1.5\"\n      ></rect>\n      <path\n        fill=\"rgb(var(--oui-color-base-3))\"\n        d=\"M33 23a2 2 0 012-2h1.5a1.5 1.5 0 010 3H34a1 1 0 01-1-1z\"\n      ></path>\n      <rect\n        width=\"9\"\n        height=\"3\"\n        x=\"29\"\n        y=\"37\"\n        fill=\"rgb(var(--oui-color-base-3))\"\n        rx=\"1.5\"\n      ></rect>\n      <rect\n        width=\"13\"\n        height=\"2\"\n        x=\"15\"\n        y=\"30\"\n        fill=\"rgb(var(--oui-color-base-4))\"\n        rx=\"1\"\n      ></rect>\n      <rect\n        width=\"15\"\n        height=\"2\"\n        x=\"15\"\n        y=\"36\"\n        fill=\"rgb(var(--oui-color-base-4))\"\n        rx=\"1\"\n      ></rect>\n      <rect\n        width=\"24\"\n        height=\"2\"\n        x=\"15\"\n        y=\"42\"\n        fill=\"rgb(var(--oui-color-base-4))\"\n        rx=\"1\"\n      ></rect>\n      <path\n        fill=\"rgb(var(--oui-color-base-8))\"\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=\"rgb(var(--oui-color-base-2))\"\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=\"rgb(var(--oui-color-base-8))\"\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=\"rgb(var(--oui-color-base-2))\"\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=\"rgb(var(--oui-color-base-10))\"></stop>\n          <stop offset=\"1\" stopColor=\"rgb(var(--oui-color-base-9))\"></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=\"rgb(var(--oui-gradient-neutral-end))\"></stop>\n          <stop\n            offset=\"1\"\n            stopColor=\"rgb(var(--oui-gradient-neutral-start))\"\n          ></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          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          className=\"oui-fill-base-contrast-80\"\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=\"rgb(var(--oui-color-tertiary))\" />\n      </mask>\n      <g mask=\"url(#mask0_2321_5422)\">\n        <path\n          className=\"oui-fill-base-contrast-54\"\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        />\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        className=\"oui-fill-base-contrast-80\"\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        className=\"oui-fill-base-contrast-80\"\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, ...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      className=\"oui-text-base-contrast-54\"\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=\"currentColor\"\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          className=\"oui-fill-base-contrast-80\"\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          className=\"oui-fill-base-contrast-80\"\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          className=\"oui-fill-base-contrast-80\"\n        />\n      </svg>\n    );\n  },\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        className=\"oui-fill-base-contrast-80\"\n      />\n      <path\n        d=\"M15.9433 10.76L15.0333 13.495H16.9483L17.7583 10.76H15.9433Z\"\n        className=\"oui-fill-base-contrast-80\"\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        className=\"oui-fill-base-contrast-80\"\n      />\n    </BaseIcon>\n  );\n};\n","import { 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        className=\"oui-fill-base-contrast-80\"\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        className=\"oui-fill-base-contrast-80\"\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        className=\"oui-fill-base-contrast-80\"\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        className=\"oui-fill-base-contrast-80\"\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 React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const WarningIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n  (props, ref) => {\n    return (\n      <svg\n        width={20}\n        height={20}\n        viewBox=\"0 0 20 20\"\n        fill=\"currentColor\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        ref={ref}\n        {...props}\n      >\n        <path d=\"M10.012 1.666a8.333 8.333 0 1 0 0 16.667 8.333 8.333 0 1 0 0-16.667m0 4.167c.46 0 .833.373.833.833v4.167a.834.834 0 0 1-1.667 0V6.666c0-.46.374-.833.834-.833m0 6.666a.834.834 0 1 1 0 1.668.834.834 0 0 1 0-1.668\" />\n      </svg>\n    );\n  },\n);\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const RwaIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n  (props, ref) => {\n    const { opacity = 1, ...rest } = props;\n\n    return (\n      <BaseIcon ref={ref} {...rest} viewBox=\"0 0 12 12\">\n        <path\n          d=\"M6 1a5 5 0 0 1 4.999 5H11l-.002.047-.002.121a5 5 0 0 1-.049.552 5 5 0 0 1-.596 1.742l-.025.044-.086.143-.023.035q-.044.072-.093.142l-.021.03q-.145.208-.31.4l-.071.082a5 5 0 0 1-.403.4l-.074.064-.1.085-.063.049q-.056.044-.114.087l-.052.037q-.31.223-.656.399l-.01.006A5 5 0 0 1 6 11a5 5 0 0 1-3.582-1.511L1.5 10.5.75 7.25l3.25.5-.906.996A4 4 0 0 0 6 10c.834 0 1.609-.256 2.25-.693v-.002c.381-.272.718-.6 1-.975a8 8 0 0 0-1-.19 8 8 0 0 1-.151.57.244.244 0 0 1-.302.16l-.481-.138a.256.256 0 0 1-.172-.32q.051-.177.101-.367c-.172 0-.343-.014-.52-.024a.26.26 0 0 1-.245-.256V7.25c0-.138.112-.25.25-.249.237.002.469.01.695.044Q7.492 6.524 7.5 6q0-.532-.06-1.06C7 5 6.5 5 6 5s-.975 0-1.44-.055Q4.495 5.47 4.5 6v.187a.247.247 0 0 1-.272.246 17 17 0 0 1-.515-.062.25.25 0 0 1-.213-.246V6a10 10 0 0 1 .06-1.155 8 8 0 0 1-1.295-.27c-.18.453-.27.687-.265 1.175v.01c0 .16-.147.278-.302.243q-.255-.057-.5-.116a.24.24 0 0 1-.187-.25A5 5 0 0 1 6 1m3.73 3.581a9 9 0 0 1-1.3.259 9.7 9.7 0 0 1 0 2.315q.665.078 1.31.264c.144-.38.233-.787.255-1.213L10 6a3.8 3.8 0 0 0-.27-1.419M6 2c-.47 0-1 .83-1.275 1.955C5.13 4 5.555 4 6 4s.865 0 1.27-.035C7 2.795 6.46 2 6 2m-1.772.413a4 4 0 0 0-1.493 1.262q.495.122 1 .19c.098-.504.264-.992.493-1.452m3.548 0q.326.7.499 1.452.505-.066 1-.185a4.4 4.4 0 0 0-1.499-1.266\"\n          fill=\"currentColor\"\n          fillOpacity={opacity}\n        />\n      </BaseIcon>\n    );\n  },\n);\n\nRwaIcon.displayName = \"RwaIcon\";\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\";\nexport { InfoFillIcon } from \"./infoFill\";\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\";\nexport { WarningIcon } from \"./warning\";\nexport { RwaIcon } from \"./rwa\";\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 React, { MouseEventHandler } from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport {\n  ComponentPropsWithout,\n  RemovedProps,\n} from \"../helpers/component-props\";\nimport { tv } from \"../utils/tv\";\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 \"@orderly.network/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, { 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\";\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      // Apply capitalization if requested\n      if (capitalize && typeof children === \"string\") {\n        return children.charAt(0).toUpperCase() + children.slice(1);\n      }\n\n      return children;\n    }, [children, rule, formatString, range, symbolElement, capitalize]);\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, { 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 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      dir=\"ltr\"\n      className={cnBase(\"oui-tabular-nums\", className)}\n    >\n      {childWithUnit}\n    </Text>\n  );\n};\n","import { formatNum } from \"@orderly.network/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 { 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 { 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: 1023.98px)\");\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 { 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 { useEffect, useState } from \"react\";\n\n/**\n * get the data-oui-theme attribute from the <html> element\n * @returns the data-oui-theme attribute\n */\nexport const useThemeAttribute = () => {\n  const [themeAttribute, setThemeAttribute] = useState(\"\");\n\n  // watch the data-oui-theme attribute on the <html> element\n  useEffect(() => {\n    setThemeAttribute(\n      document.documentElement.getAttribute(\"data-oui-theme\") ?? \"\",\n    );\n\n    const observer = new MutationObserver((mutations) => {\n      for (const mutation of mutations) {\n        if (\n          mutation.type === \"attributes\" &&\n          mutation.attributeName === \"data-oui-theme\"\n        ) {\n          setThemeAttribute(\n            document.documentElement.getAttribute(\"data-oui-theme\") ?? \"\",\n          );\n          break;\n        }\n      }\n    });\n\n    observer.observe(document.documentElement, {\n      attributes: true,\n      attributeFilter: [\"data-oui-theme\"],\n    });\n    return () => observer?.disconnect();\n  }, []);\n\n  return themeAttribute;\n};\n","import { useCallback, useSyncExternalStore } from \"react\";\n\ntype Direction = \"ltr\" | \"rtl\";\n\nfunction subscribeDocumentDir(listener: () => void) {\n  if (typeof document === \"undefined\") {\n    return () => {};\n  }\n  const observer = new MutationObserver(listener);\n  observer.observe(document.documentElement, {\n    attributes: true,\n    attributeFilter: [\"dir\"],\n  });\n  return () => observer.disconnect();\n}\n\nfunction getDocumentDirection(): Direction {\n  if (typeof document === \"undefined\") {\n    return \"ltr\";\n  }\n  return document.documentElement.dir === \"rtl\" ? \"rtl\" : \"ltr\";\n}\n\nexport function useDocumentDirection(): Direction {\n  return useSyncExternalStore(\n    subscribeDocumentDir,\n    getDocumentDirection,\n    () => \"ltr\" as Direction,\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-popover-content\",\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 * 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","import React, { useState } from \"react\";\nimport { Badge } from \"../badge/badge\";\nimport { useScreen } from \"../hooks\";\nimport { Popover } from \"../popover\";\nimport { Tooltip } from \"../tooltip/tooltip\";\nimport { FormattedText, FormattedTextProps } from \"./formatted\";\nimport { TextElement } from \"./text\";\n\nexport type SymbolBadgeTextProps = FormattedTextProps & {\n  /**\n   * Optional badge text shown after the main content. When set, renders as Badge (warning, xs).\n   */\n  badge?: string;\n  /** Full broker name; when set, badge shows it on hover via Tooltip. */\n  fullName?: string;\n  formatString?: string;\n};\n\nexport const SymbolBadgeText = React.forwardRef<\n  TextElement,\n  SymbolBadgeTextProps\n>((props, ref) => {\n  const { badge, formatString, rule, fullName, ...rest } = props;\n  const suffix =\n    badge != null && badge !== \"\" ? (\n      <SymbolBadge badge={badge} fullName={fullName} />\n    ) : undefined;\n  return (\n    <FormattedText\n      rule={\"symbol\"}\n      formatString={\"base\"}\n      {...rest}\n      suffix={suffix}\n      ref={ref}\n    />\n  );\n});\n\nSymbolBadgeText.displayName = \"SymbolBadgeText\";\n\n/** Mobile-only: click-triggered popover; remounted via parent key when badge/fullName changes so open resets. */\nconst SymbolBadgeMobileTruncatedPopover = (props: {\n  fullName: string;\n  badgeEl: React.ReactElement;\n}) => {\n  const { fullName, badgeEl } = props;\n  const [open, setOpen] = useState(false);\n\n  return (\n    <Popover\n      arrow\n      content={fullName}\n      open={open}\n      onOpenChange={setOpen}\n      contentProps={{\n        side: \"top\",\n        align: \"center\",\n        className:\n          \"oui-w-auto oui-border-0 oui-px-2 oui-py-1 oui-text-xs oui-text-base-contrast\",\n      }}\n    >\n      <span\n        className=\"oui-inline-flex oui-cursor-pointer\"\n        onClick={(e) => {\n          e.stopPropagation();\n        }}\n      >\n        {badgeEl}\n      </span>\n    </Popover>\n  );\n};\n\nexport const SymbolBadge = (props: { badge?: string; fullName?: string }) => {\n  const { badge, fullName } = props;\n  const { isMobile } = useScreen();\n\n  if (!badge) return null;\n\n  const badgeEl = (\n    <Badge color=\"neutral\" size=\"xs\" className=\"oui-ms-1\">\n      {badge}\n    </Badge>\n  );\n\n  if (!fullName) return badgeEl;\n\n  // Truncation format must stay in sync with useBadgeBySymbol (slice(0, 7) + \"...\")\n  const isTruncated = badge.endsWith(\"...\");\n\n  if (isMobile) {\n    if (!isTruncated) return badgeEl;\n\n    return (\n      <SymbolBadgeMobileTruncatedPopover\n        key={`${badge}-${fullName}-${isMobile}`}\n        fullName={fullName}\n        badgeEl={badgeEl}\n      />\n    );\n  }\n\n  if (!isTruncated) return badgeEl;\n\n  return (\n    <Tooltip content={fullName}>\n      <span className=\"oui-inline-flex oui-cursor-pointer\">{badgeEl}</span>\n    </Tooltip>\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, FormattedTextProps } 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 {\n  SymbolBadgeText,\n  SymbolBadge,\n  type SymbolBadgeTextProps,\n} from \"./symbolBadge\";\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  symbolBadge: typeof SymbolBadgeText;\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.symbolBadge = SymbolBadgeText;\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, SymbolBadge };\nexport type { TextProps, FormattedTextProps, SymbolBadgeTextProps };\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 \"@orderly.network/utils\";\nimport { InputFormatter } from \"./formatter/inputFormatter\";\n\nexport interface BaseInputProps<T = string> 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  // TODO: \"containerClassName\" is accepted but never applied to any DOM node, so\n  // classes passed by consumers (affiliate editReferralRate, ui-share sharePnL)\n  // have no effect. Implement it (e.g. forward to the root wrapper) or remove it\n  // together with its usages.\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    return (\n      <input\n        type=\"text\"\n        {...inputProps}\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, { type InputHTMLAttributes, useId } from \"react\";\nimport { cnBase, cn, type VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport { BaseInput, BaseInputProps } from \"./baseInput\";\nimport { InputPrefix } from \"./prefix\";\nimport { InputSuffix } from \"./suffix\";\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-base-contrast\",\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: [\n            \"oui-outline-warning-darken\",\n            \"focus-within:oui-outline-warning-darken\",\n          ],\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      // RTL-EXCLUDE: Keep `pl` / `pr` variants mapped to physical padding.\n      // These variant names are part of the Input API and callers use them to\n      // reserve explicit left/right space for prefix/suffix layouts.\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-start\",\n        },\n        right: {\n          input: \"oui-text-end\",\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>, 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(\n            \"oui-input-prefix\",\n            classNames?.additional,\n            classNames?.prefix,\n          ),\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(\n            \"oui-input-suffix\",\n            classNames?.additional,\n            classNames?.suffix,\n          ),\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={cnBase(\"oui-input-clear-btn\", props.className)}\n    >\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        className=\"oui-fill-base-contrast-20\"\n      >\n        <path 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      </svg>\n    </button>\n  );\n});\n\nClearButton.displayName = \"ClearButton\";\n\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };\n\nexport type { InputProps };\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-s oui-border-s-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\n    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-gap-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-ps-2\",\n        \"oui-pe-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-end-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, { 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 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, { 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-end-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 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    const findItem = options?.find((token) => token.value === value);\n    return (\n      <Flex gapX={1}>\n        <TokenIcon\n          url={(findItem as any)?.logo_uri}\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-gap-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 { 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, 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 { 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","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 \"@orderly.network/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 \"@orderly.network/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 \"@orderly.network/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 \"@orderly.network/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 { 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 React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { cn } from \"..\";\nimport { tv } from \"../utils/tv\";\nimport { Input, InputProps } from \"./input\";\nimport { InputHelpText, type InputHelpTextVariantProps } from \"./inputHelpText\";\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-gap-x-3 \",\n      },\n    },\n  },\n  defaultVariants: {\n    direction: \"column\",\n  },\n});\n\nexport type TextFieldProps = InputProps & {\n  label: React.ReactNode;\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 { 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\"\n                ? \"oui-text-primary\"\n                : \"oui-text-base-contrast\",\n            )}\n          />\n        ) : (\n          <div\n            className={cnBase(\n              \"oui-w-[6px] oui-h-[6px] oui-rounded-full\",\n              color === \"primary\"\n                ? \"oui-bg-primary\"\n                : \"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\";\n\nconst switchVariants = tv({\n  slots: {\n    root: [\n      \"oui-switch\",\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      // hardcode white display better than primary-contrast, because primary-contrast is too dark in light mode\n      \"oui-bg-white\",\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\n    VariantProps<typeof switchVariants>,\n    Omit<\n      React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>,\n      \"color\"\n    > {}\n\n/**\n * Renders with `dir=\"ltr\"` on the root so thumb `translateX` matches the track under `html[dir=\"rtl\"]`\n * (RTL reverses flex main-start for `inline-flex`; CSS transforms do not mirror with `direction`).\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\n      className={root({ className })}\n      {...props}\n      ref={ref}\n      dir=\"ltr\"\n    >\n      <SwitchPrimitives.Thumb className={thumb()} />\n    </SwitchPrimitives.Root>\n  );\n});\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\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 { 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\nconst SCROLL_EPSILON = 1;\ntype RTLScrollType = \"default\" | \"negative\" | \"reverse\";\n\nlet cachedRTLScrollType: RTLScrollType | null = null;\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  const [isRTL, setIsRTL] = useState(false);\n\n  useEffect(() => {\n    if (!scrollRef.current) {\n      return;\n    }\n\n    const target = scrollRef.current;\n    const updateState = () => {\n      const direction = window.getComputedStyle(target).direction;\n      const rtl = direction === \"rtl\";\n      setIsRTL(rtl);\n      const scrollAble = hasHorizontalScroll(target);\n      const { fromStart, fromEnd } = getHorizontalScrollOffset(target);\n      setShowLeftShadow(scrollAble && fromStart > SCROLL_EPSILON);\n      setShowRightShadow(scrollAble && fromEnd > SCROLL_EPSILON);\n    };\n\n    updateState();\n    target.addEventListener(\"scroll\", updateState);\n\n    const nearestDirElement = target.closest(\"[dir]\") as HTMLElement | null;\n    const dirObserveTarget = nearestDirElement || document.documentElement;\n\n    const mutationObserver = new MutationObserver(updateState);\n    mutationObserver.observe(dirObserveTarget, {\n      attributes: true,\n      attributeFilter: [\"dir\"],\n    });\n\n    let resizeObserver: ResizeObserver | undefined;\n    if (typeof ResizeObserver !== \"undefined\") {\n      resizeObserver = new ResizeObserver(updateState);\n      resizeObserver.observe(target);\n    }\n\n    return () => {\n      target.removeEventListener(\"scroll\", updateState);\n      mutationObserver.disconnect();\n      resizeObserver?.disconnect();\n    };\n  }, [scrollRef, ...deps]);\n\n  return {\n    scrollRef,\n    showLeftShadow,\n    showRightShadow,\n    isRTL,\n  };\n}\n\nfunction hasHorizontalScroll(element: HTMLDivElement) {\n  return element.scrollWidth - element.clientWidth > SCROLL_EPSILON;\n}\n\nfunction getHorizontalScrollOffset(element: HTMLDivElement) {\n  const max = element.scrollWidth - element.clientWidth;\n  if (max <= 0) {\n    return { fromStart: 0, fromEnd: 0 };\n  }\n\n  const direction = window.getComputedStyle(element).direction;\n\n  if (direction !== \"rtl\") {\n    return {\n      fromStart: Math.max(0, element.scrollLeft),\n      fromEnd: Math.max(0, max - element.scrollLeft),\n    };\n  }\n\n  const scrollType = getRTLScrollType();\n  const scrollLeft = element.scrollLeft;\n  let fromStart = 0;\n\n  if (scrollType === \"negative\") {\n    // right(start)=0, move left -> negative values\n    fromStart = -scrollLeft;\n  } else if (scrollType === \"reverse\") {\n    // right(start)=0, move left -> positive values\n    fromStart = scrollLeft;\n  } else {\n    // right(start)=max, move left -> decreasing to 0\n    fromStart = max - scrollLeft;\n  }\n\n  return {\n    fromStart: Math.max(0, fromStart),\n    fromEnd: Math.max(0, max - fromStart),\n  };\n}\n\nfunction getRTLScrollType(): RTLScrollType {\n  if (cachedRTLScrollType) {\n    return cachedRTLScrollType;\n  }\n\n  if (typeof document === \"undefined\" || !document.body) {\n    cachedRTLScrollType = \"negative\";\n    return cachedRTLScrollType;\n  }\n\n  const outer = document.createElement(\"div\");\n  const inner = document.createElement(\"div\");\n\n  outer.style.width = \"4px\";\n  outer.style.height = \"1px\";\n  outer.style.overflow = \"scroll\";\n  outer.style.visibility = \"hidden\";\n  outer.style.position = \"absolute\";\n  outer.style.top = \"-9999px\";\n  outer.dir = \"rtl\";\n\n  inner.style.width = \"8px\";\n  inner.style.height = \"1px\";\n  outer.appendChild(inner);\n  document.body.appendChild(outer);\n\n  let type: RTLScrollType;\n  if (outer.scrollLeft > 0) {\n    type = \"default\";\n  } else {\n    outer.scrollLeft = 1;\n    type = outer.scrollLeft === 0 ? \"negative\" : \"reverse\";\n  }\n\n  document.body.removeChild(outer);\n  cachedRTLScrollType = type;\n  return type;\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\";\nimport { useThemeAttribute } from \"../../hooks\";\n\nexport function useWrap(deps: any[]) {\n  const wrapRef = useRef<HTMLDivElement>(null);\n  const themeAttribute = useThemeAttribute();\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, themeAttribute]);\n\n  return wrapRef;\n}\n","import { tv } from \"tailwind-variants\";\n\nexport const alignVariants = tv({\n  variants: {\n    align: {\n      left: \"oui-text-start\",\n      start: \"oui-text-start\",\n      center: \"oui-text-center\",\n      right: \"oui-text-end\",\n      end: \"oui-text-end\",\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  isRTL: 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    // Keep logical inset here. TanStack pinning still reports left/right\n    // groups, but sticky offsets must follow the scroll container direction;\n    // physical left/right breaks fixed columns in RTL tables.\n    insetInlineStart:\n      isPinned === \"left\" ? `${column.getStart(\"left\")}px` : undefined,\n    insetInlineEnd:\n      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 &&\n    cnBase(\n      shadowCls,\n      // The shadow sits on the logical outer edge of the pinned group.\n      \"before:oui-end-[-32px]\",\n      isRTL && \"before:oui-rotate-180\",\n    );\n\n  const rightShadow =\n    isFirstRightPinnedColumn &&\n    cnBase(\n      shadowCls,\n      // Do not replace with physical left/right; this mirrors with RTL pinning.\n      \"before:oui-start-[-32px]\",\n      !isRTL && \"before:oui-rotate-180\",\n    );\n\n  return {\n    style,\n    classNames: {\n      content: contentCls,\n      leftShadow,\n      rightShadow,\n    },\n  };\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  isRTL?: 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-ps-3 [&>td:last-child]:oui-pe-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-ps-3 [&>td:last-child]:oui-pe-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 { style: pinStyle, classNames: pinClassNames } =\n                  getColumnPinningProps(column, !!props.isRTL);\n                const { align, className: rowClassName } =\n                  column.columnDef.meta || ({} as any);\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-start-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 { 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        className=\"oui-fill-base-contrast-20\"\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      />\n    </BaseSortIcon>\n  );\n};\n\nexport const AscendingIcon = () => {\n  return (\n    <BaseSortIcon>\n      <path\n        className=\"oui-fill-base-contrast-80\"\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      />\n      <path\n        className=\"oui-fill-base-contrast-20\"\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      />\n    </BaseSortIcon>\n  );\n};\n\nexport const DescendingIcon = () => {\n  return (\n    <BaseSortIcon>\n      <path\n        className=\"oui-fill-base-contrast-20\"\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      />\n      <path\n        className=\"oui-fill-base-contrast-80\"\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      />\n    </BaseSortIcon>\n  );\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 { 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  // 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  if (!multiSort) {\n    return <span>{title}</span>;\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 { 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  isRTL?: 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-ps-3 [&>th:last-child]:oui-pe-3\",\n            props.className,\n          )}\n        >\n          {headerGroup.headers.map((header) => {\n            const column = header.column;\n            const {\n              align,\n              className: rowClassName,\n              title,\n            } = column.columnDef.meta || ({} as any);\n\n            const { style: pinStyle, classNames: pinClassNames } =\n              getColumnPinningProps(column, !!props.isRTL);\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-start-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 { 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 { 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 { 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 React, { useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { ButtonProps, buttonVariants } from \"../button\";\nimport { Flex } from \"../flex\";\nimport { useDocumentDirection } from \"../hooks\";\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-ps-2.5\", className)}\n    {...props}\n  >\n    <PaginationPreviousIcon />\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-pe-2.5\", className)}\n    {...props}\n  >\n    <PaginationNextIcon />\n  </PaginationLink>\n);\nPaginationNext.displayName = \"PaginationNext\";\n\nconst PaginationPreviousIcon = () => {\n  const dir = useDocumentDirection();\n  const Icon = dir === \"rtl\" ? ChevronRightIcon : ChevronLeftIcon;\n  return <Icon className=\"oui-h-4 oui-w-4\" color=\"white\" />;\n};\n\nconst PaginationNextIcon = () => {\n  const dir = useDocumentDirection();\n  const Icon = dir === \"rtl\" ? ChevronLeftIcon : ChevronRightIcon;\n  return <Icon className=\"oui-h-4 oui-w-4\" color=\"white\" />;\n};\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 className=\"oui-me-4\">\n          <Text\n            as=\"div\"\n            size=\"2xs\"\n            intensity={54}\n            className=\"oui-text-nowrap oui-me-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  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  if (totalPages <= 1) {\n    return null;\n  }\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 { 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 { type FC } from \"react\";\nimport { injectable } from \"@orderly.network/plugin-core\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport EmptyStateIcon from \"../icon/emptyData\";\nimport { useLocale } from \"../locale\";\nimport { Text } from \"../typography\";\n\n/** Props for Table.EmptyDataIdentifier injectable; used by plugins for typed interceptor */\nexport interface EmptyDataStateProps {\n  title?: string;\n  className?: string;\n}\n\nexport const EmptyDataState: FC<EmptyDataStateProps> = (props) => {\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\n/** Injectable default for Table.EmptyDataIdentifier slot - plugins can intercept via OrderlyPluginProvider */\nexport const InjectableEmptyDataState = injectable(\n  EmptyDataState,\n  \"Table.EmptyDataIdentifier\",\n);\n","import { FC, ReactNode } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Box } from \"../box\";\nimport { Spinner } from \"../spinner/spinner\";\nimport { InjectableEmptyDataState } from \"./emptyDataState\";\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 ? <Spinner /> : emptyView || <InjectableEmptyDataState />}\n    </Box>\n  );\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\nfunction resolveFixedDirection(\n  fixed: Column[\"fixed\"],\n  isRTL: boolean,\n): \"left\" | \"right\" | null {\n  if (!fixed) {\n    return null;\n  }\n\n  if (fixed === \"left\" || fixed === \"right\") {\n    return fixed;\n  }\n\n  if (fixed === \"start\") {\n    return isRTL ? \"right\" : \"left\";\n  }\n\n  return isRTL ? \"left\" : \"right\";\n}\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    // Keep missing and invalid values at the bottom in both directions.\n    const aMissing =\n      aValue == null ||\n      (typeof aValue === \"number\" && !Number.isFinite(aValue));\n    const bMissing =\n      bValue == null ||\n      (typeof bValue === \"number\" && !Number.isFinite(bValue));\n    if (aMissing && bMissing) return 0;\n    if (aMissing) return 1;\n    if (bMissing) return -1;\n\n    // Numeric comparison\n    const aNum = Number(aValue);\n    const bNum = Number(bValue);\n    if (Number.isFinite(aNum) && Number.isFinite(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[], isRTL = false) => {\n    const left: string[] = [];\n    const right: string[] = [];\n    columns?.map((column) => {\n      const fixed = resolveFixedDirection(column.fixed, isRTL);\n      if (fixed === \"left\") {\n        left.push(column.dataIndex);\n      } else if (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 { 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 wrapRef = useWrap([className, classNames?.root]);\n  const { scrollRef, showLeftShadow, showRightShadow, isRTL } = useScroll([\n    dataSource?.length,\n    columns?.length,\n  ]);\n\n  const columnPinning = useMemo(\n    () => Transform.columnPinning(columns, isRTL),\n    [columns, isRTL],\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  // 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              isRTL={isRTL}\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            isRTL={isRTL}\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 { addDays, addMonths, isAfter } from \"date-fns\";\n\nexport function isWithinCalendarMonths(from: Date, to: Date, months: number) {\n  const start = from <= to ? from : to;\n  const end = from <= to ? to : from;\n  return !isAfter(end, addMonths(start, months));\n}\n\nexport function isWithinDays(from: Date, to: Date, days: number) {\n  const start = from <= to ? from : to;\n  const end = from <= to ? to : from;\n  return !isAfter(end, addDays(start, days - 1));\n}\n","import { DayPicker } from \"react-day-picker\";\nimport { cnBase } from \"tailwind-variants\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"../../icon\";\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-gap-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-gap-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-start-1\",\n        nav_button_next: \"oui-absolute oui-end-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-e-md\",\n          props.mode === \"range\"\n            ? \"[&:has(>.oui-day-range-end)]:oui-rounded-e-md [&:has(>.oui-day-range-start)]:oui-rounded-s-md first:[&:has([aria-selected])]:oui-rounded-s-md last:[&:has([aria-selected])]:oui-rounded-e-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, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { DateRange, DayPickerRangeProps } from \"react-day-picker\";\nimport { format } from \"date-fns\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport { useLocale } from \"../locale\";\nimport { Popover } from \"../popover/popover\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { isWithinCalendarMonths, isWithinDays } from \"./calendarRange\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\n\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  /** Maximum span between the selected dates, measured in calendar months. */\n  maxCalendarMonths?: number;\n  /** Maximum span between the selected dates, measured in days, inclusive. */\n  maxDays?: number;\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    maxCalendarMonths,\n    maxDays,\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 < 1024);\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 < 1024);\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 isWithinMaxSpan = (from: Date, to: Date) => {\n    if (\n      maxCalendarMonths &&\n      !isWithinCalendarMonths(from, to, maxCalendarMonths)\n    ) {\n      return false;\n    }\n    if (maxDays && !isWithinDays(from, to, maxDays)) {\n      return false;\n    }\n    return true;\n  };\n\n  const onOpenChange = (nextOpen: boolean) => {\n    if (!nextOpen && dateRange?.from) {\n      const nextRange = {\n        from: dateRange.from,\n        to: dateRange.to ?? dateRange.from,\n      };\n      if (isWithinMaxSpan(nextRange.from, nextRange.to)) {\n        setDateRange(nextRange);\n        onChange?.(nextRange);\n      }\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      if (range.from && range.to && !isWithinMaxSpan(range.from, range.to)) {\n        return;\n      }\n      setDateRange(range);\n    }\n  };\n\n  const disabledMatchers = calendarProps.disabled\n    ? Array.isArray(calendarProps.disabled)\n      ? calendarProps.disabled\n      : [calendarProps.disabled]\n    : [];\n  const disabled =\n    (maxCalendarMonths || maxDays) && dateRange?.from && !dateRange.to\n      ? [\n          ...disabledMatchers,\n          (date: Date) => !isWithinMaxSpan(dateRange.from!, date),\n        ]\n      : calendarProps.disabled;\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          disabled={disabled}\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 { FC, useMemo, useState } from \"react\";\nimport { ActiveModifiers } from \"react-day-picker\";\nimport { format } from \"date-fns\";\nimport { cnBase } from \"tailwind-variants\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport { useLocale } from \"../locale\";\nimport { Popover } from \"../popover/popover\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\n\nexport type DatePickerProps = {\n  onChange?: (date: Date) => void;\n  placeholder?: string;\n  value?: Date;\n  dateFormat?: string;\n  size?: SizeType;\n  className?: string;\n  children?: React.ReactNode;\n} & CalendarProps;\n\nconst DatePicker: FC<DatePickerProps> = (props) => {\n  const {\n    placeholder,\n    dateFormat,\n    onChange,\n    value,\n    size,\n    className,\n    children,\n    ...calendarProps\n  } = props;\n\n  const [locale] = useLocale(\"picker\");\n\n  const { trigger } = selectVariants({ size });\n\n  const [open, setOpen] = useState(false);\n\n  const formattedValue = useMemo(() => {\n    if (typeof value === \"undefined\") {\n      return placeholder ?? locale.selectDate;\n    }\n    return format(value, dateFormat ?? \"yyyy/MM/dd\");\n  }, [value, placeholder, locale, dateFormat]);\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      content={\n        <Calendar\n          mode=\"single\"\n          selected={value}\n          // @ts-ignore\n          onSelect={onSelect}\n          {...calendarProps}\n        />\n      }\n    >\n      {children ?? (\n        <button\n          className={trigger({\n            className: cnBase(\"oui-datepicker-trigger oui-group\", className),\n          })}\n        >\n          <div className=\"oui-flex oui-items-center oui-gap-x-2\">\n            <span className=\"oui-datepicker-trigger-icon\">\n              <CalendarIcon\n                size={14}\n                className=\"oui-text-inherit\"\n                opacity={1}\n              />\n            </span>\n            <span>{formattedValue}</span>\n          </div>\n          <CaretDownIcon\n            size={12}\n            className=\"oui-datepicker-trigger-arrow oui-text-inherit oui-transition-transform group-data-[state=closed]:oui-rotate-0 group-data-[state=open]:oui-rotate-180\"\n            opacity={1}\n          />\n        </button>\n      )}\n    </Popover>\n  );\n};\n\nDatePicker.displayName = \"DatePicker\";\n\nexport { DatePicker };\n","import * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cn, cnBase, tv, type VariantProps } from \"tailwind-variants\";\nimport { useDocumentDirection } from \"../hooks/useDocumentDirection\";\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-sheet-overlay oui-fixed oui-inset-0 oui-z-50 oui-bg-black/50 oui-backdrop-blur-sm 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-sheet-content 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      // Keep left/right sides on logical start/end. In RTL, callers expect\n      // side=\"left\" to attach to the visual start side; physical left/right\n      // places drawers on the opposite side from their trigger.\n      left: \"oui-inset-y-0 oui-start-0 oui-h-full oui-w-3/4 sm:oui-max-w-sm\",\n      right:\n        \"oui-inset-y-0 oui-end-0 oui-h-full oui-w-3/4 oui-border-s sm:oui-max-w-sm\",\n    },\n  },\n  defaultVariants: {\n    side: \"bottom\",\n  },\n});\n\nfunction getLogicalSideAnimationClass(\n  side: SheetContentProps[\"side\"],\n  direction: \"ltr\" | \"rtl\",\n) {\n  if (side === \"left\") {\n    return direction === \"rtl\"\n      ? \"data-[state=closed]:oui-slide-out-to-right data-[state=open]:oui-slide-in-from-right\"\n      : \"data-[state=closed]:oui-slide-out-to-left data-[state=open]:oui-slide-in-from-left\";\n  }\n\n  if (side === \"right\") {\n    return direction === \"rtl\"\n      ? \"data-[state=closed]:oui-slide-out-to-left data-[state=open]:oui-slide-in-from-left\"\n      : \"data-[state=closed]:oui-slide-out-to-right data-[state=open]:oui-slide-in-from-right\";\n  }\n\n  return undefined;\n}\n\nexport interface SheetContentProps\n  extends\n    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    const direction = useDocumentDirection();\n    const sideAnimationClassName = getLogicalSideAnimationClass(\n      side,\n      direction,\n    );\n\n    return (\n      <SheetPortal>\n        <SheetOverlay className={overlayClassName} />\n        <SheetPrimitive.Content\n          ref={ref}\n          className={cnBase(\n            sheetVariants({ side }),\n            sideAnimationClassName,\n            className,\n          )}\n          onOpenAutoFocus={(e) => e.preventDefault()}\n          onCloseAutoFocus={(e) => e.preventDefault()}\n          {...props}\n        >\n          {closeable && (\n            // TODO(theme): \"oui-ring-offset-base-700\" is an invalid token (the base scale only defines 1-10) and generates no CSS. Remove it or replace with a valid token (e.g. \"oui-ring-offset-base-7\") after visual comparison.\n            <SheetPrimitive.Close\n              className={cnBase(\n                \"oui-sheet-close-btn oui-ring-offset-base-700 focus-visible:oui-ring-ring oui-absolute oui-end-4 oui-top-4 oui-z-10 oui-rounded-sm oui-transition-opacity focus-visible:oui-outline-none focus-visible:oui-ring-2 focus-visible:oui-ring-offset-2 active:oui-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  },\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-gap-x-2\",\n      className,\n    )}\n    {...props}\n  />\n);\nSheetFooter.displayName = \"SheetFooter\";\n\n/**\n * Visible sheet title. Must render Radix `Dialog.Title` so `DialogContent` is\n * announced correctly to assistive tech (see Radix dialog a11y requirements).\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, children, ...props }, ref) => (\n  <div className=\"oui-sheet-header oui-grid oui-grid-cols-[40px_1fr_40px] oui-items-center\">\n    <div>{leading}</div>\n    <SheetPrimitive.Title\n      ref={ref}\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      {children}\n    </SheetPrimitive.Title>\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","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 { 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 { 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 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","import React from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\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-s\"],\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 * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { Sheet, SheetContent, SheetHeader } from \".\";\nimport { Divider } from \"../divider\";\nimport { SheetBody, SheetContentProps, SheetTitle } from \"./sheet\";\n\nexport interface SimpleSheetProps {\n  /**\n   * Visible header title. When omitted, a screen-reader-only default is still\n   * rendered so Radix `Dialog.Content` meets accessibility requirements.\n   */\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          <SheetPrimitive.Title className=\"oui-sr-only\">\n            sheet title\n          </SheetPrimitive.Title>\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 * 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/50\",\n      \"oui-backdrop-blur-sm\",\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      // RTL-EXCLUDE: Do not replace with `start-[50%]`.\n      // Keep physical left centering here: start maps to right in RTL, which\n      // breaks centering with translate-x-[-50%].\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-end-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      // Use gap instead of space-x so spacing works in both LTR and RTL.\n      \"oui-gap-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 { Button, ButtonProps, ThrottledButton } from \"../button\";\nimport { DialogFooter } from \"./dialog\";\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  const buttons = useMemo(() => {\n    if (!actions) {\n      return [];\n    }\n\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  if (!actions) return null;\n\n  return <DialogFooter className={props.className}>{buttons}</DialogFooter>;\n};\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\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  /**\n   * Visible header title. When omitted, a screen-reader-only default is still\n   * rendered so Radix `Dialog.Content` meets accessibility requirements.\n   */\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          <DialogPrimitive.Title className=\"oui-sr-only\">\n            dialog title\n          </DialogPrimitive.Title>\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 { 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 { 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 { 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  // TODO(theme): \"oui-bg-base-300\" is an invalid token (the base scale only defines 1-10) and generates no CSS, so this divider is invisible. Remove it or replace with \"oui-bg-base-3\" after visual comparison.\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 extends ComponentPropsWithoutRef<\n  typeof Sheet\n> {\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 {\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\n    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-gap-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 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 { 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","export { DownloadFeature } from \"./download\";\n","import { Table, TableFeature, RowData } from \"@tanstack/react-table\";\nimport { Column } from \"../type\";\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\n        .filter((column) => (column.columnDef.meta as any).type !== \"action\")\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(\n            (cell) => (cell.column.columnDef.meta as any).type !== \"action\",\n          )\n          .map((cell) => {\n            const { original: record, index } = cell.row;\n            const { renderPlantText } = (cell.column.columnDef.meta ||\n              {}) as Column;\n\n            let value = 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      downloadCSV(data, filename);\n    };\n  },\n};\n\nfunction generateCSV(data: any[]) {\n  return data.map((row) => row.join(\",\")).join(\"\\n\");\n}\n\nfunction downloadCSV(data: any[], filename = `${Date.now()}.csv`) {\n  const csvContent = generateCSV(data);\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","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-tabs-list\",\n      \"oui-header-list\",\n      \"oui-flex\",\n      \"oui-items-center\",\n      // \"oui-px-1\",\n    ],\n    content: [\n      \"oui-tabs-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-tabs-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      /** `gap-x` mirrors correctly in RTL; `space-x` uses asymmetric margins that can overlap pill corners. */\n      \"oui-gap-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: [\"oui-gap-x-6\", \"oui-border-b\", \"oui-border-line-6\", \"oui-px-1\"],\n        trigger: [\n          \"oui-group\",\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-base-contrast\",\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-start-0\",\n          \"data-[state=active]:after:oui-end-0\",\n        ],\n      },\n      contained: {\n        list: [\"oui-gap-x-[6px]\"],\n        trigger: [\n          \"oui-group\",\n          /** `!rounded` defeats host/segment overrides that strip one physical corner under `[dir=\"rtl\"]` + `:first-child`. */\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-gap-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 { createContext, useContext } from \"react\";\nimport type { ThemeCssVars } from \"../tailwind\";\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\nexport type TradingViewColorConfig = {\n  chartBG?: string;\n  upColor?: string;\n  downColor?: string;\n  pnlUpColor?: string;\n  pnlDownColor?: string;\n  pnlZeroColor?: string;\n  /** @deprecated Use pnlZeroColor instead. */\n  pnlZoreColor?: string;\n  textColor?: string;\n  qtyTextColor?: string;\n  font?: string;\n  closeIconColor?: string;\n  /** @deprecated Use closeIconColor instead. */\n  closeIcon?: string;\n  volumeUpColor?: string;\n  volumeDownColor?: string;\n  /** Liquidation line color; should match Position list Liq. Price (e.g. from --oui-color-warning-light). */\n  liqLineColor?: string;\n};\n\nexport type ThemeConfig = {\n  /**\n   * Unique theme identifier.\n   * Will also be used as the value of `data-oui-theme`.\n   */\n  id: string;\n  /**\n   * Display name for this theme. Used in UI (e.g. settings page).\n   */\n  displayName: string;\n  /**\n   * Theme mode.\n   */\n  mode: \"dark\" | \"light\";\n  /**\n   * Optional CSS variables overrides for this theme.\n   * Keys should be full CSS variable names, e.g. \"--oui-color-primary\".\n   * These are applied at runtime via document.documentElement.style.setProperty.\n   */\n  cssVars?: Partial<ThemeCssVars>;\n  /** Optional TradingView color overrides for this theme. */\n  tradingViewColorConfig?: TradingViewColorConfig;\n  /** Whether this theme should be used when no valid stored theme exists. */\n  isDefault?: boolean;\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  themes: ThemeConfig[];\n  currentThemeId?: string;\n  currentTheme?: ThemeConfig;\n  setCurrentThemeId?: (id: string) => void;\n};\n\nexport const OrderlyThemeContext = createContext(\n  {} as OrderlyThemeContextState,\n);\n\nexport const useOrderlyTheme = () => {\n  return useContext(OrderlyThemeContext);\n};\n","import { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport type ScrollIndicatorDirection = \"leading\" | \"tailing\";\n\ntype RtlScrollType = \"default\" | \"negative\" | \"reverse\";\n\nlet cachedRtlScrollType: RtlScrollType | undefined;\n\nfunction getRtlScrollType(): RtlScrollType {\n  if (cachedRtlScrollType) {\n    return cachedRtlScrollType;\n  }\n\n  if (typeof document === \"undefined\") {\n    cachedRtlScrollType = \"negative\";\n    return cachedRtlScrollType;\n  }\n\n  const outer = document.createElement(\"div\");\n  const inner = document.createElement(\"div\");\n\n  outer.dir = \"rtl\";\n  outer.style.width = \"4px\";\n  outer.style.height = \"1px\";\n  outer.style.overflow = \"scroll\";\n  outer.style.position = \"absolute\";\n  outer.style.top = \"-1000px\";\n  inner.style.width = \"8px\";\n  inner.style.height = \"1px\";\n\n  outer.appendChild(inner);\n  document.body.appendChild(outer);\n\n  if (outer.scrollLeft > 0) {\n    cachedRtlScrollType = \"default\";\n  } else {\n    outer.scrollLeft = 1;\n    cachedRtlScrollType = outer.scrollLeft === 0 ? \"negative\" : \"reverse\";\n  }\n\n  document.body.removeChild(outer);\n  return cachedRtlScrollType;\n}\n\nfunction getMaxScrollLeft(container: HTMLDivElement) {\n  return Math.max(container.scrollWidth - container.clientWidth, 0);\n}\n\nexport function getScrollOffsetFromStart(container: HTMLDivElement) {\n  const maxScrollLeft = getMaxScrollLeft(container);\n\n  if (getComputedStyle(container).direction !== \"rtl\") {\n    return container.scrollLeft;\n  }\n\n  switch (getRtlScrollType()) {\n    case \"negative\":\n      return -container.scrollLeft;\n    case \"default\":\n      return maxScrollLeft - container.scrollLeft;\n    case \"reverse\":\n      return container.scrollLeft;\n  }\n}\n\nexport function getScrollLeftForOffsetFromStart(\n  container: HTMLDivElement,\n  offsetFromStart: number,\n) {\n  const maxScrollLeft = getMaxScrollLeft(container);\n  const nextOffset = Math.min(Math.max(offsetFromStart, 0), maxScrollLeft);\n\n  if (getComputedStyle(container).direction !== \"rtl\") {\n    return nextOffset;\n  }\n\n  switch (getRtlScrollType()) {\n    case \"negative\":\n      return -nextOffset;\n    case \"default\":\n      return maxScrollLeft - nextOffset;\n    case \"reverse\":\n      return nextOffset;\n  }\n}\n\nexport function useScroll() {\n  const [leadingVisible, setLeadingVisible] = useState(false);\n  const [tailingVisible, setTailingVisible] = useState(false);\n  const [isRTL, setIsRTL] = useState(false);\n\n  const containerRef = useRef<HTMLDivElement>(null);\n\n  const updateScrollVisibility = useCallback(() => {\n    const container = containerRef.current;\n    if (!container) return;\n\n    const maxScrollLeft = getMaxScrollLeft(container);\n    const offsetFromStart = getScrollOffsetFromStart(container);\n    const nextIsRTL = getComputedStyle(container).direction === \"rtl\";\n\n    setIsRTL(nextIsRTL);\n    setLeadingVisible(offsetFromStart > 1);\n    setTailingVisible(offsetFromStart < maxScrollLeft - 1);\n  }, []);\n\n  useEffect(() => {\n    const container = containerRef.current;\n    if (!container) return;\n\n    container.addEventListener(\"scroll\", updateScrollVisibility);\n\n    const intersectionObserver = new IntersectionObserver((entries) => {\n      entries.forEach((entry) => {\n        if (entry.isIntersecting) {\n          updateScrollVisibility();\n        }\n      });\n    });\n\n    const resizeObserver =\n      typeof ResizeObserver !== \"undefined\"\n        ? new ResizeObserver(updateScrollVisibility)\n        : undefined;\n\n    intersectionObserver.observe(container);\n    resizeObserver?.observe(container);\n    updateScrollVisibility();\n\n    return () => {\n      container.removeEventListener(\"scroll\", updateScrollVisibility);\n      intersectionObserver.disconnect();\n      resizeObserver?.disconnect();\n    };\n  }, [updateScrollVisibility]);\n\n  const onScoll = (direction: ScrollIndicatorDirection) => {\n    const container = containerRef.current;\n    if (!container) return;\n\n    const currentOffset = getScrollOffsetFromStart(container);\n    const delta = direction === \"leading\" ? -100 : 100;\n    const left = getScrollLeftForOffsetFromStart(\n      container,\n      currentOffset + delta,\n    );\n\n    container.scrollTo({ left, behavior: \"smooth\" });\n  };\n\n  return { containerRef, leadingVisible, tailingVisible, isRTL, onScoll };\n}\n","import { useState, RefObject } from \"react\";\nimport {\n  getScrollLeftForOffsetFromStart,\n  getScrollOffsetFromStart,\n} from \"./useScroll\";\n\nexport function useDrag(containerRef: RefObject<HTMLDivElement>) {\n  const [isDragging, setIsDragging] = useState(false);\n  const [startX, setStartX] = useState(0);\n  const [scrollOffsetFromStart, setScrollOffsetFromStart] = 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    setScrollOffsetFromStart(getScrollOffsetFromStart(containerRef.current));\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 = getScrollLeftForOffsetFromStart(\n      containerRef.current,\n      scrollOffsetFromStart - walk,\n    );\n  };\n\n  const handleMouseUp = () => {\n    setIsDragging(false);\n  };\n\n  return {\n    handleMouseDown,\n    handleMouseMove,\n    handleMouseUp,\n    isDragging,\n  };\n}\n","import { FC } from \"react\";\nimport { SVGProps } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport type { ScrollIndicatorDirection } from \"./hooks/useScroll\";\n\ntype ScrolButtonProps = {\n  tailing?: boolean;\n  leading?: boolean;\n  isRTL?: boolean;\n  visible?: boolean;\n  onClick?: (direction: ScrollIndicatorDirection) => void;\n};\n\nexport const ScrolButton: FC<ScrolButtonProps> = (props) => {\n  const { visible, leading, tailing, isRTL, onClick } = props;\n  const isLeftEdge = isRTL ? tailing : leading;\n\n  if (!visible) {\n    return null;\n  }\n\n  return (\n    <button\n      onClick={() => {\n        onClick?.(leading ? \"leading\" : \"tailing\");\n      }}\n      style={{\n        direction: \"ltr\",\n        left: isLeftEdge ? 0 : undefined,\n        right: isLeftEdge ? undefined : 0,\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        isLeftEdge && \"oui-flex-row-reverse\",\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          isLeftEdge && \"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            isLeftEdge && \"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 { 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, isRTL, onScoll } =\n    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-min-w-0 oui-flex-1 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\n        leading\n        isRTL={isRTL}\n        onClick={onScoll}\n        visible={leadingVisible}\n      />\n      <ScrolButton\n        tailing\n        isRTL={isRTL}\n        onClick={onScoll}\n        visible={tailingVisible}\n      />\n    </div>\n  );\n};\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 { useDocumentDirection } from \"../hooks\";\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  classNames?: {\n    content?: string;\n    trigger?: string;\n  };\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\nfunction useResolvedTabsDir(\n  propDir: React.ComponentProps<typeof TabsPrimitive.Root>[\"dir\"],\n): NonNullable<React.ComponentProps<typeof TabsPrimitive.Root>[\"dir\"]> {\n  const fromDocument = useDocumentDirection();\n  return propDir ?? fromDocument;\n}\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    dir: dirProp,\n    ...rest\n  } = props;\n\n  /** Tab bar layout + keyboard nav: honor explicit `dir` or fall back to the document (`html`). */\n  const dir = useResolvedTabsDir(dirProp);\n\n  const tabsOverrides = getComponentTheme(\"tabs\", {\n    variant: variant ?? \"contained\",\n  });\n\n  const tabsVariant = 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={cnBase(classNames?.trigger, tab.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} dir={dir}>\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  classNames?: {\n    content?: string;\n    trigger?: string;\n  };\n  style?: React.CSSProperties;\n}\n\nconst TabPanel: FC<PropsWithChildren<TabPanelProps>> = (props) => {\n  const { title, value, icon, style, testid, children, className, classNames } =\n    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      classNames,\n      style,\n      content: children,\n    };\n    registerTab(tabConfig);\n    return () => {\n      unregisterTab(tabConfig);\n    };\n  }, [children, style, icon, testid, title, value, className, classNames]);\n\n  return null;\n};\n\nif (process.env.NODE_ENV !== \"production\") {\n  TabPanel.displayName = \"TabPanel\";\n}\n\nexport { Tabs, TabPanel };\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","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","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-start-0 oui-end-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      trackInner?: 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({ className: classNames?.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","import React from \"react\";\nimport { cn } from \"..\";\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\", className, ...rest } = props;\n    return (\n      <BaseIcon\n        ref={ref}\n        viewBox={viewBox}\n        fill=\"currentColor\"\n        className={cn(className, \"oui-fill-danger\")}\n        {...rest}\n      >\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          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\", className, ...rest } = props;\n    return (\n      <BaseIcon\n        ref={ref}\n        viewBox={viewBox}\n        fill=\"currentColor\"\n        className={cn(className, \"oui-fill-success\")}\n        {...rest}\n      >\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        />\n      </BaseIcon>\n    );\n  },\n);\nexport const ToastLoadingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n  (props, ref) => {\n    const { opacity = 1, viewBox = \"0 0 20 20\", className, ...rest } = props;\n    return (\n      <BaseIcon\n        ref={ref}\n        viewBox={viewBox}\n        fill=\"currentColor\"\n        className={cn(className, \"oui-fill-primary\")}\n        {...rest}\n      >\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          fillOpacity={opacity}\n        />\n      </BaseIcon>\n    );\n  },\n);\n\nToastErrorIcon.displayName = \"ToasterErrorIcon\";\nToastSuccessIcon.displayName = \"ToastSuccessIcon\";\nToastLoadingIcon.displayName = \"ToastLoadingIcon\";\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: \"rgb(var(--oui-color-success-light))\",\n            secondary: \"rgb(var(--oui-color-base-10))\",\n          },\n          style: {\n            background: \"rgb(var(--oui-color-base-5))\",\n          },\n        },\n        loading: {\n          duration: 5000,\n          style: {\n            background: \"rgb(var(--oui-color-base-5))\",\n          },\n        },\n        error: {\n          iconTheme: {\n            primary: \"rgb(var(--oui-color-danger))\",\n            secondary: \"rgb(var(--oui-color-base-10))\",\n          },\n          style: {\n            background: \"rgb(var(--oui-color-base-5))\",\n          },\n        },\n        custom: {\n          duration: 5000,\n          removeDelay: 0,\n          position: \"top-right\",\n          style: {\n            background: \"rgb(var(--oui-color-base-5))\",\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: \"rgb(var(--oui-color-base-foreground) / 0.8)\",\n            borderRadius: \"6px\",\n            wordBreak: \"break-all\",\n            maxWidth: 800,\n            boxShadow: \"0px 4px 8px 0px rgb(var(--oui-color-base-10) / 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 { 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 { 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 React, { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { useMemo, useRef } from \"react\";\nimport { 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  /**\n   * Extract a stable key from each item. Must be unique among items and\n   * stable across reorders/removals; defaults to the array index, which is\n   * only safe for static or append-only lists.\n   */\n  keyExtractor?: (item: T, index: number) => React.Key;\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\n        key={props.keyExtractor ? props.keyExtractor(item, index) : index}\n      >\n        {props.renderItem(item, index, props.extraData)}\n      </React.Fragment>\n    ));\n  }, [\n    emptyDataSouce,\n    props.dataSource,\n    props.extraData,\n    props.emptyView,\n    props.keyExtractor,\n    props.renderItem,\n  ]);\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-bottom-0 oui-start-0 oui-end-0 oui-top-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 { FC } from \"react\";\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        \"oui-overflow-hidden data-[state=closed]:oui-animate-collapsible-up data-[state=open]:oui-animate-collapsible-down\",\n      )}\n    ></CollapsiblePrimitive.CollapsibleContent>\n  );\n};\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\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, 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 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-dropdown-menu-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-dropdown-menu-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-ms-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-ps-8\"],\n        label: [\"oui-ps-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  createElement,\n  type ComponentType,\n  type FC,\n  type PropsWithChildren,\n  useEffect,\n} from \"react\";\nimport {\n  type ExtensionPosition,\n  OrderlyPluginRegistry,\n  positionToPath,\n} from \"../plugin\";\n\nconst COMPONENTS_PLUGIN_ID = \"orderly-components-provider-overrides\";\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      const interceptors = Object.entries(props.components).map(\n        ([position, Element]) => ({\n          target: positionToPath(position),\n          component: (_Original: ComponentType<any>, slotProps: any) =>\n            createElement(Element as ComponentType<any>, slotProps),\n        }),\n      );\n\n      OrderlyPluginRegistry.register({\n        id: COMPONENTS_PLUGIN_ID,\n        name: \"ComponentsProvider\",\n        interceptors,\n      });\n    }\n  }, [props.components]);\n\n  return props.children;\n};\n\nexport { ComponentsProvider };\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  ThemeConfig,\n} from \"./orderlyThemeContext\";\n\nexport type OrderlyThemeProviderProps = {\n  // dateFormatting?: string;\n  components?: {\n    [position in ExtensionPosition]: ComponentType;\n  };\n  overrides?: Partial<ComponentOverrides>;\n  themes?: ThemeConfig[];\n  currentThemeId?: string;\n  currentTheme?: ThemeConfig;\n  setCurrentThemeId?: (id: string) => void;\n};\n\nexport const OrderlyThemeProvider: FC<\n  PropsWithChildren<OrderlyThemeProviderProps>\n> = (props) => {\n  const {\n    components,\n    overrides,\n    themes,\n    currentThemeId,\n    currentTheme,\n    setCurrentThemeId,\n    children,\n  } = 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 {\n      getComponentTheme: resolveComponentTheme,\n      themes: themes ?? [],\n      currentThemeId,\n      currentTheme,\n      setCurrentThemeId,\n    };\n  }, [\n    resolveComponentTheme,\n    themes,\n    currentThemeId,\n    currentTheme,\n    setCurrentThemeId,\n  ]);\n\n  return (\n    <OrderlyThemeContext.Provider value={memoizedValue}>\n      <ComponentsProvider components={components}>\n        {children}\n      </ComponentsProvider>\n    </OrderlyThemeContext.Provider>\n  );\n};\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","/**\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","import React from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useScreen } from \"../hooks\";\nimport { InfoCircleIcon } from \"../icon\";\nimport { modal } from \"../modal\";\nimport { Tooltip } from \"../tooltip\";\n\nconst stopPropagation = (event: React.MouseEvent | React.PointerEvent) => {\n  event.stopPropagation();\n};\n\nexport type TipsProps = {\n  /** Content shown in desktop Tooltip and mobile dialog body (same for both). */\n  content: React.ReactNode;\n  /** Title for mobile modal.alert; defaults to \"Tips\" when not provided. */\n  title?: string;\n  /** Trigger element; defaults to InfoCircleIcon when not provided. */\n  trigger?: React.ReactNode;\n  /** Optional className for the wrapper (button on mobile, or Tooltip trigger on desktop). */\n  className?: string;\n  classNames?: {\n    trigger?: string;\n  };\n};\n\nexport const Tips: React.FC<TipsProps> = ({\n  content,\n  title = \"Tips\",\n  trigger,\n  className,\n  classNames,\n}) => {\n  const { isMobile } = useScreen();\n\n  const triggerElement = trigger || (\n    <InfoCircleIcon\n      opacity={1}\n      className={cnBase(\n        \"oui-size-3 oui-shrink-0 oui-cursor-pointer oui-text-base-contrast-36\",\n        classNames?.trigger,\n      )}\n    />\n  );\n\n  if (isMobile) {\n    const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n      event.stopPropagation();\n      modal.alert({\n        title,\n        message: content,\n      });\n    };\n\n    return (\n      <button\n        type=\"button\"\n        className={className}\n        onClick={handleClick}\n        onMouseDown={stopPropagation}\n        onPointerDown={stopPropagation}\n      >\n        {triggerElement}\n      </button>\n    );\n  }\n  return (\n    <Tooltip\n      className=\"oui-bg-base-6\"\n      arrow={{ className: \"oui-fill-base-6\" }}\n      content={<div className=\"oui-max-w-72\">{content}</div>}\n    >\n      {triggerElement}\n    </Tooltip>\n  );\n};\n\nTips.displayName = \"Tips\";\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","*, ::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.19 | 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: 156 117 255;\n  --oui-color-primary-light: 156 117 255;\n  --oui-color-primary-darken: 103 0 206;\n  --oui-color-primary-contrast: 255 255 255;\n  --oui-color-link: 156 117 255;\n  --oui-color-link-light: 156 117 255;\n  --oui-color-secondary: 255 255 255;\n  --oui-color-tertiary: 132 131 136;\n  --oui-color-quaternary: 98 96 102;\n  --oui-color-danger: 233 77 122;\n  --oui-color-danger-light: 233 77 122;\n  --oui-color-danger-darken: 233 77 122;\n  --oui-color-danger-contrast: 9 6 16;\n  --oui-color-success: 2 181 137;\n  --oui-color-success-light: 2 181 137;\n  --oui-color-success-darken: 2 181 137;\n  --oui-color-success-contrast: 9 6 16;\n  --oui-color-warning: 217 171 82;\n  --oui-color-warning-light: 217 171 82;\n  --oui-color-warning-darken: 217 171 82;\n  --oui-color-warning-contrast: 9 6 16;\n  --oui-color-fill: 29 25 41;\n  --oui-color-fill-active: 43 39 54;\n  --oui-color-base-1: 66 61 75;\n  --oui-color-base-2: 57 53 65;\n  --oui-color-base-3: 54 50 64;\n  --oui-color-base-4: 51 47 62;\n  --oui-color-base-5: 43 39 54;\n  --oui-color-base-6: 29 25 41;\n  --oui-color-base-7: 25 22 36;\n  --oui-color-base-8: 22 18 32;\n  --oui-color-base-9: 19 14 29;\n  --oui-color-base-10: 9 6 16;\n  --oui-color-base-foreground: 255 255 255;\n  --oui-color-line: 255 255 255;\n  --oui-color-base-static: 255 255 255;\n  --oui-color-base-static-contrast: 0 0 0;\n  --oui-color-trading-loss: 233 77 122;\n  --oui-color-trading-loss-contrast: 9 6 16;\n  --oui-color-trading-profit: 2 181 137;\n  --oui-color-trading-profit-contrast: 9 6 16;\n  --oui-gradient-primary-start: 156 117 255;\n  --oui-gradient-primary-end: 156 117 255;\n  --oui-gradient-secondary-start: 156 117 255;\n  --oui-gradient-secondary-end: 156 117 255;\n  --oui-gradient-success-start: 2 181 137;\n  --oui-gradient-success-end: 2 181 137;\n  --oui-gradient-danger-start: 233 77 122;\n  --oui-gradient-danger-end: 233 77 122;\n  --oui-gradient-warning-start: 217 171 82;\n  --oui-gradient-warning-end: 217 171 82;\n  --oui-gradient-neutral-start: 29 25 41;\n  --oui-gradient-neutral-end: 29 25 41;\n  --oui-gradient-brand-start: 156 117 255;\n  --oui-gradient-brand-end: 156 117 255;\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-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  font-weight: 500;\n  font-feature-settings: \"ss02\" 1, \"ss03\" 1, \"ss05\" 1, \"ss06\" 1;\n}\n\nh1, h2, h3, h4, h5, h6, [role='heading'] {\n  font-weight: 600;\n}\n\n:where(.oui-text-2xl, .oui-text-3xl, .oui-text-4xl, .oui-text-5xl) {\n  font-weight: 600;\n}\n\n:where(.oui-text-2xs, .oui-text-xs, .oui-text-sm) {\n  font-weight: 500;\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-3 {\n  inset: 0.75rem;\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-end-1 {\n  inset-inline-end: 0.25rem !important;\n}\n.\\!oui-top-1 {\n  top: 0.25rem !important;\n}\n.-oui-end-3 {\n  inset-inline-end: -0.75rem;\n}\n.-oui-end-\\[1px\\] {\n  inset-inline-end: -1px;\n}\n.-oui-end-\\[6px\\] {\n  inset-inline-end: -6px;\n}\n.-oui-end-px {\n  inset-inline-end: -1px;\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-top-px {\n  top: -1px;\n}\n.oui--bottom-12 {\n  bottom: -3rem;\n}\n.oui--end-12 {\n  inset-inline-end: -3rem;\n}\n.oui--start-12 {\n  inset-inline-start: -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-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-0 {\n  inset-inline-end: 0px;\n}\n.oui-end-1 {\n  inset-inline-end: 0.25rem;\n}\n.oui-end-2 {\n  inset-inline-end: 0.5rem;\n}\n.oui-end-3 {\n  inset-inline-end: 0.75rem;\n}\n.oui-end-4 {\n  inset-inline-end: 1rem;\n}\n.oui-end-\\[-1\\.5px\\] {\n  inset-inline-end: -1.5px;\n}\n.oui-end-\\[-100\\%\\] {\n  inset-inline-end: -100%;\n}\n.oui-end-\\[-20px\\] {\n  inset-inline-end: -20px;\n}\n.oui-end-\\[1px\\] {\n  inset-inline-end: 1px;\n}\n.oui-left-0 {\n  left: 0px;\n}\n.oui-left-\\[50\\%\\] {\n  left: 50%;\n}\n.oui-start-0 {\n  inset-inline-start: 0px;\n}\n.oui-start-1 {\n  inset-inline-start: 0.25rem;\n}\n.oui-start-1\\/2 {\n  inset-inline-start: 50%;\n}\n.oui-start-2 {\n  inset-inline-start: 0.5rem;\n}\n.oui-start-3 {\n  inset-inline-start: 0.75rem;\n}\n.oui-start-6 {\n  inset-inline-start: 1.5rem;\n}\n.oui-start-\\[-1\\.5px\\] {\n  inset-inline-start: -1.5px;\n}\n.oui-start-\\[-100\\%\\] {\n  inset-inline-start: -100%;\n}\n.oui-start-\\[-9px\\] {\n  inset-inline-start: -9px;\n}\n.oui-start-\\[10px\\] {\n  inset-inline-start: 10px;\n}\n.oui-start-\\[30px\\] {\n  inset-inline-start: 30px;\n}\n.oui-start-\\[4px\\] {\n  inset-inline-start: 4px;\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-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-\\[0px\\] {\n  top: 0px;\n}\n.oui-top-\\[100px\\] {\n  top: 100px;\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-isolate {\n  isolation: isolate;\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-\\[3\\] {\n  z-index: 3;\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-order-1 {\n  order: 1;\n}\n.oui-order-2 {\n  order: 2;\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-col-start-3 {\n  grid-column-start: 3;\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-me-4 {\n  margin-inline-end: -1rem;\n}\n.-oui-me-\\[4px\\] {\n  margin-inline-end: -4px;\n}\n.-oui-ms-2 {\n  margin-inline-start: -0.5rem;\n}\n.-oui-ms-4 {\n  margin-inline-start: -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-1 {\n  margin-top: -0.25rem;\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-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-mb-\\[clamp\\(2rem\\,3vw\\,3rem\\)\\] {\n  margin-bottom: clamp(2rem, 3vw, 3rem);\n}\n.oui-mb-\\[clamp\\(4rem\\,6vw\\,6rem\\)\\] {\n  margin-bottom: clamp(4rem, 6vw, 6rem);\n}\n.oui-me-1 {\n  margin-inline-end: 0.25rem;\n}\n.oui-me-2 {\n  margin-inline-end: 0.5rem;\n}\n.oui-me-3 {\n  margin-inline-end: 0.75rem;\n}\n.oui-me-4 {\n  margin-inline-end: 1rem;\n}\n.oui-me-6 {\n  margin-inline-end: 1.5rem;\n}\n.oui-me-\\[2px\\] {\n  margin-inline-end: 2px;\n}\n.oui-me-\\[6px\\] {\n  margin-inline-end: 6px;\n}\n.oui-ml-0 {\n  margin-left: 0px;\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-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-ms-0 {\n  margin-inline-start: 0px;\n}\n.oui-ms-0\\.5 {\n  margin-inline-start: 0.125rem;\n}\n.oui-ms-1 {\n  margin-inline-start: 0.25rem;\n}\n.oui-ms-2 {\n  margin-inline-start: 0.5rem;\n}\n.oui-ms-2\\.5 {\n  margin-inline-start: 0.625rem;\n}\n.oui-ms-3 {\n  margin-inline-start: 0.75rem;\n}\n.oui-ms-4 {\n  margin-inline-start: 1rem;\n}\n.oui-ms-\\[2px\\] {\n  margin-inline-start: 2px;\n}\n.oui-ms-\\[5px\\] {\n  margin-inline-start: 5px;\n}\n.oui-ms-auto {\n  margin-inline-start: auto;\n}\n.oui-ms-px {\n  margin-inline-start: 1px;\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-2\\.5 {\n  margin-top: 0.625rem;\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-\\[9px\\] {\n  margin-top: 9px;\n}\n.oui-mt-\\[clamp\\(1\\.5rem\\,2vw\\,2rem\\)\\] {\n  margin-top: clamp(1.5rem, 2vw, 2rem);\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-11 {\n  width: 2.75rem;\n  height: 2.75rem;\n}\n.oui-size-12 {\n  width: 3rem;\n  height: 3rem;\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-\\[140px\\] {\n  width: 140px;\n  height: 140px;\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-\\[335px\\] {\n  width: 335px;\n  height: 335px;\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-\\[54px\\] {\n  height: 54px !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-3\\.5 {\n  height: 0.875rem;\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-\\[14px\\] {\n  height: 14px;\n}\n.oui-h-\\[152px\\] {\n  height: 152px;\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-\\[200px\\] {\n  height: 200px;\n}\n.oui-h-\\[20px\\] {\n  height: 20px;\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-\\[256px\\] {\n  height: 256px;\n}\n.oui-h-\\[25px\\] {\n  height: 25px;\n}\n.oui-h-\\[26px\\] {\n  height: 26px;\n}\n.oui-h-\\[276px\\] {\n  height: 276px;\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-\\[308px\\] {\n  height: 308px;\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-\\[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\\(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\\%_-_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-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\\(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-\\[119px\\] {\n  max-height: 119px;\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-\\[144px\\] {\n  max-height: 144px;\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-\\[205px\\] {\n  max-height: 205px;\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-\\[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-\\[700px\\] {\n  max-height: 700px;\n}\n.oui-max-h-\\[70vh\\] {\n  max-height: 70vh;\n}\n.oui-max-h-\\[80vh\\] {\n  max-height: 80vh;\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-\\[160px\\] {\n  min-height: 160px;\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-\\[2\\.4em\\] {\n  min-height: 2.4em;\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-\\[4px\\] {\n  min-height: 4px;\n}\n.oui-min-h-\\[50px\\] {\n  min-height: 50px;\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\\)\\] {\n  min-height: calc(100vh - 44px);\n}\n.oui-min-h-\\[clamp\\(6\\.5rem\\,15vw\\,8\\.25rem\\)\\] {\n  min-height: clamp(6.5rem, 15vw, 8.25rem);\n}\n.oui-min-h-\\[clamp\\(6\\.5rem\\,8vw\\,8\\.25rem\\)\\] {\n  min-height: clamp(6.5rem, 8vw, 8.25rem);\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-full {\n  width: 100% !important;\n}\n.oui-w-0 {\n  width: 0px;\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-\\[190px\\] {\n  width: 190px;\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-\\[225px\\] {\n  width: 225px;\n}\n.oui-w-\\[230px\\] {\n  width: 230px;\n}\n.oui-w-\\[240px\\] {\n  width: 240px;\n}\n.oui-w-\\[256px\\] {\n  width: 256px;\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-\\[368px\\] {\n  width: 368px;\n}\n.oui-w-\\[36px\\] {\n  width: 36px;\n}\n.oui-w-\\[378px\\] {\n  width: 378px;\n}\n.oui-w-\\[420px\\] {\n  width: 420px;\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-\\[620px\\] {\n  width: 620px;\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\\%\\+2\\.5rem\\)\\] {\n  width: calc(100% + 2.5rem);\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-\\[100px\\] {\n  min-width: 100px;\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-\\[360px\\] {\n  max-width: 360px !important;\n}\n.\\!oui-max-w-\\[624px\\] {\n  max-width: 624px !important;\n}\n.\\!oui-max-w-none {\n  max-width: none !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-\\[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-\\[244px\\] {\n  max-width: 244px;\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-\\[34ch\\] {\n  max-width: 34ch;\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-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-3 {\n  --tw-translate-y: 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-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-help {\n  cursor: help;\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-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-\\[6fr\\,4fr\\] {\n  grid-template-columns: 6fr 4fr;\n}\n.oui-grid-cols-\\[minmax\\(0\\,1fr\\)_96px_72px\\] {\n  grid-template-columns: minmax(0,1fr) 96px 72px;\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\\,auto\\] {\n  grid-template-rows: auto auto 1fr auto 1fr auto;\n}\n.oui-grid-rows-\\[auto\\,auto\\,1fr\\,auto\\,1fr\\] {\n  grid-template-rows: auto auto 1fr auto 1fr;\n}\n.oui-grid-rows-\\[auto_minmax\\(0\\,1fr\\)\\] {\n  grid-template-rows: auto minmax(0,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-\\[clamp\\(0\\.375rem\\,2vw\\,1rem\\)\\] {\n  gap: clamp(0.375rem, 2vw, 1rem);\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-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-\\[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-y-visible {\n  overflow-y: visible;\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 !important;\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) !important;\n}\n.\\!oui-rounded-md {\n  border-radius: var(--oui-rounded-md, 0.375rem) !important;\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-\\[24px\\] {\n  border-radius: 24px;\n}\n.oui-rounded-\\[2px\\] {\n  border-radius: 2px;\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-b-xl {\n  border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem) !important;\n  border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem) !important;\n}\n.\\!oui-rounded-t-xl {\n  border-top-left-radius: var(--oui-rounded-xl, 0.75rem) !important;\n  border-top-right-radius: var(--oui-rounded-xl, 0.75rem) !important;\n}\n.oui-rounded-b-2xl {\n  border-bottom-right-radius: var(--oui-rounded-2xl, 1rem);\n  border-bottom-left-radius: var(--oui-rounded-2xl, 1rem);\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-e {\n  border-start-end-radius: var(--oui-rounded, 0.25rem);\n  border-end-end-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-e-full {\n  border-start-end-radius: var(--oui-rounded-full, 9999px);\n  border-end-end-radius: var(--oui-rounded-full, 9999px);\n}\n.oui-rounded-e-lg {\n  border-start-end-radius: var(--oui-rounded-lg, 0.5rem);\n  border-end-end-radius: var(--oui-rounded-lg, 0.5rem);\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-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-s {\n  border-start-start-radius: var(--oui-rounded, 0.25rem);\n  border-end-start-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-s-full {\n  border-start-start-radius: var(--oui-rounded-full, 9999px);\n  border-end-start-radius: var(--oui-rounded-full, 9999px);\n}\n.oui-rounded-s-lg {\n  border-start-start-radius: var(--oui-rounded-lg, 0.5rem);\n  border-end-start-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-\\[10px\\] {\n  border-bottom-left-radius: 10px;\n}\n.oui-rounded-bl-\\[6px\\] {\n  border-bottom-left-radius: 6px;\n}\n.oui-rounded-bl-md {\n  border-bottom-left-radius: var(--oui-rounded-md, 0.375rem);\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-ee-none {\n  border-end-end-radius: 0;\n}\n.oui-rounded-es {\n  border-end-start-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-ss {\n  border-start-start-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-ss-none {\n  border-start-start-radius: 0;\n}\n.oui-rounded-tl-\\[10px\\] {\n  border-top-left-radius: 10px;\n}\n.oui-rounded-tr-\\[10px\\] {\n  border-top-right-radius: 10px;\n}\n.oui-rounded-tr-md {\n  border-top-right-radius: var(--oui-rounded-md, 0.375rem);\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-4 {\n  border-width: 4px;\n}\n.oui-border-8 {\n  border-width: 8px;\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 {\n  border-top-width: 1px;\n  border-bottom-width: 1px;\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-e {\n  border-inline-end-width: 1px;\n}\n.oui-border-s {\n  border-inline-start-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-\\[\\#d9d9d9\\] {\n  --tw-border-opacity: 1;\n  border-color: rgb(217 217 217 / 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-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-base-static-contrast-20 {\n  border-color: rgb(var(--oui-color-base-static-contrast) / 0.2);\n}\n.oui-border-black {\n  --tw-border-opacity: 1;\n  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));\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-line {\n  border-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.oui-border-line-10 {\n  border-color: rgb(var(--oui-color-line, 255 255 255) / 0.10);\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-link-light {\n  --tw-border-opacity: 1;\n  border-color: rgb(var(--oui-color-link-light) / var(--tw-border-opacity, 1));\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-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-e-line-16 {\n  border-inline-end-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-border-s-transparent {\n  border-inline-start-color: transparent;\n}\n.oui-border-t-transparent {\n  border-top-color: transparent;\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-base-9 {\n  --tw-bg-opacity: 1 !important;\n  background-color: rgb(var(--oui-color-base-9) / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-black\\/10 {\n  background-color: rgb(0 0 0 / 0.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-\\[\\#07080A\\] {\n  --tw-bg-opacity: 1;\n  background-color: rgb(7 8 10 / 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-\\[\\#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-\\[\\#d9d9d9\\] {\n  --tw-bg-opacity: 1;\n  background-color: rgb(217 217 217 / 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-\\[rgb\\(var\\(--oui-color-primary-light\\)\\/0\\.06\\)\\] {\n  background-color: rgb(var(--oui-color-primary-light)/0.06);\n}\n.oui-bg-\\[rgb\\(var\\(--oui-color-warning-darken\\)_\\/_0\\.1\\)\\] {\n  background-color: rgb(var(--oui-color-warning-darken) / 0.1);\n}\n.oui-bg-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n  background-color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-bg-\\[rgba\\(0\\,0\\,0\\,0\\.48\\)\\] {\n  background-color: rgba(0,0,0,0.48);\n}\n.oui-bg-\\[rgba\\(var\\(--oui-color-warning-darken\\)\\/0\\.15\\)\\] {\n  background-color: rgba(var(--oui-color-warning-darken)/0.15);\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-8\\/70 {\n  background-color: rgb(var(--oui-color-base-8) / 0.7);\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-16 {\n  background-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.oui-bg-base-contrast-20 {\n  background-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-bg-base-contrast-30 {\n  background-color: rgb(var(--oui-color-base-foreground) / 0.30);\n}\n.oui-bg-base-contrast-4 {\n  background-color: rgb(var(--oui-color-base-foreground) / 0.04);\n}\n.oui-bg-base-contrast-54 {\n  background-color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-bg-base-contrast-6 {\n  background-color: rgb(var(--oui-color-base-foreground) / 0.06);\n}\n.oui-bg-base-contrast-8 {\n  background-color: rgb(var(--oui-color-base-foreground) / 0.08);\n}\n.oui-bg-base-contrast-80 {\n  background-color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-bg-base-static {\n  background-color: rgb(var(--oui-color-base-static) / 0.98);\n}\n.oui-bg-base-static-contrast\\/10 {\n  background-color: rgb(var(--oui-color-base-static-contrast) / 0.1);\n}\n.oui-bg-black\\/50 {\n  background-color: rgb(0 0 0 / 0.5);\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-secondary {\n  --tw-bg-opacity: 1;\n  background-color: rgb(var(--oui-color-secondary) / 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-warning\\/10 {\n  background-color: rgb(var(--oui-color-warning) / 0.1);\n}\n.oui-bg-warning\\/70 {\n  background-color: rgb(var(--oui-color-warning) / 0.7);\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-\\[linear-gradient\\(15deg\\,rgb\\(var\\(--oui-color-link\\)\\)_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,rgb\\(var\\(--oui-color-success\\)\\)_100\\%\\)\\] {\n  background-image: linear-gradient(15deg,rgb(var(--oui-color-link)) -11%,transparent 30%,transparent 77%,rgb(var(--oui-color-success)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,rgb\\(var\\(--oui-color-primary\\)\\)_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,rgb\\(var\\(--oui-color-danger-darken\\)\\)_100\\%\\)\\] {\n  background-image: linear-gradient(15deg,rgb(var(--oui-color-primary)) -11%,transparent 30%,transparent 77%,rgb(var(--oui-color-danger-darken)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,rgb\\(var\\(--oui-color-primary-darken\\)\\)_0\\%\\,transparent_30\\%\\)\\] {\n  background-image: linear-gradient(15deg,rgb(var(--oui-color-primary-darken)) 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,rgb\\(var\\(--oui-color-warning-darken\\)\\)_0\\%\\,transparent_30\\%\\)\\] {\n  background-image: linear-gradient(15deg,rgb(var(--oui-color-warning-darken)) 0%,transparent 30%);\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-end\\)_\\/_0\\.10\\)_0\\%\\,rgb\\(var\\(--oui-gradient-brand-start\\)_\\/_0\\.10\\)_100\\%\\)\\] {\n  background-image: linear-gradient(270deg,rgb(var(--oui-gradient-brand-end) / 0.10) 0%,rgb(var(--oui-gradient-brand-start) / 0.10) 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\\(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-\\[repeating-linear-gradient\\(45deg\\,rgba\\(255\\,255\\,255\\,0\\.08\\)_0\\,rgba\\(255\\,255\\,255\\,0\\.08\\)_4px\\,transparent_4px\\,transparent_8px\\)\\] {\n  background-image: repeating-linear-gradient(45deg,rgba(255,255,255,0.08) 0,rgba(255,255,255,0.08) 4px,transparent 4px,transparent 8px);\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-\\[rgb\\(var\\(--oui-gradient-brand-end\\)\\)\\] {\n  --tw-gradient-from: rgb(var(--oui-gradient-brand-end)) var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(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-\\[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-\\[rgb\\(var\\(--oui-gradient-danger-end\\)\\)\\] {\n  --tw-gradient-from: rgb(var(--oui-gradient-danger-end)) var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(var(--oui-gradient-danger-end) / 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-secondary-end\\)\\)\\] {\n  --tw-gradient-from: rgb(var(--oui-gradient-secondary-end)) var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(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-\\[rgb\\(var\\(--oui-gradient-warning-end\\)\\)\\] {\n  --tw-gradient-from: rgb(var(--oui-gradient-warning-end)) var(--tw-gradient-from-position);\n  --tw-gradient-to: rgb(var(--oui-gradient-warning-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-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-via-\\[rgb\\(var\\(--oui-color-warning-darken\\)\\)\\] {\n  --tw-gradient-to: rgb(var(--oui-color-warning-darken) / 0)  var(--tw-gradient-to-position);\n  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--oui-color-warning-darken)) var(--tw-gradient-via-position), var(--tw-gradient-to);\n}\n.oui-to-\\[rgb\\(var\\(--oui-color-danger-darken\\)\\)\\] {\n  --tw-gradient-to: rgb(var(--oui-color-danger-darken)) 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-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n  --tw-gradient-to: rgb(var(--oui-gradient-brand-start)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-danger-start\\)\\)\\] {\n  --tw-gradient-to: rgb(var(--oui-gradient-danger-start)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-secondary-start\\)\\)\\] {\n  --tw-gradient-to: rgb(var(--oui-gradient-secondary-start)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-warning-start\\)\\)\\] {\n  --tw-gradient-to: rgb(var(--oui-gradient-warning-start)) 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-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-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-7 {\n  fill: rgb(var(--oui-color-base-7) / 1);\n}\n.oui-fill-base-8 {\n  fill: rgb(var(--oui-color-base-8) / 1);\n}\n.oui-fill-base-contrast {\n  fill: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-fill-base-contrast-12 {\n  fill: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-fill-base-contrast-16 {\n  fill: rgb(var(--oui-color-base-foreground) / 0.16);\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-base-contrast-6 {\n  fill: rgb(var(--oui-color-base-foreground) / 0.06);\n}\n.oui-fill-base-contrast-80 {\n  fill: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-fill-base-static {\n  fill: rgb(var(--oui-color-base-static) / 0.98);\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 {\n  fill: rgb(var(--oui-color-primary) / 1);\n}\n.oui-fill-primary-contrast {\n  fill: rgb(var(--oui-color-primary-contrast) / 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-darken {\n  fill: rgb(var(--oui-color-success-darken) / 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 {\n  fill: rgb(var(--oui-color-warning) / 1);\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-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-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-p-\\[clamp\\(0\\.75rem\\,2\\.5vw\\,1\\.5rem\\)\\] {\n  padding: clamp(0.75rem, 2.5vw, 1.5rem);\n}\n.oui-p-\\[clamp\\(1rem\\,1\\.75vw\\,1\\.75rem\\)\\] {\n  padding: clamp(1rem, 1.75vw, 1.75rem);\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-px-5 {\n  padding-left: 1.25rem !important;\n  padding-right: 1.25rem !important;\n}\n.\\!oui-py-0 {\n  padding-top: 0px !important;\n  padding-bottom: 0px !important;\n}\n.\\!oui-py-12 {\n  padding-top: 3rem !important;\n  padding-bottom: 3rem !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-16 {\n  padding-left: 4rem;\n  padding-right: 4rem;\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-pe-0 {\n  padding-inline-end: 0px !important;\n}\n.\\!oui-pe-5 {\n  padding-inline-end: 1.25rem !important;\n}\n.\\!oui-ps-5 {\n  padding-inline-start: 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-24 {\n  padding-bottom: 6rem;\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-\\[9px\\] {\n  padding-bottom: 9px;\n}\n.oui-pb-\\[calc\\(20px\\+env\\(safe-area-inset-bottom\\)\\)\\] {\n  padding-bottom: calc(20px + env(safe-area-inset-bottom));\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-pe-0 {\n  padding-inline-end: 0px;\n}\n.oui-pe-1 {\n  padding-inline-end: 0.25rem;\n}\n.oui-pe-12 {\n  padding-inline-end: 3rem;\n}\n.oui-pe-2 {\n  padding-inline-end: 0.5rem;\n}\n.oui-pe-2\\.5 {\n  padding-inline-end: 0.625rem;\n}\n.oui-pe-3 {\n  padding-inline-end: 0.75rem;\n}\n.oui-pe-5 {\n  padding-inline-end: 1.25rem;\n}\n.oui-pe-8 {\n  padding-inline-end: 2rem;\n}\n.oui-pe-9 {\n  padding-inline-end: 2.25rem;\n}\n.oui-pe-\\[5px\\] {\n  padding-inline-end: 5px;\n}\n.oui-pe-\\[6px\\] {\n  padding-inline-end: 6px;\n}\n.oui-pl-0 {\n  padding-left: 0px;\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-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-10 {\n  padding-right: 2.5rem;\n}\n.oui-pr-2 {\n  padding-right: 0.5rem;\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-ps-0 {\n  padding-inline-start: 0px;\n}\n.oui-ps-0\\.5 {\n  padding-inline-start: 0.125rem;\n}\n.oui-ps-1 {\n  padding-inline-start: 0.25rem;\n}\n.oui-ps-2 {\n  padding-inline-start: 0.5rem;\n}\n.oui-ps-2\\.5 {\n  padding-inline-start: 0.625rem;\n}\n.oui-ps-3 {\n  padding-inline-start: 0.75rem;\n}\n.oui-ps-4 {\n  padding-inline-start: 1rem;\n}\n.oui-ps-5 {\n  padding-inline-start: 1.25rem;\n}\n.oui-ps-6 {\n  padding-inline-start: 1.5rem;\n}\n.oui-ps-8 {\n  padding-inline-start: 2rem;\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-16 {\n  padding-top: 4rem;\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-pt-\\[9px\\] {\n  padding-top: 9px;\n}\n.oui-pt-px {\n  padding-top: 1px;\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-start {\n  text-align: start !important;\n}\n.oui-text-start {\n  text-align: start;\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-\\[8px\\] {\n  font-size: 8px;\n}\n.oui-text-\\[length\\:clamp\\(0\\.625rem\\,1\\.5vw\\,0\\.875rem\\)\\] {\n  font-size: clamp(0.625rem, 1.5vw, 0.875rem);\n}\n.oui-text-\\[length\\:clamp\\(0\\.75rem\\,0\\.9vw\\,0\\.875rem\\)\\] {\n  font-size: clamp(0.75rem, 0.9vw, 0.875rem);\n}\n.oui-text-\\[length\\:clamp\\(1\\.25rem\\,3\\.5vw\\,2\\.25rem\\)\\] {\n  font-size: clamp(1.25rem, 3.5vw, 2.25rem);\n}\n.oui-text-\\[length\\:clamp\\(1\\.5rem\\,2\\.25vw\\,2\\.75rem\\)\\] {\n  font-size: clamp(1.5rem, 2.25vw, 2.75rem);\n}\n.oui-text-\\[length\\:clamp\\(28px\\,2\\.2vw\\,38px\\)\\] {\n  font-size: clamp(28px, 2.2vw, 38px);\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-5 {\n  line-height: 1.25rem;\n}\n.oui-leading-6 {\n  line-height: 1.5rem;\n}\n.oui-leading-8 {\n  line-height: 2rem;\n}\n.oui-leading-9 {\n  line-height: 2.25rem;\n}\n.oui-leading-\\[0px\\] {\n  line-height: 0px;\n}\n.oui-leading-\\[1\\.15\\] {\n  line-height: 1.15;\n}\n.oui-leading-\\[1\\.2\\] {\n  line-height: 1.2;\n}\n.oui-leading-\\[1\\.45\\] {\n  line-height: 1.45;\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-leading-tight {\n  line-height: 1.25;\n}\n.oui-tracking-\\[-0\\.025em\\] {\n  letter-spacing: -0.025em;\n}\n.oui-tracking-\\[-0\\.02em\\] {\n  letter-spacing: -0.02em;\n}\n.oui-tracking-\\[0\\.01em\\] {\n  letter-spacing: 0.01em;\n}\n.oui-tracking-\\[0\\.03em\\] {\n  letter-spacing: 0.03em;\n}\n.oui-tracking-\\[0\\.48px\\] {\n  letter-spacing: 0.48px;\n}\n.oui-tracking-tight {\n  letter-spacing: -0.025em;\n}\n.oui-tracking-wide {\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-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n  color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-text-\\[rgba\\(255\\,154\\,46\\,1\\)\\] {\n  color: rgba(255,154,46,1);\n}\n.oui-text-base-10 {\n  --tw-text-opacity: 1;\n  color: rgb(var(--oui-color-base-10) / 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-8 {\n  color: rgb(var(--oui-color-base-foreground) / 0.08);\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-base-static {\n  color: rgb(var(--oui-color-base-static) / 0.98);\n}\n.oui-text-base-static-contrast {\n  color: rgb(var(--oui-color-base-static-contrast) / 0.98);\n}\n.oui-text-base-static-contrast-20 {\n  color: rgb(var(--oui-color-base-static-contrast) / 0.2);\n}\n.oui-text-base-static-contrast-80 {\n  color: rgb(var(--oui-color-base-static-contrast) / 0.80);\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-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-contrast\\/80 {\n  color: rgb(var(--oui-color-primary-contrast) / 0.8);\n}\n.oui-text-primary-contrast\\/\\[0\\.54\\] {\n  color: rgb(var(--oui-color-primary-contrast) / 0.54);\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-secondary {\n  --tw-text-opacity: 1;\n  color: rgb(var(--oui-color-secondary) / var(--tw-text-opacity, 1));\n}\n.oui-text-secondary\\/80 {\n  color: rgb(var(--oui-color-secondary) / 0.8);\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-underline {\n  text-decoration-line: underline;\n}\n.oui-no-underline {\n  text-decoration-line: none;\n}\n.oui-decoration-base-contrast {\n  text-decoration-color: rgb(var(--oui-color-base-foreground) / 0.98);\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-dotted {\n  text-decoration-style: dotted;\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-underline-offset-\\[6px\\] {\n  text-underline-offset: 6px;\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-\\[rgb\\(var\\(--oui-color-tertiary\\)\\)\\] {\n  caret-color: rgb(var(--oui-color-tertiary));\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-90 {\n  opacity: 0.9;\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 {\n  outline-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\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-primary-light {\n  outline-color: rgb(var(--oui-color-primary-light) / 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-ring-offset-base-7 {\n  --tw-ring-offset-color: rgb(var(--oui-color-base-7) / 1);\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  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  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  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-sm {\n  --tw-backdrop-blur: blur(4px);\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, 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\n:where(.placeholder\\:oui-text-2xs, .oui-text-xs, .oui-text-sm)::-moz-placeholder {\n  font-weight: 500;\n}\n\n:where(.placeholder\\:oui-text-2xs, .oui-text-xs, .oui-text-sm)::placeholder {\n  font-weight: 500;\n}\n\n:where(.oui-text-2xs,.placeholder\\:oui-text-xs, .oui-text-sm)::-moz-placeholder {\n  font-weight: 500;\n}\n\n:where(.oui-text-2xs,.placeholder\\:oui-text-xs, .oui-text-sm)::placeholder {\n  font-weight: 500;\n}\n\n:where(.oui-text-2xs, .oui-text-xs,.placeholder\\:oui-text-sm)::-moz-placeholder {\n  font-weight: 500;\n}\n\n:where(.oui-text-2xs, .oui-text-xs,.placeholder\\:oui-text-sm)::placeholder {\n  font-weight: 500;\n}\n\n@media (min-width: 480px) {\n\n  :where(.md\\:oui-text-2xl, .oui-text-3xl, .oui-text-4xl, .oui-text-5xl) {\n    font-weight: 600;\n  }\n\n  :where(.oui-text-2xl,.md\\:oui-text-3xl, .oui-text-4xl, .oui-text-5xl) {\n    font-weight: 600;\n  }\n\n  :where(.md\\:oui-text-2xs, .oui-text-xs, .oui-text-sm) {\n    font-weight: 500;\n  }\n\n  :where(.oui-text-2xs,.md\\:oui-text-xs, .oui-text-sm) {\n    font-weight: 500;\n  }\n\n  :where(.oui-text-2xs, .oui-text-xs,.md\\:oui-text-sm) {\n    font-weight: 500;\n  }\n\n  :where(.md\\:placeholder\\:oui-text-2xs, .oui-text-xs, .oui-text-sm)::-moz-placeholder {\n    font-weight: 500;\n  }\n\n  :where(.md\\:placeholder\\:oui-text-2xs, .oui-text-xs, .oui-text-sm)::placeholder {\n    font-weight: 500;\n  }\n\n  :where(.oui-text-2xs, .oui-text-xs,.md\\:placeholder\\:oui-text-sm)::-moz-placeholder {\n    font-weight: 500;\n  }\n\n  :where(.oui-text-2xs, .oui-text-xs,.md\\:placeholder\\:oui-text-sm)::placeholder {\n    font-weight: 500;\n  }\n}\n\n@media (min-width: 768px) {\n\n  :where(.lg\\:oui-text-2xl, .oui-text-3xl, .oui-text-4xl, .oui-text-5xl) {\n    font-weight: 600;\n  }\n\n  :where(.oui-text-2xl, .oui-text-3xl,.lg\\:oui-text-4xl, .oui-text-5xl) {\n    font-weight: 600;\n  }\n\n  :where(.lg\\:oui-text-2xs, .oui-text-xs, .oui-text-sm) {\n    font-weight: 500;\n  }\n\n  :where(.oui-text-2xs,.lg\\:oui-text-xs, .oui-text-sm) {\n    font-weight: 500;\n  }\n\n  :where(.oui-text-2xs, .oui-text-xs,.lg\\:oui-text-sm) {\n    font-weight: 500;\n  }\n\n  :where(.lg\\:placeholder\\:oui-text-2xs, .oui-text-xs, .oui-text-sm)::-moz-placeholder {\n    font-weight: 500;\n  }\n\n  :where(.lg\\:placeholder\\:oui-text-2xs, .oui-text-xs, .oui-text-sm)::placeholder {\n    font-weight: 500;\n  }\n\n  :where(.oui-text-2xs, .oui-text-xs,.lg\\:placeholder\\:oui-text-sm)::-moz-placeholder {\n    font-weight: 500;\n  }\n\n  :where(.oui-text-2xs, .oui-text-xs,.lg\\:placeholder\\:oui-text-sm)::placeholder {\n    font-weight: 500;\n  }\n}\n\n@media (min-width: 1024px) {\n\n  :where(.xl\\:oui-text-2xl, .oui-text-3xl, .oui-text-4xl, .oui-text-5xl) {\n    font-weight: 600;\n  }\n\n  :where(.oui-text-2xl,.xl\\:oui-text-3xl, .oui-text-4xl, .oui-text-5xl) {\n    font-weight: 600;\n  }\n\n  :where(.oui-text-2xl, .oui-text-3xl, .oui-text-4xl,.xl\\:oui-text-5xl) {\n    font-weight: 600;\n  }\n\n  :where(.oui-text-2xs,.xl\\:oui-text-xs, .oui-text-sm) {\n    font-weight: 500;\n  }\n\n  :where(.oui-text-2xs, .oui-text-xs,.xl\\:oui-text-sm) {\n    font-weight: 500;\n  }\n}\n\n@media (min-width: 1280px) {\n\n  :where(.\\32xl\\:oui-text-2xl, .oui-text-3xl, .oui-text-4xl, .oui-text-5xl) {\n    font-weight: 600;\n  }\n\n  :where(.oui-text-2xs, .oui-text-xs,.\\32xl\\:oui-text-sm) {\n    font-weight: 500;\n  }\n}\n\n:where(.\\[\\&\\>div\\]\\:oui-text-2xs>div, .oui-text-xs, .oui-text-sm) {\n  font-weight: 500;\n}\n\n.marker\\:oui-text-3xs *::marker {\n  font-size: var(--oui-font-size-3xs, 0.625rem);\n  line-height: 0.625rem;\n}\n\n.marker\\:oui-text-3xs::marker {\n  font-size: var(--oui-font-size-3xs, 0.625rem);\n  line-height: 0.625rem;\n}\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\n.placeholder\\:oui-text-2xs::placeholder {\n  font-size: var(--oui-font-size-2xs, 0.75rem);\n  line-height: 1.125rem;\n}\n\n.placeholder\\:oui-text-base::-moz-placeholder {\n  font-size: var(--oui-font-size-base, 1rem);\n  line-height: 1.5rem;\n}\n\n.placeholder\\:oui-text-base::placeholder {\n  font-size: var(--oui-font-size-base, 1rem);\n  line-height: 1.5rem;\n}\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\n.placeholder\\:oui-text-sm::placeholder {\n  font-size: var(--oui-font-size-sm,0.875rem);\n  line-height: 1.25rem;\n}\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\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\n.placeholder\\:oui-text-base-contrast-20::-moz-placeholder {\n  color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n\n.placeholder\\:oui-text-base-contrast-20::placeholder {\n  color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n\n.placeholder\\:oui-text-base-contrast-54::-moz-placeholder {\n  color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n\n.placeholder\\:oui-text-base-contrast-54::placeholder {\n  color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n\n.before\\:oui-absolute::before {\n  content: var(--tw-content);\n  position: absolute;\n}\n\n.before\\:oui-end-\\[-32px\\]::before {\n  content: var(--tw-content);\n  inset-inline-end: -32px;\n}\n\n.before\\:oui-start-\\[-32px\\]::before {\n  content: var(--tw-content);\n  inset-inline-start: -32px;\n}\n\n.before\\:oui-top-0::before {\n  content: var(--tw-content);\n  top: 0px;\n}\n\n.before\\:oui-z-\\[-1\\]::before {\n  content: var(--tw-content);\n  z-index: -1;\n}\n\n.before\\:oui-block::before {\n  content: var(--tw-content);\n  display: block;\n}\n\n.before\\:oui-h-full::before {\n  content: var(--tw-content);\n  height: 100%;\n}\n\n.before\\:oui-w-\\[32px\\]::before {\n  content: var(--tw-content);\n  width: 32px;\n}\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\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\n.after\\:oui-absolute::after {\n  content: var(--tw-content);\n  position: absolute;\n}\n\n.after\\:oui-bottom-\\[-8px\\]::after {\n  content: var(--tw-content);\n  bottom: -8px;\n}\n\n.after\\:oui-end-0::after {\n  content: var(--tw-content);\n  inset-inline-end: 0px;\n}\n\n.after\\:oui-left-1\\/2::after {\n  content: var(--tw-content);\n  left: 50%;\n}\n\n.after\\:oui-start-0::after {\n  content: var(--tw-content);\n  inset-inline-start: 0px;\n}\n\n.after\\:oui-top-0::after {\n  content: var(--tw-content);\n  top: 0px;\n}\n\n.after\\:oui-top-\\[2px\\]::after {\n  content: var(--tw-content);\n  top: 2px;\n}\n\n.after\\:oui-z-\\[-1\\]::after {\n  content: var(--tw-content);\n  z-index: -1;\n}\n\n.after\\:oui-block::after {\n  content: var(--tw-content);\n  display: block;\n}\n\n.after\\:oui-size-full::after {\n  content: var(--tw-content);\n  width: 100%;\n  height: 100%;\n}\n\n.after\\:\\!oui-h-\\[2px\\]::after {\n  content: var(--tw-content);\n  height: 2px !important;\n}\n\n.after\\:oui-h-0::after {\n  content: var(--tw-content);\n  height: 0px;\n}\n\n.after\\:oui-h-\\[2px\\]::after {\n  content: var(--tw-content);\n  height: 2px;\n}\n\n.after\\:oui-h-\\[40px\\]::after {\n  content: var(--tw-content);\n  height: 40px;\n}\n\n.after\\:\\!oui-w-\\[2px\\]::after {\n  content: var(--tw-content);\n  width: 2px !important;\n}\n\n.after\\:oui-w-0::after {\n  content: var(--tw-content);\n  width: 0px;\n}\n\n.after\\:oui-w-\\[10px\\]::after {\n  content: var(--tw-content);\n  width: 10px;\n}\n\n.after\\:oui-w-full::after {\n  content: var(--tw-content);\n  width: 100%;\n}\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\n.after\\:oui-rounded-e-lg::after {\n  content: var(--tw-content);\n  border-start-end-radius: var(--oui-rounded-lg, 0.5rem);\n  border-end-end-radius: var(--oui-rounded-lg, 0.5rem);\n}\n\n.after\\:oui-rounded-s-lg::after {\n  content: var(--tw-content);\n  border-start-start-radius: var(--oui-rounded-lg, 0.5rem);\n  border-end-start-radius: var(--oui-rounded-lg, 0.5rem);\n}\n\n.after\\:oui-border-4::after {\n  content: var(--tw-content);\n  border-width: 4px;\n}\n\n.after\\:oui-border-y::after {\n  content: var(--tw-content);\n  border-top-width: 1px;\n  border-bottom-width: 1px;\n}\n\n.after\\:oui-border-b::after {\n  content: var(--tw-content);\n  border-bottom-width: 1px;\n}\n\n.after\\:oui-border-e::after {\n  content: var(--tw-content);\n  border-inline-end-width: 1px;\n}\n\n.after\\:oui-border-s::after {\n  content: var(--tw-content);\n  border-inline-start-width: 1px;\n}\n\n.after\\:oui-border-solid::after {\n  content: var(--tw-content);\n  border-style: solid;\n}\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\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\n.after\\:oui-border-transparent::after {\n  content: var(--tw-content);\n  border-color: transparent;\n}\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\n.after\\:oui-border-t-inherit::after {\n  content: var(--tw-content);\n  border-top-color: inherit;\n}\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\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\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\n.after\\:\\!oui-bg-transparent::after {\n  content: var(--tw-content);\n  background-color: transparent !important;\n}\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\n.after\\:oui-content-\\[\\'\\'\\]::after {\n  --tw-content: '';\n  content: var(--tw-content);\n}\n\n.autofill\\:oui-bg-transparent:-webkit-autofill {\n  background-color: transparent;\n}\n\n.autofill\\:oui-bg-transparent:autofill {\n  background-color: transparent;\n}\n\n.focus-within\\:oui-relative:focus-within {\n  position: relative;\n}\n\n.focus-within\\:oui-z-20:focus-within {\n  z-index: 20;\n}\n\n.focus-within\\:oui-outline-0:focus-within {\n  outline-width: 0px;\n}\n\n.focus-within\\:oui-outline-danger:focus-within {\n  outline-color: rgb(var(--oui-color-danger) / 1);\n}\n\n.focus-within\\:oui-outline-danger-light:focus-within {\n  outline-color: rgb(var(--oui-color-danger-light) / 1);\n}\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\n.focus-within\\:oui-outline-primary-darken:focus-within {\n  outline-color: rgb(var(--oui-color-primary-darken) / 1);\n}\n\n.focus-within\\:oui-outline-primary-light:focus-within {\n  outline-color: rgb(var(--oui-color-primary-light) / 1);\n}\n\n.focus-within\\:oui-outline-success:focus-within {\n  outline-color: rgb(var(--oui-color-success) / 1);\n}\n\n.focus-within\\:oui-outline-transparent:focus-within {\n  outline-color: transparent;\n}\n\n.focus-within\\:oui-outline-warning-darken:focus-within {\n  outline-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n\n.focus-within\\:oui-outline-warning-light:focus-within {\n  outline-color: rgb(var(--oui-color-warning-light) / 1);\n}\n\n.hover\\:oui-cursor-pointer:hover {\n  cursor: pointer;\n}\n\n.hover\\:oui-rounded:hover {\n  border-radius: var(--oui-rounded, 0.25rem);\n}\n\n.hover\\:oui-rounded-md:hover {\n  border-radius: var(--oui-rounded-md, 0.375rem);\n}\n\n.hover\\:oui-border-base-contrast:hover {\n  border-color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n\n.hover\\:oui-border-base-contrast-16:hover {\n  border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n\n.hover\\:oui-border-line-12:hover {\n  border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\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\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\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\n.hover\\:oui-bg-base-2\\/10:hover {\n  background-color: rgb(var(--oui-color-base-2) / 0.1);\n}\n\n.hover\\:oui-bg-base-2\\/50:hover {\n  background-color: rgb(var(--oui-color-base-2) / 0.5);\n}\n\n.hover\\:oui-bg-base-2\\/80:hover {\n  background-color: rgb(var(--oui-color-base-2) / 0.8);\n}\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\n.hover\\:oui-bg-base-3\\/80:hover {\n  background-color: rgb(var(--oui-color-base-3) / 0.8);\n}\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\n.hover\\:oui-bg-base-4\\/20:hover {\n  background-color: rgb(var(--oui-color-base-4) / 0.2);\n}\n\n.hover\\:oui-bg-base-4\\/80:hover {\n  background-color: rgb(var(--oui-color-base-4) / 0.8);\n}\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\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\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\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\n.hover\\:oui-bg-base-static-80:hover {\n  background-color: rgb(var(--oui-color-base-static) / 0.80);\n}\n\n.hover\\:oui-bg-danger-darken\\/80:hover {\n  background-color: rgb(var(--oui-color-danger-darken) / 0.8);\n}\n\n.hover\\:oui-bg-danger\\/10:hover {\n  background-color: rgb(var(--oui-color-danger) / 0.1);\n}\n\n.hover\\:oui-bg-danger\\/20:hover {\n  background-color: rgb(var(--oui-color-danger) / 0.2);\n}\n\n.hover\\:oui-bg-danger\\/80:hover {\n  background-color: rgb(var(--oui-color-danger) / 0.8);\n}\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\n.hover\\:oui-bg-primary-darken\\/10:hover {\n  background-color: rgb(var(--oui-color-primary-darken) / 0.1);\n}\n\n.hover\\:oui-bg-primary-darken\\/20:hover {\n  background-color: rgb(var(--oui-color-primary-darken) / 0.2);\n}\n\n.hover\\:oui-bg-primary-darken\\/80:hover {\n  background-color: rgb(var(--oui-color-primary-darken) / 0.8);\n}\n\n.hover\\:oui-bg-primary-light\\/20:hover {\n  background-color: rgb(var(--oui-color-primary-light) / 0.2);\n}\n\n.hover\\:oui-bg-success-darken\\/80:hover {\n  background-color: rgb(var(--oui-color-success-darken) / 0.8);\n}\n\n.hover\\:oui-bg-success\\/10:hover {\n  background-color: rgb(var(--oui-color-success) / 0.1);\n}\n\n.hover\\:oui-bg-success\\/20:hover {\n  background-color: rgb(var(--oui-color-success) / 0.2);\n}\n\n.hover\\:oui-bg-success\\/80:hover {\n  background-color: rgb(var(--oui-color-success) / 0.8);\n}\n\n.hover\\:oui-bg-transparent:hover {\n  background-color: transparent;\n}\n\n.hover\\:oui-bg-warning-darken\\/10:hover {\n  background-color: rgb(var(--oui-color-warning-darken) / 0.1);\n}\n\n.hover\\:oui-bg-warning-darken\\/20:hover {\n  background-color: rgb(var(--oui-color-warning-darken) / 0.2);\n}\n\n.hover\\:oui-bg-warning-darken\\/80:hover {\n  background-color: rgb(var(--oui-color-warning-darken) / 0.8);\n}\n\n.hover\\:oui-fill-base-contrast:hover {\n  fill: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n\n.hover\\:oui-fill-base-contrast-80:hover {\n  fill: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n\n.hover\\:oui-fill-primary-darken:hover {\n  fill: rgb(var(--oui-color-primary-darken) / 1);\n}\n\n.hover\\:oui-fill-primary-light:hover {\n  fill: rgb(var(--oui-color-primary-light) / 1);\n}\n\n.hover\\:oui-text-\\[rgba\\(255\\2c 154\\2c 46\\2c 1\\)\\]:hover {\n  color: rgba(255,154,46,1);\n}\n\n.hover\\:oui-text-base-contrast:hover {\n  color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n\n.hover\\:oui-text-base-contrast-54:hover {\n  color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n\n.hover\\:oui-text-base-contrast-80:hover {\n  color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n\n.hover\\:oui-text-danger\\/80:hover {\n  color: rgb(var(--oui-color-danger) / 0.8);\n}\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\n.hover\\:oui-text-primary-darken\\/80:hover {\n  color: rgb(var(--oui-color-primary-darken) / 0.8);\n}\n\n.hover\\:oui-text-secondary:hover {\n  --tw-text-opacity: 1;\n  color: rgb(var(--oui-color-secondary) / var(--tw-text-opacity, 1));\n}\n\n.hover\\:oui-text-secondary\\/80:hover {\n  color: rgb(var(--oui-color-secondary) / 0.8);\n}\n\n.hover\\:oui-text-success\\/80:hover {\n  color: rgb(var(--oui-color-success) / 0.8);\n}\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\n.hover\\:oui-text-warning-darken\\/80:hover {\n  color: rgb(var(--oui-color-warning-darken) / 0.8);\n}\n\n.hover\\:oui-text-warning\\/90:hover {\n  color: rgb(var(--oui-color-warning) / 0.9);\n}\n\n.hover\\:oui-text-white\\/80:hover {\n  color: rgb(255 255 255 / 0.8);\n}\n\n.hover\\:oui-opacity-100:hover {\n  opacity: 1;\n}\n\n.hover\\:oui-opacity-80:hover {\n  opacity: 0.8;\n}\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\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\n.focus\\:oui-h-4:focus {\n  height: 1rem;\n}\n\n.focus\\:oui-h-\\[14px\\]:focus {\n  height: 14px;\n}\n\n.focus\\:oui-w-4:focus {\n  width: 1rem;\n}\n\n.focus\\:oui-w-\\[14px\\]:focus {\n  width: 14px;\n}\n\n.focus\\:oui-border-2:focus {\n  border-width: 2px;\n}\n\n.focus\\:oui-border-\\[3px\\]:focus {\n  border-width: 3px;\n}\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\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\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\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\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\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\n.focus\\:oui-outline-none:focus {\n  outline: 2px solid transparent;\n  outline-offset: 2px;\n}\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\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\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\n.focus\\:oui-ring-transparent:focus {\n  --tw-ring-color: transparent;\n}\n\n.focus\\:oui-ring-offset-2:focus {\n  --tw-ring-offset-width: 2px;\n}\n\n.focus-visible\\:oui-outline-none:focus-visible {\n  outline: 2px solid transparent;\n  outline-offset: 2px;\n}\n\n.focus-visible\\:oui-outline-danger:focus-visible {\n  outline-color: rgb(var(--oui-color-danger) / 1);\n}\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\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\n.focus-visible\\:oui-ring-offset-2:focus-visible {\n  --tw-ring-offset-width: 2px;\n}\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\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\n.active\\:oui-bg-base-2\\/70:active {\n  background-color: rgb(var(--oui-color-base-2) / 0.7);\n}\n\n.active\\:oui-bg-base-3\\/70:active {\n  background-color: rgb(var(--oui-color-base-3) / 0.7);\n}\n\n.active\\:oui-bg-base-4\\/70:active {\n  background-color: rgb(var(--oui-color-base-4) / 0.7);\n}\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\n.active\\:oui-bg-base-static-54:active {\n  background-color: rgb(var(--oui-color-base-static) / 0.54);\n}\n\n.active\\:oui-bg-danger-darken\\/80:active {\n  background-color: rgb(var(--oui-color-danger-darken) / 0.8);\n}\n\n.active\\:oui-bg-danger\\/70:active {\n  background-color: rgb(var(--oui-color-danger) / 0.7);\n}\n\n.active\\:oui-bg-primary-darken\\/70:active {\n  background-color: rgb(var(--oui-color-primary-darken) / 0.7);\n}\n\n.active\\:oui-bg-success-darken\\/80:active {\n  background-color: rgb(var(--oui-color-success-darken) / 0.8);\n}\n\n.active\\:oui-bg-success\\/70:active {\n  background-color: rgb(var(--oui-color-success) / 0.7);\n}\n\n.active\\:oui-bg-warning-darken\\/70:active {\n  background-color: rgb(var(--oui-color-warning-darken) / 0.7);\n}\n\n.active\\:oui-text-danger\\/70:active {\n  color: rgb(var(--oui-color-danger) / 0.7);\n}\n\n.active\\:oui-text-primary-darken\\/70:active {\n  color: rgb(var(--oui-color-primary-darken) / 0.7);\n}\n\n.active\\:oui-text-success\\/70:active {\n  color: rgb(var(--oui-color-success) / 0.7);\n}\n\n.active\\:oui-text-warning-darken\\/70:active {\n  color: rgb(var(--oui-color-warning-darken) / 0.7);\n}\n\n.active\\:oui-text-white\\/70:active {\n  color: rgb(255 255 255 / 0.7);\n}\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\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\n.active\\:oui-outline-none:active {\n  outline: 2px solid transparent;\n  outline-offset: 2px;\n}\n\n.disabled\\:oui-pointer-events-none:disabled {\n  pointer-events: none;\n}\n\n.disabled\\:oui-cursor-default:disabled {\n  cursor: default;\n}\n\n.disabled\\:oui-cursor-not-allowed:disabled {\n  cursor: not-allowed;\n}\n\n.disabled\\:oui-border-base-contrast-16:disabled {\n  border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\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\n.disabled\\:oui-bg-base-static-36:disabled {\n  background-color: rgb(var(--oui-color-base-static) / 0.36);\n}\n\n.disabled\\:oui-bg-transparent:disabled {\n  background-color: transparent;\n}\n\n.disabled\\:oui-text-base-contrast-20:disabled {\n  color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n\n.disabled\\:oui-text-base-contrast-36:disabled {\n  color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n\n.disabled\\:oui-text-base-static-contrast-36:disabled {\n  color: rgb(var(--oui-color-base-static-contrast) / 0.36);\n}\n\n.disabled\\:oui-opacity-30:disabled {\n  opacity: 0.3;\n}\n\n.disabled\\:oui-opacity-50:disabled {\n  opacity: 0.5;\n}\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\n.disabled\\:hover\\:oui-bg-transparent:hover:disabled {\n  background-color: transparent;\n}\n\n.hover\\:disabled\\:oui-bg-base-static-36:disabled:hover {\n  background-color: rgb(var(--oui-color-base-static) / 0.36);\n}\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\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\n.oui-group:hover .group-hover\\:oui-visible {\n  visibility: visible;\n}\n\n.oui-group:hover .group-hover\\:oui-invisible {\n  visibility: hidden;\n}\n\n.oui-group:hover .group-hover\\:oui-block {\n  display: block;\n}\n\n.oui-group:hover .group-hover\\:oui-inline-flex {\n  display: inline-flex;\n}\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\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\n.oui-group:hover .group-hover\\: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\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\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\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\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\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\n.oui-group:hover .group-hover\\:oui-bg-transparent {\n  background-color: transparent;\n}\n\n.oui-group\\/icon:hover .group-hover\\/icon\\:oui-fill-primary-contrast {\n  fill: rgb(var(--oui-color-primary-contrast) / 1);\n}\n\n.oui-group:hover .group-hover\\:oui-fill-base-contrast-80 {\n  fill: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n\n.oui-group:hover .group-hover\\:oui-text-base-contrast {\n  color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n\n.oui-group:hover .group-hover\\:oui-text-base-contrast-54 {\n  color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n\n.oui-group:hover .group-hover\\:oui-text-base-contrast-80 {\n  color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n\n.oui-group:hover .group-hover\\:oui-text-transparent {\n  color: transparent;\n}\n\n.oui-group:hover .group-hover\\:oui-opacity-100 {\n  opacity: 1;\n}\n\n.oui-group:hover .group-hover\\:oui-will-change-\\[max-height\\] {\n  will-change: max-height;\n}\n\n.oui-group:focus .group-focus\\:oui-inline-block {\n  display: inline-block;\n}\n\n.oui-peer:focus ~ .peer-focus\\:oui-visible {\n  visibility: visible;\n}\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\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\n.has-\\[\\&_\\+_div\\]\\:oui-pb-3:has(.has-\\[\\&_\\+_div\\]\\:oui-pb-3 + div) {\n  padding-bottom: 0.75rem;\n}\n\n.aria-selected\\:oui-opacity-100[aria-selected=\"true\"] {\n  opacity: 1;\n}\n\n.aria-selected\\:oui-opacity-30[aria-selected=\"true\"] {\n  opacity: 0.3;\n}\n\n.data-\\[disabled\\]\\:oui-pointer-events-none[data-disabled] {\n  pointer-events: none;\n}\n\n.data-\\[disabled\\]\\:oui-hidden[data-disabled] {\n  display: none;\n}\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\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\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\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\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\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\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\n.data-\\[state\\=closed\\]\\:oui-animate-collapsible-up[data-state=\"closed\"] {\n  animation: oui-collapsible-up 0.2s ease-out;\n}\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\n.data-\\[state\\=open\\]\\:oui-animate-collapsible-down[data-state=\"open\"] {\n  animation: oui-collapsible-down 0.2s ease-out;\n}\n\n.data-\\[state\\=checked\\]\\:oui-border-none[data-state=\"checked\"] {\n  border-style: none;\n}\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\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\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\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\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\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\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\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\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\n.data-\\[state\\=checked\\]\\:oui-bg-transparent[data-state=\"checked\"] {\n  background-color: transparent;\n}\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\n.data-\\[state\\=checked\\]\\:oui-bg-white\\/80[data-state=\"checked\"] {\n  background-color: rgb(255 255 255 / 0.8);\n}\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\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\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\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\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\n.data-\\[state\\=active\\]\\:oui-text-base-contrast[data-state=\"active\"] {\n  color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\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\n.data-\\[state\\=checked\\]\\:oui-text-base-contrast[data-state=\"checked\"] {\n  color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\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\n.data-\\[state\\=open\\]\\:oui-text-base-contrast-80[data-state=\"open\"] {\n  color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n\n.data-\\[disabled\\]\\:oui-opacity-50[data-disabled] {\n  opacity: 0.5;\n}\n\n.data-\\[state\\=open\\]\\:oui-duration-300[data-state=\"open\"] {\n  transition-duration: 300ms;\n}\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\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\n.data-\\[state\\=closed\\]\\:oui-fade-out-0[data-state=\"closed\"] {\n  --tw-exit-opacity: 0;\n}\n\n.data-\\[state\\=open\\]\\:oui-fade-in-0[data-state=\"open\"] {\n  --tw-enter-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:oui-zoom-out-95[data-state=\"closed\"] {\n  --tw-exit-scale: .95;\n}\n\n.data-\\[state\\=open\\]\\:oui-zoom-in-95[data-state=\"open\"] {\n  --tw-enter-scale: .95;\n}\n\n.data-\\[side\\=bottom\\]\\:oui-slide-in-from-top-2[data-side=\"bottom\"] {\n  --tw-enter-translate-y: -0.5rem;\n}\n\n.data-\\[side\\=left\\]\\:oui-slide-in-from-right-2[data-side=\"left\"] {\n  --tw-enter-translate-x: 0.5rem;\n}\n\n.data-\\[side\\=right\\]\\:oui-slide-in-from-left-2[data-side=\"right\"] {\n  --tw-enter-translate-x: -0.5rem;\n}\n\n.data-\\[side\\=top\\]\\:oui-slide-in-from-bottom-2[data-side=\"top\"] {\n  --tw-enter-translate-y: 0.5rem;\n}\n\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-bottom[data-state=\"closed\"] {\n  --tw-exit-translate-y: 100%;\n}\n\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-left[data-state=\"closed\"] {\n  --tw-exit-translate-x: -100%;\n}\n\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-left-1\\/2[data-state=\"closed\"] {\n  --tw-exit-translate-x: -50%;\n}\n\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-right[data-state=\"closed\"] {\n  --tw-exit-translate-x: 100%;\n}\n\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-top[data-state=\"closed\"] {\n  --tw-exit-translate-y: -100%;\n}\n\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-top-\\[48\\%\\][data-state=\"closed\"] {\n  --tw-exit-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:oui-slide-in-from-bottom[data-state=\"open\"] {\n  --tw-enter-translate-y: 100%;\n}\n\n.data-\\[state\\=open\\]\\:oui-slide-in-from-left[data-state=\"open\"] {\n  --tw-enter-translate-x: -100%;\n}\n\n.data-\\[state\\=open\\]\\:oui-slide-in-from-left-1\\/2[data-state=\"open\"] {\n  --tw-enter-translate-x: -50%;\n}\n\n.data-\\[state\\=open\\]\\:oui-slide-in-from-right[data-state=\"open\"] {\n  --tw-enter-translate-x: 100%;\n}\n\n.data-\\[state\\=open\\]\\:oui-slide-in-from-top[data-state=\"open\"] {\n  --tw-enter-translate-y: -100%;\n}\n\n.data-\\[state\\=open\\]\\:oui-slide-in-from-top-\\[48\\%\\][data-state=\"open\"] {\n  --tw-enter-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:oui-duration-300[data-state=\"open\"] {\n  animation-duration: 300ms;\n}\n\n.data-\\[state\\=active\\]\\:after\\:oui-absolute[data-state=\"active\"]::after {\n  content: var(--tw-content);\n  position: absolute;\n}\n\n.data-\\[state\\=active\\]\\:after\\:-oui-bottom-0[data-state=\"active\"]::after {\n  content: var(--tw-content);\n  bottom: -0px;\n}\n\n.data-\\[state\\=active\\]\\:after\\:oui-end-0[data-state=\"active\"]::after {\n  content: var(--tw-content);\n  inset-inline-end: 0px;\n}\n\n.data-\\[state\\=active\\]\\:after\\:oui-start-0[data-state=\"active\"]::after {\n  content: var(--tw-content);\n  inset-inline-start: 0px;\n}\n\n.data-\\[state\\=active\\]\\:after\\:oui-block[data-state=\"active\"]::after {\n  content: var(--tw-content);\n  display: block;\n}\n\n.data-\\[state\\=active\\]\\:after\\:oui-h-\\[3px\\][data-state=\"active\"]::after {\n  content: var(--tw-content);\n  height: 3px;\n}\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\n.data-\\[state\\=active\\]\\:after\\:oui-bg-base-contrast[data-state=\"active\"]::after {\n  content: var(--tw-content);\n  background-color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n\n.data-\\[state\\=active\\]\\:after\\:oui-content-\\[\\'\\'\\][data-state=\"active\"]::after {\n  --tw-content: '';\n  content: var(--tw-content);\n}\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\n.oui-group[data-active=\"true\"] .group-data-\\[active\\=true\\]\\:oui-visible {\n  visibility: visible;\n}\n\n.oui-group[data-active=\"true\"] .group-data-\\[active\\=true\\]\\:oui-invisible {\n  visibility: hidden;\n}\n\n.oui-group[data-state=\"active\"] .group-data-\\[state\\=active\\]\\:oui-block {\n  display: block;\n}\n\n.oui-group\\/bar[data-state=\"closed\"] .group-data-\\[state\\=closed\\]\\/bar\\:oui-w-\\[42px\\] {\n  width: 42px;\n}\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\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\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\n.oui-group[data-actived=\"true\"] .group-data-\\[actived\\=true\\]\\:oui-fill-\\[url\\(\\#side-menu-gradient\\)\\] {\n  fill: url(#side-menu-gradient);\n}\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\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-font-semibold {\n  font-weight: 600;\n}\n\n.oui-group[data-state=\"active\"] .group-data-\\[state\\=active\\]\\:oui-text-base-contrast {\n  color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n\n.oui-group[data-state=\"inactive\"] .group-data-\\[state\\=inactive\\]\\:oui-text-base-contrast-36 {\n  color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\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\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\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\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\n@media (max-width: 400px) {\n\n  .max-\\[400px\\]\\:oui-text-\\[15px\\] {\n    font-size: 15px;\n  }\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-gap-x-2 {\n    -moz-column-gap: 0.5rem;\n         column-gap: 0.5rem;\n  }\n\n  .sm\\:oui-gap-x-4 {\n    -moz-column-gap: 1rem;\n         column-gap: 1rem;\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\n@media (min-width: 480px) {\n\n  .md\\:oui-bottom-10 {\n    bottom: 2.5rem;\n  }\n\n  .md\\:oui-end-3 {\n    inset-inline-end: 0.75rem;\n  }\n\n  .md\\:oui-end-4 {\n    inset-inline-end: 1rem;\n  }\n\n  .md\\:oui-start-auto {\n    inset-inline-start: auto;\n  }\n\n  .md\\:oui-top-1\\/2 {\n    top: 50%;\n  }\n\n  .md\\:oui-order-1 {\n    order: 1;\n  }\n\n  .md\\:oui-order-2 {\n    order: 2;\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-mx-auto {\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  .md\\:oui-mt-10 {\n    margin-top: 2.5rem;\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-size-\\[480px\\] {\n    width: 480px;\n    height: 480px;\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-13 {\n    height: 3.25rem;\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-\\[240px\\] {\n    height: 240px;\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-h-full {\n    height: 100%;\n  }\n\n  .md\\:oui-min-h-\\[180px\\] {\n    min-height: 180px;\n  }\n\n  .md\\:oui-w-1\\/2 {\n    width: 50%;\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-\\[1040px\\] {\n    width: 1040px;\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-max-w-\\[1040px\\] {\n    max-width: 1040px;\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-2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .md\\:oui-grid-cols-3 {\n    grid-template-columns: repeat(3, 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-10 {\n    gap: 2.5rem;\n  }\n\n  .md\\:oui-gap-5 {\n    gap: 1.25rem;\n  }\n\n  .md\\:oui-gap-6 {\n    gap: 1.5rem;\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 {\n    border-radius: var(--oui-rounded, 0.25rem);\n  }\n\n  .md\\:oui-rounded-2xl {\n    border-radius: var(--oui-rounded-2xl, 1rem);\n  }\n\n  .md\\:oui-rounded-lg {\n    border-radius: var(--oui-rounded-lg, 0.5rem);\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-bg-transparent {\n    background-color: transparent;\n  }\n\n  .md\\:oui-p-10 {\n    padding: 2.5rem;\n  }\n\n  .md\\:oui-p-6 {\n    padding: 1.5rem;\n  }\n\n  .md\\:oui-px-2 {\n    padding-left: 0.5rem;\n    padding-right: 0.5rem;\n  }\n\n  .md\\:oui-px-3 {\n    padding-left: 0.75rem;\n    padding-right: 0.75rem;\n  }\n\n  .md\\:oui-px-4 {\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n\n  .md\\:oui-py-0 {\n    padding-top: 0px;\n    padding-bottom: 0px;\n  }\n\n  .md\\:oui-py-12 {\n    padding-top: 3rem;\n    padding-bottom: 3rem;\n  }\n\n  .md\\:oui-py-3 {\n    padding-top: 0.75rem;\n    padding-bottom: 0.75rem;\n  }\n\n  .md\\:oui-py-\\[38px\\] {\n    padding-top: 38px;\n    padding-bottom: 38px;\n  }\n\n  .md\\:oui-pb-\\[14px\\] {\n    padding-bottom: 14px;\n  }\n\n  .md\\:oui-pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n\n  .md\\:oui-pe-3 {\n    padding-inline-end: 0.75rem;\n  }\n\n  .md\\:oui-pe-\\[60px\\] {\n    padding-inline-end: 60px;\n  }\n\n  .md\\:oui-pl-0 {\n    padding-left: 0px;\n  }\n\n  .md\\:oui-pl-3 {\n    padding-left: 0.75rem;\n  }\n\n  .md\\:oui-pr-0 {\n    padding-right: 0px;\n  }\n\n  .md\\:oui-pr-3 {\n    padding-right: 0.75rem;\n  }\n\n  .md\\:oui-ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n\n  .md\\:oui-ps-4 {\n    padding-inline-start: 1rem;\n  }\n\n  .md\\:oui-pt-3 {\n    padding-top: 0.75rem;\n  }\n\n  .md\\:oui-text-center {\n    text-align: center;\n  }\n\n  .md\\:oui-text-start {\n    text-align: start;\n  }\n\n  .md\\:oui-text-end {\n    text-align: end;\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-6xl {\n    font-size: var(--oui-font-size-6xl, 3rem);\n    line-height: 3rem;\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-leading-\\[72px\\] {\n    line-height: 72px;\n  }\n\n  .md\\:oui-text-base-10 {\n    --tw-text-opacity: 1;\n    color: rgb(var(--oui-color-base-10) / var(--tw-text-opacity, 1));\n  }\n\n  .md\\:oui-text-base-contrast {\n    color: rgb(var(--oui-color-base-foreground) / 0.98);\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\\: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\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\\:hover\\:oui-bg-base-2\\/80:hover {\n    background-color: rgb(var(--oui-color-base-2) / 0.8);\n  }\n\n  .md\\:hover\\:oui-bg-base-4\\/80:hover {\n    background-color: rgb(var(--oui-color-base-4) / 0.8);\n  }\n\n  .md\\:hover\\:oui-bg-base-static-80:hover {\n    background-color: rgb(var(--oui-color-base-static) / 0.80);\n  }\n\n  .md\\:hover\\:oui-bg-danger\\/80:hover {\n    background-color: rgb(var(--oui-color-danger) / 0.8);\n  }\n\n  .md\\:hover\\:oui-bg-primary-darken\\/80:hover {\n    background-color: rgb(var(--oui-color-primary-darken) / 0.8);\n  }\n\n  .md\\:hover\\:oui-bg-success\\/80:hover {\n    background-color: rgb(var(--oui-color-success) / 0.8);\n  }\n\n  .md\\:hover\\:oui-bg-warning-darken\\/80:hover {\n    background-color: rgb(var(--oui-color-warning-darken) / 0.8);\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\\:active\\:oui-bg-base-2\\/70:active {\n    background-color: rgb(var(--oui-color-base-2) / 0.7);\n  }\n\n  .md\\:active\\:oui-bg-base-4\\/70:active {\n    background-color: rgb(var(--oui-color-base-4) / 0.7);\n  }\n\n  .md\\:active\\:oui-bg-base-static-54:active {\n    background-color: rgb(var(--oui-color-base-static) / 0.54);\n  }\n\n  .md\\:active\\:oui-bg-danger\\/70:active {\n    background-color: rgb(var(--oui-color-danger) / 0.7);\n  }\n\n  .md\\:active\\:oui-bg-primary-darken\\/70:active {\n    background-color: rgb(var(--oui-color-primary-darken) / 0.7);\n  }\n\n  .md\\:active\\:oui-bg-success\\/70:active {\n    background-color: rgb(var(--oui-color-success) / 0.7);\n  }\n\n  .md\\:active\\:oui-bg-warning-darken\\/70:active {\n    background-color: rgb(var(--oui-color-warning-darken) / 0.7);\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\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-13 {\n    height: 3.25rem;\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-\\[var\\(--radix-select-trigger-height\\)\\] {\n    height: var(--radix-select-trigger-height);\n  }\n\n  .lg\\:oui-min-h-\\[320px\\] {\n    min-height: 320px;\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-\\[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-cursor-not-allowed {\n    cursor: not-allowed;\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-x-2 {\n    -moz-column-gap: 0.5rem;\n         column-gap: 0.5rem;\n  }\n\n  .lg\\:oui-gap-y-2 {\n    row-gap: 0.5rem;\n  }\n\n  .lg\\:oui-rounded {\n    border-radius: var(--oui-rounded, 0.25rem);\n  }\n\n  .lg\\:oui-rounded-2xl {\n    border-radius: var(--oui-rounded-2xl, 1rem);\n  }\n\n  .lg\\:oui-rounded-lg {\n    border-radius: var(--oui-rounded-lg, 0.5rem);\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-bg-transparent {\n    background-color: transparent;\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-2 {\n    padding-left: 0.5rem;\n    padding-right: 0.5rem;\n  }\n\n  .lg\\:oui-px-3 {\n    padding-left: 0.75rem;\n    padding-right: 0.75rem;\n  }\n\n  .lg\\:oui-px-4 {\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n\n  .lg\\:oui-px-5 {\n    padding-left: 1.25rem;\n    padding-right: 1.25rem;\n  }\n\n  .lg\\:oui-px-8 {\n    padding-left: 2rem;\n    padding-right: 2rem;\n  }\n\n  .lg\\:oui-py-0 {\n    padding-top: 0px;\n    padding-bottom: 0px;\n  }\n\n  .lg\\:oui-py-12 {\n    padding-top: 3rem;\n    padding-bottom: 3rem;\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-center {\n    text-align: center;\n  }\n\n  .lg\\:oui-text-start {\n    text-align: start;\n  }\n\n  .lg\\:oui-text-end {\n    text-align: end;\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-10 {\n    --tw-text-opacity: 1;\n    color: rgb(var(--oui-color-base-10) / var(--tw-text-opacity, 1));\n  }\n\n  .lg\\:oui-text-base-contrast {\n    color: rgb(var(--oui-color-base-foreground) / 0.98);\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\\: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\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\\:hover\\:oui-bg-base-2\\/80:hover {\n    background-color: rgb(var(--oui-color-base-2) / 0.8);\n  }\n\n  .lg\\:hover\\:oui-bg-base-4\\/80:hover {\n    background-color: rgb(var(--oui-color-base-4) / 0.8);\n  }\n\n  .lg\\:hover\\:oui-bg-base-static-80:hover {\n    background-color: rgb(var(--oui-color-base-static) / 0.80);\n  }\n\n  .lg\\:hover\\:oui-bg-danger\\/80:hover {\n    background-color: rgb(var(--oui-color-danger) / 0.8);\n  }\n\n  .lg\\:hover\\:oui-bg-primary-darken\\/80:hover {\n    background-color: rgb(var(--oui-color-primary-darken) / 0.8);\n  }\n\n  .lg\\:hover\\:oui-bg-success\\/80:hover {\n    background-color: rgb(var(--oui-color-success) / 0.8);\n  }\n\n  .lg\\:hover\\:oui-bg-warning-darken\\/80:hover {\n    background-color: rgb(var(--oui-color-warning-darken) / 0.8);\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\\:active\\:oui-bg-base-2\\/70:active {\n    background-color: rgb(var(--oui-color-base-2) / 0.7);\n  }\n\n  .lg\\:active\\:oui-bg-base-4\\/70:active {\n    background-color: rgb(var(--oui-color-base-4) / 0.7);\n  }\n\n  .lg\\:active\\:oui-bg-base-static-54:active {\n    background-color: rgb(var(--oui-color-base-static) / 0.54);\n  }\n\n  .lg\\:active\\:oui-bg-danger\\/70:active {\n    background-color: rgb(var(--oui-color-danger) / 0.7);\n  }\n\n  .lg\\:active\\:oui-bg-primary-darken\\/70:active {\n    background-color: rgb(var(--oui-color-primary-darken) / 0.7);\n  }\n\n  .lg\\:active\\:oui-bg-success\\/70:active {\n    background-color: rgb(var(--oui-color-success) / 0.7);\n  }\n\n  .lg\\:active\\:oui-bg-warning-darken\\/70:active {\n    background-color: rgb(var(--oui-color-warning-darken) / 0.7);\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\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-h-\\[64px\\] {\n    height: 64px;\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-w-\\[64px\\] {\n    width: 64px;\n  }\n\n  .xl\\:oui-w-full {\n    width: 100%;\n  }\n\n  .xl\\:oui-flex-1 {\n    flex: 1 1 0%;\n  }\n\n  .xl\\:-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  .xl\\:oui-grid-cols-2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .xl\\:oui-grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\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-gap-\\[6px\\] {\n    gap: 6px;\n  }\n\n  .xl\\:oui-gap-x-\\[6px\\] {\n    -moz-column-gap: 6px;\n         column-gap: 6px;\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-center {\n    text-align: center;\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-\\[36px\\] {\n    font-size: 36px;\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  .xl\\:oui-leading-\\[44px\\] {\n    line-height: 44px;\n  }\n\n  .min-\\[1024px\\]\\:oui-grid-cols-3 {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\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\n@media (min-width: 1440px) {\n\n  .\\33xl\\:oui-flex {\n    display: flex;\n  }\n\n  .\\33xl\\:oui-inline-flex {\n    display: inline-flex;\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-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\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\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\n.\\[\\&\\:has\\(\\>\\.oui-day-range-end\\)\\]\\:oui-rounded-e-md:has(>.oui-day-range-end) {\n  border-start-end-radius: var(--oui-rounded-md, 0.375rem);\n  border-end-end-radius: var(--oui-rounded-md, 0.375rem);\n}\n\n.\\[\\&\\:has\\(\\>\\.oui-day-range-start\\)\\]\\:oui-rounded-s-md:has(>.oui-day-range-start) {\n  border-start-start-radius: var(--oui-rounded-md, 0.375rem);\n  border-end-start-radius: var(--oui-rounded-md, 0.375rem);\n}\n\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-md:has([aria-selected]) {\n  border-radius: var(--oui-rounded-md, 0.375rem);\n}\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\n.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-s-md:has([aria-selected]):first-child {\n  border-start-start-radius: var(--oui-rounded-md, 0.375rem);\n  border-end-start-radius: var(--oui-rounded-md, 0.375rem);\n}\n\n.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-e-md:has([aria-selected]):last-child {\n  border-start-end-radius: var(--oui-rounded-md, 0.375rem);\n  border-end-end-radius: var(--oui-rounded-md, 0.375rem);\n}\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\n.\\[\\&\\:has\\(\\[aria-selected\\]\\.day-range-end\\)\\]\\:oui-rounded-e-md:has([aria-selected].day-range-end) {\n  border-start-end-radius: var(--oui-rounded-md, 0.375rem);\n  border-end-end-radius: var(--oui-rounded-md, 0.375rem);\n}\n\n.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:oui-border-t>*:not(:first-child) {\n  border-top-width: 1px;\n}\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\n.\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:oui-pt-1>*:not(:first-child) {\n  padding-top: 0.25rem;\n}\n\n.\\[\\&\\>div\\]\\:oui-flex-1>div {\n  flex: 1 1 0%;\n}\n\n.\\[\\&\\>div\\]\\:oui-text-2xs>div {\n  font-size: var(--oui-font-size-2xs, 0.75rem);\n  line-height: 1.125rem;\n}\n\n.\\[\\&\\>div\\]\\:oui-text-base-contrast-36>div {\n  color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\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\n.\\[\\&\\>td\\:first-child\\]\\:oui-ps-0>td:first-child {\n  padding-inline-start: 0px;\n}\n\n.\\[\\&\\>td\\:first-child\\]\\:oui-ps-3>td:first-child {\n  padding-inline-start: 0.75rem;\n}\n\n.\\[\\&\\>td\\:last-child\\]\\:oui-pe-0>td:last-child {\n  padding-inline-end: 0px;\n}\n\n.\\[\\&\\>td\\:last-child\\]\\:oui-pe-3>td:last-child {\n  padding-inline-end: 0.75rem;\n}\n\n.\\[\\&\\>th\\:first-child\\]\\:oui-ps-3>th:first-child {\n  padding-inline-start: 0.75rem;\n}\n\n.\\[\\&\\>th\\:last-child\\]\\:oui-pe-3>th:last-child {\n  padding-inline-end: 0.75rem;\n}\n\n.\\[\\&_\\.oui-h-10\\.oui-w-full\\]\\:\\!oui-mx-0 .oui-h-10.oui-w-full {\n  margin-left: 0px !important;\n  margin-right: 0px !important;\n}\n\n.\\[\\&_\\.oui-scroll-indicator-leading\\]\\:oui-hidden .oui-scroll-indicator-leading {\n  display: none;\n}\n\n.\\[\\&_\\.oui-scroll-indicator-tailing\\]\\:oui-hidden .oui-scroll-indicator-tailing {\n  display: none;\n}\n\n.\\[\\&_\\.oui-table-pagination\\]\\:\\!oui-justify-end .oui-table-pagination {\n  justify-content: flex-end !important;\n}\n\n.\\[\\&_button\\]\\:oui-border-secondary\\/80 button {\n  border-color: rgb(var(--oui-color-secondary) / 0.8);\n}\n\n.\\[\\&_img\\]\\:\\!oui-h-\\[18px\\] img {\n  height: 18px !important;\n}\n\n.\\[\\&_p\\]\\:oui-text-base-contrast-36 p {\n  color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n\n.\\[\\&_svg\\]\\:oui-text-secondary svg {\n  --tw-text-opacity: 1;\n  color: rgb(var(--oui-color-secondary) / var(--tw-text-opacity, 1));\n}\n\n.\\[\\&_td\\]\\:\\!oui-px-3 td {\n  padding-left: 0.75rem !important;\n  padding-right: 0.75rem !important;\n}\n\n.\\[\\&_td\\]\\:oui-font-medium td {\n  font-weight: 500;\n}\n\n.\\[\\&_td\\]\\:oui-tracking-\\[0\\.03em\\] td {\n  letter-spacing: 0.03em;\n}\n\n.\\[\\&_th\\]\\:\\!oui-px-3 th {\n  padding-left: 0.75rem !important;\n  padding-right: 0.75rem !important;\n}\n\n.\\[\\&_th\\]\\:oui-font-semibold th {\n  font-weight: 600;\n}\n\n.\\[\\&_th\\]\\:\\!oui-tracking-\\[0\\.03em\\] th {\n  letter-spacing: 0.03em !important;\n}\n","const BLACK_RGB = \"0 0 0\";\nconst WHITE_RGB = \"255 255 255\";\n\nconst parseRgbChannels = (rgb: string): [number, number, number] => {\n  const channels = rgb.trim().split(/\\s+/).map(Number);\n\n  if (\n    channels.length !== 3 ||\n    channels.some(\n      (channel) => !Number.isFinite(channel) || channel < 0 || channel > 255,\n    )\n  ) {\n    throw new Error(\n      `Expected RGB channels in \"R G B\" format, received \"${rgb}\".`,\n    );\n  }\n\n  return channels as [number, number, number];\n};\n\nconst toLinearChannel = (channel: number) => {\n  const normalized = channel / 255;\n  return normalized <= 0.04045\n    ? normalized / 12.92\n    : ((normalized + 0.055) / 1.055) ** 2.4;\n};\n\nconst getRelativeLuminance = (rgb: string) => {\n  const [red, green, blue] = parseRgbChannels(rgb).map(toLinearChannel);\n  return 0.2126 * red + 0.7152 * green + 0.0722 * blue;\n};\n\n/** Selects whichever of black or white has the stronger WCAG contrast. */\nexport const getContrastTextRgb = (backgroundRgb: string) => {\n  const backgroundLuminance = getRelativeLuminance(backgroundRgb);\n  const contrastWithBlack = (backgroundLuminance + 0.05) / 0.05;\n  const contrastWithWhite = 1.05 / (backgroundLuminance + 0.05);\n\n  return contrastWithWhite >= contrastWithBlack ? WHITE_RGB : BLACK_RGB;\n};\n","import type { ThemeCssVars } from \"./darkTheme\";\n\n/**\n * Purple dark palette retained as an optional preset.\n *\n * Keeps the previous default look: Manrope type stack, richer light/darken\n * shade steps, and visible gradient pairs. Consumers opt in via\n * `ThemeConfig.cssVars`.\n */\nexport const PURPLE_DARK_THEME_CSS_VARS: ThemeCssVars = {\n  \"--oui-font-family\":\n    '\"Manrope\",\"PingFang SC\", \"Noto Sans CJK SC\", \"Noto Sans\", sans-serif',\n\n  /* colors */\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\n  \"--oui-color-link\": \"189 107 237\",\n  \"--oui-color-link-light\": \"217 152 250\",\n\n  \"--oui-color-secondary\": \"255 255 255\",\n  \"--oui-color-tertiary\": \"218 218 218\",\n  \"--oui-color-quaternary\": \"218 218 218\",\n\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\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\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\n  \"--oui-color-fill\": \"36 32 47\",\n  \"--oui-color-fill-active\": \"40 46 58\",\n\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\n  \"--oui-color-base-foreground\": \"255 255 255\",\n  \"--oui-color-line\": \"255 255 255\",\n\n  \"--oui-color-base-static\": \"255 255 255\",\n  \"--oui-color-base-static-contrast\": \"0 0 0\",\n\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\n  /* gradients */\n  \"--oui-gradient-primary-start\": \"40 0 97\",\n  \"--oui-gradient-primary-end\": \"189 107 237\",\n\n  \"--oui-gradient-secondary-start\": \"81 42 121\",\n  \"--oui-gradient-secondary-end\": \"176 132 233\",\n\n  \"--oui-gradient-success-start\": \"1 83 68\",\n  \"--oui-gradient-success-end\": \"41 223 169\",\n\n  \"--oui-gradient-danger-start\": \"153 24 76\",\n  \"--oui-gradient-danger-end\": \"245 97 139\",\n\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\n  \"--oui-gradient-warning-start\": \"152 58 8\",\n  \"--oui-gradient-warning-end\": \"255 209 70\",\n\n  \"--oui-gradient-neutral-start\": \"27 29 24\",\n  \"--oui-gradient-neutral-end\": \"38 41 46\",\n\n  /* rounded */\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\n  /* spacing */\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","import plugin from \"tailwindcss/plugin\";\n\n/**\n * Orderly Design System v2 dark palette — the SDK default dark theme.\n *\n * Uses the Manrope type stack. Built-in gradient utilities receive matching\n * RGB values at both stops, so brand buttons and gradient text appear solid\n * under this preset. Treatments with different stop opacities can still fade.\n * For color-shifting gradients, use `PURPLE_DARK_THEME_CSS_VARS` or define\n * custom `cssVars`.\n */\nexport const DARK_THEME_CSS_VARS = {\n  // Font stack for SDK text, with platform and CJK fallbacks.\n  \"--oui-font-family\":\n    '\"Manrope\", \"PingFang SC\", \"Noto Sans CJK SC\", \"Noto Sans\", sans-serif',\n\n  // Main brand accent for primary actions and emphasis.\n  \"--oui-color-primary\": \"156 117 255\",\n  // Primary-light slot; intentionally equal to primary in this flat palette.\n  \"--oui-color-primary-light\": \"156 117 255\",\n  // Primary button fill, distinct from the main brand accent.\n  \"--oui-color-primary-darken\": \"103 0 206\",\n  // Text and icons displayed on a primary-colored surface.\n  \"--oui-color-primary-contrast\": \"255 255 255\",\n\n  // Default link accent.\n  \"--oui-color-link\": \"156 117 255\",\n  // Light link accent slot; equal to the default in this flat palette.\n  \"--oui-color-link-light\": \"156 117 255\",\n\n  // Supporting foreground color for secondary text and controls.\n  \"--oui-color-secondary\": \"255 255 255\",\n  // Muted foreground color for tertiary text and icons.\n  \"--oui-color-tertiary\": \"132 131 136\",\n  // More subdued foreground color for quaternary details.\n  \"--oui-color-quaternary\": \"98 96 102\",\n\n  // Error or loss status color.\n  \"--oui-color-danger\": \"233 77 122\",\n  // Light danger slot; equal to danger in this flat palette.\n  \"--oui-color-danger-light\": \"233 77 122\",\n  // Danger-darken slot; intentionally equal to danger in this flat palette.\n  \"--oui-color-danger-darken\": \"233 77 122\",\n  // Text and icons displayed on danger-colored surfaces.\n  \"--oui-color-danger-contrast\": \"9 6 16\",\n\n  // Success or gain status color.\n  \"--oui-color-success\": \"2 181 137\",\n  // Light success slot; equal to success in this flat palette.\n  \"--oui-color-success-light\": \"2 181 137\",\n  // Success-darken slot; intentionally equal to success in this flat palette.\n  \"--oui-color-success-darken\": \"2 181 137\",\n  // Text and icons displayed on success-colored surfaces.\n  \"--oui-color-success-contrast\": \"9 6 16\",\n\n  // Warning status color.\n  \"--oui-color-warning\": \"217 171 82\",\n  // Light warning slot; equal to warning in this flat palette.\n  \"--oui-color-warning-light\": \"217 171 82\",\n  // Warning-darken slot; intentionally equal to warning in this flat palette.\n  \"--oui-color-warning-darken\": \"217 171 82\",\n  // Text and icons displayed on warning-colored surfaces.\n  \"--oui-color-warning-contrast\": \"9 6 16\",\n\n  // Reserved fill surface for consumers; no built-in component currently uses it.\n  \"--oui-color-fill\": \"29 25 41\",\n  // Reserved active fill surface; no built-in component currently uses it.\n  \"--oui-color-fill-active\": \"43 39 54\",\n\n  // Neutral surface slots progress from lighter details to darker backgrounds.\n  // These are common uses, not fixed component roles.\n  // 1: prominent small surfaces, such as switch tracks.\n  \"--oui-color-base-1\": \"66 61 75\",\n  // 2: buttons, avatars, and other raised details.\n  \"--oui-color-base-2\": \"57 53 65\",\n  // 3: muted or disabled controls.\n  \"--oui-color-base-3\": \"54 50 64\",\n  // 4: interactive control surfaces, including buttons.\n  \"--oui-color-base-4\": \"51 47 62\",\n  // 5: selected, hovered, or disabled control surfaces.\n  \"--oui-color-base-5\": \"43 39 54\",\n  // 6: input fields, tooltips, and other control surfaces.\n  \"--oui-color-base-6\": \"29 25 41\",\n  // 7: tabs, selectors, and secondary content surfaces.\n  \"--oui-color-base-7\": \"25 22 36\",\n  // 8: sheets, popovers, dropdowns, and similar containers.\n  \"--oui-color-base-8\": \"22 18 32\",\n  // 9: larger panels, tables, and content sections.\n  \"--oui-color-base-9\": \"19 14 29\",\n  // 10: the deepest page background and overlays.\n  \"--oui-color-base-10\": \"9 6 16\",\n\n  // Theme foreground used by base-contrast text and icon classes.\n  \"--oui-color-base-foreground\": \"255 255 255\",\n  // Source color for translucent borders and dividers.\n  \"--oui-color-line\": \"255 255 255\",\n\n  // Light color used for text and fixed-color surfaces across built-in themes.\n  \"--oui-color-base-static\": \"255 255 255\",\n  // Dark text and icons for base-static-colored surfaces.\n  \"--oui-color-base-static-contrast\": \"0 0 0\",\n\n  // Sell-side and trading-loss color; a distinct semantic token from danger.\n  \"--oui-color-trading-loss\": \"233 77 122\",\n  // Contrast text and icons for trading-loss-colored surfaces.\n  \"--oui-color-trading-loss-contrast\": \"9 6 16\",\n  // Buy-side and trading-profit color; a distinct semantic token from success.\n  \"--oui-color-trading-profit\": \"2 181 137\",\n  // Contrast text and icons for trading-profit-colored surfaces.\n  \"--oui-color-trading-profit-contrast\": \"9 6 16\",\n\n  // Gradient utilities read space-separated RGB start and end colors.\n  // Matching RGB values appear solid at equal opacity; callers can still\n  // create a fade by varying opacity or a color shift by using different RGBs.\n  // Primary gradient start: main brand accent.\n  \"--oui-gradient-primary-start\": \"156 117 255\",\n  // Primary gradient end: match the start for a solid primary fill.\n  \"--oui-gradient-primary-end\": \"156 117 255\",\n\n  // Secondary gradient start: brand accent in this preset.\n  \"--oui-gradient-secondary-start\": \"156 117 255\",\n  // Secondary gradient end: match the start for a solid fill.\n  \"--oui-gradient-secondary-end\": \"156 117 255\",\n\n  // Success gradient start: positive status color.\n  \"--oui-gradient-success-start\": \"2 181 137\",\n  // Success gradient end: match the start for a solid fill.\n  \"--oui-gradient-success-end\": \"2 181 137\",\n\n  // Danger gradient start: negative status color.\n  \"--oui-gradient-danger-start\": \"233 77 122\",\n  // Danger gradient end: match the start for a solid fill.\n  \"--oui-gradient-danger-end\": \"233 77 122\",\n\n  // Warning gradient start: caution status color.\n  \"--oui-gradient-warning-start\": \"217 171 82\",\n  // Warning gradient end: match the start for a solid fill.\n  \"--oui-gradient-warning-end\": \"217 171 82\",\n\n  // Neutral gradient start: subdued surface color.\n  \"--oui-gradient-neutral-start\": \"29 25 41\",\n  // Neutral gradient end: match the start for a solid fill.\n  \"--oui-gradient-neutral-end\": \"29 25 41\",\n\n  // Brand gradient start: brand accent used by gradient treatments.\n  \"--oui-gradient-brand-start\": \"156 117 255\",\n  // Brand gradient end: match the start for a solid brand fill.\n  \"--oui-gradient-brand-end\": \"156 117 255\",\n  // Position of the brand gradient's first color stop.\n  \"--oui-gradient-brand-stop-start\": \"6.62%\",\n  // Position of its last color stop; positions do not affect a solid fill.\n  \"--oui-gradient-brand-stop-end\": \"86.5%\",\n  // Direction of the brand gradient; irrelevant when both colors match.\n  \"--oui-gradient-brand-angle\": \"17.44deg\",\n\n  // Small corner radius for compact controls.\n  \"--oui-rounded-sm\": \"2px\",\n  // Default corner radius.\n  \"--oui-rounded\": \"4px\",\n  // Medium corner radius.\n  \"--oui-rounded-md\": \"6px\",\n  // Large corner radius.\n  \"--oui-rounded-lg\": \"8px\",\n  // Extra-large corner radius for panels and controls.\n  \"--oui-rounded-xl\": \"12px\",\n  // 2XL corner radius for prominent panels.\n  \"--oui-rounded-2xl\": \"16px\",\n  // Pill or circular radius.\n  \"--oui-rounded-full\": \"9999px\",\n\n  // Extra-small maximum content width (20rem, typically 320px).\n  \"--oui-spacing-xs\": \"20rem\",\n  // Small maximum content width (22.5rem, typically 360px).\n  \"--oui-spacing-sm\": \"22.5rem\",\n  // Medium maximum content width (26.25rem, typically 420px).\n  \"--oui-spacing-md\": \"26.25rem\",\n  // Large maximum content width (30rem, typically 480px).\n  \"--oui-spacing-lg\": \"30rem\",\n  // Extra-large maximum content width (33.75rem, typically 540px).\n  \"--oui-spacing-xl\": \"33.75rem\",\n};\n\nexport type ThemeCssVars = typeof DARK_THEME_CSS_VARS;\n\nexport const darkThemePlugin = () =>\n  plugin(function ({ addBase }) {\n    addBase({\n      \":root\": DARK_THEME_CSS_VARS,\n    });\n  });\n","import plugin from \"tailwindcss/plugin\";\n\nexport const LIGHT_THEME_CSS_VARS = {\n  \"--oui-font-family\":\n    '\"Manrope\", \"PingFang SC\", \"Noto Sans CJK SC\", \"Noto Sans\", sans-serif',\n\n  /* colors */\n  \"--oui-color-primary\": \"240 185 11\",\n  \"--oui-color-primary-light\": \"240 185 11\",\n  \"--oui-color-primary-darken\": \"240 185 11\",\n  \"--oui-color-primary-contrast\": \"12 14 18\",\n\n  \"--oui-color-link\": \"230 175 0\",\n  \"--oui-color-link-light\": \"252 213 53\",\n\n  \"--oui-color-secondary\": \"255 255 255\",\n  \"--oui-color-tertiary\": \"105 105 105\",\n  \"--oui-color-quaternary\": \"218 218 218\",\n\n  \"--oui-color-danger\": \"246 70 93\",\n  \"--oui-color-danger-light\": \"255 120 140\",\n  \"--oui-color-danger-darken\": \"220 50 75\",\n  \"--oui-color-danger-contrast\": \"0 0 0\",\n\n  \"--oui-color-success\": \"14 203 129\",\n  \"--oui-color-success-light\": \"50 220 160\",\n  \"--oui-color-success-darken\": \"46 189 133\",\n  \"--oui-color-success-contrast\": \"0 0 0\",\n\n  \"--oui-color-warning\": \"255 182 93\",\n  \"--oui-color-warning-light\": \"255 207 139\",\n  \"--oui-color-warning-darken\": \"255 125 0\",\n  \"--oui-color-warning-contrast\": \"0 0 0\",\n\n  \"--oui-color-fill\": \"245 245 245\",\n  \"--oui-color-fill-active\": \"238 238 238\",\n\n  \"--oui-color-base-1\": \"160 160 160\",\n  \"--oui-color-base-2\": \"210 210 210\",\n  \"--oui-color-base-3\": \"180 180 180\",\n  \"--oui-color-base-4\": \"200 202 205\",\n  \"--oui-color-base-5\": \"230 230 230\",\n  \"--oui-color-base-6\": \"245 245 245\",\n  \"--oui-color-base-7\": \"234 236 239\",\n  \"--oui-color-base-8\": \"255 255 255\",\n  \"--oui-color-base-9\": \"255 255 255\",\n  \"--oui-color-base-10\": \"245 245 245\",\n\n  \"--oui-color-base-foreground\": \"0 0 0\",\n  \"--oui-color-line\": \"0 0 0\",\n\n  \"--oui-color-base-static\": \"255 255 255\",\n  \"--oui-color-base-static-contrast\": \"0 0 0\",\n\n  \"--oui-color-trading-loss\": \"246 70 93\",\n  \"--oui-color-trading-loss-contrast\": \"12 14 18\",\n  \"--oui-color-trading-profit\": \"14 203 129\",\n  \"--oui-color-trading-profit-contrast\": \"12 14 18\",\n\n  /* gradients */\n  \"--oui-gradient-primary-start\": \"240 185 11\",\n  \"--oui-gradient-primary-end\": \"240 185 11\",\n\n  \"--oui-gradient-secondary-start\": \"252 213 53\",\n  \"--oui-gradient-secondary-end\": \"210 160 0\",\n\n  \"--oui-gradient-success-start\": \"14 203 129\",\n  \"--oui-gradient-success-end\": \"14 203 129\",\n\n  \"--oui-gradient-danger-start\": \"246 70 93\",\n  \"--oui-gradient-danger-end\": \"246 70 93\",\n\n  \"--oui-gradient-warning-start\": \"255 182 93\",\n  \"--oui-gradient-warning-end\": \"255 182 93\",\n\n  \"--oui-gradient-neutral-start\": \"245 245 245\",\n  \"--oui-gradient-neutral-end\": \"245 245 245\",\n\n  \"--oui-gradient-brand-stop-start\": \"6.62%\",\n  \"--oui-gradient-brand-stop-end\": \"86.5%\",\n  \"--oui-gradient-brand-angle\": \"17.44deg\",\n\n  \"--oui-gradient-brand-start\": \"240 185 11\",\n  \"--oui-gradient-brand-end\": \"240 185 11\",\n\n  /* rounded */\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\n  /* spacing */\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\nexport const lightThemePlugin = () =>\n  plugin(function ({ addBase }) {\n    addBase({\n      '[data-oui-theme=\"light\"]': LIGHT_THEME_CSS_VARS,\n    });\n  });\n"]}