@knkcs/anker 0.0.2 → 0.0.3

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,5 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { CardRootProps, TextProps, IconButtonProps, DrawerRootProps, DialogRootProps, HTMLChakraProps, Timeline, TreeView } from '@chakra-ui/react';
3
+ export { TreeCollection, createTreeCollection } from '@chakra-ui/react';
3
4
  import * as React$1 from 'react';
4
5
  import React__default, { MouseEventHandler } from 'react';
5
6
  import { ColumnDef, RowSelectionState, OnChangeFn, SortingState, Row } from '@tanstack/react-table';
@@ -3,6 +3,7 @@ import { IconButton, formatRelativeDateTime, Button, StatusBadge } from '../chun
3
3
  import { Tooltip, MenuRoot, MenuTrigger, MenuContent, MenuItem } from '../chunk-NJFF6S77.js';
4
4
  import { Switch } from '../chunk-RJPEVNMJ.js';
5
5
  import { createContext, Timeline, TreeView, Card as Card$1, Heading, Box, Flex, Grid, GridItem, Text, Menu, Portal, HStack as HStack$1, Checkbox, Table, Drawer, Spacer, ButtonGroup, Collapsible, Dialog, Separator, useSlotRecipe, chakra } from '@chakra-ui/react';
6
+ export { createTreeCollection } from '@chakra-ui/react';
6
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
8
  import React2, { createContext as createContext$1, Children, useMemo, useCallback, useContext } from 'react';
8
9
  import { Ellipsis, ChevronLeft, ChevronRight, ArrowUp, ArrowDown, ArrowUpDown, X, ChevronDown, Check } from 'lucide-react';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/card.tsx","../../src/components/card-list.tsx","../../src/components/card-list-data.tsx","../../src/components/card-list-item.tsx","../../src/components/data-table/cells/action-cell.tsx","../../src/components/data-table/cells/cell-utils.ts","../../src/components/data-table/cells/boolean-cell.tsx","../../src/components/data-table/cells/code-cell.tsx","../../src/components/data-table/cells/color-swatch-cell.tsx","../../src/components/data-table/cells/count-cell.tsx","../../src/components/data-table/cells/date-cell.tsx","../../src/components/data-table/cells/number-cell.tsx","../../src/components/data-table/cells/slug-cell.tsx","../../src/components/data-table/cells/status-badge-cell.tsx","../../src/components/data-table/cells/switch-cell.tsx","../../src/components/data-table/cells/truncated-text-cell.tsx","../../src/components/data-table/cells/url-cell.tsx","../../src/components/pagination.tsx","../../src/components/data-table/data-table.tsx","../../src/components/drawer.tsx","../../src/components/fact-box.tsx","../../src/components/labeled-switch.tsx","../../src/components/modal.tsx","../../src/components/stepper/use-stepper.tsx","../../src/components/stepper/stepper.tsx","../../src/components/timeline.tsx","../../src/components/tree-view.tsx","../../src/components/widget.tsx"],"names":["ChakraCard","jsxs","Box","jsx","Text","Children","Flex","Grid","GridItem","HStack","table","_","Portal","React","ChevronRight","Spacer","X","step","createContext","Fragment","Collapsible","ChakraTimeline","ChakraTreeView","Card"],"mappings":"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","file":"index.js","sourcesContent":["import {\n\ttype CardRootProps,\n\tCard as ChakraCard,\n\tHeading,\n} from \"@chakra-ui/react\";\nimport type React from \"react\";\n\nexport interface CardProps extends Omit<CardRootProps, \"title\"> {\n\tmaxW?: CardRootProps[\"maxW\"];\n\t/** Card title rendered in Card.Header. */\n\ttitle?: React.ReactNode;\n\t/** Custom header content. Overrides title if both provided. */\n\theader?: React.ReactNode;\n\t/** Footer content rendered in Card.Footer. */\n\tfooter?: React.ReactNode;\n\tchildren: React.ReactNode;\n}\n\nexport const Card = ({\n\tref,\n\tmaxW = \"full\",\n\ttitle,\n\theader,\n\tfooter,\n\tchildren,\n\t...props\n}: CardProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\treturn (\n\t\t<ChakraCard.Root\n\t\t\tref={ref}\n\t\t\tbg=\"bg-surface\"\n\t\t\tw=\"full\"\n\t\t\theight=\"full\"\n\t\t\tmaxW={maxW}\n\t\t\tmarginInline=\"auto\"\n\t\t\toverflow=\"hidden\"\n\t\t\t{...props}\n\t\t>\n\t\t\t{(header || title) && (\n\t\t\t\t<ChakraCard.Header>\n\t\t\t\t\t{header ?? <Heading size=\"md\">{title}</Heading>}\n\t\t\t\t</ChakraCard.Header>\n\t\t\t)}\n\t\t\t<ChakraCard.Body overflow=\"hidden\">{children}</ChakraCard.Body>\n\t\t\t{footer && <ChakraCard.Footer>{footer}</ChakraCard.Footer>}\n\t\t</ChakraCard.Root>\n\t);\n};\nCard.displayName = \"Card\";\n","import { Box, Flex, Grid, GridItem } from \"@chakra-ui/react\";\nimport { Children } from \"react\";\n\nexport interface CardListProps {\n\t/** Column header labels displayed above the grid. */\n\theaders: string[];\n\t/** Whether rows have a left-side component slot (e.g., avatar). */\n\thasComponentLeft?: boolean;\n\t/** Whether rows have a right-side menu slot. */\n\thasMenu?: boolean;\n\t/** CardListItem children to render as rows. */\n\tchildren?: React.ReactNode;\n\t/** Total number of grid columns. Defaults to 12. */\n\tcolumnCount?: number;\n\t/** Content to display when there are no rows. */\n\temptyState?: React.ReactNode;\n}\n\nexport const CardList: React.FC<CardListProps> = ({\n\tchildren,\n\theaders,\n\thasComponentLeft,\n\thasMenu,\n\tcolumnCount = 12,\n\temptyState,\n}) => {\n\tconst colSpan = Math.floor(columnCount / headers.length);\n\tconst isEmpty = Children.count(children) === 0;\n\n\treturn (\n\t\t<Box role=\"grid\" aria-colcount={headers.length}>\n\t\t\t<Flex pb={2} px={hasComponentLeft ? 0 : 6}>\n\t\t\t\t{hasComponentLeft && <Box minWidth={75} px={6} />}\n\t\t\t\t<Grid\n\t\t\t\t\tw=\"100%\"\n\t\t\t\t\ttemplateRows=\"repeat(1, 1fr)\"\n\t\t\t\t\ttemplateColumns={`repeat(${columnCount}, 1fr)`}\n\t\t\t\t\tgap={4}\n\t\t\t\t\tfontWeight=\"semibold\"\n\t\t\t\t\tcolor=\"muted\"\n\t\t\t\t>\n\t\t\t\t\t{headers.map((header) => (\n\t\t\t\t\t\t<GridItem key={header} colSpan={colSpan} role=\"columnheader\">\n\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t</GridItem>\n\t\t\t\t\t))}\n\t\t\t\t</Grid>\n\t\t\t\t{hasMenu && <Box minWidth=\"80px\" px={6} />}\n\t\t\t</Flex>\n\n\t\t\t<Flex direction=\"column\" gap=\"3\">\n\t\t\t\t{isEmpty && emptyState ? emptyState : children}\n\t\t\t</Flex>\n\t\t</Box>\n\t);\n};\nCardList.displayName = \"CardList\";\n","import { Text, type TextProps } from \"@chakra-ui/react\";\nimport { Tooltip } from \"../primitives/tooltip\";\n\nexport interface CardListDataProps extends TextProps {\n\t/** Cell content. Strings are shown in a tooltip on overflow. */\n\tchildren: React.ReactNode;\n}\n\nexport const CardListData: React.FC<CardListDataProps> = ({\n\tchildren,\n\t...restProps\n}) => {\n\tconst textContent =\n\t\ttypeof children === \"string\" || typeof children === \"number\"\n\t\t\t? String(children)\n\t\t\t: null;\n\n\treturn (\n\t\t<Tooltip content={textContent ?? \"\"} disabled={!textContent}>\n\t\t\t<Text lineClamp={1} color=\"muted\" {...restProps}>\n\t\t\t\t{children}\n\t\t\t</Text>\n\t\t</Tooltip>\n\t);\n};\nCardListData.displayName = \"CardListData\";\n","import { Box, Flex, Grid, GridItem, Menu, Portal } from \"@chakra-ui/react\";\nimport { Ellipsis } from \"lucide-react\";\nimport type React from \"react\";\nimport { Children } from \"react\";\n\nexport interface CardListMenuItem<T = string> {\n\t/** Text label for the menu item. */\n\tlabel: string;\n\t/** Callback fired when the menu item is clicked. */\n\tonClick: () => void;\n\t/** Icon rendered before the label. */\n\ticon?: React.ReactNode;\n\t/** Text color override for the menu item. */\n\tcolor?: string;\n\t/** Value associated with the menu item. */\n\tvalue?: T;\n}\n\nexport interface CardListItemProps<T = string> {\n\t/** Whether the item is visually selected. */\n\tisActive?: boolean;\n\t/** Callback fired when the row is clicked. */\n\thandleItemClick?: () => void;\n\t/** Callback fired when the row is double-clicked. */\n\thandleItemDoubleClick?: () => void;\n\t/** Menu items rendered in the row's action menu. */\n\tmenuItems?: CardListMenuItem<T>[];\n\t/** Component rendered on the left side of the row (e.g., avatar). */\n\tcomponentLeft?: React.ReactNode;\n\t/** CardListData children to render as cells. */\n\tchildren: React.ReactNode;\n\t/** Total number of grid columns. Defaults to 12. */\n\tcolumnCount?: number;\n}\n\nexport const CardListItem = <T extends string = string>({\n\tisActive,\n\thandleItemClick,\n\thandleItemDoubleClick,\n\tmenuItems,\n\tcomponentLeft,\n\tchildren,\n\tcolumnCount = 12,\n}: CardListItemProps<T>) => {\n\tconst colSpan = Math.floor(columnCount / Children.count(children));\n\n\treturn (\n\t\t<Flex\n\t\t\trole=\"row\"\n\t\t\tboxShadow={isActive ? \"0 0 0 2px token(colors.accent)\" : \"sm\"}\n\t\t\tbg=\"bg-surface\"\n\t\t\tborderRadius=\"lg\"\n\t\t\talignItems=\"stretch\"\n\t\t\toverflow=\"hidden\"\n\t\t\ttransition=\"all 200ms ease\"\n\t\t>\n\t\t\t<Flex\n\t\t\t\twidth=\"100%\"\n\t\t\t\ttransition=\"all 200ms ease\"\n\t\t\t\t_hover={{ bg: \"bg-subtle\", cursor: \"pointer\" }}\n\t\t\t\talignItems=\"stretch\"\n\t\t\t\toverflow=\"hidden\"\n\t\t\t\tonClick={handleItemClick}\n\t\t\t\tonDoubleClick={handleItemDoubleClick}\n\t\t\t\t{...(handleItemClick && {\n\t\t\t\t\trole: \"button\",\n\t\t\t\t\ttabIndex: 0,\n\t\t\t\t\tonKeyDown: (e: React.KeyboardEvent) => {\n\t\t\t\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\thandleItemClick();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{componentLeft && (\n\t\t\t\t\t<Box\n\t\t\t\t\t\twidth={75}\n\t\t\t\t\t\tpx={6}\n\t\t\t\t\t\tdisplay=\"flex\"\n\t\t\t\t\t\tjustifyContent=\"center\"\n\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{componentLeft}\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\n\t\t\t\t<Grid\n\t\t\t\t\tpx={componentLeft === undefined ? 6 : 0}\n\t\t\t\t\tpy={4}\n\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\ttemplateRows=\"repeat(1, 1fr)\"\n\t\t\t\t\ttemplateColumns={`repeat(${columnCount}, 1fr)`}\n\t\t\t\t\tgap={4}\n\t\t\t\t>\n\t\t\t\t\t{Children.map(children, (child, index) => (\n\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: no alternative for key\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tcolSpan={colSpan}\n\t\t\t\t\t\t\tdisplay=\"flex\"\n\t\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t</GridItem>\n\t\t\t\t\t))}\n\t\t\t\t</Grid>\n\t\t\t</Flex>\n\t\t\t{menuItems && (\n\t\t\t\t<Menu.Root>\n\t\t\t\t\t<Menu.Trigger\n\t\t\t\t\t\twidth=\"80px\"\n\t\t\t\t\t\tpx={6}\n\t\t\t\t\t\tdisplay=\"flex\"\n\t\t\t\t\t\tbg=\"accent\"\n\t\t\t\t\t\tcolor=\"on-accent\"\n\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t\tjustifyContent=\"center\"\n\t\t\t\t\t\t_hover={{ opacity: 0.9 }}\n\t\t\t\t\t\taria-label=\"Row actions\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Ellipsis size={20} />\n\t\t\t\t\t</Menu.Trigger>\n\t\t\t\t\t<Portal>\n\t\t\t\t\t\t<Menu.Positioner>\n\t\t\t\t\t\t\t<Menu.Content>\n\t\t\t\t\t\t\t\t{menuItems.map((menuItem) => (\n\t\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\t\tkey={menuItem.label}\n\t\t\t\t\t\t\t\t\t\tonClick={menuItem.onClick}\n\t\t\t\t\t\t\t\t\t\tcolor={menuItem.color}\n\t\t\t\t\t\t\t\t\t\tvalue={menuItem.value ?? menuItem.label}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{menuItem.icon}\n\t\t\t\t\t\t\t\t\t\t{menuItem.label}\n\t\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Menu.Content>\n\t\t\t\t\t\t</Menu.Positioner>\n\t\t\t\t\t</Portal>\n\t\t\t\t</Menu.Root>\n\t\t\t)}\n\t\t</Flex>\n\t);\n};\n(CardListItem as { displayName?: string }).displayName = \"CardListItem\";\n","import type React from \"react\";\nimport { IconButton, type IconButtonProps } from \"../../../atoms/button\";\nimport { HStack } from \"../../../primitives/layout\";\nimport { Tooltip } from \"../../../primitives/tooltip\";\n\nexport interface ActionCellAction {\n\ticon: React.ElementType;\n\tlabel: string;\n\tonClick?: () => void;\n\t/** Renders the action as a link. Mutually exclusive with onClick. */\n\thref?: string;\n\t/** Adds a download attribute to the link. Only used with href. */\n\tdownload?: boolean | string;\n\t/** Link target (e.g., \"_blank\"). Only used with href. */\n\ttarget?: string;\n\tvariant?: IconButtonProps[\"variant\"];\n\tcolorPalette?: string;\n\tdisabled?: boolean;\n}\n\nexport interface ActionCellProps {\n\tactions: ActionCellAction[];\n}\n\nexport const ActionCell: React.FC<ActionCellProps> = ({ actions }) => {\n\treturn (\n\t\t<HStack gap={1}>\n\t\t\t{actions.map((action) => (\n\t\t\t\t<Tooltip key={action.label} content={action.label}>\n\t\t\t\t\t{action.href ? (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\taria-label={action.label}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant={action.variant ?? \"ghost\"}\n\t\t\t\t\t\t\tcolorPalette={action.colorPalette}\n\t\t\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t\t\t\tasChild\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={action.href}\n\t\t\t\t\t\t\t\tdownload={action.download}\n\t\t\t\t\t\t\t\ttarget={action.target}\n\t\t\t\t\t\t\t\trel={\n\t\t\t\t\t\t\t\t\taction.target === \"_blank\" ? \"noopener noreferrer\" : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<action.icon size={16} />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\taria-label={action.label}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant={action.variant ?? \"ghost\"}\n\t\t\t\t\t\t\tcolorPalette={action.colorPalette}\n\t\t\t\t\t\t\tonClick={action.onClick}\n\t\t\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<action.icon size={16} />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t)}\n\t\t\t\t</Tooltip>\n\t\t\t))}\n\t\t</HStack>\n\t);\n};\nActionCell.displayName = \"ActionCell\";\n","/** Dash shown for null/undefined cell values. */\nexport const emptyCellValue = \"—\";\n\n/** Truncate text to maxLength, appending \"…\" if exceeded. */\nexport function truncateText(text: string, maxLength: number): string {\n\tif (text.length <= maxLength) return text;\n\treturn `${text.slice(0, maxLength)}…`;\n}\n\n/** Return singular or plural form based on count. */\nexport function pluralize(\n\tcount: number,\n\tsingular: string,\n\tplural: string,\n): string {\n\treturn count === 1 ? singular : plural;\n}\n","import type React from \"react\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface BooleanCellProps {\n\tvalue: boolean | null | undefined;\n\ttrueLabel?: string;\n\tfalseLabel?: string;\n}\n\nexport const BooleanCell: React.FC<BooleanCellProps> = ({\n\tvalue,\n\ttrueLabel = \"Yes\",\n\tfalseLabel = \"No\",\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\treturn <span>{value ? trueLabel : falseLabel}</span>;\n};\nBooleanCell.displayName = \"BooleanCell\";\n","import type React from \"react\";\nimport { Code } from \"../../../primitives/typography\";\nimport { emptyCellValue, truncateText } from \"./cell-utils\";\n\nexport interface CodeCellProps {\n\tvalue: string | null | undefined;\n\tmaxLength?: number;\n}\n\nexport const CodeCell: React.FC<CodeCellProps> = ({\n\tvalue,\n\tmaxLength = 80,\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\tconst display = truncateText(value, maxLength);\n\treturn (\n\t\t<Code title={value} fontSize=\"0.85em\">\n\t\t\t{display}\n\t\t</Code>\n\t);\n};\nCodeCell.displayName = \"CodeCell\";\n","import type React from \"react\";\nimport { Box, HStack } from \"../../../primitives/layout\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface ColorSwatchCellProps {\n\tvalue: string | null | undefined;\n}\n\nexport const ColorSwatchCell: React.FC<ColorSwatchCellProps> = ({ value }) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\treturn (\n\t\t<HStack gap={2}>\n\t\t\t<Box\n\t\t\t\twidth=\"1rem\"\n\t\t\t\theight=\"1rem\"\n\t\t\t\tborderRadius=\"full\"\n\t\t\t\tbg={value}\n\t\t\t\tborderWidth=\"1px\"\n\t\t\t\tborderColor=\"border\"\n\t\t\t\tflexShrink={0}\n\t\t\t/>\n\t\t\t<span>{value}</span>\n\t\t</HStack>\n\t);\n};\nColorSwatchCell.displayName = \"ColorSwatchCell\";\n","import type React from \"react\";\nimport { emptyCellValue, pluralize } from \"./cell-utils\";\n\nexport interface CountCellProps {\n\tvalue: unknown[] | Record<string, unknown> | number | null | undefined;\n\tsingular: string;\n\tplural: string;\n\tcountFn?: (value: unknown) => number;\n}\n\nexport const CountCell: React.FC<CountCellProps> = ({\n\tvalue,\n\tsingular,\n\tplural,\n\tcountFn,\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\n\tlet count: number;\n\tif (countFn) {\n\t\tcount = countFn(value);\n\t\tif (!Number.isFinite(count)) return <span>{emptyCellValue}</span>;\n\t} else if (typeof value === \"number\") {\n\t\tcount = value;\n\t} else if (Array.isArray(value)) {\n\t\tcount = value.length;\n\t} else if (typeof value === \"object\") {\n\t\tcount = Object.keys(value).length;\n\t} else {\n\t\treturn <span>{emptyCellValue}</span>;\n\t}\n\n\treturn (\n\t\t<span>\n\t\t\t{count} {pluralize(count, singular, plural)}\n\t\t</span>\n\t);\n};\nCountCell.displayName = \"CountCell\";\n","import dayjs from \"dayjs\";\nimport type React from \"react\";\nimport { formatRelativeDateTime } from \"../../../atoms/datetime/utils/relative-date-time-utils\";\nimport { Tooltip } from \"../../../primitives/tooltip\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface DateCellProps {\n\tvalue: string | Date | number | null | undefined;\n\tformat?: string;\n\tshowRelative?: boolean;\n}\n\nexport const DateCell: React.FC<DateCellProps> = ({\n\tvalue,\n\tformat = \"MMM D, YYYY\",\n\tshowRelative,\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\n\tconst parsed = dayjs(value);\n\tif (!parsed.isValid()) return <span>{emptyCellValue}</span>;\n\n\tconst formatted = parsed.format(format);\n\n\tif (showRelative) {\n\t\tconst relative = formatRelativeDateTime(value);\n\t\treturn (\n\t\t\t<Tooltip content={formatted}>\n\t\t\t\t<span>{relative}</span>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\n\treturn <span>{formatted}</span>;\n};\nDateCell.displayName = \"DateCell\";\n","import type React from \"react\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface NumberCellProps {\n\tvalue: number | string | null | undefined;\n\tlocale?: string;\n}\n\nexport const NumberCell: React.FC<NumberCellProps> = ({ value, locale }) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\tconst num = Number(value);\n\tconst display = Number.isNaN(num)\n\t\t? String(value)\n\t\t: num.toLocaleString(locale);\n\treturn <span>{display}</span>;\n};\nNumberCell.displayName = \"NumberCell\";\n","import type React from \"react\";\nimport { Code } from \"../../../primitives/typography\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface SlugCellProps {\n\tvalue: string | null | undefined;\n}\n\nexport const SlugCell: React.FC<SlugCellProps> = ({ value }) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\treturn <Code>{value}</Code>;\n};\nSlugCell.displayName = \"SlugCell\";\n","import type React from \"react\";\nimport { StatusBadge } from \"../../../atoms/status-badge\";\nimport { VStack } from \"../../../primitives/layout\";\nimport { Text } from \"../../../primitives/typography\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface StatusBadgeCellProps {\n\tvalue: string | null | undefined;\n\tcolorMap?: Record<string, string>;\n\t/** Fallback color when value has no entry in colorMap. @default \"gray\" */\n\tfallbackColor?: string;\n\t/** Optional detail text displayed below the badge (e.g., error message). */\n\tdetail?: string | null;\n\t/** Color for the detail text. @default \"fg.error\" */\n\tdetailColor?: string;\n}\n\nexport const StatusBadgeCell: React.FC<StatusBadgeCellProps> = ({\n\tvalue,\n\tcolorMap,\n\tfallbackColor = \"gray\",\n\tdetail,\n\tdetailColor = \"fg.error\",\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\tconst color = colorMap?.[value] ?? fallbackColor;\n\tconst badge = <StatusBadge label={value} color={color} />;\n\n\tif (detail) {\n\t\treturn (\n\t\t\t<VStack align=\"start\" gap={0.5}>\n\t\t\t\t{badge}\n\t\t\t\t<Text fontSize=\"xs\" color={detailColor}>\n\t\t\t\t\t{detail}\n\t\t\t\t</Text>\n\t\t\t</VStack>\n\t\t);\n\t}\n\n\treturn badge;\n};\nStatusBadgeCell.displayName = \"StatusBadgeCell\";\n","import type React from \"react\";\nimport { Switch } from \"../../../primitives/switch\";\n\nexport interface SwitchCellProps {\n\tchecked: boolean;\n\tonChange: (checked: boolean) => void;\n\tdisabled?: boolean;\n\tcolorPalette?: string;\n\t/** Accessible label for screen readers. */\n\tlabel?: string;\n}\n\nexport const SwitchCell: React.FC<SwitchCellProps> = ({\n\tchecked,\n\tonChange,\n\tdisabled,\n\tcolorPalette = \"green\",\n\tlabel,\n}) => {\n\treturn (\n\t\t<Switch\n\t\t\tchecked={checked}\n\t\t\tonCheckedChange={(details) => onChange(!!details.checked)}\n\t\t\tdisabled={disabled}\n\t\t\tcolorPalette={colorPalette}\n\t\t\taria-label={label}\n\t\t\tonClick={(e: React.MouseEvent) => e.stopPropagation()}\n\t\t/>\n\t);\n};\nSwitchCell.displayName = \"SwitchCell\";\n","import type React from \"react\";\nimport { emptyCellValue, truncateText } from \"./cell-utils\";\n\nexport interface TruncatedTextCellProps {\n\tvalue: string | null | undefined;\n\tmaxLength?: number;\n}\n\nexport const TruncatedTextCell: React.FC<TruncatedTextCellProps> = ({\n\tvalue,\n\tmaxLength,\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\tconst isTruncated = maxLength != null && value.length > maxLength;\n\tconst display = isTruncated ? truncateText(value, maxLength) : value;\n\treturn <span title={isTruncated ? value : undefined}>{display}</span>;\n};\nTruncatedTextCell.displayName = \"TruncatedTextCell\";\n","import type React from \"react\";\nimport { Link } from \"../../../primitives/typography\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface UrlCellProps {\n\tvalue: string | null | undefined;\n\tlabel?: string;\n}\n\nexport const UrlCell: React.FC<UrlCellProps> = ({ value, label }) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\treturn (\n\t\t<Link\n\t\t\thref={value}\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noopener noreferrer\"\n\t\t\ttitle={value}\n\t\t\tcolor=\"accent\"\n\t\t>\n\t\t\t{label || value}\n\t\t</Link>\n\t);\n};\nUrlCell.displayName = \"UrlCell\";\n","import { HStack, Text } from \"@chakra-ui/react\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\nimport type React from \"react\";\nimport { Button, IconButton } from \"../atoms/button\";\n\nexport interface PaginationProps {\n\t/** Current page (1-based). */\n\tpage: number;\n\t/** Total number of items. */\n\ttotal: number;\n\t/** Items per page. @default 10 */\n\tpageSize?: number;\n\t/** Called when the page changes. */\n\tonPageChange: (page: number) => void;\n\t/** Maximum page buttons to show. @default 5 */\n\tmaxVisiblePages?: number;\n\t/** Label for the previous button. @default \"Previous page\" */\n\tpreviousLabel?: string;\n\t/** Label for the next button. @default \"Next page\" */\n\tnextLabel?: string;\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n\tconst {\n\t\tpage,\n\t\ttotal,\n\t\tpageSize = 10,\n\t\tonPageChange,\n\t\tmaxVisiblePages = 5,\n\t\tpreviousLabel = \"Previous page\",\n\t\tnextLabel = \"Next page\",\n\t} = props;\n\n\tconst totalPages = Math.max(1, Math.ceil(total / pageSize));\n\tconst currentPage = Math.min(Math.max(1, page), totalPages);\n\n\tconst pages = getVisiblePages(currentPage, totalPages, maxVisiblePages);\n\n\treturn (\n\t\t<HStack gap={1}>\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\taria-label={previousLabel}\n\t\t\t\tdisabled={currentPage <= 1}\n\t\t\t\tonClick={() => onPageChange(currentPage - 1)}\n\t\t\t>\n\t\t\t\t<ChevronLeft size={16} />\n\t\t\t</IconButton>\n\t\t\t{pages.map((p) =>\n\t\t\t\tp === \"ellipsis-start\" || p === \"ellipsis-end\" ? (\n\t\t\t\t\t<Text key={p} px={2} color=\"muted\" fontSize=\"sm\">\n\t\t\t\t\t\t…\n\t\t\t\t\t</Text>\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={p}\n\t\t\t\t\t\tvariant={p === currentPage ? \"solid\" : \"ghost\"}\n\t\t\t\t\t\tcolorPalette={p === currentPage ? \"primary\" : undefined}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tminW=\"36px\"\n\t\t\t\t\t\tonClick={() => onPageChange(p)}\n\t\t\t\t\t\taria-current={p === currentPage ? \"page\" : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{p}\n\t\t\t\t\t</Button>\n\t\t\t\t),\n\t\t\t)}\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\taria-label={nextLabel}\n\t\t\t\tdisabled={currentPage >= totalPages}\n\t\t\t\tonClick={() => onPageChange(currentPage + 1)}\n\t\t\t>\n\t\t\t\t<ChevronRight size={16} />\n\t\t\t</IconButton>\n\t\t</HStack>\n\t);\n};\n\nPagination.displayName = \"Pagination\";\n\nfunction getVisiblePages(\n\tcurrent: number,\n\ttotal: number,\n\tmax: number,\n): Array<number | \"ellipsis-start\" | \"ellipsis-end\"> {\n\tif (total <= max) {\n\t\treturn Array.from({ length: total }, (_, i) => i + 1);\n\t}\n\n\tconst pages: Array<number | \"ellipsis-start\" | \"ellipsis-end\"> = [];\n\tconst half = Math.floor((max - 2) / 2);\n\tlet start = Math.max(2, current - half);\n\tlet end = Math.min(total - 1, current + half);\n\n\tif (current - half <= 2) {\n\t\tend = Math.min(total - 1, max - 1);\n\t}\n\tif (current + half >= total - 1) {\n\t\tstart = Math.max(2, total - max + 2);\n\t}\n\n\tpages.push(1);\n\tif (start > 2) pages.push(\"ellipsis-start\");\n\tfor (let i = start; i <= end; i++) {\n\t\tpages.push(i);\n\t}\n\tif (end < total - 1) pages.push(\"ellipsis-end\");\n\tpages.push(total);\n\n\treturn pages;\n}\n","import { Box, Checkbox, Flex, Table, Text } from \"@chakra-ui/react\";\nimport {\n\ttype ColumnDef,\n\tflexRender,\n\tgetCoreRowModel,\n\tgetSortedRowModel,\n\ttype OnChangeFn,\n\ttype Row,\n\ttype RowSelectionState,\n\ttype SortingState,\n\tuseReactTable,\n} from \"@tanstack/react-table\";\nimport { ArrowDown, ArrowUp, ArrowUpDown } from \"lucide-react\";\nimport type React from \"react\";\nimport { useMemo } from \"react\";\nimport { Skeleton } from \"../../primitives/skeleton\";\nimport { Pagination } from \"../pagination\";\n\nexport interface DataTableProps<T extends Record<string, unknown>> {\n\t/** Column definitions for TanStack Table */\n\tcolumns: ColumnDef<T, unknown>[];\n\t/** Data array */\n\tdata: T[];\n\t/** Enable row selection */\n\tselectable?: boolean;\n\t/** Controlled row selection state */\n\trowSelection?: RowSelectionState;\n\t/** Row selection change handler */\n\tonRowSelectionChange?: OnChangeFn<RowSelectionState>;\n\t/** Controlled sorting state */\n\tsorting?: SortingState;\n\t/** Sorting change handler */\n\tonSortingChange?: OnChangeFn<SortingState>;\n\t/** Row click handler */\n\tonRowClick?: (row: T) => void;\n\t/** Loading state */\n\tloading?: boolean;\n\t/** Empty state content */\n\temptyState?: React.ReactNode;\n\t/** Pagination - total items */\n\ttotal?: number;\n\t/** Pagination - current page (1-based) */\n\tpage?: number;\n\t/** Pagination - items per page */\n\tpageSize?: number;\n\t/** Pagination - page change handler */\n\tonPageChange?: (page: number) => void;\n\t/** Table variant */\n\tvariant?: \"line\" | \"striped\" | \"hoverable\";\n\t/** Custom row ID extractor for stable selection across data changes. @default row index */\n\tgetRowId?: (originalRow: T, index: number, parent?: Row<T>) => string;\n}\n\nconst LOADING_ROW_COUNT = 5;\n\nfunction DataTableInner<T extends Record<string, unknown>>(\n\tprops: DataTableProps<T>,\n) {\n\tconst {\n\t\tcolumns,\n\t\tdata,\n\t\tselectable = false,\n\t\trowSelection,\n\t\tonRowSelectionChange,\n\t\tsorting,\n\t\tonSortingChange,\n\t\tonRowClick,\n\t\tloading = false,\n\t\temptyState,\n\t\ttotal,\n\t\tpage,\n\t\tpageSize,\n\t\tonPageChange,\n\t\tvariant = \"line\",\n\t\tgetRowId,\n\t} = props;\n\n\tconst selectionColumn = useMemo<ColumnDef<T, unknown>>(\n\t\t() => ({\n\t\t\tid: \"_select\",\n\t\t\theader: ({ table }) => (\n\t\t\t\t<Checkbox.Root\n\t\t\t\t\tchecked={\n\t\t\t\t\t\ttable.getIsAllPageRowsSelected()\n\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t: table.getIsSomePageRowsSelected()\n\t\t\t\t\t\t\t\t? \"indeterminate\"\n\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t}\n\t\t\t\t\tonCheckedChange={(details) =>\n\t\t\t\t\t\ttable.toggleAllPageRowsSelected(!!details.checked)\n\t\t\t\t\t}\n\t\t\t\t\taria-label=\"Select all rows\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t>\n\t\t\t\t\t<Checkbox.HiddenInput />\n\t\t\t\t\t<Checkbox.Control />\n\t\t\t\t</Checkbox.Root>\n\t\t\t),\n\t\t\tcell: ({ row }) => (\n\t\t\t\t<Checkbox.Root\n\t\t\t\t\tchecked={row.getIsSelected()}\n\t\t\t\t\tonCheckedChange={(details) => row.toggleSelected(!!details.checked)}\n\t\t\t\t\taria-label={`Select row ${String(row.index + 1)}`}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t<Checkbox.HiddenInput />\n\t\t\t\t\t<Checkbox.Control />\n\t\t\t\t</Checkbox.Root>\n\t\t\t),\n\t\t\tenableSorting: false,\n\t\t}),\n\t\t[],\n\t);\n\n\tconst allColumns = useMemo(\n\t\t() => (selectable ? [selectionColumn, ...columns] : columns),\n\t\t[selectable, selectionColumn, columns],\n\t);\n\n\tconst table = useReactTable({\n\t\tdata,\n\t\tcolumns: allColumns,\n\t\tstate: {\n\t\t\t...(sorting !== undefined ? { sorting } : {}),\n\t\t\t...(rowSelection !== undefined ? { rowSelection } : {}),\n\t\t},\n\t\tonSortingChange,\n\t\tonRowSelectionChange,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\t...(onSortingChange === undefined\n\t\t\t? { getSortedRowModel: getSortedRowModel() }\n\t\t\t: {}),\n\t\tenableRowSelection: selectable,\n\t\tmanualSorting: onSortingChange !== undefined,\n\t\t...(getRowId !== undefined ? { getRowId } : {}),\n\t});\n\n\tconst hasPagination =\n\t\ttotal !== undefined &&\n\t\tpage !== undefined &&\n\t\tpageSize !== undefined &&\n\t\tonPageChange !== undefined;\n\n\tconst isEmpty = !loading && data.length === 0;\n\n\treturn (\n\t\t<Flex direction=\"column\" gap={4}>\n\t\t\t<Box overflowX=\"auto\">\n\t\t\t\t{/* Chakra v3's Table.Root types only include built-in variants.\n\t\t\t\t Our custom table recipe adds \"striped\" and \"hoverable\" variants\n\t\t\t\t that work at runtime but require a type cast. Module augmentation\n\t\t\t\t for slot recipe variants is not supported in Chakra v3. */}\n\t\t\t\t<Table.Root variant={variant as \"line\"}>\n\t\t\t\t\t<Table.Header>\n\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => (\n\t\t\t\t\t\t\t<Table.Row key={headerGroup.id}>\n\t\t\t\t\t\t\t\t{headerGroup.headers.map((header) => {\n\t\t\t\t\t\t\t\t\tconst canSort = header.column.getCanSort();\n\t\t\t\t\t\t\t\t\tconst sorted = header.column.getIsSorted();\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Table.ColumnHeader\n\t\t\t\t\t\t\t\t\t\t\tkey={header.id}\n\t\t\t\t\t\t\t\t\t\t\tcursor={canSort ? \"pointer\" : undefined}\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tcanSort\n\t\t\t\t\t\t\t\t\t\t\t\t\t? header.column.getToggleSortingHandler()\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\t\t\tsorted === \"asc\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t? \"ascending\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t: sorted === \"desc\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"descending\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: canSort\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"none\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tuserSelect={canSort ? \"none\" : undefined}\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={canSort ? 0 : undefined}\n\t\t\t\t\t\t\t\t\t\t\trole={canSort ? \"button\" : undefined}\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\tcanSort\n\t\t\t\t\t\t\t\t\t\t\t\t\t? (e: React.KeyboardEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.getToggleSortingHandler()?.(e);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Flex alignItems=\"center\" gap={1}>\n\t\t\t\t\t\t\t\t\t\t\t\t{header.isPlaceholder\n\t\t\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t\t\t: flexRender(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef.header,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.getContext(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{canSort && sorted === \"asc\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowUp size={14} aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{canSort && sorted === \"desc\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowDown size={14} aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{canSort && !sorted && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowUpDown size={14} aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t\t</Table.ColumnHeader>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Table.Header>\n\t\t\t\t\t<Table.Body>\n\t\t\t\t\t\t{loading &&\n\t\t\t\t\t\t\tArray.from({ length: LOADING_ROW_COUNT }).map((_, rowIdx) => (\n\t\t\t\t\t\t\t\t<Table.Row key={`loading-${String(rowIdx)}`} aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t{allColumns.map((_, colIdx) => (\n\t\t\t\t\t\t\t\t\t\t<Table.Cell key={`loading-cell-${String(colIdx)}`}>\n\t\t\t\t\t\t\t\t\t\t\t<Skeleton height=\"4\" borderRadius=\"sm\" />\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{!loading &&\n\t\t\t\t\t\t\ttable.getRowModel().rows.map((row) => (\n\t\t\t\t\t\t\t\t<Table.Row\n\t\t\t\t\t\t\t\t\tkey={row.id}\n\t\t\t\t\t\t\t\t\tdata-selected={row.getIsSelected() || undefined}\n\t\t\t\t\t\t\t\t\tcursor={onRowClick ? \"pointer\" : undefined}\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tonRowClick ? () => onRowClick(row.original) : undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttabIndex={onRowClick ? 0 : undefined}\n\t\t\t\t\t\t\t\t\trole={onRowClick ? \"button\" : undefined}\n\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\tonRowClick\n\t\t\t\t\t\t\t\t\t\t\t? (e: React.KeyboardEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonRowClick(row.original);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{row.getVisibleCells().map((cell) => (\n\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id}>\n\t\t\t\t\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\t\t\t\t\tcell.column.columnDef.cell,\n\t\t\t\t\t\t\t\t\t\t\t\tcell.getContext(),\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{isEmpty && (\n\t\t\t\t\t\t\t<Table.Row>\n\t\t\t\t\t\t\t\t<Table.Cell\n\t\t\t\t\t\t\t\t\tcolSpan={allColumns.length}\n\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\tpy={8}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{emptyState ?? (\n\t\t\t\t\t\t\t\t\t\t<Text color=\"muted\" fontSize=\"sm\">\n\t\t\t\t\t\t\t\t\t\t\tNo data available\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Table.Body>\n\t\t\t\t</Table.Root>\n\t\t\t</Box>\n\t\t\t{hasPagination && (\n\t\t\t\t<Flex justifyContent=\"center\">\n\t\t\t\t\t<Pagination\n\t\t\t\t\t\tpage={page}\n\t\t\t\t\t\ttotal={total}\n\t\t\t\t\t\tpageSize={pageSize}\n\t\t\t\t\t\tonPageChange={onPageChange}\n\t\t\t\t\t/>\n\t\t\t\t</Flex>\n\t\t\t)}\n\t\t</Flex>\n\t);\n}\n\nexport const DataTable = DataTableInner as typeof DataTableInner & {\n\tdisplayName: string;\n};\nDataTable.displayName = \"DataTable\";\n","import {\n\tDrawer,\n\ttype DrawerRootProps,\n\tFlex,\n\tPortal,\n\tSpacer,\n} from \"@chakra-ui/react\";\nimport { X } from \"lucide-react\";\nimport { Button } from \"../atoms/button\";\n\nexport interface DrawerProps\n\textends Omit<DrawerRootProps, \"open\" | \"onOpenChange\"> {\n\t/** Whether the drawer is open. */\n\topen: boolean;\n\t/** Called when the drawer should close. */\n\tonClose(): void;\n\t/** Header title content. */\n\ttitle: string | React.ReactNode;\n\t/** Text displayed in the footer area (left side). */\n\tfooterText?: string | React.ReactNode;\n\t/** Drawer body content. */\n\tchildren: React.ReactNode;\n\t/** Label for the save button. @default \"Save\" */\n\tsaveLabel?: string;\n\t/** Label for the close button. @default \"Close\" */\n\tcloseLabel?: string;\n\t/** Whether the save button is disabled. */\n\tsaveButtonDisabled?: boolean;\n\t/** Whether the save action is in progress. Shows spinner on save button. */\n\tloading?: boolean;\n\t/** Extra buttons rendered before the save button. */\n\tadditionalButtons?: React.ReactNode;\n\t/** Called when the save button is clicked. If not provided, no save button is shown. */\n\tonSave?(): void;\n}\n\nexport const DrawerRoot: React.FC<DrawerProps> = ({\n\tchildren,\n\ttitle,\n\tfooterText,\n\tsaveLabel = \"Save\",\n\tcloseLabel = \"Close\",\n\tsaveButtonDisabled = false,\n\tloading = false,\n\tadditionalButtons,\n\tonSave,\n\topen,\n\tonClose,\n\t...rest\n}) => {\n\treturn (\n\t\t<Drawer.Root\n\t\t\t{...rest}\n\t\t\topen={open}\n\t\t\tonOpenChange={(details) => {\n\t\t\t\tif (!details.open) {\n\t\t\t\t\tonClose();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<Portal>\n\t\t\t\t<Drawer.Backdrop />\n\t\t\t\t<Drawer.Positioner>\n\t\t\t\t\t<Drawer.Content>\n\t\t\t\t\t\t<Drawer.CloseTrigger asChild>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tposition=\"absolute\"\n\t\t\t\t\t\t\t\ttop={2}\n\t\t\t\t\t\t\t\tinsetInlineEnd={2}\n\t\t\t\t\t\t\t\taria-label={closeLabel}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<X size={16} />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Drawer.CloseTrigger>\n\n\t\t\t\t\t\t<Drawer.Header\n\t\t\t\t\t\t\tbg=\"bg-surface\"\n\t\t\t\t\t\t\tborderBottom=\"1px solid\"\n\t\t\t\t\t\t\tborderColor=\"border\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Drawer.Title>{title}</Drawer.Title>\n\t\t\t\t\t\t</Drawer.Header>\n\n\t\t\t\t\t\t<Drawer.Body>{children}</Drawer.Body>\n\n\t\t\t\t\t\t<Drawer.Footer\n\t\t\t\t\t\t\tfontSize=\"sm\"\n\t\t\t\t\t\t\tbg=\"bg-subtle\"\n\t\t\t\t\t\t\tborderTop=\"1px solid\"\n\t\t\t\t\t\t\tborderColor=\"border\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{footerText}\n\t\t\t\t\t\t\t<Spacer />\n\t\t\t\t\t\t\t<Flex gap={4}>\n\t\t\t\t\t\t\t\t{additionalButtons}\n\t\t\t\t\t\t\t\t{onSave && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"solid\"\n\t\t\t\t\t\t\t\t\t\tcolorPalette=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={onSave}\n\t\t\t\t\t\t\t\t\t\tdisabled={saveButtonDisabled || loading}\n\t\t\t\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{saveLabel}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t</Drawer.Footer>\n\t\t\t\t\t</Drawer.Content>\n\t\t\t\t</Drawer.Positioner>\n\t\t\t</Portal>\n\t\t</Drawer.Root>\n\t);\n};\nDrawerRoot.displayName = \"DrawerRoot\";\n","import {\n\tBox,\n\tButtonGroup,\n\ttype CardRootProps,\n\tCollapsible,\n\tFlex,\n\tHStack,\n\tText,\n} from \"@chakra-ui/react\";\nimport { ChevronDown, ChevronRight } from \"lucide-react\";\nimport React, { type MouseEventHandler } from \"react\";\nimport { IconButton } from \"../atoms/button\";\nimport {\n\tMenuContent,\n\tMenuItem,\n\tMenuRoot,\n\tMenuTrigger,\n} from \"../primitives/menu\";\nimport { Card } from \"./card\";\n\nexport interface FactBoxAction {\n\tid: number;\n\ttype: \"button\" | \"menuButton\";\n\tariaLabel: string;\n\ticon?: React.ReactElement;\n\tonClick?: MouseEventHandler<HTMLButtonElement>;\n\tonSelect?: VoidFunction;\n\titems?: FactBoxAction[];\n}\n\nexport interface FactBoxProps extends CardRootProps {\n\tname?: string | React.ReactNode;\n\tactions?: FactBoxAction[];\n\tchildren: React.ReactNode;\n\tcollapsible?: boolean;\n\t/** Label for collapse button when expanded. @default \"Collapse\" */\n\tcollapseLabel?: string;\n\t/** Label for collapse button when collapsed. @default \"Expand\" */\n\texpandLabel?: string;\n}\n\nexport const FactBox: React.FC<FactBoxProps> = (props) => {\n\tconst {\n\t\tname,\n\t\tactions,\n\t\tcollapsible = true,\n\t\tcollapseLabel = \"Collapse\",\n\t\texpandLabel = \"Expand\",\n\t\t...rest\n\t} = props;\n\n\tconst [show, setShow] = React.useState(true);\n\n\tconst handleToggle = () => {\n\t\tsetShow(!show);\n\t};\n\n\treturn (\n\t\t<Box w=\"full\">\n\t\t\t{collapsible ? (\n\t\t\t\t<Flex\n\t\t\t\t\tflexDirection=\"column\"\n\t\t\t\t\tmx=\"auto\"\n\t\t\t\t\tborderBottom=\"1px solid\"\n\t\t\t\t\tborderColor=\"border\"\n\t\t\t\t>\n\t\t\t\t\t<Box\n\t\t\t\t\t\tdisplay={{ md: \"flex\" }}\n\t\t\t\t\t\talignItems={{ md: \"center\" }}\n\t\t\t\t\t\tjustifyContent={{ md: \"space-between\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Box minW={0} flex=\"1 1 0%\">\n\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\taria-label={show ? collapseLabel : expandLabel}\n\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thandleToggle();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{show ? (\n\t\t\t\t\t\t\t\t\t\t<ChevronDown size={16} />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ChevronRight size={16} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t\t{typeof name === \"string\" ? <Text>{name}</Text> : name}\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t{actions ? (\n\t\t\t\t\t\t\t<Flex flexShrink={0} marginInlineStart={{ md: 4 }}>\n\t\t\t\t\t\t\t\t<ButtonGroup>\n\t\t\t\t\t\t\t\t\t{actions.map((action) =>\n\t\t\t\t\t\t\t\t\t\taction.type === \"button\" ? (\n\t\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\t\tkey={action.id}\n\t\t\t\t\t\t\t\t\t\t\t\taria-label={action.ariaLabel}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={action.onClick}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{action.icon}\n\t\t\t\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<MenuRoot key={action.id}>\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuTrigger asChild>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={action.ariaLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{action.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuContent>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{action.items?.map((item) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={item.onSelect}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={item.ariaLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={`action-${item.id}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.ariaLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuContent>\n\t\t\t\t\t\t\t\t\t\t\t</MenuRoot>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</Box>\n\t\t\t\t</Flex>\n\t\t\t) : null}\n\t\t\t<Collapsible.Root open={show}>\n\t\t\t\t<Collapsible.Content>\n\t\t\t\t\t<Card {...rest}>{rest.children}</Card>\n\t\t\t\t</Collapsible.Content>\n\t\t\t</Collapsible.Root>\n\t\t</Box>\n\t);\n};\nFactBox.displayName = \"FactBox\";\n","import { Box, Flex, Text } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { Switch, type SwitchProps } from \"../primitives/switch\";\n\nexport interface LabeledSwitchProps extends SwitchProps {\n\tname: string;\n\tlabel: string;\n}\n\nexport const LabeledSwitch = ({\n\tref,\n\t...props\n}: LabeledSwitchProps & { ref?: React.Ref<HTMLInputElement> }) => {\n\tconst { name, label, ...rest } = props;\n\n\treturn (\n\t\t<Box>\n\t\t\t<Text asChild>\n\t\t\t\t<Flex>{label}</Flex>\n\t\t\t</Text>\n\t\t\t<Switch id={name} ref={ref} {...rest} />\n\t\t</Box>\n\t);\n};\nLabeledSwitch.displayName = \"LabeledSwitch\";\n","import {\n\tDialog,\n\ttype DialogRootProps,\n\tFlex,\n\tPortal,\n\tSeparator,\n\tSpacer,\n} from \"@chakra-ui/react\";\nimport { X } from \"lucide-react\";\nimport { Button, IconButton } from \"../atoms/button\";\n\nexport interface ModalProps\n\textends Omit<DialogRootProps, \"open\" | \"onOpenChange\"> {\n\t/** Whether the modal is open. */\n\topen: boolean;\n\t/** Called when the modal should close. */\n\tonClose: () => void;\n\t/** Header content (string or ReactNode). */\n\theader: string | React.ReactNode;\n\t/** Modal body content. */\n\tchildren: React.ReactNode;\n\t/** Custom footer. If provided, replaces the default Cancel/Save buttons. */\n\tfooter?: React.ReactNode;\n\t/** Dialog size variant. */\n\tsize?: DialogRootProps[\"size\"];\n\t/** Label for the close button. */\n\tcloseLabel?: string;\n\t/** Label for the save button. */\n\tsaveLabel?: string;\n\t/** Label for the cancel button. */\n\tcancelLabel?: string;\n\t/** Called when the save button is clicked. If not provided, no default footer is shown. */\n\tonSave?: () => void;\n\t/** Whether the save button is disabled. */\n\tsaveDisabled?: boolean;\n\t/** Whether the save action is in progress. Shows spinner on save button. */\n\tloading?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n\topen,\n\tonClose,\n\theader,\n\tchildren,\n\tfooter,\n\tsize = \"xl\",\n\tcloseLabel = \"Close\",\n\tsaveLabel = \"Save\",\n\tcancelLabel = \"Cancel\",\n\tonSave,\n\tsaveDisabled = false,\n\tloading = false,\n\t...rest\n}) => {\n\tconst defaultFooter = onSave ? (\n\t\t<Flex gap={3} justify=\"flex-end\" w=\"full\">\n\t\t\t<Button variant=\"outline\" onClick={onClose}>\n\t\t\t\t{cancelLabel}\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tvariant=\"solid\"\n\t\t\t\tcolorPalette=\"primary\"\n\t\t\t\tonClick={onSave}\n\t\t\t\tdisabled={saveDisabled || loading}\n\t\t\t\tloading={loading}\n\t\t\t>\n\t\t\t\t{saveLabel}\n\t\t\t</Button>\n\t\t</Flex>\n\t) : null;\n\n\tconst footerContent = footer !== undefined ? footer : defaultFooter;\n\n\treturn (\n\t\t<Dialog.Root\n\t\t\t{...rest}\n\t\t\topen={open}\n\t\t\tsize={size}\n\t\t\tonOpenChange={(details) => {\n\t\t\t\tif (!details.open) {\n\t\t\t\t\tonClose();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<Portal>\n\t\t\t\t<Dialog.Backdrop />\n\t\t\t\t<Dialog.Positioner>\n\t\t\t\t\t<Dialog.Content>\n\t\t\t\t\t\t<Dialog.Header>\n\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t\t<Spacer />\n\t\t\t\t\t\t\t<Dialog.CloseTrigger asChild>\n\t\t\t\t\t\t\t\t<IconButton variant=\"ghost\" size=\"sm\" aria-label={closeLabel}>\n\t\t\t\t\t\t\t\t\t<X size={16} />\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t</Dialog.CloseTrigger>\n\t\t\t\t\t\t</Dialog.Header>\n\n\t\t\t\t\t\t<Separator />\n\n\t\t\t\t\t\t<Dialog.Body>{children}</Dialog.Body>\n\n\t\t\t\t\t\t{footerContent && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t\t\t<Dialog.Footer>{footerContent}</Dialog.Footer>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Dialog.Content>\n\t\t\t\t</Dialog.Positioner>\n\t\t\t</Portal>\n\t\t</Dialog.Root>\n\t);\n};\nModal.displayName = \"Modal\";\n","import { createContext } from \"@chakra-ui/react\";\nimport React, { useCallback } from \"react\";\n\nexport const [StepperProvider, useStepperContext] =\n\tcreateContext<UseStepperReturn>({\n\t\tname: \"StepperContext\",\n\t\terrorMessage:\n\t\t\t\"useStepperContext: `context` is undefined. Seems you forgot to wrap stepper components in `<Stepper />`\",\n\t});\n\nexport interface UseStepperProps {\n\tstep?: number | string;\n\tisCompleted?: boolean;\n\tonChange?(index: number): void;\n}\n\nexport function useStepper(props: UseStepperProps) {\n\tconst { step, onChange } = props;\n\n\tconst [activeIndex, setIndex] = React.useState(-1); // Set to -1 by default to prevent any initial transitions.\n\n\tconst stepsRef = React.useRef<string[]>([]);\n\n\tconst registerStep = React.useCallback((name: string) => {\n\t\tconst newSteps = [...stepsRef.current];\n\n\t\tif (newSteps.indexOf(name) === -1) {\n\t\t\tnewSteps.push(name);\n\t\t}\n\n\t\tstepsRef.current = newSteps;\n\t}, []);\n\n\tconst unregisterStep = React.useCallback((name: string) => {\n\t\tstepsRef.current = stepsRef.current.filter((step) => step !== name);\n\t}, []);\n\n\tconst setStep = useCallback((name: string) => {\n\t\tconst i = stepsRef.current.indexOf(name);\n\t\tif (i !== -1) {\n\t\t\tsetIndex(i);\n\t\t}\n\t}, []);\n\n\tconst nextStep = () => {\n\t\tsetIndex(activeIndex + 1);\n\t};\n\n\tconst prevStep = () => {\n\t\tsetIndex(activeIndex - 1);\n\t};\n\n\tReact.useEffect(() => {\n\t\tif (typeof step === \"string\") {\n\t\t\tsetStep(step);\n\t\t} else if (typeof step === \"number\") {\n\t\t\tsetIndex(step);\n\t\t} else if (activeIndex === -1) {\n\t\t\tsetIndex(0); // initiate the stepper by activating the first step\n\t\t}\n\t}, [step, activeIndex, setStep]);\n\n\tReact.useEffect(() => {\n\t\tonChange?.(activeIndex);\n\t}, [activeIndex, onChange]);\n\n\tconst context = {\n\t\tstepsRef,\n\t\tactiveStep: stepsRef.current[activeIndex],\n\t\tactiveIndex,\n\t\tisFirstStep: activeIndex === 0,\n\t\tisLastStep: activeIndex === stepsRef.current.length - 1,\n\t\tisCompleted: activeIndex >= stepsRef.current.length,\n\t\tsetIndex,\n\t\tsetStep,\n\t\tnextStep,\n\t\tprevStep,\n\t\tregisterStep,\n\t\tunregisterStep,\n\t};\n\n\treturn context;\n}\n\nexport type UseStepperReturn = ReturnType<typeof useStepper>;\n\nexport interface UseStepProps {\n\tname?: string;\n\tisActive?: boolean;\n\tisCompleted?: boolean;\n}\n\nexport function useStep(props: UseStepProps) {\n\tconst { name, isActive, isCompleted } = props;\n\tconst { registerStep, unregisterStep, activeStep } = useStepperContext();\n\n\tReact.useEffect(() => {\n\t\tif (!name) {\n\t\t\treturn;\n\t\t}\n\t\tregisterStep(name);\n\n\t\treturn () => {\n\t\t\tunregisterStep(name);\n\t\t};\n\t}, [name, registerStep, unregisterStep]);\n\n\treturn {\n\t\tisActive: name ? activeStep === name : isActive,\n\t\tisCompleted,\n\t};\n}\n\n/**\n * Returns props for a Prev Button\n */\nexport function useStepperPrevButton({ label = \"Back\" } = {}) {\n\tconst { isFirstStep, prevStep } = useStepperContext();\n\n\treturn {\n\t\tdisabled: isFirstStep,\n\t\tonClick: prevStep,\n\t\tchildren: label,\n\t};\n}\n\n/**\n * Returns props for a Next Button\n */\nexport function useStepperNextButton({\n\tlabel = \"Next\",\n\tsubmitLabel = \"Submit\",\n} = {}) {\n\tconst { isLastStep, isCompleted, nextStep } = useStepperContext();\n\n\treturn {\n\t\tdisabled: isCompleted,\n\t\tonClick: nextStep,\n\t\tchildren: isLastStep ? submitLabel : label,\n\t};\n}\n","import {\n\tCollapsible,\n\tchakra,\n\ttype HTMLChakraProps,\n\ttype SystemStyleObject,\n\tuseSlotRecipe,\n} from \"@chakra-ui/react\";\nimport { Check } from \"lucide-react\";\nimport React, { createContext, useContext } from \"react\";\nimport {\n\tStepperProvider,\n\ttype UseStepperProps,\n\tuseStep,\n\tuseStepper,\n\tuseStepperContext,\n} from \"./use-stepper\";\n\n// ---------------------------------------------------------------------------\n// Inlined helpers (from core utils)\n// ---------------------------------------------------------------------------\n\nfunction getChildOfType(children: React.ReactNode, type: React.ComponentType) {\n\treturn (React.Children.toArray(children) as React.ReactElement[]).find(\n\t\t(item) => item.type === type,\n\t);\n}\n\nfunction getChildrenOfType<P = Record<string, unknown>>(\n\tchildren: React.ReactNode,\n\ttype: React.ComponentType<P> | React.ComponentType<P>[],\n) {\n\treturn (React.Children.toArray(children) as React.ReactElement<P>[]).filter(\n\t\t(item) =>\n\t\t\tArray.isArray(type)\n\t\t\t\t? type.some((component) => component === item.type)\n\t\t\t\t: item.type === type,\n\t);\n}\n\n// Simple replacement for the removed dataAttr helper\nconst dataAttr = (condition: boolean | undefined) =>\n\tcondition ? \"\" : undefined;\n\n// Simple replacement for the removed cx helper\nconst cx = (...classes: (string | undefined)[]) =>\n\tclasses.filter(Boolean).join(\" \");\n\n// ---------------------------------------------------------------------------\n// Styles context -- populated by useSlotRecipe in StepperContainer\n// ---------------------------------------------------------------------------\n\ntype StepperStyles = Record<string, SystemStyleObject>;\n\nconst StylesContext = createContext<StepperStyles>({});\nconst useStyles = () => useContext(StylesContext);\n\n// ---------------------------------------------------------------------------\n\nexport interface StepperProps\n\textends UseStepperProps,\n\t\tOmit<HTMLChakraProps<\"div\">, \"onChange\"> {\n\torientation?: \"horizontal\" | \"vertical\";\n\tvariant?: \"subtle\" | \"solid\";\n\tsize?: \"md\" | \"lg\";\n}\n\n/**\n * Display progress in multi-step workflows.\n *\n * Can be controlled or uncontrolled.\n */\nexport const Stepper = ({\n\tref,\n\t...props\n}: StepperProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst { orientation, children, ...containerProps } = props;\n\treturn (\n\t\t<StepperContainer ref={ref} orientation={orientation} {...containerProps}>\n\t\t\t<StepperSteps orientation={orientation}>{children}</StepperSteps>\n\t\t</StepperContainer>\n\t);\n};\nStepper.displayName = \"Stepper\";\n\nexport const StepperContainer = ({\n\tref,\n\t...props\n}: StepperProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst {\n\t\tchildren,\n\t\torientation = \"horizontal\",\n\t\tvariant,\n\t\tsize,\n\t\tonChange,\n\t\t...rest\n\t} = props;\n\n\tconst context = useStepper(props);\n\n\tconst recipe = useSlotRecipe({ key: \"stepper\" });\n\tconst styles = recipe({ variant, size, orientation });\n\n\treturn (\n\t\t<StylesContext.Provider value={styles}>\n\t\t\t<StepperProvider value={context}>\n\t\t\t\t<chakra.div\n\t\t\t\t\tref={ref}\n\t\t\t\t\tcss={styles.container}\n\t\t\t\t\t{...rest}\n\t\t\t\t\tclassName={cx(\"stepper\", props.className)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</chakra.div>\n\t\t\t</StepperProvider>\n\t\t</StylesContext.Provider>\n\t);\n};\nStepperContainer.displayName = \"StepperContainer\";\n\nexport interface StepperStepsProps extends HTMLChakraProps<\"div\"> {\n\torientation?: \"horizontal\" | \"vertical\";\n\tstepComponent?: React.JSXElementConstructor<StepperStepProps>;\n}\n\n/**\n * Wrapper element containing the steps.\n */\nexport const StepperSteps: React.FC<StepperStepsProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\torientation = \"horizontal\",\n\t\tstepComponent,\n\t\t...rest\n\t} = props;\n\tconst styles = useStyles();\n\n\tconst { activeIndex } = useStepperContext();\n\n\tconst isVertical = orientation === \"vertical\";\n\n\tconst Step = stepComponent || StepperStep;\n\n\tconst steps = getChildrenOfType(children, Step);\n\n\tconst elements = steps.reduce<React.ReactElement[]>((memo, step, i, arr) => {\n\t\tmemo.push(\n\t\t\t<Step\n\t\t\t\tkey={step.key}\n\t\t\t\t{...step.props}\n\t\t\t\ticon={step.props.icon || i + 1}\n\t\t\t\tisActive={activeIndex === i}\n\t\t\t\tisCompleted={step.props.isCompleted || activeIndex > i}\n\t\t\t/>,\n\t\t);\n\n\t\tif (isVertical) {\n\t\t\tmemo.push(\n\t\t\t\t<StepperContent key={`content-${step.key}`} open={activeIndex === i}>\n\t\t\t\t\t{step.props.children}\n\t\t\t\t</StepperContent>,\n\t\t\t);\n\t\t}\n\n\t\tif (i < arr.length - 1) {\n\t\t\tmemo.push(\n\t\t\t\t<StepperSeparator\n\t\t\t\t\tkey={`separator-${step.key}`}\n\t\t\t\t\tisActive={i < activeIndex}\n\t\t\t\t/>,\n\t\t\t);\n\t\t}\n\n\t\treturn memo;\n\t}, []);\n\n\tconst completed = getChildOfType(children, StepperCompleted);\n\n\tconst content =\n\t\tactiveIndex >= steps.length ? (\n\t\t\tcompleted\n\t\t) : !isVertical ? (\n\t\t\t<StepperContent>{steps[activeIndex]?.props?.children}</StepperContent>\n\t\t) : null;\n\n\treturn (\n\t\t<>\n\t\t\t<chakra.div\n\t\t\t\tcss={styles.steps}\n\t\t\t\t{...rest}\n\t\t\t\tclassName={cx(\"stepper__steps\", props.className)}\n\t\t\t>\n\t\t\t\t{elements}\n\t\t\t</chakra.div>\n\t\t\t{content}\n\t\t</>\n\t);\n};\n\nStepperSteps.displayName = \"StepperSteps\";\n\nexport interface StepperContentProps extends HTMLChakraProps<\"div\"> {\n\t/**\n\t * Show or hide the content\n\t */\n\topen?: boolean;\n}\n\n/**\n * Renders the step content, is collapsible.\n */\nexport const StepperContent: React.FC<StepperContentProps> = (props) => {\n\tconst { children, open = true, ...rest } = props;\n\tconst styles = useStyles();\n\n\treturn (\n\t\t<chakra.div\n\t\t\tcss={styles.content}\n\t\t\t{...rest}\n\t\t\tclassName={cx(\"stepper__content\", props.className)}\n\t\t>\n\t\t\t<Collapsible.Root open={open}>\n\t\t\t\t<Collapsible.Content>{children}</Collapsible.Content>\n\t\t\t</Collapsible.Root>\n\t\t</chakra.div>\n\t);\n};\n\nStepperContent.displayName = \"StepperContent\";\n\nexport interface StepperIconProps extends HTMLChakraProps<\"div\"> {\n\ticon: React.ReactNode;\n\tisActive?: boolean;\n\tisCompleted?: boolean;\n}\n\n/**\n * Displays the current step or a completed icon.\n */\nexport const StepperIcon: React.FC<StepperIconProps> = (props) => {\n\tconst { icon, isActive, isCompleted, className, ...rest } = props;\n\n\tconst styles = useStyles();\n\n\tconst content: React.ReactNode = isCompleted ? <Check size={14} /> : icon;\n\n\treturn (\n\t\t<chakra.div\n\t\t\tcss={styles.icon}\n\t\t\t{...rest}\n\t\t\tclassName={cx(\"stepper__icon\", className)}\n\t\t\tdata-active={dataAttr(isActive)}\n\t\t>\n\t\t\t{content}\n\t\t</chakra.div>\n\t);\n};\n\nStepperIcon.displayName = \"StepperIcon\";\n\nexport interface StepperStepProps\n\textends Omit<HTMLChakraProps<\"div\">, \"title\"> {\n\t/**\n\t * The step title\n\t */\n\ttitle: React.ReactNode;\n\t/**\n\t * The step name, used for controlled steppers\n\t */\n\tname?: string;\n\t/**\n\t * Show an icon instead of the step number\n\t */\n\ticon?: React.ReactNode;\n\tisActive?: boolean;\n\tisCompleted?: boolean;\n}\n\n/**\n * Displays the icon and step title.\n */\nexport const StepperStep: React.FC<StepperStepProps> = (props) => {\n\tconst { title, icon, isActive, isCompleted, ...rest } = props;\n\tconst step = useStep(props);\n\tconst styles = useStyles();\n\n\treturn (\n\t\t<chakra.div\n\t\t\t{...rest}\n\t\t\tcss={styles.step}\n\t\t\tdata-active={dataAttr(step.isActive)}\n\t\t\tdata-completed={dataAttr(step.isCompleted)}\n\t\t\taria-current={step.isActive ? \"step\" : undefined}\n\t\t\tclassName={cx(\"stepper__step\", props.className)}\n\t\t>\n\t\t\t<StepperIcon icon={icon} isActive={isActive} isCompleted={isCompleted} />\n\t\t\t{title && <StepperStepTitle>{title}</StepperStepTitle>}\n\t\t</chakra.div>\n\t);\n};\n\nStepperStep.displayName = \"StepperStep\";\n\nexport interface StepperSeparatorProps extends HTMLChakraProps<\"div\"> {\n\tisActive?: boolean;\n}\n\n/**\n * The separator between steps.\n */\nexport const StepperSeparator: React.FC<StepperSeparatorProps> = (props) => {\n\tconst { isActive, ...rest } = props;\n\tconst styles = useStyles();\n\n\treturn (\n\t\t<chakra.div\n\t\t\t{...rest}\n\t\t\tdata-active={dataAttr(isActive)}\n\t\t\tclassName={cx(\"stepper__separator\", props.className)}\n\t\t\tcss={styles.separator}\n\t\t/>\n\t);\n};\n\nStepperSeparator.displayName = \"StepperSeparator\";\n\n/**\n * The step title.\n */\nexport const StepperStepTitle: React.FC<HTMLChakraProps<\"p\">> = (props) => {\n\tconst styles = useStyles();\n\treturn (\n\t\t<chakra.p\n\t\t\t{...props}\n\t\t\tcss={styles.title}\n\t\t\tclassName={cx(\"stepper__title\", props.className)}\n\t\t/>\n\t);\n};\n\nStepperStepTitle.displayName = \"StepperStepTitle\";\n\n/**\n * Shown when all steps have completed.\n */\nexport const StepperCompleted: React.FC<HTMLChakraProps<\"div\">> = (props) => {\n\tconst styles = useStyles();\n\treturn (\n\t\t<chakra.div\n\t\t\tcss={styles.completed}\n\t\t\t{...props}\n\t\t\tclassName={cx(\"stepper__completed\", props.className)}\n\t\t/>\n\t);\n};\n\nStepperCompleted.displayName = \"StepperCompleted\";\n","import { Timeline as ChakraTimeline } from \"@chakra-ui/react\";\n\n// Pass-through exports for full composition\nexport const TimelineRoot = ChakraTimeline.Root;\nTimelineRoot.displayName = \"TimelineRoot\";\n\nexport const TimelineItem = ChakraTimeline.Item;\nTimelineItem.displayName = \"TimelineItem\";\n\nexport const TimelineConnector = ChakraTimeline.Connector;\nTimelineConnector.displayName = \"TimelineConnector\";\n\nexport const TimelineSeparator = ChakraTimeline.Separator;\nTimelineSeparator.displayName = \"TimelineSeparator\";\n\nexport const TimelineIndicator = ChakraTimeline.Indicator;\nTimelineIndicator.displayName = \"TimelineIndicator\";\n\nexport const TimelineContent = ChakraTimeline.Content;\nTimelineContent.displayName = \"TimelineContent\";\n\nexport const TimelineTitle = ChakraTimeline.Title;\nTimelineTitle.displayName = \"TimelineTitle\";\n\nexport const TimelineDescription = ChakraTimeline.Description;\nTimelineDescription.displayName = \"TimelineDescription\";\n\nexport type TimelineRootProps = ChakraTimeline.RootProps;\nexport type TimelineItemProps = ChakraTimeline.ItemProps;\n","import { TreeView as ChakraTreeView } from \"@chakra-ui/react\";\n\n// Pass-through exports for full composition\nexport const TreeViewRoot = ChakraTreeView.Root;\nTreeViewRoot.displayName = \"TreeViewRoot\";\n\nexport const TreeViewTree = ChakraTreeView.Tree;\nTreeViewTree.displayName = \"TreeViewTree\";\n\nexport const TreeViewBranch = ChakraTreeView.Branch;\nTreeViewBranch.displayName = \"TreeViewBranch\";\n\nexport const TreeViewBranchContent = ChakraTreeView.BranchContent;\nTreeViewBranchContent.displayName = \"TreeViewBranchContent\";\n\nexport const TreeViewBranchControl = ChakraTreeView.BranchControl;\nTreeViewBranchControl.displayName = \"TreeViewBranchControl\";\n\nexport const TreeViewBranchTrigger = ChakraTreeView.BranchTrigger;\nTreeViewBranchTrigger.displayName = \"TreeViewBranchTrigger\";\n\nexport const TreeViewBranchText = ChakraTreeView.BranchText;\nTreeViewBranchText.displayName = \"TreeViewBranchText\";\n\nexport const TreeViewBranchIndicator = ChakraTreeView.BranchIndicator;\nTreeViewBranchIndicator.displayName = \"TreeViewBranchIndicator\";\n\nexport const TreeViewItem = ChakraTreeView.Item;\nTreeViewItem.displayName = \"TreeViewItem\";\n\nexport const TreeViewItemText = ChakraTreeView.ItemText;\nTreeViewItemText.displayName = \"TreeViewItemText\";\n\nexport const TreeViewItemIndicator = ChakraTreeView.ItemIndicator;\nTreeViewItemIndicator.displayName = \"TreeViewItemIndicator\";\n\nexport const TreeViewNode = ChakraTreeView.Node;\n(TreeViewNode as { displayName?: string }).displayName = \"TreeViewNode\";\n\nexport const TreeViewLabel = ChakraTreeView.Label;\nTreeViewLabel.displayName = \"TreeViewLabel\";\n\nexport type TreeViewRootProps = ChakraTreeView.RootProps;\nexport type TreeViewBranchProps = ChakraTreeView.BranchProps;\nexport type TreeViewItemProps = ChakraTreeView.ItemProps;\n","import { Box, Card, Flex, Text } from \"@chakra-ui/react\";\nimport type React from \"react\";\n\nexport interface WidgetProps {\n\theading: string;\n\tsubHeading?: string;\n\t/** Icon element (e.g. a lucide-react icon component). */\n\ticon: React.ReactNode;\n\tchildren: React.ReactNode;\n}\n\nexport const Widget: React.FC<WidgetProps> = ({\n\theading,\n\tsubHeading,\n\ticon,\n\tchildren,\n}) => {\n\treturn (\n\t\t<Card.Root height=\"100%\" maxW=\"auto\" overflow=\"hidden\" bg=\"bg-surface\">\n\t\t\t<Card.Body>\n\t\t\t\t<Box marginBlockEnd=\"6\">\n\t\t\t\t\t<Flex justifyContent=\"space-between\" alignItems=\"center\">\n\t\t\t\t\t\t<Text fontWeight=\"semibold\">{heading}</Text>\n\t\t\t\t\t\t<Box color=\"subtle\">{icon}</Box>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{subHeading && (\n\t\t\t\t\t\t<Text fontWeight=\"medium\" fontSize=\"xs\" color=\"muted\">\n\t\t\t\t\t\t\t{subHeading}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</Box>\n\t\t\t\t{children}\n\t\t\t</Card.Body>\n\t\t</Card.Root>\n\t);\n};\nWidget.displayName = \"Widget\";\n"]}
1
+ {"version":3,"sources":["../../src/components/card.tsx","../../src/components/card-list.tsx","../../src/components/card-list-data.tsx","../../src/components/card-list-item.tsx","../../src/components/data-table/cells/action-cell.tsx","../../src/components/data-table/cells/cell-utils.ts","../../src/components/data-table/cells/boolean-cell.tsx","../../src/components/data-table/cells/code-cell.tsx","../../src/components/data-table/cells/color-swatch-cell.tsx","../../src/components/data-table/cells/count-cell.tsx","../../src/components/data-table/cells/date-cell.tsx","../../src/components/data-table/cells/number-cell.tsx","../../src/components/data-table/cells/slug-cell.tsx","../../src/components/data-table/cells/status-badge-cell.tsx","../../src/components/data-table/cells/switch-cell.tsx","../../src/components/data-table/cells/truncated-text-cell.tsx","../../src/components/data-table/cells/url-cell.tsx","../../src/components/pagination.tsx","../../src/components/data-table/data-table.tsx","../../src/components/drawer.tsx","../../src/components/fact-box.tsx","../../src/components/labeled-switch.tsx","../../src/components/modal.tsx","../../src/components/stepper/use-stepper.tsx","../../src/components/stepper/stepper.tsx","../../src/components/timeline.tsx","../../src/components/tree-view.tsx","../../src/components/widget.tsx"],"names":["ChakraCard","jsxs","Box","jsx","Text","Children","Flex","Grid","GridItem","HStack","table","_","Portal","React","ChevronRight","Spacer","X","step","createContext","Fragment","Collapsible","ChakraTimeline","ChakraTreeView","Card"],"mappings":";;;;;;;;;;;;AAkBO,IAAM,OAAO,CAAC;AAAA,EACpB,GAAA;AAAA,EACA,IAAA,GAAO,MAAA;AAAA,EACP,KAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACJ,CAAA,KAAuD;AACtD,EAAA,uBACC,IAAA;AAAA,IAACA,MAAA,CAAW,IAAA;AAAA,IAAX;AAAA,MACA,GAAA;AAAA,MACA,EAAA,EAAG,YAAA;AAAA,MACH,CAAA,EAAE,MAAA;AAAA,MACF,MAAA,EAAO,MAAA;AAAA,MACP,IAAA;AAAA,MACA,YAAA,EAAa,MAAA;AAAA,MACb,QAAA,EAAS,QAAA;AAAA,MACR,GAAG,KAAA;AAAA,MAEF,QAAA,EAAA;AAAA,QAAA,CAAA,MAAA,IAAU,KAAA,qBACX,GAAA,CAACA,MAAA,CAAW,MAAA,EAAX,EACC,QAAA,EAAA,MAAA,oBAAU,GAAA,CAAC,OAAA,EAAA,EAAQ,IAAA,EAAK,IAAA,EAAM,QAAA,EAAA,KAAA,EAAM,CAAA,EACtC,CAAA;AAAA,4BAEAA,MAAA,CAAW,IAAA,EAAX,EAAgB,QAAA,EAAS,UAAU,QAAA,EAAS,CAAA;AAAA,QAC5C,MAAA,oBAAU,GAAA,CAACA,MAAA,CAAW,MAAA,EAAX,EAAmB,QAAA,EAAA,MAAA,EAAO;AAAA;AAAA;AAAA,GACvC;AAEF;AACA,IAAA,CAAK,WAAA,GAAc,MAAA;AC9BZ,IAAM,WAAoC,CAAC;AAAA,EACjD,QAAA;AAAA,EACA,OAAA;AAAA,EACA,gBAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,GAAc,EAAA;AAAA,EACd;AACD,CAAA,KAAM;AACL,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,WAAA,GAAc,QAAQ,MAAM,CAAA;AACvD,EAAA,MAAM,OAAA,GAAU,QAAA,CAAS,KAAA,CAAM,QAAQ,CAAA,KAAM,CAAA;AAE7C,EAAA,uBACCC,KAACC,GAAAA,EAAA,EAAI,MAAK,MAAA,EAAO,eAAA,EAAe,QAAQ,MAAA,EACvC,QAAA,EAAA;AAAA,oBAAAD,KAAC,IAAA,EAAA,EAAK,EAAA,EAAI,GAAG,EAAA,EAAI,gBAAA,GAAmB,IAAI,CAAA,EACtC,QAAA,EAAA;AAAA,MAAA,gBAAA,oBAAoBE,GAAAA,CAACD,GAAAA,EAAA,EAAI,QAAA,EAAU,EAAA,EAAI,IAAI,CAAA,EAAG,CAAA;AAAA,sBAC/CC,GAAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACA,CAAA,EAAE,MAAA;AAAA,UACF,YAAA,EAAa,gBAAA;AAAA,UACb,eAAA,EAAiB,UAAU,WAAW,CAAA,MAAA,CAAA;AAAA,UACtC,GAAA,EAAK,CAAA;AAAA,UACL,UAAA,EAAW,UAAA;AAAA,UACX,KAAA,EAAM,OAAA;AAAA,UAEL,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,qBACbA,GAAAA,CAAC,QAAA,EAAA,EAAsB,OAAA,EAAkB,IAAA,EAAK,cAAA,EAC5C,QAAA,EAAA,MAAA,EAAA,EADa,MAEf,CACA;AAAA;AAAA,OACF;AAAA,MACC,OAAA,oBAAWA,GAAAA,CAACD,GAAAA,EAAA,EAAI,QAAA,EAAS,MAAA,EAAO,IAAI,CAAA,EAAG;AAAA,KAAA,EACzC,CAAA;AAAA,oBAEAC,GAAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,QAAA,EAAS,KAAI,GAAA,EAC3B,QAAA,EAAA,OAAA,IAAW,UAAA,GAAa,UAAA,GAAa,QAAA,EACvC;AAAA,GAAA,EACD,CAAA;AAEF;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;AChDhB,IAAM,eAA4C,CAAC;AAAA,EACzD,QAAA;AAAA,EACA,GAAG;AACJ,CAAA,KAAM;AACL,EAAA,MAAM,WAAA,GACL,OAAO,QAAA,KAAa,QAAA,IAAY,OAAO,QAAA,KAAa,QAAA,GACjD,MAAA,CAAO,QAAQ,CAAA,GACf,IAAA;AAEJ,EAAA,uBACCA,IAAC,OAAA,EAAA,EAAQ,OAAA,EAAS,eAAe,EAAA,EAAI,QAAA,EAAU,CAAC,WAAA,EAC/C,QAAA,kBAAAA,IAACC,IAAAA,EAAA,EAAK,WAAW,CAAA,EAAG,KAAA,EAAM,SAAS,GAAG,SAAA,EACpC,UACF,CAAA,EACD,CAAA;AAEF;AACA,YAAA,CAAa,WAAA,GAAc,cAAA;ACUpB,IAAM,eAAe,CAA4B;AAAA,EACvD,QAAA;AAAA,EACA,eAAA;AAAA,EACA,qBAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA,GAAc;AACf,CAAA,KAA4B;AAC3B,EAAA,MAAM,UAAU,IAAA,CAAK,KAAA,CAAM,cAAcC,QAAAA,CAAS,KAAA,CAAM,QAAQ,CAAC,CAAA;AAEjE,EAAA,uBACCJ,IAAAA;AAAA,IAACK,IAAAA;AAAA,IAAA;AAAA,MACA,IAAA,EAAK,KAAA;AAAA,MACL,SAAA,EAAW,WAAW,gCAAA,GAAmC,IAAA;AAAA,MACzD,EAAA,EAAG,YAAA;AAAA,MACH,YAAA,EAAa,IAAA;AAAA,MACb,UAAA,EAAW,SAAA;AAAA,MACX,QAAA,EAAS,QAAA;AAAA,MACT,UAAA,EAAW,gBAAA;AAAA,MAEX,QAAA,EAAA;AAAA,wBAAAL,IAAAA;AAAA,UAACK,IAAAA;AAAA,UAAA;AAAA,YACA,KAAA,EAAM,MAAA;AAAA,YACN,UAAA,EAAW,gBAAA;AAAA,YACX,MAAA,EAAQ,EAAE,EAAA,EAAI,WAAA,EAAa,QAAQ,SAAA,EAAU;AAAA,YAC7C,UAAA,EAAW,SAAA;AAAA,YACX,QAAA,EAAS,QAAA;AAAA,YACT,OAAA,EAAS,eAAA;AAAA,YACT,aAAA,EAAe,qBAAA;AAAA,YACd,GAAI,eAAA,IAAmB;AAAA,cACvB,IAAA,EAAM,QAAA;AAAA,cACN,QAAA,EAAU,CAAA;AAAA,cACV,SAAA,EAAW,CAAC,CAAA,KAA2B;AACtC,gBAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAA,CAAE,QAAQ,GAAA,EAAK;AACvC,kBAAA,CAAA,CAAE,cAAA,EAAe;AACjB,kBAAA,eAAA,EAAgB;AAAA,gBACjB;AAAA,cACD;AAAA,aACD;AAAA,YAEC,QAAA,EAAA;AAAA,cAAA,aAAA,oBACAH,GAAAA;AAAA,gBAACD,GAAAA;AAAA,gBAAA;AAAA,kBACA,KAAA,EAAO,EAAA;AAAA,kBACP,EAAA,EAAI,CAAA;AAAA,kBACJ,OAAA,EAAQ,MAAA;AAAA,kBACR,cAAA,EAAe,QAAA;AAAA,kBACf,UAAA,EAAW,QAAA;AAAA,kBAEV,QAAA,EAAA;AAAA;AAAA,eACF;AAAA,8BAGDC,GAAAA;AAAA,gBAACI,IAAAA;AAAA,gBAAA;AAAA,kBACA,EAAA,EAAI,aAAA,KAAkB,MAAA,GAAY,CAAA,GAAI,CAAA;AAAA,kBACtC,EAAA,EAAI,CAAA;AAAA,kBACJ,KAAA,EAAM,MAAA;AAAA,kBACN,YAAA,EAAa,gBAAA;AAAA,kBACb,eAAA,EAAiB,UAAU,WAAW,CAAA,MAAA,CAAA;AAAA,kBACtC,GAAA,EAAK,CAAA;AAAA,kBAEJ,UAAAF,QAAAA,CAAS,GAAA,CAAI,UAAU,CAAC,KAAA,EAAO,0BAC/BF,GAAAA;AAAA,oBAACK,QAAAA;AAAA,oBAAA;AAAA,sBAGA,OAAA;AAAA,sBACA,OAAA,EAAQ,MAAA;AAAA,sBACR,UAAA,EAAW,QAAA;AAAA,sBAEV,QAAA,EAAA;AAAA,qBAAA;AAAA,oBALI;AAAA,mBAON;AAAA;AAAA;AACF;AAAA;AAAA,SACD;AAAA,QACC,SAAA,oBACAP,IAAAA,CAAC,IAAA,CAAK,MAAL,EACA,QAAA,EAAA;AAAA,0BAAAE,GAAAA;AAAA,YAAC,IAAA,CAAK,OAAA;AAAA,YAAL;AAAA,cACA,KAAA,EAAM,MAAA;AAAA,cACN,EAAA,EAAI,CAAA;AAAA,cACJ,OAAA,EAAQ,MAAA;AAAA,cACR,EAAA,EAAG,QAAA;AAAA,cACH,KAAA,EAAM,WAAA;AAAA,cACN,UAAA,EAAW,QAAA;AAAA,cACX,cAAA,EAAe,QAAA;AAAA,cACf,MAAA,EAAQ,EAAE,OAAA,EAAS,GAAA,EAAI;AAAA,cACvB,YAAA,EAAW,aAAA;AAAA,cAEX,QAAA,kBAAAA,GAAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAM,EAAA,EAAI;AAAA;AAAA,WACrB;AAAA,0BACAA,GAAAA,CAAC,MAAA,EAAA,EACA,QAAA,kBAAAA,GAAAA,CAAC,KAAK,UAAA,EAAL,EACA,QAAA,kBAAAA,GAAAA,CAAC,KAAK,OAAA,EAAL,EACC,oBAAU,GAAA,CAAI,CAAC,6BACfF,IAAAA;AAAA,YAAC,IAAA,CAAK,IAAA;AAAA,YAAL;AAAA,cAEA,SAAS,QAAA,CAAS,OAAA;AAAA,cAClB,OAAO,QAAA,CAAS,KAAA;AAAA,cAChB,KAAA,EAAO,QAAA,CAAS,KAAA,IAAS,QAAA,CAAS,KAAA;AAAA,cAEjC,QAAA,EAAA;AAAA,gBAAA,QAAA,CAAS,IAAA;AAAA,gBACT,QAAA,CAAS;AAAA;AAAA,aAAA;AAAA,YANL,QAAA,CAAS;AAAA,WAQf,CAAA,EACF,CAAA,EACD,CAAA,EACD;AAAA,SAAA,EACD;AAAA;AAAA;AAAA,GAEF;AAEF;AACC,YAAA,CAA0C,WAAA,GAAc,cAAA;ACzHlD,IAAM,UAAA,GAAwC,CAAC,EAAE,OAAA,EAAQ,KAAM;AACrE,EAAA,uBACCE,GAAAA,CAAC,MAAA,EAAA,EAAO,GAAA,EAAK,CAAA,EACX,kBAAQ,GAAA,CAAI,CAAC,MAAA,qBACbA,IAAC,OAAA,EAAA,EAA2B,OAAA,EAAS,OAAO,KAAA,EAC1C,QAAA,EAAA,MAAA,CAAO,uBACPA,GAAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACA,cAAY,MAAA,CAAO,KAAA;AAAA,MACnB,IAAA,EAAK,IAAA;AAAA,MACL,OAAA,EAAS,OAAO,OAAA,IAAW,OAAA;AAAA,MAC3B,cAAc,MAAA,CAAO,YAAA;AAAA,MACrB,UAAU,MAAA,CAAO,QAAA;AAAA,MACjB,OAAA,EAAO,IAAA;AAAA,MAEP,QAAA,kBAAAA,GAAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACA,MAAM,MAAA,CAAO,IAAA;AAAA,UACb,UAAU,MAAA,CAAO,QAAA;AAAA,UACjB,QAAQ,MAAA,CAAO,MAAA;AAAA,UACf,GAAA,EACC,MAAA,CAAO,MAAA,KAAW,QAAA,GAAW,qBAAA,GAAwB,MAAA;AAAA,UAGtD,0BAAAA,GAAAA,CAAC,MAAA,CAAO,IAAA,EAAP,EAAY,MAAM,EAAA,EAAI;AAAA;AAAA;AACxB;AAAA,sBAGDA,GAAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACA,cAAY,MAAA,CAAO,KAAA;AAAA,MACnB,IAAA,EAAK,IAAA;AAAA,MACL,OAAA,EAAS,OAAO,OAAA,IAAW,OAAA;AAAA,MAC3B,cAAc,MAAA,CAAO,YAAA;AAAA,MACrB,SAAS,MAAA,CAAO,OAAA;AAAA,MAChB,UAAU,MAAA,CAAO,QAAA;AAAA,MAEjB,0BAAAA,GAAAA,CAAC,MAAA,CAAO,IAAA,EAAP,EAAY,MAAM,EAAA,EAAI;AAAA;AAAA,GACxB,EAAA,EA/BY,MAAA,CAAO,KAiCrB,CACA,CAAA,EACF,CAAA;AAEF;AACA,UAAA,CAAW,WAAA,GAAc,YAAA;;;ACjElB,IAAM,cAAA,GAAiB;AAGvB,SAAS,YAAA,CAAa,MAAc,SAAA,EAA2B;AACrE,EAAA,IAAI,IAAA,CAAK,MAAA,IAAU,SAAA,EAAW,OAAO,IAAA;AACrC,EAAA,OAAO,CAAA,EAAG,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,SAAS,CAAC,CAAA,MAAA,CAAA;AACnC;AAGO,SAAS,SAAA,CACf,KAAA,EACA,QAAA,EACA,MAAA,EACS;AACT,EAAA,OAAO,KAAA,KAAU,IAAI,QAAA,GAAW,MAAA;AACjC;ACPO,IAAM,cAA0C,CAAC;AAAA,EACvD,KAAA;AAAA,EACA,SAAA,GAAY,KAAA;AAAA,EACZ,UAAA,GAAa;AACd,CAAA,KAAM;AACL,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAChD,EAAA,uBAAOA,GAAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,KAAA,GAAQ,YAAY,UAAA,EAAW,CAAA;AAC9C;AACA,WAAA,CAAY,WAAA,GAAc,aAAA;ACRnB,IAAM,WAAoC,CAAC;AAAA,EACjD,KAAA;AAAA,EACA,SAAA,GAAY;AACb,CAAA,KAAM;AACL,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAChD,EAAA,MAAM,OAAA,GAAU,YAAA,CAAa,KAAA,EAAO,SAAS,CAAA;AAC7C,EAAA,uBACCA,GAAAA,CAAC,IAAA,EAAA,EAAK,OAAO,KAAA,EAAO,QAAA,EAAS,UAC3B,QAAA,EAAA,OAAA,EACF,CAAA;AAEF;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;ACbhB,IAAM,eAAA,GAAkD,CAAC,EAAE,KAAA,EAAM,KAAM;AAC7E,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAChD,EAAA,uBACCF,IAAAA,CAAC,MAAA,EAAA,EAAO,GAAA,EAAK,CAAA,EACZ,QAAA,EAAA;AAAA,oBAAAE,GAAAA;AAAA,MAACD,KAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAM,MAAA;AAAA,QACN,MAAA,EAAO,MAAA;AAAA,QACP,YAAA,EAAa,MAAA;AAAA,QACb,EAAA,EAAI,KAAA;AAAA,QACJ,WAAA,EAAY,KAAA;AAAA,QACZ,WAAA,EAAY,QAAA;AAAA,QACZ,UAAA,EAAY;AAAA;AAAA,KACb;AAAA,oBACAC,GAAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACd,CAAA;AAEF;AACA,eAAA,CAAgB,WAAA,GAAc,iBAAA;ACfvB,IAAM,YAAsC,CAAC;AAAA,EACnD,KAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA;AACD,CAAA,KAAM;AACL,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAEhD,EAAA,IAAI,KAAA;AACJ,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,KAAA,GAAQ,QAAQ,KAAK,CAAA;AACrB,IAAA,IAAI,CAAC,OAAO,QAAA,CAAS,KAAK,GAAG,uBAAOA,GAAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAAA,EAC3D,CAAA,MAAA,IAAW,OAAO,KAAA,KAAU,QAAA,EAAU;AACrC,IAAA,KAAA,GAAQ,KAAA;AAAA,EACT,CAAA,MAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AAChC,IAAA,KAAA,GAAQ,KAAA,CAAM,MAAA;AAAA,EACf,CAAA,MAAA,IAAW,OAAO,KAAA,KAAU,QAAA,EAAU;AACrC,IAAA,KAAA,GAAQ,MAAA,CAAO,IAAA,CAAK,KAAK,CAAA,CAAE,MAAA;AAAA,EAC5B,CAAA,MAAO;AACN,IAAA,uBAAOA,GAAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAAA,EAC9B;AAEA,EAAA,uBACCF,KAAC,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,IAAA,KAAA;AAAA,IAAM,GAAA;AAAA,IAAE,SAAA,CAAU,KAAA,EAAO,QAAA,EAAU,MAAM;AAAA,GAAA,EAC3C,CAAA;AAEF;AACA,SAAA,CAAU,WAAA,GAAc,WAAA;AC1BjB,IAAM,WAAoC,CAAC;AAAA,EACjD,KAAA;AAAA,EACA,MAAA,GAAS,aAAA;AAAA,EACT;AACD,CAAA,KAAM;AACL,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOE,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAEhD,EAAA,MAAM,MAAA,GAAS,MAAM,KAAK,CAAA;AAC1B,EAAA,IAAI,CAAC,OAAO,OAAA,EAAQ,yBAAUA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAEpD,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,MAAA,CAAO,MAAM,CAAA;AAEtC,EAAA,IAAI,YAAA,EAAc;AACjB,IAAA,MAAM,QAAA,GAAW,uBAAuB,KAAK,CAAA;AAC7C,IAAA,uBACCA,IAAC,OAAA,EAAA,EAAQ,OAAA,EAAS,WACjB,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,QAAA,EAAS,CAAA,EACjB,CAAA;AAAA,EAEF;AAEA,EAAA,uBAAOA,GAAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,SAAA,EAAU,CAAA;AACzB;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;AC3BhB,IAAM,UAAA,GAAwC,CAAC,EAAE,KAAA,EAAO,QAAO,KAAM;AAC3E,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAChD,EAAA,MAAM,GAAA,GAAM,OAAO,KAAK,CAAA;AACxB,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA,GAC7B,OAAO,KAAK,CAAA,GACZ,GAAA,CAAI,cAAA,CAAe,MAAM,CAAA;AAC5B,EAAA,uBAAOA,GAAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,OAAA,EAAQ,CAAA;AACvB;AACA,UAAA,CAAW,WAAA,GAAc,YAAA;ACRlB,IAAM,QAAA,GAAoC,CAAC,EAAE,KAAA,EAAM,KAAM;AAC/D,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAChD,EAAA,uBAAOA,GAAAA,CAAC,IAAA,EAAA,EAAM,QAAA,EAAA,KAAA,EAAM,CAAA;AACrB;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;ACKhB,IAAM,kBAAkD,CAAC;AAAA,EAC/D,KAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA,GAAgB,MAAA;AAAA,EAChB,MAAA;AAAA,EACA,WAAA,GAAc;AACf,CAAA,KAAM;AACL,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAChD,EAAA,MAAM,KAAA,GAAQ,QAAA,GAAW,KAAK,CAAA,IAAK,aAAA;AACnC,EAAA,MAAM,wBAAQA,GAAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAO,OAAO,KAAA,EAAc,CAAA;AAEvD,EAAA,IAAI,MAAA,EAAQ;AACX,IAAA,uBACCF,IAAAA,CAAC,MAAA,EAAA,EAAO,KAAA,EAAM,OAAA,EAAQ,KAAK,GAAA,EACzB,QAAA,EAAA;AAAA,MAAA,KAAA;AAAA,sBACDE,GAAAA,CAACC,MAAA,EAAA,EAAK,UAAS,IAAA,EAAK,KAAA,EAAO,aACzB,QAAA,EAAA,MAAA,EACF;AAAA,KAAA,EACD,CAAA;AAAA,EAEF;AAEA,EAAA,OAAO,KAAA;AACR;AACA,eAAA,CAAgB,WAAA,GAAc,iBAAA;AC7BvB,IAAM,aAAwC,CAAC;AAAA,EACrD,OAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA,GAAe,OAAA;AAAA,EACf;AACD,CAAA,KAAM;AACL,EAAA,uBACCD,GAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,iBAAiB,CAAC,OAAA,KAAY,SAAS,CAAC,CAAC,QAAQ,OAAO,CAAA;AAAA,MACxD,QAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA,EAAY,KAAA;AAAA,MACZ,OAAA,EAAS,CAAC,CAAA,KAAwB,CAAA,CAAE,eAAA;AAAgB;AAAA,GACrD;AAEF;AACA,UAAA,CAAW,WAAA,GAAc,YAAA;ACtBlB,IAAM,oBAAsD,CAAC;AAAA,EACnE,KAAA;AAAA,EACA;AACD,CAAA,KAAM;AACL,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAChD,EAAA,MAAM,WAAA,GAAc,SAAA,IAAa,IAAA,IAAQ,KAAA,CAAM,MAAA,GAAS,SAAA;AACxD,EAAA,MAAM,OAAA,GAAU,WAAA,GAAc,YAAA,CAAa,KAAA,EAAO,SAAS,CAAA,GAAI,KAAA;AAC/D,EAAA,uBAAOA,GAAAA,CAAC,MAAA,EAAA,EAAK,OAAO,WAAA,GAAc,KAAA,GAAQ,QAAY,QAAA,EAAA,OAAA,EAAQ,CAAA;AAC/D;AACA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;ACRzB,IAAM,OAAA,GAAkC,CAAC,EAAE,KAAA,EAAO,OAAM,KAAM;AACpE,EAAA,IAAI,SAAS,IAAA,EAAM,uBAAOA,GAAAA,CAAC,UAAM,QAAA,EAAA,cAAA,EAAe,CAAA;AAChD,EAAA,uBACCA,GAAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACA,IAAA,EAAM,KAAA;AAAA,MACN,MAAA,EAAO,QAAA;AAAA,MACP,GAAA,EAAI,qBAAA;AAAA,MACJ,KAAA,EAAO,KAAA;AAAA,MACP,KAAA,EAAM,QAAA;AAAA,MAEL,QAAA,EAAA,KAAA,IAAS;AAAA;AAAA,GACX;AAEF;AACA,OAAA,CAAQ,WAAA,GAAc,SAAA;ACDf,IAAM,UAAA,GAAwC,CAAC,KAAA,KAAU;AAC/D,EAAA,MAAM;AAAA,IACL,IAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA,GAAW,EAAA;AAAA,IACX,YAAA;AAAA,IACA,eAAA,GAAkB,CAAA;AAAA,IAClB,aAAA,GAAgB,eAAA;AAAA,IAChB,SAAA,GAAY;AAAA,GACb,GAAI,KAAA;AAEJ,EAAA,MAAM,UAAA,GAAa,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,IAAA,CAAK,KAAA,GAAQ,QAAQ,CAAC,CAAA;AAC1D,EAAA,MAAM,WAAA,GAAc,KAAK,GAAA,CAAI,IAAA,CAAK,IAAI,CAAA,EAAG,IAAI,GAAG,UAAU,CAAA;AAE1D,EAAA,MAAM,KAAA,GAAQ,eAAA,CAAgB,WAAA,EAAa,UAAA,EAAY,eAAe,CAAA;AAEtE,EAAA,uBACCF,IAAAA,CAACQ,QAAAA,EAAA,EAAO,KAAK,CAAA,EACZ,QAAA,EAAA;AAAA,oBAAAN,GAAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACA,OAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAK,IAAA;AAAA,QACL,YAAA,EAAY,aAAA;AAAA,QACZ,UAAU,WAAA,IAAe,CAAA;AAAA,QACzB,OAAA,EAAS,MAAM,YAAA,CAAa,WAAA,GAAc,CAAC,CAAA;AAAA,QAE3C,QAAA,kBAAAA,GAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAM,EAAA,EAAI;AAAA;AAAA,KACxB;AAAA,IACC,KAAA,CAAM,GAAA;AAAA,MAAI,CAAC,CAAA,KACX,CAAA,KAAM,oBAAoB,CAAA,KAAM,cAAA,mBAC/BA,GAAAA,CAACC,IAAAA,EAAA,EAAa,EAAA,EAAI,CAAA,EAAG,OAAM,OAAA,EAAQ,QAAA,EAAS,MAAK,QAAA,EAAA,QAAA,EAAA,EAAtC,CAEX,oBAEAD,GAAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UAEA,OAAA,EAAS,CAAA,KAAM,WAAA,GAAc,OAAA,GAAU,OAAA;AAAA,UACvC,YAAA,EAAc,CAAA,KAAM,WAAA,GAAc,SAAA,GAAY,MAAA;AAAA,UAC9C,IAAA,EAAK,IAAA;AAAA,UACL,IAAA,EAAK,MAAA;AAAA,UACL,OAAA,EAAS,MAAM,YAAA,CAAa,CAAC,CAAA;AAAA,UAC7B,cAAA,EAAc,CAAA,KAAM,WAAA,GAAc,MAAA,GAAS,MAAA;AAAA,UAE1C,QAAA,EAAA;AAAA,SAAA;AAAA,QARI;AAAA;AASN,KAEF;AAAA,oBACAA,GAAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACA,OAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAK,IAAA;AAAA,QACL,YAAA,EAAY,SAAA;AAAA,QACZ,UAAU,WAAA,IAAe,UAAA;AAAA,QACzB,OAAA,EAAS,MAAM,YAAA,CAAa,WAAA,GAAc,CAAC,CAAA;AAAA,QAE3C,QAAA,kBAAAA,GAAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAM,EAAA,EAAI;AAAA;AAAA;AACzB,GAAA,EACD,CAAA;AAEF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;AAEzB,SAAS,eAAA,CACR,OAAA,EACA,KAAA,EACA,GAAA,EACoD;AACpD,EAAA,IAAI,SAAS,GAAA,EAAK;AACjB,IAAA,OAAO,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,KAAA,IAAS,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,GAAI,CAAC,CAAA;AAAA,EACrD;AAEA,EAAA,MAAM,QAA2D,EAAC;AAClE,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAA,CAAO,GAAA,GAAM,KAAK,CAAC,CAAA;AACrC,EAAA,IAAI,KAAA,GAAQ,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,UAAU,IAAI,CAAA;AACtC,EAAA,IAAI,MAAM,IAAA,CAAK,GAAA,CAAI,KAAA,GAAQ,CAAA,EAAG,UAAU,IAAI,CAAA;AAE5C,EAAA,IAAI,OAAA,GAAU,QAAQ,CAAA,EAAG;AACxB,IAAA,GAAA,GAAM,IAAA,CAAK,GAAA,CAAI,KAAA,GAAQ,CAAA,EAAG,MAAM,CAAC,CAAA;AAAA,EAClC;AACA,EAAA,IAAI,OAAA,GAAU,IAAA,IAAQ,KAAA,GAAQ,CAAA,EAAG;AAChC,IAAA,KAAA,GAAQ,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,KAAA,GAAQ,MAAM,CAAC,CAAA;AAAA,EACpC;AAEA,EAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AACZ,EAAA,IAAI,KAAA,GAAQ,CAAA,EAAG,KAAA,CAAM,IAAA,CAAK,gBAAgB,CAAA;AAC1C,EAAA,KAAA,IAAS,CAAA,GAAI,KAAA,EAAO,CAAA,IAAK,GAAA,EAAK,CAAA,EAAA,EAAK;AAClC,IAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,EACb;AACA,EAAA,IAAI,GAAA,GAAM,KAAA,GAAQ,CAAA,EAAG,KAAA,CAAM,KAAK,cAAc,CAAA;AAC9C,EAAA,KAAA,CAAM,KAAK,KAAK,CAAA;AAEhB,EAAA,OAAO,KAAA;AACR;AC5DA,IAAM,iBAAA,GAAoB,CAAA;AAE1B,SAAS,eACR,KAAA,EACC;AACD,EAAA,MAAM;AAAA,IACL,OAAA;AAAA,IACA,IAAA;AAAA,IACA,UAAA,GAAa,KAAA;AAAA,IACb,YAAA;AAAA,IACA,oBAAA;AAAA,IACA,OAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA,GAAU,KAAA;AAAA,IACV,UAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA,GAAU,MAAA;AAAA,IACV;AAAA,GACD,GAAI,KAAA;AAEJ,EAAA,MAAM,eAAA,GAAkB,OAAA;AAAA,IACvB,OAAO;AAAA,MACN,EAAA,EAAI,SAAA;AAAA,MACJ,QAAQ,CAAC,EAAE,KAAA,EAAAO,MAAAA,uBACVT,IAAAA;AAAA,QAAC,QAAA,CAAS,IAAA;AAAA,QAAT;AAAA,UACA,OAAA,EACCS,OAAM,wBAAA,EAAyB,GAC5B,OACAA,MAAAA,CAAM,yBAAA,KACL,eAAA,GACA,KAAA;AAAA,UAEL,eAAA,EAAiB,CAAC,OAAA,KACjBA,MAAAA,CAAM,0BAA0B,CAAC,CAAC,QAAQ,OAAO,CAAA;AAAA,UAElD,YAAA,EAAW,iBAAA;AAAA,UACX,IAAA,EAAK,IAAA;AAAA,UAEL,QAAA,EAAA;AAAA,4BAAAP,GAAAA,CAAC,QAAA,CAAS,WAAA,EAAT,EAAqB,CAAA;AAAA,4BACtBA,GAAAA,CAAC,QAAA,CAAS,OAAA,EAAT,EAAiB;AAAA;AAAA;AAAA,OACnB;AAAA,MAED,IAAA,EAAM,CAAC,EAAE,GAAA,uBACRF,IAAAA;AAAA,QAAC,QAAA,CAAS,IAAA;AAAA,QAAT;AAAA,UACA,OAAA,EAAS,IAAI,aAAA,EAAc;AAAA,UAC3B,eAAA,EAAiB,CAAC,OAAA,KAAY,GAAA,CAAI,eAAe,CAAC,CAAC,QAAQ,OAAO,CAAA;AAAA,UAClE,cAAY,CAAA,WAAA,EAAc,MAAA,CAAO,GAAA,CAAI,KAAA,GAAQ,CAAC,CAAC,CAAA,CAAA;AAAA,UAC/C,IAAA,EAAK,IAAA;AAAA,UACL,OAAA,EAAS,CAAC,CAAA,KAAM,CAAA,CAAE,eAAA,EAAgB;AAAA,UAElC,QAAA,EAAA;AAAA,4BAAAE,GAAAA,CAAC,QAAA,CAAS,WAAA,EAAT,EAAqB,CAAA;AAAA,4BACtBA,GAAAA,CAAC,QAAA,CAAS,OAAA,EAAT,EAAiB;AAAA;AAAA;AAAA,OACnB;AAAA,MAED,aAAA,EAAe;AAAA,KAChB,CAAA;AAAA,IACA;AAAC,GACF;AAEA,EAAA,MAAM,UAAA,GAAa,OAAA;AAAA,IAClB,MAAO,UAAA,GAAa,CAAC,eAAA,EAAiB,GAAG,OAAO,CAAA,GAAI,OAAA;AAAA,IACpD,CAAC,UAAA,EAAY,eAAA,EAAiB,OAAO;AAAA,GACtC;AAEA,EAAA,MAAM,QAAQ,aAAA,CAAc;AAAA,IAC3B,IAAA;AAAA,IACA,OAAA,EAAS,UAAA;AAAA,IACT,KAAA,EAAO;AAAA,MACN,GAAI,OAAA,KAAY,MAAA,GAAY,EAAE,OAAA,KAAY,EAAC;AAAA,MAC3C,GAAI,YAAA,KAAiB,MAAA,GAAY,EAAE,YAAA,KAAiB;AAAC,KACtD;AAAA,IACA,eAAA;AAAA,IACA,oBAAA;AAAA,IACA,iBAAiB,eAAA,EAAgB;AAAA,IACjC,GAAI,oBAAoB,MAAA,GACrB,EAAE,mBAAmB,iBAAA,EAAkB,KACvC,EAAC;AAAA,IACJ,kBAAA,EAAoB,UAAA;AAAA,IACpB,eAAe,eAAA,KAAoB,MAAA;AAAA,IACnC,GAAI,QAAA,KAAa,MAAA,GAAY,EAAE,QAAA,KAAa;AAAC,GAC7C,CAAA;AAED,EAAA,MAAM,gBACL,KAAA,KAAU,MAAA,IACV,SAAS,MAAA,IACT,QAAA,KAAa,UACb,YAAA,KAAiB,MAAA;AAElB,EAAA,MAAM,OAAA,GAAU,CAAC,OAAA,IAAW,IAAA,CAAK,MAAA,KAAW,CAAA;AAE5C,EAAA,uBACCF,IAAAA,CAACK,IAAAA,EAAA,EAAK,SAAA,EAAU,QAAA,EAAS,KAAK,CAAA,EAC7B,QAAA,EAAA;AAAA,oBAAAH,GAAAA,CAACD,GAAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAKd,0BAAAD,IAAAA,CAAC,KAAA,CAAM,IAAA,EAAN,EAAW,OAAA,EACX,QAAA,EAAA;AAAA,sBAAAE,IAAC,KAAA,CAAM,MAAA,EAAN,EACC,QAAA,EAAA,KAAA,CAAM,eAAA,GAAkB,GAAA,CAAI,CAAC,gCAC7BA,GAAAA,CAAC,MAAM,GAAA,EAAN,EACC,sBAAY,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW;AACpC,QAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,UAAA,EAAW;AACzC,QAAA,MAAM,MAAA,GAAS,MAAA,CAAO,MAAA,CAAO,WAAA,EAAY;AAEzC,QAAA,uBACCA,GAAAA;AAAA,UAAC,KAAA,CAAM,YAAA;AAAA,UAAN;AAAA,YAEA,MAAA,EAAQ,UAAU,SAAA,GAAY,MAAA;AAAA,YAC9B,OAAA,EACC,OAAA,GACG,MAAA,CAAO,MAAA,CAAO,yBAAwB,GACtC,MAAA;AAAA,YAEJ,WAAA,EACC,WAAW,KAAA,GACR,WAAA,GACA,WAAW,MAAA,GACV,YAAA,GACA,UACC,MAAA,GACA,MAAA;AAAA,YAEN,UAAA,EAAY,UAAU,MAAA,GAAS,MAAA;AAAA,YAC/B,QAAA,EAAU,UAAU,CAAA,GAAI,MAAA;AAAA,YACxB,IAAA,EAAM,UAAU,QAAA,GAAW,MAAA;AAAA,YAC3B,SAAA,EACC,OAAA,GACG,CAAC,CAAA,KAA2B;AAC5B,cAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAA,CAAE,QAAQ,GAAA,EAAK;AACvC,gBAAA,CAAA,CAAE,cAAA,EAAe;AACjB,gBAAA,MAAA,CAAO,MAAA,CAAO,uBAAA,EAAwB,GAAI,CAAC,CAAA;AAAA,cAC5C;AAAA,YACD,CAAA,GACC,MAAA;AAAA,YAGJ,0BAAAF,IAAAA,CAACK,IAAAA,EAAA,EAAK,UAAA,EAAW,QAAA,EAAS,KAAK,CAAA,EAC7B,QAAA,EAAA;AAAA,cAAA,MAAA,CAAO,gBACL,IAAA,GACA,UAAA;AAAA,gBACA,MAAA,CAAO,OAAO,SAAA,CAAU,MAAA;AAAA,gBACxB,OAAO,UAAA;AAAW,eACnB;AAAA,cACD,OAAA,IAAW,WAAW,KAAA,oBACtBH,IAAC,OAAA,EAAA,EAAQ,IAAA,EAAM,EAAA,EAAI,aAAA,EAAY,MAAA,EAAO,CAAA;AAAA,cAEtC,OAAA,IAAW,WAAW,MAAA,oBACtBA,IAAC,SAAA,EAAA,EAAU,IAAA,EAAM,EAAA,EAAI,aAAA,EAAY,MAAA,EAAO,CAAA;AAAA,cAExC,OAAA,IAAW,CAAC,MAAA,oBACZA,IAAC,WAAA,EAAA,EAAY,IAAA,EAAM,EAAA,EAAI,aAAA,EAAY,MAAA,EAAO;AAAA,aAAA,EAE5C;AAAA,WAAA;AAAA,UA9CK,MAAA,CAAO;AAAA,SA+Cb;AAAA,MAEF,CAAC,CAAA,EAAA,EAxDc,WAAA,CAAY,EAyD5B,CACA,CAAA,EACF,CAAA;AAAA,sBACAF,IAAAA,CAAC,KAAA,CAAM,IAAA,EAAN,EACC,QAAA,EAAA;AAAA,QAAA,OAAA,IACA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,mBAAmB,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,EAAG,MAAA,qBACjDE,GAAAA,CAAC,KAAA,CAAM,KAAN,EAA4C,aAAA,EAAY,QACvD,QAAA,EAAA,UAAA,CAAW,GAAA,CAAI,CAACQ,EAAAA,EAAG,MAAA,qBACnBR,IAAC,KAAA,CAAM,IAAA,EAAN,EACA,QAAA,kBAAAA,GAAAA,CAAC,YAAS,MAAA,EAAO,GAAA,EAAI,YAAA,EAAa,IAAA,EAAK,CAAA,EAAA,EADvB,CAAA,aAAA,EAAgB,OAAO,MAAM,CAAC,EAE/C,CACA,CAAA,EAAA,EALc,WAAW,MAAA,CAAO,MAAM,CAAC,CAAA,CAMzC,CACA,CAAA;AAAA,QACD,CAAC,WACD,KAAA,CAAM,WAAA,GAAc,IAAA,CAAK,GAAA,CAAI,CAAC,GAAA,qBAC7BA,GAAAA;AAAA,UAAC,KAAA,CAAM,GAAA;AAAA,UAAN;AAAA,YAEA,eAAA,EAAe,GAAA,CAAI,aAAA,EAAc,IAAK,MAAA;AAAA,YACtC,MAAA,EAAQ,aAAa,SAAA,GAAY,MAAA;AAAA,YACjC,SACC,UAAA,GAAa,MAAM,UAAA,CAAW,GAAA,CAAI,QAAQ,CAAA,GAAI,MAAA;AAAA,YAE/C,QAAA,EAAU,aAAa,CAAA,GAAI,MAAA;AAAA,YAC3B,IAAA,EAAM,aAAa,QAAA,GAAW,MAAA;AAAA,YAC9B,SAAA,EACC,UAAA,GACG,CAAC,CAAA,KAA2B;AAC5B,cAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAA,CAAE,QAAQ,GAAA,EAAK;AACvC,gBAAA,CAAA,CAAE,cAAA,EAAe;AACjB,gBAAA,UAAA,CAAW,IAAI,QAAQ,CAAA;AAAA,cACxB;AAAA,YACD,CAAA,GACC,MAAA;AAAA,YAGH,QAAA,EAAA,GAAA,CAAI,eAAA,EAAgB,CAAE,GAAA,CAAI,CAAC,yBAC3BA,GAAAA,CAAC,KAAA,CAAM,IAAA,EAAN,EACC,QAAA,EAAA,UAAA;AAAA,cACA,IAAA,CAAK,OAAO,SAAA,CAAU,IAAA;AAAA,cACtB,KAAK,UAAA;AAAW,aACjB,EAAA,EAJgB,IAAA,CAAK,EAKtB,CACA;AAAA,WAAA;AAAA,UA1BI,GAAA,CAAI;AAAA,SA4BV,CAAA;AAAA,QACD,2BACAA,GAAAA,CAAC,KAAA,CAAM,GAAA,EAAN,EACA,QAAA,kBAAAA,GAAAA;AAAA,UAAC,KAAA,CAAM,IAAA;AAAA,UAAN;AAAA,YACA,SAAS,UAAA,CAAW,MAAA;AAAA,YACpB,SAAA,EAAU,QAAA;AAAA,YACV,EAAA,EAAI,CAAA;AAAA,YAEH,QAAA,EAAA,UAAA,oBACAA,GAAAA,CAACC,IAAAA,EAAA,EAAK,KAAA,EAAM,OAAA,EAAQ,QAAA,EAAS,IAAA,EAAK,QAAA,EAAA,mBAAA,EAElC;AAAA;AAAA,SAEF,EACD;AAAA,OAAA,EAEF;AAAA,KAAA,EACD,CAAA,EACD,CAAA;AAAA,IACC,iCACAD,GAAAA,CAACG,MAAA,EAAK,cAAA,EAAe,UACpB,QAAA,kBAAAH,GAAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACA,IAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA;AAAA,KACD,EACD;AAAA,GAAA,EAEF,CAAA;AAEF;AAEO,IAAM,SAAA,GAAY;AAGzB,SAAA,CAAU,WAAA,GAAc,WAAA;ACnQjB,IAAM,aAAoC,CAAC;AAAA,EACjD,QAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA,GAAY,MAAA;AAAA,EACZ,UAAA,GAAa,OAAA;AAAA,EACb,kBAAA,GAAqB,KAAA;AAAA,EACrB,OAAA,GAAU,KAAA;AAAA,EACV,iBAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACJ,CAAA,KAAM;AACL,EAAA,uBACCA,GAAAA;AAAA,IAAC,MAAA,CAAO,IAAA;AAAA,IAAP;AAAA,MACC,GAAG,IAAA;AAAA,MACJ,IAAA;AAAA,MACA,YAAA,EAAc,CAAC,OAAA,KAAY;AAC1B,QAAA,IAAI,CAAC,QAAQ,IAAA,EAAM;AAClB,UAAA,OAAA,EAAQ;AAAA,QACT;AAAA,MACD,CAAA;AAAA,MAEA,QAAA,kBAAAF,IAAAA,CAACW,MAAAA,EAAA,EACA,QAAA,EAAA;AAAA,wBAAAT,GAAAA,CAAC,MAAA,CAAO,QAAA,EAAP,EAAgB,CAAA;AAAA,wBACjBA,IAAC,MAAA,CAAO,UAAA,EAAP,EACA,QAAA,kBAAAF,IAAAA,CAAC,MAAA,CAAO,OAAA,EAAP,EACA,QAAA,EAAA;AAAA,0BAAAE,IAAC,MAAA,CAAO,YAAA,EAAP,EAAoB,OAAA,EAAO,MAC3B,QAAA,kBAAAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACA,OAAA,EAAQ,OAAA;AAAA,cACR,IAAA,EAAK,IAAA;AAAA,cACL,QAAA,EAAS,UAAA;AAAA,cACT,GAAA,EAAK,CAAA;AAAA,cACL,cAAA,EAAgB,CAAA;AAAA,cAChB,YAAA,EAAY,UAAA;AAAA,cAEZ,QAAA,kBAAAA,GAAAA,CAAC,CAAA,EAAA,EAAE,IAAA,EAAM,EAAA,EAAI;AAAA;AAAA,WACd,EACD,CAAA;AAAA,0BAEAA,GAAAA;AAAA,YAAC,MAAA,CAAO,MAAA;AAAA,YAAP;AAAA,cACA,EAAA,EAAG,YAAA;AAAA,cACH,YAAA,EAAa,WAAA;AAAA,cACb,WAAA,EAAY,QAAA;AAAA,cAEZ,QAAA,kBAAAA,GAAAA,CAAC,MAAA,CAAO,KAAA,EAAP,EAAc,QAAA,EAAA,KAAA,EAAM;AAAA;AAAA,WACtB;AAAA,0BAEAA,GAAAA,CAAC,MAAA,CAAO,IAAA,EAAP,EAAa,QAAA,EAAS,CAAA;AAAA,0BAEvBF,IAAAA;AAAA,YAAC,MAAA,CAAO,MAAA;AAAA,YAAP;AAAA,cACA,QAAA,EAAS,IAAA;AAAA,cACT,EAAA,EAAG,WAAA;AAAA,cACH,SAAA,EAAU,WAAA;AAAA,cACV,WAAA,EAAY,QAAA;AAAA,cAEX,QAAA,EAAA;AAAA,gBAAA,UAAA;AAAA,gCACDE,IAAC,MAAA,EAAA,EAAO,CAAA;AAAA,gCACRF,IAAAA,CAACK,IAAAA,EAAA,EAAK,KAAK,CAAA,EACT,QAAA,EAAA;AAAA,kBAAA,iBAAA;AAAA,kBACA,0BACAH,GAAAA;AAAA,oBAAC,MAAA;AAAA,oBAAA;AAAA,sBACA,IAAA,EAAK,IAAA;AAAA,sBACL,OAAA,EAAQ,OAAA;AAAA,sBACR,YAAA,EAAa,SAAA;AAAA,sBACb,OAAA,EAAS,MAAA;AAAA,sBACT,UAAU,kBAAA,IAAsB,OAAA;AAAA,sBAChC,OAAA;AAAA,sBAEC,QAAA,EAAA;AAAA;AAAA;AACF,iBAAA,EAEF;AAAA;AAAA;AAAA;AACD,SAAA,EACD,CAAA,EACD;AAAA,OAAA,EACD;AAAA;AAAA,GACD;AAEF;AACA,UAAA,CAAW,WAAA,GAAc,YAAA;AC5ElB,IAAM,OAAA,GAAkC,CAAC,KAAA,KAAU;AACzD,EAAA,MAAM;AAAA,IACL,IAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA,GAAc,IAAA;AAAA,IACd,aAAA,GAAgB,UAAA;AAAA,IAChB,WAAA,GAAc,QAAA;AAAA,IACd,GAAG;AAAA,GACJ,GAAI,KAAA;AAEJ,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIU,MAAA,CAAM,SAAS,IAAI,CAAA;AAE3C,EAAA,MAAM,eAAe,MAAM;AAC1B,IAAA,OAAA,CAAQ,CAAC,IAAI,CAAA;AAAA,EACd,CAAA;AAEA,EAAA,uBACCZ,IAAAA,CAACC,GAAAA,EAAA,EAAI,GAAE,MAAA,EACL,QAAA,EAAA;AAAA,IAAA,WAAA,mBACAC,GAAAA;AAAA,MAACG,IAAAA;AAAA,MAAA;AAAA,QACA,aAAA,EAAc,QAAA;AAAA,QACd,EAAA,EAAG,MAAA;AAAA,QACH,YAAA,EAAa,WAAA;AAAA,QACb,WAAA,EAAY,QAAA;AAAA,QAEZ,QAAA,kBAAAL,IAAAA;AAAA,UAACC,GAAAA;AAAA,UAAA;AAAA,YACA,OAAA,EAAS,EAAE,EAAA,EAAI,MAAA,EAAO;AAAA,YACtB,UAAA,EAAY,EAAE,EAAA,EAAI,QAAA,EAAS;AAAA,YAC3B,cAAA,EAAgB,EAAE,EAAA,EAAI,eAAA,EAAgB;AAAA,YAEtC,QAAA,EAAA;AAAA,8BAAAC,GAAAA,CAACD,GAAAA,EAAA,EAAI,IAAA,EAAM,CAAA,EAAG,MAAK,QAAA,EAClB,QAAA,kBAAAD,IAAAA,CAACQ,QAAAA,EAAA,EACA,QAAA,EAAA;AAAA,gCAAAN,GAAAA;AAAA,kBAAC,UAAA;AAAA,kBAAA;AAAA,oBACA,YAAA,EAAY,OAAO,aAAA,GAAgB,WAAA;AAAA,oBACnC,OAAA,EAAQ,OAAA;AAAA,oBACR,IAAA,EAAK,IAAA;AAAA,oBACL,OAAA,EAAS,CAAC,CAAA,KAAM;AACf,sBAAA,CAAA,CAAE,cAAA,EAAe;AACjB,sBAAA,YAAA,EAAa;AAAA,oBACd,CAAA;AAAA,oBAEC,QAAA,EAAA,IAAA,mBACAA,GAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAM,EAAA,EAAI,CAAA,mBAEvBA,GAAAA,CAACW,YAAAA,EAAA,EAAa,IAAA,EAAM,EAAA,EAAI;AAAA;AAAA,iBAE1B;AAAA,gBACC,OAAO,SAAS,QAAA,mBAAWX,IAACC,IAAAA,EAAA,EAAM,gBAAK,CAAA,GAAU;AAAA,eAAA,EACnD,CAAA,EACD,CAAA;AAAA,cACC,OAAA,mBACAD,GAAAA,CAACG,IAAAA,EAAA,EAAK,UAAA,EAAY,CAAA,EAAG,iBAAA,EAAmB,EAAE,IAAI,CAAA,EAAE,EAC/C,QAAA,kBAAAH,GAAAA,CAAC,eACC,QAAA,EAAA,OAAA,CAAQ,GAAA;AAAA,gBAAI,CAAC,MAAA,KACb,MAAA,CAAO,IAAA,KAAS,2BACfA,GAAAA;AAAA,kBAAC,UAAA;AAAA,kBAAA;AAAA,oBAEA,cAAY,MAAA,CAAO,SAAA;AAAA,oBACnB,IAAA,EAAK,IAAA;AAAA,oBACL,OAAA,EAAQ,OAAA;AAAA,oBACR,SAAS,MAAA,CAAO,OAAA;AAAA,oBAEf,QAAA,EAAA,MAAA,CAAO;AAAA,mBAAA;AAAA,kBANH,MAAA,CAAO;AAAA,iBAOb,mBAEAF,IAAAA,CAAC,QAAA,EAAA,EACA,QAAA,EAAA;AAAA,kCAAAE,GAAAA,CAAC,WAAA,EAAA,EAAY,OAAA,EAAO,IAAA,EACnB,QAAA,kBAAAA,GAAAA;AAAA,oBAAC,UAAA;AAAA,oBAAA;AAAA,sBACA,cAAY,MAAA,CAAO,SAAA;AAAA,sBACnB,IAAA,EAAK,IAAA;AAAA,sBACL,OAAA,EAAQ,OAAA;AAAA,sBAEP,QAAA,EAAA,MAAA,CAAO;AAAA;AAAA,mBACT,EACD,CAAA;AAAA,kCACAA,IAAC,WAAA,EAAA,EACC,QAAA,EAAA,MAAA,CAAO,OAAO,GAAA,CAAI,CAAC,yBACnBF,IAAAA;AAAA,oBAAC,QAAA;AAAA,oBAAA;AAAA,sBAEA,UAAU,IAAA,CAAK,QAAA;AAAA,sBACf,cAAY,IAAA,CAAK,SAAA;AAAA,sBACjB,KAAA,EAAO,CAAA,OAAA,EAAU,IAAA,CAAK,EAAE,CAAA,CAAA;AAAA,sBAEvB,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAK,IAAA;AAAA,wBACL,IAAA,CAAK;AAAA;AAAA,qBAAA;AAAA,oBAND,IAAA,CAAK;AAAA,mBAQX,CAAA,EACF;AAAA,iBAAA,EAAA,EAtBc,OAAO,EAuBtB;AAAA,eAEF,EACD,GACD,CAAA,GACG;AAAA;AAAA;AAAA;AACL;AAAA,KACD,GACG,IAAA;AAAA,oBACJE,IAAC,WAAA,CAAY,IAAA,EAAZ,EAAiB,IAAA,EAAM,IAAA,EACvB,0BAAAA,GAAAA,CAAC,WAAA,CAAY,SAAZ,EACA,QAAA,kBAAAA,IAAC,IAAA,EAAA,EAAM,GAAG,MAAO,QAAA,EAAA,IAAA,CAAK,QAAA,EAAS,GAChC,CAAA,EACD;AAAA,GAAA,EACD,CAAA;AAEF;AACA,OAAA,CAAQ,WAAA,GAAc,SAAA;ACzIf,IAAM,gBAAgB,CAAC;AAAA,EAC7B,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,KAAkE;AACjE,EAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAO,GAAG,MAAK,GAAI,KAAA;AAEjC,EAAA,uBACCF,IAAAA,CAACC,GAAAA,EAAA,EACA,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAACC,IAAAA,EAAA,EAAK,OAAA,EAAO,IAAA,EACZ,0BAAAD,GAAAA,CAACG,IAAAA,EAAA,EAAM,QAAA,EAAA,KAAA,EAAM,CAAA,EACd,CAAA;AAAA,oBACAH,GAAAA,CAAC,MAAA,EAAA,EAAO,IAAI,IAAA,EAAM,GAAA,EAAW,GAAG,IAAA,EAAM;AAAA,GAAA,EACvC,CAAA;AAEF;AACA,aAAA,CAAc,WAAA,GAAc,eAAA;ACerB,IAAM,QAA8B,CAAC;AAAA,EAC3C,IAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,UAAA,GAAa,OAAA;AAAA,EACb,SAAA,GAAY,MAAA;AAAA,EACZ,WAAA,GAAc,QAAA;AAAA,EACd,MAAA;AAAA,EACA,YAAA,GAAe,KAAA;AAAA,EACf,OAAA,GAAU,KAAA;AAAA,EACV,GAAG;AACJ,CAAA,KAAM;AACL,EAAA,MAAM,aAAA,GAAgB,MAAA,mBACrBF,IAAAA,CAACK,IAAAA,EAAA,EAAK,GAAA,EAAK,CAAA,EAAG,OAAA,EAAQ,UAAA,EAAW,CAAA,EAAE,MAAA,EAClC,QAAA,EAAA;AAAA,oBAAAH,IAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,OAAA,EAAS,SACjC,QAAA,EAAA,WAAA,EACF,CAAA;AAAA,oBACAA,GAAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACA,OAAA,EAAQ,OAAA;AAAA,QACR,YAAA,EAAa,SAAA;AAAA,QACb,OAAA,EAAS,MAAA;AAAA,QACT,UAAU,YAAA,IAAgB,OAAA;AAAA,QAC1B,OAAA;AAAA,QAEC,QAAA,EAAA;AAAA;AAAA;AACF,GAAA,EACD,CAAA,GACG,IAAA;AAEJ,EAAA,MAAM,aAAA,GAAgB,MAAA,KAAW,MAAA,GAAY,MAAA,GAAS,aAAA;AAEtD,EAAA,uBACCA,GAAAA;AAAA,IAAC,MAAA,CAAO,IAAA;AAAA,IAAP;AAAA,MACC,GAAG,IAAA;AAAA,MACJ,IAAA;AAAA,MACA,IAAA;AAAA,MACA,YAAA,EAAc,CAAC,OAAA,KAAY;AAC1B,QAAA,IAAI,CAAC,QAAQ,IAAA,EAAM;AAClB,UAAA,OAAA,EAAQ;AAAA,QACT;AAAA,MACD,CAAA;AAAA,MAEA,QAAA,kBAAAF,IAAAA,CAACW,MAAAA,EAAA,EACA,QAAA,EAAA;AAAA,wBAAAT,GAAAA,CAAC,MAAA,CAAO,QAAA,EAAP,EAAgB,CAAA;AAAA,wBACjBA,IAAC,MAAA,CAAO,UAAA,EAAP,EACA,QAAA,kBAAAF,IAAAA,CAAC,MAAA,CAAO,OAAA,EAAP,EACA,QAAA,EAAA;AAAA,0BAAAA,IAAAA,CAAC,MAAA,CAAO,MAAA,EAAP,EACC,QAAA,EAAA;AAAA,YAAA,MAAA;AAAA,4BACDE,GAAAA,CAACY,MAAAA,EAAA,EAAO,CAAA;AAAA,4BACRZ,IAAC,MAAA,CAAO,YAAA,EAAP,EAAoB,OAAA,EAAO,IAAA,EAC3B,QAAA,kBAAAA,GAAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,SAAQ,IAAA,EAAK,IAAA,EAAK,YAAA,EAAY,UAAA,EACjD,QAAA,kBAAAA,GAAAA,CAACa,GAAA,EAAE,IAAA,EAAM,EAAA,EAAI,CAAA,EACd,CAAA,EACD;AAAA,WAAA,EACD,CAAA;AAAA,0BAEAb,IAAC,SAAA,EAAA,EAAU,CAAA;AAAA,0BAEXA,GAAAA,CAAC,MAAA,CAAO,IAAA,EAAP,EAAa,QAAA,EAAS,CAAA;AAAA,UAEtB,aAAA,oBACAF,IAAAA,CAAA,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,4BAAAE,IAAC,SAAA,EAAA,EAAU,CAAA;AAAA,4BACXA,GAAAA,CAAC,MAAA,CAAO,MAAA,EAAP,EAAe,QAAA,EAAA,aAAA,EAAc;AAAA,WAAA,EAC/B;AAAA,SAAA,EAEF,CAAA,EACD;AAAA,OAAA,EACD;AAAA;AAAA,GACD;AAEF;AACA,KAAA,CAAM,WAAA,GAAc,OAAA;AC/Gb,IAAM,CAAC,eAAA,EAAiB,iBAAiB,CAAA,GAC/C,aAAA,CAAgC;AAAA,EAC/B,IAAA,EAAM,gBAAA;AAAA,EACN,YAAA,EACC;AACF,CAAC;AAQK,SAAS,WAAW,KAAA,EAAwB;AAClD,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAS,GAAI,KAAA;AAE3B,EAAA,MAAM,CAAC,WAAA,EAAa,QAAQ,CAAA,GAAIU,MAAAA,CAAM,SAAS,EAAE,CAAA;AAEjD,EAAA,MAAM,QAAA,GAAWA,MAAAA,CAAM,MAAA,CAAiB,EAAE,CAAA;AAE1C,EAAA,MAAM,YAAA,GAAeA,MAAAA,CAAM,WAAA,CAAY,CAAC,IAAA,KAAiB;AACxD,IAAA,MAAM,QAAA,GAAW,CAAC,GAAG,QAAA,CAAS,OAAO,CAAA;AAErC,IAAA,IAAI,QAAA,CAAS,OAAA,CAAQ,IAAI,CAAA,KAAM,EAAA,EAAI;AAClC,MAAA,QAAA,CAAS,KAAK,IAAI,CAAA;AAAA,IACnB;AAEA,IAAA,QAAA,CAAS,OAAA,GAAU,QAAA;AAAA,EACpB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,cAAA,GAAiBA,MAAAA,CAAM,WAAA,CAAY,CAAC,IAAA,KAAiB;AAC1D,IAAA,QAAA,CAAS,UAAU,QAAA,CAAS,OAAA,CAAQ,OAAO,CAACI,KAAAA,KAASA,UAAS,IAAI,CAAA;AAAA,EACnE,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,OAAA,GAAU,WAAA,CAAY,CAAC,IAAA,KAAiB;AAC7C,IAAA,MAAM,CAAA,GAAI,QAAA,CAAS,OAAA,CAAQ,OAAA,CAAQ,IAAI,CAAA;AACvC,IAAA,IAAI,MAAM,EAAA,EAAI;AACb,MAAA,QAAA,CAAS,CAAC,CAAA;AAAA,IACX;AAAA,EACD,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,WAAW,MAAM;AACtB,IAAA,QAAA,CAAS,cAAc,CAAC,CAAA;AAAA,EACzB,CAAA;AAEA,EAAA,MAAM,WAAW,MAAM;AACtB,IAAA,QAAA,CAAS,cAAc,CAAC,CAAA;AAAA,EACzB,CAAA;AAEA,EAAAJ,MAAAA,CAAM,UAAU,MAAM;AACrB,IAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC7B,MAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,IACb,CAAA,MAAA,IAAW,OAAO,IAAA,KAAS,QAAA,EAAU;AACpC,MAAA,QAAA,CAAS,IAAI,CAAA;AAAA,IACd,CAAA,MAAA,IAAW,gBAAgB,EAAA,EAAI;AAC9B,MAAA,QAAA,CAAS,CAAC,CAAA;AAAA,IACX;AAAA,EACD,CAAA,EAAG,CAAC,IAAA,EAAM,WAAA,EAAa,OAAO,CAAC,CAAA;AAE/B,EAAAA,MAAAA,CAAM,UAAU,MAAM;AACrB,IAAA,QAAA,GAAW,WAAW,CAAA;AAAA,EACvB,CAAA,EAAG,CAAC,WAAA,EAAa,QAAQ,CAAC,CAAA;AAE1B,EAAA,MAAM,OAAA,GAAU;AAAA,IACf,QAAA;AAAA,IACA,UAAA,EAAY,QAAA,CAAS,OAAA,CAAQ,WAAW,CAAA;AAAA,IACxC,WAAA;AAAA,IACA,aAAa,WAAA,KAAgB,CAAA;AAAA,IAC7B,UAAA,EAAY,WAAA,KAAgB,QAAA,CAAS,OAAA,CAAQ,MAAA,GAAS,CAAA;AAAA,IACtD,WAAA,EAAa,WAAA,IAAe,QAAA,CAAS,OAAA,CAAQ,MAAA;AAAA,IAC7C,QAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACD;AAEA,EAAA,OAAO,OAAA;AACR;AAUO,SAAS,QAAQ,KAAA,EAAqB;AAC5C,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAY,GAAI,KAAA;AACxC,EAAA,MAAM,EAAE,YAAA,EAAc,cAAA,EAAgB,UAAA,KAAe,iBAAA,EAAkB;AAEvE,EAAAA,MAAAA,CAAM,UAAU,MAAM;AACrB,IAAA,IAAI,CAAC,IAAA,EAAM;AACV,MAAA;AAAA,IACD;AACA,IAAA,YAAA,CAAa,IAAI,CAAA;AAEjB,IAAA,OAAO,MAAM;AACZ,MAAA,cAAA,CAAe,IAAI,CAAA;AAAA,IACpB,CAAA;AAAA,EACD,CAAA,EAAG,CAAC,IAAA,EAAM,YAAA,EAAc,cAAc,CAAC,CAAA;AAEvC,EAAA,OAAO;AAAA,IACN,QAAA,EAAU,IAAA,GAAO,UAAA,KAAe,IAAA,GAAO,QAAA;AAAA,IACvC;AAAA,GACD;AACD;AAKO,SAAS,qBAAqB,EAAE,KAAA,GAAQ,MAAA,EAAO,GAAI,EAAC,EAAG;AAC7D,EAAA,MAAM,EAAE,WAAA,EAAa,QAAA,EAAS,GAAI,iBAAA,EAAkB;AAEpD,EAAA,OAAO;AAAA,IACN,QAAA,EAAU,WAAA;AAAA,IACV,OAAA,EAAS,QAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX;AACD;AAKO,SAAS,oBAAA,CAAqB;AAAA,EACpC,KAAA,GAAQ,MAAA;AAAA,EACR,WAAA,GAAc;AACf,CAAA,GAAI,EAAC,EAAG;AACP,EAAA,MAAM,EAAE,UAAA,EAAY,WAAA,EAAa,QAAA,KAAa,iBAAA,EAAkB;AAEhE,EAAA,OAAO;AAAA,IACN,QAAA,EAAU,WAAA;AAAA,IACV,OAAA,EAAS,QAAA;AAAA,IACT,QAAA,EAAU,aAAa,WAAA,GAAc;AAAA,GACtC;AACD;ACvHA,SAAS,cAAA,CAAe,UAA2B,IAAA,EAA2B;AAC7E,EAAA,OAAQA,MAAAA,CAAM,QAAA,CAAS,OAAA,CAAQ,QAAQ,CAAA,CAA2B,IAAA;AAAA,IACjE,CAAC,IAAA,KAAS,IAAA,CAAK,IAAA,KAAS;AAAA,GACzB;AACD;AAEA,SAAS,iBAAA,CACR,UACA,IAAA,EACC;AACD,EAAA,OAAQA,MAAAA,CAAM,QAAA,CAAS,OAAA,CAAQ,QAAQ,CAAA,CAA8B,MAAA;AAAA,IACpE,CAAC,IAAA,KACA,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,GACf,IAAA,CAAK,IAAA,CAAK,CAAC,cAAc,SAAA,KAAc,IAAA,CAAK,IAAI,CAAA,GAChD,KAAK,IAAA,KAAS;AAAA,GACnB;AACD;AAGA,IAAM,QAAA,GAAW,CAAC,SAAA,KACjB,SAAA,GAAY,EAAA,GAAK,MAAA;AAGlB,IAAM,EAAA,GAAK,IAAI,OAAA,KACd,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAQjC,IAAM,aAAA,GAAgBK,eAAAA,CAA6B,EAAE,CAAA;AACrD,IAAM,SAAA,GAAY,MAAM,UAAA,CAAW,aAAa,CAAA;AAiBzC,IAAM,UAAU,CAAC;AAAA,EACvB,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,KAA0D;AACzD,EAAA,MAAM,EAAE,WAAA,EAAa,QAAA,EAAU,GAAG,gBAAe,GAAI,KAAA;AACrD,EAAA,uBACCf,GAAAA,CAAC,gBAAA,EAAA,EAAiB,GAAA,EAAU,WAAA,EAA2B,GAAG,cAAA,EACzD,QAAA,kBAAAA,GAAAA,CAAC,YAAA,EAAA,EAAa,WAAA,EAA2B,QAAA,EAAS,CAAA,EACnD,CAAA;AAEF;AACA,OAAA,CAAQ,WAAA,GAAc,SAAA;AAEf,IAAM,mBAAmB,CAAC;AAAA,EAChC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,KAA0D;AACzD,EAAA,MAAM;AAAA,IACL,QAAA;AAAA,IACA,WAAA,GAAc,YAAA;AAAA,IACd,OAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,GACJ,GAAI,KAAA;AAEJ,EAAA,MAAM,OAAA,GAAU,WAAW,KAAK,CAAA;AAEhC,EAAA,MAAM,MAAA,GAAS,aAAA,CAAc,EAAE,GAAA,EAAK,WAAW,CAAA;AAC/C,EAAA,MAAM,SAAS,MAAA,CAAO,EAAE,OAAA,EAAS,IAAA,EAAM,aAAa,CAAA;AAEpD,EAAA,uBACCA,GAAAA,CAAC,aAAA,CAAc,QAAA,EAAd,EAAuB,KAAA,EAAO,MAAA,EAC9B,QAAA,kBAAAA,GAAAA,CAAC,eAAA,EAAA,EAAgB,KAAA,EAAO,OAAA,EACvB,QAAA,kBAAAA,GAAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACA,GAAA;AAAA,MACA,KAAK,MAAA,CAAO,SAAA;AAAA,MACX,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,SAAA,EAAW,KAAA,CAAM,SAAS,CAAA;AAAA,MAEvC;AAAA;AAAA,KAEH,CAAA,EACD,CAAA;AAEF;AACA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;AAUxB,IAAM,YAAA,GAA4C,CAAC,KAAA,KAAU;AACnE,EAAA,MAAM;AAAA,IACL,QAAA;AAAA,IACA,WAAA,GAAc,YAAA;AAAA,IACd,aAAA;AAAA,IACA,GAAG;AAAA,GACJ,GAAI,KAAA;AACJ,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,iBAAA,EAAkB;AAE1C,EAAA,MAAM,aAAa,WAAA,KAAgB,UAAA;AAEnC,EAAA,MAAM,OAAO,aAAA,IAAiB,WAAA;AAE9B,EAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,QAAA,EAAU,IAAI,CAAA;AAE9C,EAAA,MAAM,WAAW,KAAA,CAAM,MAAA,CAA6B,CAAC,IAAA,EAAM,IAAA,EAAM,GAAG,GAAA,KAAQ;AAC3E,IAAA,IAAA,CAAK,IAAA;AAAA,sBACJA,GAAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UAEC,GAAG,IAAA,CAAK,KAAA;AAAA,UACT,IAAA,EAAM,IAAA,CAAK,KAAA,CAAM,IAAA,IAAQ,CAAA,GAAI,CAAA;AAAA,UAC7B,UAAU,WAAA,KAAgB,CAAA;AAAA,UAC1B,WAAA,EAAa,IAAA,CAAK,KAAA,CAAM,WAAA,IAAe,WAAA,GAAc;AAAA,SAAA;AAAA,QAJhD,IAAA,CAAK;AAAA;AAKX,KACD;AAEA,IAAA,IAAI,UAAA,EAAY;AACf,MAAA,IAAA,CAAK,IAAA;AAAA,wBACJA,GAAAA,CAAC,cAAA,EAAA,EAA2C,IAAA,EAAM,WAAA,KAAgB,CAAA,EAChE,QAAA,EAAA,IAAA,CAAK,KAAA,CAAM,QAAA,EAAA,EADQ,CAAA,QAAA,EAAW,IAAA,CAAK,GAAG,CAAA,CAExC;AAAA,OACD;AAAA,IACD;AAEA,IAAA,IAAI,CAAA,GAAI,GAAA,CAAI,MAAA,GAAS,CAAA,EAAG;AACvB,MAAA,IAAA,CAAK,IAAA;AAAA,wBACJA,GAAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YAEA,UAAU,CAAA,GAAI;AAAA,WAAA;AAAA,UADT,CAAA,UAAA,EAAa,KAAK,GAAG,CAAA;AAAA;AAE3B,OACD;AAAA,IACD;AAEA,IAAA,OAAO,IAAA;AAAA,EACR,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,SAAA,GAAY,cAAA,CAAe,QAAA,EAAU,gBAAgB,CAAA;AAE3D,EAAA,MAAM,OAAA,GACL,WAAA,IAAe,KAAA,CAAM,MAAA,GACpB,YACG,CAAC,UAAA,mBACJA,GAAAA,CAAC,kBAAgB,QAAA,EAAA,KAAA,CAAM,WAAW,CAAA,EAAG,KAAA,EAAO,UAAS,CAAA,GAClD,IAAA;AAEL,EAAA,uBACCF,IAAAA,CAAAkB,QAAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAhB,GAAAA;AAAA,MAAC,MAAA,CAAO,GAAA;AAAA,MAAP;AAAA,QACA,KAAK,MAAA,CAAO,KAAA;AAAA,QACX,GAAG,IAAA;AAAA,QACJ,SAAA,EAAW,EAAA,CAAG,gBAAA,EAAkB,KAAA,CAAM,SAAS,CAAA;AAAA,QAE9C,QAAA,EAAA;AAAA;AAAA,KACF;AAAA,IACC;AAAA,GAAA,EACF,CAAA;AAEF;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AAYpB,IAAM,cAAA,GAAgD,CAAC,KAAA,KAAU;AACvE,EAAA,MAAM,EAAE,QAAA,EAAU,IAAA,GAAO,IAAA,EAAM,GAAG,MAAK,GAAI,KAAA;AAC3C,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,uBACCA,GAAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACA,KAAK,MAAA,CAAO,OAAA;AAAA,MACX,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,kBAAA,EAAoB,KAAA,CAAM,SAAS,CAAA;AAAA,MAEjD,QAAA,kBAAAA,GAAAA,CAACiB,WAAAA,CAAY,IAAA,EAAZ,EAAiB,IAAA,EACjB,QAAA,kBAAAjB,GAAAA,CAACiB,WAAAA,CAAY,OAAA,EAAZ,EAAqB,QAAA,EAAS,CAAA,EAChC;AAAA;AAAA,GACD;AAEF;AAEA,cAAA,CAAe,WAAA,GAAc,gBAAA;AAWtB,IAAM,WAAA,GAA0C,CAAC,KAAA,KAAU;AACjE,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,SAAA,EAAW,GAAG,MAAK,GAAI,KAAA;AAE5D,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAA2B,WAAA,mBAAcjB,IAAC,KAAA,EAAA,EAAM,IAAA,EAAM,IAAI,CAAA,GAAK,IAAA;AAErE,EAAA,uBACCA,GAAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACA,KAAK,MAAA,CAAO,IAAA;AAAA,MACX,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,SAAS,CAAA;AAAA,MACxC,aAAA,EAAa,SAAS,QAAQ,CAAA;AAAA,MAE7B,QAAA,EAAA;AAAA;AAAA,GACF;AAEF;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AAuBnB,IAAM,WAAA,GAA0C,CAAC,KAAA,KAAU;AACjE,EAAA,MAAM,EAAE,KAAA,EAAO,IAAA,EAAM,UAAU,WAAA,EAAa,GAAG,MAAK,GAAI,KAAA;AACxD,EAAA,MAAM,IAAA,GAAO,QAAQ,KAAK,CAAA;AAC1B,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,uBACCF,IAAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,GAAG,IAAA;AAAA,MACJ,KAAK,MAAA,CAAO,IAAA;AAAA,MACZ,aAAA,EAAa,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AAAA,MACnC,gBAAA,EAAgB,QAAA,CAAS,IAAA,CAAK,WAAW,CAAA;AAAA,MACzC,cAAA,EAAc,IAAA,CAAK,QAAA,GAAW,MAAA,GAAS,MAAA;AAAA,MACvC,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,KAAA,CAAM,SAAS,CAAA;AAAA,MAE9C,QAAA,EAAA;AAAA,wBAAAE,GAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAY,QAAA,EAAoB,WAAA,EAA0B,CAAA;AAAA,QACtE,KAAA,oBAASA,GAAAA,CAAC,gBAAA,EAAA,EAAkB,QAAA,EAAA,KAAA,EAAM;AAAA;AAAA;AAAA,GACpC;AAEF;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AASnB,IAAM,gBAAA,GAAoD,CAAC,KAAA,KAAU;AAC3E,EAAA,MAAM,EAAE,QAAA,EAAU,GAAG,IAAA,EAAK,GAAI,KAAA;AAC9B,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,uBACCA,GAAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,GAAG,IAAA;AAAA,MACJ,aAAA,EAAa,SAAS,QAAQ,CAAA;AAAA,MAC9B,SAAA,EAAW,EAAA,CAAG,oBAAA,EAAsB,KAAA,CAAM,SAAS,CAAA;AAAA,MACnD,KAAK,MAAA,CAAO;AAAA;AAAA,GACb;AAEF;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;AAKxB,IAAM,gBAAA,GAAmD,CAAC,KAAA,KAAU;AAC1E,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,uBACCA,GAAAA;AAAA,IAAC,MAAA,CAAO,CAAA;AAAA,IAAP;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,KAAK,MAAA,CAAO,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA,CAAG,gBAAA,EAAkB,KAAA,CAAM,SAAS;AAAA;AAAA,GAChD;AAEF;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;AAKxB,IAAM,gBAAA,GAAqD,CAAC,KAAA,KAAU;AAC5E,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,uBACCA,GAAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACA,KAAK,MAAA,CAAO,SAAA;AAAA,MACX,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,oBAAA,EAAsB,KAAA,CAAM,SAAS;AAAA;AAAA,GACpD;AAEF;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;AChWxB,IAAM,eAAekB,QAAA,CAAe;AAC3C,YAAA,CAAa,WAAA,GAAc,cAAA;AAEpB,IAAM,eAAeA,QAAA,CAAe;AAC3C,YAAA,CAAa,WAAA,GAAc,cAAA;AAEpB,IAAM,oBAAoBA,QAAA,CAAe;AAChD,iBAAA,CAAkB,WAAA,GAAc,mBAAA;AAEzB,IAAM,oBAAoBA,QAAA,CAAe;AAChD,iBAAA,CAAkB,WAAA,GAAc,mBAAA;AAEzB,IAAM,oBAAoBA,QAAA,CAAe;AAChD,iBAAA,CAAkB,WAAA,GAAc,mBAAA;AAEzB,IAAM,kBAAkBA,QAAA,CAAe;AAC9C,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAEvB,IAAM,gBAAgBA,QAAA,CAAe;AAC5C,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,IAAM,sBAAsBA,QAAA,CAAe;AAClD,mBAAA,CAAoB,WAAA,GAAc,qBAAA;AChB3B,IAAM,eAAeC,QAAA,CAAe;AAC3C,YAAA,CAAa,WAAA,GAAc,cAAA;AAEpB,IAAM,eAAeA,QAAA,CAAe;AAC3C,YAAA,CAAa,WAAA,GAAc,cAAA;AAEpB,IAAM,iBAAiBA,QAAA,CAAe;AAC7C,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,wBAAwBA,QAAA,CAAe;AACpD,qBAAA,CAAsB,WAAA,GAAc,uBAAA;AAE7B,IAAM,wBAAwBA,QAAA,CAAe;AACpD,qBAAA,CAAsB,WAAA,GAAc,uBAAA;AAE7B,IAAM,wBAAwBA,QAAA,CAAe;AACpD,qBAAA,CAAsB,WAAA,GAAc,uBAAA;AAE7B,IAAM,qBAAqBA,QAAA,CAAe;AACjD,kBAAA,CAAmB,WAAA,GAAc,oBAAA;AAE1B,IAAM,0BAA0BA,QAAA,CAAe;AACtD,uBAAA,CAAwB,WAAA,GAAc,yBAAA;AAE/B,IAAM,eAAeA,QAAA,CAAe;AAC3C,YAAA,CAAa,WAAA,GAAc,cAAA;AAEpB,IAAM,mBAAmBA,QAAA,CAAe;AAC/C,gBAAA,CAAiB,WAAA,GAAc,kBAAA;AAExB,IAAM,wBAAwBA,QAAA,CAAe;AACpD,qBAAA,CAAsB,WAAA,GAAc,uBAAA;AAE7B,IAAM,eAAeA,QAAA,CAAe;AAC1C,YAAA,CAA0C,WAAA,GAAc,cAAA;AAElD,IAAM,gBAAgBA,QAAA,CAAe;AAC5C,aAAA,CAAc,WAAA,GAAc,eAAA;ACnCrB,IAAM,SAAgC,CAAC;AAAA,EAC7C,OAAA;AAAA,EACA,UAAA;AAAA,EACA,IAAA;AAAA,EACA;AACD,CAAA,KAAM;AACL,EAAA,uBACCnB,GAAAA,CAACoB,MAAAA,CAAK,IAAA,EAAL,EAAU,QAAO,MAAA,EAAO,IAAA,EAAK,MAAA,EAAO,QAAA,EAAS,UAAS,EAAA,EAAG,YAAA,EACzD,0BAAAtB,IAAAA,CAACsB,MAAAA,CAAK,MAAL,EACA,QAAA,EAAA;AAAA,oBAAAtB,IAAAA,CAACC,GAAAA,EAAA,EAAI,cAAA,EAAe,GAAA,EACnB,QAAA,EAAA;AAAA,sBAAAD,KAACK,IAAAA,EAAA,EAAK,cAAA,EAAe,eAAA,EAAgB,YAAW,QAAA,EAC/C,QAAA,EAAA;AAAA,wBAAAH,GAAAA,CAACC,IAAAA,EAAA,EAAK,UAAA,EAAW,YAAY,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,wBACrCD,GAAAA,CAACD,GAAAA,EAAA,EAAI,KAAA,EAAM,UAAU,QAAA,EAAA,IAAA,EAAK;AAAA,OAAA,EAC3B,CAAA;AAAA,MACC,UAAA,oBACAC,GAAAA,CAACC,IAAAA,EAAA,EAAK,UAAA,EAAW,QAAA,EAAS,QAAA,EAAS,IAAA,EAAK,KAAA,EAAM,OAAA,EAC5C,QAAA,EAAA,UAAA,EACF;AAAA,KAAA,EAEF,CAAA;AAAA,IACC;AAAA,GAAA,EACF,CAAA,EACD,CAAA;AAEF;AACA,MAAA,CAAO,WAAA,GAAc,QAAA","file":"index.js","sourcesContent":["import {\n\ttype CardRootProps,\n\tCard as ChakraCard,\n\tHeading,\n} from \"@chakra-ui/react\";\nimport type React from \"react\";\n\nexport interface CardProps extends Omit<CardRootProps, \"title\"> {\n\tmaxW?: CardRootProps[\"maxW\"];\n\t/** Card title rendered in Card.Header. */\n\ttitle?: React.ReactNode;\n\t/** Custom header content. Overrides title if both provided. */\n\theader?: React.ReactNode;\n\t/** Footer content rendered in Card.Footer. */\n\tfooter?: React.ReactNode;\n\tchildren: React.ReactNode;\n}\n\nexport const Card = ({\n\tref,\n\tmaxW = \"full\",\n\ttitle,\n\theader,\n\tfooter,\n\tchildren,\n\t...props\n}: CardProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\treturn (\n\t\t<ChakraCard.Root\n\t\t\tref={ref}\n\t\t\tbg=\"bg-surface\"\n\t\t\tw=\"full\"\n\t\t\theight=\"full\"\n\t\t\tmaxW={maxW}\n\t\t\tmarginInline=\"auto\"\n\t\t\toverflow=\"hidden\"\n\t\t\t{...props}\n\t\t>\n\t\t\t{(header || title) && (\n\t\t\t\t<ChakraCard.Header>\n\t\t\t\t\t{header ?? <Heading size=\"md\">{title}</Heading>}\n\t\t\t\t</ChakraCard.Header>\n\t\t\t)}\n\t\t\t<ChakraCard.Body overflow=\"hidden\">{children}</ChakraCard.Body>\n\t\t\t{footer && <ChakraCard.Footer>{footer}</ChakraCard.Footer>}\n\t\t</ChakraCard.Root>\n\t);\n};\nCard.displayName = \"Card\";\n","import { Box, Flex, Grid, GridItem } from \"@chakra-ui/react\";\nimport { Children } from \"react\";\n\nexport interface CardListProps {\n\t/** Column header labels displayed above the grid. */\n\theaders: string[];\n\t/** Whether rows have a left-side component slot (e.g., avatar). */\n\thasComponentLeft?: boolean;\n\t/** Whether rows have a right-side menu slot. */\n\thasMenu?: boolean;\n\t/** CardListItem children to render as rows. */\n\tchildren?: React.ReactNode;\n\t/** Total number of grid columns. Defaults to 12. */\n\tcolumnCount?: number;\n\t/** Content to display when there are no rows. */\n\temptyState?: React.ReactNode;\n}\n\nexport const CardList: React.FC<CardListProps> = ({\n\tchildren,\n\theaders,\n\thasComponentLeft,\n\thasMenu,\n\tcolumnCount = 12,\n\temptyState,\n}) => {\n\tconst colSpan = Math.floor(columnCount / headers.length);\n\tconst isEmpty = Children.count(children) === 0;\n\n\treturn (\n\t\t<Box role=\"grid\" aria-colcount={headers.length}>\n\t\t\t<Flex pb={2} px={hasComponentLeft ? 0 : 6}>\n\t\t\t\t{hasComponentLeft && <Box minWidth={75} px={6} />}\n\t\t\t\t<Grid\n\t\t\t\t\tw=\"100%\"\n\t\t\t\t\ttemplateRows=\"repeat(1, 1fr)\"\n\t\t\t\t\ttemplateColumns={`repeat(${columnCount}, 1fr)`}\n\t\t\t\t\tgap={4}\n\t\t\t\t\tfontWeight=\"semibold\"\n\t\t\t\t\tcolor=\"muted\"\n\t\t\t\t>\n\t\t\t\t\t{headers.map((header) => (\n\t\t\t\t\t\t<GridItem key={header} colSpan={colSpan} role=\"columnheader\">\n\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t</GridItem>\n\t\t\t\t\t))}\n\t\t\t\t</Grid>\n\t\t\t\t{hasMenu && <Box minWidth=\"80px\" px={6} />}\n\t\t\t</Flex>\n\n\t\t\t<Flex direction=\"column\" gap=\"3\">\n\t\t\t\t{isEmpty && emptyState ? emptyState : children}\n\t\t\t</Flex>\n\t\t</Box>\n\t);\n};\nCardList.displayName = \"CardList\";\n","import { Text, type TextProps } from \"@chakra-ui/react\";\nimport { Tooltip } from \"../primitives/tooltip\";\n\nexport interface CardListDataProps extends TextProps {\n\t/** Cell content. Strings are shown in a tooltip on overflow. */\n\tchildren: React.ReactNode;\n}\n\nexport const CardListData: React.FC<CardListDataProps> = ({\n\tchildren,\n\t...restProps\n}) => {\n\tconst textContent =\n\t\ttypeof children === \"string\" || typeof children === \"number\"\n\t\t\t? String(children)\n\t\t\t: null;\n\n\treturn (\n\t\t<Tooltip content={textContent ?? \"\"} disabled={!textContent}>\n\t\t\t<Text lineClamp={1} color=\"muted\" {...restProps}>\n\t\t\t\t{children}\n\t\t\t</Text>\n\t\t</Tooltip>\n\t);\n};\nCardListData.displayName = \"CardListData\";\n","import { Box, Flex, Grid, GridItem, Menu, Portal } from \"@chakra-ui/react\";\nimport { Ellipsis } from \"lucide-react\";\nimport type React from \"react\";\nimport { Children } from \"react\";\n\nexport interface CardListMenuItem<T = string> {\n\t/** Text label for the menu item. */\n\tlabel: string;\n\t/** Callback fired when the menu item is clicked. */\n\tonClick: () => void;\n\t/** Icon rendered before the label. */\n\ticon?: React.ReactNode;\n\t/** Text color override for the menu item. */\n\tcolor?: string;\n\t/** Value associated with the menu item. */\n\tvalue?: T;\n}\n\nexport interface CardListItemProps<T = string> {\n\t/** Whether the item is visually selected. */\n\tisActive?: boolean;\n\t/** Callback fired when the row is clicked. */\n\thandleItemClick?: () => void;\n\t/** Callback fired when the row is double-clicked. */\n\thandleItemDoubleClick?: () => void;\n\t/** Menu items rendered in the row's action menu. */\n\tmenuItems?: CardListMenuItem<T>[];\n\t/** Component rendered on the left side of the row (e.g., avatar). */\n\tcomponentLeft?: React.ReactNode;\n\t/** CardListData children to render as cells. */\n\tchildren: React.ReactNode;\n\t/** Total number of grid columns. Defaults to 12. */\n\tcolumnCount?: number;\n}\n\nexport const CardListItem = <T extends string = string>({\n\tisActive,\n\thandleItemClick,\n\thandleItemDoubleClick,\n\tmenuItems,\n\tcomponentLeft,\n\tchildren,\n\tcolumnCount = 12,\n}: CardListItemProps<T>) => {\n\tconst colSpan = Math.floor(columnCount / Children.count(children));\n\n\treturn (\n\t\t<Flex\n\t\t\trole=\"row\"\n\t\t\tboxShadow={isActive ? \"0 0 0 2px token(colors.accent)\" : \"sm\"}\n\t\t\tbg=\"bg-surface\"\n\t\t\tborderRadius=\"lg\"\n\t\t\talignItems=\"stretch\"\n\t\t\toverflow=\"hidden\"\n\t\t\ttransition=\"all 200ms ease\"\n\t\t>\n\t\t\t<Flex\n\t\t\t\twidth=\"100%\"\n\t\t\t\ttransition=\"all 200ms ease\"\n\t\t\t\t_hover={{ bg: \"bg-subtle\", cursor: \"pointer\" }}\n\t\t\t\talignItems=\"stretch\"\n\t\t\t\toverflow=\"hidden\"\n\t\t\t\tonClick={handleItemClick}\n\t\t\t\tonDoubleClick={handleItemDoubleClick}\n\t\t\t\t{...(handleItemClick && {\n\t\t\t\t\trole: \"button\",\n\t\t\t\t\ttabIndex: 0,\n\t\t\t\t\tonKeyDown: (e: React.KeyboardEvent) => {\n\t\t\t\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\thandleItemClick();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{componentLeft && (\n\t\t\t\t\t<Box\n\t\t\t\t\t\twidth={75}\n\t\t\t\t\t\tpx={6}\n\t\t\t\t\t\tdisplay=\"flex\"\n\t\t\t\t\t\tjustifyContent=\"center\"\n\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{componentLeft}\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\n\t\t\t\t<Grid\n\t\t\t\t\tpx={componentLeft === undefined ? 6 : 0}\n\t\t\t\t\tpy={4}\n\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\ttemplateRows=\"repeat(1, 1fr)\"\n\t\t\t\t\ttemplateColumns={`repeat(${columnCount}, 1fr)`}\n\t\t\t\t\tgap={4}\n\t\t\t\t>\n\t\t\t\t\t{Children.map(children, (child, index) => (\n\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: no alternative for key\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tcolSpan={colSpan}\n\t\t\t\t\t\t\tdisplay=\"flex\"\n\t\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t</GridItem>\n\t\t\t\t\t))}\n\t\t\t\t</Grid>\n\t\t\t</Flex>\n\t\t\t{menuItems && (\n\t\t\t\t<Menu.Root>\n\t\t\t\t\t<Menu.Trigger\n\t\t\t\t\t\twidth=\"80px\"\n\t\t\t\t\t\tpx={6}\n\t\t\t\t\t\tdisplay=\"flex\"\n\t\t\t\t\t\tbg=\"accent\"\n\t\t\t\t\t\tcolor=\"on-accent\"\n\t\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\t\tjustifyContent=\"center\"\n\t\t\t\t\t\t_hover={{ opacity: 0.9 }}\n\t\t\t\t\t\taria-label=\"Row actions\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Ellipsis size={20} />\n\t\t\t\t\t</Menu.Trigger>\n\t\t\t\t\t<Portal>\n\t\t\t\t\t\t<Menu.Positioner>\n\t\t\t\t\t\t\t<Menu.Content>\n\t\t\t\t\t\t\t\t{menuItems.map((menuItem) => (\n\t\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\t\tkey={menuItem.label}\n\t\t\t\t\t\t\t\t\t\tonClick={menuItem.onClick}\n\t\t\t\t\t\t\t\t\t\tcolor={menuItem.color}\n\t\t\t\t\t\t\t\t\t\tvalue={menuItem.value ?? menuItem.label}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{menuItem.icon}\n\t\t\t\t\t\t\t\t\t\t{menuItem.label}\n\t\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Menu.Content>\n\t\t\t\t\t\t</Menu.Positioner>\n\t\t\t\t\t</Portal>\n\t\t\t\t</Menu.Root>\n\t\t\t)}\n\t\t</Flex>\n\t);\n};\n(CardListItem as { displayName?: string }).displayName = \"CardListItem\";\n","import type React from \"react\";\nimport { IconButton, type IconButtonProps } from \"../../../atoms/button\";\nimport { HStack } from \"../../../primitives/layout\";\nimport { Tooltip } from \"../../../primitives/tooltip\";\n\nexport interface ActionCellAction {\n\ticon: React.ElementType;\n\tlabel: string;\n\tonClick?: () => void;\n\t/** Renders the action as a link. Mutually exclusive with onClick. */\n\thref?: string;\n\t/** Adds a download attribute to the link. Only used with href. */\n\tdownload?: boolean | string;\n\t/** Link target (e.g., \"_blank\"). Only used with href. */\n\ttarget?: string;\n\tvariant?: IconButtonProps[\"variant\"];\n\tcolorPalette?: string;\n\tdisabled?: boolean;\n}\n\nexport interface ActionCellProps {\n\tactions: ActionCellAction[];\n}\n\nexport const ActionCell: React.FC<ActionCellProps> = ({ actions }) => {\n\treturn (\n\t\t<HStack gap={1}>\n\t\t\t{actions.map((action) => (\n\t\t\t\t<Tooltip key={action.label} content={action.label}>\n\t\t\t\t\t{action.href ? (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\taria-label={action.label}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant={action.variant ?? \"ghost\"}\n\t\t\t\t\t\t\tcolorPalette={action.colorPalette}\n\t\t\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t\t\t\tasChild\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={action.href}\n\t\t\t\t\t\t\t\tdownload={action.download}\n\t\t\t\t\t\t\t\ttarget={action.target}\n\t\t\t\t\t\t\t\trel={\n\t\t\t\t\t\t\t\t\taction.target === \"_blank\" ? \"noopener noreferrer\" : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<action.icon size={16} />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\taria-label={action.label}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant={action.variant ?? \"ghost\"}\n\t\t\t\t\t\t\tcolorPalette={action.colorPalette}\n\t\t\t\t\t\t\tonClick={action.onClick}\n\t\t\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<action.icon size={16} />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t)}\n\t\t\t\t</Tooltip>\n\t\t\t))}\n\t\t</HStack>\n\t);\n};\nActionCell.displayName = \"ActionCell\";\n","/** Dash shown for null/undefined cell values. */\nexport const emptyCellValue = \"—\";\n\n/** Truncate text to maxLength, appending \"…\" if exceeded. */\nexport function truncateText(text: string, maxLength: number): string {\n\tif (text.length <= maxLength) return text;\n\treturn `${text.slice(0, maxLength)}…`;\n}\n\n/** Return singular or plural form based on count. */\nexport function pluralize(\n\tcount: number,\n\tsingular: string,\n\tplural: string,\n): string {\n\treturn count === 1 ? singular : plural;\n}\n","import type React from \"react\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface BooleanCellProps {\n\tvalue: boolean | null | undefined;\n\ttrueLabel?: string;\n\tfalseLabel?: string;\n}\n\nexport const BooleanCell: React.FC<BooleanCellProps> = ({\n\tvalue,\n\ttrueLabel = \"Yes\",\n\tfalseLabel = \"No\",\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\treturn <span>{value ? trueLabel : falseLabel}</span>;\n};\nBooleanCell.displayName = \"BooleanCell\";\n","import type React from \"react\";\nimport { Code } from \"../../../primitives/typography\";\nimport { emptyCellValue, truncateText } from \"./cell-utils\";\n\nexport interface CodeCellProps {\n\tvalue: string | null | undefined;\n\tmaxLength?: number;\n}\n\nexport const CodeCell: React.FC<CodeCellProps> = ({\n\tvalue,\n\tmaxLength = 80,\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\tconst display = truncateText(value, maxLength);\n\treturn (\n\t\t<Code title={value} fontSize=\"0.85em\">\n\t\t\t{display}\n\t\t</Code>\n\t);\n};\nCodeCell.displayName = \"CodeCell\";\n","import type React from \"react\";\nimport { Box, HStack } from \"../../../primitives/layout\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface ColorSwatchCellProps {\n\tvalue: string | null | undefined;\n}\n\nexport const ColorSwatchCell: React.FC<ColorSwatchCellProps> = ({ value }) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\treturn (\n\t\t<HStack gap={2}>\n\t\t\t<Box\n\t\t\t\twidth=\"1rem\"\n\t\t\t\theight=\"1rem\"\n\t\t\t\tborderRadius=\"full\"\n\t\t\t\tbg={value}\n\t\t\t\tborderWidth=\"1px\"\n\t\t\t\tborderColor=\"border\"\n\t\t\t\tflexShrink={0}\n\t\t\t/>\n\t\t\t<span>{value}</span>\n\t\t</HStack>\n\t);\n};\nColorSwatchCell.displayName = \"ColorSwatchCell\";\n","import type React from \"react\";\nimport { emptyCellValue, pluralize } from \"./cell-utils\";\n\nexport interface CountCellProps {\n\tvalue: unknown[] | Record<string, unknown> | number | null | undefined;\n\tsingular: string;\n\tplural: string;\n\tcountFn?: (value: unknown) => number;\n}\n\nexport const CountCell: React.FC<CountCellProps> = ({\n\tvalue,\n\tsingular,\n\tplural,\n\tcountFn,\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\n\tlet count: number;\n\tif (countFn) {\n\t\tcount = countFn(value);\n\t\tif (!Number.isFinite(count)) return <span>{emptyCellValue}</span>;\n\t} else if (typeof value === \"number\") {\n\t\tcount = value;\n\t} else if (Array.isArray(value)) {\n\t\tcount = value.length;\n\t} else if (typeof value === \"object\") {\n\t\tcount = Object.keys(value).length;\n\t} else {\n\t\treturn <span>{emptyCellValue}</span>;\n\t}\n\n\treturn (\n\t\t<span>\n\t\t\t{count} {pluralize(count, singular, plural)}\n\t\t</span>\n\t);\n};\nCountCell.displayName = \"CountCell\";\n","import dayjs from \"dayjs\";\nimport type React from \"react\";\nimport { formatRelativeDateTime } from \"../../../atoms/datetime/utils/relative-date-time-utils\";\nimport { Tooltip } from \"../../../primitives/tooltip\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface DateCellProps {\n\tvalue: string | Date | number | null | undefined;\n\tformat?: string;\n\tshowRelative?: boolean;\n}\n\nexport const DateCell: React.FC<DateCellProps> = ({\n\tvalue,\n\tformat = \"MMM D, YYYY\",\n\tshowRelative,\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\n\tconst parsed = dayjs(value);\n\tif (!parsed.isValid()) return <span>{emptyCellValue}</span>;\n\n\tconst formatted = parsed.format(format);\n\n\tif (showRelative) {\n\t\tconst relative = formatRelativeDateTime(value);\n\t\treturn (\n\t\t\t<Tooltip content={formatted}>\n\t\t\t\t<span>{relative}</span>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\n\treturn <span>{formatted}</span>;\n};\nDateCell.displayName = \"DateCell\";\n","import type React from \"react\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface NumberCellProps {\n\tvalue: number | string | null | undefined;\n\tlocale?: string;\n}\n\nexport const NumberCell: React.FC<NumberCellProps> = ({ value, locale }) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\tconst num = Number(value);\n\tconst display = Number.isNaN(num)\n\t\t? String(value)\n\t\t: num.toLocaleString(locale);\n\treturn <span>{display}</span>;\n};\nNumberCell.displayName = \"NumberCell\";\n","import type React from \"react\";\nimport { Code } from \"../../../primitives/typography\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface SlugCellProps {\n\tvalue: string | null | undefined;\n}\n\nexport const SlugCell: React.FC<SlugCellProps> = ({ value }) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\treturn <Code>{value}</Code>;\n};\nSlugCell.displayName = \"SlugCell\";\n","import type React from \"react\";\nimport { StatusBadge } from \"../../../atoms/status-badge\";\nimport { VStack } from \"../../../primitives/layout\";\nimport { Text } from \"../../../primitives/typography\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface StatusBadgeCellProps {\n\tvalue: string | null | undefined;\n\tcolorMap?: Record<string, string>;\n\t/** Fallback color when value has no entry in colorMap. @default \"gray\" */\n\tfallbackColor?: string;\n\t/** Optional detail text displayed below the badge (e.g., error message). */\n\tdetail?: string | null;\n\t/** Color for the detail text. @default \"fg.error\" */\n\tdetailColor?: string;\n}\n\nexport const StatusBadgeCell: React.FC<StatusBadgeCellProps> = ({\n\tvalue,\n\tcolorMap,\n\tfallbackColor = \"gray\",\n\tdetail,\n\tdetailColor = \"fg.error\",\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\tconst color = colorMap?.[value] ?? fallbackColor;\n\tconst badge = <StatusBadge label={value} color={color} />;\n\n\tif (detail) {\n\t\treturn (\n\t\t\t<VStack align=\"start\" gap={0.5}>\n\t\t\t\t{badge}\n\t\t\t\t<Text fontSize=\"xs\" color={detailColor}>\n\t\t\t\t\t{detail}\n\t\t\t\t</Text>\n\t\t\t</VStack>\n\t\t);\n\t}\n\n\treturn badge;\n};\nStatusBadgeCell.displayName = \"StatusBadgeCell\";\n","import type React from \"react\";\nimport { Switch } from \"../../../primitives/switch\";\n\nexport interface SwitchCellProps {\n\tchecked: boolean;\n\tonChange: (checked: boolean) => void;\n\tdisabled?: boolean;\n\tcolorPalette?: string;\n\t/** Accessible label for screen readers. */\n\tlabel?: string;\n}\n\nexport const SwitchCell: React.FC<SwitchCellProps> = ({\n\tchecked,\n\tonChange,\n\tdisabled,\n\tcolorPalette = \"green\",\n\tlabel,\n}) => {\n\treturn (\n\t\t<Switch\n\t\t\tchecked={checked}\n\t\t\tonCheckedChange={(details) => onChange(!!details.checked)}\n\t\t\tdisabled={disabled}\n\t\t\tcolorPalette={colorPalette}\n\t\t\taria-label={label}\n\t\t\tonClick={(e: React.MouseEvent) => e.stopPropagation()}\n\t\t/>\n\t);\n};\nSwitchCell.displayName = \"SwitchCell\";\n","import type React from \"react\";\nimport { emptyCellValue, truncateText } from \"./cell-utils\";\n\nexport interface TruncatedTextCellProps {\n\tvalue: string | null | undefined;\n\tmaxLength?: number;\n}\n\nexport const TruncatedTextCell: React.FC<TruncatedTextCellProps> = ({\n\tvalue,\n\tmaxLength,\n}) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\tconst isTruncated = maxLength != null && value.length > maxLength;\n\tconst display = isTruncated ? truncateText(value, maxLength) : value;\n\treturn <span title={isTruncated ? value : undefined}>{display}</span>;\n};\nTruncatedTextCell.displayName = \"TruncatedTextCell\";\n","import type React from \"react\";\nimport { Link } from \"../../../primitives/typography\";\nimport { emptyCellValue } from \"./cell-utils\";\n\nexport interface UrlCellProps {\n\tvalue: string | null | undefined;\n\tlabel?: string;\n}\n\nexport const UrlCell: React.FC<UrlCellProps> = ({ value, label }) => {\n\tif (value == null) return <span>{emptyCellValue}</span>;\n\treturn (\n\t\t<Link\n\t\t\thref={value}\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noopener noreferrer\"\n\t\t\ttitle={value}\n\t\t\tcolor=\"accent\"\n\t\t>\n\t\t\t{label || value}\n\t\t</Link>\n\t);\n};\nUrlCell.displayName = \"UrlCell\";\n","import { HStack, Text } from \"@chakra-ui/react\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\nimport type React from \"react\";\nimport { Button, IconButton } from \"../atoms/button\";\n\nexport interface PaginationProps {\n\t/** Current page (1-based). */\n\tpage: number;\n\t/** Total number of items. */\n\ttotal: number;\n\t/** Items per page. @default 10 */\n\tpageSize?: number;\n\t/** Called when the page changes. */\n\tonPageChange: (page: number) => void;\n\t/** Maximum page buttons to show. @default 5 */\n\tmaxVisiblePages?: number;\n\t/** Label for the previous button. @default \"Previous page\" */\n\tpreviousLabel?: string;\n\t/** Label for the next button. @default \"Next page\" */\n\tnextLabel?: string;\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n\tconst {\n\t\tpage,\n\t\ttotal,\n\t\tpageSize = 10,\n\t\tonPageChange,\n\t\tmaxVisiblePages = 5,\n\t\tpreviousLabel = \"Previous page\",\n\t\tnextLabel = \"Next page\",\n\t} = props;\n\n\tconst totalPages = Math.max(1, Math.ceil(total / pageSize));\n\tconst currentPage = Math.min(Math.max(1, page), totalPages);\n\n\tconst pages = getVisiblePages(currentPage, totalPages, maxVisiblePages);\n\n\treturn (\n\t\t<HStack gap={1}>\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\taria-label={previousLabel}\n\t\t\t\tdisabled={currentPage <= 1}\n\t\t\t\tonClick={() => onPageChange(currentPage - 1)}\n\t\t\t>\n\t\t\t\t<ChevronLeft size={16} />\n\t\t\t</IconButton>\n\t\t\t{pages.map((p) =>\n\t\t\t\tp === \"ellipsis-start\" || p === \"ellipsis-end\" ? (\n\t\t\t\t\t<Text key={p} px={2} color=\"muted\" fontSize=\"sm\">\n\t\t\t\t\t\t…\n\t\t\t\t\t</Text>\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={p}\n\t\t\t\t\t\tvariant={p === currentPage ? \"solid\" : \"ghost\"}\n\t\t\t\t\t\tcolorPalette={p === currentPage ? \"primary\" : undefined}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tminW=\"36px\"\n\t\t\t\t\t\tonClick={() => onPageChange(p)}\n\t\t\t\t\t\taria-current={p === currentPage ? \"page\" : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{p}\n\t\t\t\t\t</Button>\n\t\t\t\t),\n\t\t\t)}\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\taria-label={nextLabel}\n\t\t\t\tdisabled={currentPage >= totalPages}\n\t\t\t\tonClick={() => onPageChange(currentPage + 1)}\n\t\t\t>\n\t\t\t\t<ChevronRight size={16} />\n\t\t\t</IconButton>\n\t\t</HStack>\n\t);\n};\n\nPagination.displayName = \"Pagination\";\n\nfunction getVisiblePages(\n\tcurrent: number,\n\ttotal: number,\n\tmax: number,\n): Array<number | \"ellipsis-start\" | \"ellipsis-end\"> {\n\tif (total <= max) {\n\t\treturn Array.from({ length: total }, (_, i) => i + 1);\n\t}\n\n\tconst pages: Array<number | \"ellipsis-start\" | \"ellipsis-end\"> = [];\n\tconst half = Math.floor((max - 2) / 2);\n\tlet start = Math.max(2, current - half);\n\tlet end = Math.min(total - 1, current + half);\n\n\tif (current - half <= 2) {\n\t\tend = Math.min(total - 1, max - 1);\n\t}\n\tif (current + half >= total - 1) {\n\t\tstart = Math.max(2, total - max + 2);\n\t}\n\n\tpages.push(1);\n\tif (start > 2) pages.push(\"ellipsis-start\");\n\tfor (let i = start; i <= end; i++) {\n\t\tpages.push(i);\n\t}\n\tif (end < total - 1) pages.push(\"ellipsis-end\");\n\tpages.push(total);\n\n\treturn pages;\n}\n","import { Box, Checkbox, Flex, Table, Text } from \"@chakra-ui/react\";\nimport {\n\ttype ColumnDef,\n\tflexRender,\n\tgetCoreRowModel,\n\tgetSortedRowModel,\n\ttype OnChangeFn,\n\ttype Row,\n\ttype RowSelectionState,\n\ttype SortingState,\n\tuseReactTable,\n} from \"@tanstack/react-table\";\nimport { ArrowDown, ArrowUp, ArrowUpDown } from \"lucide-react\";\nimport type React from \"react\";\nimport { useMemo } from \"react\";\nimport { Skeleton } from \"../../primitives/skeleton\";\nimport { Pagination } from \"../pagination\";\n\nexport interface DataTableProps<T extends Record<string, unknown>> {\n\t/** Column definitions for TanStack Table */\n\tcolumns: ColumnDef<T, unknown>[];\n\t/** Data array */\n\tdata: T[];\n\t/** Enable row selection */\n\tselectable?: boolean;\n\t/** Controlled row selection state */\n\trowSelection?: RowSelectionState;\n\t/** Row selection change handler */\n\tonRowSelectionChange?: OnChangeFn<RowSelectionState>;\n\t/** Controlled sorting state */\n\tsorting?: SortingState;\n\t/** Sorting change handler */\n\tonSortingChange?: OnChangeFn<SortingState>;\n\t/** Row click handler */\n\tonRowClick?: (row: T) => void;\n\t/** Loading state */\n\tloading?: boolean;\n\t/** Empty state content */\n\temptyState?: React.ReactNode;\n\t/** Pagination - total items */\n\ttotal?: number;\n\t/** Pagination - current page (1-based) */\n\tpage?: number;\n\t/** Pagination - items per page */\n\tpageSize?: number;\n\t/** Pagination - page change handler */\n\tonPageChange?: (page: number) => void;\n\t/** Table variant */\n\tvariant?: \"line\" | \"striped\" | \"hoverable\";\n\t/** Custom row ID extractor for stable selection across data changes. @default row index */\n\tgetRowId?: (originalRow: T, index: number, parent?: Row<T>) => string;\n}\n\nconst LOADING_ROW_COUNT = 5;\n\nfunction DataTableInner<T extends Record<string, unknown>>(\n\tprops: DataTableProps<T>,\n) {\n\tconst {\n\t\tcolumns,\n\t\tdata,\n\t\tselectable = false,\n\t\trowSelection,\n\t\tonRowSelectionChange,\n\t\tsorting,\n\t\tonSortingChange,\n\t\tonRowClick,\n\t\tloading = false,\n\t\temptyState,\n\t\ttotal,\n\t\tpage,\n\t\tpageSize,\n\t\tonPageChange,\n\t\tvariant = \"line\",\n\t\tgetRowId,\n\t} = props;\n\n\tconst selectionColumn = useMemo<ColumnDef<T, unknown>>(\n\t\t() => ({\n\t\t\tid: \"_select\",\n\t\t\theader: ({ table }) => (\n\t\t\t\t<Checkbox.Root\n\t\t\t\t\tchecked={\n\t\t\t\t\t\ttable.getIsAllPageRowsSelected()\n\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t: table.getIsSomePageRowsSelected()\n\t\t\t\t\t\t\t\t? \"indeterminate\"\n\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t}\n\t\t\t\t\tonCheckedChange={(details) =>\n\t\t\t\t\t\ttable.toggleAllPageRowsSelected(!!details.checked)\n\t\t\t\t\t}\n\t\t\t\t\taria-label=\"Select all rows\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t>\n\t\t\t\t\t<Checkbox.HiddenInput />\n\t\t\t\t\t<Checkbox.Control />\n\t\t\t\t</Checkbox.Root>\n\t\t\t),\n\t\t\tcell: ({ row }) => (\n\t\t\t\t<Checkbox.Root\n\t\t\t\t\tchecked={row.getIsSelected()}\n\t\t\t\t\tonCheckedChange={(details) => row.toggleSelected(!!details.checked)}\n\t\t\t\t\taria-label={`Select row ${String(row.index + 1)}`}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t<Checkbox.HiddenInput />\n\t\t\t\t\t<Checkbox.Control />\n\t\t\t\t</Checkbox.Root>\n\t\t\t),\n\t\t\tenableSorting: false,\n\t\t}),\n\t\t[],\n\t);\n\n\tconst allColumns = useMemo(\n\t\t() => (selectable ? [selectionColumn, ...columns] : columns),\n\t\t[selectable, selectionColumn, columns],\n\t);\n\n\tconst table = useReactTable({\n\t\tdata,\n\t\tcolumns: allColumns,\n\t\tstate: {\n\t\t\t...(sorting !== undefined ? { sorting } : {}),\n\t\t\t...(rowSelection !== undefined ? { rowSelection } : {}),\n\t\t},\n\t\tonSortingChange,\n\t\tonRowSelectionChange,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\t...(onSortingChange === undefined\n\t\t\t? { getSortedRowModel: getSortedRowModel() }\n\t\t\t: {}),\n\t\tenableRowSelection: selectable,\n\t\tmanualSorting: onSortingChange !== undefined,\n\t\t...(getRowId !== undefined ? { getRowId } : {}),\n\t});\n\n\tconst hasPagination =\n\t\ttotal !== undefined &&\n\t\tpage !== undefined &&\n\t\tpageSize !== undefined &&\n\t\tonPageChange !== undefined;\n\n\tconst isEmpty = !loading && data.length === 0;\n\n\treturn (\n\t\t<Flex direction=\"column\" gap={4}>\n\t\t\t<Box overflowX=\"auto\">\n\t\t\t\t{/* Chakra v3's Table.Root types only include built-in variants.\n\t\t\t\t Our custom table recipe adds \"striped\" and \"hoverable\" variants\n\t\t\t\t that work at runtime but require a type cast. Module augmentation\n\t\t\t\t for slot recipe variants is not supported in Chakra v3. */}\n\t\t\t\t<Table.Root variant={variant as \"line\"}>\n\t\t\t\t\t<Table.Header>\n\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => (\n\t\t\t\t\t\t\t<Table.Row key={headerGroup.id}>\n\t\t\t\t\t\t\t\t{headerGroup.headers.map((header) => {\n\t\t\t\t\t\t\t\t\tconst canSort = header.column.getCanSort();\n\t\t\t\t\t\t\t\t\tconst sorted = header.column.getIsSorted();\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Table.ColumnHeader\n\t\t\t\t\t\t\t\t\t\t\tkey={header.id}\n\t\t\t\t\t\t\t\t\t\t\tcursor={canSort ? \"pointer\" : undefined}\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tcanSort\n\t\t\t\t\t\t\t\t\t\t\t\t\t? header.column.getToggleSortingHandler()\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\t\t\tsorted === \"asc\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t? \"ascending\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t: sorted === \"desc\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"descending\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: canSort\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"none\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tuserSelect={canSort ? \"none\" : undefined}\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={canSort ? 0 : undefined}\n\t\t\t\t\t\t\t\t\t\t\trole={canSort ? \"button\" : undefined}\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\tcanSort\n\t\t\t\t\t\t\t\t\t\t\t\t\t? (e: React.KeyboardEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.getToggleSortingHandler()?.(e);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Flex alignItems=\"center\" gap={1}>\n\t\t\t\t\t\t\t\t\t\t\t\t{header.isPlaceholder\n\t\t\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t\t\t: flexRender(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef.header,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theader.getContext(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{canSort && sorted === \"asc\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowUp size={14} aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{canSort && sorted === \"desc\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowDown size={14} aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{canSort && !sorted && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowUpDown size={14} aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t\t</Table.ColumnHeader>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Table.Header>\n\t\t\t\t\t<Table.Body>\n\t\t\t\t\t\t{loading &&\n\t\t\t\t\t\t\tArray.from({ length: LOADING_ROW_COUNT }).map((_, rowIdx) => (\n\t\t\t\t\t\t\t\t<Table.Row key={`loading-${String(rowIdx)}`} aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t{allColumns.map((_, colIdx) => (\n\t\t\t\t\t\t\t\t\t\t<Table.Cell key={`loading-cell-${String(colIdx)}`}>\n\t\t\t\t\t\t\t\t\t\t\t<Skeleton height=\"4\" borderRadius=\"sm\" />\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{!loading &&\n\t\t\t\t\t\t\ttable.getRowModel().rows.map((row) => (\n\t\t\t\t\t\t\t\t<Table.Row\n\t\t\t\t\t\t\t\t\tkey={row.id}\n\t\t\t\t\t\t\t\t\tdata-selected={row.getIsSelected() || undefined}\n\t\t\t\t\t\t\t\t\tcursor={onRowClick ? \"pointer\" : undefined}\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tonRowClick ? () => onRowClick(row.original) : undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttabIndex={onRowClick ? 0 : undefined}\n\t\t\t\t\t\t\t\t\trole={onRowClick ? \"button\" : undefined}\n\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\tonRowClick\n\t\t\t\t\t\t\t\t\t\t\t? (e: React.KeyboardEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonRowClick(row.original);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{row.getVisibleCells().map((cell) => (\n\t\t\t\t\t\t\t\t\t\t<Table.Cell key={cell.id}>\n\t\t\t\t\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\t\t\t\t\tcell.column.columnDef.cell,\n\t\t\t\t\t\t\t\t\t\t\t\tcell.getContext(),\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t{isEmpty && (\n\t\t\t\t\t\t\t<Table.Row>\n\t\t\t\t\t\t\t\t<Table.Cell\n\t\t\t\t\t\t\t\t\tcolSpan={allColumns.length}\n\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\tpy={8}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{emptyState ?? (\n\t\t\t\t\t\t\t\t\t\t<Text color=\"muted\" fontSize=\"sm\">\n\t\t\t\t\t\t\t\t\t\t\tNo data available\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Table.Cell>\n\t\t\t\t\t\t\t</Table.Row>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Table.Body>\n\t\t\t\t</Table.Root>\n\t\t\t</Box>\n\t\t\t{hasPagination && (\n\t\t\t\t<Flex justifyContent=\"center\">\n\t\t\t\t\t<Pagination\n\t\t\t\t\t\tpage={page}\n\t\t\t\t\t\ttotal={total}\n\t\t\t\t\t\tpageSize={pageSize}\n\t\t\t\t\t\tonPageChange={onPageChange}\n\t\t\t\t\t/>\n\t\t\t\t</Flex>\n\t\t\t)}\n\t\t</Flex>\n\t);\n}\n\nexport const DataTable = DataTableInner as typeof DataTableInner & {\n\tdisplayName: string;\n};\nDataTable.displayName = \"DataTable\";\n","import {\n\tDrawer,\n\ttype DrawerRootProps,\n\tFlex,\n\tPortal,\n\tSpacer,\n} from \"@chakra-ui/react\";\nimport { X } from \"lucide-react\";\nimport { Button } from \"../atoms/button\";\n\nexport interface DrawerProps\n\textends Omit<DrawerRootProps, \"open\" | \"onOpenChange\"> {\n\t/** Whether the drawer is open. */\n\topen: boolean;\n\t/** Called when the drawer should close. */\n\tonClose(): void;\n\t/** Header title content. */\n\ttitle: string | React.ReactNode;\n\t/** Text displayed in the footer area (left side). */\n\tfooterText?: string | React.ReactNode;\n\t/** Drawer body content. */\n\tchildren: React.ReactNode;\n\t/** Label for the save button. @default \"Save\" */\n\tsaveLabel?: string;\n\t/** Label for the close button. @default \"Close\" */\n\tcloseLabel?: string;\n\t/** Whether the save button is disabled. */\n\tsaveButtonDisabled?: boolean;\n\t/** Whether the save action is in progress. Shows spinner on save button. */\n\tloading?: boolean;\n\t/** Extra buttons rendered before the save button. */\n\tadditionalButtons?: React.ReactNode;\n\t/** Called when the save button is clicked. If not provided, no save button is shown. */\n\tonSave?(): void;\n}\n\nexport const DrawerRoot: React.FC<DrawerProps> = ({\n\tchildren,\n\ttitle,\n\tfooterText,\n\tsaveLabel = \"Save\",\n\tcloseLabel = \"Close\",\n\tsaveButtonDisabled = false,\n\tloading = false,\n\tadditionalButtons,\n\tonSave,\n\topen,\n\tonClose,\n\t...rest\n}) => {\n\treturn (\n\t\t<Drawer.Root\n\t\t\t{...rest}\n\t\t\topen={open}\n\t\t\tonOpenChange={(details) => {\n\t\t\t\tif (!details.open) {\n\t\t\t\t\tonClose();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<Portal>\n\t\t\t\t<Drawer.Backdrop />\n\t\t\t\t<Drawer.Positioner>\n\t\t\t\t\t<Drawer.Content>\n\t\t\t\t\t\t<Drawer.CloseTrigger asChild>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tposition=\"absolute\"\n\t\t\t\t\t\t\t\ttop={2}\n\t\t\t\t\t\t\t\tinsetInlineEnd={2}\n\t\t\t\t\t\t\t\taria-label={closeLabel}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<X size={16} />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Drawer.CloseTrigger>\n\n\t\t\t\t\t\t<Drawer.Header\n\t\t\t\t\t\t\tbg=\"bg-surface\"\n\t\t\t\t\t\t\tborderBottom=\"1px solid\"\n\t\t\t\t\t\t\tborderColor=\"border\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Drawer.Title>{title}</Drawer.Title>\n\t\t\t\t\t\t</Drawer.Header>\n\n\t\t\t\t\t\t<Drawer.Body>{children}</Drawer.Body>\n\n\t\t\t\t\t\t<Drawer.Footer\n\t\t\t\t\t\t\tfontSize=\"sm\"\n\t\t\t\t\t\t\tbg=\"bg-subtle\"\n\t\t\t\t\t\t\tborderTop=\"1px solid\"\n\t\t\t\t\t\t\tborderColor=\"border\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{footerText}\n\t\t\t\t\t\t\t<Spacer />\n\t\t\t\t\t\t\t<Flex gap={4}>\n\t\t\t\t\t\t\t\t{additionalButtons}\n\t\t\t\t\t\t\t\t{onSave && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"solid\"\n\t\t\t\t\t\t\t\t\t\tcolorPalette=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={onSave}\n\t\t\t\t\t\t\t\t\t\tdisabled={saveButtonDisabled || loading}\n\t\t\t\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{saveLabel}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t</Drawer.Footer>\n\t\t\t\t\t</Drawer.Content>\n\t\t\t\t</Drawer.Positioner>\n\t\t\t</Portal>\n\t\t</Drawer.Root>\n\t);\n};\nDrawerRoot.displayName = \"DrawerRoot\";\n","import {\n\tBox,\n\tButtonGroup,\n\ttype CardRootProps,\n\tCollapsible,\n\tFlex,\n\tHStack,\n\tText,\n} from \"@chakra-ui/react\";\nimport { ChevronDown, ChevronRight } from \"lucide-react\";\nimport React, { type MouseEventHandler } from \"react\";\nimport { IconButton } from \"../atoms/button\";\nimport {\n\tMenuContent,\n\tMenuItem,\n\tMenuRoot,\n\tMenuTrigger,\n} from \"../primitives/menu\";\nimport { Card } from \"./card\";\n\nexport interface FactBoxAction {\n\tid: number;\n\ttype: \"button\" | \"menuButton\";\n\tariaLabel: string;\n\ticon?: React.ReactElement;\n\tonClick?: MouseEventHandler<HTMLButtonElement>;\n\tonSelect?: VoidFunction;\n\titems?: FactBoxAction[];\n}\n\nexport interface FactBoxProps extends CardRootProps {\n\tname?: string | React.ReactNode;\n\tactions?: FactBoxAction[];\n\tchildren: React.ReactNode;\n\tcollapsible?: boolean;\n\t/** Label for collapse button when expanded. @default \"Collapse\" */\n\tcollapseLabel?: string;\n\t/** Label for collapse button when collapsed. @default \"Expand\" */\n\texpandLabel?: string;\n}\n\nexport const FactBox: React.FC<FactBoxProps> = (props) => {\n\tconst {\n\t\tname,\n\t\tactions,\n\t\tcollapsible = true,\n\t\tcollapseLabel = \"Collapse\",\n\t\texpandLabel = \"Expand\",\n\t\t...rest\n\t} = props;\n\n\tconst [show, setShow] = React.useState(true);\n\n\tconst handleToggle = () => {\n\t\tsetShow(!show);\n\t};\n\n\treturn (\n\t\t<Box w=\"full\">\n\t\t\t{collapsible ? (\n\t\t\t\t<Flex\n\t\t\t\t\tflexDirection=\"column\"\n\t\t\t\t\tmx=\"auto\"\n\t\t\t\t\tborderBottom=\"1px solid\"\n\t\t\t\t\tborderColor=\"border\"\n\t\t\t\t>\n\t\t\t\t\t<Box\n\t\t\t\t\t\tdisplay={{ md: \"flex\" }}\n\t\t\t\t\t\talignItems={{ md: \"center\" }}\n\t\t\t\t\t\tjustifyContent={{ md: \"space-between\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Box minW={0} flex=\"1 1 0%\">\n\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\taria-label={show ? collapseLabel : expandLabel}\n\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thandleToggle();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{show ? (\n\t\t\t\t\t\t\t\t\t\t<ChevronDown size={16} />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ChevronRight size={16} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t\t{typeof name === \"string\" ? <Text>{name}</Text> : name}\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t{actions ? (\n\t\t\t\t\t\t\t<Flex flexShrink={0} marginInlineStart={{ md: 4 }}>\n\t\t\t\t\t\t\t\t<ButtonGroup>\n\t\t\t\t\t\t\t\t\t{actions.map((action) =>\n\t\t\t\t\t\t\t\t\t\taction.type === \"button\" ? (\n\t\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\t\tkey={action.id}\n\t\t\t\t\t\t\t\t\t\t\t\taria-label={action.ariaLabel}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={action.onClick}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{action.icon}\n\t\t\t\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<MenuRoot key={action.id}>\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuTrigger asChild>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={action.ariaLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{action.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuContent>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{action.items?.map((item) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={item.onSelect}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={item.ariaLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={`action-${item.id}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.ariaLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuContent>\n\t\t\t\t\t\t\t\t\t\t\t</MenuRoot>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</Box>\n\t\t\t\t</Flex>\n\t\t\t) : null}\n\t\t\t<Collapsible.Root open={show}>\n\t\t\t\t<Collapsible.Content>\n\t\t\t\t\t<Card {...rest}>{rest.children}</Card>\n\t\t\t\t</Collapsible.Content>\n\t\t\t</Collapsible.Root>\n\t\t</Box>\n\t);\n};\nFactBox.displayName = \"FactBox\";\n","import { Box, Flex, Text } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport { Switch, type SwitchProps } from \"../primitives/switch\";\n\nexport interface LabeledSwitchProps extends SwitchProps {\n\tname: string;\n\tlabel: string;\n}\n\nexport const LabeledSwitch = ({\n\tref,\n\t...props\n}: LabeledSwitchProps & { ref?: React.Ref<HTMLInputElement> }) => {\n\tconst { name, label, ...rest } = props;\n\n\treturn (\n\t\t<Box>\n\t\t\t<Text asChild>\n\t\t\t\t<Flex>{label}</Flex>\n\t\t\t</Text>\n\t\t\t<Switch id={name} ref={ref} {...rest} />\n\t\t</Box>\n\t);\n};\nLabeledSwitch.displayName = \"LabeledSwitch\";\n","import {\n\tDialog,\n\ttype DialogRootProps,\n\tFlex,\n\tPortal,\n\tSeparator,\n\tSpacer,\n} from \"@chakra-ui/react\";\nimport { X } from \"lucide-react\";\nimport { Button, IconButton } from \"../atoms/button\";\n\nexport interface ModalProps\n\textends Omit<DialogRootProps, \"open\" | \"onOpenChange\"> {\n\t/** Whether the modal is open. */\n\topen: boolean;\n\t/** Called when the modal should close. */\n\tonClose: () => void;\n\t/** Header content (string or ReactNode). */\n\theader: string | React.ReactNode;\n\t/** Modal body content. */\n\tchildren: React.ReactNode;\n\t/** Custom footer. If provided, replaces the default Cancel/Save buttons. */\n\tfooter?: React.ReactNode;\n\t/** Dialog size variant. */\n\tsize?: DialogRootProps[\"size\"];\n\t/** Label for the close button. */\n\tcloseLabel?: string;\n\t/** Label for the save button. */\n\tsaveLabel?: string;\n\t/** Label for the cancel button. */\n\tcancelLabel?: string;\n\t/** Called when the save button is clicked. If not provided, no default footer is shown. */\n\tonSave?: () => void;\n\t/** Whether the save button is disabled. */\n\tsaveDisabled?: boolean;\n\t/** Whether the save action is in progress. Shows spinner on save button. */\n\tloading?: boolean;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n\topen,\n\tonClose,\n\theader,\n\tchildren,\n\tfooter,\n\tsize = \"xl\",\n\tcloseLabel = \"Close\",\n\tsaveLabel = \"Save\",\n\tcancelLabel = \"Cancel\",\n\tonSave,\n\tsaveDisabled = false,\n\tloading = false,\n\t...rest\n}) => {\n\tconst defaultFooter = onSave ? (\n\t\t<Flex gap={3} justify=\"flex-end\" w=\"full\">\n\t\t\t<Button variant=\"outline\" onClick={onClose}>\n\t\t\t\t{cancelLabel}\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tvariant=\"solid\"\n\t\t\t\tcolorPalette=\"primary\"\n\t\t\t\tonClick={onSave}\n\t\t\t\tdisabled={saveDisabled || loading}\n\t\t\t\tloading={loading}\n\t\t\t>\n\t\t\t\t{saveLabel}\n\t\t\t</Button>\n\t\t</Flex>\n\t) : null;\n\n\tconst footerContent = footer !== undefined ? footer : defaultFooter;\n\n\treturn (\n\t\t<Dialog.Root\n\t\t\t{...rest}\n\t\t\topen={open}\n\t\t\tsize={size}\n\t\t\tonOpenChange={(details) => {\n\t\t\t\tif (!details.open) {\n\t\t\t\t\tonClose();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<Portal>\n\t\t\t\t<Dialog.Backdrop />\n\t\t\t\t<Dialog.Positioner>\n\t\t\t\t\t<Dialog.Content>\n\t\t\t\t\t\t<Dialog.Header>\n\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t\t<Spacer />\n\t\t\t\t\t\t\t<Dialog.CloseTrigger asChild>\n\t\t\t\t\t\t\t\t<IconButton variant=\"ghost\" size=\"sm\" aria-label={closeLabel}>\n\t\t\t\t\t\t\t\t\t<X size={16} />\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t</Dialog.CloseTrigger>\n\t\t\t\t\t\t</Dialog.Header>\n\n\t\t\t\t\t\t<Separator />\n\n\t\t\t\t\t\t<Dialog.Body>{children}</Dialog.Body>\n\n\t\t\t\t\t\t{footerContent && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t\t\t<Dialog.Footer>{footerContent}</Dialog.Footer>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Dialog.Content>\n\t\t\t\t</Dialog.Positioner>\n\t\t\t</Portal>\n\t\t</Dialog.Root>\n\t);\n};\nModal.displayName = \"Modal\";\n","import { createContext } from \"@chakra-ui/react\";\nimport React, { useCallback } from \"react\";\n\nexport const [StepperProvider, useStepperContext] =\n\tcreateContext<UseStepperReturn>({\n\t\tname: \"StepperContext\",\n\t\terrorMessage:\n\t\t\t\"useStepperContext: `context` is undefined. Seems you forgot to wrap stepper components in `<Stepper />`\",\n\t});\n\nexport interface UseStepperProps {\n\tstep?: number | string;\n\tisCompleted?: boolean;\n\tonChange?(index: number): void;\n}\n\nexport function useStepper(props: UseStepperProps) {\n\tconst { step, onChange } = props;\n\n\tconst [activeIndex, setIndex] = React.useState(-1); // Set to -1 by default to prevent any initial transitions.\n\n\tconst stepsRef = React.useRef<string[]>([]);\n\n\tconst registerStep = React.useCallback((name: string) => {\n\t\tconst newSteps = [...stepsRef.current];\n\n\t\tif (newSteps.indexOf(name) === -1) {\n\t\t\tnewSteps.push(name);\n\t\t}\n\n\t\tstepsRef.current = newSteps;\n\t}, []);\n\n\tconst unregisterStep = React.useCallback((name: string) => {\n\t\tstepsRef.current = stepsRef.current.filter((step) => step !== name);\n\t}, []);\n\n\tconst setStep = useCallback((name: string) => {\n\t\tconst i = stepsRef.current.indexOf(name);\n\t\tif (i !== -1) {\n\t\t\tsetIndex(i);\n\t\t}\n\t}, []);\n\n\tconst nextStep = () => {\n\t\tsetIndex(activeIndex + 1);\n\t};\n\n\tconst prevStep = () => {\n\t\tsetIndex(activeIndex - 1);\n\t};\n\n\tReact.useEffect(() => {\n\t\tif (typeof step === \"string\") {\n\t\t\tsetStep(step);\n\t\t} else if (typeof step === \"number\") {\n\t\t\tsetIndex(step);\n\t\t} else if (activeIndex === -1) {\n\t\t\tsetIndex(0); // initiate the stepper by activating the first step\n\t\t}\n\t}, [step, activeIndex, setStep]);\n\n\tReact.useEffect(() => {\n\t\tonChange?.(activeIndex);\n\t}, [activeIndex, onChange]);\n\n\tconst context = {\n\t\tstepsRef,\n\t\tactiveStep: stepsRef.current[activeIndex],\n\t\tactiveIndex,\n\t\tisFirstStep: activeIndex === 0,\n\t\tisLastStep: activeIndex === stepsRef.current.length - 1,\n\t\tisCompleted: activeIndex >= stepsRef.current.length,\n\t\tsetIndex,\n\t\tsetStep,\n\t\tnextStep,\n\t\tprevStep,\n\t\tregisterStep,\n\t\tunregisterStep,\n\t};\n\n\treturn context;\n}\n\nexport type UseStepperReturn = ReturnType<typeof useStepper>;\n\nexport interface UseStepProps {\n\tname?: string;\n\tisActive?: boolean;\n\tisCompleted?: boolean;\n}\n\nexport function useStep(props: UseStepProps) {\n\tconst { name, isActive, isCompleted } = props;\n\tconst { registerStep, unregisterStep, activeStep } = useStepperContext();\n\n\tReact.useEffect(() => {\n\t\tif (!name) {\n\t\t\treturn;\n\t\t}\n\t\tregisterStep(name);\n\n\t\treturn () => {\n\t\t\tunregisterStep(name);\n\t\t};\n\t}, [name, registerStep, unregisterStep]);\n\n\treturn {\n\t\tisActive: name ? activeStep === name : isActive,\n\t\tisCompleted,\n\t};\n}\n\n/**\n * Returns props for a Prev Button\n */\nexport function useStepperPrevButton({ label = \"Back\" } = {}) {\n\tconst { isFirstStep, prevStep } = useStepperContext();\n\n\treturn {\n\t\tdisabled: isFirstStep,\n\t\tonClick: prevStep,\n\t\tchildren: label,\n\t};\n}\n\n/**\n * Returns props for a Next Button\n */\nexport function useStepperNextButton({\n\tlabel = \"Next\",\n\tsubmitLabel = \"Submit\",\n} = {}) {\n\tconst { isLastStep, isCompleted, nextStep } = useStepperContext();\n\n\treturn {\n\t\tdisabled: isCompleted,\n\t\tonClick: nextStep,\n\t\tchildren: isLastStep ? submitLabel : label,\n\t};\n}\n","import {\n\tCollapsible,\n\tchakra,\n\ttype HTMLChakraProps,\n\ttype SystemStyleObject,\n\tuseSlotRecipe,\n} from \"@chakra-ui/react\";\nimport { Check } from \"lucide-react\";\nimport React, { createContext, useContext } from \"react\";\nimport {\n\tStepperProvider,\n\ttype UseStepperProps,\n\tuseStep,\n\tuseStepper,\n\tuseStepperContext,\n} from \"./use-stepper\";\n\n// ---------------------------------------------------------------------------\n// Inlined helpers (from core utils)\n// ---------------------------------------------------------------------------\n\nfunction getChildOfType(children: React.ReactNode, type: React.ComponentType) {\n\treturn (React.Children.toArray(children) as React.ReactElement[]).find(\n\t\t(item) => item.type === type,\n\t);\n}\n\nfunction getChildrenOfType<P = Record<string, unknown>>(\n\tchildren: React.ReactNode,\n\ttype: React.ComponentType<P> | React.ComponentType<P>[],\n) {\n\treturn (React.Children.toArray(children) as React.ReactElement<P>[]).filter(\n\t\t(item) =>\n\t\t\tArray.isArray(type)\n\t\t\t\t? type.some((component) => component === item.type)\n\t\t\t\t: item.type === type,\n\t);\n}\n\n// Simple replacement for the removed dataAttr helper\nconst dataAttr = (condition: boolean | undefined) =>\n\tcondition ? \"\" : undefined;\n\n// Simple replacement for the removed cx helper\nconst cx = (...classes: (string | undefined)[]) =>\n\tclasses.filter(Boolean).join(\" \");\n\n// ---------------------------------------------------------------------------\n// Styles context -- populated by useSlotRecipe in StepperContainer\n// ---------------------------------------------------------------------------\n\ntype StepperStyles = Record<string, SystemStyleObject>;\n\nconst StylesContext = createContext<StepperStyles>({});\nconst useStyles = () => useContext(StylesContext);\n\n// ---------------------------------------------------------------------------\n\nexport interface StepperProps\n\textends UseStepperProps,\n\t\tOmit<HTMLChakraProps<\"div\">, \"onChange\"> {\n\torientation?: \"horizontal\" | \"vertical\";\n\tvariant?: \"subtle\" | \"solid\";\n\tsize?: \"md\" | \"lg\";\n}\n\n/**\n * Display progress in multi-step workflows.\n *\n * Can be controlled or uncontrolled.\n */\nexport const Stepper = ({\n\tref,\n\t...props\n}: StepperProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst { orientation, children, ...containerProps } = props;\n\treturn (\n\t\t<StepperContainer ref={ref} orientation={orientation} {...containerProps}>\n\t\t\t<StepperSteps orientation={orientation}>{children}</StepperSteps>\n\t\t</StepperContainer>\n\t);\n};\nStepper.displayName = \"Stepper\";\n\nexport const StepperContainer = ({\n\tref,\n\t...props\n}: StepperProps & { ref?: React.Ref<HTMLDivElement> }) => {\n\tconst {\n\t\tchildren,\n\t\torientation = \"horizontal\",\n\t\tvariant,\n\t\tsize,\n\t\tonChange,\n\t\t...rest\n\t} = props;\n\n\tconst context = useStepper(props);\n\n\tconst recipe = useSlotRecipe({ key: \"stepper\" });\n\tconst styles = recipe({ variant, size, orientation });\n\n\treturn (\n\t\t<StylesContext.Provider value={styles}>\n\t\t\t<StepperProvider value={context}>\n\t\t\t\t<chakra.div\n\t\t\t\t\tref={ref}\n\t\t\t\t\tcss={styles.container}\n\t\t\t\t\t{...rest}\n\t\t\t\t\tclassName={cx(\"stepper\", props.className)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</chakra.div>\n\t\t\t</StepperProvider>\n\t\t</StylesContext.Provider>\n\t);\n};\nStepperContainer.displayName = \"StepperContainer\";\n\nexport interface StepperStepsProps extends HTMLChakraProps<\"div\"> {\n\torientation?: \"horizontal\" | \"vertical\";\n\tstepComponent?: React.JSXElementConstructor<StepperStepProps>;\n}\n\n/**\n * Wrapper element containing the steps.\n */\nexport const StepperSteps: React.FC<StepperStepsProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\torientation = \"horizontal\",\n\t\tstepComponent,\n\t\t...rest\n\t} = props;\n\tconst styles = useStyles();\n\n\tconst { activeIndex } = useStepperContext();\n\n\tconst isVertical = orientation === \"vertical\";\n\n\tconst Step = stepComponent || StepperStep;\n\n\tconst steps = getChildrenOfType(children, Step);\n\n\tconst elements = steps.reduce<React.ReactElement[]>((memo, step, i, arr) => {\n\t\tmemo.push(\n\t\t\t<Step\n\t\t\t\tkey={step.key}\n\t\t\t\t{...step.props}\n\t\t\t\ticon={step.props.icon || i + 1}\n\t\t\t\tisActive={activeIndex === i}\n\t\t\t\tisCompleted={step.props.isCompleted || activeIndex > i}\n\t\t\t/>,\n\t\t);\n\n\t\tif (isVertical) {\n\t\t\tmemo.push(\n\t\t\t\t<StepperContent key={`content-${step.key}`} open={activeIndex === i}>\n\t\t\t\t\t{step.props.children}\n\t\t\t\t</StepperContent>,\n\t\t\t);\n\t\t}\n\n\t\tif (i < arr.length - 1) {\n\t\t\tmemo.push(\n\t\t\t\t<StepperSeparator\n\t\t\t\t\tkey={`separator-${step.key}`}\n\t\t\t\t\tisActive={i < activeIndex}\n\t\t\t\t/>,\n\t\t\t);\n\t\t}\n\n\t\treturn memo;\n\t}, []);\n\n\tconst completed = getChildOfType(children, StepperCompleted);\n\n\tconst content =\n\t\tactiveIndex >= steps.length ? (\n\t\t\tcompleted\n\t\t) : !isVertical ? (\n\t\t\t<StepperContent>{steps[activeIndex]?.props?.children}</StepperContent>\n\t\t) : null;\n\n\treturn (\n\t\t<>\n\t\t\t<chakra.div\n\t\t\t\tcss={styles.steps}\n\t\t\t\t{...rest}\n\t\t\t\tclassName={cx(\"stepper__steps\", props.className)}\n\t\t\t>\n\t\t\t\t{elements}\n\t\t\t</chakra.div>\n\t\t\t{content}\n\t\t</>\n\t);\n};\n\nStepperSteps.displayName = \"StepperSteps\";\n\nexport interface StepperContentProps extends HTMLChakraProps<\"div\"> {\n\t/**\n\t * Show or hide the content\n\t */\n\topen?: boolean;\n}\n\n/**\n * Renders the step content, is collapsible.\n */\nexport const StepperContent: React.FC<StepperContentProps> = (props) => {\n\tconst { children, open = true, ...rest } = props;\n\tconst styles = useStyles();\n\n\treturn (\n\t\t<chakra.div\n\t\t\tcss={styles.content}\n\t\t\t{...rest}\n\t\t\tclassName={cx(\"stepper__content\", props.className)}\n\t\t>\n\t\t\t<Collapsible.Root open={open}>\n\t\t\t\t<Collapsible.Content>{children}</Collapsible.Content>\n\t\t\t</Collapsible.Root>\n\t\t</chakra.div>\n\t);\n};\n\nStepperContent.displayName = \"StepperContent\";\n\nexport interface StepperIconProps extends HTMLChakraProps<\"div\"> {\n\ticon: React.ReactNode;\n\tisActive?: boolean;\n\tisCompleted?: boolean;\n}\n\n/**\n * Displays the current step or a completed icon.\n */\nexport const StepperIcon: React.FC<StepperIconProps> = (props) => {\n\tconst { icon, isActive, isCompleted, className, ...rest } = props;\n\n\tconst styles = useStyles();\n\n\tconst content: React.ReactNode = isCompleted ? <Check size={14} /> : icon;\n\n\treturn (\n\t\t<chakra.div\n\t\t\tcss={styles.icon}\n\t\t\t{...rest}\n\t\t\tclassName={cx(\"stepper__icon\", className)}\n\t\t\tdata-active={dataAttr(isActive)}\n\t\t>\n\t\t\t{content}\n\t\t</chakra.div>\n\t);\n};\n\nStepperIcon.displayName = \"StepperIcon\";\n\nexport interface StepperStepProps\n\textends Omit<HTMLChakraProps<\"div\">, \"title\"> {\n\t/**\n\t * The step title\n\t */\n\ttitle: React.ReactNode;\n\t/**\n\t * The step name, used for controlled steppers\n\t */\n\tname?: string;\n\t/**\n\t * Show an icon instead of the step number\n\t */\n\ticon?: React.ReactNode;\n\tisActive?: boolean;\n\tisCompleted?: boolean;\n}\n\n/**\n * Displays the icon and step title.\n */\nexport const StepperStep: React.FC<StepperStepProps> = (props) => {\n\tconst { title, icon, isActive, isCompleted, ...rest } = props;\n\tconst step = useStep(props);\n\tconst styles = useStyles();\n\n\treturn (\n\t\t<chakra.div\n\t\t\t{...rest}\n\t\t\tcss={styles.step}\n\t\t\tdata-active={dataAttr(step.isActive)}\n\t\t\tdata-completed={dataAttr(step.isCompleted)}\n\t\t\taria-current={step.isActive ? \"step\" : undefined}\n\t\t\tclassName={cx(\"stepper__step\", props.className)}\n\t\t>\n\t\t\t<StepperIcon icon={icon} isActive={isActive} isCompleted={isCompleted} />\n\t\t\t{title && <StepperStepTitle>{title}</StepperStepTitle>}\n\t\t</chakra.div>\n\t);\n};\n\nStepperStep.displayName = \"StepperStep\";\n\nexport interface StepperSeparatorProps extends HTMLChakraProps<\"div\"> {\n\tisActive?: boolean;\n}\n\n/**\n * The separator between steps.\n */\nexport const StepperSeparator: React.FC<StepperSeparatorProps> = (props) => {\n\tconst { isActive, ...rest } = props;\n\tconst styles = useStyles();\n\n\treturn (\n\t\t<chakra.div\n\t\t\t{...rest}\n\t\t\tdata-active={dataAttr(isActive)}\n\t\t\tclassName={cx(\"stepper__separator\", props.className)}\n\t\t\tcss={styles.separator}\n\t\t/>\n\t);\n};\n\nStepperSeparator.displayName = \"StepperSeparator\";\n\n/**\n * The step title.\n */\nexport const StepperStepTitle: React.FC<HTMLChakraProps<\"p\">> = (props) => {\n\tconst styles = useStyles();\n\treturn (\n\t\t<chakra.p\n\t\t\t{...props}\n\t\t\tcss={styles.title}\n\t\t\tclassName={cx(\"stepper__title\", props.className)}\n\t\t/>\n\t);\n};\n\nStepperStepTitle.displayName = \"StepperStepTitle\";\n\n/**\n * Shown when all steps have completed.\n */\nexport const StepperCompleted: React.FC<HTMLChakraProps<\"div\">> = (props) => {\n\tconst styles = useStyles();\n\treturn (\n\t\t<chakra.div\n\t\t\tcss={styles.completed}\n\t\t\t{...props}\n\t\t\tclassName={cx(\"stepper__completed\", props.className)}\n\t\t/>\n\t);\n};\n\nStepperCompleted.displayName = \"StepperCompleted\";\n","import { Timeline as ChakraTimeline } from \"@chakra-ui/react\";\n\n// Pass-through exports for full composition\nexport const TimelineRoot = ChakraTimeline.Root;\nTimelineRoot.displayName = \"TimelineRoot\";\n\nexport const TimelineItem = ChakraTimeline.Item;\nTimelineItem.displayName = \"TimelineItem\";\n\nexport const TimelineConnector = ChakraTimeline.Connector;\nTimelineConnector.displayName = \"TimelineConnector\";\n\nexport const TimelineSeparator = ChakraTimeline.Separator;\nTimelineSeparator.displayName = \"TimelineSeparator\";\n\nexport const TimelineIndicator = ChakraTimeline.Indicator;\nTimelineIndicator.displayName = \"TimelineIndicator\";\n\nexport const TimelineContent = ChakraTimeline.Content;\nTimelineContent.displayName = \"TimelineContent\";\n\nexport const TimelineTitle = ChakraTimeline.Title;\nTimelineTitle.displayName = \"TimelineTitle\";\n\nexport const TimelineDescription = ChakraTimeline.Description;\nTimelineDescription.displayName = \"TimelineDescription\";\n\nexport type TimelineRootProps = ChakraTimeline.RootProps;\nexport type TimelineItemProps = ChakraTimeline.ItemProps;\n","import {\n\tTreeView as ChakraTreeView,\n\tcreateTreeCollection,\n} from \"@chakra-ui/react\";\n\nexport { createTreeCollection };\nexport type { TreeCollection } from \"@chakra-ui/react\";\n\n// Pass-through exports for full composition\nexport const TreeViewRoot = ChakraTreeView.Root;\nTreeViewRoot.displayName = \"TreeViewRoot\";\n\nexport const TreeViewTree = ChakraTreeView.Tree;\nTreeViewTree.displayName = \"TreeViewTree\";\n\nexport const TreeViewBranch = ChakraTreeView.Branch;\nTreeViewBranch.displayName = \"TreeViewBranch\";\n\nexport const TreeViewBranchContent = ChakraTreeView.BranchContent;\nTreeViewBranchContent.displayName = \"TreeViewBranchContent\";\n\nexport const TreeViewBranchControl = ChakraTreeView.BranchControl;\nTreeViewBranchControl.displayName = \"TreeViewBranchControl\";\n\nexport const TreeViewBranchTrigger = ChakraTreeView.BranchTrigger;\nTreeViewBranchTrigger.displayName = \"TreeViewBranchTrigger\";\n\nexport const TreeViewBranchText = ChakraTreeView.BranchText;\nTreeViewBranchText.displayName = \"TreeViewBranchText\";\n\nexport const TreeViewBranchIndicator = ChakraTreeView.BranchIndicator;\nTreeViewBranchIndicator.displayName = \"TreeViewBranchIndicator\";\n\nexport const TreeViewItem = ChakraTreeView.Item;\nTreeViewItem.displayName = \"TreeViewItem\";\n\nexport const TreeViewItemText = ChakraTreeView.ItemText;\nTreeViewItemText.displayName = \"TreeViewItemText\";\n\nexport const TreeViewItemIndicator = ChakraTreeView.ItemIndicator;\nTreeViewItemIndicator.displayName = \"TreeViewItemIndicator\";\n\nexport const TreeViewNode = ChakraTreeView.Node;\n(TreeViewNode as { displayName?: string }).displayName = \"TreeViewNode\";\n\nexport const TreeViewLabel = ChakraTreeView.Label;\nTreeViewLabel.displayName = \"TreeViewLabel\";\n\nexport type TreeViewRootProps = ChakraTreeView.RootProps;\nexport type TreeViewBranchProps = ChakraTreeView.BranchProps;\nexport type TreeViewItemProps = ChakraTreeView.ItemProps;\n","import { Box, Card, Flex, Text } from \"@chakra-ui/react\";\nimport type React from \"react\";\n\nexport interface WidgetProps {\n\theading: string;\n\tsubHeading?: string;\n\t/** Icon element (e.g. a lucide-react icon component). */\n\ticon: React.ReactNode;\n\tchildren: React.ReactNode;\n}\n\nexport const Widget: React.FC<WidgetProps> = ({\n\theading,\n\tsubHeading,\n\ticon,\n\tchildren,\n}) => {\n\treturn (\n\t\t<Card.Root height=\"100%\" maxW=\"auto\" overflow=\"hidden\" bg=\"bg-surface\">\n\t\t\t<Card.Body>\n\t\t\t\t<Box marginBlockEnd=\"6\">\n\t\t\t\t\t<Flex justifyContent=\"space-between\" alignItems=\"center\">\n\t\t\t\t\t\t<Text fontWeight=\"semibold\">{heading}</Text>\n\t\t\t\t\t\t<Box color=\"subtle\">{icon}</Box>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{subHeading && (\n\t\t\t\t\t\t<Text fontWeight=\"medium\" fontSize=\"xs\" color=\"muted\">\n\t\t\t\t\t\t\t{subHeading}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</Box>\n\t\t\t\t{children}\n\t\t\t</Card.Body>\n\t\t</Card.Root>\n\t);\n};\nWidget.displayName = \"Widget\";\n"]}
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as _chakra_ui_react from '@chakra-ui/react';
3
3
  import { Accordion, Alert as Alert$1, Breadcrumb, Checkbox as Checkbox$1, IconButtonProps, SpanProps, HoverCard as HoverCard$1, Menu, NativeSelectFieldProps, NativeSelectRootProps, PinInput as PinInput$1, Popover as Popover$1, Progress as Progress$1, ProgressCircle as ProgressCircle$1, HTMLChakraProps, SystemContext, RadioGroup as RadioGroup$1, SegmentGroup, SkeletonProps as SkeletonProps$1, Slider as Slider$1, SpinnerProps as SpinnerProps$1, BadgeProps, Stat, Tooltip as Tooltip$1 } from '@chakra-ui/react';
4
- export { Box, BoxProps, Center, CenterProps, Code, Collapsible, CollapsibleRootProps as CollapsibleProps, Container, ContainerProps, Flex, FlexProps, Grid, GridItem, GridItemProps, GridProps, HStack, Heading, HeadingProps, Link, LinkProps, Separator, SeparatorProps, Spacer, Stack, StackProps, Table, TableRootProps as TableProps, Text, TextProps, Textarea, TextareaProps, VStack } from '@chakra-ui/react';
4
+ export { Badge, BadgeProps, Box, BoxProps, Center, CenterProps, Code, Collapsible, CollapsibleRootProps as CollapsibleProps, Container, ContainerProps, Flex, FlexProps, Grid, GridItem, GridItemProps, GridProps, HStack, Heading, HeadingProps, Link, LinkProps, List, ListRootProps as ListProps, Separator, SeparatorProps, Spacer, Stack, StackProps, Table, TableRootProps as TableProps, Tabs, TabsRootProps as TabsProps, Text, TextProps, Textarea, TextareaProps, VStack } from '@chakra-ui/react';
5
5
  import * as React from 'react';
6
6
  import React__default from 'react';
7
7
  export { A as Avatar, a as AvatarGroup, b as AvatarProps } from '../avatar-DhqkKdqc.js';
@@ -5,7 +5,7 @@ export { MenuArrow, MenuCheckboxItem, MenuContent, MenuContextTrigger, MenuItem,
5
5
  export { LeavePageConfirmation, NativeSelect, NumberInputField, NumberInputLabel, NumberInputRoot, NumberInputScrubber, Popover, PopoverBody, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverFooter, PopoverHeader, PopoverTitle, PopoverTrigger, Radio, RadioGroup } from '../chunk-C4JI3JNA.js';
6
6
  export { Switch } from '../chunk-RJPEVNMJ.js';
7
7
  import { Accordion, Breadcrumb, Checkbox as Checkbox$1, Stat, createToaster, Portal, Toaster as Toaster$1, Toast, Spinner, Stack, Alert as Alert$1, ClientOnly, IconButton, Skeleton, Span, HoverCard as HoverCard$1, PinInput as PinInput$1, Progress as Progress$1, ProgressCircle as ProgressCircle$1, ChakraProvider, SegmentGroup, Slider as Slider$1, Popover, FormatNumber, Badge } from '@chakra-ui/react';
8
- export { Collapsible, Separator, Table, Textarea } from '@chakra-ui/react';
8
+ export { Badge, Collapsible, List, Separator, Table, Tabs, Textarea } from '@chakra-ui/react';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
10
10
  import { Moon, Sun, Info } from 'lucide-react';
11
11
  import { ThemeProvider, useTheme } from 'next-themes';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/primitives/accordion.tsx","../../src/primitives/alert.tsx","../../src/primitives/breadcrumb.tsx","../../src/primitives/checkbox.tsx","../../src/primitives/color-mode.tsx","../../src/primitives/hover-card.tsx","../../src/primitives/pin-input.tsx","../../src/primitives/progress.tsx","../../src/primitives/provider.tsx","../../src/primitives/segmented-control.tsx","../../src/primitives/slider.tsx","../../src/primitives/toggle-tip.tsx","../../src/primitives/stat.tsx","../../src/primitives/toaster.tsx"],"names":["AccordionItem","ChakraAccordion","Alert","jsxs","ChakraAlert","jsx","ChakraBreadcrumb","Checkbox","ChakraCheckbox","ColorModeButton","Skeleton","LightMode","DarkMode","HoverCard","ChakraHoverCard","PinInput","ChakraPinInput","Progress","ChakraProgress","ProgressCircle","ChakraProgressCircle","SegmentedControl","ChakraSegmentGroup","Slider","ChakraSlider","ToggleTip","ChakraPopover","Portal","InfoTip","IconButton","StatLabel","ChakraStat","StatValueText","StatUpTrend","StatDownTrend","toaster","ChakraToaster","Spinner","Stack"],"mappings":";;;;;;;;;;;;AAUO,IAAM,aAAA,GAAgB,SAASA,cAAAA,CAAc;AAAA,EACnD,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAA6D;AAC5D,EAAA,MAAM,EAAE,KAAA,EAAO,QAAA,EAAU,GAAG,MAAK,GAAI,KAAA;AACrC,EAAA,4BACEC,SAAA,CAAgB,IAAA,EAAhB,EAAqB,GAAA,EAAW,GAAG,IAAA,EACnC,QAAA,EAAA;AAAA,oBAAA,IAAA,CAACA,SAAA,CAAgB,aAAhB,EACC,QAAA,EAAA;AAAA,MAAA,KAAA;AAAA,sBACD,GAAA,CAACA,SAAA,CAAgB,aAAA,EAAhB,EAA8B;AAAA,KAAA,EAChC,CAAA;AAAA,oBACA,GAAA,CAACA,UAAgB,WAAA,EAAhB,EACA,8BAACA,SAAA,CAAgB,QAAA,EAAhB,EAA0B,QAAA,EAAS,CAAA,EACrC;AAAA,GAAA,EACD,CAAA;AAEF;AACA,aAAA,CAAc,WAAA,GAAc,eAAA;AAGrB,IAAM,gBAAgBA,SAAA,CAAgB;AAC7C,aAAA,CAAc,WAAA,GAAc,eAAA;ACrBrB,IAAM,KAAA,GAAQ,SAASC,MAAAA,CAAM;AAAA,EACnC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAqD;AACpD,EAAA,MAAM,EAAE,OAAO,QAAA,EAAU,IAAA,EAAM,cAAc,UAAA,EAAY,GAAG,MAAK,GAAI,KAAA;AACrE,EAAA,uBACCC,IAAAA,CAACC,OAAA,CAAY,MAAZ,EAAiB,GAAA,EAAW,GAAG,IAAA,EAC9B,QAAA,EAAA;AAAA,IAAA,YAAA,oBAAgBC,GAAAA,CAACD,OAAA,CAAY,SAAA,EAAZ,EAAuB,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,IAC7C,QAAA,mBACAD,IAAAA,CAACC,OAAA,CAAY,SAAZ,EACA,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAACD,OAAA,CAAY,KAAA,EAAZ,EAAmB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,sBAC1BC,GAAAA,CAACD,OAAA,CAAY,WAAA,EAAZ,EAAyB,QAAA,EAAS;AAAA,KAAA,EACpC,CAAA,mBAEAC,GAAAA,CAACD,OAAA,CAAY,OAAZ,EAAkB,IAAA,EAAK,KAAK,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IAEnC;AAAA,GAAA,EACF,CAAA;AAEF;AACA,KAAA,CAAM,WAAA,GAAc,OAAA;AC3Bb,IAAM,iBAAiBE,UAAA,CAAiB;AAC/C,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,iBAAiBA,UAAA,CAAiB;AAC/C,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,iBAAiBA,UAAA,CAAiB;AAC/C,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,iBAAiBA,UAAA,CAAiB;AAC/C,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,wBAAwBA,UAAA,CAAiB;AACtD,qBAAA,CAAsB,WAAA,GAAc,uBAAA;AAE7B,IAAM,sBAAsBA,UAAA,CAAiB;AACpD,mBAAA,CAAoB,WAAA,GAAc,qBAAA;AAE3B,IAAM,qBAAqBA,UAAA,CAAiB;AACnD,kBAAA,CAAmB,WAAA,GAAc,oBAAA;ACV1B,IAAM,QAAA,GAAW,SAASC,SAAAA,CAAS;AAAA,EACzC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAA0D;AACzD,EAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAY,OAAA,EAAS,GAAG,MAAK,GAAI,KAAA;AACnD,EAAA,uBACCJ,KAACK,UAAA,CAAe,IAAA,EAAf,EAAoB,GAAA,EAAK,OAAA,EAAU,GAAG,IAAA,EACtC,QAAA,EAAA;AAAA,oBAAAH,IAACG,UAAA,CAAe,WAAA,EAAf,EAA2B,GAAA,EAAW,GAAG,UAAA,EAAY,CAAA;AAAA,oBACtDH,GAAAA,CAACG,UAAA,CAAe,OAAA,EAAf,EACA,0BAAAH,GAAAA,CAACG,UAAA,CAAe,SAAA,EAAf,EAAyB,CAAA,EAC3B,CAAA;AAAA,IACC,YAAY,IAAA,oBACZH,IAACG,UAAA,CAAe,KAAA,EAAf,EAAsB,QAAA,EAAS;AAAA,GAAA,EAElC,CAAA;AAEF;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;AAEhB,IAAM,gBAAgBA,UAAA,CAAe;AAC5C,aAAA,CAAc,WAAA,GAAc,eAAA;ACvBrB,SAAS,kBAAkB,KAAA,EAA+B;AAChE,EAAA,uBACCH,IAAC,aAAA,EAAA,EAAc,SAAA,EAAU,SAAQ,yBAAA,EAAyB,IAAA,EAAE,GAAG,KAAA,EAAO,CAAA;AAExE;AACA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;AAUzB,SAAS,YAAA,GAAmC;AAClD,EAAA,MAAM,EAAE,aAAA,EAAe,QAAA,EAAU,WAAA,KAAgB,QAAA,EAAS;AAC1D,EAAA,MAAM,YAAY,WAAA,IAAe,aAAA;AACjC,EAAA,MAAM,kBAAkB,MAAM;AAC7B,IAAA,QAAA,CAAS,aAAA,KAAkB,MAAA,GAAS,OAAA,GAAU,MAAM,CAAA;AAAA,EACrD,CAAA;AACA,EAAA,OAAO;AAAA,IACN,SAAA;AAAA,IACA,YAAA,EAAc,QAAA;AAAA,IACd;AAAA,GACD;AACD;AAEO,SAAS,iBAAA,CAAqB,OAAU,IAAA,EAAS;AACvD,EAAA,MAAM,EAAE,SAAA,EAAU,GAAI,YAAA,EAAa;AACnC,EAAA,OAAO,SAAA,KAAc,SAAS,IAAA,GAAO,KAAA;AACtC;AAEO,SAAS,aAAA,GAAgB;AAC/B,EAAA,MAAM,EAAE,SAAA,EAAU,GAAI,YAAA,EAAa;AACnC,EAAA,OAAO,SAAA,KAAc,yBAASA,GAAAA,CAAC,QAAK,CAAA,mBAAKA,IAAC,GAAA,EAAA,EAAI,CAAA;AAC/C;AACA,aAAA,CAAc,WAAA,GAAc,eAAA;AAOrB,IAAM,eAAA,GAAkB,SAASI,gBAAAA,CAAgB;AAAA,EACvD,GAAA;AAAA,EACA,KAAA,GAAQ,mBAAA;AAAA,EACR,GAAG;AACJ,CAAA,EAAkE;AACjE,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,YAAA,EAAa;AACzC,EAAA,uBACCJ,GAAAA,CAAC,UAAA,EAAA,EAAW,QAAA,kBAAUA,GAAAA,CAACK,QAAAA,EAAA,EAAS,OAAA,EAAQ,GAAA,EAAI,CAAA,EAC3C,QAAA,kBAAAL,GAAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACA,OAAA,EAAS,eAAA;AAAA,MACT,OAAA,EAAQ,OAAA;AAAA,MACR,YAAA,EAAY,KAAA;AAAA,MACZ,IAAA,EAAK,IAAA;AAAA,MACL,GAAA;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,GAAA,EAAK;AAAA,QACJ,KAAA,EAAO;AAAA,UACN,KAAA,EAAO,GAAA;AAAA,UACP,MAAA,EAAQ;AAAA;AACT,OACD;AAAA,MAEA,QAAA,kBAAAA,IAAC,aAAA,EAAA,EAAc;AAAA;AAAA,GAChB,EACD,CAAA;AAEF;AACA,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAEvB,IAAM,SAAA,GAAY,SAASM,UAAAA,CAAU;AAAA,EAC3C,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAqD;AACpD,EAAA,uBACCN,GAAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAM,IAAA;AAAA,MACN,OAAA,EAAQ,UAAA;AAAA,MACR,SAAA,EAAU,oBAAA;AAAA,MACV,YAAA,EAAa,MAAA;AAAA,MACb,YAAA,EAAW,OAAA;AAAA,MACX,GAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACL;AAEF;AACA,SAAA,CAAU,WAAA,GAAc,WAAA;AAEjB,IAAM,QAAA,GAAW,SAASO,SAAAA,CAAS;AAAA,EACzC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAqD;AACpD,EAAA,uBACCP,GAAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAM,IAAA;AAAA,MACN,OAAA,EAAQ,UAAA;AAAA,MACR,SAAA,EAAU,mBAAA;AAAA,MACV,YAAA,EAAa,MAAA;AAAA,MACb,YAAA,EAAW,MAAA;AAAA,MACX,GAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACL;AAEF;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;ACpGhB,IAAM,SAAA,GAAY,SAASQ,UAAAA,CAAU,KAAA,EAAuB;AAClE,EAAA,MAAM;AAAA,IACL,OAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA,GAAY,IAAA;AAAA,IACZ,SAAA;AAAA,IACA,YAAA;AAAA,IACA,GAAG;AAAA,GACJ,GAAI,KAAA;AACJ,EAAA,uBACCV,IAAAA,CAACW,WAAA,CAAgB,IAAA,EAAhB,EAAsB,GAAG,IAAA,EACzB,QAAA,EAAA;AAAA,oBAAAT,IAACS,WAAA,CAAgB,OAAA,EAAhB,EAAwB,OAAA,EAAO,MAAE,QAAA,EAAS,CAAA;AAAA,oBAC3CT,GAAAA,CAAC,MAAA,EAAA,EAAO,UAAU,CAAC,SAAA,EAAW,WAAW,SAAA,EACxC,QAAA,kBAAAA,IAACS,WAAA,CAAgB,UAAA,EAAhB,EACA,QAAA,kBAAAX,IAAAA,CAACW,YAAgB,OAAA,EAAhB,EAAyB,GAAG,YAAA,EAC3B,QAAA,EAAA;AAAA,MAAA,SAAA,oBACAT,GAAAA,CAACS,WAAA,CAAgB,KAAA,EAAhB,EACA,0BAAAT,GAAAA,CAACS,WAAA,CAAgB,QAAA,EAAhB,EAAyB,CAAA,EAC3B,CAAA;AAAA,MAEA;AAAA,KAAA,EACF,GACD,CAAA,EACD;AAAA,GAAA,EACD,CAAA;AAEF;AACA,SAAA,CAAU,WAAA,GAAc,WAAA;ACnCjB,IAAM,QAAA,GAAW,SAASC,SAAAA,CAAS;AAAA,EACzC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAwD;AACvD,EAAA,MAAM,EAAE,MAAA,GAAS,CAAA,EAAG,GAAG,MAAK,GAAI,KAAA;AAChC,EAAA,uBACCZ,IAAAA,CAACa,UAAA,CAAe,MAAf,EAAoB,GAAA,EAAW,GAAG,IAAA,EAClC,QAAA,EAAA;AAAA,oBAAAX,GAAAA,CAACW,UAAA,CAAe,WAAA,EAAf,EAA2B,CAAA;AAAA,oBAC5BX,GAAAA,CAACW,UAAA,CAAe,OAAA,EAAf,EACC,QAAA,EAAA,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,EAAG,CAAA;AAAA;AAAA,sBAE/BX,GAAAA,CAACW,UAAA,CAAe,OAAf,EAA6B,KAAA,EAAO,KAAV,CAAa;AAAA,KACxC,CAAA,EACF;AAAA,GAAA,EACD,CAAA;AAEF;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;ACbhB,IAAM,QAAA,GAAW,SAASC,SAAAA,CAAS;AAAA,EACzC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAwD;AACvD,EAAA,MAAM,EAAE,SAAA,EAAW,KAAA,EAAO,GAAG,MAAK,GAAI,KAAA;AACtC,EAAA,uBACCd,IAAAA,CAACe,UAAA,CAAe,MAAf,EAAoB,GAAA,EAAW,GAAG,IAAA,EAChC,QAAA,EAAA;AAAA,IAAA,CAAA,KAAA,IAAS,SAAA,qBACVf,IAAAA,CAACe,UAAA,CAAe,OAAf,EACC,QAAA,EAAA;AAAA,MAAA,KAAA;AAAA,MACA,SAAA,oBAAab,GAAAA,CAACa,UAAA,CAAe,WAAf,EAAyB;AAAA,KAAA,EACzC,CAAA;AAAA,oBAEDb,GAAAA,CAACa,UAAA,CAAe,KAAA,EAAf,EACA,0BAAAb,GAAAA,CAACa,UAAA,CAAe,KAAA,EAAf,EAAqB,CAAA,EACvB;AAAA,GAAA,EACD,CAAA;AAEF;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;AAOhB,IAAM,cAAA,GAAiB,SAASC,eAAAA,CAAe;AAAA,EACrD,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAA8D;AAC7D,EAAA,MAAM,EAAE,SAAA,EAAW,QAAA,EAAU,GAAG,MAAK,GAAI,KAAA;AACzC,EAAA,uBACChB,IAAAA,CAACiB,gBAAA,CAAqB,MAArB,EAA0B,GAAA,EAAW,GAAG,IAAA,EACxC,QAAA,EAAA;AAAA,oBAAAjB,IAAAA,CAACiB,gBAAA,CAAqB,MAAA,EAArB,EACA,QAAA,EAAA;AAAA,sBAAAf,GAAAA,CAACe,gBAAA,CAAqB,KAAA,EAArB,EAA2B,CAAA;AAAA,sBAC5Bf,GAAAA,CAACe,gBAAA,CAAqB,KAAA,EAArB,EAA2B;AAAA,KAAA,EAC7B,CAAA;AAAA,IACC,SAAA,oBAAaf,GAAAA,CAACe,gBAAA,CAAqB,WAArB,EAA+B,CAAA;AAAA,IAC7C;AAAA,GAAA,EACF,CAAA;AAEF;AACA,cAAA,CAAe,WAAA,GAAc,gBAAA;AC7CtB,SAAS,QAAA,CAAS,EAAE,MAAA,EAAQ,GAAG,OAAM,EAAkB;AAC7D,EAAA,uBACCf,GAAAA,CAAC,cAAA,EAAA,EAAe,KAAA,EAAO,MAAA,IAAU,aAAA,EAChC,QAAA,kBAAAA,GAAAA,CAAC,iBAAA,EAAA,EAAmB,GAAG,KAAA,EAAO,CAAA,EAC/B,CAAA;AAEF;AACA,QAAA,CAAS,WAAA,GAAc,UAAA;ACFhB,IAAM,gBAAA,GAAmB,SAASgB,iBAAAA,CAAiB;AAAA,EACzD,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAgE;AAC/D,EAAA,MAAM,EAAE,KAAA,EAAO,GAAG,IAAA,EAAK,GAAI,KAAA;AAC3B,EAAA,uBACClB,IAAAA,CAACmB,YAAA,CAAmB,MAAnB,EAAwB,GAAA,EAAW,GAAG,IAAA,EACtC,QAAA,EAAA;AAAA,oBAAAjB,GAAAA,CAACiB,YAAA,CAAmB,SAAA,EAAnB,EAA6B,CAAA;AAAA,IAC7B,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS;AACpB,MAAA,MAAM,KAAA,GAAQ,OAAO,IAAA,KAAS,QAAA,GAAW,OAAO,IAAA,CAAK,KAAA;AACrD,MAAA,MAAM,KAAA,GAAQ,OAAO,IAAA,KAAS,QAAA,GAAW,OAAO,IAAA,CAAK,KAAA;AACrD,MAAA,MAAM,QAAA,GAAW,OAAO,IAAA,KAAS,QAAA,GAAW,QAAQ,IAAA,CAAK,QAAA;AACzD,MAAA,uBACCnB,IAAAA;AAAA,QAACmB,YAAA,CAAmB,IAAA;AAAA,QAAnB;AAAA,UAEA,KAAA;AAAA,UACA,QAAA;AAAA,UAEA,QAAA,EAAA;AAAA,4BAAAjB,GAAAA,CAACiB,YAAA,CAAmB,QAAA,EAAnB,EAA6B,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,4BACpCjB,GAAAA,CAACiB,YAAA,CAAmB,eAAA,EAAnB,EAAmC;AAAA;AAAA,SAAA;AAAA,QAL/B;AAAA,OAMN;AAAA,IAEF,CAAC;AAAA,GAAA,EACF,CAAA;AAEF;AACA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;AC7BxB,IAAM,MAAA,GAAS,SAASC,OAAAA,CAAO;AAAA,EACrC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAsD;AACrD,EAAA,MAAM,EAAE,SAAA,EAAW,KAAA,EAAO,KAAA,EAAO,GAAG,MAAK,GAAI,KAAA;AAC7C,EAAA,uBACCpB,IAAAA,CAACqB,QAAA,CAAa,MAAb,EAAkB,GAAA,EAAW,GAAG,IAAA,EAC9B,QAAA,EAAA;AAAA,IAAA,CAAA,KAAA,IAAS,SAAA,qBACVrB,IAAAA,CAACqB,QAAA,CAAa,OAAb,EACC,QAAA,EAAA;AAAA,MAAA,KAAA;AAAA,MACA,SAAA,oBAAanB,GAAAA,CAACmB,QAAA,CAAa,WAAb,EAAuB;AAAA,KAAA,EACvC,CAAA;AAAA,oBAEDrB,IAAAA,CAACqB,QAAA,CAAa,OAAA,EAAb,EACA,QAAA,EAAA;AAAA,sBAAAnB,GAAAA,CAACmB,SAAa,KAAA,EAAb,EACA,0BAAAnB,GAAAA,CAACmB,QAAA,CAAa,KAAA,EAAb,EAAmB,CAAA,EACrB,CAAA;AAAA,sBACAnB,GAAAA,CAACmB,QAAA,CAAa,MAAA,EAAb,EAAoB;AAAA,KAAA,EACtB,CAAA;AAAA,IACC,yBAASnB,GAAAA,CAACmB,QAAA,CAAa,KAAA,EAAb,EAAmB,KAAA,EAAc;AAAA,GAAA,EAC7C,CAAA;AAEF;AACA,MAAA,CAAO,WAAA,GAAc,QAAA;AClBd,IAAM,SAAA,GAAY,SAASC,UAAAA,CAAU;AAAA,EAC3C,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAyD;AACxD,EAAA,MAAM;AAAA,IACL,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA,GAAY,IAAA;AAAA,IACZ,OAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAG;AAAA,GACJ,GAAI,KAAA;AAEJ,EAAA,uBACCtB,IAAAA;AAAA,IAACuB,OAAA,CAAc,IAAA;AAAA,IAAd;AAAA,MACC,GAAG,IAAA;AAAA,MACJ,aAAa,EAAE,GAAG,IAAA,CAAK,WAAA,EAAa,QAAQ,CAAA,EAAE;AAAA,MAE9C,QAAA,EAAA;AAAA,wBAAArB,IAACqB,OAAA,CAAc,OAAA,EAAd,EAAsB,OAAA,EAAO,MAAE,QAAA,EAAS,CAAA;AAAA,wBACzCrB,GAAAA,CAACsB,MAAAA,EAAA,EAAO,UAAU,CAAC,SAAA,EAAW,SAAA,EAAW,SAAA,EACxC,QAAA,kBAAAtB,GAAAA,CAACqB,OAAA,CAAc,UAAA,EAAd,EACA,QAAA,kBAAAvB,IAAAA;AAAA,UAACuB,OAAA,CAAc,OAAA;AAAA,UAAd;AAAA,YACA,KAAA,EAAM,MAAA;AAAA,YACN,EAAA,EAAG,GAAA;AAAA,YACH,EAAA,EAAG,GAAA;AAAA,YACH,SAAA,EAAU,IAAA;AAAA,YACV,OAAA,EAAQ,IAAA;AAAA,YACR,GAAA;AAAA,YACC,GAAG,YAAA;AAAA,YAEH,QAAA,EAAA;AAAA,cAAA,SAAA,oBACArB,GAAAA,CAACqB,OAAA,CAAc,KAAA,EAAd,EACA,0BAAArB,GAAAA,CAACqB,OAAA,CAAc,QAAA,EAAd,EAAuB,CAAA,EACzB,CAAA;AAAA,cAEA;AAAA;AAAA;AAAA,WAEH,CAAA,EACD;AAAA;AAAA;AAAA,GACD;AAEF;AACA,SAAA,CAAU,WAAA,GAAc,WAAA;AAQjB,IAAM,OAAA,GAAU,SAASE,QAAAA,CAAQ;AAAA,EACvC,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAuD;AACtD,EAAA,MAAM,EAAE,QAAA,EAAU,WAAA,EAAa,QAAQ,MAAA,EAAQ,GAAG,MAAK,GAAI,KAAA;AAC3D,EAAA,uBACCvB,IAAC,SAAA,EAAA,EAAU,OAAA,EAAS,UAAW,GAAG,IAAA,EAAM,KACvC,QAAA,kBAAAA,GAAAA;AAAA,IAACwB,UAAAA;AAAA,IAAA;AAAA,MACA,OAAA,EAAQ,OAAA;AAAA,MACR,YAAA,EAAY,KAAA;AAAA,MACZ,IAAA,EAAK,KAAA;AAAA,MACL,YAAA,EAAa,MAAA;AAAA,MACb,QAAA,EAAS,MAAA;AAAA,MACT,SAAA,EAAU,MAAA;AAAA,MACT,GAAG,WAAA;AAAA,MAEJ,QAAA,kBAAAxB,IAAC,IAAA,EAAA,EAAK;AAAA;AAAA,GACP,EACD,CAAA;AAEF;AACA,OAAA,CAAQ,WAAA,GAAc,SAAA;AC5Ef,IAAM,SAAA,GAAY,SAASyB,UAAAA,CAAU;AAAA,EAC3C,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAyD;AACxD,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,GAAG,MAAK,GAAI,KAAA;AACpC,EAAA,uBACC3B,IAAAA,CAAC4B,IAAA,CAAW,OAAX,EAAkB,GAAG,MAAM,GAAA,EAC1B,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,IAAA,oBAAQ1B,GAAAA,CAAC,OAAA,EAAA,EAAS,QAAA,EAAA,IAAA,EAAK;AAAA,GAAA,EACzB,CAAA;AAEF;AACA,SAAA,CAAU,WAAA,GAAc,WAAA;AAOjB,IAAM,aAAA,GAAgB,SAAS2B,cAAAA,CAAc;AAAA,EACnD,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAA6D;AAC5D,EAAA,MAAM,EAAE,KAAA,EAAO,aAAA,EAAe,QAAA,EAAU,GAAG,MAAK,GAAI,KAAA;AACpD,EAAA,uBACC3B,GAAAA,CAAC0B,IAAA,CAAW,SAAA,EAAX,EAAsB,GAAG,IAAA,EAAM,GAAA,EAC9B,QAAA,EAAA,QAAA,IACC,KAAA,IAAS,wBAAQ1B,GAAAA,CAAC,gBAAa,KAAA,EAAe,GAAG,eAAe,CAAA,EACnE,CAAA;AAEF;AACA,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,IAAM,WAAA,GAAc,SAAS4B,YAAAA,CAAY;AAAA,EAC/C,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAqD;AACpD,EAAA,uBACC9B,KAAC,KAAA,EAAA,EAAM,YAAA,EAAa,SAAQ,GAAA,EAAI,GAAA,EAAK,GAAG,KAAA,EAAO,GAAA,EAC9C,QAAA,EAAA;AAAA,oBAAAE,GAAAA,CAAC0B,IAAA,CAAW,WAAA,EAAX,EAAuB,CAAA;AAAA,IACvB,KAAA,CAAM;AAAA,GAAA,EACR,CAAA;AAEF;AACA,WAAA,CAAY,WAAA,GAAc,aAAA;AAEnB,IAAM,aAAA,GAAgB,SAASG,cAAAA,CAAc;AAAA,EACnD,GAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAqD;AACpD,EAAA,uBACC/B,KAAC,KAAA,EAAA,EAAM,YAAA,EAAa,OAAM,GAAA,EAAI,GAAA,EAAK,GAAG,KAAA,EAAO,GAAA,EAC5C,QAAA,EAAA;AAAA,oBAAAE,GAAAA,CAAC0B,IAAA,CAAW,aAAA,EAAX,EAAyB,CAAA;AAAA,IACzB,KAAA,CAAM;AAAA,GAAA,EACR,CAAA;AAEF;AACA,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,IAAM,WAAWA,IAAA,CAAW;AACnC,QAAA,CAAS,WAAA,GAAc,UAAA;AAChB,IAAM,eAAeA,IAAA,CAAW;AACvC,YAAA,CAAa,WAAA,GAAc,cAAA;AACpB,IAAM,gBAAgBA,IAAA,CAAW;AACxC,aAAA,CAAc,WAAA,GAAc,eAAA;ACzDrB,SAAS,kBAAA,CAAmB,OAAA,GAAgC,EAAC,EAAG;AACtE,EAAA,MAAM,EAAE,SAAA,GAAY,YAAA,EAAc,eAAA,GAAkB,MAAK,GAAI,OAAA;AAE7D,EAAA,MAAMI,WAAU,aAAA,CAAc;AAAA,IAC7B,SAAA;AAAA,IACA;AAAA,GACA,CAAA;AAED,EAAA,MAAM,mBAAmB,MAAM;AAC9B,IAAA,uBACC9B,GAAAA,CAACsB,MAAAA,EAAA,EACA,QAAA,kBAAAtB,IAAC+B,SAAA,EAAA,EAAc,OAAA,EAASD,QAAAA,EAAS,WAAA,EAAa,EAAE,MAAA,EAAQ,KAAI,EAC1D,QAAA,EAAA,CAAC,KAAA,qBACDhC,IAAAA,CAAC,KAAA,CAAM,IAAA,EAAN,EAAW,KAAA,EAAO,EAAE,EAAA,EAAI,IAAA,EAAK,EAC5B,QAAA,EAAA;AAAA,MAAA,KAAA,CAAM,IAAA,KAAS,SAAA,mBACfE,GAAAA,CAACgC,SAAA,EAAQ,IAAA,EAAK,IAAA,EAAK,KAAA,EAAM,UAAS,CAAA,mBAElChC,GAAAA,CAAC,KAAA,CAAM,WAAN,EAAgB,CAAA;AAAA,sBAElBF,KAACmC,KAAAA,EAAA,EAAM,KAAI,GAAA,EAAI,IAAA,EAAK,GAAA,EAAI,QAAA,EAAS,MAAA,EAC/B,QAAA,EAAA;AAAA,QAAA,KAAA,CAAM,yBAASjC,GAAAA,CAAC,MAAM,KAAA,EAAN,EAAa,gBAAM,KAAA,EAAM,CAAA;AAAA,QACzC,KAAA,CAAM,+BACNA,GAAAA,CAAC,MAAM,WAAA,EAAN,EAAmB,gBAAM,WAAA,EAAY;AAAA,OAAA,EAExC,CAAA;AAAA,MACC,KAAA,CAAM,0BACNA,GAAAA,CAAC,MAAM,aAAA,EAAN,EAAqB,QAAA,EAAA,KAAA,CAAM,MAAA,CAAO,KAAA,EAAM,CAAA;AAAA,MAEzC,MAAM,QAAA,oBAAYA,GAAAA,CAAC,KAAA,CAAM,cAAN,EAAmB;AAAA,KAAA,EACxC,GAEF,CAAA,EACD,CAAA;AAAA,EAEF,CAAA;AAEA,EAAA,OAAO,EAAE,OAAA,EAAA8B,QAAAA,EAAS,OAAA,EAAS,gBAAA,EAAiB;AAC7C;AAGA,IAAM,EAAE,OAAA,EAAS,OAAA,EAAQ,GAAI,kBAAA;AAE5B,OAAA,CAAqC,WAAA,GAAc,SAAA","file":"index.js","sourcesContent":["import { Accordion as ChakraAccordion } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface AccordionItemProps extends ChakraAccordion.ItemProps {\n\t/** The trigger label shown in the accordion header. */\n\tlabel: React.ReactNode;\n\t/** Content revealed when the item is expanded. */\n\tchildren: React.ReactNode;\n}\n\nexport const AccordionItem = function AccordionItem({\n\tref,\n\t...props\n}: AccordionItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { label, children, ...rest } = props;\n\treturn (\n\t\t<ChakraAccordion.Item ref={ref} {...rest}>\n\t\t\t<ChakraAccordion.ItemTrigger>\n\t\t\t\t{label}\n\t\t\t\t<ChakraAccordion.ItemIndicator />\n\t\t\t</ChakraAccordion.ItemTrigger>\n\t\t\t<ChakraAccordion.ItemContent>\n\t\t\t\t<ChakraAccordion.ItemBody>{children}</ChakraAccordion.ItemBody>\n\t\t\t</ChakraAccordion.ItemContent>\n\t\t</ChakraAccordion.Item>\n\t);\n};\nAccordionItem.displayName = \"AccordionItem\";\n\n// Pass-through exports for composition\nexport const AccordionRoot = ChakraAccordion.Root;\nAccordionRoot.displayName = \"AccordionRoot\";\n\nexport type AccordionRootProps = ChakraAccordion.RootProps;\n","import { Alert as ChakraAlert } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface AlertProps extends Omit<ChakraAlert.RootProps, \"title\"> {\n\tstartElement?: React.ReactNode;\n\tendElement?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\ticon?: React.ReactElement;\n}\n\nexport const Alert = function Alert({\n\tref,\n\t...props\n}: AlertProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { title, children, icon, startElement, endElement, ...rest } = props;\n\treturn (\n\t\t<ChakraAlert.Root ref={ref} {...rest}>\n\t\t\t{startElement || <ChakraAlert.Indicator>{icon}</ChakraAlert.Indicator>}\n\t\t\t{children ? (\n\t\t\t\t<ChakraAlert.Content>\n\t\t\t\t\t<ChakraAlert.Title>{title}</ChakraAlert.Title>\n\t\t\t\t\t<ChakraAlert.Description>{children}</ChakraAlert.Description>\n\t\t\t\t</ChakraAlert.Content>\n\t\t\t) : (\n\t\t\t\t<ChakraAlert.Title flex=\"1\">{title}</ChakraAlert.Title>\n\t\t\t)}\n\t\t\t{endElement}\n\t\t</ChakraAlert.Root>\n\t);\n};\nAlert.displayName = \"Alert\";\n","import { Breadcrumb as ChakraBreadcrumb } from \"@chakra-ui/react\";\n\n// Pass-through exports with stable API\nexport const BreadcrumbRoot = ChakraBreadcrumb.Root;\nBreadcrumbRoot.displayName = \"BreadcrumbRoot\";\n\nexport const BreadcrumbList = ChakraBreadcrumb.List;\nBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport const BreadcrumbItem = ChakraBreadcrumb.Item;\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\n\nexport const BreadcrumbLink = ChakraBreadcrumb.Link;\nBreadcrumbLink.displayName = \"BreadcrumbLink\";\n\nexport const BreadcrumbCurrentLink = ChakraBreadcrumb.CurrentLink;\nBreadcrumbCurrentLink.displayName = \"BreadcrumbCurrentLink\";\n\nexport const BreadcrumbSeparator = ChakraBreadcrumb.Separator;\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\";\n\nexport const BreadcrumbEllipsis = ChakraBreadcrumb.Ellipsis;\nBreadcrumbEllipsis.displayName = \"BreadcrumbEllipsis\";\n\nexport type BreadcrumbRootProps = ChakraBreadcrumb.RootProps;\nexport type BreadcrumbLinkProps = ChakraBreadcrumb.LinkProps;\n","import { Checkbox as ChakraCheckbox } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface CheckboxProps extends ChakraCheckbox.RootProps {\n\t/** Checkbox label text or content. */\n\tchildren?: React.ReactNode;\n\t/** Additional props forwarded to the hidden input element. */\n\tinputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n\t/** Ref attached to the root element. */\n\trootRef?: React.RefObject<HTMLLabelElement | null>;\n}\n\nexport const Checkbox = function Checkbox({\n\tref,\n\t...props\n}: CheckboxProps & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst { children, inputProps, rootRef, ...rest } = props;\n\treturn (\n\t\t<ChakraCheckbox.Root ref={rootRef} {...rest}>\n\t\t\t<ChakraCheckbox.HiddenInput ref={ref} {...inputProps} />\n\t\t\t<ChakraCheckbox.Control>\n\t\t\t\t<ChakraCheckbox.Indicator />\n\t\t\t</ChakraCheckbox.Control>\n\t\t\t{children != null && (\n\t\t\t\t<ChakraCheckbox.Label>{children}</ChakraCheckbox.Label>\n\t\t\t)}\n\t\t</ChakraCheckbox.Root>\n\t);\n};\nCheckbox.displayName = \"Checkbox\";\n\nexport const CheckboxGroup = ChakraCheckbox.Group;\nCheckboxGroup.displayName = \"CheckboxGroup\";\n","import type { IconButtonProps, SpanProps } from \"@chakra-ui/react\";\nimport { ClientOnly, IconButton, Skeleton, Span } from \"@chakra-ui/react\";\nimport { Moon, Sun } from \"lucide-react\";\nimport type { ThemeProviderProps } from \"next-themes\";\nimport { ThemeProvider, useTheme } from \"next-themes\";\nimport type * as React from \"react\";\n\nexport interface ColorModeProviderProps extends ThemeProviderProps {}\n\nexport function ColorModeProvider(props: ColorModeProviderProps) {\n\treturn (\n\t\t<ThemeProvider attribute=\"class\" disableTransitionOnChange {...props} />\n\t);\n}\nColorModeProvider.displayName = \"ColorModeProvider\";\n\nexport type ColorMode = \"light\" | \"dark\";\n\nexport interface UseColorModeReturn {\n\tcolorMode: ColorMode;\n\tsetColorMode: (colorMode: ColorMode) => void;\n\ttoggleColorMode: () => void;\n}\n\nexport function useColorMode(): UseColorModeReturn {\n\tconst { resolvedTheme, setTheme, forcedTheme } = useTheme();\n\tconst colorMode = forcedTheme || resolvedTheme;\n\tconst toggleColorMode = () => {\n\t\tsetTheme(resolvedTheme === \"dark\" ? \"light\" : \"dark\");\n\t};\n\treturn {\n\t\tcolorMode: colorMode as ColorMode,\n\t\tsetColorMode: setTheme,\n\t\ttoggleColorMode,\n\t};\n}\n\nexport function useColorModeValue<T>(light: T, dark: T) {\n\tconst { colorMode } = useColorMode();\n\treturn colorMode === \"dark\" ? dark : light;\n}\n\nexport function ColorModeIcon() {\n\tconst { colorMode } = useColorMode();\n\treturn colorMode === \"dark\" ? <Moon /> : <Sun />;\n}\nColorModeIcon.displayName = \"ColorModeIcon\";\n\ninterface ColorModeButtonProps extends Omit<IconButtonProps, \"aria-label\"> {\n\t/** Accessible label for the color mode toggle button. @default \"Toggle color mode\" */\n\tlabel?: string;\n}\n\nexport const ColorModeButton = function ColorModeButton({\n\tref,\n\tlabel = \"Toggle color mode\",\n\t...props\n}: ColorModeButtonProps & { ref?: React.Ref<HTMLButtonElement> }) {\n\tconst { toggleColorMode } = useColorMode();\n\treturn (\n\t\t<ClientOnly fallback={<Skeleton boxSize=\"9\" />}>\n\t\t\t<IconButton\n\t\t\t\tonClick={toggleColorMode}\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\taria-label={label}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\tcss={{\n\t\t\t\t\t_icon: {\n\t\t\t\t\t\twidth: \"5\",\n\t\t\t\t\t\theight: \"5\",\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<ColorModeIcon />\n\t\t\t</IconButton>\n\t\t</ClientOnly>\n\t);\n};\nColorModeButton.displayName = \"ColorModeButton\";\n\nexport const LightMode = function LightMode({\n\tref,\n\t...props\n}: SpanProps & { ref?: React.Ref<HTMLSpanElement> }) {\n\treturn (\n\t\t<Span\n\t\t\tcolor=\"fg\"\n\t\t\tdisplay=\"contents\"\n\t\t\tclassName=\"chakra-theme light\"\n\t\t\tcolorPalette=\"gray\"\n\t\t\tdata-theme=\"light\"\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\nLightMode.displayName = \"LightMode\";\n\nexport const DarkMode = function DarkMode({\n\tref,\n\t...props\n}: SpanProps & { ref?: React.Ref<HTMLSpanElement> }) {\n\treturn (\n\t\t<Span\n\t\t\tcolor=\"fg\"\n\t\t\tdisplay=\"contents\"\n\t\t\tclassName=\"chakra-theme dark\"\n\t\t\tcolorPalette=\"gray\"\n\t\t\tdata-theme=\"dark\"\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\nDarkMode.displayName = \"DarkMode\";\n","import { HoverCard as ChakraHoverCard, Portal } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface HoverCardProps extends ChakraHoverCard.RootProps {\n\t/** Content displayed in the hover card. */\n\tcontent: React.ReactNode;\n\t/** Whether to show an arrow. @default false */\n\tshowArrow?: boolean;\n\t/** Whether to render in a portal. @default true */\n\tportalled?: boolean;\n\t/** Container ref for portal. */\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\t/** Props passed to the content element. */\n\tcontentProps?: ChakraHoverCard.ContentProps;\n}\n\nexport const HoverCard = function HoverCard(props: HoverCardProps) {\n\tconst {\n\t\tcontent,\n\t\tshowArrow,\n\t\tchildren,\n\t\tportalled = true,\n\t\tportalRef,\n\t\tcontentProps,\n\t\t...rest\n\t} = props;\n\treturn (\n\t\t<ChakraHoverCard.Root {...rest}>\n\t\t\t<ChakraHoverCard.Trigger asChild>{children}</ChakraHoverCard.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t<ChakraHoverCard.Positioner>\n\t\t\t\t\t<ChakraHoverCard.Content {...contentProps}>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraHoverCard.Arrow>\n\t\t\t\t\t\t\t\t<ChakraHoverCard.ArrowTip />\n\t\t\t\t\t\t\t</ChakraHoverCard.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraHoverCard.Content>\n\t\t\t\t</ChakraHoverCard.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraHoverCard.Root>\n\t);\n};\nHoverCard.displayName = \"HoverCard\";\n","import { PinInput as ChakraPinInput } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface PinInputProps\n\textends Omit<ChakraPinInput.RootProps, \"children\"> {\n\t/** Number of input fields. @default 4 */\n\tlength?: number;\n}\n\nexport const PinInput = function PinInput({\n\tref,\n\t...props\n}: PinInputProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { length = 4, ...rest } = props;\n\treturn (\n\t\t<ChakraPinInput.Root ref={ref} {...rest}>\n\t\t\t<ChakraPinInput.HiddenInput />\n\t\t\t<ChakraPinInput.Control>\n\t\t\t\t{Array.from({ length }).map((_, i) => (\n\t\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: index is the stable identity for pin input fields\n\t\t\t\t\t<ChakraPinInput.Input key={i} index={i} />\n\t\t\t\t))}\n\t\t\t</ChakraPinInput.Control>\n\t\t</ChakraPinInput.Root>\n\t);\n};\nPinInput.displayName = \"PinInput\";\n","import {\n\tProgress as ChakraProgress,\n\tProgressCircle as ChakraProgressCircle,\n} from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface ProgressProps extends ChakraProgress.RootProps {\n\t/** Whether to show the percentage label. @default false */\n\tshowValue?: boolean;\n\t/** Label text displayed above the progress bar. */\n\tlabel?: React.ReactNode;\n}\n\nexport const Progress = function Progress({\n\tref,\n\t...props\n}: ProgressProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showValue, label, ...rest } = props;\n\treturn (\n\t\t<ChakraProgress.Root ref={ref} {...rest}>\n\t\t\t{(label || showValue) && (\n\t\t\t\t<ChakraProgress.Label>\n\t\t\t\t\t{label}\n\t\t\t\t\t{showValue && <ChakraProgress.ValueText />}\n\t\t\t\t</ChakraProgress.Label>\n\t\t\t)}\n\t\t\t<ChakraProgress.Track>\n\t\t\t\t<ChakraProgress.Range />\n\t\t\t</ChakraProgress.Track>\n\t\t</ChakraProgress.Root>\n\t);\n};\nProgress.displayName = \"Progress\";\n\nexport interface ProgressCircleProps extends ChakraProgressCircle.RootProps {\n\t/** Whether to show the percentage label. @default false */\n\tshowValue?: boolean;\n}\n\nexport const ProgressCircle = function ProgressCircle({\n\tref,\n\t...props\n}: ProgressCircleProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showValue, children, ...rest } = props;\n\treturn (\n\t\t<ChakraProgressCircle.Root ref={ref} {...rest}>\n\t\t\t<ChakraProgressCircle.Circle>\n\t\t\t\t<ChakraProgressCircle.Track />\n\t\t\t\t<ChakraProgressCircle.Range />\n\t\t\t</ChakraProgressCircle.Circle>\n\t\t\t{showValue && <ChakraProgressCircle.ValueText />}\n\t\t\t{children}\n\t\t</ChakraProgressCircle.Root>\n\t);\n};\nProgressCircle.displayName = \"ProgressCircle\";\n","import type { SystemContext } from \"@chakra-ui/react\";\nimport { ChakraProvider } from \"@chakra-ui/react\";\nimport defaultSystem from \"../theme\";\nimport { ColorModeProvider, type ColorModeProviderProps } from \"./color-mode\";\n\nexport interface ProviderProps extends ColorModeProviderProps {\n\t/** Override the default anker theme system. */\n\tsystem?: SystemContext;\n}\n\nexport function Provider({ system, ...props }: ProviderProps) {\n\treturn (\n\t\t<ChakraProvider value={system ?? defaultSystem}>\n\t\t\t<ColorModeProvider {...props} />\n\t\t</ChakraProvider>\n\t);\n}\nProvider.displayName = \"Provider\";\n","import { SegmentGroup as ChakraSegmentGroup } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SegmentedControlItem {\n\tvalue: string;\n\tlabel: React.ReactNode;\n\tdisabled?: boolean;\n}\n\nexport interface SegmentedControlProps\n\textends Omit<ChakraSegmentGroup.RootProps, \"children\"> {\n\t/** Items to render as segments. */\n\titems: Array<string | SegmentedControlItem>;\n}\n\nexport const SegmentedControl = function SegmentedControl({\n\tref,\n\t...props\n}: SegmentedControlProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { items, ...rest } = props;\n\treturn (\n\t\t<ChakraSegmentGroup.Root ref={ref} {...rest}>\n\t\t\t<ChakraSegmentGroup.Indicator />\n\t\t\t{items.map((item) => {\n\t\t\t\tconst value = typeof item === \"string\" ? item : item.value;\n\t\t\t\tconst label = typeof item === \"string\" ? item : item.label;\n\t\t\t\tconst disabled = typeof item === \"string\" ? false : item.disabled;\n\t\t\t\treturn (\n\t\t\t\t\t<ChakraSegmentGroup.Item\n\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChakraSegmentGroup.ItemText>{label}</ChakraSegmentGroup.ItemText>\n\t\t\t\t\t\t<ChakraSegmentGroup.ItemHiddenInput />\n\t\t\t\t\t</ChakraSegmentGroup.Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ChakraSegmentGroup.Root>\n\t);\n};\nSegmentedControl.displayName = \"SegmentedControl\";\n","import { Slider as ChakraSlider } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SliderProps extends ChakraSlider.RootProps {\n\t/** Whether to show the current value label. @default false */\n\tshowValue?: boolean;\n\t/** Label text displayed alongside the slider. */\n\tlabel?: React.ReactNode;\n\t/** Marks to display on the track. */\n\tmarks?: Array<number | { value: number; label: React.ReactNode }>;\n}\n\nexport const Slider = function Slider({\n\tref,\n\t...props\n}: SliderProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showValue, label, marks, ...rest } = props;\n\treturn (\n\t\t<ChakraSlider.Root ref={ref} {...rest}>\n\t\t\t{(label || showValue) && (\n\t\t\t\t<ChakraSlider.Label>\n\t\t\t\t\t{label}\n\t\t\t\t\t{showValue && <ChakraSlider.ValueText />}\n\t\t\t\t</ChakraSlider.Label>\n\t\t\t)}\n\t\t\t<ChakraSlider.Control>\n\t\t\t\t<ChakraSlider.Track>\n\t\t\t\t\t<ChakraSlider.Range />\n\t\t\t\t</ChakraSlider.Track>\n\t\t\t\t<ChakraSlider.Thumbs />\n\t\t\t</ChakraSlider.Control>\n\t\t\t{marks && <ChakraSlider.Marks marks={marks} />}\n\t\t</ChakraSlider.Root>\n\t);\n};\nSlider.displayName = \"Slider\";\n","import {\n\tPopover as ChakraPopover,\n\tIconButton,\n\ttype IconButtonProps,\n\tPortal,\n} from \"@chakra-ui/react\";\nimport { Info } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport interface ToggleTipProps extends ChakraPopover.RootProps {\n\tshowArrow?: boolean;\n\tportalled?: boolean;\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\tcontent?: React.ReactNode;\n\tcontentProps?: ChakraPopover.ContentProps;\n}\n\nexport const ToggleTip = function ToggleTip({\n\tref,\n\t...props\n}: ToggleTipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst {\n\t\tshowArrow,\n\t\tchildren,\n\t\tportalled = true,\n\t\tcontent,\n\t\tcontentProps,\n\t\tportalRef,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<ChakraPopover.Root\n\t\t\t{...rest}\n\t\t\tpositioning={{ ...rest.positioning, gutter: 4 }}\n\t\t>\n\t\t\t<ChakraPopover.Trigger asChild>{children}</ChakraPopover.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t<ChakraPopover.Positioner>\n\t\t\t\t\t<ChakraPopover.Content\n\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\tpx=\"2\"\n\t\t\t\t\t\tpy=\"1\"\n\t\t\t\t\t\ttextStyle=\"xs\"\n\t\t\t\t\t\trounded=\"sm\"\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t{...contentProps}\n\t\t\t\t\t>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraPopover.Arrow>\n\t\t\t\t\t\t\t\t<ChakraPopover.ArrowTip />\n\t\t\t\t\t\t\t</ChakraPopover.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraPopover.Content>\n\t\t\t\t</ChakraPopover.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraPopover.Root>\n\t);\n};\nToggleTip.displayName = \"ToggleTip\";\n\nexport interface InfoTipProps extends Partial<ToggleTipProps> {\n\tbuttonProps?: IconButtonProps | undefined;\n\t/** Accessible label for the info tip button. @default \"info\" */\n\tlabel?: string;\n}\n\nexport const InfoTip = function InfoTip({\n\tref,\n\t...props\n}: InfoTipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { children, buttonProps, label = \"info\", ...rest } = props;\n\treturn (\n\t\t<ToggleTip content={children} {...rest} ref={ref}>\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\taria-label={label}\n\t\t\t\tsize=\"2xs\"\n\t\t\t\tcolorPalette=\"gray\"\n\t\t\t\tminWidth=\"44px\"\n\t\t\t\tminHeight=\"44px\"\n\t\t\t\t{...buttonProps}\n\t\t\t>\n\t\t\t\t<Info />\n\t\t\t</IconButton>\n\t\t</ToggleTip>\n\t);\n};\nInfoTip.displayName = \"InfoTip\";\n","import {\n\tBadge,\n\ttype BadgeProps,\n\tStat as ChakraStat,\n\tFormatNumber,\n} from \"@chakra-ui/react\";\nimport type * as React from \"react\";\nimport { InfoTip } from \"./toggle-tip\";\n\nexport interface StatLabelProps extends ChakraStat.LabelProps {\n\tinfo?: React.ReactNode;\n}\n\nexport const StatLabel = function StatLabel({\n\tref,\n\t...props\n}: StatLabelProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { info, children, ...rest } = props;\n\treturn (\n\t\t<ChakraStat.Label {...rest} ref={ref}>\n\t\t\t{children}\n\t\t\t{info && <InfoTip>{info}</InfoTip>}\n\t\t</ChakraStat.Label>\n\t);\n};\nStatLabel.displayName = \"StatLabel\";\n\nexport interface StatValueTextProps extends ChakraStat.ValueTextProps {\n\tvalue?: number;\n\tformatOptions?: Intl.NumberFormatOptions;\n}\n\nexport const StatValueText = function StatValueText({\n\tref,\n\t...props\n}: StatValueTextProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { value, formatOptions, children, ...rest } = props;\n\treturn (\n\t\t<ChakraStat.ValueText {...rest} ref={ref}>\n\t\t\t{children ||\n\t\t\t\t(value != null && <FormatNumber value={value} {...formatOptions} />)}\n\t\t</ChakraStat.ValueText>\n\t);\n};\nStatValueText.displayName = \"StatValueText\";\n\nexport const StatUpTrend = function StatUpTrend({\n\tref,\n\t...props\n}: BadgeProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<Badge colorPalette=\"green\" gap=\"0\" {...props} ref={ref}>\n\t\t\t<ChakraStat.UpIndicator />\n\t\t\t{props.children}\n\t\t</Badge>\n\t);\n};\nStatUpTrend.displayName = \"StatUpTrend\";\n\nexport const StatDownTrend = function StatDownTrend({\n\tref,\n\t...props\n}: BadgeProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<Badge colorPalette=\"red\" gap=\"0\" {...props} ref={ref}>\n\t\t\t<ChakraStat.DownIndicator />\n\t\t\t{props.children}\n\t\t</Badge>\n\t);\n};\nStatDownTrend.displayName = \"StatDownTrend\";\n\nexport const StatRoot = ChakraStat.Root;\nStatRoot.displayName = \"StatRoot\";\nexport const StatHelpText = ChakraStat.HelpText;\nStatHelpText.displayName = \"StatHelpText\";\nexport const StatValueUnit = ChakraStat.ValueUnit;\nStatValueUnit.displayName = \"StatValueUnit\";\n","import {\n\tToaster as ChakraToaster,\n\tcreateToaster,\n\tPortal,\n\tSpinner,\n\tStack,\n\tToast,\n} from \"@chakra-ui/react\";\n\nexport interface CreateToasterOptions {\n\tplacement?:\n\t\t| \"top\"\n\t\t| \"top-start\"\n\t\t| \"top-end\"\n\t\t| \"bottom\"\n\t\t| \"bottom-start\"\n\t\t| \"bottom-end\";\n\tpauseOnPageIdle?: boolean;\n}\n\nexport function createAnkerToaster(options: CreateToasterOptions = {}) {\n\tconst { placement = \"bottom-end\", pauseOnPageIdle = true } = options;\n\n\tconst toaster = createToaster({\n\t\tplacement,\n\t\tpauseOnPageIdle,\n\t});\n\n\tconst ToasterComponent = () => {\n\t\treturn (\n\t\t\t<Portal>\n\t\t\t\t<ChakraToaster toaster={toaster} insetInline={{ mdDown: \"4\" }}>\n\t\t\t\t\t{(toast) => (\n\t\t\t\t\t\t<Toast.Root width={{ md: \"sm\" }}>\n\t\t\t\t\t\t\t{toast.type === \"loading\" ? (\n\t\t\t\t\t\t\t\t<Spinner size=\"sm\" color=\"accent\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Toast.Indicator />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Stack gap=\"1\" flex=\"1\" maxWidth=\"100%\">\n\t\t\t\t\t\t\t\t{toast.title && <Toast.Title>{toast.title}</Toast.Title>}\n\t\t\t\t\t\t\t\t{toast.description && (\n\t\t\t\t\t\t\t\t\t<Toast.Description>{toast.description}</Toast.Description>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t{toast.action && (\n\t\t\t\t\t\t\t\t<Toast.ActionTrigger>{toast.action.label}</Toast.ActionTrigger>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{toast.closable && <Toast.CloseTrigger />}\n\t\t\t\t\t\t</Toast.Root>\n\t\t\t\t\t)}\n\t\t\t\t</ChakraToaster>\n\t\t\t</Portal>\n\t\t);\n\t};\n\n\treturn { toaster, Toaster: ToasterComponent };\n}\n\n// Default instance for convenience\nconst { toaster, Toaster } = createAnkerToaster();\n\n(Toaster as { displayName?: string }).displayName = \"Toaster\";\n\nexport { toaster, Toaster };\n"]}
1
+ {"version":3,"sources":["../../src/primitives/accordion.tsx","../../src/primitives/alert.tsx","../../src/primitives/breadcrumb.tsx","../../src/primitives/checkbox.tsx","../../src/primitives/color-mode.tsx","../../src/primitives/hover-card.tsx","../../src/primitives/pin-input.tsx","../../src/primitives/progress.tsx","../../src/primitives/provider.tsx","../../src/primitives/segmented-control.tsx","../../src/primitives/slider.tsx","../../src/primitives/toggle-tip.tsx","../../src/primitives/stat.tsx","../../src/primitives/toaster.tsx"],"names":["AccordionItem","ChakraAccordion","Alert","jsxs","ChakraAlert","jsx","ChakraBreadcrumb","Checkbox","ChakraCheckbox","ColorModeButton","Skeleton","LightMode","DarkMode","HoverCard","ChakraHoverCard","PinInput","ChakraPinInput","Progress","ChakraProgress","ProgressCircle","ChakraProgressCircle","SegmentedControl","ChakraSegmentGroup","Slider","ChakraSlider","ToggleTip","ChakraPopover","Portal","InfoTip","IconButton","StatLabel","ChakraStat","StatValueText","StatUpTrend","Badge","StatDownTrend","toaster","ChakraToaster","Spinner","Stack"],"mappings":"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","file":"index.js","sourcesContent":["import { Accordion as ChakraAccordion } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface AccordionItemProps extends ChakraAccordion.ItemProps {\n\t/** The trigger label shown in the accordion header. */\n\tlabel: React.ReactNode;\n\t/** Content revealed when the item is expanded. */\n\tchildren: React.ReactNode;\n}\n\nexport const AccordionItem = function AccordionItem({\n\tref,\n\t...props\n}: AccordionItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { label, children, ...rest } = props;\n\treturn (\n\t\t<ChakraAccordion.Item ref={ref} {...rest}>\n\t\t\t<ChakraAccordion.ItemTrigger>\n\t\t\t\t{label}\n\t\t\t\t<ChakraAccordion.ItemIndicator />\n\t\t\t</ChakraAccordion.ItemTrigger>\n\t\t\t<ChakraAccordion.ItemContent>\n\t\t\t\t<ChakraAccordion.ItemBody>{children}</ChakraAccordion.ItemBody>\n\t\t\t</ChakraAccordion.ItemContent>\n\t\t</ChakraAccordion.Item>\n\t);\n};\nAccordionItem.displayName = \"AccordionItem\";\n\n// Pass-through exports for composition\nexport const AccordionRoot = ChakraAccordion.Root;\nAccordionRoot.displayName = \"AccordionRoot\";\n\nexport type AccordionRootProps = ChakraAccordion.RootProps;\n","import { Alert as ChakraAlert } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface AlertProps extends Omit<ChakraAlert.RootProps, \"title\"> {\n\tstartElement?: React.ReactNode;\n\tendElement?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\ticon?: React.ReactElement;\n}\n\nexport const Alert = function Alert({\n\tref,\n\t...props\n}: AlertProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { title, children, icon, startElement, endElement, ...rest } = props;\n\treturn (\n\t\t<ChakraAlert.Root ref={ref} {...rest}>\n\t\t\t{startElement || <ChakraAlert.Indicator>{icon}</ChakraAlert.Indicator>}\n\t\t\t{children ? (\n\t\t\t\t<ChakraAlert.Content>\n\t\t\t\t\t<ChakraAlert.Title>{title}</ChakraAlert.Title>\n\t\t\t\t\t<ChakraAlert.Description>{children}</ChakraAlert.Description>\n\t\t\t\t</ChakraAlert.Content>\n\t\t\t) : (\n\t\t\t\t<ChakraAlert.Title flex=\"1\">{title}</ChakraAlert.Title>\n\t\t\t)}\n\t\t\t{endElement}\n\t\t</ChakraAlert.Root>\n\t);\n};\nAlert.displayName = \"Alert\";\n","import { Breadcrumb as ChakraBreadcrumb } from \"@chakra-ui/react\";\n\n// Pass-through exports with stable API\nexport const BreadcrumbRoot = ChakraBreadcrumb.Root;\nBreadcrumbRoot.displayName = \"BreadcrumbRoot\";\n\nexport const BreadcrumbList = ChakraBreadcrumb.List;\nBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport const BreadcrumbItem = ChakraBreadcrumb.Item;\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\n\nexport const BreadcrumbLink = ChakraBreadcrumb.Link;\nBreadcrumbLink.displayName = \"BreadcrumbLink\";\n\nexport const BreadcrumbCurrentLink = ChakraBreadcrumb.CurrentLink;\nBreadcrumbCurrentLink.displayName = \"BreadcrumbCurrentLink\";\n\nexport const BreadcrumbSeparator = ChakraBreadcrumb.Separator;\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\";\n\nexport const BreadcrumbEllipsis = ChakraBreadcrumb.Ellipsis;\nBreadcrumbEllipsis.displayName = \"BreadcrumbEllipsis\";\n\nexport type BreadcrumbRootProps = ChakraBreadcrumb.RootProps;\nexport type BreadcrumbLinkProps = ChakraBreadcrumb.LinkProps;\n","import { Checkbox as ChakraCheckbox } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface CheckboxProps extends ChakraCheckbox.RootProps {\n\t/** Checkbox label text or content. */\n\tchildren?: React.ReactNode;\n\t/** Additional props forwarded to the hidden input element. */\n\tinputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n\t/** Ref attached to the root element. */\n\trootRef?: React.RefObject<HTMLLabelElement | null>;\n}\n\nexport const Checkbox = function Checkbox({\n\tref,\n\t...props\n}: CheckboxProps & { ref?: React.Ref<HTMLInputElement> }) {\n\tconst { children, inputProps, rootRef, ...rest } = props;\n\treturn (\n\t\t<ChakraCheckbox.Root ref={rootRef} {...rest}>\n\t\t\t<ChakraCheckbox.HiddenInput ref={ref} {...inputProps} />\n\t\t\t<ChakraCheckbox.Control>\n\t\t\t\t<ChakraCheckbox.Indicator />\n\t\t\t</ChakraCheckbox.Control>\n\t\t\t{children != null && (\n\t\t\t\t<ChakraCheckbox.Label>{children}</ChakraCheckbox.Label>\n\t\t\t)}\n\t\t</ChakraCheckbox.Root>\n\t);\n};\nCheckbox.displayName = \"Checkbox\";\n\nexport const CheckboxGroup = ChakraCheckbox.Group;\nCheckboxGroup.displayName = \"CheckboxGroup\";\n","import type { IconButtonProps, SpanProps } from \"@chakra-ui/react\";\nimport { ClientOnly, IconButton, Skeleton, Span } from \"@chakra-ui/react\";\nimport { Moon, Sun } from \"lucide-react\";\nimport type { ThemeProviderProps } from \"next-themes\";\nimport { ThemeProvider, useTheme } from \"next-themes\";\nimport type * as React from \"react\";\n\nexport interface ColorModeProviderProps extends ThemeProviderProps {}\n\nexport function ColorModeProvider(props: ColorModeProviderProps) {\n\treturn (\n\t\t<ThemeProvider attribute=\"class\" disableTransitionOnChange {...props} />\n\t);\n}\nColorModeProvider.displayName = \"ColorModeProvider\";\n\nexport type ColorMode = \"light\" | \"dark\";\n\nexport interface UseColorModeReturn {\n\tcolorMode: ColorMode;\n\tsetColorMode: (colorMode: ColorMode) => void;\n\ttoggleColorMode: () => void;\n}\n\nexport function useColorMode(): UseColorModeReturn {\n\tconst { resolvedTheme, setTheme, forcedTheme } = useTheme();\n\tconst colorMode = forcedTheme || resolvedTheme;\n\tconst toggleColorMode = () => {\n\t\tsetTheme(resolvedTheme === \"dark\" ? \"light\" : \"dark\");\n\t};\n\treturn {\n\t\tcolorMode: colorMode as ColorMode,\n\t\tsetColorMode: setTheme,\n\t\ttoggleColorMode,\n\t};\n}\n\nexport function useColorModeValue<T>(light: T, dark: T) {\n\tconst { colorMode } = useColorMode();\n\treturn colorMode === \"dark\" ? dark : light;\n}\n\nexport function ColorModeIcon() {\n\tconst { colorMode } = useColorMode();\n\treturn colorMode === \"dark\" ? <Moon /> : <Sun />;\n}\nColorModeIcon.displayName = \"ColorModeIcon\";\n\ninterface ColorModeButtonProps extends Omit<IconButtonProps, \"aria-label\"> {\n\t/** Accessible label for the color mode toggle button. @default \"Toggle color mode\" */\n\tlabel?: string;\n}\n\nexport const ColorModeButton = function ColorModeButton({\n\tref,\n\tlabel = \"Toggle color mode\",\n\t...props\n}: ColorModeButtonProps & { ref?: React.Ref<HTMLButtonElement> }) {\n\tconst { toggleColorMode } = useColorMode();\n\treturn (\n\t\t<ClientOnly fallback={<Skeleton boxSize=\"9\" />}>\n\t\t\t<IconButton\n\t\t\t\tonClick={toggleColorMode}\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\taria-label={label}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\tcss={{\n\t\t\t\t\t_icon: {\n\t\t\t\t\t\twidth: \"5\",\n\t\t\t\t\t\theight: \"5\",\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<ColorModeIcon />\n\t\t\t</IconButton>\n\t\t</ClientOnly>\n\t);\n};\nColorModeButton.displayName = \"ColorModeButton\";\n\nexport const LightMode = function LightMode({\n\tref,\n\t...props\n}: SpanProps & { ref?: React.Ref<HTMLSpanElement> }) {\n\treturn (\n\t\t<Span\n\t\t\tcolor=\"fg\"\n\t\t\tdisplay=\"contents\"\n\t\t\tclassName=\"chakra-theme light\"\n\t\t\tcolorPalette=\"gray\"\n\t\t\tdata-theme=\"light\"\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\nLightMode.displayName = \"LightMode\";\n\nexport const DarkMode = function DarkMode({\n\tref,\n\t...props\n}: SpanProps & { ref?: React.Ref<HTMLSpanElement> }) {\n\treturn (\n\t\t<Span\n\t\t\tcolor=\"fg\"\n\t\t\tdisplay=\"contents\"\n\t\t\tclassName=\"chakra-theme dark\"\n\t\t\tcolorPalette=\"gray\"\n\t\t\tdata-theme=\"dark\"\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\nDarkMode.displayName = \"DarkMode\";\n","import { HoverCard as ChakraHoverCard, Portal } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface HoverCardProps extends ChakraHoverCard.RootProps {\n\t/** Content displayed in the hover card. */\n\tcontent: React.ReactNode;\n\t/** Whether to show an arrow. @default false */\n\tshowArrow?: boolean;\n\t/** Whether to render in a portal. @default true */\n\tportalled?: boolean;\n\t/** Container ref for portal. */\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\t/** Props passed to the content element. */\n\tcontentProps?: ChakraHoverCard.ContentProps;\n}\n\nexport const HoverCard = function HoverCard(props: HoverCardProps) {\n\tconst {\n\t\tcontent,\n\t\tshowArrow,\n\t\tchildren,\n\t\tportalled = true,\n\t\tportalRef,\n\t\tcontentProps,\n\t\t...rest\n\t} = props;\n\treturn (\n\t\t<ChakraHoverCard.Root {...rest}>\n\t\t\t<ChakraHoverCard.Trigger asChild>{children}</ChakraHoverCard.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t<ChakraHoverCard.Positioner>\n\t\t\t\t\t<ChakraHoverCard.Content {...contentProps}>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraHoverCard.Arrow>\n\t\t\t\t\t\t\t\t<ChakraHoverCard.ArrowTip />\n\t\t\t\t\t\t\t</ChakraHoverCard.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraHoverCard.Content>\n\t\t\t\t</ChakraHoverCard.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraHoverCard.Root>\n\t);\n};\nHoverCard.displayName = \"HoverCard\";\n","import { PinInput as ChakraPinInput } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface PinInputProps\n\textends Omit<ChakraPinInput.RootProps, \"children\"> {\n\t/** Number of input fields. @default 4 */\n\tlength?: number;\n}\n\nexport const PinInput = function PinInput({\n\tref,\n\t...props\n}: PinInputProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { length = 4, ...rest } = props;\n\treturn (\n\t\t<ChakraPinInput.Root ref={ref} {...rest}>\n\t\t\t<ChakraPinInput.HiddenInput />\n\t\t\t<ChakraPinInput.Control>\n\t\t\t\t{Array.from({ length }).map((_, i) => (\n\t\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: index is the stable identity for pin input fields\n\t\t\t\t\t<ChakraPinInput.Input key={i} index={i} />\n\t\t\t\t))}\n\t\t\t</ChakraPinInput.Control>\n\t\t</ChakraPinInput.Root>\n\t);\n};\nPinInput.displayName = \"PinInput\";\n","import {\n\tProgress as ChakraProgress,\n\tProgressCircle as ChakraProgressCircle,\n} from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface ProgressProps extends ChakraProgress.RootProps {\n\t/** Whether to show the percentage label. @default false */\n\tshowValue?: boolean;\n\t/** Label text displayed above the progress bar. */\n\tlabel?: React.ReactNode;\n}\n\nexport const Progress = function Progress({\n\tref,\n\t...props\n}: ProgressProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showValue, label, ...rest } = props;\n\treturn (\n\t\t<ChakraProgress.Root ref={ref} {...rest}>\n\t\t\t{(label || showValue) && (\n\t\t\t\t<ChakraProgress.Label>\n\t\t\t\t\t{label}\n\t\t\t\t\t{showValue && <ChakraProgress.ValueText />}\n\t\t\t\t</ChakraProgress.Label>\n\t\t\t)}\n\t\t\t<ChakraProgress.Track>\n\t\t\t\t<ChakraProgress.Range />\n\t\t\t</ChakraProgress.Track>\n\t\t</ChakraProgress.Root>\n\t);\n};\nProgress.displayName = \"Progress\";\n\nexport interface ProgressCircleProps extends ChakraProgressCircle.RootProps {\n\t/** Whether to show the percentage label. @default false */\n\tshowValue?: boolean;\n}\n\nexport const ProgressCircle = function ProgressCircle({\n\tref,\n\t...props\n}: ProgressCircleProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showValue, children, ...rest } = props;\n\treturn (\n\t\t<ChakraProgressCircle.Root ref={ref} {...rest}>\n\t\t\t<ChakraProgressCircle.Circle>\n\t\t\t\t<ChakraProgressCircle.Track />\n\t\t\t\t<ChakraProgressCircle.Range />\n\t\t\t</ChakraProgressCircle.Circle>\n\t\t\t{showValue && <ChakraProgressCircle.ValueText />}\n\t\t\t{children}\n\t\t</ChakraProgressCircle.Root>\n\t);\n};\nProgressCircle.displayName = \"ProgressCircle\";\n","import type { SystemContext } from \"@chakra-ui/react\";\nimport { ChakraProvider } from \"@chakra-ui/react\";\nimport defaultSystem from \"../theme\";\nimport { ColorModeProvider, type ColorModeProviderProps } from \"./color-mode\";\n\nexport interface ProviderProps extends ColorModeProviderProps {\n\t/** Override the default anker theme system. */\n\tsystem?: SystemContext;\n}\n\nexport function Provider({ system, ...props }: ProviderProps) {\n\treturn (\n\t\t<ChakraProvider value={system ?? defaultSystem}>\n\t\t\t<ColorModeProvider {...props} />\n\t\t</ChakraProvider>\n\t);\n}\nProvider.displayName = \"Provider\";\n","import { SegmentGroup as ChakraSegmentGroup } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SegmentedControlItem {\n\tvalue: string;\n\tlabel: React.ReactNode;\n\tdisabled?: boolean;\n}\n\nexport interface SegmentedControlProps\n\textends Omit<ChakraSegmentGroup.RootProps, \"children\"> {\n\t/** Items to render as segments. */\n\titems: Array<string | SegmentedControlItem>;\n}\n\nexport const SegmentedControl = function SegmentedControl({\n\tref,\n\t...props\n}: SegmentedControlProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { items, ...rest } = props;\n\treturn (\n\t\t<ChakraSegmentGroup.Root ref={ref} {...rest}>\n\t\t\t<ChakraSegmentGroup.Indicator />\n\t\t\t{items.map((item) => {\n\t\t\t\tconst value = typeof item === \"string\" ? item : item.value;\n\t\t\t\tconst label = typeof item === \"string\" ? item : item.label;\n\t\t\t\tconst disabled = typeof item === \"string\" ? false : item.disabled;\n\t\t\t\treturn (\n\t\t\t\t\t<ChakraSegmentGroup.Item\n\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChakraSegmentGroup.ItemText>{label}</ChakraSegmentGroup.ItemText>\n\t\t\t\t\t\t<ChakraSegmentGroup.ItemHiddenInput />\n\t\t\t\t\t</ChakraSegmentGroup.Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ChakraSegmentGroup.Root>\n\t);\n};\nSegmentedControl.displayName = \"SegmentedControl\";\n","import { Slider as ChakraSlider } from \"@chakra-ui/react\";\nimport type * as React from \"react\";\n\nexport interface SliderProps extends ChakraSlider.RootProps {\n\t/** Whether to show the current value label. @default false */\n\tshowValue?: boolean;\n\t/** Label text displayed alongside the slider. */\n\tlabel?: React.ReactNode;\n\t/** Marks to display on the track. */\n\tmarks?: Array<number | { value: number; label: React.ReactNode }>;\n}\n\nexport const Slider = function Slider({\n\tref,\n\t...props\n}: SliderProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { showValue, label, marks, ...rest } = props;\n\treturn (\n\t\t<ChakraSlider.Root ref={ref} {...rest}>\n\t\t\t{(label || showValue) && (\n\t\t\t\t<ChakraSlider.Label>\n\t\t\t\t\t{label}\n\t\t\t\t\t{showValue && <ChakraSlider.ValueText />}\n\t\t\t\t</ChakraSlider.Label>\n\t\t\t)}\n\t\t\t<ChakraSlider.Control>\n\t\t\t\t<ChakraSlider.Track>\n\t\t\t\t\t<ChakraSlider.Range />\n\t\t\t\t</ChakraSlider.Track>\n\t\t\t\t<ChakraSlider.Thumbs />\n\t\t\t</ChakraSlider.Control>\n\t\t\t{marks && <ChakraSlider.Marks marks={marks} />}\n\t\t</ChakraSlider.Root>\n\t);\n};\nSlider.displayName = \"Slider\";\n","import {\n\tPopover as ChakraPopover,\n\tIconButton,\n\ttype IconButtonProps,\n\tPortal,\n} from \"@chakra-ui/react\";\nimport { Info } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport interface ToggleTipProps extends ChakraPopover.RootProps {\n\tshowArrow?: boolean;\n\tportalled?: boolean;\n\tportalRef?: React.RefObject<HTMLElement | null>;\n\tcontent?: React.ReactNode;\n\tcontentProps?: ChakraPopover.ContentProps;\n}\n\nexport const ToggleTip = function ToggleTip({\n\tref,\n\t...props\n}: ToggleTipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst {\n\t\tshowArrow,\n\t\tchildren,\n\t\tportalled = true,\n\t\tcontent,\n\t\tcontentProps,\n\t\tportalRef,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<ChakraPopover.Root\n\t\t\t{...rest}\n\t\t\tpositioning={{ ...rest.positioning, gutter: 4 }}\n\t\t>\n\t\t\t<ChakraPopover.Trigger asChild>{children}</ChakraPopover.Trigger>\n\t\t\t<Portal disabled={!portalled} container={portalRef}>\n\t\t\t\t<ChakraPopover.Positioner>\n\t\t\t\t\t<ChakraPopover.Content\n\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\tpx=\"2\"\n\t\t\t\t\t\tpy=\"1\"\n\t\t\t\t\t\ttextStyle=\"xs\"\n\t\t\t\t\t\trounded=\"sm\"\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t{...contentProps}\n\t\t\t\t\t>\n\t\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t\t<ChakraPopover.Arrow>\n\t\t\t\t\t\t\t\t<ChakraPopover.ArrowTip />\n\t\t\t\t\t\t\t</ChakraPopover.Arrow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</ChakraPopover.Content>\n\t\t\t\t</ChakraPopover.Positioner>\n\t\t\t</Portal>\n\t\t</ChakraPopover.Root>\n\t);\n};\nToggleTip.displayName = \"ToggleTip\";\n\nexport interface InfoTipProps extends Partial<ToggleTipProps> {\n\tbuttonProps?: IconButtonProps | undefined;\n\t/** Accessible label for the info tip button. @default \"info\" */\n\tlabel?: string;\n}\n\nexport const InfoTip = function InfoTip({\n\tref,\n\t...props\n}: InfoTipProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { children, buttonProps, label = \"info\", ...rest } = props;\n\treturn (\n\t\t<ToggleTip content={children} {...rest} ref={ref}>\n\t\t\t<IconButton\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\taria-label={label}\n\t\t\t\tsize=\"2xs\"\n\t\t\t\tcolorPalette=\"gray\"\n\t\t\t\tminWidth=\"44px\"\n\t\t\t\tminHeight=\"44px\"\n\t\t\t\t{...buttonProps}\n\t\t\t>\n\t\t\t\t<Info />\n\t\t\t</IconButton>\n\t\t</ToggleTip>\n\t);\n};\nInfoTip.displayName = \"InfoTip\";\n","import {\n\tBadge,\n\ttype BadgeProps,\n\tStat as ChakraStat,\n\tFormatNumber,\n} from \"@chakra-ui/react\";\nimport type * as React from \"react\";\nimport { InfoTip } from \"./toggle-tip\";\n\nexport interface StatLabelProps extends ChakraStat.LabelProps {\n\tinfo?: React.ReactNode;\n}\n\nexport const StatLabel = function StatLabel({\n\tref,\n\t...props\n}: StatLabelProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { info, children, ...rest } = props;\n\treturn (\n\t\t<ChakraStat.Label {...rest} ref={ref}>\n\t\t\t{children}\n\t\t\t{info && <InfoTip>{info}</InfoTip>}\n\t\t</ChakraStat.Label>\n\t);\n};\nStatLabel.displayName = \"StatLabel\";\n\nexport interface StatValueTextProps extends ChakraStat.ValueTextProps {\n\tvalue?: number;\n\tformatOptions?: Intl.NumberFormatOptions;\n}\n\nexport const StatValueText = function StatValueText({\n\tref,\n\t...props\n}: StatValueTextProps & { ref?: React.Ref<HTMLDivElement> }) {\n\tconst { value, formatOptions, children, ...rest } = props;\n\treturn (\n\t\t<ChakraStat.ValueText {...rest} ref={ref}>\n\t\t\t{children ||\n\t\t\t\t(value != null && <FormatNumber value={value} {...formatOptions} />)}\n\t\t</ChakraStat.ValueText>\n\t);\n};\nStatValueText.displayName = \"StatValueText\";\n\nexport const StatUpTrend = function StatUpTrend({\n\tref,\n\t...props\n}: BadgeProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<Badge colorPalette=\"green\" gap=\"0\" {...props} ref={ref}>\n\t\t\t<ChakraStat.UpIndicator />\n\t\t\t{props.children}\n\t\t</Badge>\n\t);\n};\nStatUpTrend.displayName = \"StatUpTrend\";\n\nexport const StatDownTrend = function StatDownTrend({\n\tref,\n\t...props\n}: BadgeProps & { ref?: React.Ref<HTMLDivElement> }) {\n\treturn (\n\t\t<Badge colorPalette=\"red\" gap=\"0\" {...props} ref={ref}>\n\t\t\t<ChakraStat.DownIndicator />\n\t\t\t{props.children}\n\t\t</Badge>\n\t);\n};\nStatDownTrend.displayName = \"StatDownTrend\";\n\nexport const StatRoot = ChakraStat.Root;\nStatRoot.displayName = \"StatRoot\";\nexport const StatHelpText = ChakraStat.HelpText;\nStatHelpText.displayName = \"StatHelpText\";\nexport const StatValueUnit = ChakraStat.ValueUnit;\nStatValueUnit.displayName = \"StatValueUnit\";\n","import {\n\tToaster as ChakraToaster,\n\tcreateToaster,\n\tPortal,\n\tSpinner,\n\tStack,\n\tToast,\n} from \"@chakra-ui/react\";\n\nexport interface CreateToasterOptions {\n\tplacement?:\n\t\t| \"top\"\n\t\t| \"top-start\"\n\t\t| \"top-end\"\n\t\t| \"bottom\"\n\t\t| \"bottom-start\"\n\t\t| \"bottom-end\";\n\tpauseOnPageIdle?: boolean;\n}\n\nexport function createAnkerToaster(options: CreateToasterOptions = {}) {\n\tconst { placement = \"bottom-end\", pauseOnPageIdle = true } = options;\n\n\tconst toaster = createToaster({\n\t\tplacement,\n\t\tpauseOnPageIdle,\n\t});\n\n\tconst ToasterComponent = () => {\n\t\treturn (\n\t\t\t<Portal>\n\t\t\t\t<ChakraToaster toaster={toaster} insetInline={{ mdDown: \"4\" }}>\n\t\t\t\t\t{(toast) => (\n\t\t\t\t\t\t<Toast.Root width={{ md: \"sm\" }}>\n\t\t\t\t\t\t\t{toast.type === \"loading\" ? (\n\t\t\t\t\t\t\t\t<Spinner size=\"sm\" color=\"accent\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Toast.Indicator />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Stack gap=\"1\" flex=\"1\" maxWidth=\"100%\">\n\t\t\t\t\t\t\t\t{toast.title && <Toast.Title>{toast.title}</Toast.Title>}\n\t\t\t\t\t\t\t\t{toast.description && (\n\t\t\t\t\t\t\t\t\t<Toast.Description>{toast.description}</Toast.Description>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t{toast.action && (\n\t\t\t\t\t\t\t\t<Toast.ActionTrigger>{toast.action.label}</Toast.ActionTrigger>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{toast.closable && <Toast.CloseTrigger />}\n\t\t\t\t\t\t</Toast.Root>\n\t\t\t\t\t)}\n\t\t\t\t</ChakraToaster>\n\t\t\t</Portal>\n\t\t);\n\t};\n\n\treturn { toaster, Toaster: ToasterComponent };\n}\n\n// Default instance for convenience\nconst { toaster, Toaster } = createAnkerToaster();\n\n(Toaster as { displayName?: string }).displayName = \"Toaster\";\n\nexport { toaster, Toaster };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knkcs/anker",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "UI component library for the knk software group",
5
5
  "repository": {
6
6
  "type": "git",