@optimum-intelligence/opti-ui 0.3.0 → 0.4.0

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 (115) hide show
  1. package/README.md +19 -0
  2. package/dist/components/accordion/Accordion.d.ts +12 -0
  3. package/dist/components/accordion/Accordion.js +12 -0
  4. package/dist/components/accordion/Accordion.js.map +1 -1
  5. package/dist/components/alert/Alert.d.ts +4 -0
  6. package/dist/components/alert/Alert.js.map +1 -1
  7. package/dist/components/app-shell/AppShell.d.ts +22 -0
  8. package/dist/components/app-shell/AppShell.js +6 -0
  9. package/dist/components/app-shell/AppShell.js.map +1 -1
  10. package/dist/components/avatar/Avatar.d.ts +8 -0
  11. package/dist/components/avatar/Avatar.js +2 -0
  12. package/dist/components/avatar/Avatar.js.map +1 -1
  13. package/dist/components/badge/Badge.d.ts +9 -0
  14. package/dist/components/badge/Badge.js +6 -0
  15. package/dist/components/badge/Badge.js.map +1 -1
  16. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +1 -0
  17. package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -1
  18. package/dist/components/button/Button.d.ts +8 -0
  19. package/dist/components/button/Button.js +6 -0
  20. package/dist/components/button/Button.js.map +1 -1
  21. package/dist/components/calendar/Calendar.d.ts +3 -0
  22. package/dist/components/calendar/Calendar.js.map +1 -1
  23. package/dist/components/card/Card.d.ts +13 -0
  24. package/dist/components/card/Card.js +13 -0
  25. package/dist/components/card/Card.js.map +1 -1
  26. package/dist/components/choice/Choice.d.ts +13 -0
  27. package/dist/components/choice/Choice.js +10 -0
  28. package/dist/components/choice/Choice.js.map +1 -1
  29. package/dist/components/combobox/Combobox.d.ts +12 -0
  30. package/dist/components/combobox/Combobox.js.map +1 -1
  31. package/dist/components/command-palette/CommandPalette.d.ts +10 -0
  32. package/dist/components/command-palette/CommandPalette.js.map +1 -1
  33. package/dist/components/data-table/DataTable.d.ts +4 -0
  34. package/dist/components/data-table/DataTable.js.map +1 -1
  35. package/dist/components/data-table/DataTableContent.d.ts +1 -0
  36. package/dist/components/data-table/DataTableContent.js.map +1 -1
  37. package/dist/components/data-table/DataTableFilters.d.ts +3 -0
  38. package/dist/components/data-table/DataTableFilters.js.map +1 -1
  39. package/dist/components/data-table/types.d.ts +16 -0
  40. package/dist/components/date-picker/DateRangePicker.d.ts +1 -0
  41. package/dist/components/date-picker/DateRangePicker.js.map +1 -1
  42. package/dist/components/date-picker/PickerField.d.ts +13 -0
  43. package/dist/components/date-picker/PickerField.js.map +1 -1
  44. package/dist/components/dialog/Dialog.d.ts +5 -0
  45. package/dist/components/dialog/Dialog.js.map +1 -1
  46. package/dist/components/drawer/Drawer.d.ts +10 -0
  47. package/dist/components/drawer/Drawer.js.map +1 -1
  48. package/dist/components/empty-state/EmptyState.d.ts +5 -0
  49. package/dist/components/empty-state/EmptyState.js.map +1 -1
  50. package/dist/components/file-upload/FileUpload.d.ts +21 -0
  51. package/dist/components/file-upload/FileUpload.js.map +1 -1
  52. package/dist/components/input/Input.d.ts +7 -0
  53. package/dist/components/input/Input.js +3 -0
  54. package/dist/components/input/Input.js.map +1 -1
  55. package/dist/components/link/Link.d.ts +1 -0
  56. package/dist/components/link/Link.js.map +1 -1
  57. package/dist/components/menu/Menu.d.ts +6 -0
  58. package/dist/components/menu/Menu.js.map +1 -1
  59. package/dist/components/number-field/NumberField.d.ts +7 -0
  60. package/dist/components/number-field/NumberField.js.map +1 -1
  61. package/dist/components/pagination/Pagination.d.ts +4 -0
  62. package/dist/components/pagination/Pagination.js.map +1 -1
  63. package/dist/components/popover/Popover.d.ts +4 -0
  64. package/dist/components/popover/Popover.js.map +1 -1
  65. package/dist/components/preview-card/PreviewCard.d.ts +4 -0
  66. package/dist/components/preview-card/PreviewCard.js.map +1 -1
  67. package/dist/components/progress/Progress.d.ts +8 -0
  68. package/dist/components/progress/Progress.js.map +1 -1
  69. package/dist/components/scroll-area/ScrollArea.d.ts +1 -0
  70. package/dist/components/scroll-area/ScrollArea.js.map +1 -1
  71. package/dist/components/search-input/SearchInput.d.ts +2 -0
  72. package/dist/components/search-input/SearchInput.js.map +1 -1
  73. package/dist/components/select/Select.d.ts +11 -0
  74. package/dist/components/select/Select.js.map +1 -1
  75. package/dist/components/separator/Separator.d.ts +1 -0
  76. package/dist/components/separator/Separator.js +1 -0
  77. package/dist/components/separator/Separator.js.map +1 -1
  78. package/dist/components/skeleton/Skeleton.d.ts +7 -0
  79. package/dist/components/skeleton/Skeleton.js +1 -0
  80. package/dist/components/skeleton/Skeleton.js.map +1 -1
  81. package/dist/components/slider/Slider.d.ts +1 -0
  82. package/dist/components/slider/Slider.js.map +1 -1
  83. package/dist/components/spinner/Spinner.d.ts +2 -0
  84. package/dist/components/spinner/Spinner.js +1 -0
  85. package/dist/components/spinner/Spinner.js.map +1 -1
  86. package/dist/components/stat-card/StatCard.d.ts +4 -0
  87. package/dist/components/stat-card/StatCard.js.map +1 -1
  88. package/dist/components/stepper/Stepper.d.ts +4 -0
  89. package/dist/components/stepper/Stepper.js.map +1 -1
  90. package/dist/components/table/Table.d.ts +23 -0
  91. package/dist/components/table/Table.js +17 -0
  92. package/dist/components/table/Table.js.map +1 -1
  93. package/dist/components/tabs/Tabs.d.ts +1 -0
  94. package/dist/components/tabs/Tabs.js.map +1 -1
  95. package/dist/components/tag/Tag.d.ts +3 -0
  96. package/dist/components/tag/Tag.js.map +1 -1
  97. package/dist/components/toast/Toast.d.ts +2 -0
  98. package/dist/components/toast/Toast.js.map +1 -1
  99. package/dist/components/toggle/Toggle.d.ts +7 -0
  100. package/dist/components/toggle/Toggle.js +1 -0
  101. package/dist/components/toggle/Toggle.js.map +1 -1
  102. package/dist/components/tooltip/Tooltip.d.ts +8 -0
  103. package/dist/components/tooltip/Tooltip.js.map +1 -1
  104. package/dist/components/typography/Typography.d.ts +5 -0
  105. package/dist/components/typography/Typography.js +2 -0
  106. package/dist/components/typography/Typography.js.map +1 -1
  107. package/dist/components.json +5375 -0
  108. package/dist/llms-full.txt +2590 -0
  109. package/dist/llms.txt +175 -0
  110. package/dist/theme/ThemeProvider.d.ts +1 -0
  111. package/dist/theme/ThemeProvider.js.map +1 -1
  112. package/dist/utils/portal.d.ts +4 -0
  113. package/dist/utils/portal.js +4 -0
  114. package/dist/utils/portal.js.map +1 -1
  115. package/package.json +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","names":["React","Combobox","BaseCombobox","withClass","usePortalContainer","CheckIcon","ChevronDownIcon","XIcon","Field","ControlSize","ComboboxInputGroupProps","InputGroup","Props","size","ComboboxInputGroup","t0","$","_c","className","props","ref","t1","undefined","t2","t3","ComboboxInput","ComboboxTrigger","children","ComboboxClear","ComboboxContentProps","Popup","side","Positioner","align","sideOffset","positionerProps","ComboboxContent","container","t4","t5","ComboboxList","ComboboxItem","Symbol","for","ComboboxEmpty","ComboboxChips","ComboboxChip","removeLabel","ComboboxGroupLabel","ComboboxOption","value","label","disabled","RootProps","Omit","Root","ComboboxProps","items","ReactNode","description","error","placeholder","emptyText","hideClear","inputProps","Input","ComboboxComponent","multiple","name","required","rootProps","t6","t7","map","_temp","length","t8","t9","t10","t11","t12","t13","_temp2","t14","t15","t16","t17","t18","item_0","item","Object","assign","Trigger","Clear","Value","Chips","Chip","Content","List","Item","Empty","Group","GroupLabel","Collection","useFilter","_c","BaseCombobox","Combobox"],"sources":["../../../src/components/combobox/Combobox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\nimport { withClass } from '../../utils/cx';\nimport { usePortalContainer } from '../../utils/portal';\nimport { CheckIcon, ChevronDownIcon, XIcon } from '../../icons';\nimport { Field } from '../field/Field';\nimport type { ControlSize } from '../input/Input';\n\n// ─── Parts ───────────────────────────────────────────────────────────────────\n\nexport interface ComboboxInputGroupProps extends BaseCombobox.InputGroup.Props {\n size?: ControlSize;\n}\n\nfunction ComboboxInputGroup({ size = 'md', className, ref, ...props }: ComboboxInputGroupProps) {\n return (\n <BaseCombobox.InputGroup\n ref={ref}\n className={withClass('oui-combobox__group', className)}\n data-size={size}\n {...props}\n />\n );\n}\n\nfunction ComboboxInput({ className, ref, ...props }: BaseCombobox.Input.Props) {\n return <BaseCombobox.Input ref={ref} className={withClass('oui-combobox__input', className)} {...props} />;\n}\n\nfunction ComboboxTrigger({ className, children, ref, ...props }: BaseCombobox.Trigger.Props) {\n return (\n <BaseCombobox.Trigger\n ref={ref}\n aria-label=\"Open list\"\n className={withClass('oui-combobox__action', className)}\n {...props}\n >\n {children ?? <ChevronDownIcon />}\n </BaseCombobox.Trigger>\n );\n}\n\nfunction ComboboxClear({ className, children, ref, ...props }: BaseCombobox.Clear.Props) {\n return (\n <BaseCombobox.Clear\n ref={ref}\n aria-label=\"Clear selection\"\n className={withClass('oui-combobox__action', className)}\n {...props}\n >\n {children ?? <XIcon />}\n </BaseCombobox.Clear>\n );\n}\n\nexport interface ComboboxContentProps extends BaseCombobox.Popup.Props {\n side?: BaseCombobox.Positioner.Props['side'];\n align?: BaseCombobox.Positioner.Props['align'];\n sideOffset?: BaseCombobox.Positioner.Props['sideOffset'];\n positionerProps?: BaseCombobox.Positioner.Props;\n}\n\nfunction ComboboxContent({\n side,\n align,\n sideOffset = 6,\n positionerProps,\n className,\n ref,\n ...props\n}: ComboboxContentProps) {\n const container = usePortalContainer();\n return (\n <BaseCombobox.Portal container={container}>\n <BaseCombobox.Positioner\n className=\"oui-combobox__positioner\"\n side={side}\n align={align}\n sideOffset={sideOffset}\n {...positionerProps}\n >\n <BaseCombobox.Popup ref={ref} className={withClass('oui-combobox__popup', className)} {...props} />\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n );\n}\n\nfunction ComboboxList({ className, ref, ...props }: BaseCombobox.List.Props) {\n return <BaseCombobox.List ref={ref} className={withClass('oui-combobox__list', className)} {...props} />;\n}\n\nfunction ComboboxItem({ className, children, ref, ...props }: BaseCombobox.Item.Props) {\n return (\n <BaseCombobox.Item ref={ref} className={withClass('oui-combobox__item', className)} {...props}>\n <span className=\"oui-combobox__item-text\">{children}</span>\n <BaseCombobox.ItemIndicator className=\"oui-combobox__item-indicator\">\n <CheckIcon />\n </BaseCombobox.ItemIndicator>\n </BaseCombobox.Item>\n );\n}\n\nfunction ComboboxEmpty({ className, ref, ...props }: BaseCombobox.Empty.Props) {\n return <BaseCombobox.Empty ref={ref} className={withClass('oui-combobox__empty', className)} {...props} />;\n}\n\nfunction ComboboxChips({ className, ref, ...props }: BaseCombobox.Chips.Props) {\n return <BaseCombobox.Chips ref={ref} className={withClass('oui-combobox__chips', className)} {...props} />;\n}\n\nfunction ComboboxChip({\n className,\n children,\n removeLabel = 'Remove',\n ref,\n ...props\n}: BaseCombobox.Chip.Props & { removeLabel?: string }) {\n return (\n <BaseCombobox.Chip ref={ref} className={withClass('oui-combobox__chip', className)} {...props}>\n {children}\n <BaseCombobox.ChipRemove className=\"oui-combobox__chip-remove\" aria-label={removeLabel}>\n <XIcon />\n </BaseCombobox.ChipRemove>\n </BaseCombobox.Chip>\n );\n}\n\nfunction ComboboxGroupLabel({ className, ref, ...props }: BaseCombobox.GroupLabel.Props) {\n return <BaseCombobox.GroupLabel ref={ref} className={withClass('oui-select__group-label', className)} {...props} />;\n}\n\n// ─── Convenience component ───────────────────────────────────────────────────\n\nexport interface ComboboxOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\ntype RootProps = Omit<BaseCombobox.Root.Props<ComboboxOption, boolean | undefined>, 'items' | 'children'>;\n\nexport interface ComboboxProps extends RootProps {\n items: ComboboxOption[];\n label?: React.ReactNode;\n description?: React.ReactNode;\n error?: React.ReactNode;\n placeholder?: string;\n /** Shown when the filter matches nothing. */\n emptyText?: React.ReactNode;\n size?: ControlSize;\n /** Hide the clear button. */\n hideClear?: boolean;\n inputProps?: BaseCombobox.Input.Props;\n}\n\nfunction ComboboxComponent({\n items,\n label,\n description,\n error,\n placeholder,\n emptyText = 'No results found.',\n size = 'md',\n hideClear,\n inputProps,\n name,\n disabled,\n required,\n multiple,\n ...rootProps\n}: ComboboxProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined}>\n <BaseCombobox.Root\n items={items}\n multiple={multiple}\n disabled={disabled}\n required={required}\n {...(rootProps as BaseCombobox.Root.Props<ComboboxOption, boolean | undefined>)}\n >\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <ComboboxInputGroup size={size} data-multiple={multiple || undefined}>\n {multiple ? (\n <BaseCombobox.Value>\n {(value: ComboboxOption[]) => (\n <ComboboxChips>\n {value.map((item) => (\n <ComboboxChip key={item.value} removeLabel={`Remove ${item.label}`}>\n {item.label}\n </ComboboxChip>\n ))}\n <ComboboxInput placeholder={value.length ? undefined : placeholder} {...inputProps} />\n </ComboboxChips>\n )}\n </BaseCombobox.Value>\n ) : (\n <ComboboxInput placeholder={placeholder} {...inputProps} />\n )}\n <span className=\"oui-combobox__actions\">\n {!hideClear && <ComboboxClear />}\n <ComboboxTrigger />\n </span>\n </ComboboxInputGroup>\n <ComboboxContent>\n <ComboboxEmpty>{emptyText}</ComboboxEmpty>\n <ComboboxList>\n {(item: ComboboxOption) => (\n <ComboboxItem key={item.value} value={item} disabled={item.disabled}>\n {item.label}\n </ComboboxItem>\n )}\n </ComboboxList>\n </ComboboxContent>\n </BaseCombobox.Root>\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n\n/**\n * Searchable select. `<Combobox items={…} />` covers single and `multiple`\n * (chips) selection; compose the parts for anything custom.\n */\nexport const Combobox = Object.assign(ComboboxComponent, {\n Root: BaseCombobox.Root,\n InputGroup: ComboboxInputGroup,\n Input: ComboboxInput,\n Trigger: ComboboxTrigger,\n Clear: ComboboxClear,\n Value: BaseCombobox.Value,\n Chips: ComboboxChips,\n Chip: ComboboxChip,\n Content: ComboboxContent,\n List: ComboboxList,\n Item: ComboboxItem,\n Empty: ComboboxEmpty,\n Group: BaseCombobox.Group,\n GroupLabel: ComboboxGroupLabel,\n Collection: BaseCombobox.Collection,\n useFilter: BaseCombobox.useFilter,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.js","names":["React","Combobox","BaseCombobox","withClass","usePortalContainer","CheckIcon","ChevronDownIcon","XIcon","Field","ControlSize","ComboboxInputGroupProps","InputGroup","Props","size","ComboboxInputGroup","t0","$","_c","className","props","ref","t1","undefined","t2","t3","ComboboxInput","ComboboxTrigger","children","ComboboxClear","ComboboxContentProps","Popup","side","Positioner","align","sideOffset","positionerProps","ComboboxContent","container","t4","t5","ComboboxList","ComboboxItem","Symbol","for","ComboboxEmpty","ComboboxChips","ComboboxChip","removeLabel","ComboboxGroupLabel","ComboboxOption","value","label","disabled","RootProps","Omit","Root","ComboboxProps","items","ReactNode","description","error","placeholder","emptyText","hideClear","inputProps","Input","ComboboxComponent","multiple","name","required","rootProps","t6","t7","map","_temp","length","t8","t9","t10","t11","t12","t13","_temp2","t14","t15","t16","t17","t18","item_0","item","Object","assign","Trigger","Clear","Value","Chips","Chip","Content","List","Item","Empty","Group","GroupLabel","Collection","useFilter","_c","BaseCombobox","Combobox"],"sources":["../../../src/components/combobox/Combobox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\nimport { withClass } from '../../utils/cx';\nimport { usePortalContainer } from '../../utils/portal';\nimport { CheckIcon, ChevronDownIcon, XIcon } from '../../icons';\nimport { Field } from '../field/Field';\nimport type { ControlSize } from '../input/Input';\n\n// ─── Parts ───────────────────────────────────────────────────────────────────\n\nexport interface ComboboxInputGroupProps extends BaseCombobox.InputGroup.Props {\n /** Control height. */\n size?: ControlSize;\n}\n\nfunction ComboboxInputGroup({ size = 'md', className, ref, ...props }: ComboboxInputGroupProps) {\n return (\n <BaseCombobox.InputGroup\n ref={ref}\n className={withClass('oui-combobox__group', className)}\n data-size={size}\n {...props}\n />\n );\n}\n\nfunction ComboboxInput({ className, ref, ...props }: BaseCombobox.Input.Props) {\n return <BaseCombobox.Input ref={ref} className={withClass('oui-combobox__input', className)} {...props} />;\n}\n\nfunction ComboboxTrigger({ className, children, ref, ...props }: BaseCombobox.Trigger.Props) {\n return (\n <BaseCombobox.Trigger\n ref={ref}\n aria-label=\"Open list\"\n className={withClass('oui-combobox__action', className)}\n {...props}\n >\n {children ?? <ChevronDownIcon />}\n </BaseCombobox.Trigger>\n );\n}\n\nfunction ComboboxClear({ className, children, ref, ...props }: BaseCombobox.Clear.Props) {\n return (\n <BaseCombobox.Clear\n ref={ref}\n aria-label=\"Clear selection\"\n className={withClass('oui-combobox__action', className)}\n {...props}\n >\n {children ?? <XIcon />}\n </BaseCombobox.Clear>\n );\n}\n\nexport interface ComboboxContentProps extends BaseCombobox.Popup.Props {\n /** Which side of the input the list opens on. */\n side?: BaseCombobox.Positioner.Props['side'];\n /** Alignment along that side. */\n align?: BaseCombobox.Positioner.Props['align'];\n /** Distance from the input in px. */\n sideOffset?: BaseCombobox.Positioner.Props['sideOffset'];\n /** Props for the positioner element that places the popup. */\n positionerProps?: BaseCombobox.Positioner.Props;\n}\n\nfunction ComboboxContent({\n side,\n align,\n sideOffset = 6,\n positionerProps,\n className,\n ref,\n ...props\n}: ComboboxContentProps) {\n const container = usePortalContainer();\n return (\n <BaseCombobox.Portal container={container}>\n <BaseCombobox.Positioner\n className=\"oui-combobox__positioner\"\n side={side}\n align={align}\n sideOffset={sideOffset}\n {...positionerProps}\n >\n <BaseCombobox.Popup ref={ref} className={withClass('oui-combobox__popup', className)} {...props} />\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n );\n}\n\nfunction ComboboxList({ className, ref, ...props }: BaseCombobox.List.Props) {\n return <BaseCombobox.List ref={ref} className={withClass('oui-combobox__list', className)} {...props} />;\n}\n\nfunction ComboboxItem({ className, children, ref, ...props }: BaseCombobox.Item.Props) {\n return (\n <BaseCombobox.Item ref={ref} className={withClass('oui-combobox__item', className)} {...props}>\n <span className=\"oui-combobox__item-text\">{children}</span>\n <BaseCombobox.ItemIndicator className=\"oui-combobox__item-indicator\">\n <CheckIcon />\n </BaseCombobox.ItemIndicator>\n </BaseCombobox.Item>\n );\n}\n\nfunction ComboboxEmpty({ className, ref, ...props }: BaseCombobox.Empty.Props) {\n return <BaseCombobox.Empty ref={ref} className={withClass('oui-combobox__empty', className)} {...props} />;\n}\n\nfunction ComboboxChips({ className, ref, ...props }: BaseCombobox.Chips.Props) {\n return <BaseCombobox.Chips ref={ref} className={withClass('oui-combobox__chips', className)} {...props} />;\n}\n\nfunction ComboboxChip({\n className,\n children,\n removeLabel = 'Remove',\n ref,\n ...props\n}: BaseCombobox.Chip.Props & { removeLabel?: string }) {\n return (\n <BaseCombobox.Chip ref={ref} className={withClass('oui-combobox__chip', className)} {...props}>\n {children}\n <BaseCombobox.ChipRemove className=\"oui-combobox__chip-remove\" aria-label={removeLabel}>\n <XIcon />\n </BaseCombobox.ChipRemove>\n </BaseCombobox.Chip>\n );\n}\n\nfunction ComboboxGroupLabel({ className, ref, ...props }: BaseCombobox.GroupLabel.Props) {\n return <BaseCombobox.GroupLabel ref={ref} className={withClass('oui-select__group-label', className)} {...props} />;\n}\n\n// ─── Convenience component ───────────────────────────────────────────────────\n\nexport interface ComboboxOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\ntype RootProps = Omit<BaseCombobox.Root.Props<ComboboxOption, boolean | undefined>, 'items' | 'children'>;\n\nexport interface ComboboxProps extends RootProps {\n /** Options to choose from. */\n items: ComboboxOption[];\n /** Visible field label. */\n label?: React.ReactNode;\n /** Help text under the input. */\n description?: React.ReactNode;\n /** Error message. When set, the field is marked invalid. */\n error?: React.ReactNode;\n /** Placeholder shown while nothing is typed or selected. */\n placeholder?: string;\n /** Shown when the filter matches nothing. */\n emptyText?: React.ReactNode;\n /** Control height. */\n size?: ControlSize;\n /** Hide the clear button. */\n hideClear?: boolean;\n /** Props for the text input. */\n inputProps?: BaseCombobox.Input.Props;\n}\n\nfunction ComboboxComponent({\n items,\n label,\n description,\n error,\n placeholder,\n emptyText = 'No results found.',\n size = 'md',\n hideClear,\n inputProps,\n name,\n disabled,\n required,\n multiple,\n ...rootProps\n}: ComboboxProps) {\n return (\n <Field.Root name={name} disabled={disabled} invalid={error ? true : undefined}>\n <BaseCombobox.Root\n items={items}\n multiple={multiple}\n disabled={disabled}\n required={required}\n {...(rootProps as BaseCombobox.Root.Props<ComboboxOption, boolean | undefined>)}\n >\n {label && <Field.Label required={required}>{label}</Field.Label>}\n <ComboboxInputGroup size={size} data-multiple={multiple || undefined}>\n {multiple ? (\n <BaseCombobox.Value>\n {(value: ComboboxOption[]) => (\n <ComboboxChips>\n {value.map((item) => (\n <ComboboxChip key={item.value} removeLabel={`Remove ${item.label}`}>\n {item.label}\n </ComboboxChip>\n ))}\n <ComboboxInput placeholder={value.length ? undefined : placeholder} {...inputProps} />\n </ComboboxChips>\n )}\n </BaseCombobox.Value>\n ) : (\n <ComboboxInput placeholder={placeholder} {...inputProps} />\n )}\n <span className=\"oui-combobox__actions\">\n {!hideClear && <ComboboxClear />}\n <ComboboxTrigger />\n </span>\n </ComboboxInputGroup>\n <ComboboxContent>\n <ComboboxEmpty>{emptyText}</ComboboxEmpty>\n <ComboboxList>\n {(item: ComboboxOption) => (\n <ComboboxItem key={item.value} value={item} disabled={item.disabled}>\n {item.label}\n </ComboboxItem>\n )}\n </ComboboxList>\n </ComboboxContent>\n </BaseCombobox.Root>\n {description && <Field.Description>{description}</Field.Description>}\n {error ? <Field.Error match>{error}</Field.Error> : <Field.Error />}\n </Field.Root>\n );\n}\n\n/**\n * Searchable select. `<Combobox items={…} />` covers single and `multiple`\n * (chips) selection; compose the parts for anything custom.\n */\nexport const Combobox = Object.assign(ComboboxComponent, {\n Root: BaseCombobox.Root,\n InputGroup: ComboboxInputGroup,\n Input: ComboboxInput,\n Trigger: ComboboxTrigger,\n Clear: ComboboxClear,\n Value: BaseCombobox.Value,\n Chips: ComboboxChips,\n Chip: ComboboxChip,\n Content: ComboboxContent,\n List: ComboboxList,\n Item: ComboboxItem,\n Empty: ComboboxEmpty,\n Group: BaseCombobox.Group,\n GroupLabel: ComboboxGroupLabel,\n Collection: BaseCombobox.Collection,\n useFilter: BaseCombobox.useFilter,\n});\n"],"mappings":"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"}
@@ -15,14 +15,21 @@ export interface CommandItem {
15
15
  onSelect?: () => void;
16
16
  }
17
17
  export interface CommandPaletteProps<T extends CommandItem = CommandItem> {
18
+ /** Commands to list. */
18
19
  items: T[];
19
20
  /** Called for any chosen item, after the item's own `onSelect`. */
20
21
  onSelect?: (item: T) => void;
22
+ /** Whether the palette is open (controlled). */
21
23
  open?: boolean;
24
+ /** Initial state when uncontrolled. */
22
25
  defaultOpen?: boolean;
26
+ /** Called when the palette opens or closes. */
23
27
  onOpenChange?: (open: boolean) => void;
28
+ /** Search text (controlled). */
24
29
  search?: string;
30
+ /** Initial search text when uncontrolled. */
25
31
  defaultSearch?: string;
32
+ /** Called when the search text changes. */
26
33
  onSearchChange?: (search: string) => void;
27
34
  /**
28
35
  * Custom match function, or `false` when `items` are already filtered (server-side search).
@@ -37,12 +44,15 @@ export interface CommandPaletteProps<T extends CommandItem = CommandItem> {
37
44
  keepOpenOnSelect?: boolean;
38
45
  /** Accessible name of the dialog. */
39
46
  title?: string;
47
+ /** Placeholder of the search input. */
40
48
  placeholder?: string;
49
+ /** Shown when nothing matches. */
41
50
  emptyText?: React.ReactNode;
42
51
  /** Show a spinner in the search row while results load. */
43
52
  loading?: boolean;
44
53
  /** Content below the results (key hints, a retry button…). */
45
54
  footer?: React.ReactNode;
55
+ /** Class name for the palette popup. */
46
56
  className?: string;
47
57
  }
48
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.js","names":["React","Dialog","BaseDialog","cx","usePortalContainer","matchesQuery","SearchIcon","Spinner","CommandItem","id","label","description","ReactNode","group","icon","keywords","shortcut","disabled","onSelect","CommandPaletteProps","items","T","item","open","defaultOpen","onOpenChange","search","defaultSearch","onSearchChange","filter","maxResults","hotkey","keepOpenOnSelect","title","placeholder","emptyText","loading","footer","className","useControlled","value","initial","onChange","$","_c","inner","setInner","useState","t0","next","set","t1","undefined","t2","const","CommandPalette","openProp","searchProp","t3","t4","t5","t6","t7","setOpen","setSearch","active","setActive","container","inputRef","useRef","listRef","baseId","useId","toggle","_temp","t8","current","useEffect","t10","t9","onKeyDown","event","metaKey","ctrlKey","altKey","key","toLowerCase","preventDefault","window","addEventListener","removeEventListener","matched","byGroup","Map","item_0","slice","get","groups","map","_temp2","results","flatMap","_temp3","activeIndex","Math","min","max","length","t11","index","optionId","t12","item_1","choose","move","step","i","querySelector","scrollIntoView","block","onKeyDown_0","event_0","nativeEvent","isComposing","index_0","t13","next_0","t14","next_1","t15","Symbol","for","t16","t17","t18","event_1","target","t19","t20","t21","t22","t23","group_0","groupIndex","heading","item_2","itemIndex","t24","t25","t26","groupItems","_c","BaseDialog"],"sources":["../../../src/components/command-palette/CommandPalette.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Dialog as BaseDialog } from '@base-ui/react/dialog';\nimport { cx } from '../../utils/cx';\nimport { usePortalContainer } from '../../utils/portal';\nimport { matchesQuery } from '../../utils/search';\nimport { SearchIcon } from '../../icons';\nimport { Spinner } from '../spinner/Spinner';\n\nexport interface CommandItem {\n id: string;\n label: string;\n /** Secondary text next to the label. */\n description?: React.ReactNode;\n /** Heading the item is listed under. Groups appear in first-seen order. */\n group?: string;\n icon?: React.ReactNode;\n /** Extra search terms that are not displayed. */\n keywords?: string;\n /** Hint shown on the right, e.g. `<kbd>G</kbd>` or an arrow icon. */\n shortcut?: React.ReactNode;\n disabled?: boolean;\n onSelect?: () => void;\n}\n\nexport interface CommandPaletteProps<T extends CommandItem = CommandItem> {\n items: T[];\n /** Called for any chosen item, after the item's own `onSelect`. */\n onSelect?: (item: T) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n search?: string;\n defaultSearch?: string;\n onSearchChange?: (search: string) => void;\n /**\n * Custom match function, or `false` when `items` are already filtered (server-side search).\n * By default every term must occur in the label, keywords or group.\n */\n filter?: ((item: T, search: string) => boolean) | false;\n /** Cap on rendered results. */\n maxResults?: number;\n /** Key that toggles the palette together with Ctrl / ⌘. `false` disables the shortcut. */\n hotkey?: string | false;\n /** Keep the palette open after choosing an item. */\n keepOpenOnSelect?: boolean;\n /** Accessible name of the dialog. */\n title?: string;\n placeholder?: string;\n emptyText?: React.ReactNode;\n /** Show a spinner in the search row while results load. */\n loading?: boolean;\n /** Content below the results (key hints, a retry button…). */\n footer?: React.ReactNode;\n className?: string;\n}\n\nfunction useControlled<V>(value: V | undefined, initial: V, onChange?: (value: V) => void) {\n const [inner, setInner] = React.useState(initial);\n const set = (next: V) => {\n setInner(next);\n onChange?.(next);\n };\n return [value === undefined ? inner : value, set] as const;\n}\n\n/**\n * Searchable command menu in a dialog (Ctrl / ⌘ + K) for navigation and quick\n * actions. Keyboard: arrows move, Enter chooses, Esc closes.\n */\nexport function CommandPalette<T extends CommandItem = CommandItem>({\n items,\n onSelect,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n search: searchProp,\n defaultSearch = '',\n onSearchChange,\n filter,\n maxResults = 50,\n hotkey = 'k',\n keepOpenOnSelect,\n title = 'Command palette',\n placeholder = 'Search…',\n emptyText = 'No results found.',\n loading,\n footer,\n className,\n}: CommandPaletteProps<T>) {\n const [open, setOpen] = useControlled(openProp, defaultOpen, onOpenChange);\n const [search, setSearch] = useControlled(searchProp, defaultSearch, onSearchChange);\n const [active, setActive] = React.useState(0);\n const container = usePortalContainer();\n const inputRef = React.useRef<HTMLInputElement>(null);\n const listRef = React.useRef<HTMLDivElement>(null);\n const baseId = React.useId();\n\n // Latest state for the global shortcut without re-subscribing on every render.\n const toggle = React.useRef(() => {});\n React.useEffect(() => {\n toggle.current = () => setOpen(!open);\n });\n React.useEffect(() => {\n if (!hotkey) return;\n const onKeyDown = (event: KeyboardEvent) => {\n if ((event.metaKey || event.ctrlKey) && !event.altKey && event.key.toLowerCase() === hotkey.toLowerCase()) {\n event.preventDefault();\n toggle.current();\n }\n };\n window.addEventListener('keydown', onKeyDown);\n return () => window.removeEventListener('keydown', onKeyDown);\n }, [hotkey]);\n\n // Grouped, in first-seen group order; `results` is the flat keyboard order.\n const matched =\n filter === false\n ? items\n : items.filter((item) =>\n filter ? filter(item, search) : matchesQuery(`${item.label} ${item.keywords ?? ''} ${item.group ?? ''}`, search),\n );\n const byGroup = new Map<string, T[]>();\n for (const item of matched.slice(0, maxResults)) {\n const key = item.group ?? '';\n byGroup.set(key, [...(byGroup.get(key) ?? []), item]);\n }\n const groups = [...byGroup].map(([heading, groupItems]) => ({ heading, items: groupItems }));\n const results = groups.flatMap((group) => group.items);\n\n const activeIndex = Math.min(active, Math.max(0, results.length - 1));\n const optionId = (index: number) => `${baseId}-option-${index}`;\n\n const choose = (item: T | undefined) => {\n if (!item || item.disabled) return;\n item.onSelect?.();\n onSelect?.(item);\n if (!keepOpenOnSelect) setOpen(false);\n };\n\n const move = (step: 1 | -1) => {\n if (!results.length) return;\n let next = activeIndex;\n for (let i = 0; i < results.length; i++) {\n next = (next + step + results.length) % results.length;\n if (!results[next].disabled) break;\n }\n setActive(next);\n listRef.current?.querySelector(`[data-index=\"${next}\"]`)?.scrollIntoView({ block: 'nearest' });\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n move(event.key === 'ArrowDown' ? 1 : -1);\n } else if (event.key === 'Enter' && !event.nativeEvent.isComposing) {\n event.preventDefault();\n choose(results[activeIndex]);\n }\n };\n\n let index = -1;\n return (\n <BaseDialog.Root\n open={open}\n onOpenChange={(next) => setOpen(next)}\n onOpenChangeComplete={(next) => {\n // Start fresh next time, once the closing animation is done.\n if (!next) {\n setActive(0);\n if (search) setSearch('');\n }\n }}\n >\n <BaseDialog.Portal container={container}>\n <BaseDialog.Backdrop className=\"oui-dialog__backdrop\" />\n <BaseDialog.Popup className={cx('oui-command', className)} aria-label={title} initialFocus={inputRef}>\n <div className=\"oui-command__search\">\n <SearchIcon />\n <input\n ref={inputRef}\n className=\"oui-command__input\"\n role=\"combobox\"\n aria-expanded\n aria-autocomplete=\"list\"\n aria-controls={`${baseId}-list`}\n aria-activedescendant={results.length ? optionId(activeIndex) : undefined}\n aria-label={placeholder}\n placeholder={placeholder}\n autoComplete=\"off\"\n spellCheck={false}\n value={search}\n onChange={(event) => {\n setSearch(event.target.value);\n setActive(0);\n }}\n onKeyDown={onKeyDown}\n />\n {loading && <Spinner size=\"1rem\" />}\n </div>\n <div ref={listRef} id={`${baseId}-list`} role=\"listbox\" aria-label={title} className=\"oui-command__list\">\n {groups.map((group, groupIndex) => (\n <div\n key={group.heading}\n role=\"group\"\n aria-labelledby={group.heading ? `${baseId}-group-${groupIndex}` : undefined}\n className=\"oui-command__group\"\n >\n {group.heading && (\n <div id={`${baseId}-group-${groupIndex}`} className=\"oui-command__group-label\">\n {group.heading}\n </div>\n )}\n {group.items.map((item) => {\n index += 1;\n const itemIndex = index;\n return (\n <div\n key={item.id}\n id={optionId(itemIndex)}\n role=\"option\"\n className=\"oui-command__item\"\n aria-selected={itemIndex === activeIndex}\n aria-disabled={item.disabled || undefined}\n data-index={itemIndex}\n data-highlighted={itemIndex === activeIndex ? '' : undefined}\n data-disabled={item.disabled ? '' : undefined}\n onPointerMove={() => !item.disabled && itemIndex !== activeIndex && setActive(itemIndex)}\n onClick={() => choose(item)}\n >\n {item.icon && <span className=\"oui-command__item-icon\">{item.icon}</span>}\n <span className=\"oui-command__item-text\">\n <span className=\"oui-command__item-label\">{item.label}</span>\n {item.description && <span className=\"oui-command__item-description\">{item.description}</span>}\n </span>\n {item.shortcut && <span className=\"oui-command__item-shortcut\">{item.shortcut}</span>}\n </div>\n );\n })}\n </div>\n ))}\n {!results.length && <div className=\"oui-command__empty\">{emptyText}</div>}\n </div>\n {footer && <div className=\"oui-command__footer\">{footer}</div>}\n </BaseDialog.Popup>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n );\n}\n"],"mappings":";;;;;;;;;;;AAwDA,SAAAuC,cAAAC,OAAAC,SAAAC,UAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACE,MAAA,CAAAC,OAAAC,YAA0B9C,MAAK+C,SAAUN,OAAO;CAAE,IAAAO;CAAA,IAAAL,EAAA,OAAAD,UAAA;EACtCM,MAAAC,SAAA;GACVH,SAASG,IAAI;GACbP,WAAWO,IAAI;EAAC;EACjBN,EAAA,KAAAD;EAAAC,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAHD,MAAAO,MAAYF;CAIJ,MAAAG,KAAAX,UAAUY,KAAAA,IAAVP,QAAAL;CAAmC,IAAAa;CAAA,IAAAV,EAAA,OAAAO,OAAAP,EAAA,OAAAQ,IAAA;EAApCE,KAAA,CAACF,IAAqCD,GAAG;EAACP,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;EAAAR,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,OAA1CU;AAAmD;;;;;AAO5D,SAAOE,eAAAP,IAAA;CAAA,MAAAL,IAAAC,EAAA,EAAA;CAA6D,MAAA,EAAAxB,OAAAF,UAAAK,MAAAiC,UAAAhC,aAAA2B,IAAA1B,cAAAC,QAAA+B,YAAA9B,eAAA0B,IAAAzB,gBAAAC,QAAAC,YAAA4B,IAAA3B,QAAA4B,IAAA3B,kBAAAC,OAAA2B,IAAA1B,aAAA2B,IAAA1B,WAAA2B,IAAA1B,SAAAC,QAAAC,cAAAU;CAIlE,MAAAxB,cAAA2B,OAAAC,KAAAA,IAAA,QAAAD;CAGA,MAAAxB,gBAAA0B,OAAAD,KAAAA,IAAA,KAAAC;CAGA,MAAAvB,aAAA4B,OAAAN,KAAAA,IAAA,KAAAM;CACA,MAAA3B,SAAA4B,OAAAP,KAAAA,IAAA,MAAAO;CAEA,MAAA1B,QAAA2B,OAAAR,KAAAA,IAAA,oBAAAQ;CACA,MAAA1B,cAAA2B,OAAAT,KAAAA,IAAA,YAAAS;CACA,MAAA1B,YAAA2B,OAAAV,KAAAA,IAAA,sBAAAU;CAKA,MAAA,CAAAvC,MAAAwC,WAAwBxB,cAAciB,UAAUhC,aAAaC,YAAY;CACzE,MAAA,CAAAC,QAAAsC,aAA4BzB,cAAckB,YAAY9B,eAAeC,cAAc;CACnF,MAAA,CAAAqC,QAAAC,aAA4BlE,MAAK+C,SAAU,CAAC;CAC5C,MAAAoB,YAAkB/D,mBAAmB;CACrC,MAAAgE,WAAiBpE,MAAKqE,OAA0B,IAAI;CACpD,MAAAC,UAAgBtE,MAAKqE,OAAwB,IAAI;CACjD,MAAAE,SAAevE,MAAKwE,MAAO;CAG3B,MAAAC,SAAezE,MAAKqE,OAAQK,KAAQ;CAAE,IAAAC;CAAA,IAAAhC,EAAA,OAAApB,QAAAoB,EAAA,OAAAoB,SAAA;EACtBY,WAAA;GACdF,OAAMG,gBAAiBb,QAAQ,CAACxC,IAAI;EAAtB;EACfoB,EAAA,KAAApB;EAAAoB,EAAA,KAAAoB;EAAApB,EAAA,KAAAgC;CAAA,OAAAA,KAAAhC,EAAA;CAFD3C,MAAK6E,UAAWF,EAEf;CAAC,IAAAG;CAAA,IAAAC;CAAA,IAAApC,EAAA,OAAAZ,QAAA;EACcgD,WAAA;GACd,IAAI,CAAChD,QAAM;GACX,MAAAiD,aAAkBC,UAAA;IAChB,KAAKA,MAAKC,WAAYD,MAAKE,YAAvB,CAAqCF,MAAKG,UAAWH,MAAKI,IAAIC,YAAa,MAAMvD,OAAMuD,YAAa,GAAC;KACvGL,MAAKM,eAAgB;KACrBd,OAAMG,QAAS;IAAC;GACjB;GAEHY,OAAMC,iBAAkB,WAAWT,SAAS;GAAC,aAChCQ,OAAME,oBAAqB,WAAWV,SAAS;EAAC;EAC5DF,MAAA,CAAC/C,MAAM;EAACY,EAAA,KAAAZ;EAAAY,EAAA,KAAAmC;EAAAnC,EAAA,KAAAoC;CAAA,OAAA;EAAAD,MAAAnC,EAAA;EAAAoC,KAAApC,EAAA;CAAA;CAVX3C,MAAK6E,UAAWE,IAUbD,GAAQ;CAGX,MAAAa,UACE9D,WAAW,QAAXT,QAEIA,MAAKS,QAAQP,SACXO,SAASA,OAAOP,MAAMI,MAAyF,IAA/ErB,aAAa,GAAGiB,KAAIZ,MAAM,GAAIY,KAAIP,YAAJ,GAAmB,GAAIO,KAAIT,SAAJ,MAAoBa,MAAM,CACjH;CACN,MAAAkE,0BAAgB,IAAIC,IAAiB;CACrC,KAAK,MAAAC,UAAcH,QAAOI,MAAO,GAAGjE,UAAU,GAAC;EAC7C,MAAAuD,MAAY/D,OAAIT,SAAJ;EACZ+E,QAAO1C,IAAKmC,KAAK,CAAA,GAAKO,QAAOI,IAAKX,GAAS,KAArB,CAAA,GAAyB/D,MAAI,CAAC;CAAC;CAEvD,MAAA2E,SAAe,CAAA,GAAIL,OAAO,CAAC,CAAAM,IAAKC,MAA2D;CAC3F,MAAAC,UAAgBH,OAAMI,QAASC,MAAsB;CAErD,MAAAC,cAAoBC,KAAIC,IAAKxC,QAAQuC,KAAIE,IAAK,GAAGN,QAAOO,SAAU,CAAC,CAAC;CAAE,IAAAC;CAAA,IAAAjE,EAAA,OAAA4B,QAAA;EACrDqC,OAAAC,UAAmB,GAAGtC,OAAM,UAAWsC;EAAOlE,EAAA,KAAA4B;EAAA5B,EAAA,KAAAiE;CAAA,OAAAA,MAAAjE,EAAA;CAA/D,MAAAmE,WAAiBF;CAA+C,IAAAG;CAAA,IAAApE,EAAA,OAAAX,oBAAAW,EAAA,OAAAzB,YAAAyB,EAAA,QAAAoB,SAAA;EAEjDgD,OAAAC,WAAA;GACb,IAAI,CAAC1F,UAAQA,OAAIL,UAAS;GAC1BK,OAAIJ,WAAY;GAChBA,WAAWI,MAAI;GACf,IAAI,CAACU,kBAAkB+B,QAAQ,KAAK;EAAE;EACvCpB,EAAA,KAAAX;EAAAW,EAAA,KAAAzB;EAAAyB,EAAA,MAAAoB;EAAApB,EAAA,MAAAoE;CAAA,OAAAA,MAAApE,EAAA;CALD,MAAAsE,SAAeF;CAOf,MAAAG,QAAaC,SAAA;EACX,IAAI,CAACf,QAAOO,QAAO;EACnB,IAAA1D,OAAWsD;EACX,KAAA,IAAAa,IAAa,GAAGA,IAAIhB,QAAOO,QAASS,KAAG;GACrCnE,QAAQA,OAAOkE,OAAOf,QAAOO,UAAWP,QAAOO;GAC/C,IAAI,CAACP,QAAQnD,KAAK,CAAAhC,UAAW;EAAM;EAErCiD,UAAUjB,IAAI;EACdqB,QAAOM,SAAuByC,cAAC,gBAAgBpE,KAAI,GAAoB,CAAC,EAAAqE,eAAC,EAAAC,OAAS,UAAU,CAAC;CAAC;CAGhG,MAAAC,eAAkBC,YAAA;EAChB,IAAIxC,QAAKI,QAAS,eAAeJ,QAAKI,QAAS,WAAS;GACtDJ,QAAKM,eAAgB;GACrB2B,KAAKjC,QAAKI,QAAS,cAAd,IAAA,EAAkC;EAAC,OACnC,IAAIJ,QAAKI,QAAS,WAAd,CAA0BJ,QAAKyC,YAAYC,aAAY;GAChE1C,QAAKM,eAAgB;GACrB0B,OAAOb,QAAQG,YAAY;EAAC;CAC7B;CAGH,IAAAqB,UAAY;CAAG,IAAAC;CAAA,IAAAlF,EAAA,QAAAoB,SAAA;EAIG8D,OAAAC,WAAU/D,QAAQd,MAAI;EAACN,EAAA,MAAAoB;EAAApB,EAAA,MAAAkF;CAAA,OAAAA,MAAAlF,EAAA;CAAA,IAAAoF;CAAA,IAAApF,EAAA,QAAAjB,UAAAiB,EAAA,QAAAqB,WAAA;EACf+D,OAAAC,WAAA;GAEpB,IAAI,CAAC/E,QAAI;IACPiB,UAAU,CAAC;IACX,IAAIxC,QAAQsC,UAAU,EAAE;GAAE;EAC3B;EACFrB,EAAA,MAAAjB;EAAAiB,EAAA,MAAAqB;EAAArB,EAAA,MAAAoF;CAAA,OAAAA,MAAApF,EAAA;CAAA,IAAAsF;CAAA,IAAAtF,EAAA,QAAAuF,OAAAC,IAAA,2BAAA,GAAA;EAGCF,MAAA,oBAAAuB,OAAA,UAAA,EAA+B,WAAA,uBAAsB,CAAA;EAAG7G,EAAA,MAAAsF;CAAA,OAAAA,MAAAtF,EAAA;CAAA,IAAAyF;CAAA,IAAAzF,EAAA,QAAAL,WAAA;EAC3B8F,MAAAjI,GAAG,eAAemC,SAAS;EAACK,EAAA,MAAAL;EAAAK,EAAA,MAAAyF;CAAA,OAAAA,MAAAzF,EAAA;CAAA,IAAA0F;CAAA,IAAA1F,EAAA,QAAAuF,OAAAC,IAAA,2BAAA,GAAA;EAErDE,MAAA,oBAAC,YAAD,CAAW,CAAA;EAAG1F,EAAA,MAAA0F;CAAA,OAAAA,MAAA1F,EAAA;CAAA,IAAA2F;CAAA,IAAA3F,EAAA,QAAAqB,WAAA;EAcFsE,OAAAC,YAAA;GACRvE,UAAUiB,QAAKuD,OAAOhG,KAAM;GAC5B0B,UAAU,CAAC;EAAC;EACbvB,EAAA,MAAAqB;EAAArB,EAAA,MAAA2F;CAAA,OAAAA,MAAA3F,EAAA;CAAA,IAAA8F;CAAA,IAAA9F,EAAA,QAAAP,SAAA;EAGFqG,MAAArG,WAAW,oBAAC,SAAD,EAAc,MAAA,OAAM,CAAA;EAAGO,EAAA,MAAAP;EAAAO,EAAA,MAAA8F;CAAA,OAAAA,MAAA9F,EAAA;CAEd,MAAA+F,MAAA,GAAGnE,OAAM;CAAc,MAAAoE,MAAA;CAAuC,MAAAC,MAAA;CAClF,MAAAC,MAAA5C,OAAMC,KAAK4C,SAAAC,eACV,qBAAA,OAAA;EAEO,MAAA;EACY,mBAAAlI,QAAKmI,UAAL,GAAmBzE,OAAM,SAAUwE,eAAnC3F,KAAAA;EACP,WAAA;EAJZ,UAAA,CAMGvC,QAAKmI,WACJ,oBAAA,OAAA;GAAS,IAAA,GAAGzE,OAAM,SAAUwE;GAAwB,WAAA;GACjDlI,UAAAA,QAAKmI;EACF,CAAA,GAEPnI,QAAKO,MAAM8E,KAAK+C,WAAA;GACfrB,UAAAf,UAAS;GACT,MAAAqC,YAAkBrC;GAAM,OAEtB,qBAAA,OAAA;IAEM,IAAAC,SAASoC,SAAS;IACjB,MAAA;IACK,WAAA;IACK,iBAAAA,cAAc3C;IACd,iBAAAjF,OAAIL,YAAJmC,KAAAA;IACH8F,cAAAA;IACM,oBAAAA,cAAc3C,cAAd,KAAAnD,KAAAA;IACH,iBAAA9B,OAAIL,WAAJ,KAAAmC,KAAAA;IACA,qBAAM,CAAC9B,OAAIL,YAAaiI,cAAc3C,eAAerC,UAAUgF,SAAS;IAC9E,eAAMjC,OAAO3F,MAAI;IAX5B,UAAA;KAaGA,OAAIR,QAAS,oBAAA,QAAA;MAAgB,WAAA;MAA0BQ,UAAAA,OAAIR;KAAa,CAAA;KACzE,qBAAA,QAAA;MAAgB,WAAA;MAAhB,UAAA,CACE,oBAAA,QAAA;OAAgB,WAAA;OAA2BQ,UAAAA,OAAIZ;MAAc,CAAA,GAC5DY,OAAIX,eAAgB,oBAAA,QAAA;OAAgB,WAAA;OAAiCW,UAAAA,OAAIX;MAAoB,CAAA,CACzF;;KACNW,OAAIN,YAAa,oBAAA,QAAA;MAAgB,WAAA;MAA8BM,UAAAA,OAAIN;KAAiB,CAAA;IACjF;GAlBCM,GAAAA,OAAIb,EAkBL;EAAA,CAET,CACG;CApCCI,GAAAA,QAAKmI,OAoCN,CACP;CAAC,IAAAG;CAAA,IAAAxG,EAAA,QAAAR,aAAAQ,EAAA,QAAAyD,QAAAO,QAAA;EACDwC,MAAA,CAAC/C,QAAOO,UAAW,oBAAA,OAAA;GAAe,WAAA;GAAsBxE,UAAAA;EAAgB,CAAA;EAAAQ,EAAA,MAAAR;EAAAQ,EAAA,MAAAyD,QAAAO;EAAAhE,EAAA,MAAAwG;CAAA,OAAAA,MAAAxG,EAAA;CAAA,IAAAyG;CAAA,IAAAzG,EAAA,QAAA2B,WAAA3B,EAAA,QAAA+F,OAAA/F,EAAA,QAAAkG,OAAAlG,EAAA,QAAAwG,OAAAxG,EAAA,QAAAV,OAAA;EAzC3EmH,MAAA,qBAAA,OAAA;GAAU9E,KAAAA;GAAa,IAAAoE;GAAuB,MAAAC;GAAsB1G,cAAAA;GAAiB,WAAA2G;GAArF,UAAA,CACGC,KAwCAM,GACG;;EAAAxG,EAAA,MAAA2B;EAAA3B,EAAA,MAAA+F;EAAA/F,EAAA,MAAAkG;EAAAlG,EAAA,MAAAwG;EAAAxG,EAAA,MAAAV;EAAAU,EAAA,MAAAyG;CAAA,OAAAA,MAAAzG,EAAA;CAAA,IAAA0G;CAAA,IAAA1G,EAAA,QAAAN,QAAA;EACLgH,MAAAhH,UAAU,oBAAA,OAAA;GAAe,WAAA;GAAuBA,UAAAA;EAAa,CAAA;EAAAM,EAAA,MAAAN;EAAAM,EAAA,MAAA0G;CAAA,OAAAA,MAAA1G,EAAA;CAAA,OAhFpE,oBAAA6G,OAAA,MAAA;EACQjI;EACQ,cAAAsG;EACQ,sBAAAE;EAQtB,UAAA,qBAAAyB,OAAA,QAAA;GAA8BrF;GAA9B,UAAA,CACE8D,KACA,qBAAAuB,OAAA,OAAA;IAA6B,WAAApB;IAA0CnG,cAAAA;IAAqBmC,cAAAA;IAA5F,UAAA;KACE,qBAAA,OAAA;MAAe,WAAA;MAAf,UAAA;OACEiE;OACA,oBAAA,SAAA;QACOjE,KAAAA;QACK,WAAA;QACL,MAAA;QACL,iBAAA;QACkB,qBAAA;QACH,iBAAA,GAAGG,OAAM;QACD,yBAAA6B,QAAOO,SAAUG,SAASP,WAAuB,IAAjDnD,KAAAA;QACXlB,cAAAA;QACCA;QACA,cAAA;QACD,YAAA;QACLR,OAAAA;QACG,UAAA4G;QAICtD,WAAAA;OAAS,CAAA;OAErByD;MACG;;KACNW;KA2CCC;IACH;GACF,CAAA,CAAA;;CACF,CAAA;AAAkB;AAhLf,SAAA/C,OAAAzF,OAAA;CAAA,OA0DqCA,MAAKO;AAAM;AA1DhD,SAAA+E,OAAAnD,IAAA;CAyD4B,MAAA,CAAAgG,SAAAM,cAAAtG;CAAqB,OAAM;EAAAgG;EAAA5H,OAAkBkI;CAAW;AAAC;AAzDrF,SAAA5E,QAAA,CAAA"}
1
+ {"version":3,"file":"CommandPalette.js","names":["React","Dialog","BaseDialog","cx","usePortalContainer","matchesQuery","SearchIcon","Spinner","CommandItem","id","label","description","ReactNode","group","icon","keywords","shortcut","disabled","onSelect","CommandPaletteProps","items","T","item","open","defaultOpen","onOpenChange","search","defaultSearch","onSearchChange","filter","maxResults","hotkey","keepOpenOnSelect","title","placeholder","emptyText","loading","footer","className","useControlled","value","initial","onChange","$","_c","inner","setInner","useState","t0","next","set","t1","undefined","t2","const","CommandPalette","openProp","searchProp","t3","t4","t5","t6","t7","setOpen","setSearch","active","setActive","container","inputRef","useRef","listRef","baseId","useId","toggle","_temp","t8","current","useEffect","t10","t9","onKeyDown","event","metaKey","ctrlKey","altKey","key","toLowerCase","preventDefault","window","addEventListener","removeEventListener","matched","byGroup","Map","item_0","slice","get","groups","map","_temp2","results","flatMap","_temp3","activeIndex","Math","min","max","length","t11","index","optionId","t12","item_1","choose","move","step","i","querySelector","scrollIntoView","block","onKeyDown_0","event_0","nativeEvent","isComposing","index_0","t13","next_0","t14","next_1","t15","Symbol","for","t16","t17","t18","event_1","target","t19","t20","t21","t22","t23","group_0","groupIndex","heading","item_2","itemIndex","t24","t25","t26","groupItems","_c","BaseDialog"],"sources":["../../../src/components/command-palette/CommandPalette.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Dialog as BaseDialog } from '@base-ui/react/dialog';\nimport { cx } from '../../utils/cx';\nimport { usePortalContainer } from '../../utils/portal';\nimport { matchesQuery } from '../../utils/search';\nimport { SearchIcon } from '../../icons';\nimport { Spinner } from '../spinner/Spinner';\n\nexport interface CommandItem {\n id: string;\n label: string;\n /** Secondary text next to the label. */\n description?: React.ReactNode;\n /** Heading the item is listed under. Groups appear in first-seen order. */\n group?: string;\n icon?: React.ReactNode;\n /** Extra search terms that are not displayed. */\n keywords?: string;\n /** Hint shown on the right, e.g. `<kbd>G</kbd>` or an arrow icon. */\n shortcut?: React.ReactNode;\n disabled?: boolean;\n onSelect?: () => void;\n}\n\nexport interface CommandPaletteProps<T extends CommandItem = CommandItem> {\n /** Commands to list. */\n items: T[];\n /** Called for any chosen item, after the item's own `onSelect`. */\n onSelect?: (item: T) => void;\n /** Whether the palette is open (controlled). */\n open?: boolean;\n /** Initial state when uncontrolled. */\n defaultOpen?: boolean;\n /** Called when the palette opens or closes. */\n onOpenChange?: (open: boolean) => void;\n /** Search text (controlled). */\n search?: string;\n /** Initial search text when uncontrolled. */\n defaultSearch?: string;\n /** Called when the search text changes. */\n onSearchChange?: (search: string) => void;\n /**\n * Custom match function, or `false` when `items` are already filtered (server-side search).\n * By default every term must occur in the label, keywords or group.\n */\n filter?: ((item: T, search: string) => boolean) | false;\n /** Cap on rendered results. */\n maxResults?: number;\n /** Key that toggles the palette together with Ctrl / ⌘. `false` disables the shortcut. */\n hotkey?: string | false;\n /** Keep the palette open after choosing an item. */\n keepOpenOnSelect?: boolean;\n /** Accessible name of the dialog. */\n title?: string;\n /** Placeholder of the search input. */\n placeholder?: string;\n /** Shown when nothing matches. */\n emptyText?: React.ReactNode;\n /** Show a spinner in the search row while results load. */\n loading?: boolean;\n /** Content below the results (key hints, a retry button…). */\n footer?: React.ReactNode;\n /** Class name for the palette popup. */\n className?: string;\n}\n\nfunction useControlled<V>(value: V | undefined, initial: V, onChange?: (value: V) => void) {\n const [inner, setInner] = React.useState(initial);\n const set = (next: V) => {\n setInner(next);\n onChange?.(next);\n };\n return [value === undefined ? inner : value, set] as const;\n}\n\n/**\n * Searchable command menu in a dialog (Ctrl / ⌘ + K) for navigation and quick\n * actions. Keyboard: arrows move, Enter chooses, Esc closes.\n */\nexport function CommandPalette<T extends CommandItem = CommandItem>({\n items,\n onSelect,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n search: searchProp,\n defaultSearch = '',\n onSearchChange,\n filter,\n maxResults = 50,\n hotkey = 'k',\n keepOpenOnSelect,\n title = 'Command palette',\n placeholder = 'Search…',\n emptyText = 'No results found.',\n loading,\n footer,\n className,\n}: CommandPaletteProps<T>) {\n const [open, setOpen] = useControlled(openProp, defaultOpen, onOpenChange);\n const [search, setSearch] = useControlled(searchProp, defaultSearch, onSearchChange);\n const [active, setActive] = React.useState(0);\n const container = usePortalContainer();\n const inputRef = React.useRef<HTMLInputElement>(null);\n const listRef = React.useRef<HTMLDivElement>(null);\n const baseId = React.useId();\n\n // Latest state for the global shortcut without re-subscribing on every render.\n const toggle = React.useRef(() => {});\n React.useEffect(() => {\n toggle.current = () => setOpen(!open);\n });\n React.useEffect(() => {\n if (!hotkey) return;\n const onKeyDown = (event: KeyboardEvent) => {\n if ((event.metaKey || event.ctrlKey) && !event.altKey && event.key.toLowerCase() === hotkey.toLowerCase()) {\n event.preventDefault();\n toggle.current();\n }\n };\n window.addEventListener('keydown', onKeyDown);\n return () => window.removeEventListener('keydown', onKeyDown);\n }, [hotkey]);\n\n // Grouped, in first-seen group order; `results` is the flat keyboard order.\n const matched =\n filter === false\n ? items\n : items.filter((item) =>\n filter ? filter(item, search) : matchesQuery(`${item.label} ${item.keywords ?? ''} ${item.group ?? ''}`, search),\n );\n const byGroup = new Map<string, T[]>();\n for (const item of matched.slice(0, maxResults)) {\n const key = item.group ?? '';\n byGroup.set(key, [...(byGroup.get(key) ?? []), item]);\n }\n const groups = [...byGroup].map(([heading, groupItems]) => ({ heading, items: groupItems }));\n const results = groups.flatMap((group) => group.items);\n\n const activeIndex = Math.min(active, Math.max(0, results.length - 1));\n const optionId = (index: number) => `${baseId}-option-${index}`;\n\n const choose = (item: T | undefined) => {\n if (!item || item.disabled) return;\n item.onSelect?.();\n onSelect?.(item);\n if (!keepOpenOnSelect) setOpen(false);\n };\n\n const move = (step: 1 | -1) => {\n if (!results.length) return;\n let next = activeIndex;\n for (let i = 0; i < results.length; i++) {\n next = (next + step + results.length) % results.length;\n if (!results[next].disabled) break;\n }\n setActive(next);\n listRef.current?.querySelector(`[data-index=\"${next}\"]`)?.scrollIntoView({ block: 'nearest' });\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n move(event.key === 'ArrowDown' ? 1 : -1);\n } else if (event.key === 'Enter' && !event.nativeEvent.isComposing) {\n event.preventDefault();\n choose(results[activeIndex]);\n }\n };\n\n let index = -1;\n return (\n <BaseDialog.Root\n open={open}\n onOpenChange={(next) => setOpen(next)}\n onOpenChangeComplete={(next) => {\n // Start fresh next time, once the closing animation is done.\n if (!next) {\n setActive(0);\n if (search) setSearch('');\n }\n }}\n >\n <BaseDialog.Portal container={container}>\n <BaseDialog.Backdrop className=\"oui-dialog__backdrop\" />\n <BaseDialog.Popup className={cx('oui-command', className)} aria-label={title} initialFocus={inputRef}>\n <div className=\"oui-command__search\">\n <SearchIcon />\n <input\n ref={inputRef}\n className=\"oui-command__input\"\n role=\"combobox\"\n aria-expanded\n aria-autocomplete=\"list\"\n aria-controls={`${baseId}-list`}\n aria-activedescendant={results.length ? optionId(activeIndex) : undefined}\n aria-label={placeholder}\n placeholder={placeholder}\n autoComplete=\"off\"\n spellCheck={false}\n value={search}\n onChange={(event) => {\n setSearch(event.target.value);\n setActive(0);\n }}\n onKeyDown={onKeyDown}\n />\n {loading && <Spinner size=\"1rem\" />}\n </div>\n <div ref={listRef} id={`${baseId}-list`} role=\"listbox\" aria-label={title} className=\"oui-command__list\">\n {groups.map((group, groupIndex) => (\n <div\n key={group.heading}\n role=\"group\"\n aria-labelledby={group.heading ? `${baseId}-group-${groupIndex}` : undefined}\n className=\"oui-command__group\"\n >\n {group.heading && (\n <div id={`${baseId}-group-${groupIndex}`} className=\"oui-command__group-label\">\n {group.heading}\n </div>\n )}\n {group.items.map((item) => {\n index += 1;\n const itemIndex = index;\n return (\n <div\n key={item.id}\n id={optionId(itemIndex)}\n role=\"option\"\n className=\"oui-command__item\"\n aria-selected={itemIndex === activeIndex}\n aria-disabled={item.disabled || undefined}\n data-index={itemIndex}\n data-highlighted={itemIndex === activeIndex ? '' : undefined}\n data-disabled={item.disabled ? '' : undefined}\n onPointerMove={() => !item.disabled && itemIndex !== activeIndex && setActive(itemIndex)}\n onClick={() => choose(item)}\n >\n {item.icon && <span className=\"oui-command__item-icon\">{item.icon}</span>}\n <span className=\"oui-command__item-text\">\n <span className=\"oui-command__item-label\">{item.label}</span>\n {item.description && <span className=\"oui-command__item-description\">{item.description}</span>}\n </span>\n {item.shortcut && <span className=\"oui-command__item-shortcut\">{item.shortcut}</span>}\n </div>\n );\n })}\n </div>\n ))}\n {!results.length && <div className=\"oui-command__empty\">{emptyText}</div>}\n </div>\n {footer && <div className=\"oui-command__footer\">{footer}</div>}\n </BaseDialog.Popup>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n );\n}\n"],"mappings":"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"}
@@ -8,6 +8,7 @@ export { useDataTableContext } from './context';
8
8
  export type { DataTableContentProps, DataTableVirtualOptions } from './DataTableContent';
9
9
  export type { DataTableControlSize, DataTableFilterProps, DataTableFiltersProps } from './DataTableFilters';
10
10
  export interface DataTableRootProps<T> extends React.HTMLAttributes<HTMLDivElement> {
11
+ /** Ref to the table's root element. */
11
12
  ref?: React.Ref<HTMLDivElement>;
12
13
  /** The table from `useDataTable`. */
13
14
  table: DataTableInstance<T>;
@@ -15,6 +16,7 @@ export interface DataTableRootProps<T> extends React.HTMLAttributes<HTMLDivEleme
15
16
  /** Provides a table to the parts inside it. */
16
17
  declare function DataTableRoot<T>({ table, className, ref, ...props }: DataTableRootProps<T>): React.JSX.Element;
17
18
  export interface DataTableSearchProps extends Omit<SearchInputProps, 'value' | 'defaultValue' | 'onValueChange' | 'className'> {
19
+ /** Class name for the search box. */
18
20
  className?: string;
19
21
  }
20
22
  /** Search box of the table. Typing applies after the table's `searchDebounce`; clearing applies at once. */
@@ -34,11 +36,13 @@ export interface DataTableToolbarContext<T> {
34
36
  table: DataTableInstance<T>;
35
37
  }
36
38
  export interface DataTableProps<T> extends UseDataTableOptions<T>, DataTableContentProps {
39
+ /** Choices in the rows-per-page select. */
37
40
  pageSizeOptions?: number[];
38
41
  /** Size of the search box and the filters. */
39
42
  controlSize?: DataTableControlSize;
40
43
  /** Extra toolbar content (export, add…). A function receives the processed rows. */
41
44
  toolbar?: React.ReactNode | ((context: DataTableToolbarContext<T>) => React.ReactNode);
45
+ /** Class name for the table's root element. */
42
46
  className?: string;
43
47
  }
44
48
  declare function DataTableComponent<T>({ density, striped, stickyHeader, layout, maxHeight, virtualized, onEndReached, empty, tableProps, pageSizeOptions, controlSize, toolbar, className, ...options }: DataTableProps<T>): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","names":["React","cx","createPrimitive","Pagination","PaginationProps","SearchInput","SearchInputProps","Spinner","DataTableContext","useDataTableContext","DataTableContent","DataTableContentProps","DataTableFilter","DataTableFilters","DataTableControlSize","useDataTable","DataTableInstance","UseDataTableOptions","DataTableVirtualOptions","DataTableFilterProps","DataTableFiltersProps","DataTableRootProps","HTMLAttributes","HTMLDivElement","ref","Ref","table","T","DataTableRoot","t0","$","_c","className","props","t1","t2","loading","rows","length","undefined","t3","t4","DataTableToolbar","DataTableActions","DataTableSearchProps","Omit","DataTableSearch","search","searchDebounce","labels","text","draft","setDraft","useState","seen","setSeen","sent","setSent","next","setSearch","commit","timer","window","setTimeout","clearTimeout","useEffect","next_0","change","t5","t6","clearSearch","DataTableSummary","selection","Set","selected","size","count","pending","selectable","totalCount","filteredCount","DataTablePaginationProps","DataTablePagination","paginated","error","page","pageSize","setPage","setPageSize","DataTableToolbarContext","DataTableProps","pageSizeOptions","controlSize","toolbar","ReactNode","context","DataTableComponent","density","empty","layout","maxHeight","onEndReached","options","stickyHeader","striped","tableProps","virtualized","map","_temp","extra","searchable","Symbol","for","t7","t8","t9","t10","t11","row","DataTable","Object","assign","Root","Toolbar","Search","Filters","Filter","Actions","Summary","Content","_c","_Fragment"],"sources":["../../../src/components/data-table/DataTable.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cx } from '../../utils/cx';\nimport { createPrimitive } from '../../utils/primitive';\nimport { Pagination, type PaginationProps } from '../pagination/Pagination';\nimport { SearchInput, type SearchInputProps } from '../search-input/SearchInput';\nimport { Spinner } from '../spinner/Spinner';\nimport { DataTableContext, useDataTableContext } from './context';\nimport { DataTableContent, type DataTableContentProps } from './DataTableContent';\nimport { DataTableFilter, DataTableFilters, type DataTableControlSize } from './DataTableFilters';\nimport { useDataTable } from './useDataTable';\nimport type { DataTableInstance, UseDataTableOptions } from './types';\n\nexport { useDataTableContext } from './context';\nexport type { DataTableContentProps, DataTableVirtualOptions } from './DataTableContent';\nexport type { DataTableControlSize, DataTableFilterProps, DataTableFiltersProps } from './DataTableFilters';\n\n// ─── Parts ───────────────────────────────────────────────────────────────────\n\nexport interface DataTableRootProps<T> extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement>;\n /** The table from `useDataTable`. */\n table: DataTableInstance<T>;\n}\n\n/** Provides a table to the parts inside it. */\nfunction DataTableRoot<T>({ table, className, ref, ...props }: DataTableRootProps<T>) {\n return (\n <DataTableContext.Provider value={table}>\n <div\n ref={ref}\n className={cx('oui-data-table', className)}\n data-loading={table.loading ? (table.rows.length ? 'refresh' : 'initial') : undefined}\n {...props}\n />\n </DataTableContext.Provider>\n );\n}\n\nconst DataTableToolbar = createPrimitive('div', 'oui-data-table__toolbar', 'DataTableToolbar');\nconst DataTableActions = createPrimitive('div', 'oui-data-table__actions', 'DataTableActions');\n\nexport interface DataTableSearchProps extends Omit<SearchInputProps, 'value' | 'defaultValue' | 'onValueChange' | 'className'> {\n className?: string;\n}\n\n/** Search box of the table. Typing applies after the table's `searchDebounce`; clearing applies at once. */\nfunction DataTableSearch({ className, ...props }: DataTableSearchProps) {\n const table = useDataTableContext();\n const { search, searchDebounce, labels: text } = table;\n const [draft, setDraft] = React.useState(search);\n const [seen, setSeen] = React.useState(search);\n const [sent, setSent] = React.useState(search);\n\n // Follow a search set from outside (reset, controlled state), but not the echo\n // of our own change: it can arrive after the user has typed further.\n if (seen !== search) {\n setSeen(search);\n if (search !== sent) {\n setSent(search);\n setDraft(search);\n }\n }\n\n const commit = (next: string) => {\n setSent(next);\n table.setSearch(next);\n };\n\n // Typed text that has not been applied yet goes out once the typing pauses.\n React.useEffect(() => {\n if (draft === sent) return;\n const timer = window.setTimeout(() => commit(draft), searchDebounce);\n return () => window.clearTimeout(timer);\n // `commit` is new on every render; only a change of the text restarts the wait.\n }, [draft, sent, searchDebounce]);\n\n const change = (next: string) => {\n setDraft(next);\n if (!searchDebounce || !next) commit(next);\n };\n\n return (\n <SearchInput\n className={cx('oui-data-table__search', className)}\n aria-label={text.search}\n placeholder={text.search}\n clearLabel={text.clearSearch}\n {...props}\n value={draft}\n onValueChange={change}\n />\n );\n}\n\n/** Row count, or the number of selected rows, with a spinner while loading. */\nfunction DataTableSummary({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) {\n const table = useDataTableContext();\n const text = table.labels;\n const selected = new Set(table.selection).size;\n return (\n <>\n {table.loading && <Spinner className=\"oui-data-table__spinner\" label={text.loading} />}\n <span className={cx('oui-data-table__summary', className)} aria-live=\"polite\" {...props}>\n {/* No count before the first rows arrive: \"0 records\" would be wrong. */}\n {table.selectable && selected\n ? text.selected(selected)\n : table.pending\n ? null\n : table.count !== table.totalCount\n ? text.filteredCount(table.count, table.totalCount)\n : text.count(table.count)}\n </span>\n </>\n );\n}\n\nexport interface DataTablePaginationProps\n extends Omit<PaginationProps, 'page' | 'pageSize' | 'total' | 'onPageChange' | 'onPageSizeChange'> {}\n\n/** Page navigation of the table. Renders nothing when there are no rows, or the table is not paginated. */\nfunction DataTablePagination({ className, ...props }: DataTablePaginationProps) {\n const table = useDataTableContext();\n if (!table.paginated || table.count <= 0 || table.error) return null;\n return (\n <Pagination\n className={cx('oui-data-table__pagination', className)}\n variant=\"simple\"\n labels={table.labels}\n {...props}\n page={table.page}\n pageSize={table.pageSize}\n total={table.count}\n onPageChange={table.setPage}\n onPageSizeChange={table.setPageSize}\n />\n );\n}\n\n// ─── Convenience component ───────────────────────────────────────────────────\n\nexport interface DataTableToolbarContext<T> {\n /** Rows after filters, search and sorting, across all pages. In server mode: the current page. */\n rows: T[];\n /** Ids of the selected rows. */\n selection: string[];\n /** The whole table: filter values, sort, setters. */\n table: DataTableInstance<T>;\n}\n\nexport interface DataTableProps<T> extends UseDataTableOptions<T>, DataTableContentProps {\n pageSizeOptions?: number[];\n /** Size of the search box and the filters. */\n controlSize?: DataTableControlSize;\n /** Extra toolbar content (export, add…). A function receives the processed rows. */\n toolbar?: React.ReactNode | ((context: DataTableToolbarContext<T>) => React.ReactNode);\n className?: string;\n}\n\nfunction DataTableComponent<T>({\n density,\n striped,\n stickyHeader,\n layout,\n maxHeight,\n virtualized,\n onEndReached,\n empty,\n tableProps,\n pageSizeOptions,\n controlSize,\n toolbar,\n className,\n ...options\n}: DataTableProps<T>) {\n // A virtualized table shows all its rows in one scrolling list, unless pages are asked for.\n const table = useDataTable({ ...options, paginated: options.paginated ?? !virtualized });\n const extra =\n typeof toolbar === 'function'\n ? toolbar({ rows: table.rows.map(({ row }) => row), selection: table.selection, table })\n : toolbar;\n\n return (\n <DataTableRoot table={table} className={className}>\n <DataTableToolbar>\n {table.searchable && <DataTableSearch size={controlSize} />}\n <DataTableFilters size={controlSize} />\n <DataTableActions>\n <DataTableSummary />\n {extra}\n </DataTableActions>\n </DataTableToolbar>\n <DataTableContent\n density={density}\n striped={striped}\n stickyHeader={stickyHeader}\n layout={layout}\n maxHeight={maxHeight}\n virtualized={virtualized}\n onEndReached={onEndReached}\n empty={empty}\n tableProps={tableProps}\n />\n <DataTablePagination pageSizeOptions={pageSizeOptions} />\n </DataTableRoot>\n );\n}\n\n/**\n * `<DataTable data={…} columns={…} />` renders a complete table with search,\n * filters, sorting, pagination, row selection, row actions and inline editing;\n * columns declare what they take part in. Every piece of state works\n * uncontrolled or controlled (`search` / `filterValues` / `sort` / `page` /\n * `selection`), and with `mode=\"server\"` the same state drives an API.\n *\n * For another layout, create the table with `useDataTable` and compose the\n * parts: `DataTable.Root`, `DataTable.Toolbar`, `DataTable.Search`,\n * `DataTable.Filters`, `DataTable.Filter`, `DataTable.Actions`,\n * `DataTable.Summary`, `DataTable.Content`, `DataTable.Pagination`.\n */\nexport const DataTable = Object.assign(DataTableComponent, {\n Root: DataTableRoot,\n Toolbar: DataTableToolbar,\n Search: DataTableSearch,\n Filters: DataTableFilters,\n Filter: DataTableFilter,\n Actions: DataTableActions,\n Summary: DataTableSummary,\n Content: DataTableContent,\n Pagination: DataTablePagination,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","names":["React","cx","createPrimitive","Pagination","PaginationProps","SearchInput","SearchInputProps","Spinner","DataTableContext","useDataTableContext","DataTableContent","DataTableContentProps","DataTableFilter","DataTableFilters","DataTableControlSize","useDataTable","DataTableInstance","UseDataTableOptions","DataTableVirtualOptions","DataTableFilterProps","DataTableFiltersProps","DataTableRootProps","HTMLAttributes","HTMLDivElement","ref","Ref","table","T","DataTableRoot","t0","$","_c","className","props","t1","t2","loading","rows","length","undefined","t3","t4","DataTableToolbar","DataTableActions","DataTableSearchProps","Omit","DataTableSearch","search","searchDebounce","labels","text","draft","setDraft","useState","seen","setSeen","sent","setSent","next","setSearch","commit","timer","window","setTimeout","clearTimeout","useEffect","next_0","change","t5","t6","clearSearch","DataTableSummary","selection","Set","selected","size","count","pending","selectable","totalCount","filteredCount","DataTablePaginationProps","DataTablePagination","paginated","error","page","pageSize","setPage","setPageSize","DataTableToolbarContext","DataTableProps","pageSizeOptions","controlSize","toolbar","ReactNode","context","DataTableComponent","density","empty","layout","maxHeight","onEndReached","options","stickyHeader","striped","tableProps","virtualized","map","_temp","extra","searchable","Symbol","for","t7","t8","t9","t10","t11","row","DataTable","Object","assign","Root","Toolbar","Search","Filters","Filter","Actions","Summary","Content","_c","_Fragment"],"sources":["../../../src/components/data-table/DataTable.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cx } from '../../utils/cx';\nimport { createPrimitive } from '../../utils/primitive';\nimport { Pagination, type PaginationProps } from '../pagination/Pagination';\nimport { SearchInput, type SearchInputProps } from '../search-input/SearchInput';\nimport { Spinner } from '../spinner/Spinner';\nimport { DataTableContext, useDataTableContext } from './context';\nimport { DataTableContent, type DataTableContentProps } from './DataTableContent';\nimport { DataTableFilter, DataTableFilters, type DataTableControlSize } from './DataTableFilters';\nimport { useDataTable } from './useDataTable';\nimport type { DataTableInstance, UseDataTableOptions } from './types';\n\nexport { useDataTableContext } from './context';\nexport type { DataTableContentProps, DataTableVirtualOptions } from './DataTableContent';\nexport type { DataTableControlSize, DataTableFilterProps, DataTableFiltersProps } from './DataTableFilters';\n\n// ─── Parts ───────────────────────────────────────────────────────────────────\n\nexport interface DataTableRootProps<T> extends React.HTMLAttributes<HTMLDivElement> {\n /** Ref to the table's root element. */\n ref?: React.Ref<HTMLDivElement>;\n /** The table from `useDataTable`. */\n table: DataTableInstance<T>;\n}\n\n/** Provides a table to the parts inside it. */\nfunction DataTableRoot<T>({ table, className, ref, ...props }: DataTableRootProps<T>) {\n return (\n <DataTableContext.Provider value={table}>\n <div\n ref={ref}\n className={cx('oui-data-table', className)}\n data-loading={table.loading ? (table.rows.length ? 'refresh' : 'initial') : undefined}\n {...props}\n />\n </DataTableContext.Provider>\n );\n}\n\nconst DataTableToolbar = createPrimitive('div', 'oui-data-table__toolbar', 'DataTableToolbar');\nconst DataTableActions = createPrimitive('div', 'oui-data-table__actions', 'DataTableActions');\n\nexport interface DataTableSearchProps extends Omit<SearchInputProps, 'value' | 'defaultValue' | 'onValueChange' | 'className'> {\n /** Class name for the search box. */\n className?: string;\n}\n\n/** Search box of the table. Typing applies after the table's `searchDebounce`; clearing applies at once. */\nfunction DataTableSearch({ className, ...props }: DataTableSearchProps) {\n const table = useDataTableContext();\n const { search, searchDebounce, labels: text } = table;\n const [draft, setDraft] = React.useState(search);\n const [seen, setSeen] = React.useState(search);\n const [sent, setSent] = React.useState(search);\n\n // Follow a search set from outside (reset, controlled state), but not the echo\n // of our own change: it can arrive after the user has typed further.\n if (seen !== search) {\n setSeen(search);\n if (search !== sent) {\n setSent(search);\n setDraft(search);\n }\n }\n\n const commit = (next: string) => {\n setSent(next);\n table.setSearch(next);\n };\n\n // Typed text that has not been applied yet goes out once the typing pauses.\n React.useEffect(() => {\n if (draft === sent) return;\n const timer = window.setTimeout(() => commit(draft), searchDebounce);\n return () => window.clearTimeout(timer);\n // `commit` is new on every render; only a change of the text restarts the wait.\n }, [draft, sent, searchDebounce]);\n\n const change = (next: string) => {\n setDraft(next);\n if (!searchDebounce || !next) commit(next);\n };\n\n return (\n <SearchInput\n className={cx('oui-data-table__search', className)}\n aria-label={text.search}\n placeholder={text.search}\n clearLabel={text.clearSearch}\n {...props}\n value={draft}\n onValueChange={change}\n />\n );\n}\n\n/** Row count, or the number of selected rows, with a spinner while loading. */\nfunction DataTableSummary({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) {\n const table = useDataTableContext();\n const text = table.labels;\n const selected = new Set(table.selection).size;\n return (\n <>\n {table.loading && <Spinner className=\"oui-data-table__spinner\" label={text.loading} />}\n <span className={cx('oui-data-table__summary', className)} aria-live=\"polite\" {...props}>\n {/* No count before the first rows arrive: \"0 records\" would be wrong. */}\n {table.selectable && selected\n ? text.selected(selected)\n : table.pending\n ? null\n : table.count !== table.totalCount\n ? text.filteredCount(table.count, table.totalCount)\n : text.count(table.count)}\n </span>\n </>\n );\n}\n\nexport interface DataTablePaginationProps\n extends Omit<PaginationProps, 'page' | 'pageSize' | 'total' | 'onPageChange' | 'onPageSizeChange'> {}\n\n/** Page navigation of the table. Renders nothing when there are no rows, or the table is not paginated. */\nfunction DataTablePagination({ className, ...props }: DataTablePaginationProps) {\n const table = useDataTableContext();\n if (!table.paginated || table.count <= 0 || table.error) return null;\n return (\n <Pagination\n className={cx('oui-data-table__pagination', className)}\n variant=\"simple\"\n labels={table.labels}\n {...props}\n page={table.page}\n pageSize={table.pageSize}\n total={table.count}\n onPageChange={table.setPage}\n onPageSizeChange={table.setPageSize}\n />\n );\n}\n\n// ─── Convenience component ───────────────────────────────────────────────────\n\nexport interface DataTableToolbarContext<T> {\n /** Rows after filters, search and sorting, across all pages. In server mode: the current page. */\n rows: T[];\n /** Ids of the selected rows. */\n selection: string[];\n /** The whole table: filter values, sort, setters. */\n table: DataTableInstance<T>;\n}\n\nexport interface DataTableProps<T> extends UseDataTableOptions<T>, DataTableContentProps {\n /** Choices in the rows-per-page select. */\n pageSizeOptions?: number[];\n /** Size of the search box and the filters. */\n controlSize?: DataTableControlSize;\n /** Extra toolbar content (export, add…). A function receives the processed rows. */\n toolbar?: React.ReactNode | ((context: DataTableToolbarContext<T>) => React.ReactNode);\n /** Class name for the table's root element. */\n className?: string;\n}\n\nfunction DataTableComponent<T>({\n density,\n striped,\n stickyHeader,\n layout,\n maxHeight,\n virtualized,\n onEndReached,\n empty,\n tableProps,\n pageSizeOptions,\n controlSize,\n toolbar,\n className,\n ...options\n}: DataTableProps<T>) {\n // A virtualized table shows all its rows in one scrolling list, unless pages are asked for.\n const table = useDataTable({ ...options, paginated: options.paginated ?? !virtualized });\n const extra =\n typeof toolbar === 'function'\n ? toolbar({ rows: table.rows.map(({ row }) => row), selection: table.selection, table })\n : toolbar;\n\n return (\n <DataTableRoot table={table} className={className}>\n <DataTableToolbar>\n {table.searchable && <DataTableSearch size={controlSize} />}\n <DataTableFilters size={controlSize} />\n <DataTableActions>\n <DataTableSummary />\n {extra}\n </DataTableActions>\n </DataTableToolbar>\n <DataTableContent\n density={density}\n striped={striped}\n stickyHeader={stickyHeader}\n layout={layout}\n maxHeight={maxHeight}\n virtualized={virtualized}\n onEndReached={onEndReached}\n empty={empty}\n tableProps={tableProps}\n />\n <DataTablePagination pageSizeOptions={pageSizeOptions} />\n </DataTableRoot>\n );\n}\n\n/**\n * `<DataTable data={…} columns={…} />` renders a complete table with search,\n * filters, sorting, pagination, row selection, row actions and inline editing;\n * columns declare what they take part in. Every piece of state works\n * uncontrolled or controlled (`search` / `filterValues` / `sort` / `page` /\n * `selection`), and with `mode=\"server\"` the same state drives an API.\n *\n * For another layout, create the table with `useDataTable` and compose the\n * parts: `DataTable.Root`, `DataTable.Toolbar`, `DataTable.Search`,\n * `DataTable.Filters`, `DataTable.Filter`, `DataTable.Actions`,\n * `DataTable.Summary`, `DataTable.Content`, `DataTable.Pagination`.\n */\nexport const DataTable = Object.assign(DataTableComponent, {\n Root: DataTableRoot,\n Toolbar: DataTableToolbar,\n Search: DataTableSearch,\n Filters: DataTableFilters,\n Filter: DataTableFilter,\n Actions: DataTableActions,\n Summary: DataTableSummary,\n Content: DataTableContent,\n Pagination: DataTablePagination,\n});\n"],"mappings":"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"}
@@ -29,6 +29,7 @@ export interface DataTableContentProps extends Pick<TableProps, 'density' | 'str
29
29
  onEndReached?: () => void;
30
30
  /** Replaces the default empty state. */
31
31
  empty?: React.ReactNode;
32
+ /** Props for the underlying `Table` (className, wrapperProps, aria-*). */
32
33
  tableProps?: Omit<TableProps, 'children'>;
33
34
  }
34
35
  /** The table itself, with its loading, empty and error states. */
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableContent.js","names":["React","cx","Button","Checkbox","EmptyState","Skeleton","Table","TableBody","TableCell","TableHead","TableHeader","TableRow","TableProps","useDataTableContext","DataTableRow","SizerRow","isTextEditor","pickSizerRows","useColumnLock","usePageHeight","useVirtualRows","ROW_ESTIMATE","compact","normal","comfortable","DataTableVirtualOptions","rowHeight","overscan","DataTableContentProps","Pick","layout","maxHeight","virtualized","onEndReached","empty","ReactNode","tableProps","Omit","DataTableContent","t0","$","_c","density","t1","striped","stickyHeader","t2","t3","undefined","table","labels","text","visibleColumns","columns","loading","error","anchor","setAnchor","useState","reported","useRef","virtual","t4","t5","height","scrolls","stable","hasActions","Boolean","rowActions","editable","deletable","placeholders","pending","Math","min","paginated","pageSize","noMatch","mode","filtered","totalCount","t6","find","id","focused","t7","pageRows","shown","span","length","Number","selectable","t8","map","_temp","columnKey","join","lock","measuring","t9","t10","t11","enabled","count","estimate","viewport","key","rows","t12","end","start","slice","rendered","sizers","allRows","holdsPage","pageHeight","shortPage","page","t13","wrapper","current","scrollHeight","scrollTop","clientHeight","reportEnd","t14","t15","search","t16","sort","t17","direction","t18","filterValues","JSON","stringify","t19","view","t20","closest","parentElement","scrollTo","top","t21","useEffect","t22","wrapper_0","T0","t23","t24","t25","t26","t27","t28","t29","style","width","minWidth","t30","wrapperProps","t31","t32","className","t33","t34","t35","t36","minHeight","t37","event","onScroll","currentTarget","t38","t39","widths","_temp2","t40","t41","t42","selectAll","allSelected","someSelected","checked","toggleAll","t43","t44","column","align","numeric","isSortable","toggleSort","header","actions","t45","t46","before","t47","t48","_","index_0","index","column_0","position","Array","from","t49","entry","index_1","t50","after","t51","entry_0","t52","t53","activeFilterCount","onRetry","reset","errorTitle","retry","noMatchTitle","emptyTitle","emptyDescription","noFilterMatchDescription","noMatchDescription","clearFilters","clearSearch","t54","c","_c","_Fragment"],"sources":["../../../src/components/data-table/DataTableContent.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cx } from '../../utils/cx';\nimport { Button } from '../button/Button';\nimport { Checkbox } from '../choice/Choice';\nimport { EmptyState } from '../empty-state/EmptyState';\nimport { Skeleton } from '../skeleton/Skeleton';\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, type TableProps } from '../table/Table';\nimport { useDataTableContext } from './context';\nimport { DataTableRow, SizerRow, isTextEditor } from './DataTableRow';\nimport { pickSizerRows, useColumnLock, usePageHeight, useVirtualRows } from './layout';\n\n// Row heights of the three densities, assumed until the first row is measured.\nconst ROW_ESTIMATE = { compact: 35, normal: 46, comfortable: 55 };\n\nexport interface DataTableVirtualOptions {\n /** Height of every row in pixels. Left out, the rows are measured. */\n rowHeight?: number;\n /** Rows rendered beyond each edge of the view (default 8). */\n overscan?: number;\n}\n\nexport interface DataTableContentProps extends Pick<TableProps, 'density' | 'striped' | 'stickyHeader'> {\n /**\n * `stable` (default) measures the columns once and holds their widths, keeps a\n * short last page as tall as a full one, and keeps a row's height while it is\n * edited: nothing moves while the table is used. `auto` leaves the layout to\n * the browser, which fits the columns to the rows on screen.\n */\n layout?: 'stable' | 'auto';\n /** Scrolls the rows inside this height and keeps the header in view. */\n maxHeight?: number | string;\n /**\n * Renders only the rows in view, for thousands of rows without pagination.\n * Rows are one line high: columns fit their longest value, so mark those with\n * long text `truncate`. Scrolls inside `maxHeight` (default `32rem`).\n */\n virtualized?: boolean | DataTableVirtualOptions;\n /**\n * Called when the rows are scrolled near their end, once per row count: load\n * and append the next rows. Needs `maxHeight` or `virtualized`.\n */\n onEndReached?: () => void;\n /** Replaces the default empty state. */\n empty?: React.ReactNode;\n tableProps?: Omit<TableProps, 'children'>;\n}\n\n/** The table itself, with its loading, empty and error states. */\nexport function DataTableContent({\n density = 'normal',\n striped,\n stickyHeader,\n layout = 'stable',\n maxHeight,\n virtualized = false,\n onEndReached,\n empty,\n tableProps,\n}: DataTableContentProps) {\n const table = useDataTableContext();\n const { labels: text, visibleColumns: columns, loading, error } = table;\n // Found by the layout hooks through `closest('table')`.\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\n const reported = React.useRef(-1);\n\n const virtual = virtualized !== false;\n const { rowHeight, overscan = 8 } = typeof virtualized === 'object' ? virtualized : {};\n const height = maxHeight ?? (virtual ? '32rem' : undefined);\n const scrolls = height !== undefined;\n const stable = layout === 'stable' || virtual;\n\n const hasActions = Boolean(table.rowActions) || table.editable || table.deletable;\n const placeholders = table.pending ? Math.min(table.paginated ? table.pageSize : 5, 10) : 0;\n const noMatch = table.mode === 'server' ? table.filtered : table.totalCount > 0;\n const focused = columns.find(isTextEditor)?.id;\n const shown = error ? [] : table.pageRows;\n const span = columns.length + Number(table.selectable) + Number(hasActions);\n\n const columnKey = [density, table.selectable, hasActions, ...columns.map((c) => `${c.id}:${c.width ?? ''}:${c.minWidth ?? ''}`)].join('|');\n const { lock, measuring } = useColumnLock(anchor, stable, columnKey, shown.length > 0);\n const rows = useVirtualRows(anchor, {\n enabled: virtual,\n count: shown.length,\n rowHeight,\n overscan,\n estimate: ROW_ESTIMATE[density],\n viewport: typeof maxHeight === 'number' ? maxHeight : 512,\n key: density,\n });\n const rendered = virtual ? shown.slice(rows.start, rows.end) : shown;\n const sizers = measuring && table.allRows.length > rendered.length ? pickSizerRows(table.allRows, columns) : [];\n\n const holdsPage = stable && table.paginated && !scrolls;\n const pageHeight = usePageHeight(anchor, holdsPage, shown.length === table.pageSize, `${density}|${table.pageSize}`);\n const shortPage = table.page > 1 && shown.length > 0 && shown.length < table.pageSize;\n\n const reportEnd = (wrapper: HTMLElement) => {\n if (!onEndReached || !scrolls || loading || !shown.length || reported.current === shown.length) return;\n if (wrapper.scrollHeight - wrapper.scrollTop - wrapper.clientHeight > 4 * ROW_ESTIMATE[density]) return;\n reported.current = shown.length;\n onEndReached();\n };\n\n // New rows start at the top: the scroll position belonged to the previous ones.\n const view = [table.page, table.search, table.sort?.id, table.sort?.direction, JSON.stringify(table.filterValues)].join('|');\n React.useEffect(() => {\n if (scrolls) anchor?.closest('table')?.parentElement?.scrollTo({ top: 0 });\n }, [anchor, scrolls, view]);\n\n // Rows that do not fill the view cannot be scrolled to their end: ask for more right away.\n React.useEffect(() => {\n const wrapper = anchor?.closest('table')?.parentElement;\n if (wrapper) reportEnd(wrapper);\n });\n\n return (\n <>\n <Table\n density={density}\n striped={striped}\n stickyHeader={stickyHeader ?? scrolls}\n aria-busy={loading || undefined}\n aria-rowcount={virtual ? shown.length + 1 : undefined}\n {...tableProps}\n data-layout={stable ? 'stable' : undefined}\n data-locked={lock ? '' : undefined}\n data-virtualized={virtual ? '' : undefined}\n style={lock ? { width: lock.table, minWidth: '100%', ...tableProps?.style } : tableProps?.style}\n wrapperProps={{\n ...tableProps?.wrapperProps,\n className: cx(scrolls && 'oui-data-table__scroll', tableProps?.wrapperProps?.className),\n style: {\n maxHeight: height,\n minHeight: holdsPage && shortPage ? pageHeight : undefined,\n ...tableProps?.wrapperProps?.style,\n },\n onScroll: (event) => {\n tableProps?.wrapperProps?.onScroll?.(event);\n rows.onScroll(event);\n reportEnd(event.currentTarget);\n },\n }}\n >\n <colgroup ref={setAnchor}>{lock?.widths.map((width, index) => <col key={index} style={{ width }} />)}</colgroup>\n <TableHeader>\n <TableRow aria-rowindex={virtual ? 1 : undefined}>\n {table.selectable && (\n <TableHead className=\"oui-data-table__check\">\n <Checkbox\n size=\"sm\"\n aria-label={text.selectAll}\n checked={table.allSelected}\n indeterminate={table.someSelected}\n disabled={!table.rows.length}\n onCheckedChange={(checked) => table.toggleAll(checked)}\n />\n </TableHead>\n )}\n {columns.map((column) => (\n <TableHead\n key={column.id}\n align={column.align ?? (column.numeric ? 'end' : 'start')}\n style={\n !lock && (column.width !== undefined || column.minWidth !== undefined)\n ? { width: column.width, minWidth: column.minWidth }\n : undefined\n }\n sort={table.isSortable(column) ? (table.sort?.id === column.id ? table.sort.direction : false) : undefined}\n onSort={() => table.toggleSort(column.id)}\n >\n {column.header}\n </TableHead>\n ))}\n {hasActions && (\n <TableHead className=\"oui-data-table__row-actions\">\n <span className=\"oui-visually-hidden\">{text.actions}</span>\n </TableHead>\n )}\n </TableRow>\n </TableHeader>\n {rows.before > 0 && (\n <tbody className=\"oui-data-table__spacer\" aria-hidden>\n <tr style={{ height: rows.before }}>\n <td colSpan={span} />\n </tr>\n </tbody>\n )}\n <TableBody>\n {Array.from({ length: placeholders }, (_, index) => (\n <TableRow key={index} aria-hidden>\n {table.selectable && <TableCell className=\"oui-data-table__check\" />}\n {columns.map((column, position) => (\n <TableCell key={column.id} align={column.align} numeric={column.numeric}>\n <Skeleton className=\"oui-data-table__skeleton\" width={`${45 + ((index * 3 + position * 5) % 7) * 8}%`} />\n </TableCell>\n ))}\n {hasActions && <TableCell className=\"oui-data-table__row-actions\" />}\n </TableRow>\n ))}\n {rendered.map((entry, index) => (\n <DataTableRow\n key={entry.id}\n table={table}\n entry={entry}\n columns={columns}\n hasActions={hasActions}\n focused={focused}\n index={virtual ? rows.start + index : undefined}\n height={rows.rowHeight}\n />\n ))}\n </TableBody>\n {rows.after > 0 && (\n <tbody className=\"oui-data-table__spacer\" aria-hidden>\n <tr style={{ height: rows.after }}>\n <td colSpan={span} />\n </tr>\n </tbody>\n )}\n {sizers.length > 0 && (\n <tbody className=\"oui-data-table__sizer\" aria-hidden inert>\n {sizers.map((entry) => (\n <SizerRow key={entry.id} table={table} entry={entry} columns={columns} hasActions={hasActions} />\n ))}\n </tbody>\n )}\n </Table>\n\n {error ? (\n <EmptyState\n role=\"alert\"\n title={text.errorTitle}\n description={error}\n actions={\n table.onRetry ? (\n <Button size=\"sm\" variant=\"secondary\" onClick={table.onRetry}>\n {text.retry}\n </Button>\n ) : undefined\n }\n />\n ) : (\n !table.rows.length &&\n !loading &&\n (empty ?? (\n <EmptyState\n title={noMatch ? text.noMatchTitle : text.emptyTitle}\n description={\n !noMatch ? text.emptyDescription : table.activeFilterCount ? text.noFilterMatchDescription : text.noMatchDescription\n }\n actions={\n table.filtered ? (\n <Button size=\"sm\" variant=\"secondary\" onClick={table.reset}>\n {table.activeFilterCount ? text.clearFilters : text.clearSearch}\n </Button>\n ) : undefined\n }\n />\n ))\n )}\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataTableContent.js","names":["React","cx","Button","Checkbox","EmptyState","Skeleton","Table","TableBody","TableCell","TableHead","TableHeader","TableRow","TableProps","useDataTableContext","DataTableRow","SizerRow","isTextEditor","pickSizerRows","useColumnLock","usePageHeight","useVirtualRows","ROW_ESTIMATE","compact","normal","comfortable","DataTableVirtualOptions","rowHeight","overscan","DataTableContentProps","Pick","layout","maxHeight","virtualized","onEndReached","empty","ReactNode","tableProps","Omit","DataTableContent","t0","$","_c","density","t1","striped","stickyHeader","t2","t3","undefined","table","labels","text","visibleColumns","columns","loading","error","anchor","setAnchor","useState","reported","useRef","virtual","t4","t5","height","scrolls","stable","hasActions","Boolean","rowActions","editable","deletable","placeholders","pending","Math","min","paginated","pageSize","noMatch","mode","filtered","totalCount","t6","find","id","focused","t7","pageRows","shown","span","length","Number","selectable","t8","map","_temp","columnKey","join","lock","measuring","t9","t10","t11","enabled","count","estimate","viewport","key","rows","t12","end","start","slice","rendered","sizers","allRows","holdsPage","pageHeight","shortPage","page","t13","wrapper","current","scrollHeight","scrollTop","clientHeight","reportEnd","t14","t15","search","t16","sort","t17","direction","t18","filterValues","JSON","stringify","t19","view","t20","closest","parentElement","scrollTo","top","t21","useEffect","t22","wrapper_0","T0","t23","t24","t25","t26","t27","t28","t29","style","width","minWidth","t30","wrapperProps","t31","t32","className","t33","t34","t35","t36","minHeight","t37","event","onScroll","currentTarget","t38","t39","widths","_temp2","t40","t41","t42","selectAll","allSelected","someSelected","checked","toggleAll","t43","t44","column","align","numeric","isSortable","toggleSort","header","actions","t45","t46","before","t47","t48","_","index_0","index","column_0","position","Array","from","t49","entry","index_1","t50","after","t51","entry_0","t52","t53","activeFilterCount","onRetry","reset","errorTitle","retry","noMatchTitle","emptyTitle","emptyDescription","noFilterMatchDescription","noMatchDescription","clearFilters","clearSearch","t54","c","_c","_Fragment"],"sources":["../../../src/components/data-table/DataTableContent.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cx } from '../../utils/cx';\nimport { Button } from '../button/Button';\nimport { Checkbox } from '../choice/Choice';\nimport { EmptyState } from '../empty-state/EmptyState';\nimport { Skeleton } from '../skeleton/Skeleton';\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, type TableProps } from '../table/Table';\nimport { useDataTableContext } from './context';\nimport { DataTableRow, SizerRow, isTextEditor } from './DataTableRow';\nimport { pickSizerRows, useColumnLock, usePageHeight, useVirtualRows } from './layout';\n\n// Row heights of the three densities, assumed until the first row is measured.\nconst ROW_ESTIMATE = { compact: 35, normal: 46, comfortable: 55 };\n\nexport interface DataTableVirtualOptions {\n /** Height of every row in pixels. Left out, the rows are measured. */\n rowHeight?: number;\n /** Rows rendered beyond each edge of the view (default 8). */\n overscan?: number;\n}\n\nexport interface DataTableContentProps extends Pick<TableProps, 'density' | 'striped' | 'stickyHeader'> {\n /**\n * `stable` (default) measures the columns once and holds their widths, keeps a\n * short last page as tall as a full one, and keeps a row's height while it is\n * edited: nothing moves while the table is used. `auto` leaves the layout to\n * the browser, which fits the columns to the rows on screen.\n */\n layout?: 'stable' | 'auto';\n /** Scrolls the rows inside this height and keeps the header in view. */\n maxHeight?: number | string;\n /**\n * Renders only the rows in view, for thousands of rows without pagination.\n * Rows are one line high: columns fit their longest value, so mark those with\n * long text `truncate`. Scrolls inside `maxHeight` (default `32rem`).\n */\n virtualized?: boolean | DataTableVirtualOptions;\n /**\n * Called when the rows are scrolled near their end, once per row count: load\n * and append the next rows. Needs `maxHeight` or `virtualized`.\n */\n onEndReached?: () => void;\n /** Replaces the default empty state. */\n empty?: React.ReactNode;\n /** Props for the underlying `Table` (className, wrapperProps, aria-*). */\n tableProps?: Omit<TableProps, 'children'>;\n}\n\n/** The table itself, with its loading, empty and error states. */\nexport function DataTableContent({\n density = 'normal',\n striped,\n stickyHeader,\n layout = 'stable',\n maxHeight,\n virtualized = false,\n onEndReached,\n empty,\n tableProps,\n}: DataTableContentProps) {\n const table = useDataTableContext();\n const { labels: text, visibleColumns: columns, loading, error } = table;\n // Found by the layout hooks through `closest('table')`.\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\n const reported = React.useRef(-1);\n\n const virtual = virtualized !== false;\n const { rowHeight, overscan = 8 } = typeof virtualized === 'object' ? virtualized : {};\n const height = maxHeight ?? (virtual ? '32rem' : undefined);\n const scrolls = height !== undefined;\n const stable = layout === 'stable' || virtual;\n\n const hasActions = Boolean(table.rowActions) || table.editable || table.deletable;\n const placeholders = table.pending ? Math.min(table.paginated ? table.pageSize : 5, 10) : 0;\n const noMatch = table.mode === 'server' ? table.filtered : table.totalCount > 0;\n const focused = columns.find(isTextEditor)?.id;\n const shown = error ? [] : table.pageRows;\n const span = columns.length + Number(table.selectable) + Number(hasActions);\n\n const columnKey = [density, table.selectable, hasActions, ...columns.map((c) => `${c.id}:${c.width ?? ''}:${c.minWidth ?? ''}`)].join('|');\n const { lock, measuring } = useColumnLock(anchor, stable, columnKey, shown.length > 0);\n const rows = useVirtualRows(anchor, {\n enabled: virtual,\n count: shown.length,\n rowHeight,\n overscan,\n estimate: ROW_ESTIMATE[density],\n viewport: typeof maxHeight === 'number' ? maxHeight : 512,\n key: density,\n });\n const rendered = virtual ? shown.slice(rows.start, rows.end) : shown;\n const sizers = measuring && table.allRows.length > rendered.length ? pickSizerRows(table.allRows, columns) : [];\n\n const holdsPage = stable && table.paginated && !scrolls;\n const pageHeight = usePageHeight(anchor, holdsPage, shown.length === table.pageSize, `${density}|${table.pageSize}`);\n const shortPage = table.page > 1 && shown.length > 0 && shown.length < table.pageSize;\n\n const reportEnd = (wrapper: HTMLElement) => {\n if (!onEndReached || !scrolls || loading || !shown.length || reported.current === shown.length) return;\n if (wrapper.scrollHeight - wrapper.scrollTop - wrapper.clientHeight > 4 * ROW_ESTIMATE[density]) return;\n reported.current = shown.length;\n onEndReached();\n };\n\n // New rows start at the top: the scroll position belonged to the previous ones.\n const view = [table.page, table.search, table.sort?.id, table.sort?.direction, JSON.stringify(table.filterValues)].join('|');\n React.useEffect(() => {\n if (scrolls) anchor?.closest('table')?.parentElement?.scrollTo({ top: 0 });\n }, [anchor, scrolls, view]);\n\n // Rows that do not fill the view cannot be scrolled to their end: ask for more right away.\n React.useEffect(() => {\n const wrapper = anchor?.closest('table')?.parentElement;\n if (wrapper) reportEnd(wrapper);\n });\n\n return (\n <>\n <Table\n density={density}\n striped={striped}\n stickyHeader={stickyHeader ?? scrolls}\n aria-busy={loading || undefined}\n aria-rowcount={virtual ? shown.length + 1 : undefined}\n {...tableProps}\n data-layout={stable ? 'stable' : undefined}\n data-locked={lock ? '' : undefined}\n data-virtualized={virtual ? '' : undefined}\n style={lock ? { width: lock.table, minWidth: '100%', ...tableProps?.style } : tableProps?.style}\n wrapperProps={{\n ...tableProps?.wrapperProps,\n className: cx(scrolls && 'oui-data-table__scroll', tableProps?.wrapperProps?.className),\n style: {\n maxHeight: height,\n minHeight: holdsPage && shortPage ? pageHeight : undefined,\n ...tableProps?.wrapperProps?.style,\n },\n onScroll: (event) => {\n tableProps?.wrapperProps?.onScroll?.(event);\n rows.onScroll(event);\n reportEnd(event.currentTarget);\n },\n }}\n >\n <colgroup ref={setAnchor}>{lock?.widths.map((width, index) => <col key={index} style={{ width }} />)}</colgroup>\n <TableHeader>\n <TableRow aria-rowindex={virtual ? 1 : undefined}>\n {table.selectable && (\n <TableHead className=\"oui-data-table__check\">\n <Checkbox\n size=\"sm\"\n aria-label={text.selectAll}\n checked={table.allSelected}\n indeterminate={table.someSelected}\n disabled={!table.rows.length}\n onCheckedChange={(checked) => table.toggleAll(checked)}\n />\n </TableHead>\n )}\n {columns.map((column) => (\n <TableHead\n key={column.id}\n align={column.align ?? (column.numeric ? 'end' : 'start')}\n style={\n !lock && (column.width !== undefined || column.minWidth !== undefined)\n ? { width: column.width, minWidth: column.minWidth }\n : undefined\n }\n sort={table.isSortable(column) ? (table.sort?.id === column.id ? table.sort.direction : false) : undefined}\n onSort={() => table.toggleSort(column.id)}\n >\n {column.header}\n </TableHead>\n ))}\n {hasActions && (\n <TableHead className=\"oui-data-table__row-actions\">\n <span className=\"oui-visually-hidden\">{text.actions}</span>\n </TableHead>\n )}\n </TableRow>\n </TableHeader>\n {rows.before > 0 && (\n <tbody className=\"oui-data-table__spacer\" aria-hidden>\n <tr style={{ height: rows.before }}>\n <td colSpan={span} />\n </tr>\n </tbody>\n )}\n <TableBody>\n {Array.from({ length: placeholders }, (_, index) => (\n <TableRow key={index} aria-hidden>\n {table.selectable && <TableCell className=\"oui-data-table__check\" />}\n {columns.map((column, position) => (\n <TableCell key={column.id} align={column.align} numeric={column.numeric}>\n <Skeleton className=\"oui-data-table__skeleton\" width={`${45 + ((index * 3 + position * 5) % 7) * 8}%`} />\n </TableCell>\n ))}\n {hasActions && <TableCell className=\"oui-data-table__row-actions\" />}\n </TableRow>\n ))}\n {rendered.map((entry, index) => (\n <DataTableRow\n key={entry.id}\n table={table}\n entry={entry}\n columns={columns}\n hasActions={hasActions}\n focused={focused}\n index={virtual ? rows.start + index : undefined}\n height={rows.rowHeight}\n />\n ))}\n </TableBody>\n {rows.after > 0 && (\n <tbody className=\"oui-data-table__spacer\" aria-hidden>\n <tr style={{ height: rows.after }}>\n <td colSpan={span} />\n </tr>\n </tbody>\n )}\n {sizers.length > 0 && (\n <tbody className=\"oui-data-table__sizer\" aria-hidden inert>\n {sizers.map((entry) => (\n <SizerRow key={entry.id} table={table} entry={entry} columns={columns} hasActions={hasActions} />\n ))}\n </tbody>\n )}\n </Table>\n\n {error ? (\n <EmptyState\n role=\"alert\"\n title={text.errorTitle}\n description={error}\n actions={\n table.onRetry ? (\n <Button size=\"sm\" variant=\"secondary\" onClick={table.onRetry}>\n {text.retry}\n </Button>\n ) : undefined\n }\n />\n ) : (\n !table.rows.length &&\n !loading &&\n (empty ?? (\n <EmptyState\n title={noMatch ? text.noMatchTitle : text.emptyTitle}\n description={\n !noMatch ? text.emptyDescription : table.activeFilterCount ? text.noFilterMatchDescription : text.noMatchDescription\n }\n actions={\n table.filtered ? (\n <Button size=\"sm\" variant=\"secondary\" onClick={table.reset}>\n {table.activeFilterCount ? text.clearFilters : text.clearSearch}\n </Button>\n ) : undefined\n }\n />\n ))\n )}\n </>\n );\n}\n"],"mappings":"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"}
@@ -3,12 +3,15 @@ export type DataTableControlSize = 'sm' | 'md';
3
3
  export interface DataTableFilterProps {
4
4
  /** Id of the filter: the column id, or the `id` given in `filters`. */
5
5
  id: string;
6
+ /** Control height. */
6
7
  size?: DataTableControlSize;
8
+ /** Class name for the filter control. */
7
9
  className?: string;
8
10
  }
9
11
  /** The control of one filter: a dropdown, a toggle chip or a date range picker. */
10
12
  export declare function DataTableFilter({ id, size, className }: DataTableFilterProps): React.JSX.Element | null;
11
13
  export interface DataTableFiltersProps extends React.HTMLAttributes<HTMLDivElement> {
14
+ /** Control height of every filter. */
12
15
  size?: DataTableControlSize;
13
16
  }
14
17
  /** Every filter of the table, with a clear button while any is active. Children are added after the filters. */