@scattered-light/loomiere-base-ui 0.19.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +4 -2
  2. package/dist/{chunk-M7KJASGK.js → chunk-43IJNNXK.js} +86 -3
  3. package/dist/chunk-43IJNNXK.js.map +1 -0
  4. package/dist/{chunk-2BFNETZZ.js → chunk-B5FH3RF5.js} +33 -15
  5. package/dist/chunk-B5FH3RF5.js.map +1 -0
  6. package/dist/chunk-Z6SR3KMB.js +77 -0
  7. package/dist/chunk-Z6SR3KMB.js.map +1 -0
  8. package/dist/custom/collection/index.d.ts +37 -2
  9. package/dist/custom/collection/index.js +70 -5
  10. package/dist/custom/collection/index.js.map +1 -1
  11. package/dist/custom/index.d.ts +1 -1
  12. package/dist/custom/index.js +2 -2
  13. package/dist/design-system/components/CollectionCards/README.md +32 -0
  14. package/dist/design-system/components/CollectionCards/preview.html +2 -2
  15. package/dist/design-system/components/CollectionToolbar/README.md +3 -1
  16. package/dist/design-system/components/PickerButton/README.md +1 -1
  17. package/dist/design-system/components/SplitButton/README.md +25 -0
  18. package/dist/design-system/components/SplitButton/preview.html +19 -0
  19. package/dist/design-system/components/StatCard/README.md +4 -1
  20. package/dist/design-system/components/StatCard/preview.html +1 -1
  21. package/dist/design-system/components/bundle.js +7 -7
  22. package/dist/design-system/components/index.d.ts +1 -1
  23. package/dist/design-system/components/styles.css +180 -67
  24. package/dist/{index-ywBkS0AA.d.ts → index-CB3_OECu.d.ts} +35 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +5 -18
  27. package/dist/index.js.map +1 -1
  28. package/dist/styles/components/Accordion.css +1 -1
  29. package/dist/styles/components/AlertDialog.css +1 -1
  30. package/dist/styles/components/Autocomplete.css +1 -1
  31. package/dist/styles/components/Avatar.css +1 -1
  32. package/dist/styles/components/Button.css +1 -1
  33. package/dist/styles/components/Checkbox.css +1 -1
  34. package/dist/styles/components/CheckboxGroup.css +1 -1
  35. package/dist/styles/components/Collapsible.css +1 -1
  36. package/dist/styles/components/Combobox.css +1 -1
  37. package/dist/styles/components/ContextMenu.css +1 -1
  38. package/dist/styles/components/Dialog.css +1 -1
  39. package/dist/styles/components/Drawer.css +1 -1
  40. package/dist/styles/components/Field.css +1 -1
  41. package/dist/styles/components/Fieldset.css +1 -1
  42. package/dist/styles/components/Form.css +1 -1
  43. package/dist/styles/components/Input.css +1 -1
  44. package/dist/styles/components/Menu.css +1 -1
  45. package/dist/styles/components/Menubar.css +1 -1
  46. package/dist/styles/components/Meter.css +1 -1
  47. package/dist/styles/components/NavigationMenu.css +1 -1
  48. package/dist/styles/components/NumberField.css +1 -1
  49. package/dist/styles/components/OTPField.css +1 -1
  50. package/dist/styles/components/Popover.css +1 -1
  51. package/dist/styles/components/PreviewCard.css +1 -1
  52. package/dist/styles/components/Progress.css +1 -1
  53. package/dist/styles/components/Radio.css +1 -1
  54. package/dist/styles/components/ScrollArea.css +1 -1
  55. package/dist/styles/components/Select.css +1 -1
  56. package/dist/styles/components/Separator.css +1 -1
  57. package/dist/styles/components/Slider.css +1 -1
  58. package/dist/styles/components/Switch.css +1 -1
  59. package/dist/styles/components/Tabs.css +1 -1
  60. package/dist/styles/components/Toast.css +1 -1
  61. package/dist/styles/components/Toggle.css +1 -1
  62. package/dist/styles/components/ToggleGroup.css +1 -1
  63. package/dist/styles/components/Toolbar.css +1 -1
  64. package/dist/styles/components/Tooltip.css +1 -1
  65. package/dist/styles/custom/AppBar.css +1 -1
  66. package/dist/styles/custom/Badge.css +1 -1
  67. package/dist/styles/custom/Collection.css +1 -1
  68. package/dist/styles/custom/CollectionCards.css +1 -1
  69. package/dist/styles/custom/CollectionPagination.css +1 -1
  70. package/dist/styles/custom/CollectionToolbar.css +47 -1
  71. package/dist/styles/custom/DataList.css +1 -1
  72. package/dist/styles/custom/DataTable.css +1 -1
  73. package/dist/styles/custom/DatePicker.css +1 -1
  74. package/dist/styles/custom/DescriptionList.css +1 -1
  75. package/dist/styles/custom/EditableList.css +1 -1
  76. package/dist/styles/custom/EmptyState.css +1 -1
  77. package/dist/styles/custom/ListDetail.css +1 -1
  78. package/dist/styles/custom/MoneyField.css +1 -1
  79. package/dist/styles/custom/PickerButton.css +4 -4
  80. package/dist/styles/custom/PickerSplit.css +2 -2
  81. package/dist/styles/custom/Sheet.css +1 -1
  82. package/dist/styles/custom/SideNav.css +1 -1
  83. package/dist/styles/custom/SplitButton.css +23 -0
  84. package/dist/styles/custom/Splitter.css +1 -1
  85. package/dist/styles/custom/StatCard.css +44 -1
  86. package/dist/styles/custom/StatFigure.css +1 -1
  87. package/dist/styles/custom/Table.css +1 -1
  88. package/dist/styles/index.css +2 -1
  89. package/dist/styles/reset/accessibility.css +1 -1
  90. package/dist/styles/reset/reset-accessibility.css +1 -1
  91. package/dist/styles/reset/reset-tailwind.css +1 -1
  92. package/dist/styles/reset/reset.css +1 -1
  93. package/dist/styles/tailwind.css +2 -1
  94. package/package.json +2 -2
  95. package/dist/chunk-2BFNETZZ.js.map +0 -1
  96. package/dist/chunk-M7KJASGK.js.map +0 -1
  97. package/dist/chunk-Y2CPBMFJ.js +0 -147
  98. package/dist/chunk-Y2CPBMFJ.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/cn.ts","../src/utils/styled-part.tsx","../src/components/button.tsx","../src/components/select.tsx","../src/components/combobox.tsx","../src/custom/empty-state.tsx","../src/custom/collection/collection-utils.ts","../src/custom/use-under-width.ts"],"names":["React","React2","Button","jsx","BaseButton","BaseSelect","BaseCombobox","Trigger","React3","Icon","Positioner","Popup","List","Item","ItemIndicator","GroupLabel","Separator","EmptyStateRoot","EmptyStateMedia","EmptyStateTitle","EmptyStateDescription","EmptyStateActions","EmptyState","React5"],"mappings":"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","file":"chunk-M7KJASGK.js","sourcesContent":["/**\n * Merge class names (strings, arrays, conditional objects). No external deps.\n */\ntype ClassValue =\n | string\n | number\n | boolean\n | undefined\n | null\n | Record<string, boolean | undefined>\n | ClassValue[];\n\nexport function cn(...inputs: ClassValue[]): string {\n const out: string[] = [];\n for (const input of inputs) {\n if (input == null || input === false) continue;\n if (typeof input === 'string' || typeof input === 'number') {\n out.push(String(input));\n } else if (Array.isArray(input)) {\n const inner = cn(...input);\n if (inner) out.push(inner);\n } else if (typeof input === 'object') {\n for (const [k, v] of Object.entries(input)) {\n if (v) out.push(k);\n }\n }\n }\n return out.join(' ');\n}\n\n/** Merge a static BEM block with Base UI `className` (string or state callback). */\nexport function cnState<State>(\n base: string,\n className: string | ((state: State) => string | undefined) | undefined,\n state: State,\n): string {\n return cn(base, typeof className === 'function' ? className(state) : className);\n}\n","import * as React from 'react';\nimport { cn, cnState } from './cn';\n\ntype AnyClassName = string | ((state: never) => string | undefined) | undefined;\n\n/**\n * A Base UI part that always carries its design-system class.\n * A `className` string or state callback is merged after that class.\n */\nexport function styledPart<E extends HTMLElement, P extends object>(\n Base: React.ComponentType<P & React.RefAttributes<E>>,\n displayName: string,\n baseClass: string,\n) {\n const Comp = React.forwardRef<E, P>(function StyledPart(props, ref) {\n const { className, ...rest } = props as P & { className?: AnyClassName };\n return (\n <Base\n ref={ref}\n {...(rest as P)}\n className={(state: never) => cnState(baseClass, className, state)}\n />\n );\n });\n Comp.displayName = displayName;\n return Comp;\n}\n\n/**\n * Like {@link styledPart}, but leaves the base class off when `className` already\n * includes `skipClass`. Two looks for one part (a Button trigger, a dialog action)\n * cannot both be applied.\n */\nexport function styledPartUnless<E extends HTMLElement, P extends object>(\n Base: React.ComponentType<P & React.RefAttributes<E>>,\n displayName: string,\n baseClass: string,\n skipClass: string,\n) {\n const Comp = React.forwardRef<E, P>(function StyledPart(props, ref) {\n const { className, ...rest } = props as P & { className?: AnyClassName };\n return (\n <Base\n ref={ref}\n {...(rest as P)}\n className={(state: never) => {\n const extra = typeof className === 'function' ? className(state) : className;\n const skip = extra?.split(/\\s+/).includes(skipClass);\n return cn(skip ? undefined : baseClass, extra);\n }}\n />\n );\n });\n Comp.displayName = displayName;\n return Comp;\n}\n\n/** True when the children are one element and no text: an icon on its own. */\nexport function isIconOnly(children: React.ReactNode) {\n const items = React.Children.toArray(children);\n return items.length === 1 && React.isValidElement(items[0]);\n}\n\n/** The props every button-like part takes, the same as {@link Button}'s. */\nexport type ButtonPartProps = {\n /** How loud the button is. The brand's roles decide what each level looks like. */\n emphasis?: 'bold' | 'standard' | 'subtle' | 'quiet';\n /** Paint the level in another palette instead of the level's own color (e.g. \"secondary\", \"error\"). */\n palette?: string;\n};\n\ntype ButtonPartOptions = {\n /** The part's own class, always applied (e.g. `PopoverTrigger`). */\n partClass?: string;\n /**\n * Only a Button when asked: `className` includes `Button`, or `emphasis` or `palette` is set.\n * Otherwise the part is drawn with `otherClass`.\n */\n optIn?: boolean;\n /** The class used when the part is not a Button (the corner X, a select field). */\n otherClass?: string;\n /** Not a Button when `className` includes this class (a menubar row). */\n skipClass?: string;\n};\n\n/**\n * A Base UI part drawn as a {@link Button}: it takes `emphasis` and `palette`, and a part holding\n * only an icon gets `data-icon-only`. Every trigger, close, and action that looks like a button\n * goes through here, so they all behave the same.\n */\nexport function buttonPart<E extends HTMLElement, P extends object>(\n Base: React.ComponentType<P & React.RefAttributes<E>>,\n displayName: string,\n { partClass, optIn = false, otherClass, skipClass }: ButtonPartOptions = {},\n) {\n const Comp = React.forwardRef<E, P & ButtonPartProps>(function ButtonPart(props, ref) {\n const { className, emphasis, palette, ...rest } = props as P &\n ButtonPartProps & { className?: AnyClassName; children?: React.ReactNode };\n const asked = emphasis !== undefined || palette !== undefined;\n return (\n <Base\n ref={ref}\n data-emphasis={emphasis}\n data-color={palette}\n data-icon-only={isIconOnly(rest.children) ? '' : undefined}\n {...(rest as P)}\n className={(state: never) => {\n const extra = typeof className === 'function' ? className(state) : className;\n const classes = extra?.split(/\\s+/) ?? [];\n const isButton =\n !(skipClass && classes.includes(skipClass)) &&\n (!optIn || asked || classes.includes('Button'));\n return cn(\n partClass,\n isButton && !classes.includes('Button') ? 'Button' : undefined,\n isButton ? undefined : otherClass,\n extra,\n );\n }}\n />\n );\n });\n Comp.displayName = displayName;\n return Comp;\n}\n","import * as React from 'react';\nimport { Button as BaseButton } from '@base-ui/react/button';\nimport { cnState } from '../utils/cn';\nimport { isIconOnly, type ButtonPartProps } from '../utils/styled-part';\n\nexport type ButtonProps = React.ComponentProps<typeof BaseButton> & ButtonPartProps;\n\n/**\n * Base UI [Button](https://base-ui.com/react/components/button) with design-system `Button` classes.\n * A button holding only an icon gets `data-icon-only` and is drawn square (a circle, with the pill\n * corners). Icon-only buttons must include a label for assistive tech (`aria-label` or `aria-labelledby`).\n */\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n { className, emphasis, palette, children, ...props },\n ref,\n) {\n return (\n <BaseButton\n ref={ref}\n data-emphasis={emphasis}\n data-color={palette}\n data-icon-only={isIconOnly(children) ? '' : undefined}\n {...props}\n className={(state) => cnState('Button', className, state)}\n >\n {children}\n </BaseButton>\n );\n});\n\nButton.displayName = 'Button';\n","import type * as React from 'react';\nimport { Select as BaseSelect } from '@base-ui/react/select';\nimport { buttonPart, styledPart } from '../utils/styled-part';\n\n/**\n * Base UI [Select](https://base-ui.com/react/components/select) with design-system classes.\n * The trigger is a field, or a Button (in a toolbar) when it sets `emphasis`, `palette`, or\n * `className=\"Button\"`. The list is a popup of item rows.\n * `Select.Root` renders no element, so it is the Base UI root unchanged.\n */\nconst Trigger = buttonPart<HTMLButtonElement, React.ComponentProps<typeof BaseSelect.Trigger>>(\n BaseSelect.Trigger,\n 'SelectTrigger',\n { optIn: true, otherClass: 'SelectTrigger' },\n);\nconst Value = styledPart<HTMLSpanElement, React.ComponentProps<typeof BaseSelect.Value>>(\n BaseSelect.Value,\n 'SelectValue',\n 'SelectValue',\n);\nconst Icon = styledPart<HTMLSpanElement, React.ComponentProps<typeof BaseSelect.Icon>>(\n BaseSelect.Icon,\n 'SelectIcon',\n 'SelectIcon',\n);\nconst Backdrop = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.Backdrop>>(\n BaseSelect.Backdrop,\n 'SelectBackdrop',\n 'SelectBackdrop',\n);\nconst Positioner = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.Positioner>>(\n BaseSelect.Positioner,\n 'SelectPositioner',\n 'SelectPositioner',\n);\nconst Popup = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.Popup>>(\n BaseSelect.Popup,\n 'SelectPopup',\n 'SelectPopup',\n);\nconst List = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.List>>(\n BaseSelect.List,\n 'SelectList',\n 'SelectList',\n);\nconst Item = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.Item>>(\n BaseSelect.Item,\n 'SelectItem',\n 'SelectItem',\n);\nconst ItemIndicator = styledPart<HTMLSpanElement, React.ComponentProps<typeof BaseSelect.ItemIndicator>>(\n BaseSelect.ItemIndicator,\n 'SelectItemIndicator',\n 'SelectItemIndicator',\n);\nconst ItemText = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.ItemText>>(\n BaseSelect.ItemText,\n 'SelectItemText',\n 'SelectItemText',\n);\nconst Arrow = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.Arrow>>(\n BaseSelect.Arrow,\n 'SelectArrow',\n 'SelectArrow',\n);\nconst ScrollDownArrow = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.ScrollDownArrow>>(\n BaseSelect.ScrollDownArrow,\n 'SelectScrollDownArrow',\n 'SelectScrollArrow',\n);\nconst ScrollUpArrow = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.ScrollUpArrow>>(\n BaseSelect.ScrollUpArrow,\n 'SelectScrollUpArrow',\n 'SelectScrollArrow',\n);\nconst Group = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.Group>>(\n BaseSelect.Group,\n 'SelectGroup',\n 'SelectGroup',\n);\nconst GroupLabel = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.GroupLabel>>(\n BaseSelect.GroupLabel,\n 'SelectGroupLabel',\n 'SelectGroupLabel',\n);\nconst Separator = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseSelect.Separator>>(\n BaseSelect.Separator,\n 'SelectSeparator',\n 'SelectSeparator',\n);\n\nexport const Select = {\n Root: BaseSelect.Root,\n Label: BaseSelect.Label,\n Trigger,\n Value,\n Icon,\n Portal: BaseSelect.Portal,\n Backdrop,\n Positioner,\n Popup,\n List,\n Item,\n ItemIndicator,\n ItemText,\n Arrow,\n ScrollDownArrow,\n ScrollUpArrow,\n Group,\n GroupLabel,\n Separator,\n};\n","import * as React from 'react';\nimport { Combobox as BaseCombobox, type ComboboxRootProps } from '@base-ui/react/combobox';\nimport { cn } from '../utils/cn';\nimport { styledPart } from '../utils/styled-part';\n\n/**\n * Base UI [Combobox](https://base-ui.com/react/components/combobox) with design-system classes.\n * The input is Input, the chips box is a field, and the clear and open buttons are icon buttons.\n * Root renders no element, so this draws the `ComboboxRoot` box around it.\n * `Combobox.Trigger` is the icon button. Pass `className=\"ComboboxSelectTrigger\"` when the\n * trigger is the field and the input lives in the popup.\n */\nfunction Root<Value, Multiple extends boolean | undefined = false, Item = Value>({\n className,\n style,\n ...props\n}: ComboboxRootProps<Value, Multiple, Item> & { className?: string; style?: React.CSSProperties }) {\n return (\n <div className={cn('ComboboxRoot', className)} style={style}>\n <BaseCombobox.Root<Value, Multiple, Item> {...props} />\n </div>\n );\n}\n\nconst Trigger = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof BaseCombobox.Trigger>>(\n function ComboboxTrigger({ className, ...props }, ref) {\n return (\n <BaseCombobox.Trigger\n ref={ref}\n {...props}\n className={(state) => {\n const extra = typeof className === 'function' ? className(state) : className;\n const selectTrigger = extra?.split(/\\s+/).includes('ComboboxSelectTrigger');\n return cn(selectTrigger ? undefined : 'ComboboxTrigger', extra);\n }}\n />\n );\n },\n);\n\nconst Label = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.Label>>(\n BaseCombobox.Label,\n 'ComboboxLabel',\n 'ComboboxLabel',\n);\nconst Input = styledPart<HTMLInputElement, React.ComponentProps<typeof BaseCombobox.Input>>(\n BaseCombobox.Input,\n 'ComboboxInput',\n 'ComboboxInput',\n);\nconst Clear = styledPart<HTMLButtonElement, React.ComponentProps<typeof BaseCombobox.Clear>>(\n BaseCombobox.Clear,\n 'ComboboxClear',\n 'ComboboxClear',\n);\nconst Icon = styledPart<HTMLSpanElement, React.ComponentProps<typeof BaseCombobox.Icon>>(\n BaseCombobox.Icon,\n 'ComboboxIcon',\n 'ComboboxIcon',\n);\nconst Chips = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.Chips>>(\n BaseCombobox.Chips,\n 'ComboboxChips',\n 'ComboboxChips',\n);\nconst Chip = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.Chip>>(\n BaseCombobox.Chip,\n 'ComboboxChip',\n 'ComboboxChip',\n);\nconst ChipRemove = styledPart<HTMLButtonElement, React.ComponentProps<typeof BaseCombobox.ChipRemove>>(\n BaseCombobox.ChipRemove,\n 'ComboboxChipRemove',\n 'ComboboxChipRemove',\n);\nconst Positioner = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.Positioner>>(\n BaseCombobox.Positioner,\n 'ComboboxPositioner',\n 'ComboboxPositioner',\n);\nconst Popup = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.Popup>>(\n BaseCombobox.Popup,\n 'ComboboxPopup',\n 'ComboboxPopup',\n);\nconst List = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.List>>(\n BaseCombobox.List,\n 'ComboboxList',\n 'ComboboxList',\n);\nconst Item = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.Item>>(\n BaseCombobox.Item,\n 'ComboboxItem',\n 'ComboboxItem',\n);\nconst ItemIndicator = styledPart<HTMLSpanElement, React.ComponentProps<typeof BaseCombobox.ItemIndicator>>(\n BaseCombobox.ItemIndicator,\n 'ComboboxItemIndicator',\n 'ComboboxItemIndicator',\n);\nconst GroupLabel = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.GroupLabel>>(\n BaseCombobox.GroupLabel,\n 'ComboboxGroupLabel',\n 'ComboboxGroupLabel',\n);\nconst Separator = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.Separator>>(\n BaseCombobox.Separator,\n 'ComboboxSeparator',\n 'ComboboxSeparator',\n);\nconst Empty = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.Empty>>(\n BaseCombobox.Empty,\n 'ComboboxEmpty',\n 'ComboboxEmpty',\n);\nconst Status = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseCombobox.Status>>(\n BaseCombobox.Status,\n 'ComboboxStatus',\n 'ComboboxStatus',\n);\n\nexport const Combobox = {\n Root,\n Label,\n Value: BaseCombobox.Value,\n Input,\n InputGroup: BaseCombobox.InputGroup,\n Trigger,\n List,\n Status,\n Portal: BaseCombobox.Portal,\n Backdrop: BaseCombobox.Backdrop,\n Positioner,\n Popup,\n Arrow: BaseCombobox.Arrow,\n Icon,\n Group: BaseCombobox.Group,\n GroupLabel,\n Item,\n ItemIndicator,\n Chips,\n Chip,\n ChipRemove,\n Row: BaseCombobox.Row,\n Collection: BaseCombobox.Collection,\n Empty,\n Clear,\n Separator,\n useFilter: BaseCombobox.useFilter,\n useFilteredItems: BaseCombobox.useFilteredItems,\n createItems: BaseCombobox.createItems,\n};\n","import * as React from 'react';\nimport { cn } from '../utils/cn';\n\nexport type EmptyStateKind = 'start' | 'no-results' | 'error' | 'done' | 'no-access' | 'unselected';\nexport type EmptyStateSize = 'compact' | 'standard' | 'spacious';\n\nconst ICONS: Record<EmptyStateKind, string> = {\n start: 'inbox',\n 'no-results': 'search_off',\n error: 'error',\n done: 'check_circle',\n 'no-access': 'lock',\n // A pointer, not an empty inbox: the pane is waiting for a choice in the list beside it.\n unselected: 'left_click',\n};\n\nconst MEDIA_STATUS: Partial<Record<EmptyStateKind, 'error' | 'success'>> = {\n error: 'error',\n done: 'success',\n};\n\n/**\n * role=\"status\" and role=\"alert\" carry the live behavior. aria-live as well would announce twice.\n * error stays quiet unless the app asks: a failed load on arrival should not shout.\n */\nfunction announcedRole(kind: EmptyStateKind, announce: boolean | undefined): 'status' | 'alert' | undefined {\n if (announce === false) return undefined;\n if (kind === 'error') return announce ? 'alert' : undefined;\n if (announce || kind === 'no-results' || kind === 'done') return 'status';\n return undefined;\n}\n\nfunction titleTag(size: EmptyStateSize, headingLevel?: EmptyStateTitleProps['headingLevel']) {\n if (headingLevel) return `h${headingLevel}` as 'h2';\n // A table cell or a popup is not a section. A heading there would land in the page outline.\n if (size === 'compact') return 'p' as 'h2';\n return 'h2' as const;\n}\n\n/** A string child is announced. A node is visible only: the app names it if it should be read. */\nfunction textOf(node: React.ReactNode): string | null {\n if (typeof node === 'string' || typeof node === 'number') return String(node);\n return null;\n}\n\ntype EmptyStateContextValue = {\n kind: EmptyStateKind;\n size: EmptyStateSize;\n report: (part: 'title' | 'description', value: string | null) => void;\n};\n\nconst EmptyStateContext = React.createContext<EmptyStateContextValue | null>(null);\n\nexport type EmptyStateRootProps = React.ComponentProps<'div'> & {\n kind?: EmptyStateKind;\n size?: EmptyStateSize;\n /** true announces; false stays silent; omitted uses the kind's default. */\n announce?: boolean;\n};\n\n/**\n * The frame. Not a Base UI part, so there is no `render` prop.\n * Wrap it when it needs to be another element. Same reason Badge skips `render`.\n *\n * The live span starts empty and fills one frame later, so the words are a change inside a\n * region that already exists. A block that mounts already `done` stays empty: opening the\n * page on \"All caught up\" is not news, and a freshly mounted done block is the same case.\n * `done` is read when a block that was showing something else becomes done.\n */\nexport const EmptyStateRoot = React.forwardRef<HTMLDivElement, EmptyStateRootProps>(function EmptyStateRoot(\n { className, kind = 'start', size = 'standard', announce, children, ...props },\n ref,\n) {\n const role = announcedRole(kind, announce);\n const [copy, setCopy] = React.useState<{ title: string | null; description: string | null }>({ title: null, description: null });\n const [live, setLive] = React.useState('');\n // True when this instance mounted already `done`. That first showing stays silent,\n // including the copy arriving a layout later. Any other kind, or `done` after a\n // different kind, fills the region.\n const openedAsDone = React.useRef(kind === 'done');\n const report = React.useCallback((part: 'title' | 'description', value: string | null) => {\n setCopy((current) => (current[part] === value ? current : { ...current, [part]: value }));\n }, []);\n const message = [copy.title, copy.description].filter(Boolean).join(' ');\n React.useEffect(() => {\n if (kind !== 'done') openedAsDone.current = false;\n if (!role || (kind === 'done' && openedAsDone.current)) return;\n const frame = requestAnimationFrame(() => setLive(message));\n return () => cancelAnimationFrame(frame);\n }, [kind, message, role]);\n const context = React.useMemo(() => ({ kind, size, report }), [kind, report, size]);\n\n return (\n <EmptyStateContext.Provider value={context}>\n <div ref={ref} data-kind={kind} data-size={size} className={cn('EmptyState', className)} {...props}>\n {role ? (\n <span className=\"visually-hidden\" role={role}>\n {live}\n </span>\n ) : null}\n {children}\n </div>\n </EmptyStateContext.Provider>\n );\n});\n\nexport type EmptyStateMediaProps = React.ComponentProps<'div'> & {\n /** Overrides the root kind. error and done tint the circle. Other kinds stay neutral. */\n kind?: EmptyStateKind;\n /** An illustration the app owns. Not tinted. */\n custom?: boolean;\n};\n\nexport const EmptyStateMedia = React.forwardRef<HTMLDivElement, EmptyStateMediaProps>(function EmptyStateMedia(\n { className, kind, custom, ...props },\n ref,\n) {\n const state = React.useContext(EmptyStateContext);\n const tone = kind ?? state?.kind;\n return (\n <div\n ref={ref}\n data-status={tone ? MEDIA_STATUS[tone] : undefined}\n data-custom={custom ? '' : undefined}\n className={cn('EmptyStateMedia', className)}\n {...props}\n />\n );\n});\n\nexport type EmptyStateTitleProps = React.ComponentProps<'h2'> & {\n /** Overrides the root size. Compact is a paragraph unless headingLevel is set. */\n size?: EmptyStateSize;\n /** 2–6. Compact is a paragraph unless this is set. */\n headingLevel?: 2 | 3 | 4 | 5 | 6;\n};\n\nexport const EmptyStateTitle = React.forwardRef<HTMLElement, EmptyStateTitleProps>(function EmptyStateTitle(\n { className, size, headingLevel, children, ...props },\n ref,\n) {\n const state = React.useContext(EmptyStateContext);\n const Tag = titleTag(size ?? state?.size ?? 'standard', headingLevel);\n const text = textOf(children);\n React.useLayoutEffect(() => {\n state?.report('title', text);\n return () => state?.report('title', null);\n }, [state, text]);\n // Compact is a paragraph. The ref is an element either way; the tag's own ref type is narrower.\n return (\n <Tag ref={ref as React.Ref<HTMLHeadingElement>} className={cn('EmptyStateTitle', className)} {...props}>\n {children}\n </Tag>\n );\n});\n\nexport type EmptyStateDescriptionProps = React.ComponentProps<'p'>;\n\nexport const EmptyStateDescription = React.forwardRef<HTMLParagraphElement, EmptyStateDescriptionProps>(\n function EmptyStateDescription({ className, children, ...props }, ref) {\n const state = React.useContext(EmptyStateContext);\n const text = textOf(children);\n React.useLayoutEffect(() => {\n state?.report('description', text);\n return () => state?.report('description', null);\n }, [state, text]);\n return (\n <p ref={ref} className={cn('EmptyStateDescription', className)} {...props}>\n {children}\n </p>\n );\n },\n);\n\nexport type EmptyStateActionsProps = React.ComponentProps<'div'>;\n\nexport const EmptyStateActions = React.forwardRef<HTMLDivElement, EmptyStateActionsProps>(function EmptyStateActions(\n { className, ...props },\n ref,\n) {\n return <div ref={ref} className={cn('EmptyStateActions', className)} {...props} />;\n});\n\nexport type EmptyStateProps = Omit<React.ComponentProps<'div'>, 'title'> & {\n /** What is empty. Required. */\n title: React.ReactNode;\n kind?: EmptyStateKind;\n size?: EmptyStateSize;\n /**\n * A Material Symbols name, or a node. Omit it for the kind's icon.\n * null hides the media.\n */\n icon?: React.ReactNode;\n /** Replaces the media slot. Not tinted. An image or illustration the app owns. */\n media?: React.ReactNode;\n description?: React.ReactNode;\n /** First action is the main one. The app picks each button's emphasis. */\n actions?: React.ReactNode;\n headingLevel?: EmptyStateTitleProps['headingLevel'];\n announce?: boolean;\n};\n\nfunction Glyph({ name }: { name: string }) {\n return (\n <span className=\"material-symbols-outlined\" aria-hidden=\"true\">\n {name}\n </span>\n );\n}\n\n/**\n * The block a screen, pane, table, list or popup shows when it has nothing to show.\n * One component for every situation: the kind picks the icon, the media tone and whether\n * it is announced. The app writes the copy and decides when to show it.\n */\nexport const EmptyState = Object.assign(\n React.forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState(\n {\n className,\n kind = 'start',\n size = 'standard',\n icon,\n media,\n title,\n description,\n actions,\n headingLevel,\n announce,\n children,\n ...props\n },\n ref,\n ) {\n const showMedia = media !== undefined || icon !== null;\n return (\n <EmptyStateRoot ref={ref} kind={kind} size={size} announce={announce} className={className} {...props}>\n {showMedia ? (\n <EmptyStateMedia custom={media !== undefined}>\n {media !== undefined ? (\n media\n ) : typeof icon === 'string' || icon === undefined ? (\n <Glyph name={typeof icon === 'string' ? icon : ICONS[kind]} />\n ) : (\n <span aria-hidden=\"true\">{icon}</span>\n )}\n </EmptyStateMedia>\n ) : null}\n <div className=\"EmptyStateText\">\n <EmptyStateTitle headingLevel={headingLevel}>{title}</EmptyStateTitle>\n {description ? <EmptyStateDescription>{description}</EmptyStateDescription> : null}\n </div>\n {actions ? <EmptyStateActions>{actions}</EmptyStateActions> : null}\n {children}\n </EmptyStateRoot>\n );\n }),\n {\n Root: EmptyStateRoot,\n Media: EmptyStateMedia,\n Title: EmptyStateTitle,\n Description: EmptyStateDescription,\n Actions: EmptyStateActions,\n },\n);\n","/**\n * Search, sort, money and paging rules for a collection. No React: the hook and the\n * tests both call these, and TanStack applies the comparators. It is not a second\n * filter engine. Faceting, selection and the row models stay in TanStack.\n */\n\nexport type SortKind = 'text' | 'number' | 'money' | 'percent' | 'date' | 'boolean';\nexport type NegativeStyle = 'minus' | 'parens';\nexport type BalanceTone = 'balanced' | 'under' | 'over';\n\nconst collators = new Map<string, Intl.Collator>();\n\nexport function collatorFor(locale: string): Intl.Collator {\n let collator = collators.get(locale);\n if (!collator) {\n collator = new Intl.Collator(locale, { numeric: true, sensitivity: 'base' });\n collators.set(locale, collator);\n }\n return collator;\n}\n\n/** Case-insensitive, accent-insensitive. NFKD splits accents into combining marks. */\nexport function normalizeSearch(value: string): string {\n return value.normalize('NFKD').replace(/\\p{M}/gu, '').toLowerCase();\n}\n\nexport function isEmptyValue(value: unknown): boolean {\n return value == null || value === '';\n}\n\nexport function fractionDigitsOf(currency: string): number {\n try {\n return new Intl.NumberFormat('en', { style: 'currency', currency }).resolvedOptions().maximumFractionDigits ?? 2;\n } catch {\n return 2;\n }\n}\n\n/**\n * Exact decimal to integer minor units. Strings never pass through a float.\n * A number is turned into its decimal text first. Multiplying by 10 ** digits rounds\n * 1.005 down to 1.00, because the float is 1.004999….\n */\nexport function toMinor(value: number | string | null | undefined, digits: number): bigint | null {\n if (isEmptyValue(value)) return null;\n const scale = 10n ** BigInt(digits);\n const text = typeof value === 'number' ? numberToDecimal(value) : String(value);\n if (text == null) return null;\n const match = text.trim().replace(/,/g, '').replace(/^\\((.*)\\)$/, '-$1').match(/^([+-])?(\\d+)(?:\\.(\\d+))?$/);\n if (!match) return null;\n const sign = match[1] === '-' ? -1n : 1n;\n const whole = BigInt(match[2] || '0');\n const fracRaw = match[3] ?? '';\n const frac = BigInt((fracRaw.padEnd(digits, '0').slice(0, digits) || '0'));\n let minor = whole * scale + frac;\n const roundDigit = fracRaw.charAt(digits);\n if (roundDigit && roundDigit >= '5') minor += 1n;\n return minor * sign;\n}\n\n/** Exponent form (`1e-7`) has no decimal point, so it is written out before the digit count. */\nfunction numberToDecimal(value: number): string | null {\n if (!Number.isFinite(value)) return null;\n const text = Object.is(value, -0) ? '-0' : String(value);\n if (!/[eE]/.test(text)) return text;\n return value.toLocaleString('en', { useGrouping: false, maximumFractionDigits: 20 });\n}\n\nexport function minorToDecimal(minor: bigint, digits: number): string {\n const sign = minor < 0n ? '-' : '';\n const abs = minor < 0n ? -minor : minor;\n const scale = 10n ** BigInt(digits);\n const whole = abs / scale;\n if (!digits) return `${sign}${whole}`;\n const frac = (abs % scale).toString().padStart(digits, '0');\n return `${sign}${whole}.${frac}`;\n}\n\nexport function compareDecimal(a: number | string, b: number | string): number {\n const places = Math.max(decimalPlaces(a), decimalPlaces(b));\n const left = toMinor(a, places);\n const right = toMinor(b, places);\n if (left == null || right == null) return 0;\n if (left < right) return -1;\n if (left > right) return 1;\n return 0;\n}\n\nfunction decimalPlaces(value: number | string): number {\n const text = (typeof value === 'number' ? numberToDecimal(value) : String(value)) ?? '';\n const plain = text.replace(/,/g, '');\n const dot = plain.indexOf('.');\n return dot === -1 ? 0 : plain.length - dot - 1;\n}\n\nconst DATE_ONLY = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\n\n/** `YYYY-MM-DD` is that calendar day in local time. `new Date('2026-10-03')` is UTC midnight, which is the day before in the US. */\nexport function calendarDate(value: unknown): Date | null {\n if (value instanceof Date) return Number.isNaN(value.getTime()) ? null : value;\n if (typeof value === 'string') {\n const match = DATE_ONLY.exec(value);\n if (match) return new Date(Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n }\n if (typeof value === 'string' || typeof value === 'number') {\n const date = new Date(value);\n return Number.isNaN(date.getTime()) ? null : date;\n }\n return null;\n}\n\nexport interface SortItem<T> {\n value: unknown;\n index: number;\n row: T;\n}\n\n/**\n * Empty values sort last in either direction. Ties keep the incoming order.\n * `desc` flips only the real values, never the empty ones.\n */\nexport function sortRows<T>(items: SortItem<T>[], kind: SortKind, desc: boolean, locale: string): T[] {\n const collator = collatorFor(locale);\n const sorted = [...items].sort((a, b) => {\n const aEmpty = isEmptyValue(a.value);\n const bEmpty = isEmptyValue(b.value);\n if (aEmpty || bEmpty) {\n if (aEmpty && bEmpty) return a.index - b.index;\n return aEmpty ? 1 : -1;\n }\n const compared = comparePresent(a.value, b.value, kind, collator);\n if (compared === 0) return a.index - b.index;\n return desc ? -compared : compared;\n });\n return sorted.map((item) => item.row);\n}\n\nexport function comparePresent(a: unknown, b: unknown, kind: SortKind, collator: Intl.Collator): number {\n if (kind === 'number' || kind === 'money' || kind === 'percent') {\n return compareDecimal(a as number | string, b as number | string);\n }\n if (kind === 'date') {\n const at = dateStamp(a);\n const bt = dateStamp(b);\n if (at == null || bt == null) return 0;\n return at < bt ? -1 : at > bt ? 1 : 0;\n }\n if (kind === 'boolean') return Number(Boolean(a)) - Number(Boolean(b));\n return collator.compare(String(a), String(b));\n}\n\nfunction dateStamp(value: unknown): number | null {\n return calendarDate(value)?.getTime() ?? null;\n}\n\nexport function formatMoney(\n value: number | string | null | undefined,\n options: { locale: string; currency: string; fractionDigits?: number; negative?: NegativeStyle },\n): string {\n const digits = options.fractionDigits ?? fractionDigitsOf(options.currency);\n const minor = toMinor(value, digits);\n if (minor == null) return '';\n // The exact decimal string, sign included. Intl places the minus or the accounting brackets.\n return new Intl.NumberFormat(options.locale, {\n style: 'currency',\n currency: options.currency,\n minimumFractionDigits: digits,\n maximumFractionDigits: digits,\n currencySign: options.negative === 'parens' ? 'accounting' : 'standard',\n }).format(minorToDecimal(minor, digits) as unknown as number);\n}\n\nexport function formatNumber(value: number | string | null | undefined, locale: string, fractionDigits?: number): string {\n if (isEmptyValue(value)) return '';\n const numeric = typeof value === 'number' ? value : Number(String(value).replace(/,/g, ''));\n if (!Number.isFinite(numeric)) return String(value);\n return new Intl.NumberFormat(locale, {\n minimumFractionDigits: fractionDigits,\n maximumFractionDigits: fractionDigits ?? 20,\n }).format(numeric);\n}\n\nexport function formatPercent(value: number | string | null | undefined, locale: string): string {\n if (isEmptyValue(value)) return '';\n const numeric = typeof value === 'number' ? value : Number(value);\n if (!Number.isFinite(numeric)) return String(value);\n return new Intl.NumberFormat(locale, { style: 'percent', maximumFractionDigits: 2 }).format(numeric);\n}\n\nexport function formatDate(value: unknown, locale: string, dateFormat?: Intl.DateTimeFormatOptions): string {\n const date = calendarDate(value);\n if (!date) return '';\n return new Intl.DateTimeFormat(locale, dateFormat ?? { dateStyle: 'medium' }).format(date);\n}\n\nexport function isoDate(value: unknown): string {\n if (typeof value === 'string' && DATE_ONLY.test(value)) return value;\n const date = value instanceof Date ? value : calendarDate(value);\n if (!date) return '';\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n return `${date.getFullYear()}-${month}-${day}`;\n}\n\n/** Forms a person might type for one amount: grouped, plain, and without a trailing zero. */\nexport function moneySearchForms(\n value: number | string,\n currency: string,\n locale: string,\n fractionDigits?: number,\n): string[] {\n const digits = fractionDigits ?? fractionDigitsOf(currency);\n const minor = toMinor(value, digits);\n if (minor == null) return [];\n const plain = minorToDecimal(minor, digits);\n const trimmed = plain.replace(/(\\.\\d*?)0+$/, '$1').replace(/\\.$/, '');\n const formatted = formatMoney(plain, { locale, currency, fractionDigits: digits });\n // Group separators come from the formatter, so 1.234,50 in de is a search hit. Stripping characters would keep the dot as a decimal.\n const grouped = new Intl.NumberFormat(locale, {\n style: 'currency',\n currency,\n minimumFractionDigits: digits,\n maximumFractionDigits: digits,\n }).formatToParts(plain as unknown as number).filter((part) => part.type === 'integer' || part.type === 'group' || part.type === 'decimal' || part.type === 'fraction' || part.type === 'minusSign').map((part) => part.value).join('');\n return [plain, trimmed, grouped, formatted];\n}\n\nexport function searchHaystack(parts: Array<string | null | undefined>): string {\n return parts.filter((part) => part != null && part !== '').join(' ');\n}\n\n/** Every word must match, in any order. An empty query matches everything. */\nexport function searchMatches(query: string, haystack: string): boolean {\n const normalized = normalizeSearch(query).trim();\n if (!normalized) return true;\n const words = normalized.split(/\\s+/);\n const text = normalizeSearch(haystack).replace(/,/g, '');\n return words.every((word) => text.includes(word.replace(/,/g, '')));\n}\n\nexport interface MoneySum {\n currency: string | null;\n minor: bigint | null;\n mixed: boolean;\n}\n\nexport function sumMoney(\n values: Array<{ amount: number | string | null | undefined; currency: string }>,\n fractionDigits?: number,\n): MoneySum {\n const currencies = new Set(values.map((value) => value.currency).filter(Boolean));\n if (currencies.size > 1) return { currency: null, minor: null, mixed: true };\n const currency = [...currencies][0] ?? null;\n if (!currency) return { currency: null, minor: 0n, mixed: false };\n const digits = fractionDigits ?? fractionDigitsOf(currency);\n let total = 0n;\n for (const value of values) {\n const minor = toMinor(value.amount, digits);\n if (minor != null) total += minor;\n }\n return { currency, minor: total, mixed: false };\n}\n\nexport function balanceOf(\n amounts: Array<number | string | null | undefined>,\n control: number | string | null | undefined,\n currency: string,\n): { tone: BalanceTone; allocated: bigint; control: bigint; delta: bigint; digits: number } {\n const digits = fractionDigitsOf(currency);\n const allocated = amounts.reduce<bigint>((sum, amount) => sum + (toMinor(amount, digits) ?? 0n), 0n);\n const target = toMinor(control, digits) ?? 0n;\n const delta = target - allocated;\n const tone: BalanceTone = delta === 0n ? 'balanced' : delta > 0n ? 'under' : 'over';\n return { tone, allocated, control: target, delta, digits };\n}\n\nexport interface PageBounds {\n pageIndex: number;\n pageCount: number;\n start: number;\n end: number;\n}\n\n/** `pageIndex` is zero-based. A page past the end clamps to the last page. An empty list is one blank page. */\nexport function pageBounds(pageIndex: number, pageSize: number, total: number): PageBounds {\n const size = pageSize > 0 ? pageSize : total || 1;\n const pageCount = total === 0 ? 1 : Math.ceil(total / size);\n const safe = Math.min(Math.max(0, pageIndex), pageCount - 1);\n const start = total === 0 ? 0 : safe * size;\n const end = Math.min(total, start + size);\n return { pageIndex: safe, pageCount, start, end };\n}\n\nexport interface FlatEntry<T> {\n kind: 'group' | 'leaf';\n row: T;\n groupId?: string;\n}\n\n/**\n * Page by leaf rows. A group that starts before this page repeats, marked continued.\n */\nexport function pageFlat<T>(entries: FlatEntry<T>[], pageIndex: number, pageSize: number): { entries: Array<FlatEntry<T> & { continued?: boolean }>; leafCount: number; bounds: PageBounds } {\n const leaves = entries.filter((entry) => entry.kind === 'leaf');\n const bounds = pageBounds(pageIndex, pageSize, leaves.length);\n const pageLeaves = new Set(leaves.slice(bounds.start, bounds.end));\n const out: Array<FlatEntry<T> & { continued?: boolean }> = [];\n let currentGroup: FlatEntry<T> | null = null;\n let leavesBeforeGroupOnPage = 0;\n let emittedGroup = false;\n let groupHadLeaves = false;\n const closeGroup = () => {\n // A collapsed group has a header and no leaves. Keep the header, or it vanishes.\n if (currentGroup && !emittedGroup && !groupHadLeaves) out.push(currentGroup);\n };\n for (const entry of entries) {\n if (entry.kind === 'group') {\n closeGroup();\n currentGroup = entry;\n emittedGroup = false;\n groupHadLeaves = false;\n leavesBeforeGroupOnPage = 0;\n continue;\n }\n groupHadLeaves = true;\n if (!pageLeaves.has(entry)) {\n if (!emittedGroup) leavesBeforeGroupOnPage += 1;\n continue;\n }\n if (currentGroup && !emittedGroup) {\n out.push({ ...currentGroup, continued: leavesBeforeGroupOnPage > 0 });\n emittedGroup = true;\n }\n out.push(entry);\n }\n closeGroup();\n return { entries: out, leafCount: leaves.length, bounds };\n}\n\nexport interface TreeNode<T> {\n row: T;\n children?: T[];\n}\n\n/** Ids that match, plus every ancestor, so a match is never shown without its parent. */\nexport function treeVisibleIds<T>(\n rows: readonly T[],\n getId: (row: T) => string,\n getChildren: (row: T) => readonly T[] | undefined,\n matches: (row: T) => boolean,\n): Set<string> {\n const visible = new Set<string>();\n const walk = (row: T, ancestors: string[]): boolean => {\n const id = getId(row);\n let childHit = false;\n for (const child of getChildren(row) ?? []) {\n if (walk(child, [...ancestors, id])) childHit = true;\n }\n if (matches(row) || childHit) {\n visible.add(id);\n for (const ancestor of ancestors) visible.add(ancestor);\n return true;\n }\n return false;\n };\n for (const row of rows) walk(row, []);\n return visible;\n}\n\n/** Counts of one column among rows that already satisfy the other filters. */\nexport function countFacets<T>(rows: readonly T[], valueOf: (row: T) => unknown): Map<string, number> {\n const counts = new Map<string, number>();\n for (const row of rows) {\n const key = isEmptyValue(valueOf(row)) ? '' : String(valueOf(row));\n counts.set(key, (counts.get(key) ?? 0) + 1);\n }\n return counts;\n}\n\n/** Drop ids whose row is gone, or that no longer pass canSelect. Children count too. */\nexport function selectableIds<T>(\n ids: readonly string[],\n rows: readonly T[],\n getRowId: (row: T) => string,\n canSelect?: (row: T) => boolean,\n getSubRows?: (row: T) => readonly T[] | undefined,\n): string[] {\n const known = new Map<string, T>();\n const walk = (list: readonly T[]) => {\n for (const row of list) {\n known.set(getRowId(row), row);\n const children = getSubRows?.(row);\n if (children) walk(children);\n }\n };\n walk(rows);\n return ids.filter((id) => {\n const row = known.get(id);\n return row != null && (canSelect?.(row) ?? true);\n });\n}\n\nexport function hiddenSelectedCount(selectedIds: readonly string[], filteredIds: ReadonlySet<string>): number {\n let hidden = 0;\n for (const id of selectedIds) if (!filteredIds.has(id)) hidden += 1;\n return hidden;\n}\n\nexport function sameSort(a: { id: string; desc: boolean } | null, b: { id: string; desc: boolean } | null): boolean {\n if (a == null || b == null) return a == null && b == null;\n return a.id === b.id && a.desc === b.desc;\n}\n\n/** Ascending, then descending, then the system's default. Clicking the default itself starts at ascending. */\nexport function nextSort(\n current: { id: string; desc: boolean } | null,\n columnId: string,\n initial: { id: string; desc: boolean } | null,\n): { id: string; desc: boolean } | null {\n const onColumn = current?.id === columnId;\n let next: { id: string; desc: boolean } | null;\n if (!onColumn) next = { id: columnId, desc: false };\n else if (!current?.desc) next = { id: columnId, desc: true };\n else next = initial;\n if (sameSort(next, current)) return { id: columnId, desc: false };\n return next;\n}\n","import * as React from 'react';\n\n/**\n * True when the element is no wider than a length token.\n * A container query cannot read a custom property, so the width is measured instead.\n */\nexport function useUnderWidth(token: string) {\n const ref = React.useRef<HTMLDivElement>(null);\n const [under, setUnder] = React.useState(false);\n React.useEffect(() => {\n const node = ref.current;\n if (!node) return;\n const probe = document.createElement('div');\n probe.style.width = `var(${token})`;\n probe.style.position = 'absolute';\n probe.style.visibility = 'hidden';\n probe.style.pointerEvents = 'none';\n // On document.body, not inside the measured node. React replaces that node's children\n // when the view changes, and would remove a probe that lived there.\n document.body.appendChild(probe);\n const watch = () => {\n if (probe.offsetWidth <= 0) return;\n setUnder(node.clientWidth <= probe.offsetWidth);\n };\n const observer = new ResizeObserver(watch);\n observer.observe(node);\n observer.observe(probe);\n watch();\n return () => {\n observer.disconnect();\n probe.remove();\n };\n }, [token]);\n return { ref, under };\n}\n"]}
@@ -1,147 +0,0 @@
1
- import { cnState, styledPart, buttonPart, cn } from './chunk-M7KJASGK.js';
2
- import * as React from 'react';
3
- import { Input as Input$1 } from '@base-ui/react/input';
4
- import { jsx } from 'react/jsx-runtime';
5
- import { Checkbox as Checkbox$1 } from '@base-ui/react/checkbox';
6
- import { Menu as Menu$1 } from '@base-ui/react/menu';
7
- import { Tabs as Tabs$1 } from '@base-ui/react/tabs';
8
-
9
- var Input = React.forwardRef(function Input2({ className, ...props }, ref) {
10
- return /* @__PURE__ */ jsx(Input$1, { ref, ...props, className: (state) => cnState("Input", className, state) });
11
- });
12
- Input.displayName = "Input";
13
- var Root = styledPart(
14
- Checkbox$1.Root,
15
- "CheckboxRoot",
16
- "CheckboxRoot"
17
- );
18
- var Indicator = styledPart(
19
- Checkbox$1.Indicator,
20
- "CheckboxIndicator",
21
- "CheckboxIndicator"
22
- );
23
- function CheckboxLabel({ className, ...props }) {
24
- return (
25
- // The checkbox is a child of this label, which is what associates them.
26
- // eslint-disable-next-line jsx-a11y/label-has-associated-control
27
- /* @__PURE__ */ jsx("label", { className: cn("CheckboxLabel", className), ...props })
28
- );
29
- }
30
- var Checkbox = {
31
- Root,
32
- Indicator,
33
- Label: CheckboxLabel
34
- };
35
- var Trigger = buttonPart(
36
- Menu$1.Trigger,
37
- "MenuTrigger",
38
- { skipClass: "MenubarTrigger" }
39
- );
40
- var Positioner = styledPart(
41
- Menu$1.Positioner,
42
- "MenuPositioner",
43
- "MenuPositioner"
44
- );
45
- var Popup = styledPart(
46
- Menu$1.Popup,
47
- "MenuPopup",
48
- "MenuPopup"
49
- );
50
- var Item = styledPart(
51
- Menu$1.Item,
52
- "MenuItem",
53
- "MenuItem"
54
- );
55
- var CheckboxItem = styledPart(
56
- Menu$1.CheckboxItem,
57
- "MenuCheckboxItem",
58
- "MenuCheckboxItem"
59
- );
60
- var CheckboxItemIndicator = styledPart(Menu$1.CheckboxItemIndicator, "MenuCheckboxItemIndicator", "MenuCheckboxItemIndicator");
61
- var RadioItem = styledPart(
62
- Menu$1.RadioItem,
63
- "MenuRadioItem",
64
- "MenuRadioItem"
65
- );
66
- var RadioItemIndicator = styledPart(Menu$1.RadioItemIndicator, "MenuRadioItemIndicator", "MenuRadioItemIndicator");
67
- var SubmenuTrigger = styledPart(
68
- Menu$1.SubmenuTrigger,
69
- "MenuSubmenuTrigger",
70
- "MenuSubmenuTrigger"
71
- );
72
- var Group = styledPart(
73
- Menu$1.Group,
74
- "MenuGroup",
75
- "MenuGroup"
76
- );
77
- var GroupLabel = styledPart(
78
- Menu$1.GroupLabel,
79
- "MenuGroupLabel",
80
- "MenuGroupLabel"
81
- );
82
- var Separator = styledPart(
83
- Menu$1.Separator,
84
- "MenuSeparator",
85
- "MenuSeparator"
86
- );
87
- var Menu = {
88
- Root: Menu$1.Root,
89
- Trigger,
90
- Portal: Menu$1.Portal,
91
- Backdrop: Menu$1.Backdrop,
92
- Positioner,
93
- Popup,
94
- Arrow: Menu$1.Arrow,
95
- Item,
96
- LinkItem: Menu$1.LinkItem,
97
- CheckboxItem,
98
- CheckboxItemIndicator,
99
- RadioGroup: Menu$1.RadioGroup,
100
- RadioItem,
101
- RadioItemIndicator,
102
- Group,
103
- GroupLabel,
104
- Separator,
105
- SubmenuRoot: Menu$1.SubmenuRoot,
106
- SubmenuTrigger,
107
- Viewport: Menu$1.Viewport,
108
- Input: Menu$1.Input,
109
- List: Menu$1.List,
110
- Clear: Menu$1.Clear,
111
- Empty: Menu$1.Empty,
112
- FilterProvider: Menu$1.FilterProvider,
113
- Handle: Menu$1.Handle,
114
- createHandle: Menu$1.createHandle,
115
- useFilter: Menu$1.useFilter
116
- };
117
- var Root2 = styledPart(
118
- Tabs$1.Root,
119
- "TabsRoot",
120
- "TabsRoot"
121
- );
122
- var List = styledPart(
123
- Tabs$1.List,
124
- "TabsList",
125
- "TabsList"
126
- );
127
- var Tab = styledPart(
128
- Tabs$1.Tab,
129
- "TabsTab",
130
- "TabsTab"
131
- );
132
- var Panel = styledPart(
133
- Tabs$1.Panel,
134
- "TabsPanel",
135
- "TabsPanel"
136
- );
137
- var Tabs = {
138
- Root: Root2,
139
- List,
140
- Tab,
141
- Panel,
142
- Indicator: Tabs$1.Indicator
143
- };
144
-
145
- export { Checkbox, CheckboxLabel, Input, Menu, Tabs };
146
- //# sourceMappingURL=chunk-Y2CPBMFJ.js.map
147
- //# sourceMappingURL=chunk-Y2CPBMFJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/input.tsx","../src/components/checkbox.tsx","../src/components/menu.tsx","../src/components/tabs.tsx"],"names":["Input","BaseInput","BaseCheckbox","jsx","BaseMenu","Root","BaseTabs"],"mappings":"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","file":"chunk-Y2CPBMFJ.js","sourcesContent":["import * as React from 'react';\nimport { Input as BaseInput } from '@base-ui/react/input';\nimport { cnState } from '../utils/cn';\n\nexport type InputProps = React.ComponentProps<typeof BaseInput>;\n\n/**\n * Base UI [Input](https://base-ui.com/react/components/input) with design-system `Input` classes.\n * Pairs with {@link Field} for labels, validation, and descriptions.\n */\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(function Input(\n { className, ...props },\n ref,\n) {\n return (\n <BaseInput ref={ref} {...props} className={(state) => cnState('Input', className, state)} />\n );\n});\n\nInput.displayName = 'Input';\n","import * as React from 'react';\nimport { Checkbox as BaseCheckbox } from '@base-ui/react/checkbox';\nimport { cn } from '../utils/cn';\nimport { styledPart } from '../utils/styled-part';\n\nconst Root = styledPart<HTMLElement, React.ComponentProps<typeof BaseCheckbox.Root>>(\n BaseCheckbox.Root,\n 'CheckboxRoot',\n 'CheckboxRoot',\n);\nconst Indicator = styledPart<HTMLSpanElement, React.ComponentProps<typeof BaseCheckbox.Indicator>>(\n BaseCheckbox.Indicator,\n 'CheckboxIndicator',\n 'CheckboxIndicator',\n);\n\nexport type CheckboxLabelProps = React.ComponentProps<'label'>;\n\n/** The row around a checkbox. The control sits inside the label, so it needs no htmlFor. */\nexport function CheckboxLabel({ className, ...props }: CheckboxLabelProps) {\n return (\n // The checkbox is a child of this label, which is what associates them.\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label className={cn('CheckboxLabel', className)} {...props} />\n );\n}\n\n/**\n * Base UI [Checkbox](https://base-ui.com/react/components/checkbox) with design-system classes.\n * The mark icon stays yours: give it `className=\"CheckboxIcon\"`.\n */\nexport const Checkbox = {\n Root,\n Indicator,\n Label: CheckboxLabel,\n};\n","import * as React from 'react';\nimport { Menu as BaseMenu } from '@base-ui/react/menu';\nimport { buttonPart, styledPart } from '../utils/styled-part';\n\n/** A Button, unless `className` includes `MenubarTrigger` (a menubar row). */\nconst Trigger = buttonPart<HTMLButtonElement, React.ComponentProps<typeof BaseMenu.Trigger>>(\n BaseMenu.Trigger as React.ComponentType<\n React.ComponentProps<typeof BaseMenu.Trigger> & React.RefAttributes<HTMLButtonElement>\n >,\n 'MenuTrigger',\n { skipClass: 'MenubarTrigger' },\n);\nconst Positioner = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseMenu.Positioner>>(\n BaseMenu.Positioner,\n 'MenuPositioner',\n 'MenuPositioner',\n);\nconst Popup = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseMenu.Popup>>(\n BaseMenu.Popup,\n 'MenuPopup',\n 'MenuPopup',\n);\nconst Item = styledPart<HTMLElement, React.ComponentProps<typeof BaseMenu.Item>>(\n BaseMenu.Item,\n 'MenuItem',\n 'MenuItem',\n);\nconst CheckboxItem = styledPart<HTMLElement, React.ComponentProps<typeof BaseMenu.CheckboxItem>>(\n BaseMenu.CheckboxItem,\n 'MenuCheckboxItem',\n 'MenuCheckboxItem',\n);\nconst CheckboxItemIndicator = styledPart<\n HTMLSpanElement,\n React.ComponentProps<typeof BaseMenu.CheckboxItemIndicator>\n>(BaseMenu.CheckboxItemIndicator, 'MenuCheckboxItemIndicator', 'MenuCheckboxItemIndicator');\nconst RadioItem = styledPart<HTMLElement, React.ComponentProps<typeof BaseMenu.RadioItem>>(\n BaseMenu.RadioItem,\n 'MenuRadioItem',\n 'MenuRadioItem',\n);\nconst RadioItemIndicator = styledPart<\n HTMLSpanElement,\n React.ComponentProps<typeof BaseMenu.RadioItemIndicator>\n>(BaseMenu.RadioItemIndicator, 'MenuRadioItemIndicator', 'MenuRadioItemIndicator');\nconst SubmenuTrigger = styledPart<HTMLElement, React.ComponentProps<typeof BaseMenu.SubmenuTrigger>>(\n BaseMenu.SubmenuTrigger,\n 'MenuSubmenuTrigger',\n 'MenuSubmenuTrigger',\n);\nconst Group = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseMenu.Group>>(\n BaseMenu.Group,\n 'MenuGroup',\n 'MenuGroup',\n);\nconst GroupLabel = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseMenu.GroupLabel>>(\n BaseMenu.GroupLabel,\n 'MenuGroupLabel',\n 'MenuGroupLabel',\n);\nconst Separator = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseMenu.Separator>>(\n BaseMenu.Separator,\n 'MenuSeparator',\n 'MenuSeparator',\n);\n\n// The declaration file still cannot name Menu.Separator without this export, with splitting on.\nexport type { Separator as MenuSeparator } from '@base-ui/react/separator';\n/**\n * Base UI [Menu](https://base-ui.com/react/components/menu) with design-system classes.\n * The trigger is a Button and takes `emphasis` and `palette`. Inside a menubar, pass\n * `className=\"MenubarTrigger\"` instead.\n * Check and radio marks are yours: `MenuCheckboxItemIndicatorIcon` and `MenuRadioItemIndicatorIcon`.\n */\nexport const Menu = {\n Root: BaseMenu.Root,\n Trigger,\n Portal: BaseMenu.Portal,\n Backdrop: BaseMenu.Backdrop,\n Positioner,\n Popup,\n Arrow: BaseMenu.Arrow,\n Item,\n LinkItem: BaseMenu.LinkItem,\n CheckboxItem,\n CheckboxItemIndicator,\n RadioGroup: BaseMenu.RadioGroup,\n RadioItem,\n RadioItemIndicator,\n Group,\n GroupLabel,\n Separator,\n SubmenuRoot: BaseMenu.SubmenuRoot,\n SubmenuTrigger,\n Viewport: BaseMenu.Viewport,\n Input: BaseMenu.Input,\n List: BaseMenu.List,\n Clear: BaseMenu.Clear,\n Empty: BaseMenu.Empty,\n FilterProvider: BaseMenu.FilterProvider,\n Handle: BaseMenu.Handle,\n createHandle: BaseMenu.createHandle,\n useFilter: BaseMenu.useFilter,\n};\n","import * as React from 'react';\nimport { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { styledPart } from '../utils/styled-part';\n\nconst Root = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseTabs.Root>>(\n BaseTabs.Root,\n 'TabsRoot',\n 'TabsRoot',\n);\nconst List = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseTabs.List>>(\n BaseTabs.List,\n 'TabsList',\n 'TabsList',\n);\nconst Tab = styledPart<HTMLElement, React.ComponentProps<typeof BaseTabs.Tab>>(\n BaseTabs.Tab,\n 'TabsTab',\n 'TabsTab',\n);\nconst Panel = styledPart<HTMLDivElement, React.ComponentProps<typeof BaseTabs.Panel>>(\n BaseTabs.Panel,\n 'TabsPanel',\n 'TabsPanel',\n);\n\n/**\n * Base UI [Tabs](https://base-ui.com/react/components/tabs) with design-system classes.\n * `data-size` and `data-orientation` go on the root.\n */\nexport const Tabs = {\n Root,\n List,\n Tab,\n Panel,\n Indicator: BaseTabs.Indicator,\n};\n"]}