@kodiak-finance/orderly-ui 2.8.17 → 2.8.18-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/button/button.tsx","../src/button/base.tsx","../src/flex/flex.tsx","../src/layout/gap.tsx","../src/utils/tv.ts","../src/box/box.tsx","../src/helpers/parse-props.ts","../src/layout/decoration.ts","../src/layout/layout.tsx","../src/layout/position.tsx","../src/layout/shadow.tsx","../src/layout/visible.ts","../src/spinner/spinner.tsx","../src/button/throttledButton.tsx","../src/grid/grid.tsx","../src/grid/span.tsx","../src/grid/index.ts","../src/typography/statistic.tsx","../src/typography/numeral.tsx","../src/typography/text.tsx","../src/typography/utils.ts","../src/typography/formatted.tsx","../src/icon/baseIcon.tsx","../src/icon/combine.tsx","../src/icon/chainIcon.tsx","../src/avatar/avatar.tsx","../src/icon/tokenIcon.tsx","../src/icon/close.tsx","../src/icon/check.tsx","../src/icon/baseIconWithPath.tsx","../src/icon/chevronDown.tsx","../src/icon/chevronUp.tsx","../src/icon/caretUp.tsx","../src/icon/caretDown.tsx","../src/icon/caretLeft.tsx","../src/icon/caretRight.tsx","../src/icon/chevronLeft.tsx","../src/icon/chevronRight.tsx","../src/icon/calendarMinus.tsx","../src/icon/setting.tsx","../src/icon/closeSquareFill.tsx","../src/icon/closeCircleFill.tsx","../src/icon/checkCircleFill.tsx","../src/icon/checkSquareFill.tsx","../src/icon/checkSquareEmpty.tsx","../src/icon/plus.tsx","../src/icon/reduce.tsx","../src/icon/circleOutlined.tsx","../src/icon/squareOutlined.tsx","../src/icon/exclamationFill.tsx","../src/icon/questionFill.tsx","../src/icon/arrowLeftRight.tsx","../src/icon/arrowDownUp.tsx","../src/icon/arrowUpSquareFill.tsx","../src/icon/arrowDownSquareFill.tsx","../src/icon/arrowLeftRightSquareFill.tsx","../src/icon/arrowRightUpSquareFill.tsx","../src/icon/assetIcon.tsx","../src/icon/barChartIcon.tsx","../src/icon/battleIcon.tsx","../src/icon/feeTier.tsx","../src/icon/edit.tsx","../src/icon/eye.tsx","../src/icon/share.tsx","../src/icon/eyeClose.tsx","../src/icon/refresh.tsx","../src/icon/orderly.tsx","../src/icon/esOrderly.tsx","../src/icon/infoCircle.tsx","../src/icon/walletIcon.tsx","../src/icon/calendar.tsx","../src/icon/copy.tsx","../src/icon/serverFill.tsx","../src/icon/sortingASCIcon.tsx","../src/icon/sortingDESCIcon.tsx","../src/icon/arrowShort.tsx","../src/icon/sortingIcon.tsx","../src/icon/traderMobileIcon.tsx","../src/icon/affiliateIcon.tsx","../src/icon/tradingRewardsIcon.tsx","../src/icon/portfolioActiveIcon.tsx","../src/icon/portfolioInactiveIcon.tsx","../src/icon/tradingActiveIcon.tsx","../src/icon/tradingIcon.tsx","../src/icon/tradingInactiveIcon.tsx","../src/icon/leaderboardActive.tsx","../src/icon/leaderboardInactive.tsx","../src/icon/marketsActiveIcon.tsx","../src/icon/marketsInactiveIcon.tsx","../src/icon/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/index.ts","../src/typography/gradient.tsx","../src/typography/index.ts","../src/input/extends/quantity.tsx","../src/input/input.tsx","../src/input/baseInput.tsx","../src/input/inputAdditional.tsx","../src/input/prefix.tsx","../src/input/suffix.tsx","../src/select/combine.tsx","../src/popover/popover.tsx","../src/scrollarea/scrollArea.tsx","../src/select/selectPrimitive.tsx","../src/select/select.tsx","../src/select/tokens.tsx","../src/select/withOptions.tsx","../src/select/index.ts","../src/input/input.tooltip.tsx","../src/tooltip/tooltip.tsx","../src/input/formatter/index.ts","../src/input/formatter/currency.ts","../src/input/formatter/number.ts","../src/input/formatter/regex.ts","../src/input/formatter/dp.ts","../src/input/formatter/range.ts","../src/input/formatter/identifier.ts","../src/input/formatter/decimalPoint.ts","../src/input/textField.tsx","../src/input/inputHelpText.tsx","../src/input/index.ts","../src/checkbox/checkbox.tsx","../src/switch/switch.tsx","../src/badge/badge.tsx","../src/logo/logo.tsx","../src/table/dataTable.tsx","../src/table/hooks/useInit.ts","../src/table/hooks/useScroll.ts","../src/table/hooks/useShowHeader.ts","../src/table/hooks/useShowPagination.ts","../src/table/hooks/useSort.ts","../src/table/hooks/useWrap.ts","../src/table/tableBody.tsx","../src/table/className.ts","../src/table/tableCell.tsx","../src/table/utils/getColumnPinningProps.ts","../src/table/tableHeader.tsx","../src/table/icons.tsx","../src/table/multiSortHeader.tsx","../src/table/hooks/useMultiSort.ts","../src/pagination/pagination.tsx","../src/locale/context.ts","../src/locale/provider.tsx","../src/locale/useLocale.ts","../src/locale/en.ts","../src/table/tablePagination.tsx","../src/table/tablePlaceholder.tsx","../src/plugin/registry.ts","../src/plugin/install.tsx","../src/plugin/slot.tsx","../src/plugin/notFound.tsx","../src/plugin/useBuilder.ts","../src/plugin/useExtensionBuilder.ts","../src/plugin/types.ts","../src/table/transform.ts","../src/table/dataFilter.tsx","../src/pickers/dateRangePicker.tsx","../src/pickers/date/calendar.tsx","../src/pickers/datepicker.tsx","../src/pickers/picker.tsx","../src/sheet/sheet.tsx","../src/modal/modalContext.tsx","../src/modal/utils.ts","../src/modal/modalHelper.tsx","../src/modal/useModal.tsx","../src/divider/divider.tsx","../src/sheet/simpleSheet.tsx","../src/modal/preset/sheet.tsx","../src/modal/preset/alert.tsx","../src/dialog/alertDialog.tsx","../src/dialog/dialog.tsx","../src/dialog/simpleDialogFooter.tsx","../src/dialog/simpleDialog.tsx","../src/hooks/useMediaQuery.ts","../src/hooks/useScreen.ts","../src/hooks/useObserverElement.ts","../src/hooks/useCanLinkDevice.ts","../src/modal/preset/dialog.tsx","../src/dialog/triggerDialog.tsx","../src/dialog/helper.tsx","../src/modal/preset/confirm.tsx","../src/modal/index.tsx","../src/sheet/helper.tsx","../src/sheet/actionSheet.tsx","../src/table/hooks/usePagination.ts","../src/table/emptyDataState.tsx","../src/table/features/index.ts","../src/table/features/csvExportService.ts","../src/table/features/download.ts","../src/tabs/tabsBase.tsx","../src/tabs/tabs.tsx","../src/provider/orderlyThemeContext.tsx","../src/scrollIndicator/scrollIndicator.tsx","../src/scrollIndicator/hooks/useDrag.ts","../src/scrollIndicator/hooks/useScroll.ts","../src/scrollIndicator/scrollButton.tsx","../src/card/cardBase.tsx","../src/card/card.tsx","../src/card/hoverCard.tsx","../src/pickers/index.ts","../src/slider/slider.tsx","../src/slider/utils.ts","../src/toast/Toaster.tsx","../src/icon/toasterIcons.tsx","../src/toast/index.ts","../src/toast/toastTile.tsx","../src/listView/listView.tsx","../src/listView/useEndReached.ts","../src/collapsible/collapsible.tsx","../src/collapsible/collapse/collapse.tsx","../src/collapsible/collapse/collapseContext.tsx","../src/collapsible/collapse/panel.tsx","../src/marquee/marquee.tsx","../src/dropdown/dropdown.tsx","../src/dropdown/menuItem.tsx","../src/provider/orderlyThemeProvider.tsx","../src/provider/componentProvider.tsx","../src/misc/either.tsx","../src/index.ts","../src/utils/string.ts","../src/utils/transition.ts","../src/tailwind.css"],"names":["React","tv","useMemo","Slot","forwardRef","gapVariants","createTV","parseSizeProps","props","width","height","angle","left","top","bottom","right","rest","style","convertToStyle","key","value","convertToPx","parseAngleProps","decorationVariants","layoutVariants","positionVariants","shadowVariants","visibleVariants","jsx","boxVariants","Box","forwardedRef","asChild","TAG","className","p","px","py","pt","pb","pl","pr","m","mx","my","mr","mt","mb","ml","grow","zIndex","shadow","border","gradient","r","invisible","intensity","position","borderColor","children","flexBaseVariant","flexVariant","Flex","ref","display","gap","gapX","gapY","wrap","justify","itemAlign","direction","Fragment","jsxs","spinnerVariants","Spinner","size","color","loading","BaseButton","leading","trailing","icon","disabled","Comp","isDisabled","iconElement","content","spinnerSize","buttonVariants","Button","variant","fullWidth","angleStyle","useCallback","useRef","ThrottledButton","onClick","throttleDuration","lastCall","debouncedClick","delay","fn","args","now","gridVariants","Grid","cols","rows","autoFlow","useEffect","gridSpanVariants","Span","colSpan","rowSpan","parent","cnBase","textVariants","Text","Tag","weight","textProps","Decimal","commify","getPrecisionByNumber","numberToHumanStyle","todpIfNeed","parseNumber","options","rule","dp","tick","rm","padding","abs","d","rounding","truncatedNum","formatAddress","address","range","start","end","reg","isNumeralRule","Numeral","coloring","suffix","prefix","visible","unit","currency","showIdentifier","identifiers","unitClassName","placeholder","masking","ignoreDP","num","child","defaultColor","colorName","identifier","childWithUnit","suffixEle","unitEle","prefixEle","child_unit","statisticVariants","StatisticLabel","labelClassName","Statistic","label","valueProps","align","classNames","root","valueClassName","valueClass","as","restValueProps","formatDate","isValid","iconVariants","BaseIcon","AvatarPrimitive","makeBlockie","avatarVariants","AvatarBase","AvatarImage","image","AvatarFallback","fallback","Avatar","src","delayMs","alt","onLoadingStatusChange","EVMAvatar","ChainIcon","url","TokenIcon","name","CombineIcon","secondary","subElement","CloseIcon","opacity","BaseIconWithPath","CheckIcon","ChevronDownIcon","ChevronUpIcon","CaretUpIcon","CaretDownIcon","CaretLeftIcon","CaretRightIcon","ChevronLeftIcon","ChevronRightIcon","CalendarMinusIcon","SettingIcon","CloseSquareFillIcon","CloseCircleFillIcon","CheckedCircleFillIcon","CheckedSquareFillIcon","CheckSquareEmptyIcon","PlusIcon","ReduceIcon","CircleOutlinedIcon","SquareOutlinedIcon","ExclamationFillIcon","QuestionFillIcon","ArrowLeftRightIcon","ArrowDownUpIcon","ArrowUpSquareFillIcon","ArrowDownSquareFillIcon","ArrowLeftRightSquareFill","ArrowRightUpSquareFillIcon","AssetIcon","BarChartIcon","BattleIcon","FeeTierIcon","EditIcon","EyeIcon","ShareIcon","EyeCloseIcon","RefreshIcon","OrderlyIcon","EsOrderlyIcon","InfoCircleIcon","WalletIcon","CalendarIcon","CopyIcon","ServerFillIcon","SortingAscIcon","SortingDescIcon","ArrowUpShortIcon","ArrowDownShortIcon","ArrowLeftShortIcon","ArrowRightShortIcon","SortingIcon","TraderMobileIcon","AffiliateIcon","TradingRewardsIcon","PortfolioActiveIcon","PortfolioInactiveIcon","TradingActiveIcon","TradingIcon","TradingInactiveIcon","LeaderboardActiveIcon","LeaderboardInactiveIcon","MarketsActiveIcon","MarketsInactiveIcon","EmptyStateIcon","emptyData_default","VectorIcon","SwapHorizIcon","PeopleIcon","PersonIcon","SettingFillIcon","TradingLeftNavIcon","VaultsIcon","LeftNavVaultsIcon","Icon","isTextRule","DEFAULT_SYMBOL_FORMAT","DEFAULT_DATE_FORMAT","FormattedText","symbolElement","formatString","capitalize","copyable","copyIconSize","onCopy","showIcon","iconSize","copyIconTestid","isIcon","prefixElement","e","date","arr","type","base","quote","contentWithFix","gradientTextVariants","GradientText","useState","useId","findLongestCommonSubString","BaseInput","clearable","onClean","fixClassName","helpText","inputMode","containerClassName","onValueChange","onChange","id","formatters","inputProps","cursor","setCursor","innerInputRef","prevInputValue","isFocused","innerFormatters","formatToRender","index","formatToChange","originValue","formattedValue","nextValueLen","prevValueLen","next","event","currentCursor","diffIndex","InputAdditional","InputPrefix","InputSuffix","inputVariants","Input","onClear","input","box","additional","closeButton","cid","suffixElement","ClearButton","SelectPrimitive","PopoverPrimitive","popoverVariants","PopoverRoot","PopoverTrigger","PopoverAnchor","PopoverContent","sideOffset","Popover","arrow","contentProps","popoverProps","ScrollAreaPrimitive","scrollAreaVariants","ScrollArea","oriProps","orientation","viewport","ScrollBar","bar","tumb","selectVariants","SelectRoot","SelectGroup","SelectValue","SelectTrigger","error","showCaret","trigger","SelectScrollUpButton","scrollUpButton","SelectScrollDownButton","scrollDownButton","SelectContent","SelectLabel","SelectItem","item","SelectSeparator","separator","CombineSelect","valueFormatter","keyword","setKeyword","setValue","selectedIndex","setSelectedIndex","option","focused","setFocused","inputRef","onFocus","filteredOptions","Select","valueRenderer","maxHeight","testid","ItemIndicator","SelectItemText","defaultOptionRenderer","currentValue","SelectWithOptions","optionRenderer","TokenSelect","tokens","token","selectable","Option","QuantityInput","setToken","tokenOptions","node","TooltipPrimitive","cn","TooltipProvider","TooltipRoot","TooltipTrigger","TooltipPortal","tooltipVariants","TooltipContent","TooltipArrow","arrowProps","Tooltip","originalProps","defaultOpen","open","onOpenChange","delayDuration","disableHoverableContent","InputWithTooltip","tooltip","tooltipProps","triggerClassName","setOpen","formatter_exports","__export","createRegexInputFormatter","currencyFormatter","decimalPointFormatter","dpFormatter","identifierFormatter","numberFormatter","rangeFormatter","regex","onSendBefore","config","onBefore","truncateNumber","numStr","decimalPlaces","decimalIndex","endIndex","max","min","numValue","integer","decimal","negative","_value","replaceComma","originFormatValue","findAndReplace","str1","str2","i","differentChar","newChar","inputHelpTextVariants","InputHelpText","textFieldVariants","TextField","InputLabel","CheckboxPrimitive","checkboxVariants","Checkbox","CheckboxIcon","SwitchPrimitives","switchVariants","Switch","thumb","badgeVariants","Badge","Logo","href","getCoreRowModel","useReactTable","getExpandedRowModel","getSortedRowModel","getFilteredRowModel","useInit","params","dataSource","ignoreLoadingCheck","initialized","setInitialized","useScroll","deps","scrollRef","showLeftShadow","setShowLeftShadow","showRightShadow","setShowRightShadow","isScrolledToRight","scrollAble","hasHorizontalScroll","scrollEnd","element","useShowHeader","initShowHeader","showHeader","useShowPagination","pagination","initShowPagination","showPagination","useSort","onSort","initialSort","sorting","setSorting","desc","useWrap","wrapRef","bgColor","alignVariants","flexRender","TableCell","cell","record","formatter","render","numeralProps","_textProps","_numeralProps","getColumnPinningProps","column","isHeader","isPinned","isLastLeftPinnedColumn","isFirstRightPinnedColumn","contentCls","shadowCls","leftShadow","rightShadow","TableBody","row","expandView","rowView","meta","rowClassName","hidden","pinStyle","pinClassNames","cellStyle","cellClassName","cellView","CellHover","selected","isFirst","isLast","BaseSortIcon","AscendingIcon","DescendingIcon","useMultiSort","currentSorting","handleFieldSort","fieldKey","isCurrentField","newOrder","getFieldSort","MultiSortHeader","multiSort","title","field","fieldSort","SortIndicator","sortDirection","TableHeader","headerGroup","header","canSort","isSorted","createContext","LocaleContext","LocaleProvider","useContext","enUS","localeValues","useLocale","componentName","defaultLocale","fullLocale","getLocale","locale","localeFromContext","getLocaleCode","localeCode","defaultLocaleCode","Pagination","PaginationContent","PaginationItem","PaginationLink","isActive","PaginationPrevious","PaginationNext","PaginationEllipsis","Paginations","totalPages","currentPage","PaginationItems","generatePagination","ellipsis","pageNumbers","page","TablePagination","getGlobalObject","OrderlyExtensionRegistry","_OrderlyExtensionRegistry","globalObject","plugin","builder","pos","existingPlugin","installExtension","component","setExtensionBuilder","ErrorBoundary","NotFound","useBuilder","useExtensionBuilder","ExtensionSlot","scope","defaultValue","elementProps","Ele","ExtensionPositionEnum","TablePlaceholder","emptyView","createColumnHelper","getPaginationRowModel","compareValues","aValue","bValue","aStr","bStr","aNum","bNum","aIsNumber","bIsNumber","aIsDate","bIsDate","aDate","bDate","customSortingFn","rowA","rowB","columnId","createMultiSortComparator","sortId","isDesc","a","b","getNestedValue","obj","path","current","comparison","Transform","columns","columnHelper","columnCopy","dataIndex","isMultiSort","sortOrder","commonProps","currentSort","col","state","DataTable","getRowCanExpand","manualPagination","manualSorting","expanded","onExpandedChange","hasMultiSortColumns","effectiveManualSorting","formatColumns","columnPinning","rowSelection","paginationState","paginationConfig","columnFilters","table","showPlaceholder","DayPicker","Calendar","showOutsideDays","format","DateRangePicker","dateFormat","initialValue","calendarProps","dateRange","setDateRange","isMobileView","setIsMobileView","update","useDebouncedCallback","handleResize","areDatesEqual","nextOpen","callback","timeoutRef","date1","date2","extractDateParts","from1","to1","from2","to2","DatePicker","day","selectedDay","activeModifiers","SheetPrimitive","Sheet","SheetTrigger","SheetClose","SheetPortal","SheetOverlay","sheetVariants","SheetContent","side","closeable","closeableSize","closeOpacity","overlayClassName","SheetHeader","SheetBody","SheetFooter","SheetTitle","SheetDescription","useReducer","symModalId","uidSeed","getUid","getModalId","modal","useModal","modals","ModalContext","modalIdFromContext","ModalIdContext","modalId","isComponent","register","modalInfo","show","modalActions","hide","remove","isOpen","reject","setStates","states","updateArgs","resolve","modalCallbacks","resolveHide","hideModalCallbacks","MODAL_REGISTRY","create","defaultVisible","keepMounted","shouldMount","ALREADY_MOUNTED","delayVisible","comp","unregister","initialState","dispatch","showModal","hideModal","removeModal","updateArgsAction","setModalStates","reducer","action","newState","ModalContainer","visibleModalIds","components","ModalProvider","dispatchOrigin","theResolve","theReject","promise","dividerVariants","Divider","lineStyle","SimpleSheet","closable","BaseSheet","sheet","DialogPrimitive","dialogVariants","Dialog","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","overlay","DialogContent","overlyClassName","close","DialogHeader","DialogBody","body","DialogFooter","footer","DialogTitle","DialogDescription","SimpleDialogFooter","actions","primaryLoading","setPrimaryLoading","buttons","SimpleDialog","useMediaQuery","query","getMatches","matches","setMatches","handleChange","matchMedia","useScreen","isMobile","useObserverElement","resizeObserver","entries","entry","useCanLinkDevice","isSmallViewport","ua","isIpad","isAndroidTablet","AlertDialog","message","onOk","onCancel","okLabel","cancelLabel","CreatedAlertDialog","onOkHandler","alert","dialog","TriggerDialog","createDialogComponent","contentClassName","bodyClassName","registerSimpleDialog","ConfirmDialog","defaultSize","data","err","confirm","createSheetComponent","registerSimpleSheet","ActionItem","onItemClick","ActionDivision","ActionSheetContent","ActionSheet","items","pickerVariants","Picker","selectedItem","text","FilterDatePicker","FilterDateRangePicker","DataFilterRenderer","isCombine","DataFilter","usePagination","initial","dataTotal","setPage","pageSize","_setPageSize","setPageSize","totalPage","parseMeta","count","pageTotal","curPage","parsePagination","EmptyDataState","features_exports","DownloadFeature","downloadCSVFile","exportToCSV","generateCSVContent","generateCSVData","headers","recordIndex","csvContent","filename","blob","link","csvData","plantTextTitle","renderPlantText","TabsPrimitive","tabsVariants","TabsBase","TabsList","originProps","list","TabsTrigger","iconClassName","TabsContent","OrderlyThemeContext","useOrderlyTheme","useDrag","containerRef","isDragging","setIsDragging","startX","setStartX","scrollLeft","setScrollLeft","walk","leadingVisible","setLeadingVisible","tailingVisible","setTailingVisible","handleScroll","container","intersectionObserver","ScrolButton","tailing","ArrowRightIcon","ScrollIndicator","onScoll","handleMouseDown","handleMouseMove","handleMouseUp","TabsContext","Tabs","getComponentTheme","contentVisible","showScrollIndicator","tabsOverrides","tabsVariant","tabList","setTabList","registerTab","prev","unregisterTab","newTabList","memoizedValue","renderTabsList","tabsList","tab","TabPanel","tabConfig","cardVariants","CardBase","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Card","HoverCardPrimitive","HoverCardRoot","HoverCardTrigger","HoverCardContent","HoverCard","SliderPrimitive","clamp","convertValueToPercentage","maxSteps","percentage","linearScale","output","ratio","getThumbInBoundsOffset","halfWidth","offset","sliderVariants","BaseSlider","marks","markCount","markLabelVisible","showTip","__propsValue","track","trackInner","mark","tips","innerValue","setInvalue","v","innerMasks","_max","piece","len","onValueChangeInner","Marks","SliderTip","isInnerMask","selIndex","colorCls","textCls","percent","thumbInBoundsOffset","__value","SingleSlider","values","Slider","ToastBar","toast","PrimitiveToaster","ToastErrorIcon","viewBox","ToastSuccessIcon","ToastLoadingIcon","Toaster","t","customIcon","ToastTile","useImperativeHandle","useEndReached","sentinelRef","onEndReached","observer","cb","handleObserver","ListViewInner","emptyDataSouce","listViewElement","loadingViewElement","ListView","CollapsiblePrimitive","Collapsible","CollapsibleTrigger","CollapsibleContent","CollapseContext","useCollapseContext","Panel","activeKey","setActiveKey","headerClassName","itemKey","headerNode","CollapseRoot","internalActiveKey","setInternalActiveKey","Collapse","collapse_default","AutoScroll","useEmblaCarousel","Marquee","renderItem","carouselOptions","autoScrollOptions","setApi","isHorizontal","emblaOptions","autoScrollPluginOptions","emblaRef","emblaApi","renderSlides","DropdownMenuPrimitive","DropdownMenuRoot","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuSub","DropdownMenuRadioGroup","dropdownMenuVariants","DropdownMenuContent","DropdownMenuItem","inset","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","shortcut","SimpleDropdownMenu","menu","ComponentsProvider","Element","OrderlyThemeProvider","overrides","resolveComponentTheme","memo","Either","capitalizeFirstLetter","str","startViewTransition","default","tailwind_exports","tailwind_default"],"mappings":"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ACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,EAAG,CACD,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,GAAI,UACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,KAAM,CACJ,KAAM,UACR,CACF,CACF,EC5LO,IAAMC,GAAmB,CAE9B,SA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AAa,EAC3D,GAAI,CAAC,WAAY,iBAAkB,WAAY,eAAe,EAC9D,GAAI,CAAC,WAAY,iBAAkB,WAAY,aAAa,CAC9D,EACA,MAAO,CACL,QAAS,CACP,gEACF,EACA,UAAW,iDACX,QAAS,mDACT,IAAK,mDACL,OAAQ,iDACR,KAAM,iDACN,QACE,iEACF,KAAM,iDACN,MACE,sEACJ,EACA,UAAW,CACT,KAAM,YACR,CAIF,EACA,iBAAkB,CAEhB,CACE,QAAS,YACT,MAAO,UACP,UAAW,CAAC,wBAAyB,2BAA2B,CAClE,EACA,CACE,QAAS,YACT,MAAO,YACP,UAAW,CAAC,gBAAiB,2BAA2B,CAC1D,EACA,CACE,QAAS,YACT,MAAO,UACP,UAAW,CAAC,iBAAkB,2BAA2B,CAC3D,EACA,CACE,QAAS,YACT,MAAO,MACP,UAAW,CAAC,sBAAuB,2BAA2B,CAChE,EACA,CACE,QAAS,YACT,MAAO,UACP,UAAW,CAAC,wBAAyB,2BAA2B,CAClE,EACA,CACE,QAAS,YACT,MAAO,SACP,UAAW,CAAC,gBAAiB,0BAA0B,CACzD,EACA,CACE,QAAS,YACT,MAAO,OACP,UAAW,CAAC,oBAAqB,0BAA0B,CAC7D,EACA,CACE,QAAS,YACT,MAAO,OACP,UAAW,CAAC,gBAAiB,wBAAwB,CACvD,EACA,CACE,QAAS,YACT,MAAO,QACP,UAAW,CACT,eACA,uBACA,uFACF,CACF,EAEA,CACE,QAAS,WACT,MAAO,UACP,UAAW,CACT,4BACA,0BACA,gCACF,CACF,EACA,CACE,QAAS,WACT,MAAO,YACP,UAAW,CACT,oBACA,4BACA,wBACF,CACF,EACA,CACE,QAAS,WACT,MAAO,UACP,UAAW,CACT,qBACA,mBACA,yBACF,CACF,EACA,CACE,QAAS,WACT,MAAO,UACP,UAAW,CACT,4BACA,4BACA,gCACF,CACF,EACA,CACE,QAAS,WACT,MAAO,SACP,UAAW,CACT,oBACA,kBACA,wBACF,CACF,EACA,CACE,QAAS,WACT,MAAO,OACP,UAAW,CAAC,oBAAqB,eAAe,CAClD,EAQA,CACE,QAAS,OACT,MAAO,UACP,UA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","sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { BaseButton, BaseButtonProps } from \"./base\";\nimport { shadowVariants } from \"../layout/shadow\";\nimport { parseAngleProps } from \"../helpers/parse-props\";\nimport { SizeType } from \"../helpers/sizeType\";\n\nconst buttonVariants = tv(\n {\n base: [\n \"oui-button\",\n \"oui-inline-flex\",\n \"oui-items-center\",\n \"oui-justify-center\",\n \"oui-whitespace-nowrap\",\n \"oui-transition-colors\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-bg-base-3\",\n \"disabled:oui-text-base-contrast-36\",\n \"disabled:hover:oui-bg-base-3\",\n ],\n variants: {\n ...shadowVariants.variants,\n variant: {\n text: \"oui-bg-transparent\",\n outlined: \"oui-border\",\n contained: \"oui-text-white\",\n gradient: \"oui-gradient-brand oui-text-[rgba(0,0,0,0.88)]\",\n },\n size: {\n xs: [\"oui-px-2\", \"oui-rounded\", \"oui-h-6\", \"oui-text-2xs\"], //24px\n sm: [\"oui-px-3\", \"oui-rounded\", \"oui-h-7\", \"oui-text-2xs\"], //28px\n md: [\"oui-px-3\", \"oui-rounded-md\", \"oui-h-8\", \"oui-text-sm\"], //32px\n lg: [\"oui-px-3\", \"oui-rounded-md\", \"oui-h-10\", \"oui-text-base\"], //40px\n xl: [\"oui-px-4\", \"oui-rounded-lg\", \"oui-h-13\", \"oui-text-lg\"], //54px\n },\n color: {\n primary: [\n \"hover:oui-bg-primary-darken/80 active:oui-bg-primary-darken/70\",\n ],\n secondary: \"hover:oui-bg-base-4/80 active:oui-bg-base-4/70\",\n success: \"hover:oui-bg-success/80 active:oui-bg-success/70\",\n buy: \"hover:oui-bg-success/80 active:oui-bg-success/70\",\n danger: \"hover:oui-bg-danger/80 active:oui-bg-danger/70\",\n sell: \"hover:oui-bg-danger/80 active:oui-bg-danger/70\",\n warning:\n \"hover:oui-bg-warning-darken/80 active:oui-bg-warning-darken/70\",\n gray: \"hover:oui-bg-base-2/80 active:oui-bg-base-2/70\",\n light:\n \"hover:oui-bg-white/80 active:oui-bg-white/50 disable:oui-bg-white/20\",\n },\n fullWidth: {\n true: \"oui-w-full\",\n },\n // disabled: {\n // true: \"oui-bg-base-3 oui-text-base-contrast-36\",\n // },\n },\n compoundVariants: [\n // contained\n {\n variant: \"contained\",\n color: \"primary\",\n className: [\"oui-bg-primary-darken\", \"oui-text-primary-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"secondary\",\n className: [\"oui-bg-base-4\", \"oui-text-primary-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"success\",\n className: [\"oui-bg-success\", \"oui-text-success-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"buy\",\n className: [\"oui-bg-trade-profit\", \"oui-text-success-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"warning\",\n className: [\"oui-bg-warning-darken\", \"oui-text-warning-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"danger\",\n className: [\"oui-bg-danger\", \"oui-text-danger-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"sell\",\n className: [\"oui-bg-trade-loss\", \"oui-text-danger-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"gray\",\n className: [\"oui-bg-base-2\", \"oui-text-base-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"light\",\n className: [\n \"oui-bg-white\",\n \"oui-text-black/[.88]\",\n \"disabled:oui-bg-white/30 hover:disabled:oui-bg-white/30 disabled:oui-text-black/[.36]\",\n ],\n },\n\n {\n variant: \"outlined\",\n color: \"primary\",\n className: [\n \"oui-border-primary-darken\",\n \"oui-text-primary-darken\",\n \"hover:oui-bg-primary-darken/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"secondary\",\n className: [\n \"oui-border-base-4\",\n \"oui-text-base-contrast-54\",\n \"hover:oui-bg-base-4/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"success\",\n className: [\n \"oui-border-success\",\n \"oui-text-success\",\n \"hover:oui-bg-success/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"warning\",\n className: [\n \"oui-border-warning-darken\",\n \"oui-text-warning-contrast\",\n \"hover:oui-bg-warning-darken/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"danger\",\n className: [\n \"oui-border-danger\",\n \"oui-text-danger\",\n \"hover:oui-bg-danger/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"gray\",\n className: [\"oui-border-base-2\", \"oui-text-base\"],\n },\n // outlined end\n // {\n // variant: \"outlined\",\n // color: \"darkGray\",\n // className: [\"oui-border-base-4\", \"oui-text-base\"],\n // },\n // text\n {\n variant: \"text\",\n color: \"primary\",\n className: [\"oui-text-primary-darken hover:oui-bg-primary-darken/10\"],\n },\n {\n variant: \"text\",\n color: \"success\",\n className: [\"oui-text-success hover:oui-bg-success/10\"],\n },\n {\n variant: \"text\",\n color: \"warning\",\n className: [\"oui-text-warning-contrast hover:oui-bg-warning-darken/10\"],\n },\n {\n variant: \"text\",\n color: \"danger\",\n className: [\"oui-text-danger hover:oui-bg-danger/10\"],\n },\n {\n variant: \"text\",\n color: \"gray\",\n className: [\"oui-text-base hover:oui-bg-base-2/10\"],\n },\n {\n variant: \"text\",\n color: \"secondary\",\n className: [\"oui-text-base-contrast-36 hover:oui-bg-base-2/10\"],\n },\n ],\n defaultVariants: {\n size: \"lg\",\n variant: \"contained\",\n color: \"primary\",\n // elevation: \"none\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n }\n);\n\ninterface ButtonProps\n extends Omit<BaseButtonProps, \"size\">,\n VariantProps<typeof buttonVariants> {\n angle?: number;\n \"data-testid\"?: string;\n}\n\nconst Button = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps>\n>(\n (\n {\n className,\n variant,\n size,\n color,\n fullWidth,\n shadow,\n angle,\n style,\n ...props\n },\n ref\n ) => {\n // const Comp = asChild ? Slot : \"button\";\n const angleStyle = parseAngleProps({ angle });\n return (\n <BaseButton\n className={buttonVariants({\n variant,\n size,\n color,\n className,\n fullWidth,\n shadow,\n })}\n size={size as SizeType}\n ref={ref}\n style={{ ...style, ...angleStyle }}\n {...props}\n />\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n\nexport type { ButtonProps };\n","import React, { useMemo } from \"react\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Flex } from \"../flex\";\nimport { Spinner } from \"../spinner/spinner\";\nimport { SizeType } from \"../helpers/sizeType\";\n\ntype BaseButtonElement = React.ElementRef<\"button\">;\n\nexport interface BaseButtonProps\n extends ComponentPropsWithout<\"button\", RemovedProps> {\n loading?: boolean;\n leading?: React.ReactNode;\n trailing?: React.ReactNode;\n asChild?: boolean;\n size: SizeType;\n icon?: React.ReactElement;\n as?: \"button\" | \"a\";\n}\n\nexport const BaseButton = React.forwardRef<BaseButtonElement, BaseButtonProps>(\n (props, forwardedRef) => {\n const {\n asChild = false,\n children,\n loading,\n leading,\n trailing,\n size,\n icon,\n disabled,\n ...rest\n } = props;\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = typeof disabled !== \"undefined\" ? disabled : loading;\n\n const iconElement = useMemo(() => {\n return icon\n ? React.cloneElement(icon, {\n size:\n size === \"xs\"\n ? 12\n : size === \"sm\"\n ? 12\n : size === \"md\"\n ? 14\n : size === \"lg\"\n ? 16\n : size === \"xl\"\n ? 18\n : 12,\n className: \"oui-text-inherit\",\n opacity: loading ? 0 : 1,\n })\n : null;\n }, [size, icon]);\n\n const content = useMemo(() => {\n if (!leading && !trailing && !iconElement) return children;\n\n return (\n <Flex as=\"span\" itemAlign={\"center\"} className=\"oui-space-x-1\">\n {leading}\n {iconElement}\n <span>{children}</span>\n {trailing}\n </Flex>\n );\n }, [children, leading, trailing, iconElement]);\n\n const spinnerSize = useMemo(() => {\n switch (size) {\n case \"xl\":\n return \"md\";\n case \"lg\":\n return \"md\";\n case \"md\":\n return \"sm\";\n case \"sm\":\n case \"xs\":\n return \"xs\";\n default:\n return \"md\";\n }\n }, [size]);\n\n return (\n <Comp {...rest} disabled={isDisabled} ref={forwardedRef}>\n {loading ? (\n <>\n <span className=\"oui-invisible\">{content}</span>\n <Flex\n itemAlign={\"center\"}\n justify={\"center\"}\n position={\"absolute\"}\n as=\"span\"\n >\n <Spinner size={spinnerSize} color=\"white\" />\n </Flex>\n </>\n ) : (\n content\n )}\n </Comp>\n );\n }\n);\n\nBaseButton.displayName = \"BaseButton\";\n","import { ElementRef, forwardRef } from \"react\";\nimport { gapVariants } from \"../layout/gap\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport { Box, BoxProps } from \"../box\";\n\ntype FlexElement = ElementRef<\"div\">;\n\n// interface CommonFlexProps extends MarginProps, LayoutProps, FlexOwnProps {}\n// type FlexDivProps = { as?: 'div' } & ComponentPropsWithout<'div', RemovedProps>;\n// type FlexSpanProps = { as: 'span' } & ComponentPropsWithout<'span', RemovedProps>;\n// type FlexProps = CommonFlexProps & (FlexSpanProps | FlexDivProps);\n\nconst flexBaseVariant = tv({\n variants: {\n ...gapVariants.variants,\n // ...layoutVariants.variants,\n // ...positionVariants.variants,\n },\n});\n\nconst flexVariant = tv(\n {\n extend: flexBaseVariant,\n base: [\"oui-flex\"],\n variants: {\n display: {\n flex: \"oui-flex\",\n inlineFlex: \"oui-inline-flex\",\n },\n direction: {\n row: \"oui-flex-row\",\n rowReverse: \"oui-flex-row-reverse\",\n column: \"oui-flex-col\",\n columnReverse: \"oui-flex-col-reverse\",\n },\n itemAlign: {\n start: \"oui-items-start\",\n end: \"oui-items-end\",\n center: \"oui-items-center\",\n baseline: \"oui-items-baseline\",\n stretch: \"oui-items-stretch\",\n },\n justify: {\n start: \"oui-justify-start\",\n end: \"oui-justify-end\",\n center: \"oui-justify-center\",\n between: \"oui-justify-between\",\n around: \"oui-justify-around\",\n evenly: \"oui-justify-evenly\",\n stretch: \"oui-justify-stretch\",\n },\n wrap: {\n noWrap: \"oui-flex-nowrap\",\n wrap: \"oui-flex-wrap\",\n wrapReverse: \"oui-flex-wrap-reverse\",\n },\n },\n defaultVariants: {\n display: \"flex\",\n direction: \"row\",\n itemAlign: \"center\",\n justify: \"start\",\n wrap: \"noWrap\",\n // gap: 4,\n // gap: 0,\n // gapX: 0,\n // gapY: 0,\n },\n },\n {\n responsiveVariants: true,\n }\n);\n\n// const flexVariant = compose(layoutVariants, gapVariants, flexBaseVariant);\ninterface FlexProps extends BoxProps, VariantProps<typeof flexVariant> {\n // asChild?: boolean;\n // as?: \"div\" | \"span\";\n // width?: string | number;\n // height?: string | number;\n}\n\nconst Flex = forwardRef<FlexElement, FlexProps>((props, ref) => {\n const {\n className,\n display,\n gap,\n gapX,\n gapY,\n wrap,\n justify,\n itemAlign,\n direction,\n ...rest\n } = props;\n // const Comp = asChild ? Slot : TAG;\n //\n\n return (\n <Box\n ref={ref}\n className={flexVariant({\n className,\n display,\n gap,\n gapX,\n gapY,\n wrap,\n justify,\n itemAlign,\n direction,\n })}\n {...rest}\n />\n );\n});\n\nFlex.displayName = \"Flex\";\n\nexport { Flex, flexVariant };\n\nexport type { FlexProps };\n","export const gapVariants = {\n // extend: layoutVariants,\n variants: {\n gap: {\n 0: \"oui-gap-0\",\n 1: \"oui-gap-1\",\n 2: \"oui-gap-2\",\n 3: \"oui-gap-3\",\n 4: \"oui-gap-4\",\n 5: \"oui-gap-5\",\n 6: \"oui-gap-6\",\n 8: \"oui-gap-8\",\n 10: \"oui-gap-10\",\n },\n gapX: {\n 0: \"oui-gap-x-0\",\n 1: \"oui-gap-x-1\",\n 2: \"oui-gap-x-2\",\n 3: \"oui-gap-x-3\",\n 4: \"oui-gap-x-4\",\n 5: \"oui-gap-x-5\",\n 6: \"oui-gap-x-6\",\n 8: \"oui-gap-x-8\",\n 10: \"oui-gap-x-10\",\n },\n gapY: {\n 0: \"oui-gap-y-0\",\n 1: \"oui-gap-y-1\",\n 2: \"oui-gap-y-2\",\n 3: \"oui-gap-y-3\",\n 4: \"oui-gap-y-4\",\n 5: \"oui-gap-y-5\",\n 6: \"oui-gap-y-6\",\n 8: \"oui-gap-y-8\",\n 10: \"oui-gap-y-10\",\n },\n },\n};\n","import { createTV } from \"tailwind-variants\";\n\nexport const tv = createTV({\n twMergeConfig: {\n prefix: \"oui-\",\n },\n});\n","import React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { parseSizeProps } from \"../helpers/parse-props\";\nimport { decorationVariants } from \"../layout/decoration\";\nimport { layoutVariants } from \"../layout/layout\";\nimport { positionVariants } from \"../layout/position\";\nimport { shadowVariants } from \"../layout/shadow\";\nimport { visibleVariants } from \"../layout/visible\";\nimport { tv } from \"../utils/tv\";\n\nconst boxVariants = tv({\n base: [\"oui-box\"],\n variants: {\n ...layoutVariants.variants,\n ...shadowVariants.variants,\n ...decorationVariants.variants,\n ...positionVariants.variants,\n ...visibleVariants.variants,\n __position: {\n true: \"oui-position\",\n },\n __size_width: {\n true: \"oui-size-width\",\n },\n __size_height: {\n true: \"oui-size-height\",\n },\n },\n defaultVariants: {\n __position: false,\n __size: false,\n },\n});\n\n// // @ts-ignore\n// const boxVariants = tv({\n// extend: baseBoxVariants,\n// });\n\ntype BoxElement = React.ElementRef<\"div\">;\n\ninterface BoxProps\n extends React.ButtonHTMLAttributes<HTMLDivElement | HTMLSpanElement>,\n Omit<\n VariantProps<typeof boxVariants>,\n \"__position\" | \"__size_width\" | \"__size_height\"\n > {\n asChild?: boolean;\n as?:\n | \"div\"\n | \"span\"\n | \"nav\"\n | \"section\"\n | \"article\"\n | \"aside\"\n | \"header\"\n | \"footer\";\n width?: string | number;\n height?: string | number;\n left?: string | number;\n right?: string | number;\n top?: string | number;\n bottom?: string | number;\n /**\n * Angle of the gradient\n */\n angle?: number;\n}\n\nconst Box = React.forwardRef<BoxElement, BoxProps>((props, forwardedRef) => {\n const {\n asChild = false,\n as: TAG = \"div\",\n className,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n m,\n mx,\n my,\n mr,\n mt,\n mb,\n ml,\n grow,\n zIndex,\n style,\n shadow,\n border,\n gradient,\n r,\n invisible,\n intensity,\n position,\n borderColor,\n children,\n ...rest\n } = parseSizeProps(props);\n\n const Comp = asChild ? Slot : TAG;\n\n return (\n <Comp\n style={style}\n className={boxVariants({\n className,\n p,\n r,\n px,\n py,\n pt,\n pb,\n pr,\n pl,\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n zIndex,\n shadow,\n border,\n gradient,\n position,\n intensity,\n invisible,\n grow,\n borderColor,\n __position: typeof position !== \"undefined\",\n __size_width: typeof props.width !== \"undefined\",\n __size_height: typeof props.height !== \"undefined\",\n })}\n {...rest}\n ref={forwardedRef}\n >\n {children}\n </Comp>\n );\n});\n\nBox.displayName = \"Box\";\n\nexport { Box, boxVariants };\n\nexport type { BoxProps };\n","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 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 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 visibleVariants = {\n variants: {\n invisible: {\n true: \"oui-invisible\",\n // false: \"oui-visible\",\n },\n },\n};\n","import { FC } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst spinnerVariants = tv({\n base: \"oui-text-gray-200 oui-animate-spin dark:oui-text-gray-600 oui-fill-primary-darken\",\n variants: {\n size: {\n xs: \"oui-w-3 oui-h-3\",\n sm: \"oui-w-4 oui-h-4\",\n md: \"oui-w-6 oui-h-6\",\n lg: \"oui-w-8 oui-h-8\",\n xl: \"oui-w-10 oui-h-10\",\n },\n color: {\n primary: \"oui-fill-primary-darken\",\n success: \"oui-fill-success\",\n danger: \"oui-fill-danger\",\n warning: \"oui-fill-warning-darken\",\n gray: \"oui-fill-gray\",\n darkGray: \"oui-fill-darkGray\",\n white: \"oui-fill-white\",\n },\n // background: {\n // default: \"oui-text-base-contrast/40\",\n // transparent: \"oui-text-transparent\",\n // },\n },\n\n defaultVariants: {\n size: \"lg\",\n color: \"primary\",\n },\n});\n\ninterface SpinnerProps\n extends ComponentPropsWithout<\"svg\", RemovedProps>,\n VariantProps<typeof spinnerVariants> {\n loading?: boolean;\n}\n\nconst Spinner: FC<SpinnerProps> = (props) => {\n const { size, color, loading = true, children, className } = props;\n if (!loading) {\n return <>{children}</>;\n }\n return (\n <span role=\"status\" className=\"oui-inline-block\">\n <svg\n aria-hidden=\"true\"\n className={spinnerVariants({ size, className, color })}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n fillOpacity={0.2}\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n {/* hide, not show when render */}\n <span className=\"oui-sr-only\">Loading...</span>\n </span>\n );\n};\n\nexport { Spinner, spinnerVariants };\n\nexport type { SpinnerProps };\n","import React, { PropsWithChildren, useCallback, useRef, useState } from \"react\";\nimport { Button, ButtonProps } from \".\";\n\nconst ThrottledButton = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps & { throttleDuration?: number }>\n>(({ onClick, throttleDuration = 700, ...props }, ref) => {\n const lastCall = useRef(0);\n const throttle = useCallback(\n (delay: number, fn?: Function) => {\n return function (...args: any[]) {\n const now = Date.now();\n\n // Check if enough time has passed since the last call\n if (now - lastCall.current >= delay) {\n lastCall.current = now;\n fn?.(...args); // Execute the function\n }\n };\n },\n [throttleDuration]\n );\n\n const debouncedClick = throttle(throttleDuration, onClick);\n return <Button onClick={debouncedClick} ref={ref} {...props} />;\n});\n\nexport { ThrottledButton };\n","import React from \"react\";\nimport { tv } from \"../utils/tv\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { type BoxProps, Box } from \"../box\";\nimport { gapVariants } from \"../layout/gap\";\n\nconst gridVariants = tv({\n extend: gapVariants,\n base: [\"oui-grid\"],\n variants: {\n // inline: {\n // true: \"oui-inline-grid\",\n // // false: \"\",\n // },\n cols: {\n 1: \"oui-grid-cols-1\",\n 2: \"oui-grid-cols-2\",\n 3: \"oui-grid-cols-3\",\n 4: \"oui-grid-cols-4\",\n 5: \"oui-grid-cols-5\",\n 6: \"oui-grid-cols-6\",\n 7: \"oui-grid-cols-7\",\n 8: \"oui-grid-cols-8\",\n 9: \"oui-grid-cols-9\",\n none: \"oui-grid-cols-none\",\n },\n rows: {\n 1: \"oui-grid-rows-1\",\n 2: \"oui-grid-rows-2\",\n 3: \"oui-grid-rows-3\",\n 4: \"oui-grid-rows-4\",\n 5: \"oui-grid-rows-5\",\n 6: \"oui-grid-rows-6\",\n 7: \"oui-grid-rows-7\",\n 8: \"oui-grid-rows-8\",\n 9: \"oui-grid-rows-9\",\n none: \"oui-grid-rows-none\",\n },\n autoFlow: {\n row: \"oui-grid-flow-row\",\n col: \"oui-grid-flow-col\",\n rowDense: \"oui-grid-flow-row-dense\",\n colDense: \"oui-grid-flow-col-dense\",\n },\n gap: {\n 0: \"oui-gap-0\",\n 1: \"oui-gap-1\",\n 2: \"oui-gap-2\",\n 3: \"oui-gap-3\",\n 4: \"oui-gap-4\",\n 5: \"oui-gap-5\",\n },\n gapX: {\n 0: \"oui-gap-x-0\",\n 1: \"oui-gap-x-1\",\n 2: \"oui-gap-x-2\",\n 3: \"oui-gap-x-3\",\n 4: \"oui-gap-x-4\",\n 5: \"oui-gap-x-5\",\n },\n gapY: {\n 0: \"oui-gap-y-0\",\n 1: \"oui-gap-y-1\",\n 2: \"oui-gap-y-2\",\n 3: \"oui-gap-y-3\",\n 4: \"oui-gap-y-4\",\n 5: \"oui-gap-y-5\",\n },\n },\n defaultVariants: {\n // cols: \"1\",\n // rows: \"1\",\n // gap: 4,\n // autoFlow: \"row\",\n },\n});\n\ninterface GridProps extends BoxProps, VariantProps<typeof gridVariants> {}\n\nconst Grid = React.forwardRef<HTMLDivElement, GridProps>((props, ref) => {\n const { className, cols, rows, gap, gapX, gapY, autoFlow, ...rest } = props;\n\n return (\n <Box\n ref={ref}\n {...rest}\n className={gridVariants({\n className,\n cols,\n rows,\n gap,\n gapX,\n gapY,\n autoFlow,\n })}\n />\n );\n});\n\nGrid.displayName = \"Grid\";\n\nexport { Grid, gridVariants };\n","import { VariantProps } from \"tailwind-variants\";\nimport { Box, BoxProps } from \"../box\";\n\nimport { tv } from \"../utils/tv\";\nimport { useEffect, useRef } from \"react\";\n\nconst gridSpanVariants = tv({\n variants: {\n colSpan: {\n auto: \"oui-col-auto\",\n 1: \"oui-col-span-1\",\n 2: \"oui-col-span-2\",\n 3: \"oui-col-span-3\",\n 4: \"oui-col-span-4\",\n 5: \"oui-col-span-5\",\n 6: \"oui-col-span-6\",\n 7: \"oui-col-span-7\",\n 8: \"oui-col-span-8\",\n 9: \"oui-col-span-9\",\n },\n rowSpan: {\n auto: \"oui-row-auto\",\n 1: \"oui-row-span-1\",\n 2: \"oui-row-span-2\",\n 3: \"oui-row-span-3\",\n 4: \"oui-row-span-4\",\n 5: \"oui-row-span-5\",\n 6: \"oui-row-span-6\",\n 7: \"oui-row-span-7\",\n 8: \"oui-row-span-8\",\n 9: \"oui-row-span-9\",\n },\n },\n});\n\ninterface SpanProps extends BoxProps, VariantProps<typeof gridSpanVariants> {}\n\nconst Span = (props: SpanProps) => {\n const { colSpan, rowSpan, className, ...rest } = props;\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n const parent: HTMLElement = ref.current!.parentElement!;\n\n if (!parent || !parent.classList.contains(\"oui-grid\")) {\n console.warn(\"Span component must be a child of a Grid component\");\n }\n }\n }, []);\n\n return (\n <Box\n ref={ref}\n {...rest}\n className={gridSpanVariants({\n colSpan,\n rowSpan,\n className,\n })}\n />\n );\n};\n\nexport { Span, type SpanProps, gridSpanVariants };\n","import { Grid as GridBase, gridVariants } from \"./grid\";\nimport { Span } from \"./span\";\n\ntype GridType = typeof GridBase & {\n span: typeof Span;\n};\n\nconst Grid = GridBase as GridType;\nGrid.span = Span;\n\nexport { Grid, gridVariants };\n","import React, {\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 React, { FC, useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Text, TextProps } from \"./text\";\nimport { RoundingMode, parseNumber } from \"./utils\";\n\nexport type NumeralRule = \"percentages\" | \"price\" | \"human\";\n\nexport const isNumeralRule = (rule: string): rule is NumeralRule => {\n return [\"percentages\", \"price\", \"human\"].includes(rule);\n};\n\nexport type NumeralProps = TextProps & {\n rule?: NumeralRule;\n\n /**\n * decimal place, default 2 digits\n * @default 2\n */\n dp?: number;\n\n /**\n * Whether to ignore the decimal place, if true then direct output, the default is false\n */\n ignoreDP?: boolean;\n\n /**\n * The number of decimal places to round to.\n * tick is obtained directly from the Orderly API and is used to calculate the number of decimal places for prices.\n * If both dp and tick are passed, dp takes priority.\n * Format: 0.00001\n */\n tick?: number;\n /**\n * Rounding mode\n * The method of rounding the decimal digits after the decimal point, options are ceil, floor, round, aligns with Math.ceil, Math.floor, Math.round.\n * @default floor\n */\n rm?: RoundingMode;\n // truncate?: \"ceil\" | \"floor\" | \"round\" | \"truncate\";\n\n /**\n * The number to be formatted\n */\n children: number | string;\n\n className?: string;\n\n unitClassName?: string;\n\n coloring?: boolean;\n\n loading?: boolean;\n\n suffix?: React.ReactNode;\n prefix?: React.ReactNode;\n\n unit?: string;\n currency?: string;\n\n /**\n * Whether to display as *****\n */\n visible?: boolean;\n /**\n * Whether to pad with 0\n * @default true\n */\n padding?: boolean;\n\n /**\n * Whether to show the + or - sign\n */\n showIdentifier?: boolean;\n\n /**\n * Placeholder when children is not valid number\n */\n placeholder?: string;\n\n /**\n * custom masking element when visible is false\n */\n masking?: React.ReactNode | string;\n\n /**\n * Custom + or - sign\n */\n identifiers?: {\n loss?: React.ReactNode;\n profit?: React.ReactNode;\n };\n};\n\nexport const Numeral: FC<NumeralProps> = (props) => {\n const {\n rule = \"price\",\n coloring,\n dp,\n tick,\n suffix,\n prefix,\n visible,\n unit,\n currency,\n rm,\n padding = true,\n showIdentifier = false,\n identifiers,\n className,\n unitClassName,\n placeholder,\n masking,\n ignoreDP,\n ...rest\n } = props;\n // TODO: check precision\n\n const num = Number(props.children);\n\n const child = useMemo(() => {\n if (props.children === \"-\") return props.children;\n if (isNaN(num)) return placeholder ?? \"--\";\n\n if (typeof visible !== \"undefined\" && !visible) return masking ?? \"*****\";\n\n if (ignoreDP) {\n if (!!props.showIdentifier) {\n return Math.abs(num).toString();\n }\n\n return num;\n }\n\n return parseNumber(num, {\n rule,\n dp,\n tick,\n rm,\n padding,\n abs: showIdentifier,\n });\n }, [num, visible, tick, dp]);\n\n // console.log(\"numeral\", child, props.showIdentifier);\n\n const defaultColor = rest.color || \"inherit\";\n\n const colorName = useMemo(() => {\n if (!coloring) return defaultColor;\n if (typeof visible !== \"undefined\" && !visible) return defaultColor;\n\n if (Number.isNaN(num)) {\n // console.warn(`if coloring, value is need number: ${props.value}`);\n return defaultColor;\n }\n\n if (num === 0) return \"neutral\";\n if (num < 0) return \"lose\";\n\n return \"profit\";\n }, [coloring, num, rest.color, props.visible]);\n\n // console.log(\"parseNumber\", child, props.showIdentifier);\n\n const identifier = useMemo(() => {\n if (!showIdentifier || Number.isNaN(num) || num === 0) return null;\n if (typeof visible !== \"undefined\" && !visible) return null;\n\n if (num < 0) {\n if (identifiers?.loss) return identifiers!.loss;\n // @ts-ignore\n // return <Minus size={12} />;\n return <span>-</span>;\n }\n\n if (identifiers?.profit) return identifiers!.profit;\n // @ts-ignore\n // return <Plus size={12} />;\n return <span>+</span>;\n }, [num, props.visible, showIdentifier]);\n\n const childWithUnit = useMemo(() => {\n if (\n typeof suffix === \"undefined\" &&\n typeof prefix === \"undefined\" &&\n typeof unit === \"undefined\" &&\n typeof currency === \"undefined\" &&\n !showIdentifier\n ) {\n return child;\n }\n\n const suffixEle = suffix ? (\n typeof suffix === \"string\" ? (\n <span>{suffix}</span>\n ) : (\n suffix\n )\n ) : undefined;\n\n const unitEle = unit ? (\n <span className={cnBase(\"orderly-numeral-unit\", unitClassName)}>\n {unit}\n </span>\n ) : undefined;\n\n const prefixEle = prefix ? (\n prefix\n ) : currency ? (\n <span>{currency}</span>\n ) : undefined;\n\n const child_unit = (\n <>\n {child}\n {unitEle}\n </>\n );\n\n return (\n <>\n {prefixEle}\n {typeof identifier !== \"undefined\" ? (\n <span>\n {identifier}\n <span>{child_unit}</span>\n </span>\n ) : (\n <span>{child_unit}</span>\n )}\n {/*{unitEle}*/}\n {suffixEle}\n </>\n );\n }, [child, suffix, unit, prefix, identifier, unitClassName]);\n\n return (\n <Text\n {...rest}\n color={colorName}\n className={cnBase(\"oui-tabular-nums\", className)}\n >\n {childWithUnit}\n </Text>\n );\n};\n","import { tv } from \"../utils/tv\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport React, { MouseEventHandler } from \"react\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst textVariants = tv({\n variants: {\n size: {\n \"3xs\": [\"oui-text-3xs\"],\n \"2xs\": [\"oui-text-2xs\"],\n xs: [\"oui-text-xs\"],\n sm: [\"oui-text-sm\"],\n base: [\"oui-text-base\"],\n lg: [\"oui-text-lg\"],\n xl: [\"oui-text-xl\"],\n \"2xl\": [\"oui-text-2xl\"],\n \"3xl\": [\"oui-text-3xl\"],\n \"4xl\": [\"oui-text-4xl\"],\n \"5xl\": [\"oui-text-5xl\"],\n \"6xl\": [\"oui-text-6xl\"],\n },\n weight: {\n regular: [\"oui-font-normal\"],\n semibold: [\"oui-font-semibold\"],\n bold: [\"oui-font-bold\"],\n },\n color: {\n inherit: \"oui-text-inherit\",\n neutral: \"oui-text-base-contrast-54\",\n primary: \"oui-text-primary\",\n primaryLight: \"oui-text-primary-light\",\n secondary: \"oui-text-secondary\",\n tertiary: \"oui-text-tertiary\",\n // quaternary: \"oui-text-gray-300\",\n warning: \"oui-text-warning-darken\",\n danger: \"oui-text-danger\",\n success: \"oui-text-success\",\n buy: \"oui-text-trade-profit\",\n sell: \"oui-text-trade-loss\",\n lose: \"oui-text-trade-loss\",\n withdraw: \"oui-text-trade-loss\",\n profit: \"oui-text-trade-profit\",\n deposit: \"oui-text-trade-profit\",\n // gradient\n },\n intensity: {\n 12: \"oui-text-base-contrast-12\",\n 20: \"oui-text-base-contrast-20\",\n 36: \"oui-text-base-contrast-36\",\n 54: \"oui-text-base-contrast-54\",\n 80: \"oui-text-base-contrast-80\",\n 98: \"oui-text-base-contrast\",\n },\n dashBoard: {\n default: \"oui-border-b oui-border-dashed oui-border-base-contrast-12\",\n },\n },\n});\n\nexport type TextElement = React.ElementRef<\"span\">;\n\ninterface BasicTextProps extends VariantProps<typeof textVariants> {\n asChild?: boolean;\n}\n\ninterface CopyableTextProps extends BasicTextProps {\n /**\n * If true, the text will be copied when clicked.\n */\n copyable?: boolean;\n /**\n * Callback when the text is copied.\n */\n onCopy?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n /** default is 12 */\n copyIconSize?: number;\n copyIconTestid?: string;\n}\n\ntype TextSpanProps = { as?: \"span\" } & ComponentPropsWithout<\n \"span\",\n RemovedProps\n>;\ntype TextDivProps = { as: \"div\" } & ComponentPropsWithout<\"div\", RemovedProps>;\ntype TextLabelProps = { as: \"label\" } & ComponentPropsWithout<\n \"label\",\n RemovedProps\n>;\ntype TextPProps = { as: \"p\" } & ComponentPropsWithout<\"p\", RemovedProps>;\ntype TextProps = BasicTextProps &\n (TextSpanProps | TextDivProps | TextLabelProps | TextPProps);\n\nconst Text = React.forwardRef<TextElement, TextProps>((props, forwardedRef) => {\n const {\n children,\n className,\n asChild,\n as: Tag = \"span\",\n color,\n size,\n weight,\n intensity,\n ...textProps\n } = props;\n return (\n <Slot\n data-accent-color={color}\n {...textProps}\n ref={forwardedRef}\n className={textVariants({\n className,\n color,\n size,\n weight,\n intensity,\n })}\n >\n {asChild ? children : <Tag>{children}</Tag>}\n </Slot>\n );\n});\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\nexport type { TextProps, CopyableTextProps };\n","import {\n Decimal,\n commify,\n getPrecisionByNumber,\n numberToHumanStyle,\n todpIfNeed,\n} from \"@kodiak-finance/orderly-utils\";\n\nexport type RoundingMode = number | \"truncate\";\n\nexport const parseNumber = (\n value: number | string,\n options: {\n rule?: \"percentages\" | \"price\" | \"human\";\n dp?: number;\n\n tick?: number;\n rm?: RoundingMode;\n padding?: boolean;\n\n abs?: boolean;\n } = {},\n): string => {\n let {\n rule,\n dp,\n tick,\n rm = Decimal.ROUND_DOWN,\n padding = true,\n abs,\n } = options;\n\n if (Number.isNaN(value)) {\n return \"--\";\n }\n\n dp = dp != null ? dp : tick ? getPrecisionByNumber(tick) : 2;\n\n if (rule === \"human\") {\n return numberToHumanStyle(\n typeof value === \"number\" ? value : Number(value),\n dp,\n // { padding }\n );\n }\n\n let d = new Decimal(value);\n\n if (abs) {\n d = d.abs();\n }\n\n if (rule === \"percentages\") {\n // return `${d.mul(100).toFixed(2)}%`;\n return rounding(d.mul(100), { dp, rm, padding }) + \"%\";\n }\n const truncatedNum = rounding(d, { dp, rm, padding });\n\n // if (truncate === \"round\") {\n // if (padding) {\n // truncatedNum = d.toFixed(dp, Decimal.ROUND_HALF_EVEN);\n // } else {\n // truncatedNum = d.todp(dp, Decimal.ROUND_HALF_EVEN).toString();\n // }\n // } else {\n // if (padding) {\n // truncatedNum = d.toFixed(dp);\n // } else {\n // truncatedNum = d.todp(dp).toString();\n // }\n // }\n\n if (rule === \"price\") {\n return commify(truncatedNum);\n }\n\n if (truncatedNum?.includes(\"e\")) {\n // If dp is omitted, the return value will be unrounded and in normal notation.\n // https://mikemcl.github.io/decimal.js/#toFixed\n return new Decimal(truncatedNum)?.toFixed();\n }\n\n return truncatedNum;\n};\n\nfunction rounding(\n d: Decimal,\n options: { dp: number; rm: RoundingMode; padding: boolean },\n): string {\n const { dp, rm, padding } = options;\n\n if (rm === \"truncate\") {\n return todpIfNeed(d.toString(), dp);\n }\n\n if (padding) {\n return d.toFixed(dp, rm);\n }\n\n return d.todp(dp, rm).toString();\n}\n\nexport const NumberReg = /^([0-9]{1,}[.]?[0-9]*)/;\n\nexport function formatAddress(address: string, range?: [number, number]) {\n if (address === undefined || address === null) {\n return \"\";\n }\n const [start, end] = range ?? [6, 4];\n const reg = new RegExp(`^(.{${start}})(.*)(.{${end}})$`);\n return `${address.replace(reg, \"$1...$3\")}`;\n}\n","import React, { useMemo, useState } from \"react\";\nimport { format as formatDate, isValid } from \"date-fns\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { TokenIcon } from \"../icon\";\nimport { CopyIcon } from \"../icon/copy\";\nimport { CopyableTextProps, Text, TextElement, TextProps } from \"./text\";\nimport { formatAddress } from \"./utils\";\n\nexport type TextRule = \"date\" | \"address\" | \"symbol\" | \"status\" | \"txId\";\n\nexport const isTextRule = (rule: string): rule is TextRule => {\n return [\"date\", \"address\", \"symbol\", \"status\", \"txId\"].includes(rule);\n};\n\ntype DateText = {\n rule: \"date\";\n /**\n * use date-fns to format the date, default is \"YYYY-MM-DD HH:mm:ss\", more info:\n * @see https://date-fns.org/v3.6.0/docs/format\n */\n formatString?: string;\n};\ntype AddressText = {\n rule: \"address\";\n /**\n * range of the address to show\n * the first number is the length of the start of the address, and the second number is the length of the end of the address\n * @default [6, 4]\n */\n range?: [number, number];\n};\n\ntype BaseText = {\n rule: Omit<TextRule, \"address\" | \"date\">;\n /**\n * capitalize the first letter of the string\n */\n capitalize?: boolean;\n};\n\ntype TxIDText = {\n rule: \"txId\";\n range?: [number, number];\n};\n\ntype SymbolText = {\n rule: \"symbol\";\n // symbolElement?: \"base\" | \"quote\";\n /**\n * symbol format string, like \"type-base-quote\",\n * @default base-quote\n */\n formatString?: string;\n showIcon?: boolean;\n iconSize?: SizeType;\n};\n\nconst DEFAULT_SYMBOL_FORMAT = \"base-quote\";\nconst DEFAULT_DATE_FORMAT = \"yyyy-MM-dd HH:mm:ss\";\n\nexport type FormattedTextProps = TextProps &\n CopyableTextProps & {\n // asChildren?: boolean;\n // rule?: Omit<TextRule, \"status\"|'address'|'date'>;\n loading?: boolean;\n\n suffix?: React.ReactNode;\n prefix?: React.ReactNode;\n showIcon?: boolean;\n } & (\n | BaseText\n | DateText\n | AddressText\n | SymbolText\n | TxIDText\n | { rule?: string }\n );\n\nexport const FormattedText = React.forwardRef<TextElement, FormattedTextProps>(\n (props, ref) => {\n const {\n rule,\n children,\n\n prefix,\n // @ts-ignore\n symbolElement,\n // @ts-ignore\n formatString,\n // @ts-ignore\n range,\n // @ts-ignore\n capitalize,\n copyable,\n copyIconSize,\n onCopy,\n showIcon,\n //@ts-ignore\n iconSize = \"xs\",\n copyIconTestid,\n //@ts-ignore\n isIcon,\n ...rest\n } = props;\n // const Comp = asChildren ? Slot : \"span\";\n //\n const prefixElement = useMemo(() => {\n if (rule === \"symbol\" && showIcon) {\n return <TokenIcon symbol={children as string} size={iconSize} />;\n }\n\n return prefix;\n }, [prefix, showIcon, rule, iconSize, children]);\n\n const suffix = useMemo(() => {\n if (typeof props.suffix !== \"undefined\") {\n return props.suffix;\n }\n if (copyable) {\n return (\n <button\n className=\"oui-cursor-pointer oui-text-sm\"\n data-testid={copyIconTestid}\n onClick={(e) => {\n navigator.clipboard.writeText(children as string);\n onCopy?.(e);\n }}\n >\n <CopyIcon size={copyIconSize ?? 12} color=\"white\" />\n </button>\n );\n }\n }, [props.suffix, copyable, children]);\n\n const content = useMemo(() => {\n if (typeof children === \"undefined\") {\n return \"--\";\n }\n if (typeof rule === \"undefined\") {\n return children;\n }\n if (rule === \"address\" || rule === \"txId\") {\n return formatAddress(\n children as string,\n range ?? (rule === \"address\" ? [6, 4] : [6, 6]),\n );\n }\n if (rule === \"date\") {\n // return new Date(children as string).toLocaleString();\n const date = new Date(children as string | number | Date);\n if (!isValid(date)) {\n return \"Error: Invalid Date\";\n }\n return formatDate(\n new Date(children as string),\n formatString ?? DEFAULT_DATE_FORMAT,\n );\n }\n /**\n * format Orderly symbol\n */\n if (rule === \"symbol\") {\n const arr = (children as string).split(\"_\");\n const type = arr[0];\n const base = arr[1];\n const quote = arr[2];\n\n return (formatString ?? DEFAULT_SYMBOL_FORMAT)\n .replace(\"type\", type)\n .replace(\"base\", base)\n .replace(\"quote\", quote);\n }\n\n // if (rule === \"status\") {\n // const status = children as string;\n // if (status === OrderStatus.NEW || status === OrderStatus.OPEN) {\n // return \"Pending\";\n // }\n // const text = firstLetterToUpperCase(status);\n\n // return text;\n // }\n\n return children;\n }, [children, rule, formatString, range, symbolElement]);\n\n const contentWithFix = useMemo(() => {\n if (\n typeof suffix === \"undefined\" &&\n typeof prefixElement === \"undefined\"\n ) {\n return content;\n }\n return (\n <span className=\"oui-flex oui-items-center oui-gap-1\">\n {prefixElement}\n {content}\n {suffix}\n </span>\n );\n }, [content, suffix, prefixElement]);\n\n return (\n <Text {...rest} ref={ref}>\n {contentWithFix}\n </Text>\n );\n },\n);\n\nFormattedText.displayName = \"FormattedText\";\n","import React from \"react\";\nimport { type VariantProps, tv } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst iconVariants = tv({\n variants: {\n color: {\n primary: \"oui-text-primary-darken\",\n success: \"oui-text-success\",\n danger: \"oui-text-danger\",\n warning: \"oui-text-warning-darken\",\n // secondary: \"oui-text-secondary\",\n // tertiary: \"oui-text-tertiary\",\n white: \"oui-text-white\",\n black: \"oui-text-black\",\n inherit: \"oui-text-inherit\",\n // gray: \"oui-text-gray\",\n // darkGray: \"oui-text-darkGray\",\n },\n },\n defaultVariants: {\n color: \"black\",\n },\n});\n\nexport interface BaseIconProps\n extends ComponentPropsWithout<\"svg\", RemovedProps>,\n VariantProps<typeof iconVariants> {\n // width?: number;\n size?: number;\n opacity?: number;\n}\n\nexport const BaseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { size = 24, color, className, children, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n ref={ref}\n className={iconVariants({ className, color })}\n {...rest}\n >\n {children}\n </svg>\n );\n },\n);\n","import { FC, PropsWithChildren, ReactNode, cloneElement, useMemo } from \"react\";\nimport { ChainIcon, ChainIconProps } from \"./chainIcon\";\nimport { TokenIcon, TokenIconProps } from \"./tokenIcon\";\nimport { cnBase } from \"tailwind-variants\";\n\nexport type CombineIconProps = {\n secondary: (ChainIconProps | TokenIconProps) & {\n component?: ReactNode;\n };\n};\n\nexport const CombineIcon: FC<PropsWithChildren<CombineIconProps>> = (props) => {\n const { secondary } = props;\n\n const subElement = useMemo(() => {\n const className =\n \"oui-bg-base-6 oui-absolute oui-bottom-0 oui-right-0 oui-outline oui-outline-2 oui-outline-base-1 oui-z-10\";\n\n if (secondary.component) {\n return (\n <div className={cnBase(className, secondary?.className)}>\n {secondary.component}\n </div>\n );\n }\n\n if (\"chainId\" in secondary) {\n return (\n <ChainIcon\n {...secondary}\n className={cnBase(className, secondary?.className)}\n />\n );\n }\n\n return (\n <TokenIcon\n {...secondary}\n className={cnBase(className, secondary?.className)}\n />\n );\n }, [secondary]);\n\n return (\n <div className=\"oui-relative\">\n {props.children}\n {subElement}\n </div>\n );\n};\n","import { useMemo, type FC } from \"react\";\nimport { Avatar } from \"../avatar\";\n\nexport type ChainIconProps = {\n size?: \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\";\n chainId: string | number;\n className?: string;\n};\n\nexport const ChainIcon: FC<ChainIconProps> = (props) => {\n const url = useMemo(() => {\n return `https://oss.orderly.network/static/network_logo/${props.chainId}.png`;\n }, [props.chainId]);\n return (\n <Avatar\n size={props.size}\n src={url}\n alt={`${props.chainId}`}\n className={props.className}\n />\n );\n};\n","import * as React from \"react\";\nimport { useMemo } from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport makeBlockie from \"ethereum-blockies-base64\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst avatarVariants = tv({\n slots: {\n root: \"oui-relative oui-flex oui-shrink-0 oui-overflow-hidden oui-rounded-full\",\n image: \"oui-aspect-square oui-h-full oui-w-full\",\n fallback:\n \"oui-flex oui-h-full oui-w-full oui-items-center oui-justify-center oui-rounded-full oui-bg-base-2\",\n },\n variants: {\n size: {\n \"2xs\": {\n root: \"oui-w-4 oui-h-4\",\n },\n xs: {\n root: \"oui-w-5 oui-h-5\",\n },\n sm: {\n root: \"oui-w-6 oui-h-6\",\n },\n md: {\n root: \"oui-w-8 oui-h-8\",\n },\n lg: {\n root: \"oui-w-10 oui-h-10\",\n },\n xl: {\n root: \"oui-w-12 oui-h-12\",\n },\n },\n },\n defaultVariants: {\n size: \"sm\",\n },\n});\n\nexport type AvatarSizeType = VariantProps<typeof avatarVariants>[\"size\"];\n\nconst AvatarBase = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> &\n VariantProps<typeof avatarVariants>\n>(({ className, size, ...props }, ref) => {\n const { root } = avatarVariants({ size });\n return (\n <AvatarPrimitive.Root\n ref={ref}\n {...props}\n className={root({ className })}\n />\n );\n});\nAvatarBase.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => {\n const { image } = avatarVariants();\n return (\n <AvatarPrimitive.Image\n ref={ref}\n className={image({ className })}\n {...props}\n />\n );\n});\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => {\n const { fallback } = avatarVariants({ className });\n return (\n <AvatarPrimitive.Fallback ref={ref} className={fallback()} {...props} />\n );\n});\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\ntype AvatarProps = React.ComponentProps<typeof AvatarBase> &\n VariantProps<typeof avatarVariants> & {\n src?: string;\n alt?: string;\n fallback?: React.ReactNode;\n delayMs?: number;\n onLoadingStatusChange?: AvatarPrimitive.AvatarImageProps[\"onLoadingStatusChange\"];\n };\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>((props, ref) => {\n const { size, src, fallback, delayMs, alt, onLoadingStatusChange, ...rest } =\n props;\n return (\n <AvatarBase {...rest} ref={ref} size={size}>\n <AvatarImage\n src={src}\n onLoadingStatusChange={onLoadingStatusChange}\n alt={alt}\n />\n {typeof fallback !== \"undefined\" && (\n <AvatarFallback delayMs={delayMs}>{fallback}</AvatarFallback>\n )}\n </AvatarBase>\n );\n});\n\nconst EVMAvatar = React.forwardRef<\n React.ElementRef<typeof Avatar>,\n AvatarProps & {\n address: string;\n }\n>((props, ref) => {\n const { address, ...rest } = props;\n const src = useMemo(() => makeBlockie(address), [props.address]);\n return <Avatar {...rest} src={src} />;\n});\n\nexport {\n AvatarBase,\n AvatarImage,\n AvatarFallback,\n Avatar,\n EVMAvatar,\n avatarVariants,\n};\n","import { FC, useMemo } from \"react\";\nimport { Avatar } from \"../avatar\";\nimport { AvatarSizeType } from \"../avatar/avatar\";\n\nexport type TokenIconProps = {\n size?: AvatarSizeType;\n name?: string;\n symbol?: string;\n className?: string;\n};\n\nexport const TokenIcon: FC<TokenIconProps> = (props) => {\n const url = useMemo(() => {\n let name = props.name;\n if (typeof props.symbol === \"string\") {\n const arr = props.symbol?.split(\"_\");\n name = arr[1];\n }\n return `https://oss.orderly.network/static/symbol_logo/${name}.png`;\n }, [props.name, props.symbol]);\n\n return (\n <Avatar\n size={props.size}\n src={url}\n alt={props.name}\n className={props.className}\n />\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M4.994 3.906c-.256 0-.523.086-.718.281a1.029 1.029 0 0 0 0 1.438l6.28 6.281-6.28 6.281a1.029 1.029 0 0 0 0 1.438c.39.39 1.047.39 1.437 0l6.281-6.28 6.282 6.28c.39.39 1.047.39 1.437 0 .39-.39.39-1.047 0-1.438l-6.281-6.28 6.281-6.282c.39-.39.39-1.047 0-1.438a1.013 1.013 0 0 0-.719-.28c-.256 0-.523.085-.718.28l-6.282 6.281-6.28-6.28a1.013 1.013 0 0 0-.72-.282Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCloseIcon.displayName = \"CloseIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CheckIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIconWithPath\n d=\"M19.018 5.997c-.256 0-.523.084-.718.276l-8.707 8.594c-.257.253-.515.206-.717-.092l-2.996-4.42a1.034 1.034 0 0 0-1.405-.276.996.996 0 0 0-.28 1.38l2.995 4.42c.902 1.33 2.659 1.499 3.808.369l8.738-8.563a1 1 0 0 0 0-1.412 1.02 1.02 0 0 0-.718-.276Z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nCheckIcon.displayName = \"CheckIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport interface BaseIconWithPathProps extends BaseIconProps {\n d: string;\n}\n\nexport const BaseIconWithPath = React.forwardRef<\n SVGSVGElement,\n BaseIconWithPathProps\n>((props, ref) => {\n const { opacity = 0.54, d, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d={d}\n />\n </BaseIcon>\n );\n});\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronDownIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M5.827 9.03c-.25.05-.502.175-.655.404a1.019 1.019 0 0 0 .28 1.401l5.992 3.985c.334.223.787.223 1.122 0l5.992-3.985c.459-.305.587-.943.28-1.4a1.023 1.023 0 0 0-1.404-.28l-5.43 3.61-5.428-3.61c-.23-.154-.498-.176-.75-.126Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronDownIcon.displayName = \"ChevronDownIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"m11.443 9.17-5.991 3.986a1.02 1.02 0 0 0-.28 1.4c.305.458.945.586 1.404.281l5.429-3.612 5.428 3.612a1.025 1.025 0 0 0 1.404-.28 1.02 1.02 0 0 0-.28-1.401l-5.99-3.986a1.028 1.028 0 0 0-1.124 0Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronUpIcon.displayName = \"ChevronUpIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.017 5.997c-.3 0-.612.14-.812.406l-6 8c-.495.66-.012 1.594.812 1.594h12c.824 0 1.307-.935.812-1.594l-6-8a1.022 1.022 0 0 0-.812-.406Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretUpIcon.displayName = \"CaretUpIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CaretDownIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.007 7.996c-.824 0-1.276.935-.781 1.594l6 8a.994.994 0 0 0 1.593 0l6-8c.495-.66.012-1.594-.812-1.594h-12Z\"\n />\n );\n }\n);\n\nCaretDownIcon.displayName = \"CaretDownIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretLeftIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M15.475 5.113a1.014 1.014 0 0 0-1.063.094l-8 6a1.025 1.025 0 0 0 0 1.624l8 6c.659.495 1.594.012 1.594-.812v-12c0-.412-.214-.747-.531-.906Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretLeftIcon.displayName = \"CaretLeftIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretRightIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.558 5.113a1.015 1.015 0 0 0-.562.906v12c0 .824.966 1.307 1.625.812l8-6c.533-.4.533-1.224 0-1.624l-8-6a1.014 1.014 0 0 0-1.063-.094Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretRightIcon.displayName = \"CaretRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ChevronLeftIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M13.778 5.022c-.25.05-.5.176-.653.406l-3.986 6a1.03 1.03 0 0 0 0 1.125l3.986 6c.305.459.943.588 1.401.28.457-.305.585-.946.28-1.405l-3.612-5.438 3.612-5.437c.305-.46.177-1.1-.28-1.406-.229-.154-.498-.176-.748-.125Z\"\n />\n );\n }\n);\n\nChevronLeftIcon.displayName = \"ChevronLeftIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronRightIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M10.166 5.022c-.25-.051-.519-.03-.748.125a1.027 1.027 0 0 0-.28 1.406l3.612 5.437-3.612 5.438c-.305.459-.177 1.1.28 1.406a1.019 1.019 0 0 0 1.401-.281l3.986-6a1.03 1.03 0 0 0 0-1.125l-3.986-6c-.152-.23-.403-.356-.653-.406Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronRightIcon.displayName = \"ChevronRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CalendarMinusIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M9.67364 2.34985C9.02964 2.34985 8.50697 2.87252 8.50697 3.51652C5.9298 3.51652 3.8403 5.60602 3.8403 8.18319V19.8499C3.8403 22.427 5.9298 24.5165 8.50697 24.5165H20.1736C22.7508 24.5165 24.8403 22.427 24.8403 19.8499V8.18319C24.8403 5.60602 22.7508 3.51652 20.1736 3.51652C20.1736 2.87252 19.651 2.34985 19.007 2.34985C18.363 2.34985 17.8403 2.87252 17.8403 3.51652H10.8403C10.8403 2.87252 10.3176 2.34985 9.67364 2.34985ZM8.50697 5.84985H20.1736C21.4628 5.84985 22.507 6.89402 22.507 8.18319V19.8499C22.507 21.139 21.4628 22.1832 20.1736 22.1832H8.50697C7.2178 22.1832 6.17364 21.139 6.17364 19.8499V8.18319C6.17364 6.89402 7.2178 5.84985 8.50697 5.84985ZM9.67364 8.18319C9.02964 8.18319 8.50697 8.70585 8.50697 9.34985C8.50697 9.99385 9.02964 10.5165 9.67364 10.5165H19.007C19.651 10.5165 20.1736 9.99385 20.1736 9.34985C20.1736 8.70585 19.651 8.18319 19.007 8.18319H9.67364ZM12.007 15.1832C11.363 15.1832 10.8403 15.7059 10.8403 16.3499C10.8403 16.9939 11.363 17.5165 12.007 17.5165H16.6736C17.3176 17.5165 17.8403 16.9939 17.8403 16.3499C17.8403 15.7059 17.3176 15.1832 16.6736 15.1832H12.007Z\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nCalendarMinusIcon.displayName = \"CalendarMinusIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SettingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.968 2.455a9.671 9.671 0 0 0-3.72 2.188c-.332.31-.434.818-.218 1.218.8 1.481-.037 3.066-1.844 3.157-.442.022-.833.35-.937.781a8.71 8.71 0 0 0-.25 2.188c0 .687.074 1.464.219 2.156.09.432.466.743.906.781 1.818.158 2.718 1.544 1.906 3.313-.18.393-.098.863.219 1.157 1.062.982 2.282 1.675 3.719 2.125.41.128.873-.027 1.125-.375 1.112-1.54 2.725-1.544 3.78 0 .25.363.706.538 1.126.405a10.1 10.1 0 0 0 3.75-2.155c.33-.301.417-.788.219-1.188-.832-1.68.125-3.22 1.843-3.25.456-.008.862-.307.969-.75.173-.717.219-1.341.219-2.22 0-.754-.09-1.497-.25-2.218a.994.994 0 0 0-.97-.782c-1.69-.003-2.638-1.665-1.811-3.125a.977.977 0 0 0-.188-1.218c-1.09-.99-2.42-1.764-3.812-2.188a.986.986 0 0 0-1.125.406c-.966 1.501-2.77 1.527-3.72.032a1.023 1.023 0 0 0-1.155-.438Zm6.078 2.124a7.904 7.904 0 0 1 1.84 1.054c-.725 2.297.506 4.683 3.056 5.265.063.412.057.662.057 1.088 0 .51.007.688-.051 1.056-2.54.527-3.795 2.845-3.088 5.296-.608.441-1.043.747-1.806 1.043-1.792-1.825-4.28-1.904-6.11.011-.714-.314-1.263-.593-1.818-1.061.688-2.49-.475-4.638-3.057-5.29-.115-.457-.07-1.745-.003-2.136 2.67-.64 3.722-3.003 3.059-5.279.586-.44 1.113-.762 1.798-1.04 1.725 1.755 4.315 1.93 6.123-.007Zm-3.047 3.407a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nSettingIcon.displayName = \"SettingIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M7.006 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm2 5c.256 0 .523.086.719.28l2.28 2.282 2.282-2.281c.195-.195.463-.281.719-.281.256 0 .523.086.719.28a1.03 1.03 0 0 1 0 1.439l-2.281 2.28 2.28 2.282a1.03 1.03 0 0 1 0 1.438 1.03 1.03 0 0 1-1.437 0l-2.281-2.281-2.281 2.28a1.03 1.03 0 0 1-1.438 0 1.03 1.03 0 0 1 0-1.437l2.28-2.281-2.28-2.281a1.03 1.03 0 0 1 0-1.438c.195-.195.463-.281.719-.281Z\"\n />\n </BaseIcon>\n );\n});\n\nCloseSquareFillIcon.displayName = \"CloseSquareFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseCircleFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M11.999 1.953c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm-3 6c.256 0 .523.086.719.281l2.28 2.281 2.282-2.28c.196-.196.463-.282.719-.282.256 0 .523.086.719.281a1.03 1.03 0 0 1 0 1.438l-2.281 2.281 2.28 2.281a1.03 1.03 0 0 1 0 1.438 1.03 1.03 0 0 1-1.437 0l-2.281-2.28-2.281 2.28a1.03 1.03 0 0 1-1.438 0 1.029 1.029 0 0 1 0-1.438l2.28-2.28-2.28-2.282a1.029 1.029 0 0 1 0-1.438c.196-.195.463-.28.719-.28Z\"\n />\n </BaseIcon>\n );\n});\n\nCloseCircleFillIcon.displayName = \"CloseCircleFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CheckedCircleFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n // const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M2.014 11.999c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10-10-4.477-10-10Zm14.971-4.687c.227-.217.539-.312.837-.312.298 0 .61.095.836.312a1.102 1.102 0 0 1 0 1.595l-8.15 7.768a1.24 1.24 0 0 1-1.673 0l-3.494-3.33a1.104 1.104 0 0 1 0-1.594 1.24 1.24 0 0 1 1.674 0l2.656 2.531 7.314-6.97Z\"\n ></BaseIconWithPath>\n );\n});\n\nCheckedCircleFillIcon.displayName = \"CheckedCircleFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CheckedSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm9.995 4.382c.227-.217.539-.312.837-.312.298 0 .61.095.836.312a1.102 1.102 0 0 1 0 1.595l-8.15 7.768a1.24 1.24 0 0 1-1.673 0l-3.494-3.33a1.104 1.104 0 0 1 0-1.594 1.24 1.24 0 0 1 1.674 0l2.656 2.531 7.314-6.97Z\"\n />\n </BaseIcon>\n );\n});\n\nCheckedSquareFillIcon.displayName = \"CheckSquareFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nconst CheckSquareEmptyIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm0 2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-10a2 2 0 0 1 2-2Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCheckSquareEmptyIcon.displayName = \"CheckSquareEmptyIcon\";\n\nexport { CheckSquareEmptyIcon };\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PlusIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M11.99 2.93a1 1 0 0 0-1 1v7h-7a1 1 0 0 0 0 2h7v7a1 1 0 0 0 2 0v-7h7a1 1 0 0 0 0-2h-7v-7a1 1 0 0 0-1-1Z\"\n />\n </BaseIcon>\n );\n },\n);\n\nPlusIcon.displayName = \"PlusIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ReduceIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <rect\n x=\"4\"\n y=\"11\"\n width=\"16\"\n height=\"1.5\"\n rx=\"0.666667\"\n fill=\"currentcolor\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n },\n);\n\nReduceIcon.displayName = \"ReduceIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CircleOutlinedIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.014 1.999c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z\"\n />\n </BaseIcon>\n );\n});\n\nCircleOutlinedIcon.displayName = \"CircleOutlinedIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SquareOutlinedIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm0 2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-10a2 2 0 0 1 2-2Z\"\n />\n </BaseIcon>\n );\n});\n\nSquareOutlinedIcon.displayName = \"SquareOutlinedIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ExclamationFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n d=\"M12.014 1.999c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 5a1 1 0 0 1 1 1v5a1 1 0 0 1-2 0v-5a1 1 0 0 1 1-1Zm0 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"\n />\n </BaseIcon>\n );\n});\n\nExclamationFillIcon.displayName = \"ExclamationFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const QuestionFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.014 1.953c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 5a3.006 3.006 0 0 1 3 3c.004 1.11-.516 2.044-1.375 2.906-.18.181-.353.355-.563.532-.099.084-.376.287-.406.312-.422.356-1.05.33-1.406-.094a1.035 1.035 0 0 1 .125-1.437l.375-.313c.168-.14.335-.272.47-.406.518-.522.782-1.022.78-1.5a1 1 0 0 0-1.969-.25c-.14.534-.685.86-1.219.72a1.034 1.034 0 0 1-.718-1.25 2.995 2.995 0 0 1 2.906-2.22Zm0 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nQuestionFillIcon.displayName = \"ExclamationFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowLeftRightIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M21.995 16.007c0-.256-.086-.523-.28-.719l-3.72-3.687-1.406 1.406 1.968 2H3.995a1 1 0 000 2h14.562l-1.968 2 1.406 1.406 3.72-3.687c.194-.196.28-.463.28-.719zm-1-8a1 1 0 00-1-1H5.432l1.97-2-1.407-1.406-3.719 3.687a1.03 1.03 0 000 1.438l3.72 3.687L7.4 11.007l-1.969-2h14.563a1 1 0 001-1z\"\n ref={ref}\n {...props}\n />\n );\n});\n\nArrowLeftRightIcon.displayName = \"ArrowLeftRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowDownUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M16.007 2.014c-.256 0-.523.086-.718.281L11.6 6.015l1.406 1.405 2-1.968v14.562a1 1 0 002 0V5.452l2 1.968 1.407-1.406-3.688-3.719a1.012 1.012 0 00-.719-.28zm-8 1a1 1 0 00-1 1v14.562l-2-1.968-1.406 1.406 3.688 3.72c.39.39 1.047.39 1.437 0l3.688-3.72-1.407-1.406-2 1.968V4.014a1 1 0 00-1-1z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nArrowDownUpIcon.displayName = \"ArrowDownUpIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowUpSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.99 20.99a4 4 0 01-4-4v-10a4 4 0 014-4h10a4 4 0 014 4v10a4 4 0 01-4 4h-10zm5-4a1 1 0 001-1v-5h3l-4-4-4 4h3v5a1 1 0 001 1z\"\n ></BaseIconWithPath>\n );\n});\n\nArrowUpSquareFillIcon.displayName = \"ArrowUpSquareFillIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ArrowDownSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M6.99 2.99a4 4 0 00-4 4v10a4 4 0 004 4h10a4 4 0 004-4v-10a4 4 0 00-4-4h-10zm5 4a1 1 0 011 1v5h3l-4 4-4-4h3v-5a1 1 0 011-1z\"\n />\n </BaseIcon>\n );\n});\n\nArrowDownSquareFillIcon.displayName = \"ArrowDownSquareFillIconIcon\";\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const ArrowLeftRightSquareFill = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.74463 4.07796C1.74463 2.78938 2.78938 1.74463 4.07796 1.74463H9.9113C11.1999 1.74463 12.2446 2.78938 12.2446 4.07796V9.9113C12.2446 11.1999 11.1999 12.2446 9.9113 12.2446H4.07796C2.78938 12.2446 1.74463 11.1999 1.74463 9.9113V4.07796ZM6.5 5.5C6.224 5.5 6 5.724 6 6C6 6.276 6.224 6.5 6.5 6.5H9V8L11 6L9 4V5.5H6.5ZM7.5 7.5C7.776 7.5 8 7.724 8 8C8 8.276 7.776 8.5 7.5 8.5H5V10L3 8L5 6V7.5H7.5Z\"\n />\n </svg>\n );\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ArrowLeftRightSquareFill.displayName = \"ArrowLeftRightSquareFill\";\n}\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowRightUpSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M12.7432 15.743C14.3999 15.743 15.7432 14.3998 15.7432 12.743V5.24304C15.7432 3.58629 14.3999 2.24304 12.7432 2.24304H5.24316C3.58641 2.24304 2.24316 3.58629 2.24316 5.24304V12.743C2.24316 14.3998 3.58641 15.743 5.24316 15.743H12.7432ZM6.74316 11.993C6.55116 11.993 6.35092 11.9285 6.20392 11.7823C5.91142 11.489 5.91142 10.997 6.20392 10.7038L9.20392 7.7038L7.49316 5.99304H11.9932V10.493L10.2824 8.78229L7.28241 11.7823C7.13616 11.9285 6.93516 11.993 6.74316 11.993Z\"\n ref={ref}\n {...props}\n />\n );\n});\n\nArrowRightUpSquareFillIcon.displayName = \"ArrowRightUpSquareFillIcon\";\n","export const AssetIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.9004 5H12.9004V6.59961L13.5 6.90039C13.8 7.10039 14.1008 7.29961 14.3008 7.59961C14.5008 7.89961 14.7008 8.19961 14.8008 8.59961C14.9008 8.99961 15 9.40039 15 9.90039H13.0996C13.0996 9.30039 13.0008 8.89961 12.8008 8.59961C12.6008 8.29961 12.4 8.19922 12 8.19922C11.8 8.19922 11.6 8.20078 11.5 8.30078L11.1992 8.59961C11.0992 8.69961 11.1 8.9 11 9C10.9 9.1 10.9004 9.3 10.9004 9.5C10.9004 9.7 11 9.8 11 10C11 10.2 11.0992 10.3004 11.1992 10.4004C11.2992 10.6004 11.3996 10.7008 11.5996 10.8008C11.6996 10.9008 11.8992 10.9996 12.1992 11.0996C12.5992 11.2996 13.0008 11.4992 13.3008 11.6992C13.7008 11.8992 13.9992 12.1004 14.1992 12.4004C14.4992 12.7004 14.7008 13.0008 14.8008 13.3008C14.9008 13.6008 15 14 15 14.5C15 15 14.9008 15.3992 14.8008 15.6992C14.7008 16.0992 14.5008 16.2996 14.3008 16.5996C14.1008 16.7996 13.8 16.9992 13.5 17.1992C13.3 17.2992 13.2 17.4004 13 17.4004V19H11V17.3008C10.8 17.2008 10.6004 17.1996 10.4004 17.0996C10.0004 16.9996 9.8 16.8 9.5 16.5C9.3 16.3 9.10039 15.9 8.90039 15.5C8.80039 15 8.69922 14.5004 8.69922 13.9004H10.6992C10.6992 14.2004 10.7008 14.5008 10.8008 14.8008C10.9008 15.1008 10.9996 15.3004 11.0996 15.4004C11.1996 15.5004 11.3 15.5992 11.5 15.6992C11.7 15.7992 11.8 15.8008 12 15.8008C12.2 15.8008 12.3 15.7992 12.5 15.6992C12.7 15.5992 12.8004 15.5004 12.9004 15.4004C13.0004 15.3004 12.9996 15.2 13.0996 15C13.1996 14.9 13.1992 14.7 13.1992 14.5C13.1992 14.3 13.0996 14.1 13.0996 14C13.0996 13.9 13.0004 13.6996 12.9004 13.5996C12.8004 13.3996 12.7 13.2992 12.5 13.1992L11.9004 12.9004C11.5004 12.7004 11.1008 12.5008 10.8008 12.3008C10.4008 12.1008 10.1004 11.8996 9.90039 11.5996C9.60039 11.3996 9.40078 11.0992 9.30078 10.6992C9.20078 10.3992 9.09961 10 9.09961 9.5C9.09961 9.1 9.09922 8.70039 9.19922 8.40039C9.39922 8.10039 9.50078 7.8 9.80078 7.5C10.0008 7.2 10.2004 7.00039 10.4004 6.90039C10.6004 6.80039 10.7004 6.69922 10.9004 6.69922V5Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"9\"\n stroke=\"white\"\n strokeOpacity={0.8}\n strokeWidth=\"2\"\n />\n </svg>\n );\n};\n","export const BarChartIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18.0142 3.9978C16.9092 3.9978 16.0142 4.8928 16.0142 5.9978V17.9978C16.0142 19.1028 16.9092 19.9978 18.0142 19.9978H20.0142C21.1192 19.9978 22.0142 19.1028 22.0142 17.9978V5.9978C22.0142 4.8928 21.1192 3.9978 20.0142 3.9978H18.0142ZM18.0142 5.9978H20.0142V17.9978H18.0142V5.9978ZM11.0142 7.9978C9.90917 7.9978 9.01416 8.8928 9.01416 9.9978V17.9978C9.01416 19.1028 9.90917 19.9978 11.0142 19.9978H13.0142C14.1192 19.9978 15.0142 19.1028 15.0142 17.9978V9.9978C15.0142 8.8928 14.1192 7.9978 13.0142 7.9978H11.0142ZM11.0142 9.9978H13.0142V17.9978H11.0142V9.9978ZM4.01416 11.9978C2.90916 11.9978 2.01416 12.8928 2.01416 13.9978V17.9978C2.01416 19.1028 2.90916 19.9978 4.01416 19.9978H6.01416C7.11916 19.9978 8.01416 19.1028 8.01416 17.9978V13.9978C8.01416 12.8928 7.11916 11.9978 6.01416 11.9978H4.01416ZM4.01416 13.9978H6.01416V17.9978H4.01416V13.9978Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","export const BattleIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.59485 3L4.43619 6.47708L9.86872 11.7606L7.84097 13.9847L7.13438 13.2513L5.94468 14.4805L6.69071 15.2513L4.58079 17.5637L4.1897 17.163L3 18.3922L5.52401 21L6.71371 19.7708L6.32262 19.3667L8.56399 17.1902L9.31002 17.9576L10.4997 16.7284L9.79314 15.9983L12.0082 13.8387L14.2167 15.9881L13.5003 16.7284L14.69 17.9576L15.4426 17.18L17.684 19.3565L17.283 19.7708L18.476 21L21 18.3922L19.8103 17.163L19.4291 17.5569L17.3192 15.2411L18.0553 14.4805L16.8656 13.2513L16.1656 13.9745L14.1477 11.7606L14.151 11.7572L12.0082 9.41087L6.9602 3.86927L3.59485 3ZM20.4216 3L17.0562 3.86927L12.9777 8.34465L15.2454 10.691L19.5802 6.47708L20.4216 3Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const FeeTierIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M7.998 2.014a4 4 0 00-4 4v12a4 4 0 004 4h8a4 4 0 004-4v-12a4 4 0 00-4-4h-8zm0 2h8a2 2 0 012 2v12a2 2 0 01-2 2h-8a2 2 0 01-2-2v-12a2 2 0 012-2zm1 2a1 1 0 00-1 1v1a1 1 0 001 1h6a1 1 0 001-1v-1a1 1 0 00-1-1h-6zm0 4a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm-6 3a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 00-1 1v3a1 1 0 002 0v-3a1 1 0 00-1-1zm-6 3a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nFeeTierIcon.displayName = \"FeeTierIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EditIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M16.995 1.953a1.02 1.02 0 00-.719.281l-3 3.002-9.006 9.005-1 1c-.14.14-.212.338-.25.532l-1 5.003a.974.974 0 001.155 1.157l5.003-1c.194-.04.392-.112.532-.25l1-1.002 9.005-9.005c.445-.444 2.447-2.446 3.003-3a1.02 1.02 0 00.28-.72c0-1.637-.417-2.807-1.282-3.69-.873-.89-2.039-1.313-3.72-1.313zm.395 2.02c.902.052 1.488.26 1.889.67.41.417.669.997.724 1.882-.547.547-1.35 1.337-2.006 1.994l-2.565-2.564c.658-.657 1.41-1.436 1.958-1.983zm-3.396 3.42l2.564 2.564-7.567 7.567-2.564-2.564 7.568-7.567zM4.99 16.398l2.564 2.564-.094.094c-.66.132-1.993.411-3.22.657l.656-3.22.094-.095z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEditIcon.displayName = \"EditIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EyeIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.001 3.998c-2.959 0-5.452 1.454-7.5 3.844a16.652 16.652 0 00-1.812 2.562c-.302.528-.486.936-.594 1.188a1.058 1.058 0 000 .812c.108.252.292.66.594 1.188a16.652 16.652 0 001.812 2.562c2.048 2.39 4.541 3.844 7.5 3.844 2.96 0 5.452-1.454 7.5-3.844a16.652 16.652 0 001.812-2.562c.302-.528.486-.936.594-1.188a1.058 1.058 0 000-.812c-.108-.252-.292-.66-.594-1.188a16.652 16.652 0 00-1.812-2.562c-2.048-2.39-4.54-3.844-7.5-3.844zm0 4a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 3.999 2 2 0 000-4z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEyeIcon.displayName = \"EyeIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ShareIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M16.998 1.953a3 3 0 0 0-3 3c0 .257.04.577.102.815L8.747 9.504a3.25 3.25 0 0 0-1.75-.55 3 3 0 1 0 0 6c.633 0 1.257-.236 1.74-.569l5.365 3.766a3.2 3.2 0 0 0-.104.802 3 3 0 1 0 3-3c-.632 0-1.248.228-1.731.562l-5.378-3.763a3.2 3.2 0 0 0 .109-.799c0-.268-.038-.557-.104-.804l5.365-3.752c.479.323 1.118.556 1.739.556a3 3 0 1 0 0-6\"\n />\n </BaseIcon>\n );\n }\n);\n\nShareIcon.displayName = \"ShareIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EyeCloseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.001 3.998c-2.959-.007-5.452 1.454-7.5 3.844a16.654 16.654 0 00-1.812 2.562c-.302.528-.486.936-.594 1.188a1.058 1.058 0 000 .812c.108.252.292.66.594 1.188.401.703.87 1.419 1.406 2.094.085.107.76.873 1.344 1.468l-1.157 1.125a1.03 1.03 0 000 1.438 1.03 1.03 0 001.438 0l14-14a1.03 1.03 0 000-1.438 1.014 1.014 0 00-.719-.281c-.256 0-.523.086-.719.28l-1.28 1.314c-1.654-1.106-3.298-1.59-5-1.594zm0 4c.518 0 1.31.137 2.031.562l-1.53 1.532c-.158-.082-.457-.094-.5-.094a2 2 0 00-2 2c0 .044-.015.347.03.53-.192.234-1.5 1.5-1.5 1.5a4.204 4.204 0 01-.53-2.03c-.012-2.21 1.79-4 4-4zm7.938.344s-9.755 9.718-11.063 11.03c1.44.572 2.918.626 3.125.626 2.96 0 5.452-1.454 7.5-3.844a16.652 16.652 0 001.812-2.562c.302-.528.486-.936.594-1.188a1.04 1.04 0 000-.812c-.227-.52-.654-1.347-1.312-2.313-.177-.26-.656-.937-.656-.937z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEyeCloseIcon.displayName = \"EyeCloseIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const RefreshIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.007 2.99a9 9 0 0 0-5.594 1.94 1 1 0 1 0 1.25 1.562 6.97 6.97 0 0 1 4.344-1.5 7 7 0 0 1 7 7h-2l3 4 3-4h-2a9 9 0 0 0-9-9m-8 5-3 4h2a9 9 0 0 0 9 9 9 9 0 0 0 5.594-1.937 1 1 0 1 0-1.25-1.562 6.96 6.96 0 0 1-4.344 1.5 7 7 0 0 1-7-7h2z\"\n />\n </BaseIcon>\n );\n }\n);\n\nRefreshIcon.displayName = \"RefreshIcon\";\n","import { BaseIcon } from \"./baseIcon\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const OrderlyIcon = (props: BaseIconProps) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { BaseIcon } from \"./baseIcon\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const EsOrderlyIcon = (props: BaseIconProps) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const InfoCircleIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { className, opacity = 0.36, ...rest } = props;\n return (\n <svg\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n opacity={opacity}\n className={className}\n ref={ref}\n {...rest}\n >\n <path\n d=\"M7.99925 1.84277C4.31738 1.84277 1.33258 4.82744 1.33258 8.50944C1.33258 12.1914 4.31738 15.1761 7.99925 15.1761C11.6811 15.1761 14.6659 12.1914 14.6659 8.50944C14.6659 4.82744 11.6811 1.84277 7.99925 1.84277ZM7.99925 5.17611C8.36745 5.17611 8.66591 5.47477 8.66591 5.84277C8.66591 6.21077 8.36745 6.50944 7.99925 6.50944C7.63105 6.50944 7.33258 6.21077 7.33258 5.84277C7.33258 5.47477 7.63105 5.17611 7.99925 5.17611ZM7.99925 7.17611C8.36745 7.17611 8.66591 7.47477 8.66591 7.84277V11.1761C8.66591 11.5441 8.36745 11.8428 7.99925 11.8428C7.63105 11.8428 7.33258 11.5441 7.33258 11.1761V7.84277C7.33258 7.47477 7.63105 7.17611 7.99925 7.17611Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n },\n);\n","import { useMemo, type FC } from \"react\";\nimport { Avatar, AvatarBase, avatarVariants } from \"../avatar/avatar\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nexport type WalletIconProps = {\n name: string;\n} & Pick<VariantProps<typeof avatarVariants>, \"size\">;\n\nexport const WalletIcon: FC<WalletIconProps> = (props) => {\n const url = useMemo(() => {\n const split = props.name?.split(\" \");\n const formatWalletName = split?.[0]?.toLowerCase();\n return `https://oss.orderly.network/static/wallet_icon/${formatWalletName}.png`;\n }, [props.name]);\n return <Avatar size={props.size} src={url} alt={`${props.name}`} />;\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CalendarIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M8.006 2.014a1 1 0 0 0-1 1 4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10c0-2.205-1.792-4-4-4a1 1 0 0 0-2 0h-6a1 1 0 0 0-1-1Zm-1 3a1 1 0 0 0 2 0h6a1 1 0 0 0 2 0 2 2 0 0 1 2 2v1h-14v-1a2 2 0 0 1 2-2Zm-2 5h14v7a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-7Zm3 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-8 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nCalendarIcon.displayName = \"CaretLeftIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CopyIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.998 2.99a4 4 0 00-4 4v6a4 4 0 004 4 4 4 0 004 4h6a4 4 0 004-4v-6a4 4 0 00-4-4 4 4 0 00-4-4h-6zm10 6a2 2 0 012 2v6a2 2 0 01-2 2h-6a2 2 0 01-2-2h4a4 4 0 004-4v-4z\"\n />\n );\n }\n);\n\nCopyIcon.displayName = \"CopyIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ServerFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.998 1.953c-4.362 0-8 1.56-8 4s3.638 4 8 4 8-1.559 8-4-3.638-4-8-4m-8 7.625v2.375c0 2.441 3.638 4 8 4s8-1.559 8-4V9.578c-1.814 1.49-4.642 2.375-8 2.375s-6.186-.885-8-2.375m0 6v2.375c0 2.441 3.638 4 8 4s8-1.559 8-4v-2.375c-1.814 1.49-4.642 2.375-8 2.375s-6.186-.885-8-2.375\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nServerFillIcon.displayName = \"ServerFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingAscIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325\"\n fill=\"currentcolor\"\n fillOpacity=\".98\"\n />\n <path\n d=\"M12 21.5c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n fill=\"currentcolor\"\n fillOpacity=\".36\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingAscIcon.displayName = \"SortingAscIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingDescIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325\"\n fill=\"currentcolor\"\n fillOpacity=\".36\"\n />\n <path\n d=\"M12 21.5c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n fill=\"currentcolor\"\n fillOpacity=\".98\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingDescIcon.displayName = \"SortingDescIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowUpShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.993 18.012a1 1 0 0 1-.999-.999V9.458l-2.997 2.966-1.405-1.405 4.683-4.714a1 1 0 0 1 .72-.293c.26 0 .521.098.716.293l4.683 4.714-1.405 1.405-2.997-2.966v7.555a1 1 0 0 1-.999.999\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\n\nexport const ArrowDownShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.993 6.012a1 1 0 0 0-1 .999v7.555L7.998 11.6l-1.405 1.405 4.683 4.714c.195.196.457.293.719.293.26 0 .522-.098.717-.293l4.683-4.714L15.99 11.6l-2.997 2.966V7.011a1 1 0 0 0-1-.999\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nexport const ArrowLeftShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M18.012 11.993a1 1 0 0 0-.999-1H9.458l2.966-2.996-1.405-1.405-4.714 4.683a1 1 0 0 0-.293.719c0 .26.098.522.293.717l4.714 4.683 1.405-1.405-2.966-2.997h7.555a1 1 0 0 0 .999-1\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nexport const ArrowRightShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M6.012 11.993a1 1 0 0 1 .999-1h7.555L11.6 7.998l1.405-1.405 4.714 4.683c.196.195.293.457.293.719 0 .26-.098.522-.293.717l-4.714 4.683L11.6 15.99l2.966-2.997H7.011a1 1 0 0 1-.999-1\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nArrowUpShortIcon.displayName = \"ArrowUpShortIcon\";\nArrowDownShortIcon.displayName = \"ArrowDownShortIcon\";\nArrowLeftShortIcon.displayName = \"ArrowLeftShortIcon\";\nArrowRightShortIcon.displayName = \"ArrowRightShortIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325m0 19c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingIcon.displayName = \"SortingIconIcon\";\n","import { FC } from \"react\";\n\nexport const TraderMobileIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g>\n <path\n d=\"M1.33301 18.6668C1.33301 17.9304 1.92996 17.3335 2.66634 17.3335H5.33301C6.06939 17.3335 6.66634 17.9304 6.66634 18.6668V28.0002C6.66634 28.7365 6.06939 29.3335 5.33301 29.3335H2.66634C1.92996 29.3335 1.33301 28.7365 1.33301 28.0002V18.6668Z\"\n fill=\"url(#paint0_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.33301 18.0002H2.66634C2.29815 18.0002 1.99967 18.2986 1.99967 18.6668V28.0002C1.99967 28.3684 2.29815 28.6668 2.66634 28.6668H5.33301C5.7012 28.6668 5.99967 28.3684 5.99967 28.0002V18.6668C5.99967 18.2986 5.7012 18.0002 5.33301 18.0002ZM2.66634 17.3335C1.92996 17.3335 1.33301 17.9304 1.33301 18.6668V28.0002C1.33301 28.7365 1.92996 29.3335 2.66634 29.3335H5.33301C6.06939 29.3335 6.66634 28.7365 6.66634 28.0002V18.6668C6.66634 17.9304 6.06939 17.3335 5.33301 17.3335H2.66634Z\"\n fill=\"url(#paint1_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M9.33301 12.0001C9.33301 11.2637 9.92996 10.6667 10.6663 10.6667H13.333C14.0694 10.6667 14.6663 11.2637 14.6663 12.0001V28.0001C14.6663 28.7365 14.0694 29.3334 13.333 29.3334H10.6663C9.92996 29.3334 9.33301 28.7365 9.33301 28.0001V12.0001Z\"\n fill=\"url(#paint2_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.333 11.3334H10.6663C10.2982 11.3334 9.99967 11.6319 9.99967 12.0001V28.0001C9.99967 28.3683 10.2982 28.6667 10.6663 28.6667H13.333C13.7012 28.6667 13.9997 28.3683 13.9997 28.0001V12.0001C13.9997 11.6319 13.7012 11.3334 13.333 11.3334ZM10.6663 10.6667C9.92996 10.6667 9.33301 11.2637 9.33301 12.0001V28.0001C9.33301 28.7365 9.92996 29.3334 10.6663 29.3334H13.333C14.0694 29.3334 14.6663 28.7365 14.6663 28.0001V12.0001C14.6663 11.2637 14.0694 10.6667 13.333 10.6667H10.6663Z\"\n fill=\"url(#paint3_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M17.333 16.0001C17.333 15.2637 17.93 14.6667 18.6663 14.6667H21.333C22.0694 14.6667 22.6663 15.2637 22.6663 16.0001V28.0001C22.6663 28.7365 22.0694 29.3334 21.333 29.3334H18.6663C17.93 29.3334 17.333 28.7365 17.333 28.0001V16.0001Z\"\n fill=\"url(#paint4_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M21.333 15.3334H18.6663C18.2982 15.3334 17.9997 15.6319 17.9997 16.0001V28.0001C17.9997 28.3683 18.2982 28.6667 18.6663 28.6667H21.333C21.7012 28.6667 21.9997 28.3683 21.9997 28.0001V16.0001C21.9997 15.6319 21.7012 15.3334 21.333 15.3334ZM18.6663 14.6667C17.93 14.6667 17.333 15.2637 17.333 16.0001V28.0001C17.333 28.7365 17.93 29.3334 18.6663 29.3334H21.333C22.0694 29.3334 22.6663 28.7365 22.6663 28.0001V16.0001C22.6663 15.2637 22.0694 14.6667 21.333 14.6667H18.6663Z\"\n fill=\"url(#paint5_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M25.333 22.6668C25.333 21.9304 25.93 21.3335 26.6663 21.3335H29.333C30.0694 21.3335 30.6663 21.9304 30.6663 22.6668V28.0002C30.6663 28.7365 30.0694 29.3335 29.333 29.3335H26.6663C25.93 29.3335 25.333 28.7365 25.333 28.0002V22.6668Z\"\n fill=\"url(#paint6_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M29.333 22.0002H26.6663C26.2982 22.0002 25.9997 22.2986 25.9997 22.6668V28.0002C25.9997 28.3684 26.2982 28.6668 26.6663 28.6668H29.333C29.7012 28.6668 29.9997 28.3684 29.9997 28.0002V22.6668C29.9997 22.2986 29.7012 22.0002 29.333 22.0002ZM26.6663 21.3335C25.93 21.3335 25.333 21.9304 25.333 22.6668V28.0002C25.333 28.7365 25.93 29.3335 26.6663 29.3335H29.333C30.0694 29.3335 30.6663 28.7365 30.6663 28.0002V22.6668C30.6663 21.9304 30.0694 21.3335 29.333 21.3335H26.6663Z\"\n fill=\"url(#paint7_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M23.9997 3.33341C23.9997 2.96522 24.2981 2.66675 24.6663 2.66675H27.9997C28.3679 2.66675 28.6663 2.96522 28.6663 3.33341V6.66675C28.6663 7.03494 28.3679 7.33341 27.9997 7.33341C27.6315 7.33341 27.333 7.03494 27.333 6.66675V4.94289L20.9425 11.3334C20.4218 11.8541 19.5776 11.8541 19.0569 11.3334L11.9997 4.27622L4.47108 11.8048C4.21073 12.0652 3.78862 12.0652 3.52827 11.8048C3.26792 11.5445 3.26792 11.1224 3.52827 10.862L11.0569 3.33341C11.5776 2.81272 12.4218 2.81272 12.9425 3.33341L19.9997 10.3906L26.3902 4.00008H24.6663C24.2981 4.00008 23.9997 3.7016 23.9997 3.33341Z\"\n fill=\"url(#paint8_linear_1609_10673)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_10673\"\n x1=\"5.99967\"\n y1=\"23.3335\"\n x2=\"1.99967\"\n y2=\"23.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_10673\"\n x1=\"3.99967\"\n y1=\"17.3335\"\n x2=\"3.99967\"\n y2=\"29.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_10673\"\n x1=\"13.9997\"\n y1=\"19.3334\"\n x2=\"9.92665\"\n y2=\"19.3783\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#015B50\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_10673\"\n x1=\"11.9997\"\n y1=\"10.6667\"\n x2=\"11.9997\"\n y2=\"29.3334\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#01B49E\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_10673\"\n x1=\"21.9997\"\n y1=\"22.0001\"\n x2=\"17.9997\"\n y2=\"22.0001\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_10673\"\n x1=\"19.9997\"\n y1=\"14.6667\"\n x2=\"19.9997\"\n y2=\"29.3334\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_10673\"\n x1=\"29.9997\"\n y1=\"25.3335\"\n x2=\"25.9997\"\n y2=\"25.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_10673\"\n x1=\"27.9997\"\n y1=\"21.3335\"\n x2=\"27.9997\"\n y2=\"29.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint8_linear_1609_10673\"\n x1=\"3.66634\"\n y1=\"12.0001\"\n x2=\"21.262\"\n y2=\"-4.99792\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#01B49E\" stopOpacity=\"0.36\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC } from \"react\";\n\nexport const AffiliateIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.6001 14.3967C1.6001 13.86 1.86916 13.359 2.31661 13.0627L15.1166 4.58513C15.6522 4.23041 16.348 4.23041 16.8836 4.58513L29.6836 13.0627C30.131 13.359 30.4001 13.86 30.4001 14.3967V28C30.4001 28.8836 29.6838 29.6 28.8001 29.6H3.2001C2.31644 29.6 1.6001 28.8836 1.6001 28V14.3967Z\"\n fill=\"url(#paint0_linear_1609_7317)\"\n />\n <path\n d=\"M28.8001 28.8V29.6H3.2001V28.8H28.8001ZM29.6001 28V14.3969C29.6001 14.1285 29.4652 13.8778 29.2415 13.7297L16.4415 5.25232C16.2073 5.09729 15.9121 5.07755 15.6626 5.19373L15.5587 5.25232L2.75869 13.7297C2.53497 13.8778 2.4001 14.1285 2.4001 14.3969V28C2.4001 28.4418 2.75827 28.8 3.2001 28.8V29.6L3.03682 29.5914C2.28357 29.515 1.68506 28.9165 1.60869 28.1633L1.6001 28V14.3969C1.6001 13.8937 1.83627 13.4215 2.23447 13.1203L2.3165 13.0625L15.1165 4.58513C15.6521 4.23041 16.3481 4.23041 16.8837 4.58513L29.6837 13.0625C30.1311 13.3588 30.4001 13.8602 30.4001 14.3969V28L30.3915 28.1633C30.3151 28.9165 29.7166 29.515 28.9634 29.5914L28.8001 29.6V28.8C29.2419 28.8 29.6001 28.4418 29.6001 28Z\"\n fill=\"url(#paint1_linear_1609_7317)\"\n />\n <path\n d=\"M5.6001 4.7999C5.6001 3.47442 6.67461 2.3999 8.0001 2.3999H20.1374C20.5617 2.3999 20.9687 2.56847 21.2687 2.86853L25.9315 7.53127C26.2315 7.83133 26.4001 8.2383 26.4001 8.66264V17.2121C26.4001 17.7088 26.1694 18.1774 25.7756 18.4803L16.9998 25.2309C16.4135 25.6819 15.5944 25.6722 15.0189 25.2074L6.19476 18.0802C5.81868 17.7764 5.6001 17.3189 5.6001 16.8355V4.7999Z\"\n fill=\"url(#paint2_linear_1609_7317)\"\n />\n <path\n d=\"M5.6001 16.8358V4.7999C5.6001 3.51582 6.60854 2.46727 7.87666 2.40303L8.0001 2.3999H20.1376L20.2954 2.40771C20.6617 2.44407 21.0063 2.60608 21.2688 2.86865L25.9313 7.53115C26.2313 7.83115 26.4 8.23814 26.4001 8.6624V17.2124L26.3892 17.3968C26.3396 17.8233 26.1203 18.2154 25.7759 18.4804L17.0001 25.2312L16.8876 25.3101C16.3507 25.6545 15.6584 25.6459 15.1298 25.289L15.0188 25.2077L6.19463 18.0804C5.86561 17.8146 5.65728 17.431 5.61025 17.0155L5.6001 16.8358ZM6.4001 16.8358C6.4002 17.0774 6.5098 17.3059 6.69775 17.4577L15.522 24.5851C15.8097 24.8172 16.2187 24.8221 16.5118 24.5968L25.2876 17.846L25.3579 17.7858C25.5118 17.6362 25.6 17.4296 25.6001 17.2124V8.6624C25.6 8.47675 25.5355 8.2977 25.4188 8.15537L25.3657 8.09678L20.7032 3.43428C20.5532 3.2843 20.3497 3.19997 20.1376 3.1999H8.0001C7.11644 3.1999 6.4001 3.91625 6.4001 4.7999V16.8358Z\"\n fill=\"url(#paint3_linear_1609_7317)\"\n />\n <path\n d=\"M1.68437 14.1546C1.80314 14.0019 2.0105 13.9586 2.17734 14.0413L2.24531 14.0843L16.3922 25.0874L29.7461 14.0913C29.9166 13.951 30.1682 13.9755 30.3086 14.146C30.4489 14.3166 30.4244 14.5681 30.2539 14.7085L16.6539 25.9085L16.407 26.1124L16.1547 25.9156L1.75469 14.7156L1.69609 14.6601C1.57487 14.5188 1.56569 14.3073 1.68437 14.1546Z\"\n fill=\"url(#paint4_linear_1609_7317)\"\n />\n <path\n d=\"M15.063 19.8766C15.6222 19.4728 16.3773 19.4728 16.9366 19.8766L29.3969 28.8758C29.7115 29.103 29.5508 29.6001 29.1627 29.6001H2.8368C2.44873 29.6001 2.28801 29.103 2.6026 28.8758L15.063 19.8766Z\"\n fill=\"url(#paint5_linear_1609_7317)\"\n />\n <path\n d=\"M15.0634 19.8766C15.6226 19.4728 16.3776 19.4728 16.9368 19.8766L29.3969 28.8758C29.6919 29.0889 29.5693 29.5393 29.2329 29.5946L29.1634 29.6H2.83679L2.76726 29.5946C2.43083 29.5393 2.3082 29.0889 2.6032 28.8758L15.0634 19.8766ZM16.4688 20.525C16.2242 20.3484 15.9041 20.3262 15.6407 20.4586L15.5313 20.525L4.07429 28.8H27.9259L16.4688 20.525Z\"\n fill=\"url(#paint6_linear_1609_7317)\"\n />\n <path\n d=\"M16.2198 10.2711L15.999 10.4993L15.7783 10.2701C14.9185 9.38023 13.5199 9.37627 12.6562 10.2622L12.6485 10.2701C11.7838 11.164 11.7838 12.6095 12.6485 13.5044L15.6424 16.6463C15.8361 16.8487 16.1523 16.8517 16.3499 16.6532L16.3566 16.6463L19.3515 13.5044C20.2162 12.6105 20.2162 11.165 19.3515 10.2701C18.4917 9.38023 17.0931 9.37627 16.2294 10.2612L16.2198 10.2711Z\"\n fill=\"#B9D1FF\"\n />\n <path\n d=\"M15.9992 9.92654C17.0243 8.93604 18.641 8.95922 19.6391 9.99217L19.7312 10.0922C20.6519 11.146 20.6216 12.7633 19.6406 13.7797L19.6414 13.7804L16.6461 16.9219L16.6437 16.925L16.6336 16.9351C16.2776 17.2926 15.7023 17.2874 15.3531 16.9226V16.9219L12.3586 13.7804V13.7797C11.3466 12.7297 11.3471 11.0404 12.3609 9.99217L12.3695 9.98357V9.98279L12.4672 9.88748C13.4713 8.95732 15.0109 8.97251 15.9992 9.92654ZM19.0641 10.5476C18.3608 9.81979 17.2216 9.81726 16.5156 10.5406L16.507 10.55L16.5062 10.5492L16.2867 10.7773L15.9984 11.075L15.7109 10.7765L15.4898 10.5476V10.5469C14.7865 9.81999 13.6486 9.81767 12.943 10.5414L12.9422 10.5406L12.9351 10.5476L12.9359 10.5484C12.2663 11.2409 12.2241 12.3379 12.8101 13.082L12.9359 13.2265L12.9383 13.2281L15.9312 16.3695L15.9633 16.3922C15.9974 16.4073 16.0371 16.4004 16.0664 16.3711L16.0695 16.3672L19.0617 13.2281L19.0641 13.2258L19.1898 13.0828C19.7369 12.3893 19.7369 11.3867 19.1898 10.6922L19.0641 10.5476Z\"\n fill=\"#B9D1FF\"\n />\n <path\n d=\"M20 7.19997V3.53134C20 2.81862 20.8617 2.46168 21.3657 2.96565L25.8343 7.43428C26.3383 7.93826 25.9814 8.79997 25.2686 8.79997H21.6C20.7163 8.79997 20 8.08363 20 7.19997Z\"\n fill=\"#1F2D94\"\n />\n <path\n d=\"M20 7.19997V3.53122C20.0001 2.8186 20.8617 2.46174 21.3656 2.9656L25.8344 7.43435C26.3068 7.90689 26.0224 8.69348 25.3977 8.78981L25.2688 8.79997V7.99997L20.8 3.53122V7.19997C20.8 7.6418 21.1582 7.99997 21.6 7.99997V8.79997C20.7163 8.79997 20 8.08363 20 7.19997ZM25.2688 7.99997V8.79997H21.6V7.99997H25.2688Z\"\n fill=\"url(#paint7_linear_1609_7317)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_7317\"\n x1=\"2.8001\"\n y1=\"15.5451\"\n x2=\"29.6001\"\n y2=\"15.5451\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#333948\" />\n <stop offset=\"1\" stopColor=\"#181C23\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_7317\"\n x1=\"16.0001\"\n y1=\"3.99998\"\n x2=\"16.0001\"\n y2=\"29.6\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#222832\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_7317\"\n x1=\"25.6001\"\n y1=\"14.3999\"\n x2=\"9.46705\"\n y2=\"7.84048\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1828C3\" />\n <stop offset=\"1\" stopColor=\"#608CFF\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_7317\"\n x1=\"15.2001\"\n y1=\"25.9999\"\n x2=\"23.4343\"\n y2=\"5.74778\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1828C3\" />\n <stop offset=\"1\" stopColor=\"#608CFF\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_7317\"\n x1=\"30\"\n y1=\"14.3999\"\n x2=\"2\"\n y2=\"14.3999\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#3B4355\" />\n <stop offset=\"0.483985\" stopColor=\"#6A7387\" />\n <stop offset=\"1\" stopColor=\"#3B4355\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_7317\"\n x1=\"1.59977\"\n y1=\"24.4001\"\n x2=\"30.3998\"\n y2=\"24.4001\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#333948\" />\n <stop offset=\"1\" stopColor=\"#181C23\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_7317\"\n x1=\"16.0001\"\n y1=\"19.2\"\n x2=\"16.0001\"\n y2=\"29.6\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#656D83\" />\n <stop offset=\"1\" stopColor=\"#222832\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_7317\"\n x1=\"23.6\"\n y1=\"5.19997\"\n x2=\"20\"\n y2=\"8.79997\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#5D86FC\" />\n <stop offset=\"1\" stopColor=\"#4667E8\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC } from \"react\";\n\nexport const TradingRewardsIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.38623 9.2336C7.38623 4.46801 11.2495 0.604736 16.0151 0.604736C20.7807 0.604736 24.644 4.46801 24.644 9.2336C24.644 13.9992 20.7807 17.8625 16.0151 17.8625C11.2495 17.8625 7.38623 13.9992 7.38623 9.2336Z\"\n fill=\"url(#paint0_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.3296 5.18278C19.3806 5.22417 19.3507 5.30493 19.285 5.30493H12.8438C12.778 5.30493 12.7482 5.22417 12.7993 5.18278C13.6911 4.46035 14.8272 4.02759 16.0643 4.02759C17.3016 4.02759 18.4376 4.46035 19.3296 5.18278Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0452 10.6322C14.0081 10.5792 13.9483 10.5459 13.8836 10.5459H11.1677C11.1055 10.5459 11.0601 10.605 11.0774 10.6647C11.7036 12.8282 13.6994 14.4099 16.0646 14.4099C18.4298 14.4099 20.4256 12.8282 21.0517 10.6647C21.069 10.605 21.0236 10.5459 20.9614 10.5459H18.2456C18.1809 10.5459 18.1211 10.5792 18.084 10.6322C17.6382 11.2679 16.8999 11.6834 16.0646 11.6834C15.2293 11.6834 14.491 11.2679 14.0452 10.6322Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.8902 7.56345C17.9277 7.60484 17.9805 7.62978 18.0363 7.62978H20.8773C20.9418 7.62978 20.9874 7.56711 20.9661 7.50639C20.7656 6.93242 20.4672 6.40442 20.0908 5.94243C20.0555 5.89906 20.0022 5.87451 19.9462 5.87451H12.1818C12.1259 5.87451 12.0727 5.89906 12.0373 5.94243C11.661 6.40442 11.3625 6.93242 11.162 7.50639C11.1408 7.56711 11.1864 7.62978 11.2508 7.62978H14.0918C14.1477 7.62978 14.2005 7.60484 14.238 7.56345C14.6889 7.06633 15.34 6.75415 16.0641 6.75415C16.7881 6.75415 17.4392 7.06633 17.8902 7.56345Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.5077 9.9775C18.4594 9.9775 18.425 9.93038 18.4381 9.88382C18.4973 9.67209 18.5289 9.44887 18.5289 9.21826C18.5289 8.89376 18.4662 8.58388 18.3523 8.30011C18.333 8.25208 18.3676 8.19849 18.4193 8.19849H21.0969C21.1308 8.19849 21.1602 8.22244 21.1664 8.2558C21.2248 8.56772 21.2554 8.88947 21.2554 9.21834C21.2554 9.45516 21.2395 9.68821 21.2089 9.91654C21.2041 9.95154 21.1742 9.9775 21.1389 9.9775H18.5077ZM13.6904 9.88382C13.7034 9.93038 13.6692 9.9775 13.6209 9.9775H10.9896C10.9543 9.9775 10.9243 9.95154 10.9196 9.91654C10.8889 9.68821 10.873 9.45516 10.873 9.21834C10.873 8.88947 10.9036 8.56772 10.9621 8.2558C10.9684 8.22244 10.9976 8.19849 11.0316 8.19849H13.7092C13.7609 8.19849 13.7955 8.25208 13.7762 8.30011C13.6622 8.58388 13.5995 8.89376 13.5995 9.21826C13.5995 9.44887 13.6312 9.67209 13.6904 9.88382Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.00258 9.2336C8.00258 13.6588 11.5899 17.2461 16.0151 17.2461C20.4403 17.2461 24.0276 13.6588 24.0276 9.2336C24.0276 4.80841 20.4403 1.22108 16.0151 1.22108C11.5899 1.22108 8.00258 4.80841 8.00258 9.2336ZM16.0151 0.604736C11.2495 0.604736 7.38623 4.46801 7.38623 9.2336C7.38623 13.9992 11.2495 17.8625 16.0151 17.8625C20.7807 17.8625 24.644 13.9992 24.644 9.2336C24.644 4.46801 20.7807 0.604736 16.0151 0.604736Z\"\n fill=\"url(#paint1_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.4248 19.2514C16.1912 19.0438 15.8393 19.0438 15.6058 19.2514L11.6798 22.7412C11.2562 23.1177 11.5225 23.8182 12.0893 23.8182H13.5494V25.6673C13.5494 26.3481 14.1013 26.9 14.7821 26.9H17.2475C17.9283 26.9 18.4802 26.3481 18.4802 25.6673V23.8182H19.9413C20.508 23.8182 20.7744 23.1177 20.3508 22.7412L16.4248 19.2514ZM14.474 27.5163C13.9634 27.5163 13.5494 27.9302 13.5494 28.4408C13.5494 28.9514 13.9634 29.3654 14.474 29.3654H17.5557C18.0663 29.3654 18.4802 28.9514 18.4802 28.4408C18.4802 27.9302 18.0663 27.5163 17.5557 27.5163H14.474ZM13.5494 30.5981C13.5494 30.2577 13.8254 29.9817 14.1658 29.9817H17.8639C18.2043 29.9817 18.4802 30.2577 18.4802 30.5981C18.4802 30.9385 18.2043 31.2144 17.8639 31.2144H14.1658C13.8254 31.2144 13.5494 30.9385 13.5494 30.5981Z\"\n fill=\"url(#paint2_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1658 23.2018V25.6673C14.1658 26.0077 14.4417 26.2836 14.7821 26.2836H17.2475C17.5879 26.2836 17.8639 26.0077 17.8639 25.6673V23.2018H19.9413L16.0153 19.7121L12.0893 23.2018H14.1658ZM12.0893 23.8182C11.5225 23.8182 11.2562 23.1177 11.6798 22.7412L15.6058 19.2514C15.8393 19.0438 16.1912 19.0438 16.4248 19.2514L20.3508 22.7412C20.7744 23.1177 20.508 23.8182 19.9413 23.8182H18.4802V25.6673C18.4802 26.3481 17.9283 26.9 17.2475 26.9H14.7821C14.1013 26.9 13.5494 26.3481 13.5494 25.6673V23.8182H12.0893ZM14.1658 29.9817C13.8254 29.9817 13.5494 30.2577 13.5494 30.5981C13.5494 30.9385 13.8254 31.2144 14.1658 31.2144H17.8639C18.2043 31.2144 18.4802 30.9385 18.4802 30.5981C18.4802 30.2577 18.2043 29.9817 17.8639 29.9817H14.1658ZM14.474 27.5163C13.9634 27.5163 13.5494 27.9302 13.5494 28.4408C13.5494 28.9514 13.9634 29.3654 14.474 29.3654H17.5557C18.0663 29.3654 18.4802 28.9514 18.4802 28.4408C18.4802 27.9302 18.0663 27.5163 17.5557 27.5163H14.474ZM14.474 28.1327C14.3038 28.1327 14.1658 28.2706 14.1658 28.4408C14.1658 28.611 14.3038 28.749 14.474 28.749H17.5557C17.7259 28.749 17.8639 28.611 17.8639 28.4408C17.8639 28.2706 17.7259 28.1327 17.5557 28.1327H14.474Z\"\n fill=\"url(#paint3_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.88568 17.3473C8.87284 17.0263 8.61551 16.7689 8.29446 16.7561L4.99029 16.6239C4.42967 16.6015 4.1331 17.2789 4.52983 17.6756L5.15844 18.3042L3.85097 19.6117C3.36957 20.0931 3.36957 20.8736 3.85097 21.355L4.2868 21.7908C4.76819 22.2722 5.54869 22.2722 6.03009 21.7908L7.33756 20.4833L7.96617 21.1119C8.36291 21.5087 9.04027 21.2121 9.01785 20.6515L8.88568 17.3473ZM2.10768 21.355C2.34838 21.1143 2.73863 21.1143 2.97932 21.355L4.2868 22.6624C4.52749 22.9031 4.52749 23.2934 4.2868 23.5341C4.0461 23.7748 3.65585 23.7748 3.41515 23.5341L2.10768 22.2266C1.86698 21.9859 1.86698 21.5957 2.10768 21.355Z\"\n fill=\"url(#paint4_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.03009 18.3042L4.2868 20.0475C4.0461 20.2882 4.0461 20.6785 4.2868 20.9192L4.72262 21.355C4.96332 21.5957 5.35357 21.5957 5.59427 21.355L7.33756 19.6117L8.40199 20.6761L8.26983 17.3719L4.96566 17.2398L6.03009 18.3042ZM8.29446 16.7561L4.99029 16.6239C4.42967 16.6015 4.1331 17.2789 4.52983 17.6756L5.15844 18.3042L3.85097 19.6117C3.36957 20.0931 3.36957 20.8736 3.85097 21.355L4.2868 21.7908C4.76819 22.2722 5.54869 22.2722 6.03009 21.7908L7.33756 20.4833L7.96617 21.1119C8.36291 21.5087 9.04027 21.2121 9.01785 20.6515L8.88568 17.3473C8.87284 17.0263 8.61551 16.7689 8.29446 16.7561ZM2.97932 21.355C2.73863 21.1143 2.34838 21.1143 2.10768 21.355C1.86698 21.5957 1.86698 21.9859 2.10768 22.2266L3.41515 23.5341C3.65585 23.7748 4.0461 23.7748 4.2868 23.5341C4.52749 23.2934 4.52749 22.9031 4.2868 22.6624L2.97932 21.355Z\"\n fill=\"url(#paint5_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.921 17.3473C22.9338 17.0263 23.1911 16.7689 23.5122 16.7561L26.8164 16.6239C27.377 16.6015 27.6735 17.2789 27.2768 17.6756L26.6482 18.3042L27.9557 19.6117C28.4371 20.0931 28.4371 20.8736 27.9557 21.355L27.5198 21.7908C27.0384 22.2722 26.2579 22.2722 25.7766 21.7908L24.4691 20.4833L23.8405 21.1119C23.4437 21.5087 22.7664 21.2121 22.7888 20.6515L22.921 17.3473ZM29.699 21.355C29.4583 21.1143 29.068 21.1143 28.8273 21.355L27.5198 22.6624C27.2791 22.9031 27.2791 23.2934 27.5198 23.5341C27.7605 23.7748 28.1508 23.7748 28.3915 23.5341L29.699 22.2266C29.9397 21.9859 29.9397 21.5957 29.699 21.355Z\"\n fill=\"url(#paint6_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M25.7766 18.3042L27.5198 20.0475C27.7605 20.2882 27.7605 20.6785 27.5198 20.9192L27.084 21.355C26.8433 21.5957 26.4531 21.5957 26.2124 21.355L24.4691 19.6117L23.4046 20.6761L23.5368 17.3719L26.841 17.2398L25.7766 18.3042ZM23.5122 16.7561L26.8164 16.6239C27.377 16.6015 27.6735 17.2789 27.2768 17.6756L26.6482 18.3042L27.9557 19.6117C28.4371 20.0931 28.4371 20.8736 27.9557 21.355L27.5198 21.7908C27.0384 22.2722 26.2579 22.2722 25.7766 21.7908L24.4691 20.4833L23.8405 21.1119C23.4437 21.5087 22.7664 21.2121 22.7888 20.6515L22.921 17.3473C22.9338 17.0263 23.1911 16.7689 23.5122 16.7561ZM28.8273 21.355C29.068 21.1143 29.4583 21.1143 29.699 21.355C29.9397 21.5957 29.9397 21.9859 29.699 22.2266L28.3915 23.5341C28.1508 23.7748 27.7605 23.7748 27.5198 23.5341C27.2791 23.2934 27.2791 22.9031 27.5198 22.6624L28.8273 21.355Z\"\n fill=\"url(#paint7_linear_1609_7349)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_7349\"\n x1=\"22.4867\"\n y1=\"8.61726\"\n x2=\"9.32517\"\n y2=\"9.12524\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#5806D4\" />\n <stop offset=\"1\" stopColor=\"#BB6CED\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_7349\"\n x1=\"16.0151\"\n y1=\"0.604736\"\n x2=\"16.0151\"\n y2=\"17.8625\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#BD6CED\" />\n <stop offset=\"1\" stopColor=\"#5A08DD\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_7349\"\n x1=\"20.1752\"\n y1=\"20.7365\"\n x2=\"11.8545\"\n y2=\"20.7365\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#28303B\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_7349\"\n x1=\"16.0069\"\n y1=\"19.4285\"\n x2=\"16.0069\"\n y2=\"30.9792\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_7349\"\n x1=\"11.0242\"\n y1=\"20.3888\"\n x2=\"5.14058\"\n y2=\"14.5052\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_7349\"\n x1=\"8.7345\"\n y1=\"16.8618\"\n x2=\"2.74525\"\n y2=\"22.8511\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_7349\"\n x1=\"20.7824\"\n y1=\"20.3888\"\n x2=\"26.6661\"\n y2=\"14.5052\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_7349\"\n x1=\"23.2796\"\n y1=\"16.8618\"\n x2=\"29.2688\"\n y2=\"22.8511\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" stopOpacity=\"0.411765\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PortfolioActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Portfolio\">\n <path\n id=\"Vector\"\n d=\"M8.9688 13.3124C6.3545 14.0269 4.5 16.3001 4.5 18.9999V20.9999C4.5 21.5522 4.9477 21.9999 5.5 21.9999H19.5C20.0523 21.9999 20.5 21.5522 20.5 20.9999V18.9999C20.5 16.3001 18.6455 14.0269 16.0312 13.3124C15.8071 13.2511 15.5869 13.2794 15.375 13.3749C14.4595 13.7875 13.4849 13.9999 12.5 13.9999C11.5151 13.9999 10.5405 13.7875 9.625 13.3749C9.4131 13.2794 9.1929 13.2511 8.9688 13.3124Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n id=\"Vector_2\"\n d=\"M12.5 2C9.7386 2 7.5 4.2386 7.5 7C7.5 9.7614 9.7386 12 12.5 12C15.2614 12 17.5 9.7614 17.5 7C17.5 4.2386 15.2614 2 12.5 2Z\"\n fill=\"url(#paint0_linear_148_26239)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_148_26239\"\n x1=\"17.5\"\n y1=\"7\"\n x2=\"7.5\"\n y2=\"7\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PortfolioInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Portfolio\">\n <path\n id=\"Vector\"\n d=\"M8.9688 13.3124C6.3545 14.0269 4.5 16.3001 4.5 18.9999V20.9999C4.5 21.5522 4.9477 21.9999 5.5 21.9999H19.5C20.0523 21.9999 20.5 21.5522 20.5 20.9999V18.9999C20.5 16.3001 18.6455 14.0269 16.0312 13.3124C15.8071 13.2511 15.5869 13.2794 15.375 13.3749C14.4595 13.7875 13.4849 13.9999 12.5 13.9999C11.5151 13.9999 10.5405 13.7875 9.625 13.3749C9.4131 13.2794 9.1929 13.2511 8.9688 13.3124Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n id=\"Vector_2\"\n d=\"M12.5 2C9.7386 2 7.5 4.2386 7.5 7C7.5 9.7614 9.7386 12 12.5 12C15.2614 12 17.5 9.7614 17.5 7C17.5 4.2386 15.2614 2 12.5 2Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const TradingActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Trading\">\n <path\n id=\"Vector 646 (Stroke)\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.5 7C2.5 6.44772 2.94772 6 3.5 6H5.66905C7.77663 6 9.72966 7.10579 10.814 8.91303L13.901 14.058C14.6239 15.2628 15.9259 16 17.3309 16H19.5V14L22.5 17L19.5 20V18H17.3309C15.2234 18 13.2703 16.8942 12.186 15.087L9.09902 9.94202C8.37613 8.7372 7.0741 8 5.66905 8H3.5C2.94772 8 2.5 7.55228 2.5 7Z\"\n fill=\"url(#paint0_linear_134_17004)\"\n />\n <path\n id=\"Subtract\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.5 18C2.94772 18 2.5 17.5523 2.5 17C2.5 16.4477 2.94772 16 3.5 16H5.66905C7.0741 16 8.37613 15.2628 9.09902 14.058L10.3338 12L11.5 13.9436L10.814 15.087C9.72966 16.8942 7.77663 18 5.66905 18H3.5ZM12.6662 12L13.901 9.94202C14.6239 8.7372 15.9259 8 17.3309 8H19.5V10L22.5 7L19.5 4V6H17.3309C15.2234 6 13.2703 7.10579 12.186 8.91303L11.5 10.0563L12.6662 12Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_134_17004\"\n x1=\"22.5\"\n y1=\"13\"\n x2=\"2.5\"\n y2=\"13\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","export const TradingIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2 7C2 6.44772 2.44772 6 3 6H5.16905C7.27663 6 9.22967 7.10579 10.314 8.91303L13.401 14.058C14.1239 15.2628 15.4259 16 16.831 16H19V14L22 17L19 20V18H16.831C14.7234 18 12.7703 16.8942 11.686 15.087L8.59902 9.94202C7.87613 8.7372 6.5741 8 5.16905 8H3C2.44772 8 2 7.55228 2 7Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 18C2.44772 18 2 17.5523 2 17C2 16.4477 2.44772 16 3 16H5.16905C6.5741 16 7.87613 15.2628 8.59902 14.058L9.83381 12L11 13.9437L10.314 15.087C9.22967 16.8942 7.27663 18 5.16905 18H3ZM12.1662 12L13.401 9.94202C14.1239 8.7372 15.4259 8 16.831 8H19V10L22 7L19 4V6H16.831C14.7234 6 12.7703 7.10579 11.686 8.91303L11 10.0563L12.1662 12Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const TradingInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Trading\">\n <path\n id=\"Vector 646 (Stroke)\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.5 7C2.5 6.44772 2.94772 6 3.5 6H5.66905C7.77663 6 9.72967 7.10579 10.814 8.91303L13.901 14.058C14.6239 15.2628 15.9259 16 17.331 16H19.5V14L22.5 17L19.5 20V18H17.331C15.2234 18 13.2703 16.8942 12.186 15.087L9.09902 9.94202C8.37613 8.7372 7.0741 8 5.66905 8H3.5C2.94772 8 2.5 7.55228 2.5 7Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n id=\"Subtract\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.5 18C2.94772 18 2.5 17.5523 2.5 17C2.5 16.4477 2.94772 16 3.5 16H5.66905C7.0741 16 8.37613 15.2628 9.09902 14.058L10.3338 12L11.5 13.9437L10.814 15.087C9.72967 16.8942 7.77663 18 5.66905 18H3.5ZM12.6662 12L13.901 9.94202C14.6239 8.7372 15.9259 8 17.331 8H19.5V10L22.5 7L19.5 4V6H17.331C15.2234 6 13.2703 7.10579 12.186 8.91303L11.5 10.0563L12.6662 12Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const LeaderboardActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M18 11H21C22.103 11 23 11.897 23 13V17C23 18.103 22.103 19 21 19H18V17V11Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M16 7V17V19H8V17V7C8 5.897 8.897 5 10 5H14C15.103 5 16 5.897 16 7Z\"\n fill=\"url(#paint0_linear_999_8196)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_999_8196\"\n x1=\"16\"\n y1=\"12\"\n x2=\"8\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const LeaderboardInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M18 11H21C22.103 11 23 11.897 23 13V17C23 18.103 22.103 19 21 19H18V17V11Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n d=\"M16 7V17V19H8V17V7C8 5.897 8.897 5 10 5H14C15.103 5 16 5.897 16 7Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </BaseIcon>\n );\n};\n","import { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const MarketsActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.75 8C10.6454 8 9.75 8.89543 9.75 10V18C9.75 19.1046 10.6454 20 11.75 20H13.75C14.8546 20 15.75 19.1046 15.75 18V10C15.75 8.89543 14.8546 8 13.75 8H11.75ZM4.75 12C3.64543 12 2.75 12.8954 2.75 14V18C2.75 19.1046 3.64543 20 4.75 20H6.75C7.85457 20 8.75 19.1046 8.75 18V14C8.75 12.8954 7.85457 12 6.75 12H4.75Z\"\n fill=\"white\"\n fillOpacity=\"0.16\"\n />\n <path\n d=\"M16.75 6C16.75 4.89543 17.6454 4 18.75 4H20.75C21.8546 4 22.75 4.89543 22.75 6V18C22.75 19.1046 21.8546 20 20.75 20H18.75C17.6454 20 16.75 19.1046 16.75 18V6Z\"\n fill=\"url(#paint0_linear_2097_10887)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_2097_10887\"\n x1=\"22.75\"\n y1=\"12\"\n x2=\"16.75\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const MarketsInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5 8a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2zm-7 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z\"\n fill=\"#fff\"\n fillOpacity=\".12\"\n />\n <path\n d=\"M16.5 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2z\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\n\nexport function EmptyStateIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"64\"\n height=\"64\"\n fill=\"none\"\n viewBox=\"0 0 64 64\"\n >\n <rect width=\"36\" height=\"48\" x=\"18\" y=\"5\" fill=\"#07080A\" rx=\"4\"></rect>\n <rect\n width=\"36\"\n height=\"48\"\n x=\"11\"\n y=\"12\"\n fill=\"url(#paint0_linear_309_13641)\"\n rx=\"4\"\n ></rect>\n <rect\n width=\"36\"\n height=\"48\"\n x=\"9\"\n y=\"10\"\n fill=\"url(#paint1_linear_309_13641)\"\n rx=\"4\"\n ></rect>\n <path\n fill=\"#303237\"\n d=\"M36.636 53.323V50H6v3.323C6 55.91 7.943 58 10.462 58H41c-2.392 0-4.364-2.168-4.364-4.663\"\n ></path>\n <rect width=\"9\" height=\"2\" x=\"15\" y=\"16\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"16\" height=\"2\" x=\"15\" y=\"24\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"12\" height=\"3\" x=\"28\" y=\"29\" fill=\"#45484E\" rx=\"1.5\"></rect>\n <path\n fill=\"#45484E\"\n d=\"M33 23a2 2 0 012-2h1.5a1.5 1.5 0 010 3H34a1 1 0 01-1-1z\"\n ></path>\n <rect width=\"9\" height=\"3\" x=\"29\" y=\"37\" fill=\"#45484E\" rx=\"1.5\"></rect>\n <rect width=\"13\" height=\"2\" x=\"15\" y=\"30\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"15\" height=\"2\" x=\"15\" y=\"36\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"24\" height=\"2\" x=\"15\" y=\"42\" fill=\"#3F4146\" rx=\"1\"></rect>\n <path\n fill=\"#181A1D\"\n fillRule=\"evenodd\"\n d=\"M27.24 30.022a12.451 12.451 0 1122.195 9.87l5.328 5.328-1.58 1.58-5.241-5.24a12.452 12.452 0 01-20.703-11.537zm14.193 12.39A10.156 10.156 0 1037.47 22.49a10.156 10.156 0 003.963 19.92z\"\n clipRule=\"evenodd\"\n ></path>\n <path\n fill=\"#54565B\"\n fillRule=\"evenodd\"\n d=\"M27.24 29.022a12.451 12.451 0 1122.195 9.87l5.328 5.328-1.58 1.58-5.241-5.24a12.452 12.452 0 01-20.703-11.537zm14.193 12.39A10.156 10.156 0 1037.47 21.49a10.156 10.156 0 003.963 19.92z\"\n clipRule=\"evenodd\"\n ></path>\n <path\n fill=\"#16181B\"\n d=\"M51.755 43.867c-.99.99-.99 2.596 0 3.586l3.754 3.754a2.536 2.536 0 103.586-3.586l-3.754-3.754a2.536 2.536 0 00-3.586 0z\"\n ></path>\n <path\n fill=\"#4E525C\"\n d=\"M51.755 42.867c-.99.99-.99 2.596 0 3.586l3.754 3.754a2.536 2.536 0 103.586-3.586l-3.754-3.754a2.536 2.536 0 00-3.586 0z\"\n ></path>\n <defs>\n <linearGradient\n id=\"paint0_linear_309_13641\"\n x1=\"27.286\"\n x2=\"48.844\"\n y1=\"55.742\"\n y2=\"25.703\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#0C0D10\"></stop>\n <stop offset=\"1\" stopColor=\"#121418\"></stop>\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_309_13641\"\n x1=\"25.286\"\n x2=\"46.844\"\n y1=\"53.742\"\n y2=\"23.703\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1B1D22\"></stop>\n <stop offset=\"1\" stopColor=\"#26292E\"></stop>\n </linearGradient>\n </defs>\n </svg>\n );\n}\n\nexport default EmptyStateIcon;\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\n\nexport const VectorIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n width=\"20\"\n height=\"13\"\n viewBox=\"0 0 20 13\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillOpacity={0.8}\n d=\"M0.999023 0.103516C0.447023 0.103516 -0.000976562 0.551516 -0.000976562 1.10352C-0.000976562 1.65552 0.447023 2.10352 0.999023 2.10352H18.999C19.551 2.10352 19.999 1.65552 19.999 1.10352C19.999 0.551516 19.551 0.103516 18.999 0.103516H0.999023ZM0.999023 5.10352C0.447023 5.10352 -0.000976562 5.55152 -0.000976562 6.10352C-0.000976562 6.65552 0.447023 7.10352 0.999023 7.10352H18.999C19.551 7.10352 19.999 6.65552 19.999 6.10352C19.999 5.55152 19.551 5.10352 18.999 5.10352H0.999023ZM0.999023 10.1035C0.447023 10.1035 -0.000976562 10.5515 -0.000976562 11.1035C-0.000976562 11.6555 0.447023 12.1035 0.999023 12.1035H18.999C19.551 12.1035 19.999 11.6555 19.999 11.1035C19.999 10.5515 19.551 10.1035 18.999 10.1035H0.999023Z\"\n fill=\"white\"\n />\n </svg>\n );\n },\n);\n\nVectorIcon.displayName = \"VectorIcon\";\n","export const SwapHorizIcon = () => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <mask\n id=\"mask0_2321_5422\"\n style={{ maskType: \"alpha\" }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width=\"20\"\n height=\"20\"\n >\n <rect width=\"20\" height=\"20\" fill=\"#D9D9D9\" />\n </mask>\n <g mask=\"url(#mask0_2321_5422)\">\n <path\n d=\"M6 16.5L2 12.5L6 8.5L7.0625 9.5625L4.875 11.75H11V13.25H4.875L7.0625 15.4375L6 16.5ZM14 11.5L12.9375 10.4375L15.125 8.25H9V6.75H15.125L12.9375 4.5625L14 3.5L18 7.5L14 11.5Z\"\n fill=\"white\"\n fillOpacity=\"0.54\"\n />\n </g>\n </svg>\n );\n};\n","export const PeopleIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.499 2.92969C13.0137 2.92969 10.999 4.94469 10.999 7.42969C10.999 9.91469 13.0137 11.9297 15.499 11.9297C17.9843 11.9297 19.999 9.91469 19.999 7.42969C19.999 4.94469 17.9843 2.92969 15.499 2.92969ZM7.99902 3.92969C5.78992 3.92969 3.99902 5.72069 3.99902 7.92969C3.99902 10.1387 5.78992 11.9297 7.99902 11.9297C8.82842 11.9297 9.61402 11.6767 10.2802 11.2107C10.7329 10.8947 10.8466 10.2577 10.5302 9.80469C10.2138 9.35169 9.60792 9.26969 9.15522 9.58569C8.82232 9.81869 8.41522 9.92969 7.99902 9.92969C6.89442 9.92969 5.99902 9.03469 5.99902 7.92969C5.99902 6.82469 6.89442 5.92969 7.99902 5.92969C8.32522 5.92969 8.62362 6.00168 8.90522 6.14868C9.39522 6.40368 10.0254 6.2317 10.2802 5.7417C10.5351 5.2527 10.3327 4.62168 9.84282 4.36768C9.27772 4.07368 8.64842 3.92969 7.99902 3.92969ZM15.499 4.92969C16.8797 4.92969 17.999 6.04869 17.999 7.42969C17.999 8.81069 16.8797 9.92969 15.499 9.92969C14.1183 9.92969 12.999 8.81069 12.999 7.42969C12.999 6.04869 14.1183 4.92969 15.499 4.92969ZM5.06152 13.2737C3.22742 14.0307 1.99902 15.8857 1.99902 17.9297V19.9297C1.99902 20.4817 2.44672 20.9297 2.99902 20.9297H6.99902C7.55132 20.9297 7.99902 20.4817 7.99902 19.9297C7.99902 19.3777 7.55132 18.9297 6.99902 18.9297H3.99902V17.9297C3.99902 16.8057 4.66572 15.7737 5.43202 15.3197C6.15272 15.6237 6.91512 15.8537 7.59312 15.9107C8.14352 15.9577 8.63982 15.5427 8.68652 14.9917C8.73322 14.4417 8.33552 13.9757 7.78522 13.9287C7.34622 13.8917 6.86642 13.7597 6.31152 13.5237C6.17752 13.4667 6.09972 13.4217 5.84282 13.3047C5.59092 13.1897 5.31732 13.1677 5.06152 13.2737ZM12.0615 13.2737C10.2274 14.0307 8.99902 15.8857 8.99902 17.9297V19.9297C8.99902 20.4817 9.44672 20.9297 9.99902 20.9297H20.999C21.5513 20.9297 21.999 20.4817 21.999 19.9297V17.9297C21.999 15.9337 20.7638 14.1237 18.9365 13.3357C18.6793 13.2247 18.3796 13.2217 18.124 13.3357C17.2392 13.7327 16.3772 13.9297 15.499 13.9297C14.6238 13.9297 13.7588 13.7217 12.8428 13.3047C12.5909 13.1897 12.3173 13.1677 12.0615 13.2737ZM12.446 15.3197C13.3908 15.6777 14.5299 15.9297 15.499 15.9297C16.4605 15.9297 17.5525 15.6947 18.4782 15.3527C19.3808 15.8667 19.999 16.8287 19.999 17.9297V18.9297H10.999V17.9297C10.999 16.7647 11.6549 15.7827 12.446 15.3197Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","export const PersonIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.998 1.95312C9.23665 1.95312 6.99805 4.19172 6.99805 6.95312C6.99805 9.71452 9.23665 11.9531 11.998 11.9531C14.7594 11.9531 16.998 9.71452 16.998 6.95312C16.998 4.19172 14.7594 1.95312 11.998 1.95312ZM11.998 3.95312C13.6549 3.95312 14.998 5.29622 14.998 6.95312C14.998 8.61002 13.6549 9.95312 11.998 9.95312C10.3411 9.95312 8.99805 8.61002 8.99805 6.95312C8.99805 5.29622 10.3411 3.95312 11.998 3.95312ZM8.46685 13.2656C5.85255 13.9801 3.99805 16.2533 3.99805 18.9531V20.9531C3.99805 21.5054 4.44575 21.9531 4.99805 21.9531H18.998C19.5503 21.9531 19.998 21.5054 19.998 20.9531V18.9531C19.998 16.2533 18.1435 13.9801 15.5292 13.2656C15.3051 13.2043 15.0849 13.2326 14.873 13.3281C13.9575 13.7407 12.9829 13.9531 11.998 13.9531C11.0131 13.9531 10.0385 13.7407 9.12305 13.3281C8.91115 13.2326 8.69095 13.2043 8.46685 13.2656ZM8.87305 15.2656C9.88285 15.6475 10.9177 15.9531 11.998 15.9531C13.0783 15.9531 14.1132 15.6475 15.123 15.2656C16.8264 15.7816 17.998 17.2195 17.998 18.9531V19.9531H5.99805V18.9531C5.99805 17.2195 7.16965 15.7816 8.87305 15.2656Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SettingFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.968 2.456a9.669 9.669 0 0 0-3.72 2.187c-.332.31-.434.818-.218 1.219.8 1.48-.037 3.065-1.843 3.156-.443.023-.834.35-.938.78a8.712 8.712 0 0 0-.25 2.188c0 .688.074 1.464.219 2.156.09.433.466.744.906.783 1.818.156 2.718 1.543 1.906 3.311-.18.393-.098.863.219 1.156 1.062.983 2.282 1.675 3.719 2.125.41.13.873-.026 1.125-.375 1.112-1.537 2.725-1.543 3.78 0 .25.364.706.54 1.126.407a10.072 10.072 0 0 0 3.75-2.157c.33-.3.417-.787.219-1.186-.832-1.68.125-3.221 1.843-3.25.456-.008.862-.308.969-.75.173-.717.219-1.342.219-2.22 0-.754-.09-1.497-.25-2.218a.994.994 0 0 0-.97-.781c-1.69-.003-2.638-1.665-1.811-3.125a.979.979 0 0 0-.188-1.22 10.153 10.153 0 0 0-3.812-2.186.986.986 0 0 0-1.125.406c-.966 1.5-2.77 1.527-3.72.03-.242-.382-.723-.574-1.155-.436Zm3.03 5.53a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nSettingFillIcon.displayName = \"SettingFillIcon\";\n","import { FC, SVGProps } from \"react\";\n\nexport const TradingLeftNavIcon: FC<SVGProps<SVGSVGElement>> = (props) => {\n const { width = 24, height = 24, opacity = 0.54, ...rest } = props;\n return (\n <svg\n width={`${width}px`}\n height={`${height}px`}\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <path\n d=\"M5.426 1.66663C5.24175 1.67715 4.98875 1.75081 4.85308 1.85868C4.80817 1.89464 4.67798 2.0148 4.65323 2.05076L1.02049 7.28121C0.892158 7.44872 0.833496 7.67235 0.833496 7.80916C0.833496 8.18539 1.09108 8.41167 1.09108 8.41167L9.28423 18.0043C9.28973 18.0113 9.58307 18.3393 10.0002 18.3332C10.4172 18.3262 10.7106 18.0113 10.7161 18.0043C10.9718 17.7053 18.9404 8.37835 18.9404 8.37835C18.9404 8.37835 19.1668 8.08015 19.1668 7.80916C19.1668 7.53729 18.9486 7.23472 18.9486 7.23472L15.3571 2.05338C15.3315 2.01742 15.2728 2.0297 15.2426 1.99901C15.2059 1.95691 15.2013 1.89728 15.1564 1.86132C15.0207 1.75345 14.8603 1.74292 14.6981 1.7245C14.6541 1.71836 14.6284 1.67013 14.5835 1.67013H14.4973L5.426 1.66663ZM7.36474 3.42414H12.6356L10.0002 6.43841L7.36474 3.42414ZM5.50299 4.02664L8.05224 6.93216H3.46891L5.50299 4.02664ZM14.4973 4.02664L16.5314 6.93216H11.9481L14.4973 4.02664ZM3.69808 8.68616H9.08349V14.9892L3.69808 8.68616ZM10.9168 8.68616H16.3022C15.0235 10.1806 12.4999 13.1387 10.9168 14.9892V8.68616Z\"\n fill=\"white\"\n fillOpacity={opacity}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const VaultsIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path d=\"M13.333 3.33334C13.333 2.96515 13.0345 2.66668 12.6663 2.66668H3.33301C2.96482 2.66668 2.66634 2.96515 2.66634 3.33334V9.33334C2.66634 9.70153 2.96482 10 3.33301 10H12.6663C13.0345 10 13.333 9.70153 13.333 9.33334V3.33334ZM14.6663 9.33334C14.6663 10.4379 13.7709 11.3333 12.6663 11.3333H3.33301C2.22844 11.3333 1.33301 10.4379 1.33301 9.33334V3.33334C1.33301 2.22877 2.22844 1.33334 3.33301 1.33334H12.6663C13.7709 1.33334 14.6663 2.22877 14.6663 3.33334V9.33334Z\" />\n <path d=\"M4.66699 13.3333C4.66699 12.9651 4.96547 12.6667 5.33366 12.6667H10.667C11.0352 12.6667 11.3337 12.9651 11.3337 13.3333C11.3337 13.7015 11.0352 14 10.667 14H5.33366C4.96547 14 4.66699 13.7015 4.66699 13.3333Z\" />\n <path d=\"M10.1859 4.20509C10.4408 3.93953 10.8629 3.93072 11.1286 4.18556C11.3941 4.44049 11.4029 4.86265 11.1481 5.12827L8.48143 7.90626C8.35571 8.03721 8.18184 8.11134 8.00031 8.11134C7.81878 8.11134 7.6449 8.03721 7.51919 7.90626L6.93325 7.29558L5.81476 8.4616C5.55982 8.72716 5.13767 8.73597 4.87205 8.48113C4.60649 8.2262 4.59768 7.80404 4.85252 7.53842L6.45278 5.87176L6.50226 5.82553C6.6222 5.72363 6.77506 5.66668 6.9339 5.66668C7.11531 5.66675 7.28872 5.74089 7.41437 5.87176L7.99965 6.48178L10.1859 4.20509Z\" />\n </svg>\n );\n },\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n VaultsIcon.displayName = \"VaultsIcon\";\n}\n","import { forwardRef } from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const LeftNavVaultsIcon = forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path\n d=\"M20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V14C4 14.5523 4.44772 15 5 15H19C19.5523 15 20 14.5523 20 14V5ZM22 14C22 15.6569 20.6569 17 19 17H5C3.34315 17 2 15.6569 2 14V5C2 3.34315 3.34315 2 5 2H19C20.6569 2 22 3.34315 22 5V14Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M7 20C7 19.4477 7.44772 19 8 19H16C16.5523 19 17 19.4477 17 20C17 20.5523 16.5523 21 16 21H8C7.44772 21 7 20.5523 7 20Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M15.2783 6.30759C15.6607 5.90925 16.2939 5.89604 16.6924 6.27829C17.0907 6.66069 17.1039 7.29393 16.7217 7.69235L12.7217 11.8593C12.5331 12.0558 12.2723 12.167 12 12.167C11.7277 12.167 11.4669 12.0558 11.2783 11.8593L10.3994 10.9433L8.72165 12.6924C8.33925 13.0907 7.70601 13.1039 7.30759 12.7217C6.90925 12.3392 6.89604 11.706 7.27829 11.3076L9.67868 8.80759L9.7529 8.73825C9.93282 8.5854 10.1621 8.49997 10.4004 8.49997C10.6725 8.50008 10.9326 8.61129 11.1211 8.80759L11.999 9.72263L15.2783 6.30759Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </svg>\n );\n },\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n LeftNavVaultsIcon.displayName = \"LeftNavVaultsIcon\";\n}\n","import { 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 { FeeTierIcon } from \"./feeTier\";\nexport { EditIcon } from \"./edit\";\nexport { EyeIcon } from \"./eye\";\nexport { ShareIcon } from \"./share\";\nexport { EyeCloseIcon } from \"./eyeClose\";\nexport { RefreshIcon } from \"./refresh\";\nexport { OrderlyIcon } from \"./orderly\";\nexport { EsOrderlyIcon } from \"./esOrderly\";\nexport { InfoCircleIcon } from \"./infoCircle\";\n\nexport { TokenIcon } from \"./tokenIcon\";\nexport { ChainIcon } from \"./chainIcon\";\nexport { WalletIcon } from \"./walletIcon\";\nexport { CalendarIcon } from \"./calendar\";\nexport { CopyIcon } from \"./copy\";\nexport { ServerFillIcon } from \"./serverFill\";\nexport { SortingAscIcon } from \"./sortingASCIcon\";\nexport { SortingDescIcon } from \"./sortingDESCIcon\";\nexport {\n ArrowUpShortIcon,\n ArrowDownShortIcon,\n ArrowLeftShortIcon,\n ArrowRightShortIcon,\n} from \"./arrowShort\";\n\nexport { SortingIcon } from \"./sortingIcon\";\nexport { TraderMobileIcon } from \"./traderMobileIcon\";\nexport { AffiliateIcon } from \"./affiliateIcon\";\nexport { TradingRewardsIcon } from \"./tradingRewardsIcon\";\nexport { PortfolioActiveIcon } from \"./portfolioActiveIcon\";\nexport { PortfolioInactiveIcon } from \"./portfolioInactiveIcon\";\nexport { TradingActiveIcon } from \"./tradingActiveIcon\";\nexport { TradingIcon } from \"./tradingIcon\";\nexport { TradingInactiveIcon } from \"./tradingInactiveIcon\";\nexport { LeaderboardActiveIcon } from \"./leaderboardActive\";\nexport { LeaderboardInactiveIcon } from \"./leaderboardInactive\";\nexport { MarketsActiveIcon } from \"./marketsActiveIcon\";\nexport { MarketsInactiveIcon } from \"./marketsInactiveIcon\";\nexport { 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\";\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, { 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","export { Statistic, StatisticLabel, statisticVariants } from \"./statistic\";\n\nimport { FormattedText } from \"./formatted\";\nimport { GradientText, gradientTextVariants } from \"./gradient\";\nimport { Numeral } from \"./numeral\";\n\nimport { Text as BaseText, textVariants } from \"./text\";\nimport type { TextProps } from \"./text\";\nexport type { NumeralProps } from \"./numeral\";\nexport { parseNumber, formatAddress } from \"./utils\";\n\nexport type TextType = typeof BaseText & {\n formatted: typeof FormattedText;\n numeral: typeof Numeral;\n gradient: typeof GradientText;\n};\n\nconst Text = BaseText as TextType;\nText.formatted = FormattedText;\nText.numeral = Numeral;\nText.gradient = GradientText;\n\nexport { Text, textVariants, gradientTextVariants };\nexport type { TextProps };\n","import { forwardRef, useMemo, useRef, useState } from \"react\";\nimport { Input, InputProps } from \"../input\";\nimport { Select } from \"../../select\";\n\nexport type QuantityInputProps = {\n tokens: string[];\n} & Omit<InputProps, \"onClear\" | \"suffix\">;\n\n//@ts-ignore\nexport const QuantityInput = forwardRef<HTMLInputElement, QuantityInputProps>(\n (props, ref) => {\n const { tokens, ...rest } = props;\n const [token, setToken] = useState(tokens[0]);\n const tokenOptions = useMemo(() => {\n return props.tokens.map((token) => ({\n name: token,\n }));\n }, [props.tokens]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n return (\n <Input\n ref={(node) => {\n // @ts-ignore\n inputRef.current = node;\n if (ref) {\n if (typeof ref === \"function\") {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }}\n autoComplete=\"off\"\n {...rest}\n suffix={\n <div className=\"oui-max-w-fit\">\n <Select.tokens\n disabled={rest.disabled}\n variant=\"text\"\n tokens={tokenOptions}\n value={token}\n size={rest.size}\n onValueChange={(value) => setToken(value)}\n // According to the design guideline, the token icon are not displayed when the text is right-aligned\n showIcon={rest.align !== \"right\"}\n contentProps={{\n align: \"end\",\n onCloseAutoFocus: (event) => {\n event.preventDefault();\n inputRef.current?.focus();\n },\n }}\n />\n </div>\n }\n />\n );\n }\n);\n\nQuantityInput.displayName = \"QuantityInput\";\n","import React, { type InputHTMLAttributes, useId } from \"react\";\nimport { cnBase, cn, type VariantProps } from \"tailwind-variants\";\nimport { BaseInput, BaseInputProps } from \"./baseInput\";\nimport { InputPrefix } from \"./prefix\";\nimport { InputSuffix } from \"./suffix\";\nimport { tv } from \"../utils/tv\";\n\nconst inputVariants = tv(\n {\n slots: {\n input: [\n \"oui-w-full oui-bg-transparent\",\n \"oui-bg-transparent\",\n \"oui-flex-1\",\n \"focus-visible:oui-outline-none\",\n \"oui-flex\",\n \"placeholder:oui-text-base-contrast-20\",\n \"placeholder:oui-text-xs\",\n \"oui-tabular-nums\",\n \"oui-text-white\",\n \"autofill:oui-bg-transparent\",\n \"oui-input-input\",\n \"disabled:oui-cursor-not-allowed\",\n \"oui-peer\",\n ],\n box: [\n \"oui-rounded\",\n \"oui-bg-base-6\",\n \"oui-flex\",\n \"oui-items-center\",\n \"oui-outline\",\n \"oui-outline-offset-0\",\n \"oui-outline-1\",\n \"oui-outline-transparent\",\n \"focus-within:oui-outline-primary-light\",\n \"oui-input-root\",\n ],\n additional: [\n \"oui-h-full oui-flex oui-flex-col oui-justify-center oui-px-2 oui-text-base-contrast\",\n ],\n closeButton: [\n \"oui-cursor-pointer\",\n \"oui-invisible\",\n \"peer-focus:oui-visible\",\n ],\n },\n variants: {\n // variant: {\n // outline:{\n // box:\n // }\n // },\n size: {\n xs: {\n input: [\"oui-h-6\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-6\"],\n additional: [\"oui-text-2xs\"],\n },\n sm: {\n input: [\"oui-h-7\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-7\"],\n additional: [\"oui-text-2xs\"],\n },\n md: {\n input: [\"oui-h-8\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-8\"],\n additional: [\"oui-text-2xs\"],\n },\n lg: {\n input: [\"oui-h-10\", \"oui-text-sm\", \"placeholder:oui-text-sm\"],\n box: [\"oui-h-10 oui-rounded-md\"],\n additional: [\"oui-text-sm\"],\n },\n xl: {\n input: [\"oui-h-12\", \"oui-text-base\", \"placeholder:oui-text-base\"],\n box: [\"oui-h-12 oui-rounded-md\"],\n additional: [\"oui-text-sm\"],\n },\n },\n color: {\n success: {\n box: [\"oui-outline-success\", \"focus-within:oui-outline-success\"],\n input: [\"oui-text-success\"],\n },\n danger: {\n box: [\"oui-outline-danger\", \"focus-within:oui-outline-danger\"],\n input: [\"oui-text-danger\"],\n },\n warning: {\n box: [\"oui-outline-warning-darken\", \"focus-within:oui-outline-warning-darken\"],\n input: [\"oui-text-warning-darken\"],\n },\n default: {\n box: [\"oui-outline-transparent\"],\n },\n },\n disabled: {\n true: {\n input: [\"oui-cursor-not-allowed\", \"oui-text-base-contrast-20\"],\n box: [\"oui-bg-base-5\"],\n },\n },\n pl: {\n true: {\n box: \"oui-pl-3\",\n },\n false: {\n box: \"oui-pl-0\",\n },\n },\n pr: {\n true: {\n box: \"oui-pr-3\",\n },\n false: {\n box: \"oui-pr-0\",\n },\n },\n fullWidth: {\n true: {\n box: \"oui-w-full\",\n },\n },\n align: {\n center: {\n input: \"oui-text-center\",\n },\n left: {\n input: \"oui-text-left\",\n },\n right: {\n input: \"oui-text-right\",\n },\n },\n },\n // compoundVariants: [{ size: \"default\", className: [\"oui-bg-transparent\"] }],\n\n defaultVariants: {\n size: \"lg\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n }\n);\n\n// @ts-ignore\ninterface InputProps<T = string>\n extends BaseInputProps<T>,\n VariantProps<typeof inputVariants> {\n prefix?: string | React.ReactNode;\n suffix?: string | React.ReactNode;\n fullWidth?: boolean;\n onClear?: () => void;\n classNames?: {\n input?: string;\n root?: string;\n additional?: string;\n clearButton?: string;\n prefix?: string;\n suffix?: string;\n };\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n const {\n size,\n disabled,\n color,\n suffix,\n prefix,\n id,\n pl,\n pr,\n fullWidth,\n className,\n classNames,\n onClear,\n align,\n ...inputProps\n } = props;\n\n const { input, box, additional, closeButton } = inputVariants({\n size,\n disabled,\n color,\n fullWidth,\n align,\n // className: cnBase(className, classes?.root),\n\n pl: typeof prefix === \"undefined\" || pl,\n pr: typeof suffix === \"undefined\" || pr,\n });\n const cid = useId();\n\n const suffixElement =\n typeof onClear !== \"undefined\" ? (\n <ClearButton\n className={closeButton({ className: classNames?.clearButton })}\n onClick={() => {\n onClear?.();\n }}\n value={inputProps.value as string | number}\n />\n ) : (\n suffix\n );\n\n return (\n <div className={box({ className: cnBase(className, classNames?.root) })}>\n <InputPrefix\n id={id || cid}\n prefix={prefix}\n className={additional({\n className: cnBase(classNames?.additional, classNames?.prefix),\n })}\n />\n <BaseInput\n {...inputProps}\n id={id || cid}\n disabled={disabled}\n ref={ref}\n className={input({ align, className: classNames?.input })}\n />\n <InputSuffix\n id={id || cid}\n suffix={suffixElement}\n className={additional({\n className: cnBase(classNames?.additional, classNames?.suffix),\n })}\n />\n </div>\n );\n});\n\nconst ClearButton = React.forwardRef<\n HTMLButtonElement,\n { onClick: () => void; value: string | number; className?: string }\n>((props, ref) => {\n return (\n <button\n onMouseDown={(event) => {\n event.preventDefault();\n props.onClick();\n }}\n ref={ref}\n className={props.className}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8 1.302a6.667 6.667 0 1 0 0 13.333A6.667 6.667 0 0 0 8 1.302m-2 4c.17 0 .349.057.479.187l1.52 1.521L9.52 5.49a.68.68 0 0 1 .48-.188c.17 0 .348.057.479.187.26.261.26.698 0 .96l-1.52 1.52 1.52 1.52c.26.261.26.698 0 .96a.687.687 0 0 1-.959 0L8 8.926l-1.521 1.521a.686.686 0 0 1-.959 0 .686.686 0 0 1 0-.959l1.521-1.52-1.52-1.52a.686.686 0 0 1 0-.96A.68.68 0 0 1 6 5.302\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </svg>\n </button>\n );\n});\n\nClearButton.displayName = \"ClearButton\";\n\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };\n\nexport type { InputProps };\n","import React, {\n useState,\n useRef,\n useCallback,\n useMemo,\n useEffect,\n forwardRef,\n} from \"react\";\nimport { InputHTMLAttributes } from \"react\";\nimport { findLongestCommonSubString } from \"@kodiak-finance/orderly-utils\";\nimport { InputFormatter } from \"./formatter/inputFormatter\";\n\nexport interface BaseInputProps<T = string>\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"size\" | \"prefix\" | \"disabled\" | \"inputMode\" | \"color\"\n > {\n disabled?: boolean;\n\n clearable?: boolean;\n onClean?: () => void;\n fixClassName?: string;\n helpText?: string;\n loading?: boolean;\n inputMode?: \"decimal\" | \"numeric\";\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\") return value;\n return formatToRender(value as string);\n }, [value]);\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 inputMode={inputMode}\n ref={innerInputRef}\n onBlur={onInputBlur}\n onFocus={onInputFocus}\n onChange={onInputChange}\n value={formattedValue}\n id={id}\n />\n );\n },\n);\n\nBaseInput.displayName = \"BaseInput\";\n","import { FC, PropsWithChildren } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport const InputAdditional: FC<\n PropsWithChildren<{\n className?: string;\n name?: string;\n asChild?: boolean;\n as?: string;\n }>\n> = (props) => {\n const { asChild, as = \"label\" } = props;\n\n const Comp = asChild ? Slot : \"label\";\n\n return (\n <Comp htmlFor={props.name} className={props.className}>\n {props.children}\n </Comp>\n );\n};\n","import React from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { InputAdditional } from \"./inputAdditional\";\n\ninterface InputPrefixProps {\n prefix?: string | React.ReactNode;\n className?: string;\n id: string;\n}\n\nexport const InputPrefix: React.FC<InputPrefixProps> = (props) => {\n const { prefix, id } = props;\n if (typeof prefix === \"undefined\") {\n return null;\n }\n if (typeof prefix === \"string\") {\n return (\n <InputAdditional name={id} className={props.className}>\n {prefix}\n </InputAdditional>\n );\n }\n return prefix;\n};\n","import React from \"react\";\nimport { InputAdditional } from \"./inputAdditional\";\n\ninterface InputPrefixProps {\n suffix?: string | React.ReactNode;\n className?: string;\n id: string;\n}\n\nexport const InputSuffix: React.FC<InputPrefixProps> = (props) => {\n const { suffix, id } = props;\n if (typeof suffix === \"undefined\") {\n return null;\n }\n if (typeof suffix === \"string\") {\n return (\n <InputAdditional name={id} className={props.className}>\n {suffix}\n </InputAdditional>\n );\n }\n return suffix;\n};\n","import React, { KeyboardEvent, useRef, useState } from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CaretDownIcon } from \"../icon\";\nimport { Input } from \"../input\";\nimport { PopoverRoot, PopoverAnchor, PopoverContent } from \"../popover\";\n// import { SizeType } from \"../helpers/sizeType\";\nimport { ScrollArea } from \"../scrollarea\";\nimport { type SelectVariantProps } from \"./select\";\nimport { selectVariants } from \"./selectPrimitive\";\nimport { SelectOption, SelectWithOptionsProps } from \"./withOptions\";\n\nexport type CombineSelectProps = {\n placeholder?: string;\n} & SelectWithOptionsProps;\n\nexport const CombineSelect: React.FC<CombineSelectProps> = (props) => {\n const { options, variant, valueFormatter, ...rest } = props;\n const [keyword, setKeyword] = useState<string>(\"\");\n // const [open, setOpen] = useState<boolean>(props.defaultOpen || false);\n const [value, setValue] = useState<string | undefined>(props.value ?? \"\");\n const { trigger } = selectVariants({\n size: props.size,\n variant,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(() =>\n typeof props.value === \"undefined\"\n ? -1\n : options.findIndex((option) => option.value === props.value),\n );\n\n const [focused, setFocused] = useState<boolean>(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const onFocus = () => {\n setFocused(true);\n // setOpen(true);\n };\n\n const filteredOptions = !keyword\n ? options\n : options.filter((option) => {\n if (option.value.toLowerCase().includes(keyword.toLowerCase()))\n return true;\n });\n\n // const onKeyDown = useCallback(\n // (e: React.KeyboardEvent) => {\n // console.log(e.code);\n // },\n // [filteredOptions]\n // );\n\n return (\n <PopoverRoot open={focused}>\n <PopoverAnchor>\n <Input\n ref={inputRef}\n size={props.size}\n autoComplete={\"off\"}\n onFocus={onFocus}\n onBlur={() => {\n setFocused(false);\n }}\n placeholder={props.placeholder ?? \"All\"}\n value={\n focused\n ? keyword\n : typeof valueFormatter === \"function\"\n ? (valueFormatter(value ?? \"\", {\n placeholder: props.placeholder,\n }) as string)\n : value\n }\n onValueChange={(value) => {\n setKeyword(value);\n }}\n // onKeyDown={onKeyDown}\n\n classNames={{\n root: trigger({\n className: \"oui-w-24 oui-peer\",\n }),\n input: \"oui-text-base-contrast-54 oui-font-semibold\",\n }}\n data-state={focused ? \"open\" : \"closed\"}\n suffix={\n <SelectPrimitive.Icon\n onMouseDown={(e) => {\n e.preventDefault();\n focused ? inputRef.current?.blur() : inputRef.current?.focus();\n }}\n asChild\n className=\"oui-transition-transform peer-data-[state=open]:oui-rotate-180 peer-data-[state=closed]:oui-rotate-0 oui-mx-2\"\n >\n <CaretDownIcon\n size={12}\n className=\"oui-text-inherit\"\n // opacity={1}\n />\n </SelectPrimitive.Icon>\n }\n />\n </PopoverAnchor>\n <PopoverContent\n onOpenAutoFocus={(e) => {\n e.preventDefault();\n setKeyword(\"\");\n }}\n className={\"oui-w-[var(_--radix-popover-trigger-width)] oui-p-1\"}\n >\n <ScrollArea className=\"oui-h-[200px]\">\n {filteredOptions.map((option, index) => {\n return (\n <SelectItem\n option={option}\n key={index}\n size={props.size}\n activated={selectedIndex === index}\n onClick={(value) => {\n setValue(value.value);\n setSelectedIndex(index);\n props.onValueChange?.(value.value);\n inputRef.current?.blur();\n // setKeyword(value.value);\n }}\n />\n );\n })}\n </ScrollArea>\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nconst SelectItem = (props: {\n option: SelectOption;\n size?: SelectVariantProps[\"size\"];\n activated: boolean;\n onClick: (item: SelectOption) => void;\n}) => {\n const { item } = selectVariants({\n size: props.size,\n });\n return (\n <button\n className={item({\n className: `oui-text-base-contrast-54 oui-w-full ${\n props.activated ? \"oui-bg-base-7\" : \"\"\n }`,\n })}\n onMouseDown={(e) => {\n e.preventDefault();\n props.onClick(props.option);\n }}\n >\n {props.option.label}\n </button>\n );\n};\n","import * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst popoverVariants = tv({\n base: [\n \"oui-z-50\",\n \"oui-w-72\",\n \"oui-rounded-md\",\n \"oui-border\",\n \"oui-border-line-6\",\n // \"oui-bg-popover\",\n \"oui-p-4\",\n \"oui-bg-base-8\",\n // \"oui-text-popover-foreground\",\n \"oui-shadow-md\",\n \"oui-outline-none\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n});\n\nconst PopoverRoot = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> &\n VariantProps<typeof popoverVariants>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={popoverVariants({ className })}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\ntype PopoverProps = PopoverPrimitive.PopoverProps & {\n content: React.ReactNode;\n arrow?: boolean;\n contentProps?: PopoverPrimitive.PopoverContentProps;\n};\n\n/**\n * Popover component\n * @param {React.ReactNode} content - The content of the popover\n */\nconst Popover: React.FC<React.PropsWithChildren<PopoverProps>> = (props) => {\n const { arrow, content, contentProps, ...popoverProps } = props;\n return (\n <PopoverRoot {...popoverProps}>\n <PopoverTrigger asChild>{props.children}</PopoverTrigger>\n <PopoverContent {...contentProps}>\n {content}\n {arrow && (\n <PopoverPrimitive.Arrow\n className={\"oui-fill-base-8\"}\n width={10}\n height={6}\n />\n )}\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nexport { PopoverRoot, PopoverTrigger, PopoverContent, PopoverAnchor, Popover };\n","import React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst scrollAreaVariants = tv({\n slots: {\n root: \"oui-relative oui-overflow-hidden oui-scroll-area-root\",\n viewport: \"oui-h-full oui-w-full oui-rounded-[inherit]\",\n bar: [\n \"oui-flex\",\n \"oui-touch-none\",\n \"oui-select-none\",\n \"oui-transition-colors\",\n ],\n tumb: \"oui-relative oui-flex-1 oui-rounded-full oui-bg-base-10\",\n },\n variants: {\n orientation: {\n vertical: {\n bar: \"oui-h-full oui-w-2 oui-border-l oui-border-l-transparent oui-p-[1px]\",\n },\n horizontal: {\n bar: \"oui-h-2 oui-flex-col oui-border-t oui-border-t-transparent oui-p-[1px]\",\n },\n },\n },\n});\n\ninterface ScrollAreaProps\n extends React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>,\n VariantProps<typeof scrollAreaVariants> {\n classNames?: {\n viewport?: string;\n };\n}\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n ScrollAreaProps\n>((oriProps, ref) => {\n const {\n className,\n classNames,\n children,\n orientation = \"vertical\",\n ...props\n } = oriProps;\n const { root, viewport } = scrollAreaVariants({ orientation });\n return (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={root({ className: className })}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n className={viewport({ className: classNames?.viewport })}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar orientation={orientation} />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n});\n\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>((oriProps, ref) => {\n const { className, orientation = \"vertical\", ...props } = oriProps;\n const { bar, tumb } = scrollAreaVariants({ className, orientation });\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={bar({ className })}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className={tumb()} />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n});\n\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar, scrollAreaVariants };\n\nexport { type ScrollAreaProps };\n","import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { CaretDownIcon, CaretUpIcon } from \"../icon\";\nimport { tv } from \"../utils/tv\";\n\nconst selectVariants = tv(\n {\n slots: {\n trigger: [\n \"oui-flex\",\n \"oui-group\",\n \"oui-w-full\",\n \"oui-items-center\",\n \"oui-justify-between\",\n \"oui-whitespace-nowrap\",\n \"oui-rounded-md\",\n \"oui-px-2\",\n // \"oui-py-2\",\n\n \"oui-space-x-1\",\n // \"oui-text-sm\",\n \"oui-shadow-sm\",\n // \"oui-ring-offset-background\",\n \"oui-text-base-contrast-54\",\n \"placeholder:oui-text-base-contrast-54\",\n \"data-[state=open]:oui-text-base-contrast-80\",\n \"focus:oui-outline-none\",\n \"focus:oui-ring-1\",\n \"focus:oui-ring-ring\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n \"[&>span]:oui-line-clamp-1\",\n ],\n scrollUpButton:\n \"oui-flex oui-cursor-default oui-items-center oui-justify-center oui-py-1\",\n scrollDownButton:\n \"oui-flex oui-cursor-default oui-items-center oui-justify-center oui-py-1\",\n content: [\n \"oui-relative\",\n \"oui-z-50\",\n \"oui-max-h-96\",\n // \"oui-min-w-[8rem]\",\n \"oui-overflow-hidden\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n \"oui-text-base-contrast\",\n // \"oui-bg-popover\",\n // \"oui-text-popover-foreground\",\n \"oui-shadow-md\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:aoui-nimate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n viewport: [\"oui-p-1\"],\n label: \"oui-px-2 oui-py-1.5 oui-text-sm oui-font-semibold\",\n item: [\n \"oui-option-item\",\n \"oui-relative\",\n \"oui-flex\",\n // \"oui-w-full\",\n \"oui-cursor-default\",\n \"oui-select-none\",\n \"oui-items-center\",\n \"oui-rounded-sm\",\n \"oui-py-1\",\n \"oui-pl-2\",\n \"oui-pr-8\",\n \"oui-text-sm\",\n \"oui-text-base-contrast-54\",\n \"oui-outline-none\",\n \"hover:oui-bg-base-6\",\n \"hover:oui-rounded\",\n \"focus:oui-bg-accent\",\n \"focus:oui-text-accent-foreground\",\n \"data-[state=checked]:oui-bg-base-5\",\n \"data-[state=checked]:oui-text-base-contrast-80\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-opacity-50\",\n ],\n separator: \"-oui-mx-1 oui-my-1 oui-h-px oui-bg-muted\",\n icon: \"\",\n },\n variants: {\n variant: {\n outlined: {\n trigger: [\"oui-border oui-border-line-6 oui-bg-line-4\"],\n },\n contained: {\n trigger: [\"oui-bg-base-4\"],\n },\n text: {\n trigger: [],\n },\n // text\n },\n position: {\n popper: {\n content: [\n \"data-[side=bottom]:oui-translate-y-1\",\n \"data-[side=left]:-oui-translate-x-1\",\n \"data-[side=right]:oui-translate-x-1\",\n \"data-[side=top]:-oui-translate-y-1\",\n ],\n viewport:\n \"oui-h-[var(--radix-select-trigger-height)] oui-w-full oui-min-w-[var(--radix-select-trigger-width)]\",\n },\n \"item-aligned\": {\n content: \"\",\n viewport: \"\",\n },\n },\n size: {\n xs: {\n trigger: [\"oui-h-6\", \"oui-text-2xs\"],\n item: [\"oui-h-6\", \"oui-text-2xs\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n sm: {\n trigger: [\"oui-h-7\", \"oui-text-2xs\"],\n item: [\"oui-h-7\", \"oui-text-2xs\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n md: {\n trigger: [\"oui-h-8\", \"oui-text-xs\"],\n item: [\"oui-h-7\", \"oui-text-xs\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n lg: {\n trigger: [\"oui-h-10\", \"oui-text-sm\", \"oui-px-3\"],\n item: [\"oui-h-8\", \"oui-text-2xs\"],\n icon: [\"oui-w-5\", \"oui-h-5\"],\n },\n xl: {\n trigger: [\"oui-h-12\", \"oui-text-2xs\", \"oui-px-3\"],\n item: [\"oui-h-12\", \"oui-text-2xs\"],\n icon: [\"oui-w-6\", \"oui-h-6\"],\n },\n },\n error: {\n true: {\n trigger: [\n \"oui-border-danger\",\n \"focus:oui-ring-danger\",\n \"focus:oui-ring-ring-danger\",\n ],\n },\n },\n },\n defaultVariants: {\n size: \"lg\",\n variant: \"outlined\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n },\n);\n\nconst SelectRoot = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> &\n VariantProps<typeof selectVariants> & {\n showCaret?: boolean;\n }\n>(\n (\n {\n className,\n children,\n size,\n error,\n variant,\n asChild,\n showCaret = true,\n ...props\n },\n ref,\n ) => {\n const { trigger } = selectVariants({ size, error, variant });\n if (asChild) {\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n asChild={asChild}\n {...props}\n >\n {children}\n </SelectPrimitive.Trigger>\n );\n }\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n asChild={asChild}\n {...props}\n >\n {children}\n\n <>\n {showCaret && (\n <SelectPrimitive.Icon\n asChild\n className=\"oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n >\n <CaretDownIcon\n size={12}\n className=\"oui-text-inherit\"\n opacity={1}\n />\n </SelectPrimitive.Icon>\n )}\n </>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => {\n const { scrollUpButton } = selectVariants();\n return (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={scrollUpButton({ className })}\n {...props}\n >\n <CaretUpIcon size={16} color={\"white\"} />\n </SelectPrimitive.ScrollUpButton>\n );\n});\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => {\n const { scrollDownButton } = selectVariants();\n return (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={scrollDownButton({ className })}\n {...props}\n >\n <CaretDownIcon size={16} color={\"white\"} />\n </SelectPrimitive.ScrollDownButton>\n );\n});\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => {\n const { content, viewport } = selectVariants({ position, className });\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={content({ className })}\n position={position}\n {...props}\n >\n {/* <SelectScrollUpButton /> */}\n <SelectPrimitive.Viewport className={viewport()}>\n {children}\n </SelectPrimitive.Viewport>\n {/* <SelectScrollDownButton /> */}\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n});\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => {\n const { label } = selectVariants();\n return (\n <SelectPrimitive.Label\n ref={ref}\n className={label({ className })}\n {...props}\n />\n );\n});\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> & {\n size?: VariantProps<typeof selectVariants>[\"size\"];\n }\n>(({ className, children, size, ...props }, ref) => {\n const { item } = selectVariants({ size });\n return (\n <SelectPrimitive.Item ref={ref} className={item({ className })} {...props}>\n {/* <span className=\"oui-absolute oui-right-2 oui-flex vh-3.5 oui-w-3.5 oui-items-center oui-justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span> */}\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => {\n const { separator } = selectVariants();\n return (\n <SelectPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n );\n});\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n // Select: ,\n SelectRoot,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n selectVariants,\n};\n","import React, { FC, PropsWithChildren, ReactElement } from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { ScrollArea } from \"../scrollarea\";\nimport {\n SelectContent,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n selectVariants,\n} from \"./selectPrimitive\";\n\nexport type SelectVariantProps = VariantProps<typeof selectVariants>;\n\nexport type SelectProps<T> = SelectPrimitive.SelectProps & {\n placeholder?: string;\n valueFormatter?: (\n value: T,\n options: {\n placeholder?: string;\n },\n ) => React.ReactNode;\n contentProps?: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>;\n showCaret?: boolean;\n maxHeight?: number;\n testid?: string;\n classNames?: {\n trigger?: string;\n };\n} & SelectVariantProps;\n\nexport const Select = <T,>(props: PropsWithChildren<SelectProps<T>>) => {\n const {\n children,\n size,\n error,\n placeholder,\n variant,\n contentProps,\n valueFormatter: valueRenderer,\n showCaret,\n maxHeight,\n testid,\n classNames,\n ...rest\n } = props;\n\n return (\n <SelectRoot {...rest}>\n <SelectTrigger\n size={size}\n error={error}\n variant={variant}\n showCaret={showCaret}\n className={cnBase(\n \"oui-cursor-pointer oui-font-semibold focus:oui-ring-transparent\",\n // !showCaret && \"oui-cursor-auto\",\n classNames?.trigger,\n )}\n data-testid={testid}\n >\n {typeof valueRenderer === \"function\" ? (\n valueRenderer((props.value || props.defaultValue) as T, {\n placeholder,\n })\n ) : (\n <SelectValue placeholder={placeholder} />\n )}\n </SelectTrigger>\n <SelectContent {...contentProps}>\n <ScrollArea>\n <div style={{ maxHeight }}>{children}</div>\n </ScrollArea>\n </SelectContent>\n </SelectRoot>\n );\n};\n","import React, { ReactElement, useMemo } from \"react\";\nimport {\n ItemIndicator,\n SelectItem,\n SelectItemText,\n} from \"@radix-ui/react-select\";\nimport { AvatarSizeType } from \"../avatar/avatar\";\nimport { Flex } from \"../flex\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { TokenIcon } from \"../icon\";\nimport { Text } from \"../typography\";\nimport type { SelectProps } from \"./select\";\nimport { selectVariants } from \"./selectPrimitive\";\nimport { SelectOption, SelectWithOptions } from \"./withOptions\";\n\ntype TokenItem = {\n name: string;\n [x: string]: any;\n};\n\nexport type TokenSelectProps = {\n tokens: TokenItem[];\n showIcon?: boolean;\n optionRenderer?: (option: SelectOption) => ReactElement;\n iconSize?: AvatarSizeType;\n} & SelectProps<string>;\n\nexport const TokenSelect: React.FC<TokenSelectProps> = (props) => {\n const { tokens, showIcon = true, iconSize, ...rest } = props;\n const { icon } = selectVariants();\n\n const options = useMemo(() => {\n return tokens.map((token) => {\n return {\n ...token,\n label: token.name,\n value: token.name,\n };\n });\n }, [tokens]);\n\n const selectable = options.length > 1;\n\n const valueRenderer = (value: string) => {\n if (typeof props.valueFormatter === \"function\") {\n return props.valueFormatter(value, {});\n }\n return (\n <Flex gapX={1}>\n <TokenIcon\n name={value}\n className={iconSize ? undefined : icon({ size: props.size })}\n size={iconSize}\n />\n <Text weight=\"semibold\" intensity={54}>\n {value}\n </Text>\n </Flex>\n );\n };\n\n const optionRenderer = (option: SelectOption) => {\n if (typeof props.optionRenderer === \"function\") {\n return props.optionRenderer(option);\n }\n return <Option {...option} iconSize={iconSize} />;\n };\n\n return (\n <SelectWithOptions\n {...rest}\n showCaret={selectable}\n options={options}\n valueFormatter={showIcon ? valueRenderer : undefined}\n optionRenderer={optionRenderer}\n maxHeight={254} // 30 * 8 + 2 * 7\n />\n );\n};\n\ntype OptionProps = SelectOption & {\n index?: number;\n size?: SizeType;\n iconSize?: AvatarSizeType;\n};\n\nconst Option: React.FC<OptionProps> = (props) => {\n const { size, label, value, iconSize } = props;\n\n const { item, icon } = selectVariants();\n return (\n <SelectItem\n value={value}\n className={item({\n size,\n className: \"oui-space-x-1 oui-flex oui-flex-row oui-items-center\",\n })}\n >\n <TokenIcon\n name={value}\n className={iconSize ? undefined : icon({ size })}\n size={iconSize}\n />\n <SelectItemText>{label}</SelectItemText>\n <ItemIndicator />\n </SelectItem>\n );\n};\n","import React, { FC, ReactElement } from \"react\";\nimport { cn } from \"..\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select, SelectProps } from \"./select\";\nimport { SelectGroup, SelectItem } from \"./selectPrimitive\";\n\nexport type SelectOption = {\n label: string;\n value: string;\n};\n\nexport type SelectWithOptionsProps<T = string> = SelectProps<T> & {\n // options: SelectOption[] | (() => Promise<SelectOption[]>);\n currentValue?: string;\n options: SelectOption[];\n optionRenderer?: (\n option: SelectOption,\n // & {\n // size?: SizeType;\n // index: number;\n // }\n ) => ReactElement;\n // loading?: boolean;\n testid?: string;\n prefix?: string;\n};\n\nexport const defaultOptionRenderer = (\n option: SelectOption,\n currentValue?: string,\n) => {\n return (\n <SelectItem\n key={option.value}\n value={option.value}\n className={cn(\"oui-relative oui-cursor-pointer\")}\n data-testid={`oui-testid-selectItem-${option.value\n ?.toLowerCase()\n ?.replace(\" \", \"_\")}`}\n >\n {option.label}\n {currentValue == option.value && (\n <Box\n width={4}\n height={4}\n gradient=\"brand\"\n r=\"full\"\n className=\"oui-absolute oui-right-2 oui-top-1/2 -oui-translate-y-1/2\"\n />\n )}\n </SelectItem>\n );\n};\n\nexport const SelectWithOptions: FC<SelectWithOptionsProps> = (props) => {\n const {\n children,\n options,\n optionRenderer = defaultOptionRenderer,\n currentValue,\n ...rest\n } = props;\n\n // const [] = useState<SelectOption[]>([]);\n\n return (\n <Select {...rest}>\n <SelectGroup>\n {options.map((option, index) => {\n // return optionRenderer({\n // ...option,\n // // value: option,\n // size: props.size,\n // index,\n // });\n return React.cloneElement(optionRenderer(option, currentValue), {\n size: props.size,\n key: index,\n index,\n });\n })}\n </SelectGroup>\n </Select>\n );\n};\n","import { CombineSelect } from \"./combine\";\nimport { Select as SelectComponent } from \"./select\";\nimport { TokenSelect } from \"./tokens\";\nimport { SelectWithOptions } from \"./withOptions\";\n\nexport {\n SelectRoot,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n} from \"./selectPrimitive\";\n\nexport type SelectType = typeof SelectComponent & {\n options: typeof SelectWithOptions;\n tokens: typeof TokenSelect;\n combine: typeof CombineSelect;\n};\n\nconst Select = SelectComponent as SelectType;\nSelect.options = SelectWithOptions;\nSelect.combine = CombineSelect;\nSelect.tokens = TokenSelect;\n\nexport { Select };\n\nexport type { SelectProps } from \"./select\";\nexport type { SelectWithOptionsProps, SelectOption } from \"./withOptions\";\nexport type { ChainSelectProps } from \"./chains\";\n","import { forwardRef, useEffect, useState } from \"react\";\nimport {\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipRoot,\n TooltipArrow,\n TooltipTrigger,\n} from \"../tooltip\";\nimport { Input, InputProps } from \"./input\";\nimport type { TooltipContentProps } from \"@radix-ui/react-tooltip\";\n\nexport type InputWithTooltipProps = InputProps & {\n tooltip?: React.ReactNode;\n tooltipProps?: {\n content?: TooltipContentProps;\n arrow?: TooltipContentProps;\n };\n triggerClassName?: string;\n};\n\nexport const InputWithTooltip = forwardRef<\n HTMLInputElement,\n InputWithTooltipProps\n>((props, ref) => {\n const { tooltip, tooltipProps, triggerClassName, ...inputProps } = props;\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (typeof tooltip !== \"undefined\" && tooltip !== \"\" && tooltip !== null) {\n setOpen(true);\n } else {\n setOpen(false);\n }\n }, [tooltip]);\n\n return (\n <TooltipRoot open={open}>\n <TooltipTrigger asChild>\n <div className={triggerClassName}>\n <Input {...inputProps} ref={ref} />\n </div>\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent {...tooltipProps?.content}>\n {props.tooltip}\n <TooltipArrow {...tooltipProps?.arrow}/>\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n );\n});\n\nInputWithTooltip.displayName = \"InputWithTooltip\";\n","import * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { TooltipContentProps } from \"@radix-ui/react-tooltip\";\nimport { cn } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\n// import { cn } from \"..\";\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\n// const Tooltip = TooltipPrimitive.Root;\nconst TooltipRoot = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\n// const TooltipArrow = TooltipPrimitive.Arrow;\n\nconst TooltipPortal = TooltipPrimitive.Portal;\n\nconst tooltipVariants = tv({\n base: [\n \"oui-z-50\",\n \"oui-overflow-hidden\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n \"oui-px-2\",\n \"oui-py-1\",\n \"oui-text-xs\",\n \"oui-text-base-contrast\",\n \"oui-animate-in\",\n \"oui-fade-in-0\",\n \"oui-zoom-in-95\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n});\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => {\n return (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={tooltipVariants({\n className,\n })}\n {...props}\n />\n );\n});\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = (props: {\n className?: string;\n style?: React.CSSProperties;\n}) => {\n const { className, ...arrowProps } = props;\n return (\n <TooltipPrimitive.Arrow\n width={12}\n height={6}\n {...arrowProps}\n className={cn(\n \"oui-fill-base-8\",\n className,\n )({\n twMerge: true,\n })}\n />\n );\n};\n\nexport type TooltipProps = Omit<\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root> &\n React.ComponentPropsWithoutRef<typeof TooltipContent>,\n \"content\"\n> & {\n className?: string;\n content?: React.ReactNode;\n arrow?: TooltipPrimitive.TooltipArrowProps;\n};\n\nconst Tooltip = React.forwardRef<\n React.ElementRef<typeof TooltipContent>,\n TooltipProps\n>((originalProps, ref) => {\n const {\n children,\n content,\n defaultOpen,\n open,\n onOpenChange,\n delayDuration,\n disableHoverableContent,\n arrow,\n ...props\n } = originalProps;\n const { className, ...arrowProps } = arrow || {};\n return (\n <TooltipPrimitive.Root\n defaultOpen={defaultOpen}\n open={open}\n onOpenChange={onOpenChange}\n delayDuration={delayDuration}\n disableHoverableContent={disableHoverableContent}\n >\n <TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>\n <TooltipPortal>\n <TooltipContent ref={ref} {...props}>\n {content}\n <TooltipArrow {...arrow} />\n </TooltipContent>\n </TooltipPortal>\n </TooltipPrimitive.Root>\n );\n});\n\nTooltip.displayName = \"Tooltip\";\n\nexport {\n Tooltip,\n TooltipRoot,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipArrow,\n TooltipPortal,\n};\n","export { currencyFormatter } from \"./currency\";\n\nexport { numberFormatter } from \"./number\";\n\nexport { createRegexInputFormatter } from \"./regex\";\n\nexport { dpFormatter } from \"./dp\";\n\nexport { rangeFormatter } from \"./range\";\n\nexport { identifierFormatter } from \"./identifier\";\n\nexport { decimalPointFormatter } from \"./decimalPoint\";","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\nimport { commify } from \"@kodiak-finance/orderly-utils\";\n\nexport const currencyFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n return commify(value);\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n\n value = value.replace(/,/g, \"\");\n\n return value;\n },\n};\n","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\nexport const numberFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n return \"\" + value;\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value.startsWith(\".\")) return `0${value}`;\n if (value === '00') return '0';\n\n // if (/^0{2,}$/.test(value)) {\n // return \"0\";\n // }\n\n value = value\n .replace(/[^\\d.]/g, \"\")\n .replace(\".\", \"$#$\")\n .replace(/\\./g, \"\")\n .replace(\"$#$\", \".\");\n\n return value;\n },\n};\n","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\ntype RegExpFunction = (value: string | number) => string;\n\ntype RegexInputFormatter = (regex: RegExp | RegExpFunction) => InputFormatter;\n\nexport const createRegexInputFormatter: RegexInputFormatter = (\n regex: RegExp | RegExpFunction,\n onSendBefore?: (value: string, options: InputFormatterOptions) => string,\n) => ({\n onRenderBefore: (\n value: string | number,\n options: InputFormatterOptions,\n ): string => {\n if (typeof regex === \"function\") {\n return regex(String(value));\n }\n const formattedValue = `${value}`.replace(regex, \"\");\n return formattedValue;\n },\n onSendBefore: (value: string, options: InputFormatterOptions): string => {\n return onSendBefore?.(value, options) || value;\n },\n});\n","import { InputFormatterOptions } from \"./inputFormatter\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\n\nexport const dpFormatter = (\n dp: number,\n config?: {\n /**\n * The rounding mode to use when rounding the number\n * @default Decimal.ROUND_DOWN\n */\n roundingMode?: number;\n }\n) => {\n const onBefore = (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n // if (config && config.tick !== null) {\n // return utils.formatNumber(value, config.tick) ?? value;\n // }\n return truncateNumber(value, dp);\n // const { roundingMode = Decimal.ROUND_DOWN } = config ?? {};\n // let d = new Decimal(value);\n // d = d.todp(dp, roundingMode);\n // return d.toString();\n };\n\n return {\n onRenderBefore: onBefore,\n onSendBefore: onBefore,\n };\n};\n\n/**\n * Truncate a number to a specified number of decimal places.\n * @param num The string to be truncated.\n * @param decimalPlaces The number of decimal places to keep.\n * @returns The truncated number as a string.\n */\nfunction truncateNumber(numStr: string, decimalPlaces: number): string {\n // Convert the number to a string\n // const numStr = typeof num ==='number'? num.toString():num;\n\n // Find the position of the decimal point\n const decimalIndex = numStr.indexOf(\".\");\n\n // If there's no decimal point or we don't need to truncate, return the number as is\n if (decimalIndex === -1 || decimalPlaces <= 0) {\n return numStr.split(\".\")[0];\n }\n\n // Calculate the end position for the substring\n const endIndex = decimalIndex + decimalPlaces + 1;\n\n // Return the truncated string\n return numStr.substring(0, endIndex);\n}\n","import { InputFormatterOptions } from \"./inputFormatter\";\n\nexport const rangeFormatter = (props: {\n max: number;\n min: number;\n dp?: number;\n}) => {\n const onBefore = (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n\n // Handle empty value or value ending with decimal point\n if (value === \".\") return \"0.\";\n if (!value || value.endsWith(\".\")) return value;\n\n const { max, min, dp } = props;\n\n const numValue = Number(value);\n\n // Handle invalid number\n if (isNaN(numValue)) {\n return \"\";\n }\n\n if (numValue < min) {\n return min.toString();\n }\n\n if (numValue > max) {\n return max.toString();\n }\n\n // Handle decimal places if dp is specified\n if (dp !== undefined && value.includes(\".\")) {\n const [integer, decimal] = value.split(\".\");\n // if decimal length is more than dp, return value without the last digit\n return decimal?.length <= dp ? value : value.slice(0, -1);\n }\n\n return value;\n };\n\n return {\n onRenderBefore: onBefore,\n onSendBefore: onBefore,\n };\n};\n","import { InputFormatterOptions } from \"./inputFormatter\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\n\nexport const identifierFormatter = (\n// props: {\n// integer?: string;\n// negative?: string;\n// }\n) => {\n // const {\n // integer = '+',\n // negative = '-',\n // } = props;\n\n const integer = '+';\n const negative = '-';\n return {\n onRenderBefore: (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n const _value = Number(value);\n if (_value) {\n // greater than 0 && not start with +\n if (_value > 0 && !value.startsWith(integer)) return integer + value;\n // greater less 0 && not start with -\n if (_value < 0 && !value.startsWith(negative)) return negative + value;\n }\n return value;\n },\n onSendBefore: (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n const _value = Number(value);\n if (_value) {\n // greater than 0\n if (_value > 0) return value.replace(integer, \"\");\n }\n return value;\n },\n };\n};\n\n","import { commify } from \"@kodiak-finance/orderly-utils\";\nimport { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\nexport const decimalPointFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n return String(value);\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n return replaceComma(value, options?.originValue);\n },\n};\n\nconst replaceComma = (value: string, originValue?: string) => {\n if (value === null || value === undefined) return \"\";\n if (value.endsWith(\",\")) {\n return value.slice(0, -1) + \".\";\n }\n if (value.startsWith(\",\")) {\n return value.slice(0, 1) + \".\";\n }\n\n const originFormatValue = commify(originValue as string)\n if (\n originValue &&\n value.length > originFormatValue.length &&\n value.length - originFormatValue.length === 1\n ) {\n return findAndReplace(value, originFormatValue);\n }\n return value;\n};\n\nconst findAndReplace = (str1: string, str2: string) => {\n if (str1.length <= str2.length) {\n return str1;\n }\n\n for (let i = 0; i < str2.length; i++) {\n if (str1[i] !== str2[i]) {\n const differentChar = str1[i];\n const newChar = differentChar === \",\" ? \".\" : differentChar;\n return str1.slice(0, i) + newChar + str1.slice(i + 1);\n }\n }\n return str1;\n};\n","import React from \"react\";\nimport { Input, InputProps } from \"./input\";\nimport { InputHelpText, type InputHelpTextVariantProps } from \"./inputHelpText\";\nimport { tv } from \"../utils/tv\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cn } from \"..\";\n\nconst textFieldVariants = tv({\n slots: {\n root: \"oui-flex\",\n label: \"oui-text-sm oui-font-semibold\",\n input: [],\n },\n variants: {\n direction: {\n column: {\n root: \"oui-flex-col oui-space-y-1\",\n },\n row: {\n root: \"oui-flex-row oui-space-x-3 \",\n },\n },\n },\n defaultVariants: {\n direction: \"column\",\n },\n});\n\nexport type TextFieldProps = InputProps & {\n label: string;\n helpText?: string;\n classNames?: {\n root?: string;\n label?: string;\n input?: string;\n };\n} & VariantProps<typeof textFieldVariants>;\n\nexport const TextField: React.FC<TextFieldProps> = React.forwardRef<\n HTMLDivElement,\n TextFieldProps\n>((props, ref) => {\n const { label, helpText, direction, className, ...inputProps } = props;\n const { root, label: labelClassName } = textFieldVariants({ direction });\n\n return (\n <div className={root({ className, direction })}>\n <InputLabel className={cn(props.classNames?.label) || labelClassName()}>\n {label}\n </InputLabel>\n <div>\n <Input {...inputProps} />\n {(helpText?.length || 0 > 0) && (\n <InputHelpText\n color={inputProps.color as InputHelpTextVariantProps[\"color\"]}\n >\n {helpText}\n </InputHelpText>\n )}\n </div>\n </div>\n );\n});\n\nTextField.displayName = \"TextField\";\n\ninterface InputLabelProps extends React.HTMLAttributes<HTMLLabelElement> {\n asChild?: boolean;\n}\n\nconst InputLabel = React.forwardRef<HTMLLabelElement, InputLabelProps>(\n (props, ref) => {\n const { asChild = false, className, ...rest } = props;\n const Comp = asChild ? Slot : \"label\";\n\n return (\n <Comp className={className} ref={ref} {...rest}>\n {props.children}\n </Comp>\n );\n }\n);\n\nInputLabel.displayName = \"InputLabel\";\n","import { Slot } from \"@radix-ui/react-slot\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\nimport React from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nconst inputHelpTextVariants = tv({\n base: [\n \"oui-text-xs\",\n \"oui-text-base-contrast-36\",\n \"oui-mt-1\",\n \"oui-list-disc\",\n \"oui-list-inside\",\n \"oui-list-item\",\n ],\n variants: {\n color: {\n success: [\"oui-text-success\"],\n danger: [\"oui-text-danger\"],\n warning: [\"oui-text-warning-darken\"],\n default: [\"oui-text-base-contrast-54\"],\n },\n },\n});\n\nexport type InputHelpTextVariantProps = VariantProps<\n typeof inputHelpTextVariants\n>;\n\ninterface InputHelpTextProps\n extends ComponentPropsWithout<\"div\", RemovedProps>,\n InputHelpTextVariantProps {\n asChild?: boolean;\n}\n\nconst InputHelpText = React.forwardRef<HTMLDivElement, InputHelpTextProps>(\n (props, ref) => {\n const { className, asChild, color, ...rest } = props;\n const Comp = asChild ? Slot : \"div\";\n return (\n <Comp\n ref={ref}\n className={inputHelpTextVariants({\n className,\n color,\n })}\n {...rest}\n />\n );\n }\n);\n\nInputHelpText.displayName = \"InputHelpText\";\n\nexport { InputHelpText, inputHelpTextVariants };\n\nexport { type InputHelpTextProps };\n","import { QuantityInput } from \"./extends/quantity\";\nimport { Input as InputBase, inputVariants } from \"./input\";\nimport { InputWithTooltip } from \"./input.tooltip\";\n\nexport { InputAdditional } from \"./inputAdditional\";\n\nexport type { InputProps } from \"./input\";\nexport type { InputWithTooltipProps } from \"./input.tooltip\";\nexport * as inputFormatter from \"./formatter\";\n\nexport type {\n InputFormatter,\n InputFormatterOptions,\n} from \"./formatter/inputFormatter\";\n\nexport { TextField } from \"./textField\";\n\nexport { type TextFieldProps } from \"./textField\";\n\nexport { InputHelpText } from \"./inputHelpText\";\nexport type { InputHelpTextProps } from \"./inputHelpText\";\n\ntype InputType = typeof InputBase & {\n token: typeof QuantityInput;\n tooltip: typeof InputWithTooltip;\n};\n\nconst Input = InputBase as InputType;\nInput.token = QuantityInput;\nInput.tooltip = InputWithTooltip;\n\nexport { Input, inputVariants };\n","import * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { tv, cnBase } from \"tailwind-variants\";\n\nconst checkboxVariants = tv({\n base: [\n \"peer\",\n \"oui-h-3\",\n \"oui-w-3\",\n \"oui-shrink-0\",\n \"oui-rounded-sm\",\n \"oui-border\",\n \"focus-visible:oui-outline-none\",\n // \"focus-visible:oui-ring-1\",\n // \"focus-visible:oui-ring-ring\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n // \"data-[state=checked]:oui-border-none\",\n // \"data-[state=checked]:oui-text-base-contrast\",\n ],\n variants: {\n color: {\n primary: \"oui-border-primary data-[state=checked]:oui-text-base-contrast\",\n white: \"oui-border-base-contrast-54 \",\n // data-[state=checked]:oui-bg-white/80 data-[state=checked]:oui-text-[rgba(0,0,0,0.88)]\n },\n variant: {\n checkBox: \"data-[state=checked]:oui-border-none\",\n radio:\n \"oui-rounded-full data-[state=checked]:oui-border-base-contrast-20 data-[state=checked]:oui-bg-transparent\",\n },\n },\n compoundVariants: [\n {\n color: \"primary\",\n variant: \"radio\",\n className:\n \"data-[state=checked]:oui-border-parimary data-[state=checked]:!oui-text-parimary\",\n },\n ],\n defaultVariants: {\n color: \"white\",\n // style: \"checkBox\",\n },\n});\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & {\n size?: number;\n indicatorClassName?: string;\n color?: \"primary\" | \"white\";\n variant?: \"checkBox\" | \"radio\";\n }\n>(({ className, color = \"white\", variant = \"checkBox\", ...props }, ref) => {\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n className={checkboxVariants({ color, className, variant })}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cnBase(\n \"oui-flex oui-items-center oui-justify-center oui-text-current\",\n props.indicatorClassName\n )}\n >\n {variant === \"checkBox\" ? (\n <CheckboxIcon\n className={cnBase(\n color === \"primary\" ? \"oui-text-primary\" : \"oui-text-white\"\n )}\n />\n ) : (\n <div\n className={cnBase(\n \"oui-w-[6px] oui-h-[6px] oui-rounded-full\",\n color === \"primary\" ? \"oui-bg-primary\" : \"oui-bg-base-contrast-80\"\n )}\n />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n});\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n\nexport const CheckboxIcon: React.FC<React.SVGProps<SVGSVGElement>> = (\n props\n) => (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.078.71A2.333 2.333 0 0 0 .745 3.041v5.834a2.333 2.333 0 0 0 2.333 2.333H8.91a2.333 2.333 0 0 0 2.334-2.333V3.042A2.333 2.333 0 0 0 8.91.71zm5.83 2.555a.7.7 0 0 1 .488-.182c.174 0 .355.056.488.182a.643.643 0 0 1 0 .93L5.129 8.728a.723.723 0 0 1-.975 0L2.115 6.785a.644.644 0 0 1 0-.93.724.724 0 0 1 .977 0l1.55 1.476z\"\n fillOpacity=\".8\"\n />\n </svg>\n);\n","import React from \"react\";\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"..\";\n\nconst switchVariants = tv({\n slots: {\n root: [\n \"peer\",\n \"oui-inline-flex\",\n \"oui-h-[16px]\",\n \"oui-w-[28px]\",\n \"oui-shrink-0\",\n \"oui-cursor-pointer\",\n \"oui-items-center\",\n \"oui-rounded-full\",\n // \"oui-border-3\",\n \"oui-border-transparent\",\n \"oui-shadow-sm\",\n \"oui-transition-colors\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n \"focus-visible:oui-ring-offset-background\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n \"data-[state=checked]:oui-bg-primary-darken\",\n \"data-[state=unchecked]:oui-bg-input\",\n ],\n thumb: [\n \"oui-pointer-events-none\",\n \"oui-block\",\n \"oui-h-[10px]\",\n \"oui-w-[10px]\",\n \"oui-rounded-full\",\n \"oui-bg-white/80\",\n \"oui-shadow-lg\",\n \"oui-ring-0\",\n \"oui-transition-transform\",\n \"data-[state=checked]:oui-translate-x-[15px]\",\n \"data-[state=unchecked]:oui-translate-x-[3px]\",\n ],\n },\n variants: {\n color: {\n primary: {\n root: [\n \"data-[state=checked]:oui-bg-primary-darken\",\n \"data-[state=unchecked]:oui-bg-base-1\",\n ],\n },\n success: {\n root: [\n \"data-[state=checked]:oui-bg-success\",\n \"data-[state=unchecked]:oui-bg-success\",\n ],\n },\n danger: {\n root: [\n \"data-[state=checked]:oui-bg-danger\",\n \"data-[state=unchecked]:oui-bg-danger\",\n ],\n },\n warning: {\n root: [\n \"data-[state=checked]:oui-bg-warning-darken\",\n \"data-[state=unchecked]:oui-bg-warning-darken\",\n ],\n },\n },\n },\n defaultVariants: {\n color: \"primary\",\n },\n});\n\ninterface SwitchProps\n extends VariantProps<typeof switchVariants>,\n Omit<\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>,\n \"color\"\n > {}\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n SwitchProps\n>(({ className, color, ...props }, ref) => {\n const { root, thumb } = switchVariants({\n className,\n color,\n });\n\n return (\n <SwitchPrimitives.Root className={root({ className })} {...props} ref={ref}>\n <SwitchPrimitives.Thumb className={thumb()} />\n </SwitchPrimitives.Root>\n );\n});\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst badgeVariants = tv({\n base: \"oui-inline-flex oui-items-center oui-rounded-md oui-font-semibold oui-transition-colors focus:oui-outline-none focus:oui-ring-2 focus:oui-ring-ring focus:oui-ring-offset-2\",\n\n variants: {\n variant: {\n contained: \"\",\n // outlined: \"oui-border\",\n text: \"\",\n },\n color: {\n primary: \"\",\n primaryLight: \"\",\n secondary: \"\",\n danger: \"\",\n buy: \"\",\n success: \"\",\n warning: \"\",\n sell: \"\",\n neutral: \"\",\n },\n size: {\n xs: \"oui-px-2 oui-py-0.5 oui-text-2xs oui-rounded oui-h-[18px]\",\n sm: \"oui-px-2 oui-py-0.5 oui-text-2xs oui-rounded\",\n md: \"oui-px-2 oui-py-0.5 oui-text-sm\",\n lg: \"oui-px-2 oui-py-1 oui-text-base\",\n // xl: \"oui-px-4 oui-py-1.5 oui-text-sm\",\n },\n // dot:{\n // true: \"oui-w-2 oui-h-2 oui-rounded-full\",\n // false: \"\"\n // }\n },\n compoundVariants: [\n {\n variant: \"contained\",\n color: \"primary\",\n className: [\"oui-bg-primary/15\", \"oui-text-primary\"],\n },\n {\n variant: \"contained\",\n color: \"primaryLight\",\n className: [\"oui-bg-primary-light/15\", \"oui-text-primary-light\"],\n },\n {\n variant: \"contained\",\n color: \"danger\",\n className: [\"oui-bg-danger/15\", \"oui-text-danger\"],\n },\n {\n variant: \"contained\",\n color: \"sell\",\n className: [\"oui-bg-danger/15\", \"oui-text-danger\"],\n },\n {\n variant: \"contained\",\n color: \"success\",\n className: [\"oui-bg-success/15\", \"oui-text-success\"],\n },\n {\n variant: \"contained\",\n color: \"buy\",\n className: [\"oui-bg-success/15\", \"oui-text-success\"],\n },\n {\n variant: \"contained\",\n color: \"warning\",\n className: [\"oui-bg-warning-darken/15\", \"oui-text-warning-darken\"],\n },\n {\n variant: \"contained\",\n color: \"neutral\",\n className: [\"oui-bg-line\", \"oui-text-base-contrast-36\"],\n },\n {\n variant: \"text\",\n color: \"primary\",\n className: [\"oui-text-primary\"],\n },\n {\n variant: \"text\",\n color: \"danger\",\n className: [\"oui-text-danger\"],\n },\n {\n variant: \"text\",\n color: \"success\",\n className: [\"oui-text-success\"],\n },\n {\n variant: \"text\",\n color: \"warning\",\n className: [\"oui-text-warning-darken\"],\n },\n {\n variant: \"text\",\n color: \"neutral\",\n className: [\"oui-text-base-contrast-36\"],\n },\n ],\n defaultVariants: {\n variant: \"contained\",\n color: \"primary\",\n size: \"md\",\n },\n});\n\nexport interface BadgeProps\n extends ComponentPropsWithout<\"div\", RemovedProps>,\n VariantProps<typeof badgeVariants> {\n // dot?: boolean;\n}\n\nfunction Badge({ className, variant, color, size, ...props }: BadgeProps) {\n return (\n <div\n className={badgeVariants({ variant, className, color, size })}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n","import React, { ElementRef, HTMLAttributes } from \"react\";\n\ntype Elment = ElementRef<\"div\">;\n\ntype LogoProps = HTMLAttributes<Elment> & {\n src: string;\n alt?: string;\n href?: string;\n};\n\nconst Logo = React.forwardRef<Elment, LogoProps>(({ src, alt, href }, ref) => {\n return (\n <div className=\"logo oui-px-3\" ref={ref}>\n <a href={href ?? \"/\"}>\n <img\n src={src}\n alt={alt}\n className=\"oui-object-contain oui-h-8 oui-py-2\"\n />\n </a>\n </div>\n );\n});\n\nLogo.displayName = \"LogoElement\";\n\nexport { Logo };\nexport type { LogoProps };\n","import { PropsWithChildren, ReactNode, useEffect, useMemo } from \"react\";\nimport {\n getCoreRowModel,\n useReactTable,\n getExpandedRowModel,\n Row,\n getSortedRowModel,\n CoreOptions,\n ColumnFilter,\n getFilteredRowModel,\n RowSelectionState,\n TableFeature,\n Table,\n Column as TanstackColumn,\n ExpandedState,\n OnChangeFn,\n} from \"@tanstack/react-table\";\nimport { cnBase, cn } from \"tailwind-variants\";\nimport { useInit } from \"./hooks/useInit\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport { useShowHeader } from \"./hooks/useShowHeader\";\nimport { useShowPagination } from \"./hooks/useShowPagination\";\nimport { useSort } from \"./hooks/useSort\";\nimport { useWrap } from \"./hooks/useWrap\";\nimport { TableBody } from \"./tableBody\";\nimport { TableHeader } from \"./tableHeader\";\nimport { TablePagination } from \"./tablePagination\";\nimport { TablePlaceholder } from \"./tablePlaceholder\";\nimport { Transform } from \"./transform\";\nimport {\n Column,\n PaginationMeta,\n TableSort,\n DataTableClassNames,\n TableCellContext,\n} from \"./type\";\n\nexport type DataTableProps<RecordType> = {\n columns: Column<RecordType>[];\n dataSource?: RecordType[] | ReadonlyArray<RecordType> | null;\n /**\n * @description loading state\n * @default false\n */\n loading?: boolean;\n // isValidating?: boolean;\n ignoreLoadingCheck?: boolean;\n className?: string;\n classNames?: DataTableClassNames;\n // showMaskElement?: boolean;\n emptyView?: ReactNode;\n bordered?: boolean;\n // loadMore?: () => void;\n onSort?: (sort?: TableSort) => void;\n initialSort?: TableSort;\n id?: string;\n // minHeight?: number;\n // initialMinHeight?: number;\n getRowCanExpand?: (row: Row<any>) => boolean;\n expandRowRender?: (row: Row<any>, index: number) => ReactNode;\n expanded?: ExpandedState;\n onExpandedChange?: OnChangeFn<ExpandedState>;\n getSubRows?: (record: any, index: number) => undefined | any[];\n manualSorting?: boolean;\n manualPagination?: boolean;\n manualFiltering?: boolean;\n pagination?: PaginationMeta;\n renderRowContainer?: (\n record: RecordType,\n index: number,\n children: ReactNode,\n context: Row<RecordType>,\n ) => ReactNode;\n generatedRowKey?: CoreOptions<any>[\"getRowId\"];\n onRow?: (record: RecordType, index: number, context: Row<RecordType>) => any;\n onCell?: (\n column: TanstackColumn<any>,\n record: RecordType,\n index: number,\n context: TableCellContext,\n ) => any;\n columnFilters?: ColumnFilter | ColumnFilter[];\n rowSelection?: RowSelectionState;\n\n // test id\n testIds?: {\n body?: string;\n };\n features?: TableFeature[];\n getTableInstance?: (table: Table<RecordType>) => void;\n};\n\nexport function DataTable<RecordType extends any>(\n props: PropsWithChildren<DataTableProps<RecordType>>,\n) {\n const {\n columns,\n className,\n classNames,\n pagination,\n getRowCanExpand,\n manualPagination,\n loading,\n ignoreLoadingCheck,\n emptyView,\n initialSort,\n manualSorting,\n onSort,\n expanded,\n onExpandedChange,\n } = props;\n\n const [sorting, setSorting] = useSort({\n onSort,\n initialSort,\n });\n\n // Check if we need to override manualSorting for multiSort columns\n const hasMultiSortColumns = useMemo(() => {\n return columns.some((col) => col.multiSort && !col.multiSort.onSort);\n }, [columns]);\n\n // For multiSort columns, check if current sorting is a multiSort field\n const effectiveManualSorting = useMemo(() => {\n if (!hasMultiSortColumns) {\n return manualSorting;\n }\n\n // If current sorting is a multiSort field, use manual sorting\n if (sorting.length > 0) {\n const currentSort = sorting[0];\n const sortId = currentSort.id;\n\n const isMultiSortField = columns.some((col) =>\n col.multiSort?.fields?.some((field) => field.sortKey === sortId),\n );\n\n return isMultiSortField; // Use manual sorting for multiSort fields\n }\n\n return false; // Use client-side sorting for regular columns\n }, [hasMultiSortColumns, manualSorting, sorting, columns]);\n\n const dataSource = useMemo(() => {\n return Transform.dataSource(props.dataSource || [], columns, sorting);\n }, [props.dataSource, columns, sorting]);\n\n const formatColumns = useMemo(\n () => Transform.columns(columns, sorting, setSorting),\n [columns, sorting, setSorting],\n );\n\n const columnPinning = useMemo(\n () => Transform.columnPinning(columns),\n [columns],\n );\n\n const rowSelection = useMemo(\n () => props.rowSelection || {},\n [props.rowSelection],\n );\n\n const { state: paginationState, config: paginationConfig } = useMemo(\n () => Transform.pagination(pagination),\n [pagination],\n );\n\n // const { state: sortState, config: sortConfig } = useMemo(\n // () => Transform.sorting(onSort, initialSort),\n // [onSort, initialSort]\n // );\n\n const initialized = useInit({ dataSource, loading, ignoreLoadingCheck });\n\n const columnFilters = useMemo(() => {\n return Array.isArray(props.columnFilters)\n ? (props.columnFilters as ColumnFilter[])\n : props.columnFilters\n ? [props.columnFilters]\n : [];\n }, [props.columnFilters]);\n\n const table = useReactTable({\n _features: props.features,\n data: dataSource! as RecordType[],\n columns: formatColumns,\n state: {\n columnPinning,\n columnFilters,\n rowSelection,\n sorting,\n expanded,\n ...paginationState,\n // ...sortState,\n },\n onSortingChange: setSorting,\n // onColumnFiltersChange: setColumnFilters,\n getRowId: props.generatedRowKey,\n getCoreRowModel: getCoreRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n getRowCanExpand,\n onExpandedChange,\n getSubRows: props.getSubRows,\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n // use pre-sorted row model instead of sorted row model, but force client-side for multiSort\n manualSorting: effectiveManualSorting,\n // turn off client-side pagination\n manualPagination,\n // only allow a single row to be selected at once\n enableMultiRowSelection: false,\n enableExpanding: true,\n ...paginationConfig,\n // ...sortConfig,\n });\n\n useEffect(() => {\n props.getTableInstance?.(table);\n }, [table]);\n\n const wrapRef = useWrap([className, classNames?.root]);\n const { scrollRef, showLeftShadow, showRightShadow } = useScroll([\n dataSource?.length,\n ]);\n\n // filter data\n const rows = table.getRowModel().rows;\n\n const showPlaceholder = initialized && (rows.length === 0 || loading);\n\n const showHeader = useShowHeader({\n loading,\n dataSource,\n });\n\n const showPagination = useShowPagination({\n loading,\n dataSource,\n rows,\n pagination,\n });\n\n return (\n <div\n ref={wrapRef}\n id={props.id}\n className={cn(\n \"oui-table-root oui-size-full\",\n \"oui-bg-base-9\",\n className,\n classNames?.root,\n )({\n twMerge: true,\n })}\n >\n <div\n ref={scrollRef}\n className={cn(\n \"oui-table-scroll oui-relative\",\n \"oui-min-h-[162px] oui-w-full\",\n \"oui-text-xs oui-font-semibold\",\n \"oui-custom-scrollbar oui-overflow-auto\",\n showPagination ? \"oui-h-[calc(100%_-_40px)]\" : \"oui-h-full\",\n classNames?.scroll,\n )({\n twMerge: true,\n })}\n >\n <table\n className={cnBase(\n \"oui-w-full oui-px-2\",\n \"oui-table-fixed oui-border-collapse\",\n )}\n >\n {showHeader && (\n <TableHeader\n className={classNames?.header}\n headerGroups={table.getHeaderGroups()}\n bordered={props.bordered}\n showLeftShadow={showLeftShadow}\n showRightShadow={showRightShadow}\n sorting={sorting}\n />\n )}\n\n <TableBody\n className={classNames?.body}\n rows={rows}\n bordered={props.bordered}\n renderRowContainer={props.renderRowContainer}\n expandRowRender={props.expandRowRender}\n onRow={props.onRow}\n onCell={props.onCell}\n showLeftShadow={showLeftShadow}\n showRightShadow={showRightShadow}\n testId={props.testIds?.body}\n />\n </table>\n\n <TablePlaceholder\n visible={showPlaceholder}\n loading={loading}\n emptyView={emptyView}\n className={classNames?.empty}\n />\n </div>\n\n {showPagination && (\n <TablePagination\n className={classNames?.pagination}\n count={pagination?.count || rows?.length}\n pageTotal={pagination?.pageTotal || table.getPageCount()}\n page={pagination?.page!}\n pageSize={pagination?.pageSize}\n onPageChange={pagination?.onPageChange}\n onPageSizeChange={pagination?.onPageSizeChange}\n />\n )}\n </div>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\n\nexport function useInit(\n params: Pick<\n DataTableProps<any>,\n \"dataSource\" | \"loading\" | \"ignoreLoadingCheck\"\n >\n) {\n const { dataSource, loading, ignoreLoadingCheck } = params;\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (initialized) return;\n\n if (ignoreLoadingCheck || loading || Array.isArray(dataSource)) {\n setInitialized(true);\n }\n }, [loading, ignoreLoadingCheck, dataSource, initialized]);\n\n return initialized;\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nexport function useScroll(deps: any[]) {\n const scrollRef = useRef<HTMLDivElement>(null);\n const [showLeftShadow, setShowLeftShadow] = useState(false);\n const [showRightShadow, setShowRightShadow] = useState(false);\n\n useEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n\n scrollRef.current.addEventListener(\"scroll\", function (e) {\n setShowLeftShadow(scrollRef.current!.scrollLeft > 0);\n setShowRightShadow(!isScrolledToRight(scrollRef.current!));\n });\n }, [scrollRef]);\n\n useEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n\n const scrollAble = hasHorizontalScroll(scrollRef.current);\n const scrollEnd = isScrolledToRight(scrollRef.current);\n\n setShowRightShadow(scrollAble && !scrollEnd);\n }, [scrollRef, ...deps]);\n\n return {\n scrollRef,\n showLeftShadow,\n showRightShadow,\n };\n}\n\nfunction isScrolledToRight(element: HTMLDivElement) {\n return element.scrollLeft + element.clientWidth >= element.scrollWidth;\n}\n\nfunction hasHorizontalScroll(element: HTMLDivElement) {\n return element.scrollWidth > element.clientWidth;\n}\n\nfunction hasVerticalScroll(element: HTMLDivElement) {\n return element.scrollHeight > element.clientHeight;\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\n\nexport function useShowHeader(\n params: Pick<DataTableProps<any>, \"dataSource\" | \"loading\">\n) {\n const { dataSource, loading } = params;\n\n const initShowHeader = useRef(false);\n\n const showHeader = useMemo(() => {\n if (loading && !dataSource?.length) {\n return initShowHeader.current;\n }\n\n return !!dataSource?.length;\n }, [loading, dataSource]);\n\n useEffect(() => {\n if (showHeader) {\n initShowHeader.current = true;\n }\n }, [showHeader]);\n\n return showHeader;\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\nimport { Row } from \"@tanstack/react-table\";\n\nexport function useShowPagination(\n params: Pick<DataTableProps<any>, \"dataSource\" | \"loading\" | \"pagination\"> & {\n rows: Row<any>[];\n }\n) {\n const { loading, dataSource, pagination, rows } = params;\n\n const initShowPagination = useRef(false);\n\n const showPagination = useMemo(() => {\n if (loading && !dataSource?.length) {\n return initShowPagination.current;\n }\n\n if (pagination && dataSource?.length && rows?.length) {\n return true;\n }\n\n return false;\n }, [loading, pagination, dataSource, rows]);\n\n useEffect(() => {\n if (showPagination) {\n initShowPagination.current = true;\n }\n }, [showPagination]);\n\n return showPagination;\n}\n","import { useEffect, useState } from \"react\";\nimport { SortingState } from \"@tanstack/react-table\";\nimport { TableSort } from \"../type\";\n\nexport function useSort(props: {\n onSort?: (sort?: TableSort) => void;\n initialSort?: TableSort;\n}) {\n const { onSort, initialSort } = props;\n\n const [sorting, setSorting] = useState<SortingState>(\n initialSort\n ? [\n {\n id: initialSort.sortKey,\n desc: initialSort.sort === \"desc\",\n },\n ]\n : []\n );\n\n useEffect(() => {\n const { id, desc } = sorting[0] || {};\n onSort?.(id ? { sortKey: id, sort: desc ? \"desc\" : \"asc\" } : undefined);\n }, [sorting, onSort]);\n\n return [sorting, setSorting] as const;\n}\n","import { useEffect, useRef } from \"react\";\n\nexport function useWrap(deps: any[]) {\n const wrapRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!wrapRef.current) return;\n\n const bgColor = window.getComputedStyle(wrapRef.current).backgroundColor;\n\n wrapRef.current.style.setProperty(\"--oui-table-background-color\", bgColor);\n }, deps);\n\n return wrapRef;\n}\n","import React, { FC, Fragment } from \"react\";\nimport { Row } from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { alignVariants } from \"./className\";\nimport { DataTableProps } from \"./dataTable\";\nimport { TableCell } from \"./tableCell\";\nimport { getColumnPinningProps } from \"./utils/getColumnPinningProps\";\n\ntype TableBodyProps<RecordType> = {\n className?: string;\n rows: Row<RecordType>[];\n justified?: boolean;\n showLeftShadow?: boolean;\n showRightShadow?: boolean;\n testId?: string;\n} & Pick<\n DataTableProps<any>,\n \"bordered\" | \"onRow\" | \"onCell\" | \"renderRowContainer\" | \"expandRowRender\"\n>;\n\nexport const TableBody: React.FC<TableBodyProps<any>> = (props) => {\n return (\n <tbody\n className={cnBase(\n \"oui-table-tbody oui-relative\",\n \"oui-text-base-contrast-80\",\n props.className,\n )}\n data-testid={props.testId}\n >\n {props.rows.map((row) => {\n const { className, onClick, ...rest } =\n typeof props.onRow === \"function\"\n ? props.onRow(row.original, row.index, row) || {}\n : {};\n\n const expandView = row.getIsExpanded() && (\n <tr className=\"oui-table-expand-tr oui-z-0 [&>td:first-child]:oui-pl-3 [&>td:last-child]:oui-pr-3\">\n <td\n className=\"oui-table-expand-td\"\n colSpan={row.getVisibleCells().length}\n >\n {props.expandRowRender?.(row, row.index)}\n </td>\n </tr>\n );\n\n const rowView = (\n <Fragment key={row.id}>\n <tr\n key={row.id}\n className={cnBase(\n \"oui-table-tbody-tr oui-group oui-h-10\",\n \"[&>td:first-child]:oui-pl-3 [&>td:last-child]:oui-pr-3\",\n typeof onClick === \"function\" && \"oui-cursor-pointer\",\n props.bordered && \"oui-border-b oui-border-b-line-4\",\n className,\n )}\n onClick={onClick}\n {...rest}\n >\n {row.getVisibleCells().map((cell) => {\n const column = cell.column;\n const meta = column.columnDef.meta || ({} as any);\n const { align, className: rowClassName, hidden } = meta;\n\n // Skip rendering hidden columns\n if (hidden) {\n return null;\n }\n\n const { style: pinStyle, classNames: pinClassNames } =\n getColumnPinningProps(column);\n\n const {\n style: cellStyle,\n className: cellClassName,\n children,\n ...rest\n } = typeof props.onCell === \"function\"\n ? props.onCell(cell.column, row.original, row.index, cell) ||\n {}\n : {};\n\n const cellView =\n children !== undefined ? (\n children\n ) : (\n <>\n <TableCell cell={cell} />\n <CellHover\n selected={row.getIsSelected()}\n isFirst={column.getIsFirstColumn()}\n isLast={column.getIsLastColumn()}\n />\n </>\n );\n\n return (\n <td\n key={cell.id}\n style={{ ...pinStyle, ...cellStyle }}\n className={cnBase(\n \"oui-table-tbody-td oui-relative\",\n \"oui-px-1\",\n alignVariants({ align }),\n // rowClassName,\n typeof rowClassName === \"function\"\n ? rowClassName(row.original)\n : rowClassName,\n pinClassNames.content,\n props.showLeftShadow && pinClassNames.leftShadow,\n props.showRightShadow && pinClassNames.rightShadow,\n cellClassName,\n )}\n {...rest}\n >\n {cellView}\n </td>\n );\n })}\n </tr>\n\n {expandView}\n </Fragment>\n );\n\n if (typeof props.renderRowContainer === \"function\") {\n return (\n <Fragment key={row.id}>\n {props.renderRowContainer(row.original, row.index, rowView, row)}\n </Fragment>\n );\n }\n\n return rowView;\n })}\n </tbody>\n );\n};\n\ntype CellHoverProps = {\n selected: boolean;\n isFirst: boolean;\n isLast: boolean;\n};\n\nconst CellHover: FC<CellHoverProps> = ({ selected, isFirst, isLast }) => {\n return (\n <div\n className={cnBase(\n \"oui-absolute oui-left-0 oui-top-0 oui-z-[-1]\",\n \"oui-size-full\",\n \"group-hover:oui-bg-line-4\",\n selected && \"oui-bg-line-6 group-hover:oui-bg-line-6\",\n isFirst && \"oui-rounded-l\",\n isLast && \"oui-rounded-r\",\n )}\n />\n );\n};\n","import { tv } from \"tailwind-variants\";\n\nexport const alignVariants = tv({\n variants: {\n align: {\n left: \"oui-text-left\",\n center: \"oui-text-center\",\n right: \"oui-text-right\",\n },\n },\n defaultVariants: {\n align: \"left\",\n },\n});\n","import React, { ReactNode } from \"react\";\nimport { Cell, flexRender } from \"@tanstack/react-table\";\nimport { FormattedText, isTextRule } from \"../typography/formatted\";\nimport { isNumeralRule, Numeral } from \"../typography/numeral\";\nimport { Column } from \"./type\";\n\ntype TableCellProps = {\n cell: Cell<any, any>;\n};\n\nexport const TableCell: React.FC<TableCellProps> = (props) => {\n const { cell } = props;\n\n const { original: record, index } = cell.row;\n const { formatter, render, rule, textProps, numeralProps } = (cell.column\n .columnDef.meta || {}) as Column;\n\n let value = cell.getValue();\n\n if (typeof formatter === \"function\") {\n value = formatter(value, record, index);\n }\n\n if (typeof render === \"function\") {\n return render(value, record, index, cell);\n }\n\n if (typeof rule !== \"undefined\") {\n if (isTextRule(rule)) {\n const _textProps =\n typeof textProps === \"function\"\n ? textProps(value, record, index)\n : textProps;\n return (\n <FormattedText rule={rule} {..._textProps}>\n {value}\n </FormattedText>\n );\n }\n\n if (isNumeralRule(rule)) {\n const _numeralProps =\n typeof numeralProps === \"function\"\n ? numeralProps(value, record, index)\n : numeralProps;\n\n return (\n <Numeral rule={rule} {..._numeralProps}>\n {value}\n </Numeral>\n );\n }\n }\n\n return flexRender(cell.column.columnDef.cell, cell.getContext()) as ReactNode;\n};\n","import { CSSProperties } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { TanstackColumn } from \"../type\";\n\nexport function getColumnPinningProps(\n column: TanstackColumn<any>,\n isHeader?: boolean\n) {\n const isPinned = column.getIsPinned();\n const isLastLeftPinnedColumn =\n isPinned === \"left\" && column.getIsLastColumn(\"left\");\n const isFirstRightPinnedColumn =\n isPinned === \"right\" && column.getIsFirstColumn(\"right\");\n\n const style: CSSProperties = {\n left: isPinned === \"left\" ? `${column.getStart(\"left\")}px` : undefined,\n right: isPinned === \"right\" ? `${column.getAfter(\"right\")}px` : undefined,\n width: column.getSize(),\n };\n\n const contentCls = cnBase(\n isPinned ? \"oui-sticky\" : \"oui-relative\",\n isPinned ? \"oui-z-[1]\" : \"oui-z-0\",\n isPinned && \"oui-bg-[var(--oui-table-background-color)]\"\n );\n\n const shadowCls = cnBase(\n \"before:oui-block before:oui-absolute\",\n \"before:oui-w-[32px] before:oui-h-full\",\n \"before:oui-top-0 before:oui-z-[-1]\",\n \"before:oui-bg-[linear-gradient(90deg,rgba(var(--oui-color-base-10)_/_0.80)_0%,rgba(var(--oui-color-base-10)_/_0.36)_65%,rgba(var(--oui-color-base-10)_/_0.00)_100%)]\"\n );\n\n const leftShadow =\n isLastLeftPinnedColumn && cnBase(shadowCls, \"before:oui-right-[-32px]\");\n\n const rightShadow =\n isFirstRightPinnedColumn &&\n cnBase(shadowCls, \"before:oui-left-[-32px] before:oui-rotate-180\");\n\n return {\n style,\n classNames: {\n content: contentCls,\n leftShadow,\n rightShadow,\n },\n };\n}\n","import { FC } from \"react\";\nimport {\n HeaderGroup,\n SortDirection,\n SortingState,\n} from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { alignVariants } from \"./className\";\nimport { DataTableProps } from \"./dataTable\";\nimport { AscendingIcon, DescendingIcon, SortingIcon } from \"./icons\";\nimport { MultiSortHeader } from \"./multiSortHeader\";\nimport { getColumnPinningProps } from \"./utils/getColumnPinningProps\";\n\ntype TableHeaderProps = {\n className?: string;\n headerGroups: HeaderGroup<any>[];\n showLeftShadow?: boolean;\n showRightShadow?: boolean;\n sorting?: SortingState;\n} & Pick<DataTableProps<any>, \"bordered\">;\n\nexport const TableHeader: FC<TableHeaderProps> = (props) => {\n return (\n <thead\n className={cnBase(\n \"oui-table-thead\",\n \"oui-sticky oui-top-0 oui-z-[2]\",\n \"oui-bg-[var(--oui-table-background-color)]\",\n \"oui-text-base-contrast-36\",\n )}\n >\n {props.headerGroups.map((headerGroup) => (\n <tr\n key={headerGroup.id}\n className={cnBase(\n \"oui-table-thead-tr\",\n \"oui-h-10\",\n \"[&>th:first-child]:oui-pl-3 [&>th:last-child]:oui-pr-3\",\n props.className,\n )}\n >\n {headerGroup.headers.map((header) => {\n const column = header.column;\n const meta = column.columnDef.meta || ({} as any);\n const { align, className: rowClassName, title, hidden } = meta;\n\n // Skip rendering hidden columns\n if (hidden) {\n return null;\n }\n\n const { style: pinStyle, classNames: pinClassNames } =\n getColumnPinningProps(column, true);\n\n const canSort = column.getCanSort();\n const isSorted = column.getIsSorted();\n\n return (\n <th\n key={header.id}\n style={pinStyle}\n className={cnBase(\n \"oui-table-thead-th\",\n \"oui-whitespace-nowrap\",\n \"oui-px-1\",\n props.bordered &&\n \"after:oui-absolute after:oui-left-0 after:oui-top-0 after:oui-z-[-1] after:oui-block after:oui-size-full after:oui-border-b after:oui-border-line\",\n // use border-b will show bottom element content\n // props.bordered && \"oui-border-b oui-border-line\"\n alignVariants({ align }),\n rowClassName,\n pinClassNames.content,\n props.showLeftShadow && pinClassNames.leftShadow,\n props.showRightShadow && pinClassNames.rightShadow,\n )}\n >\n {header.isPlaceholder ? null : (column.columnDef.meta as any)\n ?.multiSort ? (\n <MultiSortHeader\n column={column.columnDef.meta as any}\n sorting={props.sorting}\n />\n ) : (\n <div\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n canSort &&\n \"oui-cursor-pointer oui-select-none hover:oui-text-base-contrast-80\",\n )}\n onClick={column.getToggleSortingHandler()}\n >\n {title}\n {canSort && (\n <SortIndicator isSorted={isSorted as SortDirection} />\n )}\n </div>\n )}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n );\n};\n\nconst SortIndicator: FC<{ isSorted: SortDirection }> = ({ isSorted }) => {\n return (\n {\n asc: <AscendingIcon />,\n desc: <DescendingIcon />,\n }[isSorted] || <SortingIcon />\n );\n};\n","import { PropsWithChildren } from \"react\";\n\nconst BaseSortIcon = (props: PropsWithChildren) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 10 10\"\n fill=\"none\"\n >\n {props.children}\n </svg>\n );\n};\n\nexport const SortingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042m0 7.916a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </BaseSortIcon>\n );\n};\n\nexport const AscendingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042\"\n fill=\"#fff\"\n fillOpacity=\".8\"\n />\n <path\n d=\"M5 8.958a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </BaseSortIcon>\n );\n};\n\nexport const DescendingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n <path\n d=\"M5 8.958a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".8\"\n />\n </BaseSortIcon>\n );\n};\n","import { FC } from \"react\";\nimport { SortingState } from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useMultiSort } from \"./hooks/useMultiSort\";\nimport { AscendingIcon, DescendingIcon, SortingIcon } from \"./icons\";\nimport { Column, SortOrder } from \"./type\";\n\nexport type MultiSortHeaderProps = {\n column: Column<any>;\n className?: string;\n sorting?: SortingState;\n};\n\nexport const MultiSortHeader: FC<MultiSortHeaderProps> = ({\n column,\n className,\n sorting,\n}) => {\n const { multiSort, title } = column;\n\n if (!multiSort) {\n return <span>{title}</span>;\n }\n\n // Extract current sorting state\n const currentSorting = sorting?.[0]\n ? {\n sortKey: sorting[0].id,\n sort: sorting[0].desc ? (\"desc\" as SortOrder) : (\"asc\" as SortOrder),\n }\n : undefined;\n\n const { handleFieldSort, getFieldSort } = useMultiSort({\n columnKey: column.dataIndex,\n onSort: multiSort.onSort,\n initialSort: multiSort.initialSort,\n currentSorting,\n });\n\n return (\n <div\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n className,\n )}\n >\n {multiSort.fields.map((field, index) => {\n const fieldSort = getFieldSort(field.sortKey);\n\n return (\n <div\n key={field.sortKey}\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n \"oui-cursor-pointer oui-select-none hover:oui-text-base-contrast-80\",\n field.className,\n )}\n onClick={\n multiSort.onSort\n ? () => handleFieldSort(field.sortKey)\n : undefined\n }\n >\n <span className=\"oui-whitespace-nowrap\">\n {field.label || field.sortKey}\n </span>\n <SortIndicator sortDirection={fieldSort?.sort} />\n {index < multiSort.fields.length - 1 && (\n <span className=\"oui-text-base-contrast-36\">/</span>\n )}\n </div>\n );\n })}\n </div>\n );\n};\n\nconst SortIndicator: FC<{ sortDirection?: \"asc\" | \"desc\" }> = ({\n sortDirection,\n}) => {\n if (sortDirection === \"asc\") {\n return <AscendingIcon />;\n }\n if (sortDirection === \"desc\") {\n return <DescendingIcon />;\n }\n return <SortingIcon />;\n};\n","import { useCallback } from \"react\";\nimport { SortOrder, MultiFieldSort } from \"../type\";\n\nexport function useMultiSort(props: {\n columnKey: string;\n onSort?: (fieldKey: string, sortOrder?: SortOrder) => void;\n initialSort?: MultiFieldSort[];\n currentSorting?: { sortKey: string; sort: SortOrder };\n}) {\n const { onSort, currentSorting } = props;\n\n const handleFieldSort = useCallback(\n (fieldKey: string) => {\n // Check if this field is currently sorted\n const isCurrentField = currentSorting?.sortKey === fieldKey;\n let newOrder: SortOrder | undefined;\n\n if (!isCurrentField) {\n // Not currently sorted, start with asc\n newOrder = \"asc\";\n } else if (currentSorting.sort === \"asc\") {\n // Currently asc, change to desc\n newOrder = \"desc\";\n } else {\n // Currently desc, clear sorting\n newOrder = undefined;\n }\n\n // Call external handler\n onSort?.(fieldKey, newOrder);\n },\n [currentSorting, onSort],\n );\n\n const getFieldSort = useCallback(\n (fieldKey: string) => {\n // Only return sort info if this field is currently being sorted\n if (currentSorting?.sortKey === fieldKey) {\n return { sortKey: fieldKey, sort: currentSorting.sort };\n }\n return undefined;\n },\n [currentSorting],\n );\n\n return {\n handleFieldSort,\n getFieldSort,\n };\n}\n","import React, { useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { ButtonProps, buttonVariants } from \"../button\";\nimport { Flex } from \"../flex\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"../icon\";\nimport { useLocale } from \"../locale\";\nimport { Select } from \"../select\";\nimport { Text } from \"../typography/text\";\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<\"nav\">) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cnBase(\n \"oui-flex oui-justify-between oui-items-center oui-w-full oui-text-xs\",\n className,\n )}\n {...props}\n />\n);\nPagination.displayName = \"Pagination\";\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cnBase(\n \"oui-flex oui-flex-row oui-items-center oui-gap-x-2\",\n className,\n )}\n {...props}\n />\n));\nPaginationContent.displayName = \"PaginationContent\";\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cnBase(\"oui-leading-[0px]\", className)} {...props} />\n));\nPaginationItem.displayName = \"PaginationItem\";\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<ButtonProps, \"size\"> &\n React.ComponentProps<\"button\">;\n\nconst PaginationLink = ({\n className,\n isActive,\n // size = \"icon\",\n ...props\n}: PaginationLinkProps) => (\n <button\n aria-current={isActive ? \"page\" : undefined}\n data-active={isActive}\n className={buttonVariants({\n size: \"xs\",\n // color:'white',\n variant: isActive ? \"contained\" : \"text\",\n className:\n \"oui-min-w-6 oui-text-base-contrast-80 oui-font-semibold data-[active=false]:hover:oui-bg-base-6 disabled:oui-bg-transparent disabled:hover:oui-bg-transparent\",\n // size,\n })}\n {...props}\n />\n);\nPaginationLink.displayName = \"PaginationLink\";\n\nconst PaginationPrevious = ({\n className,\n\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to previous page\"\n className={cnBase(\"oui-gap-1 oui-pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon className=\"oui-h-4 oui-w-4\" color=\"white\" />\n </PaginationLink>\n);\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nconst PaginationNext = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to next page\"\n className={cnBase(\"oui-gap-1 oui-pr-2.5\", className)}\n {...props}\n >\n <ChevronRightIcon className=\"oui-h-4 oui-w-4\" color=\"white\" />\n </PaginationLink>\n);\nPaginationNext.displayName = \"PaginationNext\";\n\nconst PaginationEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => {\n const [locale] = useLocale(\"pagination\");\n return (\n <span\n aria-hidden\n className={cnBase(\n \"oui-flex oui-h-9 oui-w-9 oui-items-center oui-justify-center\",\n className,\n )}\n {...props}\n >\n {/* <DotsHorizontalIcon className=\"h-4 w-4\" /> */}\n <span className=\"sr-only\">{locale.morePages}</span>\n </span>\n );\n};\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\nexport type PaginationProps = {\n onPageChange?: (page: number) => void;\n onPageSizeChange?: (pageSize: number) => void;\n pageSize?: number;\n page: number;\n count: number;\n pageTotal: number;\n className?: string;\n classNames?: {\n pagination?: string;\n paginationContent?: string;\n paginationItem?: string;\n paginationLink?: string;\n paginationPrevious?: string;\n paginationNext?: string;\n paginationEllipsis?: string;\n };\n};\n\nconst Paginations = (props: PaginationProps) => {\n const {\n classNames,\n className,\n pageTotal: totalPages,\n page: currentPage,\n } = props;\n\n const [locale] = useLocale(\"pagination\");\n\n return (\n <Pagination className={cnBase(classNames?.pagination, className)}>\n <Flex mr={4}>\n <Text\n as=\"div\"\n size=\"2xs\"\n intensity={54}\n className=\"oui-text-nowrap oui-mr-2\"\n >\n {locale.rowsPerPage}\n </Text>\n <div className={\"oui-w-15\"}>\n <Select.options\n options={[\n { value: \"10\", label: \"10\" },\n { value: \"20\", label: \"20\" },\n { value: \"50\", label: \"50\" },\n { value: \"100\", label: \"100\" },\n { value: \"500\", label: \"500\" },\n ]}\n value={`${props.pageSize ?? 5}`}\n size=\"xs\"\n onValueChange={(value) => props.onPageSizeChange?.(parseInt(value))}\n />\n </div>\n </Flex>\n <PaginationItems {...props} />\n </Pagination>\n );\n};\n\nfunction generatePagination(\n currentPage: number,\n totalPages: number,\n): (number | string)[] {\n const pagination: (number | string)[] = [];\n const ellipsis = \"...\";\n const maxPagesToShow = 5;\n\n if (totalPages <= maxPagesToShow) {\n for (let i = 1; i <= totalPages; i++) {\n pagination.push(i);\n }\n } else {\n if (currentPage <= 3) {\n pagination.push(1, 2, 3, 4, ellipsis, totalPages);\n } else if (currentPage >= totalPages - 2) {\n pagination.push(\n 1,\n ellipsis,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n );\n } else {\n pagination.push(\n 1,\n ellipsis,\n currentPage - 1,\n currentPage,\n currentPage + 1,\n ellipsis,\n totalPages,\n );\n }\n }\n\n return pagination;\n}\n\nconst PaginationItems = (props: Omit<PaginationProps, \"onPageSizeChange\">) => {\n const {\n classNames,\n className,\n pageTotal: totalPages,\n page: currentPage,\n } = props;\n\n if (totalPages <= 1) {\n return null;\n }\n\n const pageNumbers = useMemo(() => {\n return generatePagination(currentPage, totalPages);\n }, [currentPage, totalPages]);\n\n return (\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious\n // @ts-ignore\n disabled={props.page === 1}\n onClick={(event) => {\n event.preventDefault();\n props.onPageChange?.(props.page - 1);\n }}\n />\n </PaginationItem>\n {pageNumbers.map((page, index) => {\n return (\n <PaginationItem key={index}>\n <PaginationLink\n isActive={page === props.page}\n onClick={(event) => {\n event.preventDefault();\n if (page !== \"...\") {\n props.onPageChange?.(Number(page));\n } else {\n props.onPageChange?.(\n Number((pageNumbers[index + 1] as number) - 1),\n );\n }\n }}\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n );\n })}\n\n {/* <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem> */}\n <PaginationItem>\n <PaginationNext\n disabled={props.page === props.pageTotal}\n onClick={(event) => {\n event.preventDefault();\n props.onPageChange?.(props.page + 1);\n }}\n />\n </PaginationItem>\n </PaginationContent>\n );\n};\n\nexport {\n Paginations,\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationItems,\n PaginationEllipsis,\n};\n","import { createContext } from \"react\";\nimport { localeValues } from \"./en\";\n\nexport type Locale = typeof localeValues;\n\nexport const LocaleContext = createContext<Locale | undefined>(undefined);\n","import React, { FC, useMemo } from \"react\";\nimport { Locale, LocaleContext } from \"./context\";\n\nexport type LocaleProviderProps = {\n locale: Locale;\n children?: React.ReactNode;\n};\n\nexport const LocaleProvider: FC<LocaleProviderProps> = (props) => {\n const value = useMemo<Locale>(\n () => ({ ...props.locale, exist: true }),\n [props.locale]\n );\n\n return (\n <LocaleContext.Provider value={value}>\n {props.children}\n </LocaleContext.Provider>\n );\n};\n","import { useContext, useMemo } from \"react\";\nimport { localeValues as defaultLocaleValues } from \"./en\";\nimport { Locale, LocaleContext } from \"./context\";\n\nexport type LocaleComponentName = Exclude<keyof Locale, \"locale\">;\n\nexport const useLocale = <C extends LocaleComponentName = LocaleComponentName>(\n componentName: C,\n defaultLocale?: Locale[C] | (() => Locale[C])\n): readonly [NonNullable<Locale[C]>, string] => {\n const fullLocale = useContext(LocaleContext);\n\n const getLocale = useMemo<NonNullable<Locale[C]>>(() => {\n const locale = defaultLocale || defaultLocaleValues[componentName];\n const localeFromContext = fullLocale?.[componentName] || {};\n return {\n ...(typeof locale === \"function\" ? locale() : locale),\n ...localeFromContext,\n };\n }, [componentName, defaultLocale, fullLocale]);\n\n const getLocaleCode = useMemo(() => {\n const localeCode = fullLocale?.locale;\n const defaultLocaleCode = defaultLocaleValues.locale;\n return localeCode || defaultLocaleCode;\n }, [fullLocale]);\n\n return [getLocale, getLocaleCode] as const;\n};\n","import { enUS } from \"date-fns/locale\";\n\nexport const localeValues = {\n locale: \"en\" as string,\n dialog: {\n ok: \"OK\",\n cancel: \"Cancel\",\n },\n modal: {\n confirm: \"Confirm\",\n cancel: \"Cancel\",\n },\n pagination: {\n morePages: \"More pages\",\n rowsPerPage: \"Rows per page\",\n },\n picker: {\n selectDate: \"Select Date\",\n dayPicker: enUS,\n },\n empty: {\n description: \"No results found.\",\n },\n} as const;\n","import { FC } from \"react\";\nimport { Flex } from \"../flex\";\nimport { PaginationProps, Paginations } from \"../pagination\";\n\nexport const TablePagination: FC<Omit<PaginationProps, \"classNames\">> = (\n props,\n) => {\n if (props.pageTotal === 0) {\n return null;\n }\n return (\n <Flex justify={\"end\"} py={2} mx={3} className=\"oui-h-10 oui-w-full\">\n <Paginations\n {...props}\n className=\"oui-table-pagination oui-justify-between oui-w-full\"\n />\n </Flex>\n );\n};\n","import { FC, ReactNode } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Box } from \"../box\";\nimport { ExtensionPositionEnum, ExtensionSlot } from \"../plugin\";\nimport { Spinner } from \"../spinner/spinner\";\n\ntype TablePlaceholderProps = {\n visible?: boolean;\n loading?: boolean;\n emptyView?: ReactNode;\n className?: string;\n};\n\nexport const TablePlaceholder: FC<TablePlaceholderProps> = (props) => {\n const { visible, loading, emptyView, className } = props;\n if (!visible) {\n return null;\n }\n return (\n <Box\n position=\"absolute\"\n left={0}\n top={0}\n right={0}\n bottom={0}\n className={cnBase(\n \"oui-flex oui-items-center oui-justify-center\",\n className,\n )}\n >\n {loading ? (\n <Spinner />\n ) : (\n emptyView || (\n <ExtensionSlot position={ExtensionPositionEnum.EmptyDataIdentifier} />\n )\n )}\n </Box>\n );\n};\n","import { getGlobalObject } from \"@kodiak-finance/orderly-utils\";\nimport { Extension, ExtensionBuilder, ExtensionPosition } from \"./types\";\n\nfunction DEFAULT_BUILDER(data: any) {\n // console.warn(\"No builder provided for extension\");\n return data || {};\n}\n\n// The plugin manager\nexport class OrderlyExtensionRegistry {\n // private static _instance: OrderlyExtensionRegistry;\n static getInstance(): OrderlyExtensionRegistry {\n const globalObject = getGlobalObject();\n\n if (!(globalObject as any).__ORDERLY_EXTENSION_REGISTRY__) {\n (globalObject as any).__ORDERLY_EXTENSION_REGISTRY__ =\n new OrderlyExtensionRegistry();\n }\n return (globalObject as any).__ORDERLY_EXTENSION_REGISTRY__;\n\n // if (!OrderlyExtensionRegistry._instance) {\n // OrderlyExtensionRegistry._instance = new OrderlyExtensionRegistry();\n // }\n // return OrderlyExtensionRegistry._instance;\n }\n private extensionMap: Map<ExtensionPosition, Extension<unknown>> = new Map();\n // private formatterMap: Map<string, Function> = new Map();\n\n register<Props>(\n plugin: Omit<Extension<Props>, \"builder\"> & {\n builder?: (props: any) => Props;\n },\n ) {\n // this.pluginMap.set(plugin.name, plugin);\n\n if (!plugin.builder) {\n console.warn(\"No builder provided for extension\");\n }\n\n for (let index = 0; index < plugin.positions.length; index++) {\n if (typeof plugin.builder !== \"function\") {\n // get existing builder\n const builder = this.extensionMap.get(plugin.positions[index])?.builder;\n plugin.builder =\n typeof builder === \"undefined\"\n ? // ? DEFAULT_BUILDER\n undefined\n : (builder as ExtensionBuilder);\n }\n const pos = plugin.positions[index];\n this.registerToPosition<Props>(pos, plugin as Extension<Props>);\n }\n }\n\n private registerToPosition<Props>(\n position: ExtensionPosition,\n plugin: Extension<Props>,\n ) {\n if (this.extensionMap.has(position)) {\n const existingPlugin = this.extensionMap.get(position);\n if (!existingPlugin?.__isInternal) {\n console.warn(\"`Plugin already registered at position [${position}]`\");\n // throw new Error(`Plugin already registered at position [${position}]`);\n if (!existingPlugin?.builder && plugin.__isInternal) {\n this.setBuilder(position, plugin.builder);\n }\n return;\n }\n if (!plugin.builder) {\n plugin.builder = existingPlugin.builder as ExtensionBuilder<Props>;\n }\n }\n this.extensionMap.set(position, plugin as Extension<any>);\n }\n\n setBuilder<Props>(\n position: ExtensionPosition,\n builder: ExtensionBuilder<Props>,\n ) {\n const plugin = this.extensionMap.get(position);\n if (plugin) {\n plugin.builder = builder;\n }\n }\n\n unregister(plugin: Extension<unknown>) {\n for (let index = 0; index < plugin.positions.length; index++) {\n const pos = plugin.positions[index];\n\n this.unregisterFromPosition(pos);\n }\n }\n\n private unregisterFromPosition(position: ExtensionPosition) {\n this.extensionMap.delete(position);\n }\n\n getPluginsByPosition(position: ExtensionPosition) {\n return this.extensionMap.get(position);\n }\n\n /**\n * get the registered formatter by position\n * @param position\n */\n getFormatterByPosition(position: ExtensionPosition) {\n return this.extensionMap.get(position);\n }\n}\n","import { ElementType, ReactElement } from \"react\";\nimport { ExtensionProvider } from \"./pluginContext\";\nimport { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\n\n/**\n * @name ExtensionOptions\n * @description Extension meta data\n */\nexport type ExtensionOptions<Props> = {\n name: string;\n /**\n * which ctx data the extension available to use\n */\n scope?: string[];\n /**\n * @description define the extension require @kodiak-finance/orderly-hook version, optional\n * @default \"*\"\n */\n engines?: string; //\n positions: ExtensionPosition[];\n builder?: (props: any) => Props;\n __isInternal?: boolean;\n entry?: string[];\n // dependencies?: string[]; // define the extension require other extensions, optional\n // lifecycle hooks\n /**\n * fire when the extension is installed\n * @returns\n */\n installed?: () => Promise<void>;\n onInit?: () => void;\n activate?: () => Promise<void>;\n deactivate?: () => Promise<void>;\n};\n\ntype ExtensionRenderComponentType<Props> =\n | ElementType<Props>\n | ((props: Props) => ReactElement);\n\n// type ExtensionRenderComponent = (\n// component: ExtensionRenderComponentType<Props>\n// ) => void;\n\nexport const installExtension = <Props,>(\n options: ExtensionOptions<Props>,\n): ((component: ExtensionRenderComponentType<Props>) => void) => {\n return (component) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n console.log(\"[plugin] install:\", options.name);\n registry.register<Props>({\n name: options.name,\n positions: options.positions,\n __isInternal: !!options.__isInternal,\n builder: options.builder,\n render: component,\n });\n };\n};\n\n/**\n * update the extension builder function\n */\nexport const setExtensionBuilder = <Props extends unknown = {}>(\n position: ExtensionPosition,\n builder: () => Props,\n) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n registry.setBuilder(position, builder);\n};\n","import React, { ElementType, useMemo } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { NotFound } from \"./notFound\";\nimport { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\nimport { useExtensionBuilder } from \"./useExtensionBuilder\";\n\ninterface SlotProps {\n position: ExtensionPosition;\n defaultWidget?: React.FC;\n scope?: string[];\n [key: string]: any;\n}\n\nexport const ExtensionSlot: React.FC<SlotProps> = (props) => {\n const { position, scope, defaultWidget: defaultValue, ...rest } = props;\n\n const elementProps = useExtensionBuilder(position, rest);\n\n const Ele = useMemo<ElementType>(() => {\n const registry = OrderlyExtensionRegistry.getInstance();\n const plugin = registry.getPluginsByPosition(position);\n return plugin?.render ?? defaultValue ?? NotFound;\n }, []);\n\n return (\n <ErrorBoundary\n fallback={<div>{`Component: [${position}] went wrong`}</div>}\n >\n <Slot {...elementProps} position={position}>\n <Ele />\n </Slot>\n </ErrorBoundary>\n );\n};\n","import { FC } from \"react\";\n\nexport const NotFound: FC<{ position: string }> = (props) => {\n const { position } = props;\n return (\n <div className=\"oui-text-danger\">\n <strong>{`[${position}] `}</strong>\n <span>Not found!</span>\n </div>\n );\n};\n","import { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\n\nexport const useBuilder = (position: ExtensionPosition, props: any) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n const plugin = registry.getPluginsByPosition(position);\n return () => {\n return plugin?.builder?.(props) || props;\n };\n};\n","import { ExtensionPosition } from \"./types\";\nimport { useBuilder } from \"./useBuilder\";\n\nexport const useExtensionBuilder = (\n position: ExtensionPosition,\n props: any\n) => {\n const builder = useBuilder(position, props);\n\n return builder();\n};\n","import { ElementType, ReactElement, ReactNode } from \"react\";\n\nexport type ExtensionBuilder<Props = any> = (\n props?: Partial<Props> & Record<string, any>\n) => Props;\n\nexport type ExtensionPosition = ExtensionPositionEnum | string;\n\nexport interface Extension<Props extends any = {}> {\n __isInternal: boolean;\n\n get name(): string;\n get positions(): ExtensionPosition[];\n\n initialize?: () => void;\n\n builder: ExtensionBuilder<Props>;\n\n // render(ctx: any): ReactNode;\n render: ElementType<Props> | ((props: Props) => ReactElement);\n}\n\nexport enum ExtensionPositionEnum {\n DepositForm = \"depositForm\",\n WithdrawForm = \"withdrawForm\",\n // ListEmpty = \"listEmpty\",\n // Positions = \"positions\",\n // Orders = \"orders\",\n // MainNav = \"mainNav\",\n // SideNav = \"sideNav\",\n /**\n * Wallet button\n */\n AccountMenu = \"accountMenu\",\n MobileAccountMenu = \"mobileAccountMenu\",\n // Logo = \"logo\",\n // Toast = \"toast\",\n /// Layout components\n MainMenus = \"mainMenus\",\n // PortfolioLayout = \"portfolioLayout\",\n // TradingRewardsLayout = \"tradingRewardsLayout\",\n // AffiliateLayoutLayout = \"affiliateLayoutLayout\",\n EmptyDataIdentifier = \"emptyDataIdentifier\",\n}\n\nexport type DepositProps = {\n onOk: () => void;\n};\n","import {\n ColumnSort,\n createColumnHelper,\n getPaginationRowModel,\n PaginationTableState,\n SortingState,\n SortingTableState,\n TableOptions,\n OnChangeFn,\n} from \"@tanstack/react-table\";\nimport { PaginationMeta, Column, TableSort, SortOrder } from \"./type\";\n\n/**\n * Compare two values intelligently for table sorting\n */\nconst compareValues = (aValue: any, bValue: any): number => {\n // Handle null/undefined values (always sort to bottom)\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return 1;\n if (bValue == null) return -1;\n\n // Convert to string first for type checking\n const aStr = String(aValue).trim();\n const bStr = String(bValue).trim();\n\n // More robust number detection - check if values can be converted to valid numbers\n const aNum = Number(aStr);\n const bNum = Number(bStr);\n const aIsNumber =\n !isNaN(aNum) && isFinite(aNum) && /^-?\\d*\\.?\\d+([eE][+-]?\\d+)?$/.test(aStr);\n const bIsNumber =\n !isNaN(bNum) && isFinite(bNum) && /^-?\\d*\\.?\\d+([eE][+-]?\\d+)?$/.test(bStr);\n\n if (aIsNumber && bIsNumber) {\n return aNum - bNum;\n }\n\n // Check if both are valid dates (ISO format or timestamp)\n const aIsDate = /^\\d{4}-\\d{2}-\\d{2}/.test(aStr) || /^\\d{13}$/.test(aStr);\n const bIsDate = /^\\d{4}-\\d{2}-\\d{2}/.test(bStr) || /^\\d{13}$/.test(bStr);\n\n if (aIsDate && bIsDate) {\n const aDate = new Date(aValue);\n const bDate = new Date(bValue);\n if (!isNaN(aDate.getTime()) && !isNaN(bDate.getTime())) {\n return aDate.getTime() - bDate.getTime();\n }\n }\n\n // String comparison - use localeCompare for proper string sorting\n return aStr.localeCompare(bStr, undefined, {\n sensitivity: \"base\",\n numeric: false, // Disable numeric sorting for pure string comparison\n caseFirst: \"upper\",\n });\n};\n\n/**\n * Custom sorting function for TanStack Table\n */\nconst customSortingFn = (rowA: any, rowB: any, columnId: string): number => {\n const aValue = rowA.getValue(columnId);\n const bValue = rowB.getValue(columnId);\n return compareValues(aValue, bValue);\n};\n\n/**\n * Create a sorting comparator for multiSort fields\n */\nconst createMultiSortComparator = (sortId: string, isDesc: boolean) => {\n return (a: any, b: any) => {\n // Support nested field access (e.g., \"user.name\" or \"data.price.value\")\n const getNestedValue = (obj: any, path: string) => {\n return path.split(\".\").reduce((current, key) => {\n return current && current[key] !== undefined ? current[key] : undefined;\n }, obj);\n };\n\n const aValue = getNestedValue(a, sortId) ?? a[sortId];\n const bValue = getNestedValue(b, sortId) ?? b[sortId];\n\n // Handle null/undefined values\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return 1;\n if (bValue == null) return -1;\n\n // Numeric comparison\n const aNum = Number(aValue);\n const bNum = Number(bValue);\n if (!isNaN(aNum) && !isNaN(bNum)) {\n return isDesc ? bNum - aNum : aNum - bNum;\n }\n\n // String comparison with enhanced support for complex strings\n const aStr = String(aValue);\n const bStr = String(bValue);\n const comparison = aStr.localeCompare(bStr, undefined, {\n sensitivity: \"base\",\n numeric: true, // Handle numeric sequences in strings like \"PERP_1000PEPE_USDC\"\n });\n\n return isDesc ? -comparison : comparison;\n };\n};\n\nexport const Transform = {\n columns: (\n columns: Column[],\n sorting?: SortingState,\n setSorting?: OnChangeFn<SortingState>,\n ) => {\n const columnHelper = createColumnHelper<any>();\n\n return columns?.map((column, index) => {\n // Create a copy of column to avoid mutating the original\n let columnCopy = { ...column };\n\n const { dataIndex, onSort, multiSort } = columnCopy;\n\n // For multi-field sorting, provide default onSort if not provided\n const isMultiSort = Boolean(multiSort);\n\n // If multiSort is enabled but no onSort is provided, create default handler\n if (isMultiSort && multiSort && !multiSort.onSort && setSorting) {\n columnCopy = {\n ...columnCopy,\n multiSort: {\n ...multiSort,\n onSort: (fieldKey: string, sortOrder?: SortOrder) => {\n if (!setSorting) return;\n\n if (!sortOrder) {\n // Clear sorting\n setSorting([]);\n } else {\n // Set sorting for the field with custom sorting function\n setSorting([\n {\n id: fieldKey,\n desc: sortOrder === \"desc\",\n },\n ]);\n }\n },\n },\n };\n }\n\n const commonProps = {\n meta: columnCopy,\n size: columnCopy.width || 100,\n };\n\n return columnHelper.accessor(dataIndex, {\n header: () => columnCopy.title,\n enableSorting: onSort && !isMultiSort ? true : false, // Disable sorting for multiSort columns\n sortingFn:\n typeof onSort === \"function\"\n ? (rowA, rowB, columnId) => onSort?.(rowA.original, rowB.original)\n : customSortingFn,\n ...commonProps,\n });\n });\n },\n\n dataSource: <T>(\n dataSource: ReadonlyArray<T> | T[],\n columns: Column[],\n sorting?: SortingState,\n ): ReadonlyArray<T> | T[] => {\n if (\n !dataSource ||\n dataSource.length === 0 ||\n !sorting ||\n sorting.length === 0\n ) {\n return dataSource || [];\n }\n\n const currentSort = sorting[0];\n const sortId = currentSort.id;\n\n // Check if this sort ID matches any multiSort field\n const multiSortColumn = columns.find((col) =>\n col.multiSort?.fields?.some((field) => field.sortKey === sortId),\n );\n\n if (!multiSortColumn) {\n return dataSource; // Not a multiSort field, return original data\n }\n\n // Create a copy and sort using the optimized comparator\n const sortedData = [...dataSource].sort(\n createMultiSortComparator(sortId, currentSort.desc),\n );\n\n return sortedData;\n },\n\n columnPinning: (columns: Column[]) => {\n const left: string[] = [];\n const right: string[] = [];\n columns?.map((column) => {\n if (column.fixed === \"left\") {\n left.push(column.dataIndex);\n } else if (column.fixed === \"right\") {\n right.push(column.dataIndex);\n }\n });\n\n return { left, right };\n },\n\n pagination: (pagination?: PaginationMeta) => {\n let state = {} as PaginationTableState;\n let config = {} as Pick<\n TableOptions<any>,\n \"getPaginationRowModel\" | \"onPaginationChange\"\n >;\n if (pagination) {\n state = {\n pagination: {\n pageIndex: pagination.page - 1,\n pageSize: pagination.pageSize,\n },\n };\n config = {\n // no need to set onPaginationChange\n // onPaginationChange,\n // load client-side pagination code\n getPaginationRowModel: getPaginationRowModel(),\n };\n }\n return { state, config };\n },\n // sorting: (onSort?: (sort?: TableSort) => void, initialSort?: TableSort) => {\n // let state = {} as SortingTableState;\n // let config = {} as Pick<TableOptions<any>, \"onSortingChange\">;\n\n // if (typeof onSort === \"function\") {\n // config = {\n // onSortingChange: (updaterFn: any) => {\n // const sorting = updaterFn() as ColumnSort[];\n // const { id, desc } = sorting[0];\n // onSort({ sortKey: id, sort: desc ? \"desc\" : \"asc\" });\n // },\n // };\n // }\n\n // if (initialSort) {\n // state = {\n // sorting: [\n // {\n // id: initialSort.sortKey,\n // desc: initialSort.sort === \"desc\",\n // },\n // ],\n // } as SortingTableState;\n // }\n\n // return { state, config };\n // },\n};\n","import React, { FC } from \"react\";\nimport { DateRange } from \"react-day-picker\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport {\n DateRangePicker,\n DateRangePickerProps,\n} from \"../pickers/dateRangePicker\";\nimport { DatePicker, DatePickerProps } from \"../pickers/datepicker\";\nimport { Picker, PickerProps } from \"../pickers/picker\";\nimport { CombineSelect } from \"../select/combine\";\nimport {\n SelectWithOptions,\n type SelectWithOptionsProps,\n} from \"../select/withOptions\";\n\ntype FilterType =\n | \"select\"\n | \"input\"\n | \"date\"\n | \"range\"\n | \"custom\"\n | \"symbol\"\n | \"picker\";\n\ntype DataFilterGeneral = {\n // initialValue?: any;\n name: string;\n type: FilterType;\n};\n\ntype SelectFilter = {\n type: \"select\";\n isCombine?: boolean;\n // options: DataFilterOption[];\n} & SelectWithOptionsProps;\n\n// type DateFilterMode = \"range\" | \"single\";\n\ntype DateFilter = {\n type: \"date\";\n // range?: DataFilterDateRange;\n // mode?: DateFilterMode;\n} & DatePickerProps;\n\ntype DateRangeFilter = {\n type: \"range\";\n} & DateRangePickerProps;\n\ntype SymbolFilter = {\n type: \"symbol\";\n};\n\ntype PickerFilter = {\n type: \"picker\";\n} & PickerProps;\n\nexport type DataFilterItem = DataFilterGeneral &\n (SelectFilter | DateFilter | DateRangeFilter | SymbolFilter | PickerFilter);\n\nexport type DataFilterProps = {\n items: DataFilterItem[];\n onFilter: (filter: { name: string; value: any }) => void;\n className?: string;\n trailing?: React.ReactNode;\n};\n\nconst FilterDatePicker = (props: DatePickerProps) => {\n return (\n <div>\n {/* @ts-ignore */}\n <DatePicker\n size=\"xs\"\n {...props}\n mode={\"single\"}\n onChange={(date) => {\n console.log(date);\n }}\n />\n </div>\n );\n};\n\nconst FilterDateRangePicker = (props: DateRangePickerProps) => {\n const { onChange, ...rest } = props;\n\n const onValueChange = (value: DateRange) => {\n // const from =value.from\n // console.log(value);\n\n if (typeof onChange === \"function\") {\n onChange(value);\n }\n };\n\n return (\n <div className={\"oui-min-w-[180px]\"}>\n <DateRangePicker size=\"xs\" {...rest} onChange={onValueChange} />\n </div>\n );\n};\n\nexport const DataFilterRenderer: FC<{\n type: FilterType;\n onChange?: (value: any) => void;\n [key: string]: any;\n}> = (props) => {\n const { onChange, type, isCombine, ...rest } = props;\n\n switch (type) {\n case \"select\":\n return (\n <div className=\"oui-min-w-24\">\n {isCombine ? (\n <CombineSelect\n size=\"xs\"\n {...(rest as SelectWithOptionsProps)}\n onValueChange={onChange}\n />\n ) : (\n <SelectWithOptions\n size=\"xs\"\n {...(rest as SelectWithOptionsProps)}\n onValueChange={onChange}\n />\n )}\n </div>\n );\n case \"date\":\n return <FilterDatePicker {...(rest as DatePickerProps)} />;\n case \"range\":\n return (\n <FilterDateRangePicker\n {...(rest as DateRangePickerProps)}\n onChange={onChange}\n />\n );\n case \"symbol\":\n return <div></div>;\n case \"picker\":\n return <Picker {...(rest as PickerProps)} onValueChange={onChange} />;\n case \"input\":\n default:\n return <div>No Component</div>;\n }\n};\n\nexport const DataFilter: React.FC<DataFilterProps> = (props) => {\n return (\n <Flex\n justify={\"start\"}\n gapX={3}\n py={3}\n width={\"100%\"}\n className={cnBase(\"oui-data-filter-bar\", props.className)}\n >\n {props.items.filter(Boolean).map((item, index: number) => {\n if (item.type === \"date\") {\n (item as DatePickerProps).mode = \"range\";\n }\n return (\n <DataFilterRenderer\n key={index}\n {...item}\n onChange={(value: any) => {\n // onChange(item.name ?? item.type, value);\n props.onFilter({ name: item.name ?? item.type, value });\n }}\n />\n );\n })}\n {props.trailing && (\n <div className=\"oui-flex oui-flex-1 oui-justify-end\">\n {props.trailing}\n </div>\n )}\n </Flex>\n );\n};\n","import { FC, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { Popover } from \"../popover/popover\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { format } from \"date-fns\";\nimport { DateRange, DayPickerRangeProps } from \"react-day-picker\";\nimport { useLocale } from \"../locale\";\nexport type DateRangePickerProps = {\n onChange?: (date: DateRange) => void;\n // selected: Date;\n placeholder?: string;\n value?: DateRange;\n initialValue?: DateRange;\n dateFormat?: string;\n size?: SizeType;\n className?: string;\n formatString?: string;\n} & Omit<DayPickerRangeProps, \"mode\">;\n\nconst DEFAULT_DATE_FORMAT = \"yyyy/MM/dd\";\n\nconst DateRangePicker: FC<DateRangePickerProps> = (props) => {\n const {\n placeholder,\n dateFormat,\n onChange,\n value,\n initialValue,\n size,\n className,\n formatString = DEFAULT_DATE_FORMAT,\n ...calendarProps\n } = props;\n const [locale] = useLocale(\"picker\");\n const [open, setOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | null>(\n value || initialValue || null\n );\n\n const [isMobileView, setIsMobileView] = useState<boolean>(false);\n\n const update = useDebouncedCallback((width: number) => {\n setIsMobileView(width <= 768);\n }, 100);\n\n // Effect hook to listen to window resize events\n useEffect(() => {\n const handleResize = () => {\n update(window.innerWidth);\n };\n\n setIsMobileView(window.innerWidth <= 768);\n window.addEventListener(\"resize\", handleResize);\n\n // Cleanup event listener on component unmount\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n if (\n value?.from &&\n value?.to &&\n dateRange?.from &&\n dateRange?.to &&\n !areDatesEqual(value as any, dateRange as any)\n )\n setDateRange(value);\n }, [value]);\n\n const { trigger } = selectVariants({ size, className });\n\n const formattedValue = useMemo(() => {\n // console.log(\"dateRange\", dateRange);\n if (!dateRange || !dateRange.from || !dateRange.to) {\n return placeholder ?? locale.selectDate;\n }\n const arr = [];\n if (dateRange.from) arr.push(format(dateRange.from, formatString));\n if (dateRange.to) arr.push(format(dateRange.to, formatString));\n\n return `${arr.join(\" - \")}`;\n }, [dateRange, placeholder, locale]);\n\n const onOpenChange = (nextOpen: boolean) => {\n // console.log(dateRange);\n if (\n typeof dateRange?.to === \"undefined\" &&\n typeof dateRange?.from !== \"undefined\"\n ) {\n setDateRange({\n ...dateRange,\n to: dateRange.from,\n });\n }\n if (!nextOpen && dateRange) {\n onChange?.(dateRange);\n }\n setOpen(nextOpen);\n };\n\n const onSelected = (range: DateRange, date: Date) => {\n if (dateRange?.from && dateRange?.to) {\n setDateRange({\n from: date,\n });\n } else {\n setDateRange(range);\n }\n };\n\n return (\n <Popover\n open={open}\n onOpenChange={onOpenChange}\n contentProps={{\n className: \"oui-w-auto oui-p-0\",\n align: \"start\",\n }}\n content={\n <Calendar\n numberOfMonths={isMobileView ? 1 : 2}\n {...calendarProps}\n mode={\"range\"}\n // @ts-ignore\n selected={dateRange}\n // @ts-ignore\n onSelect={onSelected}\n />\n }\n >\n <button\n className={trigger({\n className: \"oui-datepicker-trigger oui-group\",\n })}\n >\n <span className=\"oui-datepicker-trigger-icon\">\n <CalendarIcon size={14} className=\"oui-text-inherit\" opacity={1} />\n </span>\n <span>{formattedValue}</span>\n <CaretDownIcon\n size={12}\n className=\"oui-datepicker-trigger-arrow oui-text-inherit oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n opacity={1}\n />\n </button>\n </Popover>\n );\n};\n\nDateRangePicker.displayName = \"DateRangePicker\";\n\nexport { DateRangePicker };\n\nfunction useDebouncedCallback(callback: any, delay: number) {\n const timeoutRef = useRef<any | null>(null);\n\n const debouncedCallback = useCallback(\n (args: any) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n callback(args);\n }, delay);\n },\n [callback, delay]\n );\n return debouncedCallback;\n}\n\nfunction areDatesEqual(\n date1: { from: Date; to: Date },\n date2: { from: Date; to: Date }\n): boolean {\n const extractDateParts = (date: Date) => ({\n year: date.getFullYear(),\n month: date.getMonth(),\n day: date.getDate(),\n });\n\n const from1 = extractDateParts(date1.from);\n const to1 = extractDateParts(date1.to);\n const from2 = extractDateParts(date2.from);\n const to2 = extractDateParts(date2.to);\n\n return (\n from1.year === from2.year &&\n from1.month === from2.month &&\n from1.day === from2.day &&\n to1.year === to2.year &&\n to1.month === to2.month &&\n to1.day === to2.day\n );\n}\n","import { DayPicker } from \"react-day-picker\";\n\nimport { ChevronLeftIcon, ChevronRightIcon } from \"../../icon\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useLocale } from \"../../locale\";\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n const [locale] = useLocale(\"picker\");\n return (\n <DayPicker\n locale={locale.dayPicker}\n showOutsideDays={showOutsideDays}\n className={cnBase(\"oui-p-3 oui-bg-base-7 oui-rounded\", className)}\n classNames={{\n months:\n \"oui-flex oui-flex-col sm:oui-flex-row oui-space-y-4 sm:oui-space-x-4 sm:oui-space-y-0\",\n month: \"oui-space-y-4\",\n caption:\n \"oui-flex oui-justify-center oui-pt-1 oui-relative oui-items-center\",\n caption_label: \"oui-text-sm oui-font-medium \",\n nav: \"oui-space-x-1 oui-flex oui-items-center\",\n nav_button: cnBase(\n \"oui-h-7 oui-w-7 oui-bg-transparent oui-p-0 oui-opacity-50 hover:oui-opacity-100\"\n ),\n nav_button_previous: \"oui-absolute oui-left-1\",\n nav_button_next: \"oui-absolute oui-right-1\",\n table: \"oui-w-full oui-border-collapse oui-space-y-1\",\n head_row: \"oui-flex\",\n head_cell:\n \"oui-text-base-contrast-80 oui-rounded-md oui-w-7 oui-font-normal oui-text-[0.8rem] oui-opacity-30\",\n row: \"oui-flex oui-w-full oui-mt-2\",\n cell: cnBase(\n \"oui-relative oui-day-cell oui-p-0 oui-text-center oui-text-2xs focus-within:oui-relative focus-within:oui-z-20 [&:has([aria-selected])]:oui-bg-base-4 [&:has([aria-selected].day-outside)]:oui-bg-base-4/50 [&:has([aria-selected].day-range-end)]:oui-rounded-r-md\",\n props.mode === \"range\"\n ? \"[&:has(>.oui-day-range-end)]:oui-rounded-r-md [&:has(>.oui-day-range-start)]:oui-rounded-l-md first:[&:has([aria-selected])]:oui-rounded-l-md last:[&:has([aria-selected])]:oui-rounded-r-md\"\n : \"[&:has([aria-selected])]:oui-rounded-md\"\n ),\n day: cnBase(\n // buttonVariants({ variant: \"ghost\" }),\n \"oui-h-7 oui-w-7 oui-p-0 oui-rounded-md oui-font-normal aria-selected:oui-opacity-100 oui-text-base-contrast-80 hover:oui-bg-base-5\"\n ),\n day_range_start:\n \"day-range-start oui-bg-primary-darken oui-text-base-contrast-80 hover:oui-bg-primary-darken\",\n day_range_end:\n \"day-range-end oui-bg-primary-darken oui-text-base-contrast-80 hover:oui-bg-primary-darken\",\n day_selected: \"oui-bg-base-4 \",\n day_today: \"oui-bg-accent \",\n day_outside:\n \"oui-day-outside oui-text-muted-foreground oui-opacity-50 aria-selected:oui-bg-accent/50 aria-selected:oui-text-muted-foreground aria-selected:oui-opacity-30\",\n day_disabled: \"oui-text-muted-foreground oui-opacity-50\",\n day_range_middle:\n \"aria-selected:oui-bg-accent aria-selected:oui-text-accent-foreground\",\n day_hidden: \"oui-invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ...props }) => (\n <ChevronLeftIcon size={16} className=\"oui-text-inherit\" opacity={1} />\n ),\n IconRight: ({ ...props }) => (\n <ChevronRightIcon\n size={16}\n className=\"oui-text-inherit\"\n opacity={1}\n />\n ),\n }}\n {...props}\n />\n );\n}\n\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n","import { FC, useMemo, useState } from \"react\";\nimport { Popover } from \"../popover/popover\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { ActiveModifiers } from \"react-day-picker\";\nimport { useLocale } from \"../locale\";\nexport type DatePickerProps = {\n onChange?: (date: Date) => void;\n // selected: Date;\n placeholder?: string;\n value?: Date;\n dateFormat?: string;\n size?: SizeType;\n className?: string;\n} & CalendarProps;\n\nconst DatePicker: FC<DatePickerProps> = (props) => {\n const {\n placeholder,\n dateFormat,\n onChange,\n value,\n size,\n className,\n ...calendarProps\n } = props;\n\n const [locale] = useLocale(\"picker\");\n\n const { trigger } = selectVariants({ size, className });\n\n const [open, setOpen] = useState(false);\n\n const formattedValue = useMemo(() => {\n if (typeof value === \"undefined\") {\n return placeholder ?? locale.selectDate;\n }\n }, [value, placeholder, locale]);\n\n const onSelect = (\n day: Date | undefined,\n selectedDay: Date,\n activeModifiers: ActiveModifiers,\n e: MouseEvent\n ) => {\n //@ts-ignore\n calendarProps.onSelect?.(day, selectedDay, activeModifiers, e);\n\n if (day) {\n onChange?.(day);\n setOpen(false);\n }\n };\n\n return (\n <Popover\n open={open}\n onOpenChange={setOpen}\n contentProps={{\n className: \"oui-w-auto oui-p-0\",\n }}\n // @ts-ignore\n content={<Calendar onSelect={onSelect} {...calendarProps} />}\n >\n <button\n className={trigger({\n className: \"orderly-datepicker-trigger oui-group\",\n })}\n >\n <span className=\"orderly-datepicker-trigger-icon\">\n <CalendarIcon size={14} className=\"oui-text-inherit\" opacity={1} />\n </span>\n <span>{formattedValue}</span>\n <CaretDownIcon\n size={12}\n className=\"orderly-datepicker-trigger-arrow oui-text-inherit oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n opacity={1}\n />\n </button>\n </Popover>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n\nexport { DatePicker };\n","import {\n forwardRef,\n SelectHTMLAttributes,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { ChevronDownIcon, ChevronUpIcon, cn } from \"..\";\nimport { SelectOption } from \"../select/withOptions\";\nimport { ActionSheet, ActionSheetItem } from \"../sheet\";\nimport { tv } from \"../utils/tv\";\n\nconst pickerVariants = tv({\n base: \"oui-flex oui-flex-row oui-items-stretch oui-rounded-md oui-cursor-pointer oui-border oui-border-line-6 oui-bg-line-4 oui-text-base-contrast-54\",\n variants: {\n size: {\n sm: \"oui-px-2 oui-h-[22px] oui-text-2xs\",\n md: \"oui-px-2 oui-h-[24px] oui-text-2xs\",\n base: \"oui-px-3 oui-h-[40px]\",\n lg: \"oui-px-6 oui-py-3\",\n },\n fullWidth: {\n true: \"oui-w-full\",\n },\n disabled: {\n true: \"oui-opacity-50 oui-cursor-not-allowed\",\n },\n color: {\n // primary: \"text-primary-darken\",\n base: \"oui-text-base-contract\",\n buy: \"oui-text-trade-profit\",\n sell: \"oui-text-trade-loss\",\n },\n },\n defaultVariants: {\n size: \"base\",\n color: \"base\",\n },\n});\n\nexport interface PickerProps\n extends Omit<\n SelectHTMLAttributes<HTMLSelectElement>,\n \"disabled\" | \"size\" | \"color\" | \"value\"\n >,\n VariantProps<typeof pickerVariants> {\n loading?: boolean;\n label?: string;\n placeholder?: string;\n options: SelectOption[];\n value?: SelectOption | string | number;\n onValueChange?: (value: any) => void;\n valueRenderer?: (\n value: any,\n options: { open?: boolean; data?: any },\n ) => React.ReactNode;\n}\n\nexport type PickerRef = {};\n\nexport const Picker = forwardRef<PickerRef, PickerProps>(\n (originalProps, ref) => {\n const {\n size,\n color,\n value,\n label,\n placeholder,\n className,\n options,\n fullWidth,\n disabled,\n valueRenderer,\n ...props\n } = originalProps;\n\n const [open, setOpen] = useState(false);\n\n const selectedItem = useMemo<SelectOption | undefined>(() => {\n if (value && !!(value as SelectOption).value) {\n return value as SelectOption;\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n const option = options.find((option) => option.value === value);\n if (option) {\n return option;\n }\n }\n }, [value, options]);\n\n const text = useMemo(() => {\n if (selectedItem) {\n return selectedItem.label;\n }\n return placeholder || label || \"\";\n }, [selectedItem, label, placeholder]);\n\n const actions = useMemo<ActionSheetItem[]>(() => {\n return [...options, \"---\", \"Cancel\"];\n }, [options]);\n\n // const triggerRef = useRef(null);\n // const [dropdownWidth, setDropdownWidth] = useState(218);\n\n // useEffect(() => {\n // if (triggerRef.current) {\n // // @ts-ignore\n // const width = triggerRef.current.offsetWidth;\n // setDropdownWidth(width);\n // }\n // }, []);\n\n return (\n <ActionSheet\n actionSheets={actions}\n onOpenChange={setOpen}\n open={open}\n onClose={() => setOpen(false)}\n // @ts-ignore\n value={selectedItem}\n onValueChange={props.onValueChange}\n >\n {typeof valueRenderer === \"function\" ? (\n valueRenderer(selectedItem?.value || props.defaultValue, {\n open: open,\n data: (selectedItem as any)?.data,\n })\n ) : (\n <div\n className={cn(\n \"oui-space-x-1\",\n \"oui-text-base-contrast-54\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n pickerVariants({\n size,\n color,\n fullWidth,\n disabled: disabled || options.length === 0,\n className,\n }),\n )}\n >\n <div className=\"oui-flex oui-flex-1 oui-items-center oui-justify-start oui-text-2xs oui-text-inherit\">\n {text}\n </div>\n <div className=\"oui-flex oui-items-center\">\n {open ? (\n <ChevronUpIcon size={14} color=\"white\" />\n ) : (\n <ChevronDownIcon size={14} color=\"white\" />\n )}\n </div>\n </div>\n )}\n </ActionSheet>\n );\n },\n);\n","import * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cn, cnBase, tv, type VariantProps } from \"tailwind-variants\";\nimport { CloseIcon } from \"../icon/close\";\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cnBase(\n \"oui-fixed oui-inset-0 oui-z-50 oui-bg-black/80 data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out data-[state=closed]:oui-fade-out-0 data-[state=open]:oui-fade-in-0\",\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = tv({\n base: \"oui-fixed oui-z-50 oui-gap-4 oui-bg-base-8 oui-px-4 oui-shadow-lg oui-transition oui-ease-in-out data-[state=closed]:oui-duration-260 data-[state=open]:oui-duration-300 data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out\",\n variants: {\n side: {\n top: \"oui-inset-x-0 oui-top-0 oui-border-b data-[state=closed]:oui-slide-out-to-top data-[state=open]:oui-slide-in-from-top\",\n bottom:\n \"oui-inset-x-0 oui-bottom-0 oui-rounded-t-2xl data-[state=closed]:oui-slide-out-to-bottom data-[state=open]:oui-slide-in-from-bottom\",\n left: \"oui-inset-y-0 oui-left-0 oui-h-full oui-w-3/4 data-[state=closed]:oui-slide-out-to-left data-[state=open]:oui-slide-in-from-left sm:oui-max-w-sm\",\n right:\n \"oui-inset-y-0 oui-right-0 oui-h-full oui-w-3/4 oui-border-l data-[state=closed]:oui-slide-out-to-right data-[state=open]:oui-slide-in-from-right sm:oui-max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"bottom\",\n },\n});\n\nexport interface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n // if true, show close button\n closeable?: boolean;\n onClose?: () => void;\n closeableSize?: number;\n closeOpacity?: number;\n closeClassName?: string;\n overlayClassName?: string;\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(\n (\n {\n side = \"bottom\",\n closeable = true,\n closeableSize = 16,\n closeOpacity = 0.98,\n className,\n overlayClassName,\n children,\n ...props\n },\n ref,\n ) => (\n <SheetPortal>\n <SheetOverlay className={overlayClassName} />\n <SheetPrimitive.Content\n ref={ref}\n className={cnBase(sheetVariants({ side }), className)}\n onOpenAutoFocus={(e) => e.preventDefault()}\n onCloseAutoFocus={(e) => e.preventDefault()}\n {...props}\n >\n {closeable && (\n <SheetPrimitive.Close\n className={cnBase(\n \"oui-ring-offset-base-700 focus:oui-ring-ring oui-absolute oui-right-4 oui-top-4 oui-z-10 oui-rounded-sm oui-transition-opacity focus:oui-outline-none focus:oui-ring-2 focus:oui-ring-offset-2 active:oui-outline-none focus:orderly-outline-none disabled:oui-pointer-events-none data-[state=open]:oui-bg-secondary\",\n props?.closeClassName,\n )}\n >\n <CloseIcon\n size={closeableSize}\n color=\"white\"\n opacity={closeOpacity}\n onClick={props?.onClose}\n />\n <span className=\"oui-sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n ),\n);\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({\n className,\n leading,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & {\n leading?: React.ReactNode;\n}) => (\n <div\n className={cnBase(\n \"oui-sheet-header oui-grid oui-min-h-12 oui-grid-cols-[40px_1fr_40px] oui-items-center\",\n )}\n >\n <div>{leading}</div>\n <div\n {...props}\n className={cnBase(\n \"oui-flex oui-flex-col oui-space-y-2 oui-text-center oui-text-lg oui-text-base-contrast\",\n className,\n )}\n />\n </div>\n);\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetBody = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div className={cn(\"oui-py-4\", className)({ twMerge: true })} {...props} />\n );\n};\n\nSheetBody.displayName = \"DialogBody\";\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cnBase(\n \"oui-sheet-footer oui-flex oui-flex-col-reverse sm:oui-flex-row sm:oui-justify-end sm:oui-space-x-2\",\n className,\n )}\n {...props}\n />\n);\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title> & {\n leading?: React.ReactNode;\n }\n>(({ className, leading, ...props }, ref) => (\n <div\n className=\"oui-sheet-header oui-grid oui-grid-cols-[40px_1fr_40px] oui-items-center\"\n ref={ref}\n >\n <div>{leading}</div>\n <div\n className={cnBase(\n \"oui-flex oui-flex-col oui-space-y-2 oui-text-center oui-text-lg oui-text-base-contrast\",\n className,\n )}\n {...props}\n />\n </div>\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cnBase(\n \"oui-sheet-description oui-text-2xs oui-text-base-contrast-54\",\n className,\n )}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetBody,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","import React, {\n FC,\n PropsWithChildren,\n ReactElement,\n ElementType,\n createContext,\n useContext,\n useReducer,\n ReactNode,\n} from \"react\";\nimport { ModalAction, ModalArgs, ModalCallbacks, ModalStore } from \"./types\";\nimport { getModalId } from \"./utils\";\nimport { MODAL_REGISTRY, register } from \"./modalHelper\";\n\nexport type ModalContextType = {};\n\nconst initialState: ModalStore = {};\n\n// const MODAL_STACK: string[] = [];\n\nexport const ALREADY_MOUNTED: Record<string, boolean> = {};\n\nexport const ModalContext = createContext<ModalStore>(initialState);\n\nexport const ModalIdContext = createContext<string | null>(null);\n\nexport const modalCallbacks: ModalCallbacks = {};\nexport const hideModalCallbacks: ModalCallbacks = {};\n\nlet dispatch: React.Dispatch<ModalAction> = () => {\n throw new Error(\n \"No dispatch method detected, did you embed your app with Modal.Provider?\"\n );\n};\n\n//------- reducer actions --------\n/**\n * show modal\n * @param id string modalId\n * @param args Record<string, unknown> modalArgs\n * @returns ModalAction\n */\nfunction showModal(id: string, args?: any): ModalAction {\n return {\n type: \"SHOW_MODAL\",\n payload: {\n id,\n args,\n },\n };\n}\n\n/**\n * close modal\n * @param id string modalId\n * @returns ModalAction\n */\nfunction hideModal(id: string): ModalAction {\n return {\n type: \"HIDE_MODAL\",\n payload: {\n id,\n },\n };\n}\n\nfunction removeModal(id: string): ModalAction {\n return {\n type: \"DESTROY_MODAL\",\n payload: {\n id,\n },\n };\n}\n\nfunction updateArgsAction(\n id: string,\n args: Record<string, unknown>\n): ModalAction {\n return {\n type: \"UPDATE_ARGS\",\n payload: {\n id,\n args,\n },\n };\n}\n\nfunction setModalStates(\n id: string,\n states: Record<string, unknown>\n): ModalAction {\n return {\n type: \"SET_MODAL_STATES\",\n payload: {\n id,\n states,\n },\n };\n}\n\n//------- reducer actions --------\n\nconst reducer = (state: ModalStore, action: ModalAction) => {\n const { id, args } = action.payload;\n // console.log(\"reducer action\", action);\n switch (action.type) {\n case \"SHOW_MODAL\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n id,\n args,\n visible: !!ALREADY_MOUNTED[id],\n delayVisible: !ALREADY_MOUNTED[id],\n },\n };\n }\n case \"HIDE_MODAL\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n visible: false,\n },\n };\n }\n case \"DESTROY_MODAL\": {\n const newState = { ...state };\n delete newState[id];\n return newState;\n }\n case \"UPDATE_ARGS\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n args: {\n ...state[id].args,\n ...args,\n },\n },\n };\n }\n case \"SET_MODAL_STATES\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n states: {\n ...state.states,\n ...action.payload.states,\n },\n },\n };\n }\n default:\n return state;\n }\n};\n\nconst ModalContainer: FC = () => {\n const modals = useContext(ModalContext);\n const visibleModalIds = Object.keys(modals).filter((id) => !!modals[id]);\n\n visibleModalIds.forEach((id) => {\n if (!MODAL_REGISTRY.has(id) && !ALREADY_MOUNTED[id]) {\n console.warn(\n `No modal found for id: ${id}. Please check the id or if it is registered or declared via JSX.`\n );\n return;\n }\n });\n\n const components = visibleModalIds\n .filter((id) => MODAL_REGISTRY.has(id))\n .map((id) => {\n return {\n id,\n ...MODAL_REGISTRY.get(id)!,\n };\n });\n\n // console.log(\"components\", components, modals);\n\n return (\n <>\n {components.map((component) => {\n // console.log(\"component\", component);\n\n const Comp: ElementType = component.comp;\n return (\n <Comp key={component.id} id={component.id} {...component.props} />\n );\n })}\n </>\n );\n};\n\nexport const ModalProvider: FC<\n PropsWithChildren<{\n dialogBuilder?: (children: ReactNode) => ReactElement;\n }>\n> = (props) => {\n const [state, dispatchOrigin] = useReducer(reducer, initialState);\n dispatch = dispatchOrigin;\n return (\n <ModalContext.Provider value={state}>\n {props.children}\n <ModalContainer />\n </ModalContext.Provider>\n );\n};\n\nfunction show<T extends any, C extends any>(\n modal: ElementType<C>,\n args?: ModalArgs<ElementType<C>>\n): Promise<T>;\nfunction show<T extends any>(\n modal: string,\n args?: Record<string, unknown>\n): Promise<T>;\nfunction show<T extends any, P extends any>(\n modal: string,\n args?: P\n): Promise<T>;\nfunction show<T extends any, P extends any>(\n modal: ElementType<any> | string,\n args?: any\n): Promise<unknown> {\n const modalId = getModalId(modal);\n if (typeof modal !== \"string\" && !MODAL_REGISTRY.has(modalId)) {\n register(modalId, modal as ElementType);\n }\n\n dispatch(showModal(modalId, args));\n if (!modalCallbacks[modalId]) {\n let theResolve!: (args?: unknown) => void;\n // `!` tell ts that theResolve will be written before it is used\n let theReject!: (args?: unknown) => void;\n const promise = new Promise((resolve, reject) => {\n theResolve = resolve;\n theReject = reject;\n });\n modalCallbacks[modalId] = {\n resolve: theResolve,\n reject: theReject,\n promise,\n };\n }\n\n return modalCallbacks[modalId].promise as Promise<T>;\n}\n\nfunction hide<T>(modal: string | FC<any>): Promise<T>;\nfunction hide(modal: string | FC<any>) {\n const modalId = getModalId(modal);\n dispatch(hideModal(modalId));\n\n delete modalCallbacks[modalId];\n\n if (!hideModalCallbacks[modalId]) {\n let theResolve!: (args?: unknown) => void;\n let theReject!: (args?: unknown) => void;\n const promise = new Promise((resolve, reject) => {\n theResolve = resolve;\n theReject = reject;\n });\n hideModalCallbacks[modalId] = {\n resolve: theResolve,\n reject: theReject,\n promise,\n };\n }\n\n return hideModalCallbacks[modalId].promise;\n}\n\nfunction remove(id: string) {\n dispatch(removeModal(id));\n delete modalCallbacks[id];\n delete hideModalCallbacks[id];\n}\n\nfunction setStates(id: string, states: Record<string, unknown>) {\n dispatch(setModalStates(id, states));\n}\n\nfunction updateArgs(id: string, args: Record<string, unknown>) {\n dispatch(updateArgsAction(id, args));\n}\n\nexport const modalActions = {\n show,\n hide,\n remove,\n setStates,\n updateArgs,\n};\n","const symModalId = Symbol(\"modalId\");\n\nlet uidSeed = 0;\n\nconst getUid = () => `__modal_${uidSeed++}`;\n\nexport const getModalId = (modal: any): string => {\n if (typeof modal === \"string\") return modal as string;\n if (!modal[symModalId]) {\n modal[symModalId] = getUid();\n }\n return modal[symModalId];\n};\n","import { ElementType, FC, useContext, useEffect } from \"react\";\nimport type { ModalArgs, ModalHocProps } from \"./types\";\nimport { useModal } from \"./useModal\";\nimport {\n ALREADY_MOUNTED,\n modalActions,\n ModalContext,\n ModalIdContext,\n} from \"./modalContext\";\n\ntype ModalRegistry = {\n comp: ElementType;\n props?: Record<string, unknown>;\n};\n\nexport const MODAL_REGISTRY = new Map<string, ModalRegistry>();\n\nexport const create = <P extends {}>(\n Comp: React.ComponentType<P>\n): FC<P & ModalHocProps> => {\n // return higher order component\n // eslint-disable-next-line react/display-name\n return ({ id, defaultVisible, keepMounted, ...props }) => {\n const { args, show } = useModal(id);\n\n const modals = useContext(ModalContext);\n const shouldMount = !!modals[id];\n\n useEffect(() => {\n if (defaultVisible) {\n show();\n }\n\n ALREADY_MOUNTED[id] = true;\n\n return () => {\n if (!keepMounted) {\n delete ALREADY_MOUNTED[id];\n }\n };\n }, [id, show, defaultVisible]);\n\n useEffect(() => {\n if (keepMounted) modalActions.setStates(id, { keepMounted: true });\n }, [id, keepMounted]);\n\n const delayVisible = modals[id]?.delayVisible;\n\n useEffect(() => {\n if (delayVisible) {\n show(args);\n }\n }, [delayVisible, args, show]);\n\n if (!shouldMount) return null;\n\n return (\n <ModalIdContext.Provider value={id}>\n <Comp {...(props as unknown as P)} {...args} />\n </ModalIdContext.Provider>\n );\n };\n};\n\nexport function register<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<ModalArgs<Props>>\n): void {\n if (!MODAL_REGISTRY.has(id)) {\n // auto crate;\n // MODAL_REGISTRY.set(id, { comp, props });\n MODAL_REGISTRY.set(id, { comp, props });\n } else {\n MODAL_REGISTRY.set(id, { comp: MODAL_REGISTRY.get(id)!.comp!, props });\n }\n}\n\nexport const unregister = (id: string): void => {\n MODAL_REGISTRY.delete(id);\n};\n","import { FC, useCallback, useContext, useEffect } from \"react\";\nimport { ModalArgs, ModalHandler } from \"./types\";\nimport {\n ModalContext,\n hideModalCallbacks,\n modalActions,\n modalCallbacks,\n ModalIdContext,\n} from \"./modalContext\";\nimport { getModalId } from \"./utils\";\nimport { register } from \"./modalHelper\";\n\nexport function useModal(): ModalHandler;\nexport function useModal(\n modal: string,\n args?: Record<string, unknown>\n): ModalHandler;\nexport function useModal<\n T extends React.FC<any>,\n ComponentProps extends ModalArgs<T>,\n PreparedProps extends Partial<ComponentProps> = {} | ComponentProps,\n RemainingProps = Omit<ComponentProps, keyof PreparedProps> &\n Partial<ComponentProps>,\n ResolveType = unknown\n>(\n modal: T,\n args?: PreparedProps\n): Omit<ModalHandler, \"show\"> & {\n show: Partial<RemainingProps> extends RemainingProps\n ? (args?: RemainingProps) => Promise<ResolveType>\n : (args: RemainingProps) => Promise<ResolveType>;\n};\nexport function useModal(modal?: any, args?: any): ModalHandler {\n const modals = useContext(ModalContext);\n const modalIdFromContext = useContext(ModalIdContext);\n\n let modalId: string | null;\n let isComponent = modal && typeof modal !== \"string\";\n\n if (!modal) {\n modalId = modalIdFromContext;\n } else {\n modalId = getModalId(modal);\n }\n\n if (!modalId) {\n throw new Error(\"modalId is required\");\n }\n\n const id = modalId as string;\n\n useEffect(() => {\n if (isComponent) {\n register(id, modal, args);\n }\n }, [isComponent, modalId, modal, args]);\n\n const modalInfo = modals[id];\n\n // console.log(\"modalInfo\", modalInfo);\n\n const show = useCallback(\n (args?: Record<string, unknown>) => modalActions.show(id, args),\n [id]\n );\n\n const hide = useCallback(() => modalActions.hide(id), [id]);\n\n const remove = useCallback(() => modalActions.remove(id), [id]);\n\n const onOpenChange = useCallback(\n (isOpen: boolean) => {\n // isOpen ? () => {} : hide();\n if (!isOpen) {\n // hide();\n reject(\"cancel\");\n hide();\n }\n },\n [id]\n );\n\n const setStates = useCallback(\n (states: Record<string, unknown>) => {\n modalActions.setStates(id, states);\n },\n [id]\n );\n\n const updateArgs = useCallback(\n (args: Record<string, unknown>) => {\n modalActions.updateArgs(id, args);\n },\n [id]\n );\n\n const resolve = useCallback(\n (args?: unknown) => {\n modalCallbacks[id]?.resolve(args);\n delete modalCallbacks[id];\n },\n [id]\n );\n\n const reject = useCallback(\n (args?: unknown) => {\n modalCallbacks[id]?.reject(args);\n delete modalCallbacks[id];\n },\n [id]\n );\n\n const resolveHide = useCallback((args?: unknown) => {\n hideModalCallbacks[id]?.resolve(args);\n delete hideModalCallbacks[id];\n }, []);\n\n return {\n id,\n args: modalInfo?.args,\n states: modalInfo?.states,\n visible: !!modalInfo?.visible,\n keepMounted: !!modalInfo?.keepMounted,\n\n show,\n hide,\n onOpenChange,\n setStates,\n updateArgs,\n remove,\n /**\n * resolve the show Promise\n */\n resolve,\n /**\n * reject the show Promise\n */\n reject,\n /**\n * emit when modal is hidden\n */\n resolveHide,\n };\n}\n","import { tv } from \"../utils/tv\";\nimport React from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\n\nconst dividerVariants = tv({\n base: [\"oui-pointer-events-none oui-box-content\"],\n variants: {\n intensity: {\n 4: \"oui-border-line-4\",\n 6: \"oui-border-line-6\",\n 8: \"oui-border-line\",\n 12: \"oui-border-line-12\",\n 16: \"oui-border-line-16\",\n },\n direction: {\n horizontal: [\"oui-border-b\"],\n vertical: [\"oui-border-l\"],\n },\n lineStyle: {\n // solid: \"oui-border-solid\",\n dashed: \"oui-border-dashed\",\n dotted: \"oui-border-dotted\",\n },\n mx: {\n 2: \"oui-mx-2\",\n 4: \"oui-mx-4\",\n 6: \"oui-mx-6\",\n 8: \"oui-mx-8\",\n 10: \"oui-mx-10\",\n },\n my: {\n 2: \"oui-my-2\",\n 4: \"oui-my-4\",\n 6: \"oui-my-6\",\n 8: \"oui-my-8\",\n 10: \"oui-my-10\",\n },\n },\n defaultVariants: {\n direction: \"horizontal\",\n intensity: 4,\n },\n});\n\ntype DividerProps = VariantProps<typeof dividerVariants> &\n React.HTMLAttributes<HTMLDivElement>;\n\nconst Divider = React.forwardRef<HTMLDivElement, DividerProps>((props, ref) => {\n const { className, intensity, direction, lineStyle, mx, my, ...rest } = props;\n return (\n <div\n ref={ref}\n {...rest}\n className={dividerVariants({\n direction,\n intensity,\n className,\n lineStyle,\n mx,\n my,\n })}\n />\n );\n});\n\nDivider.displayName = \"Divider\";\n\nexport { Divider, dividerVariants };\nexport type { DividerProps };\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport { Sheet, SheetContent, SheetHeader } from \".\";\nimport { Divider } from \"../divider\";\nimport { SheetBody, SheetContentProps, SheetTitle } from \"./sheet\";\n\nexport interface SimpleSheetProps {\n title?: ReactNode | (() => ReactNode);\n leading?: React.ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n classNames?: {\n content?: string;\n body?: string;\n header?: string;\n overlay?: string;\n };\n contentProps?: SheetContentProps;\n closable?: boolean;\n}\n\nexport const SimpleSheet: FC<PropsWithChildren<SimpleSheetProps>> = (props) => {\n const {\n open,\n onOpenChange,\n classNames,\n contentProps,\n closable = true,\n } = props;\n\n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <Sheet open={open} onOpenChange={onOpenChange}>\n <SheetContent\n onOpenAutoFocus={(event) => event.preventDefault()}\n className={classNames?.content}\n overlayClassName={classNames?.overlay}\n closeable={closable}\n {...contentProps}\n >\n {title && (\n <>\n <SheetHeader leading={props.leading}>\n <SheetTitle>{title}</SheetTitle>\n </SheetHeader>\n <Divider />\n </>\n )}\n <SheetBody className={classNames?.body}>{props.children}</SheetBody>\n </SheetContent>\n </Sheet>\n );\n};\n","import { ReactNode } from \"react\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { SimpleSheet, SimpleSheetProps } from \"../../sheet/simpleSheet\";\n\nexport type SheetProps = Pick<\n SimpleSheetProps,\n \"title\" | \"classNames\" | \"leading\" | \"contentProps\" | \"closable\"\n> & {\n content: ReactNode;\n};\nconst BaseSheet = create<SheetProps>((props) => {\n const { visible, hide, resolve, onOpenChange } = useModal();\n\n return (\n <SimpleSheet open={visible} onOpenChange={onOpenChange} {...props}>\n {props.content}\n </SimpleSheet>\n );\n});\n\nexport const sheet = (props: SheetProps) => {\n return modalActions.show(BaseSheet, props);\n};\n","import { ReactNode, useCallback } from \"react\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { AlertDialog, AlertDialogProps } from \"../../dialog/alertDialog\";\n\nexport const CreatedAlertDialog = create<AlertDialogProps>((props) => {\n const { onOk } = props;\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n\n const onOkHandler = useCallback((): Promise<any> => {\n return Promise.resolve().then(onOk).then(hide);\n }, [onOk]);\n\n return (\n <AlertDialog\n open={visible}\n onOpenChange={onOpenChange}\n {...props}\n onOk={onOkHandler}\n />\n );\n});\n\nexport const alert = (props: AlertDialogProps) => {\n return modalActions.show(CreatedAlertDialog, props);\n};\n","import { FC, ReactNode, useMemo } from \"react\";\nimport { SimpleDialog, SimpleDialogProps } from \"./simpleDialog\";\nimport { DialogAction } from \"./simpleDialogFooter\";\nimport { useScreen } from \"../hooks\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useLocale } from \"../locale\";\n\nexport type AlertDialogProps = {\n message?: ReactNode;\n onOk?: () => Promise<boolean>;\n onCancel?: () => void;\n okLabel?: string;\n cancelLabel?: string;\n actions?: {\n primary?: Partial<DialogAction>;\n secondary?: Partial<DialogAction>;\n };\n} & Pick<\n SimpleDialogProps,\n \"open\" | \"onOpenChange\" | \"title\" | \"closable\" | \"classNames\" | \"size\"\n>;\n\n/**\n * Generic alert dialog, often used for confirmation/alert/information dialogs.\n */\nexport const AlertDialog: FC<AlertDialogProps> = (props) => {\n const [locale] = useLocale(\"dialog\");\n const {\n title,\n message,\n open,\n onOpenChange,\n onOk,\n onCancel,\n okLabel = locale.ok,\n cancelLabel = locale.cancel,\n size,\n classNames,\n } = props;\n\n const { isMobile } = useScreen();\n\n const actions = useMemo(() => {\n if (typeof onOk !== \"function\" && typeof onCancel !== \"function\")\n return undefined;\n const actions: any = {};\n if (typeof onCancel === \"function\") {\n actions[\"secondary\"] = {\n label: cancelLabel,\n onClick: onCancel,\n size: \"md\",\n fullWidth: true,\n ...props.actions?.secondary,\n } as DialogAction;\n }\n\n if (typeof onOk === \"function\") {\n actions[\"primary\"] = {\n label: okLabel,\n size: \"md\",\n fullWidth: true,\n className: \"oui-w-full lg:oui-w-[154px]\",\n onClick: onOk,\n ...props.actions?.primary,\n } as DialogAction;\n }\n\n return actions;\n }, [onOk, onCancel, okLabel, cancelLabel, props.actions]);\n\n const defaultSize = isMobile ? \"xs\" : \"sm\";\n\n return (\n <SimpleDialog\n open={open}\n title={title}\n size={size || defaultSize}\n actions={actions}\n onOpenChange={onOpenChange}\n classNames={{\n content: cnBase(\n \"oui-bg-base-8 oui-font-semibold oui-border oui-border-line-6\",\n \"oui-p-4 oui-pt-0 lg:oui-p-5 lg:oui-pt-0\",\n classNames?.content\n ),\n body: cnBase(\"oui-py-4 lg:oui-py-5\", classNames?.body),\n footer: cnBase(\n \"oui-justify-center oui-pb-0 oui-pt-2 lg:oui-pt-3\",\n classNames?.footer\n ),\n }}\n >\n {message}\n </SimpleDialog>\n );\n};\n","import * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { VariantProps, tv } from \"tailwind-variants\";\nimport { CloseIcon } from \"../icon/close\";\n\nconst dialogVariants = tv({\n slots: {\n overlay: [\n \"oui-dialog-overlay\",\n \"oui-fixed\",\n \"oui-inset-0\",\n \"oui-z-50\",\n \"oui-bg-black/80\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n ],\n content: [\n \"oui-dialog-content\",\n \"oui-fixed\",\n \"oui-left-[50%]\",\n \"oui-top-[50%]\",\n \"oui-z-50\",\n // \"oui-grid\",\n \"oui-w-full\",\n \"oui-max-w-lg\",\n \"oui-translate-x-[-50%]\",\n \"oui-translate-y-[-50%]\",\n // \"oui-gap-4\",\n // \"oui-bg-base-8\",\n \"oui-text-base-contrast-54\",\n \"oui-px-4 lg:oui-px-5\",\n\n \"oui-shadow-lg\",\n \"oui-duration-200\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[state=closed]:oui-slide-out-to-left-1/2\",\n \"data-[state=closed]:oui-slide-out-to-top-[48%]\",\n \"data-[state=open]:oui-slide-in-from-left-1/2\",\n \"data-[state=open]:oui-slide-in-from-top-[48%]\",\n \"sm:oui-rounded-xl\",\n ],\n body: [\"oui-dialog-body\", \"oui-py-4 lg:oui-py-5\", \"oui-text-xs\"],\n close: [\n \"oui-dialog-close-btn\",\n \"oui-absolute\",\n \"oui-right-4\",\n \"oui-top-4\",\n // \"oui-opacity-70\",\n \"oui-ring-offset-background\",\n \"oui-transition-opacity\",\n \"hover:oui-opacity-100\",\n\n \"disabled:oui-pointer-events-none\",\n // \"data-[state=open]:oui-bg-accent\",\n // \"data-[state=open]:oui-text-muted-foreground\",\n ],\n header: [\n \"oui-dialog-header\",\n \"oui-flex\",\n \"oui-flex-col\",\n // \"oui-pb-4\"\n ],\n footer: [\n \"oui-dialog-footer\",\n \"oui-flex\",\n \"oui-flex-row\",\n \"oui-justify-end\",\n \"oui-space-x-2\",\n \"oui-pb-5\",\n \"oui-pt-2 lg:oui-pt-3\",\n // \"has-[&>*:nth-child(1)]:oui-bg-red-400\",\n // \"oui-has-[:checked]:oui-bg-indigo-50\",\n // \"has-[button]:oui-bg-red-50\",\n ],\n title: [\n \"oui-dialog-title\",\n \"oui-text-base\",\n // \"oui-pt-3\",\n // \"oui-pb-2\",\n \"oui-min-h-11 lg:oui-min-h-[46px]\",\n \"oui-flex\",\n \"oui-items-center\",\n \"oui-text-base-contrast\",\n ],\n desc: [\n \"oui-dialog-desc\",\n \"oui-text-xs\",\n \"oui-text-warning-darken\",\n \"oui-pt-2\",\n \"oui-text-center\",\n \"oui-pb-3\",\n // \"has-[&_+_div]:oui-pb-3\",\n ],\n },\n variants: {\n size: {\n xs: {\n content: [\"oui-max-w-xs\"], //320\n },\n sm: {\n content: [\"oui-max-w-sm\"], //360\n },\n md: {\n content: [\"oui-max-w-md\"], //420\n },\n lg: {\n content: [\"oui-max-w-lg\"], //480\n },\n xl: {\n content: [\"oui-max-w-xl\"], //540\n },\n },\n intensity: {\n 100: {\n content: [\"oui-bg-base-1\"],\n },\n 200: {\n content: [\"oui-bg-base-2\"],\n },\n 300: {\n content: [\"oui-bg-base-3\"],\n },\n 400: {\n content: [\"oui-bg-base-4\"],\n },\n 500: {\n content: [\"oui-bg-base-5\"],\n },\n 600: {\n content: [\"oui-bg-base-6\"],\n },\n 700: {\n content: [\"oui-bg-base-7\"],\n },\n 800: {\n content: [\"oui-bg-base-8\"],\n },\n 900: {\n content: [\"oui-bg-base-9\"],\n },\n },\n },\n defaultVariants: {\n intensity: 800,\n },\n});\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { overlay } = dialogVariants();\n return (\n <DialogPrimitive.Overlay\n ref={ref}\n className={overlay({ className })}\n {...props}\n />\n );\n});\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nexport type DialogContentProps = React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Content\n> &\n VariantProps<typeof dialogVariants> & {\n closable?: boolean;\n onClose?: () => void;\n overlyClassName?: string;\n };\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(\n (\n {\n overlyClassName,\n className,\n children,\n size,\n closable = true,\n intensity,\n ...props\n },\n ref,\n ) => {\n const { content, close } = dialogVariants({ className, size, intensity });\n return (\n <DialogPortal>\n <DialogOverlay className={overlyClassName} />\n <DialogPrimitive.Content\n ref={ref}\n className={content({ className })}\n {...props}\n >\n {children}\n {closable && (\n <DialogPrimitive.Close\n className={close()}\n data-testid=\"oui-testid-dialog-content-close-btn\"\n >\n <CloseIcon size={16} color=\"white\" opacity={0.98} />\n <span className=\"oui-sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n },\n);\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { header } = dialogVariants();\n return <div className={header({ className })} {...props} />;\n};\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogBody = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { body } = dialogVariants();\n return <div className={body({ className })} {...props} />;\n};\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { footer } = dialogVariants();\n return <div className={footer({ className })} {...props} />;\n};\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => {\n const { title } = dialogVariants();\n return (\n <DialogPrimitive.Title\n ref={ref}\n className={title({ className })}\n {...props}\n />\n );\n});\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => {\n const { desc } = dialogVariants();\n return (\n <DialogPrimitive.Description\n ref={ref}\n className={desc({ className })}\n {...props}\n />\n );\n});\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogBody,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","import { FC, useEffect, useMemo, useState } from \"react\";\nimport { DialogFooter } from \"./dialog\";\nimport { Button, ButtonProps, ThrottledButton } from \"../button\";\n\nexport type DialogAction<T = any> = {\n label: string;\n onClick: (event: any) => Promise<T> | T;\n} & Pick<\n ButtonProps,\n | \"size\"\n | \"disabled\"\n | \"className\"\n | \"fullWidth\"\n | \"data-testid\"\n | \"loading\"\n | \"variant\"\n | \"color\"\n>;\n\nexport type SimpleDialogFooterProps = {\n actions?: {\n primary?: DialogAction;\n secondary?: DialogAction;\n };\n className?: string;\n};\n\nexport const SimpleDialogFooter: FC<SimpleDialogFooterProps> = (props) => {\n const { actions } = props;\n const [primaryLoading, setPrimaryLoading] = useState(\n actions?.primary?.loading ?? false\n );\n\n useEffect(() => {\n if (actions?.primary?.loading) {\n setPrimaryLoading(actions?.primary?.loading);\n }\n\n return () => {\n setPrimaryLoading(false);\n };\n }, [actions?.primary?.loading]);\n\n if (!actions) return null;\n\n const buttons = useMemo(() => {\n const buttons = [];\n\n if (actions.secondary && typeof actions.secondary.onClick === \"function\") {\n const {\n fullWidth = true,\n color = \"gray\",\n label,\n ...rest\n } = actions.secondary;\n\n buttons.push(\n <Button\n key=\"secondary\"\n {...rest}\n data-testid={actions.secondary?.[\"data-testid\"]}\n color={color}\n fullWidth={fullWidth}\n >\n {label}\n </Button>\n );\n }\n\n if (actions.primary && typeof actions.primary.onClick === \"function\") {\n const {\n fullWidth = true,\n color,\n disabled,\n label,\n onClick,\n ...rest\n } = actions.primary;\n\n buttons.push(\n <ThrottledButton\n key=\"primary\"\n {...rest}\n data-testid={actions.primary?.[\"data-testid\"]}\n onClick={async (event) => {\n if (primaryLoading) return;\n try {\n setPrimaryLoading(true);\n await onClick(event);\n } catch (e) {\n } finally {\n setPrimaryLoading(false);\n }\n }}\n disabled={disabled || primaryLoading}\n loading={primaryLoading}\n fullWidth={fullWidth}\n color={color}\n >\n {label}\n </ThrottledButton>\n );\n }\n\n return buttons;\n }, [actions, primaryLoading]);\n\n return <DialogFooter className={props.className}>{buttons}</DialogFooter>;\n};\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport { Divider } from \"../divider\";\nimport {\n Dialog,\n DialogBody,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n DialogContentProps,\n} from \"./dialog\";\nimport {\n SimpleDialogFooter,\n SimpleDialogFooterProps,\n} from \"./simpleDialogFooter\";\n\ntype SimpleDialogProps = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n closable?: boolean;\n title?: ReactNode | (() => ReactNode);\n description?: ReactNode;\n classNames?: {\n content?: string;\n body?: string;\n footer?: string;\n overlay?: string;\n };\n /** if provider, it will overrides others content props */\n contentProps?: DialogContentProps;\n // footer?: ReactNode;\n} & SimpleDialogFooterProps;\n\n/**\n * Simplified dialog component.\n */\nconst SimpleDialog: FC<PropsWithChildren<SimpleDialogProps>> = (props) => {\n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <Dialog open={props.open} onOpenChange={props.onOpenChange}>\n <DialogContent\n size={props.size}\n closable={props.closable}\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n /** prevent close dialog when click the mask */\n // onPointerDownOutside={(event) => event.preventDefault()}\n className={props.classNames?.content}\n overlyClassName={props.classNames?.overlay}\n {...props.contentProps}\n >\n {title && (\n <>\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n </DialogHeader>\n <Divider />\n </>\n )}\n <DialogBody className={props.classNames?.body}>\n {props.children}\n </DialogBody>\n {typeof props.description !== \"undefined\" && (\n <DialogDescription>{props.description}</DialogDescription>\n )}\n <SimpleDialogFooter\n actions={props.actions}\n className={props.classNames?.footer}\n />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { SimpleDialog };\n\nexport type { SimpleDialogProps };\n","import { useEffect, useState } from \"react\";\n\nexport function useMediaQuery(query: string): boolean {\n const getMatches = (query: string): boolean => {\n // Prevents SSR issues\n if (typeof window !== \"undefined\") {\n return window.matchMedia(query).matches;\n }\n return false;\n };\n\n const [matches, setMatches] = useState<boolean>(getMatches(query));\n\n function handleChange() {\n setMatches(getMatches(query));\n }\n\n useEffect(() => {\n const matchMedia = window?.matchMedia(query);\n\n // Triggered at the first client-side load and if query changes\n handleChange();\n\n // Listen matchMedia\n if (matchMedia?.addListener) {\n matchMedia?.addListener(handleChange);\n } else {\n matchMedia?.addEventListener?.(\"change\", handleChange);\n }\n\n return () => {\n if (matchMedia?.removeListener) {\n matchMedia?.removeListener(handleChange);\n } else {\n matchMedia?.removeEventListener?.(\"change\", handleChange);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return matches;\n}\n","import { useMediaQuery } from \"./useMediaQuery\";\n\nexport function useScreen() {\n const isMobile = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n isMobile,\n isDesktop: !isMobile,\n };\n}\n","import { useEffect } from \"react\";\n\n/**\n * observe the element and call the callback when the element is changed\n * */\nexport function useObserverElement<T extends HTMLElement>(\n element: T | null,\n callback: (entry: ResizeObserverEntry) => void,\n) {\n useEffect(() => {\n if (!element) {\n return;\n }\n\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n callback(entry);\n }\n });\n\n resizeObserver.observe(element);\n\n return () => {\n resizeObserver.unobserve(element);\n };\n }, [element]);\n}\n","import { useMemo } from \"react\";\nimport { useMediaQuery } from \"./useMediaQuery\";\n\n/**\n * Hook to determine if the current device can use mobile device linking\n * This includes actual mobile devices AND tablets (iPad, Android tablets)\n * even if their viewport width exceeds the mobile breakpoint\n *\n */\nexport function useCanLinkDevice(): boolean {\n const isSmallViewport = useMediaQuery(\"(max-width: 768px)\");\n\n return useMemo(() => {\n // Check if device is a tablet or mobile device based on user agent\n const ua = navigator.userAgent;\n const isIpad =\n /iPad/.test(ua) || (/MacIntel/.test(ua) && navigator.maxTouchPoints > 1);\n\n const isAndroidTablet = /Android/.test(ua) && !/Mobile/.test(ua);\n\n const isTablet = isIpad || isAndroidTablet;\n return isSmallViewport || isTablet;\n }, [isSmallViewport]);\n}\n","import { ReactNode } from \"react\";\nimport { SimpleDialog, SimpleDialogProps } from \"../../dialog/simpleDialog\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\n\nexport type DialogProps = {\n content: ReactNode;\n} & Pick<SimpleDialogProps, \"title\" | \"closable\" | \"size\" | \"actions\">;\n\nconst Dialog = create<DialogProps>((props) => {\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n return (\n <SimpleDialog\n title={props.title}\n open={visible}\n onOpenChange={onOpenChange}\n size={props.size}\n closable={props.closable}\n actions={props.actions}\n // // @ts-ignore\n // onOk={() => {\n // resolve(true);\n // hide();\n // }}\n // onCancel={() => {\n // reject(false);\n // hide();\n // }}\n >\n {props.content}\n </SimpleDialog>\n );\n});\n\nexport const dialog = (props: DialogProps) => {\n return modalActions.show(Dialog, props);\n};\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport {\n Dialog,\n DialogBody,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"./dialog\";\nimport { Divider } from \"../divider\";\nimport {\n SimpleDialogFooter,\n SimpleDialogFooterProps,\n} from \"./simpleDialogFooter\";\n\ntype TriggerDialogProps = {\n size?: \"sm\" | \"md\" | \"lg\";\n closable?: boolean;\n title?: ReactNode;\n description?: ReactNode;\n trigger: ReactNode;\n} & SimpleDialogFooterProps;\n\nconst TriggerDialog: FC<PropsWithChildren<TriggerDialogProps>> = (props) => {\n return (\n <Dialog>\n <DialogTrigger asChild>{props.trigger}</DialogTrigger>\n <DialogContent\n size={props.size}\n closable={props.closable}\n onOpenAutoFocus={(event) => event.preventDefault()}\n >\n {props.title && (\n <>\n <DialogHeader>\n <DialogTitle>{props.title}</DialogTitle>\n </DialogHeader>\n <Divider />\n </>\n )}\n <DialogBody>{props.children}</DialogBody>\n {typeof props.description !== \"undefined\" && (\n <DialogDescription>{props.description}</DialogDescription>\n )}\n <SimpleDialogFooter actions={props.actions} />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { TriggerDialog };\n\nexport type { TriggerDialogProps };\n","import { ElementType } from \"react\";\nimport { useModal, modal } from \"../modal\";\nimport { SimpleDialog, SimpleDialogProps } from \"./simpleDialog\";\nimport { ModalArgs } from \"../modal/types\";\n\nexport function createDialogComponent<P extends Partial<SimpleDialogProps>>(\n Comp: ElementType\n) {\n return modal.create((props: P) => {\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n\n const {\n title,\n size,\n // @ts-ignore deprecated\n contentClassName,\n // @ts-ignore deprecated\n bodyClassName,\n closable,\n classNames,\n ...rest\n } = props;\n return (\n <SimpleDialog\n open={visible}\n onOpenChange={onOpenChange}\n size={size}\n title={title}\n closable={closable}\n classNames={{\n content: contentClassName,\n body: bodyClassName,\n ...classNames,\n }}\n contentProps={{\n onInteractOutside: (e) => {\n const el = document.querySelector('#privy-dialog')\n if (el) {\n e.preventDefault();\n }\n },\n }}\n >\n <Comp {...rest} close={hide} resolve={resolve} reject={reject} />\n </SimpleDialog>\n );\n });\n}\n\nexport function registerSimpleDialog<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<SimpleDialogProps & Props>\n) {\n modal.register(id, createDialogComponent(comp), props);\n}\n","import { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { SimpleDialog, SimpleDialogProps } from \"../../dialog\";\nimport { modalActions } from \"../modalContext\";\nimport { Text } from \"../../typography\";\nimport { useScreen } from \"../../hooks\";\nimport { useLocale } from \"../../locale\";\n\nexport type ConfirmProps = {\n content?: React.ReactNode;\n footer?: React.ReactNode;\n onOk?: () => Promise<any>;\n okLabel?: string;\n onCancel?: () => Promise<any>;\n cancelLabel?: string;\n contentClassName?: string;\n bodyClassName?: string;\n // closeableSize?: number;\n // okId?: string;\n // cancelId?: string;\n} & Pick<SimpleDialogProps, \"title\" | \"classNames\" | \"size\">;\n\nexport const ConfirmDialog = create<ConfirmProps>((props) => {\n const { size } = props;\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n const [locale] = useLocale(\"modal\");\n\n const { isMobile } = useScreen();\n\n const defaultSize = isMobile ? \"xs\" : \"sm\";\n \n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <SimpleDialog\n open={visible}\n title={\n <Text size=\"base\" weight=\"semibold\">\n {title}\n </Text>\n }\n size={size || defaultSize}\n classNames={{\n content: props.contentClassName,\n body: props.bodyClassName,\n ...props.classNames,\n }}\n // maxWidth={props.maxWidth}\n closable\n // closeableSize={props.closeableSize}\n // okId={props.okId}\n // cancelId={props.cancelId}\n onOpenChange={(open) => {\n if (!open) {\n reject();\n }\n onOpenChange(open);\n }}\n actions={{\n primary: {\n label: props.okLabel ?? locale.confirm,\n className: \"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8\",\n \"data-testid\": \"oui-testid-confirm-dialog-confirm-btn\",\n onClick: () => {\n return Promise.resolve()\n .then(() => {\n if (typeof props.onOk === \"function\") {\n return props.onOk();\n }\n return true;\n })\n .then(\n (data?: any) => {\n resolve(data);\n hide();\n },\n (err) => {\n reject(err);\n hide();\n }\n );\n },\n },\n secondary: {\n label: props.cancelLabel ?? locale.cancel,\n className: \"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8\",\n \"data-testid\": \"oui-testid-confirm-dialog-cancel-btn\",\n onClick: () => {\n return Promise.resolve()\n .then(() => {\n if (typeof props.onCancel === \"function\") {\n return props.onCancel();\n }\n return Promise.reject('cancel');\n })\n .then(\n (data?: any) => {\n resolve(data);\n hide();\n },\n (err) => {\n reject(err);\n hide();\n }\n );\n },\n },\n }}\n >\n <div className=\"oui-text-2xs lg:oui-text-sm\">{props.content}</div>\n </SimpleDialog>\n );\n});\n\nexport const confirm = <T = any, >(props: ConfirmProps):Promise<T> => {\n return modalActions.show(ConfirmDialog, props);\n};\n","import { modalActions } from \"./modalContext\";\nimport { register, unregister, create } from \"./modalHelper\";\n\nexport { ModalProvider } from \"./modalContext\";\n\nimport { sheet } from \"./preset/sheet\";\nimport { alert } from \"./preset/alert\";\nimport { dialog } from \"./preset/dialog\";\n\nimport { confirm } from \"./preset/confirm\";\nexport type { ConfirmProps } from \"./preset/confirm\";\n// import { actionSheet } from \"@/modal/preset/actionSheet\";\nexport { ConfirmDialog } from \"./preset/confirm\";\n\nexport type { ModalHocProps } from \"./types\";\n\nexport { ModalContext, ModalIdContext } from \"./modalContext\";\n\n// @ebay/nice-modal-react\nexport { useModal } from \"./useModal\";\n\nexport const modal = {\n create,\n register,\n unregister,\n\n ...modalActions,\n // actionSheet,\n confirm,\n alert,\n sheet,\n dialog,\n // alert\n //actionSheet\n /// toast\n};\n","import { ElementType } from \"react\";\nimport { useModal, modal } from \"../modal\";\nimport { SheetProps } from \"../modal/preset/sheet\";\nimport { SimpleSheet, SimpleSheetProps } from \"./simpleSheet\";\n\nfunction createSheetComponent<P extends Partial<SimpleSheetProps>>(\n Comp: ElementType\n) {\n return modal.create((props: P) => {\n const { title, leading, classNames, contentProps, closable, ...rest } =\n props;\n\n const { visible, hide, resolve, reject, onOpenChange, args } = useModal();\n\n // console.log(\"-------\", args);\n\n return (\n <SimpleSheet\n open={visible}\n onOpenChange={onOpenChange}\n title={title}\n leading={leading}\n classNames={classNames}\n closable={closable}\n contentProps={contentProps}\n >\n <Comp {...rest} close={hide} resolve={resolve} reject={reject} />\n </SimpleSheet>\n );\n });\n}\n\nexport function registerSimpleSheet<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<SimpleSheetProps & Props>\n) {\n modal.register(id, createSheetComponent(comp), props);\n}\n","import React, {\n ComponentPropsWithoutRef,\n FC,\n Fragment,\n PropsWithChildren,\n useCallback,\n useMemo,\n} from \"react\";\nimport { cn, Divider, Sheet, SheetContent, SheetTrigger } from \"..\";\nimport { useLocale } from \"../locale\";\n\ntype SheetItemType = \"division\" | \"data\" | \"cancel\";\n\nexport interface BaseActionSheetItem {\n label: string;\n type?: SheetItemType;\n icon?: string;\n value?: string;\n active?: boolean;\n onClick?: (action: BaseActionSheetItem) => void;\n}\n\nexport interface ActionSheetItemProps {\n action: BaseActionSheetItem;\n index: number;\n active?: boolean;\n onClick?: (value: { value?: string; index: number }) => void;\n}\n\nexport const ActionItem: FC<ActionSheetItemProps> = (props) => {\n const { action } = props;\n\n const onItemClick = useCallback(() => {\n if (typeof action.onClick === \"function\") {\n action.onClick(action);\n } else {\n props.onClick?.({ ...action, index: props.index });\n }\n }, [action]);\n\n const child = useMemo(() => {\n return action.label;\n }, [action.label]);\n\n return (\n <div\n className={cn(\n \"oui-flex oui-justify-center oui-items-center oui-text-lg oui-h-[52px] oui-cursor-pointer\",\n\n props.active && \"oui-text-primary-darken\"\n )}\n onClick={onItemClick}\n >\n {child}\n </div>\n );\n};\n\nexport const ActionDivision: FC = (props) => {\n return (\n <div className=\"oui-relative oui-h-[1px] oui-bg-base-300 oui-mt-[-1px]\"></div>\n );\n};\n\nexport interface ActionSheetContentProps {\n actionSheets: BaseActionSheetItem[];\n value?: BaseActionSheetItem;\n onValueChange?: (value: any) => void;\n onClose?: () => void;\n}\nexport const ActionSheetContent: FC<ActionSheetContentProps> = (props) => {\n return (\n <>\n {props.actionSheets.map((action, index) => {\n if (action.type === \"division\") {\n return <ActionDivision key={index} />;\n }\n return (\n <Fragment key={action.value || index}>\n {action.value === \"cancel\" && (\n <div className=\"oui-h-2 oui-bg-base-10\" />\n )}\n <ActionItem\n onClick={(value) => {\n if (value.value === \"cancel\") {\n return;\n }\n\n if (typeof action.onClick === \"function\") {\n action.onClick(action);\n } else {\n props.onValueChange?.(value.value);\n props.onClose?.();\n }\n }}\n index={index}\n action={action}\n active={\n typeof props.value !== \"undefined\" &&\n props.value.value === action.value\n }\n />\n {index < props.actionSheets.length - 1 && (\n <Divider className=\"oui-border-base-contrast/10\" />\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport type SystemActionSheetItem = \"Cancel\" | \"Confirm\" | \"---\";\n\nexport type ActionSheetItem = BaseActionSheetItem | SystemActionSheetItem;\n\nexport interface ActionSheetProps\n extends ComponentPropsWithoutRef<typeof Sheet> {\n actionSheets: ActionSheetItem[];\n value?: BaseActionSheetItem;\n onValueChange?: (value: string) => void;\n open?: boolean;\n onClose?: () => void;\n}\n\nexport const ActionSheet: FC<PropsWithChildren<ActionSheetProps>> = (props) => {\n const [locale] = useLocale(\"modal\");\n // create actionSheet items\n const items = useMemo<BaseActionSheetItem[]>(() => {\n const items: BaseActionSheetItem[] = [];\n\n if (Array.isArray(props.actionSheets)) {\n for (const action of props.actionSheets) {\n if (typeof action === \"string\") {\n if (action === \"Cancel\") {\n items.push({\n label: locale.cancel,\n value: \"cancel\",\n onClick: () => {\n props.onClose?.();\n },\n });\n } else if (action === \"Confirm\") {\n items.push({\n label: locale.confirm,\n value: \"confirm\",\n });\n } else if (action.startsWith(\"---\")) {\n items.push({\n label: \"---\",\n value: \"---\",\n type: \"division\",\n });\n }\n } else {\n items.push(action);\n }\n }\n }\n\n return items;\n }, [props.actionSheets]);\n\n return (\n <Sheet open={props.open} onOpenChange={props.onOpenChange}>\n {typeof props.children !== \"undefined\" && (\n <SheetTrigger asChild>{props.children}</SheetTrigger>\n )}\n\n <SheetContent\n closeable={false}\n className=\"oui-action-sheet-content !oui-p-0 oui-pb-[env(safe-area-inset-bottom)]\"\n onOpenAutoFocus={(event) => event.preventDefault()}\n >\n <ActionSheetContent\n actionSheets={items}\n onClose={props.onClose}\n onValueChange={props.onValueChange}\n value={props.value}\n />\n </SheetContent>\n </Sheet>\n );\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { PaginationMeta } from \"../type\";\n\nexport const usePagination = (initial?: {\n page?: number;\n pageSize?: number;\n resetPageWhenPageSizeChange?: boolean;\n}) => {\n const dataTotal = useRef(0);\n const [page, setPage] = useState<number>(initial?.page ?? 1);\n const [pageSize, _setPageSize] = useState<number>(initial?.pageSize ?? 10);\n\n const setPageSize = useCallback(\n (size: number) => {\n _setPageSize(size);\n // check page > page total\n if (dataTotal.current > 0) {\n const totalPage = Math.ceil(dataTotal.current / size);\n if (page > totalPage) {\n setPage(totalPage);\n }\n }\n },\n [page],\n );\n\n /**\n * helper function to parse meta data,\n * the format of meta data is same as the response from the API\n */\n const parseMeta = (meta?: {\n total: number;\n current_page: number;\n records_per_page: number;\n }) => {\n const count = meta?.total ?? dataTotal.current;\n dataTotal.current = count;\n const size = meta?.records_per_page ?? pageSize;\n const pageTotal = count ? Math.ceil(count / size) : 0;\n const curPage = Math.min(meta?.current_page ?? page, pageTotal);\n return {\n count,\n page: curPage,\n pageSize: size,\n pageTotal: pageTotal,\n };\n };\n\n /** server pagination */\n const parsePagination = useCallback(\n (meta?: {\n total: number;\n current_page: number;\n records_per_page: number;\n }): PaginationMeta => {\n return {\n ...parseMeta(meta),\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n };\n },\n [page, pageSize],\n );\n\n /** manual pagination */\n const pagination = useMemo<PaginationMeta>(\n () => ({\n page,\n pageSize,\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n }),\n [parsePagination],\n );\n\n useEffect(() => {\n // reset page when page size change\n if (initial?.resetPageWhenPageSizeChange !== false) {\n setPage(1);\n }\n }, [pageSize, initial?.resetPageWhenPageSizeChange]);\n\n return {\n page,\n pageSize,\n setPage,\n setPageSize,\n parseMeta,\n pagination,\n parsePagination,\n };\n};\n","import { FC } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\nimport EmptyStateIcon from \"../icon/emptyData\";\nimport { ExtensionPositionEnum, installExtension } from \"../plugin\";\nimport { useLocale } from \"../locale\";\n\nexport const EmptyDataState: FC<{ title?: string; className?: string }> = (\n props\n) => {\n const [locale] = useLocale(\"empty\");\n\n return (\n <Flex\n itemAlign=\"center\"\n direction=\"column\"\n gapY={4}\n className={props.className}\n >\n <Box>\n <EmptyStateIcon />\n </Box>\n <Text as=\"div\" intensity={36} size=\"2xs\">\n {props.title ?? locale.description}\n </Text>\n </Flex>\n );\n};\n\ninstallExtension<{ title?: string }>({\n name: \"emptyDataIdentifier\",\n positions: [ExtensionPositionEnum.EmptyDataIdentifier],\n})(EmptyDataState);\n","export { DownloadFeature } from \"./download\";\nexport {\n generateCSVData,\n generateCSVContent,\n downloadCSVFile,\n exportToCSV,\n type CSVColumn,\n type CSVExportOptions,\n} from \"./csvExportService\";\n","/**\n * CSV Export Service\n * Platform-agnostic utilities for CSV export\n * Used by both DataTable (desktop) and mobile ListView components\n */\n\nexport interface CSVColumn {\n title: string;\n plantTextTitle?: string;\n dataIndex?: string;\n renderPlantText?: (value: any, record: any, index: number) => any;\n hidden?: boolean;\n type?: string;\n}\n\nexport interface CSVExportOptions {\n columns: CSVColumn[];\n dataSource: any[];\n filename?: string;\n}\n\n/**\n * Converts raw data to CSV format\n * @param columns - Column definitions with formatting functions\n * @param dataSource - Array of data records\n * @returns Array of CSV rows (header + data rows)\n */\nexport const generateCSVData = (\n columns: CSVColumn[],\n dataSource: any[],\n): any[][] => {\n // Filter and map headers\n const headers = columns\n .filter((column) => !column.hidden && column.type !== \"action\")\n .map((column) => column.plantTextTitle || column.title);\n\n // Filter and map data rows\n const rows = dataSource.map((record, recordIndex) => {\n return columns\n .filter((column) => !column.hidden && column.type !== \"action\")\n .map((column) => {\n // Get value from record using dataIndex\n let value = column.dataIndex ? record[column.dataIndex] : record;\n\n // Apply custom formatting if provided\n if (typeof column.renderPlantText === \"function\") {\n value = column.renderPlantText(value, record, recordIndex);\n }\n\n return `\"${value ?? \"--\"}\"`;\n });\n });\n\n return [headers, ...rows];\n};\n\n/**\n * Generates CSV content string from data\n * @param data - Array of CSV rows\n * @returns CSV formatted string\n */\nexport const generateCSVContent = (data: any[][]): string => {\n return data.map((row) => row.join(\",\")).join(\"\\n\");\n};\n\n/**\n * Triggers browser download of CSV file\n * @param csvContent - CSV formatted string\n * @param filename - Name of the file to download\n */\nexport const downloadCSVFile = (\n csvContent: string,\n filename = `export_${Date.now()}.csv`,\n) => {\n const blob = new Blob([csvContent], { type: \"text/csv;charset=utf-8;\" });\n const url = URL.createObjectURL(blob);\n\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", filename);\n link.click();\n\n URL.revokeObjectURL(url);\n};\n\n/**\n * Complete CSV export flow\n * @param options - Export options with columns and dataSource\n */\nexport const exportToCSV = (options: CSVExportOptions) => {\n const { columns, dataSource, filename } = options;\n const csvData = generateCSVData(columns, dataSource);\n const csvContent = generateCSVContent(csvData);\n downloadCSVFile(csvContent, filename);\n};\n","import { Table, TableFeature, RowData } from \"@tanstack/react-table\";\nimport { Column } from \"../type\";\nimport { generateCSVContent, downloadCSVFile } from \"./csvExportService\";\n\n// Define types for our new feature's table APIs\nexport interface DownloadInstance {\n getPlainTextData: () => any[];\n download: (filename?: string) => void;\n}\n\n// Use declaration merging to add our new feature APIs and state types to TanStack Table's existing types.\ndeclare module \"@tanstack/react-table\" {\n //merge our new feature's instance APIs with the existing table instance APIs\n interface Table<TData extends RowData> extends DownloadInstance {}\n}\n\nexport const DownloadFeature: TableFeature<any> = {\n // define the new feature's table instance methods\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n table.getPlainTextData = () => {\n const header = table\n .getAllColumns()\n // filter action column and non-exportable columns (but include hidden columns for CSV)\n .filter((column) => {\n const meta = column.columnDef.meta as any;\n return meta.type !== \"action\" && meta.exportable !== false;\n })\n .map((column) => {\n const { title, plantTextTitle } = column.columnDef.meta as any;\n return plantTextTitle || title;\n });\n\n const rows = table.getRowModel().rows.map((row) =>\n row\n .getVisibleCells()\n .filter((cell) => {\n const meta = cell.column.columnDef.meta as any;\n return meta.type !== \"action\" && meta.exportable !== false;\n })\n .map((cell) => {\n const { original: record, index } = cell.row;\n const { renderPlantText } = (cell.column.columnDef.meta ||\n {}) as Column;\n const dataIndex = (cell.column.columnDef.meta as any)?.dataIndex;\n\n // Get raw value from record using dataIndex\n let value = dataIndex\n ? (record as any)[dataIndex]\n : cell.getValue();\n\n if (typeof renderPlantText === \"function\") {\n value = renderPlantText(value, record, index, cell);\n }\n\n return `\"${value ?? \"--\"}\"`;\n }),\n );\n\n const data = [header, ...rows];\n\n return data;\n };\n\n table.download = (filename?: string) => {\n const data = table.getPlainTextData();\n console.log(\"downloadCSV\", data);\n const csvContent = generateCSVContent(data);\n downloadCSVFile(csvContent, filename);\n };\n },\n};\n","import * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst tabsVariants = tv({\n slots: {\n list: [\n \"oui-header-list\",\n \"oui-flex\",\n \"oui-items-center\",\n // \"oui-px-1\",\n ],\n content: [\n \"oui-ring-offset-background\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n ],\n trigger: [\n \"oui-tab-trigger\",\n \"oui-inline-flex\",\n \"oui-items-center\",\n \"oui-justify-center\",\n \"oui-whitespace-nowrap\",\n // \"oui-px-3\",\n\n \"oui-box-content\",\n \"oui-font-medium\",\n\n \"oui-text-base-contrast-36 hover:oui-text-base-contrast-54\",\n \"oui-ring-offset-background\",\n \"oui-transition-all\",\n \"oui-space-x-1\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n \"disabled:oui-pointer-events-none\",\n \"disabled:oui-opacity-50\",\n ],\n icon: [\"oui-text-inherit\"],\n },\n variants: {\n variant: {\n text: {\n list: [\n \"oui-space-x-6\",\n \"oui-border-b\",\n \"oui-border-line-6\",\n \"oui-px-1\",\n ],\n trigger: [\n \"oui-pb-2\",\n \"oui-relative\",\n \"data-[state=active]:oui-text-base-contrast\",\n \"data-[state=active]:after:oui-content-['']\",\n \"data-[state=active]:after:oui-block\",\n \"data-[state=active]:after:oui-h-[3px]\",\n \"data-[state=active]:after:oui-bg-white\",\n \"data-[state=active]:after:oui-absolute\",\n \"data-[state=active]:after:oui-rounded-full\",\n \"data-[state=active]:after:-oui-bottom-0\",\n \"data-[state=active]:after:oui-left-0\",\n \"data-[state=active]:after:oui-right-0\",\n ],\n },\n contained: {\n list: [\"oui-space-x-[6px]\"],\n trigger: [\n \"oui-rounded\",\n \"oui-px-3\",\n \"oui-bg-base-7 hover:oui-bg-base-5\",\n \"oui-text-base-contrast-36\",\n \"data-[state=active]:oui-bg-base-5\",\n \"data-[state=active]:oui-text-base-contrast\",\n ],\n icon: [\"oui-text-inherit\"],\n },\n },\n size: {\n sm: {},\n md: {},\n lg: {},\n xl: {},\n },\n },\n compoundVariants: [\n {\n size: \"sm\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-sm\", \"oui-h-5\"],\n icon: [\"oui-w-[10px]\", \"oui-h-[10px]\"],\n },\n },\n {\n size: \"md\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-base\", \"oui-h-6\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n },\n {\n size: \"lg\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-lg\", \"oui-h-7\"],\n icon: [\"oui-w-[14px]\", \"oui-h-[14px]\"],\n },\n },\n {\n size: \"xl\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-lg\", \"oui-h-7\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n },\n {\n size: \"sm\",\n variant: \"contained\",\n className: {\n list: [\"oui-space-x-1\"],\n trigger: [\"oui-text-2xs\", \"oui-h-6\"],\n icon: [\"oui-w-[10px]\", \"oui-h-[10px]\"],\n },\n },\n {\n size: \"md\",\n variant: \"contained\",\n className: {\n // list: [\"oui-space-x-[6px]\"],\n trigger: [\"oui-text-2xs\", \"oui-h-7\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n },\n {\n size: \"lg\",\n variant: \"contained\",\n className: {\n trigger: [\"oui-text-sm\", \"oui-h-8\", \"oui-rounded-md\"],\n icon: [\"oui-w-[14px]\", \"oui-h-[14px]\"],\n },\n },\n {\n size: \"xl\",\n variant: \"contained\",\n className: {\n trigger: [\"oui-text-base\", \"oui-h-9\", \"oui-rounded-md\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n },\n ],\n defaultVariants: {\n size: \"md\",\n variant: \"text\",\n },\n});\n\nconst TabsBase = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsVariants>\n>((originProps, ref) => {\n const { className, size, variant, ...props } = originProps;\n const { list } = tabsVariants({ size, variant });\n return (\n <TabsPrimitive.List ref={ref} className={list({ className })} {...props} />\n );\n});\n\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> &\n VariantProps<typeof tabsVariants> & {\n icon?: React.ReactElement;\n \"data-testid\"?: string;\n }\n>((originProps, ref) => {\n const { className, size, children, icon, variant, ...props } = originProps;\n const { trigger, icon: iconClassName } = tabsVariants({ size, variant });\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n {...props}\n >\n {typeof icon !== \"undefined\"\n ? React.cloneElement(icon, { className: iconClassName(), opacity: 1 })\n : null}\n <span>{children}</span>\n </TabsPrimitive.Trigger>\n );\n});\n\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content> &\n VariantProps<typeof tabsVariants>\n>((oriProps, ref) => {\n const { className, size, children, ...props } = oriProps;\n const { content } = tabsVariants({ size });\n return (\n <TabsPrimitive.Content\n ref={ref}\n className={content({ className })}\n {...props}\n >\n {children}\n </TabsPrimitive.Content>\n );\n});\n\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { TabsBase, TabsList, TabsTrigger, TabsContent, tabsVariants };\n","import React, {\n FC,\n PropsWithChildren,\n createContext,\n useEffect,\n ReactNode,\n useState,\n useContext,\n ReactElement,\n useMemo,\n useCallback,\n} from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport { useOrderlyTheme } from \"../provider/orderlyThemeContext\";\nimport { ScrollIndicator } from \"../scrollIndicator\";\nimport {\n TabsBase,\n TabsList,\n TabsContent,\n TabsTrigger,\n tabsVariants,\n} from \"./tabsBase\";\n\ntype tabConfig = {\n title: ReactNode;\n icon?: ReactElement;\n testid?: string;\n value: string;\n content: ReactNode;\n collapsed?: boolean;\n className?: string;\n style?: React.CSSProperties;\n};\n\ninterface TabsContextState {\n registerTab: (tab: tabConfig) => void;\n unregisterTab: (tab: tabConfig) => void;\n}\n\nconst TabsContext = createContext<TabsContextState>({} as TabsContextState);\n\ntype TabsProps<T = string> = {\n defaultValue?: T;\n value?: T;\n // onChange?: (value: T) => void;\n leading?: ReactNode;\n trailing?: ReactNode;\n classNames?: {\n tabsListContainer?: string;\n tabsList?: string;\n tabsContent?: string;\n scrollIndicator?: string;\n trigger?: string;\n };\n contentVisible?: boolean;\n showScrollIndicator?: boolean;\n} & TabsPrimitive.TabsProps &\n VariantProps<typeof tabsVariants>;\n\nconst Tabs: FC<TabsProps> = (props) => {\n const { getComponentTheme } = useOrderlyTheme();\n const {\n classNames,\n contentVisible = true,\n variant,\n showScrollIndicator,\n value,\n ...rest\n } = props;\n\n const tabsOverrides = getComponentTheme(\"tabs\", { variant: \"contained\" });\n\n const tabsVariant = variant || tabsOverrides.variant;\n\n const [tabList, setTabList] = useState<{ [key: string]: tabConfig }>({});\n\n const registerTab = useCallback((config: tabConfig) => {\n setTabList((prev) => {\n return { ...prev, [config.value]: config };\n });\n }, []);\n\n const unregisterTab = useCallback((config: tabConfig) => {\n setTabList((prev) => {\n const newTabList = { ...prev };\n delete newTabList[config.value];\n return newTabList;\n });\n }, []);\n\n const memoizedValue = useMemo<TabsContextState>(\n () => ({ registerTab, unregisterTab }),\n [registerTab, unregisterTab],\n );\n\n const renderTabsList = () => {\n const tabsList = (\n <TabsList\n variant={tabsVariant}\n size={rest.size}\n className={cnBase(\"oui-flex-1 oui-border-0\", classNames?.tabsList)}\n >\n {Object.keys(tabList).map((key) => {\n const tab = tabList[key];\n return (\n <TabsTrigger\n key={key}\n value={tab.value}\n icon={tab.icon}\n variant={tabsVariant}\n size={rest.size}\n data-testid={tab.testid}\n className={classNames?.trigger}\n >\n {tab.title}\n </TabsTrigger>\n );\n })}\n </TabsList>\n );\n\n if (showScrollIndicator) {\n return (\n <ScrollIndicator className={classNames?.scrollIndicator}>\n {tabsList}\n </ScrollIndicator>\n );\n }\n\n return tabsList;\n };\n\n return (\n <TabsContext.Provider value={memoizedValue}>\n {props.children}\n <TabsBase value={value} {...rest}>\n <Flex\n justify=\"between\"\n itemAlign=\"center\"\n width=\"100%\"\n className={cnBase(\n tabsVariant !== \"contained\" && \"oui-border-b oui-border-b-line-6\",\n classNames?.tabsListContainer,\n )}\n >\n {props.leading}\n {renderTabsList()}\n {props.trailing}\n </Flex>\n {contentVisible &&\n Object.keys(tabList).map((key) => {\n const tab = tabList[key];\n return (\n <TabsContent\n key={key}\n value={tab.value}\n className={cnBase(classNames?.tabsContent, tab.className)}\n style={tab.style}\n >\n {tab.content}\n </TabsContent>\n );\n })}\n </TabsBase>\n </TabsContext.Provider>\n );\n};\n\nTabs.displayName = \"Tabs\";\n\nexport interface TabPanelProps {\n value: any;\n title: string | React.ReactNode;\n icon?: React.ReactElement;\n testid?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst TabPanel: FC<PropsWithChildren<TabPanelProps>> = (props) => {\n const { title, value, icon, className, style, testid, children } = props;\n\n const { registerTab, unregisterTab } = useContext(TabsContext);\n\n useEffect(() => {\n const tabConfig = {\n title,\n value,\n icon,\n testid,\n className,\n style,\n content: children,\n };\n registerTab(tabConfig);\n return () => {\n unregisterTab(tabConfig);\n };\n }, [children, className, style, icon, testid, title, value]);\n\n return null;\n};\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanel.displayName = \"TabPanel\";\n}\n\nexport { Tabs, TabPanel };\n","import { createContext, useContext } from \"react\";\n\nexport type ComponentOverrides = {\n tabs: {\n variant: \"text\" | \"contained\";\n };\n chainSelector: {\n /**\n * show testnet chains list\n * @default true\n * */\n showTestnet: boolean;\n };\n};\n\ntype GetComponentTheme = <T extends keyof ComponentOverrides>(\n component: T,\n defaultValue?: ComponentOverrides[T],\n) => ComponentOverrides[T];\n\nexport type OrderlyThemeContextState = {\n // overrides?: Partial<ComponentOverrides>;\n getComponentTheme: GetComponentTheme;\n};\n\nexport const OrderlyThemeContext = createContext(\n {} as OrderlyThemeContextState,\n);\n\nexport const useOrderlyTheme = () => {\n return useContext(OrderlyThemeContext);\n};\n","import { FC, ReactNode } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useDrag } from \"./hooks/useDrag\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport { ScrolButton } from \"./scrollButton\";\n\nexport type ScrollIndicatorProps = { children: ReactNode; className?: string };\n\nexport const ScrollIndicator: FC<ScrollIndicatorProps> = (props) => {\n const { containerRef, leadingVisible, tailingVisible, onScoll } = useScroll();\n\n const { handleMouseDown, handleMouseMove, handleMouseUp, isDragging } =\n useDrag(containerRef);\n\n return (\n <div\n className={cnBase(\n \"oui-scroll-indicator\",\n \"oui-relative oui-select-none oui-overflow-hidden\",\n props.className,\n )}\n >\n <div\n ref={containerRef}\n className={cnBase(\n \"oui-hide-scrollbar oui-overflow-x-scroll\",\n isDragging ? \"oui-cursor-grabbing\" : \"oui-cursor-grab\",\n )}\n onMouseDown={handleMouseDown}\n onMouseMove={handleMouseMove}\n onMouseUp={handleMouseUp}\n onMouseLeave={handleMouseUp}\n >\n {props.children}\n </div>\n <ScrolButton leading onClick={onScoll} visible={leadingVisible} />\n <ScrolButton tailing onClick={onScoll} visible={tailingVisible} />\n </div>\n );\n};\n","import { useState, RefObject } from \"react\";\n\nexport function useDrag(containerRef: RefObject<HTMLDivElement>) {\n const [isDragging, setIsDragging] = useState(false);\n const [startX, setStartX] = useState(0);\n const [scrollLeft, setScrollLeft] = useState(0);\n\n const handleMouseDown = (e: React.MouseEvent) => {\n if (!containerRef.current) return;\n\n setIsDragging(true);\n setStartX(e.pageX - containerRef.current.offsetLeft);\n setScrollLeft(containerRef.current.scrollLeft);\n };\n\n const handleMouseMove = (e: React.MouseEvent) => {\n if (!isDragging || !containerRef.current) return;\n\n e.preventDefault();\n const x = e.pageX - containerRef.current.offsetLeft;\n const walk = x - startX;\n containerRef.current.scrollLeft = scrollLeft - walk;\n };\n\n const handleMouseUp = () => {\n setIsDragging(false);\n };\n\n return {\n handleMouseDown,\n handleMouseMove,\n handleMouseUp,\n isDragging,\n };\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nexport function useScroll() {\n const [leadingVisible, setLeadingVisible] = useState(false);\n const [tailingVisible, setTailingVisible] = useState(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const handleScroll = () => {\n const container = containerRef.current;\n if (!container) return;\n setLeadingVisible(container.scrollLeft > 0);\n setTailingVisible(\n container.scrollLeft + container.clientWidth < container.scrollWidth\n );\n };\n\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n handleScroll();\n }\n });\n });\n\n const container = containerRef.current;\n container.addEventListener(\"scroll\", handleScroll);\n intersectionObserver.observe(container);\n\n return () => {\n container.removeEventListener(\"scroll\", handleScroll);\n intersectionObserver.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n }\n });\n });\n\n intersectionObserver.observe(containerRef.current);\n\n return () => {\n intersectionObserver.disconnect();\n };\n }, []);\n\n const onScoll = (direction: string) => {\n if (direction === \"left\") {\n containerRef.current?.scrollBy({ left: -100, behavior: \"smooth\" });\n } else {\n containerRef.current?.scrollBy({ left: 100, behavior: \"smooth\" });\n }\n };\n\n return { containerRef, leadingVisible, tailingVisible, onScoll };\n}\n","import { FC } from \"react\";\nimport { SVGProps } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\n\ntype ScrolButtonProps = {\n tailing?: boolean;\n leading?: boolean;\n visible?: boolean;\n onClick?: (direction: string) => void;\n};\n\nexport const ScrolButton: FC<ScrolButtonProps> = (props) => {\n const { visible, leading, tailing, onClick } = props;\n\n if (!visible) {\n return null;\n }\n\n return (\n <button\n onClick={() => {\n onClick?.(leading ? \"left\" : \"right\");\n }}\n className={cnBase(\n leading\n ? \"oui-scroll-indicator-leading\"\n : \"oui-scroll-indicator-tailing\",\n \"oui-group oui-flex\",\n \"oui-absolute oui-top-0 oui-bottom-0\",\n leading && \"oui-left-0 oui-flex-row-reverse\",\n tailing && \"oui-right-0\"\n )}\n >\n <div\n className={cnBase(\n \"oui-w-6 oui-h-full\",\n \"oui-bg-[linear-gradient(90deg,rgba(var(--oui-color-base-9)_/_0)_0%,rgba(var(--oui-color-base-9)_/_1)_100%)]\",\n leading && \"oui-rotate-180\"\n )}\n />\n <div\n className={cnBase(\n \"oui-flex oui-justify-center oui-items-center\",\n \"oui-w-3 oui-bg-base-9 oui-h-full\"\n )}\n >\n <ArrowRightIcon\n className={cnBase(\n \"oui-text-base-contrast-54 group-hover:oui-text-base-contrast\",\n leading && \"oui-rotate-180\"\n )}\n />\n </div>\n </button>\n );\n};\n\nexport const ArrowRightIcon: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"6\"\n height=\"14\"\n viewBox=\"0 0 6 14\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M1.194.025C.944-.026.675-.005.446.15a1.027 1.027 0 0 0-.28 1.406l3.612 5.437L.166 12.43c-.305.459-.177 1.1.28 1.406a1.02 1.02 0 0 0 1.401-.281l3.986-6a1.03 1.03 0 0 0 0-1.125l-3.986-6C1.695.2 1.444.075 1.194.025\" />\n </svg>\n);\n","import React from \"react\";\nimport { cnBase, type VariantProps } from \"tailwind-variants\";\nimport type { ComponentPropsWithout } from \"../helpers/component-props\";\nimport { decorationVariants } from \"../layout/decoration\";\nimport { tv } from \"../utils/tv\";\n\nconst cardVariants = tv({\n base: [\n \"oui-card-root\",\n \"oui-card\",\n \"oui-rounded-xl\",\n \"oui-shadow\",\n \"oui-text-base-contrast\",\n \"oui-p-6\",\n ],\n\n variants: {\n ...decorationVariants.variants,\n },\n defaultVariants: {\n intensity: 900,\n },\n});\n\nexport type BaseCardProps = ComponentPropsWithout<\"div\", \"color\" | \"title\"> &\n VariantProps<typeof cardVariants>;\n\nconst CardBase = React.forwardRef<HTMLDivElement, BaseCardProps>(\n ({ className, intensity, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cardVariants({ intensity, className })}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nCardBase.displayName = \"CardBase\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cnBase(\n \"oui-card-header oui-flex oui-flex-col oui-space-y-1.5\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, children, ...props }, ref) => (\n <h3\n ref={ref}\n className={cnBase(\n \"oui-card-header-title oui-text-lg oui-font-semibold oui-leading-none oui-tracking-tight\",\n className,\n )}\n {...props}\n >\n {children}\n </h3>\n));\n\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => (\n <p\n ref={ref}\n className={cnBase(\"oui-text-muted-foreground oui-text-sm\", className)}\n {...props}\n >\n {children}\n </p>\n));\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cnBase(\"oui-card-content oui-pt-4\", className)}\n {...props}\n >\n {children}\n </div>\n));\n\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div ref={ref} className={className} {...props}>\n {children}\n </div>\n));\n\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n CardBase,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n cardVariants,\n};\n","import { PropsWithChildren, forwardRef, ElementType, ReactNode } from \"react\";\nimport { cn } from \"..\";\nimport {\n BaseCardProps,\n CardBase,\n CardContent,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"./cardBase\";\n\ninterface CardProps extends BaseCardProps {\n title?: ReactNode;\n footer?: ReactNode;\n // footerClassName?: string;\n classNames?: {\n root?: string;\n header?: string;\n content?: string;\n footer?: string;\n };\n // color?: number;\n}\n\nconst Card = forwardRef<React.ElementRef<\"div\">, PropsWithChildren<CardProps>>(\n (props, ref) => {\n const { title, children, footer, className, classNames, ...rest } = props;\n return (\n <CardBase {...rest} className={cn(className, classNames?.root)} ref={ref}>\n <CardHeader className={classNames?.header}>\n {typeof title === \"string\" ? <CardTitle>{title}</CardTitle> : title}\n </CardHeader>\n <CardContent className={classNames?.content}>{children}</CardContent>\n {footer && (\n <CardFooter className={classNames?.footer}>{footer}</CardFooter>\n )}\n </CardBase>\n );\n },\n);\n\nCard.displayName = \"Card\";\n\nexport { Card };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport { cn } from \"..\";\n\nconst HoverCardRoot = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"oui-z-[100] oui-w-64 oui-rounded-md oui-bg-base-8 oui-p-3 oui-text-base-contrast oui-shadow-md oui-outline-none data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out data-[state=closed]:oui-fade-out-0 data-[state=open]:oui-fade-in-0 data-[state=closed]:oui-zoom-out-95 data-[state=open]:oui-zoom-in-95 data-[side=bottom]:oui-slide-in-from-top-2 data-[side=left]:oui-slide-in-from-right-2 data-[side=right]:oui-slide-in-from-left-2 data-[side=top]:oui-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport interface HoverCardProps\n extends React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Root> {\n className?: string;\n content: React.ReactNode;\n}\n\nconst HoverCard: React.FC<\n HoverCardProps &\n Omit<\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>,\n \"content\"\n >\n> = (props) => {\n const { content, open, defaultOpen, onOpenChange, children, ...rest } = props;\n return (\n <HoverCardRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n <HoverCardTrigger asChild>{children}</HoverCardTrigger>\n <HoverCardPrimitive.Portal>\n <HoverCardContent {...rest}>\n {content}\n <HoverCardPrimitive.Arrow\n width={11}\n height={5}\n className=\"oui-fill-base-4\"\n />\n </HoverCardContent>\n </HoverCardPrimitive.Portal>\n </HoverCardRoot>\n );\n};\n\nHoverCard.displayName = \"HoverCard\";\n\nexport { HoverCard, HoverCardRoot, HoverCardTrigger, HoverCardContent };\n","export { Calendar } from \"./date/calendar\";\n\nimport { DatePicker as DatePickerBase } from \"./datepicker\";\nimport { DateRangePicker } from \"./dateRangePicker\";\n\ntype DatePickerType = typeof DatePickerBase & {\n range: typeof DateRangePicker;\n};\n\nconst DatePicker = DatePickerBase as DatePickerType;\nDatePicker.range = DateRangePicker;\n\nexport { DatePicker };\nexport type { DatePickerProps } from \"./datepicker\";\n\nexport { Picker } from \"./picker\";\n","import * as React from \"react\";\nimport { Fragment, useMemo } from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { cn } from \"..\";\nimport { tv } from \"../utils/tv\";\nimport { convertValueToPercentage, getThumbInBoundsOffset } from \"./utils\";\n\nconst sliderVariants = tv({\n slots: {\n root: \"oui-relative oui-flex oui-w-full oui-touch-none oui-select-none oui-items-center\",\n thumb: [\n \"oui-block\",\n \"oui-h-[10px]\",\n \"oui-w-[10px]\",\n \"oui-rounded-full\",\n \"oui-border-[2px]\",\n \"oui-border-primary\",\n \"oui-bg-base-6\",\n \"oui-shadow\",\n \"oui-group\",\n \"oui-transition-colors\",\n \"focus-visible:oui-outline-none\",\n\n // \"focus-visible:oui-ring-1\",\n // \"focus-visible:oui-ring-ring\",\n // \"focus:oui-w-4\",\n // \"focus:oui-h-4\",\n \"focus:oui-shadow-[0_0_0_8px]\",\n \"focus:oui-shadow-base-contrast/20\",\n \"focus:oui-h-[14px]\",\n \"focus:oui-w-[14px]\",\n // \"focus:oui-border-[3px]\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-border-base-2\",\n \"data-[disabled]:oui-hidden\",\n ],\n track:\n \"oui-relative oui-h-[8px] oui-w-full oui-grow oui-overflow-hidden oui-rounded-full\",\n\n trackInner:\n \"oui-absolute oui-left-0 oui-right-0 oui-h-[2px] oui-top-[3px] oui-pointer-events-none oui-bg-base-2\",\n range:\n \"oui-absolute oui-h-[2px] oui-top-[3px] oui-bg-primary data-[disabled]:oui-bg-base-2\",\n mark: \"oui-absolute oui-top-[1px] oui-w-[6px] oui-h-[6px] oui-rounded oui-border oui-border-base-2 oui-bg-base-6 oui-pointer-events-none oui-translate-x-[-50%]\",\n tips: [\n \"oui-absolute\",\n \"oui-hidden\",\n \"oui-rounded\",\n \"oui-drop-shadow\",\n \"oui-w-[36px]\",\n \"oui-h-[19px]\",\n \"oui-translate-x-[-12px]\",\n \"oui-top-[-28px]\",\n \"oui-font-semibold\",\n \"oui-text-center\",\n \"group-focus:oui-inline-block\",\n \"after:oui-block\",\n \"after:oui-absolute\",\n \"after:oui-bottom-[-8px]\",\n \"after:oui-w-0\",\n \"after:oui-h-0\",\n \"after:oui-border-4\",\n \"after:oui-left-1/2\",\n \"after:oui-translate-x-[-50%]\",\n \"after:oui-border-solid\",\n \"after:oui-border-transparent\",\n \"after:oui-border-t-inherit\",\n \"oui-text-base-5\",\n \"oui-text-2xs\",\n ],\n },\n variants: {\n color: {\n primary: {\n thumb: [\"oui-border-primary\", \"oui-bg-base-5\"],\n range: \"oui-bg-primary\",\n tips: \"oui-bg-primary after:oui-border-t-primary\",\n },\n primaryLight: {\n thumb: [\"oui-border-primary-light\", \"oui-bg-base-5\"],\n range: \"oui-bg-primary-light\",\n tips: \"oui-bg-primary-light after:oui-border-t-primary-light\",\n },\n buy: {\n thumb: [\"oui-border-success\", \"oui-bg-base-5\"],\n range: \"oui-bg-success\",\n tips: [\"oui-bg-success after:oui-border-t-success\"],\n },\n sell: {\n thumb: [\"oui-border-danger\", \"oui-bg-base-5\"],\n range: \"oui-bg-danger\",\n tips: [\"oui-bg-danger after:oui-border-t-danger\"],\n },\n },\n },\n});\n\nexport type SliderMarks = { value: number; label: string }[];\n\ntype SliderProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root> &\n VariantProps<typeof sliderVariants> & {\n // showMarks?: boolean;\n marks?: SliderMarks;\n markCount?: number;\n markLabelVisible?: boolean;\n showTip?: boolean;\n tipFormatter?: (\n value: number,\n min: number,\n max: number,\n percent: number,\n ) => string | React.ReactNode;\n classNames?: {\n root?: string;\n thumb?: string;\n track?: string;\n range?: string;\n };\n };\n\nconst BaseSlider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n SliderProps\n>((oriProps, ref) => {\n const {\n className,\n color,\n marks,\n markCount,\n classNames,\n markLabelVisible,\n showTip,\n onValueChange,\n value: __propsValue,\n ...props\n } = oriProps;\n const { track, range, thumb, root, trackInner, mark, tips } = sliderVariants({\n color,\n });\n\n const [innerValue, setInvalue] = React.useState(__propsValue);\n\n React.useEffect(() => {\n setInvalue((prev) => {\n if (!prev) {\n return __propsValue;\n }\n if (__propsValue?.some((v, i) => v !== prev[i])) {\n return __propsValue;\n }\n return prev;\n });\n }, [__propsValue]);\n\n const innerMasks = useMemo<SliderMarks>(() => {\n if (Array.isArray(marks) && marks.length > 0) {\n return marks;\n }\n\n let _max = props.max;\n if (!_max) {\n _max = 100;\n }\n\n if (typeof markCount !== \"undefined\") {\n const marks: SliderMarks = [];\n\n // if(max === 0){\n\n // }\n\n const piece = _max / markCount;\n const len = markCount - 1;\n\n for (let i = 0; i <= len; i++) {\n const value = i * piece;\n marks.push({\n value,\n label: `${value}`,\n });\n }\n\n marks.push({\n value: _max,\n label: `100`,\n });\n\n return marks;\n }\n\n return [];\n }, [marks, markCount, props.max]);\n\n const onValueChangeInner = (value: number[]) => {\n setInvalue(value);\n\n onValueChange?.(value);\n };\n\n return (\n <SliderPrimitive.Root\n ref={ref}\n className={root({ className })}\n value={onValueChange ? __propsValue : innerValue}\n onValueChange={onValueChange ? onValueChange : onValueChangeInner}\n {...props}\n >\n <SliderPrimitive.Track\n className={track({ className: classNames?.track })}\n >\n <div className={trackInner()} />\n <SliderPrimitive.Range\n className={range({ className: classNames?.range })}\n />\n </SliderPrimitive.Track>\n {Array.isArray(innerMasks) && innerMasks.length > 0 && (\n <Marks\n value={innerValue}\n color={color}\n marks={innerMasks}\n isInnerMask={!Array.isArray(marks) || marks.length === 0}\n min={props.min}\n max={props.max}\n markLabelVisible={markLabelVisible}\n disabled={props.disabled}\n className={mark()}\n step={props.step}\n />\n )}\n <SliderPrimitive.Thumb\n className={thumb({\n className: cn(classNames?.thumb, \"oui-slider-thumb\"),\n })}\n >\n {showTip && (\n <SliderTip\n value={innerValue}\n className={tips({ color })}\n max={props.max ?? 100}\n min={0}\n tipFormatter={props.tipFormatter}\n />\n )}\n </SliderPrimitive.Thumb>\n </SliderPrimitive.Root>\n );\n});\n\nBaseSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport type SliderMarksProps = {\n value?: number[];\n marks?: SliderMarks;\n color?: \"primary\" | \"buy\" | \"sell\" | \"primaryLight\";\n // width: number;\n min?: number;\n max?: number;\n disabled?: boolean;\n markLabelVisible?: boolean;\n isInnerMask?: boolean;\n className?: string;\n step?: number;\n};\n\nconst Marks: React.FC<SliderMarksProps> = (props) => {\n const {\n marks,\n value,\n isInnerMask,\n markLabelVisible,\n className,\n color = \"primary\",\n } = props;\n const _value = useMemo(() => value?.[0] ?? 0, [value]);\n const selIndex = useMemo(() => {\n if (typeof props.step === \"undefined\") {\n return undefined;\n }\n return Math.floor(_value / props.step);\n }, [_value, props.step]);\n\n const colorCls = useMemo(() => {\n switch (color) {\n case \"primary\":\n return \"oui-border-primary oui-bg-primary\";\n case \"buy\":\n return \"oui-border-trade-profit oui-bg-trade-profit\";\n case \"sell\":\n return \"oui-border-trade-loss oui-bg-trade-loss\";\n case \"primaryLight\":\n return \"oui-border-primary-light oui-bg-primary-light\";\n }\n }, [color]);\n\n const textCls = useMemo(() => {\n switch (color) {\n case \"primary\":\n return \"oui-text-primary\";\n case \"buy\":\n return \"oui-texttrade-profit\";\n case \"sell\":\n return \"oui-text-trade-loss\";\n case \"primaryLight\":\n return \"oui-text-primary-light\";\n }\n }, [color]);\n\n return (\n <>\n {marks?.map((mark, index) => {\n const percent = convertValueToPercentage(\n mark.value,\n props.min ?? 1,\n props.max ?? marks.length - 1,\n );\n // const percent = convertValueToPercentage(index, 0, marks.length - 1);\n // const percent = ((100 - 2 * 6) / (marks.length - 1)) * index;\n const thumbInBoundsOffset = getThumbInBoundsOffset(6, percent, 1);\n const __value = isInnerMask ? mark.value : index;\n // console.log(\"_ value\", isInnerMask, _value, selIndex, mark, __value, percent);\n\n const active =\n (isInnerMask ? _value >= __value : (selIndex ?? 0) >= __value) &&\n _value >= 0 &&\n !props.disabled;\n\n const classNames = active ? colorCls : \"\";\n\n return (\n <Fragment key={index}>\n <span\n className={cnBase(className, classNames)}\n style={{ left: `calc(${percent}% + ${thumbInBoundsOffset}px)` }}\n />\n {!props.disabled && markLabelVisible && (\n <span\n data-testid={`oui-testid-slider-mark-label-${mark.label}`}\n key={index}\n className={cn(\n \"oui-absolute oui-top-[16px] oui-text-2xs xl:oui-text-xs oui-text-base-contrast-54 oui-cursor-pointer oui-translate-x-[-50%]\",\n selIndex === index && textCls,\n )}\n style={{ left: `calc(${percent}% + ${thumbInBoundsOffset}px)` }}\n >\n {mark.label}\n </span>\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport interface SliderTipProps {\n value?: number[];\n className?: string;\n min: number;\n max: number;\n tipFormatter?: (\n value: number,\n min: number,\n max: number,\n percent: number,\n ) => string | React.ReactNode;\n}\n\nexport const SliderTip: React.FC<SliderTipProps> = (props) => {\n const { className, min, max } = props;\n const value = props.value?.[0] ?? 0;\n const percent = convertValueToPercentage(value, min, max);\n return (\n <span className={className} style={{ lineHeight: \"19px\" }}>\n {props.tipFormatter?.(value, min, max, percent) ??\n `${percent.toFixed()}%`}\n </span>\n );\n};\n\nconst SingleSlider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n Omit<SliderProps, \"value\" | \"onValueChange\" | \"onValueCommit\"> & {\n value: number;\n onValueChange?: (value: number) => void;\n onValueCommit?: (value: number) => void;\n }\n>((props, ref) => {\n const _value = useMemo(() => [props.value], [props.value]);\n\n return (\n <BaseSlider\n {...props}\n value={_value}\n ref={ref}\n onValueChange={\n typeof props.onValueChange === \"function\"\n ? (values: number[]) => {\n props.onValueChange!(values[0]);\n }\n : undefined\n }\n onValueCommit={\n typeof props.onValueCommit === \"function\"\n ? (values: number[]) => {\n props.onValueCommit!(values[0]);\n }\n : undefined\n }\n />\n );\n});\n\nSingleSlider.displayName = \"SingleSlider\";\n\ntype SliderType = typeof BaseSlider & {\n single: typeof SingleSlider;\n};\n\nconst Slider = BaseSlider as SliderType;\n\nSlider.single = SingleSlider;\n\nexport { Slider };\n","function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport function convertValueToPercentage(\n value: number,\n min: number,\n max: number,\n) {\n const maxSteps = max - min;\n if (maxSteps === 0) {\n return clamp(0, [0, 100]);\n }\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\n\nfunction linearScale(\n input: readonly [number, number],\n output: readonly [number, number],\n) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) {\n return output[0];\n }\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n\nexport function getThumbInBoundsOffset(\n width: number,\n left: number,\n direction: number,\n) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\n","\"use client\";\nimport {\n ToastBar,\n toast,\n Toaster as PrimitiveToaster,\n ToastOptions,\n} from \"react-hot-toast\";\nimport { FC } from \"react\";\nimport { CloseIcon, cn } from \"..\";\nimport {\n ToastErrorIcon,\n ToastLoadingIcon,\n ToastSuccessIcon,\n} from \"../icon/toasterIcons\";\n\ninterface ToastProps extends ToastOptions {}\n\nexport const Toaster: FC<ToastProps> = (props) => {\n return (\n // @ts-ignore\n <PrimitiveToaster\n toastOptions={{\n duration: 3000,\n // style: {\n // fontSize: \"16px\",\n // color: \"rgba(255, 255, 255, 0.8)\",\n // padding: 16,\n // background: \"rgba(25, 14, 44, 1)\",\n // },\n success: {\n iconTheme: {\n primary: \"rgba(123, 220, 138, 1)\",\n secondary: \"rgba(25, 14, 44, 1)\",\n },\n style: {\n // color: \"rgba(123, 220, 138, 1)\",\n background: 'rgba(40, 46, 58, 1)'\n },\n },\n loading: {\n duration: 5000,\n style: {\n background: 'rgba(40, 46, 58, 1)'\n }\n },\n error: {\n iconTheme: {\n primary: \"rgba(217, 91, 129, 1)\",\n secondary: \"rgba(25, 14, 44, 1)\",\n },\n style: {\n // color: \"rgba(217, 91, 129, 1)\",\n background: 'rgba(40, 46, 58, 1)'\n },\n },\n }}\n {...props}\n containerClassName={cn(\"!top-[62px] md:!top-[80px] oui-font-semibold\", props.className)}\n >\n {(t) => (\n // @ts-ignore\n <ToastBar\n toast={t}\n style={{\n ...t.style,\n color: \"rgba(255, 255, 255, 0.8)\",\n // background: \"rgba(25, 14, 44, 1)\",\n borderRadius: \"6px\",\n wordBreak: \"break-all\",\n maxWidth: 800,\n boxShadow: \"0px 4px 8px 0px rgba(0, 0, 0, 0.36)\",\n }}\n >\n {({ icon, message }) => {\n let customIcon = icon;\n if (t.type === \"error\") {\n customIcon = (\n <ToastErrorIcon className=\"w-[16px] h-[16px] md:w-[24px] md:h-[24px]\" />\n );\n } else if (t.type === \"success\") {\n customIcon = (\n <ToastSuccessIcon size={20} />\n );\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 }\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]\">\n {message}\n </div>\n {true && (\n <button\n onClick={() => toast.dismiss(t.id)}\n className=\"oui-hidden md:oui-block\"\n >\n <CloseIcon size={16} className=\" oui-text-base-contrast-54\" />\n </button>\n )}\n </div>\n );\n }}\n </ToastBar>\n )}\n </PrimitiveToaster>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ToastErrorIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n d=\"M10 1.628a8.333 8.333 0 1 0-.001 16.666 8.333 8.333 0 0 0 0-16.666m-2.5 5c.212 0 .435.071.598.234L10 8.762l1.9-1.9a.85.85 0 0 1 .6-.234c.213 0 .436.071.6.234a.86.86 0 0 1 0 1.198l-1.902 1.901 1.901 1.9a.86.86 0 0 1 0 1.2.86.86 0 0 1-1.198 0L10 11.158 8.097 13.06a.86.86 0 0 1-1.198 0 .857.857 0 0 1 0-1.198L8.8 9.96l-1.9-1.9a.857.857 0 0 1 0-1.2.84.84 0 0 1 .6-.233\"\n fill=\"#FF447C\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n }\n);\nexport const ToastSuccessIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.678 10a8.333 8.333 0 1 1 16.667-.001 8.333 8.333 0 0 1-16.667 0m12.477-3.907c.189-.18.448-.26.697-.26s.507.08.697.26c.38.362.38.969 0 1.33l-6.793 6.473a1.033 1.033 0 0 1-1.394 0l-2.911-2.774a.92.92 0 0 1 0-1.33 1.034 1.034 0 0 1 1.395 0l2.213 2.11z\"\n fill=\"#00B49E\"\n />\n </BaseIcon>\n );\n }\n);\nexport const ToastLoadingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.167 3.333c0-.46.373-.833.833-.833A7.5 7.5 0 1 1 2.5 10a.833.833 0 0 1 1.667 0A5.834 5.834 0 1 0 10 4.167a.833.833 0 0 1-.833-.834\"\n fill=\"#4774F6\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n }\n);\n\nToastErrorIcon.displayName = \"ToasterErrorIcon\";\nToastSuccessIcon.displayName = \"ToastSuccessIcon\";\nToastLoadingIcon.displayName = \"ToastLoadingIcon\";\n","export { Toaster } from \"./Toaster\";\nexport { toast } from \"react-hot-toast\";\nexport { ToastTile } from \"./toastTile\";\n","import { cn } from \"..\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\n\nexport const ToastTile = (props: {\n title: string;\n subtitle?: string;\n classNames?: {\n className?: string;\n titleClassName?: string;\n subtitleClassName?: string;\n };\n}) => {\n return (\n <Flex\n direction=\"column\"\n itemAlign={\"start\"}\n className={cn(\"oui-gap-[2px]\", props.classNames?.className)}\n >\n <Text\n size=\"base\"\n intensity={80}\n className={props.classNames?.titleClassName}\n >\n {props.title}\n </Text>\n {(props.subtitle?.length || 0) > 0 && (\n <Text\n size=\"xs\"\n intensity={54}\n className={props.classNames?.subtitleClassName}\n >\n {props.subtitle}\n </Text>\n )}\n </Flex>\n );\n};\n","import React, { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { useMemo, useRef } from \"react\";\nimport { cnBase, cn } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport { Spinner } from \"../spinner\";\nimport { EmptyDataState } from \"../table\";\nimport { useEndReached } from \"./useEndReached\";\n\nexport interface ListViewProps<T, D extends unknown> {\n dataSource: T[] | null | undefined;\n renderItem: (item: T, index: number, extraData?: D) => React.ReactNode;\n className?: string;\n contentClassName?: string;\n isLoading?: boolean;\n loadMore?: () => void;\n\n style?: React.CSSProperties;\n\n extraData?: D;\n emptyView?: React.ReactNode;\n}\n\nexport type ListViewRef = ForwardedRef<{\n scroll: (direction: { x: number; y: number }) => void;\n}>;\n\nconst ListViewInner = <T extends unknown, D extends unknown>(\n props: ListViewProps<T, D>,\n ref: ListViewRef,\n) => {\n const sentinelRef = useRef<HTMLDivElement | null>(null);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEndReached(sentinelRef, () => {\n if (!props.isLoading) {\n props.loadMore?.();\n }\n });\n\n const emptyDataSouce = useMemo(() => {\n return Array.isArray(props.dataSource) && props.dataSource.length <= 0;\n }, [props.dataSource]);\n\n const listViewElement = useMemo(() => {\n if (!props.dataSource) {\n return null;\n }\n\n if (emptyDataSouce) {\n return (\n props.emptyView || (\n <Flex\n direction={\"column\"}\n height={\"100%\"}\n itemAlign={\"center\"}\n justify={\"center\"}\n mt={3}\n >\n <EmptyDataState />\n </Flex>\n )\n );\n }\n\n return props.dataSource.map((item, index) => (\n <React.Fragment key={index}>\n {props.renderItem(item, index, props.extraData)}\n </React.Fragment>\n ));\n }, [emptyDataSouce, props.dataSource, props.extraData, props.emptyView]);\n\n const loadingViewElement = useMemo(() => {\n if ((props.dataSource?.length || 0) === 0) return null;\n if (!props.isLoading) {\n return null;\n }\n\n return (\n <div className=\"oui-flex oui-py-2 oui-justify-center oui-items-center\">\n <Spinner />\n </div>\n );\n }, [props.isLoading, props.dataSource]);\n\n useImperativeHandle(ref, () => {\n return {\n scroll: (direction) => {\n containerRef.current?.scroll({\n left: direction.x,\n top: direction.y,\n behavior: \"smooth\",\n });\n },\n };\n });\n\n return (\n <div\n style={props.style}\n ref={containerRef}\n className={cn(\n \"oui-relative oui-min-h-[180px] oui-custom-scrollbar oui-overflow-auto\",\n props.className,\n )({\n twMerge: true,\n })}\n >\n <div\n className={cn(\n \"oui-space-y-3 oui-h-full oui-w-full\",\n emptyDataSouce &&\n \"oui-absolute oui-left-0 oui-right-0 oui-top-0 oui-bottom-0\",\n props.contentClassName,\n )({ twMerge: true })}\n >\n {listViewElement}\n </div>\n <div\n ref={sentinelRef}\n className=\"oui-relative oui-invisible oui-h-[1px] oui-top-[-300px]\"\n />\n {loadingViewElement}\n </div>\n );\n};\n\nexport const ListView = forwardRef(ListViewInner) as <T, D>(\n props: ListViewProps<T, D> & {\n ref?: ForwardedRef<{\n scroll: (direction: { x: number; y: number }) => void;\n }>;\n },\n) => JSX.Element;\n","import { useEffect, useRef, MutableRefObject } from \"react\";\n\n/**\n * Listen for the specified element to scroll to the bottom\n */\nexport function useEndReached(\n sentinelRef: MutableRefObject<HTMLDivElement | null>,\n onEndReached?: () => void\n) {\n const observer = useRef<IntersectionObserver>();\n const cb = useRef(onEndReached);\n\n cb.current = onEndReached;\n\n useEffect(() => {\n const options: IntersectionObserverInit = {\n root: null,\n rootMargin: \"0px\",\n threshold: 0,\n };\n\n const handleObserver = (entries: IntersectionObserverEntry[]) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n cb.current?.();\n }\n });\n };\n\n observer.current = new IntersectionObserver(handleObserver, options);\n\n return () => {\n observer.current?.disconnect();\n };\n }, []);\n\n useEffect(() => {\n observer.current?.observe(sentinelRef.current!);\n }, []);\n}\n","import { FC } from \"react\";\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { cn } from \"..\";\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent: FC<CollapsiblePrimitive.CollapsibleContentProps> = (\n props\n) => {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n {...props}\n className={cn(\n props.className,\n \"data-[state=open]:oui-animate-collapsible-down data-[state=closed]:oui-animate-collapsible-up oui-overflow-hidden\"\n )}\n ></CollapsiblePrimitive.CollapsibleContent>\n );\n};\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import React, { useMemo, useState } from \"react\";\nimport { CollapseContext } from \"./collapseContext\";\nimport type { CollapseContextState } from \"./collapseContext\";\nimport { Panel } from \"./panel\";\n\nconst CollapseRoot: React.FC<\n React.PropsWithChildren<{ activeKey?: string }>\n> = (props) => {\n const { activeKey = \"\", children } = props;\n const [internalActiveKey, setInternalActiveKey] = useState<string>(activeKey);\n const memoizedValue = useMemo<CollapseContextState>(() => {\n return {\n activeKey: internalActiveKey,\n setActiveKey: setInternalActiveKey,\n };\n }, [internalActiveKey, setInternalActiveKey]);\n return (\n <CollapseContext.Provider value={memoizedValue}>\n {children}\n </CollapseContext.Provider>\n );\n};\n\ntype Collapse = typeof CollapseRoot & {\n panel: typeof Panel;\n};\n\nconst Collapse = CollapseRoot as Collapse;\n\nCollapse.panel = Panel;\n\nexport default Collapse;\n","import { createContext, useContext } from \"react\";\n\nexport interface CollapseContextState {\n activeKey: string;\n setActiveKey: (key: string) => void;\n}\n\nexport const CollapseContext = createContext<CollapseContextState>(\n {} as CollapseContextState,\n);\n\nexport const useCollapseContext = () => {\n return useContext(CollapseContext);\n};\n","import React, { FC, PropsWithChildren, ReactNode, useMemo } from \"react\";\nimport { ChevronDownIcon, cn } from \"../..\";\nimport {\n CollapsibleContent,\n Collapsible,\n CollapsibleTrigger,\n} from \"../collapsible\";\nimport { useCollapseContext } from \"./collapseContext\";\n\ninterface Props {\n header: ReactNode;\n headerClassName?: string;\n itemKey: string;\n disabled?: boolean;\n}\n\nexport const Panel: FC<PropsWithChildren<Props>> = (props) => {\n const { activeKey, setActiveKey } = useCollapseContext();\n const { header, headerClassName, itemKey, disabled } = props;\n const headerNode = useMemo<React.ReactNode>(() => {\n if (typeof header === \"string\") {\n return (\n <div\n className={cn(\n \"oui-border-divider flex items-center oui-group oui-cursor-pointer oui-border-b oui-py-2\",\n headerClassName,\n )}\n >\n <div className=\"oui-flex-1 group-data-[state=open]:oui-font-semibold\">\n {header}\n </div>\n <ChevronDownIcon\n size={16}\n className=\"oui-transition-transform group-data-[state=open]:oui-rotate-180\"\n />\n </div>\n );\n }\n return header;\n }, [header, headerClassName]);\n\n return (\n <Collapsible\n disabled={disabled}\n open={itemKey === activeKey}\n onOpenChange={(open) => {\n if (open) {\n setActiveKey(itemKey);\n } else {\n setActiveKey(\"\");\n }\n }}\n >\n <CollapsibleTrigger asChild>{headerNode}</CollapsibleTrigger>\n <CollapsibleContent className=\"oui-py-3\">\n {props.children}\n </CollapsibleContent>\n </Collapsible>\n );\n};\n","import React, { useMemo } from \"react\";\nimport AutoScroll from \"embla-carousel-auto-scroll\";\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { cnBase } from \"tailwind-variants\";\n\n// Extract types from embla carousel\ntype EmblaCarouselType = UseEmblaCarouselType[1];\ntype UseEmblaCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype EmblaCarouselOptions = UseEmblaCarouselParameters[0];\n\n/**\n * Auto scroll plugin options\n */\nexport interface AutoScrollOptions {\n /** Scroll speed in pixels per second */\n speed?: number;\n /** Scroll direction - 'forward' or 'backward' */\n direction?: \"forward\" | \"backward\";\n /** Whether to start auto-scrolling on initialization */\n playOnInit?: boolean;\n /** Whether to stop auto-scrolling on user interaction */\n stopOnInteraction?: boolean;\n /** Whether to stop auto-scrolling on mouse enter */\n stopOnMouseEnter?: boolean;\n /** Whether to stop auto-scrolling on focus */\n stopOnFocusIn?: boolean;\n /** Delay before starting auto-scroll in milliseconds */\n startDelay?: number;\n /** Root node to listen for interactions */\n rootNode?: (emblaRoot: HTMLElement) => HTMLElement;\n}\n\n/**\n * Props for the Marquee component\n */\nexport interface MarqueeProps<T = unknown> {\n /** Array of data items to display in the marquee */\n data: T[] | ReadonlyArray<T>;\n /** Function to render each item */\n renderItem: (item: T, index: number) => React.ReactNode;\n /** Embla carousel options */\n carouselOptions?: EmblaCarouselOptions;\n /** Auto scroll plugin options */\n autoScrollOptions?: AutoScrollOptions;\n /** Additional CSS class name */\n className?: string;\n /** Callback to get the embla carousel API instance */\n setApi?: (api: EmblaCarouselType) => void;\n}\n\n/**\n * Marquee component using Embla Carousel with auto-scroll functionality\n *\n * @example\n * ```tsx\n * const items = ['Item 1', 'Item 2', 'Item 3'];\n *\n * <Marquee\n * data={items}\n * renderItem={(item, index) => <div key={index}>{item}</div>}\n * carouselOptions={{\n * loop: true,\n * align: \"start\",\n * axis: \"x\"\n * }}\n * autoScrollOptions={{\n * speed: 1,\n * direction: \"forward\",\n * stopOnMouseEnter: true\n * }}\n * />\n * ```\n */\nexport const Marquee = <T,>(props: MarqueeProps<T>) => {\n const {\n data,\n renderItem,\n carouselOptions = {},\n autoScrollOptions = {},\n className,\n setApi,\n } = props;\n\n // Determine if scrolling is horizontal or vertical based on axis option\n const isHorizontal = useMemo<boolean>(\n () => carouselOptions.axis !== \"y\",\n [carouselOptions.axis],\n );\n\n // Configure embla carousel options with sensible defaults\n const emblaOptions = useMemo<EmblaCarouselOptions>(() => {\n return {\n loop: true,\n align: \"start\",\n containScroll: \"trimSnaps\",\n skipSnaps: false,\n axis: \"x\",\n ...carouselOptions,\n };\n }, [carouselOptions]);\n\n // Configure auto-scroll plugin options with sensible defaults\n const autoScrollPluginOptions = useMemo(() => {\n return {\n speed: 1,\n direction: \"forward\" as const,\n playOnInit: true,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n stopOnFocusIn: false,\n ...autoScrollOptions,\n };\n }, [autoScrollOptions]);\n\n // Initialize embla carousel with auto-scroll plugin\n const [emblaRef, emblaApi] = useEmblaCarousel(emblaOptions, [\n AutoScroll(autoScrollPluginOptions),\n ]);\n\n // Provide API to parent component if requested\n React.useEffect(() => {\n if (emblaApi && setApi) {\n setApi(emblaApi);\n }\n }, [emblaApi, setApi]);\n\n // Render slides - duplicate content for seamless looping\n const renderSlides = useMemo(() => {\n if (!Array.isArray(data) || data.length === 0) {\n return null;\n }\n\n return data.map((item, index) => (\n <div\n key={`slide-${index}`}\n className={cnBase(\n \"oui-shrink-0\",\n isHorizontal ? \"oui-w-auto\" : \"oui-h-auto\",\n )}\n style={{\n minWidth: isHorizontal ? \"auto\" : \"100%\",\n minHeight: isHorizontal ? \"100%\" : \"auto\",\n }}\n >\n {renderItem(item, index % data.length)}\n </div>\n ));\n }, [data, renderItem, isHorizontal]);\n\n return (\n <div\n ref={emblaRef}\n className={cnBase(\n \"oui-relative oui-overflow-hidden\",\n isHorizontal ? \"oui-w-full\" : \"oui-h-full\",\n className,\n )}\n >\n <div\n className={cnBase(\n \"oui-flex\",\n isHorizontal ? \"oui-flex-row\" : \"oui-flex-col\",\n )}\n >\n {renderSlides}\n </div>\n </div>\n );\n};\n","import * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { tv, VariantProps } from \"tailwind-variants\";\nimport { SizeType } from \"../helpers/sizeType\";\n\nconst DropdownMenuRoot = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst dropdownMenuVariants = tv({\n slots: {\n content: [\n \"oui-z-50\",\n \"oui-min-w-[8rem]\",\n \"oui-overflow-hidden\",\n \"oui-rounded-xl\",\n \"oui-p-1\",\n \"oui-bg-base-8\",\n \"oui-text-base-contrast\",\n \"oui-shadow-md\",\n \"oui-border\",\n \"oui-border-line-6\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n item: [\n \"oui-relative\",\n \"oui-flex\",\n \"oui-cursor-default\",\n \"oui-select-none\",\n \"oui-items-center\",\n // \"oui-rounded-lg\",\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-text-sm\",\n \"oui-outline-none\",\n \"oui-transition-colors\",\n \"hover:oui-bg-base-5\",\n \"focus:oui-bg-accent\",\n \"focus:oui-text-accent-foreground\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-opacity-50\",\n ],\n label: \"oui-px-2 oui-py-1.5 oui-text-sm oui-font-semibold\",\n separator: \"-oui-mx-1 oui-my-1 oui-h-px oui-bg-muted\",\n shortcut: \"oui-ml-auto oui-text-xs oui-tracking-widest oui-opacity-60\",\n },\n variants: {\n size: {\n xs: {\n content: \"oui-rounded\",\n item: [\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-h-6\",\n \"oui-rounded\",\n \"oui-text-2xs\",\n ],\n },\n sm: {\n content: \"oui-rounded\",\n item: [\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-h-6\",\n \"oui-rounded\",\n \"oui-text-2xs\",\n ],\n },\n md: {\n content: \"oui-rounded-md\",\n item: [\"oui-px-4\", \"oui-py-3\", \"oui-h-6\", \"oui-rounded\"],\n },\n lg: {\n content: \"oui-rounded-lg\",\n item: [\"oui-px-4\", \"oui-py-3\", \"oui-h-6\", \"oui-rounded-md\"],\n },\n xl: {\n content: \"oui-rounded-xl\",\n item: [\n \"oui-px-4\",\n \"oui-py-3\",\n \"oui-h-10\",\n \"oui-rounded-lg\",\n \"oui-text-base\",\n ],\n },\n },\n inset: {\n true: {\n item: [\"oui-pl-8\"],\n label: [\"oui-pl-8\"],\n },\n },\n },\n defaultVariants: {\n inset: false,\n size: \"lg\",\n },\n});\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> &\n VariantProps<typeof dropdownMenuVariants>\n>(({ className, sideOffset = 4, size, ...props }, ref) => {\n const { content } = dropdownMenuVariants({ size });\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={content({ className })}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n});\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n size?: SizeType;\n }\n>(({ className, inset, size, ...props }, ref) => {\n const { item } = dropdownMenuVariants({ size });\n return (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={item({ className, inset })}\n {...props}\n />\n );\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\n// const DropdownMenuCheckboxItem = React.forwardRef<\n// React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n// React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n// >(({ className, children, checked, ...props }, ref) => (\n// <DropdownMenuPrimitive.CheckboxItem\n// ref={ref}\n// className={cn(\n// \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n// className\n// )}\n// checked={checked}\n// {...props}\n// >\n// <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n// <DropdownMenuPrimitive.ItemIndicator>\n// {/* <CheckIcon className=\"h-4 w-4\" /> */}\n// </DropdownMenuPrimitive.ItemIndicator>\n// </span>\n// {children}\n// </DropdownMenuPrimitive.CheckboxItem>\n// ));\n// DropdownMenuCheckboxItem.displayName =\n// DropdownMenuPrimitive.CheckboxItem.displayName;\n\n// const DropdownMenuRadioItem = React.forwardRef<\n// React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n// React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n// >(({ className, children, ...props }, ref) => (\n// <DropdownMenuPrimitive.RadioItem\n// ref={ref}\n// className={cn(\n// \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n// className\n// )}\n// {...props}\n// >\n// <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n// <DropdownMenuPrimitive.ItemIndicator>\n// {/* <DotFilledIcon className=\"h-4 w-4 fill-current\" /> */}\n// </DropdownMenuPrimitive.ItemIndicator>\n// </span>\n// {children}\n// </DropdownMenuPrimitive.RadioItem>\n// ));\n// DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => {\n const { label } = dropdownMenuVariants({\n inset,\n });\n return (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={label({ className })}\n {...props}\n />\n );\n});\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => {\n const { separator } = dropdownMenuVariants();\n return (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n );\n});\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n const { shortcut } = dropdownMenuVariants();\n return <span className={shortcut({ className })} {...props} />;\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenuRoot,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n // DropdownMenuCheckboxItem,\n // DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n // DropdownMenuSubContent,\n // DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n","import { PropsWithChildren, type ReactNode, useMemo } from \"react\";\nimport {\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuPortal,\n DropdownMenuRoot,\n DropdownMenuTrigger,\n} from \"./dropdown\";\nimport type { DropdownMenuContentProps } from \"@radix-ui/react-dropdown-menu\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { Flex } from \"../flex\";\nimport { Box } from \"../box\";\n\nexport type MenuItem = {\n label: string;\n value: string;\n testId?: string;\n};\n\ntype DropdownMenuProps = {\n currentValue?: string;\n menu: MenuItem[];\n onSelect?: (item: MenuItem) => void;\n render?: (item: MenuItem, index: number) => ReactNode;\n size?: SizeType;\n} & DropdownMenuContentProps;\n\nconst SimpleDropdownMenu = (props: PropsWithChildren<DropdownMenuProps>) => {\n const { currentValue, menu, render, size, children, ...contentProps } = props;\n\n const items = useMemo(() => {\n if (typeof props.render === \"function\") {\n return props.menu.map((item, index) => {\n return props.render?.(item, index);\n });\n }\n\n return props.menu.map((item) => (\n <DropdownMenuItem\n textValue={item.value}\n key={item.value}\n onSelect={(event) => {\n props.onSelect?.(item);\n }}\n size={size}\n data-testid={item.testId}\n >\n <Flex justify={\"between\"} width={\"100%\"}>\n {item.label}\n {currentValue == item.value && <Box width={4} height={4} gradient=\"primary\" r=\"full\"/>}\n </Flex>\n </DropdownMenuItem>\n ));\n }, [props.menu, props.render, currentValue]);\n return (\n <DropdownMenuRoot>\n <DropdownMenuTrigger asChild>{children}</DropdownMenuTrigger>\n <DropdownMenuPortal>\n <DropdownMenuContent\n onCloseAutoFocus={(event) => {\n event.preventDefault();\n }}\n size={size}\n {...contentProps}\n >\n {items}\n </DropdownMenuContent>\n </DropdownMenuPortal>\n </DropdownMenuRoot>\n );\n};\n\nexport { SimpleDropdownMenu };\n","import {\n ComponentType,\n FC,\n PropsWithChildren,\n useCallback,\n useMemo,\n} from \"react\";\nimport { ExtensionPosition } from \"../plugin\";\nimport { ComponentsProvider } from \"./componentProvider\";\nimport {\n ComponentOverrides,\n OrderlyThemeContext,\n OrderlyThemeContextState,\n} from \"./orderlyThemeContext\";\n\nexport type OrderlyThemeProviderProps = {\n // dateFormatting?: string;\n components?: {\n [position in ExtensionPosition]: ComponentType;\n };\n overrides?: Partial<ComponentOverrides>;\n};\n\nexport const OrderlyThemeProvider: FC<\n PropsWithChildren<OrderlyThemeProviderProps>\n> = (props) => {\n const { components, overrides, children } = props;\n\n const resolveComponentTheme = useCallback(\n <T extends keyof ComponentOverrides>(\n component: T,\n defaultValue?: ComponentOverrides[T],\n ) => {\n return (overrides as ComponentOverrides)?.[component] || defaultValue;\n },\n [overrides],\n );\n\n const memoizedValue = useMemo<OrderlyThemeContextState>(() => {\n return { getComponentTheme: resolveComponentTheme };\n }, [resolveComponentTheme]);\n\n return (\n <OrderlyThemeContext.Provider value={memoizedValue}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OrderlyThemeContext.Provider>\n );\n};\n","import { ExtensionPosition, installExtension } from \"../plugin\";\nimport { ComponentType, FC, PropsWithChildren, useEffect } from \"react\";\n\n/// layout cache: size, position\n\nconst ComponentsProvider: FC<\n PropsWithChildren<{\n components?: { [position in ExtensionPosition]: ComponentType };\n }>\n> = (props) => {\n useEffect(() => {\n if (props.components && Object.keys(props.components).length) {\n for (const position in props.components) {\n const Element = props.components[position];\n installExtension<any>({\n name: Element.displayName ?? `custom-component-${position}`,\n scope: [\"*\"],\n positions: [position],\n __isInternal: false,\n })((props: any) => {\n return <Element {...props} />;\n });\n }\n }\n }, [props.components]);\n\n return props.children;\n};\n\nexport { ComponentsProvider };\n","import { memo, PropsWithChildren, ReactNode, useMemo } from \"react\";\n\ntype Props = {\n value: boolean | (() => boolean);\n left?: ReactNode;\n};\n\nconst Either = memo<PropsWithChildren<Props>>((props) => {\n const { value, children, left } = props;\n const inputValue = useMemo(\n () => Boolean(typeof value === \"function\" ? value() : value),\n [value],\n );\n if (inputValue) {\n return children;\n }\n return left;\n});\n\nexport { Either };\n","import \"./install\";\n\nexport * from \"./button\";\nexport { Box, boxVariants } from \"./box\";\nexport { Grid } from \"./grid\";\nexport { Flex } from \"./flex\";\nexport * from \"./typography\";\nexport { Spinner } from \"./spinner\";\nexport { Input, inputFormatter, InputAdditional, TextField } from \"./input\";\nexport { Checkbox } from \"./checkbox\";\nexport { Switch } from \"./switch\";\nexport { Badge } from \"./badge/badge\";\nexport { Logo, type LogoProps } from \"./logo/logo\";\n// export * from \"./tag/tag\";\nexport * from \"./tooltip\";\nexport * from \"./table\";\nexport * from \"./scrollarea\";\nexport * from \"./dialog\";\nexport * from \"./sheet\";\nexport * from \"./divider\";\nexport * from \"./tabs\";\nexport { PaginationItems } from \"./pagination\";\nexport { Select, SelectItem, type SelectOption } from \"./select\";\nexport * from \"./popover\";\nexport * from \"./card\";\nexport * from \"./pickers\";\nexport * from \"./slider\";\nexport * from \"./toast\";\nexport * from \"./listView\";\nexport * from \"./collapsible\";\nexport * from \"./marquee\";\n\nexport * from \"./dropdown\";\n\nexport * from \"./icon\";\nexport * from \"./modal\";\nexport { EVMAvatar, Avatar } from \"./avatar\";\n\nexport type { ButtonProps } from \"./button\";\nexport type { BoxProps } from \"./box\";\nexport type { FlexProps } from \"./flex\";\nexport type { TextProps, NumeralProps } from \"./typography\";\nexport type {\n InputProps,\n TextFieldProps,\n InputFormatter,\n InputFormatterOptions,\n InputWithTooltipProps,\n} from \"./input\";\nexport type { SpinnerProps } from \"./spinner\";\nexport type { ChainSelectProps, SelectProps } from \"./select\";\nexport type { SizeType } from \"./helpers/sizeType\";\n\nexport {\n OrderlyThemeProvider,\n type OrderlyThemeProviderProps,\n} from \"./provider/orderlyThemeProvider\";\nexport { useOrderlyTheme } from \"./provider/orderlyThemeContext\";\nexport * from \"./plugin\";\n\n//===== Misc widgets\nexport { Either } from \"./misc/either\";\n// TODO: remove this component, because vite will throw Maximum call stack size exceeded\n// export { Match } from \"./misc/switch\";\n\n//===== re-exported\nexport { cnBase as cn } from \"tailwind-variants\";\nexport type { VariantProps } from \"tailwind-variants\";\n\n//===== utils\nexport * from \"./utils\";\nexport { tv } from \"./utils/tv\";\nexport { default as toast } from \"react-hot-toast\";\n\nexport * from \"embla-carousel-react\";\nexport { default as useEmblaCarousel } from \"embla-carousel-react\";\nexport * from \"embla-carousel-auto-scroll\";\nexport { default as AutoScroll } from \"embla-carousel-auto-scroll\";\nexport * from \"embla-carousel-autoplay\";\nexport { default as Autoplay } from \"embla-carousel-autoplay\";\nexport * from \"embla-carousel\";\n\n//===== tailwind\nexport * as OUITailwind from \"./tailwind\";\nexport * from \"./hooks\";\n\nexport * from \"./locale\";\nexport * from \"./scrollIndicator\";\n","/**\n * capitalize the first letter\n * @param str\n * @returns string\n */\nexport const capitalizeFirstLetter = (str: string, fallback?: string): undefined | string => {\n if (typeof str === 'undefined' || str === null) return fallback ?? undefined;\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n \n","export function startViewTransition(callback: () => void) {\n if (typeof document.startViewTransition === \"function\") {\n document.startViewTransition(callback);\n } else {\n callback();\n }\n}\n","*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}/*\n! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n:root {\n --oui-font-family: \"Manrope\",\"PingFang SC\", \"Noto Sans CJK SC\", \"Noto Sans\", sans-serif;\n --oui-color-primary: 176 132 233;\n --oui-color-primary-light: 213 190 244;\n --oui-color-primary-darken: 137 76 209;\n --oui-color-primary-contrast: 255 255 255;\n --oui-color-link: 189 107 237;\n --oui-color-link-light: 217 152 250;\n --oui-color-secondary: 255 255 255;\n --oui-color-tertiary: 218 218 218;\n --oui-color-quaternary: 218 218 218;\n --oui-color-danger: 245 97 139;\n --oui-color-danger-light: 250 167 188;\n --oui-color-danger-darken: 237 72 122;\n --oui-color-danger-contrast: 255 255 255;\n --oui-color-success: 41 233 169;\n --oui-color-success-light: 101 240 194;\n --oui-color-success-darken: 0 161 120;\n --oui-color-success-contrast: 255 255 255;\n --oui-color-warning: 255 209 70;\n --oui-color-warning-light: 255 229 133;\n --oui-color-warning-darken: 255 152 0;\n --oui-color-warning-contrast: 255 255 255;\n --oui-color-fill: 36 32 47;\n --oui-color-fill-active: 40 46 58;\n --oui-color-base-1: 93 83 123;\n --oui-color-base-2: 81 72 107;\n --oui-color-base-3: 68 61 69;\n --oui-color-base-4: 57 52 74;\n --oui-color-base-5: 51 46 66;\n --oui-color-base-6: 43 38 56;\n --oui-color-base-7: 36 32 47;\n --oui-color-base-8: 29 26 38;\n --oui-color-base-9: 22 20 28;\n --oui-color-base-10: 14 13 18;\n --oui-color-base-foreground: 255 255 255;\n --oui-color-line: 255 255 255;\n --oui-color-trading-loss: 245 97 139;\n --oui-color-trading-loss-contrast: 255 255 255;\n --oui-color-trading-profit: 41 233 169;\n --oui-color-trading-profit-contrast: 255 255 255;\n --oui-gradient-primary-start: 40 0 97;\n --oui-gradient-primary-end: 189 107 237;\n --oui-gradient-secondary-start: 81 42 121;\n --oui-gradient-secondary-end: 176 132 233;\n --oui-gradient-success-start: 1 83 68;\n --oui-gradient-success-end: 41 223 169;\n --oui-gradient-danger-start: 153 24 76;\n --oui-gradient-danger-end: 245 97 139;\n --oui-gradient-brand-start: 231 219 249;\n --oui-gradient-brand-end: 159 107 225;\n --oui-gradient-brand-stop-start: 6.62%;\n --oui-gradient-brand-stop-end: 86.5%;\n --oui-gradient-brand-angle: 17.44deg;\n --oui-gradient-warning-start: 152 58 8;\n --oui-gradient-warning-end: 255 209 70;\n --oui-gradient-neutral-start: 27 29 24;\n --oui-gradient-neutral-end: 38 41 46;\n --oui-rounded-sm: 2px;\n --oui-rounded: 4px;\n --oui-rounded-md: 6px;\n --oui-rounded-lg: 8px;\n --oui-rounded-xl: 12px;\n --oui-rounded-2xl: 16px;\n --oui-rounded-full: 9999px;\n --oui-spacing-xs: 20rem;\n --oui-spacing-sm: 22.5rem;\n --oui-spacing-md: 26.25rem;\n --oui-spacing-lg: 30rem;\n --oui-spacing-xl: 33.75rem;\n}\n\nhtml {\n background-color: rgb(var(--oui-color-base-10));\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n font-family: var(--oui-font-family);\n}\n\nbody {\n background-color: rgb(var(--oui-color-base-10));\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n font-family: var(--oui-font-family);\n}\n.oui-size-height {\n height: var(--oui-height, unset);\n}\n.oui-size-width {\n width: var(--oui-width, unset);\n}\n.xAxis .recharts-cartesian-axis-tick:first-child text {\n text-anchor: start;\n}\n.xAxis .recharts-cartesian-axis-tick:last-child text {\n text-anchor: end;\n}\n.oui-position {\n left: var(--oui-left, unset);\n top: var(--oui-top, unset);\n right: var(--oui-right, unset);\n bottom: var(--oui-bottom, unset);\n}\n.oui-card {\n color: red;\n}\n.oui-card:has(.oui-header-list) {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-track {\n background-color: transparent;\n border-radius: 4px;\n padding-top: 20px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-thumb {\n border-radius: 3px;\n border-style: dashed;\n border-color: transparent;\n border-width: 1px;\n background-color: rgb(var(--oui-color-base-7));\n background-clip: padding-box;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-thumb:hover {\n background: rgb(var(--oui-color-base-5));\n border-radius: 3px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n.oui-hide-scrollbar::-webkit-scrollbar {\n display: none;\n}\n.oui-hide-scrollbar::-webkit-scrollbar-thumb {\n display: none;\n}\n@property --gradientAngle {\n syntax: \"<angle>\";\n inherits: false;\n initial-value: 0deg;\n }\n@keyframes angleRotateChange {\n 0% {\n --gradientAngle: 0deg;\n }\n 100% {\n --gradientAngle: 360deg;\n }\n }\n.oui-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.oui-pointer-events-none {\n pointer-events: none;\n}\n.oui-pointer-events-auto {\n pointer-events: auto;\n}\n.oui-visible {\n visibility: visible;\n}\n.oui-invisible {\n visibility: hidden;\n}\n.oui-static {\n position: static;\n}\n.oui-fixed {\n position: fixed;\n}\n.\\!oui-absolute {\n position: absolute !important;\n}\n.oui-absolute {\n position: absolute;\n}\n.oui-relative {\n position: relative;\n}\n.oui-sticky {\n position: sticky;\n}\n.oui-inset-0 {\n inset: 0px;\n}\n.oui-inset-x-0 {\n left: 0px;\n right: 0px;\n}\n.oui-inset-x-\\[50px\\] {\n left: 50px;\n right: 50px;\n}\n.oui-inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.\\!oui-bottom-\\[30px\\] {\n bottom: 30px !important;\n}\n.\\!oui-bottom-\\[40px\\] {\n bottom: 40px !important;\n}\n.\\!oui-top-1 {\n top: 0.25rem !important;\n}\n.-oui-right-3 {\n right: -0.75rem;\n}\n.-oui-right-\\[1px\\] {\n right: -1px;\n}\n.-oui-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-\\[calc\\(100vh\\/2\\)\\] {\n top: calc(calc(100vh / 2) * -1);\n}\n.oui--bottom-12 {\n bottom: -3rem;\n}\n.oui--left-12 {\n left: -3rem;\n}\n.oui--right-12 {\n right: -3rem;\n}\n.oui--top-12 {\n top: -3rem;\n}\n.oui-bottom-0 {\n bottom: 0px;\n}\n.oui-bottom-1 {\n bottom: 0.25rem;\n}\n.oui-bottom-3 {\n bottom: 0.75rem;\n}\n.oui-bottom-6 {\n bottom: 1.5rem;\n}\n.oui-bottom-\\[-1\\.5px\\] {\n bottom: -1.5px;\n}\n.oui-bottom-\\[38px\\] {\n bottom: 38px;\n}\n.oui-bottom-full {\n bottom: 100%;\n}\n.oui-end-\\[-20px\\] {\n inset-inline-end: -20px;\n}\n.oui-left-0 {\n left: 0px;\n}\n.oui-left-1 {\n left: 0.25rem;\n}\n.oui-left-1\\/2 {\n left: 50%;\n}\n.oui-left-2 {\n left: 0.5rem;\n}\n.oui-left-3 {\n left: 0.75rem;\n}\n.oui-left-6 {\n left: 1.5rem;\n}\n.oui-left-\\[-1\\.5px\\] {\n left: -1.5px;\n}\n.oui-left-\\[-100\\%\\] {\n left: -100%;\n}\n.oui-left-\\[-9px\\] {\n left: -9px;\n}\n.oui-left-\\[10px\\] {\n left: 10px;\n}\n.oui-left-\\[30px\\] {\n left: 30px;\n}\n.oui-left-\\[4px\\] {\n left: 4px;\n}\n.oui-left-\\[50\\%\\] {\n left: 50%;\n}\n.oui-right-0 {\n right: 0px;\n}\n.oui-right-1 {\n right: 0.25rem;\n}\n.oui-right-2 {\n right: 0.5rem;\n}\n.oui-right-3 {\n right: 0.75rem;\n}\n.oui-right-4 {\n right: 1rem;\n}\n.oui-right-\\[-1\\.5px\\] {\n right: -1.5px;\n}\n.oui-right-\\[-100\\%\\] {\n right: -100%;\n}\n.oui-right-\\[1px\\] {\n right: 1px;\n}\n.oui-top-0 {\n top: 0px;\n}\n.oui-top-0\\.5 {\n top: 0.125rem;\n}\n.oui-top-1 {\n top: 0.25rem;\n}\n.oui-top-1\\/2 {\n top: 50%;\n}\n.oui-top-2 {\n top: 0.5rem;\n}\n.oui-top-2\\/4 {\n top: 50%;\n}\n.oui-top-3 {\n top: 0.75rem;\n}\n.oui-top-4 {\n top: 1rem;\n}\n.oui-top-\\[-1\\.5px\\] {\n top: -1.5px;\n}\n.oui-top-\\[-28px\\] {\n top: -28px;\n}\n.oui-top-\\[-300px\\] {\n top: -300px;\n}\n.oui-top-\\[10px\\] {\n top: 10px;\n}\n.oui-top-\\[16px\\] {\n top: 16px;\n}\n.oui-top-\\[18px\\] {\n top: 18px;\n}\n.oui-top-\\[1px\\] {\n top: 1px;\n}\n.oui-top-\\[20px\\] {\n top: 20px;\n}\n.oui-top-\\[3px\\] {\n top: 3px;\n}\n.oui-top-\\[44px\\] {\n top: 44px;\n}\n.oui-top-\\[48px\\] {\n top: 48px;\n}\n.oui-top-\\[50\\%\\] {\n top: 50%;\n}\n.oui-top-\\[6\\.5px\\] {\n top: 6.5px;\n}\n.oui-top-\\[7px\\] {\n top: 7px;\n}\n.oui-top-full {\n top: 100%;\n}\n.oui-z-0 {\n z-index: 0;\n}\n.oui-z-10 {\n z-index: 10;\n}\n.oui-z-20 {\n z-index: 20;\n}\n.oui-z-30 {\n z-index: 30;\n}\n.oui-z-40 {\n z-index: 40;\n}\n.oui-z-50 {\n z-index: 50;\n}\n.oui-z-\\[-1\\] {\n z-index: -1;\n}\n.oui-z-\\[100\\] {\n z-index: 100;\n}\n.oui-z-\\[1\\] {\n z-index: 1;\n}\n.oui-z-\\[2\\] {\n z-index: 2;\n}\n.oui-z-\\[40\\] {\n z-index: 40;\n}\n.oui-z-\\[60\\] {\n z-index: 60;\n}\n.oui-z-\\[65\\] {\n z-index: 65;\n}\n.oui-z-\\[99\\] {\n z-index: 99;\n}\n.oui-z-auto {\n z-index: auto;\n}\n.oui-col-auto {\n grid-column: auto;\n}\n.oui-col-span-1 {\n grid-column: span 1 / span 1;\n}\n.oui-col-span-2 {\n grid-column: span 2 / span 2;\n}\n.oui-col-span-3 {\n grid-column: span 3 / span 3;\n}\n.oui-col-span-4 {\n grid-column: span 4 / span 4;\n}\n.oui-col-span-5 {\n grid-column: span 5 / span 5;\n}\n.oui-col-span-6 {\n grid-column: span 6 / span 6;\n}\n.oui-col-span-7 {\n grid-column: span 7 / span 7;\n}\n.oui-col-span-8 {\n grid-column: span 8 / span 8;\n}\n.oui-col-span-9 {\n grid-column: span 9 / span 9;\n}\n.oui-row-auto {\n grid-row: auto;\n}\n.oui-row-span-1 {\n grid-row: span 1 / span 1;\n}\n.oui-row-span-2 {\n grid-row: span 2 / span 2;\n}\n.oui-row-span-3 {\n grid-row: span 3 / span 3;\n}\n.oui-row-span-4 {\n grid-row: span 4 / span 4;\n}\n.oui-row-span-5 {\n grid-row: span 5 / span 5;\n}\n.oui-row-span-6 {\n grid-row: span 6 / span 6;\n}\n.oui-row-span-7 {\n grid-row: span 7 / span 7;\n}\n.oui-row-span-8 {\n grid-row: span 8 / span 8;\n}\n.oui-row-span-9 {\n grid-row: span 9 / span 9;\n}\n.oui-m-0 {\n margin: 0px;\n}\n.oui-m-1 {\n margin: 0.25rem;\n}\n.oui-m-10 {\n margin: 2.5rem;\n}\n.oui-m-2 {\n margin: 0.5rem;\n}\n.oui-m-3 {\n margin: 0.75rem;\n}\n.oui-m-4 {\n margin: 1rem;\n}\n.oui-m-5 {\n margin: 1.25rem;\n}\n.oui-m-6 {\n margin: 1.5rem;\n}\n.oui-m-7 {\n margin: 1.75rem;\n}\n.oui-m-8 {\n margin: 2rem;\n}\n.oui-m-9 {\n margin: 2.25rem;\n}\n.\\!oui-mx-\\[3px\\] {\n margin-left: 3px !important;\n margin-right: 3px !important;\n}\n.\\!oui-my-\\[3px\\] {\n margin-top: 3px !important;\n margin-bottom: 3px !important;\n}\n.-oui-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n}\n.oui-mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n}\n.oui-mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.oui-mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n}\n.oui-mx-11 {\n margin-left: 2.75rem;\n margin-right: 2.75rem;\n}\n.oui-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.oui-mx-3 {\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n.oui-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n.oui-mx-5 {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n}\n.oui-mx-6 {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n}\n.oui-mx-7 {\n margin-left: 1.75rem;\n margin-right: 1.75rem;\n}\n.oui-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n.oui-mx-9 {\n margin-left: 2.25rem;\n margin-right: 2.25rem;\n}\n.oui-mx-\\[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-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-mt-0 {\n margin-top: 0px !important;\n}\n.-oui-mb-1 {\n margin-bottom: -0.25rem;\n}\n.-oui-mb-2 {\n margin-bottom: -0.5rem;\n}\n.-oui-mb-5 {\n margin-bottom: -1.25rem;\n}\n.-oui-ml-2 {\n margin-left: -0.5rem;\n}\n.-oui-ml-4 {\n margin-left: -1rem;\n}\n.-oui-mr-4 {\n margin-right: -1rem;\n}\n.-oui-mt-2 {\n margin-top: -0.5rem;\n}\n.-oui-mt-4 {\n margin-top: -1rem;\n}\n.oui--ml-4 {\n margin-left: -1rem;\n}\n.oui--mt-4 {\n margin-top: -1rem;\n}\n.oui-mb-0 {\n margin-bottom: 0px;\n}\n.oui-mb-0\\.5 {\n margin-bottom: 0.125rem;\n}\n.oui-mb-1 {\n margin-bottom: 0.25rem;\n}\n.oui-mb-10 {\n margin-bottom: 2.5rem;\n}\n.oui-mb-2 {\n margin-bottom: 0.5rem;\n}\n.oui-mb-3 {\n margin-bottom: 0.75rem;\n}\n.oui-mb-4 {\n margin-bottom: 1rem;\n}\n.oui-mb-5 {\n margin-bottom: 1.25rem;\n}\n.oui-mb-6 {\n margin-bottom: 1.5rem;\n}\n.oui-mb-7 {\n margin-bottom: 1.75rem;\n}\n.oui-mb-8 {\n margin-bottom: 2rem;\n}\n.oui-mb-9 {\n margin-bottom: 2.25rem;\n}\n.oui-mb-\\[-8px\\] {\n margin-bottom: -8px;\n}\n.oui-mb-\\[10px\\] {\n margin-bottom: 10px;\n}\n.oui-mb-\\[32px\\] {\n margin-bottom: 32px;\n}\n.oui-mb-\\[3px\\] {\n margin-bottom: 3px;\n}\n.oui-ml-0 {\n margin-left: 0px;\n}\n.oui-ml-0\\.5 {\n margin-left: 0.125rem;\n}\n.oui-ml-1 {\n margin-left: 0.25rem;\n}\n.oui-ml-10 {\n margin-left: 2.5rem;\n}\n.oui-ml-2 {\n margin-left: 0.5rem;\n}\n.oui-ml-3 {\n margin-left: 0.75rem;\n}\n.oui-ml-4 {\n margin-left: 1rem;\n}\n.oui-ml-5 {\n margin-left: 1.25rem;\n}\n.oui-ml-6 {\n margin-left: 1.5rem;\n}\n.oui-ml-7 {\n margin-left: 1.75rem;\n}\n.oui-ml-8 {\n margin-left: 2rem;\n}\n.oui-ml-9 {\n margin-left: 2.25rem;\n}\n.oui-ml-\\[2px\\] {\n margin-left: 2px;\n}\n.oui-ml-\\[5px\\] {\n margin-left: 5px;\n}\n.oui-ml-auto {\n margin-left: auto;\n}\n.oui-ml-px {\n margin-left: 1px;\n}\n.oui-mr-0 {\n margin-right: 0px;\n}\n.oui-mr-1 {\n margin-right: 0.25rem;\n}\n.oui-mr-10 {\n margin-right: 2.5rem;\n}\n.oui-mr-2 {\n margin-right: 0.5rem;\n}\n.oui-mr-3 {\n margin-right: 0.75rem;\n}\n.oui-mr-4 {\n margin-right: 1rem;\n}\n.oui-mr-5 {\n margin-right: 1.25rem;\n}\n.oui-mr-6 {\n margin-right: 1.5rem;\n}\n.oui-mr-7 {\n margin-right: 1.75rem;\n}\n.oui-mr-8 {\n margin-right: 2rem;\n}\n.oui-mr-9 {\n margin-right: 2.25rem;\n}\n.oui-mr-\\[6px\\] {\n margin-right: 6px;\n}\n.oui-mt-0 {\n margin-top: 0px;\n}\n.oui-mt-1 {\n margin-top: 0.25rem;\n}\n.oui-mt-10 {\n margin-top: 2.5rem;\n}\n.oui-mt-2 {\n margin-top: 0.5rem;\n}\n.oui-mt-3 {\n margin-top: 0.75rem;\n}\n.oui-mt-4 {\n margin-top: 1rem;\n}\n.oui-mt-5 {\n margin-top: 1.25rem;\n}\n.oui-mt-6 {\n margin-top: 1.5rem;\n}\n.oui-mt-7 {\n margin-top: 1.75rem;\n}\n.oui-mt-8 {\n margin-top: 2rem;\n}\n.oui-mt-9 {\n margin-top: 2.25rem;\n}\n.oui-mt-\\[-1px\\] {\n margin-top: -1px;\n}\n.oui-mt-\\[-30px\\] {\n margin-top: -30px;\n}\n.oui-mt-\\[-8px\\] {\n margin-top: -8px;\n}\n.oui-mt-\\[2px\\] {\n margin-top: 2px;\n}\n.oui-mt-\\[35px\\] {\n margin-top: 35px;\n}\n.oui-mt-\\[6px\\] {\n margin-top: 6px;\n}\n.oui-mt-\\[7px\\] {\n margin-top: 7px;\n}\n.oui-mt-auto {\n margin-top: auto;\n}\n.oui-mt-px {\n margin-top: 1px;\n}\n.oui-box-border {\n box-sizing: border-box;\n}\n.oui-box-content {\n box-sizing: content-box;\n}\n.oui-line-clamp-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-2 {\n width: 0.5rem;\n height: 0.5rem;\n}\n.oui-size-3 {\n width: 0.75rem;\n height: 0.75rem;\n}\n.oui-size-4 {\n width: 1rem;\n height: 1rem;\n}\n.oui-size-5 {\n width: 1.25rem;\n height: 1.25rem;\n}\n.oui-size-6 {\n width: 1.5rem;\n height: 1.5rem;\n}\n.oui-size-8 {\n width: 2rem;\n height: 2rem;\n}\n.oui-size-\\[10px\\] {\n width: 10px;\n height: 10px;\n}\n.oui-size-\\[12px\\] {\n width: 12px;\n height: 12px;\n}\n.oui-size-\\[14px\\] {\n width: 14px;\n height: 14px;\n}\n.oui-size-\\[15px\\] {\n width: 15px;\n height: 15px;\n}\n.oui-size-\\[16px\\] {\n width: 16px;\n height: 16px;\n}\n.oui-size-\\[18px\\] {\n width: 18px;\n height: 18px;\n}\n.oui-size-\\[20px\\] {\n width: 20px;\n height: 20px;\n}\n.oui-size-\\[48px\\] {\n width: 48px;\n height: 48px;\n}\n.oui-size-\\[4px\\] {\n width: 4px;\n height: 4px;\n}\n.oui-size-\\[64px\\] {\n width: 64px;\n height: 64px;\n}\n.oui-size-\\[6px\\] {\n width: 6px;\n height: 6px;\n}\n.oui-size-full {\n width: 100%;\n height: 100%;\n}\n.\\!oui-h-\\[14px\\] {\n height: 14px !important;\n}\n.\\!oui-h-\\[2px\\] {\n height: 2px !important;\n}\n.\\!oui-h-\\[34px\\] {\n height: 34px !important;\n}\n.\\!oui-h-\\[42px\\] {\n height: 42px !important;\n}\n.\\!oui-h-\\[600px\\] {\n height: 600px !important;\n}\n.\\!oui-h-\\[680px\\] {\n height: 680px !important;\n}\n.\\!oui-h-\\[calc\\(100\\%_-_49px\\)\\] {\n height: calc(100% - 49px) !important;\n}\n.\\!oui-h-\\[calc\\(100\\%_-_53px_-_8px\\)\\] {\n height: calc(100% - 53px - 8px) !important;\n}\n.\\!oui-h-auto {\n height: auto !important;\n}\n.oui-h-0 {\n height: 0px;\n}\n.oui-h-1 {\n height: 0.25rem;\n}\n.oui-h-1\\.5 {\n height: 0.375rem;\n}\n.oui-h-10 {\n height: 2.5rem;\n}\n.oui-h-11 {\n height: 2.75rem;\n}\n.oui-h-12 {\n height: 3rem;\n}\n.oui-h-13 {\n height: 3.25rem;\n}\n.oui-h-2 {\n height: 0.5rem;\n}\n.oui-h-3 {\n height: 0.75rem;\n}\n.oui-h-4 {\n height: 1rem;\n}\n.oui-h-5 {\n height: 1.25rem;\n}\n.oui-h-6 {\n height: 1.5rem;\n}\n.oui-h-7 {\n height: 1.75rem;\n}\n.oui-h-8 {\n height: 2rem;\n}\n.oui-h-9 {\n height: 2.25rem;\n}\n.oui-h-\\[100px\\] {\n height: 100px;\n}\n.oui-h-\\[10px\\] {\n height: 10px;\n}\n.oui-h-\\[110px\\] {\n height: 110px;\n}\n.oui-h-\\[112px\\] {\n height: 112px;\n}\n.oui-h-\\[114px\\] {\n height: 114px;\n}\n.oui-h-\\[120px\\] {\n height: 120px;\n}\n.oui-h-\\[124px\\] {\n height: 124px;\n}\n.oui-h-\\[12px\\] {\n height: 12px;\n}\n.oui-h-\\[13px\\] {\n height: 13px;\n}\n.oui-h-\\[144px\\] {\n height: 144px;\n}\n.oui-h-\\[14px\\] {\n height: 14px;\n}\n.oui-h-\\[15px\\] {\n height: 15px;\n}\n.oui-h-\\[168px\\] {\n height: 168px;\n}\n.oui-h-\\[16px\\] {\n height: 16px;\n}\n.oui-h-\\[170px\\] {\n height: 170px;\n}\n.oui-h-\\[188px\\] {\n height: 188px;\n}\n.oui-h-\\[18px\\] {\n height: 18px;\n}\n.oui-h-\\[197px\\] {\n height: 197px;\n}\n.oui-h-\\[19px\\] {\n height: 19px;\n}\n.oui-h-\\[1px\\] {\n height: 1px;\n}\n.oui-h-\\[2\\.4rem\\] {\n height: 2.4rem;\n}\n.oui-h-\\[200px\\] {\n height: 200px;\n}\n.oui-h-\\[20px\\] {\n height: 20px;\n}\n.oui-h-\\[220px\\] {\n height: 220px;\n}\n.oui-h-\\[22px\\] {\n height: 22px;\n}\n.oui-h-\\[236px\\] {\n height: 236px;\n}\n.oui-h-\\[238px\\] {\n height: 238px;\n}\n.oui-h-\\[23px\\] {\n height: 23px;\n}\n.oui-h-\\[240px\\] {\n height: 240px;\n}\n.oui-h-\\[24px\\] {\n height: 24px;\n}\n.oui-h-\\[254px\\] {\n height: 254px;\n}\n.oui-h-\\[25px\\] {\n height: 25px;\n}\n.oui-h-\\[26px\\] {\n height: 26px;\n}\n.oui-h-\\[28px\\] {\n height: 28px;\n}\n.oui-h-\\[2px\\] {\n height: 2px;\n}\n.oui-h-\\[300px\\] {\n height: 300px;\n}\n.oui-h-\\[30px\\] {\n height: 30px;\n}\n.oui-h-\\[31px\\] {\n height: 31px;\n}\n.oui-h-\\[320px\\] {\n height: 320px;\n}\n.oui-h-\\[32px\\] {\n height: 32px;\n}\n.oui-h-\\[34px\\] {\n height: 34px;\n}\n.oui-h-\\[360px\\] {\n height: 360px;\n}\n.oui-h-\\[36px\\] {\n height: 36px;\n}\n.oui-h-\\[388px\\] {\n height: 388px;\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-\\[44px\\] {\n height: 44px;\n}\n.oui-h-\\[45px\\] {\n height: 45px;\n}\n.oui-h-\\[46px\\] {\n height: 46px;\n}\n.oui-h-\\[48px\\] {\n height: 48px;\n}\n.oui-h-\\[496px\\] {\n height: 496px;\n}\n.oui-h-\\[4px\\] {\n height: 4px;\n}\n.oui-h-\\[500px\\] {\n height: 500px;\n}\n.oui-h-\\[50px\\] {\n height: 50px;\n}\n.oui-h-\\[52px\\] {\n height: 52px;\n}\n.oui-h-\\[53px\\] {\n height: 53px;\n}\n.oui-h-\\[54px\\] {\n height: 54px;\n}\n.oui-h-\\[55px\\] {\n height: 55px;\n}\n.oui-h-\\[59px\\] {\n height: 59px;\n}\n.oui-h-\\[600px\\] {\n height: 600px;\n}\n.oui-h-\\[634px\\] {\n height: 634px;\n}\n.oui-h-\\[64px\\] {\n height: 64px;\n}\n.oui-h-\\[68px\\] {\n height: 68px;\n}\n.oui-h-\\[6px\\] {\n height: 6px;\n}\n.oui-h-\\[78px\\] {\n height: 78px;\n}\n.oui-h-\\[8\\.3px\\] {\n height: 8.3px;\n}\n.oui-h-\\[88px\\] {\n height: 88px;\n}\n.oui-h-\\[8px\\] {\n height: 8px;\n}\n.oui-h-\\[calc\\(\\(100vw-48px\\)\\/2\\)\\] {\n height: calc((100vw - 48px) / 2);\n}\n.oui-h-\\[calc\\(100\\%_-_288px_-_20px\\)\\] {\n height: calc(100% - 288px - 20px);\n}\n.oui-h-\\[calc\\(100\\%_-_28px\\)\\] {\n height: calc(100% - 28px);\n}\n.oui-h-\\[calc\\(100\\%_-_32px\\)\\] {\n height: calc(100% - 32px);\n}\n.oui-h-\\[calc\\(100\\%_-_36px\\)\\] {\n height: calc(100% - 36px);\n}\n.oui-h-\\[calc\\(100\\%_-_40px\\)\\] {\n height: calc(100% - 40px);\n}\n.oui-h-\\[calc\\(100\\%_-_49px\\)\\] {\n height: calc(100% - 49px);\n}\n.oui-h-\\[calc\\(100\\%_-_52px\\)\\] {\n height: calc(100% - 52px);\n}\n.oui-h-\\[calc\\(100\\%_-_56px\\)\\] {\n height: calc(100% - 56px);\n}\n.oui-h-\\[calc\\(100\\%_-_59px\\)\\] {\n height: calc(100% - 59px);\n}\n.oui-h-\\[calc\\(100\\%_-_60px\\)\\] {\n height: calc(100% - 60px);\n}\n.oui-h-\\[calc\\(100\\%_-_70px\\)\\] {\n height: calc(100% - 70px);\n}\n.oui-h-\\[calc\\(100\\%_-_92px\\)\\] {\n height: calc(100% - 92px);\n}\n.oui-h-\\[calc\\(100vh-100px\\)\\] {\n height: calc(100vh - 100px);\n}\n.oui-h-\\[calc\\(100vh-200px\\)\\] {\n height: calc(100vh - 200px);\n}\n.oui-h-\\[calc\\(100vh-260px\\)\\] {\n height: calc(100vh - 260px);\n}\n.oui-h-\\[calc\\(100vh-44px\\)\\] {\n height: calc(100vh - 44px);\n}\n.oui-h-\\[calc\\(100vh-80px\\)\\] {\n height: calc(100vh - 80px);\n}\n.oui-h-\\[calc\\(100vh_-_200px\\)\\] {\n height: calc(100vh - 200px);\n}\n.oui-h-\\[calc\\(100vh_-_48px_-_29px\\)\\] {\n height: calc(100vh - 48px - 29px);\n}\n.oui-h-\\[calc\\(100vh_-_64px\\)\\] {\n height: calc(100vh - 64px);\n}\n.oui-h-\\[calc\\(80vh_-_104px\\)\\] {\n height: calc(80vh - 104px);\n}\n.oui-h-\\[calc\\(80vh_-_132px_-_8px\\)\\] {\n height: calc(80vh - 132px - 8px);\n}\n.oui-h-\\[env\\(safe-area-inset-bottom\\)\\] {\n height: env(safe-area-inset-bottom);\n}\n.oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n}\n.oui-h-auto {\n height: auto;\n}\n.oui-h-full {\n height: 100%;\n}\n.oui-h-px {\n height: 1px;\n}\n.oui-h-screen {\n height: 100vh;\n}\n.oui-max-h-0 {\n max-height: 0px;\n}\n.oui-max-h-8 {\n max-height: 2rem;\n}\n.oui-max-h-96 {\n max-height: 24rem;\n}\n.oui-max-h-\\[100px\\] {\n max-height: 100px;\n}\n.oui-max-h-\\[104px\\] {\n max-height: 104px;\n}\n.oui-max-h-\\[120px\\] {\n max-height: 120px;\n}\n.oui-max-h-\\[1250px\\] {\n max-height: 1250px;\n}\n.oui-max-h-\\[200px\\] {\n max-height: 200px;\n}\n.oui-max-h-\\[202px\\] {\n max-height: 202px;\n}\n.oui-max-h-\\[240px\\] {\n max-height: 240px;\n}\n.oui-max-h-\\[288px\\] {\n max-height: 288px;\n}\n.oui-max-h-\\[300px\\] {\n max-height: 300px;\n}\n.oui-max-h-\\[348px\\] {\n max-height: 348px;\n}\n.oui-max-h-\\[356px\\] {\n max-height: 356px;\n}\n.oui-max-h-\\[396px\\] {\n max-height: 396px;\n}\n.oui-max-h-\\[400px\\] {\n max-height: 400px;\n}\n.oui-max-h-\\[60vh\\] {\n max-height: 60vh;\n}\n.oui-max-h-\\[69px\\] {\n max-height: 69px;\n}\n.oui-max-h-\\[80vh\\] {\n max-height: 80vh;\n}\n.oui-max-h-\\[94px\\] {\n max-height: 94px;\n}\n.oui-max-h-full {\n max-height: 100%;\n}\n.\\!oui-min-h-\\[100px\\] {\n min-height: 100px !important;\n}\n.\\!oui-min-h-\\[130px\\] {\n min-height: 130px !important;\n}\n.\\!oui-min-h-\\[170px\\] {\n min-height: 170px !important;\n}\n.\\!oui-min-h-\\[2px\\] {\n min-height: 2px !important;\n}\n.oui-min-h-0 {\n min-height: 0px;\n}\n.oui-min-h-10 {\n min-height: 2.5rem;\n}\n.oui-min-h-11 {\n min-height: 2.75rem;\n}\n.oui-min-h-12 {\n min-height: 3rem;\n}\n.oui-min-h-40 {\n min-height: 10rem;\n}\n.oui-min-h-\\[141px\\] {\n min-height: 141px;\n}\n.oui-min-h-\\[162px\\] {\n min-height: 162px;\n}\n.oui-min-h-\\[170px\\] {\n min-height: 170px;\n}\n.oui-min-h-\\[176px\\] {\n min-height: 176px;\n}\n.oui-min-h-\\[180px\\] {\n min-height: 180px;\n}\n.oui-min-h-\\[20px\\] {\n min-height: 20px;\n}\n.oui-min-h-\\[300px\\] {\n min-height: 300px;\n}\n.oui-min-h-\\[400px\\] {\n min-height: 400px;\n}\n.oui-min-h-\\[420px\\] {\n min-height: 420px;\n}\n.oui-min-h-\\[48px\\] {\n min-height: 48px;\n}\n.oui-min-h-\\[50px\\] {\n min-height: 50px;\n}\n.oui-min-h-\\[54px\\] {\n min-height: 54px;\n}\n.oui-min-h-\\[56px\\] {\n min-height: 56px;\n}\n.oui-min-h-\\[600px\\] {\n min-height: 600px;\n}\n.oui-min-h-\\[calc\\(100vh-44px-64px-env\\(safe-area-inset-bottom\\)\\)\\] {\n min-height: calc(100vh - 44px - 64px - env(safe-area-inset-bottom));\n}\n.oui-min-h-full {\n min-height: 100%;\n}\n.oui-min-h-screen {\n min-height: 100vh;\n}\n.\\!oui-w-\\[2px\\] {\n width: 2px !important;\n}\n.\\!oui-w-\\[90\\%\\] {\n width: 90% !important;\n}\n.oui-w-1 {\n width: 0.25rem;\n}\n.oui-w-1\\/2 {\n width: 50%;\n}\n.oui-w-1\\/3 {\n width: 33.333333%;\n}\n.oui-w-1\\/4 {\n width: 25%;\n}\n.oui-w-1\\/5 {\n width: 20%;\n}\n.oui-w-10 {\n width: 2.5rem;\n}\n.oui-w-11 {\n width: 2.75rem;\n}\n.oui-w-12 {\n width: 3rem;\n}\n.oui-w-2 {\n width: 0.5rem;\n}\n.oui-w-24 {\n width: 6rem;\n}\n.oui-w-28 {\n width: 7rem;\n}\n.oui-w-3 {\n width: 0.75rem;\n}\n.oui-w-3\\.5 {\n width: 0.875rem;\n}\n.oui-w-3\\/4 {\n width: 75%;\n}\n.oui-w-3\\/5 {\n width: 60%;\n}\n.oui-w-4 {\n width: 1rem;\n}\n.oui-w-5 {\n width: 1.25rem;\n}\n.oui-w-6 {\n width: 1.5rem;\n}\n.oui-w-64 {\n width: 16rem;\n}\n.oui-w-7 {\n width: 1.75rem;\n}\n.oui-w-72 {\n width: 18rem;\n}\n.oui-w-8 {\n width: 2rem;\n}\n.oui-w-9 {\n width: 2.25rem;\n}\n.oui-w-\\[--radix-select-content-available-width\\] {\n width: var(--radix-select-content-available-width);\n}\n.oui-w-\\[100\\%\\] {\n width: 100%;\n}\n.oui-w-\\[10px\\] {\n width: 10px;\n}\n.oui-w-\\[120px\\] {\n width: 120px;\n}\n.oui-w-\\[124px\\] {\n width: 124px;\n}\n.oui-w-\\[12px\\] {\n width: 12px;\n}\n.oui-w-\\[13px\\] {\n width: 13px;\n}\n.oui-w-\\[140px\\] {\n width: 140px;\n}\n.oui-w-\\[148px\\] {\n width: 148px;\n}\n.oui-w-\\[14px\\] {\n width: 14px;\n}\n.oui-w-\\[154px\\] {\n width: 154px;\n}\n.oui-w-\\[15px\\] {\n width: 15px;\n}\n.oui-w-\\[162px\\] {\n width: 162px;\n}\n.oui-w-\\[16px\\] {\n width: 16px;\n}\n.oui-w-\\[180px\\] {\n width: 180px;\n}\n.oui-w-\\[184px\\] {\n width: 184px;\n}\n.oui-w-\\[187px\\] {\n width: 187px;\n}\n.oui-w-\\[18px\\] {\n width: 18px;\n}\n.oui-w-\\[1px\\] {\n width: 1px;\n}\n.oui-w-\\[20px\\] {\n width: 20px;\n}\n.oui-w-\\[220px\\] {\n width: 220px;\n}\n.oui-w-\\[225px\\] {\n width: 225px;\n}\n.oui-w-\\[230px\\] {\n width: 230px;\n}\n.oui-w-\\[240px\\] {\n width: 240px;\n}\n.oui-w-\\[260px\\] {\n width: 260px;\n}\n.oui-w-\\[275px\\] {\n width: 275px;\n}\n.oui-w-\\[276px\\] {\n width: 276px;\n}\n.oui-w-\\[280px\\] {\n width: 280px;\n}\n.oui-w-\\[284px\\] {\n width: 284px;\n}\n.oui-w-\\[28px\\] {\n width: 28px;\n}\n.oui-w-\\[2px\\] {\n width: 2px;\n}\n.oui-w-\\[300px\\] {\n width: 300px;\n}\n.oui-w-\\[320px\\] {\n width: 320px;\n}\n.oui-w-\\[32px\\] {\n width: 32px;\n}\n.oui-w-\\[342px\\] {\n width: 342px;\n}\n.oui-w-\\[360px\\] {\n width: 360px;\n}\n.oui-w-\\[36px\\] {\n width: 36px;\n}\n.oui-w-\\[400px\\] {\n width: 400px;\n}\n.oui-w-\\[420px\\] {\n width: 420px;\n}\n.oui-w-\\[429px\\] {\n width: 429px;\n}\n.oui-w-\\[456px\\] {\n width: 456px;\n}\n.oui-w-\\[45px\\] {\n width: 45px;\n}\n.oui-w-\\[49px\\] {\n width: 49px;\n}\n.oui-w-\\[50\\%\\] {\n width: 50%;\n}\n.oui-w-\\[55px\\] {\n width: 55px;\n}\n.oui-w-\\[590px\\] {\n width: 590px;\n}\n.oui-w-\\[63px\\] {\n width: 63px;\n}\n.oui-w-\\[640px\\] {\n width: 640px;\n}\n.oui-w-\\[6px\\] {\n width: 6px;\n}\n.oui-w-\\[74px\\] {\n width: 74px;\n}\n.oui-w-\\[8\\.3px\\] {\n width: 8.3px;\n}\n.oui-w-\\[80px\\] {\n width: 80px;\n}\n.oui-w-\\[84\\%\\] {\n width: 84%;\n}\n.oui-w-\\[85\\%\\] {\n width: 85%;\n}\n.oui-w-\\[94px\\] {\n width: 94px;\n}\n.oui-w-\\[96px\\] {\n width: 96px;\n}\n.oui-w-\\[calc\\(\\(100\\%_-_4px\\)\\/2\\)\\] {\n width: calc((100% - 4px) / 2);\n}\n.oui-w-\\[calc\\(100\\%-60px\\)\\] {\n width: calc(100% - 60px);\n}\n.oui-w-\\[calc\\(100\\%_-_280px_-_12px\\)\\] {\n width: calc(100% - 280px - 12px);\n}\n.oui-w-\\[calc\\(100vw-24px\\)\\] {\n width: calc(100vw - 24px);\n}\n.oui-w-\\[calc\\(50\\%-6px\\)\\] {\n width: calc(50% - 6px);\n}\n.oui-w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\] {\n width: var(--radix-dropdown-menu-trigger-width);\n}\n.oui-w-\\[var\\(_--radix-popover-trigger-width\\)\\] {\n width: var( --radix-popover-trigger-width);\n}\n.oui-w-auto {\n width: auto;\n}\n.oui-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.oui-w-full {\n width: 100%;\n}\n.oui-w-px {\n width: 1px;\n}\n.oui-w-screen {\n width: 100vw;\n}\n.\\!oui-min-w-\\[2px\\] {\n min-width: 2px !important;\n}\n.oui-min-w-0 {\n min-width: 0px;\n}\n.oui-min-w-11 {\n min-width: 2.75rem;\n}\n.oui-min-w-14 {\n min-width: 3.5rem;\n}\n.oui-min-w-24 {\n min-width: 6rem;\n}\n.oui-min-w-6 {\n min-width: 1.5rem;\n}\n.oui-min-w-\\[1018px\\] {\n min-width: 1018px;\n}\n.oui-min-w-\\[102px\\] {\n min-width: 102px;\n}\n.oui-min-w-\\[105px\\] {\n min-width: 105px;\n}\n.oui-min-w-\\[120px\\] {\n min-width: 120px;\n}\n.oui-min-w-\\[160px\\] {\n min-width: 160px;\n}\n.oui-min-w-\\[180px\\] {\n min-width: 180px;\n}\n.oui-min-w-\\[204px\\] {\n min-width: 204px;\n}\n.oui-min-w-\\[240px\\] {\n min-width: 240px;\n}\n.oui-min-w-\\[30px\\] {\n min-width: 30px;\n}\n.oui-min-w-\\[322px\\] {\n min-width: 322px;\n}\n.oui-min-w-\\[40px\\] {\n min-width: 40px;\n}\n.oui-min-w-\\[500px\\] {\n min-width: 500px;\n}\n.oui-min-w-\\[70px\\] {\n min-width: 70px;\n}\n.oui-min-w-\\[80px\\] {\n min-width: 80px;\n}\n.oui-min-w-\\[8rem\\] {\n min-width: 8rem;\n}\n.oui-min-w-\\[96px\\] {\n min-width: 96px;\n}\n.oui-min-w-\\[994px\\] {\n min-width: 994px;\n}\n.oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n}\n.\\!oui-max-w-\\[624px\\] {\n max-width: 624px !important;\n}\n.oui-max-w-4xl {\n max-width: 56rem;\n}\n.oui-max-w-64 {\n max-width: 16rem;\n}\n.oui-max-w-72 {\n max-width: 18rem;\n}\n.oui-max-w-\\[1040px\\] {\n max-width: 1040px;\n}\n.oui-max-w-\\[110px\\] {\n max-width: 110px;\n}\n.oui-max-w-\\[1200px\\] {\n max-width: 1200px;\n}\n.oui-max-w-\\[188px\\] {\n max-width: 188px;\n}\n.oui-max-w-\\[200px\\] {\n max-width: 200px;\n}\n.oui-max-w-\\[240px\\] {\n max-width: 240px;\n}\n.oui-max-w-\\[260px\\] {\n max-width: 260px;\n}\n.oui-max-w-\\[270px\\] {\n max-width: 270px;\n}\n.oui-max-w-\\[274px\\] {\n max-width: 274px;\n}\n.oui-max-w-\\[275px\\] {\n max-width: 275px;\n}\n.oui-max-w-\\[280px\\] {\n max-width: 280px;\n}\n.oui-max-w-\\[298px\\] {\n max-width: 298px;\n}\n.oui-max-w-\\[300px\\] {\n max-width: 300px;\n}\n.oui-max-w-\\[320px\\] {\n max-width: 320px;\n}\n.oui-max-w-\\[360px\\] {\n max-width: 360px;\n}\n.oui-max-w-\\[382px\\] {\n max-width: 382px;\n}\n.oui-max-w-\\[396px\\] {\n max-width: 396px;\n}\n.oui-max-w-\\[400px\\] {\n max-width: 400px;\n}\n.oui-max-w-\\[450px\\] {\n max-width: 450px;\n}\n.oui-max-w-\\[726px\\] {\n max-width: 726px;\n}\n.oui-max-w-\\[83px\\] {\n max-width: 83px;\n}\n.oui-max-w-\\[960px\\] {\n max-width: 960px;\n}\n.oui-max-w-\\[992px\\] {\n max-width: 992px;\n}\n.oui-max-w-\\[calc\\(100\\%-187px\\)\\] {\n max-width: calc(100% - 187px);\n}\n.oui-max-w-fit {\n max-width: -moz-fit-content;\n max-width: fit-content;\n}\n.oui-max-w-full {\n max-width: 100%;\n}\n.oui-max-w-lg {\n max-width: var(--oui-spacing-lg, 30rem);\n}\n.oui-max-w-md {\n max-width: var(--oui-spacing-md, 26.25rem);\n}\n.oui-max-w-sm {\n max-width: var(--oui-spacing-sm, 22.5rem);\n}\n.oui-max-w-xl {\n max-width: var(--oui-spacing-xl, 33.75rem);\n}\n.oui-max-w-xs {\n max-width: var(--oui-spacing-xs, 20rem);\n}\n.oui-flex-1 {\n flex: 1 1 0%;\n}\n.oui-flex-\\[0_0_100\\%\\] {\n flex: 0 0 100%;\n}\n.oui-flex-\\[0_0_calc\\(\\(100\\%_-_32px\\)_\\/_3\\)\\] {\n flex: 0 0 calc((100% - 32px) / 3);\n}\n.oui-flex-none {\n flex: none;\n}\n.oui-flex-shrink {\n flex-shrink: 1;\n}\n.oui-flex-shrink-0 {\n flex-shrink: 0;\n}\n.oui-shrink {\n flex-shrink: 1;\n}\n.oui-shrink-0 {\n flex-shrink: 0;\n}\n.oui-grow {\n flex-grow: 1;\n}\n.oui-grow-0 {\n flex-grow: 0;\n}\n.oui-basis-1\\/2 {\n flex-basis: 50%;\n}\n.oui-basis-5\\/12 {\n flex-basis: 41.666667%;\n}\n.oui-basis-7\\/12 {\n flex-basis: 58.333333%;\n}\n.oui-basis-\\[100\\%\\] {\n flex-basis: 100%;\n}\n.oui-basis-auto {\n flex-basis: auto;\n}\n.oui-basis-full {\n flex-basis: 100%;\n}\n.oui-table-fixed {\n table-layout: fixed;\n}\n.oui-border-collapse {\n border-collapse: collapse;\n}\n.oui-origin-top-left {\n transform-origin: top left;\n}\n.-oui-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-2\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-\\[0\\.5px\\] {\n --tw-translate-y: -0.5px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-x-full {\n --tw-translate-x: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-3 {\n --tw-translate-x: 0.75rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-\\[-12px\\] {\n --tw-translate-x: -12px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-1 {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[10px\\] {\n --tw-translate-y: 10px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-rotate-180 {\n --tw-rotate: -180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-90 {\n --tw-rotate: 90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-scale-105 {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-transform-gpu {\n transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes oui-pop {\n\n 0% {\n transform: scale(1);\n }\n\n 100% {\n transform: scale(1.05);\n }\n}\n.oui-animate-pop {\n animation: oui-pop 0.2s ease-out;\n}\n@keyframes oui-rotate {\n\n 0% {\n transform: rotate(0deg);\n }\n\n 50% {\n transform: rotate(240deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n.oui-animate-rotate-360 {\n animation: oui-rotate 1s linear infinite;\n}\n@keyframes oui-scan-qr-code {\n\n 0% {\n transform: translateY(0);\n }\n\n 50% {\n transform: translateY(320px);\n }\n\n 100% {\n transform: translateY(0);\n }\n}\n.oui-animate-scan-qr-code {\n animation: oui-scan-qr-code 6s infinite linear;\n}\n@keyframes oui-spin {\n\n to {\n transform: rotate(360deg);\n }\n}\n.oui-animate-spin {\n animation: oui-spin 1s linear infinite;\n}\n.oui-cursor-auto {\n cursor: auto;\n}\n.oui-cursor-default {\n cursor: default;\n}\n.oui-cursor-grab {\n cursor: grab;\n}\n.oui-cursor-grabbing {\n cursor: grabbing;\n}\n.oui-cursor-move {\n cursor: move;\n}\n.oui-cursor-not-allowed {\n cursor: not-allowed;\n}\n.oui-cursor-pointer {\n cursor: pointer;\n}\n.oui-cursor-svg-edit {\n cursor: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%3Cg%20clip-path%3D%22url%28%23clip0_22040_41827%29%22%3E%3Cpath%20d%3D%22M11.4548%200.693201C11.1139%200.352266%2010.5611%200.352266%2010.2202%200.693201L8.98558%201.92784L12.0722%205.01442L13.3068%203.77979C13.6477%203.43885%2013.6477%202.88609%2013.3068%202.54515L11.4548%200.693201Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.98%22%2F%3E%3Cpath%20d%3D%22M11.1462%205.9404L8.0596%202.85381L0.960453%209.95296L0.443602%2013.0541C0.394363%2013.3495%200.650496%2013.6056%200.945935%2013.5564L4.04704%2013.0395L11.1462%205.9404Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.98%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_22040_41827%22%3E%3Crect%20width%3D%2214%22%20height%3D%2214%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\") 2 12, auto;\n}\n.oui-touch-none {\n touch-action: none;\n}\n.oui-select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.oui-resize-none {\n resize: none;\n}\n.oui-list-inside {\n list-style-position: inside;\n}\n.oui-list-outside {\n list-style-position: outside;\n}\n.oui-list-decimal {\n list-style-type: decimal;\n}\n.oui-list-disc {\n list-style-type: disc;\n}\n.oui-list-none {\n list-style-type: none;\n}\n.oui-grid-flow-row {\n grid-auto-flow: row;\n}\n.oui-grid-flow-col {\n grid-auto-flow: column;\n}\n.oui-grid-flow-row-dense {\n grid-auto-flow: row dense;\n}\n.oui-grid-flow-col-dense {\n grid-auto-flow: column dense;\n}\n.oui-auto-rows-fr {\n grid-auto-rows: minmax(0, 1fr);\n}\n.oui-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.oui-grid-cols-12 {\n grid-template-columns: repeat(12, minmax(0, 1fr));\n}\n.oui-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.oui-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.oui-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n.oui-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n.oui-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.oui-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n.oui-grid-cols-9 {\n grid-template-columns: repeat(9, minmax(0, 1fr));\n}\n.oui-grid-cols-\\[1fr\\,1fr\\,135px\\] {\n grid-template-columns: 1fr 1fr 135px;\n}\n.oui-grid-cols-\\[40px_1fr_40px\\] {\n grid-template-columns: 40px 1fr 40px;\n}\n.oui-grid-cols-\\[4fr\\,6fr\\] {\n grid-template-columns: 4fr 6fr;\n}\n.oui-grid-cols-none {\n grid-template-columns: none;\n}\n.oui-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n.oui-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n.oui-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n.oui-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n.oui-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n.oui-grid-rows-6 {\n grid-template-rows: repeat(6, minmax(0, 1fr));\n}\n.oui-grid-rows-7 {\n grid-template-rows: repeat(7, minmax(0, 1fr));\n}\n.oui-grid-rows-8 {\n grid-template-rows: repeat(8, minmax(0, 1fr));\n}\n.oui-grid-rows-9 {\n grid-template-rows: repeat(9, minmax(0, 1fr));\n}\n.oui-grid-rows-\\[auto\\,1fr\\] {\n grid-template-rows: auto 1fr;\n}\n.oui-grid-rows-\\[auto\\,auto\\,1fr\\,auto\\,1fr\\] {\n grid-template-rows: auto auto 1fr auto 1fr;\n}\n.oui-grid-rows-none {\n grid-template-rows: none;\n}\n.oui-flex-row {\n flex-direction: row;\n}\n.oui-flex-row-reverse {\n flex-direction: row-reverse;\n}\n.oui-flex-col {\n flex-direction: column;\n}\n.oui-flex-col-reverse {\n flex-direction: column-reverse;\n}\n.oui-flex-wrap {\n flex-wrap: wrap;\n}\n.oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n.oui-flex-nowrap {\n flex-wrap: nowrap;\n}\n.oui-items-start {\n align-items: flex-start;\n}\n.oui-items-end {\n align-items: flex-end;\n}\n.oui-items-center {\n align-items: center;\n}\n.oui-items-baseline {\n align-items: baseline;\n}\n.oui-items-stretch {\n align-items: stretch;\n}\n.oui-justify-start {\n justify-content: flex-start;\n}\n.oui-justify-end {\n justify-content: flex-end;\n}\n.oui-justify-center {\n justify-content: center;\n}\n.oui-justify-between {\n justify-content: space-between;\n}\n.oui-justify-around {\n justify-content: space-around;\n}\n.oui-justify-evenly {\n justify-content: space-evenly;\n}\n.oui-justify-stretch {\n justify-content: stretch;\n}\n.\\!oui-gap-\\[2px\\] {\n gap: 2px !important;\n}\n.oui-gap-0 {\n gap: 0px;\n}\n.oui-gap-0\\.5 {\n gap: 0.125rem;\n}\n.oui-gap-1 {\n gap: 0.25rem;\n}\n.oui-gap-1\\.5 {\n gap: 0.375rem;\n}\n.oui-gap-10 {\n gap: 2.5rem;\n}\n.oui-gap-12 {\n gap: 3rem;\n}\n.oui-gap-2 {\n gap: 0.5rem;\n}\n.oui-gap-3 {\n gap: 0.75rem;\n}\n.oui-gap-4 {\n gap: 1rem;\n}\n.oui-gap-5 {\n gap: 1.25rem;\n}\n.oui-gap-6 {\n gap: 1.5rem;\n}\n.oui-gap-8 {\n gap: 2rem;\n}\n.oui-gap-\\[10px\\] {\n gap: 10px;\n}\n.oui-gap-\\[11px\\] {\n gap: 11px;\n}\n.oui-gap-\\[2px\\] {\n gap: 2px;\n}\n.oui-gap-\\[6px\\] {\n gap: 6px;\n}\n.oui-gap-px {\n gap: 1px;\n}\n.oui-gap-x-0 {\n -moz-column-gap: 0px;\n column-gap: 0px;\n}\n.oui-gap-x-0\\.5 {\n -moz-column-gap: 0.125rem;\n column-gap: 0.125rem;\n}\n.oui-gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n.oui-gap-x-1\\.5 {\n -moz-column-gap: 0.375rem;\n column-gap: 0.375rem;\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-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0 !important;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))) !important;\n margin-bottom: calc(0px * var(--tw-space-y-reverse)) !important;\n}\n.\\!oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0 !important;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))) !important;\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)) !important;\n}\n.oui-space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.75rem * var(--tw-space-x-reverse));\n margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.5rem * var(--tw-space-x-reverse));\n margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-\\[6px\\] > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(6px * var(--tw-space-x-reverse));\n margin-left: calc(6px * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n}\n.oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-\\[2px\\] > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(2px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(2px * var(--tw-space-y-reverse));\n}\n.oui-self-end {\n align-self: flex-end;\n}\n.\\!oui-overflow-auto {\n overflow: auto !important;\n}\n.oui-overflow-auto {\n overflow: auto;\n}\n.oui-overflow-hidden {\n overflow: hidden;\n}\n.oui-overflow-x-auto {\n overflow-x: auto;\n}\n.oui-overflow-y-auto {\n overflow-y: auto;\n}\n.oui-overflow-y-hidden {\n overflow-y: hidden;\n}\n.oui-overflow-x-scroll {\n overflow-x: scroll;\n}\n.oui-overflow-y-scroll {\n overflow-y: scroll;\n}\n.oui-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.oui-overflow-ellipsis {\n text-overflow: ellipsis;\n}\n.oui-text-ellipsis {\n text-overflow: ellipsis;\n}\n.oui-whitespace-nowrap {\n white-space: nowrap;\n}\n.oui-whitespace-pre {\n white-space: pre;\n}\n.oui-text-nowrap {\n text-wrap: nowrap;\n}\n.oui-text-pretty {\n text-wrap: pretty;\n}\n.oui-break-normal {\n overflow-wrap: normal;\n word-break: normal;\n}\n.oui-break-words {\n overflow-wrap: break-word;\n}\n.oui-break-all {\n word-break: break-all;\n}\n.oui-rounded {\n border-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n}\n.oui-rounded-\\[100\\%\\] {\n border-radius: 100%;\n}\n.oui-rounded-\\[100px\\] {\n border-radius: 100px;\n}\n.oui-rounded-\\[10px\\] {\n border-radius: 10px;\n}\n.oui-rounded-\\[12px\\] {\n border-radius: 12px;\n}\n.oui-rounded-\\[14px\\] {\n border-radius: 14px;\n}\n.oui-rounded-\\[16px\\] {\n border-radius: 16px;\n}\n.oui-rounded-\\[1px\\] {\n border-radius: 1px;\n}\n.oui-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n.oui-rounded-\\[24px\\] {\n border-radius: 24px;\n}\n.oui-rounded-\\[3px\\] {\n border-radius: 3px;\n}\n.oui-rounded-\\[44px\\] {\n border-radius: 44px;\n}\n.oui-rounded-\\[4px\\] {\n border-radius: 4px;\n}\n.oui-rounded-\\[6px\\] {\n border-radius: 6px;\n}\n.oui-rounded-\\[8px\\] {\n border-radius: 8px;\n}\n.oui-rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n.oui-rounded-full {\n border-radius: var(--oui-rounded-full, 9999px);\n}\n.oui-rounded-lg {\n border-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.oui-rounded-none {\n border-radius: 0;\n}\n.oui-rounded-sm {\n border-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-xl {\n border-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.\\!oui-rounded-l {\n border-top-left-radius: var(--oui-rounded, 0.25rem) !important;\n border-bottom-left-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.\\!oui-rounded-r {\n border-top-right-radius: var(--oui-rounded, 0.25rem) !important;\n border-bottom-right-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.oui-rounded-b-sm {\n border-bottom-right-radius: var(--oui-rounded-sm, 0.125rem);\n border-bottom-left-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-b-xl {\n border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-l {\n border-top-left-radius: var(--oui-rounded, 0.25rem);\n border-bottom-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-l-lg {\n border-top-left-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-left-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-l-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-r {\n border-top-right-radius: var(--oui-rounded, 0.25rem);\n border-bottom-right-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-r-lg {\n border-top-right-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-t-2xl {\n border-top-left-radius: var(--oui-rounded-2xl, 1rem);\n border-top-right-radius: var(--oui-rounded-2xl, 1rem);\n}\n.oui-rounded-t-\\[6px\\] {\n border-top-left-radius: 6px;\n border-top-right-radius: 6px;\n}\n.oui-rounded-t-sm {\n border-top-left-radius: var(--oui-rounded-sm, 0.125rem);\n border-top-right-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-t-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-top-right-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.\\!oui-rounded-bl {\n border-bottom-left-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.oui-rounded-bl {\n border-bottom-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-bl-\\[6px\\] {\n border-bottom-left-radius: 6px;\n}\n.oui-rounded-bl-xl {\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-br-\\[3px\\] {\n border-bottom-right-radius: 3px;\n}\n.oui-rounded-br-lg {\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-br-none {\n border-bottom-right-radius: 0;\n}\n.oui-rounded-br-xl {\n border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-tl {\n border-top-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-tl-none {\n border-top-left-radius: 0;\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-\\[2\\.5px\\] {\n border-width: 2.5px;\n}\n.oui-border-\\[2px\\] {\n border-width: 2px;\n}\n.oui-border-\\[4px\\] {\n border-width: 4px;\n}\n.oui-border-y-2 {\n border-top-width: 2px;\n border-bottom-width: 2px;\n}\n.oui-border-b {\n border-bottom-width: 1px;\n}\n.oui-border-b-2 {\n border-bottom-width: 2px;\n}\n.oui-border-l {\n border-left-width: 1px;\n}\n.oui-border-r {\n border-right-width: 1px;\n}\n.oui-border-t {\n border-top-width: 1px;\n}\n.oui-border-t-2 {\n border-top-width: 2px;\n}\n.\\!oui-border-solid {\n border-style: solid !important;\n}\n.oui-border-solid {\n border-style: solid;\n}\n.oui-border-dashed {\n border-style: dashed;\n}\n.oui-border-dotted {\n border-style: dotted;\n}\n.\\!oui-border-none {\n border-style: none !important;\n}\n.oui-border-none {\n border-style: none;\n}\n.\\!oui-border-line-12 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12) !important;\n}\n.\\!oui-border-primary-light {\n --tw-border-opacity: 1 !important;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1)) !important;\n}\n.oui-border-\\[\\#38E2FE\\] {\n --tw-border-opacity: 1;\n border-color: rgb(56 226 254 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[\\#B9D1FF\\] {\n --tw-border-opacity: 1;\n border-color: rgb(185 209 255 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[\\#faedff\\] {\n --tw-border-opacity: 1;\n border-color: rgb(250 237 255 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n border-color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n border-color: rgba(var(--oui-gradient-brand-start));\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-primary-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-primary-start)/0.36);\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-secondary-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-secondary-start)/0.36);\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-success-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-success-start)/0.36);\n}\n.oui-border-base-2 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-2) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-4 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-4) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-5 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-5) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-6 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-6) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-contrast-12 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-border-base-contrast-16 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.oui-border-base-contrast-20 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-border-base-contrast-36 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-border-base-contrast-54 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-border-base-contrast-80 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-border-base-contrast\\/10 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.1);\n}\n.oui-border-base-contrast\\/\\[0\\.08\\] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.08);\n}\n.oui-border-base-contrast\\/\\[0\\.12\\] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n}\n.oui-border-danger-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-line {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.oui-border-line-12 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-border-line-16 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-border-line-4 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-border-primary {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary) / var(--tw-border-opacity, 1));\n}\n.oui-border-primary-darken {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-darken) / var(--tw-border-opacity, 1));\n}\n.oui-border-primary-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-success {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-success) / var(--tw-border-opacity, 1));\n}\n.oui-border-trade-loss {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-trading-loss) / var(--tw-border-opacity, 1));\n}\n.oui-border-trade-profit {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-trading-profit) / var(--tw-border-opacity, 1));\n}\n.oui-border-transparent {\n border-color: transparent;\n}\n.oui-border-warning-darken {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-darken) / var(--tw-border-opacity, 1));\n}\n.oui-border-warning-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-white\\/10 {\n border-color: rgb(255 255 255 / 0.1);\n}\n.oui-border-white\\/\\[0\\.12\\] {\n border-color: rgb(255 255 255 / 0.12);\n}\n.oui-border-white\\/\\[0\\.36\\] {\n border-color: rgb(255 255 255 / 0.36);\n}\n.oui-border-b-line-4 {\n border-bottom-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-border-b-line-6 {\n border-bottom-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-border-b-transparent {\n border-bottom-color: transparent;\n}\n.oui-border-b-white\\/10 {\n border-bottom-color: rgb(255 255 255 / 0.1);\n}\n.oui-border-l-transparent {\n border-left-color: transparent;\n}\n.oui-border-r-line-16 {\n border-right-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-border-t-transparent {\n border-top-color: transparent;\n}\n.\\!oui-bg-\\[\\#131519\\] {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(19 21 25 / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-\\[\\#181C23\\] {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(24 28 35 / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-base-10\\/60 {\n background-color: rgb(var(--oui-color-base-10) / 0.6) !important;\n}\n.\\!oui-bg-base-8 {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-primary-darken {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-transparent {\n background-color: transparent !important;\n}\n.oui-bg-\\[\\#00A858\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 168 88 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#00A9DE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 169 222 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#07080A\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(7 8 10 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#131519\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(19 21 25 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#282e3a\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(40 46 58 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#283BEE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(40 59 238 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#333948\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(51 57 72 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#335FFC\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(51 95 252 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#38E2FE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(56 226 254 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#630EAD\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(99 14 173 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#D25f00\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(210 95 0 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#e9e9eb\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(233 233 235 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[lightgray\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(211 211 211 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[rgba\\(0\\,0\\,0\\,0\\.48\\)\\] {\n background-color: rgba(0,0,0,0.48);\n}\n.oui-bg-\\[rgba\\(232\\,136\\,0\\,0\\.15\\)\\] {\n background-color: rgba(232,136,0,0.15);\n}\n.oui-bg-\\[rgba\\(255\\,125\\,0\\,0\\.1\\)\\] {\n background-color: rgba(255,125,0,0.1);\n}\n.oui-bg-\\[rgba\\(255\\,169\\,64\\,0\\.70\\)\\] {\n background-color: rgba(255,169,64,0.70);\n}\n.oui-bg-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n background-color: rgba(var(--oui-gradient-brand-start));\n}\n.oui-bg-\\[var\\(--oui-table-background-color\\)\\] {\n background-color: var(--oui-table-background-color);\n}\n.oui-bg-base-1 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-1) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-10 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-10) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-2 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-2) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-3 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-7 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-8 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-9 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-9) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-contrast {\n background-color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-bg-base-contrast-12 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-bg-base-contrast-20 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-bg-base-contrast-36 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-bg-base-contrast-80 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-bg-black\\/80 {\n background-color: rgb(0 0 0 / 0.8);\n}\n.oui-bg-black\\/\\[0\\.08\\] {\n background-color: rgb(0 0 0 / 0.08);\n}\n.oui-bg-black\\/\\[0\\.15\\] {\n background-color: rgb(0 0 0 / 0.15);\n}\n.oui-bg-danger {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger\\/15 {\n background-color: rgb(var(--oui-color-danger) / 0.15);\n}\n.oui-bg-line {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.oui-bg-line-12 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-bg-line-6 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-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-red-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success\\/15 {\n background-color: rgb(var(--oui-color-success) / 0.15);\n}\n.oui-bg-success\\/20 {\n background-color: rgb(var(--oui-color-success) / 0.2);\n}\n.oui-bg-trade-loss {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-trading-loss) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-trade-loss\\/10 {\n background-color: rgb(var(--oui-color-trading-loss) / 0.1);\n}\n.oui-bg-trade-loss\\/20 {\n background-color: rgb(var(--oui-color-trading-loss) / 0.2);\n}\n.oui-bg-trade-profit {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-trading-profit) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-trade-profit\\/10 {\n background-color: rgb(var(--oui-color-trading-profit) / 0.1);\n}\n.oui-bg-trade-profit\\/20 {\n background-color: rgb(var(--oui-color-trading-profit) / 0.2);\n}\n.oui-bg-transparent {\n background-color: transparent;\n}\n.oui-bg-warning-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-warning-darken\\/10 {\n background-color: rgb(var(--oui-color-warning-darken) / 0.1);\n}\n.oui-bg-warning-darken\\/15 {\n background-color: rgb(var(--oui-color-warning-darken) / 0.15);\n}\n.oui-bg-warning-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-white\\/30 {\n background-color: rgb(255 255 255 / 0.3);\n}\n.oui-bg-white\\/80 {\n background-color: rgb(255 255 255 / 0.8);\n}\n.oui-bg-white\\/\\[\\.06\\] {\n background-color: rgb(255 255 255 / .06);\n}\n.oui-bg-white\\/\\[\\.54\\] {\n background-color: rgb(255 255 255 / .54);\n}\n.oui-bg-white\\/\\[0\\.04\\] {\n background-color: rgb(255 255 255 / 0.04);\n}\n.oui-bg-white\\/\\[0\\.06\\] {\n background-color: rgb(255 255 255 / 0.06);\n}\n.oui-bg-white\\/\\[0\\.08\\] {\n background-color: rgb(255 255 255 / 0.08);\n}\n.oui-bg-white\\/\\[0\\.12\\] {\n background-color: rgb(255 255 255 / 0.12);\n}\n.oui-bg-white\\/\\[0\\.16\\] {\n background-color: rgb(255 255 255 / 0.16);\n}\n.oui-bg-white\\/\\[0\\.2\\] {\n background-color: rgb(255 255 255 / 0.2);\n}\n.oui-bg-white\\/\\[0\\.54\\] {\n background-color: rgb(255 255 255 / 0.54);\n}\n.oui-bg-white\\/\\[0\\.8\\] {\n background-color: rgb(255 255 255 / 0.8);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#27FDFE_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#27FDFE 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#283BEE_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,\\#A53411_100\\%\\)\\] {\n background-image: linear-gradient(15deg,#283BEE -11%,transparent 30%,transparent 77%,#A53411 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#335FFC_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#335FFC 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#7400D0_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,\\#009A7E_100\\%\\)\\] {\n background-image: linear-gradient(15deg,#7400D0 -11%,transparent 30%,transparent 77%,#009A7E 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#D25F00_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#D25F00 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,\\#59B0FE_0\\%\\,\\#26FEFE_100\\%\\)\\] {\n background-image: linear-gradient(270deg,#59B0FE 0%,#26FEFE 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgb\\(var\\(--oui-gradient-brand-end\\)\\)_0\\%\\,rgb\\(var\\(--oui-gradient-brand-start\\)\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgb(var(--oui-gradient-brand-end)) 0%,rgb(var(--oui-gradient-brand-start)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgb\\(var\\(--oui-gradient-brand-start\\)\\)_0\\%\\,rgb\\(var\\(--oui-gradient-brand-end\\)\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgb(var(--oui-gradient-brand-start)) 0%,rgb(var(--oui-gradient-brand-end)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(241\\,215\\,121\\,0\\.0225\\)_-2\\.05\\%\\,rgba\\(255\\,203\\,70\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(241,215,121,0.0225) -2.05%,rgba(255,203,70,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(255\\,233\\,157\\,0\\.0225\\)_-1\\.3\\%\\,rgba\\(160\\,101\\,46\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(255,233,157,0.0225) -1.3%,rgba(160,101,46,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(255\\,255\\,255\\,0\\.0225\\)_-2\\.05\\%\\,rgba\\(199\\,199\\,199\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(255,255,255,0.0225) -2.05%,rgba(199,199,199,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(89\\,176\\,254\\,0\\.10\\)_0\\%\\,rgba\\(38\\,254\\,254\\,0\\.10\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(89,176,254,0.10) 0%,rgba(38,254,254,0.10) 100%);\n}\n.oui-bg-\\[linear-gradient\\(90deg\\,rgba\\(var\\(--oui-color-base-9\\)_\\/_0\\)_0\\%\\,rgba\\(var\\(--oui-color-base-9\\)_\\/_1\\)_100\\%\\)\\] {\n background-image: linear-gradient(90deg,rgba(var(--oui-color-base-9) / 0) 0%,rgba(var(--oui-color-base-9) / 1) 100%);\n}\n.oui-bg-gradient-to-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-\\[\\#26fefe\\] {\n --tw-gradient-from: #26fefe var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(38 254 254 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#2d0061\\] {\n --tw-gradient-from: #2d0061 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(45 0 97 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#59b0fe\\] {\n --tw-gradient-from: #59b0fe var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(89 176 254 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#791438\\] {\n --tw-gradient-from: #791438 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(121 20 56 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#792e00\\] {\n --tw-gradient-from: #792e00 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(121 46 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#FF7B00\\] {\n --tw-gradient-from: #FF7B00 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(255 123 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-from: rgb(var(--oui-gradient-brand-start)) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(var(--oui-gradient-brand-start) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgb\\(var\\(--oui-gradient-brand-start\\)_\\/_0\\.12\\)\\] {\n --tw-gradient-from: rgb(var(--oui-gradient-brand-start) / 0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(var(--oui-gradient-brand-start) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\/0\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-brand-end)/0) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-brand-start)) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-brand-start), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-neutral-end\\)\\/1\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-neutral-end)/1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-neutral-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-primary-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-primary-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-primary-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-secondary-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-secondary-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-secondary-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-success-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-success-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-success-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[-20\\%\\] {\n --tw-gradient-from-position: -20%;\n}\n.oui-via-\\[\\#ff7d00\\] {\n --tw-gradient-to: rgb(255 125 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), #ff7d00 var(--tw-gradient-via-position), var(--tw-gradient-to);\n}\n.oui-to-\\[\\#26fefe\\] {\n --tw-gradient-to: #26fefe var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#FFEA00\\] {\n --tw-gradient-to: #FFEA00 var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#bd6bed\\] {\n --tw-gradient-to: #bd6bed var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#d92d6b\\] {\n --tw-gradient-to: #d92d6b var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#ff447c\\] {\n --tw-gradient-to: #ff447c var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#ffb65d\\] {\n --tw-gradient-to: #ffb65d var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-brand-end\\)\\)\\] {\n --tw-gradient-to: rgb(var(--oui-gradient-brand-end)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-brand-end\\)_\\/_0\\.12\\)\\] {\n --tw-gradient-to: rgb(var(--oui-gradient-brand-end) / 0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\/0\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end)/0) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-start)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-neutral-start\\)\\/1\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-neutral-start)/1) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-primary-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-primary-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-secondary-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-secondary-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-success-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-success-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[40\\%\\] {\n --tw-gradient-to-position: 40%;\n}\n.oui-bg-contain {\n background-size: contain;\n}\n.oui-bg-cover {\n background-size: cover;\n}\n.oui-bg-clip-padding {\n background-clip: padding-box;\n}\n.oui-bg-clip-text {\n -webkit-background-clip: text;\n background-clip: text;\n}\n.oui-bg-center {\n background-position: center;\n}\n.oui-bg-no-repeat {\n background-repeat: no-repeat;\n}\n.\\!oui-fill-base-6 {\n fill: rgb(var(--oui-color-base-6) / 1) !important;\n}\n.oui-fill-\\[rgba\\(255\\,255\\,255\\,0\\.36\\)\\] {\n fill: rgba(255,255,255,0.36);\n}\n.oui-fill-base-4 {\n fill: rgb(var(--oui-color-base-4) / 1);\n}\n.oui-fill-base-5 {\n fill: rgb(var(--oui-color-base-5) / 1);\n}\n.oui-fill-base-6 {\n fill: rgb(var(--oui-color-base-6) / 1);\n}\n.oui-fill-base-8 {\n fill: rgb(var(--oui-color-base-8) / 1);\n}\n.oui-fill-base-contrast-20 {\n fill: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-fill-base-contrast-36 {\n fill: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-fill-base-contrast-54 {\n fill: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-fill-current {\n fill: currentColor;\n}\n.oui-fill-danger {\n fill: rgb(var(--oui-color-danger) / 1);\n}\n.oui-fill-danger-light {\n fill: rgb(var(--oui-color-danger-light) / 1);\n}\n.oui-fill-primary-darken {\n fill: rgb(var(--oui-color-primary-darken) / 1);\n}\n.oui-fill-primary-light {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.oui-fill-success {\n fill: rgb(var(--oui-color-success) / 1);\n}\n.oui-fill-success-light {\n fill: rgb(var(--oui-color-success-light) / 1);\n}\n.oui-fill-transparent {\n fill: transparent;\n}\n.oui-fill-warning-darken {\n fill: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-fill-warning-light {\n fill: rgb(var(--oui-color-warning-light) / 1);\n}\n.oui-fill-white {\n fill: #fff;\n}\n.oui-fill-white\\/\\[\\.36\\] {\n fill: rgb(255 255 255 / .36);\n}\n.oui-fill-white\\/\\[\\.54\\] {\n fill: rgb(255 255 255 / .54);\n}\n.oui-fill-white\\/\\[\\.98\\] {\n fill: rgb(255 255 255 / .98);\n}\n.oui-object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\n.oui-object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n}\n.oui-object-fill {\n -o-object-fit: fill;\n object-fit: fill;\n}\n.\\!oui-p-0 {\n padding: 0px !important;\n}\n.\\!oui-p-3 {\n padding: 0.75rem !important;\n}\n.\\!oui-p-4 {\n padding: 1rem !important;\n}\n.oui-p-0 {\n padding: 0px;\n}\n.oui-p-0\\.5 {\n padding: 0.125rem;\n}\n.oui-p-1 {\n padding: 0.25rem;\n}\n.oui-p-1\\.5 {\n padding: 0.375rem;\n}\n.oui-p-10 {\n padding: 2.5rem;\n}\n.oui-p-2 {\n padding: 0.5rem;\n}\n.oui-p-3 {\n padding: 0.75rem;\n}\n.oui-p-4 {\n padding: 1rem;\n}\n.oui-p-5 {\n padding: 1.25rem;\n}\n.oui-p-6 {\n padding: 1.5rem;\n}\n.oui-p-7 {\n padding: 1.75rem;\n}\n.oui-p-8 {\n padding: 2rem;\n}\n.oui-p-9 {\n padding: 2.25rem;\n}\n.oui-p-\\[1px\\] {\n padding: 1px;\n}\n.oui-p-\\[2px\\] {\n padding: 2px;\n}\n.oui-p-\\[7px\\] {\n padding: 7px;\n}\n.\\!oui-px-0 {\n padding-left: 0px !important;\n padding-right: 0px !important;\n}\n.\\!oui-px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n.\\!oui-py-\\[2px\\] {\n padding-top: 2px !important;\n padding-bottom: 2px !important;\n}\n.oui-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.oui-px-0\\.5 {\n padding-left: 0.125rem;\n padding-right: 0.125rem;\n}\n.oui-px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.oui-px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n.oui-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.oui-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.oui-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n.oui-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.oui-px-7 {\n padding-left: 1.75rem;\n padding-right: 1.75rem;\n}\n.oui-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n.oui-px-9 {\n padding-left: 2.25rem;\n padding-right: 2.25rem;\n}\n.oui-px-\\[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-\\[6px\\] {\n padding-left: 6px;\n padding-right: 6px;\n}\n.oui-px-\\[7px\\] {\n padding-left: 7px;\n padding-right: 7px;\n}\n.oui-px-px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.oui-py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n.oui-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.oui-py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.oui-py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n}\n.oui-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n.oui-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.oui-py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n.oui-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.oui-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.oui-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n.oui-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n.oui-py-7 {\n padding-top: 1.75rem;\n padding-bottom: 1.75rem;\n}\n.oui-py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n.oui-py-9 {\n padding-top: 2.25rem;\n padding-bottom: 2.25rem;\n}\n.oui-py-\\[10px\\] {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n.oui-py-\\[11px\\] {\n padding-top: 11px;\n padding-bottom: 11px;\n}\n.oui-py-\\[13px\\] {\n padding-top: 13px;\n padding-bottom: 13px;\n}\n.oui-py-\\[2px\\] {\n padding-top: 2px;\n padding-bottom: 2px;\n}\n.oui-py-\\[3px\\] {\n padding-top: 3px;\n padding-bottom: 3px;\n}\n.oui-py-\\[5px\\] {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n.oui-py-\\[6px\\] {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n.\\!oui-pb-0 {\n padding-bottom: 0px !important;\n}\n.\\!oui-pl-5 {\n padding-left: 1.25rem !important;\n}\n.\\!oui-pr-0 {\n padding-right: 0px !important;\n}\n.\\!oui-pr-5 {\n padding-right: 1.25rem !important;\n}\n.\\!oui-pt-0 {\n padding-top: 0px !important;\n}\n.\\!oui-pt-3 {\n padding-top: 0.75rem !important;\n}\n.\\!oui-pt-8 {\n padding-top: 2rem !important;\n}\n.oui-pb-0 {\n padding-bottom: 0px;\n}\n.oui-pb-1 {\n padding-bottom: 0.25rem;\n}\n.oui-pb-10 {\n padding-bottom: 2.5rem;\n}\n.oui-pb-2 {\n padding-bottom: 0.5rem;\n}\n.oui-pb-3 {\n padding-bottom: 0.75rem;\n}\n.oui-pb-4 {\n padding-bottom: 1rem;\n}\n.oui-pb-5 {\n padding-bottom: 1.25rem;\n}\n.oui-pb-6 {\n padding-bottom: 1.5rem;\n}\n.oui-pb-7 {\n padding-bottom: 1.75rem;\n}\n.oui-pb-8 {\n padding-bottom: 2rem;\n}\n.oui-pb-9 {\n padding-bottom: 2.25rem;\n}\n.oui-pb-\\[5px\\] {\n padding-bottom: 5px;\n}\n.oui-pb-\\[calc\\(env\\(safe-area-inset-bottom\\)\\)\\] {\n padding-bottom: calc(env(safe-area-inset-bottom));\n}\n.oui-pb-\\[env\\(safe-area-inset-bottom\\)\\] {\n padding-bottom: env(safe-area-inset-bottom);\n}\n.oui-pb-\\[env\\(safe-area-inset-bottom\\,_20px\\)\\] {\n padding-bottom: env(safe-area-inset-bottom, 20px);\n}\n.oui-pl-0 {\n padding-left: 0px;\n}\n.oui-pl-0\\.5 {\n padding-left: 0.125rem;\n}\n.oui-pl-1 {\n padding-left: 0.25rem;\n}\n.oui-pl-10 {\n padding-left: 2.5rem;\n}\n.oui-pl-2 {\n padding-left: 0.5rem;\n}\n.oui-pl-2\\.5 {\n padding-left: 0.625rem;\n}\n.oui-pl-3 {\n padding-left: 0.75rem;\n}\n.oui-pl-4 {\n padding-left: 1rem;\n}\n.oui-pl-5 {\n padding-left: 1.25rem;\n}\n.oui-pl-6 {\n padding-left: 1.5rem;\n}\n.oui-pl-7 {\n padding-left: 1.75rem;\n}\n.oui-pl-8 {\n padding-left: 2rem;\n}\n.oui-pl-9 {\n padding-left: 2.25rem;\n}\n.oui-pr-0 {\n padding-right: 0px;\n}\n.oui-pr-1 {\n padding-right: 0.25rem;\n}\n.oui-pr-1\\.5 {\n padding-right: 0.375rem;\n}\n.oui-pr-10 {\n padding-right: 2.5rem;\n}\n.oui-pr-2 {\n padding-right: 0.5rem;\n}\n.oui-pr-2\\.5 {\n padding-right: 0.625rem;\n}\n.oui-pr-3 {\n padding-right: 0.75rem;\n}\n.oui-pr-4 {\n padding-right: 1rem;\n}\n.oui-pr-5 {\n padding-right: 1.25rem;\n}\n.oui-pr-6 {\n padding-right: 1.5rem;\n}\n.oui-pr-7 {\n padding-right: 1.75rem;\n}\n.oui-pr-8 {\n padding-right: 2rem;\n}\n.oui-pr-9 {\n padding-right: 2.25rem;\n}\n.oui-pr-\\[-4px\\] {\n padding-right: -4px;\n}\n.oui-pr-\\[5px\\] {\n padding-right: 5px;\n}\n.oui-pr-\\[6px\\] {\n padding-right: 6px;\n}\n.oui-pt-0 {\n padding-top: 0px;\n}\n.oui-pt-1 {\n padding-top: 0.25rem;\n}\n.oui-pt-10 {\n padding-top: 2.5rem;\n}\n.oui-pt-2 {\n padding-top: 0.5rem;\n}\n.oui-pt-3 {\n padding-top: 0.75rem;\n}\n.oui-pt-4 {\n padding-top: 1rem;\n}\n.oui-pt-5 {\n padding-top: 1.25rem;\n}\n.oui-pt-6 {\n padding-top: 1.5rem;\n}\n.oui-pt-7 {\n padding-top: 1.75rem;\n}\n.oui-pt-8 {\n padding-top: 2rem;\n}\n.oui-pt-9 {\n padding-top: 2.25rem;\n}\n.oui-pt-\\[2px\\] {\n padding-top: 2px;\n}\n.oui-pt-\\[6px\\] {\n padding-top: 6px;\n}\n.oui-text-left {\n text-align: left;\n}\n.oui-text-center {\n text-align: center;\n}\n.oui-text-right {\n text-align: right;\n}\n.oui-text-end {\n text-align: end;\n}\n.\\!oui-text-\\[10px\\] {\n font-size: 10px !important;\n}\n.oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n}\n.oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n}\n.oui-text-3xs {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.oui-text-4xl {\n font-size: var(--oui-font-size-4xl, 1.875rem);\n line-height: 2.375rem;\n}\n.oui-text-5xl {\n font-size: var(--oui-font-size-5xl, 2.25rem);\n line-height: 2.75rem;\n}\n.oui-text-6xl {\n font-size: var(--oui-font-size-6xl, 3rem);\n line-height: 3rem;\n}\n.oui-text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n}\n.oui-text-\\[10px\\] {\n font-size: 10px;\n}\n.oui-text-\\[11px\\] {\n font-size: 11px;\n}\n.oui-text-\\[14px\\] {\n font-size: 14px;\n}\n.oui-text-\\[16px\\] {\n font-size: 16px;\n}\n.oui-text-\\[18px\\] {\n font-size: 18px;\n}\n.oui-text-\\[20px\\] {\n font-size: 20px;\n}\n.oui-text-\\[24px\\] {\n font-size: 24px;\n}\n.oui-text-\\[28px\\] {\n font-size: 28px;\n}\n.oui-text-\\[32px\\] {\n font-size: 32px;\n}\n.oui-text-\\[36px\\] {\n font-size: 36px;\n}\n.oui-text-\\[48px\\] {\n font-size: 48px;\n}\n.oui-text-\\[56px\\] {\n font-size: 56px;\n}\n.oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n}\n.oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n}\n.oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.oui-font-bold {\n font-weight: 700;\n}\n.oui-font-medium {\n font-weight: 500;\n}\n.oui-font-normal {\n font-weight: 400;\n}\n.oui-font-semibold {\n font-weight: 600;\n}\n.oui-tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n.oui-leading-10 {\n line-height: 2.5rem;\n}\n.oui-leading-3 {\n line-height: .75rem;\n}\n.oui-leading-4 {\n line-height: 1rem;\n}\n.oui-leading-\\[0px\\] {\n line-height: 0px;\n}\n.oui-leading-\\[1\\.5\\] {\n line-height: 1.5;\n}\n.oui-leading-\\[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-\\[34px\\] {\n line-height: 34px;\n}\n.oui-leading-\\[36px\\] {\n line-height: 36px;\n}\n.oui-leading-\\[44px\\] {\n line-height: 44px;\n}\n.oui-leading-\\[56px\\] {\n line-height: 56px;\n}\n.oui-leading-none {\n line-height: 1;\n}\n.oui-leading-normal {\n line-height: 1.5;\n}\n.oui-leading-relaxed {\n line-height: 1.625;\n}\n.oui-tracking-tight {\n letter-spacing: -0.025em;\n}\n.oui-tracking-widest {\n letter-spacing: 0.1em;\n}\n.oui-text-\\[\\#63666D\\] {\n --tw-text-opacity: 1;\n color: rgb(99 102 109 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#D25f00\\] {\n --tw-text-opacity: 1;\n color: rgb(210 95 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#FF7D00\\] {\n --tw-text-opacity: 1;\n color: rgb(255 125 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#FF9A2E\\] {\n --tw-text-opacity: 1;\n color: rgb(255 154 46 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-text-\\[rgba\\(0\\,0\\,0\\,\\.88\\)\\] {\n color: rgba(0,0,0,.88);\n}\n.oui-text-\\[rgba\\(0\\,0\\,0\\,0\\.88\\)\\] {\n color: rgba(0,0,0,0.88);\n}\n.oui-text-\\[rgba\\(255\\,154\\,46\\,1\\)\\] {\n color: rgba(255,154,46,1);\n}\n.oui-text-base-1 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-1) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-5 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-5) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-contrast {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-text-base-contrast-12 {\n color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-text-base-contrast-36 {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-text-base-contrast-54 {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-text-base-contrast\\/30 {\n color: rgb(var(--oui-color-base-foreground) / 0.3);\n}\n.oui-text-base-contrast\\/40 {\n color: rgb(var(--oui-color-base-foreground) / 0.4);\n}\n.oui-text-base-contrast\\/60 {\n color: rgb(var(--oui-color-base-foreground) / 0.6);\n}\n.oui-text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-black\\/\\[\\.36\\] {\n color: rgb(0 0 0 / .36);\n}\n.oui-text-black\\/\\[\\.88\\] {\n color: rgb(0 0 0 / .88);\n}\n.oui-text-black\\/\\[0\\.2\\] {\n color: rgb(0 0 0 / 0.2);\n}\n.oui-text-black\\/\\[0\\.88\\] {\n color: rgb(0 0 0 / 0.88);\n}\n.oui-text-current {\n color: currentColor;\n}\n.oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-gray-200 {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.oui-text-gray-300 {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n}\n.oui-text-inherit {\n color: inherit;\n}\n.oui-text-primary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-light\\/60 {\n color: rgb(var(--oui-color-primary-light) / 0.6);\n}\n.oui-text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.oui-text-secondary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-secondary) / var(--tw-text-opacity, 1));\n}\n.oui-text-secondary\\/\\[0\\.36\\] {\n color: rgb(var(--oui-color-secondary) / 0.36);\n}\n.oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-tertiary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-tertiary) / var(--tw-text-opacity, 1));\n}\n.oui-text-trade-loss {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-trading-loss) / var(--tw-text-opacity, 1));\n}\n.oui-text-trade-profit {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-trading-profit) / var(--tw-text-opacity, 1));\n}\n.oui-text-transparent {\n color: transparent;\n}\n.oui-text-warning {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.oui-text-white\\/\\[\\.36\\] {\n color: rgb(255 255 255 / .36);\n}\n.oui-underline {\n text-decoration-line: underline;\n}\n.oui-decoration-base-contrast-36 {\n text-decoration-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-decoration-line-16 {\n text-decoration-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-decoration-warning-darken {\n text-decoration-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-decoration-white\\/20 {\n text-decoration-color: rgb(255 255 255 / 0.2);\n}\n.oui-decoration-dashed {\n text-decoration-style: dashed;\n}\n.oui-decoration-1 {\n text-decoration-thickness: 1px;\n}\n.oui-underline-offset-2 {\n text-underline-offset: 2px;\n}\n.oui-underline-offset-4 {\n text-underline-offset: 4px;\n}\n.oui-placeholder-base-contrast-20::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-placeholder-base-contrast-20::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-caret-\\[rgba\\(217\\,217\\,217\\,1\\)\\] {\n caret-color: rgba(217,217,217,1);\n}\n.oui-opacity-0 {\n opacity: 0;\n}\n.oui-opacity-100 {\n opacity: 1;\n}\n.oui-opacity-20 {\n opacity: 0.2;\n}\n.oui-opacity-30 {\n opacity: 0.3;\n}\n.oui-opacity-40 {\n opacity: 0.4;\n}\n.oui-opacity-50 {\n opacity: 0.5;\n}\n.oui-opacity-60 {\n opacity: 0.6;\n}\n.oui-opacity-70 {\n opacity: 0.7;\n}\n.oui-opacity-80 {\n opacity: 0.8;\n}\n.oui-opacity-\\[\\.12\\] {\n opacity: .12;\n}\n.oui-bg-blend-luminosity {\n background-blend-mode: luminosity;\n}\n.oui-mix-blend-screen {\n mix-blend-mode: screen;\n}\n.oui-mix-blend-luminosity {\n mix-blend-mode: luminosity;\n}\n.\\!oui-shadow-none {\n --tw-shadow: 0 0 #0000 !important;\n --tw-shadow-colored: 0 0 #0000 !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.oui-shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-\\[0_0_8px_4px_rgba\\(var\\(--oui-gradient-brand-start\\)\\/0\\.12\\)\\] {\n --tw-shadow: 0 0 8px 4px rgba(var(--oui-gradient-brand-start)/0.12);\n --tw-shadow-colored: 0 0 8px 4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-\\[0px_12px_20px_0px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\] {\n --tw-shadow: 0px 12px 20px 0px rgba(0,0,0,0.25);\n --tw-shadow-colored: 0px 12px 20px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-inner {\n --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-none {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-base-9 {\n --tw-shadow-color: rgb(var(--oui-color-base-9) / 1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.oui-outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.oui-outline {\n outline-style: solid;\n}\n.oui-outline-1 {\n outline-width: 1px;\n}\n.oui-outline-2 {\n outline-width: 2px;\n}\n.oui-outline-offset-0 {\n outline-offset: 0px;\n}\n.oui-outline-base-1 {\n outline-color: rgb(var(--oui-color-base-1) / 1);\n}\n.oui-outline-base-8 {\n outline-color: rgb(var(--oui-color-base-8) / 1);\n}\n.oui-outline-base-contrast-12 {\n outline-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.oui-outline-danger-light {\n outline-color: rgb(var(--oui-color-danger-light) / 1);\n}\n.oui-outline-line-12 {\n outline-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-outline-primary-darken {\n outline-color: rgb(var(--oui-color-primary-darken) / 1);\n}\n.oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n}\n.oui-outline-transparent {\n outline-color: transparent;\n}\n.oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-outline-warning-light {\n outline-color: rgb(var(--oui-color-warning-light) / 1);\n}\n.oui-ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.oui-blur-\\[200px\\] {\n --tw-blur: blur(200px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.oui-drop-shadow {\n --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.oui-backdrop-blur-\\[10px\\] {\n --tw-backdrop-blur: blur(10px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.oui-backdrop-blur-\\[200px\\] {\n --tw-backdrop-blur: blur(200px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.oui-backdrop-blur-\\[2px\\] {\n --tw-backdrop-blur: blur(2px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.\\!oui-transition-none {\n transition-property: none !important;\n}\n.oui-transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-\\[height\\] {\n transition-property: height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-\\[max-height\\] {\n transition-property: max-height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-duration-150 {\n transition-duration: 150ms;\n}\n.oui-duration-200 {\n transition-duration: 200ms;\n}\n.oui-duration-300 {\n transition-duration: 300ms;\n}\n.oui-ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.oui-will-change-transform {\n will-change: transform;\n}\n.oui-gradient-primary {\n background-image: linear-gradient(var(--oui-gradient-primary-angle, 28.29deg), rgb(var(--oui-gradient-primary-start)) var(--oui-gradient-primary-stop-start,0%), rgb(var(--oui-gradient-primary-end)) var(--oui-gradient-primary-stop-end,100%));\n}\n.oui-gradient-secondary {\n background-image: linear-gradient(var(--oui-gradient-secondary-angle, 0deg), rgb(var(--oui-gradient-secondary-start)) var(--oui-gradient-secondary-stop-start,0%), rgb(var(--oui-gradient-secondary-end)) var(--oui-gradient-secondary-stop-end,100%));\n}\n.oui-gradient-success {\n background-image: linear-gradient(var(--oui-gradient-success-angle, 28.29deg), rgb(var(--oui-gradient-success-start)) var(--oui-gradient-success-stop-start,0%), rgba(var(--oui-gradient-success-end)) var(--oui-gradient-success-stop-end,100%));\n}\n.oui-gradient-warning {\n background-image: linear-gradient(var(--oui-gradient-warning-angle, 28.29deg),rgb(var(--oui-gradient-warning-start)) var(--oui-gradient-warning-stop-start,0%), rgb(var(--oui-gradient-warning-end)) var(--oui-gradient-warning-stop-end,100%));\n}\n.oui-gradient-danger {\n background-image: linear-gradient(var(--oui-gradient-danger-angle, 28.29deg), rgb(var(--oui-gradient-danger-start)) var(--oui-gradient-danger-stop-start,0%), rgb(var(--oui-gradient-danger-end)) var(--oui-gradient-danger-stop-end,100%));\n}\n.oui-gradient-neutral {\n background-image: linear-gradient(var(--oui-gradient-neutral-angle, 28.29deg), rgb(var(--oui-gradient-neutral-start)) var(--oui-gradient-neutral-stop-start,0%), rgb(var(--oui-gradient-neutral-end)) var(--oui-gradient-neutral-stop-end,100%));\n}\n.oui-gradient-brand {\n background-image: linear-gradient(var(--oui-gradient-brand-angle, 17.44deg), rgb(var(--oui-gradient-brand-start)) var(--oui-gradient-brand-stop-start,0%), rgb(var(--oui-gradient-brand-end)) var(--oui-gradient-brand-stop-end,100%));\n}\n@keyframes enter {\n\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n.oui-animate-in {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.oui-fade-in {\n --tw-enter-opacity: 0;\n}\n.oui-fade-in-0 {\n --tw-enter-opacity: 0;\n}\n.oui-fade-out {\n --tw-exit-opacity: 0;\n}\n.oui-zoom-in-95 {\n --tw-enter-scale: .95;\n}\n.oui-slide-in-from-bottom-2 {\n --tw-enter-translate-y: 0.5rem;\n}\n.oui-slide-in-from-top-2 {\n --tw-enter-translate-y: -0.5rem;\n}\n.oui-duration-150 {\n animation-duration: 150ms;\n}\n.oui-duration-200 {\n animation-duration: 200ms;\n}\n.oui-duration-300 {\n animation-duration: 300ms;\n}\n.oui-ease-in-out {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.marker\\:oui-text-3xs *::marker {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.marker\\:oui-text-3xs::marker {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-xs::-moz-placeholder {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-xs::placeholder {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.placeholder\\:oui-text-base-contrast-20::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.placeholder\\:oui-text-base-contrast-20::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.placeholder\\:oui-text-base-contrast-54::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.placeholder\\:oui-text-base-contrast-54::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.before\\:oui-absolute::before {\n content: var(--tw-content);\n position: absolute;\n}\n.before\\:oui-left-\\[-32px\\]::before {\n content: var(--tw-content);\n left: -32px;\n}\n.before\\:oui-right-\\[-32px\\]::before {\n content: var(--tw-content);\n right: -32px;\n}\n.before\\:oui-top-0::before {\n content: var(--tw-content);\n top: 0px;\n}\n.before\\:oui-z-\\[-1\\]::before {\n content: var(--tw-content);\n z-index: -1;\n}\n.before\\:oui-block::before {\n content: var(--tw-content);\n display: block;\n}\n.before\\:oui-h-full::before {\n content: var(--tw-content);\n height: 100%;\n}\n.before\\:oui-w-\\[32px\\]::before {\n content: var(--tw-content);\n width: 32px;\n}\n.before\\:oui-rotate-180::before {\n content: var(--tw-content);\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.before\\:oui-bg-\\[linear-gradient\\(90deg\\2c rgba\\(var\\(--oui-color-base-10\\)_\\/_0\\.80\\)_0\\%\\2c rgba\\(var\\(--oui-color-base-10\\)_\\/_0\\.36\\)_65\\%\\2c rgba\\(var\\(--oui-color-base-10\\)_\\/_0\\.00\\)_100\\%\\)\\]::before {\n content: var(--tw-content);\n background-image: linear-gradient(90deg,rgba(var(--oui-color-base-10) / 0.80) 0%,rgba(var(--oui-color-base-10) / 0.36) 65%,rgba(var(--oui-color-base-10) / 0.00) 100%);\n}\n.after\\:oui-absolute::after {\n content: var(--tw-content);\n position: absolute;\n}\n.after\\:oui-bottom-\\[-8px\\]::after {\n content: var(--tw-content);\n bottom: -8px;\n}\n.after\\:oui-left-0::after {\n content: var(--tw-content);\n left: 0px;\n}\n.after\\:oui-left-1\\/2::after {\n content: var(--tw-content);\n left: 50%;\n}\n.after\\:oui-right-0::after {\n content: var(--tw-content);\n right: 0px;\n}\n.after\\:oui-top-0::after {\n content: var(--tw-content);\n top: 0px;\n}\n.after\\:oui-top-\\[2px\\]::after {\n content: var(--tw-content);\n top: 2px;\n}\n.after\\:oui-z-\\[-1\\]::after {\n content: var(--tw-content);\n z-index: -1;\n}\n.after\\:oui-block::after {\n content: var(--tw-content);\n display: block;\n}\n.after\\:oui-size-full::after {\n content: var(--tw-content);\n width: 100%;\n height: 100%;\n}\n.after\\:\\!oui-h-\\[2px\\]::after {\n content: var(--tw-content);\n height: 2px !important;\n}\n.after\\:oui-h-0::after {\n content: var(--tw-content);\n height: 0px;\n}\n.after\\:oui-h-\\[2px\\]::after {\n content: var(--tw-content);\n height: 2px;\n}\n.after\\:oui-h-\\[30px\\]::after {\n content: var(--tw-content);\n height: 30px;\n}\n.after\\:oui-h-\\[40px\\]::after {\n content: var(--tw-content);\n height: 40px;\n}\n.after\\:oui-h-\\[48px\\]::after {\n content: var(--tw-content);\n height: 48px;\n}\n.after\\:\\!oui-w-\\[2px\\]::after {\n content: var(--tw-content);\n width: 2px !important;\n}\n.after\\:oui-w-0::after {\n content: var(--tw-content);\n width: 0px;\n}\n.after\\:oui-w-\\[10px\\]::after {\n content: var(--tw-content);\n width: 10px;\n}\n.after\\:oui-w-full::after {\n content: var(--tw-content);\n width: 100%;\n}\n.after\\:oui-translate-x-\\[-50\\%\\]::after {\n content: var(--tw-content);\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.after\\:oui-rounded-l-lg::after {\n content: var(--tw-content);\n border-top-left-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-left-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.after\\:oui-rounded-r-lg::after {\n content: var(--tw-content);\n border-top-right-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.after\\:oui-border-4::after {\n content: var(--tw-content);\n border-width: 4px;\n}\n.after\\:oui-border-y::after {\n content: var(--tw-content);\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n.after\\:oui-border-b::after {\n content: var(--tw-content);\n border-bottom-width: 1px;\n}\n.after\\:oui-border-l::after {\n content: var(--tw-content);\n border-left-width: 1px;\n}\n.after\\:oui-border-r::after {\n content: var(--tw-content);\n border-right-width: 1px;\n}\n.after\\:oui-border-solid::after {\n content: var(--tw-content);\n border-style: solid;\n}\n.after\\:oui-border-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\]::after {\n content: var(--tw-content);\n border-color: rgb(var(--oui-gradient-brand-start));\n}\n.after\\:oui-border-line::after {\n content: var(--tw-content);\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.after\\:oui-border-transparent::after {\n content: var(--tw-content);\n border-color: transparent;\n}\n.after\\:oui-border-t-danger::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n}\n.after\\:oui-border-t-inherit::after {\n content: var(--tw-content);\n border-top-color: inherit;\n}\n.after\\:oui-border-t-primary::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-primary) / var(--tw-border-opacity, 1));\n}\n.after\\:oui-border-t-primary-light::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.after\\:oui-border-t-success::after {\n content: var(--tw-content);\n --tw-border-opacity: 1;\n border-top-color: rgb(var(--oui-color-success) / var(--tw-border-opacity, 1));\n}\n.after\\:\\!oui-bg-transparent::after {\n content: var(--tw-content);\n background-color: transparent !important;\n}\n.after\\:oui-bg-white\\/50::after {\n content: var(--tw-content);\n background-color: rgb(255 255 255 / 0.5);\n}\n.after\\:\\!oui-shadow-transparent::after {\n content: var(--tw-content);\n --tw-shadow-color: transparent !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.after\\:oui-content-\\[\\'\\'\\]::after {\n --tw-content: '';\n content: var(--tw-content);\n}\n.autofill\\:oui-bg-transparent:-webkit-autofill {\n background-color: transparent;\n}\n.autofill\\:oui-bg-transparent:autofill {\n background-color: transparent;\n}\n.focus-within\\:oui-relative:focus-within {\n position: relative;\n}\n.focus-within\\:oui-z-20:focus-within {\n z-index: 20;\n}\n.focus-within\\:oui-border-danger-light:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.focus-within\\:oui-border-warning-light:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.focus-within\\:oui-outline-0:focus-within {\n outline-width: 0px;\n}\n.focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.focus-within\\:oui-outline-danger-light:focus-within {\n outline-color: rgb(var(--oui-color-danger-light) / 1);\n}\n.focus-within\\:oui-outline-line-12:focus-within {\n outline-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.focus-within\\:oui-outline-primary-darken:focus-within {\n outline-color: rgb(var(--oui-color-primary-darken) / 1);\n}\n.focus-within\\:oui-outline-primary-light:focus-within {\n outline-color: rgb(var(--oui-color-primary-light) / 1);\n}\n.focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n}\n.focus-within\\:oui-outline-transparent:focus-within {\n outline-color: transparent;\n}\n.focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.focus-within\\:oui-outline-warning-light:focus-within {\n outline-color: rgb(var(--oui-color-warning-light) / 1);\n}\n.hover\\:oui-cursor-pointer:hover {\n cursor: pointer;\n}\n.hover\\:oui-rounded:hover {\n border-radius: var(--oui-rounded, 0.25rem);\n}\n.hover\\:oui-rounded-md:hover {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.hover\\:oui-border-base-contrast:hover {\n border-color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.hover\\:oui-border-base-contrast-16:hover {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.hover\\:oui-border-primary-light:hover {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.hover\\:\\!oui-bg-primary-light:hover {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1)) !important;\n}\n.hover\\:oui-bg-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\]\\/\\[0\\.08\\]:hover {\n background-color: rgb(var(--oui-gradient-brand-start) / 0.08);\n}\n.hover\\:oui-bg-base-2\\/10:hover {\n background-color: rgb(var(--oui-color-base-2) / 0.1);\n}\n.hover\\:oui-bg-base-2\\/50:hover {\n background-color: rgb(var(--oui-color-base-2) / 0.5);\n}\n.hover\\:oui-bg-base-2\\/80:hover {\n background-color: rgb(var(--oui-color-base-2) / 0.8);\n}\n.hover\\:oui-bg-base-3:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-4:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-4\\/20:hover {\n background-color: rgb(var(--oui-color-base-4) / 0.2);\n}\n.hover\\:oui-bg-base-4\\/80:hover {\n background-color: rgb(var(--oui-color-base-4) / 0.8);\n}\n.hover\\:oui-bg-base-5:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-6:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-7:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-base-8:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-danger-darken\\/80:hover {\n background-color: rgb(var(--oui-color-danger-darken) / 0.8);\n}\n.hover\\:oui-bg-danger\\/10:hover {\n background-color: rgb(var(--oui-color-danger) / 0.1);\n}\n.hover\\:oui-bg-danger\\/20:hover {\n background-color: rgb(var(--oui-color-danger) / 0.2);\n}\n.hover\\:oui-bg-danger\\/80:hover {\n background-color: rgb(var(--oui-color-danger) / 0.8);\n}\n.hover\\:oui-bg-primary-darken:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1));\n}\n.hover\\:oui-bg-primary-darken\\/10:hover {\n background-color: rgb(var(--oui-color-primary-darken) / 0.1);\n}\n.hover\\:oui-bg-primary-darken\\/20:hover {\n background-color: rgb(var(--oui-color-primary-darken) / 0.2);\n}\n.hover\\:oui-bg-primary-darken\\/80:hover {\n background-color: rgb(var(--oui-color-primary-darken) / 0.8);\n}\n.hover\\:oui-bg-primary-light\\/20:hover {\n background-color: rgb(var(--oui-color-primary-light) / 0.2);\n}\n.hover\\:oui-bg-success-darken\\/80:hover {\n background-color: rgb(var(--oui-color-success-darken) / 0.8);\n}\n.hover\\:oui-bg-success\\/10:hover {\n background-color: rgb(var(--oui-color-success) / 0.1);\n}\n.hover\\:oui-bg-success\\/20:hover {\n background-color: rgb(var(--oui-color-success) / 0.2);\n}\n.hover\\:oui-bg-success\\/80:hover {\n background-color: rgb(var(--oui-color-success) / 0.8);\n}\n.hover\\:oui-bg-transparent:hover {\n background-color: transparent;\n}\n.hover\\:oui-bg-warning-darken\\/10:hover {\n background-color: rgb(var(--oui-color-warning-darken) / 0.1);\n}\n.hover\\:oui-bg-warning-darken\\/20:hover {\n background-color: rgb(var(--oui-color-warning-darken) / 0.2);\n}\n.hover\\:oui-bg-warning-darken\\/80:hover {\n background-color: rgb(var(--oui-color-warning-darken) / 0.8);\n}\n.hover\\:oui-bg-white\\/80:hover {\n background-color: rgb(255 255 255 / 0.8);\n}\n.hover\\:oui-bg-white\\/\\[\\.54\\]:hover {\n background-color: rgb(255 255 255 / .54);\n}\n.hover\\:oui-fill-base-contrast:hover {\n fill: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.hover\\:oui-fill-base-contrast-80:hover {\n fill: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.hover\\:oui-fill-primary-darken:hover {\n fill: rgb(var(--oui-color-primary-darken) / 1);\n}\n.hover\\:oui-fill-primary-light:hover {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.hover\\:oui-fill-white\\/80:hover {\n fill: rgb(255 255 255 / 0.8);\n}\n.hover\\:oui-fill-white\\/\\[\\.98\\]:hover {\n fill: rgb(255 255 255 / .98);\n}\n.hover\\:oui-text-\\[rgba\\(255\\2c 154\\2c 46\\2c 1\\)\\]:hover {\n color: rgba(255,154,46,1);\n}\n.hover\\:oui-text-base-contrast:hover {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.hover\\:oui-text-base-contrast-54:hover {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.hover\\:oui-text-base-contrast-80:hover {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.hover\\:oui-text-primary-darken:hover {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-darken) / var(--tw-text-opacity, 1));\n}\n.hover\\:oui-text-secondary\\/80:hover {\n color: rgb(var(--oui-color-secondary) / 0.8);\n}\n.hover\\:oui-text-white\\/80:hover {\n color: rgb(255 255 255 / 0.8);\n}\n.hover\\:oui-opacity-100:hover {\n opacity: 1;\n}\n.hover\\:oui-opacity-80:hover {\n opacity: 0.8;\n}\n.hover\\:\\!oui-shadow-\\[0px_0px_4px_0px\\]:hover {\n --tw-shadow: 0px 0px 4px 0px !important;\n --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.hover\\:\\!oui-shadow-primary-light\\/80:hover {\n --tw-shadow-color: rgb(var(--oui-color-primary-light) / 0.8) !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.focus\\:oui-h-4:focus {\n height: 1rem;\n}\n.focus\\:oui-h-\\[14px\\]:focus {\n height: 14px;\n}\n.focus\\:oui-w-4:focus {\n width: 1rem;\n}\n.focus\\:oui-w-\\[14px\\]:focus {\n width: 14px;\n}\n.focus\\:oui-border-2:focus {\n border-width: 2px;\n}\n.focus\\:oui-border-\\[3px\\]:focus {\n border-width: 3px;\n}\n.focus\\:oui-border-danger-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.focus\\:oui-border-primary-darken:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-darken) / var(--tw-border-opacity, 1));\n}\n.focus\\:oui-border-primary-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.focus\\:oui-border-warning-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.focus\\:\\!oui-bg-primary-light:focus {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1)) !important;\n}\n.focus\\:\\!oui-shadow-\\[0px_0px_4px_0px\\]:focus {\n --tw-shadow: 0px 0px 4px 0px !important;\n --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.focus\\:oui-shadow-\\[0_0_0_8px\\]:focus {\n --tw-shadow: 0 0 0 8px;\n --tw-shadow-colored: 0 0 0 8px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.focus\\:\\!oui-shadow-primary-light\\/80:focus {\n --tw-shadow-color: rgb(var(--oui-color-primary-light) / 0.8) !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.focus\\:oui-shadow-base-contrast\\/20:focus {\n --tw-shadow-color: rgb(var(--oui-color-base-foreground) / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.focus\\:oui-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus\\:oui-ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:oui-ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n}\n.focus\\:oui-ring-transparent:focus {\n --tw-ring-color: transparent;\n}\n.focus\\:oui-ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n.focus-visible\\:oui-outline-none:focus-visible {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus-visible\\:oui-outline-danger:focus-visible {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.focus-visible\\:oui-ring-1:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:oui-ring-2:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:oui-ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n.active\\:\\!oui-bg-primary-light:active {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-light) / var(--tw-bg-opacity, 1)) !important;\n}\n.active\\:oui-bg-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\]\\/\\[0\\.08\\]:active {\n background-color: rgb(var(--oui-gradient-brand-start) / 0.08);\n}\n.active\\:oui-bg-base-2\\/70:active {\n background-color: rgb(var(--oui-color-base-2) / 0.7);\n}\n.active\\:oui-bg-base-4\\/70:active {\n background-color: rgb(var(--oui-color-base-4) / 0.7);\n}\n.active\\:oui-bg-base-6:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.active\\:oui-bg-danger-darken\\/80:active {\n background-color: rgb(var(--oui-color-danger-darken) / 0.8);\n}\n.active\\:oui-bg-danger\\/70:active {\n background-color: rgb(var(--oui-color-danger) / 0.7);\n}\n.active\\:oui-bg-primary-darken\\/70:active {\n background-color: rgb(var(--oui-color-primary-darken) / 0.7);\n}\n.active\\:oui-bg-success-darken\\/80:active {\n background-color: rgb(var(--oui-color-success-darken) / 0.8);\n}\n.active\\:oui-bg-success\\/70:active {\n background-color: rgb(var(--oui-color-success) / 0.7);\n}\n.active\\:oui-bg-warning-darken\\/70:active {\n background-color: rgb(var(--oui-color-warning-darken) / 0.7);\n}\n.active\\:oui-bg-white\\/50:active {\n background-color: rgb(255 255 255 / 0.5);\n}\n.active\\:\\!oui-shadow-\\[0px_0px_4px_0px\\]:active {\n --tw-shadow: 0px 0px 4px 0px !important;\n --tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color) !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.active\\:\\!oui-shadow-primary-light\\/80:active {\n --tw-shadow-color: rgb(var(--oui-color-primary-light) / 0.8) !important;\n --tw-shadow: var(--tw-shadow-colored) !important;\n}\n.active\\:oui-outline-none:active {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.disabled\\:oui-pointer-events-none:disabled {\n pointer-events: none;\n}\n.disabled\\:oui-cursor-default:disabled {\n cursor: default;\n}\n.disabled\\:oui-cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n.disabled\\:oui-border-base-contrast-16:disabled {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.disabled\\:oui-bg-base-3:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.disabled\\:oui-bg-base-7:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.disabled\\:oui-bg-transparent:disabled {\n background-color: transparent;\n}\n.disabled\\:oui-bg-white\\/30:disabled {\n background-color: rgb(255 255 255 / 0.3);\n}\n.disabled\\:oui-text-base-contrast-20:disabled {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.disabled\\:oui-text-base-contrast-36:disabled {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.disabled\\:oui-text-black\\/\\[\\.36\\]:disabled {\n color: rgb(0 0 0 / .36);\n}\n.disabled\\:oui-opacity-30:disabled {\n opacity: 0.3;\n}\n.disabled\\:oui-opacity-50:disabled {\n opacity: 0.5;\n}\n.disabled\\:hover\\:oui-bg-base-3:hover:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.disabled\\:hover\\:oui-bg-transparent:hover:disabled {\n background-color: transparent;\n}\n.hover\\:disabled\\:oui-bg-white\\/30:disabled:hover {\n background-color: rgb(255 255 255 / 0.3);\n}\n.oui-group:first-child .group-first\\:oui-rounded-t-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-top-right-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-group:last-child .group-last\\:oui-rounded-b-xl {\n border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-group:hover .group-hover\\:oui-visible {\n visibility: visible;\n}\n.oui-group:hover .group-hover\\:oui-invisible {\n visibility: hidden;\n}\n.oui-group:hover .group-hover\\:oui-block {\n display: block;\n}\n.oui-group:hover .group-hover\\:oui-inline-flex {\n display: inline-flex;\n}\n.oui-group:hover .group-hover\\:-oui-translate-x-5 {\n --tw-translate-x: -1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group:hover .group-hover\\:oui-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group:hover .group-hover\\:oui-border-primary-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.oui-group:hover .group-hover\\:oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.oui-group:hover .group-hover\\:oui-bg-base-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-group:hover .group-hover\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-group:hover .group-hover\\:oui-bg-line-6 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-group:hover .group-hover\\:oui-bg-transparent {\n background-color: transparent;\n}\n.oui-group:hover .group-hover\\:oui-fill-base-contrast-80 {\n fill: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-group:hover .group-hover\\:oui-text-base-contrast {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-group:hover .group-hover\\:oui-text-base-contrast-54 {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-group:hover .group-hover\\:oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-group:hover .group-hover\\:oui-text-transparent {\n color: transparent;\n}\n.oui-group:hover .group-hover\\:oui-opacity-100 {\n opacity: 1;\n}\n.oui-group:hover .group-hover\\:oui-will-change-\\[max-height\\] {\n will-change: max-height;\n}\n.oui-group:focus .group-focus\\:oui-inline-block {\n display: inline-block;\n}\n.oui-peer:focus ~ .peer-focus\\:oui-visible {\n visibility: visible;\n}\n.has-\\[\\&\\>\\*\\:nth-child\\(1\\)\\]\\:oui-bg-red-400:has(.has-\\[\\&\\>\\*\\:nth-child\\(1\\)\\]\\:oui-bg-red-400>*:nth-child(1)) {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));\n}\n.has-\\[button\\]\\:oui-bg-red-50:has(button) {\n --tw-bg-opacity: 1;\n background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n.has-\\[\\&_\\+_div\\]\\:oui-pb-3:has(.has-\\[\\&_\\+_div\\]\\:oui-pb-3 + div) {\n padding-bottom: 0.75rem;\n}\n.aria-selected\\:oui-opacity-100[aria-selected=\"true\"] {\n opacity: 1;\n}\n.aria-selected\\:oui-opacity-30[aria-selected=\"true\"] {\n opacity: 0.3;\n}\n.data-\\[disabled\\]\\:oui-pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n.data-\\[disabled\\]\\:oui-hidden[data-disabled] {\n display: none;\n}\n.data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[state\\=checked\\]\\:oui-translate-x-\\[15px\\][data-state=\"checked\"] {\n --tw-translate-x: 15px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[state\\=unchecked\\]\\:oui-translate-x-\\[3px\\][data-state=\"unchecked\"] {\n --tw-translate-x: 3px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes oui-collapsible-up {\n\n from {\n height: var(--radix-collapsible-content-height);\n }\n\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:oui-animate-collapsible-up[data-state=\"closed\"] {\n animation: oui-collapsible-up 0.2s ease-out;\n}\n@keyframes oui-collapsible-down {\n\n from {\n height: 0;\n }\n\n to {\n height: var(--radix-collapsible-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:oui-animate-collapsible-down[data-state=\"open\"] {\n animation: oui-collapsible-down 0.2s ease-out;\n}\n.data-\\[state\\=checked\\]\\:oui-border-none[data-state=\"checked\"] {\n border-style: none;\n}\n.data-\\[disabled\\]\\:oui-border-base-2[data-disabled] {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-2) / var(--tw-border-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-border-base-contrast-20[data-state=\"checked\"] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.data-\\[active\\=true\\]\\:oui-bg-base-5[data-active=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.data-\\[disabled\\]\\:oui-bg-base-2[data-disabled] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-2) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:oui-bg-base-5[data-state=\"active\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-base-5[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-danger[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-primary-darken[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-success[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-transparent[data-state=\"checked\"] {\n background-color: transparent;\n}\n.data-\\[state\\=checked\\]\\:oui-bg-warning-darken[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:oui-bg-white\\/80[data-state=\"checked\"] {\n background-color: rgb(255 255 255 / 0.8);\n}\n.data-\\[state\\=open\\]\\:oui-bg-secondary[data-state=\"open\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-secondary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-base-1[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-1) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-danger[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-success[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:oui-bg-warning-darken[data-state=\"unchecked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:oui-text-base-contrast[data-state=\"active\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.data-\\[state\\=checked\\]\\:oui-text-\\[rgba\\(0\\2c 0\\2c 0\\2c 0\\.88\\)\\][data-state=\"checked\"] {\n color: rgba(0,0,0,0.88);\n}\n.data-\\[state\\=checked\\]\\:oui-text-base-contrast[data-state=\"checked\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.data-\\[state\\=checked\\]\\:oui-text-base-contrast-80[data-state=\"checked\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.data-\\[state\\=open\\]\\:oui-text-base-contrast-80[data-state=\"open\"] {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.data-\\[disabled\\]\\:oui-opacity-50[data-disabled] {\n opacity: 0.5;\n}\n.data-\\[state\\=open\\]\\:oui-duration-300[data-state=\"open\"] {\n transition-duration: 300ms;\n}\n.data-\\[state\\=open\\]\\:oui-animate-in[data-state=\"open\"] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:oui-animate-out[data-state=\"closed\"] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:oui-fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=open\\]\\:oui-fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:oui-zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n}\n.data-\\[state\\=open\\]\\:oui-zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n}\n.data-\\[side\\=bottom\\]\\:oui-slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -0.5rem;\n}\n.data-\\[side\\=left\\]\\:oui-slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: 0.5rem;\n}\n.data-\\[side\\=right\\]\\:oui-slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -0.5rem;\n}\n.data-\\[side\\=top\\]\\:oui-slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: 0.5rem;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-bottom[data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-left[data-state=\"closed\"] {\n --tw-exit-translate-x: -100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-left-1\\/2[data-state=\"closed\"] {\n --tw-exit-translate-x: -50%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-right[data-state=\"closed\"] {\n --tw-exit-translate-x: 100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-top[data-state=\"closed\"] {\n --tw-exit-translate-y: -100%;\n}\n.data-\\[state\\=closed\\]\\:oui-slide-out-to-top-\\[48\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-bottom[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-left[data-state=\"open\"] {\n --tw-enter-translate-x: -100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-left-1\\/2[data-state=\"open\"] {\n --tw-enter-translate-x: -50%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-right[data-state=\"open\"] {\n --tw-enter-translate-x: 100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-top[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n}\n.data-\\[state\\=open\\]\\:oui-slide-in-from-top-\\[48\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:oui-duration-300[data-state=\"open\"] {\n animation-duration: 300ms;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-absolute[data-state=\"active\"]::after {\n content: var(--tw-content);\n position: absolute;\n}\n.data-\\[state\\=active\\]\\:after\\:-oui-bottom-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n bottom: -0px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-left-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n left: 0px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-right-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n right: 0px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-block[data-state=\"active\"]::after {\n content: var(--tw-content);\n display: block;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-h-\\[3px\\][data-state=\"active\"]::after {\n content: var(--tw-content);\n height: 3px;\n}\n.data-\\[state\\=active\\]\\:after\\:oui-rounded-full[data-state=\"active\"]::after {\n content: var(--tw-content);\n border-radius: var(--oui-rounded-full, 9999px);\n}\n.data-\\[state\\=active\\]\\:after\\:oui-bg-white[data-state=\"active\"]::after {\n content: var(--tw-content);\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:after\\:oui-content-\\[\\'\\'\\][data-state=\"active\"]::after {\n --tw-content: '';\n content: var(--tw-content);\n}\n.data-\\[active\\=false\\]\\:hover\\:oui-bg-base-6:hover[data-active=\"false\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-group[data-active=\"true\"] .group-data-\\[active\\=true\\]\\:oui-visible {\n visibility: visible;\n}\n.oui-group[data-active=\"true\"] .group-data-\\[active\\=true\\]\\:oui-invisible {\n visibility: hidden;\n}\n.oui-group[data-state=\"active\"] .group-data-\\[state\\=active\\]\\:oui-block {\n display: block;\n}\n.oui-group\\/bar[data-state=\"closed\"] .group-data-\\[state\\=closed\\]\\/bar\\:oui-w-\\[42px\\] {\n width: 42px;\n}\n.oui-group[data-open=\"true\"] .group-data-\\[open\\=true\\]\\:oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group[data-state=\"closed\"] .group-data-\\[state\\=closed\\]\\:oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-group[data-actived=\"true\"] .group-data-\\[actived\\=true\\]\\:oui-fill-\\[url\\(\\#side-menu-gradient\\)\\] {\n fill: url(#side-menu-gradient);\n}\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-fill-primary-light {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.oui-group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:oui-font-semibold {\n font-weight: 600;\n}\n.oui-peer[data-state=\"closed\"] ~ .peer-data-\\[state\\=closed\\]\\:oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-peer[data-state=\"open\"] ~ .peer-data-\\[state\\=open\\]\\:oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-peer[data-disabled] ~ .peer-data-\\[disabled\\]\\:oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.dark\\:oui-text-gray-600:is(.oui-dark *) {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n@media (max-width: 400px) {\n\n .max-\\[400px\\]\\:oui-text-\\[15px\\] {\n font-size: 15px;\n }\n}\n@media (min-width: 375px) {\n\n .sm\\:oui-flex {\n display: flex;\n }\n\n .sm\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .sm\\:oui-max-w-sm {\n max-width: var(--oui-spacing-sm, 22.5rem);\n }\n\n .sm\\:oui-flex-row {\n flex-direction: row;\n }\n\n .sm\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .sm\\:oui-flex-col {\n flex-direction: column;\n }\n\n .sm\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .sm\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .sm\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .sm\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .sm\\:oui-items-start {\n align-items: flex-start;\n }\n\n .sm\\:oui-items-end {\n align-items: flex-end;\n }\n\n .sm\\:oui-items-center {\n align-items: center;\n }\n\n .sm\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .sm\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .sm\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .sm\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .sm\\:oui-justify-center {\n justify-content: center;\n }\n\n .sm\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .sm\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .sm\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .sm\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .sm\\:oui-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:oui-space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .sm\\:oui-rounded-xl {\n border-radius: var(--oui-rounded-xl, 0.75rem);\n }\n}\n@media (min-width: 480px) {\n\n .md\\:oui-right-4 {\n right: 1rem;\n }\n\n .md\\:oui-top-1\\/2 {\n top: 50%;\n }\n\n .md\\:oui-m-3 {\n margin: 0.75rem;\n }\n\n .md\\:oui-mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n }\n\n .md\\:oui-mt-3 {\n margin-top: 0.75rem;\n }\n\n .md\\:oui-mt-5 {\n margin-top: 1.25rem;\n }\n\n .md\\:oui-block {\n display: block;\n }\n\n .md\\:oui-flex {\n display: flex;\n }\n\n .md\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .md\\:oui-hidden {\n display: none;\n }\n\n .md\\:oui-size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n\n .md\\:oui-h-10 {\n height: 2.5rem;\n }\n\n .md\\:oui-h-12 {\n height: 3rem;\n }\n\n .md\\:oui-h-3 {\n height: 0.75rem;\n }\n\n .md\\:oui-h-4 {\n height: 1rem;\n }\n\n .md\\:oui-h-5 {\n height: 1.25rem;\n }\n\n .md\\:oui-h-6 {\n height: 1.5rem;\n }\n\n .md\\:oui-h-7 {\n height: 1.75rem;\n }\n\n .md\\:oui-h-8 {\n height: 2rem;\n }\n\n .md\\:oui-h-\\[14px\\] {\n height: 14px;\n }\n\n .md\\:oui-h-\\[18px\\] {\n height: 18px;\n }\n\n .md\\:oui-h-\\[24px\\] {\n height: 24px;\n }\n\n .md\\:oui-h-\\[46px\\] {\n height: 46px;\n }\n\n .md\\:oui-h-\\[48px\\] {\n height: 48px;\n }\n\n .md\\:oui-h-\\[52px\\] {\n height: 52px;\n }\n\n .md\\:oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .md\\:oui-w-3 {\n width: 0.75rem;\n }\n\n .md\\:oui-w-4 {\n width: 1rem;\n }\n\n .md\\:oui-w-5 {\n width: 1.25rem;\n }\n\n .md\\:oui-w-6 {\n width: 1.5rem;\n }\n\n .md\\:oui-w-\\[14px\\] {\n width: 14px;\n }\n\n .md\\:oui-w-\\[18px\\] {\n width: 18px;\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-auto {\n width: auto;\n }\n\n .md\\:oui-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n\n .md\\:oui-w-full {\n width: 100%;\n }\n\n .md\\:oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .md\\:oui-flex-shrink {\n flex-shrink: 1;\n }\n\n .md\\:oui-translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:oui-cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .md\\:oui-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n\n .md\\:oui-flex-row {\n flex-direction: row;\n }\n\n .md\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .md\\:oui-flex-col {\n flex-direction: column;\n }\n\n .md\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .md\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .md\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .md\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .md\\:oui-items-start {\n align-items: flex-start;\n }\n\n .md\\:oui-items-end {\n align-items: flex-end;\n }\n\n .md\\:oui-items-center {\n align-items: center;\n }\n\n .md\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .md\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .md\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .md\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .md\\:oui-justify-center {\n justify-content: center;\n }\n\n .md\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .md\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .md\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .md\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .md\\:oui-gap-4 {\n gap: 1rem;\n }\n\n .md\\:oui-gap-5 {\n gap: 1.25rem;\n }\n\n .md\\:oui-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n }\n\n .md\\:oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n }\n\n .md\\:oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n }\n\n .md\\:oui-rounded-none {\n border-radius: 0;\n }\n\n .md\\:oui-border {\n border-width: 1px;\n }\n\n .md\\:oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n }\n\n .md\\:oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n }\n\n .md\\:oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n }\n\n .md\\:oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n }\n\n .md\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n }\n\n .md\\:oui-p-10 {\n padding: 2.5rem;\n }\n\n .md\\:oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .md\\:oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .md\\:oui-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n\n .md\\:oui-pb-\\[14px\\] {\n padding-bottom: 14px;\n }\n\n .md\\:oui-pl-0 {\n padding-left: 0px;\n }\n\n .md\\:oui-pl-2 {\n padding-left: 0.5rem;\n }\n\n .md\\:oui-pl-3 {\n padding-left: 0.75rem;\n }\n\n .md\\:oui-pl-4 {\n padding-left: 1rem;\n }\n\n .md\\:oui-pr-0 {\n padding-right: 0px;\n }\n\n .md\\:oui-pr-2 {\n padding-right: 0.5rem;\n }\n\n .md\\:oui-pr-3 {\n padding-right: 0.75rem;\n }\n\n .md\\:oui-pr-\\[60px\\] {\n padding-right: 60px;\n }\n\n .md\\:oui-pt-3 {\n padding-top: 0.75rem;\n }\n\n .md\\:oui-text-left {\n text-align: left;\n }\n\n .md\\:oui-text-center {\n text-align: center;\n }\n\n .md\\:oui-text-right {\n text-align: right;\n }\n\n .md\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .md\\:oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n }\n\n .md\\:oui-text-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-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n }\n\n .md\\:oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n }\n\n .md\\:oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .md\\:oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .md\\:oui-outline-transparent {\n outline-color: transparent;\n }\n\n .md\\:oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .md\\:placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:after\\:oui-h-\\[48px\\]::after {\n content: var(--tw-content);\n height: 48px;\n }\n\n .md\\:focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .md\\:focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .md\\:focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .md\\:focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n }\n\n .md\\:data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n}\n@media (min-width: 768px) {\n\n .lg\\:oui-mb-8 {\n margin-bottom: 2rem;\n }\n\n .lg\\:oui-flex {\n display: flex;\n }\n\n .lg\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .lg\\:oui-size-5 {\n width: 1.25rem;\n height: 1.25rem;\n }\n\n .lg\\:oui-size-\\[20px\\] {\n width: 20px;\n height: 20px;\n }\n\n .lg\\:\\!oui-h-\\[700px\\] {\n height: 700px !important;\n }\n\n .lg\\:oui-h-10 {\n height: 2.5rem;\n }\n\n .lg\\:oui-h-12 {\n height: 3rem;\n }\n\n .lg\\:oui-h-3 {\n height: 0.75rem;\n }\n\n .lg\\:oui-h-4 {\n height: 1rem;\n }\n\n .lg\\:oui-h-5 {\n height: 1.25rem;\n }\n\n .lg\\:oui-h-6 {\n height: 1.5rem;\n }\n\n .lg\\:oui-h-7 {\n height: 1.75rem;\n }\n\n .lg\\:oui-h-8 {\n height: 2rem;\n }\n\n .lg\\:oui-h-\\[20px\\] {\n height: 20px;\n }\n\n .lg\\:oui-h-\\[28px\\] {\n height: 28px;\n }\n\n .lg\\:oui-h-\\[64px\\] {\n height: 64px;\n }\n\n .lg\\:oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .lg\\:oui-min-h-\\[46px\\] {\n min-height: 46px;\n }\n\n .lg\\:oui-w-3 {\n width: 0.75rem;\n }\n\n .lg\\:oui-w-4 {\n width: 1rem;\n }\n\n .lg\\:oui-w-5 {\n width: 1.25rem;\n }\n\n .lg\\:oui-w-6 {\n width: 1.5rem;\n }\n\n .lg\\:oui-w-7 {\n width: 1.75rem;\n }\n\n .lg\\:oui-w-\\[154px\\] {\n width: 154px;\n }\n\n .lg\\:oui-w-\\[184px\\] {\n width: 184px;\n }\n\n .lg\\:oui-w-\\[20px\\] {\n width: 20px;\n }\n\n .lg\\:oui-w-\\[28px\\] {\n width: 28px;\n }\n\n .lg\\:oui-w-\\[360px\\] {\n width: 360px;\n }\n\n .lg\\:oui-w-\\[64px\\] {\n width: 64px;\n }\n\n .lg\\:oui-w-\\[calc\\(\\(100\\%_-_8px\\)\\/3\\)\\] {\n width: calc((100% - 8px) / 3);\n }\n\n .lg\\:oui-w-auto {\n width: auto;\n }\n\n .lg\\:oui-w-full {\n width: 100%;\n }\n\n .lg\\:oui-min-w-\\[184px\\] {\n min-width: 184px;\n }\n\n .lg\\:oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .lg\\:oui-max-w-\\[640px\\] {\n max-width: 640px;\n }\n\n .lg\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .lg\\:-oui-rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:oui-cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .lg\\:oui-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .lg\\:oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n\n .lg\\:oui-flex-row {\n flex-direction: row;\n }\n\n .lg\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .lg\\:oui-flex-col {\n flex-direction: column;\n }\n\n .lg\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .lg\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .lg\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .lg\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .lg\\:oui-items-start {\n align-items: flex-start;\n }\n\n .lg\\:oui-items-end {\n align-items: flex-end;\n }\n\n .lg\\:oui-items-center {\n align-items: center;\n }\n\n .lg\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .lg\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .lg\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .lg\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .lg\\:oui-justify-center {\n justify-content: center;\n }\n\n .lg\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .lg\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .lg\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .lg\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .lg\\:oui-gap-3 {\n gap: 0.75rem;\n }\n\n .lg\\:oui-gap-4 {\n gap: 1rem;\n }\n\n .lg\\:oui-gap-\\[6px\\] {\n gap: 6px;\n }\n\n .lg\\:oui-gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n }\n\n .lg\\:oui-gap-x-\\[6px\\] {\n -moz-column-gap: 6px;\n column-gap: 6px;\n }\n\n .lg\\:oui-gap-y-2 {\n row-gap: 0.5rem;\n }\n\n .lg\\:oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n }\n\n .lg\\:oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n }\n\n .lg\\:oui-border {\n border-width: 1px;\n }\n\n .lg\\:oui-border-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-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n }\n\n .lg\\:oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n }\n\n .lg\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n }\n\n .lg\\:oui-p-5 {\n padding: 1.25rem;\n }\n\n .lg\\:oui-p-6 {\n padding: 1.5rem;\n }\n\n .lg\\:oui-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .lg\\:oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .lg\\:oui-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .lg\\:oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .lg\\:oui-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .lg\\:oui-pb-2 {\n padding-bottom: 0.5rem;\n }\n\n .lg\\:oui-pl-0 {\n padding-left: 0px;\n }\n\n .lg\\:oui-pl-3 {\n padding-left: 0.75rem;\n }\n\n .lg\\:oui-pr-0 {\n padding-right: 0px;\n }\n\n .lg\\:oui-pr-3 {\n padding-right: 0.75rem;\n }\n\n .lg\\:oui-pt-0 {\n padding-top: 0px;\n }\n\n .lg\\:oui-pt-3 {\n padding-top: 0.75rem;\n }\n\n .lg\\:oui-pt-4 {\n padding-top: 1rem;\n }\n\n .lg\\:oui-text-left {\n text-align: left;\n }\n\n .lg\\:oui-text-center {\n text-align: center;\n }\n\n .lg\\:oui-text-right {\n text-align: right;\n }\n\n .lg\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .lg\\:oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:oui-text-4xl {\n font-size: var(--oui-font-size-4xl, 1.875rem);\n line-height: 2.375rem;\n }\n\n .lg\\:oui-text-\\[16px\\] {\n font-size: 16px;\n }\n\n .lg\\:oui-text-\\[24px\\] {\n font-size: 24px;\n }\n\n .lg\\:oui-text-\\[48px\\] {\n font-size: 48px;\n }\n\n .lg\\:oui-text-\\[56px\\] {\n font-size: 56px;\n }\n\n .lg\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .lg\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n }\n\n .lg\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .lg\\:oui-leading-\\[24px\\] {\n line-height: 24px;\n }\n\n .lg\\:oui-leading-\\[32px\\] {\n line-height: 32px;\n }\n\n .lg\\:oui-leading-\\[56px\\] {\n line-height: 56px;\n }\n\n .lg\\:oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n }\n\n .lg\\:oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .lg\\:oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .lg\\:oui-outline-transparent {\n outline-color: transparent;\n }\n\n .lg\\:oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .lg\\:placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .lg\\:focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .lg\\:focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .lg\\:focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n }\n\n .lg\\:data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n}\n@media (min-width: 1024px) {\n\n .xl\\:\\!oui-mt-3 {\n margin-top: 0.75rem !important;\n }\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-h-4 {\n height: 1rem;\n }\n\n .xl\\:oui-h-8 {\n height: 2rem;\n }\n\n .xl\\:oui-h-\\[24px\\] {\n height: 24px;\n }\n\n .xl\\:oui-h-\\[90px\\] {\n height: 90px;\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-\\[24px\\] {\n width: 24px;\n }\n\n .xl\\:oui-w-\\[90px\\] {\n width: 90px;\n }\n\n .xl\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .xl\\:oui-items-center {\n align-items: center;\n }\n\n .xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .xl\\:oui-gap-\\[36px\\] {\n gap: 36px;\n }\n\n .xl\\:oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n }\n\n .xl\\:oui-space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n }\n\n .xl\\:oui-p-3 {\n padding: 0.75rem;\n }\n\n .xl\\:oui-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .xl\\:oui-pt-2 {\n padding-top: 0.5rem;\n }\n\n .xl\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .xl\\:oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n }\n\n .xl\\:oui-text-5xl {\n font-size: var(--oui-font-size-5xl, 2.25rem);\n line-height: 2.75rem;\n }\n\n .xl\\:oui-text-\\[32px\\] {\n font-size: 32px;\n }\n\n .xl\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .xl\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .xl\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .xl\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .xl\\:oui-leading-\\[24px\\] {\n line-height: 24px;\n }\n\n .min-\\[1024px\\]\\:oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n@media (min-width: 1280px) {\n\n .\\32xl\\:oui-flex {\n display: flex;\n }\n\n .\\32xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\32xl\\:oui-size-auto {\n width: auto;\n height: auto;\n }\n\n .\\32xl\\:oui-h-\\[196px\\] {\n height: 196px;\n }\n\n .\\32xl\\:oui-h-\\[80px\\] {\n height: 80px;\n }\n\n .\\32xl\\:oui-h-full {\n height: 100%;\n }\n\n .\\32xl\\:oui-max-h-\\[230px\\] {\n max-height: 230px;\n }\n\n .\\32xl\\:oui-w-\\[80px\\] {\n width: 80px;\n }\n\n .\\32xl\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .\\32xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\32xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\32xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\32xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\32xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\32xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\32xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\32xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\32xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\32xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\32xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\32xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\32xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\32xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\32xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\32xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\32xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\32xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\32xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .\\32xl\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .\\32xl\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .\\32xl\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .\\32xl\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n}\n@media (min-width: 1440px) {\n\n .\\33xl\\:oui-mb-0 {\n margin-bottom: 0px;\n }\n\n .\\33xl\\:oui-mt-4 {\n margin-top: 1rem;\n }\n\n .\\33xl\\:oui-flex {\n display: flex;\n }\n\n .\\33xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\33xl\\:oui-hidden {\n display: none;\n }\n\n .\\33xl\\:oui-max-h-\\[300px\\] {\n max-height: 300px;\n }\n\n .\\33xl\\:oui-w-1\\/3 {\n width: 33.333333%;\n }\n\n .\\33xl\\:oui-w-2\\/3 {\n width: 66.666667%;\n }\n\n .\\33xl\\:oui-flex-\\[0_0_calc\\(\\(100\\%_-_48px\\)_\\/_4\\)\\] {\n flex: 0 0 calc((100% - 48px) / 4);\n }\n\n .\\33xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\33xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\33xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\33xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\33xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\33xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\33xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\33xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\33xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\33xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\33xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\33xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\33xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\33xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\33xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\33xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\33xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\33xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\33xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .\\33xl\\:oui-gap-2 {\n gap: 0.5rem;\n }\n}\n@media (min-width: 1680px) {\n\n .\\34xl\\:oui-flex {\n display: flex;\n }\n\n .\\34xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\34xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\34xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\34xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\34xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\34xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\34xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\34xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\34xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\34xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\34xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\34xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\34xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\34xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\34xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\34xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\34xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\34xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\34xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\34xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n}\n@media (min-width: 1920px) {\n\n .\\35xl\\:oui-flex {\n display: flex;\n }\n\n .\\35xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\35xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\35xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\35xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\35xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\35xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\35xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\35xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\35xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\35xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\35xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\35xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\35xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\35xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\35xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\35xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\35xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\35xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\35xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\35xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n}\n.\\[\\&\\:has\\(\\>\\.oui-day-range-end\\)\\]\\:oui-rounded-r-md:has(>.oui-day-range-end) {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\>\\.oui-day-range-start\\)\\]\\:oui-rounded-l-md:has(>.oui-day-range-start) {\n border-top-left-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-left-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-md:has([aria-selected]) {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-bg-base-4:has([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-l-md:has([aria-selected]):first-child {\n border-top-left-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-left-radius: var(--oui-rounded-md, 0.375rem);\n}\n.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-r-md:has([aria-selected]):last-child {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\.day-outside\\)\\]\\:oui-bg-base-4\\/50:has([aria-selected].day-outside) {\n background-color: rgb(var(--oui-color-base-4) / 0.5);\n}\n.\\[\\&\\:has\\(\\[aria-selected\\]\\.day-range-end\\)\\]\\:oui-rounded-r-md:has([aria-selected].day-range-end) {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n.\\[\\&\\>div\\]\\:oui-flex-1>div {\n flex: 1 1 0%;\n}\n.\\[\\&\\>div\\]\\:oui-text-2xs>div {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.\\[\\&\\>div\\]\\:oui-text-base-contrast-36>div {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.\\[\\&\\>span\\]\\:oui-line-clamp-1>span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n}\n.\\[\\&\\>td\\:first-child\\]\\:oui-pl-0>td:first-child {\n padding-left: 0px;\n}\n.\\[\\&\\>td\\:first-child\\]\\:oui-pl-3>td:first-child {\n padding-left: 0.75rem;\n}\n.\\[\\&\\>td\\:last-child\\]\\:oui-pr-0>td:last-child {\n padding-right: 0px;\n}\n.\\[\\&\\>td\\:last-child\\]\\:oui-pr-3>td:last-child {\n padding-right: 0.75rem;\n}\n.\\[\\&\\>th\\:first-child\\]\\:oui-pl-3>th:first-child {\n padding-left: 0.75rem;\n}\n.\\[\\&\\>th\\:last-child\\]\\:oui-pr-3>th:last-child {\n padding-right: 0.75rem;\n}\n.\\[\\&_img\\]\\:\\!oui-h-\\[18px\\] img {\n height: 18px !important;\n}\n.\\[\\&_p\\]\\:oui-text-base-contrast-36 p {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n"]}
1
+ {"version":3,"sources":["../src/button/button.tsx","../src/button/base.tsx","../src/flex/flex.tsx","../src/layout/gap.tsx","../src/utils/tv.ts","../src/box/box.tsx","../src/helpers/parse-props.ts","../src/layout/decoration.ts","../src/layout/layout.tsx","../src/layout/position.tsx","../src/layout/shadow.tsx","../src/layout/visible.ts","../src/spinner/spinner.tsx","../src/button/throttledButton.tsx","../src/grid/grid.tsx","../src/grid/span.tsx","../src/grid/index.ts","../src/typography/statistic.tsx","../src/typography/numeral.tsx","../src/typography/text.tsx","../src/typography/utils.ts","../src/typography/formatted.tsx","../src/icon/baseIcon.tsx","../src/icon/combine.tsx","../src/icon/chainIcon.tsx","../src/avatar/avatar.tsx","../src/icon/tokenIcon.tsx","../src/icon/close.tsx","../src/icon/check.tsx","../src/icon/baseIconWithPath.tsx","../src/icon/chevronDown.tsx","../src/icon/chevronUp.tsx","../src/icon/caretUp.tsx","../src/icon/caretDown.tsx","../src/icon/caretLeft.tsx","../src/icon/caretRight.tsx","../src/icon/chevronLeft.tsx","../src/icon/chevronRight.tsx","../src/icon/calendarMinus.tsx","../src/icon/setting.tsx","../src/icon/closeSquareFill.tsx","../src/icon/closeCircleFill.tsx","../src/icon/checkCircleFill.tsx","../src/icon/checkSquareFill.tsx","../src/icon/checkSquareEmpty.tsx","../src/icon/plus.tsx","../src/icon/reduce.tsx","../src/icon/circleOutlined.tsx","../src/icon/squareOutlined.tsx","../src/icon/exclamationFill.tsx","../src/icon/questionFill.tsx","../src/icon/arrowLeftRight.tsx","../src/icon/arrowDownUp.tsx","../src/icon/arrowUpSquareFill.tsx","../src/icon/arrowDownSquareFill.tsx","../src/icon/arrowLeftRightSquareFill.tsx","../src/icon/arrowRightUpSquareFill.tsx","../src/icon/assetIcon.tsx","../src/icon/barChartIcon.tsx","../src/icon/battleIcon.tsx","../src/icon/feeTier.tsx","../src/icon/edit.tsx","../src/icon/eye.tsx","../src/icon/share.tsx","../src/icon/eyeClose.tsx","../src/icon/refresh.tsx","../src/icon/orderly.tsx","../src/icon/esOrderly.tsx","../src/icon/infoCircle.tsx","../src/icon/walletIcon.tsx","../src/icon/calendar.tsx","../src/icon/copy.tsx","../src/icon/serverFill.tsx","../src/icon/sortingASCIcon.tsx","../src/icon/sortingDESCIcon.tsx","../src/icon/arrowShort.tsx","../src/icon/sortingIcon.tsx","../src/icon/traderMobileIcon.tsx","../src/icon/affiliateIcon.tsx","../src/icon/tradingRewardsIcon.tsx","../src/icon/portfolioActiveIcon.tsx","../src/icon/portfolioInactiveIcon.tsx","../src/icon/tradingActiveIcon.tsx","../src/icon/tradingIcon.tsx","../src/icon/tradingInactiveIcon.tsx","../src/icon/leaderboardActive.tsx","../src/icon/leaderboardInactive.tsx","../src/icon/marketsActiveIcon.tsx","../src/icon/marketsInactiveIcon.tsx","../src/icon/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/index.ts","../src/typography/gradient.tsx","../src/typography/index.ts","../src/input/extends/quantity.tsx","../src/input/input.tsx","../src/input/baseInput.tsx","../src/input/inputAdditional.tsx","../src/input/prefix.tsx","../src/input/suffix.tsx","../src/select/combine.tsx","../src/popover/popover.tsx","../src/scrollarea/scrollArea.tsx","../src/select/selectPrimitive.tsx","../src/select/select.tsx","../src/select/tokens.tsx","../src/select/withOptions.tsx","../src/select/index.ts","../src/input/input.tooltip.tsx","../src/tooltip/tooltip.tsx","../src/input/formatter/index.ts","../src/input/formatter/currency.ts","../src/input/formatter/number.ts","../src/input/formatter/regex.ts","../src/input/formatter/dp.ts","../src/input/formatter/range.ts","../src/input/formatter/identifier.ts","../src/input/formatter/decimalPoint.ts","../src/input/textField.tsx","../src/input/inputHelpText.tsx","../src/input/index.ts","../src/checkbox/checkbox.tsx","../src/switch/switch.tsx","../src/badge/badge.tsx","../src/logo/logo.tsx","../src/table/dataTable.tsx","../src/table/hooks/useInit.ts","../src/table/hooks/useScroll.ts","../src/table/hooks/useShowHeader.ts","../src/table/hooks/useShowPagination.ts","../src/table/hooks/useSort.ts","../src/table/hooks/useWrap.ts","../src/table/tableBody.tsx","../src/table/className.ts","../src/table/tableCell.tsx","../src/table/utils/getColumnPinningProps.ts","../src/table/tableHeader.tsx","../src/table/icons.tsx","../src/table/multiSortHeader.tsx","../src/table/hooks/useMultiSort.ts","../src/pagination/pagination.tsx","../src/locale/context.ts","../src/locale/provider.tsx","../src/locale/useLocale.ts","../src/locale/en.ts","../src/table/tablePagination.tsx","../src/table/tablePlaceholder.tsx","../src/plugin/registry.ts","../src/plugin/install.tsx","../src/plugin/slot.tsx","../src/plugin/notFound.tsx","../src/plugin/useBuilder.ts","../src/plugin/useExtensionBuilder.ts","../src/plugin/types.ts","../src/table/transform.ts","../src/table/dataFilter.tsx","../src/pickers/dateRangePicker.tsx","../src/pickers/date/calendar.tsx","../src/pickers/datepicker.tsx","../src/pickers/picker.tsx","../src/sheet/sheet.tsx","../src/modal/modalContext.tsx","../src/modal/utils.ts","../src/modal/modalHelper.tsx","../src/modal/useModal.tsx","../src/divider/divider.tsx","../src/sheet/simpleSheet.tsx","../src/modal/preset/sheet.tsx","../src/modal/preset/alert.tsx","../src/dialog/alertDialog.tsx","../src/dialog/dialog.tsx","../src/dialog/simpleDialogFooter.tsx","../src/dialog/simpleDialog.tsx","../src/hooks/useMediaQuery.ts","../src/hooks/useScreen.ts","../src/hooks/useObserverElement.ts","../src/hooks/useCanLinkDevice.ts","../src/modal/preset/dialog.tsx","../src/dialog/triggerDialog.tsx","../src/dialog/helper.tsx","../src/modal/preset/confirm.tsx","../src/modal/index.tsx","../src/sheet/helper.tsx","../src/sheet/actionSheet.tsx","../src/table/hooks/usePagination.ts","../src/table/emptyDataState.tsx","../src/table/features/index.ts","../src/table/features/csvExportService.ts","../src/table/features/download.ts","../src/tabs/tabsBase.tsx","../src/tabs/tabs.tsx","../src/provider/orderlyThemeContext.tsx","../src/scrollIndicator/scrollIndicator.tsx","../src/scrollIndicator/hooks/useDrag.ts","../src/scrollIndicator/hooks/useScroll.ts","../src/scrollIndicator/scrollButton.tsx","../src/card/cardBase.tsx","../src/card/card.tsx","../src/card/hoverCard.tsx","../src/pickers/index.ts","../src/slider/slider.tsx","../src/slider/utils.ts","../src/toast/Toaster.tsx","../src/icon/toasterIcons.tsx","../src/toast/index.ts","../src/toast/toastTile.tsx","../src/listView/listView.tsx","../src/listView/useEndReached.ts","../src/collapsible/collapsible.tsx","../src/collapsible/collapse/collapse.tsx","../src/collapsible/collapse/collapseContext.tsx","../src/collapsible/collapse/panel.tsx","../src/marquee/marquee.tsx","../src/dropdown/dropdown.tsx","../src/dropdown/menuItem.tsx","../src/provider/orderlyThemeProvider.tsx","../src/provider/componentProvider.tsx","../src/misc/either.tsx","../src/index.ts","../src/utils/string.ts","../src/utils/transition.ts","../src/tailwind.css"],"names":["React","tv","useMemo","Slot","forwardRef","gapVariants","createTV","parseSizeProps","props","width","height","angle","left","top","bottom","right","rest","style","convertToStyle","key","value","convertToPx","parseAngleProps","decorationVariants","layoutVariants","positionVariants","shadowVariants","visibleVariants","jsx","boxVariants","Box","forwardedRef","asChild","TAG","className","p","px","py","pt","pb","pl","pr","m","mx","my","mr","mt","mb","ml","grow","zIndex","shadow","border","gradient","r","invisible","intensity","position","borderColor","children","flexBaseVariant","flexVariant","Flex","ref","display","gap","gapX","gapY","wrap","justify","itemAlign","direction","Fragment","jsxs","spinnerVariants","Spinner","size","color","loading","BaseButton","leading","trailing","icon","disabled","Comp","isDisabled","iconElement","content","spinnerSize","buttonVariants","Button","variant","fullWidth","angleStyle","useCallback","useRef","ThrottledButton","onClick","throttleDuration","lastCall","debouncedClick","delay","fn","args","now","gridVariants","Grid","cols","rows","autoFlow","useEffect","gridSpanVariants","Span","colSpan","rowSpan","parent","cnBase","textVariants","Text","Tag","weight","textProps","Decimal","commify","getPrecisionByNumber","numberToHumanStyle","todpIfNeed","parseNumber","options","rule","dp","tick","rm","padding","abs","d","rounding","truncatedNum","formatAddress","address","range","start","end","reg","isNumeralRule","Numeral","coloring","suffix","prefix","visible","unit","currency","showIdentifier","identifiers","unitClassName","placeholder","masking","ignoreDP","num","child","defaultColor","colorName","identifier","childWithUnit","suffixEle","unitEle","prefixEle","child_unit","statisticVariants","StatisticLabel","labelClassName","Statistic","label","valueProps","align","classNames","root","valueClassName","valueClass","as","restValueProps","formatDate","isValid","iconVariants","BaseIcon","AvatarPrimitive","makeBlockie","avatarVariants","AvatarBase","AvatarImage","image","AvatarFallback","fallback","Avatar","src","delayMs","alt","onLoadingStatusChange","EVMAvatar","ChainIcon","url","TokenIcon","name","CombineIcon","secondary","subElement","CloseIcon","opacity","BaseIconWithPath","CheckIcon","ChevronDownIcon","ChevronUpIcon","CaretUpIcon","CaretDownIcon","CaretLeftIcon","CaretRightIcon","ChevronLeftIcon","ChevronRightIcon","CalendarMinusIcon","SettingIcon","CloseSquareFillIcon","CloseCircleFillIcon","CheckedCircleFillIcon","CheckedSquareFillIcon","CheckSquareEmptyIcon","PlusIcon","ReduceIcon","CircleOutlinedIcon","SquareOutlinedIcon","ExclamationFillIcon","QuestionFillIcon","ArrowLeftRightIcon","ArrowDownUpIcon","ArrowUpSquareFillIcon","ArrowDownSquareFillIcon","ArrowLeftRightSquareFill","ArrowRightUpSquareFillIcon","AssetIcon","BarChartIcon","BattleIcon","FeeTierIcon","EditIcon","EyeIcon","ShareIcon","EyeCloseIcon","RefreshIcon","OrderlyIcon","EsOrderlyIcon","InfoCircleIcon","WalletIcon","CalendarIcon","CopyIcon","ServerFillIcon","SortingAscIcon","SortingDescIcon","ArrowUpShortIcon","ArrowDownShortIcon","ArrowLeftShortIcon","ArrowRightShortIcon","SortingIcon","TraderMobileIcon","AffiliateIcon","TradingRewardsIcon","PortfolioActiveIcon","PortfolioInactiveIcon","TradingActiveIcon","TradingIcon","TradingInactiveIcon","LeaderboardActiveIcon","LeaderboardInactiveIcon","MarketsActiveIcon","MarketsInactiveIcon","EmptyStateIcon","emptyData_default","VectorIcon","SwapHorizIcon","PeopleIcon","PersonIcon","SettingFillIcon","TradingLeftNavIcon","VaultsIcon","LeftNavVaultsIcon","Icon","isTextRule","DEFAULT_SYMBOL_FORMAT","DEFAULT_DATE_FORMAT","FormattedText","symbolElement","formatString","capitalize","copyable","copyIconSize","onCopy","showIcon","iconSize","copyIconTestid","isIcon","prefixElement","e","date","arr","type","base","quote","contentWithFix","gradientTextVariants","GradientText","useState","useId","findLongestCommonSubString","BaseInput","clearable","onClean","fixClassName","helpText","inputMode","containerClassName","onValueChange","onChange","id","formatters","inputProps","cursor","setCursor","innerInputRef","prevInputValue","isFocused","innerFormatters","formatToRender","index","formatToChange","originValue","formattedValue","nextValueLen","prevValueLen","next","event","currentCursor","diffIndex","InputAdditional","InputPrefix","InputSuffix","inputVariants","Input","onClear","input","box","additional","closeButton","cid","suffixElement","ClearButton","SelectPrimitive","PopoverPrimitive","popoverVariants","PopoverRoot","PopoverTrigger","PopoverAnchor","PopoverContent","sideOffset","Popover","arrow","contentProps","popoverProps","ScrollAreaPrimitive","scrollAreaVariants","ScrollArea","oriProps","orientation","viewport","ScrollBar","bar","tumb","selectVariants","SelectRoot","SelectGroup","SelectValue","SelectTrigger","error","showCaret","trigger","SelectScrollUpButton","scrollUpButton","SelectScrollDownButton","scrollDownButton","SelectContent","SelectLabel","SelectItem","item","SelectSeparator","separator","CombineSelect","valueFormatter","keyword","setKeyword","setValue","selectedIndex","setSelectedIndex","option","focused","setFocused","inputRef","onFocus","filteredOptions","Select","valueRenderer","maxHeight","testid","ItemIndicator","SelectItemText","defaultOptionRenderer","currentValue","SelectWithOptions","optionRenderer","TokenSelect","tokens","token","selectable","Option","QuantityInput","setToken","tokenOptions","node","TooltipPrimitive","cn","TooltipProvider","TooltipRoot","TooltipTrigger","TooltipPortal","tooltipVariants","TooltipContent","TooltipArrow","arrowProps","Tooltip","originalProps","defaultOpen","open","onOpenChange","delayDuration","disableHoverableContent","InputWithTooltip","tooltip","tooltipProps","triggerClassName","setOpen","formatter_exports","__export","createRegexInputFormatter","currencyFormatter","decimalPointFormatter","dpFormatter","identifierFormatter","numberFormatter","rangeFormatter","regex","onSendBefore","config","onBefore","truncateNumber","numStr","decimalPlaces","decimalIndex","endIndex","max","min","numValue","integer","decimal","negative","_value","replaceComma","originFormatValue","findAndReplace","str1","str2","i","differentChar","newChar","inputHelpTextVariants","InputHelpText","textFieldVariants","TextField","InputLabel","CheckboxPrimitive","checkboxVariants","Checkbox","CheckboxIcon","SwitchPrimitives","switchVariants","Switch","thumb","badgeVariants","Badge","Logo","href","getCoreRowModel","useReactTable","getExpandedRowModel","getSortedRowModel","getFilteredRowModel","useInit","params","dataSource","ignoreLoadingCheck","initialized","setInitialized","useScroll","deps","scrollRef","showLeftShadow","setShowLeftShadow","showRightShadow","setShowRightShadow","isScrolledToRight","scrollAble","hasHorizontalScroll","scrollEnd","element","useShowHeader","initShowHeader","showHeader","useShowPagination","pagination","initShowPagination","showPagination","useSort","onSort","initialSort","sorting","setSorting","desc","useWrap","wrapRef","bgColor","alignVariants","flexRender","TableCell","cell","record","formatter","render","numeralProps","_textProps","_numeralProps","getColumnPinningProps","column","isHeader","isPinned","isLastLeftPinnedColumn","isFirstRightPinnedColumn","contentCls","shadowCls","leftShadow","rightShadow","TableBody","row","expandView","rowView","meta","rowClassName","hidden","pinStyle","pinClassNames","cellStyle","cellClassName","cellView","CellHover","selected","isFirst","isLast","BaseSortIcon","AscendingIcon","DescendingIcon","useMultiSort","currentSorting","handleFieldSort","fieldKey","isCurrentField","newOrder","getFieldSort","MultiSortHeader","multiSort","title","field","fieldSort","SortIndicator","sortDirection","TableHeader","headerGroup","header","canSort","isSorted","createContext","LocaleContext","LocaleProvider","useContext","enUS","localeValues","useLocale","componentName","defaultLocale","fullLocale","getLocale","locale","localeFromContext","getLocaleCode","localeCode","defaultLocaleCode","Pagination","PaginationContent","PaginationItem","PaginationLink","isActive","PaginationPrevious","PaginationNext","PaginationEllipsis","Paginations","totalPages","currentPage","PaginationItems","generatePagination","ellipsis","pageNumbers","page","TablePagination","getGlobalObject","OrderlyExtensionRegistry","_OrderlyExtensionRegistry","globalObject","plugin","builder","pos","existingPlugin","installExtension","component","setExtensionBuilder","ErrorBoundary","NotFound","useBuilder","useExtensionBuilder","ExtensionSlot","scope","defaultValue","elementProps","Ele","ExtensionPositionEnum","TablePlaceholder","emptyView","createColumnHelper","getPaginationRowModel","compareValues","aValue","bValue","aStr","bStr","aNum","bNum","aIsNumber","bIsNumber","aIsDate","bIsDate","aDate","bDate","customSortingFn","rowA","rowB","columnId","createMultiSortComparator","sortId","isDesc","a","b","getNestedValue","obj","path","current","comparison","Transform","columns","columnHelper","columnCopy","dataIndex","isMultiSort","sortOrder","commonProps","currentSort","col","state","DataTable","getRowCanExpand","manualPagination","manualSorting","expanded","onExpandedChange","hasMultiSortColumns","effectiveManualSorting","formatColumns","columnPinning","rowSelection","paginationState","paginationConfig","columnFilters","table","showPlaceholder","DayPicker","Calendar","showOutsideDays","format","DateRangePicker","dateFormat","initialValue","calendarProps","dateRange","setDateRange","isMobileView","setIsMobileView","update","useDebouncedCallback","handleResize","areDatesEqual","nextOpen","callback","timeoutRef","date1","date2","extractDateParts","from1","to1","from2","to2","DatePicker","day","selectedDay","activeModifiers","SheetPrimitive","Sheet","SheetTrigger","SheetClose","SheetPortal","SheetOverlay","sheetVariants","SheetContent","side","closeable","closeableSize","closeOpacity","overlayClassName","SheetHeader","SheetBody","SheetFooter","SheetTitle","SheetDescription","useReducer","symModalId","uidSeed","getUid","getModalId","modal","useModal","modals","ModalContext","modalIdFromContext","ModalIdContext","modalId","isComponent","register","modalInfo","show","modalActions","hide","remove","isOpen","reject","setStates","states","updateArgs","resolve","modalCallbacks","resolveHide","hideModalCallbacks","MODAL_REGISTRY","create","defaultVisible","keepMounted","shouldMount","ALREADY_MOUNTED","delayVisible","comp","unregister","initialState","dispatch","showModal","hideModal","removeModal","updateArgsAction","setModalStates","reducer","action","newState","ModalContainer","visibleModalIds","components","ModalProvider","dispatchOrigin","theResolve","theReject","promise","dividerVariants","Divider","lineStyle","SimpleSheet","closable","BaseSheet","sheet","DialogPrimitive","dialogVariants","Dialog","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","overlay","DialogContent","overlyClassName","close","DialogHeader","DialogBody","body","DialogFooter","footer","DialogTitle","DialogDescription","SimpleDialogFooter","actions","primaryLoading","setPrimaryLoading","buttons","SimpleDialog","useMediaQuery","query","getMatches","matches","setMatches","handleChange","matchMedia","useScreen","isMobile","useObserverElement","resizeObserver","entries","entry","useCanLinkDevice","isSmallViewport","ua","isIpad","isAndroidTablet","AlertDialog","message","onOk","onCancel","okLabel","cancelLabel","CreatedAlertDialog","onOkHandler","alert","dialog","TriggerDialog","createDialogComponent","contentClassName","bodyClassName","registerSimpleDialog","ConfirmDialog","defaultSize","data","err","confirm","createSheetComponent","registerSimpleSheet","ActionItem","onItemClick","ActionDivision","ActionSheetContent","ActionSheet","items","pickerVariants","Picker","selectedItem","text","FilterDatePicker","FilterDateRangePicker","DataFilterRenderer","isCombine","DataFilter","usePagination","initial","dataTotal","setPage","pageSize","_setPageSize","setPageSize","totalPage","parseMeta","count","pageTotal","curPage","parsePagination","EmptyDataState","features_exports","DownloadFeature","downloadCSVFile","exportToCSV","generateCSVContent","generateCSVData","headers","recordIndex","csvContent","filename","blob","link","csvData","plantTextTitle","renderPlantText","TabsPrimitive","tabsVariants","TabsBase","TabsList","originProps","list","TabsTrigger","iconClassName","TabsContent","OrderlyThemeContext","useOrderlyTheme","useDrag","containerRef","isDragging","setIsDragging","startX","setStartX","scrollLeft","setScrollLeft","walk","leadingVisible","setLeadingVisible","tailingVisible","setTailingVisible","handleScroll","container","intersectionObserver","ScrolButton","tailing","ArrowRightIcon","ScrollIndicator","onScoll","handleMouseDown","handleMouseMove","handleMouseUp","TabsContext","Tabs","getComponentTheme","contentVisible","showScrollIndicator","tabsOverrides","tabsVariant","tabList","setTabList","registerTab","prev","unregisterTab","newTabList","memoizedValue","renderTabsList","tabsList","tab","TabPanel","tabConfig","cardVariants","CardBase","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","Card","HoverCardPrimitive","HoverCardRoot","HoverCardTrigger","HoverCardContent","HoverCard","SliderPrimitive","clamp","convertValueToPercentage","maxSteps","percentage","linearScale","output","ratio","getThumbInBoundsOffset","halfWidth","offset","sliderVariants","BaseSlider","marks","markCount","markLabelVisible","showTip","__propsValue","track","trackInner","mark","tips","innerValue","setInvalue","v","innerMasks","_max","piece","len","onValueChangeInner","Marks","SliderTip","isInnerMask","selIndex","colorCls","textCls","percent","thumbInBoundsOffset","__value","SingleSlider","values","Slider","ToastBar","toast","PrimitiveToaster","ToastErrorIcon","viewBox","ToastSuccessIcon","ToastLoadingIcon","Toaster","t","customIcon","ToastTile","useImperativeHandle","useEndReached","sentinelRef","onEndReached","observer","cb","handleObserver","ListViewInner","emptyDataSouce","listViewElement","loadingViewElement","ListView","CollapsiblePrimitive","Collapsible","CollapsibleTrigger","CollapsibleContent","CollapseContext","useCollapseContext","Panel","activeKey","setActiveKey","headerClassName","itemKey","headerNode","CollapseRoot","internalActiveKey","setInternalActiveKey","Collapse","collapse_default","AutoScroll","useEmblaCarousel","Marquee","renderItem","carouselOptions","autoScrollOptions","setApi","isHorizontal","emblaOptions","autoScrollPluginOptions","emblaRef","emblaApi","renderSlides","DropdownMenuPrimitive","DropdownMenuRoot","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuSub","DropdownMenuRadioGroup","dropdownMenuVariants","DropdownMenuContent","DropdownMenuItem","inset","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","shortcut","SimpleDropdownMenu","menu","ComponentsProvider","Element","OrderlyThemeProvider","overrides","resolveComponentTheme","memo","Either","capitalizeFirstLetter","str","startViewTransition","default","tailwind_exports","tailwind_default"],"mappings":"6FAAA,OAAOA,OAAkC,QACzC,OAAS,MAAAC,OAA6B,oBCDtC,OAAOD,IAAS,WAAAE,OAAe,QAK/B,OAAS,QAAAC,OAAY,uBCLrB,OAAqB,cAAAC,OAAkB,QCAhC,IAAMC,GAAc,CAEzB,SAAU,CACR,IAAK,CACH,EAAG,YACH,EAAG,YACH,EAAG,YACH,EAAG,YACH,EAAG,YACH,EAAG,YACH,EAAG,YACH,EAAG,YACH,GAAI,YACN,EACA,KAAM,CACJ,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,GAAI,cACN,EACA,KAAM,CACJ,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,EAAG,cACH,GAAI,cACN,CACF,CACF,ECrCA,OAAS,YAAAC,OAAgB,oBAElB,IAAML,EAAKK,GAAS,CACzB,cAAe,CACb,OAAQ,MACV,CACF,CAAC,ECND,OAAON,OAAW,QAClB,OAAS,QAAAG,OAAY,uBCCd,IAAMI,GAYXC,GACG,CACH,GAAM,CAAE,MAAAC,EAAO,OAAAC,EAAQ,MAAAC,EAAO,KAAAC,EAAM,IAAAC,EAAK,OAAAC,EAAQ,MAAAC,EAAO,GAAGC,CAAK,EAAIR,EAE9DS,EAAQ,OAAO,OAAO,IAAI,EAEhC,OAAIN,IACFM,EAAM,sBAAsB,EAAI,GAAGN,CAAK,OAG1CO,GAAe,cAAeT,EAAOQ,CAAK,EAC1CC,GAAe,eAAgBR,EAAQO,CAAK,EAC5CC,GAAe,aAAcN,EAAMK,CAAK,EACxCC,GAAe,cAAeH,EAAOE,CAAK,EAC1CC,GAAe,YAAaL,EAAKI,CAAK,EACtCC,GAAe,eAAgBJ,EAAQG,CAAK,EAErC,CACL,GAAGD,EACH,MAAO,CACL,GAAGA,EAAK,MACR,GAAGC,CACL,CACF,CACF,EAEA,SAASC,GACPC,EACAC,EACAH,EACA,CACI,OAAOG,EAAU,MACnBH,EAAME,CAAG,EAAIE,GAAYD,CAAK,EAElC,CAEA,SAASC,GAAYD,EAAwB,CAC3C,OAAO,OAAOA,GAAU,SAAW,GAAGA,CAAK,KAAOA,CACpD,CAEO,IAAME,GAAmBd,GAA8B,CAC5D,GAAM,CAAE,MAAAG,CAAM,EAAIH,EAClB,MAAO,CACL,uBAAwBG,EAAQ,GAAGA,CAAK,MAAQ,QAClD,CACF,ECpDO,IAAMY,GAAqB,CAChC,SAAU,CACR,OAAQ,CACN,KAAM,4BAER,EAEA,EAAG,CACD,KAAM,mBACN,GAAI,iBACJ,KAAM,cACN,GAAI,iBACJ,GAAI,iBACJ,GAAI,iBACJ,MAAO,kBACP,KAAM,kBACR,EACA,SAAU,CAGR,QAAS,uBACT,UAAW,yBACX,MAAO,qBACP,QAAS,uBACT,QAAS,uBACT,OAAQ,sBACR,QAAS,sBACX,EACA,UAAW,CACT,IAAK,gBACL,IAAK,gBACL,IAAK,gBACL,IAAK,gBACL,IAAK,gBACL,IAAK,gBACL,IAAK,gBACL,IAAK,gBACL,IAAK,eACP,EACA,YAAa,CACX,EAAG,oBACH,EAAG,oBACH,EAAG,kBACH,GAAI,qBACJ,GAAI,oBACN,CACF,CACF,ECtDO,IAAMC,GAAiB,CAC5B,SAAU,CACR,EAAG,CACD,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,GAAI,UACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,EAAG,CACD,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,GAAI,UACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,GAAI,CACF,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,GAAI,WACN,EACA,KAAM,CACJ,KAAM,UACR,CACF,CACF,EC5LO,IAAMC,GAAmB,CAE9B,SA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AAa,EAC3D,GAAI,CAAC,WAAY,iBAAkB,WAAY,eAAe,EAC9D,GAAI,CAAC,WAAY,iBAAkB,WAAY,aAAa,CAC9D,EACA,MAAO,CACL,QAAS,CACP,gEACF,EACA,UAAW,iDACX,QAAS,mDACT,IAAK,mDACL,OAAQ,iDACR,KAAM,iDACN,QACE,iEACF,KAAM,iDACN,MACE,sEACJ,EACA,UAAW,CACT,KAAM,YACR,CAIF,EACA,iBAAkB,CAEhB,CACE,QAAS,YACT,MAAO,UACP,UAAW,CAAC,wBAAyB,2BAA2B,CAClE,EACA,CACE,QAAS,YACT,MAAO,YACP,UAAW,CAAC,gBAAiB,2BAA2B,CAC1D,EACA,CACE,QAAS,YACT,MAAO,UACP,UAAW,CAAC,iBAAkB,2BAA2B,CAC3D,EACA,CACE,QAAS,YACT,MAAO,MACP,UAAW,CAAC,sBAAuB,2BAA2B,CAChE,EACA,CACE,QAAS,YACT,MAAO,UACP,UAAW,CAAC,wBAAyB,2BAA2B,CAClE,EACA,CACE,QAAS,YACT,MAAO,SACP,UAAW,CAAC,gBAAiB,0BAA0B,CACzD,EACA,CACE,QAAS,YACT,MAAO,OACP,UAAW,CAAC,oBAAqB,0BAA0B,CAC7D,EACA,CACE,QAAS,YACT,MAAO,OACP,UAAW,CAAC,gBAAiB,wBAAwB,CACvD,EACA,CACE,QAAS,YACT,MAAO,QACP,UAAW,CACT,eACA,uBACA,uFACF,CACF,EAEA,CACE,QAAS,WACT,MAAO,UACP,UAAW,CACT,4BACA,0BACA,gCACF,CACF,EACA,CACE,QAAS,WACT,MAAO,YACP,UAAW,CACT,oBACA,4BACA,wBACF,CACF,EACA,CACE,QAAS,WACT,MAAO,UACP,UAAW,CACT,qBACA,mBACA,yBACF,CACF,EACA,CACE,QAAS,WACT,MAAO,UACP,UAAW,CACT,4BACA,4BACA,gCACF,CACF,EACA,CACE,QAAS,WACT,MAAO,SACP,UAAW,CACT,oBACA,kBACA,wBACF,CACF,EACA,CACE,QAAS,WACT,MAAO,OACP,UAAW,CAAC,oBAAqB,eAAe,CAClD,EAQA,CACE,QAAS,OACT,MAAO,UACP,UA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","sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { BaseButton, BaseButtonProps } from \"./base\";\nimport { shadowVariants } from \"../layout/shadow\";\nimport { parseAngleProps } from \"../helpers/parse-props\";\nimport { SizeType } from \"../helpers/sizeType\";\n\nconst buttonVariants = tv(\n {\n base: [\n \"oui-button\",\n \"oui-inline-flex\",\n \"oui-items-center\",\n \"oui-justify-center\",\n \"oui-whitespace-nowrap\",\n \"oui-transition-colors\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-bg-base-3\",\n \"disabled:oui-text-base-contrast-36\",\n \"disabled:hover:oui-bg-base-3\",\n ],\n variants: {\n ...shadowVariants.variants,\n variant: {\n text: \"oui-bg-transparent\",\n outlined: \"oui-border\",\n contained: \"oui-text-white\",\n gradient: \"oui-gradient-brand oui-text-[rgba(0,0,0,0.88)]\",\n },\n size: {\n xs: [\"oui-px-2\", \"oui-rounded\", \"oui-h-6\", \"oui-text-2xs\"], //24px\n sm: [\"oui-px-3\", \"oui-rounded\", \"oui-h-7\", \"oui-text-2xs\"], //28px\n md: [\"oui-px-3\", \"oui-rounded-md\", \"oui-h-8\", \"oui-text-sm\"], //32px\n lg: [\"oui-px-3\", \"oui-rounded-md\", \"oui-h-10\", \"oui-text-base\"], //40px\n xl: [\"oui-px-4\", \"oui-rounded-lg\", \"oui-h-13\", \"oui-text-lg\"], //54px\n },\n color: {\n primary: [\n \"hover:oui-bg-primary-darken/80 active:oui-bg-primary-darken/70\",\n ],\n secondary: \"hover:oui-bg-base-4/80 active:oui-bg-base-4/70\",\n success: \"hover:oui-bg-success/80 active:oui-bg-success/70\",\n buy: \"hover:oui-bg-success/80 active:oui-bg-success/70\",\n danger: \"hover:oui-bg-danger/80 active:oui-bg-danger/70\",\n sell: \"hover:oui-bg-danger/80 active:oui-bg-danger/70\",\n warning:\n \"hover:oui-bg-warning-darken/80 active:oui-bg-warning-darken/70\",\n gray: \"hover:oui-bg-base-2/80 active:oui-bg-base-2/70\",\n light:\n \"hover:oui-bg-white/80 active:oui-bg-white/50 disable:oui-bg-white/20\",\n },\n fullWidth: {\n true: \"oui-w-full\",\n },\n // disabled: {\n // true: \"oui-bg-base-3 oui-text-base-contrast-36\",\n // },\n },\n compoundVariants: [\n // contained\n {\n variant: \"contained\",\n color: \"primary\",\n className: [\"oui-bg-primary-darken\", \"oui-text-primary-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"secondary\",\n className: [\"oui-bg-base-4\", \"oui-text-primary-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"success\",\n className: [\"oui-bg-success\", \"oui-text-success-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"buy\",\n className: [\"oui-bg-trade-profit\", \"oui-text-success-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"warning\",\n className: [\"oui-bg-warning-darken\", \"oui-text-warning-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"danger\",\n className: [\"oui-bg-danger\", \"oui-text-danger-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"sell\",\n className: [\"oui-bg-trade-loss\", \"oui-text-danger-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"gray\",\n className: [\"oui-bg-base-2\", \"oui-text-base-contrast\"],\n },\n {\n variant: \"contained\",\n color: \"light\",\n className: [\n \"oui-bg-white\",\n \"oui-text-black/[.88]\",\n \"disabled:oui-bg-white/30 hover:disabled:oui-bg-white/30 disabled:oui-text-black/[.36]\",\n ],\n },\n\n {\n variant: \"outlined\",\n color: \"primary\",\n className: [\n \"oui-border-primary-darken\",\n \"oui-text-primary-darken\",\n \"hover:oui-bg-primary-darken/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"secondary\",\n className: [\n \"oui-border-base-4\",\n \"oui-text-base-contrast-54\",\n \"hover:oui-bg-base-4/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"success\",\n className: [\n \"oui-border-success\",\n \"oui-text-success\",\n \"hover:oui-bg-success/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"warning\",\n className: [\n \"oui-border-warning-darken\",\n \"oui-text-warning-contrast\",\n \"hover:oui-bg-warning-darken/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"danger\",\n className: [\n \"oui-border-danger\",\n \"oui-text-danger\",\n \"hover:oui-bg-danger/20\",\n ],\n },\n {\n variant: \"outlined\",\n color: \"gray\",\n className: [\"oui-border-base-2\", \"oui-text-base\"],\n },\n // outlined end\n // {\n // variant: \"outlined\",\n // color: \"darkGray\",\n // className: [\"oui-border-base-4\", \"oui-text-base\"],\n // },\n // text\n {\n variant: \"text\",\n color: \"primary\",\n className: [\"oui-text-primary-darken hover:oui-bg-primary-darken/10\"],\n },\n {\n variant: \"text\",\n color: \"success\",\n className: [\"oui-text-success hover:oui-bg-success/10\"],\n },\n {\n variant: \"text\",\n color: \"warning\",\n className: [\"oui-text-warning-contrast hover:oui-bg-warning-darken/10\"],\n },\n {\n variant: \"text\",\n color: \"danger\",\n className: [\"oui-text-danger hover:oui-bg-danger/10\"],\n },\n {\n variant: \"text\",\n color: \"gray\",\n className: [\"oui-text-base hover:oui-bg-base-2/10\"],\n },\n {\n variant: \"text\",\n color: \"secondary\",\n className: [\"oui-text-base-contrast-36 hover:oui-bg-base-2/10\"],\n },\n ],\n defaultVariants: {\n size: \"lg\",\n variant: \"contained\",\n color: \"primary\",\n // elevation: \"none\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n }\n);\n\ninterface ButtonProps\n extends Omit<BaseButtonProps, \"size\">,\n VariantProps<typeof buttonVariants> {\n angle?: number;\n \"data-testid\"?: string;\n}\n\nconst Button = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps>\n>(\n (\n {\n className,\n variant,\n size,\n color,\n fullWidth,\n shadow,\n angle,\n style,\n ...props\n },\n ref\n ) => {\n // const Comp = asChild ? Slot : \"button\";\n const angleStyle = parseAngleProps({ angle });\n return (\n <BaseButton\n className={buttonVariants({\n variant,\n size,\n color,\n className,\n fullWidth,\n shadow,\n })}\n size={size as SizeType}\n ref={ref}\n style={{ ...style, ...angleStyle }}\n {...props}\n />\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n\nexport type { ButtonProps };\n","import React, { useMemo } from \"react\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Flex } from \"../flex\";\nimport { Spinner } from \"../spinner/spinner\";\nimport { SizeType } from \"../helpers/sizeType\";\n\ntype BaseButtonElement = React.ElementRef<\"button\">;\n\nexport interface BaseButtonProps\n extends ComponentPropsWithout<\"button\", RemovedProps> {\n loading?: boolean;\n leading?: React.ReactNode;\n trailing?: React.ReactNode;\n asChild?: boolean;\n size: SizeType;\n icon?: React.ReactElement;\n as?: \"button\" | \"a\";\n}\n\nexport const BaseButton = React.forwardRef<BaseButtonElement, BaseButtonProps>(\n (props, forwardedRef) => {\n const {\n asChild = false,\n children,\n loading,\n leading,\n trailing,\n size,\n icon,\n disabled,\n ...rest\n } = props;\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = typeof disabled !== \"undefined\" ? disabled : loading;\n\n const iconElement = useMemo(() => {\n return icon\n ? React.cloneElement(icon, {\n size:\n size === \"xs\"\n ? 12\n : size === \"sm\"\n ? 12\n : size === \"md\"\n ? 14\n : size === \"lg\"\n ? 16\n : size === \"xl\"\n ? 18\n : 12,\n className: \"oui-text-inherit\",\n opacity: loading ? 0 : 1,\n })\n : null;\n }, [size, icon]);\n\n const content = useMemo(() => {\n if (!leading && !trailing && !iconElement) return children;\n\n return (\n <Flex as=\"span\" itemAlign={\"center\"} className=\"oui-space-x-1\">\n {leading}\n {iconElement}\n <span>{children}</span>\n {trailing}\n </Flex>\n );\n }, [children, leading, trailing, iconElement]);\n\n const spinnerSize = useMemo(() => {\n switch (size) {\n case \"xl\":\n return \"md\";\n case \"lg\":\n return \"md\";\n case \"md\":\n return \"sm\";\n case \"sm\":\n case \"xs\":\n return \"xs\";\n default:\n return \"md\";\n }\n }, [size]);\n\n return (\n <Comp {...rest} disabled={isDisabled} ref={forwardedRef}>\n {loading ? (\n <>\n <span className=\"oui-invisible\">{content}</span>\n <Flex\n itemAlign={\"center\"}\n justify={\"center\"}\n position={\"absolute\"}\n as=\"span\"\n >\n <Spinner size={spinnerSize} color=\"white\" />\n </Flex>\n </>\n ) : (\n content\n )}\n </Comp>\n );\n }\n);\n\nBaseButton.displayName = \"BaseButton\";\n","import { ElementRef, forwardRef } from \"react\";\nimport { gapVariants } from \"../layout/gap\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport { Box, BoxProps } from \"../box\";\n\ntype FlexElement = ElementRef<\"div\">;\n\n// interface CommonFlexProps extends MarginProps, LayoutProps, FlexOwnProps {}\n// type FlexDivProps = { as?: 'div' } & ComponentPropsWithout<'div', RemovedProps>;\n// type FlexSpanProps = { as: 'span' } & ComponentPropsWithout<'span', RemovedProps>;\n// type FlexProps = CommonFlexProps & (FlexSpanProps | FlexDivProps);\n\nconst flexBaseVariant = tv({\n variants: {\n ...gapVariants.variants,\n // ...layoutVariants.variants,\n // ...positionVariants.variants,\n },\n});\n\nconst flexVariant = tv(\n {\n extend: flexBaseVariant,\n base: [\"oui-flex\"],\n variants: {\n display: {\n flex: \"oui-flex\",\n inlineFlex: \"oui-inline-flex\",\n },\n direction: {\n row: \"oui-flex-row\",\n rowReverse: \"oui-flex-row-reverse\",\n column: \"oui-flex-col\",\n columnReverse: \"oui-flex-col-reverse\",\n },\n itemAlign: {\n start: \"oui-items-start\",\n end: \"oui-items-end\",\n center: \"oui-items-center\",\n baseline: \"oui-items-baseline\",\n stretch: \"oui-items-stretch\",\n },\n justify: {\n start: \"oui-justify-start\",\n end: \"oui-justify-end\",\n center: \"oui-justify-center\",\n between: \"oui-justify-between\",\n around: \"oui-justify-around\",\n evenly: \"oui-justify-evenly\",\n stretch: \"oui-justify-stretch\",\n },\n wrap: {\n noWrap: \"oui-flex-nowrap\",\n wrap: \"oui-flex-wrap\",\n wrapReverse: \"oui-flex-wrap-reverse\",\n },\n },\n defaultVariants: {\n display: \"flex\",\n direction: \"row\",\n itemAlign: \"center\",\n justify: \"start\",\n wrap: \"noWrap\",\n // gap: 4,\n // gap: 0,\n // gapX: 0,\n // gapY: 0,\n },\n },\n {\n responsiveVariants: true,\n }\n);\n\n// const flexVariant = compose(layoutVariants, gapVariants, flexBaseVariant);\ninterface FlexProps extends BoxProps, VariantProps<typeof flexVariant> {\n // asChild?: boolean;\n // as?: \"div\" | \"span\";\n // width?: string | number;\n // height?: string | number;\n}\n\nconst Flex = forwardRef<FlexElement, FlexProps>((props, ref) => {\n const {\n className,\n display,\n gap,\n gapX,\n gapY,\n wrap,\n justify,\n itemAlign,\n direction,\n ...rest\n } = props;\n // const Comp = asChild ? Slot : TAG;\n //\n\n return (\n <Box\n ref={ref}\n className={flexVariant({\n className,\n display,\n gap,\n gapX,\n gapY,\n wrap,\n justify,\n itemAlign,\n direction,\n })}\n {...rest}\n />\n );\n});\n\nFlex.displayName = \"Flex\";\n\nexport { Flex, flexVariant };\n\nexport type { FlexProps };\n","export const gapVariants = {\n // extend: layoutVariants,\n variants: {\n gap: {\n 0: \"oui-gap-0\",\n 1: \"oui-gap-1\",\n 2: \"oui-gap-2\",\n 3: \"oui-gap-3\",\n 4: \"oui-gap-4\",\n 5: \"oui-gap-5\",\n 6: \"oui-gap-6\",\n 8: \"oui-gap-8\",\n 10: \"oui-gap-10\",\n },\n gapX: {\n 0: \"oui-gap-x-0\",\n 1: \"oui-gap-x-1\",\n 2: \"oui-gap-x-2\",\n 3: \"oui-gap-x-3\",\n 4: \"oui-gap-x-4\",\n 5: \"oui-gap-x-5\",\n 6: \"oui-gap-x-6\",\n 8: \"oui-gap-x-8\",\n 10: \"oui-gap-x-10\",\n },\n gapY: {\n 0: \"oui-gap-y-0\",\n 1: \"oui-gap-y-1\",\n 2: \"oui-gap-y-2\",\n 3: \"oui-gap-y-3\",\n 4: \"oui-gap-y-4\",\n 5: \"oui-gap-y-5\",\n 6: \"oui-gap-y-6\",\n 8: \"oui-gap-y-8\",\n 10: \"oui-gap-y-10\",\n },\n },\n};\n","import { createTV } from \"tailwind-variants\";\n\nexport const tv = createTV({\n twMergeConfig: {\n prefix: \"oui-\",\n },\n});\n","import React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { parseSizeProps } from \"../helpers/parse-props\";\nimport { decorationVariants } from \"../layout/decoration\";\nimport { layoutVariants } from \"../layout/layout\";\nimport { positionVariants } from \"../layout/position\";\nimport { shadowVariants } from \"../layout/shadow\";\nimport { visibleVariants } from \"../layout/visible\";\nimport { tv } from \"../utils/tv\";\n\nconst boxVariants = tv({\n base: [\"oui-box\"],\n variants: {\n ...layoutVariants.variants,\n ...shadowVariants.variants,\n ...decorationVariants.variants,\n ...positionVariants.variants,\n ...visibleVariants.variants,\n __position: {\n true: \"oui-position\",\n },\n __size_width: {\n true: \"oui-size-width\",\n },\n __size_height: {\n true: \"oui-size-height\",\n },\n },\n defaultVariants: {\n __position: false,\n __size: false,\n },\n});\n\n// // @ts-ignore\n// const boxVariants = tv({\n// extend: baseBoxVariants,\n// });\n\ntype BoxElement = React.ElementRef<\"div\">;\n\ninterface BoxProps\n extends React.ButtonHTMLAttributes<HTMLDivElement | HTMLSpanElement>,\n Omit<\n VariantProps<typeof boxVariants>,\n \"__position\" | \"__size_width\" | \"__size_height\"\n > {\n asChild?: boolean;\n as?:\n | \"div\"\n | \"span\"\n | \"nav\"\n | \"section\"\n | \"article\"\n | \"aside\"\n | \"header\"\n | \"footer\";\n width?: string | number;\n height?: string | number;\n left?: string | number;\n right?: string | number;\n top?: string | number;\n bottom?: string | number;\n /**\n * Angle of the gradient\n */\n angle?: number;\n}\n\nconst Box = React.forwardRef<BoxElement, BoxProps>((props, forwardedRef) => {\n const {\n asChild = false,\n as: TAG = \"div\",\n className,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n m,\n mx,\n my,\n mr,\n mt,\n mb,\n ml,\n grow,\n zIndex,\n style,\n shadow,\n border,\n gradient,\n r,\n invisible,\n intensity,\n position,\n borderColor,\n children,\n ...rest\n } = parseSizeProps(props);\n\n const Comp = asChild ? Slot : TAG;\n\n return (\n <Comp\n style={style}\n className={boxVariants({\n className,\n p,\n r,\n px,\n py,\n pt,\n pb,\n pr,\n pl,\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n zIndex,\n shadow,\n border,\n gradient,\n position,\n intensity,\n invisible,\n grow,\n borderColor,\n __position: typeof position !== \"undefined\",\n __size_width: typeof props.width !== \"undefined\",\n __size_height: typeof props.height !== \"undefined\",\n })}\n {...rest}\n ref={forwardedRef}\n >\n {children}\n </Comp>\n );\n});\n\nBox.displayName = \"Box\";\n\nexport { Box, boxVariants };\n\nexport type { BoxProps };\n","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 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 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 visibleVariants = {\n variants: {\n invisible: {\n true: \"oui-invisible\",\n // false: \"oui-visible\",\n },\n },\n};\n","import { FC } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst spinnerVariants = tv({\n base: \"oui-text-gray-200 oui-animate-spin dark:oui-text-gray-600 oui-fill-primary-darken\",\n variants: {\n size: {\n xs: \"oui-w-3 oui-h-3\",\n sm: \"oui-w-4 oui-h-4\",\n md: \"oui-w-6 oui-h-6\",\n lg: \"oui-w-8 oui-h-8\",\n xl: \"oui-w-10 oui-h-10\",\n },\n color: {\n primary: \"oui-fill-primary-darken\",\n success: \"oui-fill-success\",\n danger: \"oui-fill-danger\",\n warning: \"oui-fill-warning-darken\",\n gray: \"oui-fill-gray\",\n darkGray: \"oui-fill-darkGray\",\n white: \"oui-fill-white\",\n },\n // background: {\n // default: \"oui-text-base-contrast/40\",\n // transparent: \"oui-text-transparent\",\n // },\n },\n\n defaultVariants: {\n size: \"lg\",\n color: \"primary\",\n },\n});\n\ninterface SpinnerProps\n extends ComponentPropsWithout<\"svg\", RemovedProps>,\n VariantProps<typeof spinnerVariants> {\n loading?: boolean;\n}\n\nconst Spinner: FC<SpinnerProps> = (props) => {\n const { size, color, loading = true, children, className } = props;\n if (!loading) {\n return <>{children}</>;\n }\n return (\n <span role=\"status\" className=\"oui-inline-block\">\n <svg\n aria-hidden=\"true\"\n className={spinnerVariants({ size, className, color })}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n fillOpacity={0.2}\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n {/* hide, not show when render */}\n <span className=\"oui-sr-only\">Loading...</span>\n </span>\n );\n};\n\nexport { Spinner, spinnerVariants };\n\nexport type { SpinnerProps };\n","import React, { PropsWithChildren, useCallback, useRef, useState } from \"react\";\nimport { Button, ButtonProps } from \".\";\n\nconst ThrottledButton = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps & { throttleDuration?: number }>\n>(({ onClick, throttleDuration = 700, ...props }, ref) => {\n const lastCall = useRef(0);\n const throttle = useCallback(\n (delay: number, fn?: Function) => {\n return function (...args: any[]) {\n const now = Date.now();\n\n // Check if enough time has passed since the last call\n if (now - lastCall.current >= delay) {\n lastCall.current = now;\n fn?.(...args); // Execute the function\n }\n };\n },\n [throttleDuration]\n );\n\n const debouncedClick = throttle(throttleDuration, onClick);\n return <Button onClick={debouncedClick} ref={ref} {...props} />;\n});\n\nexport { ThrottledButton };\n","import React from \"react\";\nimport { tv } from \"../utils/tv\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { type BoxProps, Box } from \"../box\";\nimport { gapVariants } from \"../layout/gap\";\n\nconst gridVariants = tv({\n extend: gapVariants,\n base: [\"oui-grid\"],\n variants: {\n // inline: {\n // true: \"oui-inline-grid\",\n // // false: \"\",\n // },\n cols: {\n 1: \"oui-grid-cols-1\",\n 2: \"oui-grid-cols-2\",\n 3: \"oui-grid-cols-3\",\n 4: \"oui-grid-cols-4\",\n 5: \"oui-grid-cols-5\",\n 6: \"oui-grid-cols-6\",\n 7: \"oui-grid-cols-7\",\n 8: \"oui-grid-cols-8\",\n 9: \"oui-grid-cols-9\",\n none: \"oui-grid-cols-none\",\n },\n rows: {\n 1: \"oui-grid-rows-1\",\n 2: \"oui-grid-rows-2\",\n 3: \"oui-grid-rows-3\",\n 4: \"oui-grid-rows-4\",\n 5: \"oui-grid-rows-5\",\n 6: \"oui-grid-rows-6\",\n 7: \"oui-grid-rows-7\",\n 8: \"oui-grid-rows-8\",\n 9: \"oui-grid-rows-9\",\n none: \"oui-grid-rows-none\",\n },\n autoFlow: {\n row: \"oui-grid-flow-row\",\n col: \"oui-grid-flow-col\",\n rowDense: \"oui-grid-flow-row-dense\",\n colDense: \"oui-grid-flow-col-dense\",\n },\n gap: {\n 0: \"oui-gap-0\",\n 1: \"oui-gap-1\",\n 2: \"oui-gap-2\",\n 3: \"oui-gap-3\",\n 4: \"oui-gap-4\",\n 5: \"oui-gap-5\",\n },\n gapX: {\n 0: \"oui-gap-x-0\",\n 1: \"oui-gap-x-1\",\n 2: \"oui-gap-x-2\",\n 3: \"oui-gap-x-3\",\n 4: \"oui-gap-x-4\",\n 5: \"oui-gap-x-5\",\n },\n gapY: {\n 0: \"oui-gap-y-0\",\n 1: \"oui-gap-y-1\",\n 2: \"oui-gap-y-2\",\n 3: \"oui-gap-y-3\",\n 4: \"oui-gap-y-4\",\n 5: \"oui-gap-y-5\",\n },\n },\n defaultVariants: {\n // cols: \"1\",\n // rows: \"1\",\n // gap: 4,\n // autoFlow: \"row\",\n },\n});\n\ninterface GridProps extends BoxProps, VariantProps<typeof gridVariants> {}\n\nconst Grid = React.forwardRef<HTMLDivElement, GridProps>((props, ref) => {\n const { className, cols, rows, gap, gapX, gapY, autoFlow, ...rest } = props;\n\n return (\n <Box\n ref={ref}\n {...rest}\n className={gridVariants({\n className,\n cols,\n rows,\n gap,\n gapX,\n gapY,\n autoFlow,\n })}\n />\n );\n});\n\nGrid.displayName = \"Grid\";\n\nexport { Grid, gridVariants };\n","import { VariantProps } from \"tailwind-variants\";\nimport { Box, BoxProps } from \"../box\";\n\nimport { tv } from \"../utils/tv\";\nimport { useEffect, useRef } from \"react\";\n\nconst gridSpanVariants = tv({\n variants: {\n colSpan: {\n auto: \"oui-col-auto\",\n 1: \"oui-col-span-1\",\n 2: \"oui-col-span-2\",\n 3: \"oui-col-span-3\",\n 4: \"oui-col-span-4\",\n 5: \"oui-col-span-5\",\n 6: \"oui-col-span-6\",\n 7: \"oui-col-span-7\",\n 8: \"oui-col-span-8\",\n 9: \"oui-col-span-9\",\n },\n rowSpan: {\n auto: \"oui-row-auto\",\n 1: \"oui-row-span-1\",\n 2: \"oui-row-span-2\",\n 3: \"oui-row-span-3\",\n 4: \"oui-row-span-4\",\n 5: \"oui-row-span-5\",\n 6: \"oui-row-span-6\",\n 7: \"oui-row-span-7\",\n 8: \"oui-row-span-8\",\n 9: \"oui-row-span-9\",\n },\n },\n});\n\ninterface SpanProps extends BoxProps, VariantProps<typeof gridSpanVariants> {}\n\nconst Span = (props: SpanProps) => {\n const { colSpan, rowSpan, className, ...rest } = props;\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n const parent: HTMLElement = ref.current!.parentElement!;\n\n if (!parent || !parent.classList.contains(\"oui-grid\")) {\n console.warn(\"Span component must be a child of a Grid component\");\n }\n }\n }, []);\n\n return (\n <Box\n ref={ref}\n {...rest}\n className={gridSpanVariants({\n colSpan,\n rowSpan,\n className,\n })}\n />\n );\n};\n\nexport { Span, type SpanProps, gridSpanVariants };\n","import { Grid as GridBase, gridVariants } from \"./grid\";\nimport { Span } from \"./span\";\n\ntype GridType = typeof GridBase & {\n span: typeof Span;\n};\n\nconst Grid = GridBase as GridType;\nGrid.span = Span;\n\nexport { Grid, gridVariants };\n","import React, {\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 React, { FC, useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Text, TextProps } from \"./text\";\nimport { RoundingMode, parseNumber } from \"./utils\";\n\nexport type NumeralRule = \"percentages\" | \"price\" | \"human\";\n\nexport const isNumeralRule = (rule: string): rule is NumeralRule => {\n return [\"percentages\", \"price\", \"human\"].includes(rule);\n};\n\nexport type NumeralProps = TextProps & {\n rule?: NumeralRule;\n\n /**\n * decimal place, default 2 digits\n * @default 2\n */\n dp?: number;\n\n /**\n * Whether to ignore the decimal place, if true then direct output, the default is false\n */\n ignoreDP?: boolean;\n\n /**\n * The number of decimal places to round to.\n * tick is obtained directly from the Orderly API and is used to calculate the number of decimal places for prices.\n * If both dp and tick are passed, dp takes priority.\n * Format: 0.00001\n */\n tick?: number;\n /**\n * Rounding mode\n * The method of rounding the decimal digits after the decimal point, options are ceil, floor, round, aligns with Math.ceil, Math.floor, Math.round.\n * @default floor\n */\n rm?: RoundingMode;\n // truncate?: \"ceil\" | \"floor\" | \"round\" | \"truncate\";\n\n /**\n * The number to be formatted\n */\n children: number | string;\n\n className?: string;\n\n unitClassName?: string;\n\n coloring?: boolean;\n\n loading?: boolean;\n\n suffix?: React.ReactNode;\n prefix?: React.ReactNode;\n\n unit?: string;\n currency?: string;\n\n /**\n * Whether to display as *****\n */\n visible?: boolean;\n /**\n * Whether to pad with 0\n * @default true\n */\n padding?: boolean;\n\n /**\n * Whether to show the + or - sign\n */\n showIdentifier?: boolean;\n\n /**\n * Placeholder when children is not valid number\n */\n placeholder?: string;\n\n /**\n * custom masking element when visible is false\n */\n masking?: React.ReactNode | string;\n\n /**\n * Custom + or - sign\n */\n identifiers?: {\n loss?: React.ReactNode;\n profit?: React.ReactNode;\n };\n};\n\nexport const Numeral: FC<NumeralProps> = (props) => {\n const {\n rule = \"price\",\n coloring,\n dp,\n tick,\n suffix,\n prefix,\n visible,\n unit,\n currency,\n rm,\n padding = true,\n showIdentifier = false,\n identifiers,\n className,\n unitClassName,\n placeholder,\n masking,\n ignoreDP,\n ...rest\n } = props;\n // TODO: check precision\n\n const num = Number(props.children);\n\n const child = useMemo(() => {\n if (props.children === \"-\") return props.children;\n if (isNaN(num)) return placeholder ?? \"--\";\n\n if (typeof visible !== \"undefined\" && !visible) return masking ?? \"*****\";\n\n if (ignoreDP) {\n if (!!props.showIdentifier) {\n return Math.abs(num).toString();\n }\n\n return num;\n }\n\n return parseNumber(num, {\n rule,\n dp,\n tick,\n rm,\n padding,\n abs: showIdentifier,\n });\n }, [num, visible, tick, dp]);\n\n // console.log(\"numeral\", child, props.showIdentifier);\n\n const defaultColor = rest.color || \"inherit\";\n\n const colorName = useMemo(() => {\n if (!coloring) return defaultColor;\n if (typeof visible !== \"undefined\" && !visible) return defaultColor;\n\n if (Number.isNaN(num)) {\n // console.warn(`if coloring, value is need number: ${props.value}`);\n return defaultColor;\n }\n\n if (num === 0) return \"neutral\";\n if (num < 0) return \"lose\";\n\n return \"profit\";\n }, [coloring, num, rest.color, props.visible]);\n\n // console.log(\"parseNumber\", child, props.showIdentifier);\n\n const identifier = useMemo(() => {\n if (!showIdentifier || Number.isNaN(num) || num === 0) return null;\n if (typeof visible !== \"undefined\" && !visible) return null;\n\n if (num < 0) {\n if (identifiers?.loss) return identifiers!.loss;\n // @ts-ignore\n // return <Minus size={12} />;\n return <span>-</span>;\n }\n\n if (identifiers?.profit) return identifiers!.profit;\n // @ts-ignore\n // return <Plus size={12} />;\n return <span>+</span>;\n }, [num, props.visible, showIdentifier]);\n\n const childWithUnit = useMemo(() => {\n if (\n typeof suffix === \"undefined\" &&\n typeof prefix === \"undefined\" &&\n typeof unit === \"undefined\" &&\n typeof currency === \"undefined\" &&\n !showIdentifier\n ) {\n return child;\n }\n\n const suffixEle = suffix ? (\n typeof suffix === \"string\" ? (\n <span>{suffix}</span>\n ) : (\n suffix\n )\n ) : undefined;\n\n const unitEle = unit ? (\n <span className={cnBase(\"orderly-numeral-unit\", unitClassName)}>\n {unit}\n </span>\n ) : undefined;\n\n const prefixEle = prefix ? (\n prefix\n ) : currency ? (\n <span>{currency}</span>\n ) : undefined;\n\n const child_unit = (\n <>\n {child}\n {unitEle}\n </>\n );\n\n return (\n <>\n {prefixEle}\n {typeof identifier !== \"undefined\" ? (\n <span>\n {identifier}\n <span>{child_unit}</span>\n </span>\n ) : (\n <span>{child_unit}</span>\n )}\n {/*{unitEle}*/}\n {suffixEle}\n </>\n );\n }, [child, suffix, unit, prefix, identifier, unitClassName]);\n\n return (\n <Text\n {...rest}\n color={colorName}\n className={cnBase(\"oui-tabular-nums\", className)}\n >\n {childWithUnit}\n </Text>\n );\n};\n","import { tv } from \"../utils/tv\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport React, { MouseEventHandler } from \"react\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst textVariants = tv({\n variants: {\n size: {\n \"3xs\": [\"oui-text-3xs\"],\n \"2xs\": [\"oui-text-2xs\"],\n xs: [\"oui-text-xs\"],\n sm: [\"oui-text-sm\"],\n base: [\"oui-text-base\"],\n lg: [\"oui-text-lg\"],\n xl: [\"oui-text-xl\"],\n \"2xl\": [\"oui-text-2xl\"],\n \"3xl\": [\"oui-text-3xl\"],\n \"4xl\": [\"oui-text-4xl\"],\n \"5xl\": [\"oui-text-5xl\"],\n \"6xl\": [\"oui-text-6xl\"],\n },\n weight: {\n regular: [\"oui-font-normal\"],\n semibold: [\"oui-font-semibold\"],\n bold: [\"oui-font-bold\"],\n },\n color: {\n inherit: \"oui-text-inherit\",\n neutral: \"oui-text-base-contrast-54\",\n primary: \"oui-text-primary\",\n primaryLight: \"oui-text-primary-light\",\n secondary: \"oui-text-secondary\",\n tertiary: \"oui-text-tertiary\",\n // quaternary: \"oui-text-gray-300\",\n warning: \"oui-text-warning-darken\",\n danger: \"oui-text-danger\",\n success: \"oui-text-success\",\n buy: \"oui-text-trade-profit\",\n sell: \"oui-text-trade-loss\",\n lose: \"oui-text-trade-loss\",\n withdraw: \"oui-text-trade-loss\",\n profit: \"oui-text-trade-profit\",\n deposit: \"oui-text-trade-profit\",\n // gradient\n },\n intensity: {\n 12: \"oui-text-base-contrast-12\",\n 20: \"oui-text-base-contrast-20\",\n 36: \"oui-text-base-contrast-36\",\n 54: \"oui-text-base-contrast-54\",\n 80: \"oui-text-base-contrast-80\",\n 98: \"oui-text-base-contrast\",\n },\n dashBoard: {\n default: \"oui-border-b oui-border-dashed oui-border-base-contrast-12\",\n },\n },\n});\n\nexport type TextElement = React.ElementRef<\"span\">;\n\ninterface BasicTextProps extends VariantProps<typeof textVariants> {\n asChild?: boolean;\n}\n\ninterface CopyableTextProps extends BasicTextProps {\n /**\n * If true, the text will be copied when clicked.\n */\n copyable?: boolean;\n /**\n * Callback when the text is copied.\n */\n onCopy?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n /** default is 12 */\n copyIconSize?: number;\n copyIconTestid?: string;\n}\n\ntype TextSpanProps = { as?: \"span\" } & ComponentPropsWithout<\n \"span\",\n RemovedProps\n>;\ntype TextDivProps = { as: \"div\" } & ComponentPropsWithout<\"div\", RemovedProps>;\ntype TextLabelProps = { as: \"label\" } & ComponentPropsWithout<\n \"label\",\n RemovedProps\n>;\ntype TextPProps = { as: \"p\" } & ComponentPropsWithout<\"p\", RemovedProps>;\ntype TextProps = BasicTextProps &\n (TextSpanProps | TextDivProps | TextLabelProps | TextPProps);\n\nconst Text = React.forwardRef<TextElement, TextProps>((props, forwardedRef) => {\n const {\n children,\n className,\n asChild,\n as: Tag = \"span\",\n color,\n size,\n weight,\n intensity,\n ...textProps\n } = props;\n return (\n <Slot\n data-accent-color={color}\n {...textProps}\n ref={forwardedRef}\n className={textVariants({\n className,\n color,\n size,\n weight,\n intensity,\n })}\n >\n {asChild ? children : <Tag>{children}</Tag>}\n </Slot>\n );\n});\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\nexport type { TextProps, CopyableTextProps };\n","import {\n Decimal,\n commify,\n getPrecisionByNumber,\n numberToHumanStyle,\n todpIfNeed,\n} from \"@kodiak-finance/orderly-utils\";\n\nexport type RoundingMode = number | \"truncate\";\n\nexport const parseNumber = (\n value: number | string,\n options: {\n rule?: \"percentages\" | \"price\" | \"human\";\n dp?: number;\n\n tick?: number;\n rm?: RoundingMode;\n padding?: boolean;\n\n abs?: boolean;\n } = {},\n): string => {\n let {\n rule,\n dp,\n tick,\n rm = Decimal.ROUND_DOWN,\n padding = true,\n abs,\n } = options;\n\n if (Number.isNaN(value)) {\n return \"--\";\n }\n\n dp = dp != null ? dp : tick ? getPrecisionByNumber(tick) : 2;\n\n if (rule === \"human\") {\n return numberToHumanStyle(\n typeof value === \"number\" ? value : Number(value),\n dp,\n // { padding }\n );\n }\n\n let d = new Decimal(value);\n\n if (abs) {\n d = d.abs();\n }\n\n if (rule === \"percentages\") {\n // return `${d.mul(100).toFixed(2)}%`;\n return rounding(d.mul(100), { dp, rm, padding }) + \"%\";\n }\n const truncatedNum = rounding(d, { dp, rm, padding });\n\n // if (truncate === \"round\") {\n // if (padding) {\n // truncatedNum = d.toFixed(dp, Decimal.ROUND_HALF_EVEN);\n // } else {\n // truncatedNum = d.todp(dp, Decimal.ROUND_HALF_EVEN).toString();\n // }\n // } else {\n // if (padding) {\n // truncatedNum = d.toFixed(dp);\n // } else {\n // truncatedNum = d.todp(dp).toString();\n // }\n // }\n\n if (rule === \"price\") {\n return commify(truncatedNum);\n }\n\n if (truncatedNum?.includes(\"e\")) {\n // If dp is omitted, the return value will be unrounded and in normal notation.\n // https://mikemcl.github.io/decimal.js/#toFixed\n return new Decimal(truncatedNum)?.toFixed();\n }\n\n return truncatedNum;\n};\n\nfunction rounding(\n d: Decimal,\n options: { dp: number; rm: RoundingMode; padding: boolean },\n): string {\n const { dp, rm, padding } = options;\n\n if (rm === \"truncate\") {\n return todpIfNeed(d.toString(), dp);\n }\n\n if (padding) {\n return d.toFixed(dp, rm);\n }\n\n return d.todp(dp, rm).toString();\n}\n\nexport const NumberReg = /^([0-9]{1,}[.]?[0-9]*)/;\n\nexport function formatAddress(address: string, range?: [number, number]) {\n if (address === undefined || address === null) {\n return \"\";\n }\n const [start, end] = range ?? [6, 4];\n const reg = new RegExp(`^(.{${start}})(.*)(.{${end}})$`);\n return `${address.replace(reg, \"$1...$3\")}`;\n}\n","import React, { useMemo, useState } from \"react\";\nimport { format as formatDate, isValid } from \"date-fns\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { TokenIcon } from \"../icon\";\nimport { CopyIcon } from \"../icon/copy\";\nimport { CopyableTextProps, Text, TextElement, TextProps } from \"./text\";\nimport { formatAddress } from \"./utils\";\n\nexport type TextRule = \"date\" | \"address\" | \"symbol\" | \"status\" | \"txId\";\n\nexport const isTextRule = (rule: string): rule is TextRule => {\n return [\"date\", \"address\", \"symbol\", \"status\", \"txId\"].includes(rule);\n};\n\ntype DateText = {\n rule: \"date\";\n /**\n * use date-fns to format the date, default is \"YYYY-MM-DD HH:mm:ss\", more info:\n * @see https://date-fns.org/v3.6.0/docs/format\n */\n formatString?: string;\n};\ntype AddressText = {\n rule: \"address\";\n /**\n * range of the address to show\n * the first number is the length of the start of the address, and the second number is the length of the end of the address\n * @default [6, 4]\n */\n range?: [number, number];\n};\n\ntype BaseText = {\n rule: Omit<TextRule, \"address\" | \"date\">;\n /**\n * capitalize the first letter of the string\n */\n capitalize?: boolean;\n};\n\ntype TxIDText = {\n rule: \"txId\";\n range?: [number, number];\n};\n\ntype SymbolText = {\n rule: \"symbol\";\n // symbolElement?: \"base\" | \"quote\";\n /**\n * symbol format string, like \"type-base-quote\",\n * @default base-quote\n */\n formatString?: string;\n showIcon?: boolean;\n iconSize?: SizeType;\n};\n\nconst DEFAULT_SYMBOL_FORMAT = \"base-quote\";\nconst DEFAULT_DATE_FORMAT = \"yyyy-MM-dd HH:mm:ss\";\n\nexport type FormattedTextProps = TextProps &\n CopyableTextProps & {\n // asChildren?: boolean;\n // rule?: Omit<TextRule, \"status\"|'address'|'date'>;\n loading?: boolean;\n\n suffix?: React.ReactNode;\n prefix?: React.ReactNode;\n showIcon?: boolean;\n } & (\n | BaseText\n | DateText\n | AddressText\n | SymbolText\n | TxIDText\n | { rule?: string }\n );\n\nexport const FormattedText = React.forwardRef<TextElement, FormattedTextProps>(\n (props, ref) => {\n const {\n rule,\n children,\n\n prefix,\n // @ts-ignore\n symbolElement,\n // @ts-ignore\n formatString,\n // @ts-ignore\n range,\n // @ts-ignore\n capitalize,\n copyable,\n copyIconSize,\n onCopy,\n showIcon,\n //@ts-ignore\n iconSize = \"xs\",\n copyIconTestid,\n //@ts-ignore\n isIcon,\n ...rest\n } = props;\n // const Comp = asChildren ? Slot : \"span\";\n //\n const prefixElement = useMemo(() => {\n if (rule === \"symbol\" && showIcon) {\n return <TokenIcon symbol={children as string} size={iconSize} />;\n }\n\n return prefix;\n }, [prefix, showIcon, rule, iconSize, children]);\n\n const suffix = useMemo(() => {\n if (typeof props.suffix !== \"undefined\") {\n return props.suffix;\n }\n if (copyable) {\n return (\n <button\n className=\"oui-cursor-pointer oui-text-sm\"\n data-testid={copyIconTestid}\n onClick={(e) => {\n navigator.clipboard.writeText(children as string);\n onCopy?.(e);\n }}\n >\n <CopyIcon size={copyIconSize ?? 12} color=\"white\" />\n </button>\n );\n }\n }, [props.suffix, copyable, children]);\n\n const content = useMemo(() => {\n if (typeof children === \"undefined\") {\n return \"--\";\n }\n if (typeof rule === \"undefined\") {\n return children;\n }\n if (rule === \"address\" || rule === \"txId\") {\n return formatAddress(\n children as string,\n range ?? (rule === \"address\" ? [6, 4] : [6, 6]),\n );\n }\n if (rule === \"date\") {\n // return new Date(children as string).toLocaleString();\n const date = new Date(children as string | number | Date);\n if (!isValid(date)) {\n return \"Error: Invalid Date\";\n }\n return formatDate(\n new Date(children as string),\n formatString ?? DEFAULT_DATE_FORMAT,\n );\n }\n /**\n * format Orderly symbol\n */\n if (rule === \"symbol\") {\n const arr = (children as string).split(\"_\");\n const type = arr[0];\n const base = arr[1];\n const quote = arr[2];\n\n return (formatString ?? DEFAULT_SYMBOL_FORMAT)\n .replace(\"type\", type)\n .replace(\"base\", base)\n .replace(\"quote\", quote);\n }\n\n // if (rule === \"status\") {\n // const status = children as string;\n // if (status === OrderStatus.NEW || status === OrderStatus.OPEN) {\n // return \"Pending\";\n // }\n // const text = firstLetterToUpperCase(status);\n\n // return text;\n // }\n\n return children;\n }, [children, rule, formatString, range, symbolElement]);\n\n const contentWithFix = useMemo(() => {\n if (\n typeof suffix === \"undefined\" &&\n typeof prefixElement === \"undefined\"\n ) {\n return content;\n }\n return (\n <span className=\"oui-flex oui-items-center oui-gap-1\">\n {prefixElement}\n {content}\n {suffix}\n </span>\n );\n }, [content, suffix, prefixElement]);\n\n return (\n <Text {...rest} ref={ref}>\n {contentWithFix}\n </Text>\n );\n },\n);\n\nFormattedText.displayName = \"FormattedText\";\n","import React from \"react\";\nimport { type VariantProps, tv } from \"tailwind-variants\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst iconVariants = tv({\n variants: {\n color: {\n primary: \"oui-text-primary-darken\",\n success: \"oui-text-success\",\n danger: \"oui-text-danger\",\n warning: \"oui-text-warning-darken\",\n // secondary: \"oui-text-secondary\",\n // tertiary: \"oui-text-tertiary\",\n white: \"oui-text-white\",\n black: \"oui-text-black\",\n inherit: \"oui-text-inherit\",\n // gray: \"oui-text-gray\",\n // darkGray: \"oui-text-darkGray\",\n },\n },\n defaultVariants: {\n color: \"black\",\n },\n});\n\nexport interface BaseIconProps\n extends ComponentPropsWithout<\"svg\", RemovedProps>,\n VariantProps<typeof iconVariants> {\n // width?: number;\n size?: number;\n opacity?: number;\n}\n\nexport const BaseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { size = 24, color, className, children, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n ref={ref}\n className={iconVariants({ className, color })}\n {...rest}\n >\n {children}\n </svg>\n );\n },\n);\n","import { FC, PropsWithChildren, ReactNode, cloneElement, useMemo } from \"react\";\nimport { ChainIcon, ChainIconProps } from \"./chainIcon\";\nimport { TokenIcon, TokenIconProps } from \"./tokenIcon\";\nimport { cnBase } from \"tailwind-variants\";\n\nexport type CombineIconProps = {\n secondary: (ChainIconProps | TokenIconProps) & {\n component?: ReactNode;\n };\n};\n\nexport const CombineIcon: FC<PropsWithChildren<CombineIconProps>> = (props) => {\n const { secondary } = props;\n\n const subElement = useMemo(() => {\n const className =\n \"oui-bg-base-6 oui-absolute oui-bottom-0 oui-right-0 oui-outline oui-outline-2 oui-outline-base-1 oui-z-10\";\n\n if (secondary.component) {\n return (\n <div className={cnBase(className, secondary?.className)}>\n {secondary.component}\n </div>\n );\n }\n\n if (\"chainId\" in secondary) {\n return (\n <ChainIcon\n {...secondary}\n className={cnBase(className, secondary?.className)}\n />\n );\n }\n\n return (\n <TokenIcon\n {...secondary}\n className={cnBase(className, secondary?.className)}\n />\n );\n }, [secondary]);\n\n return (\n <div className=\"oui-relative\">\n {props.children}\n {subElement}\n </div>\n );\n};\n","import { useMemo, type FC } from \"react\";\nimport { Avatar } from \"../avatar\";\n\nexport type ChainIconProps = {\n size?: \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\";\n chainId: string | number;\n className?: string;\n};\n\nexport const ChainIcon: FC<ChainIconProps> = (props) => {\n const url = useMemo(() => {\n return `https://oss.orderly.network/static/network_logo/${props.chainId}.png`;\n }, [props.chainId]);\n return (\n <Avatar\n size={props.size}\n src={url}\n alt={`${props.chainId}`}\n className={props.className}\n />\n );\n};\n","import * as React from \"react\";\nimport { useMemo } from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport makeBlockie from \"ethereum-blockies-base64\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst avatarVariants = tv({\n slots: {\n root: \"oui-relative oui-flex oui-shrink-0 oui-overflow-hidden oui-rounded-full\",\n image: \"oui-aspect-square oui-h-full oui-w-full\",\n fallback:\n \"oui-flex oui-h-full oui-w-full oui-items-center oui-justify-center oui-rounded-full oui-bg-base-2\",\n },\n variants: {\n size: {\n \"2xs\": {\n root: \"oui-w-4 oui-h-4\",\n },\n xs: {\n root: \"oui-w-5 oui-h-5\",\n },\n sm: {\n root: \"oui-w-6 oui-h-6\",\n },\n md: {\n root: \"oui-w-8 oui-h-8\",\n },\n lg: {\n root: \"oui-w-10 oui-h-10\",\n },\n xl: {\n root: \"oui-w-12 oui-h-12\",\n },\n },\n },\n defaultVariants: {\n size: \"sm\",\n },\n});\n\nexport type AvatarSizeType = VariantProps<typeof avatarVariants>[\"size\"];\n\nconst AvatarBase = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> &\n VariantProps<typeof avatarVariants>\n>(({ className, size, ...props }, ref) => {\n const { root } = avatarVariants({ size });\n return (\n <AvatarPrimitive.Root\n ref={ref}\n {...props}\n className={root({ className })}\n />\n );\n});\nAvatarBase.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => {\n const { image } = avatarVariants();\n return (\n <AvatarPrimitive.Image\n ref={ref}\n className={image({ className })}\n {...props}\n />\n );\n});\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => {\n const { fallback } = avatarVariants({ className });\n return (\n <AvatarPrimitive.Fallback ref={ref} className={fallback()} {...props} />\n );\n});\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\ntype AvatarProps = React.ComponentProps<typeof AvatarBase> &\n VariantProps<typeof avatarVariants> & {\n src?: string;\n alt?: string;\n fallback?: React.ReactNode;\n delayMs?: number;\n onLoadingStatusChange?: AvatarPrimitive.AvatarImageProps[\"onLoadingStatusChange\"];\n };\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>((props, ref) => {\n const { size, src, fallback, delayMs, alt, onLoadingStatusChange, ...rest } =\n props;\n return (\n <AvatarBase {...rest} ref={ref} size={size}>\n <AvatarImage\n src={src}\n onLoadingStatusChange={onLoadingStatusChange}\n alt={alt}\n />\n {typeof fallback !== \"undefined\" && (\n <AvatarFallback delayMs={delayMs}>{fallback}</AvatarFallback>\n )}\n </AvatarBase>\n );\n});\n\nconst EVMAvatar = React.forwardRef<\n React.ElementRef<typeof Avatar>,\n AvatarProps & {\n address: string;\n }\n>((props, ref) => {\n const { address, ...rest } = props;\n const src = useMemo(() => makeBlockie(address), [props.address]);\n return <Avatar {...rest} src={src} />;\n});\n\nexport {\n AvatarBase,\n AvatarImage,\n AvatarFallback,\n Avatar,\n EVMAvatar,\n avatarVariants,\n};\n","import { FC, useMemo } from \"react\";\nimport { Avatar } from \"../avatar\";\nimport { AvatarSizeType } from \"../avatar/avatar\";\n\nexport type TokenIconProps = {\n size?: AvatarSizeType;\n name?: string;\n symbol?: string;\n className?: string;\n};\n\nexport const TokenIcon: FC<TokenIconProps> = (props) => {\n const url = useMemo(() => {\n let name = props.name;\n if (typeof props.symbol === \"string\") {\n const arr = props.symbol?.split(\"_\");\n name = arr[1];\n }\n return `https://oss.orderly.network/static/symbol_logo/${name}.png`;\n }, [props.name, props.symbol]);\n\n return (\n <Avatar\n size={props.size}\n src={url}\n alt={props.name}\n className={props.className}\n />\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M4.994 3.906c-.256 0-.523.086-.718.281a1.029 1.029 0 0 0 0 1.438l6.28 6.281-6.28 6.281a1.029 1.029 0 0 0 0 1.438c.39.39 1.047.39 1.437 0l6.281-6.28 6.282 6.28c.39.39 1.047.39 1.437 0 .39-.39.39-1.047 0-1.438l-6.281-6.28 6.281-6.282c.39-.39.39-1.047 0-1.438a1.013 1.013 0 0 0-.719-.28c-.256 0-.523.085-.718.28l-6.282 6.281-6.28-6.28a1.013 1.013 0 0 0-.72-.282Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCloseIcon.displayName = \"CloseIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CheckIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIconWithPath\n d=\"M19.018 5.997c-.256 0-.523.084-.718.276l-8.707 8.594c-.257.253-.515.206-.717-.092l-2.996-4.42a1.034 1.034 0 0 0-1.405-.276.996.996 0 0 0-.28 1.38l2.995 4.42c.902 1.33 2.659 1.499 3.808.369l8.738-8.563a1 1 0 0 0 0-1.412 1.02 1.02 0 0 0-.718-.276Z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nCheckIcon.displayName = \"CheckIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport interface BaseIconWithPathProps extends BaseIconProps {\n d: string;\n}\n\nexport const BaseIconWithPath = React.forwardRef<\n SVGSVGElement,\n BaseIconWithPathProps\n>((props, ref) => {\n const { opacity = 0.54, d, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d={d}\n />\n </BaseIcon>\n );\n});\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronDownIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M5.827 9.03c-.25.05-.502.175-.655.404a1.019 1.019 0 0 0 .28 1.401l5.992 3.985c.334.223.787.223 1.122 0l5.992-3.985c.459-.305.587-.943.28-1.4a1.023 1.023 0 0 0-1.404-.28l-5.43 3.61-5.428-3.61c-.23-.154-.498-.176-.75-.126Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronDownIcon.displayName = \"ChevronDownIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"m11.443 9.17-5.991 3.986a1.02 1.02 0 0 0-.28 1.4c.305.458.945.586 1.404.281l5.429-3.612 5.428 3.612a1.025 1.025 0 0 0 1.404-.28 1.02 1.02 0 0 0-.28-1.401l-5.99-3.986a1.028 1.028 0 0 0-1.124 0Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronUpIcon.displayName = \"ChevronUpIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.017 5.997c-.3 0-.612.14-.812.406l-6 8c-.495.66-.012 1.594.812 1.594h12c.824 0 1.307-.935.812-1.594l-6-8a1.022 1.022 0 0 0-.812-.406Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretUpIcon.displayName = \"CaretUpIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CaretDownIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.007 7.996c-.824 0-1.276.935-.781 1.594l6 8a.994.994 0 0 0 1.593 0l6-8c.495-.66.012-1.594-.812-1.594h-12Z\"\n />\n );\n }\n);\n\nCaretDownIcon.displayName = \"CaretDownIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretLeftIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M15.475 5.113a1.014 1.014 0 0 0-1.063.094l-8 6a1.025 1.025 0 0 0 0 1.624l8 6c.659.495 1.594.012 1.594-.812v-12c0-.412-.214-.747-.531-.906Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretLeftIcon.displayName = \"CaretLeftIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CaretRightIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.558 5.113a1.015 1.015 0 0 0-.562.906v12c0 .824.966 1.307 1.625.812l8-6c.533-.4.533-1.224 0-1.624l-8-6a1.014 1.014 0 0 0-1.063-.094Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCaretRightIcon.displayName = \"CaretRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ChevronLeftIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M13.778 5.022c-.25.05-.5.176-.653.406l-3.986 6a1.03 1.03 0 0 0 0 1.125l3.986 6c.305.459.943.588 1.401.28.457-.305.585-.946.28-1.405l-3.612-5.438 3.612-5.437c.305-.46.177-1.1-.28-1.406-.229-.154-.498-.176-.748-.125Z\"\n />\n );\n }\n);\n\nChevronLeftIcon.displayName = \"ChevronLeftIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ChevronRightIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M10.166 5.022c-.25-.051-.519-.03-.748.125a1.027 1.027 0 0 0-.28 1.406l3.612 5.437-3.612 5.438c-.305.459-.177 1.1.28 1.406a1.019 1.019 0 0 0 1.401-.281l3.986-6a1.03 1.03 0 0 0 0-1.125l-3.986-6c-.152-.23-.403-.356-.653-.406Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nChevronRightIcon.displayName = \"ChevronRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CalendarMinusIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M9.67364 2.34985C9.02964 2.34985 8.50697 2.87252 8.50697 3.51652C5.9298 3.51652 3.8403 5.60602 3.8403 8.18319V19.8499C3.8403 22.427 5.9298 24.5165 8.50697 24.5165H20.1736C22.7508 24.5165 24.8403 22.427 24.8403 19.8499V8.18319C24.8403 5.60602 22.7508 3.51652 20.1736 3.51652C20.1736 2.87252 19.651 2.34985 19.007 2.34985C18.363 2.34985 17.8403 2.87252 17.8403 3.51652H10.8403C10.8403 2.87252 10.3176 2.34985 9.67364 2.34985ZM8.50697 5.84985H20.1736C21.4628 5.84985 22.507 6.89402 22.507 8.18319V19.8499C22.507 21.139 21.4628 22.1832 20.1736 22.1832H8.50697C7.2178 22.1832 6.17364 21.139 6.17364 19.8499V8.18319C6.17364 6.89402 7.2178 5.84985 8.50697 5.84985ZM9.67364 8.18319C9.02964 8.18319 8.50697 8.70585 8.50697 9.34985C8.50697 9.99385 9.02964 10.5165 9.67364 10.5165H19.007C19.651 10.5165 20.1736 9.99385 20.1736 9.34985C20.1736 8.70585 19.651 8.18319 19.007 8.18319H9.67364ZM12.007 15.1832C11.363 15.1832 10.8403 15.7059 10.8403 16.3499C10.8403 16.9939 11.363 17.5165 12.007 17.5165H16.6736C17.3176 17.5165 17.8403 16.9939 17.8403 16.3499C17.8403 15.7059 17.3176 15.1832 16.6736 15.1832H12.007Z\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nCalendarMinusIcon.displayName = \"CalendarMinusIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SettingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.968 2.455a9.671 9.671 0 0 0-3.72 2.188c-.332.31-.434.818-.218 1.218.8 1.481-.037 3.066-1.844 3.157-.442.022-.833.35-.937.781a8.71 8.71 0 0 0-.25 2.188c0 .687.074 1.464.219 2.156.09.432.466.743.906.781 1.818.158 2.718 1.544 1.906 3.313-.18.393-.098.863.219 1.157 1.062.982 2.282 1.675 3.719 2.125.41.128.873-.027 1.125-.375 1.112-1.54 2.725-1.544 3.78 0 .25.363.706.538 1.126.405a10.1 10.1 0 0 0 3.75-2.155c.33-.301.417-.788.219-1.188-.832-1.68.125-3.22 1.843-3.25.456-.008.862-.307.969-.75.173-.717.219-1.341.219-2.22 0-.754-.09-1.497-.25-2.218a.994.994 0 0 0-.97-.782c-1.69-.003-2.638-1.665-1.811-3.125a.977.977 0 0 0-.188-1.218c-1.09-.99-2.42-1.764-3.812-2.188a.986.986 0 0 0-1.125.406c-.966 1.501-2.77 1.527-3.72.032a1.023 1.023 0 0 0-1.155-.438Zm6.078 2.124a7.904 7.904 0 0 1 1.84 1.054c-.725 2.297.506 4.683 3.056 5.265.063.412.057.662.057 1.088 0 .51.007.688-.051 1.056-2.54.527-3.795 2.845-3.088 5.296-.608.441-1.043.747-1.806 1.043-1.792-1.825-4.28-1.904-6.11.011-.714-.314-1.263-.593-1.818-1.061.688-2.49-.475-4.638-3.057-5.29-.115-.457-.07-1.745-.003-2.136 2.67-.64 3.722-3.003 3.059-5.279.586-.44 1.113-.762 1.798-1.04 1.725 1.755 4.315 1.93 6.123-.007Zm-3.047 3.407a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nSettingIcon.displayName = \"SettingIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M7.006 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm2 5c.256 0 .523.086.719.28l2.28 2.282 2.282-2.281c.195-.195.463-.281.719-.281.256 0 .523.086.719.28a1.03 1.03 0 0 1 0 1.439l-2.281 2.28 2.28 2.282a1.03 1.03 0 0 1 0 1.438 1.03 1.03 0 0 1-1.437 0l-2.281-2.281-2.281 2.28a1.03 1.03 0 0 1-1.438 0 1.03 1.03 0 0 1 0-1.437l2.28-2.281-2.28-2.281a1.03 1.03 0 0 1 0-1.438c.195-.195.463-.281.719-.281Z\"\n />\n </BaseIcon>\n );\n});\n\nCloseSquareFillIcon.displayName = \"CloseSquareFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CloseCircleFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M11.999 1.953c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm-3 6c.256 0 .523.086.719.281l2.28 2.281 2.282-2.28c.196-.196.463-.282.719-.282.256 0 .523.086.719.281a1.03 1.03 0 0 1 0 1.438l-2.281 2.281 2.28 2.281a1.03 1.03 0 0 1 0 1.438 1.03 1.03 0 0 1-1.437 0l-2.281-2.28-2.281 2.28a1.03 1.03 0 0 1-1.438 0 1.029 1.029 0 0 1 0-1.438l2.28-2.28-2.28-2.282a1.029 1.029 0 0 1 0-1.438c.196-.195.463-.28.719-.28Z\"\n />\n </BaseIcon>\n );\n});\n\nCloseCircleFillIcon.displayName = \"CloseCircleFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CheckedCircleFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n // const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M2.014 11.999c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10-10-4.477-10-10Zm14.971-4.687c.227-.217.539-.312.837-.312.298 0 .61.095.836.312a1.102 1.102 0 0 1 0 1.595l-8.15 7.768a1.24 1.24 0 0 1-1.673 0l-3.494-3.33a1.104 1.104 0 0 1 0-1.594 1.24 1.24 0 0 1 1.674 0l2.656 2.531 7.314-6.97Z\"\n ></BaseIconWithPath>\n );\n});\n\nCheckedCircleFillIcon.displayName = \"CheckedCircleFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CheckedSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm9.995 4.382c.227-.217.539-.312.837-.312.298 0 .61.095.836.312a1.102 1.102 0 0 1 0 1.595l-8.15 7.768a1.24 1.24 0 0 1-1.673 0l-3.494-3.33a1.104 1.104 0 0 1 0-1.594 1.24 1.24 0 0 1 1.674 0l2.656 2.531 7.314-6.97Z\"\n />\n </BaseIcon>\n );\n});\n\nCheckedSquareFillIcon.displayName = \"CheckSquareFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nconst CheckSquareEmptyIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n fillRule=\"evenodd\"\n clipRule={\"evenodd\"}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm0 2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-10a2 2 0 0 1 2-2Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nCheckSquareEmptyIcon.displayName = \"CheckSquareEmptyIcon\";\n\nexport { CheckSquareEmptyIcon };\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PlusIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M11.99 2.93a1 1 0 0 0-1 1v7h-7a1 1 0 0 0 0 2h7v7a1 1 0 0 0 2 0v-7h7a1 1 0 0 0 0-2h-7v-7a1 1 0 0 0-1-1Z\"\n />\n </BaseIcon>\n );\n },\n);\n\nPlusIcon.displayName = \"PlusIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ReduceIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <rect\n x=\"4\"\n y=\"11\"\n width=\"16\"\n height=\"1.5\"\n rx=\"0.666667\"\n fill=\"currentcolor\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n },\n);\n\nReduceIcon.displayName = \"ReduceIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const CircleOutlinedIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.014 1.999c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z\"\n />\n </BaseIcon>\n );\n});\n\nCircleOutlinedIcon.displayName = \"CircleOutlinedIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SquareOutlinedIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M6.99 2.93a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10a4 4 0 0 0-4-4h-10Zm0 2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-10a2 2 0 0 1 2-2Z\"\n />\n </BaseIcon>\n );\n});\n\nSquareOutlinedIcon.displayName = \"SquareOutlinedIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ExclamationFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n d=\"M12.014 1.999c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 5a1 1 0 0 1 1 1v5a1 1 0 0 1-2 0v-5a1 1 0 0 1 1-1Zm0 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"\n />\n </BaseIcon>\n );\n});\n\nExclamationFillIcon.displayName = \"ExclamationFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const QuestionFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.014 1.953c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10Zm0 5a3.006 3.006 0 0 1 3 3c.004 1.11-.516 2.044-1.375 2.906-.18.181-.353.355-.563.532-.099.084-.376.287-.406.312-.422.356-1.05.33-1.406-.094a1.035 1.035 0 0 1 .125-1.437l.375-.313c.168-.14.335-.272.47-.406.518-.522.782-1.022.78-1.5a1 1 0 0 0-1.969-.25c-.14.534-.685.86-1.219.72a1.034 1.034 0 0 1-.718-1.25 2.995 2.995 0 0 1 2.906-2.22Zm0 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nQuestionFillIcon.displayName = \"ExclamationFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowLeftRightIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M21.995 16.007c0-.256-.086-.523-.28-.719l-3.72-3.687-1.406 1.406 1.968 2H3.995a1 1 0 000 2h14.562l-1.968 2 1.406 1.406 3.72-3.687c.194-.196.28-.463.28-.719zm-1-8a1 1 0 00-1-1H5.432l1.97-2-1.407-1.406-3.719 3.687a1.03 1.03 0 000 1.438l3.72 3.687L7.4 11.007l-1.969-2h14.563a1 1 0 001-1z\"\n ref={ref}\n {...props}\n />\n );\n});\n\nArrowLeftRightIcon.displayName = \"ArrowLeftRightIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowDownUpIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M16.007 2.014c-.256 0-.523.086-.718.281L11.6 6.015l1.406 1.405 2-1.968v14.562a1 1 0 002 0V5.452l2 1.968 1.407-1.406-3.688-3.719a1.012 1.012 0 00-.719-.28zm-8 1a1 1 0 00-1 1v14.562l-2-1.968-1.406 1.406 3.688 3.72c.39.39 1.047.39 1.437 0l3.688-3.72-1.407-1.406-2 1.968V4.014a1 1 0 00-1-1z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nArrowDownUpIcon.displayName = \"ArrowDownUpIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowUpSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.99 20.99a4 4 0 01-4-4v-10a4 4 0 014-4h10a4 4 0 014 4v10a4 4 0 01-4 4h-10zm5-4a1 1 0 001-1v-5h3l-4-4-4 4h3v5a1 1 0 001 1z\"\n ></BaseIconWithPath>\n );\n});\n\nArrowUpSquareFillIcon.displayName = \"ArrowUpSquareFillIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ArrowDownSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M6.99 2.99a4 4 0 00-4 4v10a4 4 0 004 4h10a4 4 0 004-4v-10a4 4 0 00-4-4h-10zm5 4a1 1 0 011 1v5h3l-4 4-4-4h3v-5a1 1 0 011-1z\"\n />\n </BaseIcon>\n );\n});\n\nArrowDownSquareFillIcon.displayName = \"ArrowDownSquareFillIconIcon\";\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const ArrowLeftRightSquareFill = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.74463 4.07796C1.74463 2.78938 2.78938 1.74463 4.07796 1.74463H9.9113C11.1999 1.74463 12.2446 2.78938 12.2446 4.07796V9.9113C12.2446 11.1999 11.1999 12.2446 9.9113 12.2446H4.07796C2.78938 12.2446 1.74463 11.1999 1.74463 9.9113V4.07796ZM6.5 5.5C6.224 5.5 6 5.724 6 6C6 6.276 6.224 6.5 6.5 6.5H9V8L11 6L9 4V5.5H6.5ZM7.5 7.5C7.776 7.5 8 7.724 8 8C8 8.276 7.776 8.5 7.5 8.5H5V10L3 8L5 6V7.5H7.5Z\"\n />\n </svg>\n );\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n ArrowLeftRightSquareFill.displayName = \"ArrowLeftRightSquareFill\";\n}\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowRightUpSquareFillIcon = React.forwardRef<\n SVGSVGElement,\n BaseIconProps\n>((props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M12.7432 15.743C14.3999 15.743 15.7432 14.3998 15.7432 12.743V5.24304C15.7432 3.58629 14.3999 2.24304 12.7432 2.24304H5.24316C3.58641 2.24304 2.24316 3.58629 2.24316 5.24304V12.743C2.24316 14.3998 3.58641 15.743 5.24316 15.743H12.7432ZM6.74316 11.993C6.55116 11.993 6.35092 11.9285 6.20392 11.7823C5.91142 11.489 5.91142 10.997 6.20392 10.7038L9.20392 7.7038L7.49316 5.99304H11.9932V10.493L10.2824 8.78229L7.28241 11.7823C7.13616 11.9285 6.93516 11.993 6.74316 11.993Z\"\n ref={ref}\n {...props}\n />\n );\n});\n\nArrowRightUpSquareFillIcon.displayName = \"ArrowRightUpSquareFillIcon\";\n","export const AssetIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.9004 5H12.9004V6.59961L13.5 6.90039C13.8 7.10039 14.1008 7.29961 14.3008 7.59961C14.5008 7.89961 14.7008 8.19961 14.8008 8.59961C14.9008 8.99961 15 9.40039 15 9.90039H13.0996C13.0996 9.30039 13.0008 8.89961 12.8008 8.59961C12.6008 8.29961 12.4 8.19922 12 8.19922C11.8 8.19922 11.6 8.20078 11.5 8.30078L11.1992 8.59961C11.0992 8.69961 11.1 8.9 11 9C10.9 9.1 10.9004 9.3 10.9004 9.5C10.9004 9.7 11 9.8 11 10C11 10.2 11.0992 10.3004 11.1992 10.4004C11.2992 10.6004 11.3996 10.7008 11.5996 10.8008C11.6996 10.9008 11.8992 10.9996 12.1992 11.0996C12.5992 11.2996 13.0008 11.4992 13.3008 11.6992C13.7008 11.8992 13.9992 12.1004 14.1992 12.4004C14.4992 12.7004 14.7008 13.0008 14.8008 13.3008C14.9008 13.6008 15 14 15 14.5C15 15 14.9008 15.3992 14.8008 15.6992C14.7008 16.0992 14.5008 16.2996 14.3008 16.5996C14.1008 16.7996 13.8 16.9992 13.5 17.1992C13.3 17.2992 13.2 17.4004 13 17.4004V19H11V17.3008C10.8 17.2008 10.6004 17.1996 10.4004 17.0996C10.0004 16.9996 9.8 16.8 9.5 16.5C9.3 16.3 9.10039 15.9 8.90039 15.5C8.80039 15 8.69922 14.5004 8.69922 13.9004H10.6992C10.6992 14.2004 10.7008 14.5008 10.8008 14.8008C10.9008 15.1008 10.9996 15.3004 11.0996 15.4004C11.1996 15.5004 11.3 15.5992 11.5 15.6992C11.7 15.7992 11.8 15.8008 12 15.8008C12.2 15.8008 12.3 15.7992 12.5 15.6992C12.7 15.5992 12.8004 15.5004 12.9004 15.4004C13.0004 15.3004 12.9996 15.2 13.0996 15C13.1996 14.9 13.1992 14.7 13.1992 14.5C13.1992 14.3 13.0996 14.1 13.0996 14C13.0996 13.9 13.0004 13.6996 12.9004 13.5996C12.8004 13.3996 12.7 13.2992 12.5 13.1992L11.9004 12.9004C11.5004 12.7004 11.1008 12.5008 10.8008 12.3008C10.4008 12.1008 10.1004 11.8996 9.90039 11.5996C9.60039 11.3996 9.40078 11.0992 9.30078 10.6992C9.20078 10.3992 9.09961 10 9.09961 9.5C9.09961 9.1 9.09922 8.70039 9.19922 8.40039C9.39922 8.10039 9.50078 7.8 9.80078 7.5C10.0008 7.2 10.2004 7.00039 10.4004 6.90039C10.6004 6.80039 10.7004 6.69922 10.9004 6.69922V5Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"9\"\n stroke=\"white\"\n strokeOpacity={0.8}\n strokeWidth=\"2\"\n />\n </svg>\n );\n};\n","export const BarChartIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M18.0142 3.9978C16.9092 3.9978 16.0142 4.8928 16.0142 5.9978V17.9978C16.0142 19.1028 16.9092 19.9978 18.0142 19.9978H20.0142C21.1192 19.9978 22.0142 19.1028 22.0142 17.9978V5.9978C22.0142 4.8928 21.1192 3.9978 20.0142 3.9978H18.0142ZM18.0142 5.9978H20.0142V17.9978H18.0142V5.9978ZM11.0142 7.9978C9.90917 7.9978 9.01416 8.8928 9.01416 9.9978V17.9978C9.01416 19.1028 9.90917 19.9978 11.0142 19.9978H13.0142C14.1192 19.9978 15.0142 19.1028 15.0142 17.9978V9.9978C15.0142 8.8928 14.1192 7.9978 13.0142 7.9978H11.0142ZM11.0142 9.9978H13.0142V17.9978H11.0142V9.9978ZM4.01416 11.9978C2.90916 11.9978 2.01416 12.8928 2.01416 13.9978V17.9978C2.01416 19.1028 2.90916 19.9978 4.01416 19.9978H6.01416C7.11916 19.9978 8.01416 19.1028 8.01416 17.9978V13.9978C8.01416 12.8928 7.11916 11.9978 6.01416 11.9978H4.01416ZM4.01416 13.9978H6.01416V17.9978H4.01416V13.9978Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","export const BattleIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.59485 3L4.43619 6.47708L9.86872 11.7606L7.84097 13.9847L7.13438 13.2513L5.94468 14.4805L6.69071 15.2513L4.58079 17.5637L4.1897 17.163L3 18.3922L5.52401 21L6.71371 19.7708L6.32262 19.3667L8.56399 17.1902L9.31002 17.9576L10.4997 16.7284L9.79314 15.9983L12.0082 13.8387L14.2167 15.9881L13.5003 16.7284L14.69 17.9576L15.4426 17.18L17.684 19.3565L17.283 19.7708L18.476 21L21 18.3922L19.8103 17.163L19.4291 17.5569L17.3192 15.2411L18.0553 14.4805L16.8656 13.2513L16.1656 13.9745L14.1477 11.7606L14.151 11.7572L12.0082 9.41087L6.9602 3.86927L3.59485 3ZM20.4216 3L17.0562 3.86927L12.9777 8.34465L15.2454 10.691L19.5802 6.47708L20.4216 3Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const FeeTierIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M7.998 2.014a4 4 0 00-4 4v12a4 4 0 004 4h8a4 4 0 004-4v-12a4 4 0 00-4-4h-8zm0 2h8a2 2 0 012 2v12a2 2 0 01-2 2h-8a2 2 0 01-2-2v-12a2 2 0 012-2zm1 2a1 1 0 00-1 1v1a1 1 0 001 1h6a1 1 0 001-1v-1a1 1 0 00-1-1h-6zm0 4a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm-6 3a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 00-1 1v3a1 1 0 002 0v-3a1 1 0 00-1-1zm-6 3a1 1 0 100 2 1 1 0 000-2zm3 0a1 1 0 100 2 1 1 0 000-2z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nFeeTierIcon.displayName = \"FeeTierIconIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EditIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M16.995 1.953a1.02 1.02 0 00-.719.281l-3 3.002-9.006 9.005-1 1c-.14.14-.212.338-.25.532l-1 5.003a.974.974 0 001.155 1.157l5.003-1c.194-.04.392-.112.532-.25l1-1.002 9.005-9.005c.445-.444 2.447-2.446 3.003-3a1.02 1.02 0 00.28-.72c0-1.637-.417-2.807-1.282-3.69-.873-.89-2.039-1.313-3.72-1.313zm.395 2.02c.902.052 1.488.26 1.889.67.41.417.669.997.724 1.882-.547.547-1.35 1.337-2.006 1.994l-2.565-2.564c.658-.657 1.41-1.436 1.958-1.983zm-3.396 3.42l2.564 2.564-7.567 7.567-2.564-2.564 7.568-7.567zM4.99 16.398l2.564 2.564-.094.094c-.66.132-1.993.411-3.22.657l.656-3.22.094-.095z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEditIcon.displayName = \"EditIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EyeIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.001 3.998c-2.959 0-5.452 1.454-7.5 3.844a16.652 16.652 0 00-1.812 2.562c-.302.528-.486.936-.594 1.188a1.058 1.058 0 000 .812c.108.252.292.66.594 1.188a16.652 16.652 0 001.812 2.562c2.048 2.39 4.541 3.844 7.5 3.844 2.96 0 5.452-1.454 7.5-3.844a16.652 16.652 0 001.812-2.562c.302-.528.486-.936.594-1.188a1.058 1.058 0 000-.812c-.108-.252-.292-.66-.594-1.188a16.652 16.652 0 00-1.812-2.562c-2.048-2.39-4.54-3.844-7.5-3.844zm0 4a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 3.999 2 2 0 000-4z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEyeIcon.displayName = \"EyeIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ShareIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M16.998 1.953a3 3 0 0 0-3 3c0 .257.04.577.102.815L8.747 9.504a3.25 3.25 0 0 0-1.75-.55 3 3 0 1 0 0 6c.633 0 1.257-.236 1.74-.569l5.365 3.766a3.2 3.2 0 0 0-.104.802 3 3 0 1 0 3-3c-.632 0-1.248.228-1.731.562l-5.378-3.763a3.2 3.2 0 0 0 .109-.799c0-.268-.038-.557-.104-.804l5.365-3.752c.479.323 1.118.556 1.739.556a3 3 0 1 0 0-6\"\n />\n </BaseIcon>\n );\n }\n);\n\nShareIcon.displayName = \"ShareIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const EyeCloseIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.001 3.998c-2.959-.007-5.452 1.454-7.5 3.844a16.654 16.654 0 00-1.812 2.562c-.302.528-.486.936-.594 1.188a1.058 1.058 0 000 .812c.108.252.292.66.594 1.188.401.703.87 1.419 1.406 2.094.085.107.76.873 1.344 1.468l-1.157 1.125a1.03 1.03 0 000 1.438 1.03 1.03 0 001.438 0l14-14a1.03 1.03 0 000-1.438 1.014 1.014 0 00-.719-.281c-.256 0-.523.086-.719.28l-1.28 1.314c-1.654-1.106-3.298-1.59-5-1.594zm0 4c.518 0 1.31.137 2.031.562l-1.53 1.532c-.158-.082-.457-.094-.5-.094a2 2 0 00-2 2c0 .044-.015.347.03.53-.192.234-1.5 1.5-1.5 1.5a4.204 4.204 0 01-.53-2.03c-.012-2.21 1.79-4 4-4zm7.938.344s-9.755 9.718-11.063 11.03c1.44.572 2.918.626 3.125.626 2.96 0 5.452-1.454 7.5-3.844a16.652 16.652 0 001.812-2.562c.302-.528.486-.936.594-1.188a1.04 1.04 0 000-.812c-.227-.52-.654-1.347-1.312-2.313-.177-.26-.656-.937-.656-.937z\"\n />\n </BaseIcon>\n );\n }\n);\n\nEyeCloseIcon.displayName = \"EyeCloseIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const RefreshIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12.007 2.99a9 9 0 0 0-5.594 1.94 1 1 0 1 0 1.25 1.562 6.97 6.97 0 0 1 4.344-1.5 7 7 0 0 1 7 7h-2l3 4 3-4h-2a9 9 0 0 0-9-9m-8 5-3 4h2a9 9 0 0 0 9 9 9 9 0 0 0 5.594-1.937 1 1 0 1 0-1.25-1.562 6.96 6.96 0 0 1-4.344 1.5 7 7 0 0 1-7-7h2z\"\n />\n </BaseIcon>\n );\n }\n);\n\nRefreshIcon.displayName = \"RefreshIcon\";\n","import { BaseIcon } from \"./baseIcon\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const OrderlyIcon = (props: BaseIconProps) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { BaseIcon } from \"./baseIcon\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const EsOrderlyIcon = (props: BaseIconProps) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const InfoCircleIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { className, opacity = 0.36, ...rest } = props;\n return (\n <svg\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n opacity={opacity}\n className={className}\n ref={ref}\n {...rest}\n >\n <path\n d=\"M7.99925 1.84277C4.31738 1.84277 1.33258 4.82744 1.33258 8.50944C1.33258 12.1914 4.31738 15.1761 7.99925 15.1761C11.6811 15.1761 14.6659 12.1914 14.6659 8.50944C14.6659 4.82744 11.6811 1.84277 7.99925 1.84277ZM7.99925 5.17611C8.36745 5.17611 8.66591 5.47477 8.66591 5.84277C8.66591 6.21077 8.36745 6.50944 7.99925 6.50944C7.63105 6.50944 7.33258 6.21077 7.33258 5.84277C7.33258 5.47477 7.63105 5.17611 7.99925 5.17611ZM7.99925 7.17611C8.36745 7.17611 8.66591 7.47477 8.66591 7.84277V11.1761C8.66591 11.5441 8.36745 11.8428 7.99925 11.8428C7.63105 11.8428 7.33258 11.5441 7.33258 11.1761V7.84277C7.33258 7.47477 7.63105 7.17611 7.99925 7.17611Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n },\n);\n","import { useMemo, type FC } from \"react\";\nimport { Avatar, AvatarBase, avatarVariants } from \"../avatar/avatar\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nexport type WalletIconProps = {\n name: string;\n} & Pick<VariantProps<typeof avatarVariants>, \"size\">;\n\nexport const WalletIcon: FC<WalletIconProps> = (props) => {\n const url = useMemo(() => {\n const split = props.name?.split(\" \");\n const formatWalletName = split?.[0]?.toLowerCase();\n return `https://oss.orderly.network/static/wallet_icon/${formatWalletName}.png`;\n }, [props.name]);\n return <Avatar size={props.size} src={url} alt={`${props.name}`} />;\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CalendarIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M8.006 2.014a1 1 0 0 0-1 1 4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-10c0-2.205-1.792-4-4-4a1 1 0 0 0-2 0h-6a1 1 0 0 0-1-1Zm-1 3a1 1 0 0 0 2 0h6a1 1 0 0 0 2 0 2 2 0 0 1 2 2v1h-14v-1a2 2 0 0 1 2-2Zm-2 5h14v7a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2v-7Zm3 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-8 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nCalendarIcon.displayName = \"CaretLeftIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const CopyIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n ref={ref}\n {...props}\n d=\"M6.998 2.99a4 4 0 00-4 4v6a4 4 0 004 4 4 4 0 004 4h6a4 4 0 004-4v-6a4 4 0 00-4-4 4 4 0 00-4-4h-6zm10 6a2 2 0 012 2v6a2 2 0 01-2 2h-6a2 2 0 01-2-2h4a4 4 0 004-4v-4z\"\n />\n );\n }\n);\n\nCopyIcon.displayName = \"CopyIcon\";\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ServerFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.998 1.953c-4.362 0-8 1.56-8 4s3.638 4 8 4 8-1.559 8-4-3.638-4-8-4m-8 7.625v2.375c0 2.441 3.638 4 8 4s8-1.559 8-4V9.578c-1.814 1.49-4.642 2.375-8 2.375s-6.186-.885-8-2.375m0 6v2.375c0 2.441 3.638 4 8 4s8-1.559 8-4v-2.375c-1.814 1.49-4.642 2.375-8 2.375s-6.186-.885-8-2.375\"\n ref={ref}\n {...props}\n />\n );\n },\n);\n\nServerFillIcon.displayName = \"ServerFillIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingAscIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325\"\n fill=\"currentcolor\"\n fillOpacity=\".98\"\n />\n <path\n d=\"M12 21.5c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n fill=\"currentcolor\"\n fillOpacity=\".36\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingAscIcon.displayName = \"SortingAscIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingDescIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325\"\n fill=\"currentcolor\"\n fillOpacity=\".36\"\n />\n <path\n d=\"M12 21.5c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n fill=\"currentcolor\"\n fillOpacity=\".98\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingDescIcon.displayName = \"SortingDescIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\nimport { BaseIconWithPath } from \"./baseIconWithPath\";\n\nexport const ArrowUpShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.993 18.012a1 1 0 0 1-.999-.999V9.458l-2.997 2.966-1.405-1.405 4.683-4.714a1 1 0 0 1 .72-.293c.26 0 .521.098.716.293l4.683 4.714-1.405 1.405-2.997-2.966v7.555a1 1 0 0 1-.999.999\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\n\nexport const ArrowDownShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M11.993 6.012a1 1 0 0 0-1 .999v7.555L7.998 11.6l-1.405 1.405 4.683 4.714c.195.196.457.293.719.293.26 0 .522-.098.717-.293l4.683-4.714L15.99 11.6l-2.997 2.966V7.011a1 1 0 0 0-1-.999\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nexport const ArrowLeftShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M18.012 11.993a1 1 0 0 0-.999-1H9.458l2.966-2.996-1.405-1.405-4.714 4.683a1 1 0 0 0-.293.719c0 .26.098.522.293.717l4.714 4.683 1.405-1.405-2.966-2.997h7.555a1 1 0 0 0 .999-1\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nexport const ArrowRightShortIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <BaseIconWithPath\n d=\"M6.012 11.993a1 1 0 0 1 .999-1h7.555L11.6 7.998l1.405-1.405 4.714 4.683c.196.195.293.457.293.719 0 .26-.098.522-.293.717l-4.714 4.683L11.6 15.99l2.966-2.997H7.011a1 1 0 0 1-.999-1\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n\nArrowUpShortIcon.displayName = \"ArrowUpShortIcon\";\nArrowDownShortIcon.displayName = \"ArrowDownShortIcon\";\nArrowLeftShortIcon.displayName = \"ArrowLeftShortIcon\";\nArrowRightShortIcon.displayName = \"ArrowRightShortIcon\";\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SortingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M12 2.5c-.3 0-.611.112-.81.325l-5.99 6.4c-.495.527-.013 1.275.81 1.275h11.98c.823 0 1.305-.748.81-1.275l-5.99-6.4c-.198-.213-.51-.325-.81-.325m0 19c-.3 0-.611-.112-.81-.325l-5.99-6.4c-.495-.527-.013-1.275.81-1.275h11.98c.823 0 1.305.748.81 1.275l-5.99 6.4c-.198.213-.51.325-.81.325\"\n />\n </BaseIcon>\n );\n }\n);\n\nSortingIcon.displayName = \"SortingIconIcon\";\n","import { FC } from \"react\";\n\nexport const TraderMobileIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g>\n <path\n d=\"M1.33301 18.6668C1.33301 17.9304 1.92996 17.3335 2.66634 17.3335H5.33301C6.06939 17.3335 6.66634 17.9304 6.66634 18.6668V28.0002C6.66634 28.7365 6.06939 29.3335 5.33301 29.3335H2.66634C1.92996 29.3335 1.33301 28.7365 1.33301 28.0002V18.6668Z\"\n fill=\"url(#paint0_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.33301 18.0002H2.66634C2.29815 18.0002 1.99967 18.2986 1.99967 18.6668V28.0002C1.99967 28.3684 2.29815 28.6668 2.66634 28.6668H5.33301C5.7012 28.6668 5.99967 28.3684 5.99967 28.0002V18.6668C5.99967 18.2986 5.7012 18.0002 5.33301 18.0002ZM2.66634 17.3335C1.92996 17.3335 1.33301 17.9304 1.33301 18.6668V28.0002C1.33301 28.7365 1.92996 29.3335 2.66634 29.3335H5.33301C6.06939 29.3335 6.66634 28.7365 6.66634 28.0002V18.6668C6.66634 17.9304 6.06939 17.3335 5.33301 17.3335H2.66634Z\"\n fill=\"url(#paint1_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M9.33301 12.0001C9.33301 11.2637 9.92996 10.6667 10.6663 10.6667H13.333C14.0694 10.6667 14.6663 11.2637 14.6663 12.0001V28.0001C14.6663 28.7365 14.0694 29.3334 13.333 29.3334H10.6663C9.92996 29.3334 9.33301 28.7365 9.33301 28.0001V12.0001Z\"\n fill=\"url(#paint2_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.333 11.3334H10.6663C10.2982 11.3334 9.99967 11.6319 9.99967 12.0001V28.0001C9.99967 28.3683 10.2982 28.6667 10.6663 28.6667H13.333C13.7012 28.6667 13.9997 28.3683 13.9997 28.0001V12.0001C13.9997 11.6319 13.7012 11.3334 13.333 11.3334ZM10.6663 10.6667C9.92996 10.6667 9.33301 11.2637 9.33301 12.0001V28.0001C9.33301 28.7365 9.92996 29.3334 10.6663 29.3334H13.333C14.0694 29.3334 14.6663 28.7365 14.6663 28.0001V12.0001C14.6663 11.2637 14.0694 10.6667 13.333 10.6667H10.6663Z\"\n fill=\"url(#paint3_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M17.333 16.0001C17.333 15.2637 17.93 14.6667 18.6663 14.6667H21.333C22.0694 14.6667 22.6663 15.2637 22.6663 16.0001V28.0001C22.6663 28.7365 22.0694 29.3334 21.333 29.3334H18.6663C17.93 29.3334 17.333 28.7365 17.333 28.0001V16.0001Z\"\n fill=\"url(#paint4_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M21.333 15.3334H18.6663C18.2982 15.3334 17.9997 15.6319 17.9997 16.0001V28.0001C17.9997 28.3683 18.2982 28.6667 18.6663 28.6667H21.333C21.7012 28.6667 21.9997 28.3683 21.9997 28.0001V16.0001C21.9997 15.6319 21.7012 15.3334 21.333 15.3334ZM18.6663 14.6667C17.93 14.6667 17.333 15.2637 17.333 16.0001V28.0001C17.333 28.7365 17.93 29.3334 18.6663 29.3334H21.333C22.0694 29.3334 22.6663 28.7365 22.6663 28.0001V16.0001C22.6663 15.2637 22.0694 14.6667 21.333 14.6667H18.6663Z\"\n fill=\"url(#paint5_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n d=\"M25.333 22.6668C25.333 21.9304 25.93 21.3335 26.6663 21.3335H29.333C30.0694 21.3335 30.6663 21.9304 30.6663 22.6668V28.0002C30.6663 28.7365 30.0694 29.3335 29.333 29.3335H26.6663C25.93 29.3335 25.333 28.7365 25.333 28.0002V22.6668Z\"\n fill=\"url(#paint6_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M29.333 22.0002H26.6663C26.2982 22.0002 25.9997 22.2986 25.9997 22.6668V28.0002C25.9997 28.3684 26.2982 28.6668 26.6663 28.6668H29.333C29.7012 28.6668 29.9997 28.3684 29.9997 28.0002V22.6668C29.9997 22.2986 29.7012 22.0002 29.333 22.0002ZM26.6663 21.3335C25.93 21.3335 25.333 21.9304 25.333 22.6668V28.0002C25.333 28.7365 25.93 29.3335 26.6663 29.3335H29.333C30.0694 29.3335 30.6663 28.7365 30.6663 28.0002V22.6668C30.6663 21.9304 30.0694 21.3335 29.333 21.3335H26.6663Z\"\n fill=\"url(#paint7_linear_1609_10673)\"\n />\n </g>\n <g>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M23.9997 3.33341C23.9997 2.96522 24.2981 2.66675 24.6663 2.66675H27.9997C28.3679 2.66675 28.6663 2.96522 28.6663 3.33341V6.66675C28.6663 7.03494 28.3679 7.33341 27.9997 7.33341C27.6315 7.33341 27.333 7.03494 27.333 6.66675V4.94289L20.9425 11.3334C20.4218 11.8541 19.5776 11.8541 19.0569 11.3334L11.9997 4.27622L4.47108 11.8048C4.21073 12.0652 3.78862 12.0652 3.52827 11.8048C3.26792 11.5445 3.26792 11.1224 3.52827 10.862L11.0569 3.33341C11.5776 2.81272 12.4218 2.81272 12.9425 3.33341L19.9997 10.3906L26.3902 4.00008H24.6663C24.2981 4.00008 23.9997 3.7016 23.9997 3.33341Z\"\n fill=\"url(#paint8_linear_1609_10673)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_10673\"\n x1=\"5.99967\"\n y1=\"23.3335\"\n x2=\"1.99967\"\n y2=\"23.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_10673\"\n x1=\"3.99967\"\n y1=\"17.3335\"\n x2=\"3.99967\"\n y2=\"29.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_10673\"\n x1=\"13.9997\"\n y1=\"19.3334\"\n x2=\"9.92665\"\n y2=\"19.3783\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#015B50\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_10673\"\n x1=\"11.9997\"\n y1=\"10.6667\"\n x2=\"11.9997\"\n y2=\"29.3334\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#01B49E\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_10673\"\n x1=\"21.9997\"\n y1=\"22.0001\"\n x2=\"17.9997\"\n y2=\"22.0001\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_10673\"\n x1=\"19.9997\"\n y1=\"14.6667\"\n x2=\"19.9997\"\n y2=\"29.3334\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_10673\"\n x1=\"29.9997\"\n y1=\"25.3335\"\n x2=\"25.9997\"\n y2=\"25.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_10673\"\n x1=\"27.9997\"\n y1=\"21.3335\"\n x2=\"27.9997\"\n y2=\"29.3335\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint8_linear_1609_10673\"\n x1=\"3.66634\"\n y1=\"12.0001\"\n x2=\"21.262\"\n y2=\"-4.99792\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#01B49E\" stopOpacity=\"0.36\" />\n <stop offset=\"1\" stopColor=\"#01B49E\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC } from \"react\";\n\nexport const AffiliateIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.6001 14.3967C1.6001 13.86 1.86916 13.359 2.31661 13.0627L15.1166 4.58513C15.6522 4.23041 16.348 4.23041 16.8836 4.58513L29.6836 13.0627C30.131 13.359 30.4001 13.86 30.4001 14.3967V28C30.4001 28.8836 29.6838 29.6 28.8001 29.6H3.2001C2.31644 29.6 1.6001 28.8836 1.6001 28V14.3967Z\"\n fill=\"url(#paint0_linear_1609_7317)\"\n />\n <path\n d=\"M28.8001 28.8V29.6H3.2001V28.8H28.8001ZM29.6001 28V14.3969C29.6001 14.1285 29.4652 13.8778 29.2415 13.7297L16.4415 5.25232C16.2073 5.09729 15.9121 5.07755 15.6626 5.19373L15.5587 5.25232L2.75869 13.7297C2.53497 13.8778 2.4001 14.1285 2.4001 14.3969V28C2.4001 28.4418 2.75827 28.8 3.2001 28.8V29.6L3.03682 29.5914C2.28357 29.515 1.68506 28.9165 1.60869 28.1633L1.6001 28V14.3969C1.6001 13.8937 1.83627 13.4215 2.23447 13.1203L2.3165 13.0625L15.1165 4.58513C15.6521 4.23041 16.3481 4.23041 16.8837 4.58513L29.6837 13.0625C30.1311 13.3588 30.4001 13.8602 30.4001 14.3969V28L30.3915 28.1633C30.3151 28.9165 29.7166 29.515 28.9634 29.5914L28.8001 29.6V28.8C29.2419 28.8 29.6001 28.4418 29.6001 28Z\"\n fill=\"url(#paint1_linear_1609_7317)\"\n />\n <path\n d=\"M5.6001 4.7999C5.6001 3.47442 6.67461 2.3999 8.0001 2.3999H20.1374C20.5617 2.3999 20.9687 2.56847 21.2687 2.86853L25.9315 7.53127C26.2315 7.83133 26.4001 8.2383 26.4001 8.66264V17.2121C26.4001 17.7088 26.1694 18.1774 25.7756 18.4803L16.9998 25.2309C16.4135 25.6819 15.5944 25.6722 15.0189 25.2074L6.19476 18.0802C5.81868 17.7764 5.6001 17.3189 5.6001 16.8355V4.7999Z\"\n fill=\"url(#paint2_linear_1609_7317)\"\n />\n <path\n d=\"M5.6001 16.8358V4.7999C5.6001 3.51582 6.60854 2.46727 7.87666 2.40303L8.0001 2.3999H20.1376L20.2954 2.40771C20.6617 2.44407 21.0063 2.60608 21.2688 2.86865L25.9313 7.53115C26.2313 7.83115 26.4 8.23814 26.4001 8.6624V17.2124L26.3892 17.3968C26.3396 17.8233 26.1203 18.2154 25.7759 18.4804L17.0001 25.2312L16.8876 25.3101C16.3507 25.6545 15.6584 25.6459 15.1298 25.289L15.0188 25.2077L6.19463 18.0804C5.86561 17.8146 5.65728 17.431 5.61025 17.0155L5.6001 16.8358ZM6.4001 16.8358C6.4002 17.0774 6.5098 17.3059 6.69775 17.4577L15.522 24.5851C15.8097 24.8172 16.2187 24.8221 16.5118 24.5968L25.2876 17.846L25.3579 17.7858C25.5118 17.6362 25.6 17.4296 25.6001 17.2124V8.6624C25.6 8.47675 25.5355 8.2977 25.4188 8.15537L25.3657 8.09678L20.7032 3.43428C20.5532 3.2843 20.3497 3.19997 20.1376 3.1999H8.0001C7.11644 3.1999 6.4001 3.91625 6.4001 4.7999V16.8358Z\"\n fill=\"url(#paint3_linear_1609_7317)\"\n />\n <path\n d=\"M1.68437 14.1546C1.80314 14.0019 2.0105 13.9586 2.17734 14.0413L2.24531 14.0843L16.3922 25.0874L29.7461 14.0913C29.9166 13.951 30.1682 13.9755 30.3086 14.146C30.4489 14.3166 30.4244 14.5681 30.2539 14.7085L16.6539 25.9085L16.407 26.1124L16.1547 25.9156L1.75469 14.7156L1.69609 14.6601C1.57487 14.5188 1.56569 14.3073 1.68437 14.1546Z\"\n fill=\"url(#paint4_linear_1609_7317)\"\n />\n <path\n d=\"M15.063 19.8766C15.6222 19.4728 16.3773 19.4728 16.9366 19.8766L29.3969 28.8758C29.7115 29.103 29.5508 29.6001 29.1627 29.6001H2.8368C2.44873 29.6001 2.28801 29.103 2.6026 28.8758L15.063 19.8766Z\"\n fill=\"url(#paint5_linear_1609_7317)\"\n />\n <path\n d=\"M15.0634 19.8766C15.6226 19.4728 16.3776 19.4728 16.9368 19.8766L29.3969 28.8758C29.6919 29.0889 29.5693 29.5393 29.2329 29.5946L29.1634 29.6H2.83679L2.76726 29.5946C2.43083 29.5393 2.3082 29.0889 2.6032 28.8758L15.0634 19.8766ZM16.4688 20.525C16.2242 20.3484 15.9041 20.3262 15.6407 20.4586L15.5313 20.525L4.07429 28.8H27.9259L16.4688 20.525Z\"\n fill=\"url(#paint6_linear_1609_7317)\"\n />\n <path\n d=\"M16.2198 10.2711L15.999 10.4993L15.7783 10.2701C14.9185 9.38023 13.5199 9.37627 12.6562 10.2622L12.6485 10.2701C11.7838 11.164 11.7838 12.6095 12.6485 13.5044L15.6424 16.6463C15.8361 16.8487 16.1523 16.8517 16.3499 16.6532L16.3566 16.6463L19.3515 13.5044C20.2162 12.6105 20.2162 11.165 19.3515 10.2701C18.4917 9.38023 17.0931 9.37627 16.2294 10.2612L16.2198 10.2711Z\"\n fill=\"#B9D1FF\"\n />\n <path\n d=\"M15.9992 9.92654C17.0243 8.93604 18.641 8.95922 19.6391 9.99217L19.7312 10.0922C20.6519 11.146 20.6216 12.7633 19.6406 13.7797L19.6414 13.7804L16.6461 16.9219L16.6437 16.925L16.6336 16.9351C16.2776 17.2926 15.7023 17.2874 15.3531 16.9226V16.9219L12.3586 13.7804V13.7797C11.3466 12.7297 11.3471 11.0404 12.3609 9.99217L12.3695 9.98357V9.98279L12.4672 9.88748C13.4713 8.95732 15.0109 8.97251 15.9992 9.92654ZM19.0641 10.5476C18.3608 9.81979 17.2216 9.81726 16.5156 10.5406L16.507 10.55L16.5062 10.5492L16.2867 10.7773L15.9984 11.075L15.7109 10.7765L15.4898 10.5476V10.5469C14.7865 9.81999 13.6486 9.81767 12.943 10.5414L12.9422 10.5406L12.9351 10.5476L12.9359 10.5484C12.2663 11.2409 12.2241 12.3379 12.8101 13.082L12.9359 13.2265L12.9383 13.2281L15.9312 16.3695L15.9633 16.3922C15.9974 16.4073 16.0371 16.4004 16.0664 16.3711L16.0695 16.3672L19.0617 13.2281L19.0641 13.2258L19.1898 13.0828C19.7369 12.3893 19.7369 11.3867 19.1898 10.6922L19.0641 10.5476Z\"\n fill=\"#B9D1FF\"\n />\n <path\n d=\"M20 7.19997V3.53134C20 2.81862 20.8617 2.46168 21.3657 2.96565L25.8343 7.43428C26.3383 7.93826 25.9814 8.79997 25.2686 8.79997H21.6C20.7163 8.79997 20 8.08363 20 7.19997Z\"\n fill=\"#1F2D94\"\n />\n <path\n d=\"M20 7.19997V3.53122C20.0001 2.8186 20.8617 2.46174 21.3656 2.9656L25.8344 7.43435C26.3068 7.90689 26.0224 8.69348 25.3977 8.78981L25.2688 8.79997V7.99997L20.8 3.53122V7.19997C20.8 7.6418 21.1582 7.99997 21.6 7.99997V8.79997C20.7163 8.79997 20 8.08363 20 7.19997ZM25.2688 7.99997V8.79997H21.6V7.99997H25.2688Z\"\n fill=\"url(#paint7_linear_1609_7317)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_7317\"\n x1=\"2.8001\"\n y1=\"15.5451\"\n x2=\"29.6001\"\n y2=\"15.5451\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#333948\" />\n <stop offset=\"1\" stopColor=\"#181C23\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_7317\"\n x1=\"16.0001\"\n y1=\"3.99998\"\n x2=\"16.0001\"\n y2=\"29.6\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#4A5369\" />\n <stop offset=\"1\" stopColor=\"#222832\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_7317\"\n x1=\"25.6001\"\n y1=\"14.3999\"\n x2=\"9.46705\"\n y2=\"7.84048\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1828C3\" />\n <stop offset=\"1\" stopColor=\"#608CFF\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_7317\"\n x1=\"15.2001\"\n y1=\"25.9999\"\n x2=\"23.4343\"\n y2=\"5.74778\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1828C3\" />\n <stop offset=\"1\" stopColor=\"#608CFF\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_7317\"\n x1=\"30\"\n y1=\"14.3999\"\n x2=\"2\"\n y2=\"14.3999\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#3B4355\" />\n <stop offset=\"0.483985\" stopColor=\"#6A7387\" />\n <stop offset=\"1\" stopColor=\"#3B4355\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_7317\"\n x1=\"1.59977\"\n y1=\"24.4001\"\n x2=\"30.3998\"\n y2=\"24.4001\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#333948\" />\n <stop offset=\"1\" stopColor=\"#181C23\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_7317\"\n x1=\"16.0001\"\n y1=\"19.2\"\n x2=\"16.0001\"\n y2=\"29.6\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#656D83\" />\n <stop offset=\"1\" stopColor=\"#222832\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_7317\"\n x1=\"23.6\"\n y1=\"5.19997\"\n x2=\"20\"\n y2=\"8.79997\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#5D86FC\" />\n <stop offset=\"1\" stopColor=\"#4667E8\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC } from \"react\";\n\nexport const TradingRewardsIcon: FC = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.38623 9.2336C7.38623 4.46801 11.2495 0.604736 16.0151 0.604736C20.7807 0.604736 24.644 4.46801 24.644 9.2336C24.644 13.9992 20.7807 17.8625 16.0151 17.8625C11.2495 17.8625 7.38623 13.9992 7.38623 9.2336Z\"\n fill=\"url(#paint0_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.3296 5.18278C19.3806 5.22417 19.3507 5.30493 19.285 5.30493H12.8438C12.778 5.30493 12.7482 5.22417 12.7993 5.18278C13.6911 4.46035 14.8272 4.02759 16.0643 4.02759C17.3016 4.02759 18.4376 4.46035 19.3296 5.18278Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0452 10.6322C14.0081 10.5792 13.9483 10.5459 13.8836 10.5459H11.1677C11.1055 10.5459 11.0601 10.605 11.0774 10.6647C11.7036 12.8282 13.6994 14.4099 16.0646 14.4099C18.4298 14.4099 20.4256 12.8282 21.0517 10.6647C21.069 10.605 21.0236 10.5459 20.9614 10.5459H18.2456C18.1809 10.5459 18.1211 10.5792 18.084 10.6322C17.6382 11.2679 16.8999 11.6834 16.0646 11.6834C15.2293 11.6834 14.491 11.2679 14.0452 10.6322Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.8902 7.56345C17.9277 7.60484 17.9805 7.62978 18.0363 7.62978H20.8773C20.9418 7.62978 20.9874 7.56711 20.9661 7.50639C20.7656 6.93242 20.4672 6.40442 20.0908 5.94243C20.0555 5.89906 20.0022 5.87451 19.9462 5.87451H12.1818C12.1259 5.87451 12.0727 5.89906 12.0373 5.94243C11.661 6.40442 11.3625 6.93242 11.162 7.50639C11.1408 7.56711 11.1864 7.62978 11.2508 7.62978H14.0918C14.1477 7.62978 14.2005 7.60484 14.238 7.56345C14.6889 7.06633 15.34 6.75415 16.0641 6.75415C16.7881 6.75415 17.4392 7.06633 17.8902 7.56345Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.5077 9.9775C18.4594 9.9775 18.425 9.93038 18.4381 9.88382C18.4973 9.67209 18.5289 9.44887 18.5289 9.21826C18.5289 8.89376 18.4662 8.58388 18.3523 8.30011C18.333 8.25208 18.3676 8.19849 18.4193 8.19849H21.0969C21.1308 8.19849 21.1602 8.22244 21.1664 8.2558C21.2248 8.56772 21.2554 8.88947 21.2554 9.21834C21.2554 9.45516 21.2395 9.68821 21.2089 9.91654C21.2041 9.95154 21.1742 9.9775 21.1389 9.9775H18.5077ZM13.6904 9.88382C13.7034 9.93038 13.6692 9.9775 13.6209 9.9775H10.9896C10.9543 9.9775 10.9243 9.95154 10.9196 9.91654C10.8889 9.68821 10.873 9.45516 10.873 9.21834C10.873 8.88947 10.9036 8.56772 10.9621 8.2558C10.9684 8.22244 10.9976 8.19849 11.0316 8.19849H13.7092C13.7609 8.19849 13.7955 8.25208 13.7762 8.30011C13.6622 8.58388 13.5995 8.89376 13.5995 9.21826C13.5995 9.44887 13.6312 9.67209 13.6904 9.88382Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.00258 9.2336C8.00258 13.6588 11.5899 17.2461 16.0151 17.2461C20.4403 17.2461 24.0276 13.6588 24.0276 9.2336C24.0276 4.80841 20.4403 1.22108 16.0151 1.22108C11.5899 1.22108 8.00258 4.80841 8.00258 9.2336ZM16.0151 0.604736C11.2495 0.604736 7.38623 4.46801 7.38623 9.2336C7.38623 13.9992 11.2495 17.8625 16.0151 17.8625C20.7807 17.8625 24.644 13.9992 24.644 9.2336C24.644 4.46801 20.7807 0.604736 16.0151 0.604736Z\"\n fill=\"url(#paint1_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.4248 19.2514C16.1912 19.0438 15.8393 19.0438 15.6058 19.2514L11.6798 22.7412C11.2562 23.1177 11.5225 23.8182 12.0893 23.8182H13.5494V25.6673C13.5494 26.3481 14.1013 26.9 14.7821 26.9H17.2475C17.9283 26.9 18.4802 26.3481 18.4802 25.6673V23.8182H19.9413C20.508 23.8182 20.7744 23.1177 20.3508 22.7412L16.4248 19.2514ZM14.474 27.5163C13.9634 27.5163 13.5494 27.9302 13.5494 28.4408C13.5494 28.9514 13.9634 29.3654 14.474 29.3654H17.5557C18.0663 29.3654 18.4802 28.9514 18.4802 28.4408C18.4802 27.9302 18.0663 27.5163 17.5557 27.5163H14.474ZM13.5494 30.5981C13.5494 30.2577 13.8254 29.9817 14.1658 29.9817H17.8639C18.2043 29.9817 18.4802 30.2577 18.4802 30.5981C18.4802 30.9385 18.2043 31.2144 17.8639 31.2144H14.1658C13.8254 31.2144 13.5494 30.9385 13.5494 30.5981Z\"\n fill=\"url(#paint2_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1658 23.2018V25.6673C14.1658 26.0077 14.4417 26.2836 14.7821 26.2836H17.2475C17.5879 26.2836 17.8639 26.0077 17.8639 25.6673V23.2018H19.9413L16.0153 19.7121L12.0893 23.2018H14.1658ZM12.0893 23.8182C11.5225 23.8182 11.2562 23.1177 11.6798 22.7412L15.6058 19.2514C15.8393 19.0438 16.1912 19.0438 16.4248 19.2514L20.3508 22.7412C20.7744 23.1177 20.508 23.8182 19.9413 23.8182H18.4802V25.6673C18.4802 26.3481 17.9283 26.9 17.2475 26.9H14.7821C14.1013 26.9 13.5494 26.3481 13.5494 25.6673V23.8182H12.0893ZM14.1658 29.9817C13.8254 29.9817 13.5494 30.2577 13.5494 30.5981C13.5494 30.9385 13.8254 31.2144 14.1658 31.2144H17.8639C18.2043 31.2144 18.4802 30.9385 18.4802 30.5981C18.4802 30.2577 18.2043 29.9817 17.8639 29.9817H14.1658ZM14.474 27.5163C13.9634 27.5163 13.5494 27.9302 13.5494 28.4408C13.5494 28.9514 13.9634 29.3654 14.474 29.3654H17.5557C18.0663 29.3654 18.4802 28.9514 18.4802 28.4408C18.4802 27.9302 18.0663 27.5163 17.5557 27.5163H14.474ZM14.474 28.1327C14.3038 28.1327 14.1658 28.2706 14.1658 28.4408C14.1658 28.611 14.3038 28.749 14.474 28.749H17.5557C17.7259 28.749 17.8639 28.611 17.8639 28.4408C17.8639 28.2706 17.7259 28.1327 17.5557 28.1327H14.474Z\"\n fill=\"url(#paint3_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.88568 17.3473C8.87284 17.0263 8.61551 16.7689 8.29446 16.7561L4.99029 16.6239C4.42967 16.6015 4.1331 17.2789 4.52983 17.6756L5.15844 18.3042L3.85097 19.6117C3.36957 20.0931 3.36957 20.8736 3.85097 21.355L4.2868 21.7908C4.76819 22.2722 5.54869 22.2722 6.03009 21.7908L7.33756 20.4833L7.96617 21.1119C8.36291 21.5087 9.04027 21.2121 9.01785 20.6515L8.88568 17.3473ZM2.10768 21.355C2.34838 21.1143 2.73863 21.1143 2.97932 21.355L4.2868 22.6624C4.52749 22.9031 4.52749 23.2934 4.2868 23.5341C4.0461 23.7748 3.65585 23.7748 3.41515 23.5341L2.10768 22.2266C1.86698 21.9859 1.86698 21.5957 2.10768 21.355Z\"\n fill=\"url(#paint4_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.03009 18.3042L4.2868 20.0475C4.0461 20.2882 4.0461 20.6785 4.2868 20.9192L4.72262 21.355C4.96332 21.5957 5.35357 21.5957 5.59427 21.355L7.33756 19.6117L8.40199 20.6761L8.26983 17.3719L4.96566 17.2398L6.03009 18.3042ZM8.29446 16.7561L4.99029 16.6239C4.42967 16.6015 4.1331 17.2789 4.52983 17.6756L5.15844 18.3042L3.85097 19.6117C3.36957 20.0931 3.36957 20.8736 3.85097 21.355L4.2868 21.7908C4.76819 22.2722 5.54869 22.2722 6.03009 21.7908L7.33756 20.4833L7.96617 21.1119C8.36291 21.5087 9.04027 21.2121 9.01785 20.6515L8.88568 17.3473C8.87284 17.0263 8.61551 16.7689 8.29446 16.7561ZM2.97932 21.355C2.73863 21.1143 2.34838 21.1143 2.10768 21.355C1.86698 21.5957 1.86698 21.9859 2.10768 22.2266L3.41515 23.5341C3.65585 23.7748 4.0461 23.7748 4.2868 23.5341C4.52749 23.2934 4.52749 22.9031 4.2868 22.6624L2.97932 21.355Z\"\n fill=\"url(#paint5_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22.921 17.3473C22.9338 17.0263 23.1911 16.7689 23.5122 16.7561L26.8164 16.6239C27.377 16.6015 27.6735 17.2789 27.2768 17.6756L26.6482 18.3042L27.9557 19.6117C28.4371 20.0931 28.4371 20.8736 27.9557 21.355L27.5198 21.7908C27.0384 22.2722 26.2579 22.2722 25.7766 21.7908L24.4691 20.4833L23.8405 21.1119C23.4437 21.5087 22.7664 21.2121 22.7888 20.6515L22.921 17.3473ZM29.699 21.355C29.4583 21.1143 29.068 21.1143 28.8273 21.355L27.5198 22.6624C27.2791 22.9031 27.2791 23.2934 27.5198 23.5341C27.7605 23.7748 28.1508 23.7748 28.3915 23.5341L29.699 22.2266C29.9397 21.9859 29.9397 21.5957 29.699 21.355Z\"\n fill=\"url(#paint6_linear_1609_7349)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M25.7766 18.3042L27.5198 20.0475C27.7605 20.2882 27.7605 20.6785 27.5198 20.9192L27.084 21.355C26.8433 21.5957 26.4531 21.5957 26.2124 21.355L24.4691 19.6117L23.4046 20.6761L23.5368 17.3719L26.841 17.2398L25.7766 18.3042ZM23.5122 16.7561L26.8164 16.6239C27.377 16.6015 27.6735 17.2789 27.2768 17.6756L26.6482 18.3042L27.9557 19.6117C28.4371 20.0931 28.4371 20.8736 27.9557 21.355L27.5198 21.7908C27.0384 22.2722 26.2579 22.2722 25.7766 21.7908L24.4691 20.4833L23.8405 21.1119C23.4437 21.5087 22.7664 21.2121 22.7888 20.6515L22.921 17.3473C22.9338 17.0263 23.1911 16.7689 23.5122 16.7561ZM28.8273 21.355C29.068 21.1143 29.4583 21.1143 29.699 21.355C29.9397 21.5957 29.9397 21.9859 29.699 22.2266L28.3915 23.5341C28.1508 23.7748 27.7605 23.7748 27.5198 23.5341C27.2791 23.2934 27.2791 22.9031 27.5198 22.6624L28.8273 21.355Z\"\n fill=\"url(#paint7_linear_1609_7349)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_1609_7349\"\n x1=\"22.4867\"\n y1=\"8.61726\"\n x2=\"9.32517\"\n y2=\"9.12524\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#5806D4\" />\n <stop offset=\"1\" stopColor=\"#BB6CED\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_1609_7349\"\n x1=\"16.0151\"\n y1=\"0.604736\"\n x2=\"16.0151\"\n y2=\"17.8625\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#BD6CED\" />\n <stop offset=\"1\" stopColor=\"#5A08DD\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_1609_7349\"\n x1=\"20.1752\"\n y1=\"20.7365\"\n x2=\"11.8545\"\n y2=\"20.7365\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#28303B\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint3_linear_1609_7349\"\n x1=\"16.0069\"\n y1=\"19.4285\"\n x2=\"16.0069\"\n y2=\"30.9792\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint4_linear_1609_7349\"\n x1=\"11.0242\"\n y1=\"20.3888\"\n x2=\"5.14058\"\n y2=\"14.5052\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint5_linear_1609_7349\"\n x1=\"8.7345\"\n y1=\"16.8618\"\n x2=\"2.74525\"\n y2=\"22.8511\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n <linearGradient\n id=\"paint6_linear_1609_7349\"\n x1=\"20.7824\"\n y1=\"20.3888\"\n x2=\"26.6661\"\n y2=\"14.5052\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#181C23\" />\n <stop offset=\"1\" stopColor=\"#333948\" />\n </linearGradient>\n <linearGradient\n id=\"paint7_linear_1609_7349\"\n x1=\"23.2796\"\n y1=\"16.8618\"\n x2=\"29.2688\"\n y2=\"22.8511\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#636D85\" stopOpacity=\"0.411765\" />\n <stop offset=\"1\" stopColor=\"#1B2028\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PortfolioActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Portfolio\">\n <path\n id=\"Vector\"\n d=\"M8.9688 13.3124C6.3545 14.0269 4.5 16.3001 4.5 18.9999V20.9999C4.5 21.5522 4.9477 21.9999 5.5 21.9999H19.5C20.0523 21.9999 20.5 21.5522 20.5 20.9999V18.9999C20.5 16.3001 18.6455 14.0269 16.0312 13.3124C15.8071 13.2511 15.5869 13.2794 15.375 13.3749C14.4595 13.7875 13.4849 13.9999 12.5 13.9999C11.5151 13.9999 10.5405 13.7875 9.625 13.3749C9.4131 13.2794 9.1929 13.2511 8.9688 13.3124Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n id=\"Vector_2\"\n d=\"M12.5 2C9.7386 2 7.5 4.2386 7.5 7C7.5 9.7614 9.7386 12 12.5 12C15.2614 12 17.5 9.7614 17.5 7C17.5 4.2386 15.2614 2 12.5 2Z\"\n fill=\"url(#paint0_linear_148_26239)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_148_26239\"\n x1=\"17.5\"\n y1=\"7\"\n x2=\"7.5\"\n y2=\"7\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const PortfolioInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Portfolio\">\n <path\n id=\"Vector\"\n d=\"M8.9688 13.3124C6.3545 14.0269 4.5 16.3001 4.5 18.9999V20.9999C4.5 21.5522 4.9477 21.9999 5.5 21.9999H19.5C20.0523 21.9999 20.5 21.5522 20.5 20.9999V18.9999C20.5 16.3001 18.6455 14.0269 16.0312 13.3124C15.8071 13.2511 15.5869 13.2794 15.375 13.3749C14.4595 13.7875 13.4849 13.9999 12.5 13.9999C11.5151 13.9999 10.5405 13.7875 9.625 13.3749C9.4131 13.2794 9.1929 13.2511 8.9688 13.3124Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n id=\"Vector_2\"\n d=\"M12.5 2C9.7386 2 7.5 4.2386 7.5 7C7.5 9.7614 9.7386 12 12.5 12C15.2614 12 17.5 9.7614 17.5 7C17.5 4.2386 15.2614 2 12.5 2Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const TradingActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Trading\">\n <path\n id=\"Vector 646 (Stroke)\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.5 7C2.5 6.44772 2.94772 6 3.5 6H5.66905C7.77663 6 9.72966 7.10579 10.814 8.91303L13.901 14.058C14.6239 15.2628 15.9259 16 17.3309 16H19.5V14L22.5 17L19.5 20V18H17.3309C15.2234 18 13.2703 16.8942 12.186 15.087L9.09902 9.94202C8.37613 8.7372 7.0741 8 5.66905 8H3.5C2.94772 8 2.5 7.55228 2.5 7Z\"\n fill=\"url(#paint0_linear_134_17004)\"\n />\n <path\n id=\"Subtract\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.5 18C2.94772 18 2.5 17.5523 2.5 17C2.5 16.4477 2.94772 16 3.5 16H5.66905C7.0741 16 8.37613 15.2628 9.09902 14.058L10.3338 12L11.5 13.9436L10.814 15.087C9.72966 16.8942 7.77663 18 5.66905 18H3.5ZM12.6662 12L13.901 9.94202C14.6239 8.7372 15.9259 8 17.3309 8H19.5V10L22.5 7L19.5 4V6H17.3309C15.2234 6 13.2703 7.10579 12.186 8.91303L11.5 10.0563L12.6662 12Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_134_17004\"\n x1=\"22.5\"\n y1=\"13\"\n x2=\"2.5\"\n y2=\"13\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","export const TradingIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2 7C2 6.44772 2.44772 6 3 6H5.16905C7.27663 6 9.22967 7.10579 10.314 8.91303L13.401 14.058C14.1239 15.2628 15.4259 16 16.831 16H19V14L22 17L19 20V18H16.831C14.7234 18 12.7703 16.8942 11.686 15.087L8.59902 9.94202C7.87613 8.7372 6.5741 8 5.16905 8H3C2.44772 8 2 7.55228 2 7Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 18C2.44772 18 2 17.5523 2 17C2 16.4477 2.44772 16 3 16H5.16905C6.5741 16 7.87613 15.2628 8.59902 14.058L9.83381 12L11 13.9437L10.314 15.087C9.22967 16.8942 7.27663 18 5.16905 18H3ZM12.1662 12L13.401 9.94202C14.1239 8.7372 15.4259 8 16.831 8H19V10L22 7L19 4V6H16.831C14.7234 6 12.7703 7.10579 11.686 8.91303L11 10.0563L12.1662 12Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const TradingInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <g id=\"Trading\">\n <path\n id=\"Vector 646 (Stroke)\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.5 7C2.5 6.44772 2.94772 6 3.5 6H5.66905C7.77663 6 9.72967 7.10579 10.814 8.91303L13.901 14.058C14.6239 15.2628 15.9259 16 17.331 16H19.5V14L22.5 17L19.5 20V18H17.331C15.2234 18 13.2703 16.8942 12.186 15.087L9.09902 9.94202C8.37613 8.7372 7.0741 8 5.66905 8H3.5C2.94772 8 2.5 7.55228 2.5 7Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n id=\"Subtract\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.5 18C2.94772 18 2.5 17.5523 2.5 17C2.5 16.4477 2.94772 16 3.5 16H5.66905C7.0741 16 8.37613 15.2628 9.09902 14.058L10.3338 12L11.5 13.9437L10.814 15.087C9.72967 16.8942 7.77663 18 5.66905 18H3.5ZM12.6662 12L13.901 9.94202C14.6239 8.7372 15.9259 8 17.331 8H19.5V10L22.5 7L19.5 4V6H17.331C15.2234 6 13.2703 7.10579 12.186 8.91303L11.5 10.0563L12.6662 12Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </g>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const LeaderboardActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M18 11H21C22.103 11 23 11.897 23 13V17C23 18.103 22.103 19 21 19H18V17V11Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n <path\n d=\"M16 7V17V19H8V17V7C8 5.897 8.897 5 10 5H14C15.103 5 16 5.897 16 7Z\"\n fill=\"url(#paint0_linear_999_8196)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_999_8196\"\n x1=\"16\"\n y1=\"12\"\n x2=\"8\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const LeaderboardInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n d=\"M18 11H21C22.103 11 23 11.897 23 13V17C23 18.103 22.103 19 21 19H18V17V11Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n d=\"M6 9V17V19H3C1.897 19 1 18.103 1 17V11C1 9.897 1.897 9 3 9H6Z\"\n fill=\"white\"\n fillOpacity=\"0.12\"\n />\n <path\n d=\"M16 7V17V19H8V17V7C8 5.897 8.897 5 10 5H14C15.103 5 16 5.897 16 7Z\"\n fill=\"white\"\n fillOpacity=\"0.36\"\n />\n </BaseIcon>\n );\n};\n","import { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const MarketsActiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.75 8C10.6454 8 9.75 8.89543 9.75 10V18C9.75 19.1046 10.6454 20 11.75 20H13.75C14.8546 20 15.75 19.1046 15.75 18V10C15.75 8.89543 14.8546 8 13.75 8H11.75ZM4.75 12C3.64543 12 2.75 12.8954 2.75 14V18C2.75 19.1046 3.64543 20 4.75 20H6.75C7.85457 20 8.75 19.1046 8.75 18V14C8.75 12.8954 7.85457 12 6.75 12H4.75Z\"\n fill=\"white\"\n fillOpacity=\"0.16\"\n />\n <path\n d=\"M16.75 6C16.75 4.89543 17.6454 4 18.75 4H20.75C21.8546 4 22.75 4.89543 22.75 6V18C22.75 19.1046 21.8546 20 20.75 20H18.75C17.6454 20 16.75 19.1046 16.75 18V6Z\"\n fill=\"url(#paint0_linear_2097_10887)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_2097_10887\"\n x1=\"22.75\"\n y1=\"12\"\n x2=\"16.75\"\n y2=\"12\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </BaseIcon>\n );\n};\n","import { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const MarketsInactiveIcon = (props: BaseIconProps) => {\n return (\n <BaseIcon {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.5 8a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2zm-7 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z\"\n fill=\"#fff\"\n fillOpacity=\".12\"\n />\n <path\n d=\"M16.5 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2z\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </BaseIcon>\n );\n};\n","import React from \"react\";\n\nexport function EmptyStateIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"64\"\n height=\"64\"\n fill=\"none\"\n viewBox=\"0 0 64 64\"\n >\n <rect width=\"36\" height=\"48\" x=\"18\" y=\"5\" fill=\"#07080A\" rx=\"4\"></rect>\n <rect\n width=\"36\"\n height=\"48\"\n x=\"11\"\n y=\"12\"\n fill=\"url(#paint0_linear_309_13641)\"\n rx=\"4\"\n ></rect>\n <rect\n width=\"36\"\n height=\"48\"\n x=\"9\"\n y=\"10\"\n fill=\"url(#paint1_linear_309_13641)\"\n rx=\"4\"\n ></rect>\n <path\n fill=\"#303237\"\n d=\"M36.636 53.323V50H6v3.323C6 55.91 7.943 58 10.462 58H41c-2.392 0-4.364-2.168-4.364-4.663\"\n ></path>\n <rect width=\"9\" height=\"2\" x=\"15\" y=\"16\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"16\" height=\"2\" x=\"15\" y=\"24\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"12\" height=\"3\" x=\"28\" y=\"29\" fill=\"#45484E\" rx=\"1.5\"></rect>\n <path\n fill=\"#45484E\"\n d=\"M33 23a2 2 0 012-2h1.5a1.5 1.5 0 010 3H34a1 1 0 01-1-1z\"\n ></path>\n <rect width=\"9\" height=\"3\" x=\"29\" y=\"37\" fill=\"#45484E\" rx=\"1.5\"></rect>\n <rect width=\"13\" height=\"2\" x=\"15\" y=\"30\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"15\" height=\"2\" x=\"15\" y=\"36\" fill=\"#3F4146\" rx=\"1\"></rect>\n <rect width=\"24\" height=\"2\" x=\"15\" y=\"42\" fill=\"#3F4146\" rx=\"1\"></rect>\n <path\n fill=\"#181A1D\"\n fillRule=\"evenodd\"\n d=\"M27.24 30.022a12.451 12.451 0 1122.195 9.87l5.328 5.328-1.58 1.58-5.241-5.24a12.452 12.452 0 01-20.703-11.537zm14.193 12.39A10.156 10.156 0 1037.47 22.49a10.156 10.156 0 003.963 19.92z\"\n clipRule=\"evenodd\"\n ></path>\n <path\n fill=\"#54565B\"\n fillRule=\"evenodd\"\n d=\"M27.24 29.022a12.451 12.451 0 1122.195 9.87l5.328 5.328-1.58 1.58-5.241-5.24a12.452 12.452 0 01-20.703-11.537zm14.193 12.39A10.156 10.156 0 1037.47 21.49a10.156 10.156 0 003.963 19.92z\"\n clipRule=\"evenodd\"\n ></path>\n <path\n fill=\"#16181B\"\n d=\"M51.755 43.867c-.99.99-.99 2.596 0 3.586l3.754 3.754a2.536 2.536 0 103.586-3.586l-3.754-3.754a2.536 2.536 0 00-3.586 0z\"\n ></path>\n <path\n fill=\"#4E525C\"\n d=\"M51.755 42.867c-.99.99-.99 2.596 0 3.586l3.754 3.754a2.536 2.536 0 103.586-3.586l-3.754-3.754a2.536 2.536 0 00-3.586 0z\"\n ></path>\n <defs>\n <linearGradient\n id=\"paint0_linear_309_13641\"\n x1=\"27.286\"\n x2=\"48.844\"\n y1=\"55.742\"\n y2=\"25.703\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#0C0D10\"></stop>\n <stop offset=\"1\" stopColor=\"#121418\"></stop>\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_309_13641\"\n x1=\"25.286\"\n x2=\"46.844\"\n y1=\"53.742\"\n y2=\"23.703\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#1B1D22\"></stop>\n <stop offset=\"1\" stopColor=\"#26292E\"></stop>\n </linearGradient>\n </defs>\n </svg>\n );\n}\n\nexport default EmptyStateIcon;\n","import React from \"react\";\nimport { BaseIconProps } from \"./baseIcon\";\n\nexport const VectorIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n width=\"20\"\n height=\"13\"\n viewBox=\"0 0 20 13\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillOpacity={0.8}\n d=\"M0.999023 0.103516C0.447023 0.103516 -0.000976562 0.551516 -0.000976562 1.10352C-0.000976562 1.65552 0.447023 2.10352 0.999023 2.10352H18.999C19.551 2.10352 19.999 1.65552 19.999 1.10352C19.999 0.551516 19.551 0.103516 18.999 0.103516H0.999023ZM0.999023 5.10352C0.447023 5.10352 -0.000976562 5.55152 -0.000976562 6.10352C-0.000976562 6.65552 0.447023 7.10352 0.999023 7.10352H18.999C19.551 7.10352 19.999 6.65552 19.999 6.10352C19.999 5.55152 19.551 5.10352 18.999 5.10352H0.999023ZM0.999023 10.1035C0.447023 10.1035 -0.000976562 10.5515 -0.000976562 11.1035C-0.000976562 11.6555 0.447023 12.1035 0.999023 12.1035H18.999C19.551 12.1035 19.999 11.6555 19.999 11.1035C19.999 10.5515 19.551 10.1035 18.999 10.1035H0.999023Z\"\n fill=\"white\"\n />\n </svg>\n );\n },\n);\n\nVectorIcon.displayName = \"VectorIcon\";\n","export const SwapHorizIcon = () => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <mask\n id=\"mask0_2321_5422\"\n style={{ maskType: \"alpha\" }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width=\"20\"\n height=\"20\"\n >\n <rect width=\"20\" height=\"20\" fill=\"#D9D9D9\" />\n </mask>\n <g mask=\"url(#mask0_2321_5422)\">\n <path\n d=\"M6 16.5L2 12.5L6 8.5L7.0625 9.5625L4.875 11.75H11V13.25H4.875L7.0625 15.4375L6 16.5ZM14 11.5L12.9375 10.4375L15.125 8.25H9V6.75H15.125L12.9375 4.5625L14 3.5L18 7.5L14 11.5Z\"\n fill=\"white\"\n fillOpacity=\"0.54\"\n />\n </g>\n </svg>\n );\n};\n","export const PeopleIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.499 2.92969C13.0137 2.92969 10.999 4.94469 10.999 7.42969C10.999 9.91469 13.0137 11.9297 15.499 11.9297C17.9843 11.9297 19.999 9.91469 19.999 7.42969C19.999 4.94469 17.9843 2.92969 15.499 2.92969ZM7.99902 3.92969C5.78992 3.92969 3.99902 5.72069 3.99902 7.92969C3.99902 10.1387 5.78992 11.9297 7.99902 11.9297C8.82842 11.9297 9.61402 11.6767 10.2802 11.2107C10.7329 10.8947 10.8466 10.2577 10.5302 9.80469C10.2138 9.35169 9.60792 9.26969 9.15522 9.58569C8.82232 9.81869 8.41522 9.92969 7.99902 9.92969C6.89442 9.92969 5.99902 9.03469 5.99902 7.92969C5.99902 6.82469 6.89442 5.92969 7.99902 5.92969C8.32522 5.92969 8.62362 6.00168 8.90522 6.14868C9.39522 6.40368 10.0254 6.2317 10.2802 5.7417C10.5351 5.2527 10.3327 4.62168 9.84282 4.36768C9.27772 4.07368 8.64842 3.92969 7.99902 3.92969ZM15.499 4.92969C16.8797 4.92969 17.999 6.04869 17.999 7.42969C17.999 8.81069 16.8797 9.92969 15.499 9.92969C14.1183 9.92969 12.999 8.81069 12.999 7.42969C12.999 6.04869 14.1183 4.92969 15.499 4.92969ZM5.06152 13.2737C3.22742 14.0307 1.99902 15.8857 1.99902 17.9297V19.9297C1.99902 20.4817 2.44672 20.9297 2.99902 20.9297H6.99902C7.55132 20.9297 7.99902 20.4817 7.99902 19.9297C7.99902 19.3777 7.55132 18.9297 6.99902 18.9297H3.99902V17.9297C3.99902 16.8057 4.66572 15.7737 5.43202 15.3197C6.15272 15.6237 6.91512 15.8537 7.59312 15.9107C8.14352 15.9577 8.63982 15.5427 8.68652 14.9917C8.73322 14.4417 8.33552 13.9757 7.78522 13.9287C7.34622 13.8917 6.86642 13.7597 6.31152 13.5237C6.17752 13.4667 6.09972 13.4217 5.84282 13.3047C5.59092 13.1897 5.31732 13.1677 5.06152 13.2737ZM12.0615 13.2737C10.2274 14.0307 8.99902 15.8857 8.99902 17.9297V19.9297C8.99902 20.4817 9.44672 20.9297 9.99902 20.9297H20.999C21.5513 20.9297 21.999 20.4817 21.999 19.9297V17.9297C21.999 15.9337 20.7638 14.1237 18.9365 13.3357C18.6793 13.2247 18.3796 13.2217 18.124 13.3357C17.2392 13.7327 16.3772 13.9297 15.499 13.9297C14.6238 13.9297 13.7588 13.7217 12.8428 13.3047C12.5909 13.1897 12.3173 13.1677 12.0615 13.2737ZM12.446 15.3197C13.3908 15.6777 14.5299 15.9297 15.499 15.9297C16.4605 15.9297 17.5525 15.6947 18.4782 15.3527C19.3808 15.8667 19.999 16.8287 19.999 17.9297V18.9297H10.999V17.9297C10.999 16.7647 11.6549 15.7827 12.446 15.3197Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","export const PersonIcon = () => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.998 1.95312C9.23665 1.95312 6.99805 4.19172 6.99805 6.95312C6.99805 9.71452 9.23665 11.9531 11.998 11.9531C14.7594 11.9531 16.998 9.71452 16.998 6.95312C16.998 4.19172 14.7594 1.95312 11.998 1.95312ZM11.998 3.95312C13.6549 3.95312 14.998 5.29622 14.998 6.95312C14.998 8.61002 13.6549 9.95312 11.998 9.95312C10.3411 9.95312 8.99805 8.61002 8.99805 6.95312C8.99805 5.29622 10.3411 3.95312 11.998 3.95312ZM8.46685 13.2656C5.85255 13.9801 3.99805 16.2533 3.99805 18.9531V20.9531C3.99805 21.5054 4.44575 21.9531 4.99805 21.9531H18.998C19.5503 21.9531 19.998 21.5054 19.998 20.9531V18.9531C19.998 16.2533 18.1435 13.9801 15.5292 13.2656C15.3051 13.2043 15.0849 13.2326 14.873 13.3281C13.9575 13.7407 12.9829 13.9531 11.998 13.9531C11.0131 13.9531 10.0385 13.7407 9.12305 13.3281C8.91115 13.2326 8.69095 13.2043 8.46685 13.2656ZM8.87305 15.2656C9.88285 15.6475 10.9177 15.9531 11.998 15.9531C13.0783 15.9531 14.1132 15.6475 15.123 15.2656C16.8264 15.7816 17.998 17.2195 17.998 18.9531V19.9531H5.99805V18.9531C5.99805 17.2195 7.16965 15.7816 8.87305 15.2656Z\"\n fill=\"white\"\n fillOpacity={0.8}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const SettingFillIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 0.54, ...rest } = props;\n return (\n <BaseIcon ref={ref} {...rest}>\n <path\n fill=\"currentcolor\"\n fillOpacity={opacity}\n d=\"M8.968 2.456a9.669 9.669 0 0 0-3.72 2.187c-.332.31-.434.818-.218 1.219.8 1.48-.037 3.065-1.843 3.156-.443.023-.834.35-.938.78a8.712 8.712 0 0 0-.25 2.188c0 .688.074 1.464.219 2.156.09.433.466.744.906.783 1.818.156 2.718 1.543 1.906 3.311-.18.393-.098.863.219 1.156 1.062.983 2.282 1.675 3.719 2.125.41.13.873-.026 1.125-.375 1.112-1.537 2.725-1.543 3.78 0 .25.364.706.54 1.126.407a10.072 10.072 0 0 0 3.75-2.157c.33-.3.417-.787.219-1.186-.832-1.68.125-3.221 1.843-3.25.456-.008.862-.308.969-.75.173-.717.219-1.342.219-2.22 0-.754-.09-1.497-.25-2.218a.994.994 0 0 0-.97-.781c-1.69-.003-2.638-1.665-1.811-3.125a.979.979 0 0 0-.188-1.22 10.153 10.153 0 0 0-3.812-2.186.986.986 0 0 0-1.125.406c-.966 1.5-2.77 1.527-3.72.03-.242-.382-.723-.574-1.155-.436Zm3.03 5.53a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z\"\n />\n </BaseIcon>\n );\n }\n);\n\nSettingFillIcon.displayName = \"SettingFillIcon\";\n","import { FC, SVGProps } from \"react\";\n\nexport const TradingLeftNavIcon: FC<SVGProps<SVGSVGElement>> = (props) => {\n const { width = 24, height = 24, opacity = 0.54, ...rest } = props;\n return (\n <svg\n width={`${width}px`}\n height={`${height}px`}\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <path\n d=\"M5.426 1.66663C5.24175 1.67715 4.98875 1.75081 4.85308 1.85868C4.80817 1.89464 4.67798 2.0148 4.65323 2.05076L1.02049 7.28121C0.892158 7.44872 0.833496 7.67235 0.833496 7.80916C0.833496 8.18539 1.09108 8.41167 1.09108 8.41167L9.28423 18.0043C9.28973 18.0113 9.58307 18.3393 10.0002 18.3332C10.4172 18.3262 10.7106 18.0113 10.7161 18.0043C10.9718 17.7053 18.9404 8.37835 18.9404 8.37835C18.9404 8.37835 19.1668 8.08015 19.1668 7.80916C19.1668 7.53729 18.9486 7.23472 18.9486 7.23472L15.3571 2.05338C15.3315 2.01742 15.2728 2.0297 15.2426 1.99901C15.2059 1.95691 15.2013 1.89728 15.1564 1.86132C15.0207 1.75345 14.8603 1.74292 14.6981 1.7245C14.6541 1.71836 14.6284 1.67013 14.5835 1.67013H14.4973L5.426 1.66663ZM7.36474 3.42414H12.6356L10.0002 6.43841L7.36474 3.42414ZM5.50299 4.02664L8.05224 6.93216H3.46891L5.50299 4.02664ZM14.4973 4.02664L16.5314 6.93216H11.9481L14.4973 4.02664ZM3.69808 8.68616H9.08349V14.9892L3.69808 8.68616ZM10.9168 8.68616H16.3022C15.0235 10.1806 12.4999 13.1387 10.9168 14.9892V8.68616Z\"\n fill=\"white\"\n fillOpacity={opacity}\n />\n </svg>\n );\n};\n","import React from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const VaultsIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path d=\"M13.333 3.33334C13.333 2.96515 13.0345 2.66668 12.6663 2.66668H3.33301C2.96482 2.66668 2.66634 2.96515 2.66634 3.33334V9.33334C2.66634 9.70153 2.96482 10 3.33301 10H12.6663C13.0345 10 13.333 9.70153 13.333 9.33334V3.33334ZM14.6663 9.33334C14.6663 10.4379 13.7709 11.3333 12.6663 11.3333H3.33301C2.22844 11.3333 1.33301 10.4379 1.33301 9.33334V3.33334C1.33301 2.22877 2.22844 1.33334 3.33301 1.33334H12.6663C13.7709 1.33334 14.6663 2.22877 14.6663 3.33334V9.33334Z\" />\n <path d=\"M4.66699 13.3333C4.66699 12.9651 4.96547 12.6667 5.33366 12.6667H10.667C11.0352 12.6667 11.3337 12.9651 11.3337 13.3333C11.3337 13.7015 11.0352 14 10.667 14H5.33366C4.96547 14 4.66699 13.7015 4.66699 13.3333Z\" />\n <path d=\"M10.1859 4.20509C10.4408 3.93953 10.8629 3.93072 11.1286 4.18556C11.3941 4.44049 11.4029 4.86265 11.1481 5.12827L8.48143 7.90626C8.35571 8.03721 8.18184 8.11134 8.00031 8.11134C7.81878 8.11134 7.6449 8.03721 7.51919 7.90626L6.93325 7.29558L5.81476 8.4616C5.55982 8.72716 5.13767 8.73597 4.87205 8.48113C4.60649 8.2262 4.59768 7.80404 4.85252 7.53842L6.45278 5.87176L6.50226 5.82553C6.6222 5.72363 6.77506 5.66668 6.9339 5.66668C7.11531 5.66675 7.28872 5.74089 7.41437 5.87176L7.99965 6.48178L10.1859 4.20509Z\" />\n </svg>\n );\n },\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n VaultsIcon.displayName = \"VaultsIcon\";\n}\n","import { forwardRef } from \"react\";\nimport type { BaseIconProps } from \"./baseIcon\";\n\nexport const LeftNavVaultsIcon = forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n focusable={false}\n ref={ref}\n {...props}\n >\n <path\n d=\"M20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V14C4 14.5523 4.44772 15 5 15H19C19.5523 15 20 14.5523 20 14V5ZM22 14C22 15.6569 20.6569 17 19 17H5C3.34315 17 2 15.6569 2 14V5C2 3.34315 3.34315 2 5 2H19C20.6569 2 22 3.34315 22 5V14Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M7 20C7 19.4477 7.44772 19 8 19H16C16.5523 19 17 19.4477 17 20C17 20.5523 16.5523 21 16 21H8C7.44772 21 7 20.5523 7 20Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n <path\n d=\"M15.2783 6.30759C15.6607 5.90925 16.2939 5.89604 16.6924 6.27829C17.0907 6.66069 17.1039 7.29393 16.7217 7.69235L12.7217 11.8593C12.5331 12.0558 12.2723 12.167 12 12.167C11.7277 12.167 11.4669 12.0558 11.2783 11.8593L10.3994 10.9433L8.72165 12.6924C8.33925 13.0907 7.70601 13.1039 7.30759 12.7217C6.90925 12.3392 6.89604 11.706 7.27829 11.3076L9.67868 8.80759L9.7529 8.73825C9.93282 8.5854 10.1621 8.49997 10.4004 8.49997C10.6725 8.50008 10.9326 8.61129 11.1211 8.80759L11.999 9.72263L15.2783 6.30759Z\"\n fill=\"white\"\n fillOpacity=\"0.8\"\n />\n </svg>\n );\n },\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n LeftNavVaultsIcon.displayName = \"LeftNavVaultsIcon\";\n}\n","import { 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 { FeeTierIcon } from \"./feeTier\";\nexport { EditIcon } from \"./edit\";\nexport { EyeIcon } from \"./eye\";\nexport { ShareIcon } from \"./share\";\nexport { EyeCloseIcon } from \"./eyeClose\";\nexport { RefreshIcon } from \"./refresh\";\nexport { OrderlyIcon } from \"./orderly\";\nexport { EsOrderlyIcon } from \"./esOrderly\";\nexport { InfoCircleIcon } from \"./infoCircle\";\n\nexport { TokenIcon } from \"./tokenIcon\";\nexport { ChainIcon } from \"./chainIcon\";\nexport { WalletIcon } from \"./walletIcon\";\nexport { CalendarIcon } from \"./calendar\";\nexport { CopyIcon } from \"./copy\";\nexport { ServerFillIcon } from \"./serverFill\";\nexport { SortingAscIcon } from \"./sortingASCIcon\";\nexport { SortingDescIcon } from \"./sortingDESCIcon\";\nexport {\n ArrowUpShortIcon,\n ArrowDownShortIcon,\n ArrowLeftShortIcon,\n ArrowRightShortIcon,\n} from \"./arrowShort\";\n\nexport { SortingIcon } from \"./sortingIcon\";\nexport { TraderMobileIcon } from \"./traderMobileIcon\";\nexport { AffiliateIcon } from \"./affiliateIcon\";\nexport { TradingRewardsIcon } from \"./tradingRewardsIcon\";\nexport { PortfolioActiveIcon } from \"./portfolioActiveIcon\";\nexport { PortfolioInactiveIcon } from \"./portfolioInactiveIcon\";\nexport { TradingActiveIcon } from \"./tradingActiveIcon\";\nexport { TradingIcon } from \"./tradingIcon\";\nexport { TradingInactiveIcon } from \"./tradingInactiveIcon\";\nexport { LeaderboardActiveIcon } from \"./leaderboardActive\";\nexport { LeaderboardInactiveIcon } from \"./leaderboardInactive\";\nexport { MarketsActiveIcon } from \"./marketsActiveIcon\";\nexport { MarketsInactiveIcon } from \"./marketsInactiveIcon\";\nexport { 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\";\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, { 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","export { Statistic, StatisticLabel, statisticVariants } from \"./statistic\";\n\nimport { FormattedText } from \"./formatted\";\nimport { GradientText, gradientTextVariants } from \"./gradient\";\nimport { Numeral } from \"./numeral\";\n\nimport { Text as BaseText, textVariants } from \"./text\";\nimport type { TextProps } from \"./text\";\nexport type { NumeralProps } from \"./numeral\";\nexport { parseNumber, formatAddress } from \"./utils\";\n\nexport type TextType = typeof BaseText & {\n formatted: typeof FormattedText;\n numeral: typeof Numeral;\n gradient: typeof GradientText;\n};\n\nconst Text = BaseText as TextType;\nText.formatted = FormattedText;\nText.numeral = Numeral;\nText.gradient = GradientText;\n\nexport { Text, textVariants, gradientTextVariants };\nexport type { TextProps };\n","import { forwardRef, useMemo, useRef, useState } from \"react\";\nimport { Input, InputProps } from \"../input\";\nimport { Select } from \"../../select\";\n\nexport type QuantityInputProps = {\n tokens: string[];\n} & Omit<InputProps, \"onClear\" | \"suffix\">;\n\n//@ts-ignore\nexport const QuantityInput = forwardRef<HTMLInputElement, QuantityInputProps>(\n (props, ref) => {\n const { tokens, ...rest } = props;\n const [token, setToken] = useState(tokens[0]);\n const tokenOptions = useMemo(() => {\n return props.tokens.map((token) => ({\n name: token,\n }));\n }, [props.tokens]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n return (\n <Input\n ref={(node) => {\n // @ts-ignore\n inputRef.current = node;\n if (ref) {\n if (typeof ref === \"function\") {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }}\n autoComplete=\"off\"\n {...rest}\n suffix={\n <div className=\"oui-max-w-fit\">\n <Select.tokens\n disabled={rest.disabled}\n variant=\"text\"\n tokens={tokenOptions}\n value={token}\n size={rest.size}\n onValueChange={(value) => setToken(value)}\n // According to the design guideline, the token icon are not displayed when the text is right-aligned\n showIcon={rest.align !== \"right\"}\n contentProps={{\n align: \"end\",\n onCloseAutoFocus: (event) => {\n event.preventDefault();\n inputRef.current?.focus();\n },\n }}\n />\n </div>\n }\n />\n );\n }\n);\n\nQuantityInput.displayName = \"QuantityInput\";\n","import React, { type InputHTMLAttributes, useId } from \"react\";\nimport { cnBase, cn, type VariantProps } from \"tailwind-variants\";\nimport { BaseInput, BaseInputProps } from \"./baseInput\";\nimport { InputPrefix } from \"./prefix\";\nimport { InputSuffix } from \"./suffix\";\nimport { tv } from \"../utils/tv\";\n\nconst inputVariants = tv(\n {\n slots: {\n input: [\n \"oui-w-full oui-bg-transparent\",\n \"oui-bg-transparent\",\n \"oui-flex-1\",\n \"focus-visible:oui-outline-none\",\n \"oui-flex\",\n \"placeholder:oui-text-base-contrast-20\",\n \"placeholder:oui-text-xs\",\n \"oui-tabular-nums\",\n \"oui-text-white\",\n \"autofill:oui-bg-transparent\",\n \"oui-input-input\",\n \"disabled:oui-cursor-not-allowed\",\n \"oui-peer\",\n ],\n box: [\n \"oui-rounded\",\n \"oui-bg-base-6\",\n \"oui-flex\",\n \"oui-items-center\",\n \"oui-outline\",\n \"oui-outline-offset-0\",\n \"oui-outline-1\",\n \"oui-outline-transparent\",\n \"focus-within:oui-outline-primary-light\",\n \"oui-input-root\",\n ],\n additional: [\n \"oui-h-full oui-flex oui-flex-col oui-justify-center oui-px-2 oui-text-base-contrast\",\n ],\n closeButton: [\n \"oui-cursor-pointer\",\n \"oui-invisible\",\n \"peer-focus:oui-visible\",\n ],\n },\n variants: {\n // variant: {\n // outline:{\n // box:\n // }\n // },\n size: {\n xs: {\n input: [\"oui-h-6\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-6\"],\n additional: [\"oui-text-2xs\"],\n },\n sm: {\n input: [\"oui-h-7\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-7\"],\n additional: [\"oui-text-2xs\"],\n },\n md: {\n input: [\"oui-h-8\", \"oui-text-2xs\", \"placeholder:oui-text-2xs\"],\n box: [\"oui-h-8\"],\n additional: [\"oui-text-2xs\"],\n },\n lg: {\n input: [\"oui-h-10\", \"oui-text-sm\", \"placeholder:oui-text-sm\"],\n box: [\"oui-h-10 oui-rounded-md\"],\n additional: [\"oui-text-sm\"],\n },\n xl: {\n input: [\"oui-h-12\", \"oui-text-base\", \"placeholder:oui-text-base\"],\n box: [\"oui-h-12 oui-rounded-md\"],\n additional: [\"oui-text-sm\"],\n },\n },\n color: {\n success: {\n box: [\"oui-outline-success\", \"focus-within:oui-outline-success\"],\n input: [\"oui-text-success\"],\n },\n danger: {\n box: [\"oui-outline-danger\", \"focus-within:oui-outline-danger\"],\n input: [\"oui-text-danger\"],\n },\n warning: {\n box: [\"oui-outline-warning-darken\", \"focus-within:oui-outline-warning-darken\"],\n input: [\"oui-text-warning-darken\"],\n },\n default: {\n box: [\"oui-outline-transparent\"],\n },\n },\n disabled: {\n true: {\n input: [\"oui-cursor-not-allowed\", \"oui-text-base-contrast-20\"],\n box: [\"oui-bg-base-5\"],\n },\n },\n pl: {\n true: {\n box: \"oui-pl-3\",\n },\n false: {\n box: \"oui-pl-0\",\n },\n },\n pr: {\n true: {\n box: \"oui-pr-3\",\n },\n false: {\n box: \"oui-pr-0\",\n },\n },\n fullWidth: {\n true: {\n box: \"oui-w-full\",\n },\n },\n align: {\n center: {\n input: \"oui-text-center\",\n },\n left: {\n input: \"oui-text-left\",\n },\n right: {\n input: \"oui-text-right\",\n },\n },\n },\n // compoundVariants: [{ size: \"default\", className: [\"oui-bg-transparent\"] }],\n\n defaultVariants: {\n size: \"lg\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n }\n);\n\n// @ts-ignore\ninterface InputProps<T = string>\n extends BaseInputProps<T>,\n VariantProps<typeof inputVariants> {\n prefix?: string | React.ReactNode;\n suffix?: string | React.ReactNode;\n fullWidth?: boolean;\n onClear?: () => void;\n classNames?: {\n input?: string;\n root?: string;\n additional?: string;\n clearButton?: string;\n prefix?: string;\n suffix?: string;\n };\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n const {\n size,\n disabled,\n color,\n suffix,\n prefix,\n id,\n pl,\n pr,\n fullWidth,\n className,\n classNames,\n onClear,\n align,\n ...inputProps\n } = props;\n\n const { input, box, additional, closeButton } = inputVariants({\n size,\n disabled,\n color,\n fullWidth,\n align,\n // className: cnBase(className, classes?.root),\n\n pl: typeof prefix === \"undefined\" || pl,\n pr: typeof suffix === \"undefined\" || pr,\n });\n const cid = useId();\n\n const suffixElement =\n typeof onClear !== \"undefined\" ? (\n <ClearButton\n className={closeButton({ className: classNames?.clearButton })}\n onClick={() => {\n onClear?.();\n }}\n value={inputProps.value as string | number}\n />\n ) : (\n suffix\n );\n\n return (\n <div className={box({ className: cnBase(className, classNames?.root) })}>\n <InputPrefix\n id={id || cid}\n prefix={prefix}\n className={additional({\n className: cnBase(classNames?.additional, classNames?.prefix),\n })}\n />\n <BaseInput\n {...inputProps}\n id={id || cid}\n disabled={disabled}\n ref={ref}\n className={input({ align, className: classNames?.input })}\n />\n <InputSuffix\n id={id || cid}\n suffix={suffixElement}\n className={additional({\n className: cnBase(classNames?.additional, classNames?.suffix),\n })}\n />\n </div>\n );\n});\n\nconst ClearButton = React.forwardRef<\n HTMLButtonElement,\n { onClick: () => void; value: string | number; className?: string }\n>((props, ref) => {\n return (\n <button\n onMouseDown={(event) => {\n event.preventDefault();\n props.onClick();\n }}\n ref={ref}\n className={props.className}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8 1.302a6.667 6.667 0 1 0 0 13.333A6.667 6.667 0 0 0 8 1.302m-2 4c.17 0 .349.057.479.187l1.52 1.521L9.52 5.49a.68.68 0 0 1 .48-.188c.17 0 .348.057.479.187.26.261.26.698 0 .96l-1.52 1.52 1.52 1.52c.26.261.26.698 0 .96a.687.687 0 0 1-.959 0L8 8.926l-1.521 1.521a.686.686 0 0 1-.959 0 .686.686 0 0 1 0-.959l1.521-1.52-1.52-1.52a.686.686 0 0 1 0-.96A.68.68 0 0 1 6 5.302\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </svg>\n </button>\n );\n});\n\nClearButton.displayName = \"ClearButton\";\n\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };\n\nexport type { InputProps };\n","import React, {\n useState,\n useRef,\n useCallback,\n useMemo,\n useEffect,\n forwardRef,\n} from \"react\";\nimport { InputHTMLAttributes } from \"react\";\nimport { findLongestCommonSubString } from \"@kodiak-finance/orderly-utils\";\nimport { InputFormatter } from \"./formatter/inputFormatter\";\n\nexport interface BaseInputProps<T = string>\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"size\" | \"prefix\" | \"disabled\" | \"inputMode\" | \"color\"\n > {\n disabled?: boolean;\n\n clearable?: boolean;\n onClean?: () => void;\n fixClassName?: string;\n helpText?: string;\n loading?: boolean;\n inputMode?: \"decimal\" | \"numeric\";\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\") return value;\n return formatToRender(value as string);\n }, [value]);\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 inputMode={inputMode}\n ref={innerInputRef}\n onBlur={onInputBlur}\n onFocus={onInputFocus}\n onChange={onInputChange}\n value={formattedValue}\n id={id}\n />\n );\n },\n);\n\nBaseInput.displayName = \"BaseInput\";\n","import { FC, PropsWithChildren } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport const InputAdditional: FC<\n PropsWithChildren<{\n className?: string;\n name?: string;\n asChild?: boolean;\n as?: string;\n }>\n> = (props) => {\n const { asChild, as = \"label\" } = props;\n\n const Comp = asChild ? Slot : \"label\";\n\n return (\n <Comp htmlFor={props.name} className={props.className}>\n {props.children}\n </Comp>\n );\n};\n","import React from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { InputAdditional } from \"./inputAdditional\";\n\ninterface InputPrefixProps {\n prefix?: string | React.ReactNode;\n className?: string;\n id: string;\n}\n\nexport const InputPrefix: React.FC<InputPrefixProps> = (props) => {\n const { prefix, id } = props;\n if (typeof prefix === \"undefined\") {\n return null;\n }\n if (typeof prefix === \"string\") {\n return (\n <InputAdditional name={id} className={props.className}>\n {prefix}\n </InputAdditional>\n );\n }\n return prefix;\n};\n","import React from \"react\";\nimport { InputAdditional } from \"./inputAdditional\";\n\ninterface InputPrefixProps {\n suffix?: string | React.ReactNode;\n className?: string;\n id: string;\n}\n\nexport const InputSuffix: React.FC<InputPrefixProps> = (props) => {\n const { suffix, id } = props;\n if (typeof suffix === \"undefined\") {\n return null;\n }\n if (typeof suffix === \"string\") {\n return (\n <InputAdditional name={id} className={props.className}>\n {suffix}\n </InputAdditional>\n );\n }\n return suffix;\n};\n","import React, { KeyboardEvent, useRef, useState } from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CaretDownIcon } from \"../icon\";\nimport { Input } from \"../input\";\nimport { PopoverRoot, PopoverAnchor, PopoverContent } from \"../popover\";\n// import { SizeType } from \"../helpers/sizeType\";\nimport { ScrollArea } from \"../scrollarea\";\nimport { type SelectVariantProps } from \"./select\";\nimport { selectVariants } from \"./selectPrimitive\";\nimport { SelectOption, SelectWithOptionsProps } from \"./withOptions\";\n\nexport type CombineSelectProps = {\n placeholder?: string;\n} & SelectWithOptionsProps;\n\nexport const CombineSelect: React.FC<CombineSelectProps> = (props) => {\n const { options, variant, valueFormatter, ...rest } = props;\n const [keyword, setKeyword] = useState<string>(\"\");\n // const [open, setOpen] = useState<boolean>(props.defaultOpen || false);\n const [value, setValue] = useState<string | undefined>(props.value ?? \"\");\n const { trigger } = selectVariants({\n size: props.size,\n variant,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(() =>\n typeof props.value === \"undefined\"\n ? -1\n : options.findIndex((option) => option.value === props.value),\n );\n\n const [focused, setFocused] = useState<boolean>(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const onFocus = () => {\n setFocused(true);\n // setOpen(true);\n };\n\n const filteredOptions = !keyword\n ? options\n : options.filter((option) => {\n if (option.value.toLowerCase().includes(keyword.toLowerCase()))\n return true;\n });\n\n // const onKeyDown = useCallback(\n // (e: React.KeyboardEvent) => {\n // console.log(e.code);\n // },\n // [filteredOptions]\n // );\n\n return (\n <PopoverRoot open={focused}>\n <PopoverAnchor>\n <Input\n ref={inputRef}\n size={props.size}\n autoComplete={\"off\"}\n onFocus={onFocus}\n onBlur={() => {\n setFocused(false);\n }}\n placeholder={props.placeholder ?? \"All\"}\n value={\n focused\n ? keyword\n : typeof valueFormatter === \"function\"\n ? (valueFormatter(value ?? \"\", {\n placeholder: props.placeholder,\n }) as string)\n : value\n }\n onValueChange={(value) => {\n setKeyword(value);\n }}\n // onKeyDown={onKeyDown}\n\n classNames={{\n root: trigger({\n className: \"oui-w-24 oui-peer\",\n }),\n input: \"oui-text-base-contrast-54 oui-font-semibold\",\n }}\n data-state={focused ? \"open\" : \"closed\"}\n suffix={\n <SelectPrimitive.Icon\n onMouseDown={(e) => {\n e.preventDefault();\n focused ? inputRef.current?.blur() : inputRef.current?.focus();\n }}\n asChild\n className=\"oui-transition-transform peer-data-[state=open]:oui-rotate-180 peer-data-[state=closed]:oui-rotate-0 oui-mx-2\"\n >\n <CaretDownIcon\n size={12}\n className=\"oui-text-inherit\"\n // opacity={1}\n />\n </SelectPrimitive.Icon>\n }\n />\n </PopoverAnchor>\n <PopoverContent\n onOpenAutoFocus={(e) => {\n e.preventDefault();\n setKeyword(\"\");\n }}\n className={\"oui-w-[var(_--radix-popover-trigger-width)] oui-p-1\"}\n >\n <ScrollArea className=\"oui-h-[200px]\">\n {filteredOptions.map((option, index) => {\n return (\n <SelectItem\n option={option}\n key={index}\n size={props.size}\n activated={selectedIndex === index}\n onClick={(value) => {\n setValue(value.value);\n setSelectedIndex(index);\n props.onValueChange?.(value.value);\n inputRef.current?.blur();\n // setKeyword(value.value);\n }}\n />\n );\n })}\n </ScrollArea>\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nconst SelectItem = (props: {\n option: SelectOption;\n size?: SelectVariantProps[\"size\"];\n activated: boolean;\n onClick: (item: SelectOption) => void;\n}) => {\n const { item } = selectVariants({\n size: props.size,\n });\n return (\n <button\n className={item({\n className: `oui-text-base-contrast-54 oui-w-full ${\n props.activated ? \"oui-bg-base-7\" : \"\"\n }`,\n })}\n onMouseDown={(e) => {\n e.preventDefault();\n props.onClick(props.option);\n }}\n >\n {props.option.label}\n </button>\n );\n};\n","import * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst popoverVariants = tv({\n base: [\n \"oui-z-50\",\n \"oui-w-72\",\n \"oui-rounded-md\",\n \"oui-border\",\n \"oui-border-line-6\",\n // \"oui-bg-popover\",\n \"oui-p-4\",\n \"oui-bg-base-8\",\n // \"oui-text-popover-foreground\",\n \"oui-shadow-md\",\n \"oui-outline-none\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n});\n\nconst PopoverRoot = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> &\n VariantProps<typeof popoverVariants>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={popoverVariants({ className })}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\ntype PopoverProps = PopoverPrimitive.PopoverProps & {\n content: React.ReactNode;\n arrow?: boolean;\n contentProps?: PopoverPrimitive.PopoverContentProps;\n};\n\n/**\n * Popover component\n * @param {React.ReactNode} content - The content of the popover\n */\nconst Popover: React.FC<React.PropsWithChildren<PopoverProps>> = (props) => {\n const { arrow, content, contentProps, ...popoverProps } = props;\n return (\n <PopoverRoot {...popoverProps}>\n <PopoverTrigger asChild>{props.children}</PopoverTrigger>\n <PopoverContent {...contentProps}>\n {content}\n {arrow && (\n <PopoverPrimitive.Arrow\n className={\"oui-fill-base-8\"}\n width={10}\n height={6}\n />\n )}\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nexport { PopoverRoot, PopoverTrigger, PopoverContent, PopoverAnchor, Popover };\n","import React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst scrollAreaVariants = tv({\n slots: {\n root: \"oui-relative oui-overflow-hidden oui-scroll-area-root\",\n viewport: \"oui-h-full oui-w-full oui-rounded-[inherit]\",\n bar: [\n \"oui-flex\",\n \"oui-touch-none\",\n \"oui-select-none\",\n \"oui-transition-colors\",\n ],\n tumb: \"oui-relative oui-flex-1 oui-rounded-full oui-bg-base-10\",\n },\n variants: {\n orientation: {\n vertical: {\n bar: \"oui-h-full oui-w-2 oui-border-l oui-border-l-transparent oui-p-[1px]\",\n },\n horizontal: {\n bar: \"oui-h-2 oui-flex-col oui-border-t oui-border-t-transparent oui-p-[1px]\",\n },\n },\n },\n});\n\ninterface ScrollAreaProps\n extends React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>,\n VariantProps<typeof scrollAreaVariants> {\n classNames?: {\n viewport?: string;\n };\n}\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n ScrollAreaProps\n>((oriProps, ref) => {\n const {\n className,\n classNames,\n children,\n orientation = \"vertical\",\n ...props\n } = oriProps;\n const { root, viewport } = scrollAreaVariants({ orientation });\n return (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={root({ className: className })}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n className={viewport({ className: classNames?.viewport })}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar orientation={orientation} />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n});\n\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>((oriProps, ref) => {\n const { className, orientation = \"vertical\", ...props } = oriProps;\n const { bar, tumb } = scrollAreaVariants({ className, orientation });\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={bar({ className })}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className={tumb()} />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n});\n\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar, scrollAreaVariants };\n\nexport { type ScrollAreaProps };\n","import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { type VariantProps } from \"tailwind-variants\";\nimport { CaretDownIcon, CaretUpIcon } from \"../icon\";\nimport { tv } from \"../utils/tv\";\n\nconst selectVariants = tv(\n {\n slots: {\n trigger: [\n \"oui-flex\",\n \"oui-group\",\n \"oui-w-full\",\n \"oui-items-center\",\n \"oui-justify-between\",\n \"oui-whitespace-nowrap\",\n \"oui-rounded-md\",\n \"oui-px-2\",\n // \"oui-py-2\",\n\n \"oui-space-x-1\",\n // \"oui-text-sm\",\n \"oui-shadow-sm\",\n // \"oui-ring-offset-background\",\n \"oui-text-base-contrast-54\",\n \"placeholder:oui-text-base-contrast-54\",\n \"data-[state=open]:oui-text-base-contrast-80\",\n \"focus:oui-outline-none\",\n \"focus:oui-ring-1\",\n \"focus:oui-ring-ring\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n \"[&>span]:oui-line-clamp-1\",\n ],\n scrollUpButton:\n \"oui-flex oui-cursor-default oui-items-center oui-justify-center oui-py-1\",\n scrollDownButton:\n \"oui-flex oui-cursor-default oui-items-center oui-justify-center oui-py-1\",\n content: [\n \"oui-relative\",\n \"oui-z-50\",\n \"oui-max-h-96\",\n // \"oui-min-w-[8rem]\",\n \"oui-overflow-hidden\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n \"oui-text-base-contrast\",\n // \"oui-bg-popover\",\n // \"oui-text-popover-foreground\",\n \"oui-shadow-md\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:aoui-nimate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n viewport: [\"oui-p-1\"],\n label: \"oui-px-2 oui-py-1.5 oui-text-sm oui-font-semibold\",\n item: [\n \"oui-option-item\",\n \"oui-relative\",\n \"oui-flex\",\n // \"oui-w-full\",\n \"oui-cursor-default\",\n \"oui-select-none\",\n \"oui-items-center\",\n \"oui-rounded-sm\",\n \"oui-py-1\",\n \"oui-pl-2\",\n \"oui-pr-8\",\n \"oui-text-sm\",\n \"oui-text-base-contrast-54\",\n \"oui-outline-none\",\n \"hover:oui-bg-base-6\",\n \"hover:oui-rounded\",\n \"focus:oui-bg-accent\",\n \"focus:oui-text-accent-foreground\",\n \"data-[state=checked]:oui-bg-base-5\",\n \"data-[state=checked]:oui-text-base-contrast-80\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-opacity-50\",\n ],\n separator: \"-oui-mx-1 oui-my-1 oui-h-px oui-bg-muted\",\n icon: \"\",\n },\n variants: {\n variant: {\n outlined: {\n trigger: [\"oui-border oui-border-line-6 oui-bg-line-4\"],\n },\n contained: {\n trigger: [\"oui-bg-base-4\"],\n },\n text: {\n trigger: [],\n },\n // text\n },\n position: {\n popper: {\n content: [\n \"data-[side=bottom]:oui-translate-y-1\",\n \"data-[side=left]:-oui-translate-x-1\",\n \"data-[side=right]:oui-translate-x-1\",\n \"data-[side=top]:-oui-translate-y-1\",\n ],\n viewport:\n \"oui-h-[var(--radix-select-trigger-height)] oui-w-full oui-min-w-[var(--radix-select-trigger-width)]\",\n },\n \"item-aligned\": {\n content: \"\",\n viewport: \"\",\n },\n },\n size: {\n xs: {\n trigger: [\"oui-h-6\", \"oui-text-2xs\"],\n item: [\"oui-h-6\", \"oui-text-2xs\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n sm: {\n trigger: [\"oui-h-7\", \"oui-text-2xs\"],\n item: [\"oui-h-7\", \"oui-text-2xs\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n md: {\n trigger: [\"oui-h-8\", \"oui-text-xs\"],\n item: [\"oui-h-7\", \"oui-text-xs\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n lg: {\n trigger: [\"oui-h-10\", \"oui-text-sm\", \"oui-px-3\"],\n item: [\"oui-h-8\", \"oui-text-2xs\"],\n icon: [\"oui-w-5\", \"oui-h-5\"],\n },\n xl: {\n trigger: [\"oui-h-12\", \"oui-text-2xs\", \"oui-px-3\"],\n item: [\"oui-h-12\", \"oui-text-2xs\"],\n icon: [\"oui-w-6\", \"oui-h-6\"],\n },\n },\n error: {\n true: {\n trigger: [\n \"oui-border-danger\",\n \"focus:oui-ring-danger\",\n \"focus:oui-ring-ring-danger\",\n ],\n },\n },\n },\n defaultVariants: {\n size: \"lg\",\n variant: \"outlined\",\n },\n },\n {\n responsiveVariants: [\"md\", \"lg\"],\n },\n);\n\nconst SelectRoot = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> &\n VariantProps<typeof selectVariants> & {\n showCaret?: boolean;\n }\n>(\n (\n {\n className,\n children,\n size,\n error,\n variant,\n asChild,\n showCaret = true,\n ...props\n },\n ref,\n ) => {\n const { trigger } = selectVariants({ size, error, variant });\n if (asChild) {\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n asChild={asChild}\n {...props}\n >\n {children}\n </SelectPrimitive.Trigger>\n );\n }\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n asChild={asChild}\n {...props}\n >\n {children}\n\n <>\n {showCaret && (\n <SelectPrimitive.Icon\n asChild\n className=\"oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n >\n <CaretDownIcon\n size={12}\n className=\"oui-text-inherit\"\n opacity={1}\n />\n </SelectPrimitive.Icon>\n )}\n </>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => {\n const { scrollUpButton } = selectVariants();\n return (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={scrollUpButton({ className })}\n {...props}\n >\n <CaretUpIcon size={16} color={\"white\"} />\n </SelectPrimitive.ScrollUpButton>\n );\n});\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => {\n const { scrollDownButton } = selectVariants();\n return (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={scrollDownButton({ className })}\n {...props}\n >\n <CaretDownIcon size={16} color={\"white\"} />\n </SelectPrimitive.ScrollDownButton>\n );\n});\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => {\n const { content, viewport } = selectVariants({ position, className });\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={content({ className })}\n position={position}\n {...props}\n >\n {/* <SelectScrollUpButton /> */}\n <SelectPrimitive.Viewport className={viewport()}>\n {children}\n </SelectPrimitive.Viewport>\n {/* <SelectScrollDownButton /> */}\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n});\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => {\n const { label } = selectVariants();\n return (\n <SelectPrimitive.Label\n ref={ref}\n className={label({ className })}\n {...props}\n />\n );\n});\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> & {\n size?: VariantProps<typeof selectVariants>[\"size\"];\n }\n>(({ className, children, size, ...props }, ref) => {\n const { item } = selectVariants({ size });\n return (\n <SelectPrimitive.Item ref={ref} className={item({ className })} {...props}>\n {/* <span className=\"oui-absolute oui-right-2 oui-flex vh-3.5 oui-w-3.5 oui-items-center oui-justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </SelectPrimitive.ItemIndicator>\n </span> */}\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => {\n const { separator } = selectVariants();\n return (\n <SelectPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n );\n});\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n // Select: ,\n SelectRoot,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n selectVariants,\n};\n","import React, { FC, PropsWithChildren, ReactElement } from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { ScrollArea } from \"../scrollarea\";\nimport {\n SelectContent,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n selectVariants,\n} from \"./selectPrimitive\";\n\nexport type SelectVariantProps = VariantProps<typeof selectVariants>;\n\nexport type SelectProps<T> = SelectPrimitive.SelectProps & {\n placeholder?: string;\n valueFormatter?: (\n value: T,\n options: {\n placeholder?: string;\n },\n ) => React.ReactNode;\n contentProps?: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>;\n showCaret?: boolean;\n maxHeight?: number;\n testid?: string;\n classNames?: {\n trigger?: string;\n };\n} & SelectVariantProps;\n\nexport const Select = <T,>(props: PropsWithChildren<SelectProps<T>>) => {\n const {\n children,\n size,\n error,\n placeholder,\n variant,\n contentProps,\n valueFormatter: valueRenderer,\n showCaret,\n maxHeight,\n testid,\n classNames,\n ...rest\n } = props;\n\n return (\n <SelectRoot {...rest}>\n <SelectTrigger\n size={size}\n error={error}\n variant={variant}\n showCaret={showCaret}\n className={cnBase(\n \"oui-cursor-pointer oui-font-semibold focus:oui-ring-transparent\",\n // !showCaret && \"oui-cursor-auto\",\n classNames?.trigger,\n )}\n data-testid={testid}\n >\n {typeof valueRenderer === \"function\" ? (\n valueRenderer((props.value || props.defaultValue) as T, {\n placeholder,\n })\n ) : (\n <SelectValue placeholder={placeholder} />\n )}\n </SelectTrigger>\n <SelectContent {...contentProps}>\n <ScrollArea>\n <div style={{ maxHeight }}>{children}</div>\n </ScrollArea>\n </SelectContent>\n </SelectRoot>\n );\n};\n","import React, { ReactElement, useMemo } from \"react\";\nimport {\n ItemIndicator,\n SelectItem,\n SelectItemText,\n} from \"@radix-ui/react-select\";\nimport { AvatarSizeType } from \"../avatar/avatar\";\nimport { Flex } from \"../flex\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { TokenIcon } from \"../icon\";\nimport { Text } from \"../typography\";\nimport type { SelectProps } from \"./select\";\nimport { selectVariants } from \"./selectPrimitive\";\nimport { SelectOption, SelectWithOptions } from \"./withOptions\";\n\ntype TokenItem = {\n name: string;\n [x: string]: any;\n};\n\nexport type TokenSelectProps = {\n tokens: TokenItem[];\n showIcon?: boolean;\n optionRenderer?: (option: SelectOption) => ReactElement;\n iconSize?: AvatarSizeType;\n} & SelectProps<string>;\n\nexport const TokenSelect: React.FC<TokenSelectProps> = (props) => {\n const { tokens, showIcon = true, iconSize, ...rest } = props;\n const { icon } = selectVariants();\n\n const options = useMemo(() => {\n return tokens.map((token) => {\n return {\n ...token,\n label: token.name,\n value: token.name,\n };\n });\n }, [tokens]);\n\n const selectable = options.length > 1;\n\n const valueRenderer = (value: string) => {\n if (typeof props.valueFormatter === \"function\") {\n return props.valueFormatter(value, {});\n }\n return (\n <Flex gapX={1}>\n <TokenIcon\n name={value}\n className={iconSize ? undefined : icon({ size: props.size })}\n size={iconSize}\n />\n <Text weight=\"semibold\" intensity={54}>\n {value}\n </Text>\n </Flex>\n );\n };\n\n const optionRenderer = (option: SelectOption) => {\n if (typeof props.optionRenderer === \"function\") {\n return props.optionRenderer(option);\n }\n return <Option {...option} iconSize={iconSize} />;\n };\n\n return (\n <SelectWithOptions\n {...rest}\n showCaret={selectable}\n options={options}\n valueFormatter={showIcon ? valueRenderer : undefined}\n optionRenderer={optionRenderer}\n maxHeight={254} // 30 * 8 + 2 * 7\n />\n );\n};\n\ntype OptionProps = SelectOption & {\n index?: number;\n size?: SizeType;\n iconSize?: AvatarSizeType;\n};\n\nconst Option: React.FC<OptionProps> = (props) => {\n const { size, label, value, iconSize } = props;\n\n const { item, icon } = selectVariants();\n return (\n <SelectItem\n value={value}\n className={item({\n size,\n className: \"oui-space-x-1 oui-flex oui-flex-row oui-items-center\",\n })}\n >\n <TokenIcon\n name={value}\n className={iconSize ? undefined : icon({ size })}\n size={iconSize}\n />\n <SelectItemText>{label}</SelectItemText>\n <ItemIndicator />\n </SelectItem>\n );\n};\n","import React, { FC, ReactElement } from \"react\";\nimport { cn } from \"..\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select, SelectProps } from \"./select\";\nimport { SelectGroup, SelectItem } from \"./selectPrimitive\";\n\nexport type SelectOption = {\n label: string;\n value: string;\n};\n\nexport type SelectWithOptionsProps<T = string> = SelectProps<T> & {\n // options: SelectOption[] | (() => Promise<SelectOption[]>);\n currentValue?: string;\n options: SelectOption[];\n optionRenderer?: (\n option: SelectOption,\n // & {\n // size?: SizeType;\n // index: number;\n // }\n ) => ReactElement;\n // loading?: boolean;\n testid?: string;\n prefix?: string;\n};\n\nexport const defaultOptionRenderer = (\n option: SelectOption,\n currentValue?: string,\n) => {\n return (\n <SelectItem\n key={option.value}\n value={option.value}\n className={cn(\"oui-relative oui-cursor-pointer\")}\n data-testid={`oui-testid-selectItem-${option.value\n ?.toLowerCase()\n ?.replace(\" \", \"_\")}`}\n >\n {option.label}\n {currentValue == option.value && (\n <Box\n width={4}\n height={4}\n gradient=\"brand\"\n r=\"full\"\n className=\"oui-absolute oui-right-2 oui-top-1/2 -oui-translate-y-1/2\"\n />\n )}\n </SelectItem>\n );\n};\n\nexport const SelectWithOptions: FC<SelectWithOptionsProps> = (props) => {\n const {\n children,\n options,\n optionRenderer = defaultOptionRenderer,\n currentValue,\n ...rest\n } = props;\n\n // const [] = useState<SelectOption[]>([]);\n\n return (\n <Select {...rest}>\n <SelectGroup>\n {options.map((option, index) => {\n // return optionRenderer({\n // ...option,\n // // value: option,\n // size: props.size,\n // index,\n // });\n return React.cloneElement(optionRenderer(option, currentValue), {\n size: props.size,\n key: index,\n index,\n });\n })}\n </SelectGroup>\n </Select>\n );\n};\n","import { CombineSelect } from \"./combine\";\nimport { Select as SelectComponent } from \"./select\";\nimport { TokenSelect } from \"./tokens\";\nimport { SelectWithOptions } from \"./withOptions\";\n\nexport {\n SelectRoot,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n} from \"./selectPrimitive\";\n\nexport type SelectType = typeof SelectComponent & {\n options: typeof SelectWithOptions;\n tokens: typeof TokenSelect;\n combine: typeof CombineSelect;\n};\n\nconst Select = SelectComponent as SelectType;\nSelect.options = SelectWithOptions;\nSelect.combine = CombineSelect;\nSelect.tokens = TokenSelect;\n\nexport { Select };\n\nexport type { SelectProps } from \"./select\";\nexport type { SelectWithOptionsProps, SelectOption } from \"./withOptions\";\nexport type { ChainSelectProps } from \"./chains\";\n","import { forwardRef, useEffect, useState } from \"react\";\nimport {\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipRoot,\n TooltipArrow,\n TooltipTrigger,\n} from \"../tooltip\";\nimport { Input, InputProps } from \"./input\";\nimport type { TooltipContentProps } from \"@radix-ui/react-tooltip\";\n\nexport type InputWithTooltipProps = InputProps & {\n tooltip?: React.ReactNode;\n tooltipProps?: {\n content?: TooltipContentProps;\n arrow?: TooltipContentProps;\n };\n triggerClassName?: string;\n};\n\nexport const InputWithTooltip = forwardRef<\n HTMLInputElement,\n InputWithTooltipProps\n>((props, ref) => {\n const { tooltip, tooltipProps, triggerClassName, ...inputProps } = props;\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (typeof tooltip !== \"undefined\" && tooltip !== \"\" && tooltip !== null) {\n setOpen(true);\n } else {\n setOpen(false);\n }\n }, [tooltip]);\n\n return (\n <TooltipRoot open={open}>\n <TooltipTrigger asChild>\n <div className={triggerClassName}>\n <Input {...inputProps} ref={ref} />\n </div>\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent {...tooltipProps?.content}>\n {props.tooltip}\n <TooltipArrow {...tooltipProps?.arrow}/>\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n );\n});\n\nInputWithTooltip.displayName = \"InputWithTooltip\";\n","import * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { TooltipContentProps } from \"@radix-ui/react-tooltip\";\nimport { cn } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\n// import { cn } from \"..\";\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\n// const Tooltip = TooltipPrimitive.Root;\nconst TooltipRoot = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\n// const TooltipArrow = TooltipPrimitive.Arrow;\n\nconst TooltipPortal = TooltipPrimitive.Portal;\n\nconst tooltipVariants = tv({\n base: [\n \"oui-z-50\",\n \"oui-overflow-hidden\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n \"oui-px-2\",\n \"oui-py-1\",\n \"oui-text-xs\",\n \"oui-text-base-contrast\",\n \"oui-animate-in\",\n \"oui-fade-in-0\",\n \"oui-zoom-in-95\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n});\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => {\n return (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={tooltipVariants({\n className,\n })}\n {...props}\n />\n );\n});\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = (props: {\n className?: string;\n style?: React.CSSProperties;\n}) => {\n const { className, ...arrowProps } = props;\n return (\n <TooltipPrimitive.Arrow\n width={12}\n height={6}\n {...arrowProps}\n className={cn(\n \"oui-fill-base-8\",\n className,\n )({\n twMerge: true,\n })}\n />\n );\n};\n\nexport type TooltipProps = Omit<\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root> &\n React.ComponentPropsWithoutRef<typeof TooltipContent>,\n \"content\"\n> & {\n className?: string;\n content?: React.ReactNode;\n arrow?: TooltipPrimitive.TooltipArrowProps;\n};\n\nconst Tooltip = React.forwardRef<\n React.ElementRef<typeof TooltipContent>,\n TooltipProps\n>((originalProps, ref) => {\n const {\n children,\n content,\n defaultOpen,\n open,\n onOpenChange,\n delayDuration,\n disableHoverableContent,\n arrow,\n ...props\n } = originalProps;\n const { className, ...arrowProps } = arrow || {};\n return (\n <TooltipPrimitive.Root\n defaultOpen={defaultOpen}\n open={open}\n onOpenChange={onOpenChange}\n delayDuration={delayDuration}\n disableHoverableContent={disableHoverableContent}\n >\n <TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>\n <TooltipPortal>\n <TooltipContent ref={ref} {...props}>\n {content}\n <TooltipArrow {...arrow} />\n </TooltipContent>\n </TooltipPortal>\n </TooltipPrimitive.Root>\n );\n});\n\nTooltip.displayName = \"Tooltip\";\n\nexport {\n Tooltip,\n TooltipRoot,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipArrow,\n TooltipPortal,\n};\n","export { currencyFormatter } from \"./currency\";\n\nexport { numberFormatter } from \"./number\";\n\nexport { createRegexInputFormatter } from \"./regex\";\n\nexport { dpFormatter } from \"./dp\";\n\nexport { rangeFormatter } from \"./range\";\n\nexport { identifierFormatter } from \"./identifier\";\n\nexport { decimalPointFormatter } from \"./decimalPoint\";","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\nimport { commify } from \"@kodiak-finance/orderly-utils\";\n\nexport const currencyFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n return commify(value);\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n\n value = value.replace(/,/g, \"\");\n\n return value;\n },\n};\n","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\nexport const numberFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n return \"\" + value;\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value.startsWith(\".\")) return `0${value}`;\n if (value === '00') return '0';\n\n // if (/^0{2,}$/.test(value)) {\n // return \"0\";\n // }\n\n value = value\n .replace(/[^\\d.]/g, \"\")\n .replace(\".\", \"$#$\")\n .replace(/\\./g, \"\")\n .replace(\"$#$\", \".\");\n\n return value;\n },\n};\n","import { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\ntype RegExpFunction = (value: string | number) => string;\n\ntype RegexInputFormatter = (regex: RegExp | RegExpFunction) => InputFormatter;\n\nexport const createRegexInputFormatter: RegexInputFormatter = (\n regex: RegExp | RegExpFunction,\n onSendBefore?: (value: string, options: InputFormatterOptions) => string,\n) => ({\n onRenderBefore: (\n value: string | number,\n options: InputFormatterOptions,\n ): string => {\n if (typeof regex === \"function\") {\n return regex(String(value));\n }\n const formattedValue = `${value}`.replace(regex, \"\");\n return formattedValue;\n },\n onSendBefore: (value: string, options: InputFormatterOptions): string => {\n return onSendBefore?.(value, options) || value;\n },\n});\n","import { InputFormatterOptions } from \"./inputFormatter\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\n\nexport const dpFormatter = (\n dp: number,\n config?: {\n /**\n * The rounding mode to use when rounding the number\n * @default Decimal.ROUND_DOWN\n */\n roundingMode?: number;\n }\n) => {\n const onBefore = (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n // if (config && config.tick !== null) {\n // return utils.formatNumber(value, config.tick) ?? value;\n // }\n return truncateNumber(value, dp);\n // const { roundingMode = Decimal.ROUND_DOWN } = config ?? {};\n // let d = new Decimal(value);\n // d = d.todp(dp, roundingMode);\n // return d.toString();\n };\n\n return {\n onRenderBefore: onBefore,\n onSendBefore: onBefore,\n };\n};\n\n/**\n * Truncate a number to a specified number of decimal places.\n * @param num The string to be truncated.\n * @param decimalPlaces The number of decimal places to keep.\n * @returns The truncated number as a string.\n */\nfunction truncateNumber(numStr: string, decimalPlaces: number): string {\n // Convert the number to a string\n // const numStr = typeof num ==='number'? num.toString():num;\n\n // Find the position of the decimal point\n const decimalIndex = numStr.indexOf(\".\");\n\n // If there's no decimal point or we don't need to truncate, return the number as is\n if (decimalIndex === -1 || decimalPlaces <= 0) {\n return numStr.split(\".\")[0];\n }\n\n // Calculate the end position for the substring\n const endIndex = decimalIndex + decimalPlaces + 1;\n\n // Return the truncated string\n return numStr.substring(0, endIndex);\n}\n","import { InputFormatterOptions } from \"./inputFormatter\";\n\nexport const rangeFormatter = (props: {\n max: number;\n min: number;\n dp?: number;\n}) => {\n const onBefore = (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n\n // Handle empty value or value ending with decimal point\n if (value === \".\") return \"0.\";\n if (!value || value.endsWith(\".\")) return value;\n\n const { max, min, dp } = props;\n\n const numValue = Number(value);\n\n // Handle invalid number\n if (isNaN(numValue)) {\n return \"\";\n }\n\n if (numValue < min) {\n return min.toString();\n }\n\n if (numValue > max) {\n return max.toString();\n }\n\n // Handle decimal places if dp is specified\n if (dp !== undefined && value.includes(\".\")) {\n const [integer, decimal] = value.split(\".\");\n // if decimal length is more than dp, return value without the last digit\n return decimal?.length <= dp ? value : value.slice(0, -1);\n }\n\n return value;\n };\n\n return {\n onRenderBefore: onBefore,\n onSendBefore: onBefore,\n };\n};\n","import { InputFormatterOptions } from \"./inputFormatter\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\n\nexport const identifierFormatter = (\n// props: {\n// integer?: string;\n// negative?: string;\n// }\n) => {\n // const {\n // integer = '+',\n // negative = '-',\n // } = props;\n\n const integer = '+';\n const negative = '-';\n return {\n onRenderBefore: (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n const _value = Number(value);\n if (_value) {\n // greater than 0 && not start with +\n if (_value > 0 && !value.startsWith(integer)) return integer + value;\n // greater less 0 && not start with -\n if (_value < 0 && !value.startsWith(negative)) return negative + value;\n }\n return value;\n },\n onSendBefore: (value: string | number, options: InputFormatterOptions) => {\n if (typeof value === \"number\") value = value.toString();\n if (!value || value.endsWith(\".\")) return value;\n const _value = Number(value);\n if (_value) {\n // greater than 0\n if (_value > 0) return value.replace(integer, \"\");\n }\n return value;\n },\n };\n};\n\n","import { commify } from \"@kodiak-finance/orderly-utils\";\nimport { InputFormatter, InputFormatterOptions } from \"./inputFormatter\";\n\nexport const decimalPointFormatter: InputFormatter = {\n onRenderBefore: function (\n value: string | number,\n options: InputFormatterOptions\n ): string {\n return String(value);\n },\n onSendBefore: function (\n value: string,\n options: InputFormatterOptions\n ): string {\n if (value === null || value === undefined) return \"\";\n return replaceComma(value, options?.originValue);\n },\n};\n\nconst replaceComma = (value: string, originValue?: string) => {\n if (value === null || value === undefined) return \"\";\n if (value.endsWith(\",\")) {\n return value.slice(0, -1) + \".\";\n }\n if (value.startsWith(\",\")) {\n return value.slice(0, 1) + \".\";\n }\n\n const originFormatValue = commify(originValue as string)\n if (\n originValue &&\n value.length > originFormatValue.length &&\n value.length - originFormatValue.length === 1\n ) {\n return findAndReplace(value, originFormatValue);\n }\n return value;\n};\n\nconst findAndReplace = (str1: string, str2: string) => {\n if (str1.length <= str2.length) {\n return str1;\n }\n\n for (let i = 0; i < str2.length; i++) {\n if (str1[i] !== str2[i]) {\n const differentChar = str1[i];\n const newChar = differentChar === \",\" ? \".\" : differentChar;\n return str1.slice(0, i) + newChar + str1.slice(i + 1);\n }\n }\n return str1;\n};\n","import React from \"react\";\nimport { Input, InputProps } from \"./input\";\nimport { InputHelpText, type InputHelpTextVariantProps } from \"./inputHelpText\";\nimport { tv } from \"../utils/tv\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cn } from \"..\";\n\nconst textFieldVariants = tv({\n slots: {\n root: \"oui-flex\",\n label: \"oui-text-sm oui-font-semibold\",\n input: [],\n },\n variants: {\n direction: {\n column: {\n root: \"oui-flex-col oui-space-y-1\",\n },\n row: {\n root: \"oui-flex-row oui-space-x-3 \",\n },\n },\n },\n defaultVariants: {\n direction: \"column\",\n },\n});\n\nexport type TextFieldProps = InputProps & {\n label: string;\n helpText?: string;\n classNames?: {\n root?: string;\n label?: string;\n input?: string;\n };\n} & VariantProps<typeof textFieldVariants>;\n\nexport const TextField: React.FC<TextFieldProps> = React.forwardRef<\n HTMLDivElement,\n TextFieldProps\n>((props, ref) => {\n const { label, helpText, direction, className, ...inputProps } = props;\n const { root, label: labelClassName } = textFieldVariants({ direction });\n\n return (\n <div className={root({ className, direction })}>\n <InputLabel className={cn(props.classNames?.label) || labelClassName()}>\n {label}\n </InputLabel>\n <div>\n <Input {...inputProps} />\n {(helpText?.length || 0 > 0) && (\n <InputHelpText\n color={inputProps.color as InputHelpTextVariantProps[\"color\"]}\n >\n {helpText}\n </InputHelpText>\n )}\n </div>\n </div>\n );\n});\n\nTextField.displayName = \"TextField\";\n\ninterface InputLabelProps extends React.HTMLAttributes<HTMLLabelElement> {\n asChild?: boolean;\n}\n\nconst InputLabel = React.forwardRef<HTMLLabelElement, InputLabelProps>(\n (props, ref) => {\n const { asChild = false, className, ...rest } = props;\n const Comp = asChild ? Slot : \"label\";\n\n return (\n <Comp className={className} ref={ref} {...rest}>\n {props.children}\n </Comp>\n );\n }\n);\n\nInputLabel.displayName = \"InputLabel\";\n","import { Slot } from \"@radix-ui/react-slot\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\nimport React from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nconst inputHelpTextVariants = tv({\n base: [\n \"oui-text-xs\",\n \"oui-text-base-contrast-36\",\n \"oui-mt-1\",\n \"oui-list-disc\",\n \"oui-list-inside\",\n \"oui-list-item\",\n ],\n variants: {\n color: {\n success: [\"oui-text-success\"],\n danger: [\"oui-text-danger\"],\n warning: [\"oui-text-warning-darken\"],\n default: [\"oui-text-base-contrast-54\"],\n },\n },\n});\n\nexport type InputHelpTextVariantProps = VariantProps<\n typeof inputHelpTextVariants\n>;\n\ninterface InputHelpTextProps\n extends ComponentPropsWithout<\"div\", RemovedProps>,\n InputHelpTextVariantProps {\n asChild?: boolean;\n}\n\nconst InputHelpText = React.forwardRef<HTMLDivElement, InputHelpTextProps>(\n (props, ref) => {\n const { className, asChild, color, ...rest } = props;\n const Comp = asChild ? Slot : \"div\";\n return (\n <Comp\n ref={ref}\n className={inputHelpTextVariants({\n className,\n color,\n })}\n {...rest}\n />\n );\n }\n);\n\nInputHelpText.displayName = \"InputHelpText\";\n\nexport { InputHelpText, inputHelpTextVariants };\n\nexport { type InputHelpTextProps };\n","import { QuantityInput } from \"./extends/quantity\";\nimport { Input as InputBase, inputVariants } from \"./input\";\nimport { InputWithTooltip } from \"./input.tooltip\";\n\nexport { InputAdditional } from \"./inputAdditional\";\n\nexport type { InputProps } from \"./input\";\nexport type { InputWithTooltipProps } from \"./input.tooltip\";\nexport * as inputFormatter from \"./formatter\";\n\nexport type {\n InputFormatter,\n InputFormatterOptions,\n} from \"./formatter/inputFormatter\";\n\nexport { TextField } from \"./textField\";\n\nexport { type TextFieldProps } from \"./textField\";\n\nexport { InputHelpText } from \"./inputHelpText\";\nexport type { InputHelpTextProps } from \"./inputHelpText\";\n\ntype InputType = typeof InputBase & {\n token: typeof QuantityInput;\n tooltip: typeof InputWithTooltip;\n};\n\nconst Input = InputBase as InputType;\nInput.token = QuantityInput;\nInput.tooltip = InputWithTooltip;\n\nexport { Input, inputVariants };\n","import * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { tv, cnBase } from \"tailwind-variants\";\n\nconst checkboxVariants = tv({\n base: [\n \"peer\",\n \"oui-h-3\",\n \"oui-w-3\",\n \"oui-shrink-0\",\n \"oui-rounded-sm\",\n \"oui-border\",\n \"focus-visible:oui-outline-none\",\n // \"focus-visible:oui-ring-1\",\n // \"focus-visible:oui-ring-ring\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n // \"data-[state=checked]:oui-border-none\",\n // \"data-[state=checked]:oui-text-base-contrast\",\n ],\n variants: {\n color: {\n primary: \"oui-border-primary data-[state=checked]:oui-text-base-contrast\",\n white: \"oui-border-base-contrast-54 \",\n // data-[state=checked]:oui-bg-white/80 data-[state=checked]:oui-text-[rgba(0,0,0,0.88)]\n },\n variant: {\n checkBox: \"data-[state=checked]:oui-border-none\",\n radio:\n \"oui-rounded-full data-[state=checked]:oui-border-base-contrast-20 data-[state=checked]:oui-bg-transparent\",\n },\n },\n compoundVariants: [\n {\n color: \"primary\",\n variant: \"radio\",\n className:\n \"data-[state=checked]:oui-border-parimary data-[state=checked]:!oui-text-parimary\",\n },\n ],\n defaultVariants: {\n color: \"white\",\n // style: \"checkBox\",\n },\n});\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & {\n size?: number;\n indicatorClassName?: string;\n color?: \"primary\" | \"white\";\n variant?: \"checkBox\" | \"radio\";\n }\n>(({ className, color = \"white\", variant = \"checkBox\", ...props }, ref) => {\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n className={checkboxVariants({ color, className, variant })}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cnBase(\n \"oui-flex oui-items-center oui-justify-center oui-text-current\",\n props.indicatorClassName\n )}\n >\n {variant === \"checkBox\" ? (\n <CheckboxIcon\n className={cnBase(\n color === \"primary\" ? \"oui-text-primary\" : \"oui-text-white\"\n )}\n />\n ) : (\n <div\n className={cnBase(\n \"oui-w-[6px] oui-h-[6px] oui-rounded-full\",\n color === \"primary\" ? \"oui-bg-primary\" : \"oui-bg-base-contrast-80\"\n )}\n />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n});\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n\nexport const CheckboxIcon: React.FC<React.SVGProps<SVGSVGElement>> = (\n props\n) => (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.078.71A2.333 2.333 0 0 0 .745 3.041v5.834a2.333 2.333 0 0 0 2.333 2.333H8.91a2.333 2.333 0 0 0 2.334-2.333V3.042A2.333 2.333 0 0 0 8.91.71zm5.83 2.555a.7.7 0 0 1 .488-.182c.174 0 .355.056.488.182a.643.643 0 0 1 0 .93L5.129 8.728a.723.723 0 0 1-.975 0L2.115 6.785a.644.644 0 0 1 0-.93.724.724 0 0 1 .977 0l1.55 1.476z\"\n fillOpacity=\".8\"\n />\n </svg>\n);\n","import React from \"react\";\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"..\";\n\nconst switchVariants = tv({\n slots: {\n root: [\n \"peer\",\n \"oui-inline-flex\",\n \"oui-h-[16px]\",\n \"oui-w-[28px]\",\n \"oui-shrink-0\",\n \"oui-cursor-pointer\",\n \"oui-items-center\",\n \"oui-rounded-full\",\n // \"oui-border-3\",\n \"oui-border-transparent\",\n \"oui-shadow-sm\",\n \"oui-transition-colors\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n \"focus-visible:oui-ring-offset-background\",\n \"disabled:oui-cursor-not-allowed\",\n \"disabled:oui-opacity-50\",\n \"data-[state=checked]:oui-bg-primary-darken\",\n \"data-[state=unchecked]:oui-bg-input\",\n ],\n thumb: [\n \"oui-pointer-events-none\",\n \"oui-block\",\n \"oui-h-[10px]\",\n \"oui-w-[10px]\",\n \"oui-rounded-full\",\n \"oui-bg-white/80\",\n \"oui-shadow-lg\",\n \"oui-ring-0\",\n \"oui-transition-transform\",\n \"data-[state=checked]:oui-translate-x-[15px]\",\n \"data-[state=unchecked]:oui-translate-x-[3px]\",\n ],\n },\n variants: {\n color: {\n primary: {\n root: [\n \"data-[state=checked]:oui-bg-primary-darken\",\n \"data-[state=unchecked]:oui-bg-base-1\",\n ],\n },\n success: {\n root: [\n \"data-[state=checked]:oui-bg-success\",\n \"data-[state=unchecked]:oui-bg-success\",\n ],\n },\n danger: {\n root: [\n \"data-[state=checked]:oui-bg-danger\",\n \"data-[state=unchecked]:oui-bg-danger\",\n ],\n },\n warning: {\n root: [\n \"data-[state=checked]:oui-bg-warning-darken\",\n \"data-[state=unchecked]:oui-bg-warning-darken\",\n ],\n },\n },\n },\n defaultVariants: {\n color: \"primary\",\n },\n});\n\ninterface SwitchProps\n extends VariantProps<typeof switchVariants>,\n Omit<\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>,\n \"color\"\n > {}\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n SwitchProps\n>(({ className, color, ...props }, ref) => {\n const { root, thumb } = switchVariants({\n className,\n color,\n });\n\n return (\n <SwitchPrimitives.Root className={root({ className })} {...props} ref={ref}>\n <SwitchPrimitives.Thumb className={thumb()} />\n </SwitchPrimitives.Root>\n );\n});\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\nimport {\n ComponentPropsWithout,\n RemovedProps,\n} from \"../helpers/component-props\";\n\nconst badgeVariants = tv({\n base: \"oui-inline-flex oui-items-center oui-rounded-md oui-font-semibold oui-transition-colors focus:oui-outline-none focus:oui-ring-2 focus:oui-ring-ring focus:oui-ring-offset-2\",\n\n variants: {\n variant: {\n contained: \"\",\n // outlined: \"oui-border\",\n text: \"\",\n },\n color: {\n primary: \"\",\n primaryLight: \"\",\n secondary: \"\",\n danger: \"\",\n buy: \"\",\n success: \"\",\n warning: \"\",\n sell: \"\",\n neutral: \"\",\n },\n size: {\n xs: \"oui-px-2 oui-py-0.5 oui-text-2xs oui-rounded oui-h-[18px]\",\n sm: \"oui-px-2 oui-py-0.5 oui-text-2xs oui-rounded\",\n md: \"oui-px-2 oui-py-0.5 oui-text-sm\",\n lg: \"oui-px-2 oui-py-1 oui-text-base\",\n // xl: \"oui-px-4 oui-py-1.5 oui-text-sm\",\n },\n // dot:{\n // true: \"oui-w-2 oui-h-2 oui-rounded-full\",\n // false: \"\"\n // }\n },\n compoundVariants: [\n {\n variant: \"contained\",\n color: \"primary\",\n className: [\"oui-bg-primary/15\", \"oui-text-primary\"],\n },\n {\n variant: \"contained\",\n color: \"primaryLight\",\n className: [\"oui-bg-primary-light/15\", \"oui-text-primary-light\"],\n },\n {\n variant: \"contained\",\n color: \"danger\",\n className: [\"oui-bg-danger/15\", \"oui-text-danger\"],\n },\n {\n variant: \"contained\",\n color: \"sell\",\n className: [\"oui-bg-danger/15\", \"oui-text-danger\"],\n },\n {\n variant: \"contained\",\n color: \"success\",\n className: [\"oui-bg-success/15\", \"oui-text-success\"],\n },\n {\n variant: \"contained\",\n color: \"buy\",\n className: [\"oui-bg-success/15\", \"oui-text-success\"],\n },\n {\n variant: \"contained\",\n color: \"warning\",\n className: [\"oui-bg-warning-darken/15\", \"oui-text-warning-darken\"],\n },\n {\n variant: \"contained\",\n color: \"neutral\",\n className: [\"oui-bg-line\", \"oui-text-base-contrast-36\"],\n },\n {\n variant: \"text\",\n color: \"primary\",\n className: [\"oui-text-primary\"],\n },\n {\n variant: \"text\",\n color: \"danger\",\n className: [\"oui-text-danger\"],\n },\n {\n variant: \"text\",\n color: \"success\",\n className: [\"oui-text-success\"],\n },\n {\n variant: \"text\",\n color: \"warning\",\n className: [\"oui-text-warning-darken\"],\n },\n {\n variant: \"text\",\n color: \"neutral\",\n className: [\"oui-text-base-contrast-36\"],\n },\n ],\n defaultVariants: {\n variant: \"contained\",\n color: \"primary\",\n size: \"md\",\n },\n});\n\nexport interface BadgeProps\n extends ComponentPropsWithout<\"div\", RemovedProps>,\n VariantProps<typeof badgeVariants> {\n // dot?: boolean;\n}\n\nfunction Badge({ className, variant, color, size, ...props }: BadgeProps) {\n return (\n <div\n className={badgeVariants({ variant, className, color, size })}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n","import React, { ElementRef, HTMLAttributes } from \"react\";\n\ntype Elment = ElementRef<\"div\">;\n\ntype LogoProps = HTMLAttributes<Elment> & {\n src: string;\n alt?: string;\n href?: string;\n};\n\nconst Logo = React.forwardRef<Elment, LogoProps>(({ src, alt, href }, ref) => {\n return (\n <div className=\"logo oui-px-3\" ref={ref}>\n <a href={href ?? \"/\"}>\n <img\n src={src}\n alt={alt}\n className=\"oui-object-contain oui-h-8 oui-py-2\"\n />\n </a>\n </div>\n );\n});\n\nLogo.displayName = \"LogoElement\";\n\nexport { Logo };\nexport type { LogoProps };\n","import { PropsWithChildren, ReactNode, useEffect, useMemo } from \"react\";\nimport {\n getCoreRowModel,\n useReactTable,\n getExpandedRowModel,\n Row,\n getSortedRowModel,\n CoreOptions,\n ColumnFilter,\n getFilteredRowModel,\n RowSelectionState,\n TableFeature,\n Table,\n Column as TanstackColumn,\n ExpandedState,\n OnChangeFn,\n} from \"@tanstack/react-table\";\nimport { cnBase, cn } from \"tailwind-variants\";\nimport { useInit } from \"./hooks/useInit\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport { useShowHeader } from \"./hooks/useShowHeader\";\nimport { useShowPagination } from \"./hooks/useShowPagination\";\nimport { useSort } from \"./hooks/useSort\";\nimport { useWrap } from \"./hooks/useWrap\";\nimport { TableBody } from \"./tableBody\";\nimport { TableHeader } from \"./tableHeader\";\nimport { TablePagination } from \"./tablePagination\";\nimport { TablePlaceholder } from \"./tablePlaceholder\";\nimport { Transform } from \"./transform\";\nimport {\n Column,\n PaginationMeta,\n TableSort,\n DataTableClassNames,\n TableCellContext,\n} from \"./type\";\n\nexport type DataTableProps<RecordType> = {\n columns: Column<RecordType>[];\n dataSource?: RecordType[] | ReadonlyArray<RecordType> | null;\n /**\n * @description loading state\n * @default false\n */\n loading?: boolean;\n // isValidating?: boolean;\n ignoreLoadingCheck?: boolean;\n className?: string;\n classNames?: DataTableClassNames;\n // showMaskElement?: boolean;\n emptyView?: ReactNode;\n bordered?: boolean;\n // loadMore?: () => void;\n onSort?: (sort?: TableSort) => void;\n initialSort?: TableSort;\n id?: string;\n // minHeight?: number;\n // initialMinHeight?: number;\n getRowCanExpand?: (row: Row<any>) => boolean;\n expandRowRender?: (row: Row<any>, index: number) => ReactNode;\n expanded?: ExpandedState;\n onExpandedChange?: OnChangeFn<ExpandedState>;\n getSubRows?: (record: any, index: number) => undefined | any[];\n manualSorting?: boolean;\n manualPagination?: boolean;\n manualFiltering?: boolean;\n pagination?: PaginationMeta;\n renderRowContainer?: (\n record: RecordType,\n index: number,\n children: ReactNode,\n context: Row<RecordType>,\n ) => ReactNode;\n generatedRowKey?: CoreOptions<any>[\"getRowId\"];\n onRow?: (record: RecordType, index: number, context: Row<RecordType>) => any;\n onCell?: (\n column: TanstackColumn<any>,\n record: RecordType,\n index: number,\n context: TableCellContext,\n ) => any;\n columnFilters?: ColumnFilter | ColumnFilter[];\n rowSelection?: RowSelectionState;\n\n // test id\n testIds?: {\n body?: string;\n };\n features?: TableFeature[];\n getTableInstance?: (table: Table<RecordType>) => void;\n};\n\nexport function DataTable<RecordType extends any>(\n props: PropsWithChildren<DataTableProps<RecordType>>,\n) {\n const {\n columns,\n className,\n classNames,\n pagination,\n getRowCanExpand,\n manualPagination,\n loading,\n ignoreLoadingCheck,\n emptyView,\n initialSort,\n manualSorting,\n onSort,\n expanded,\n onExpandedChange,\n } = props;\n\n const [sorting, setSorting] = useSort({\n onSort,\n initialSort,\n });\n\n // Check if we need to override manualSorting for multiSort columns\n const hasMultiSortColumns = useMemo(() => {\n return columns.some((col) => col.multiSort && !col.multiSort.onSort);\n }, [columns]);\n\n // For multiSort columns, check if current sorting is a multiSort field\n const effectiveManualSorting = useMemo(() => {\n if (!hasMultiSortColumns) {\n return manualSorting;\n }\n\n // If current sorting is a multiSort field, use manual sorting\n if (sorting.length > 0) {\n const currentSort = sorting[0];\n const sortId = currentSort.id;\n\n const isMultiSortField = columns.some((col) =>\n col.multiSort?.fields?.some((field) => field.sortKey === sortId),\n );\n\n return isMultiSortField; // Use manual sorting for multiSort fields\n }\n\n return false; // Use client-side sorting for regular columns\n }, [hasMultiSortColumns, manualSorting, sorting, columns]);\n\n const dataSource = useMemo(() => {\n return Transform.dataSource(props.dataSource || [], columns, sorting);\n }, [props.dataSource, columns, sorting]);\n\n const formatColumns = useMemo(\n () => Transform.columns(columns, sorting, setSorting),\n [columns, sorting, setSorting],\n );\n\n const columnPinning = useMemo(\n () => Transform.columnPinning(columns),\n [columns],\n );\n\n const rowSelection = useMemo(\n () => props.rowSelection || {},\n [props.rowSelection],\n );\n\n const { state: paginationState, config: paginationConfig } = useMemo(\n () => Transform.pagination(pagination),\n [pagination],\n );\n\n // const { state: sortState, config: sortConfig } = useMemo(\n // () => Transform.sorting(onSort, initialSort),\n // [onSort, initialSort]\n // );\n\n const initialized = useInit({ dataSource, loading, ignoreLoadingCheck });\n\n const columnFilters = useMemo(() => {\n return Array.isArray(props.columnFilters)\n ? (props.columnFilters as ColumnFilter[])\n : props.columnFilters\n ? [props.columnFilters]\n : [];\n }, [props.columnFilters]);\n\n const table = useReactTable({\n _features: props.features,\n data: dataSource! as RecordType[],\n columns: formatColumns,\n state: {\n columnPinning,\n columnFilters,\n rowSelection,\n sorting,\n expanded,\n ...paginationState,\n // ...sortState,\n },\n onSortingChange: setSorting,\n // onColumnFiltersChange: setColumnFilters,\n getRowId: props.generatedRowKey,\n getCoreRowModel: getCoreRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n getRowCanExpand,\n onExpandedChange,\n getSubRows: props.getSubRows,\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n // use pre-sorted row model instead of sorted row model, but force client-side for multiSort\n manualSorting: effectiveManualSorting,\n // turn off client-side pagination\n manualPagination,\n // only allow a single row to be selected at once\n enableMultiRowSelection: false,\n enableExpanding: true,\n ...paginationConfig,\n // ...sortConfig,\n });\n\n useEffect(() => {\n props.getTableInstance?.(table);\n }, [table]);\n\n const wrapRef = useWrap([className, classNames?.root]);\n const { scrollRef, showLeftShadow, showRightShadow } = useScroll([\n dataSource?.length,\n ]);\n\n // filter data\n const rows = table.getRowModel().rows;\n\n const showPlaceholder = initialized && (rows.length === 0 || loading);\n\n const showHeader = useShowHeader({\n loading,\n dataSource,\n });\n\n const showPagination = useShowPagination({\n loading,\n dataSource,\n rows,\n pagination,\n });\n\n return (\n <div\n ref={wrapRef}\n id={props.id}\n className={cn(\n \"oui-table-root oui-size-full\",\n \"oui-bg-base-9\",\n className,\n classNames?.root,\n )({\n twMerge: true,\n })}\n >\n <div\n ref={scrollRef}\n className={cn(\n \"oui-table-scroll oui-relative\",\n \"oui-min-h-[162px] oui-w-full\",\n \"oui-text-xs oui-font-semibold\",\n \"oui-custom-scrollbar oui-overflow-auto\",\n showPagination ? \"oui-h-[calc(100%_-_40px)]\" : \"oui-h-full\",\n classNames?.scroll,\n )({\n twMerge: true,\n })}\n >\n <table\n className={cnBase(\n \"oui-w-full oui-px-2\",\n \"oui-table-fixed oui-border-collapse\",\n )}\n >\n {showHeader && (\n <TableHeader\n className={classNames?.header}\n headerGroups={table.getHeaderGroups()}\n bordered={props.bordered}\n showLeftShadow={showLeftShadow}\n showRightShadow={showRightShadow}\n sorting={sorting}\n />\n )}\n\n <TableBody\n className={classNames?.body}\n rows={rows}\n bordered={props.bordered}\n renderRowContainer={props.renderRowContainer}\n expandRowRender={props.expandRowRender}\n onRow={props.onRow}\n onCell={props.onCell}\n showLeftShadow={showLeftShadow}\n showRightShadow={showRightShadow}\n testId={props.testIds?.body}\n />\n </table>\n\n <TablePlaceholder\n visible={showPlaceholder}\n loading={loading}\n emptyView={emptyView}\n className={classNames?.empty}\n />\n </div>\n\n {showPagination && (\n <TablePagination\n className={classNames?.pagination}\n count={pagination?.count || rows?.length}\n pageTotal={pagination?.pageTotal || table.getPageCount()}\n page={pagination?.page!}\n pageSize={pagination?.pageSize}\n onPageChange={pagination?.onPageChange}\n onPageSizeChange={pagination?.onPageSizeChange}\n />\n )}\n </div>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\n\nexport function useInit(\n params: Pick<\n DataTableProps<any>,\n \"dataSource\" | \"loading\" | \"ignoreLoadingCheck\"\n >\n) {\n const { dataSource, loading, ignoreLoadingCheck } = params;\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (initialized) return;\n\n if (ignoreLoadingCheck || loading || Array.isArray(dataSource)) {\n setInitialized(true);\n }\n }, [loading, ignoreLoadingCheck, dataSource, initialized]);\n\n return initialized;\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nexport function useScroll(deps: any[]) {\n const scrollRef = useRef<HTMLDivElement>(null);\n const [showLeftShadow, setShowLeftShadow] = useState(false);\n const [showRightShadow, setShowRightShadow] = useState(false);\n\n useEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n\n scrollRef.current.addEventListener(\"scroll\", function (e) {\n setShowLeftShadow(scrollRef.current!.scrollLeft > 0);\n setShowRightShadow(!isScrolledToRight(scrollRef.current!));\n });\n }, [scrollRef]);\n\n useEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n\n const scrollAble = hasHorizontalScroll(scrollRef.current);\n const scrollEnd = isScrolledToRight(scrollRef.current);\n\n setShowRightShadow(scrollAble && !scrollEnd);\n }, [scrollRef, ...deps]);\n\n return {\n scrollRef,\n showLeftShadow,\n showRightShadow,\n };\n}\n\nfunction isScrolledToRight(element: HTMLDivElement) {\n return element.scrollLeft + element.clientWidth >= element.scrollWidth;\n}\n\nfunction hasHorizontalScroll(element: HTMLDivElement) {\n return element.scrollWidth > element.clientWidth;\n}\n\nfunction hasVerticalScroll(element: HTMLDivElement) {\n return element.scrollHeight > element.clientHeight;\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\n\nexport function useShowHeader(\n params: Pick<DataTableProps<any>, \"dataSource\" | \"loading\">\n) {\n const { dataSource, loading } = params;\n\n const initShowHeader = useRef(false);\n\n const showHeader = useMemo(() => {\n if (loading && !dataSource?.length) {\n return initShowHeader.current;\n }\n\n return !!dataSource?.length;\n }, [loading, dataSource]);\n\n useEffect(() => {\n if (showHeader) {\n initShowHeader.current = true;\n }\n }, [showHeader]);\n\n return showHeader;\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { DataTableProps } from \"../dataTable\";\nimport { Row } from \"@tanstack/react-table\";\n\nexport function useShowPagination(\n params: Pick<DataTableProps<any>, \"dataSource\" | \"loading\" | \"pagination\"> & {\n rows: Row<any>[];\n }\n) {\n const { loading, dataSource, pagination, rows } = params;\n\n const initShowPagination = useRef(false);\n\n const showPagination = useMemo(() => {\n if (loading && !dataSource?.length) {\n return initShowPagination.current;\n }\n\n if (pagination && dataSource?.length && rows?.length) {\n return true;\n }\n\n return false;\n }, [loading, pagination, dataSource, rows]);\n\n useEffect(() => {\n if (showPagination) {\n initShowPagination.current = true;\n }\n }, [showPagination]);\n\n return showPagination;\n}\n","import { useEffect, useState } from \"react\";\nimport { SortingState } from \"@tanstack/react-table\";\nimport { TableSort } from \"../type\";\n\nexport function useSort(props: {\n onSort?: (sort?: TableSort) => void;\n initialSort?: TableSort;\n}) {\n const { onSort, initialSort } = props;\n\n const [sorting, setSorting] = useState<SortingState>(\n initialSort\n ? [\n {\n id: initialSort.sortKey,\n desc: initialSort.sort === \"desc\",\n },\n ]\n : []\n );\n\n useEffect(() => {\n const { id, desc } = sorting[0] || {};\n onSort?.(id ? { sortKey: id, sort: desc ? \"desc\" : \"asc\" } : undefined);\n }, [sorting, onSort]);\n\n return [sorting, setSorting] as const;\n}\n","import { useEffect, useRef } from \"react\";\n\nexport function useWrap(deps: any[]) {\n const wrapRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!wrapRef.current) return;\n\n const bgColor = window.getComputedStyle(wrapRef.current).backgroundColor;\n\n wrapRef.current.style.setProperty(\"--oui-table-background-color\", bgColor);\n }, deps);\n\n return wrapRef;\n}\n","import React, { FC, Fragment } from \"react\";\nimport { Row } from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { alignVariants } from \"./className\";\nimport { DataTableProps } from \"./dataTable\";\nimport { TableCell } from \"./tableCell\";\nimport { getColumnPinningProps } from \"./utils/getColumnPinningProps\";\n\ntype TableBodyProps<RecordType> = {\n className?: string;\n rows: Row<RecordType>[];\n justified?: boolean;\n showLeftShadow?: boolean;\n showRightShadow?: boolean;\n testId?: string;\n} & Pick<\n DataTableProps<any>,\n \"bordered\" | \"onRow\" | \"onCell\" | \"renderRowContainer\" | \"expandRowRender\"\n>;\n\nexport const TableBody: React.FC<TableBodyProps<any>> = (props) => {\n return (\n <tbody\n className={cnBase(\n \"oui-table-tbody oui-relative\",\n \"oui-text-base-contrast-80\",\n props.className,\n )}\n data-testid={props.testId}\n >\n {props.rows.map((row) => {\n const { className, onClick, ...rest } =\n typeof props.onRow === \"function\"\n ? props.onRow(row.original, row.index, row) || {}\n : {};\n\n const expandView = row.getIsExpanded() && (\n <tr className=\"oui-table-expand-tr oui-z-0 [&>td:first-child]:oui-pl-3 [&>td:last-child]:oui-pr-3\">\n <td\n className=\"oui-table-expand-td\"\n colSpan={row.getVisibleCells().length}\n >\n {props.expandRowRender?.(row, row.index)}\n </td>\n </tr>\n );\n\n const rowView = (\n <Fragment key={row.id}>\n <tr\n key={row.id}\n className={cnBase(\n \"oui-table-tbody-tr oui-group oui-h-10\",\n \"[&>td:first-child]:oui-pl-3 [&>td:last-child]:oui-pr-3\",\n typeof onClick === \"function\" && \"oui-cursor-pointer\",\n props.bordered && \"oui-border-b oui-border-b-line-4\",\n className,\n )}\n onClick={onClick}\n {...rest}\n >\n {row.getVisibleCells().map((cell) => {\n const column = cell.column;\n const meta = column.columnDef.meta || ({} as any);\n const { align, className: rowClassName, hidden } = meta;\n\n // Skip rendering hidden columns\n if (hidden) {\n return null;\n }\n\n const { style: pinStyle, classNames: pinClassNames } =\n getColumnPinningProps(column);\n\n const {\n style: cellStyle,\n className: cellClassName,\n children,\n ...rest\n } = typeof props.onCell === \"function\"\n ? props.onCell(cell.column, row.original, row.index, cell) ||\n {}\n : {};\n\n const cellView =\n children !== undefined ? (\n children\n ) : (\n <>\n <TableCell cell={cell} />\n <CellHover\n selected={row.getIsSelected()}\n isFirst={column.getIsFirstColumn()}\n isLast={column.getIsLastColumn()}\n />\n </>\n );\n\n return (\n <td\n key={cell.id}\n style={{ ...pinStyle, ...cellStyle }}\n className={cnBase(\n \"oui-table-tbody-td oui-relative\",\n \"oui-px-1\",\n alignVariants({ align }),\n // rowClassName,\n typeof rowClassName === \"function\"\n ? rowClassName(row.original)\n : rowClassName,\n pinClassNames.content,\n props.showLeftShadow && pinClassNames.leftShadow,\n props.showRightShadow && pinClassNames.rightShadow,\n cellClassName,\n )}\n {...rest}\n >\n {cellView}\n </td>\n );\n })}\n </tr>\n\n {expandView}\n </Fragment>\n );\n\n if (typeof props.renderRowContainer === \"function\") {\n return (\n <Fragment key={row.id}>\n {props.renderRowContainer(row.original, row.index, rowView, row)}\n </Fragment>\n );\n }\n\n return rowView;\n })}\n </tbody>\n );\n};\n\ntype CellHoverProps = {\n selected: boolean;\n isFirst: boolean;\n isLast: boolean;\n};\n\nconst CellHover: FC<CellHoverProps> = ({ selected, isFirst, isLast }) => {\n return (\n <div\n className={cnBase(\n \"oui-absolute oui-left-0 oui-top-0 oui-z-[-1]\",\n \"oui-size-full\",\n \"group-hover:oui-bg-line-4\",\n selected && \"oui-bg-line-6 group-hover:oui-bg-line-6\",\n isFirst && \"oui-rounded-l\",\n isLast && \"oui-rounded-r\",\n )}\n />\n );\n};\n","import { tv } from \"tailwind-variants\";\n\nexport const alignVariants = tv({\n variants: {\n align: {\n left: \"oui-text-left\",\n center: \"oui-text-center\",\n right: \"oui-text-right\",\n },\n },\n defaultVariants: {\n align: \"left\",\n },\n});\n","import React, { ReactNode } from \"react\";\nimport { Cell, flexRender } from \"@tanstack/react-table\";\nimport { FormattedText, isTextRule } from \"../typography/formatted\";\nimport { isNumeralRule, Numeral } from \"../typography/numeral\";\nimport { Column } from \"./type\";\n\ntype TableCellProps = {\n cell: Cell<any, any>;\n};\n\nexport const TableCell: React.FC<TableCellProps> = (props) => {\n const { cell } = props;\n\n const { original: record, index } = cell.row;\n const { formatter, render, rule, textProps, numeralProps } = (cell.column\n .columnDef.meta || {}) as Column;\n\n let value = cell.getValue();\n\n if (typeof formatter === \"function\") {\n value = formatter(value, record, index);\n }\n\n if (typeof render === \"function\") {\n return render(value, record, index, cell);\n }\n\n if (typeof rule !== \"undefined\") {\n if (isTextRule(rule)) {\n const _textProps =\n typeof textProps === \"function\"\n ? textProps(value, record, index)\n : textProps;\n return (\n <FormattedText rule={rule} {..._textProps}>\n {value}\n </FormattedText>\n );\n }\n\n if (isNumeralRule(rule)) {\n const _numeralProps =\n typeof numeralProps === \"function\"\n ? numeralProps(value, record, index)\n : numeralProps;\n\n return (\n <Numeral rule={rule} {..._numeralProps}>\n {value}\n </Numeral>\n );\n }\n }\n\n return flexRender(cell.column.columnDef.cell, cell.getContext()) as ReactNode;\n};\n","import { CSSProperties } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { TanstackColumn } from \"../type\";\n\nexport function getColumnPinningProps(\n column: TanstackColumn<any>,\n isHeader?: boolean\n) {\n const isPinned = column.getIsPinned();\n const isLastLeftPinnedColumn =\n isPinned === \"left\" && column.getIsLastColumn(\"left\");\n const isFirstRightPinnedColumn =\n isPinned === \"right\" && column.getIsFirstColumn(\"right\");\n\n const style: CSSProperties = {\n left: isPinned === \"left\" ? `${column.getStart(\"left\")}px` : undefined,\n right: isPinned === \"right\" ? `${column.getAfter(\"right\")}px` : undefined,\n width: column.getSize(),\n };\n\n const contentCls = cnBase(\n isPinned ? \"oui-sticky\" : \"oui-relative\",\n isPinned ? \"oui-z-[1]\" : \"oui-z-0\",\n isPinned && \"oui-bg-[var(--oui-table-background-color)]\"\n );\n\n const shadowCls = cnBase(\n \"before:oui-block before:oui-absolute\",\n \"before:oui-w-[32px] before:oui-h-full\",\n \"before:oui-top-0 before:oui-z-[-1]\",\n \"before:oui-bg-[linear-gradient(90deg,rgba(var(--oui-color-base-10)_/_0.80)_0%,rgba(var(--oui-color-base-10)_/_0.36)_65%,rgba(var(--oui-color-base-10)_/_0.00)_100%)]\"\n );\n\n const leftShadow =\n isLastLeftPinnedColumn && cnBase(shadowCls, \"before:oui-right-[-32px]\");\n\n const rightShadow =\n isFirstRightPinnedColumn &&\n cnBase(shadowCls, \"before:oui-left-[-32px] before:oui-rotate-180\");\n\n return {\n style,\n classNames: {\n content: contentCls,\n leftShadow,\n rightShadow,\n },\n };\n}\n","import { FC } from \"react\";\nimport {\n HeaderGroup,\n SortDirection,\n SortingState,\n} from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { alignVariants } from \"./className\";\nimport { DataTableProps } from \"./dataTable\";\nimport { AscendingIcon, DescendingIcon, SortingIcon } from \"./icons\";\nimport { MultiSortHeader } from \"./multiSortHeader\";\nimport { getColumnPinningProps } from \"./utils/getColumnPinningProps\";\n\ntype TableHeaderProps = {\n className?: string;\n headerGroups: HeaderGroup<any>[];\n showLeftShadow?: boolean;\n showRightShadow?: boolean;\n sorting?: SortingState;\n} & Pick<DataTableProps<any>, \"bordered\">;\n\nexport const TableHeader: FC<TableHeaderProps> = (props) => {\n return (\n <thead\n className={cnBase(\n \"oui-table-thead\",\n \"oui-sticky oui-top-0 oui-z-[2]\",\n \"oui-bg-[var(--oui-table-background-color)]\",\n \"oui-text-base-contrast-36\",\n )}\n >\n {props.headerGroups.map((headerGroup) => (\n <tr\n key={headerGroup.id}\n className={cnBase(\n \"oui-table-thead-tr\",\n \"oui-h-10\",\n \"[&>th:first-child]:oui-pl-3 [&>th:last-child]:oui-pr-3\",\n props.className,\n )}\n >\n {headerGroup.headers.map((header) => {\n const column = header.column;\n const meta = column.columnDef.meta || ({} as any);\n const { align, className: rowClassName, title, hidden } = meta;\n\n // Skip rendering hidden columns\n if (hidden) {\n return null;\n }\n\n const { style: pinStyle, classNames: pinClassNames } =\n getColumnPinningProps(column, true);\n\n const canSort = column.getCanSort();\n const isSorted = column.getIsSorted();\n\n return (\n <th\n key={header.id}\n style={pinStyle}\n className={cnBase(\n \"oui-table-thead-th\",\n \"oui-whitespace-nowrap\",\n \"oui-px-1\",\n props.bordered &&\n \"after:oui-absolute after:oui-left-0 after:oui-top-0 after:oui-z-[-1] after:oui-block after:oui-size-full after:oui-border-b after:oui-border-line\",\n // use border-b will show bottom element content\n // props.bordered && \"oui-border-b oui-border-line\"\n alignVariants({ align }),\n rowClassName,\n pinClassNames.content,\n props.showLeftShadow && pinClassNames.leftShadow,\n props.showRightShadow && pinClassNames.rightShadow,\n )}\n >\n {header.isPlaceholder ? null : (column.columnDef.meta as any)\n ?.multiSort ? (\n <MultiSortHeader\n column={column.columnDef.meta as any}\n sorting={props.sorting}\n />\n ) : (\n <div\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n canSort &&\n \"oui-cursor-pointer oui-select-none hover:oui-text-base-contrast-80\",\n )}\n onClick={column.getToggleSortingHandler()}\n >\n {title}\n {canSort && (\n <SortIndicator isSorted={isSorted as SortDirection} />\n )}\n </div>\n )}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n );\n};\n\nconst SortIndicator: FC<{ isSorted: SortDirection }> = ({ isSorted }) => {\n return (\n {\n asc: <AscendingIcon />,\n desc: <DescendingIcon />,\n }[isSorted] || <SortingIcon />\n );\n};\n","import { PropsWithChildren } from \"react\";\n\nconst BaseSortIcon = (props: PropsWithChildren) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 10 10\"\n fill=\"none\"\n >\n {props.children}\n </svg>\n );\n};\n\nexport const SortingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042m0 7.916a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </BaseSortIcon>\n );\n};\n\nexport const AscendingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042\"\n fill=\"#fff\"\n fillOpacity=\".8\"\n />\n <path\n d=\"M5 8.958a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n </BaseSortIcon>\n );\n};\n\nexport const DescendingIcon = () => {\n return (\n <BaseSortIcon>\n <path\n d=\"M5 1.042a.47.47 0 0 0-.338.135L2.166 3.844c-.206.22-.005.531.338.531h4.992c.342 0 .543-.311.337-.531L5.338 1.177A.47.47 0 0 0 5 1.042\"\n fill=\"#fff\"\n fillOpacity=\".2\"\n />\n <path\n d=\"M5 8.958a.47.47 0 0 1-.338-.135L2.166 6.156c-.206-.22-.005-.531.338-.531h4.992c.342 0 .543.311.337.531L5.338 8.823A.47.47 0 0 1 5 8.958\"\n fill=\"#fff\"\n fillOpacity=\".8\"\n />\n </BaseSortIcon>\n );\n};\n","import { FC } from \"react\";\nimport { SortingState } from \"@tanstack/react-table\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useMultiSort } from \"./hooks/useMultiSort\";\nimport { AscendingIcon, DescendingIcon, SortingIcon } from \"./icons\";\nimport { Column, SortOrder } from \"./type\";\n\nexport type MultiSortHeaderProps = {\n column: Column<any>;\n className?: string;\n sorting?: SortingState;\n};\n\nexport const MultiSortHeader: FC<MultiSortHeaderProps> = ({\n column,\n className,\n sorting,\n}) => {\n const { multiSort, title } = column;\n\n if (!multiSort) {\n return <span>{title}</span>;\n }\n\n // Extract current sorting state\n const currentSorting = sorting?.[0]\n ? {\n sortKey: sorting[0].id,\n sort: sorting[0].desc ? (\"desc\" as SortOrder) : (\"asc\" as SortOrder),\n }\n : undefined;\n\n const { handleFieldSort, getFieldSort } = useMultiSort({\n columnKey: column.dataIndex,\n onSort: multiSort.onSort,\n initialSort: multiSort.initialSort,\n currentSorting,\n });\n\n return (\n <div\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n className,\n )}\n >\n {multiSort.fields.map((field, index) => {\n const fieldSort = getFieldSort(field.sortKey);\n\n return (\n <div\n key={field.sortKey}\n className={cnBase(\n \"oui-inline-flex oui-items-center oui-gap-x-1\",\n \"oui-cursor-pointer oui-select-none hover:oui-text-base-contrast-80\",\n field.className,\n )}\n onClick={\n multiSort.onSort\n ? () => handleFieldSort(field.sortKey)\n : undefined\n }\n >\n <span className=\"oui-whitespace-nowrap\">\n {field.label || field.sortKey}\n </span>\n <SortIndicator sortDirection={fieldSort?.sort} />\n {index < multiSort.fields.length - 1 && (\n <span className=\"oui-text-base-contrast-36\">/</span>\n )}\n </div>\n );\n })}\n </div>\n );\n};\n\nconst SortIndicator: FC<{ sortDirection?: \"asc\" | \"desc\" }> = ({\n sortDirection,\n}) => {\n if (sortDirection === \"asc\") {\n return <AscendingIcon />;\n }\n if (sortDirection === \"desc\") {\n return <DescendingIcon />;\n }\n return <SortingIcon />;\n};\n","import { useCallback } from \"react\";\nimport { SortOrder, MultiFieldSort } from \"../type\";\n\nexport function useMultiSort(props: {\n columnKey: string;\n onSort?: (fieldKey: string, sortOrder?: SortOrder) => void;\n initialSort?: MultiFieldSort[];\n currentSorting?: { sortKey: string; sort: SortOrder };\n}) {\n const { onSort, currentSorting } = props;\n\n const handleFieldSort = useCallback(\n (fieldKey: string) => {\n // Check if this field is currently sorted\n const isCurrentField = currentSorting?.sortKey === fieldKey;\n let newOrder: SortOrder | undefined;\n\n if (!isCurrentField) {\n // Not currently sorted, start with asc\n newOrder = \"asc\";\n } else if (currentSorting.sort === \"asc\") {\n // Currently asc, change to desc\n newOrder = \"desc\";\n } else {\n // Currently desc, clear sorting\n newOrder = undefined;\n }\n\n // Call external handler\n onSort?.(fieldKey, newOrder);\n },\n [currentSorting, onSort],\n );\n\n const getFieldSort = useCallback(\n (fieldKey: string) => {\n // Only return sort info if this field is currently being sorted\n if (currentSorting?.sortKey === fieldKey) {\n return { sortKey: fieldKey, sort: currentSorting.sort };\n }\n return undefined;\n },\n [currentSorting],\n );\n\n return {\n handleFieldSort,\n getFieldSort,\n };\n}\n","import React, { useMemo } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { ButtonProps, buttonVariants } from \"../button\";\nimport { Flex } from \"../flex\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"../icon\";\nimport { useLocale } from \"../locale\";\nimport { Select } from \"../select\";\nimport { Text } from \"../typography/text\";\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<\"nav\">) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cnBase(\n \"oui-flex oui-justify-between oui-items-center oui-w-full oui-text-xs\",\n className,\n )}\n {...props}\n />\n);\nPagination.displayName = \"Pagination\";\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cnBase(\n \"oui-flex oui-flex-row oui-items-center oui-gap-x-2\",\n className,\n )}\n {...props}\n />\n));\nPaginationContent.displayName = \"PaginationContent\";\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cnBase(\"oui-leading-[0px]\", className)} {...props} />\n));\nPaginationItem.displayName = \"PaginationItem\";\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<ButtonProps, \"size\"> &\n React.ComponentProps<\"button\">;\n\nconst PaginationLink = ({\n className,\n isActive,\n // size = \"icon\",\n ...props\n}: PaginationLinkProps) => (\n <button\n aria-current={isActive ? \"page\" : undefined}\n data-active={isActive}\n className={buttonVariants({\n size: \"xs\",\n // color:'white',\n variant: isActive ? \"contained\" : \"text\",\n className:\n \"oui-min-w-6 oui-text-base-contrast-80 oui-font-semibold data-[active=false]:hover:oui-bg-base-6 disabled:oui-bg-transparent disabled:hover:oui-bg-transparent\",\n // size,\n })}\n {...props}\n />\n);\nPaginationLink.displayName = \"PaginationLink\";\n\nconst PaginationPrevious = ({\n className,\n\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to previous page\"\n className={cnBase(\"oui-gap-1 oui-pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon className=\"oui-h-4 oui-w-4\" color=\"white\" />\n </PaginationLink>\n);\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nconst PaginationNext = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to next page\"\n className={cnBase(\"oui-gap-1 oui-pr-2.5\", className)}\n {...props}\n >\n <ChevronRightIcon className=\"oui-h-4 oui-w-4\" color=\"white\" />\n </PaginationLink>\n);\nPaginationNext.displayName = \"PaginationNext\";\n\nconst PaginationEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => {\n const [locale] = useLocale(\"pagination\");\n return (\n <span\n aria-hidden\n className={cnBase(\n \"oui-flex oui-h-9 oui-w-9 oui-items-center oui-justify-center\",\n className,\n )}\n {...props}\n >\n {/* <DotsHorizontalIcon className=\"h-4 w-4\" /> */}\n <span className=\"sr-only\">{locale.morePages}</span>\n </span>\n );\n};\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\nexport type PaginationProps = {\n onPageChange?: (page: number) => void;\n onPageSizeChange?: (pageSize: number) => void;\n pageSize?: number;\n page: number;\n count: number;\n pageTotal: number;\n className?: string;\n classNames?: {\n pagination?: string;\n paginationContent?: string;\n paginationItem?: string;\n paginationLink?: string;\n paginationPrevious?: string;\n paginationNext?: string;\n paginationEllipsis?: string;\n };\n};\n\nconst Paginations = (props: PaginationProps) => {\n const {\n classNames,\n className,\n pageTotal: totalPages,\n page: currentPage,\n } = props;\n\n const [locale] = useLocale(\"pagination\");\n\n return (\n <Pagination className={cnBase(classNames?.pagination, className)}>\n <Flex mr={4}>\n <Text\n as=\"div\"\n size=\"2xs\"\n intensity={54}\n className=\"oui-text-nowrap oui-mr-2\"\n >\n {locale.rowsPerPage}\n </Text>\n <div className={\"oui-w-15\"}>\n <Select.options\n options={[\n { value: \"10\", label: \"10\" },\n { value: \"20\", label: \"20\" },\n { value: \"50\", label: \"50\" },\n { value: \"100\", label: \"100\" },\n { value: \"500\", label: \"500\" },\n ]}\n value={`${props.pageSize ?? 5}`}\n size=\"xs\"\n onValueChange={(value) => props.onPageSizeChange?.(parseInt(value))}\n />\n </div>\n </Flex>\n <PaginationItems {...props} />\n </Pagination>\n );\n};\n\nfunction generatePagination(\n currentPage: number,\n totalPages: number,\n): (number | string)[] {\n const pagination: (number | string)[] = [];\n const ellipsis = \"...\";\n const maxPagesToShow = 5;\n\n if (totalPages <= maxPagesToShow) {\n for (let i = 1; i <= totalPages; i++) {\n pagination.push(i);\n }\n } else {\n if (currentPage <= 3) {\n pagination.push(1, 2, 3, 4, ellipsis, totalPages);\n } else if (currentPage >= totalPages - 2) {\n pagination.push(\n 1,\n ellipsis,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n );\n } else {\n pagination.push(\n 1,\n ellipsis,\n currentPage - 1,\n currentPage,\n currentPage + 1,\n ellipsis,\n totalPages,\n );\n }\n }\n\n return pagination;\n}\n\nconst PaginationItems = (props: Omit<PaginationProps, \"onPageSizeChange\">) => {\n const {\n classNames,\n className,\n pageTotal: totalPages,\n page: currentPage,\n } = props;\n\n if (totalPages <= 1) {\n return null;\n }\n\n const pageNumbers = useMemo(() => {\n return generatePagination(currentPage, totalPages);\n }, [currentPage, totalPages]);\n\n return (\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious\n // @ts-ignore\n disabled={props.page === 1}\n onClick={(event) => {\n event.preventDefault();\n props.onPageChange?.(props.page - 1);\n }}\n />\n </PaginationItem>\n {pageNumbers.map((page, index) => {\n return (\n <PaginationItem key={index}>\n <PaginationLink\n isActive={page === props.page}\n onClick={(event) => {\n event.preventDefault();\n if (page !== \"...\") {\n props.onPageChange?.(Number(page));\n } else {\n props.onPageChange?.(\n Number((pageNumbers[index + 1] as number) - 1),\n );\n }\n }}\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n );\n })}\n\n {/* <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem> */}\n <PaginationItem>\n <PaginationNext\n disabled={props.page === props.pageTotal}\n onClick={(event) => {\n event.preventDefault();\n props.onPageChange?.(props.page + 1);\n }}\n />\n </PaginationItem>\n </PaginationContent>\n );\n};\n\nexport {\n Paginations,\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationItems,\n PaginationEllipsis,\n};\n","import { createContext } from \"react\";\nimport { localeValues } from \"./en\";\n\nexport type Locale = typeof localeValues;\n\nexport const LocaleContext = createContext<Locale | undefined>(undefined);\n","import React, { FC, useMemo } from \"react\";\nimport { Locale, LocaleContext } from \"./context\";\n\nexport type LocaleProviderProps = {\n locale: Locale;\n children?: React.ReactNode;\n};\n\nexport const LocaleProvider: FC<LocaleProviderProps> = (props) => {\n const value = useMemo<Locale>(\n () => ({ ...props.locale, exist: true }),\n [props.locale]\n );\n\n return (\n <LocaleContext.Provider value={value}>\n {props.children}\n </LocaleContext.Provider>\n );\n};\n","import { useContext, useMemo } from \"react\";\nimport { localeValues as defaultLocaleValues } from \"./en\";\nimport { Locale, LocaleContext } from \"./context\";\n\nexport type LocaleComponentName = Exclude<keyof Locale, \"locale\">;\n\nexport const useLocale = <C extends LocaleComponentName = LocaleComponentName>(\n componentName: C,\n defaultLocale?: Locale[C] | (() => Locale[C])\n): readonly [NonNullable<Locale[C]>, string] => {\n const fullLocale = useContext(LocaleContext);\n\n const getLocale = useMemo<NonNullable<Locale[C]>>(() => {\n const locale = defaultLocale || defaultLocaleValues[componentName];\n const localeFromContext = fullLocale?.[componentName] || {};\n return {\n ...(typeof locale === \"function\" ? locale() : locale),\n ...localeFromContext,\n };\n }, [componentName, defaultLocale, fullLocale]);\n\n const getLocaleCode = useMemo(() => {\n const localeCode = fullLocale?.locale;\n const defaultLocaleCode = defaultLocaleValues.locale;\n return localeCode || defaultLocaleCode;\n }, [fullLocale]);\n\n return [getLocale, getLocaleCode] as const;\n};\n","import { enUS } from \"date-fns/locale\";\n\nexport const localeValues = {\n locale: \"en\" as string,\n dialog: {\n ok: \"OK\",\n cancel: \"Cancel\",\n },\n modal: {\n confirm: \"Confirm\",\n cancel: \"Cancel\",\n },\n pagination: {\n morePages: \"More pages\",\n rowsPerPage: \"Rows per page\",\n },\n picker: {\n selectDate: \"Select Date\",\n dayPicker: enUS,\n },\n empty: {\n description: \"No results found.\",\n },\n} as const;\n","import { FC } from \"react\";\nimport { Flex } from \"../flex\";\nimport { PaginationProps, Paginations } from \"../pagination\";\n\nexport const TablePagination: FC<Omit<PaginationProps, \"classNames\">> = (\n props,\n) => {\n if (props.pageTotal === 0) {\n return null;\n }\n return (\n <Flex justify={\"end\"} py={2} mx={3} className=\"oui-h-10 oui-w-full\">\n <Paginations\n {...props}\n className=\"oui-table-pagination oui-justify-between oui-w-full\"\n />\n </Flex>\n );\n};\n","import { FC, ReactNode } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Box } from \"../box\";\nimport { ExtensionPositionEnum, ExtensionSlot } from \"../plugin\";\nimport { Spinner } from \"../spinner/spinner\";\n\ntype TablePlaceholderProps = {\n visible?: boolean;\n loading?: boolean;\n emptyView?: ReactNode;\n className?: string;\n};\n\nexport const TablePlaceholder: FC<TablePlaceholderProps> = (props) => {\n const { visible, loading, emptyView, className } = props;\n if (!visible) {\n return null;\n }\n return (\n <Box\n position=\"absolute\"\n left={0}\n top={0}\n right={0}\n bottom={0}\n className={cnBase(\n \"oui-flex oui-items-center oui-justify-center\",\n className,\n )}\n >\n {loading ? (\n <Spinner />\n ) : (\n emptyView || (\n <ExtensionSlot position={ExtensionPositionEnum.EmptyDataIdentifier} />\n )\n )}\n </Box>\n );\n};\n","import { getGlobalObject } from \"@kodiak-finance/orderly-utils\";\nimport { Extension, ExtensionBuilder, ExtensionPosition } from \"./types\";\n\nfunction DEFAULT_BUILDER(data: any) {\n // console.warn(\"No builder provided for extension\");\n return data || {};\n}\n\n// The plugin manager\nexport class OrderlyExtensionRegistry {\n // private static _instance: OrderlyExtensionRegistry;\n static getInstance(): OrderlyExtensionRegistry {\n const globalObject = getGlobalObject();\n\n if (!(globalObject as any).__ORDERLY_EXTENSION_REGISTRY__) {\n (globalObject as any).__ORDERLY_EXTENSION_REGISTRY__ =\n new OrderlyExtensionRegistry();\n }\n return (globalObject as any).__ORDERLY_EXTENSION_REGISTRY__;\n\n // if (!OrderlyExtensionRegistry._instance) {\n // OrderlyExtensionRegistry._instance = new OrderlyExtensionRegistry();\n // }\n // return OrderlyExtensionRegistry._instance;\n }\n private extensionMap: Map<ExtensionPosition, Extension<unknown>> = new Map();\n // private formatterMap: Map<string, Function> = new Map();\n\n register<Props>(\n plugin: Omit<Extension<Props>, \"builder\"> & {\n builder?: (props: any) => Props;\n },\n ) {\n // this.pluginMap.set(plugin.name, plugin);\n\n if (!plugin.builder) {\n console.warn(\"No builder provided for extension\");\n }\n\n for (let index = 0; index < plugin.positions.length; index++) {\n if (typeof plugin.builder !== \"function\") {\n // get existing builder\n const builder = this.extensionMap.get(plugin.positions[index])?.builder;\n plugin.builder =\n typeof builder === \"undefined\"\n ? // ? DEFAULT_BUILDER\n undefined\n : (builder as ExtensionBuilder);\n }\n const pos = plugin.positions[index];\n this.registerToPosition<Props>(pos, plugin as Extension<Props>);\n }\n }\n\n private registerToPosition<Props>(\n position: ExtensionPosition,\n plugin: Extension<Props>,\n ) {\n if (this.extensionMap.has(position)) {\n const existingPlugin = this.extensionMap.get(position);\n if (!existingPlugin?.__isInternal) {\n console.warn(\"`Plugin already registered at position [${position}]`\");\n // throw new Error(`Plugin already registered at position [${position}]`);\n if (!existingPlugin?.builder && plugin.__isInternal) {\n this.setBuilder(position, plugin.builder);\n }\n return;\n }\n if (!plugin.builder) {\n plugin.builder = existingPlugin.builder as ExtensionBuilder<Props>;\n }\n }\n this.extensionMap.set(position, plugin as Extension<any>);\n }\n\n setBuilder<Props>(\n position: ExtensionPosition,\n builder: ExtensionBuilder<Props>,\n ) {\n const plugin = this.extensionMap.get(position);\n if (plugin) {\n plugin.builder = builder;\n }\n }\n\n unregister(plugin: Extension<unknown>) {\n for (let index = 0; index < plugin.positions.length; index++) {\n const pos = plugin.positions[index];\n\n this.unregisterFromPosition(pos);\n }\n }\n\n private unregisterFromPosition(position: ExtensionPosition) {\n this.extensionMap.delete(position);\n }\n\n getPluginsByPosition(position: ExtensionPosition) {\n return this.extensionMap.get(position);\n }\n\n /**\n * get the registered formatter by position\n * @param position\n */\n getFormatterByPosition(position: ExtensionPosition) {\n return this.extensionMap.get(position);\n }\n}\n","import { ElementType, ReactElement } from \"react\";\nimport { ExtensionProvider } from \"./pluginContext\";\nimport { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\n\n/**\n * @name ExtensionOptions\n * @description Extension meta data\n */\nexport type ExtensionOptions<Props> = {\n name: string;\n /**\n * which ctx data the extension available to use\n */\n scope?: string[];\n /**\n * @description define the extension require @kodiak-finance/orderly-hook version, optional\n * @default \"*\"\n */\n engines?: string; //\n positions: ExtensionPosition[];\n builder?: (props: any) => Props;\n __isInternal?: boolean;\n entry?: string[];\n // dependencies?: string[]; // define the extension require other extensions, optional\n // lifecycle hooks\n /**\n * fire when the extension is installed\n * @returns\n */\n installed?: () => Promise<void>;\n onInit?: () => void;\n activate?: () => Promise<void>;\n deactivate?: () => Promise<void>;\n};\n\ntype ExtensionRenderComponentType<Props> =\n | ElementType<Props>\n | ((props: Props) => ReactElement);\n\n// type ExtensionRenderComponent = (\n// component: ExtensionRenderComponentType<Props>\n// ) => void;\n\nexport const installExtension = <Props,>(\n options: ExtensionOptions<Props>,\n): ((component: ExtensionRenderComponentType<Props>) => void) => {\n return (component) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n console.log(\"[plugin] install:\", options.name);\n registry.register<Props>({\n name: options.name,\n positions: options.positions,\n __isInternal: !!options.__isInternal,\n builder: options.builder,\n render: component,\n });\n };\n};\n\n/**\n * update the extension builder function\n */\nexport const setExtensionBuilder = <Props extends unknown = {}>(\n position: ExtensionPosition,\n builder: () => Props,\n) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n registry.setBuilder(position, builder);\n};\n","import React, { ElementType, useMemo } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { NotFound } from \"./notFound\";\nimport { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\nimport { useExtensionBuilder } from \"./useExtensionBuilder\";\n\ninterface SlotProps {\n position: ExtensionPosition;\n defaultWidget?: React.FC;\n scope?: string[];\n [key: string]: any;\n}\n\nexport const ExtensionSlot: React.FC<SlotProps> = (props) => {\n const { position, scope, defaultWidget: defaultValue, ...rest } = props;\n\n const elementProps = useExtensionBuilder(position, rest);\n\n const Ele = useMemo<ElementType>(() => {\n const registry = OrderlyExtensionRegistry.getInstance();\n const plugin = registry.getPluginsByPosition(position);\n return plugin?.render ?? defaultValue ?? NotFound;\n }, []);\n\n return (\n <ErrorBoundary\n fallback={<div>{`Component: [${position}] went wrong`}</div>}\n >\n <Slot {...elementProps} position={position}>\n <Ele />\n </Slot>\n </ErrorBoundary>\n );\n};\n","import { FC } from \"react\";\n\nexport const NotFound: FC<{ position: string }> = (props) => {\n const { position } = props;\n return (\n <div className=\"oui-text-danger\">\n <strong>{`[${position}] `}</strong>\n <span>Not found!</span>\n </div>\n );\n};\n","import { OrderlyExtensionRegistry } from \"./registry\";\nimport { ExtensionPosition } from \"./types\";\n\nexport const useBuilder = (position: ExtensionPosition, props: any) => {\n const registry = OrderlyExtensionRegistry.getInstance();\n const plugin = registry.getPluginsByPosition(position);\n return () => {\n return plugin?.builder?.(props) || props;\n };\n};\n","import { ExtensionPosition } from \"./types\";\nimport { useBuilder } from \"./useBuilder\";\n\nexport const useExtensionBuilder = (\n position: ExtensionPosition,\n props: any\n) => {\n const builder = useBuilder(position, props);\n\n return builder();\n};\n","import { ElementType, ReactElement, ReactNode } from \"react\";\n\nexport type ExtensionBuilder<Props = any> = (\n props?: Partial<Props> & Record<string, any>\n) => Props;\n\nexport type ExtensionPosition = ExtensionPositionEnum | string;\n\nexport interface Extension<Props extends any = {}> {\n __isInternal: boolean;\n\n get name(): string;\n get positions(): ExtensionPosition[];\n\n initialize?: () => void;\n\n builder: ExtensionBuilder<Props>;\n\n // render(ctx: any): ReactNode;\n render: ElementType<Props> | ((props: Props) => ReactElement);\n}\n\nexport enum ExtensionPositionEnum {\n DepositForm = \"depositForm\",\n WithdrawForm = \"withdrawForm\",\n // ListEmpty = \"listEmpty\",\n // Positions = \"positions\",\n // Orders = \"orders\",\n // MainNav = \"mainNav\",\n // SideNav = \"sideNav\",\n /**\n * Wallet button\n */\n AccountMenu = \"accountMenu\",\n MobileAccountMenu = \"mobileAccountMenu\",\n // Logo = \"logo\",\n // Toast = \"toast\",\n /// Layout components\n MainMenus = \"mainMenus\",\n // PortfolioLayout = \"portfolioLayout\",\n // TradingRewardsLayout = \"tradingRewardsLayout\",\n // AffiliateLayoutLayout = \"affiliateLayoutLayout\",\n EmptyDataIdentifier = \"emptyDataIdentifier\",\n}\n\nexport type DepositProps = {\n onOk: () => void;\n};\n","import {\n ColumnSort,\n createColumnHelper,\n getPaginationRowModel,\n PaginationTableState,\n SortingState,\n SortingTableState,\n TableOptions,\n OnChangeFn,\n} from \"@tanstack/react-table\";\nimport { PaginationMeta, Column, TableSort, SortOrder } from \"./type\";\n\n/**\n * Compare two values intelligently for table sorting\n */\nconst compareValues = (aValue: any, bValue: any): number => {\n // Handle null/undefined values (always sort to bottom)\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return 1;\n if (bValue == null) return -1;\n\n // Convert to string first for type checking\n const aStr = String(aValue).trim();\n const bStr = String(bValue).trim();\n\n // More robust number detection - check if values can be converted to valid numbers\n const aNum = Number(aStr);\n const bNum = Number(bStr);\n const aIsNumber =\n !isNaN(aNum) && isFinite(aNum) && /^-?\\d*\\.?\\d+([eE][+-]?\\d+)?$/.test(aStr);\n const bIsNumber =\n !isNaN(bNum) && isFinite(bNum) && /^-?\\d*\\.?\\d+([eE][+-]?\\d+)?$/.test(bStr);\n\n if (aIsNumber && bIsNumber) {\n return aNum - bNum;\n }\n\n // Check if both are valid dates (ISO format or timestamp)\n const aIsDate = /^\\d{4}-\\d{2}-\\d{2}/.test(aStr) || /^\\d{13}$/.test(aStr);\n const bIsDate = /^\\d{4}-\\d{2}-\\d{2}/.test(bStr) || /^\\d{13}$/.test(bStr);\n\n if (aIsDate && bIsDate) {\n const aDate = new Date(aValue);\n const bDate = new Date(bValue);\n if (!isNaN(aDate.getTime()) && !isNaN(bDate.getTime())) {\n return aDate.getTime() - bDate.getTime();\n }\n }\n\n // String comparison - use localeCompare for proper string sorting\n return aStr.localeCompare(bStr, undefined, {\n sensitivity: \"base\",\n numeric: false, // Disable numeric sorting for pure string comparison\n caseFirst: \"upper\",\n });\n};\n\n/**\n * Custom sorting function for TanStack Table\n */\nconst customSortingFn = (rowA: any, rowB: any, columnId: string): number => {\n const aValue = rowA.getValue(columnId);\n const bValue = rowB.getValue(columnId);\n return compareValues(aValue, bValue);\n};\n\n/**\n * Create a sorting comparator for multiSort fields\n */\nconst createMultiSortComparator = (sortId: string, isDesc: boolean) => {\n return (a: any, b: any) => {\n // Support nested field access (e.g., \"user.name\" or \"data.price.value\")\n const getNestedValue = (obj: any, path: string) => {\n return path.split(\".\").reduce((current, key) => {\n return current && current[key] !== undefined ? current[key] : undefined;\n }, obj);\n };\n\n const aValue = getNestedValue(a, sortId) ?? a[sortId];\n const bValue = getNestedValue(b, sortId) ?? b[sortId];\n\n // Handle null/undefined values\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return 1;\n if (bValue == null) return -1;\n\n // Numeric comparison\n const aNum = Number(aValue);\n const bNum = Number(bValue);\n if (!isNaN(aNum) && !isNaN(bNum)) {\n return isDesc ? bNum - aNum : aNum - bNum;\n }\n\n // String comparison with enhanced support for complex strings\n const aStr = String(aValue);\n const bStr = String(bValue);\n const comparison = aStr.localeCompare(bStr, undefined, {\n sensitivity: \"base\",\n numeric: true, // Handle numeric sequences in strings like \"PERP_1000PEPE_USDC\"\n });\n\n return isDesc ? -comparison : comparison;\n };\n};\n\nexport const Transform = {\n columns: (\n columns: Column[],\n sorting?: SortingState,\n setSorting?: OnChangeFn<SortingState>,\n ) => {\n const columnHelper = createColumnHelper<any>();\n\n return columns?.map((column, index) => {\n // Create a copy of column to avoid mutating the original\n let columnCopy = { ...column };\n\n const { dataIndex, onSort, multiSort } = columnCopy;\n\n // For multi-field sorting, provide default onSort if not provided\n const isMultiSort = Boolean(multiSort);\n\n // If multiSort is enabled but no onSort is provided, create default handler\n if (isMultiSort && multiSort && !multiSort.onSort && setSorting) {\n columnCopy = {\n ...columnCopy,\n multiSort: {\n ...multiSort,\n onSort: (fieldKey: string, sortOrder?: SortOrder) => {\n if (!setSorting) return;\n\n if (!sortOrder) {\n // Clear sorting\n setSorting([]);\n } else {\n // Set sorting for the field with custom sorting function\n setSorting([\n {\n id: fieldKey,\n desc: sortOrder === \"desc\",\n },\n ]);\n }\n },\n },\n };\n }\n\n const commonProps = {\n meta: columnCopy,\n size: columnCopy.width || 100,\n };\n\n return columnHelper.accessor(dataIndex, {\n header: () => columnCopy.title,\n enableSorting: onSort && !isMultiSort ? true : false, // Disable sorting for multiSort columns\n sortingFn:\n typeof onSort === \"function\"\n ? (rowA, rowB, columnId) => onSort?.(rowA.original, rowB.original)\n : customSortingFn,\n ...commonProps,\n });\n });\n },\n\n dataSource: <T>(\n dataSource: ReadonlyArray<T> | T[],\n columns: Column[],\n sorting?: SortingState,\n ): ReadonlyArray<T> | T[] => {\n if (\n !dataSource ||\n dataSource.length === 0 ||\n !sorting ||\n sorting.length === 0\n ) {\n return dataSource || [];\n }\n\n const currentSort = sorting[0];\n const sortId = currentSort.id;\n\n // Check if this sort ID matches any multiSort field\n const multiSortColumn = columns.find((col) =>\n col.multiSort?.fields?.some((field) => field.sortKey === sortId),\n );\n\n if (!multiSortColumn) {\n return dataSource; // Not a multiSort field, return original data\n }\n\n // Create a copy and sort using the optimized comparator\n const sortedData = [...dataSource].sort(\n createMultiSortComparator(sortId, currentSort.desc),\n );\n\n return sortedData;\n },\n\n columnPinning: (columns: Column[]) => {\n const left: string[] = [];\n const right: string[] = [];\n columns?.map((column) => {\n if (column.fixed === \"left\") {\n left.push(column.dataIndex);\n } else if (column.fixed === \"right\") {\n right.push(column.dataIndex);\n }\n });\n\n return { left, right };\n },\n\n pagination: (pagination?: PaginationMeta) => {\n let state = {} as PaginationTableState;\n let config = {} as Pick<\n TableOptions<any>,\n \"getPaginationRowModel\" | \"onPaginationChange\"\n >;\n if (pagination) {\n state = {\n pagination: {\n pageIndex: pagination.page - 1,\n pageSize: pagination.pageSize,\n },\n };\n config = {\n // no need to set onPaginationChange\n // onPaginationChange,\n // load client-side pagination code\n getPaginationRowModel: getPaginationRowModel(),\n };\n }\n return { state, config };\n },\n // sorting: (onSort?: (sort?: TableSort) => void, initialSort?: TableSort) => {\n // let state = {} as SortingTableState;\n // let config = {} as Pick<TableOptions<any>, \"onSortingChange\">;\n\n // if (typeof onSort === \"function\") {\n // config = {\n // onSortingChange: (updaterFn: any) => {\n // const sorting = updaterFn() as ColumnSort[];\n // const { id, desc } = sorting[0];\n // onSort({ sortKey: id, sort: desc ? \"desc\" : \"asc\" });\n // },\n // };\n // }\n\n // if (initialSort) {\n // state = {\n // sorting: [\n // {\n // id: initialSort.sortKey,\n // desc: initialSort.sort === \"desc\",\n // },\n // ],\n // } as SortingTableState;\n // }\n\n // return { state, config };\n // },\n};\n","import React, { FC } from \"react\";\nimport { DateRange } from \"react-day-picker\";\nimport { cnBase } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport {\n DateRangePicker,\n DateRangePickerProps,\n} from \"../pickers/dateRangePicker\";\nimport { DatePicker, DatePickerProps } from \"../pickers/datepicker\";\nimport { Picker, PickerProps } from \"../pickers/picker\";\nimport { CombineSelect } from \"../select/combine\";\nimport {\n SelectWithOptions,\n type SelectWithOptionsProps,\n} from \"../select/withOptions\";\n\ntype FilterType =\n | \"select\"\n | \"input\"\n | \"date\"\n | \"range\"\n | \"custom\"\n | \"symbol\"\n | \"picker\";\n\ntype DataFilterGeneral = {\n // initialValue?: any;\n name: string;\n type: FilterType;\n};\n\ntype SelectFilter = {\n type: \"select\";\n isCombine?: boolean;\n // options: DataFilterOption[];\n} & SelectWithOptionsProps;\n\n// type DateFilterMode = \"range\" | \"single\";\n\ntype DateFilter = {\n type: \"date\";\n // range?: DataFilterDateRange;\n // mode?: DateFilterMode;\n} & DatePickerProps;\n\ntype DateRangeFilter = {\n type: \"range\";\n} & DateRangePickerProps;\n\ntype SymbolFilter = {\n type: \"symbol\";\n};\n\ntype PickerFilter = {\n type: \"picker\";\n} & PickerProps;\n\nexport type DataFilterItem = DataFilterGeneral &\n (SelectFilter | DateFilter | DateRangeFilter | SymbolFilter | PickerFilter);\n\nexport type DataFilterProps = {\n items: DataFilterItem[];\n onFilter: (filter: { name: string; value: any }) => void;\n className?: string;\n trailing?: React.ReactNode;\n};\n\nconst FilterDatePicker = (props: DatePickerProps) => {\n return (\n <div>\n {/* @ts-ignore */}\n <DatePicker\n size=\"xs\"\n {...props}\n mode={\"single\"}\n onChange={(date) => {\n console.log(date);\n }}\n />\n </div>\n );\n};\n\nconst FilterDateRangePicker = (props: DateRangePickerProps) => {\n const { onChange, ...rest } = props;\n\n const onValueChange = (value: DateRange) => {\n // const from =value.from\n // console.log(value);\n\n if (typeof onChange === \"function\") {\n onChange(value);\n }\n };\n\n return (\n <div className={\"oui-min-w-[180px]\"}>\n <DateRangePicker size=\"xs\" {...rest} onChange={onValueChange} />\n </div>\n );\n};\n\nexport const DataFilterRenderer: FC<{\n type: FilterType;\n onChange?: (value: any) => void;\n [key: string]: any;\n}> = (props) => {\n const { onChange, type, isCombine, ...rest } = props;\n\n switch (type) {\n case \"select\":\n return (\n <div className=\"oui-min-w-24\">\n {isCombine ? (\n <CombineSelect\n size=\"xs\"\n {...(rest as SelectWithOptionsProps)}\n onValueChange={onChange}\n />\n ) : (\n <SelectWithOptions\n size=\"xs\"\n {...(rest as SelectWithOptionsProps)}\n onValueChange={onChange}\n />\n )}\n </div>\n );\n case \"date\":\n return <FilterDatePicker {...(rest as DatePickerProps)} />;\n case \"range\":\n return (\n <FilterDateRangePicker\n {...(rest as DateRangePickerProps)}\n onChange={onChange}\n />\n );\n case \"symbol\":\n return <div></div>;\n case \"picker\":\n return <Picker {...(rest as PickerProps)} onValueChange={onChange} />;\n case \"input\":\n default:\n return <div>No Component</div>;\n }\n};\n\nexport const DataFilter: React.FC<DataFilterProps> = (props) => {\n return (\n <Flex\n justify={\"start\"}\n gapX={3}\n py={3}\n width={\"100%\"}\n className={cnBase(\"oui-data-filter-bar\", props.className)}\n >\n {props.items.filter(Boolean).map((item, index: number) => {\n if (item.type === \"date\") {\n (item as DatePickerProps).mode = \"range\";\n }\n return (\n <DataFilterRenderer\n key={index}\n {...item}\n onChange={(value: any) => {\n // onChange(item.name ?? item.type, value);\n props.onFilter({ name: item.name ?? item.type, value });\n }}\n />\n );\n })}\n {props.trailing && (\n <div className=\"oui-flex oui-flex-1 oui-justify-end\">\n {props.trailing}\n </div>\n )}\n </Flex>\n );\n};\n","import { FC, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { Popover } from \"../popover/popover\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { format } from \"date-fns\";\nimport { DateRange, DayPickerRangeProps } from \"react-day-picker\";\nimport { useLocale } from \"../locale\";\nexport type DateRangePickerProps = {\n onChange?: (date: DateRange) => void;\n // selected: Date;\n placeholder?: string;\n value?: DateRange;\n initialValue?: DateRange;\n dateFormat?: string;\n size?: SizeType;\n className?: string;\n formatString?: string;\n} & Omit<DayPickerRangeProps, \"mode\">;\n\nconst DEFAULT_DATE_FORMAT = \"yyyy/MM/dd\";\n\nconst DateRangePicker: FC<DateRangePickerProps> = (props) => {\n const {\n placeholder,\n dateFormat,\n onChange,\n value,\n initialValue,\n size,\n className,\n formatString = DEFAULT_DATE_FORMAT,\n ...calendarProps\n } = props;\n const [locale] = useLocale(\"picker\");\n const [open, setOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | null>(\n value || initialValue || null\n );\n\n const [isMobileView, setIsMobileView] = useState<boolean>(false);\n\n const update = useDebouncedCallback((width: number) => {\n setIsMobileView(width <= 768);\n }, 100);\n\n // Effect hook to listen to window resize events\n useEffect(() => {\n const handleResize = () => {\n update(window.innerWidth);\n };\n\n setIsMobileView(window.innerWidth <= 768);\n window.addEventListener(\"resize\", handleResize);\n\n // Cleanup event listener on component unmount\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n if (\n value?.from &&\n value?.to &&\n dateRange?.from &&\n dateRange?.to &&\n !areDatesEqual(value as any, dateRange as any)\n )\n setDateRange(value);\n }, [value]);\n\n const { trigger } = selectVariants({ size, className });\n\n const formattedValue = useMemo(() => {\n // console.log(\"dateRange\", dateRange);\n if (!dateRange || !dateRange.from || !dateRange.to) {\n return placeholder ?? locale.selectDate;\n }\n const arr = [];\n if (dateRange.from) arr.push(format(dateRange.from, formatString));\n if (dateRange.to) arr.push(format(dateRange.to, formatString));\n\n return `${arr.join(\" - \")}`;\n }, [dateRange, placeholder, locale]);\n\n const onOpenChange = (nextOpen: boolean) => {\n // console.log(dateRange);\n if (\n typeof dateRange?.to === \"undefined\" &&\n typeof dateRange?.from !== \"undefined\"\n ) {\n setDateRange({\n ...dateRange,\n to: dateRange.from,\n });\n }\n if (!nextOpen && dateRange) {\n onChange?.(dateRange);\n }\n setOpen(nextOpen);\n };\n\n const onSelected = (range: DateRange, date: Date) => {\n if (dateRange?.from && dateRange?.to) {\n setDateRange({\n from: date,\n });\n } else {\n setDateRange(range);\n }\n };\n\n return (\n <Popover\n open={open}\n onOpenChange={onOpenChange}\n contentProps={{\n className: \"oui-w-auto oui-p-0\",\n align: \"start\",\n }}\n content={\n <Calendar\n numberOfMonths={isMobileView ? 1 : 2}\n {...calendarProps}\n mode={\"range\"}\n // @ts-ignore\n selected={dateRange}\n // @ts-ignore\n onSelect={onSelected}\n />\n }\n >\n <button\n className={trigger({\n className: \"oui-datepicker-trigger oui-group\",\n })}\n >\n <span className=\"oui-datepicker-trigger-icon\">\n <CalendarIcon size={14} className=\"oui-text-inherit\" opacity={1} />\n </span>\n <span>{formattedValue}</span>\n <CaretDownIcon\n size={12}\n className=\"oui-datepicker-trigger-arrow oui-text-inherit oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n opacity={1}\n />\n </button>\n </Popover>\n );\n};\n\nDateRangePicker.displayName = \"DateRangePicker\";\n\nexport { DateRangePicker };\n\nfunction useDebouncedCallback(callback: any, delay: number) {\n const timeoutRef = useRef<any | null>(null);\n\n const debouncedCallback = useCallback(\n (args: any) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n callback(args);\n }, delay);\n },\n [callback, delay]\n );\n return debouncedCallback;\n}\n\nfunction areDatesEqual(\n date1: { from: Date; to: Date },\n date2: { from: Date; to: Date }\n): boolean {\n const extractDateParts = (date: Date) => ({\n year: date.getFullYear(),\n month: date.getMonth(),\n day: date.getDate(),\n });\n\n const from1 = extractDateParts(date1.from);\n const to1 = extractDateParts(date1.to);\n const from2 = extractDateParts(date2.from);\n const to2 = extractDateParts(date2.to);\n\n return (\n from1.year === from2.year &&\n from1.month === from2.month &&\n from1.day === from2.day &&\n to1.year === to2.year &&\n to1.month === to2.month &&\n to1.day === to2.day\n );\n}\n","import { DayPicker } from \"react-day-picker\";\n\nimport { ChevronLeftIcon, ChevronRightIcon } from \"../../icon\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useLocale } from \"../../locale\";\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n const [locale] = useLocale(\"picker\");\n return (\n <DayPicker\n locale={locale.dayPicker}\n showOutsideDays={showOutsideDays}\n className={cnBase(\"oui-p-3 oui-bg-base-7 oui-rounded\", className)}\n classNames={{\n months:\n \"oui-flex oui-flex-col sm:oui-flex-row oui-space-y-4 sm:oui-space-x-4 sm:oui-space-y-0\",\n month: \"oui-space-y-4\",\n caption:\n \"oui-flex oui-justify-center oui-pt-1 oui-relative oui-items-center\",\n caption_label: \"oui-text-sm oui-font-medium \",\n nav: \"oui-space-x-1 oui-flex oui-items-center\",\n nav_button: cnBase(\n \"oui-h-7 oui-w-7 oui-bg-transparent oui-p-0 oui-opacity-50 hover:oui-opacity-100\"\n ),\n nav_button_previous: \"oui-absolute oui-left-1\",\n nav_button_next: \"oui-absolute oui-right-1\",\n table: \"oui-w-full oui-border-collapse oui-space-y-1\",\n head_row: \"oui-flex\",\n head_cell:\n \"oui-text-base-contrast-80 oui-rounded-md oui-w-7 oui-font-normal oui-text-[0.8rem] oui-opacity-30\",\n row: \"oui-flex oui-w-full oui-mt-2\",\n cell: cnBase(\n \"oui-relative oui-day-cell oui-p-0 oui-text-center oui-text-2xs focus-within:oui-relative focus-within:oui-z-20 [&:has([aria-selected])]:oui-bg-base-4 [&:has([aria-selected].day-outside)]:oui-bg-base-4/50 [&:has([aria-selected].day-range-end)]:oui-rounded-r-md\",\n props.mode === \"range\"\n ? \"[&:has(>.oui-day-range-end)]:oui-rounded-r-md [&:has(>.oui-day-range-start)]:oui-rounded-l-md first:[&:has([aria-selected])]:oui-rounded-l-md last:[&:has([aria-selected])]:oui-rounded-r-md\"\n : \"[&:has([aria-selected])]:oui-rounded-md\"\n ),\n day: cnBase(\n // buttonVariants({ variant: \"ghost\" }),\n \"oui-h-7 oui-w-7 oui-p-0 oui-rounded-md oui-font-normal aria-selected:oui-opacity-100 oui-text-base-contrast-80 hover:oui-bg-base-5\"\n ),\n day_range_start:\n \"day-range-start oui-bg-primary-darken oui-text-base-contrast-80 hover:oui-bg-primary-darken\",\n day_range_end:\n \"day-range-end oui-bg-primary-darken oui-text-base-contrast-80 hover:oui-bg-primary-darken\",\n day_selected: \"oui-bg-base-4 \",\n day_today: \"oui-bg-accent \",\n day_outside:\n \"oui-day-outside oui-text-muted-foreground oui-opacity-50 aria-selected:oui-bg-accent/50 aria-selected:oui-text-muted-foreground aria-selected:oui-opacity-30\",\n day_disabled: \"oui-text-muted-foreground oui-opacity-50\",\n day_range_middle:\n \"aria-selected:oui-bg-accent aria-selected:oui-text-accent-foreground\",\n day_hidden: \"oui-invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ...props }) => (\n <ChevronLeftIcon size={16} className=\"oui-text-inherit\" opacity={1} />\n ),\n IconRight: ({ ...props }) => (\n <ChevronRightIcon\n size={16}\n className=\"oui-text-inherit\"\n opacity={1}\n />\n ),\n }}\n {...props}\n />\n );\n}\n\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n","import { FC, useMemo, useState } from \"react\";\nimport { Popover } from \"../popover/popover\";\nimport { Calendar, CalendarProps } from \"./date/calendar\";\nimport { selectVariants } from \"../select/selectPrimitive\";\nimport { CalendarIcon } from \"../icon/calendar\";\nimport { CaretDownIcon } from \"../icon/caretDown\";\nimport type { SizeType } from \"../helpers/sizeType\";\nimport { ActiveModifiers } from \"react-day-picker\";\nimport { useLocale } from \"../locale\";\nexport type DatePickerProps = {\n onChange?: (date: Date) => void;\n // selected: Date;\n placeholder?: string;\n value?: Date;\n dateFormat?: string;\n size?: SizeType;\n className?: string;\n} & CalendarProps;\n\nconst DatePicker: FC<DatePickerProps> = (props) => {\n const {\n placeholder,\n dateFormat,\n onChange,\n value,\n size,\n className,\n ...calendarProps\n } = props;\n\n const [locale] = useLocale(\"picker\");\n\n const { trigger } = selectVariants({ size, className });\n\n const [open, setOpen] = useState(false);\n\n const formattedValue = useMemo(() => {\n if (typeof value === \"undefined\") {\n return placeholder ?? locale.selectDate;\n }\n }, [value, placeholder, locale]);\n\n const onSelect = (\n day: Date | undefined,\n selectedDay: Date,\n activeModifiers: ActiveModifiers,\n e: MouseEvent\n ) => {\n //@ts-ignore\n calendarProps.onSelect?.(day, selectedDay, activeModifiers, e);\n\n if (day) {\n onChange?.(day);\n setOpen(false);\n }\n };\n\n return (\n <Popover\n open={open}\n onOpenChange={setOpen}\n contentProps={{\n className: \"oui-w-auto oui-p-0\",\n }}\n // @ts-ignore\n content={<Calendar onSelect={onSelect} {...calendarProps} />}\n >\n <button\n className={trigger({\n className: \"orderly-datepicker-trigger oui-group\",\n })}\n >\n <span className=\"orderly-datepicker-trigger-icon\">\n <CalendarIcon size={14} className=\"oui-text-inherit\" opacity={1} />\n </span>\n <span>{formattedValue}</span>\n <CaretDownIcon\n size={12}\n className=\"orderly-datepicker-trigger-arrow oui-text-inherit oui-transition-transform group-data-[state=open]:oui-rotate-180 group-data-[state=closed]:oui-rotate-0\"\n opacity={1}\n />\n </button>\n </Popover>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n\nexport { DatePicker };\n","import {\n forwardRef,\n SelectHTMLAttributes,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { ChevronDownIcon, ChevronUpIcon, cn } from \"..\";\nimport { SelectOption } from \"../select/withOptions\";\nimport { ActionSheet, ActionSheetItem } from \"../sheet\";\nimport { tv } from \"../utils/tv\";\n\nconst pickerVariants = tv({\n base: \"oui-flex oui-flex-row oui-items-stretch oui-rounded-md oui-cursor-pointer oui-border oui-border-line-6 oui-bg-line-4 oui-text-base-contrast-54\",\n variants: {\n size: {\n sm: \"oui-px-2 oui-h-[22px] oui-text-2xs\",\n md: \"oui-px-2 oui-h-[24px] oui-text-2xs\",\n base: \"oui-px-3 oui-h-[40px]\",\n lg: \"oui-px-6 oui-py-3\",\n },\n fullWidth: {\n true: \"oui-w-full\",\n },\n disabled: {\n true: \"oui-opacity-50 oui-cursor-not-allowed\",\n },\n color: {\n // primary: \"text-primary-darken\",\n base: \"oui-text-base-contract\",\n buy: \"oui-text-trade-profit\",\n sell: \"oui-text-trade-loss\",\n },\n },\n defaultVariants: {\n size: \"base\",\n color: \"base\",\n },\n});\n\nexport interface PickerProps\n extends Omit<\n SelectHTMLAttributes<HTMLSelectElement>,\n \"disabled\" | \"size\" | \"color\" | \"value\"\n >,\n VariantProps<typeof pickerVariants> {\n loading?: boolean;\n label?: string;\n placeholder?: string;\n options: SelectOption[];\n value?: SelectOption | string | number;\n onValueChange?: (value: any) => void;\n valueRenderer?: (\n value: any,\n options: { open?: boolean; data?: any },\n ) => React.ReactNode;\n}\n\nexport type PickerRef = {};\n\nexport const Picker = forwardRef<PickerRef, PickerProps>(\n (originalProps, ref) => {\n const {\n size,\n color,\n value,\n label,\n placeholder,\n className,\n options,\n fullWidth,\n disabled,\n valueRenderer,\n ...props\n } = originalProps;\n\n const [open, setOpen] = useState(false);\n\n const selectedItem = useMemo<SelectOption | undefined>(() => {\n if (value && !!(value as SelectOption).value) {\n return value as SelectOption;\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n const option = options.find((option) => option.value === value);\n if (option) {\n return option;\n }\n }\n }, [value, options]);\n\n const text = useMemo(() => {\n if (selectedItem) {\n return selectedItem.label;\n }\n return placeholder || label || \"\";\n }, [selectedItem, label, placeholder]);\n\n const actions = useMemo<ActionSheetItem[]>(() => {\n return [...options, \"---\", \"Cancel\"];\n }, [options]);\n\n // const triggerRef = useRef(null);\n // const [dropdownWidth, setDropdownWidth] = useState(218);\n\n // useEffect(() => {\n // if (triggerRef.current) {\n // // @ts-ignore\n // const width = triggerRef.current.offsetWidth;\n // setDropdownWidth(width);\n // }\n // }, []);\n\n return (\n <ActionSheet\n actionSheets={actions}\n onOpenChange={setOpen}\n open={open}\n onClose={() => setOpen(false)}\n // @ts-ignore\n value={selectedItem}\n onValueChange={props.onValueChange}\n >\n {typeof valueRenderer === \"function\" ? (\n valueRenderer(selectedItem?.value || props.defaultValue, {\n open: open,\n data: (selectedItem as any)?.data,\n })\n ) : (\n <div\n className={cn(\n \"oui-space-x-1\",\n \"oui-text-base-contrast-54\",\n \"oui-rounded-md\",\n \"oui-bg-base-8\",\n pickerVariants({\n size,\n color,\n fullWidth,\n disabled: disabled || options.length === 0,\n className,\n }),\n )}\n >\n <div className=\"oui-flex oui-flex-1 oui-items-center oui-justify-start oui-text-2xs oui-text-inherit\">\n {text}\n </div>\n <div className=\"oui-flex oui-items-center\">\n {open ? (\n <ChevronUpIcon size={14} color=\"white\" />\n ) : (\n <ChevronDownIcon size={14} color=\"white\" />\n )}\n </div>\n </div>\n )}\n </ActionSheet>\n );\n },\n);\n","import * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cn, cnBase, tv, type VariantProps } from \"tailwind-variants\";\nimport { CloseIcon } from \"../icon/close\";\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cnBase(\n \"oui-fixed oui-inset-0 oui-z-50 oui-bg-black/80 data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out data-[state=closed]:oui-fade-out-0 data-[state=open]:oui-fade-in-0\",\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = tv({\n base: \"oui-fixed oui-z-50 oui-gap-4 oui-bg-base-8 oui-px-4 oui-shadow-lg oui-transition oui-ease-in-out data-[state=closed]:oui-duration-260 data-[state=open]:oui-duration-300 data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out\",\n variants: {\n side: {\n top: \"oui-inset-x-0 oui-top-0 oui-border-b data-[state=closed]:oui-slide-out-to-top data-[state=open]:oui-slide-in-from-top\",\n bottom:\n \"oui-inset-x-0 oui-bottom-0 oui-rounded-t-2xl data-[state=closed]:oui-slide-out-to-bottom data-[state=open]:oui-slide-in-from-bottom\",\n left: \"oui-inset-y-0 oui-left-0 oui-h-full oui-w-3/4 data-[state=closed]:oui-slide-out-to-left data-[state=open]:oui-slide-in-from-left sm:oui-max-w-sm\",\n right:\n \"oui-inset-y-0 oui-right-0 oui-h-full oui-w-3/4 oui-border-l data-[state=closed]:oui-slide-out-to-right data-[state=open]:oui-slide-in-from-right sm:oui-max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"bottom\",\n },\n});\n\nexport interface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n // if true, show close button\n closeable?: boolean;\n onClose?: () => void;\n closeableSize?: number;\n closeOpacity?: number;\n closeClassName?: string;\n overlayClassName?: string;\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(\n (\n {\n side = \"bottom\",\n closeable = true,\n closeableSize = 16,\n closeOpacity = 0.98,\n className,\n overlayClassName,\n children,\n ...props\n },\n ref,\n ) => (\n <SheetPortal>\n <SheetOverlay className={overlayClassName} />\n <SheetPrimitive.Content\n ref={ref}\n className={cnBase(sheetVariants({ side }), className)}\n onOpenAutoFocus={(e) => e.preventDefault()}\n onCloseAutoFocus={(e) => e.preventDefault()}\n {...props}\n >\n {closeable && (\n <SheetPrimitive.Close\n className={cnBase(\n \"oui-ring-offset-base-700 focus:oui-ring-ring oui-absolute oui-right-4 oui-top-4 oui-z-10 oui-rounded-sm oui-transition-opacity focus:oui-outline-none focus:oui-ring-2 focus:oui-ring-offset-2 active:oui-outline-none focus:orderly-outline-none disabled:oui-pointer-events-none data-[state=open]:oui-bg-secondary\",\n props?.closeClassName,\n )}\n >\n <CloseIcon\n size={closeableSize}\n color=\"white\"\n opacity={closeOpacity}\n onClick={props?.onClose}\n />\n <span className=\"oui-sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n ),\n);\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({\n className,\n leading,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & {\n leading?: React.ReactNode;\n}) => (\n <div\n className={cnBase(\n \"oui-sheet-header oui-grid oui-min-h-12 oui-grid-cols-[40px_1fr_40px] oui-items-center\",\n )}\n >\n <div>{leading}</div>\n <div\n {...props}\n className={cnBase(\n \"oui-flex oui-flex-col oui-space-y-2 oui-text-center oui-text-lg oui-text-base-contrast\",\n className,\n )}\n />\n </div>\n);\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetBody = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div className={cn(\"oui-py-4\", className)({ twMerge: true })} {...props} />\n );\n};\n\nSheetBody.displayName = \"DialogBody\";\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cnBase(\n \"oui-sheet-footer oui-flex oui-flex-col-reverse sm:oui-flex-row sm:oui-justify-end sm:oui-space-x-2\",\n className,\n )}\n {...props}\n />\n);\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title> & {\n leading?: React.ReactNode;\n }\n>(({ className, leading, ...props }, ref) => (\n <div\n className=\"oui-sheet-header oui-grid oui-grid-cols-[40px_1fr_40px] oui-items-center\"\n ref={ref}\n >\n <div>{leading}</div>\n <div\n className={cnBase(\n \"oui-flex oui-flex-col oui-space-y-2 oui-text-center oui-text-lg oui-text-base-contrast\",\n className,\n )}\n {...props}\n />\n </div>\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cnBase(\n \"oui-sheet-description oui-text-2xs oui-text-base-contrast-54\",\n className,\n )}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetBody,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","import React, {\n FC,\n PropsWithChildren,\n ReactElement,\n ElementType,\n createContext,\n useContext,\n useReducer,\n ReactNode,\n} from \"react\";\nimport { ModalAction, ModalArgs, ModalCallbacks, ModalStore } from \"./types\";\nimport { getModalId } from \"./utils\";\nimport { MODAL_REGISTRY, register } from \"./modalHelper\";\n\nexport type ModalContextType = {};\n\nconst initialState: ModalStore = {};\n\n// const MODAL_STACK: string[] = [];\n\nexport const ALREADY_MOUNTED: Record<string, boolean> = {};\n\nexport const ModalContext = createContext<ModalStore>(initialState);\n\nexport const ModalIdContext = createContext<string | null>(null);\n\nexport const modalCallbacks: ModalCallbacks = {};\nexport const hideModalCallbacks: ModalCallbacks = {};\n\nlet dispatch: React.Dispatch<ModalAction> = () => {\n throw new Error(\n \"No dispatch method detected, did you embed your app with Modal.Provider?\"\n );\n};\n\n//------- reducer actions --------\n/**\n * show modal\n * @param id string modalId\n * @param args Record<string, unknown> modalArgs\n * @returns ModalAction\n */\nfunction showModal(id: string, args?: any): ModalAction {\n return {\n type: \"SHOW_MODAL\",\n payload: {\n id,\n args,\n },\n };\n}\n\n/**\n * close modal\n * @param id string modalId\n * @returns ModalAction\n */\nfunction hideModal(id: string): ModalAction {\n return {\n type: \"HIDE_MODAL\",\n payload: {\n id,\n },\n };\n}\n\nfunction removeModal(id: string): ModalAction {\n return {\n type: \"DESTROY_MODAL\",\n payload: {\n id,\n },\n };\n}\n\nfunction updateArgsAction(\n id: string,\n args: Record<string, unknown>\n): ModalAction {\n return {\n type: \"UPDATE_ARGS\",\n payload: {\n id,\n args,\n },\n };\n}\n\nfunction setModalStates(\n id: string,\n states: Record<string, unknown>\n): ModalAction {\n return {\n type: \"SET_MODAL_STATES\",\n payload: {\n id,\n states,\n },\n };\n}\n\n//------- reducer actions --------\n\nconst reducer = (state: ModalStore, action: ModalAction) => {\n const { id, args } = action.payload;\n // console.log(\"reducer action\", action);\n switch (action.type) {\n case \"SHOW_MODAL\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n id,\n args,\n visible: !!ALREADY_MOUNTED[id],\n delayVisible: !ALREADY_MOUNTED[id],\n },\n };\n }\n case \"HIDE_MODAL\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n visible: false,\n },\n };\n }\n case \"DESTROY_MODAL\": {\n const newState = { ...state };\n delete newState[id];\n return newState;\n }\n case \"UPDATE_ARGS\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n args: {\n ...state[id].args,\n ...args,\n },\n },\n };\n }\n case \"SET_MODAL_STATES\": {\n return {\n ...state,\n [id]: {\n ...state[id],\n states: {\n ...state.states,\n ...action.payload.states,\n },\n },\n };\n }\n default:\n return state;\n }\n};\n\nconst ModalContainer: FC = () => {\n const modals = useContext(ModalContext);\n const visibleModalIds = Object.keys(modals).filter((id) => !!modals[id]);\n\n visibleModalIds.forEach((id) => {\n if (!MODAL_REGISTRY.has(id) && !ALREADY_MOUNTED[id]) {\n console.warn(\n `No modal found for id: ${id}. Please check the id or if it is registered or declared via JSX.`\n );\n return;\n }\n });\n\n const components = visibleModalIds\n .filter((id) => MODAL_REGISTRY.has(id))\n .map((id) => {\n return {\n id,\n ...MODAL_REGISTRY.get(id)!,\n };\n });\n\n // console.log(\"components\", components, modals);\n\n return (\n <>\n {components.map((component) => {\n // console.log(\"component\", component);\n\n const Comp: ElementType = component.comp;\n return (\n <Comp key={component.id} id={component.id} {...component.props} />\n );\n })}\n </>\n );\n};\n\nexport const ModalProvider: FC<\n PropsWithChildren<{\n dialogBuilder?: (children: ReactNode) => ReactElement;\n }>\n> = (props) => {\n const [state, dispatchOrigin] = useReducer(reducer, initialState);\n dispatch = dispatchOrigin;\n return (\n <ModalContext.Provider value={state}>\n {props.children}\n <ModalContainer />\n </ModalContext.Provider>\n );\n};\n\nfunction show<T extends any, C extends any>(\n modal: ElementType<C>,\n args?: ModalArgs<ElementType<C>>\n): Promise<T>;\nfunction show<T extends any>(\n modal: string,\n args?: Record<string, unknown>\n): Promise<T>;\nfunction show<T extends any, P extends any>(\n modal: string,\n args?: P\n): Promise<T>;\nfunction show<T extends any, P extends any>(\n modal: ElementType<any> | string,\n args?: any\n): Promise<unknown> {\n const modalId = getModalId(modal);\n if (typeof modal !== \"string\" && !MODAL_REGISTRY.has(modalId)) {\n register(modalId, modal as ElementType);\n }\n\n dispatch(showModal(modalId, args));\n if (!modalCallbacks[modalId]) {\n let theResolve!: (args?: unknown) => void;\n // `!` tell ts that theResolve will be written before it is used\n let theReject!: (args?: unknown) => void;\n const promise = new Promise((resolve, reject) => {\n theResolve = resolve;\n theReject = reject;\n });\n modalCallbacks[modalId] = {\n resolve: theResolve,\n reject: theReject,\n promise,\n };\n }\n\n return modalCallbacks[modalId].promise as Promise<T>;\n}\n\nfunction hide<T>(modal: string | FC<any>): Promise<T>;\nfunction hide(modal: string | FC<any>) {\n const modalId = getModalId(modal);\n dispatch(hideModal(modalId));\n\n delete modalCallbacks[modalId];\n\n if (!hideModalCallbacks[modalId]) {\n let theResolve!: (args?: unknown) => void;\n let theReject!: (args?: unknown) => void;\n const promise = new Promise((resolve, reject) => {\n theResolve = resolve;\n theReject = reject;\n });\n hideModalCallbacks[modalId] = {\n resolve: theResolve,\n reject: theReject,\n promise,\n };\n }\n\n return hideModalCallbacks[modalId].promise;\n}\n\nfunction remove(id: string) {\n dispatch(removeModal(id));\n delete modalCallbacks[id];\n delete hideModalCallbacks[id];\n}\n\nfunction setStates(id: string, states: Record<string, unknown>) {\n dispatch(setModalStates(id, states));\n}\n\nfunction updateArgs(id: string, args: Record<string, unknown>) {\n dispatch(updateArgsAction(id, args));\n}\n\nexport const modalActions = {\n show,\n hide,\n remove,\n setStates,\n updateArgs,\n};\n","const symModalId = Symbol(\"modalId\");\n\nlet uidSeed = 0;\n\nconst getUid = () => `__modal_${uidSeed++}`;\n\nexport const getModalId = (modal: any): string => {\n if (typeof modal === \"string\") return modal as string;\n if (!modal[symModalId]) {\n modal[symModalId] = getUid();\n }\n return modal[symModalId];\n};\n","import { ElementType, FC, useContext, useEffect } from \"react\";\nimport type { ModalArgs, ModalHocProps } from \"./types\";\nimport { useModal } from \"./useModal\";\nimport {\n ALREADY_MOUNTED,\n modalActions,\n ModalContext,\n ModalIdContext,\n} from \"./modalContext\";\n\ntype ModalRegistry = {\n comp: ElementType;\n props?: Record<string, unknown>;\n};\n\nexport const MODAL_REGISTRY = new Map<string, ModalRegistry>();\n\nexport const create = <P extends {}>(\n Comp: React.ComponentType<P>\n): FC<P & ModalHocProps> => {\n // return higher order component\n // eslint-disable-next-line react/display-name\n return ({ id, defaultVisible, keepMounted, ...props }) => {\n const { args, show } = useModal(id);\n\n const modals = useContext(ModalContext);\n const shouldMount = !!modals[id];\n\n useEffect(() => {\n if (defaultVisible) {\n show();\n }\n\n ALREADY_MOUNTED[id] = true;\n\n return () => {\n if (!keepMounted) {\n delete ALREADY_MOUNTED[id];\n }\n };\n }, [id, show, defaultVisible]);\n\n useEffect(() => {\n if (keepMounted) modalActions.setStates(id, { keepMounted: true });\n }, [id, keepMounted]);\n\n const delayVisible = modals[id]?.delayVisible;\n\n useEffect(() => {\n if (delayVisible) {\n show(args);\n }\n }, [delayVisible, args, show]);\n\n if (!shouldMount) return null;\n\n return (\n <ModalIdContext.Provider value={id}>\n <Comp {...(props as unknown as P)} {...args} />\n </ModalIdContext.Provider>\n );\n };\n};\n\nexport function register<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<ModalArgs<Props>>\n): void {\n if (!MODAL_REGISTRY.has(id)) {\n // auto crate;\n // MODAL_REGISTRY.set(id, { comp, props });\n MODAL_REGISTRY.set(id, { comp, props });\n } else {\n MODAL_REGISTRY.set(id, { comp: MODAL_REGISTRY.get(id)!.comp!, props });\n }\n}\n\nexport const unregister = (id: string): void => {\n MODAL_REGISTRY.delete(id);\n};\n","import { FC, useCallback, useContext, useEffect } from \"react\";\nimport { ModalArgs, ModalHandler } from \"./types\";\nimport {\n ModalContext,\n hideModalCallbacks,\n modalActions,\n modalCallbacks,\n ModalIdContext,\n} from \"./modalContext\";\nimport { getModalId } from \"./utils\";\nimport { register } from \"./modalHelper\";\n\nexport function useModal(): ModalHandler;\nexport function useModal(\n modal: string,\n args?: Record<string, unknown>\n): ModalHandler;\nexport function useModal<\n T extends React.FC<any>,\n ComponentProps extends ModalArgs<T>,\n PreparedProps extends Partial<ComponentProps> = {} | ComponentProps,\n RemainingProps = Omit<ComponentProps, keyof PreparedProps> &\n Partial<ComponentProps>,\n ResolveType = unknown\n>(\n modal: T,\n args?: PreparedProps\n): Omit<ModalHandler, \"show\"> & {\n show: Partial<RemainingProps> extends RemainingProps\n ? (args?: RemainingProps) => Promise<ResolveType>\n : (args: RemainingProps) => Promise<ResolveType>;\n};\nexport function useModal(modal?: any, args?: any): ModalHandler {\n const modals = useContext(ModalContext);\n const modalIdFromContext = useContext(ModalIdContext);\n\n let modalId: string | null;\n let isComponent = modal && typeof modal !== \"string\";\n\n if (!modal) {\n modalId = modalIdFromContext;\n } else {\n modalId = getModalId(modal);\n }\n\n if (!modalId) {\n throw new Error(\"modalId is required\");\n }\n\n const id = modalId as string;\n\n useEffect(() => {\n if (isComponent) {\n register(id, modal, args);\n }\n }, [isComponent, modalId, modal, args]);\n\n const modalInfo = modals[id];\n\n // console.log(\"modalInfo\", modalInfo);\n\n const show = useCallback(\n (args?: Record<string, unknown>) => modalActions.show(id, args),\n [id]\n );\n\n const hide = useCallback(() => modalActions.hide(id), [id]);\n\n const remove = useCallback(() => modalActions.remove(id), [id]);\n\n const onOpenChange = useCallback(\n (isOpen: boolean) => {\n // isOpen ? () => {} : hide();\n if (!isOpen) {\n // hide();\n reject(\"cancel\");\n hide();\n }\n },\n [id]\n );\n\n const setStates = useCallback(\n (states: Record<string, unknown>) => {\n modalActions.setStates(id, states);\n },\n [id]\n );\n\n const updateArgs = useCallback(\n (args: Record<string, unknown>) => {\n modalActions.updateArgs(id, args);\n },\n [id]\n );\n\n const resolve = useCallback(\n (args?: unknown) => {\n modalCallbacks[id]?.resolve(args);\n delete modalCallbacks[id];\n },\n [id]\n );\n\n const reject = useCallback(\n (args?: unknown) => {\n modalCallbacks[id]?.reject(args);\n delete modalCallbacks[id];\n },\n [id]\n );\n\n const resolveHide = useCallback((args?: unknown) => {\n hideModalCallbacks[id]?.resolve(args);\n delete hideModalCallbacks[id];\n }, []);\n\n return {\n id,\n args: modalInfo?.args,\n states: modalInfo?.states,\n visible: !!modalInfo?.visible,\n keepMounted: !!modalInfo?.keepMounted,\n\n show,\n hide,\n onOpenChange,\n setStates,\n updateArgs,\n remove,\n /**\n * resolve the show Promise\n */\n resolve,\n /**\n * reject the show Promise\n */\n reject,\n /**\n * emit when modal is hidden\n */\n resolveHide,\n };\n}\n","import { tv } from \"../utils/tv\";\nimport React from \"react\";\nimport { VariantProps } from \"tailwind-variants\";\n\nconst dividerVariants = tv({\n base: [\"oui-pointer-events-none oui-box-content\"],\n variants: {\n intensity: {\n 4: \"oui-border-line-4\",\n 6: \"oui-border-line-6\",\n 8: \"oui-border-line\",\n 12: \"oui-border-line-12\",\n 16: \"oui-border-line-16\",\n },\n direction: {\n horizontal: [\"oui-border-b\"],\n vertical: [\"oui-border-l\"],\n },\n lineStyle: {\n // solid: \"oui-border-solid\",\n dashed: \"oui-border-dashed\",\n dotted: \"oui-border-dotted\",\n },\n mx: {\n 2: \"oui-mx-2\",\n 4: \"oui-mx-4\",\n 6: \"oui-mx-6\",\n 8: \"oui-mx-8\",\n 10: \"oui-mx-10\",\n },\n my: {\n 2: \"oui-my-2\",\n 4: \"oui-my-4\",\n 6: \"oui-my-6\",\n 8: \"oui-my-8\",\n 10: \"oui-my-10\",\n },\n },\n defaultVariants: {\n direction: \"horizontal\",\n intensity: 4,\n },\n});\n\ntype DividerProps = VariantProps<typeof dividerVariants> &\n React.HTMLAttributes<HTMLDivElement>;\n\nconst Divider = React.forwardRef<HTMLDivElement, DividerProps>((props, ref) => {\n const { className, intensity, direction, lineStyle, mx, my, ...rest } = props;\n return (\n <div\n ref={ref}\n {...rest}\n className={dividerVariants({\n direction,\n intensity,\n className,\n lineStyle,\n mx,\n my,\n })}\n />\n );\n});\n\nDivider.displayName = \"Divider\";\n\nexport { Divider, dividerVariants };\nexport type { DividerProps };\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport { Sheet, SheetContent, SheetHeader } from \".\";\nimport { Divider } from \"../divider\";\nimport { SheetBody, SheetContentProps, SheetTitle } from \"./sheet\";\n\nexport interface SimpleSheetProps {\n title?: ReactNode | (() => ReactNode);\n leading?: React.ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n classNames?: {\n content?: string;\n body?: string;\n header?: string;\n overlay?: string;\n };\n contentProps?: SheetContentProps;\n closable?: boolean;\n}\n\nexport const SimpleSheet: FC<PropsWithChildren<SimpleSheetProps>> = (props) => {\n const {\n open,\n onOpenChange,\n classNames,\n contentProps,\n closable = true,\n } = props;\n\n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <Sheet open={open} onOpenChange={onOpenChange}>\n <SheetContent\n onOpenAutoFocus={(event) => event.preventDefault()}\n className={classNames?.content}\n overlayClassName={classNames?.overlay}\n closeable={closable}\n {...contentProps}\n >\n {title && (\n <>\n <SheetHeader leading={props.leading}>\n <SheetTitle>{title}</SheetTitle>\n </SheetHeader>\n <Divider />\n </>\n )}\n <SheetBody className={classNames?.body}>{props.children}</SheetBody>\n </SheetContent>\n </Sheet>\n );\n};\n","import { ReactNode } from \"react\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { SimpleSheet, SimpleSheetProps } from \"../../sheet/simpleSheet\";\n\nexport type SheetProps = Pick<\n SimpleSheetProps,\n \"title\" | \"classNames\" | \"leading\" | \"contentProps\" | \"closable\"\n> & {\n content: ReactNode;\n};\nconst BaseSheet = create<SheetProps>((props) => {\n const { visible, hide, resolve, onOpenChange } = useModal();\n\n return (\n <SimpleSheet open={visible} onOpenChange={onOpenChange} {...props}>\n {props.content}\n </SimpleSheet>\n );\n});\n\nexport const sheet = (props: SheetProps) => {\n return modalActions.show(BaseSheet, props);\n};\n","import { ReactNode, useCallback } from \"react\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { AlertDialog, AlertDialogProps } from \"../../dialog/alertDialog\";\n\nexport const CreatedAlertDialog = create<AlertDialogProps>((props) => {\n const { onOk } = props;\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n\n const onOkHandler = useCallback((): Promise<any> => {\n return Promise.resolve().then(onOk).then(hide);\n }, [onOk]);\n\n return (\n <AlertDialog\n open={visible}\n onOpenChange={onOpenChange}\n {...props}\n onOk={onOkHandler}\n />\n );\n});\n\nexport const alert = (props: AlertDialogProps) => {\n return modalActions.show(CreatedAlertDialog, props);\n};\n","import { FC, ReactNode, useMemo } from \"react\";\nimport { SimpleDialog, SimpleDialogProps } from \"./simpleDialog\";\nimport { DialogAction } from \"./simpleDialogFooter\";\nimport { useScreen } from \"../hooks\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useLocale } from \"../locale\";\n\nexport type AlertDialogProps = {\n message?: ReactNode;\n onOk?: () => Promise<boolean>;\n onCancel?: () => void;\n okLabel?: string;\n cancelLabel?: string;\n actions?: {\n primary?: Partial<DialogAction>;\n secondary?: Partial<DialogAction>;\n };\n} & Pick<\n SimpleDialogProps,\n \"open\" | \"onOpenChange\" | \"title\" | \"closable\" | \"classNames\" | \"size\"\n>;\n\n/**\n * Generic alert dialog, often used for confirmation/alert/information dialogs.\n */\nexport const AlertDialog: FC<AlertDialogProps> = (props) => {\n const [locale] = useLocale(\"dialog\");\n const {\n title,\n message,\n open,\n onOpenChange,\n onOk,\n onCancel,\n okLabel = locale.ok,\n cancelLabel = locale.cancel,\n size,\n classNames,\n } = props;\n\n const { isMobile } = useScreen();\n\n const actions = useMemo(() => {\n if (typeof onOk !== \"function\" && typeof onCancel !== \"function\")\n return undefined;\n const actions: any = {};\n if (typeof onCancel === \"function\") {\n actions[\"secondary\"] = {\n label: cancelLabel,\n onClick: onCancel,\n size: \"md\",\n fullWidth: true,\n ...props.actions?.secondary,\n } as DialogAction;\n }\n\n if (typeof onOk === \"function\") {\n actions[\"primary\"] = {\n label: okLabel,\n size: \"md\",\n fullWidth: true,\n className: \"oui-w-full lg:oui-w-[154px]\",\n onClick: onOk,\n ...props.actions?.primary,\n } as DialogAction;\n }\n\n return actions;\n }, [onOk, onCancel, okLabel, cancelLabel, props.actions]);\n\n const defaultSize = isMobile ? \"xs\" : \"sm\";\n\n return (\n <SimpleDialog\n open={open}\n title={title}\n size={size || defaultSize}\n actions={actions}\n onOpenChange={onOpenChange}\n classNames={{\n content: cnBase(\n \"oui-bg-base-8 oui-font-semibold oui-border oui-border-line-6\",\n \"oui-p-4 oui-pt-0 lg:oui-p-5 lg:oui-pt-0\",\n classNames?.content\n ),\n body: cnBase(\"oui-py-4 lg:oui-py-5\", classNames?.body),\n footer: cnBase(\n \"oui-justify-center oui-pb-0 oui-pt-2 lg:oui-pt-3\",\n classNames?.footer\n ),\n }}\n >\n {message}\n </SimpleDialog>\n );\n};\n","import * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { VariantProps, tv } from \"tailwind-variants\";\nimport { CloseIcon } from \"../icon/close\";\n\nconst dialogVariants = tv({\n slots: {\n overlay: [\n \"oui-dialog-overlay\",\n \"oui-fixed\",\n \"oui-inset-0\",\n \"oui-z-50\",\n \"oui-bg-black/80\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n ],\n content: [\n \"oui-dialog-content\",\n \"oui-fixed\",\n \"oui-left-[50%]\",\n \"oui-top-[50%]\",\n \"oui-z-50\",\n // \"oui-grid\",\n \"oui-w-full\",\n \"oui-max-w-lg\",\n \"oui-translate-x-[-50%]\",\n \"oui-translate-y-[-50%]\",\n // \"oui-gap-4\",\n // \"oui-bg-base-8\",\n \"oui-text-base-contrast-54\",\n \"oui-px-4 lg:oui-px-5\",\n\n \"oui-shadow-lg\",\n \"oui-duration-200\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[state=closed]:oui-slide-out-to-left-1/2\",\n \"data-[state=closed]:oui-slide-out-to-top-[48%]\",\n \"data-[state=open]:oui-slide-in-from-left-1/2\",\n \"data-[state=open]:oui-slide-in-from-top-[48%]\",\n \"sm:oui-rounded-xl\",\n ],\n body: [\"oui-dialog-body\", \"oui-py-4 lg:oui-py-5\", \"oui-text-xs\"],\n close: [\n \"oui-dialog-close-btn\",\n \"oui-absolute\",\n \"oui-right-4\",\n \"oui-top-4\",\n // \"oui-opacity-70\",\n \"oui-ring-offset-background\",\n \"oui-transition-opacity\",\n \"hover:oui-opacity-100\",\n\n \"disabled:oui-pointer-events-none\",\n // \"data-[state=open]:oui-bg-accent\",\n // \"data-[state=open]:oui-text-muted-foreground\",\n ],\n header: [\n \"oui-dialog-header\",\n \"oui-flex\",\n \"oui-flex-col\",\n // \"oui-pb-4\"\n ],\n footer: [\n \"oui-dialog-footer\",\n \"oui-flex\",\n \"oui-flex-row\",\n \"oui-justify-end\",\n \"oui-space-x-2\",\n \"oui-pb-5\",\n \"oui-pt-2 lg:oui-pt-3\",\n // \"has-[&>*:nth-child(1)]:oui-bg-red-400\",\n // \"oui-has-[:checked]:oui-bg-indigo-50\",\n // \"has-[button]:oui-bg-red-50\",\n ],\n title: [\n \"oui-dialog-title\",\n \"oui-text-base\",\n // \"oui-pt-3\",\n // \"oui-pb-2\",\n \"oui-min-h-11 lg:oui-min-h-[46px]\",\n \"oui-flex\",\n \"oui-items-center\",\n \"oui-text-base-contrast\",\n ],\n desc: [\n \"oui-dialog-desc\",\n \"oui-text-xs\",\n \"oui-text-warning-darken\",\n \"oui-pt-2\",\n \"oui-text-center\",\n \"oui-pb-3\",\n // \"has-[&_+_div]:oui-pb-3\",\n ],\n },\n variants: {\n size: {\n xs: {\n content: [\"oui-max-w-xs\"], //320\n },\n sm: {\n content: [\"oui-max-w-sm\"], //360\n },\n md: {\n content: [\"oui-max-w-md\"], //420\n },\n lg: {\n content: [\"oui-max-w-lg\"], //480\n },\n xl: {\n content: [\"oui-max-w-xl\"], //540\n },\n },\n intensity: {\n 100: {\n content: [\"oui-bg-base-1\"],\n },\n 200: {\n content: [\"oui-bg-base-2\"],\n },\n 300: {\n content: [\"oui-bg-base-3\"],\n },\n 400: {\n content: [\"oui-bg-base-4\"],\n },\n 500: {\n content: [\"oui-bg-base-5\"],\n },\n 600: {\n content: [\"oui-bg-base-6\"],\n },\n 700: {\n content: [\"oui-bg-base-7\"],\n },\n 800: {\n content: [\"oui-bg-base-8\"],\n },\n 900: {\n content: [\"oui-bg-base-9\"],\n },\n },\n },\n defaultVariants: {\n intensity: 800,\n },\n});\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { overlay } = dialogVariants();\n return (\n <DialogPrimitive.Overlay\n ref={ref}\n className={overlay({ className })}\n {...props}\n />\n );\n});\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nexport type DialogContentProps = React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Content\n> &\n VariantProps<typeof dialogVariants> & {\n closable?: boolean;\n onClose?: () => void;\n overlyClassName?: string;\n };\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(\n (\n {\n overlyClassName,\n className,\n children,\n size,\n closable = true,\n intensity,\n ...props\n },\n ref,\n ) => {\n const { content, close } = dialogVariants({ className, size, intensity });\n return (\n <DialogPortal>\n <DialogOverlay className={overlyClassName} />\n <DialogPrimitive.Content\n ref={ref}\n className={content({ className })}\n {...props}\n >\n {children}\n {closable && (\n <DialogPrimitive.Close\n className={close()}\n data-testid=\"oui-testid-dialog-content-close-btn\"\n >\n <CloseIcon size={16} color=\"white\" opacity={0.98} />\n <span className=\"oui-sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n },\n);\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { header } = dialogVariants();\n return <div className={header({ className })} {...props} />;\n};\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogBody = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { body } = dialogVariants();\n return <div className={body({ className })} {...props} />;\n};\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => {\n const { footer } = dialogVariants();\n return <div className={footer({ className })} {...props} />;\n};\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => {\n const { title } = dialogVariants();\n return (\n <DialogPrimitive.Title\n ref={ref}\n className={title({ className })}\n {...props}\n />\n );\n});\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => {\n const { desc } = dialogVariants();\n return (\n <DialogPrimitive.Description\n ref={ref}\n className={desc({ className })}\n {...props}\n />\n );\n});\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogBody,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","import { FC, useEffect, useMemo, useState } from \"react\";\nimport { DialogFooter } from \"./dialog\";\nimport { Button, ButtonProps, ThrottledButton } from \"../button\";\n\nexport type DialogAction<T = any> = {\n label: string;\n onClick: (event: any) => Promise<T> | T;\n} & Pick<\n ButtonProps,\n | \"size\"\n | \"disabled\"\n | \"className\"\n | \"fullWidth\"\n | \"data-testid\"\n | \"loading\"\n | \"variant\"\n | \"color\"\n>;\n\nexport type SimpleDialogFooterProps = {\n actions?: {\n primary?: DialogAction;\n secondary?: DialogAction;\n };\n className?: string;\n};\n\nexport const SimpleDialogFooter: FC<SimpleDialogFooterProps> = (props) => {\n const { actions } = props;\n const [primaryLoading, setPrimaryLoading] = useState(\n actions?.primary?.loading ?? false\n );\n\n useEffect(() => {\n if (actions?.primary?.loading) {\n setPrimaryLoading(actions?.primary?.loading);\n }\n\n return () => {\n setPrimaryLoading(false);\n };\n }, [actions?.primary?.loading]);\n\n if (!actions) return null;\n\n const buttons = useMemo(() => {\n const buttons = [];\n\n if (actions.secondary && typeof actions.secondary.onClick === \"function\") {\n const {\n fullWidth = true,\n color = \"gray\",\n label,\n ...rest\n } = actions.secondary;\n\n buttons.push(\n <Button\n key=\"secondary\"\n {...rest}\n data-testid={actions.secondary?.[\"data-testid\"]}\n color={color}\n fullWidth={fullWidth}\n >\n {label}\n </Button>\n );\n }\n\n if (actions.primary && typeof actions.primary.onClick === \"function\") {\n const {\n fullWidth = true,\n color,\n disabled,\n label,\n onClick,\n ...rest\n } = actions.primary;\n\n buttons.push(\n <ThrottledButton\n key=\"primary\"\n {...rest}\n data-testid={actions.primary?.[\"data-testid\"]}\n onClick={async (event) => {\n if (primaryLoading) return;\n try {\n setPrimaryLoading(true);\n await onClick(event);\n } catch (e) {\n } finally {\n setPrimaryLoading(false);\n }\n }}\n disabled={disabled || primaryLoading}\n loading={primaryLoading}\n fullWidth={fullWidth}\n color={color}\n >\n {label}\n </ThrottledButton>\n );\n }\n\n return buttons;\n }, [actions, primaryLoading]);\n\n return <DialogFooter className={props.className}>{buttons}</DialogFooter>;\n};\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport { Divider } from \"../divider\";\nimport {\n Dialog,\n DialogBody,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n DialogContentProps,\n} from \"./dialog\";\nimport {\n SimpleDialogFooter,\n SimpleDialogFooterProps,\n} from \"./simpleDialogFooter\";\n\ntype SimpleDialogProps = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n closable?: boolean;\n title?: ReactNode | (() => ReactNode);\n description?: ReactNode;\n classNames?: {\n content?: string;\n body?: string;\n footer?: string;\n overlay?: string;\n };\n /** if provider, it will overrides others content props */\n contentProps?: DialogContentProps;\n // footer?: ReactNode;\n} & SimpleDialogFooterProps;\n\n/**\n * Simplified dialog component.\n */\nconst SimpleDialog: FC<PropsWithChildren<SimpleDialogProps>> = (props) => {\n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <Dialog open={props.open} onOpenChange={props.onOpenChange}>\n <DialogContent\n size={props.size}\n closable={props.closable}\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n /** prevent close dialog when click the mask */\n // onPointerDownOutside={(event) => event.preventDefault()}\n className={props.classNames?.content}\n overlyClassName={props.classNames?.overlay}\n {...props.contentProps}\n >\n {title && (\n <>\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n </DialogHeader>\n <Divider />\n </>\n )}\n <DialogBody className={props.classNames?.body}>\n {props.children}\n </DialogBody>\n {typeof props.description !== \"undefined\" && (\n <DialogDescription>{props.description}</DialogDescription>\n )}\n <SimpleDialogFooter\n actions={props.actions}\n className={props.classNames?.footer}\n />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { SimpleDialog };\n\nexport type { SimpleDialogProps };\n","import { useEffect, useState } from \"react\";\n\nexport function useMediaQuery(query: string): boolean {\n const getMatches = (query: string): boolean => {\n // Prevents SSR issues\n if (typeof window !== \"undefined\") {\n return window.matchMedia(query).matches;\n }\n return false;\n };\n\n const [matches, setMatches] = useState<boolean>(getMatches(query));\n\n function handleChange() {\n setMatches(getMatches(query));\n }\n\n useEffect(() => {\n const matchMedia = window?.matchMedia(query);\n\n // Triggered at the first client-side load and if query changes\n handleChange();\n\n // Listen matchMedia\n if (matchMedia?.addListener) {\n matchMedia?.addListener(handleChange);\n } else {\n matchMedia?.addEventListener?.(\"change\", handleChange);\n }\n\n return () => {\n if (matchMedia?.removeListener) {\n matchMedia?.removeListener(handleChange);\n } else {\n matchMedia?.removeEventListener?.(\"change\", handleChange);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return matches;\n}\n","import { useMediaQuery } from \"./useMediaQuery\";\n\nexport function useScreen() {\n const isMobile = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n isMobile,\n isDesktop: !isMobile,\n };\n}\n","import { useEffect } from \"react\";\n\n/**\n * observe the element and call the callback when the element is changed\n * */\nexport function useObserverElement<T extends HTMLElement>(\n element: T | null,\n callback: (entry: ResizeObserverEntry) => void,\n) {\n useEffect(() => {\n if (!element) {\n return;\n }\n\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n callback(entry);\n }\n });\n\n resizeObserver.observe(element);\n\n return () => {\n resizeObserver.unobserve(element);\n };\n }, [element]);\n}\n","import { useMemo } from \"react\";\nimport { useMediaQuery } from \"./useMediaQuery\";\n\n/**\n * Hook to determine if the current device can use mobile device linking\n * This includes actual mobile devices AND tablets (iPad, Android tablets)\n * even if their viewport width exceeds the mobile breakpoint\n *\n */\nexport function useCanLinkDevice(): boolean {\n const isSmallViewport = useMediaQuery(\"(max-width: 768px)\");\n\n return useMemo(() => {\n // Check if device is a tablet or mobile device based on user agent\n const ua = navigator.userAgent;\n const isIpad =\n /iPad/.test(ua) || (/MacIntel/.test(ua) && navigator.maxTouchPoints > 1);\n\n const isAndroidTablet = /Android/.test(ua) && !/Mobile/.test(ua);\n\n const isTablet = isIpad || isAndroidTablet;\n return isSmallViewport || isTablet;\n }, [isSmallViewport]);\n}\n","import { ReactNode } from \"react\";\nimport { SimpleDialog, SimpleDialogProps } from \"../../dialog/simpleDialog\";\nimport { modalActions } from \"../modalContext\";\nimport { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\n\nexport type DialogProps = {\n content: ReactNode;\n} & Pick<SimpleDialogProps, \"title\" | \"closable\" | \"size\" | \"actions\">;\n\nconst Dialog = create<DialogProps>((props) => {\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n return (\n <SimpleDialog\n title={props.title}\n open={visible}\n onOpenChange={onOpenChange}\n size={props.size}\n closable={props.closable}\n actions={props.actions}\n // // @ts-ignore\n // onOk={() => {\n // resolve(true);\n // hide();\n // }}\n // onCancel={() => {\n // reject(false);\n // hide();\n // }}\n >\n {props.content}\n </SimpleDialog>\n );\n});\n\nexport const dialog = (props: DialogProps) => {\n return modalActions.show(Dialog, props);\n};\n","import { FC, PropsWithChildren, ReactNode } from \"react\";\nimport {\n Dialog,\n DialogBody,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"./dialog\";\nimport { Divider } from \"../divider\";\nimport {\n SimpleDialogFooter,\n SimpleDialogFooterProps,\n} from \"./simpleDialogFooter\";\n\ntype TriggerDialogProps = {\n size?: \"sm\" | \"md\" | \"lg\";\n closable?: boolean;\n title?: ReactNode;\n description?: ReactNode;\n trigger: ReactNode;\n} & SimpleDialogFooterProps;\n\nconst TriggerDialog: FC<PropsWithChildren<TriggerDialogProps>> = (props) => {\n return (\n <Dialog>\n <DialogTrigger asChild>{props.trigger}</DialogTrigger>\n <DialogContent\n size={props.size}\n closable={props.closable}\n onOpenAutoFocus={(event) => event.preventDefault()}\n >\n {props.title && (\n <>\n <DialogHeader>\n <DialogTitle>{props.title}</DialogTitle>\n </DialogHeader>\n <Divider />\n </>\n )}\n <DialogBody>{props.children}</DialogBody>\n {typeof props.description !== \"undefined\" && (\n <DialogDescription>{props.description}</DialogDescription>\n )}\n <SimpleDialogFooter actions={props.actions} />\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { TriggerDialog };\n\nexport type { TriggerDialogProps };\n","import { ElementType } from \"react\";\nimport { useModal, modal } from \"../modal\";\nimport { SimpleDialog, SimpleDialogProps } from \"./simpleDialog\";\nimport { ModalArgs } from \"../modal/types\";\n\nexport function createDialogComponent<P extends Partial<SimpleDialogProps>>(\n Comp: ElementType\n) {\n return modal.create((props: P) => {\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n\n const {\n title,\n size,\n // @ts-ignore deprecated\n contentClassName,\n // @ts-ignore deprecated\n bodyClassName,\n closable,\n classNames,\n ...rest\n } = props;\n return (\n <SimpleDialog\n open={visible}\n onOpenChange={onOpenChange}\n size={size}\n title={title}\n closable={closable}\n classNames={{\n content: contentClassName,\n body: bodyClassName,\n ...classNames,\n }}\n contentProps={{\n onInteractOutside: (e) => {\n const el = document.querySelector('#privy-dialog')\n if (el) {\n e.preventDefault();\n }\n },\n }}\n >\n <Comp {...rest} close={hide} resolve={resolve} reject={reject} />\n </SimpleDialog>\n );\n });\n}\n\nexport function registerSimpleDialog<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<SimpleDialogProps & Props>\n) {\n modal.register(id, createDialogComponent(comp), props);\n}\n","import { create } from \"../modalHelper\";\nimport { useModal } from \"../useModal\";\nimport { SimpleDialog, SimpleDialogProps } from \"../../dialog\";\nimport { modalActions } from \"../modalContext\";\nimport { Text } from \"../../typography\";\nimport { useScreen } from \"../../hooks\";\nimport { useLocale } from \"../../locale\";\n\nexport type ConfirmProps = {\n content?: React.ReactNode;\n footer?: React.ReactNode;\n onOk?: () => Promise<any>;\n okLabel?: string;\n onCancel?: () => Promise<any>;\n cancelLabel?: string;\n contentClassName?: string;\n bodyClassName?: string;\n // closeableSize?: number;\n // okId?: string;\n // cancelId?: string;\n} & Pick<SimpleDialogProps, \"title\" | \"classNames\" | \"size\">;\n\nexport const ConfirmDialog = create<ConfirmProps>((props) => {\n const { size } = props;\n const { visible, hide, resolve, reject, onOpenChange } = useModal();\n const [locale] = useLocale(\"modal\");\n\n const { isMobile } = useScreen();\n\n const defaultSize = isMobile ? \"xs\" : \"sm\";\n \n const title = typeof props.title === \"function\" ? props.title() : props.title;\n\n return (\n <SimpleDialog\n open={visible}\n title={\n <Text size=\"base\" weight=\"semibold\">\n {title}\n </Text>\n }\n size={size || defaultSize}\n classNames={{\n content: props.contentClassName,\n body: props.bodyClassName,\n ...props.classNames,\n }}\n // maxWidth={props.maxWidth}\n closable\n // closeableSize={props.closeableSize}\n // okId={props.okId}\n // cancelId={props.cancelId}\n onOpenChange={(open) => {\n if (!open) {\n reject();\n }\n onOpenChange(open);\n }}\n actions={{\n primary: {\n label: props.okLabel ?? locale.confirm,\n className: \"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8\",\n \"data-testid\": \"oui-testid-confirm-dialog-confirm-btn\",\n onClick: () => {\n return Promise.resolve()\n .then(() => {\n if (typeof props.onOk === \"function\") {\n return props.onOk();\n }\n return true;\n })\n .then(\n (data?: any) => {\n resolve(data);\n hide();\n },\n (err) => {\n reject(err);\n hide();\n }\n );\n },\n },\n secondary: {\n label: props.cancelLabel ?? locale.cancel,\n className: \"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8\",\n \"data-testid\": \"oui-testid-confirm-dialog-cancel-btn\",\n onClick: () => {\n return Promise.resolve()\n .then(() => {\n if (typeof props.onCancel === \"function\") {\n return props.onCancel();\n }\n return Promise.reject('cancel');\n })\n .then(\n (data?: any) => {\n resolve(data);\n hide();\n },\n (err) => {\n reject(err);\n hide();\n }\n );\n },\n },\n }}\n >\n <div className=\"oui-text-2xs lg:oui-text-sm\">{props.content}</div>\n </SimpleDialog>\n );\n});\n\nexport const confirm = <T = any, >(props: ConfirmProps):Promise<T> => {\n return modalActions.show(ConfirmDialog, props);\n};\n","import { modalActions } from \"./modalContext\";\nimport { register, unregister, create } from \"./modalHelper\";\n\nexport { ModalProvider } from \"./modalContext\";\n\nimport { sheet } from \"./preset/sheet\";\nimport { alert } from \"./preset/alert\";\nimport { dialog } from \"./preset/dialog\";\n\nimport { confirm } from \"./preset/confirm\";\nexport type { ConfirmProps } from \"./preset/confirm\";\n// import { actionSheet } from \"@/modal/preset/actionSheet\";\nexport { ConfirmDialog } from \"./preset/confirm\";\n\nexport type { ModalHocProps } from \"./types\";\n\nexport { ModalContext, ModalIdContext } from \"./modalContext\";\n\n// @ebay/nice-modal-react\nexport { useModal } from \"./useModal\";\n\nexport const modal = {\n create,\n register,\n unregister,\n\n ...modalActions,\n // actionSheet,\n confirm,\n alert,\n sheet,\n dialog,\n // alert\n //actionSheet\n /// toast\n};\n","import { ElementType } from \"react\";\nimport { useModal, modal } from \"../modal\";\nimport { SheetProps } from \"../modal/preset/sheet\";\nimport { SimpleSheet, SimpleSheetProps } from \"./simpleSheet\";\n\nfunction createSheetComponent<P extends Partial<SimpleSheetProps>>(\n Comp: ElementType\n) {\n return modal.create((props: P) => {\n const { title, leading, classNames, contentProps, closable, ...rest } =\n props;\n\n const { visible, hide, resolve, reject, onOpenChange, args } = useModal();\n\n // console.log(\"-------\", args);\n\n return (\n <SimpleSheet\n open={visible}\n onOpenChange={onOpenChange}\n title={title}\n leading={leading}\n classNames={classNames}\n closable={closable}\n contentProps={contentProps}\n >\n <Comp {...rest} close={hide} resolve={resolve} reject={reject} />\n </SimpleSheet>\n );\n });\n}\n\nexport function registerSimpleSheet<Props = {}>(\n id: string,\n comp: ElementType<Props>,\n props?: Partial<SimpleSheetProps & Props>\n) {\n modal.register(id, createSheetComponent(comp), props);\n}\n","import React, {\n ComponentPropsWithoutRef,\n FC,\n Fragment,\n PropsWithChildren,\n useCallback,\n useMemo,\n} from \"react\";\nimport { cn, Divider, Sheet, SheetContent, SheetTrigger } from \"..\";\nimport { useLocale } from \"../locale\";\n\ntype SheetItemType = \"division\" | \"data\" | \"cancel\";\n\nexport interface BaseActionSheetItem {\n label: string;\n type?: SheetItemType;\n icon?: string;\n value?: string;\n active?: boolean;\n onClick?: (action: BaseActionSheetItem) => void;\n}\n\nexport interface ActionSheetItemProps {\n action: BaseActionSheetItem;\n index: number;\n active?: boolean;\n onClick?: (value: { value?: string; index: number }) => void;\n}\n\nexport const ActionItem: FC<ActionSheetItemProps> = (props) => {\n const { action } = props;\n\n const onItemClick = useCallback(() => {\n if (typeof action.onClick === \"function\") {\n action.onClick(action);\n } else {\n props.onClick?.({ ...action, index: props.index });\n }\n }, [action]);\n\n const child = useMemo(() => {\n return action.label;\n }, [action.label]);\n\n return (\n <div\n className={cn(\n \"oui-flex oui-justify-center oui-items-center oui-text-lg oui-h-[52px] oui-cursor-pointer\",\n\n props.active && \"oui-text-primary-darken\"\n )}\n onClick={onItemClick}\n >\n {child}\n </div>\n );\n};\n\nexport const ActionDivision: FC = (props) => {\n return (\n <div className=\"oui-relative oui-h-[1px] oui-bg-base-300 oui-mt-[-1px]\"></div>\n );\n};\n\nexport interface ActionSheetContentProps {\n actionSheets: BaseActionSheetItem[];\n value?: BaseActionSheetItem;\n onValueChange?: (value: any) => void;\n onClose?: () => void;\n}\nexport const ActionSheetContent: FC<ActionSheetContentProps> = (props) => {\n return (\n <>\n {props.actionSheets.map((action, index) => {\n if (action.type === \"division\") {\n return <ActionDivision key={index} />;\n }\n return (\n <Fragment key={action.value || index}>\n {action.value === \"cancel\" && (\n <div className=\"oui-h-2 oui-bg-base-10\" />\n )}\n <ActionItem\n onClick={(value) => {\n if (value.value === \"cancel\") {\n return;\n }\n\n if (typeof action.onClick === \"function\") {\n action.onClick(action);\n } else {\n props.onValueChange?.(value.value);\n props.onClose?.();\n }\n }}\n index={index}\n action={action}\n active={\n typeof props.value !== \"undefined\" &&\n props.value.value === action.value\n }\n />\n {index < props.actionSheets.length - 1 && (\n <Divider className=\"oui-border-base-contrast/10\" />\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport type SystemActionSheetItem = \"Cancel\" | \"Confirm\" | \"---\";\n\nexport type ActionSheetItem = BaseActionSheetItem | SystemActionSheetItem;\n\nexport interface ActionSheetProps\n extends ComponentPropsWithoutRef<typeof Sheet> {\n actionSheets: ActionSheetItem[];\n value?: BaseActionSheetItem;\n onValueChange?: (value: string) => void;\n open?: boolean;\n onClose?: () => void;\n}\n\nexport const ActionSheet: FC<PropsWithChildren<ActionSheetProps>> = (props) => {\n const [locale] = useLocale(\"modal\");\n // create actionSheet items\n const items = useMemo<BaseActionSheetItem[]>(() => {\n const items: BaseActionSheetItem[] = [];\n\n if (Array.isArray(props.actionSheets)) {\n for (const action of props.actionSheets) {\n if (typeof action === \"string\") {\n if (action === \"Cancel\") {\n items.push({\n label: locale.cancel,\n value: \"cancel\",\n onClick: () => {\n props.onClose?.();\n },\n });\n } else if (action === \"Confirm\") {\n items.push({\n label: locale.confirm,\n value: \"confirm\",\n });\n } else if (action.startsWith(\"---\")) {\n items.push({\n label: \"---\",\n value: \"---\",\n type: \"division\",\n });\n }\n } else {\n items.push(action);\n }\n }\n }\n\n return items;\n }, [props.actionSheets]);\n\n return (\n <Sheet open={props.open} onOpenChange={props.onOpenChange}>\n {typeof props.children !== \"undefined\" && (\n <SheetTrigger asChild>{props.children}</SheetTrigger>\n )}\n\n <SheetContent\n closeable={false}\n className=\"oui-action-sheet-content !oui-p-0 oui-pb-[env(safe-area-inset-bottom)]\"\n onOpenAutoFocus={(event) => event.preventDefault()}\n >\n <ActionSheetContent\n actionSheets={items}\n onClose={props.onClose}\n onValueChange={props.onValueChange}\n value={props.value}\n />\n </SheetContent>\n </Sheet>\n );\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { PaginationMeta } from \"../type\";\n\nexport const usePagination = (initial?: {\n page?: number;\n pageSize?: number;\n resetPageWhenPageSizeChange?: boolean;\n}) => {\n const dataTotal = useRef(0);\n const [page, setPage] = useState<number>(initial?.page ?? 1);\n const [pageSize, _setPageSize] = useState<number>(initial?.pageSize ?? 10);\n\n const setPageSize = useCallback(\n (size: number) => {\n _setPageSize(size);\n // check page > page total\n if (dataTotal.current > 0) {\n const totalPage = Math.ceil(dataTotal.current / size);\n if (page > totalPage) {\n setPage(totalPage);\n }\n }\n },\n [page],\n );\n\n /**\n * helper function to parse meta data,\n * the format of meta data is same as the response from the API\n */\n const parseMeta = (meta?: {\n total: number;\n current_page: number;\n records_per_page: number;\n }) => {\n const count = meta?.total ?? dataTotal.current;\n dataTotal.current = count;\n const size = meta?.records_per_page ?? pageSize;\n const pageTotal = count ? Math.ceil(count / size) : 0;\n const curPage = Math.min(meta?.current_page ?? page, pageTotal);\n return {\n count,\n page: curPage,\n pageSize: size,\n pageTotal: pageTotal,\n };\n };\n\n /** server pagination */\n const parsePagination = useCallback(\n (meta?: {\n total: number;\n current_page: number;\n records_per_page: number;\n }): PaginationMeta => {\n return {\n ...parseMeta(meta),\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n };\n },\n [page, pageSize],\n );\n\n /** manual pagination */\n const pagination = useMemo<PaginationMeta>(\n () => ({\n page,\n pageSize,\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n }),\n [parsePagination],\n );\n\n useEffect(() => {\n // reset page when page size change\n if (initial?.resetPageWhenPageSizeChange !== false) {\n setPage(1);\n }\n }, [pageSize, initial?.resetPageWhenPageSizeChange]);\n\n return {\n page,\n pageSize,\n setPage,\n setPageSize,\n parseMeta,\n pagination,\n parsePagination,\n };\n};\n","import { FC } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\nimport EmptyStateIcon from \"../icon/emptyData\";\nimport { ExtensionPositionEnum, installExtension } from \"../plugin\";\nimport { useLocale } from \"../locale\";\n\nexport const EmptyDataState: FC<{ title?: string; className?: string }> = (\n props\n) => {\n const [locale] = useLocale(\"empty\");\n\n return (\n <Flex\n itemAlign=\"center\"\n direction=\"column\"\n gapY={4}\n className={props.className}\n >\n <Box>\n <EmptyStateIcon />\n </Box>\n <Text as=\"div\" intensity={36} size=\"2xs\">\n {props.title ?? locale.description}\n </Text>\n </Flex>\n );\n};\n\ninstallExtension<{ title?: string }>({\n name: \"emptyDataIdentifier\",\n positions: [ExtensionPositionEnum.EmptyDataIdentifier],\n})(EmptyDataState);\n","export { DownloadFeature } from \"./download\";\nexport {\n generateCSVData,\n generateCSVContent,\n downloadCSVFile,\n exportToCSV,\n type CSVColumn,\n type CSVExportOptions,\n} from \"./csvExportService\";\n","/**\n * CSV Export Service\n * Platform-agnostic utilities for CSV export\n * Used by both DataTable (desktop) and mobile ListView components\n */\n\nexport interface CSVColumn {\n title: string;\n plantTextTitle?: string;\n dataIndex?: string;\n renderPlantText?: (value: any, record: any, index: number) => any;\n hidden?: boolean;\n type?: string;\n}\n\nexport interface CSVExportOptions {\n columns: CSVColumn[];\n dataSource: any[];\n filename?: string;\n}\n\n/**\n * Converts raw data to CSV format\n * @param columns - Column definitions with formatting functions\n * @param dataSource - Array of data records\n * @returns Array of CSV rows (header + data rows)\n */\nexport const generateCSVData = (\n columns: CSVColumn[],\n dataSource: any[],\n): any[][] => {\n // Filter and map headers\n const headers = columns\n .filter((column) => !column.hidden && column.type !== \"action\")\n .map((column) => column.plantTextTitle || column.title);\n\n // Filter and map data rows\n const rows = dataSource.map((record, recordIndex) => {\n return columns\n .filter((column) => !column.hidden && column.type !== \"action\")\n .map((column) => {\n // Get value from record using dataIndex\n let value = column.dataIndex ? record[column.dataIndex] : record;\n\n // Apply custom formatting if provided\n if (typeof column.renderPlantText === \"function\") {\n value = column.renderPlantText(value, record, recordIndex);\n }\n\n return `\"${value ?? \"--\"}\"`;\n });\n });\n\n return [headers, ...rows];\n};\n\n/**\n * Generates CSV content string from data\n * @param data - Array of CSV rows\n * @returns CSV formatted string\n */\nexport const generateCSVContent = (data: any[][]): string => {\n return data.map((row) => row.join(\",\")).join(\"\\n\");\n};\n\n/**\n * Triggers browser download of CSV file\n * @param csvContent - CSV formatted string\n * @param filename - Name of the file to download\n */\nexport const downloadCSVFile = (\n csvContent: string,\n filename = `export_${Date.now()}.csv`,\n) => {\n const blob = new Blob([csvContent], { type: \"text/csv;charset=utf-8;\" });\n const url = URL.createObjectURL(blob);\n\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", filename);\n link.click();\n\n URL.revokeObjectURL(url);\n};\n\n/**\n * Complete CSV export flow\n * @param options - Export options with columns and dataSource\n */\nexport const exportToCSV = (options: CSVExportOptions) => {\n const { columns, dataSource, filename } = options;\n const csvData = generateCSVData(columns, dataSource);\n const csvContent = generateCSVContent(csvData);\n downloadCSVFile(csvContent, filename);\n};\n","import { Table, TableFeature, RowData } from \"@tanstack/react-table\";\nimport { Column } from \"../type\";\nimport { generateCSVContent, downloadCSVFile } from \"./csvExportService\";\n\n// Define types for our new feature's table APIs\nexport interface DownloadInstance {\n getPlainTextData: () => any[];\n download: (filename?: string) => void;\n}\n\n// Use declaration merging to add our new feature APIs and state types to TanStack Table's existing types.\ndeclare module \"@tanstack/react-table\" {\n //merge our new feature's instance APIs with the existing table instance APIs\n interface Table<TData extends RowData> extends DownloadInstance {}\n}\n\nexport const DownloadFeature: TableFeature<any> = {\n // define the new feature's table instance methods\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n table.getPlainTextData = () => {\n const header = table\n .getAllColumns()\n // filter action column and non-exportable columns (but include hidden columns for CSV)\n .filter((column) => {\n const meta = column.columnDef.meta as any;\n return meta.type !== \"action\" && meta.exportable !== false;\n })\n .map((column) => {\n const { title, plantTextTitle } = column.columnDef.meta as any;\n return plantTextTitle || title;\n });\n\n const rows = table.getRowModel().rows.map((row) =>\n row\n .getVisibleCells()\n .filter((cell) => {\n const meta = cell.column.columnDef.meta as any;\n return meta.type !== \"action\" && meta.exportable !== false;\n })\n .map((cell) => {\n const { original: record, index } = cell.row;\n const { renderPlantText } = (cell.column.columnDef.meta ||\n {}) as Column;\n const dataIndex = (cell.column.columnDef.meta as any)?.dataIndex;\n\n // Get raw value from record using dataIndex\n let value = dataIndex\n ? (record as any)[dataIndex]\n : cell.getValue();\n\n if (typeof renderPlantText === \"function\") {\n value = renderPlantText(value, record, index, cell);\n }\n\n return `\"${value ?? \"--\"}\"`;\n }),\n );\n\n const data = [header, ...rows];\n\n return data;\n };\n\n table.download = (filename?: string) => {\n const data = table.getPlainTextData();\n console.log(\"downloadCSV\", data);\n const csvContent = generateCSVContent(data);\n downloadCSVFile(csvContent, filename);\n };\n },\n};\n","import * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { VariantProps } from \"tailwind-variants\";\nimport { tv } from \"../utils/tv\";\n\nconst tabsVariants = tv({\n slots: {\n list: [\n \"oui-header-list\",\n \"oui-flex\",\n \"oui-items-center\",\n // \"oui-px-1\",\n ],\n content: [\n \"oui-ring-offset-background\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n ],\n trigger: [\n \"oui-tab-trigger\",\n \"oui-inline-flex\",\n \"oui-items-center\",\n \"oui-justify-center\",\n \"oui-whitespace-nowrap\",\n // \"oui-px-3\",\n\n \"oui-box-content\",\n \"oui-font-medium\",\n\n \"oui-text-base-contrast-36 hover:oui-text-base-contrast-54\",\n \"oui-ring-offset-background\",\n \"oui-transition-all\",\n \"oui-space-x-1\",\n \"focus-visible:oui-outline-none\",\n \"focus-visible:oui-ring-2\",\n \"focus-visible:oui-ring-ring\",\n \"focus-visible:oui-ring-offset-2\",\n \"disabled:oui-pointer-events-none\",\n \"disabled:oui-opacity-50\",\n ],\n icon: [\"oui-text-inherit\"],\n },\n variants: {\n variant: {\n text: {\n list: [\n \"oui-space-x-6\",\n \"oui-border-b\",\n \"oui-border-line-6\",\n \"oui-px-1\",\n ],\n trigger: [\n \"oui-pb-2\",\n \"oui-relative\",\n \"data-[state=active]:oui-text-base-contrast\",\n \"data-[state=active]:after:oui-content-['']\",\n \"data-[state=active]:after:oui-block\",\n \"data-[state=active]:after:oui-h-[3px]\",\n \"data-[state=active]:after:oui-bg-white\",\n \"data-[state=active]:after:oui-absolute\",\n \"data-[state=active]:after:oui-rounded-full\",\n \"data-[state=active]:after:-oui-bottom-0\",\n \"data-[state=active]:after:oui-left-0\",\n \"data-[state=active]:after:oui-right-0\",\n ],\n },\n contained: {\n list: [\"oui-space-x-[6px]\"],\n trigger: [\n \"oui-rounded\",\n \"oui-px-3\",\n \"oui-bg-base-7 hover:oui-bg-base-5\",\n \"oui-text-base-contrast-36\",\n \"data-[state=active]:oui-bg-base-5\",\n \"data-[state=active]:oui-text-base-contrast\",\n ],\n icon: [\"oui-text-inherit\"],\n },\n },\n size: {\n sm: {},\n md: {},\n lg: {},\n xl: {},\n },\n },\n compoundVariants: [\n {\n size: \"sm\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-sm\", \"oui-h-5\"],\n icon: [\"oui-w-[10px]\", \"oui-h-[10px]\"],\n },\n },\n {\n size: \"md\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-base\", \"oui-h-6\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n },\n {\n size: \"lg\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-lg\", \"oui-h-7\"],\n icon: [\"oui-w-[14px]\", \"oui-h-[14px]\"],\n },\n },\n {\n size: \"xl\",\n variant: \"text\",\n className: {\n trigger: [\"oui-text-lg\", \"oui-h-7\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n },\n {\n size: \"sm\",\n variant: \"contained\",\n className: {\n list: [\"oui-space-x-1\"],\n trigger: [\"oui-text-2xs\", \"oui-h-6\"],\n icon: [\"oui-w-[10px]\", \"oui-h-[10px]\"],\n },\n },\n {\n size: \"md\",\n variant: \"contained\",\n className: {\n // list: [\"oui-space-x-[6px]\"],\n trigger: [\"oui-text-2xs\", \"oui-h-7\"],\n icon: [\"oui-w-3\", \"oui-h-3\"],\n },\n },\n {\n size: \"lg\",\n variant: \"contained\",\n className: {\n trigger: [\"oui-text-sm\", \"oui-h-8\", \"oui-rounded-md\"],\n icon: [\"oui-w-[14px]\", \"oui-h-[14px]\"],\n },\n },\n {\n size: \"xl\",\n variant: \"contained\",\n className: {\n trigger: [\"oui-text-base\", \"oui-h-9\", \"oui-rounded-md\"],\n icon: [\"oui-w-4\", \"oui-h-4\"],\n },\n },\n ],\n defaultVariants: {\n size: \"md\",\n variant: \"text\",\n },\n});\n\nconst TabsBase = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsVariants>\n>((originProps, ref) => {\n const { className, size, variant, ...props } = originProps;\n const { list } = tabsVariants({ size, variant });\n return (\n <TabsPrimitive.List ref={ref} className={list({ className })} {...props} />\n );\n});\n\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> &\n VariantProps<typeof tabsVariants> & {\n icon?: React.ReactElement;\n \"data-testid\"?: string;\n }\n>((originProps, ref) => {\n const { className, size, children, icon, variant, ...props } = originProps;\n const { trigger, icon: iconClassName } = tabsVariants({ size, variant });\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n className={trigger({ className })}\n {...props}\n >\n {typeof icon !== \"undefined\"\n ? React.cloneElement(icon, { className: iconClassName(), opacity: 1 })\n : null}\n <span>{children}</span>\n </TabsPrimitive.Trigger>\n );\n});\n\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content> &\n VariantProps<typeof tabsVariants>\n>((oriProps, ref) => {\n const { className, size, children, ...props } = oriProps;\n const { content } = tabsVariants({ size });\n return (\n <TabsPrimitive.Content\n ref={ref}\n className={content({ className })}\n {...props}\n >\n {children}\n </TabsPrimitive.Content>\n );\n});\n\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { TabsBase, TabsList, TabsTrigger, TabsContent, tabsVariants };\n","import React, {\n FC,\n PropsWithChildren,\n createContext,\n useEffect,\n ReactNode,\n useState,\n useContext,\n ReactElement,\n useMemo,\n useCallback,\n} from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport { useOrderlyTheme } from \"../provider/orderlyThemeContext\";\nimport { ScrollIndicator } from \"../scrollIndicator\";\nimport {\n TabsBase,\n TabsList,\n TabsContent,\n TabsTrigger,\n tabsVariants,\n} from \"./tabsBase\";\n\ntype tabConfig = {\n title: ReactNode;\n icon?: ReactElement;\n testid?: string;\n value: string;\n content: ReactNode;\n collapsed?: boolean;\n className?: string;\n style?: React.CSSProperties;\n};\n\ninterface TabsContextState {\n registerTab: (tab: tabConfig) => void;\n unregisterTab: (tab: tabConfig) => void;\n}\n\nconst TabsContext = createContext<TabsContextState>({} as TabsContextState);\n\ntype TabsProps<T = string> = {\n defaultValue?: T;\n value?: T;\n // onChange?: (value: T) => void;\n leading?: ReactNode;\n trailing?: ReactNode;\n classNames?: {\n tabsListContainer?: string;\n tabsList?: string;\n tabsContent?: string;\n scrollIndicator?: string;\n trigger?: string;\n };\n contentVisible?: boolean;\n showScrollIndicator?: boolean;\n} & TabsPrimitive.TabsProps &\n VariantProps<typeof tabsVariants>;\n\nconst Tabs: FC<TabsProps> = (props) => {\n const { getComponentTheme } = useOrderlyTheme();\n const {\n classNames,\n contentVisible = true,\n variant,\n showScrollIndicator,\n value,\n ...rest\n } = props;\n\n const tabsOverrides = getComponentTheme(\"tabs\", { variant: \"contained\" });\n\n const tabsVariant = variant || tabsOverrides.variant;\n\n const [tabList, setTabList] = useState<{ [key: string]: tabConfig }>({});\n\n const registerTab = useCallback((config: tabConfig) => {\n setTabList((prev) => {\n return { ...prev, [config.value]: config };\n });\n }, []);\n\n const unregisterTab = useCallback((config: tabConfig) => {\n setTabList((prev) => {\n const newTabList = { ...prev };\n delete newTabList[config.value];\n return newTabList;\n });\n }, []);\n\n const memoizedValue = useMemo<TabsContextState>(\n () => ({ registerTab, unregisterTab }),\n [registerTab, unregisterTab],\n );\n\n const renderTabsList = () => {\n const tabsList = (\n <TabsList\n variant={tabsVariant}\n size={rest.size}\n className={cnBase(\"oui-flex-1 oui-border-0\", classNames?.tabsList)}\n >\n {Object.keys(tabList).map((key) => {\n const tab = tabList[key];\n return (\n <TabsTrigger\n key={key}\n value={tab.value}\n icon={tab.icon}\n variant={tabsVariant}\n size={rest.size}\n data-testid={tab.testid}\n className={classNames?.trigger}\n >\n {tab.title}\n </TabsTrigger>\n );\n })}\n </TabsList>\n );\n\n if (showScrollIndicator) {\n return (\n <ScrollIndicator className={classNames?.scrollIndicator}>\n {tabsList}\n </ScrollIndicator>\n );\n }\n\n return tabsList;\n };\n\n return (\n <TabsContext.Provider value={memoizedValue}>\n {props.children}\n <TabsBase value={value} {...rest}>\n <Flex\n justify=\"between\"\n itemAlign=\"center\"\n width=\"100%\"\n className={cnBase(\n tabsVariant !== \"contained\" && \"oui-border-b oui-border-b-line-6\",\n classNames?.tabsListContainer,\n )}\n >\n {props.leading}\n {renderTabsList()}\n {props.trailing}\n </Flex>\n {contentVisible &&\n Object.keys(tabList).map((key) => {\n const tab = tabList[key];\n return (\n <TabsContent\n key={key}\n value={tab.value}\n className={cnBase(classNames?.tabsContent, tab.className)}\n style={tab.style}\n >\n {tab.content}\n </TabsContent>\n );\n })}\n </TabsBase>\n </TabsContext.Provider>\n );\n};\n\nTabs.displayName = \"Tabs\";\n\nexport interface TabPanelProps {\n value: any;\n title: string | React.ReactNode;\n icon?: React.ReactElement;\n testid?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst TabPanel: FC<PropsWithChildren<TabPanelProps>> = (props) => {\n const { title, value, icon, className, style, testid, children } = props;\n\n const { registerTab, unregisterTab } = useContext(TabsContext);\n\n useEffect(() => {\n const tabConfig = {\n title,\n value,\n icon,\n testid,\n className,\n style,\n content: children,\n };\n registerTab(tabConfig);\n return () => {\n unregisterTab(tabConfig);\n };\n }, [children, className, style, icon, testid, title, value]);\n\n return null;\n};\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanel.displayName = \"TabPanel\";\n}\n\nexport { Tabs, TabPanel };\n","import { createContext, useContext } from \"react\";\n\nexport type ComponentOverrides = {\n tabs: {\n variant: \"text\" | \"contained\";\n };\n chainSelector: {\n /**\n * show testnet chains list\n * @default true\n * */\n showTestnet: boolean;\n };\n};\n\ntype GetComponentTheme = <T extends keyof ComponentOverrides>(\n component: T,\n defaultValue?: ComponentOverrides[T],\n) => ComponentOverrides[T];\n\nexport type OrderlyThemeContextState = {\n // overrides?: Partial<ComponentOverrides>;\n getComponentTheme: GetComponentTheme;\n};\n\nexport const OrderlyThemeContext = createContext(\n {} as OrderlyThemeContextState,\n);\n\nexport const useOrderlyTheme = () => {\n return useContext(OrderlyThemeContext);\n};\n","import { FC, ReactNode } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\nimport { useDrag } from \"./hooks/useDrag\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport { ScrolButton } from \"./scrollButton\";\n\nexport type ScrollIndicatorProps = { children: ReactNode; className?: string };\n\nexport const ScrollIndicator: FC<ScrollIndicatorProps> = (props) => {\n const { containerRef, leadingVisible, tailingVisible, onScoll } = useScroll();\n\n const { handleMouseDown, handleMouseMove, handleMouseUp, isDragging } =\n useDrag(containerRef);\n\n return (\n <div\n className={cnBase(\n \"oui-scroll-indicator\",\n \"oui-relative oui-select-none oui-overflow-hidden\",\n props.className,\n )}\n >\n <div\n ref={containerRef}\n className={cnBase(\n \"oui-hide-scrollbar oui-overflow-x-scroll\",\n isDragging ? \"oui-cursor-grabbing\" : \"oui-cursor-grab\",\n )}\n onMouseDown={handleMouseDown}\n onMouseMove={handleMouseMove}\n onMouseUp={handleMouseUp}\n onMouseLeave={handleMouseUp}\n >\n {props.children}\n </div>\n <ScrolButton leading onClick={onScoll} visible={leadingVisible} />\n <ScrolButton tailing onClick={onScoll} visible={tailingVisible} />\n </div>\n );\n};\n","import { useState, RefObject } from \"react\";\n\nexport function useDrag(containerRef: RefObject<HTMLDivElement>) {\n const [isDragging, setIsDragging] = useState(false);\n const [startX, setStartX] = useState(0);\n const [scrollLeft, setScrollLeft] = useState(0);\n\n const handleMouseDown = (e: React.MouseEvent) => {\n if (!containerRef.current) return;\n\n setIsDragging(true);\n setStartX(e.pageX - containerRef.current.offsetLeft);\n setScrollLeft(containerRef.current.scrollLeft);\n };\n\n const handleMouseMove = (e: React.MouseEvent) => {\n if (!isDragging || !containerRef.current) return;\n\n e.preventDefault();\n const x = e.pageX - containerRef.current.offsetLeft;\n const walk = x - startX;\n containerRef.current.scrollLeft = scrollLeft - walk;\n };\n\n const handleMouseUp = () => {\n setIsDragging(false);\n };\n\n return {\n handleMouseDown,\n handleMouseMove,\n handleMouseUp,\n isDragging,\n };\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nexport function useScroll() {\n const [leadingVisible, setLeadingVisible] = useState(false);\n const [tailingVisible, setTailingVisible] = useState(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const handleScroll = () => {\n const container = containerRef.current;\n if (!container) return;\n setLeadingVisible(container.scrollLeft > 0);\n setTailingVisible(\n container.scrollLeft + container.clientWidth < container.scrollWidth\n );\n };\n\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n handleScroll();\n }\n });\n });\n\n const container = containerRef.current;\n container.addEventListener(\"scroll\", handleScroll);\n intersectionObserver.observe(container);\n\n return () => {\n container.removeEventListener(\"scroll\", handleScroll);\n intersectionObserver.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n }\n });\n });\n\n intersectionObserver.observe(containerRef.current);\n\n return () => {\n intersectionObserver.disconnect();\n };\n }, []);\n\n const onScoll = (direction: string) => {\n if (direction === \"left\") {\n containerRef.current?.scrollBy({ left: -100, behavior: \"smooth\" });\n } else {\n containerRef.current?.scrollBy({ left: 100, behavior: \"smooth\" });\n }\n };\n\n return { containerRef, leadingVisible, tailingVisible, onScoll };\n}\n","import { FC } from \"react\";\nimport { SVGProps } from \"react\";\nimport { cnBase } from \"tailwind-variants\";\n\ntype ScrolButtonProps = {\n tailing?: boolean;\n leading?: boolean;\n visible?: boolean;\n onClick?: (direction: string) => void;\n};\n\nexport const ScrolButton: FC<ScrolButtonProps> = (props) => {\n const { visible, leading, tailing, onClick } = props;\n\n if (!visible) {\n return null;\n }\n\n return (\n <button\n onClick={() => {\n onClick?.(leading ? \"left\" : \"right\");\n }}\n className={cnBase(\n leading\n ? \"oui-scroll-indicator-leading\"\n : \"oui-scroll-indicator-tailing\",\n \"oui-group oui-flex\",\n \"oui-absolute oui-top-0 oui-bottom-0\",\n leading && \"oui-left-0 oui-flex-row-reverse\",\n tailing && \"oui-right-0\"\n )}\n >\n <div\n className={cnBase(\n \"oui-w-6 oui-h-full\",\n \"oui-bg-[linear-gradient(90deg,rgba(var(--oui-color-base-9)_/_0)_0%,rgba(var(--oui-color-base-9)_/_1)_100%)]\",\n leading && \"oui-rotate-180\"\n )}\n />\n <div\n className={cnBase(\n \"oui-flex oui-justify-center oui-items-center\",\n \"oui-w-3 oui-bg-base-9 oui-h-full\"\n )}\n >\n <ArrowRightIcon\n className={cnBase(\n \"oui-text-base-contrast-54 group-hover:oui-text-base-contrast\",\n leading && \"oui-rotate-180\"\n )}\n />\n </div>\n </button>\n );\n};\n\nexport const ArrowRightIcon: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"6\"\n height=\"14\"\n viewBox=\"0 0 6 14\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M1.194.025C.944-.026.675-.005.446.15a1.027 1.027 0 0 0-.28 1.406l3.612 5.437L.166 12.43c-.305.459-.177 1.1.28 1.406a1.02 1.02 0 0 0 1.401-.281l3.986-6a1.03 1.03 0 0 0 0-1.125l-3.986-6C1.695.2 1.444.075 1.194.025\" />\n </svg>\n);\n","import React from \"react\";\nimport { cnBase, type VariantProps } from \"tailwind-variants\";\nimport type { ComponentPropsWithout } from \"../helpers/component-props\";\nimport { decorationVariants } from \"../layout/decoration\";\nimport { tv } from \"../utils/tv\";\n\nconst cardVariants = tv({\n base: [\n \"oui-card-root\",\n \"oui-card\",\n \"oui-rounded-xl\",\n \"oui-shadow\",\n \"oui-text-base-contrast\",\n \"oui-p-6\",\n ],\n\n variants: {\n ...decorationVariants.variants,\n },\n defaultVariants: {\n intensity: 900,\n },\n});\n\nexport type BaseCardProps = ComponentPropsWithout<\"div\", \"color\" | \"title\"> &\n VariantProps<typeof cardVariants>;\n\nconst CardBase = React.forwardRef<HTMLDivElement, BaseCardProps>(\n ({ className, intensity, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cardVariants({ intensity, className })}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nCardBase.displayName = \"CardBase\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cnBase(\n \"oui-card-header oui-flex oui-flex-col oui-space-y-1.5\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, children, ...props }, ref) => (\n <h3\n ref={ref}\n className={cnBase(\n \"oui-card-header-title oui-text-lg oui-font-semibold oui-leading-none oui-tracking-tight\",\n className,\n )}\n {...props}\n >\n {children}\n </h3>\n));\n\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => (\n <p\n ref={ref}\n className={cnBase(\"oui-text-muted-foreground oui-text-sm\", className)}\n {...props}\n >\n {children}\n </p>\n));\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cnBase(\"oui-card-content oui-pt-4\", className)}\n {...props}\n >\n {children}\n </div>\n));\n\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div ref={ref} className={className} {...props}>\n {children}\n </div>\n));\n\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n CardBase,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n cardVariants,\n};\n","import { PropsWithChildren, forwardRef, ElementType, ReactNode } from \"react\";\nimport { cn } from \"..\";\nimport {\n BaseCardProps,\n CardBase,\n CardContent,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"./cardBase\";\n\ninterface CardProps extends BaseCardProps {\n title?: ReactNode;\n footer?: ReactNode;\n // footerClassName?: string;\n classNames?: {\n root?: string;\n header?: string;\n content?: string;\n footer?: string;\n };\n // color?: number;\n}\n\nconst Card = forwardRef<React.ElementRef<\"div\">, PropsWithChildren<CardProps>>(\n (props, ref) => {\n const { title, children, footer, className, classNames, ...rest } = props;\n return (\n <CardBase {...rest} className={cn(className, classNames?.root)} ref={ref}>\n <CardHeader className={classNames?.header}>\n {typeof title === \"string\" ? <CardTitle>{title}</CardTitle> : title}\n </CardHeader>\n <CardContent className={classNames?.content}>{children}</CardContent>\n {footer && (\n <CardFooter className={classNames?.footer}>{footer}</CardFooter>\n )}\n </CardBase>\n );\n },\n);\n\nCard.displayName = \"Card\";\n\nexport { Card };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport { cn } from \"..\";\n\nconst HoverCardRoot = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"oui-z-[100] oui-w-64 oui-rounded-md oui-bg-base-8 oui-p-3 oui-text-base-contrast oui-shadow-md oui-outline-none data-[state=open]:oui-animate-in data-[state=closed]:oui-animate-out data-[state=closed]:oui-fade-out-0 data-[state=open]:oui-fade-in-0 data-[state=closed]:oui-zoom-out-95 data-[state=open]:oui-zoom-in-95 data-[side=bottom]:oui-slide-in-from-top-2 data-[side=left]:oui-slide-in-from-right-2 data-[side=right]:oui-slide-in-from-left-2 data-[side=top]:oui-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport interface HoverCardProps\n extends React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Root> {\n className?: string;\n content: React.ReactNode;\n}\n\nconst HoverCard: React.FC<\n HoverCardProps &\n Omit<\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>,\n \"content\"\n >\n> = (props) => {\n const { content, open, defaultOpen, onOpenChange, children, ...rest } = props;\n return (\n <HoverCardRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n <HoverCardTrigger asChild>{children}</HoverCardTrigger>\n <HoverCardPrimitive.Portal>\n <HoverCardContent {...rest}>\n {content}\n <HoverCardPrimitive.Arrow\n width={11}\n height={5}\n className=\"oui-fill-base-4\"\n />\n </HoverCardContent>\n </HoverCardPrimitive.Portal>\n </HoverCardRoot>\n );\n};\n\nHoverCard.displayName = \"HoverCard\";\n\nexport { HoverCard, HoverCardRoot, HoverCardTrigger, HoverCardContent };\n","export { Calendar } from \"./date/calendar\";\n\nimport { DatePicker as DatePickerBase } from \"./datepicker\";\nimport { DateRangePicker } from \"./dateRangePicker\";\n\ntype DatePickerType = typeof DatePickerBase & {\n range: typeof DateRangePicker;\n};\n\nconst DatePicker = DatePickerBase as DatePickerType;\nDatePicker.range = DateRangePicker;\n\nexport { DatePicker };\nexport type { DatePickerProps } from \"./datepicker\";\n\nexport { Picker } from \"./picker\";\n","import * as React from \"react\";\nimport { Fragment, useMemo } from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport { cnBase, VariantProps } from \"tailwind-variants\";\nimport { cn } from \"..\";\nimport { tv } from \"../utils/tv\";\nimport { convertValueToPercentage, getThumbInBoundsOffset } from \"./utils\";\n\nconst sliderVariants = tv({\n slots: {\n root: \"oui-relative oui-flex oui-w-full oui-touch-none oui-select-none oui-items-center\",\n thumb: [\n \"oui-block\",\n \"oui-h-[10px]\",\n \"oui-w-[10px]\",\n \"oui-rounded-full\",\n \"oui-border-[2px]\",\n \"oui-border-primary\",\n \"oui-bg-base-6\",\n \"oui-shadow\",\n \"oui-group\",\n \"oui-transition-colors\",\n \"focus-visible:oui-outline-none\",\n\n // \"focus-visible:oui-ring-1\",\n // \"focus-visible:oui-ring-ring\",\n // \"focus:oui-w-4\",\n // \"focus:oui-h-4\",\n \"focus:oui-shadow-[0_0_0_8px]\",\n \"focus:oui-shadow-base-contrast/20\",\n \"focus:oui-h-[14px]\",\n \"focus:oui-w-[14px]\",\n // \"focus:oui-border-[3px]\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-border-base-2\",\n \"data-[disabled]:oui-hidden\",\n ],\n track:\n \"oui-relative oui-h-[8px] oui-w-full oui-grow oui-overflow-hidden oui-rounded-full\",\n\n trackInner:\n \"oui-absolute oui-left-0 oui-right-0 oui-h-[2px] oui-top-[3px] oui-pointer-events-none oui-bg-base-2\",\n range:\n \"oui-absolute oui-h-[2px] oui-top-[3px] oui-bg-primary data-[disabled]:oui-bg-base-2\",\n mark: \"oui-absolute oui-top-[1px] oui-w-[6px] oui-h-[6px] oui-rounded oui-border oui-border-base-2 oui-bg-base-6 oui-pointer-events-none oui-translate-x-[-50%]\",\n tips: [\n \"oui-absolute\",\n \"oui-hidden\",\n \"oui-rounded\",\n \"oui-drop-shadow\",\n \"oui-w-[36px]\",\n \"oui-h-[19px]\",\n \"oui-translate-x-[-12px]\",\n \"oui-top-[-28px]\",\n \"oui-font-semibold\",\n \"oui-text-center\",\n \"group-focus:oui-inline-block\",\n \"after:oui-block\",\n \"after:oui-absolute\",\n \"after:oui-bottom-[-8px]\",\n \"after:oui-w-0\",\n \"after:oui-h-0\",\n \"after:oui-border-4\",\n \"after:oui-left-1/2\",\n \"after:oui-translate-x-[-50%]\",\n \"after:oui-border-solid\",\n \"after:oui-border-transparent\",\n \"after:oui-border-t-inherit\",\n \"oui-text-base-5\",\n \"oui-text-2xs\",\n ],\n },\n variants: {\n color: {\n primary: {\n thumb: [\"oui-border-primary\", \"oui-bg-base-5\"],\n range: \"oui-bg-primary\",\n tips: \"oui-bg-primary after:oui-border-t-primary\",\n },\n primaryLight: {\n thumb: [\"oui-border-primary-light\", \"oui-bg-base-5\"],\n range: \"oui-bg-primary-light\",\n tips: \"oui-bg-primary-light after:oui-border-t-primary-light\",\n },\n buy: {\n thumb: [\"oui-border-success\", \"oui-bg-base-5\"],\n range: \"oui-bg-success\",\n tips: [\"oui-bg-success after:oui-border-t-success\"],\n },\n sell: {\n thumb: [\"oui-border-danger\", \"oui-bg-base-5\"],\n range: \"oui-bg-danger\",\n tips: [\"oui-bg-danger after:oui-border-t-danger\"],\n },\n },\n },\n});\n\nexport type SliderMarks = { value: number; label: string }[];\n\ntype SliderProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root> &\n VariantProps<typeof sliderVariants> & {\n // showMarks?: boolean;\n marks?: SliderMarks;\n markCount?: number;\n markLabelVisible?: boolean;\n showTip?: boolean;\n tipFormatter?: (\n value: number,\n min: number,\n max: number,\n percent: number,\n ) => string | React.ReactNode;\n classNames?: {\n root?: string;\n thumb?: string;\n track?: string;\n range?: string;\n };\n };\n\nconst BaseSlider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n SliderProps\n>((oriProps, ref) => {\n const {\n className,\n color,\n marks,\n markCount,\n classNames,\n markLabelVisible,\n showTip,\n onValueChange,\n value: __propsValue,\n ...props\n } = oriProps;\n const { track, range, thumb, root, trackInner, mark, tips } = sliderVariants({\n color,\n });\n\n const [innerValue, setInvalue] = React.useState(__propsValue);\n\n React.useEffect(() => {\n setInvalue((prev) => {\n if (!prev) {\n return __propsValue;\n }\n if (__propsValue?.some((v, i) => v !== prev[i])) {\n return __propsValue;\n }\n return prev;\n });\n }, [__propsValue]);\n\n const innerMasks = useMemo<SliderMarks>(() => {\n if (Array.isArray(marks) && marks.length > 0) {\n return marks;\n }\n\n let _max = props.max;\n if (!_max) {\n _max = 100;\n }\n\n if (typeof markCount !== \"undefined\") {\n const marks: SliderMarks = [];\n\n // if(max === 0){\n\n // }\n\n const piece = _max / markCount;\n const len = markCount - 1;\n\n for (let i = 0; i <= len; i++) {\n const value = i * piece;\n marks.push({\n value,\n label: `${value}`,\n });\n }\n\n marks.push({\n value: _max,\n label: `100`,\n });\n\n return marks;\n }\n\n return [];\n }, [marks, markCount, props.max]);\n\n const onValueChangeInner = (value: number[]) => {\n setInvalue(value);\n\n onValueChange?.(value);\n };\n\n return (\n <SliderPrimitive.Root\n ref={ref}\n className={root({ className })}\n value={onValueChange ? __propsValue : innerValue}\n onValueChange={onValueChange ? onValueChange : onValueChangeInner}\n {...props}\n >\n <SliderPrimitive.Track\n className={track({ className: classNames?.track })}\n >\n <div className={trackInner()} />\n <SliderPrimitive.Range\n className={range({ className: classNames?.range })}\n />\n </SliderPrimitive.Track>\n {Array.isArray(innerMasks) && innerMasks.length > 0 && (\n <Marks\n value={innerValue}\n color={color}\n marks={innerMasks}\n isInnerMask={!Array.isArray(marks) || marks.length === 0}\n min={props.min}\n max={props.max}\n markLabelVisible={markLabelVisible}\n disabled={props.disabled}\n className={mark()}\n step={props.step}\n />\n )}\n <SliderPrimitive.Thumb\n className={thumb({\n className: cn(classNames?.thumb, \"oui-slider-thumb\"),\n })}\n >\n {showTip && (\n <SliderTip\n value={innerValue}\n className={tips({ color })}\n max={props.max ?? 100}\n min={0}\n tipFormatter={props.tipFormatter}\n />\n )}\n </SliderPrimitive.Thumb>\n </SliderPrimitive.Root>\n );\n});\n\nBaseSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport type SliderMarksProps = {\n value?: number[];\n marks?: SliderMarks;\n color?: \"primary\" | \"buy\" | \"sell\" | \"primaryLight\";\n // width: number;\n min?: number;\n max?: number;\n disabled?: boolean;\n markLabelVisible?: boolean;\n isInnerMask?: boolean;\n className?: string;\n step?: number;\n};\n\nconst Marks: React.FC<SliderMarksProps> = (props) => {\n const {\n marks,\n value,\n isInnerMask,\n markLabelVisible,\n className,\n color = \"primary\",\n } = props;\n const _value = useMemo(() => value?.[0] ?? 0, [value]);\n const selIndex = useMemo(() => {\n if (typeof props.step === \"undefined\") {\n return undefined;\n }\n return Math.floor(_value / props.step);\n }, [_value, props.step]);\n\n const colorCls = useMemo(() => {\n switch (color) {\n case \"primary\":\n return \"oui-border-primary oui-bg-primary\";\n case \"buy\":\n return \"oui-border-trade-profit oui-bg-trade-profit\";\n case \"sell\":\n return \"oui-border-trade-loss oui-bg-trade-loss\";\n case \"primaryLight\":\n return \"oui-border-primary-light oui-bg-primary-light\";\n }\n }, [color]);\n\n const textCls = useMemo(() => {\n switch (color) {\n case \"primary\":\n return \"oui-text-primary\";\n case \"buy\":\n return \"oui-texttrade-profit\";\n case \"sell\":\n return \"oui-text-trade-loss\";\n case \"primaryLight\":\n return \"oui-text-primary-light\";\n }\n }, [color]);\n\n return (\n <>\n {marks?.map((mark, index) => {\n const percent = convertValueToPercentage(\n mark.value,\n props.min ?? 1,\n props.max ?? marks.length - 1,\n );\n // const percent = convertValueToPercentage(index, 0, marks.length - 1);\n // const percent = ((100 - 2 * 6) / (marks.length - 1)) * index;\n const thumbInBoundsOffset = getThumbInBoundsOffset(6, percent, 1);\n const __value = isInnerMask ? mark.value : index;\n // console.log(\"_ value\", isInnerMask, _value, selIndex, mark, __value, percent);\n\n const active =\n (isInnerMask ? _value >= __value : (selIndex ?? 0) >= __value) &&\n _value >= 0 &&\n !props.disabled;\n\n const classNames = active ? colorCls : \"\";\n\n return (\n <Fragment key={index}>\n <span\n className={cnBase(className, classNames)}\n style={{ left: `calc(${percent}% + ${thumbInBoundsOffset}px)` }}\n />\n {!props.disabled && markLabelVisible && (\n <span\n data-testid={`oui-testid-slider-mark-label-${mark.label}`}\n key={index}\n className={cn(\n \"oui-absolute oui-top-[16px] oui-text-2xs xl:oui-text-xs oui-text-base-contrast-54 oui-cursor-pointer oui-translate-x-[-50%]\",\n selIndex === index && textCls,\n )}\n style={{ left: `calc(${percent}% + ${thumbInBoundsOffset}px)` }}\n >\n {mark.label}\n </span>\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport interface SliderTipProps {\n value?: number[];\n className?: string;\n min: number;\n max: number;\n tipFormatter?: (\n value: number,\n min: number,\n max: number,\n percent: number,\n ) => string | React.ReactNode;\n}\n\nexport const SliderTip: React.FC<SliderTipProps> = (props) => {\n const { className, min, max } = props;\n const value = props.value?.[0] ?? 0;\n const percent = convertValueToPercentage(value, min, max);\n return (\n <span className={className} style={{ lineHeight: \"19px\" }}>\n {props.tipFormatter?.(value, min, max, percent) ??\n `${percent.toFixed()}%`}\n </span>\n );\n};\n\nconst SingleSlider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n Omit<SliderProps, \"value\" | \"onValueChange\" | \"onValueCommit\"> & {\n value: number;\n onValueChange?: (value: number) => void;\n onValueCommit?: (value: number) => void;\n }\n>((props, ref) => {\n const _value = useMemo(() => [props.value], [props.value]);\n\n return (\n <BaseSlider\n {...props}\n value={_value}\n ref={ref}\n onValueChange={\n typeof props.onValueChange === \"function\"\n ? (values: number[]) => {\n props.onValueChange!(values[0]);\n }\n : undefined\n }\n onValueCommit={\n typeof props.onValueCommit === \"function\"\n ? (values: number[]) => {\n props.onValueCommit!(values[0]);\n }\n : undefined\n }\n />\n );\n});\n\nSingleSlider.displayName = \"SingleSlider\";\n\ntype SliderType = typeof BaseSlider & {\n single: typeof SingleSlider;\n};\n\nconst Slider = BaseSlider as SliderType;\n\nSlider.single = SingleSlider;\n\nexport { Slider };\n","function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport function convertValueToPercentage(\n value: number,\n min: number,\n max: number,\n) {\n const maxSteps = max - min;\n if (maxSteps === 0) {\n return clamp(0, [0, 100]);\n }\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\n\nfunction linearScale(\n input: readonly [number, number],\n output: readonly [number, number],\n) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) {\n return output[0];\n }\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n\nexport function getThumbInBoundsOffset(\n width: number,\n left: number,\n direction: number,\n) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\n","\"use client\";\nimport {\n ToastBar,\n toast,\n Toaster as PrimitiveToaster,\n ToastOptions,\n} from \"react-hot-toast\";\nimport { FC } from \"react\";\nimport { CloseIcon, cn } from \"..\";\nimport {\n ToastErrorIcon,\n ToastLoadingIcon,\n ToastSuccessIcon,\n} from \"../icon/toasterIcons\";\n\ninterface ToastProps extends ToastOptions {}\n\nexport const Toaster: FC<ToastProps> = (props) => {\n return (\n // @ts-ignore\n <PrimitiveToaster\n toastOptions={{\n duration: 3000,\n // style: {\n // fontSize: \"16px\",\n // color: \"rgba(255, 255, 255, 0.8)\",\n // padding: 16,\n // background: \"rgba(25, 14, 44, 1)\",\n // },\n success: {\n iconTheme: {\n primary: \"rgba(123, 220, 138, 1)\",\n secondary: \"rgba(25, 14, 44, 1)\",\n },\n style: {\n // color: \"rgba(123, 220, 138, 1)\",\n background: 'rgba(40, 46, 58, 1)'\n },\n },\n loading: {\n duration: 5000,\n style: {\n background: 'rgba(40, 46, 58, 1)'\n }\n },\n error: {\n iconTheme: {\n primary: \"rgba(217, 91, 129, 1)\",\n secondary: \"rgba(25, 14, 44, 1)\",\n },\n style: {\n // color: \"rgba(217, 91, 129, 1)\",\n background: 'rgba(40, 46, 58, 1)'\n },\n },\n }}\n {...props}\n containerClassName={cn(\"!top-[62px] md:!top-[80px] oui-font-semibold\", props.className)}\n >\n {(t) => (\n // @ts-ignore\n <ToastBar\n toast={t}\n style={{\n ...t.style,\n color: \"rgba(255, 255, 255, 0.8)\",\n // background: \"rgba(25, 14, 44, 1)\",\n borderRadius: \"6px\",\n wordBreak: \"break-all\",\n maxWidth: 800,\n boxShadow: \"0px 4px 8px 0px rgba(0, 0, 0, 0.36)\",\n }}\n >\n {({ icon, message }) => {\n let customIcon = icon;\n if (t.type === \"error\") {\n customIcon = (\n <ToastErrorIcon className=\"w-[16px] h-[16px] md:w-[24px] md:h-[24px]\" />\n );\n } else if (t.type === \"success\") {\n customIcon = (\n <ToastSuccessIcon size={20} />\n );\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 }\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]\">\n {message}\n </div>\n {true && (\n <button\n onClick={() => toast.dismiss(t.id)}\n className=\"oui-hidden md:oui-block\"\n >\n <CloseIcon size={16} className=\" oui-text-base-contrast-54\" />\n </button>\n )}\n </div>\n );\n }}\n </ToastBar>\n )}\n </PrimitiveToaster>\n );\n};\n","import React from \"react\";\nimport { BaseIcon, BaseIconProps } from \"./baseIcon\";\n\nexport const ToastErrorIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n d=\"M10 1.628a8.333 8.333 0 1 0-.001 16.666 8.333 8.333 0 0 0 0-16.666m-2.5 5c.212 0 .435.071.598.234L10 8.762l1.9-1.9a.85.85 0 0 1 .6-.234c.213 0 .436.071.6.234a.86.86 0 0 1 0 1.198l-1.902 1.901 1.901 1.9a.86.86 0 0 1 0 1.2.86.86 0 0 1-1.198 0L10 11.158 8.097 13.06a.86.86 0 0 1-1.198 0 .857.857 0 0 1 0-1.198L8.8 9.96l-1.9-1.9a.857.857 0 0 1 0-1.2.84.84 0 0 1 .6-.233\"\n fill=\"#FF447C\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n }\n);\nexport const ToastSuccessIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.678 10a8.333 8.333 0 1 1 16.667-.001 8.333 8.333 0 0 1-16.667 0m12.477-3.907c.189-.18.448-.26.697-.26s.507.08.697.26c.38.362.38.969 0 1.33l-6.793 6.473a1.033 1.033 0 0 1-1.394 0l-2.911-2.774a.92.92 0 0 1 0-1.33 1.034 1.034 0 0 1 1.395 0l2.213 2.11z\"\n fill=\"#00B49E\"\n />\n </BaseIcon>\n );\n }\n);\nexport const ToastLoadingIcon = React.forwardRef<SVGSVGElement, BaseIconProps>(\n (props, ref) => {\n const { opacity = 1, viewBox = \"0 0 20 20\", ...rest } = props;\n return (\n <BaseIcon ref={ref} viewBox={viewBox} {...rest}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.167 3.333c0-.46.373-.833.833-.833A7.5 7.5 0 1 1 2.5 10a.833.833 0 0 1 1.667 0A5.834 5.834 0 1 0 10 4.167a.833.833 0 0 1-.833-.834\"\n fill=\"#4774F6\"\n fillOpacity={opacity}\n />\n </BaseIcon>\n );\n }\n);\n\nToastErrorIcon.displayName = \"ToasterErrorIcon\";\nToastSuccessIcon.displayName = \"ToastSuccessIcon\";\nToastLoadingIcon.displayName = \"ToastLoadingIcon\";\n","export { Toaster } from \"./Toaster\";\nexport { toast } from \"react-hot-toast\";\nexport { ToastTile } from \"./toastTile\";\n","import { cn } from \"..\";\nimport { Flex } from \"../flex\";\nimport { Text } from \"../typography\";\n\nexport const ToastTile = (props: {\n title: string;\n subtitle?: string;\n classNames?: {\n className?: string;\n titleClassName?: string;\n subtitleClassName?: string;\n };\n}) => {\n return (\n <Flex\n direction=\"column\"\n itemAlign={\"start\"}\n className={cn(\"oui-gap-[2px]\", props.classNames?.className)}\n >\n <Text\n size=\"base\"\n intensity={80}\n className={props.classNames?.titleClassName}\n >\n {props.title}\n </Text>\n {(props.subtitle?.length || 0) > 0 && (\n <Text\n size=\"xs\"\n intensity={54}\n className={props.classNames?.subtitleClassName}\n >\n {props.subtitle}\n </Text>\n )}\n </Flex>\n );\n};\n","import React, { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { useMemo, useRef } from \"react\";\nimport { cnBase, cn } from \"tailwind-variants\";\nimport { Flex } from \"../flex\";\nimport { Spinner } from \"../spinner\";\nimport { EmptyDataState } from \"../table\";\nimport { useEndReached } from \"./useEndReached\";\n\nexport interface ListViewProps<T, D extends unknown> {\n dataSource: T[] | null | undefined;\n renderItem: (item: T, index: number, extraData?: D) => React.ReactNode;\n className?: string;\n contentClassName?: string;\n isLoading?: boolean;\n loadMore?: () => void;\n\n style?: React.CSSProperties;\n\n extraData?: D;\n emptyView?: React.ReactNode;\n}\n\nexport type ListViewRef = ForwardedRef<{\n scroll: (direction: { x: number; y: number }) => void;\n}>;\n\nconst ListViewInner = <T extends unknown, D extends unknown>(\n props: ListViewProps<T, D>,\n ref: ListViewRef,\n) => {\n const sentinelRef = useRef<HTMLDivElement | null>(null);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEndReached(sentinelRef, () => {\n if (!props.isLoading) {\n props.loadMore?.();\n }\n });\n\n const emptyDataSouce = useMemo(() => {\n return Array.isArray(props.dataSource) && props.dataSource.length <= 0;\n }, [props.dataSource]);\n\n const listViewElement = useMemo(() => {\n if (!props.dataSource) {\n return null;\n }\n\n if (emptyDataSouce) {\n return (\n props.emptyView || (\n <Flex\n direction={\"column\"}\n height={\"100%\"}\n itemAlign={\"center\"}\n justify={\"center\"}\n mt={3}\n >\n <EmptyDataState />\n </Flex>\n )\n );\n }\n\n return props.dataSource.map((item, index) => (\n <React.Fragment key={index}>\n {props.renderItem(item, index, props.extraData)}\n </React.Fragment>\n ));\n }, [emptyDataSouce, props.dataSource, props.extraData, props.emptyView]);\n\n const loadingViewElement = useMemo(() => {\n if ((props.dataSource?.length || 0) === 0) return null;\n if (!props.isLoading) {\n return null;\n }\n\n return (\n <div className=\"oui-flex oui-py-2 oui-justify-center oui-items-center\">\n <Spinner />\n </div>\n );\n }, [props.isLoading, props.dataSource]);\n\n useImperativeHandle(ref, () => {\n return {\n scroll: (direction) => {\n containerRef.current?.scroll({\n left: direction.x,\n top: direction.y,\n behavior: \"smooth\",\n });\n },\n };\n });\n\n return (\n <div\n style={props.style}\n ref={containerRef}\n className={cn(\n \"oui-relative oui-min-h-[180px] oui-custom-scrollbar oui-overflow-auto\",\n props.className,\n )({\n twMerge: true,\n })}\n >\n <div\n className={cn(\n \"oui-space-y-3 oui-h-full oui-w-full\",\n emptyDataSouce &&\n \"oui-absolute oui-left-0 oui-right-0 oui-top-0 oui-bottom-0\",\n props.contentClassName,\n )({ twMerge: true })}\n >\n {listViewElement}\n </div>\n <div\n ref={sentinelRef}\n className=\"oui-relative oui-invisible oui-h-[1px] oui-top-[-300px]\"\n />\n {loadingViewElement}\n </div>\n );\n};\n\nexport const ListView = forwardRef(ListViewInner) as <T, D>(\n props: ListViewProps<T, D> & {\n ref?: ForwardedRef<{\n scroll: (direction: { x: number; y: number }) => void;\n }>;\n },\n) => JSX.Element;\n","import { useEffect, useRef, MutableRefObject } from \"react\";\n\n/**\n * Listen for the specified element to scroll to the bottom\n */\nexport function useEndReached(\n sentinelRef: MutableRefObject<HTMLDivElement | null>,\n onEndReached?: () => void\n) {\n const observer = useRef<IntersectionObserver>();\n const cb = useRef(onEndReached);\n\n cb.current = onEndReached;\n\n useEffect(() => {\n const options: IntersectionObserverInit = {\n root: null,\n rootMargin: \"0px\",\n threshold: 0,\n };\n\n const handleObserver = (entries: IntersectionObserverEntry[]) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n cb.current?.();\n }\n });\n };\n\n observer.current = new IntersectionObserver(handleObserver, options);\n\n return () => {\n observer.current?.disconnect();\n };\n }, []);\n\n useEffect(() => {\n observer.current?.observe(sentinelRef.current!);\n }, []);\n}\n","import { FC } from \"react\";\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { cn } from \"..\";\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent: FC<CollapsiblePrimitive.CollapsibleContentProps> = (\n props\n) => {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n {...props}\n className={cn(\n props.className,\n \"data-[state=open]:oui-animate-collapsible-down data-[state=closed]:oui-animate-collapsible-up oui-overflow-hidden\"\n )}\n ></CollapsiblePrimitive.CollapsibleContent>\n );\n};\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import React, { useMemo, useState } from \"react\";\nimport { CollapseContext } from \"./collapseContext\";\nimport type { CollapseContextState } from \"./collapseContext\";\nimport { Panel } from \"./panel\";\n\nconst CollapseRoot: React.FC<\n React.PropsWithChildren<{ activeKey?: string }>\n> = (props) => {\n const { activeKey = \"\", children } = props;\n const [internalActiveKey, setInternalActiveKey] = useState<string>(activeKey);\n const memoizedValue = useMemo<CollapseContextState>(() => {\n return {\n activeKey: internalActiveKey,\n setActiveKey: setInternalActiveKey,\n };\n }, [internalActiveKey, setInternalActiveKey]);\n return (\n <CollapseContext.Provider value={memoizedValue}>\n {children}\n </CollapseContext.Provider>\n );\n};\n\ntype Collapse = typeof CollapseRoot & {\n panel: typeof Panel;\n};\n\nconst Collapse = CollapseRoot as Collapse;\n\nCollapse.panel = Panel;\n\nexport default Collapse;\n","import { createContext, useContext } from \"react\";\n\nexport interface CollapseContextState {\n activeKey: string;\n setActiveKey: (key: string) => void;\n}\n\nexport const CollapseContext = createContext<CollapseContextState>(\n {} as CollapseContextState,\n);\n\nexport const useCollapseContext = () => {\n return useContext(CollapseContext);\n};\n","import React, { FC, PropsWithChildren, ReactNode, useMemo } from \"react\";\nimport { ChevronDownIcon, cn } from \"../..\";\nimport {\n CollapsibleContent,\n Collapsible,\n CollapsibleTrigger,\n} from \"../collapsible\";\nimport { useCollapseContext } from \"./collapseContext\";\n\ninterface Props {\n header: ReactNode;\n headerClassName?: string;\n itemKey: string;\n disabled?: boolean;\n}\n\nexport const Panel: FC<PropsWithChildren<Props>> = (props) => {\n const { activeKey, setActiveKey } = useCollapseContext();\n const { header, headerClassName, itemKey, disabled } = props;\n const headerNode = useMemo<React.ReactNode>(() => {\n if (typeof header === \"string\") {\n return (\n <div\n className={cn(\n \"oui-border-divider flex items-center oui-group oui-cursor-pointer oui-border-b oui-py-2\",\n headerClassName,\n )}\n >\n <div className=\"oui-flex-1 group-data-[state=open]:oui-font-semibold\">\n {header}\n </div>\n <ChevronDownIcon\n size={16}\n className=\"oui-transition-transform group-data-[state=open]:oui-rotate-180\"\n />\n </div>\n );\n }\n return header;\n }, [header, headerClassName]);\n\n return (\n <Collapsible\n disabled={disabled}\n open={itemKey === activeKey}\n onOpenChange={(open) => {\n if (open) {\n setActiveKey(itemKey);\n } else {\n setActiveKey(\"\");\n }\n }}\n >\n <CollapsibleTrigger asChild>{headerNode}</CollapsibleTrigger>\n <CollapsibleContent className=\"oui-py-3\">\n {props.children}\n </CollapsibleContent>\n </Collapsible>\n );\n};\n","import React, { useMemo } from \"react\";\nimport AutoScroll from \"embla-carousel-auto-scroll\";\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { cnBase } from \"tailwind-variants\";\n\n// Extract types from embla carousel\ntype EmblaCarouselType = UseEmblaCarouselType[1];\ntype UseEmblaCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype EmblaCarouselOptions = UseEmblaCarouselParameters[0];\n\n/**\n * Auto scroll plugin options\n */\nexport interface AutoScrollOptions {\n /** Scroll speed in pixels per second */\n speed?: number;\n /** Scroll direction - 'forward' or 'backward' */\n direction?: \"forward\" | \"backward\";\n /** Whether to start auto-scrolling on initialization */\n playOnInit?: boolean;\n /** Whether to stop auto-scrolling on user interaction */\n stopOnInteraction?: boolean;\n /** Whether to stop auto-scrolling on mouse enter */\n stopOnMouseEnter?: boolean;\n /** Whether to stop auto-scrolling on focus */\n stopOnFocusIn?: boolean;\n /** Delay before starting auto-scroll in milliseconds */\n startDelay?: number;\n /** Root node to listen for interactions */\n rootNode?: (emblaRoot: HTMLElement) => HTMLElement;\n}\n\n/**\n * Props for the Marquee component\n */\nexport interface MarqueeProps<T = unknown> {\n /** Array of data items to display in the marquee */\n data: T[] | ReadonlyArray<T>;\n /** Function to render each item */\n renderItem: (item: T, index: number) => React.ReactNode;\n /** Embla carousel options */\n carouselOptions?: EmblaCarouselOptions;\n /** Auto scroll plugin options */\n autoScrollOptions?: AutoScrollOptions;\n /** Additional CSS class name */\n className?: string;\n /** Callback to get the embla carousel API instance */\n setApi?: (api: EmblaCarouselType) => void;\n}\n\n/**\n * Marquee component using Embla Carousel with auto-scroll functionality\n *\n * @example\n * ```tsx\n * const items = ['Item 1', 'Item 2', 'Item 3'];\n *\n * <Marquee\n * data={items}\n * renderItem={(item, index) => <div key={index}>{item}</div>}\n * carouselOptions={{\n * loop: true,\n * align: \"start\",\n * axis: \"x\"\n * }}\n * autoScrollOptions={{\n * speed: 1,\n * direction: \"forward\",\n * stopOnMouseEnter: true\n * }}\n * />\n * ```\n */\nexport const Marquee = <T,>(props: MarqueeProps<T>) => {\n const {\n data,\n renderItem,\n carouselOptions = {},\n autoScrollOptions = {},\n className,\n setApi,\n } = props;\n\n // Determine if scrolling is horizontal or vertical based on axis option\n const isHorizontal = useMemo<boolean>(\n () => carouselOptions.axis !== \"y\",\n [carouselOptions.axis],\n );\n\n // Configure embla carousel options with sensible defaults\n const emblaOptions = useMemo<EmblaCarouselOptions>(() => {\n return {\n loop: true,\n align: \"start\",\n containScroll: \"trimSnaps\",\n skipSnaps: false,\n axis: \"x\",\n ...carouselOptions,\n };\n }, [carouselOptions]);\n\n // Configure auto-scroll plugin options with sensible defaults\n const autoScrollPluginOptions = useMemo(() => {\n return {\n speed: 1,\n direction: \"forward\" as const,\n playOnInit: true,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n stopOnFocusIn: false,\n ...autoScrollOptions,\n };\n }, [autoScrollOptions]);\n\n // Initialize embla carousel with auto-scroll plugin\n const [emblaRef, emblaApi] = useEmblaCarousel(emblaOptions, [\n AutoScroll(autoScrollPluginOptions),\n ]);\n\n // Provide API to parent component if requested\n React.useEffect(() => {\n if (emblaApi && setApi) {\n setApi(emblaApi);\n }\n }, [emblaApi, setApi]);\n\n // Render slides - duplicate content for seamless looping\n const renderSlides = useMemo(() => {\n if (!Array.isArray(data) || data.length === 0) {\n return null;\n }\n\n return data.map((item, index) => (\n <div\n key={`slide-${index}`}\n className={cnBase(\n \"oui-shrink-0\",\n isHorizontal ? \"oui-w-auto\" : \"oui-h-auto\",\n )}\n style={{\n minWidth: isHorizontal ? \"auto\" : \"100%\",\n minHeight: isHorizontal ? \"100%\" : \"auto\",\n }}\n >\n {renderItem(item, index % data.length)}\n </div>\n ));\n }, [data, renderItem, isHorizontal]);\n\n return (\n <div\n ref={emblaRef}\n className={cnBase(\n \"oui-relative oui-overflow-hidden\",\n isHorizontal ? \"oui-w-full\" : \"oui-h-full\",\n className,\n )}\n >\n <div\n className={cnBase(\n \"oui-flex\",\n isHorizontal ? \"oui-flex-row\" : \"oui-flex-col\",\n )}\n >\n {renderSlides}\n </div>\n </div>\n );\n};\n","import * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { tv, VariantProps } from \"tailwind-variants\";\nimport { SizeType } from \"../helpers/sizeType\";\n\nconst DropdownMenuRoot = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst dropdownMenuVariants = tv({\n slots: {\n content: [\n \"oui-z-50\",\n \"oui-min-w-[8rem]\",\n \"oui-overflow-hidden\",\n \"oui-rounded-xl\",\n \"oui-p-1\",\n \"oui-bg-base-8\",\n \"oui-text-base-contrast\",\n \"oui-shadow-md\",\n \"oui-border\",\n \"oui-border-line-6\",\n \"data-[state=open]:oui-animate-in\",\n \"data-[state=closed]:oui-animate-out\",\n \"data-[state=closed]:oui-fade-out-0\",\n \"data-[state=open]:oui-fade-in-0\",\n \"data-[state=closed]:oui-zoom-out-95\",\n \"data-[state=open]:oui-zoom-in-95\",\n \"data-[side=bottom]:oui-slide-in-from-top-2\",\n \"data-[side=left]:oui-slide-in-from-right-2\",\n \"data-[side=right]:oui-slide-in-from-left-2\",\n \"data-[side=top]:oui-slide-in-from-bottom-2\",\n ],\n item: [\n \"oui-relative\",\n \"oui-flex\",\n \"oui-cursor-default\",\n \"oui-select-none\",\n \"oui-items-center\",\n // \"oui-rounded-lg\",\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-text-sm\",\n \"oui-outline-none\",\n \"oui-transition-colors\",\n \"hover:oui-bg-base-5\",\n \"focus:oui-bg-accent\",\n \"focus:oui-text-accent-foreground\",\n \"data-[disabled]:oui-pointer-events-none\",\n \"data-[disabled]:oui-opacity-50\",\n ],\n label: \"oui-px-2 oui-py-1.5 oui-text-sm oui-font-semibold\",\n separator: \"-oui-mx-1 oui-my-1 oui-h-px oui-bg-muted\",\n shortcut: \"oui-ml-auto oui-text-xs oui-tracking-widest oui-opacity-60\",\n },\n variants: {\n size: {\n xs: {\n content: \"oui-rounded\",\n item: [\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-h-6\",\n \"oui-rounded\",\n \"oui-text-2xs\",\n ],\n },\n sm: {\n content: \"oui-rounded\",\n item: [\n \"oui-px-2\",\n \"oui-py-1.5\",\n \"oui-h-6\",\n \"oui-rounded\",\n \"oui-text-2xs\",\n ],\n },\n md: {\n content: \"oui-rounded-md\",\n item: [\"oui-px-4\", \"oui-py-3\", \"oui-h-6\", \"oui-rounded\"],\n },\n lg: {\n content: \"oui-rounded-lg\",\n item: [\"oui-px-4\", \"oui-py-3\", \"oui-h-6\", \"oui-rounded-md\"],\n },\n xl: {\n content: \"oui-rounded-xl\",\n item: [\n \"oui-px-4\",\n \"oui-py-3\",\n \"oui-h-10\",\n \"oui-rounded-lg\",\n \"oui-text-base\",\n ],\n },\n },\n inset: {\n true: {\n item: [\"oui-pl-8\"],\n label: [\"oui-pl-8\"],\n },\n },\n },\n defaultVariants: {\n inset: false,\n size: \"lg\",\n },\n});\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> &\n VariantProps<typeof dropdownMenuVariants>\n>(({ className, sideOffset = 4, size, ...props }, ref) => {\n const { content } = dropdownMenuVariants({ size });\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={content({ className })}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n});\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n size?: SizeType;\n }\n>(({ className, inset, size, ...props }, ref) => {\n const { item } = dropdownMenuVariants({ size });\n return (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={item({ className, inset })}\n {...props}\n />\n );\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\n// const DropdownMenuCheckboxItem = React.forwardRef<\n// React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n// React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n// >(({ className, children, checked, ...props }, ref) => (\n// <DropdownMenuPrimitive.CheckboxItem\n// ref={ref}\n// className={cn(\n// \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n// className\n// )}\n// checked={checked}\n// {...props}\n// >\n// <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n// <DropdownMenuPrimitive.ItemIndicator>\n// {/* <CheckIcon className=\"h-4 w-4\" /> */}\n// </DropdownMenuPrimitive.ItemIndicator>\n// </span>\n// {children}\n// </DropdownMenuPrimitive.CheckboxItem>\n// ));\n// DropdownMenuCheckboxItem.displayName =\n// DropdownMenuPrimitive.CheckboxItem.displayName;\n\n// const DropdownMenuRadioItem = React.forwardRef<\n// React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n// React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n// >(({ className, children, ...props }, ref) => (\n// <DropdownMenuPrimitive.RadioItem\n// ref={ref}\n// className={cn(\n// \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n// className\n// )}\n// {...props}\n// >\n// <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n// <DropdownMenuPrimitive.ItemIndicator>\n// {/* <DotFilledIcon className=\"h-4 w-4 fill-current\" /> */}\n// </DropdownMenuPrimitive.ItemIndicator>\n// </span>\n// {children}\n// </DropdownMenuPrimitive.RadioItem>\n// ));\n// DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => {\n const { label } = dropdownMenuVariants({\n inset,\n });\n return (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={label({ className })}\n {...props}\n />\n );\n});\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => {\n const { separator } = dropdownMenuVariants();\n return (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n );\n});\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n const { shortcut } = dropdownMenuVariants();\n return <span className={shortcut({ className })} {...props} />;\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenuRoot,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n // DropdownMenuCheckboxItem,\n // DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n // DropdownMenuSubContent,\n // DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n","import { PropsWithChildren, type ReactNode, useMemo } from \"react\";\nimport {\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuPortal,\n DropdownMenuRoot,\n DropdownMenuTrigger,\n} from \"./dropdown\";\nimport type { DropdownMenuContentProps } from \"@radix-ui/react-dropdown-menu\";\nimport { SizeType } from \"../helpers/sizeType\";\nimport { Flex } from \"../flex\";\nimport { Box } from \"../box\";\n\nexport type MenuItem = {\n label: string;\n value: string;\n testId?: string;\n};\n\ntype DropdownMenuProps = {\n currentValue?: string;\n menu: MenuItem[];\n onSelect?: (item: MenuItem) => void;\n render?: (item: MenuItem, index: number) => ReactNode;\n size?: SizeType;\n} & DropdownMenuContentProps;\n\nconst SimpleDropdownMenu = (props: PropsWithChildren<DropdownMenuProps>) => {\n const { currentValue, menu, render, size, children, ...contentProps } = props;\n\n const items = useMemo(() => {\n if (typeof props.render === \"function\") {\n return props.menu.map((item, index) => {\n return props.render?.(item, index);\n });\n }\n\n return props.menu.map((item) => (\n <DropdownMenuItem\n textValue={item.value}\n key={item.value}\n onSelect={(event) => {\n props.onSelect?.(item);\n }}\n size={size}\n data-testid={item.testId}\n >\n <Flex justify={\"between\"} width={\"100%\"}>\n {item.label}\n {currentValue == item.value && <Box width={4} height={4} gradient=\"primary\" r=\"full\"/>}\n </Flex>\n </DropdownMenuItem>\n ));\n }, [props.menu, props.render, currentValue]);\n return (\n <DropdownMenuRoot>\n <DropdownMenuTrigger asChild>{children}</DropdownMenuTrigger>\n <DropdownMenuPortal>\n <DropdownMenuContent\n onCloseAutoFocus={(event) => {\n event.preventDefault();\n }}\n size={size}\n {...contentProps}\n >\n {items}\n </DropdownMenuContent>\n </DropdownMenuPortal>\n </DropdownMenuRoot>\n );\n};\n\nexport { SimpleDropdownMenu };\n","import {\n ComponentType,\n FC,\n PropsWithChildren,\n useCallback,\n useMemo,\n} from \"react\";\nimport { ExtensionPosition } from \"../plugin\";\nimport { ComponentsProvider } from \"./componentProvider\";\nimport {\n ComponentOverrides,\n OrderlyThemeContext,\n OrderlyThemeContextState,\n} from \"./orderlyThemeContext\";\n\nexport type OrderlyThemeProviderProps = {\n // dateFormatting?: string;\n components?: {\n [position in ExtensionPosition]: ComponentType;\n };\n overrides?: Partial<ComponentOverrides>;\n};\n\nexport const OrderlyThemeProvider: FC<\n PropsWithChildren<OrderlyThemeProviderProps>\n> = (props) => {\n const { components, overrides, children } = props;\n\n const resolveComponentTheme = useCallback(\n <T extends keyof ComponentOverrides>(\n component: T,\n defaultValue?: ComponentOverrides[T],\n ) => {\n return (overrides as ComponentOverrides)?.[component] || defaultValue;\n },\n [overrides],\n );\n\n const memoizedValue = useMemo<OrderlyThemeContextState>(() => {\n return { getComponentTheme: resolveComponentTheme };\n }, [resolveComponentTheme]);\n\n return (\n <OrderlyThemeContext.Provider value={memoizedValue}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OrderlyThemeContext.Provider>\n );\n};\n","import { ExtensionPosition, installExtension } from \"../plugin\";\nimport { ComponentType, FC, PropsWithChildren, useEffect } from \"react\";\n\n/// layout cache: size, position\n\nconst ComponentsProvider: FC<\n PropsWithChildren<{\n components?: { [position in ExtensionPosition]: ComponentType };\n }>\n> = (props) => {\n useEffect(() => {\n if (props.components && Object.keys(props.components).length) {\n for (const position in props.components) {\n const Element = props.components[position];\n installExtension<any>({\n name: Element.displayName ?? `custom-component-${position}`,\n scope: [\"*\"],\n positions: [position],\n __isInternal: false,\n })((props: any) => {\n return <Element {...props} />;\n });\n }\n }\n }, [props.components]);\n\n return props.children;\n};\n\nexport { ComponentsProvider };\n","import { memo, PropsWithChildren, ReactNode, useMemo } from \"react\";\n\ntype Props = {\n value: boolean | (() => boolean);\n left?: ReactNode;\n};\n\nconst Either = memo<PropsWithChildren<Props>>((props) => {\n const { value, children, left } = props;\n const inputValue = useMemo(\n () => Boolean(typeof value === \"function\" ? value() : value),\n [value],\n );\n if (inputValue) {\n return children;\n }\n return left;\n});\n\nexport { Either };\n","import \"./install\";\n\nexport * from \"./button\";\nexport { Box, boxVariants } from \"./box\";\nexport { Grid } from \"./grid\";\nexport { Flex } from \"./flex\";\nexport * from \"./typography\";\nexport { Spinner } from \"./spinner\";\nexport { Input, inputFormatter, InputAdditional, TextField } from \"./input\";\nexport { Checkbox } from \"./checkbox\";\nexport { Switch } from \"./switch\";\nexport { Badge } from \"./badge/badge\";\nexport { Logo, type LogoProps } from \"./logo/logo\";\n// export * from \"./tag/tag\";\nexport * from \"./tooltip\";\nexport * from \"./table\";\nexport * from \"./scrollarea\";\nexport * from \"./dialog\";\nexport * from \"./sheet\";\nexport * from \"./divider\";\nexport * from \"./tabs\";\nexport { PaginationItems } from \"./pagination\";\nexport { Select, SelectItem, type SelectOption } from \"./select\";\nexport * from \"./popover\";\nexport * from \"./card\";\nexport * from \"./pickers\";\nexport * from \"./slider\";\nexport * from \"./toast\";\nexport * from \"./listView\";\nexport * from \"./collapsible\";\nexport * from \"./marquee\";\n\nexport * from \"./dropdown\";\n\nexport * from \"./icon\";\nexport * from \"./modal\";\nexport { EVMAvatar, Avatar } from \"./avatar\";\n\nexport type { ButtonProps } from \"./button\";\nexport type { BoxProps } from \"./box\";\nexport type { FlexProps } from \"./flex\";\nexport type { TextProps, NumeralProps } from \"./typography\";\nexport type {\n InputProps,\n TextFieldProps,\n InputFormatter,\n InputFormatterOptions,\n InputWithTooltipProps,\n} from \"./input\";\nexport type { SpinnerProps } from \"./spinner\";\nexport type { ChainSelectProps, SelectProps } from \"./select\";\nexport type { SizeType } from \"./helpers/sizeType\";\n\nexport {\n OrderlyThemeProvider,\n type OrderlyThemeProviderProps,\n} from \"./provider/orderlyThemeProvider\";\nexport { useOrderlyTheme } from \"./provider/orderlyThemeContext\";\nexport * from \"./plugin\";\n\n//===== Misc widgets\nexport { Either } from \"./misc/either\";\n// TODO: remove this component, because vite will throw Maximum call stack size exceeded\n// export { Match } from \"./misc/switch\";\n\n//===== re-exported\nexport { cnBase as cn } from \"tailwind-variants\";\nexport type { VariantProps } from \"tailwind-variants\";\n\n//===== utils\nexport * from \"./utils\";\nexport { tv } from \"./utils/tv\";\nexport { default as toast } from \"react-hot-toast\";\n\nexport * from \"embla-carousel-react\";\nexport { default as useEmblaCarousel } from \"embla-carousel-react\";\nexport * from \"embla-carousel-auto-scroll\";\nexport { default as AutoScroll } from \"embla-carousel-auto-scroll\";\nexport * from \"embla-carousel-autoplay\";\nexport { default as Autoplay } from \"embla-carousel-autoplay\";\nexport * from \"embla-carousel\";\n\n//===== tailwind\nexport * as OUITailwind from \"./tailwind\";\nexport * from \"./hooks\";\n\nexport * from \"./locale\";\nexport * from \"./scrollIndicator\";\n","/**\n * capitalize the first letter\n * @param str\n * @returns string\n */\nexport const capitalizeFirstLetter = (str: string, fallback?: string): undefined | string => {\n if (typeof str === 'undefined' || str === null) return fallback ?? undefined;\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n \n","export function startViewTransition(callback: () => void) {\n if (typeof document.startViewTransition === \"function\") {\n document.startViewTransition(callback);\n } else {\n callback();\n }\n}\n","*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}/*\n! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n:root {\n --oui-font-family: \"Manrope\",\"PingFang SC\", \"Noto Sans CJK SC\", \"Noto Sans\", sans-serif;\n --oui-color-primary: 176 132 233;\n --oui-color-primary-light: 213 190 244;\n --oui-color-primary-darken: 137 76 209;\n --oui-color-primary-contrast: 255 255 255;\n --oui-color-link: 189 107 237;\n --oui-color-link-light: 217 152 250;\n --oui-color-secondary: 255 255 255;\n --oui-color-tertiary: 218 218 218;\n --oui-color-quaternary: 218 218 218;\n --oui-color-danger: 245 97 139;\n --oui-color-danger-light: 250 167 188;\n --oui-color-danger-darken: 237 72 122;\n --oui-color-danger-contrast: 255 255 255;\n --oui-color-success: 41 233 169;\n --oui-color-success-light: 101 240 194;\n --oui-color-success-darken: 0 161 120;\n --oui-color-success-contrast: 255 255 255;\n --oui-color-warning: 255 209 70;\n --oui-color-warning-light: 255 229 133;\n --oui-color-warning-darken: 255 152 0;\n --oui-color-warning-contrast: 255 255 255;\n --oui-color-fill: 36 32 47;\n --oui-color-fill-active: 40 46 58;\n --oui-color-base-1: 93 83 123;\n --oui-color-base-2: 81 72 107;\n --oui-color-base-3: 68 61 69;\n --oui-color-base-4: 57 52 74;\n --oui-color-base-5: 51 46 66;\n --oui-color-base-6: 43 38 56;\n --oui-color-base-7: 36 32 47;\n --oui-color-base-8: 29 26 38;\n --oui-color-base-9: 22 20 28;\n --oui-color-base-10: 14 13 18;\n --oui-color-base-foreground: 255 255 255;\n --oui-color-line: 255 255 255;\n --oui-color-trading-loss: 245 97 139;\n --oui-color-trading-loss-contrast: 255 255 255;\n --oui-color-trading-profit: 41 233 169;\n --oui-color-trading-profit-contrast: 255 255 255;\n --oui-gradient-primary-start: 40 0 97;\n --oui-gradient-primary-end: 189 107 237;\n --oui-gradient-secondary-start: 81 42 121;\n --oui-gradient-secondary-end: 176 132 233;\n --oui-gradient-success-start: 1 83 68;\n --oui-gradient-success-end: 41 223 169;\n --oui-gradient-danger-start: 153 24 76;\n --oui-gradient-danger-end: 245 97 139;\n --oui-gradient-brand-start: 231 219 249;\n --oui-gradient-brand-end: 159 107 225;\n --oui-gradient-brand-stop-start: 6.62%;\n --oui-gradient-brand-stop-end: 86.5%;\n --oui-gradient-brand-angle: 17.44deg;\n --oui-gradient-warning-start: 152 58 8;\n --oui-gradient-warning-end: 255 209 70;\n --oui-gradient-neutral-start: 27 29 24;\n --oui-gradient-neutral-end: 38 41 46;\n --oui-rounded-sm: 2px;\n --oui-rounded: 4px;\n --oui-rounded-md: 6px;\n --oui-rounded-lg: 8px;\n --oui-rounded-xl: 12px;\n --oui-rounded-2xl: 16px;\n --oui-rounded-full: 9999px;\n --oui-spacing-xs: 20rem;\n --oui-spacing-sm: 22.5rem;\n --oui-spacing-md: 26.25rem;\n --oui-spacing-lg: 30rem;\n --oui-spacing-xl: 33.75rem;\n}\n\nhtml {\n background-color: rgb(var(--oui-color-base-10));\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n font-family: var(--oui-font-family);\n}\n\nbody {\n background-color: rgb(var(--oui-color-base-10));\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n font-family: var(--oui-font-family);\n}\n.oui-size-height {\n height: var(--oui-height, unset);\n}\n.oui-size-width {\n width: var(--oui-width, unset);\n}\n.xAxis .recharts-cartesian-axis-tick:first-child text {\n text-anchor: start;\n}\n.xAxis .recharts-cartesian-axis-tick:last-child text {\n text-anchor: end;\n}\n.oui-position {\n left: var(--oui-left, unset);\n top: var(--oui-top, unset);\n right: var(--oui-right, unset);\n bottom: var(--oui-bottom, unset);\n}\n.oui-card {\n color: red;\n}\n.oui-card:has(.oui-header-list) {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-track {\n background-color: transparent;\n border-radius: 4px;\n padding-top: 20px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-thumb {\n border-radius: 3px;\n border-style: dashed;\n border-color: transparent;\n border-width: 1px;\n background-color: rgb(var(--oui-color-base-7));\n background-clip: padding-box;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-thumb:hover {\n background: rgb(var(--oui-color-base-5));\n border-radius: 3px;\n}\n.oui-custom-scrollbar::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n.oui-hide-scrollbar::-webkit-scrollbar {\n display: none;\n}\n.oui-hide-scrollbar::-webkit-scrollbar-thumb {\n display: none;\n}\n@property --gradientAngle {\n syntax: \"<angle>\";\n inherits: false;\n initial-value: 0deg;\n }\n@keyframes angleRotateChange {\n 0% {\n --gradientAngle: 0deg;\n }\n 100% {\n --gradientAngle: 360deg;\n }\n }\n.oui-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.oui-pointer-events-none {\n pointer-events: none;\n}\n.oui-pointer-events-auto {\n pointer-events: auto;\n}\n.oui-visible {\n visibility: visible;\n}\n.oui-invisible {\n visibility: hidden;\n}\n.oui-static {\n position: static;\n}\n.oui-fixed {\n position: fixed;\n}\n.\\!oui-absolute {\n position: absolute !important;\n}\n.oui-absolute {\n position: absolute;\n}\n.oui-relative {\n position: relative;\n}\n.oui-sticky {\n position: sticky;\n}\n.oui-inset-0 {\n inset: 0px;\n}\n.oui-inset-x-0 {\n left: 0px;\n right: 0px;\n}\n.oui-inset-x-\\[50px\\] {\n left: 50px;\n right: 50px;\n}\n.oui-inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.\\!oui-bottom-\\[30px\\] {\n bottom: 30px !important;\n}\n.\\!oui-bottom-\\[40px\\] {\n bottom: 40px !important;\n}\n.\\!oui-top-1 {\n top: 0.25rem !important;\n}\n.-oui-right-3 {\n right: -0.75rem;\n}\n.-oui-right-\\[1px\\] {\n right: -1px;\n}\n.-oui-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-\\[calc\\(100vh\\/2\\)\\] {\n top: calc(calc(100vh / 2) * -1);\n}\n.oui--bottom-12 {\n bottom: -3rem;\n}\n.oui--left-12 {\n left: -3rem;\n}\n.oui--right-12 {\n right: -3rem;\n}\n.oui--top-12 {\n top: -3rem;\n}\n.oui-bottom-0 {\n bottom: 0px;\n}\n.oui-bottom-1 {\n bottom: 0.25rem;\n}\n.oui-bottom-3 {\n bottom: 0.75rem;\n}\n.oui-bottom-6 {\n bottom: 1.5rem;\n}\n.oui-bottom-\\[-1\\.5px\\] {\n bottom: -1.5px;\n}\n.oui-bottom-\\[38px\\] {\n bottom: 38px;\n}\n.oui-bottom-full {\n bottom: 100%;\n}\n.oui-end-\\[-20px\\] {\n inset-inline-end: -20px;\n}\n.oui-left-0 {\n left: 0px;\n}\n.oui-left-1 {\n left: 0.25rem;\n}\n.oui-left-1\\/2 {\n left: 50%;\n}\n.oui-left-2 {\n left: 0.5rem;\n}\n.oui-left-3 {\n left: 0.75rem;\n}\n.oui-left-6 {\n left: 1.5rem;\n}\n.oui-left-\\[-1\\.5px\\] {\n left: -1.5px;\n}\n.oui-left-\\[-100\\%\\] {\n left: -100%;\n}\n.oui-left-\\[-9px\\] {\n left: -9px;\n}\n.oui-left-\\[10px\\] {\n left: 10px;\n}\n.oui-left-\\[30px\\] {\n left: 30px;\n}\n.oui-left-\\[4px\\] {\n left: 4px;\n}\n.oui-left-\\[50\\%\\] {\n left: 50%;\n}\n.oui-right-0 {\n right: 0px;\n}\n.oui-right-1 {\n right: 0.25rem;\n}\n.oui-right-2 {\n right: 0.5rem;\n}\n.oui-right-3 {\n right: 0.75rem;\n}\n.oui-right-4 {\n right: 1rem;\n}\n.oui-right-\\[-1\\.5px\\] {\n right: -1.5px;\n}\n.oui-right-\\[-100\\%\\] {\n right: -100%;\n}\n.oui-right-\\[1px\\] {\n right: 1px;\n}\n.oui-top-0 {\n top: 0px;\n}\n.oui-top-0\\.5 {\n top: 0.125rem;\n}\n.oui-top-1 {\n top: 0.25rem;\n}\n.oui-top-1\\/2 {\n top: 50%;\n}\n.oui-top-2 {\n top: 0.5rem;\n}\n.oui-top-2\\/4 {\n top: 50%;\n}\n.oui-top-3 {\n top: 0.75rem;\n}\n.oui-top-4 {\n top: 1rem;\n}\n.oui-top-\\[-1\\.5px\\] {\n top: -1.5px;\n}\n.oui-top-\\[-28px\\] {\n top: -28px;\n}\n.oui-top-\\[-300px\\] {\n top: -300px;\n}\n.oui-top-\\[10px\\] {\n top: 10px;\n}\n.oui-top-\\[16px\\] {\n top: 16px;\n}\n.oui-top-\\[18px\\] {\n top: 18px;\n}\n.oui-top-\\[1px\\] {\n top: 1px;\n}\n.oui-top-\\[20px\\] {\n top: 20px;\n}\n.oui-top-\\[3px\\] {\n top: 3px;\n}\n.oui-top-\\[44px\\] {\n top: 44px;\n}\n.oui-top-\\[48px\\] {\n top: 48px;\n}\n.oui-top-\\[50\\%\\] {\n top: 50%;\n}\n.oui-top-\\[6\\.5px\\] {\n top: 6.5px;\n}\n.oui-top-\\[7px\\] {\n top: 7px;\n}\n.oui-top-full {\n top: 100%;\n}\n.oui-z-0 {\n z-index: 0;\n}\n.oui-z-10 {\n z-index: 10;\n}\n.oui-z-20 {\n z-index: 20;\n}\n.oui-z-30 {\n z-index: 30;\n}\n.oui-z-40 {\n z-index: 40;\n}\n.oui-z-50 {\n z-index: 50;\n}\n.oui-z-\\[-1\\] {\n z-index: -1;\n}\n.oui-z-\\[100\\] {\n z-index: 100;\n}\n.oui-z-\\[1\\] {\n z-index: 1;\n}\n.oui-z-\\[2\\] {\n z-index: 2;\n}\n.oui-z-\\[40\\] {\n z-index: 40;\n}\n.oui-z-\\[60\\] {\n z-index: 60;\n}\n.oui-z-\\[65\\] {\n z-index: 65;\n}\n.oui-z-\\[99\\] {\n z-index: 99;\n}\n.oui-z-auto {\n z-index: auto;\n}\n.oui-col-auto {\n grid-column: auto;\n}\n.oui-col-span-1 {\n grid-column: span 1 / span 1;\n}\n.oui-col-span-2 {\n grid-column: span 2 / span 2;\n}\n.oui-col-span-3 {\n grid-column: span 3 / span 3;\n}\n.oui-col-span-4 {\n grid-column: span 4 / span 4;\n}\n.oui-col-span-5 {\n grid-column: span 5 / span 5;\n}\n.oui-col-span-6 {\n grid-column: span 6 / span 6;\n}\n.oui-col-span-7 {\n grid-column: span 7 / span 7;\n}\n.oui-col-span-8 {\n grid-column: span 8 / span 8;\n}\n.oui-col-span-9 {\n grid-column: span 9 / span 9;\n}\n.oui-row-auto {\n grid-row: auto;\n}\n.oui-row-span-1 {\n grid-row: span 1 / span 1;\n}\n.oui-row-span-2 {\n grid-row: span 2 / span 2;\n}\n.oui-row-span-3 {\n grid-row: span 3 / span 3;\n}\n.oui-row-span-4 {\n grid-row: span 4 / span 4;\n}\n.oui-row-span-5 {\n grid-row: span 5 / span 5;\n}\n.oui-row-span-6 {\n grid-row: span 6 / span 6;\n}\n.oui-row-span-7 {\n grid-row: span 7 / span 7;\n}\n.oui-row-span-8 {\n grid-row: span 8 / span 8;\n}\n.oui-row-span-9 {\n grid-row: span 9 / span 9;\n}\n.oui-m-0 {\n margin: 0px;\n}\n.oui-m-1 {\n margin: 0.25rem;\n}\n.oui-m-10 {\n margin: 2.5rem;\n}\n.oui-m-2 {\n margin: 0.5rem;\n}\n.oui-m-3 {\n margin: 0.75rem;\n}\n.oui-m-4 {\n margin: 1rem;\n}\n.oui-m-5 {\n margin: 1.25rem;\n}\n.oui-m-6 {\n margin: 1.5rem;\n}\n.oui-m-7 {\n margin: 1.75rem;\n}\n.oui-m-8 {\n margin: 2rem;\n}\n.oui-m-9 {\n margin: 2.25rem;\n}\n.\\!oui-mx-\\[3px\\] {\n margin-left: 3px !important;\n margin-right: 3px !important;\n}\n.\\!oui-my-\\[3px\\] {\n margin-top: 3px !important;\n margin-bottom: 3px !important;\n}\n.-oui-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n}\n.oui-mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n}\n.oui-mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.oui-mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n}\n.oui-mx-11 {\n margin-left: 2.75rem;\n margin-right: 2.75rem;\n}\n.oui-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.oui-mx-3 {\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n.oui-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n.oui-mx-5 {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n}\n.oui-mx-6 {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n}\n.oui-mx-7 {\n margin-left: 1.75rem;\n margin-right: 1.75rem;\n}\n.oui-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n.oui-mx-9 {\n margin-left: 2.25rem;\n margin-right: 2.25rem;\n}\n.oui-mx-\\[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-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-mt-0 {\n margin-top: 0px !important;\n}\n.-oui-mb-1 {\n margin-bottom: -0.25rem;\n}\n.-oui-mb-2 {\n margin-bottom: -0.5rem;\n}\n.-oui-mb-5 {\n margin-bottom: -1.25rem;\n}\n.-oui-ml-2 {\n margin-left: -0.5rem;\n}\n.-oui-ml-4 {\n margin-left: -1rem;\n}\n.-oui-mr-4 {\n margin-right: -1rem;\n}\n.-oui-mt-2 {\n margin-top: -0.5rem;\n}\n.-oui-mt-4 {\n margin-top: -1rem;\n}\n.oui--ml-4 {\n margin-left: -1rem;\n}\n.oui--mt-4 {\n margin-top: -1rem;\n}\n.oui-mb-0 {\n margin-bottom: 0px;\n}\n.oui-mb-0\\.5 {\n margin-bottom: 0.125rem;\n}\n.oui-mb-1 {\n margin-bottom: 0.25rem;\n}\n.oui-mb-10 {\n margin-bottom: 2.5rem;\n}\n.oui-mb-2 {\n margin-bottom: 0.5rem;\n}\n.oui-mb-3 {\n margin-bottom: 0.75rem;\n}\n.oui-mb-4 {\n margin-bottom: 1rem;\n}\n.oui-mb-5 {\n margin-bottom: 1.25rem;\n}\n.oui-mb-6 {\n margin-bottom: 1.5rem;\n}\n.oui-mb-7 {\n margin-bottom: 1.75rem;\n}\n.oui-mb-8 {\n margin-bottom: 2rem;\n}\n.oui-mb-9 {\n margin-bottom: 2.25rem;\n}\n.oui-mb-\\[-8px\\] {\n margin-bottom: -8px;\n}\n.oui-mb-\\[10px\\] {\n margin-bottom: 10px;\n}\n.oui-mb-\\[32px\\] {\n margin-bottom: 32px;\n}\n.oui-mb-\\[3px\\] {\n margin-bottom: 3px;\n}\n.oui-ml-0 {\n margin-left: 0px;\n}\n.oui-ml-0\\.5 {\n margin-left: 0.125rem;\n}\n.oui-ml-1 {\n margin-left: 0.25rem;\n}\n.oui-ml-10 {\n margin-left: 2.5rem;\n}\n.oui-ml-2 {\n margin-left: 0.5rem;\n}\n.oui-ml-3 {\n margin-left: 0.75rem;\n}\n.oui-ml-4 {\n margin-left: 1rem;\n}\n.oui-ml-5 {\n margin-left: 1.25rem;\n}\n.oui-ml-6 {\n margin-left: 1.5rem;\n}\n.oui-ml-7 {\n margin-left: 1.75rem;\n}\n.oui-ml-8 {\n margin-left: 2rem;\n}\n.oui-ml-9 {\n margin-left: 2.25rem;\n}\n.oui-ml-\\[2px\\] {\n margin-left: 2px;\n}\n.oui-ml-\\[5px\\] {\n margin-left: 5px;\n}\n.oui-ml-auto {\n margin-left: auto;\n}\n.oui-ml-px {\n margin-left: 1px;\n}\n.oui-mr-0 {\n margin-right: 0px;\n}\n.oui-mr-1 {\n margin-right: 0.25rem;\n}\n.oui-mr-10 {\n margin-right: 2.5rem;\n}\n.oui-mr-2 {\n margin-right: 0.5rem;\n}\n.oui-mr-3 {\n margin-right: 0.75rem;\n}\n.oui-mr-4 {\n margin-right: 1rem;\n}\n.oui-mr-5 {\n margin-right: 1.25rem;\n}\n.oui-mr-6 {\n margin-right: 1.5rem;\n}\n.oui-mr-7 {\n margin-right: 1.75rem;\n}\n.oui-mr-8 {\n margin-right: 2rem;\n}\n.oui-mr-9 {\n margin-right: 2.25rem;\n}\n.oui-mr-\\[6px\\] {\n margin-right: 6px;\n}\n.oui-mt-0 {\n margin-top: 0px;\n}\n.oui-mt-1 {\n margin-top: 0.25rem;\n}\n.oui-mt-10 {\n margin-top: 2.5rem;\n}\n.oui-mt-2 {\n margin-top: 0.5rem;\n}\n.oui-mt-3 {\n margin-top: 0.75rem;\n}\n.oui-mt-4 {\n margin-top: 1rem;\n}\n.oui-mt-5 {\n margin-top: 1.25rem;\n}\n.oui-mt-6 {\n margin-top: 1.5rem;\n}\n.oui-mt-7 {\n margin-top: 1.75rem;\n}\n.oui-mt-8 {\n margin-top: 2rem;\n}\n.oui-mt-9 {\n margin-top: 2.25rem;\n}\n.oui-mt-\\[-1px\\] {\n margin-top: -1px;\n}\n.oui-mt-\\[-30px\\] {\n margin-top: -30px;\n}\n.oui-mt-\\[-8px\\] {\n margin-top: -8px;\n}\n.oui-mt-\\[2px\\] {\n margin-top: 2px;\n}\n.oui-mt-\\[35px\\] {\n margin-top: 35px;\n}\n.oui-mt-\\[6px\\] {\n margin-top: 6px;\n}\n.oui-mt-\\[7px\\] {\n margin-top: 7px;\n}\n.oui-mt-auto {\n margin-top: auto;\n}\n.oui-mt-px {\n margin-top: 1px;\n}\n.oui-box-border {\n box-sizing: border-box;\n}\n.oui-box-content {\n box-sizing: content-box;\n}\n.oui-line-clamp-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-2 {\n width: 0.5rem;\n height: 0.5rem;\n}\n.oui-size-3 {\n width: 0.75rem;\n height: 0.75rem;\n}\n.oui-size-4 {\n width: 1rem;\n height: 1rem;\n}\n.oui-size-5 {\n width: 1.25rem;\n height: 1.25rem;\n}\n.oui-size-6 {\n width: 1.5rem;\n height: 1.5rem;\n}\n.oui-size-8 {\n width: 2rem;\n height: 2rem;\n}\n.oui-size-\\[10px\\] {\n width: 10px;\n height: 10px;\n}\n.oui-size-\\[12px\\] {\n width: 12px;\n height: 12px;\n}\n.oui-size-\\[14px\\] {\n width: 14px;\n height: 14px;\n}\n.oui-size-\\[15px\\] {\n width: 15px;\n height: 15px;\n}\n.oui-size-\\[16px\\] {\n width: 16px;\n height: 16px;\n}\n.oui-size-\\[18px\\] {\n width: 18px;\n height: 18px;\n}\n.oui-size-\\[20px\\] {\n width: 20px;\n height: 20px;\n}\n.oui-size-\\[48px\\] {\n width: 48px;\n height: 48px;\n}\n.oui-size-\\[4px\\] {\n width: 4px;\n height: 4px;\n}\n.oui-size-\\[64px\\] {\n width: 64px;\n height: 64px;\n}\n.oui-size-\\[6px\\] {\n width: 6px;\n height: 6px;\n}\n.oui-size-full {\n width: 100%;\n height: 100%;\n}\n.\\!oui-h-\\[14px\\] {\n height: 14px !important;\n}\n.\\!oui-h-\\[2px\\] {\n height: 2px !important;\n}\n.\\!oui-h-\\[34px\\] {\n height: 34px !important;\n}\n.\\!oui-h-\\[42px\\] {\n height: 42px !important;\n}\n.\\!oui-h-\\[600px\\] {\n height: 600px !important;\n}\n.\\!oui-h-\\[680px\\] {\n height: 680px !important;\n}\n.\\!oui-h-\\[calc\\(100\\%_-_49px\\)\\] {\n height: calc(100% - 49px) !important;\n}\n.\\!oui-h-\\[calc\\(100\\%_-_53px_-_8px\\)\\] {\n height: calc(100% - 53px - 8px) !important;\n}\n.\\!oui-h-auto {\n height: auto !important;\n}\n.oui-h-0 {\n height: 0px;\n}\n.oui-h-1 {\n height: 0.25rem;\n}\n.oui-h-1\\.5 {\n height: 0.375rem;\n}\n.oui-h-10 {\n height: 2.5rem;\n}\n.oui-h-11 {\n height: 2.75rem;\n}\n.oui-h-12 {\n height: 3rem;\n}\n.oui-h-13 {\n height: 3.25rem;\n}\n.oui-h-2 {\n height: 0.5rem;\n}\n.oui-h-3 {\n height: 0.75rem;\n}\n.oui-h-4 {\n height: 1rem;\n}\n.oui-h-5 {\n height: 1.25rem;\n}\n.oui-h-6 {\n height: 1.5rem;\n}\n.oui-h-7 {\n height: 1.75rem;\n}\n.oui-h-8 {\n height: 2rem;\n}\n.oui-h-9 {\n height: 2.25rem;\n}\n.oui-h-\\[100px\\] {\n height: 100px;\n}\n.oui-h-\\[10px\\] {\n height: 10px;\n}\n.oui-h-\\[110px\\] {\n height: 110px;\n}\n.oui-h-\\[112px\\] {\n height: 112px;\n}\n.oui-h-\\[114px\\] {\n height: 114px;\n}\n.oui-h-\\[120px\\] {\n height: 120px;\n}\n.oui-h-\\[124px\\] {\n height: 124px;\n}\n.oui-h-\\[12px\\] {\n height: 12px;\n}\n.oui-h-\\[13px\\] {\n height: 13px;\n}\n.oui-h-\\[144px\\] {\n height: 144px;\n}\n.oui-h-\\[14px\\] {\n height: 14px;\n}\n.oui-h-\\[15px\\] {\n height: 15px;\n}\n.oui-h-\\[168px\\] {\n height: 168px;\n}\n.oui-h-\\[16px\\] {\n height: 16px;\n}\n.oui-h-\\[170px\\] {\n height: 170px;\n}\n.oui-h-\\[188px\\] {\n height: 188px;\n}\n.oui-h-\\[18px\\] {\n height: 18px;\n}\n.oui-h-\\[197px\\] {\n height: 197px;\n}\n.oui-h-\\[19px\\] {\n height: 19px;\n}\n.oui-h-\\[1px\\] {\n height: 1px;\n}\n.oui-h-\\[2\\.4rem\\] {\n height: 2.4rem;\n}\n.oui-h-\\[200px\\] {\n height: 200px;\n}\n.oui-h-\\[20px\\] {\n height: 20px;\n}\n.oui-h-\\[220px\\] {\n height: 220px;\n}\n.oui-h-\\[22px\\] {\n height: 22px;\n}\n.oui-h-\\[236px\\] {\n height: 236px;\n}\n.oui-h-\\[238px\\] {\n height: 238px;\n}\n.oui-h-\\[23px\\] {\n height: 23px;\n}\n.oui-h-\\[240px\\] {\n height: 240px;\n}\n.oui-h-\\[24px\\] {\n height: 24px;\n}\n.oui-h-\\[254px\\] {\n height: 254px;\n}\n.oui-h-\\[25px\\] {\n height: 25px;\n}\n.oui-h-\\[26px\\] {\n height: 26px;\n}\n.oui-h-\\[28px\\] {\n height: 28px;\n}\n.oui-h-\\[2px\\] {\n height: 2px;\n}\n.oui-h-\\[300px\\] {\n height: 300px;\n}\n.oui-h-\\[30px\\] {\n height: 30px;\n}\n.oui-h-\\[31px\\] {\n height: 31px;\n}\n.oui-h-\\[320px\\] {\n height: 320px;\n}\n.oui-h-\\[32px\\] {\n height: 32px;\n}\n.oui-h-\\[34px\\] {\n height: 34px;\n}\n.oui-h-\\[360px\\] {\n height: 360px;\n}\n.oui-h-\\[36px\\] {\n height: 36px;\n}\n.oui-h-\\[388px\\] {\n height: 388px;\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-\\[44px\\] {\n height: 44px;\n}\n.oui-h-\\[45px\\] {\n height: 45px;\n}\n.oui-h-\\[46px\\] {\n height: 46px;\n}\n.oui-h-\\[48px\\] {\n height: 48px;\n}\n.oui-h-\\[496px\\] {\n height: 496px;\n}\n.oui-h-\\[4px\\] {\n height: 4px;\n}\n.oui-h-\\[500px\\] {\n height: 500px;\n}\n.oui-h-\\[50px\\] {\n height: 50px;\n}\n.oui-h-\\[52px\\] {\n height: 52px;\n}\n.oui-h-\\[53px\\] {\n height: 53px;\n}\n.oui-h-\\[54px\\] {\n height: 54px;\n}\n.oui-h-\\[55px\\] {\n height: 55px;\n}\n.oui-h-\\[59px\\] {\n height: 59px;\n}\n.oui-h-\\[600px\\] {\n height: 600px;\n}\n.oui-h-\\[634px\\] {\n height: 634px;\n}\n.oui-h-\\[64px\\] {\n height: 64px;\n}\n.oui-h-\\[68px\\] {\n height: 68px;\n}\n.oui-h-\\[6px\\] {\n height: 6px;\n}\n.oui-h-\\[78px\\] {\n height: 78px;\n}\n.oui-h-\\[8\\.3px\\] {\n height: 8.3px;\n}\n.oui-h-\\[88px\\] {\n height: 88px;\n}\n.oui-h-\\[8px\\] {\n height: 8px;\n}\n.oui-h-\\[calc\\(\\(100vw-48px\\)\\/2\\)\\] {\n height: calc((100vw - 48px) / 2);\n}\n.oui-h-\\[calc\\(100\\%_-_288px_-_20px\\)\\] {\n height: calc(100% - 288px - 20px);\n}\n.oui-h-\\[calc\\(100\\%_-_28px\\)\\] {\n height: calc(100% - 28px);\n}\n.oui-h-\\[calc\\(100\\%_-_32px\\)\\] {\n height: calc(100% - 32px);\n}\n.oui-h-\\[calc\\(100\\%_-_36px\\)\\] {\n height: calc(100% - 36px);\n}\n.oui-h-\\[calc\\(100\\%_-_40px\\)\\] {\n height: calc(100% - 40px);\n}\n.oui-h-\\[calc\\(100\\%_-_49px\\)\\] {\n height: calc(100% - 49px);\n}\n.oui-h-\\[calc\\(100\\%_-_52px\\)\\] {\n height: calc(100% - 52px);\n}\n.oui-h-\\[calc\\(100\\%_-_56px\\)\\] {\n height: calc(100% - 56px);\n}\n.oui-h-\\[calc\\(100\\%_-_59px\\)\\] {\n height: calc(100% - 59px);\n}\n.oui-h-\\[calc\\(100\\%_-_60px\\)\\] {\n height: calc(100% - 60px);\n}\n.oui-h-\\[calc\\(100\\%_-_70px\\)\\] {\n height: calc(100% - 70px);\n}\n.oui-h-\\[calc\\(100\\%_-_92px\\)\\] {\n height: calc(100% - 92px);\n}\n.oui-h-\\[calc\\(100vh-100px\\)\\] {\n height: calc(100vh - 100px);\n}\n.oui-h-\\[calc\\(100vh-200px\\)\\] {\n height: calc(100vh - 200px);\n}\n.oui-h-\\[calc\\(100vh-260px\\)\\] {\n height: calc(100vh - 260px);\n}\n.oui-h-\\[calc\\(100vh-44px\\)\\] {\n height: calc(100vh - 44px);\n}\n.oui-h-\\[calc\\(100vh-80px\\)\\] {\n height: calc(100vh - 80px);\n}\n.oui-h-\\[calc\\(100vh_-_200px\\)\\] {\n height: calc(100vh - 200px);\n}\n.oui-h-\\[calc\\(100vh_-_48px_-_29px\\)\\] {\n height: calc(100vh - 48px - 29px);\n}\n.oui-h-\\[calc\\(100vh_-_64px\\)\\] {\n height: calc(100vh - 64px);\n}\n.oui-h-\\[calc\\(80vh_-_104px\\)\\] {\n height: calc(80vh - 104px);\n}\n.oui-h-\\[calc\\(80vh_-_132px_-_8px\\)\\] {\n height: calc(80vh - 132px - 8px);\n}\n.oui-h-\\[env\\(safe-area-inset-bottom\\)\\] {\n height: env(safe-area-inset-bottom);\n}\n.oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n}\n.oui-h-auto {\n height: auto;\n}\n.oui-h-full {\n height: 100%;\n}\n.oui-h-px {\n height: 1px;\n}\n.oui-h-screen {\n height: 100vh;\n}\n.oui-max-h-0 {\n max-height: 0px;\n}\n.oui-max-h-8 {\n max-height: 2rem;\n}\n.oui-max-h-96 {\n max-height: 24rem;\n}\n.oui-max-h-\\[100px\\] {\n max-height: 100px;\n}\n.oui-max-h-\\[104px\\] {\n max-height: 104px;\n}\n.oui-max-h-\\[120px\\] {\n max-height: 120px;\n}\n.oui-max-h-\\[1250px\\] {\n max-height: 1250px;\n}\n.oui-max-h-\\[200px\\] {\n max-height: 200px;\n}\n.oui-max-h-\\[202px\\] {\n max-height: 202px;\n}\n.oui-max-h-\\[240px\\] {\n max-height: 240px;\n}\n.oui-max-h-\\[288px\\] {\n max-height: 288px;\n}\n.oui-max-h-\\[300px\\] {\n max-height: 300px;\n}\n.oui-max-h-\\[348px\\] {\n max-height: 348px;\n}\n.oui-max-h-\\[356px\\] {\n max-height: 356px;\n}\n.oui-max-h-\\[396px\\] {\n max-height: 396px;\n}\n.oui-max-h-\\[400px\\] {\n max-height: 400px;\n}\n.oui-max-h-\\[60vh\\] {\n max-height: 60vh;\n}\n.oui-max-h-\\[69px\\] {\n max-height: 69px;\n}\n.oui-max-h-\\[80vh\\] {\n max-height: 80vh;\n}\n.oui-max-h-\\[94px\\] {\n max-height: 94px;\n}\n.oui-max-h-full {\n max-height: 100%;\n}\n.\\!oui-min-h-\\[100px\\] {\n min-height: 100px !important;\n}\n.\\!oui-min-h-\\[130px\\] {\n min-height: 130px !important;\n}\n.\\!oui-min-h-\\[170px\\] {\n min-height: 170px !important;\n}\n.\\!oui-min-h-\\[2px\\] {\n min-height: 2px !important;\n}\n.oui-min-h-0 {\n min-height: 0px;\n}\n.oui-min-h-10 {\n min-height: 2.5rem;\n}\n.oui-min-h-11 {\n min-height: 2.75rem;\n}\n.oui-min-h-12 {\n min-height: 3rem;\n}\n.oui-min-h-40 {\n min-height: 10rem;\n}\n.oui-min-h-\\[141px\\] {\n min-height: 141px;\n}\n.oui-min-h-\\[162px\\] {\n min-height: 162px;\n}\n.oui-min-h-\\[170px\\] {\n min-height: 170px;\n}\n.oui-min-h-\\[176px\\] {\n min-height: 176px;\n}\n.oui-min-h-\\[180px\\] {\n min-height: 180px;\n}\n.oui-min-h-\\[20px\\] {\n min-height: 20px;\n}\n.oui-min-h-\\[300px\\] {\n min-height: 300px;\n}\n.oui-min-h-\\[400px\\] {\n min-height: 400px;\n}\n.oui-min-h-\\[420px\\] {\n min-height: 420px;\n}\n.oui-min-h-\\[48px\\] {\n min-height: 48px;\n}\n.oui-min-h-\\[50px\\] {\n min-height: 50px;\n}\n.oui-min-h-\\[54px\\] {\n min-height: 54px;\n}\n.oui-min-h-\\[56px\\] {\n min-height: 56px;\n}\n.oui-min-h-\\[600px\\] {\n min-height: 600px;\n}\n.oui-min-h-\\[calc\\(100vh-44px-64px-env\\(safe-area-inset-bottom\\)\\)\\] {\n min-height: calc(100vh - 44px - 64px - env(safe-area-inset-bottom));\n}\n.oui-min-h-full {\n min-height: 100%;\n}\n.oui-min-h-screen {\n min-height: 100vh;\n}\n.\\!oui-w-\\[2px\\] {\n width: 2px !important;\n}\n.\\!oui-w-\\[90\\%\\] {\n width: 90% !important;\n}\n.oui-w-1 {\n width: 0.25rem;\n}\n.oui-w-1\\/2 {\n width: 50%;\n}\n.oui-w-1\\/3 {\n width: 33.333333%;\n}\n.oui-w-1\\/4 {\n width: 25%;\n}\n.oui-w-1\\/5 {\n width: 20%;\n}\n.oui-w-10 {\n width: 2.5rem;\n}\n.oui-w-11 {\n width: 2.75rem;\n}\n.oui-w-12 {\n width: 3rem;\n}\n.oui-w-2 {\n width: 0.5rem;\n}\n.oui-w-24 {\n width: 6rem;\n}\n.oui-w-28 {\n width: 7rem;\n}\n.oui-w-3 {\n width: 0.75rem;\n}\n.oui-w-3\\.5 {\n width: 0.875rem;\n}\n.oui-w-3\\/4 {\n width: 75%;\n}\n.oui-w-3\\/5 {\n width: 60%;\n}\n.oui-w-4 {\n width: 1rem;\n}\n.oui-w-5 {\n width: 1.25rem;\n}\n.oui-w-6 {\n width: 1.5rem;\n}\n.oui-w-64 {\n width: 16rem;\n}\n.oui-w-7 {\n width: 1.75rem;\n}\n.oui-w-72 {\n width: 18rem;\n}\n.oui-w-8 {\n width: 2rem;\n}\n.oui-w-9 {\n width: 2.25rem;\n}\n.oui-w-\\[--radix-select-content-available-width\\] {\n width: var(--radix-select-content-available-width);\n}\n.oui-w-\\[100\\%\\] {\n width: 100%;\n}\n.oui-w-\\[10px\\] {\n width: 10px;\n}\n.oui-w-\\[120px\\] {\n width: 120px;\n}\n.oui-w-\\[124px\\] {\n width: 124px;\n}\n.oui-w-\\[12px\\] {\n width: 12px;\n}\n.oui-w-\\[13px\\] {\n width: 13px;\n}\n.oui-w-\\[140px\\] {\n width: 140px;\n}\n.oui-w-\\[148px\\] {\n width: 148px;\n}\n.oui-w-\\[14px\\] {\n width: 14px;\n}\n.oui-w-\\[154px\\] {\n width: 154px;\n}\n.oui-w-\\[15px\\] {\n width: 15px;\n}\n.oui-w-\\[162px\\] {\n width: 162px;\n}\n.oui-w-\\[16px\\] {\n width: 16px;\n}\n.oui-w-\\[180px\\] {\n width: 180px;\n}\n.oui-w-\\[184px\\] {\n width: 184px;\n}\n.oui-w-\\[187px\\] {\n width: 187px;\n}\n.oui-w-\\[18px\\] {\n width: 18px;\n}\n.oui-w-\\[1px\\] {\n width: 1px;\n}\n.oui-w-\\[20px\\] {\n width: 20px;\n}\n.oui-w-\\[220px\\] {\n width: 220px;\n}\n.oui-w-\\[225px\\] {\n width: 225px;\n}\n.oui-w-\\[230px\\] {\n width: 230px;\n}\n.oui-w-\\[240px\\] {\n width: 240px;\n}\n.oui-w-\\[260px\\] {\n width: 260px;\n}\n.oui-w-\\[275px\\] {\n width: 275px;\n}\n.oui-w-\\[276px\\] {\n width: 276px;\n}\n.oui-w-\\[280px\\] {\n width: 280px;\n}\n.oui-w-\\[284px\\] {\n width: 284px;\n}\n.oui-w-\\[28px\\] {\n width: 28px;\n}\n.oui-w-\\[2px\\] {\n width: 2px;\n}\n.oui-w-\\[300px\\] {\n width: 300px;\n}\n.oui-w-\\[320px\\] {\n width: 320px;\n}\n.oui-w-\\[32px\\] {\n width: 32px;\n}\n.oui-w-\\[342px\\] {\n width: 342px;\n}\n.oui-w-\\[360px\\] {\n width: 360px;\n}\n.oui-w-\\[36px\\] {\n width: 36px;\n}\n.oui-w-\\[400px\\] {\n width: 400px;\n}\n.oui-w-\\[420px\\] {\n width: 420px;\n}\n.oui-w-\\[429px\\] {\n width: 429px;\n}\n.oui-w-\\[456px\\] {\n width: 456px;\n}\n.oui-w-\\[45px\\] {\n width: 45px;\n}\n.oui-w-\\[49px\\] {\n width: 49px;\n}\n.oui-w-\\[50\\%\\] {\n width: 50%;\n}\n.oui-w-\\[55px\\] {\n width: 55px;\n}\n.oui-w-\\[590px\\] {\n width: 590px;\n}\n.oui-w-\\[63px\\] {\n width: 63px;\n}\n.oui-w-\\[640px\\] {\n width: 640px;\n}\n.oui-w-\\[6px\\] {\n width: 6px;\n}\n.oui-w-\\[74px\\] {\n width: 74px;\n}\n.oui-w-\\[8\\.3px\\] {\n width: 8.3px;\n}\n.oui-w-\\[80px\\] {\n width: 80px;\n}\n.oui-w-\\[84\\%\\] {\n width: 84%;\n}\n.oui-w-\\[85\\%\\] {\n width: 85%;\n}\n.oui-w-\\[94px\\] {\n width: 94px;\n}\n.oui-w-\\[96px\\] {\n width: 96px;\n}\n.oui-w-\\[calc\\(\\(100\\%_-_4px\\)\\/2\\)\\] {\n width: calc((100% - 4px) / 2);\n}\n.oui-w-\\[calc\\(100\\%-60px\\)\\] {\n width: calc(100% - 60px);\n}\n.oui-w-\\[calc\\(100\\%_-_280px_-_12px\\)\\] {\n width: calc(100% - 280px - 12px);\n}\n.oui-w-\\[calc\\(100vw-24px\\)\\] {\n width: calc(100vw - 24px);\n}\n.oui-w-\\[calc\\(50\\%-6px\\)\\] {\n width: calc(50% - 6px);\n}\n.oui-w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\] {\n width: var(--radix-dropdown-menu-trigger-width);\n}\n.oui-w-\\[var\\(_--radix-popover-trigger-width\\)\\] {\n width: var( --radix-popover-trigger-width);\n}\n.oui-w-auto {\n width: auto;\n}\n.oui-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.oui-w-full {\n width: 100%;\n}\n.oui-w-px {\n width: 1px;\n}\n.oui-w-screen {\n width: 100vw;\n}\n.\\!oui-min-w-\\[2px\\] {\n min-width: 2px !important;\n}\n.oui-min-w-0 {\n min-width: 0px;\n}\n.oui-min-w-11 {\n min-width: 2.75rem;\n}\n.oui-min-w-14 {\n min-width: 3.5rem;\n}\n.oui-min-w-24 {\n min-width: 6rem;\n}\n.oui-min-w-6 {\n min-width: 1.5rem;\n}\n.oui-min-w-\\[1018px\\] {\n min-width: 1018px;\n}\n.oui-min-w-\\[102px\\] {\n min-width: 102px;\n}\n.oui-min-w-\\[105px\\] {\n min-width: 105px;\n}\n.oui-min-w-\\[120px\\] {\n min-width: 120px;\n}\n.oui-min-w-\\[160px\\] {\n min-width: 160px;\n}\n.oui-min-w-\\[180px\\] {\n min-width: 180px;\n}\n.oui-min-w-\\[204px\\] {\n min-width: 204px;\n}\n.oui-min-w-\\[240px\\] {\n min-width: 240px;\n}\n.oui-min-w-\\[30px\\] {\n min-width: 30px;\n}\n.oui-min-w-\\[322px\\] {\n min-width: 322px;\n}\n.oui-min-w-\\[40px\\] {\n min-width: 40px;\n}\n.oui-min-w-\\[500px\\] {\n min-width: 500px;\n}\n.oui-min-w-\\[70px\\] {\n min-width: 70px;\n}\n.oui-min-w-\\[80px\\] {\n min-width: 80px;\n}\n.oui-min-w-\\[8rem\\] {\n min-width: 8rem;\n}\n.oui-min-w-\\[96px\\] {\n min-width: 96px;\n}\n.oui-min-w-\\[994px\\] {\n min-width: 994px;\n}\n.oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n}\n.\\!oui-max-w-\\[624px\\] {\n max-width: 624px !important;\n}\n.oui-max-w-4xl {\n max-width: 56rem;\n}\n.oui-max-w-64 {\n max-width: 16rem;\n}\n.oui-max-w-72 {\n max-width: 18rem;\n}\n.oui-max-w-\\[1040px\\] {\n max-width: 1040px;\n}\n.oui-max-w-\\[110px\\] {\n max-width: 110px;\n}\n.oui-max-w-\\[1200px\\] {\n max-width: 1200px;\n}\n.oui-max-w-\\[188px\\] {\n max-width: 188px;\n}\n.oui-max-w-\\[200px\\] {\n max-width: 200px;\n}\n.oui-max-w-\\[240px\\] {\n max-width: 240px;\n}\n.oui-max-w-\\[260px\\] {\n max-width: 260px;\n}\n.oui-max-w-\\[270px\\] {\n max-width: 270px;\n}\n.oui-max-w-\\[274px\\] {\n max-width: 274px;\n}\n.oui-max-w-\\[275px\\] {\n max-width: 275px;\n}\n.oui-max-w-\\[280px\\] {\n max-width: 280px;\n}\n.oui-max-w-\\[298px\\] {\n max-width: 298px;\n}\n.oui-max-w-\\[300px\\] {\n max-width: 300px;\n}\n.oui-max-w-\\[320px\\] {\n max-width: 320px;\n}\n.oui-max-w-\\[360px\\] {\n max-width: 360px;\n}\n.oui-max-w-\\[382px\\] {\n max-width: 382px;\n}\n.oui-max-w-\\[396px\\] {\n max-width: 396px;\n}\n.oui-max-w-\\[400px\\] {\n max-width: 400px;\n}\n.oui-max-w-\\[450px\\] {\n max-width: 450px;\n}\n.oui-max-w-\\[726px\\] {\n max-width: 726px;\n}\n.oui-max-w-\\[83px\\] {\n max-width: 83px;\n}\n.oui-max-w-\\[960px\\] {\n max-width: 960px;\n}\n.oui-max-w-\\[992px\\] {\n max-width: 992px;\n}\n.oui-max-w-\\[calc\\(100\\%-187px\\)\\] {\n max-width: calc(100% - 187px);\n}\n.oui-max-w-fit {\n max-width: -moz-fit-content;\n max-width: fit-content;\n}\n.oui-max-w-full {\n max-width: 100%;\n}\n.oui-max-w-lg {\n max-width: var(--oui-spacing-lg, 30rem);\n}\n.oui-max-w-md {\n max-width: var(--oui-spacing-md, 26.25rem);\n}\n.oui-max-w-sm {\n max-width: var(--oui-spacing-sm, 22.5rem);\n}\n.oui-max-w-xl {\n max-width: var(--oui-spacing-xl, 33.75rem);\n}\n.oui-max-w-xs {\n max-width: var(--oui-spacing-xs, 20rem);\n}\n.oui-flex-1 {\n flex: 1 1 0%;\n}\n.oui-flex-\\[0_0_100\\%\\] {\n flex: 0 0 100%;\n}\n.oui-flex-\\[0_0_calc\\(\\(100\\%_-_32px\\)_\\/_3\\)\\] {\n flex: 0 0 calc((100% - 32px) / 3);\n}\n.oui-flex-none {\n flex: none;\n}\n.oui-flex-shrink {\n flex-shrink: 1;\n}\n.oui-flex-shrink-0 {\n flex-shrink: 0;\n}\n.oui-shrink {\n flex-shrink: 1;\n}\n.oui-shrink-0 {\n flex-shrink: 0;\n}\n.oui-grow {\n flex-grow: 1;\n}\n.oui-grow-0 {\n flex-grow: 0;\n}\n.oui-basis-1\\/2 {\n flex-basis: 50%;\n}\n.oui-basis-5\\/12 {\n flex-basis: 41.666667%;\n}\n.oui-basis-7\\/12 {\n flex-basis: 58.333333%;\n}\n.oui-basis-\\[100\\%\\] {\n flex-basis: 100%;\n}\n.oui-basis-auto {\n flex-basis: auto;\n}\n.oui-basis-full {\n flex-basis: 100%;\n}\n.oui-table-fixed {\n table-layout: fixed;\n}\n.oui-border-collapse {\n border-collapse: collapse;\n}\n.oui-origin-top-left {\n transform-origin: top left;\n}\n.-oui-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-2\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-translate-y-\\[0\\.5px\\] {\n --tw-translate-y: -0.5px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-x-full {\n --tw-translate-x: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui--translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-3 {\n --tw-translate-x: 0.75rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-\\[-12px\\] {\n --tw-translate-x: -12px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-1 {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-translate-y-\\[10px\\] {\n --tw-translate-y: 10px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-rotate-180 {\n --tw-rotate: -180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-oui-rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-0 {\n --tw-rotate: 0deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-rotate-90 {\n --tw-rotate: 90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-scale-105 {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.oui-transform-gpu {\n transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes oui-pop {\n\n 0% {\n transform: scale(1);\n }\n\n 100% {\n transform: scale(1.05);\n }\n}\n.oui-animate-pop {\n animation: oui-pop 0.2s ease-out;\n}\n@keyframes oui-rotate {\n\n 0% {\n transform: rotate(0deg);\n }\n\n 50% {\n transform: rotate(240deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n.oui-animate-rotate-360 {\n animation: oui-rotate 1s linear infinite;\n}\n@keyframes oui-scan-qr-code {\n\n 0% {\n transform: translateY(0);\n }\n\n 50% {\n transform: translateY(320px);\n }\n\n 100% {\n transform: translateY(0);\n }\n}\n.oui-animate-scan-qr-code {\n animation: oui-scan-qr-code 6s infinite linear;\n}\n@keyframes oui-spin {\n\n to {\n transform: rotate(360deg);\n }\n}\n.oui-animate-spin {\n animation: oui-spin 1s linear infinite;\n}\n.oui-cursor-auto {\n cursor: auto;\n}\n.oui-cursor-default {\n cursor: default;\n}\n.oui-cursor-grab {\n cursor: grab;\n}\n.oui-cursor-grabbing {\n cursor: grabbing;\n}\n.oui-cursor-move {\n cursor: move;\n}\n.oui-cursor-not-allowed {\n cursor: not-allowed;\n}\n.oui-cursor-pointer {\n cursor: pointer;\n}\n.oui-cursor-svg-edit {\n cursor: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%3Cg%20clip-path%3D%22url%28%23clip0_22040_41827%29%22%3E%3Cpath%20d%3D%22M11.4548%200.693201C11.1139%200.352266%2010.5611%200.352266%2010.2202%200.693201L8.98558%201.92784L12.0722%205.01442L13.3068%203.77979C13.6477%203.43885%2013.6477%202.88609%2013.3068%202.54515L11.4548%200.693201Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.98%22%2F%3E%3Cpath%20d%3D%22M11.1462%205.9404L8.0596%202.85381L0.960453%209.95296L0.443602%2013.0541C0.394363%2013.3495%200.650496%2013.6056%200.945935%2013.5564L4.04704%2013.0395L11.1462%205.9404Z%22%20fill%3D%22white%22%20fill-opacity%3D%220.98%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_22040_41827%22%3E%3Crect%20width%3D%2214%22%20height%3D%2214%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\") 2 12, auto;\n}\n.oui-touch-none {\n touch-action: none;\n}\n.oui-select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.oui-resize-none {\n resize: none;\n}\n.oui-list-inside {\n list-style-position: inside;\n}\n.oui-list-outside {\n list-style-position: outside;\n}\n.oui-list-decimal {\n list-style-type: decimal;\n}\n.oui-list-disc {\n list-style-type: disc;\n}\n.oui-list-none {\n list-style-type: none;\n}\n.oui-grid-flow-row {\n grid-auto-flow: row;\n}\n.oui-grid-flow-col {\n grid-auto-flow: column;\n}\n.oui-grid-flow-row-dense {\n grid-auto-flow: row dense;\n}\n.oui-grid-flow-col-dense {\n grid-auto-flow: column dense;\n}\n.oui-auto-rows-fr {\n grid-auto-rows: minmax(0, 1fr);\n}\n.oui-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.oui-grid-cols-12 {\n grid-template-columns: repeat(12, minmax(0, 1fr));\n}\n.oui-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.oui-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.oui-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n.oui-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n.oui-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.oui-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n.oui-grid-cols-9 {\n grid-template-columns: repeat(9, minmax(0, 1fr));\n}\n.oui-grid-cols-\\[1fr\\,1fr\\,135px\\] {\n grid-template-columns: 1fr 1fr 135px;\n}\n.oui-grid-cols-\\[40px_1fr_40px\\] {\n grid-template-columns: 40px 1fr 40px;\n}\n.oui-grid-cols-\\[4fr\\,6fr\\] {\n grid-template-columns: 4fr 6fr;\n}\n.oui-grid-cols-none {\n grid-template-columns: none;\n}\n.oui-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n.oui-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n.oui-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n.oui-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n.oui-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n.oui-grid-rows-6 {\n grid-template-rows: repeat(6, minmax(0, 1fr));\n}\n.oui-grid-rows-7 {\n grid-template-rows: repeat(7, minmax(0, 1fr));\n}\n.oui-grid-rows-8 {\n grid-template-rows: repeat(8, minmax(0, 1fr));\n}\n.oui-grid-rows-9 {\n grid-template-rows: repeat(9, minmax(0, 1fr));\n}\n.oui-grid-rows-\\[auto\\,1fr\\] {\n grid-template-rows: auto 1fr;\n}\n.oui-grid-rows-\\[auto\\,auto\\,1fr\\,auto\\,1fr\\] {\n grid-template-rows: auto auto 1fr auto 1fr;\n}\n.oui-grid-rows-none {\n grid-template-rows: none;\n}\n.oui-flex-row {\n flex-direction: row;\n}\n.oui-flex-row-reverse {\n flex-direction: row-reverse;\n}\n.oui-flex-col {\n flex-direction: column;\n}\n.oui-flex-col-reverse {\n flex-direction: column-reverse;\n}\n.oui-flex-wrap {\n flex-wrap: wrap;\n}\n.oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n.oui-flex-nowrap {\n flex-wrap: nowrap;\n}\n.oui-items-start {\n align-items: flex-start;\n}\n.oui-items-end {\n align-items: flex-end;\n}\n.oui-items-center {\n align-items: center;\n}\n.oui-items-baseline {\n align-items: baseline;\n}\n.oui-items-stretch {\n align-items: stretch;\n}\n.oui-justify-start {\n justify-content: flex-start;\n}\n.oui-justify-end {\n justify-content: flex-end;\n}\n.oui-justify-center {\n justify-content: center;\n}\n.oui-justify-between {\n justify-content: space-between;\n}\n.oui-justify-around {\n justify-content: space-around;\n}\n.oui-justify-evenly {\n justify-content: space-evenly;\n}\n.oui-justify-stretch {\n justify-content: stretch;\n}\n.\\!oui-gap-\\[2px\\] {\n gap: 2px !important;\n}\n.oui-gap-0 {\n gap: 0px;\n}\n.oui-gap-0\\.5 {\n gap: 0.125rem;\n}\n.oui-gap-1 {\n gap: 0.25rem;\n}\n.oui-gap-1\\.5 {\n gap: 0.375rem;\n}\n.oui-gap-10 {\n gap: 2.5rem;\n}\n.oui-gap-12 {\n gap: 3rem;\n}\n.oui-gap-2 {\n gap: 0.5rem;\n}\n.oui-gap-3 {\n gap: 0.75rem;\n}\n.oui-gap-4 {\n gap: 1rem;\n}\n.oui-gap-5 {\n gap: 1.25rem;\n}\n.oui-gap-6 {\n gap: 1.5rem;\n}\n.oui-gap-8 {\n gap: 2rem;\n}\n.oui-gap-\\[10px\\] {\n gap: 10px;\n}\n.oui-gap-\\[11px\\] {\n gap: 11px;\n}\n.oui-gap-\\[2px\\] {\n gap: 2px;\n}\n.oui-gap-\\[6px\\] {\n gap: 6px;\n}\n.oui-gap-px {\n gap: 1px;\n}\n.oui-gap-x-0 {\n -moz-column-gap: 0px;\n column-gap: 0px;\n}\n.oui-gap-x-0\\.5 {\n -moz-column-gap: 0.125rem;\n column-gap: 0.125rem;\n}\n.oui-gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n.oui-gap-x-1\\.5 {\n -moz-column-gap: 0.375rem;\n column-gap: 0.375rem;\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-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0 !important;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))) !important;\n margin-bottom: calc(0px * var(--tw-space-y-reverse)) !important;\n}\n.\\!oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0 !important;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))) !important;\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)) !important;\n}\n.oui-space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.75rem * var(--tw-space-x-reverse));\n margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.5rem * var(--tw-space-x-reverse));\n margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-x-\\[6px\\] > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(6px * var(--tw-space-x-reverse));\n margin-left: calc(6px * calc(1 - var(--tw-space-x-reverse)));\n}\n.oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n}\n.oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n.oui-space-y-\\[2px\\] > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(2px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(2px * var(--tw-space-y-reverse));\n}\n.oui-self-end {\n align-self: flex-end;\n}\n.\\!oui-overflow-auto {\n overflow: auto !important;\n}\n.oui-overflow-auto {\n overflow: auto;\n}\n.oui-overflow-hidden {\n overflow: hidden;\n}\n.oui-overflow-x-auto {\n overflow-x: auto;\n}\n.oui-overflow-y-auto {\n overflow-y: auto;\n}\n.oui-overflow-y-hidden {\n overflow-y: hidden;\n}\n.oui-overflow-x-scroll {\n overflow-x: scroll;\n}\n.oui-overflow-y-scroll {\n overflow-y: scroll;\n}\n.oui-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.oui-overflow-ellipsis {\n text-overflow: ellipsis;\n}\n.oui-text-ellipsis {\n text-overflow: ellipsis;\n}\n.oui-whitespace-nowrap {\n white-space: nowrap;\n}\n.oui-whitespace-pre {\n white-space: pre;\n}\n.oui-text-nowrap {\n text-wrap: nowrap;\n}\n.oui-text-pretty {\n text-wrap: pretty;\n}\n.oui-break-normal {\n overflow-wrap: normal;\n word-break: normal;\n}\n.oui-break-words {\n overflow-wrap: break-word;\n}\n.oui-break-all {\n word-break: break-all;\n}\n.oui-rounded {\n border-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n}\n.oui-rounded-\\[100\\%\\] {\n border-radius: 100%;\n}\n.oui-rounded-\\[100px\\] {\n border-radius: 100px;\n}\n.oui-rounded-\\[10px\\] {\n border-radius: 10px;\n}\n.oui-rounded-\\[12px\\] {\n border-radius: 12px;\n}\n.oui-rounded-\\[14px\\] {\n border-radius: 14px;\n}\n.oui-rounded-\\[16px\\] {\n border-radius: 16px;\n}\n.oui-rounded-\\[1px\\] {\n border-radius: 1px;\n}\n.oui-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n.oui-rounded-\\[24px\\] {\n border-radius: 24px;\n}\n.oui-rounded-\\[3px\\] {\n border-radius: 3px;\n}\n.oui-rounded-\\[44px\\] {\n border-radius: 44px;\n}\n.oui-rounded-\\[4px\\] {\n border-radius: 4px;\n}\n.oui-rounded-\\[6px\\] {\n border-radius: 6px;\n}\n.oui-rounded-\\[8px\\] {\n border-radius: 8px;\n}\n.oui-rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n.oui-rounded-full {\n border-radius: var(--oui-rounded-full, 9999px);\n}\n.oui-rounded-lg {\n border-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n}\n.oui-rounded-none {\n border-radius: 0;\n}\n.oui-rounded-sm {\n border-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-xl {\n border-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.\\!oui-rounded-l {\n border-top-left-radius: var(--oui-rounded, 0.25rem) !important;\n border-bottom-left-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.\\!oui-rounded-r {\n border-top-right-radius: var(--oui-rounded, 0.25rem) !important;\n border-bottom-right-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.oui-rounded-b-sm {\n border-bottom-right-radius: var(--oui-rounded-sm, 0.125rem);\n border-bottom-left-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-b-xl {\n border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-l {\n border-top-left-radius: var(--oui-rounded, 0.25rem);\n border-bottom-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-l-lg {\n border-top-left-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-left-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-l-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-r {\n border-top-right-radius: var(--oui-rounded, 0.25rem);\n border-bottom-right-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-r-lg {\n border-top-right-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-t-2xl {\n border-top-left-radius: var(--oui-rounded-2xl, 1rem);\n border-top-right-radius: var(--oui-rounded-2xl, 1rem);\n}\n.oui-rounded-t-\\[6px\\] {\n border-top-left-radius: 6px;\n border-top-right-radius: 6px;\n}\n.oui-rounded-t-sm {\n border-top-left-radius: var(--oui-rounded-sm, 0.125rem);\n border-top-right-radius: var(--oui-rounded-sm, 0.125rem);\n}\n.oui-rounded-t-xl {\n border-top-left-radius: var(--oui-rounded-xl, 0.75rem);\n border-top-right-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.\\!oui-rounded-bl {\n border-bottom-left-radius: var(--oui-rounded, 0.25rem) !important;\n}\n.oui-rounded-bl {\n border-bottom-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-bl-\\[6px\\] {\n border-bottom-left-radius: 6px;\n}\n.oui-rounded-bl-xl {\n border-bottom-left-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-br-\\[3px\\] {\n border-bottom-right-radius: 3px;\n}\n.oui-rounded-br-lg {\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n.oui-rounded-br-none {\n border-bottom-right-radius: 0;\n}\n.oui-rounded-br-xl {\n border-bottom-right-radius: var(--oui-rounded-xl, 0.75rem);\n}\n.oui-rounded-tl {\n border-top-left-radius: var(--oui-rounded, 0.25rem);\n}\n.oui-rounded-tl-none {\n border-top-left-radius: 0;\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-\\[2\\.5px\\] {\n border-width: 2.5px;\n}\n.oui-border-\\[2px\\] {\n border-width: 2px;\n}\n.oui-border-\\[4px\\] {\n border-width: 4px;\n}\n.oui-border-y-2 {\n border-top-width: 2px;\n border-bottom-width: 2px;\n}\n.oui-border-b {\n border-bottom-width: 1px;\n}\n.oui-border-b-2 {\n border-bottom-width: 2px;\n}\n.oui-border-l {\n border-left-width: 1px;\n}\n.oui-border-r {\n border-right-width: 1px;\n}\n.oui-border-t {\n border-top-width: 1px;\n}\n.oui-border-t-2 {\n border-top-width: 2px;\n}\n.\\!oui-border-solid {\n border-style: solid !important;\n}\n.oui-border-solid {\n border-style: solid;\n}\n.oui-border-dashed {\n border-style: dashed;\n}\n.oui-border-dotted {\n border-style: dotted;\n}\n.\\!oui-border-none {\n border-style: none !important;\n}\n.oui-border-none {\n border-style: none;\n}\n.\\!oui-border-line-12 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12) !important;\n}\n.\\!oui-border-primary-light {\n --tw-border-opacity: 1 !important;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1)) !important;\n}\n.oui-border-\\[\\#38E2FE\\] {\n --tw-border-opacity: 1;\n border-color: rgb(56 226 254 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[\\#B9D1FF\\] {\n --tw-border-opacity: 1;\n border-color: rgb(185 209 255 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[\\#faedff\\] {\n --tw-border-opacity: 1;\n border-color: rgb(250 237 255 / var(--tw-border-opacity, 1));\n}\n.oui-border-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n border-color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n border-color: rgba(var(--oui-gradient-brand-start));\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-primary-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-primary-start)/0.36);\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-secondary-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-secondary-start)/0.36);\n}\n.oui-border-\\[rgba\\(var\\(--oui-gradient-success-start\\)\\/0\\.36\\)\\] {\n border-color: rgba(var(--oui-gradient-success-start)/0.36);\n}\n.oui-border-base-2 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-2) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-4 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-4) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-5 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-5) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-6 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-base-6) / var(--tw-border-opacity, 1));\n}\n.oui-border-base-contrast-12 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-border-base-contrast-16 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.16);\n}\n.oui-border-base-contrast-20 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-border-base-contrast-36 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-border-base-contrast-54 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-border-base-contrast-80 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-border-base-contrast\\/10 {\n border-color: rgb(var(--oui-color-base-foreground) / 0.1);\n}\n.oui-border-base-contrast\\/\\[0\\.08\\] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.08);\n}\n.oui-border-base-contrast\\/\\[0\\.12\\] {\n border-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n}\n.oui-border-danger-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-line {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.oui-border-line-12 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-border-line-16 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-border-line-4 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-border-primary {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary) / var(--tw-border-opacity, 1));\n}\n.oui-border-primary-darken {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-darken) / var(--tw-border-opacity, 1));\n}\n.oui-border-primary-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-success {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-success) / var(--tw-border-opacity, 1));\n}\n.oui-border-trade-loss {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-trading-loss) / var(--tw-border-opacity, 1));\n}\n.oui-border-trade-profit {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-trading-profit) / var(--tw-border-opacity, 1));\n}\n.oui-border-transparent {\n border-color: transparent;\n}\n.oui-border-warning-darken {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-darken) / var(--tw-border-opacity, 1));\n}\n.oui-border-warning-light {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n.oui-border-white\\/10 {\n border-color: rgb(255 255 255 / 0.1);\n}\n.oui-border-white\\/\\[0\\.12\\] {\n border-color: rgb(255 255 255 / 0.12);\n}\n.oui-border-white\\/\\[0\\.36\\] {\n border-color: rgb(255 255 255 / 0.36);\n}\n.oui-border-b-line-4 {\n border-bottom-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-border-b-line-6 {\n border-bottom-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-border-b-transparent {\n border-bottom-color: transparent;\n}\n.oui-border-b-white\\/10 {\n border-bottom-color: rgb(255 255 255 / 0.1);\n}\n.oui-border-l-transparent {\n border-left-color: transparent;\n}\n.oui-border-r-line-16 {\n border-right-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-border-t-transparent {\n border-top-color: transparent;\n}\n.\\!oui-bg-\\[\\#131519\\] {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(19 21 25 / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-\\[\\#181C23\\] {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(24 28 35 / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-base-10\\/60 {\n background-color: rgb(var(--oui-color-base-10) / 0.6) !important;\n}\n.\\!oui-bg-base-8 {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-primary-darken {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(var(--oui-color-primary-darken) / var(--tw-bg-opacity, 1)) !important;\n}\n.\\!oui-bg-transparent {\n background-color: transparent !important;\n}\n.oui-bg-\\[\\#00A858\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 168 88 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#00A9DE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 169 222 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#07080A\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(7 8 10 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#131519\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(19 21 25 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#282e3a\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(40 46 58 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#283BEE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(40 59 238 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#333948\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(51 57 72 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#335FFC\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(51 95 252 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#38E2FE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(56 226 254 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#630EAD\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(99 14 173 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#D25f00\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(210 95 0 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[\\#e9e9eb\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(233 233 235 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[lightgray\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(211 211 211 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-\\[rgba\\(0\\,0\\,0\\,0\\.48\\)\\] {\n background-color: rgba(0,0,0,0.48);\n}\n.oui-bg-\\[rgba\\(232\\,136\\,0\\,0\\.15\\)\\] {\n background-color: rgba(232,136,0,0.15);\n}\n.oui-bg-\\[rgba\\(255\\,125\\,0\\,0\\.1\\)\\] {\n background-color: rgba(255,125,0,0.1);\n}\n.oui-bg-\\[rgba\\(255\\,169\\,64\\,0\\.70\\)\\] {\n background-color: rgba(255,169,64,0.70);\n}\n.oui-bg-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n background-color: rgba(var(--oui-gradient-brand-start));\n}\n.oui-bg-\\[var\\(--oui-table-background-color\\)\\] {\n background-color: var(--oui-table-background-color);\n}\n.oui-bg-base-1 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-1) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-10 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-10) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-2 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-2) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-3 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-3) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-6) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-7 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-8 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-8) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-9 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-9) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-base-contrast {\n background-color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-bg-base-contrast-12 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-bg-base-contrast-20 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-bg-base-contrast-36 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-bg-base-contrast-80 {\n background-color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-bg-black\\/80 {\n background-color: rgb(0 0 0 / 0.8);\n}\n.oui-bg-black\\/\\[0\\.08\\] {\n background-color: rgb(0 0 0 / 0.08);\n}\n.oui-bg-black\\/\\[0\\.15\\] {\n background-color: rgb(0 0 0 / 0.15);\n}\n.oui-bg-danger {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-danger-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-danger\\/15 {\n background-color: rgb(var(--oui-color-danger) / 0.15);\n}\n.oui-bg-line {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.08);\n}\n.oui-bg-line-12 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n}\n.oui-bg-line-6 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n}\n.oui-bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-primary) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-primary-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-red-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-success-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-success\\/15 {\n background-color: rgb(var(--oui-color-success) / 0.15);\n}\n.oui-bg-success\\/20 {\n background-color: rgb(var(--oui-color-success) / 0.2);\n}\n.oui-bg-trade-loss {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-trading-loss) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-trade-loss\\/10 {\n background-color: rgb(var(--oui-color-trading-loss) / 0.1);\n}\n.oui-bg-trade-loss\\/20 {\n background-color: rgb(var(--oui-color-trading-loss) / 0.2);\n}\n.oui-bg-trade-profit {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-trading-profit) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-trade-profit\\/10 {\n background-color: rgb(var(--oui-color-trading-profit) / 0.1);\n}\n.oui-bg-trade-profit\\/20 {\n background-color: rgb(var(--oui-color-trading-profit) / 0.2);\n}\n.oui-bg-transparent {\n background-color: transparent;\n}\n.oui-bg-warning-darken {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-darken) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-warning-darken\\/10 {\n background-color: rgb(var(--oui-color-warning-darken) / 0.1);\n}\n.oui-bg-warning-darken\\/15 {\n background-color: rgb(var(--oui-color-warning-darken) / 0.15);\n}\n.oui-bg-warning-light {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-warning-light) / var(--tw-bg-opacity, 1));\n}\n.oui-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.oui-bg-white\\/30 {\n background-color: rgb(255 255 255 / 0.3);\n}\n.oui-bg-white\\/80 {\n background-color: rgb(255 255 255 / 0.8);\n}\n.oui-bg-white\\/\\[\\.06\\] {\n background-color: rgb(255 255 255 / .06);\n}\n.oui-bg-white\\/\\[\\.54\\] {\n background-color: rgb(255 255 255 / .54);\n}\n.oui-bg-white\\/\\[0\\.04\\] {\n background-color: rgb(255 255 255 / 0.04);\n}\n.oui-bg-white\\/\\[0\\.06\\] {\n background-color: rgb(255 255 255 / 0.06);\n}\n.oui-bg-white\\/\\[0\\.08\\] {\n background-color: rgb(255 255 255 / 0.08);\n}\n.oui-bg-white\\/\\[0\\.12\\] {\n background-color: rgb(255 255 255 / 0.12);\n}\n.oui-bg-white\\/\\[0\\.16\\] {\n background-color: rgb(255 255 255 / 0.16);\n}\n.oui-bg-white\\/\\[0\\.2\\] {\n background-color: rgb(255 255 255 / 0.2);\n}\n.oui-bg-white\\/\\[0\\.54\\] {\n background-color: rgb(255 255 255 / 0.54);\n}\n.oui-bg-white\\/\\[0\\.8\\] {\n background-color: rgb(255 255 255 / 0.8);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#27FDFE_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#27FDFE 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#283BEE_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,\\#A53411_100\\%\\)\\] {\n background-image: linear-gradient(15deg,#283BEE -11%,transparent 30%,transparent 77%,#A53411 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#335FFC_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#335FFC 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#7400D0_-11\\%\\,transparent_30\\%\\,transparent_77\\%\\,\\#009A7E_100\\%\\)\\] {\n background-image: linear-gradient(15deg,#7400D0 -11%,transparent 30%,transparent 77%,#009A7E 100%);\n}\n.oui-bg-\\[linear-gradient\\(15deg\\,\\#D25F00_0\\%\\,transparent_30\\%\\)\\] {\n background-image: linear-gradient(15deg,#D25F00 0%,transparent 30%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,\\#59B0FE_0\\%\\,\\#26FEFE_100\\%\\)\\] {\n background-image: linear-gradient(270deg,#59B0FE 0%,#26FEFE 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgb\\(var\\(--oui-gradient-brand-end\\)\\)_0\\%\\,rgb\\(var\\(--oui-gradient-brand-start\\)\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgb(var(--oui-gradient-brand-end)) 0%,rgb(var(--oui-gradient-brand-start)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgb\\(var\\(--oui-gradient-brand-start\\)\\)_0\\%\\,rgb\\(var\\(--oui-gradient-brand-end\\)\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgb(var(--oui-gradient-brand-start)) 0%,rgb(var(--oui-gradient-brand-end)) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(241\\,215\\,121\\,0\\.0225\\)_-2\\.05\\%\\,rgba\\(255\\,203\\,70\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(241,215,121,0.0225) -2.05%,rgba(255,203,70,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(255\\,233\\,157\\,0\\.0225\\)_-1\\.3\\%\\,rgba\\(160\\,101\\,46\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(255,233,157,0.0225) -1.3%,rgba(160,101,46,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(255\\,255\\,255\\,0\\.0225\\)_-2\\.05\\%\\,rgba\\(199\\,199\\,199\\,0\\.45\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(255,255,255,0.0225) -2.05%,rgba(199,199,199,0.45) 100%);\n}\n.oui-bg-\\[linear-gradient\\(270deg\\,rgba\\(89\\,176\\,254\\,0\\.10\\)_0\\%\\,rgba\\(38\\,254\\,254\\,0\\.10\\)_100\\%\\)\\] {\n background-image: linear-gradient(270deg,rgba(89,176,254,0.10) 0%,rgba(38,254,254,0.10) 100%);\n}\n.oui-bg-\\[linear-gradient\\(90deg\\,rgba\\(var\\(--oui-color-base-9\\)_\\/_0\\)_0\\%\\,rgba\\(var\\(--oui-color-base-9\\)_\\/_1\\)_100\\%\\)\\] {\n background-image: linear-gradient(90deg,rgba(var(--oui-color-base-9) / 0) 0%,rgba(var(--oui-color-base-9) / 1) 100%);\n}\n.oui-bg-gradient-to-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-\\[\\#26fefe\\] {\n --tw-gradient-from: #26fefe var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(38 254 254 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#2d0061\\] {\n --tw-gradient-from: #2d0061 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(45 0 97 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#59b0fe\\] {\n --tw-gradient-from: #59b0fe var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(89 176 254 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#791438\\] {\n --tw-gradient-from: #791438 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(121 20 56 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#792e00\\] {\n --tw-gradient-from: #792e00 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(121 46 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[\\#FF7B00\\] {\n --tw-gradient-from: #FF7B00 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(255 123 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-from: rgb(var(--oui-gradient-brand-start)) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(var(--oui-gradient-brand-start) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgb\\(var\\(--oui-gradient-brand-start\\)_\\/_0\\.12\\)\\] {\n --tw-gradient-from: rgb(var(--oui-gradient-brand-start) / 0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(var(--oui-gradient-brand-start) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\/0\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-brand-end)/0) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-brand-start)) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-brand-start), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-neutral-end\\)\\/1\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-neutral-end)/1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-neutral-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-primary-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-primary-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-primary-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-secondary-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-secondary-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-secondary-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[rgba\\(var\\(--oui-gradient-success-end\\)\\/0\\.12\\)\\] {\n --tw-gradient-from: rgba(var(--oui-gradient-success-end)/0.12) var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(var(--oui-gradient-success-end), 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.oui-from-\\[-20\\%\\] {\n --tw-gradient-from-position: -20%;\n}\n.oui-via-\\[\\#ff7d00\\] {\n --tw-gradient-to: rgb(255 125 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), #ff7d00 var(--tw-gradient-via-position), var(--tw-gradient-to);\n}\n.oui-to-\\[\\#26fefe\\] {\n --tw-gradient-to: #26fefe var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#FFEA00\\] {\n --tw-gradient-to: #FFEA00 var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#bd6bed\\] {\n --tw-gradient-to: #bd6bed var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#d92d6b\\] {\n --tw-gradient-to: #d92d6b var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#ff447c\\] {\n --tw-gradient-to: #ff447c var(--tw-gradient-to-position);\n}\n.oui-to-\\[\\#ffb65d\\] {\n --tw-gradient-to: #ffb65d var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-brand-end\\)\\)\\] {\n --tw-gradient-to: rgb(var(--oui-gradient-brand-end)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgb\\(var\\(--oui-gradient-brand-end\\)_\\/_0\\.12\\)\\] {\n --tw-gradient-to: rgb(var(--oui-gradient-brand-end) / 0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-end\\)\\/0\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-end)/0) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-brand-start)) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-neutral-start\\)\\/1\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-neutral-start)/1) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-primary-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-primary-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-secondary-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-secondary-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[rgba\\(var\\(--oui-gradient-success-start\\)\\/0\\.12\\)\\] {\n --tw-gradient-to: rgba(var(--oui-gradient-success-start)/0.12) var(--tw-gradient-to-position);\n}\n.oui-to-\\[40\\%\\] {\n --tw-gradient-to-position: 40%;\n}\n.oui-bg-contain {\n background-size: contain;\n}\n.oui-bg-cover {\n background-size: cover;\n}\n.oui-bg-clip-padding {\n background-clip: padding-box;\n}\n.oui-bg-clip-text {\n -webkit-background-clip: text;\n background-clip: text;\n}\n.oui-bg-center {\n background-position: center;\n}\n.oui-bg-no-repeat {\n background-repeat: no-repeat;\n}\n.\\!oui-fill-base-6 {\n fill: rgb(var(--oui-color-base-6) / 1) !important;\n}\n.oui-fill-\\[rgba\\(255\\,255\\,255\\,0\\.36\\)\\] {\n fill: rgba(255,255,255,0.36);\n}\n.oui-fill-base-4 {\n fill: rgb(var(--oui-color-base-4) / 1);\n}\n.oui-fill-base-5 {\n fill: rgb(var(--oui-color-base-5) / 1);\n}\n.oui-fill-base-6 {\n fill: rgb(var(--oui-color-base-6) / 1);\n}\n.oui-fill-base-8 {\n fill: rgb(var(--oui-color-base-8) / 1);\n}\n.oui-fill-base-contrast-20 {\n fill: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-fill-base-contrast-36 {\n fill: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-fill-base-contrast-54 {\n fill: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-fill-current {\n fill: currentColor;\n}\n.oui-fill-danger {\n fill: rgb(var(--oui-color-danger) / 1);\n}\n.oui-fill-danger-light {\n fill: rgb(var(--oui-color-danger-light) / 1);\n}\n.oui-fill-primary-darken {\n fill: rgb(var(--oui-color-primary-darken) / 1);\n}\n.oui-fill-primary-light {\n fill: rgb(var(--oui-color-primary-light) / 1);\n}\n.oui-fill-success {\n fill: rgb(var(--oui-color-success) / 1);\n}\n.oui-fill-success-light {\n fill: rgb(var(--oui-color-success-light) / 1);\n}\n.oui-fill-transparent {\n fill: transparent;\n}\n.oui-fill-warning-darken {\n fill: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-fill-warning-light {\n fill: rgb(var(--oui-color-warning-light) / 1);\n}\n.oui-fill-white {\n fill: #fff;\n}\n.oui-fill-white\\/\\[\\.36\\] {\n fill: rgb(255 255 255 / .36);\n}\n.oui-fill-white\\/\\[\\.54\\] {\n fill: rgb(255 255 255 / .54);\n}\n.oui-fill-white\\/\\[\\.98\\] {\n fill: rgb(255 255 255 / .98);\n}\n.oui-object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\n.oui-object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n}\n.oui-object-fill {\n -o-object-fit: fill;\n object-fit: fill;\n}\n.\\!oui-p-0 {\n padding: 0px !important;\n}\n.\\!oui-p-3 {\n padding: 0.75rem !important;\n}\n.\\!oui-p-4 {\n padding: 1rem !important;\n}\n.oui-p-0 {\n padding: 0px;\n}\n.oui-p-0\\.5 {\n padding: 0.125rem;\n}\n.oui-p-1 {\n padding: 0.25rem;\n}\n.oui-p-1\\.5 {\n padding: 0.375rem;\n}\n.oui-p-10 {\n padding: 2.5rem;\n}\n.oui-p-2 {\n padding: 0.5rem;\n}\n.oui-p-3 {\n padding: 0.75rem;\n}\n.oui-p-4 {\n padding: 1rem;\n}\n.oui-p-5 {\n padding: 1.25rem;\n}\n.oui-p-6 {\n padding: 1.5rem;\n}\n.oui-p-7 {\n padding: 1.75rem;\n}\n.oui-p-8 {\n padding: 2rem;\n}\n.oui-p-9 {\n padding: 2.25rem;\n}\n.oui-p-\\[1px\\] {\n padding: 1px;\n}\n.oui-p-\\[2px\\] {\n padding: 2px;\n}\n.oui-p-\\[7px\\] {\n padding: 7px;\n}\n.\\!oui-px-0 {\n padding-left: 0px !important;\n padding-right: 0px !important;\n}\n.\\!oui-px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n.\\!oui-py-\\[2px\\] {\n padding-top: 2px !important;\n padding-bottom: 2px !important;\n}\n.oui-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.oui-px-0\\.5 {\n padding-left: 0.125rem;\n padding-right: 0.125rem;\n}\n.oui-px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.oui-px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n.oui-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.oui-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.oui-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n.oui-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.oui-px-7 {\n padding-left: 1.75rem;\n padding-right: 1.75rem;\n}\n.oui-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n.oui-px-9 {\n padding-left: 2.25rem;\n padding-right: 2.25rem;\n}\n.oui-px-\\[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-\\[6px\\] {\n padding-left: 6px;\n padding-right: 6px;\n}\n.oui-px-\\[7px\\] {\n padding-left: 7px;\n padding-right: 7px;\n}\n.oui-px-px {\n padding-left: 1px;\n padding-right: 1px;\n}\n.oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.oui-py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n.oui-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.oui-py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.oui-py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n}\n.oui-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n.oui-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.oui-py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n.oui-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.oui-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.oui-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n.oui-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n.oui-py-7 {\n padding-top: 1.75rem;\n padding-bottom: 1.75rem;\n}\n.oui-py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n.oui-py-9 {\n padding-top: 2.25rem;\n padding-bottom: 2.25rem;\n}\n.oui-py-\\[10px\\] {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n.oui-py-\\[11px\\] {\n padding-top: 11px;\n padding-bottom: 11px;\n}\n.oui-py-\\[13px\\] {\n padding-top: 13px;\n padding-bottom: 13px;\n}\n.oui-py-\\[2px\\] {\n padding-top: 2px;\n padding-bottom: 2px;\n}\n.oui-py-\\[3px\\] {\n padding-top: 3px;\n padding-bottom: 3px;\n}\n.oui-py-\\[5px\\] {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n.oui-py-\\[6px\\] {\n padding-top: 6px;\n padding-bottom: 6px;\n}\n.\\!oui-pb-0 {\n padding-bottom: 0px !important;\n}\n.\\!oui-pl-5 {\n padding-left: 1.25rem !important;\n}\n.\\!oui-pr-0 {\n padding-right: 0px !important;\n}\n.\\!oui-pr-5 {\n padding-right: 1.25rem !important;\n}\n.\\!oui-pt-0 {\n padding-top: 0px !important;\n}\n.\\!oui-pt-3 {\n padding-top: 0.75rem !important;\n}\n.\\!oui-pt-8 {\n padding-top: 2rem !important;\n}\n.oui-pb-0 {\n padding-bottom: 0px;\n}\n.oui-pb-1 {\n padding-bottom: 0.25rem;\n}\n.oui-pb-10 {\n padding-bottom: 2.5rem;\n}\n.oui-pb-2 {\n padding-bottom: 0.5rem;\n}\n.oui-pb-3 {\n padding-bottom: 0.75rem;\n}\n.oui-pb-4 {\n padding-bottom: 1rem;\n}\n.oui-pb-5 {\n padding-bottom: 1.25rem;\n}\n.oui-pb-6 {\n padding-bottom: 1.5rem;\n}\n.oui-pb-7 {\n padding-bottom: 1.75rem;\n}\n.oui-pb-8 {\n padding-bottom: 2rem;\n}\n.oui-pb-9 {\n padding-bottom: 2.25rem;\n}\n.oui-pb-\\[5px\\] {\n padding-bottom: 5px;\n}\n.oui-pb-\\[calc\\(env\\(safe-area-inset-bottom\\)\\)\\] {\n padding-bottom: calc(env(safe-area-inset-bottom));\n}\n.oui-pb-\\[env\\(safe-area-inset-bottom\\)\\] {\n padding-bottom: env(safe-area-inset-bottom);\n}\n.oui-pb-\\[env\\(safe-area-inset-bottom\\,_20px\\)\\] {\n padding-bottom: env(safe-area-inset-bottom, 20px);\n}\n.oui-pl-0 {\n padding-left: 0px;\n}\n.oui-pl-0\\.5 {\n padding-left: 0.125rem;\n}\n.oui-pl-1 {\n padding-left: 0.25rem;\n}\n.oui-pl-10 {\n padding-left: 2.5rem;\n}\n.oui-pl-2 {\n padding-left: 0.5rem;\n}\n.oui-pl-2\\.5 {\n padding-left: 0.625rem;\n}\n.oui-pl-3 {\n padding-left: 0.75rem;\n}\n.oui-pl-4 {\n padding-left: 1rem;\n}\n.oui-pl-5 {\n padding-left: 1.25rem;\n}\n.oui-pl-6 {\n padding-left: 1.5rem;\n}\n.oui-pl-7 {\n padding-left: 1.75rem;\n}\n.oui-pl-8 {\n padding-left: 2rem;\n}\n.oui-pl-9 {\n padding-left: 2.25rem;\n}\n.oui-pr-0 {\n padding-right: 0px;\n}\n.oui-pr-1 {\n padding-right: 0.25rem;\n}\n.oui-pr-1\\.5 {\n padding-right: 0.375rem;\n}\n.oui-pr-10 {\n padding-right: 2.5rem;\n}\n.oui-pr-2 {\n padding-right: 0.5rem;\n}\n.oui-pr-2\\.5 {\n padding-right: 0.625rem;\n}\n.oui-pr-3 {\n padding-right: 0.75rem;\n}\n.oui-pr-4 {\n padding-right: 1rem;\n}\n.oui-pr-5 {\n padding-right: 1.25rem;\n}\n.oui-pr-6 {\n padding-right: 1.5rem;\n}\n.oui-pr-7 {\n padding-right: 1.75rem;\n}\n.oui-pr-8 {\n padding-right: 2rem;\n}\n.oui-pr-9 {\n padding-right: 2.25rem;\n}\n.oui-pr-\\[-4px\\] {\n padding-right: -4px;\n}\n.oui-pr-\\[5px\\] {\n padding-right: 5px;\n}\n.oui-pr-\\[6px\\] {\n padding-right: 6px;\n}\n.oui-pt-0 {\n padding-top: 0px;\n}\n.oui-pt-1 {\n padding-top: 0.25rem;\n}\n.oui-pt-10 {\n padding-top: 2.5rem;\n}\n.oui-pt-2 {\n padding-top: 0.5rem;\n}\n.oui-pt-3 {\n padding-top: 0.75rem;\n}\n.oui-pt-4 {\n padding-top: 1rem;\n}\n.oui-pt-5 {\n padding-top: 1.25rem;\n}\n.oui-pt-6 {\n padding-top: 1.5rem;\n}\n.oui-pt-7 {\n padding-top: 1.75rem;\n}\n.oui-pt-8 {\n padding-top: 2rem;\n}\n.oui-pt-9 {\n padding-top: 2.25rem;\n}\n.oui-pt-\\[2px\\] {\n padding-top: 2px;\n}\n.oui-pt-\\[6px\\] {\n padding-top: 6px;\n}\n.oui-text-left {\n text-align: left;\n}\n.oui-text-center {\n text-align: center;\n}\n.oui-text-right {\n text-align: right;\n}\n.oui-text-end {\n text-align: end;\n}\n.\\!oui-text-\\[10px\\] {\n font-size: 10px !important;\n}\n.oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n}\n.oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n}\n.oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n}\n.oui-text-3xs {\n font-size: var(--oui-font-size-3xs, 0.625rem);\n line-height: 0.625rem;\n}\n.oui-text-4xl {\n font-size: var(--oui-font-size-4xl, 1.875rem);\n line-height: 2.375rem;\n}\n.oui-text-5xl {\n font-size: var(--oui-font-size-5xl, 2.25rem);\n line-height: 2.75rem;\n}\n.oui-text-6xl {\n font-size: var(--oui-font-size-6xl, 3rem);\n line-height: 3rem;\n}\n.oui-text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n}\n.oui-text-\\[10px\\] {\n font-size: 10px;\n}\n.oui-text-\\[11px\\] {\n font-size: 11px;\n}\n.oui-text-\\[14px\\] {\n font-size: 14px;\n}\n.oui-text-\\[16px\\] {\n font-size: 16px;\n}\n.oui-text-\\[18px\\] {\n font-size: 18px;\n}\n.oui-text-\\[20px\\] {\n font-size: 20px;\n}\n.oui-text-\\[24px\\] {\n font-size: 24px;\n}\n.oui-text-\\[28px\\] {\n font-size: 28px;\n}\n.oui-text-\\[32px\\] {\n font-size: 32px;\n}\n.oui-text-\\[36px\\] {\n font-size: 36px;\n}\n.oui-text-\\[48px\\] {\n font-size: 48px;\n}\n.oui-text-\\[56px\\] {\n font-size: 56px;\n}\n.oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n}\n.oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n}\n.oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n}\n.oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n}\n.oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n}\n.oui-font-bold {\n font-weight: 700;\n}\n.oui-font-medium {\n font-weight: 500;\n}\n.oui-font-normal {\n font-weight: 400;\n}\n.oui-font-semibold {\n font-weight: 600;\n}\n.oui-tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n.oui-leading-10 {\n line-height: 2.5rem;\n}\n.oui-leading-3 {\n line-height: .75rem;\n}\n.oui-leading-4 {\n line-height: 1rem;\n}\n.oui-leading-\\[0px\\] {\n line-height: 0px;\n}\n.oui-leading-\\[1\\.5\\] {\n line-height: 1.5;\n}\n.oui-leading-\\[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-\\[34px\\] {\n line-height: 34px;\n}\n.oui-leading-\\[36px\\] {\n line-height: 36px;\n}\n.oui-leading-\\[44px\\] {\n line-height: 44px;\n}\n.oui-leading-\\[56px\\] {\n line-height: 56px;\n}\n.oui-leading-none {\n line-height: 1;\n}\n.oui-leading-normal {\n line-height: 1.5;\n}\n.oui-leading-relaxed {\n line-height: 1.625;\n}\n.oui-tracking-tight {\n letter-spacing: -0.025em;\n}\n.oui-tracking-widest {\n letter-spacing: 0.1em;\n}\n.oui-text-\\[\\#63666D\\] {\n --tw-text-opacity: 1;\n color: rgb(99 102 109 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#D25f00\\] {\n --tw-text-opacity: 1;\n color: rgb(210 95 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#FF7D00\\] {\n --tw-text-opacity: 1;\n color: rgb(255 125 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[\\#FF9A2E\\] {\n --tw-text-opacity: 1;\n color: rgb(255 154 46 / var(--tw-text-opacity, 1));\n}\n.oui-text-\\[rgb\\(var\\(--oui-gradient-brand-start\\)\\)\\] {\n color: rgb(var(--oui-gradient-brand-start));\n}\n.oui-text-\\[rgba\\(0\\,0\\,0\\,\\.88\\)\\] {\n color: rgba(0,0,0,.88);\n}\n.oui-text-\\[rgba\\(0\\,0\\,0\\,0\\.88\\)\\] {\n color: rgba(0,0,0,0.88);\n}\n.oui-text-\\[rgba\\(255\\,154\\,46\\,1\\)\\] {\n color: rgba(255,154,46,1);\n}\n.oui-text-base-1 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-1) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-5 {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-base-5) / var(--tw-text-opacity, 1));\n}\n.oui-text-base-contrast {\n color: rgb(var(--oui-color-base-foreground) / 0.98);\n}\n.oui-text-base-contrast-12 {\n color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-text-base-contrast-36 {\n color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-text-base-contrast-54 {\n color: rgb(var(--oui-color-base-foreground) / 0.54);\n}\n.oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n}\n.oui-text-base-contrast\\/30 {\n color: rgb(var(--oui-color-base-foreground) / 0.3);\n}\n.oui-text-base-contrast\\/40 {\n color: rgb(var(--oui-color-base-foreground) / 0.4);\n}\n.oui-text-base-contrast\\/60 {\n color: rgb(var(--oui-color-base-foreground) / 0.6);\n}\n.oui-text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\n}\n.oui-text-black\\/\\[\\.36\\] {\n color: rgb(0 0 0 / .36);\n}\n.oui-text-black\\/\\[\\.88\\] {\n color: rgb(0 0 0 / .88);\n}\n.oui-text-black\\/\\[0\\.2\\] {\n color: rgb(0 0 0 / 0.2);\n}\n.oui-text-black\\/\\[0\\.88\\] {\n color: rgb(0 0 0 / 0.88);\n}\n.oui-text-current {\n color: currentColor;\n}\n.oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-danger-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-gray-200 {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.oui-text-gray-300 {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n}\n.oui-text-inherit {\n color: inherit;\n}\n.oui-text-primary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-primary-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-primary-light\\/60 {\n color: rgb(var(--oui-color-primary-light) / 0.6);\n}\n.oui-text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.oui-text-secondary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-secondary) / var(--tw-text-opacity, 1));\n}\n.oui-text-secondary\\/\\[0\\.36\\] {\n color: rgb(var(--oui-color-secondary) / 0.36);\n}\n.oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-success-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-tertiary {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-tertiary) / var(--tw-text-opacity, 1));\n}\n.oui-text-trade-loss {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-trading-loss) / var(--tw-text-opacity, 1));\n}\n.oui-text-trade-profit {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-trading-profit) / var(--tw-text-opacity, 1));\n}\n.oui-text-transparent {\n color: transparent;\n}\n.oui-text-warning {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-contrast {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-contrast) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n}\n.oui-text-warning-light {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-light) / var(--tw-text-opacity, 1));\n}\n.oui-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.oui-text-white\\/\\[\\.36\\] {\n color: rgb(255 255 255 / .36);\n}\n.oui-underline {\n text-decoration-line: underline;\n}\n.oui-decoration-base-contrast-36 {\n text-decoration-color: rgb(var(--oui-color-base-foreground) / 0.36);\n}\n.oui-decoration-line-16 {\n text-decoration-color: rgb(var(--oui-color-line, 255 255 255) / 0.16);\n}\n.oui-decoration-warning-darken {\n text-decoration-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-decoration-white\\/20 {\n text-decoration-color: rgb(255 255 255 / 0.2);\n}\n.oui-decoration-dashed {\n text-decoration-style: dashed;\n}\n.oui-decoration-1 {\n text-decoration-thickness: 1px;\n}\n.oui-underline-offset-2 {\n text-underline-offset: 2px;\n}\n.oui-underline-offset-4 {\n text-underline-offset: 4px;\n}\n.oui-placeholder-base-contrast-20::-moz-placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-placeholder-base-contrast-20::placeholder {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n}\n.oui-caret-\\[rgba\\(217\\,217\\,217\\,1\\)\\] {\n caret-color: rgba(217,217,217,1);\n}\n.oui-opacity-0 {\n opacity: 0;\n}\n.oui-opacity-100 {\n opacity: 1;\n}\n.oui-opacity-20 {\n opacity: 0.2;\n}\n.oui-opacity-30 {\n opacity: 0.3;\n}\n.oui-opacity-40 {\n opacity: 0.4;\n}\n.oui-opacity-50 {\n opacity: 0.5;\n}\n.oui-opacity-60 {\n opacity: 0.6;\n}\n.oui-opacity-70 {\n opacity: 0.7;\n}\n.oui-opacity-80 {\n opacity: 0.8;\n}\n.oui-opacity-\\[\\.12\\] {\n opacity: .12;\n}\n.oui-bg-blend-luminosity {\n background-blend-mode: luminosity;\n}\n.oui-mix-blend-screen {\n mix-blend-mode: screen;\n}\n.oui-mix-blend-luminosity {\n mix-blend-mode: luminosity;\n}\n.\\!oui-shadow-none {\n --tw-shadow: 0 0 #0000 !important;\n --tw-shadow-colored: 0 0 #0000 !important;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;\n}\n.oui-shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-\\[0_0_8px_4px_rgba\\(var\\(--oui-gradient-brand-start\\)\\/0\\.12\\)\\] {\n --tw-shadow: 0 0 8px 4px rgba(var(--oui-gradient-brand-start)/0.12);\n --tw-shadow-colored: 0 0 8px 4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-\\[0px_12px_20px_0px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\] {\n --tw-shadow: 0px 12px 20px 0px rgba(0,0,0,0.25);\n --tw-shadow-colored: 0px 12px 20px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-inner {\n --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-none {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.oui-shadow-base-9 {\n --tw-shadow-color: rgb(var(--oui-color-base-9) / 1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.oui-outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.oui-outline {\n outline-style: solid;\n}\n.oui-outline-1 {\n outline-width: 1px;\n}\n.oui-outline-2 {\n outline-width: 2px;\n}\n.oui-outline-offset-0 {\n outline-offset: 0px;\n}\n.oui-outline-base-1 {\n outline-color: rgb(var(--oui-color-base-1) / 1);\n}\n.oui-outline-base-8 {\n outline-color: rgb(var(--oui-color-base-8) / 1);\n}\n.oui-outline-base-contrast-12 {\n outline-color: rgb(var(--oui-color-base-foreground) / 0.12);\n}\n.oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n}\n.oui-outline-danger-light {\n outline-color: rgb(var(--oui-color-danger-light) / 1);\n}\n.oui-outline-line-12 {\n outline-color: rgb(var(--oui-color-line, 255 255 255) / 0.12);\n}\n.oui-outline-primary-darken {\n outline-color: rgb(var(--oui-color-primary-darken) / 1);\n}\n.oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n}\n.oui-outline-transparent {\n outline-color: transparent;\n}\n.oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n}\n.oui-outline-warning-light {\n outline-color: rgb(var(--oui-color-warning-light) / 1);\n}\n.oui-ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.oui-blur-\\[200px\\] {\n --tw-blur: blur(200px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.oui-drop-shadow {\n --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.oui-backdrop-blur-\\[10px\\] {\n --tw-backdrop-blur: blur(10px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.oui-backdrop-blur-\\[200px\\] {\n --tw-backdrop-blur: blur(200px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.oui-backdrop-blur-\\[2px\\] {\n --tw-backdrop-blur: blur(2px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.\\!oui-transition-none {\n transition-property: none !important;\n}\n.oui-transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-\\[height\\] {\n transition-property: height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-\\[max-height\\] {\n transition-property: max-height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.oui-duration-150 {\n transition-duration: 150ms;\n}\n.oui-duration-200 {\n transition-duration: 200ms;\n}\n.oui-duration-300 {\n transition-duration: 300ms;\n}\n.oui-ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.oui-will-change-transform {\n will-change: transform;\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.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-left-\\[-32px\\]::before {\n content: var(--tw-content);\n left: -32px;\n}\n\n.before\\:oui-right-\\[-32px\\]::before {\n content: var(--tw-content);\n right: -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-left-0::after {\n content: var(--tw-content);\n left: 0px;\n}\n\n.after\\:oui-left-1\\/2::after {\n content: var(--tw-content);\n left: 50%;\n}\n\n.after\\:oui-right-0::after {\n content: var(--tw-content);\n right: 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-\\[30px\\]::after {\n content: var(--tw-content);\n height: 30px;\n}\n\n.after\\:oui-h-\\[40px\\]::after {\n content: var(--tw-content);\n height: 40px;\n}\n\n.after\\:oui-h-\\[48px\\]::after {\n content: var(--tw-content);\n height: 48px;\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-l-lg::after {\n content: var(--tw-content);\n border-top-left-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-left-radius: var(--oui-rounded-lg, 0.5rem);\n}\n\n.after\\:oui-rounded-r-lg::after {\n content: var(--tw-content);\n border-top-right-radius: var(--oui-rounded-lg, 0.5rem);\n border-bottom-right-radius: var(--oui-rounded-lg, 0.5rem);\n}\n\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-l::after {\n content: var(--tw-content);\n border-left-width: 1px;\n}\n\n.after\\:oui-border-r::after {\n content: var(--tw-content);\n border-right-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-bg-white\\/50::after {\n content: var(--tw-content);\n background-color: rgb(255 255 255 / 0.5);\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-border-danger-light:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\n}\n\n.focus-within\\:oui-border-warning-light:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n\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-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-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-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-bg-white\\/80:hover {\n background-color: rgb(255 255 255 / 0.8);\n}\n\n.hover\\:oui-bg-white\\/\\[\\.54\\]:hover {\n background-color: rgb(255 255 255 / .54);\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-fill-white\\/80:hover {\n fill: rgb(255 255 255 / 0.8);\n}\n\n.hover\\:oui-fill-white\\/\\[\\.98\\]:hover {\n fill: rgb(255 255 255 / .98);\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-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-secondary\\/80:hover {\n color: rgb(var(--oui-color-secondary) / 0.8);\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-danger-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger-light) / var(--tw-border-opacity, 1));\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-border-primary-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-primary-light) / var(--tw-border-opacity, 1));\n}\n\n.focus\\:oui-border-warning-light:focus {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-warning-light) / var(--tw-border-opacity, 1));\n}\n\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-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-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-bg-white\\/50:active {\n background-color: rgb(255 255 255 / 0.5);\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-7:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-7) / var(--tw-bg-opacity, 1));\n}\n\n.disabled\\:oui-bg-transparent:disabled {\n background-color: transparent;\n}\n\n.disabled\\:oui-bg-white\\/30:disabled {\n background-color: rgb(255 255 255 / 0.3);\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-black\\/\\[\\.36\\]:disabled {\n color: rgb(0 0 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-white\\/30:disabled:hover {\n background-color: rgb(255 255 255 / 0.3);\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-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: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-left-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n left: 0px;\n}\n\n.data-\\[state\\=active\\]\\:after\\:oui-right-0[data-state=\"active\"]::after {\n content: var(--tw-content);\n right: 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-white[data-state=\"active\"]::after {\n content: var(--tw-content);\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\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-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-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:oui-space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:oui-space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .sm\\:oui-rounded-xl {\n border-radius: var(--oui-rounded-xl, 0.75rem);\n }\n}\n\n@media (min-width: 480px) {\n\n .md\\:oui-right-4 {\n right: 1rem;\n }\n\n .md\\:oui-top-1\\/2 {\n top: 50%;\n }\n\n .md\\:oui-m-3 {\n margin: 0.75rem;\n }\n\n .md\\:oui-mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n }\n\n .md\\:oui-mt-3 {\n margin-top: 0.75rem;\n }\n\n .md\\:oui-mt-5 {\n margin-top: 1.25rem;\n }\n\n .md\\:oui-block {\n display: block;\n }\n\n .md\\:oui-flex {\n display: flex;\n }\n\n .md\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .md\\:oui-hidden {\n display: none;\n }\n\n .md\\:oui-size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n\n .md\\:oui-h-10 {\n height: 2.5rem;\n }\n\n .md\\:oui-h-12 {\n height: 3rem;\n }\n\n .md\\:oui-h-3 {\n height: 0.75rem;\n }\n\n .md\\:oui-h-4 {\n height: 1rem;\n }\n\n .md\\:oui-h-5 {\n height: 1.25rem;\n }\n\n .md\\:oui-h-6 {\n height: 1.5rem;\n }\n\n .md\\:oui-h-7 {\n height: 1.75rem;\n }\n\n .md\\:oui-h-8 {\n height: 2rem;\n }\n\n .md\\:oui-h-\\[14px\\] {\n height: 14px;\n }\n\n .md\\:oui-h-\\[18px\\] {\n height: 18px;\n }\n\n .md\\:oui-h-\\[24px\\] {\n height: 24px;\n }\n\n .md\\:oui-h-\\[46px\\] {\n height: 46px;\n }\n\n .md\\:oui-h-\\[48px\\] {\n height: 48px;\n }\n\n .md\\:oui-h-\\[52px\\] {\n height: 52px;\n }\n\n .md\\:oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .md\\:oui-w-3 {\n width: 0.75rem;\n }\n\n .md\\:oui-w-4 {\n width: 1rem;\n }\n\n .md\\:oui-w-5 {\n width: 1.25rem;\n }\n\n .md\\:oui-w-6 {\n width: 1.5rem;\n }\n\n .md\\:oui-w-\\[14px\\] {\n width: 14px;\n }\n\n .md\\:oui-w-\\[18px\\] {\n width: 18px;\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-auto {\n width: auto;\n }\n\n .md\\:oui-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n\n .md\\:oui-w-full {\n width: 100%;\n }\n\n .md\\:oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .md\\:oui-flex-shrink {\n flex-shrink: 1;\n }\n\n .md\\:oui-translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:oui-cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .md\\:oui-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n\n .md\\:oui-flex-row {\n flex-direction: row;\n }\n\n .md\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .md\\:oui-flex-col {\n flex-direction: column;\n }\n\n .md\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .md\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .md\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .md\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .md\\:oui-items-start {\n align-items: flex-start;\n }\n\n .md\\:oui-items-end {\n align-items: flex-end;\n }\n\n .md\\:oui-items-center {\n align-items: center;\n }\n\n .md\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .md\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .md\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .md\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .md\\:oui-justify-center {\n justify-content: center;\n }\n\n .md\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .md\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .md\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .md\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .md\\:oui-gap-4 {\n gap: 1rem;\n }\n\n .md\\:oui-gap-5 {\n gap: 1.25rem;\n }\n\n .md\\:oui-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n }\n\n .md\\:oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n }\n\n .md\\:oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n }\n\n .md\\:oui-rounded-none {\n border-radius: 0;\n }\n\n .md\\:oui-border {\n border-width: 1px;\n }\n\n .md\\:oui-border-danger {\n --tw-border-opacity: 1;\n border-color: rgb(var(--oui-color-danger) / var(--tw-border-opacity, 1));\n }\n\n .md\\:oui-border-line-6 {\n border-color: rgb(var(--oui-color-line, 255 255 255) / 0.06);\n }\n\n .md\\:oui-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n }\n\n .md\\:oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n }\n\n .md\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n }\n\n .md\\:oui-p-10 {\n padding: 2.5rem;\n }\n\n .md\\:oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .md\\:oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .md\\:oui-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n\n .md\\:oui-pb-\\[14px\\] {\n padding-bottom: 14px;\n }\n\n .md\\:oui-pl-0 {\n padding-left: 0px;\n }\n\n .md\\:oui-pl-2 {\n padding-left: 0.5rem;\n }\n\n .md\\:oui-pl-3 {\n padding-left: 0.75rem;\n }\n\n .md\\:oui-pl-4 {\n padding-left: 1rem;\n }\n\n .md\\:oui-pr-0 {\n padding-right: 0px;\n }\n\n .md\\:oui-pr-2 {\n padding-right: 0.5rem;\n }\n\n .md\\:oui-pr-3 {\n padding-right: 0.75rem;\n }\n\n .md\\:oui-pr-\\[60px\\] {\n padding-right: 60px;\n }\n\n .md\\:oui-pt-3 {\n padding-top: 0.75rem;\n }\n\n .md\\:oui-text-left {\n text-align: left;\n }\n\n .md\\:oui-text-center {\n text-align: center;\n }\n\n .md\\:oui-text-right {\n text-align: right;\n }\n\n .md\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .md\\:oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n }\n\n .md\\:oui-text-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-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n }\n\n .md\\:oui-text-base-contrast-80 {\n color: rgb(var(--oui-color-base-foreground) / 0.80);\n }\n\n .md\\:oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n }\n\n .md\\:oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .md\\:oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .md\\:oui-outline-transparent {\n outline-color: transparent;\n }\n\n .md\\:oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .md\\:placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .md\\:placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .md\\:placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .md\\:after\\:oui-h-\\[48px\\]::after {\n content: var(--tw-content);\n height: 48px;\n }\n\n .md\\:focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .md\\:focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .md\\:focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .md\\:focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n }\n\n .md\\:data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .md\\:data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n}\n\n@media (min-width: 768px) {\n\n .lg\\:oui-mb-8 {\n margin-bottom: 2rem;\n }\n\n .lg\\:oui-flex {\n display: flex;\n }\n\n .lg\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .lg\\:oui-size-5 {\n width: 1.25rem;\n height: 1.25rem;\n }\n\n .lg\\:oui-size-\\[20px\\] {\n width: 20px;\n height: 20px;\n }\n\n .lg\\:\\!oui-h-\\[700px\\] {\n height: 700px !important;\n }\n\n .lg\\:oui-h-10 {\n height: 2.5rem;\n }\n\n .lg\\:oui-h-12 {\n height: 3rem;\n }\n\n .lg\\:oui-h-3 {\n height: 0.75rem;\n }\n\n .lg\\:oui-h-4 {\n height: 1rem;\n }\n\n .lg\\:oui-h-5 {\n height: 1.25rem;\n }\n\n .lg\\:oui-h-6 {\n height: 1.5rem;\n }\n\n .lg\\:oui-h-7 {\n height: 1.75rem;\n }\n\n .lg\\:oui-h-8 {\n height: 2rem;\n }\n\n .lg\\:oui-h-\\[20px\\] {\n height: 20px;\n }\n\n .lg\\:oui-h-\\[28px\\] {\n height: 28px;\n }\n\n .lg\\:oui-h-\\[64px\\] {\n height: 64px;\n }\n\n .lg\\:oui-h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .lg\\:oui-min-h-\\[46px\\] {\n min-height: 46px;\n }\n\n .lg\\:oui-w-3 {\n width: 0.75rem;\n }\n\n .lg\\:oui-w-4 {\n width: 1rem;\n }\n\n .lg\\:oui-w-5 {\n width: 1.25rem;\n }\n\n .lg\\:oui-w-6 {\n width: 1.5rem;\n }\n\n .lg\\:oui-w-7 {\n width: 1.75rem;\n }\n\n .lg\\:oui-w-\\[154px\\] {\n width: 154px;\n }\n\n .lg\\:oui-w-\\[184px\\] {\n width: 184px;\n }\n\n .lg\\:oui-w-\\[20px\\] {\n width: 20px;\n }\n\n .lg\\:oui-w-\\[28px\\] {\n width: 28px;\n }\n\n .lg\\:oui-w-\\[360px\\] {\n width: 360px;\n }\n\n .lg\\:oui-w-\\[64px\\] {\n width: 64px;\n }\n\n .lg\\:oui-w-\\[calc\\(\\(100\\%_-_8px\\)\\/3\\)\\] {\n width: calc((100% - 8px) / 3);\n }\n\n .lg\\:oui-w-auto {\n width: auto;\n }\n\n .lg\\:oui-w-full {\n width: 100%;\n }\n\n .lg\\:oui-min-w-\\[184px\\] {\n min-width: 184px;\n }\n\n .lg\\:oui-min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .lg\\:oui-max-w-\\[640px\\] {\n max-width: 640px;\n }\n\n .lg\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .lg\\:-oui-rotate-90 {\n --tw-rotate: -90deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:oui-cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .lg\\:oui-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .lg\\:oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n\n .lg\\:oui-flex-row {\n flex-direction: row;\n }\n\n .lg\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .lg\\:oui-flex-col {\n flex-direction: column;\n }\n\n .lg\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .lg\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .lg\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .lg\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .lg\\:oui-items-start {\n align-items: flex-start;\n }\n\n .lg\\:oui-items-end {\n align-items: flex-end;\n }\n\n .lg\\:oui-items-center {\n align-items: center;\n }\n\n .lg\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .lg\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .lg\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .lg\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .lg\\:oui-justify-center {\n justify-content: center;\n }\n\n .lg\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .lg\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .lg\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .lg\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .lg\\:oui-gap-3 {\n gap: 0.75rem;\n }\n\n .lg\\:oui-gap-4 {\n gap: 1rem;\n }\n\n .lg\\:oui-gap-\\[6px\\] {\n gap: 6px;\n }\n\n .lg\\:oui-gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n }\n\n .lg\\:oui-gap-x-\\[6px\\] {\n -moz-column-gap: 6px;\n column-gap: 6px;\n }\n\n .lg\\:oui-gap-y-2 {\n row-gap: 0.5rem;\n }\n\n .lg\\:oui-rounded-2xl {\n border-radius: var(--oui-rounded-2xl, 1rem);\n }\n\n .lg\\:oui-rounded-md {\n border-radius: var(--oui-rounded-md, 0.375rem);\n }\n\n .lg\\:oui-border {\n border-width: 1px;\n }\n\n .lg\\:oui-border-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-bg-base-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-4) / var(--tw-bg-opacity, 1));\n }\n\n .lg\\:oui-bg-base-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--oui-color-base-5) / var(--tw-bg-opacity, 1));\n }\n\n .lg\\:oui-bg-line-4 {\n background-color: rgb(var(--oui-color-line, 255 255 255) / 0.04);\n }\n\n .lg\\:oui-p-5 {\n padding: 1.25rem;\n }\n\n .lg\\:oui-p-6 {\n padding: 1.5rem;\n }\n\n .lg\\:oui-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .lg\\:oui-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .lg\\:oui-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .lg\\:oui-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .lg\\:oui-py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .lg\\:oui-pb-2 {\n padding-bottom: 0.5rem;\n }\n\n .lg\\:oui-pl-0 {\n padding-left: 0px;\n }\n\n .lg\\:oui-pl-3 {\n padding-left: 0.75rem;\n }\n\n .lg\\:oui-pr-0 {\n padding-right: 0px;\n }\n\n .lg\\:oui-pr-3 {\n padding-right: 0.75rem;\n }\n\n .lg\\:oui-pt-0 {\n padding-top: 0px;\n }\n\n .lg\\:oui-pt-3 {\n padding-top: 0.75rem;\n }\n\n .lg\\:oui-pt-4 {\n padding-top: 1rem;\n }\n\n .lg\\:oui-text-left {\n text-align: left;\n }\n\n .lg\\:oui-text-center {\n text-align: center;\n }\n\n .lg\\:oui-text-right {\n text-align: right;\n }\n\n .lg\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .lg\\:oui-text-2xs {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:oui-text-4xl {\n font-size: var(--oui-font-size-4xl, 1.875rem);\n line-height: 2.375rem;\n }\n\n .lg\\:oui-text-\\[16px\\] {\n font-size: 16px;\n }\n\n .lg\\:oui-text-\\[24px\\] {\n font-size: 24px;\n }\n\n .lg\\:oui-text-\\[48px\\] {\n font-size: 48px;\n }\n\n .lg\\:oui-text-\\[56px\\] {\n font-size: 56px;\n }\n\n .lg\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .lg\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:oui-text-xl {\n font-size: var(--oui-font-size-xl, 1.25rem);\n line-height: 1.75rem;\n }\n\n .lg\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .lg\\:oui-leading-\\[24px\\] {\n line-height: 24px;\n }\n\n .lg\\:oui-leading-\\[32px\\] {\n line-height: 32px;\n }\n\n .lg\\:oui-leading-\\[56px\\] {\n line-height: 56px;\n }\n\n .lg\\:oui-text-base-contrast-20 {\n color: rgb(var(--oui-color-base-foreground) / 0.2);\n }\n\n .lg\\:oui-text-danger {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-danger) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-text-success {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-success) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-text-warning-darken {\n --tw-text-opacity: 1;\n color: rgb(var(--oui-color-warning-darken) / var(--tw-text-opacity, 1));\n }\n\n .lg\\:oui-outline-danger {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .lg\\:oui-outline-success {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .lg\\:oui-outline-transparent {\n outline-color: transparent;\n }\n\n .lg\\:oui-outline-warning-darken {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .lg\\:placeholder\\:oui-text-2xs::-moz-placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:placeholder\\:oui-text-2xs::placeholder {\n font-size: var(--oui-font-size-2xs, 0.75rem);\n line-height: 1.125rem;\n }\n\n .lg\\:placeholder\\:oui-text-base::-moz-placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:placeholder\\:oui-text-base::placeholder {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .lg\\:placeholder\\:oui-text-sm::-moz-placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:placeholder\\:oui-text-sm::placeholder {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .lg\\:focus-within\\:oui-outline-danger:focus-within {\n outline-color: rgb(var(--oui-color-danger) / 1);\n }\n\n .lg\\:focus-within\\:oui-outline-success:focus-within {\n outline-color: rgb(var(--oui-color-success) / 1);\n }\n\n .lg\\:focus-within\\:oui-outline-warning-darken:focus-within {\n outline-color: rgb(var(--oui-color-warning-darken) / 1);\n }\n\n .lg\\:focus\\:oui-ring-danger:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--oui-color-danger) / var(--tw-ring-opacity, 1));\n }\n\n .lg\\:data-\\[side\\=bottom\\]\\:oui-translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=left\\]\\:-oui-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=right\\]\\:oui-translate-x-1[data-side=\"right\"] {\n --tw-translate-x: 0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .lg\\:data-\\[side\\=top\\]\\:-oui-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n}\n\n@media (min-width: 1024px) {\n\n .xl\\:\\!oui-mt-3 {\n margin-top: 0.75rem !important;\n }\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-h-4 {\n height: 1rem;\n }\n\n .xl\\:oui-h-8 {\n height: 2rem;\n }\n\n .xl\\:oui-h-\\[24px\\] {\n height: 24px;\n }\n\n .xl\\:oui-h-\\[90px\\] {\n height: 90px;\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-\\[24px\\] {\n width: 24px;\n }\n\n .xl\\:oui-w-\\[90px\\] {\n width: 90px;\n }\n\n .xl\\:oui-flex-1 {\n flex: 1 1 0%;\n }\n\n .xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .xl\\:oui-items-center {\n align-items: center;\n }\n\n .xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .xl\\:oui-gap-\\[36px\\] {\n gap: 36px;\n }\n\n .xl\\:oui-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n }\n\n .xl\\:oui-space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n }\n\n .xl\\:oui-p-3 {\n padding: 0.75rem;\n }\n\n .xl\\:oui-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .xl\\:oui-pt-2 {\n padding-top: 0.5rem;\n }\n\n .xl\\:oui-text-2xl {\n font-size: var(--oui-font-size-2xl, 1.5rem);\n line-height: 2rem;\n }\n\n .xl\\:oui-text-3xl {\n font-size: var(--oui-font-size-3xl, 1.75rem);\n line-height: 2.25rem;\n }\n\n .xl\\:oui-text-5xl {\n font-size: var(--oui-font-size-5xl, 2.25rem);\n line-height: 2.75rem;\n }\n\n .xl\\:oui-text-\\[32px\\] {\n font-size: 32px;\n }\n\n .xl\\:oui-text-base {\n font-size: var(--oui-font-size-base, 1rem);\n line-height: 1.5rem;\n }\n\n .xl\\:oui-text-lg {\n font-size: var(--oui-font-size-lg, 1.125rem);\n line-height: 1.625rem;\n }\n\n .xl\\:oui-text-sm {\n font-size: var(--oui-font-size-sm,0.875rem);\n line-height: 1.25rem;\n }\n\n .xl\\:oui-text-xs {\n font-size: var(--oui-font-size-xs, calc(0.875rem - 1px));\n line-height: 1.25rem;\n }\n\n .xl\\:oui-leading-\\[24px\\] {\n line-height: 24px;\n }\n\n .min-\\[1024px\\]\\:oui-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\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-mb-0 {\n margin-bottom: 0px;\n }\n\n .\\33xl\\:oui-mt-4 {\n margin-top: 1rem;\n }\n\n .\\33xl\\:oui-flex {\n display: flex;\n }\n\n .\\33xl\\:oui-inline-flex {\n display: inline-flex;\n }\n\n .\\33xl\\:oui-hidden {\n display: none;\n }\n\n .\\33xl\\:oui-max-h-\\[300px\\] {\n max-height: 300px;\n }\n\n .\\33xl\\:oui-w-1\\/3 {\n width: 33.333333%;\n }\n\n .\\33xl\\:oui-w-2\\/3 {\n width: 66.666667%;\n }\n\n .\\33xl\\:oui-flex-\\[0_0_calc\\(\\(100\\%_-_48px\\)_\\/_4\\)\\] {\n flex: 0 0 calc((100% - 48px) / 4);\n }\n\n .\\33xl\\:oui-flex-row {\n flex-direction: row;\n }\n\n .\\33xl\\:oui-flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .\\33xl\\:oui-flex-col {\n flex-direction: column;\n }\n\n .\\33xl\\:oui-flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .\\33xl\\:oui-flex-wrap {\n flex-wrap: wrap;\n }\n\n .\\33xl\\:oui-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .\\33xl\\:oui-flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .\\33xl\\:oui-items-start {\n align-items: flex-start;\n }\n\n .\\33xl\\:oui-items-end {\n align-items: flex-end;\n }\n\n .\\33xl\\:oui-items-center {\n align-items: center;\n }\n\n .\\33xl\\:oui-items-baseline {\n align-items: baseline;\n }\n\n .\\33xl\\:oui-items-stretch {\n align-items: stretch;\n }\n\n .\\33xl\\:oui-justify-start {\n justify-content: flex-start;\n }\n\n .\\33xl\\:oui-justify-end {\n justify-content: flex-end;\n }\n\n .\\33xl\\:oui-justify-center {\n justify-content: center;\n }\n\n .\\33xl\\:oui-justify-between {\n justify-content: space-between;\n }\n\n .\\33xl\\:oui-justify-around {\n justify-content: space-around;\n }\n\n .\\33xl\\:oui-justify-evenly {\n justify-content: space-evenly;\n }\n\n .\\33xl\\:oui-justify-stretch {\n justify-content: stretch;\n }\n\n .\\33xl\\:oui-gap-2 {\n gap: 0.5rem;\n }\n}\n\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-r-md:has(>.oui-day-range-end) {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n\n.\\[\\&\\:has\\(\\>\\.oui-day-range-start\\)\\]\\:oui-rounded-l-md:has(>.oui-day-range-start) {\n border-top-left-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-left-radius: var(--oui-rounded-md, 0.375rem);\n}\n\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-l-md:has([aria-selected]):first-child {\n border-top-left-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-left-radius: var(--oui-rounded-md, 0.375rem);\n}\n\n.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:oui-rounded-r-md:has([aria-selected]):last-child {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n\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-r-md:has([aria-selected].day-range-end) {\n border-top-right-radius: var(--oui-rounded-md, 0.375rem);\n border-bottom-right-radius: var(--oui-rounded-md, 0.375rem);\n}\n\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-pl-0>td:first-child {\n padding-left: 0px;\n}\n\n.\\[\\&\\>td\\:first-child\\]\\:oui-pl-3>td:first-child {\n padding-left: 0.75rem;\n}\n\n.\\[\\&\\>td\\:last-child\\]\\:oui-pr-0>td:last-child {\n padding-right: 0px;\n}\n\n.\\[\\&\\>td\\:last-child\\]\\:oui-pr-3>td:last-child {\n padding-right: 0.75rem;\n}\n\n.\\[\\&\\>th\\:first-child\\]\\:oui-pl-3>th:first-child {\n padding-left: 0.75rem;\n}\n\n.\\[\\&\\>th\\:last-child\\]\\:oui-pr-3>th:last-child {\n padding-right: 0.75rem;\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"]}