@ssa-ui-kit/core 3.26.3 → 3.27.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 (47) hide show
  1. package/dist/ai/source-map.md +164 -84
  2. package/dist/components/Calendar/Calendar.d.ts +11 -3
  3. package/dist/components/Calendar/CalendarContext.d.ts +12 -1
  4. package/dist/components/Calendar/components/CalendarToolbar.d.ts +5 -1
  5. package/dist/components/Calendar/components/DayView.d.ts +4 -2
  6. package/dist/components/Calendar/components/TimeZoneSelect.d.ts +14 -0
  7. package/dist/components/Calendar/consts.d.ts +14 -1
  8. package/dist/components/Calendar/styles.d.ts +37 -1
  9. package/dist/components/Calendar/types.d.ts +93 -5
  10. package/dist/components/Calendar/utils.d.ts +35 -5
  11. package/dist/components/DataTable/DataTable.d.ts +79 -0
  12. package/dist/components/DataTable/DataTableColumnPicker.d.ts +66 -0
  13. package/dist/components/DataTable/ExpanderCell.d.ts +10 -0
  14. package/dist/components/DataTable/SelectionCell.d.ts +25 -0
  15. package/dist/components/DataTable/index.d.ts +4 -0
  16. package/dist/components/DataTable/styles.d.ts +47 -0
  17. package/dist/components/DataTable/types.d.ts +378 -0
  18. package/dist/components/DataTable/useColumnReorder.d.ts +31 -0
  19. package/dist/components/DataTable/useDataTableModel.d.ts +36 -0
  20. package/dist/components/DataTable/utils.d.ts +82 -0
  21. package/dist/components/DropdownOptionGroup/DropdownOptionGroup.d.ts +40 -0
  22. package/dist/components/DropdownOptionGroup/index.d.ts +2 -0
  23. package/dist/components/DropdownOptions/useToggleListKeys.d.ts +2 -2
  24. package/dist/components/DropdownOptions/utils.d.ts +11 -4
  25. package/dist/components/NestedTable/WithNestedTableRow.d.ts +4 -0
  26. package/dist/components/NestedTable/components/NestedTable.d.ts +4 -0
  27. package/dist/components/NestedTable/components/NestedTableCell.d.ts +4 -0
  28. package/dist/components/NestedTable/components/NestedTableCellHeader.d.ts +4 -0
  29. package/dist/components/NestedTable/components/NestedTableRow.d.ts +4 -0
  30. package/dist/components/Table/ColumnFreezeMenu.d.ts +11 -1
  31. package/dist/components/Table/ColumnMenu.d.ts +30 -0
  32. package/dist/components/Table/Table.d.ts +4 -4
  33. package/dist/components/Table/types.d.ts +77 -6
  34. package/dist/components/TableCellHeader/TableCellHeader.d.ts +1 -1
  35. package/dist/components/TableCellHeader/types.d.ts +14 -5
  36. package/dist/components/Typeahead/Typeahead.context.d.ts +1 -1
  37. package/dist/components/Typeahead/Typeahead.d.ts +1 -1
  38. package/dist/components/Typeahead/components/TypeaheadOptionGroup.d.ts +43 -0
  39. package/dist/components/Typeahead/components/index.d.ts +1 -0
  40. package/dist/components/Typeahead/index.d.ts +1 -0
  41. package/dist/components/Typeahead/types.d.ts +9 -1
  42. package/dist/components/Typeahead/useTypeahead.d.ts +3 -3
  43. package/dist/components/index.d.ts +4 -0
  44. package/dist/index.js +2785 -599
  45. package/dist/index.mjs +2783 -600
  46. package/dist/tsbuildcache +1 -1
  47. package/package.json +6 -5
@@ -1,4 +1,14 @@
1
- import { ColumnFreezeMenuProps } from './types';
1
+ import { ColumnFreezeMenuProps, ColumnId, FrozenColumns } from './types';
2
+ /** Which edge a column is frozen to, if any. */
3
+ export declare const getFrozenEdge: ({ start, end }: Required<FrozenColumns>, id: ColumnId) => "start" | "end" | null;
4
+ /**
5
+ * The freeze actions for one column's header menu, each with the frozen
6
+ * columns it leads to. Shared by `ColumnFreezeMenu` and `DataTable`.
7
+ */
8
+ export declare const getFreezeMenuItems: (frozen: Required<FrozenColumns>, id: ColumnId) => {
9
+ label: string;
10
+ next: Required<FrozenColumns>;
11
+ }[];
2
12
  /**
3
13
  * ColumnFreezeMenu - The freeze/unfreeze menu in a table header cell
4
14
  *
@@ -0,0 +1,30 @@
1
+ import { Ref } from 'react';
2
+ /** Where a column menu sits in its header cell. */
3
+ export declare const ColumnMenuAnchor: import("@emotion/styled").StyledComponent<{
4
+ theme?: import("@emotion/react").Theme;
5
+ as?: React.ElementType;
6
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
7
+ /** One action of a {@link ColumnMenu}. */
8
+ export interface ColumnMenuItem {
9
+ label: string;
10
+ onSelect: () => void;
11
+ disabled?: boolean;
12
+ }
13
+ interface ColumnMenuProps {
14
+ items: ColumnMenuItem[];
15
+ /** Accessible name of the menu. */
16
+ label: string;
17
+ /** Accessible name of the trigger button. */
18
+ triggerLabel: string;
19
+ /** Shows the lock icon, and keeps the trigger visible. */
20
+ frozen?: boolean;
21
+ ref?: Ref<HTMLSpanElement>;
22
+ className?: string;
23
+ }
24
+ /**
25
+ * The menu button of a table header cell: a trigger that shows on hover and
26
+ * opens a list of actions. `ColumnFreezeMenu` and `DataTable`'s column menu
27
+ * are both built on it.
28
+ */
29
+ export declare const ColumnMenu: ({ items, label, triggerLabel, frozen, ref, className, }: ColumnMenuProps) => import("@emotion/react/jsx-runtime").JSX.Element;
30
+ export {};
@@ -23,10 +23,10 @@ import { TableProps } from './types';
23
23
  * it would have had anyway, then switches to `table-layout: fixed` and
24
24
  * truncates overflowing cell content with an ellipsis.
25
25
  *
26
- * By default a resize is a trade between two columns: the one to the right
27
- * gives up exactly what the dragged column gains, so the table stays the width
28
- * it was and nothing around it reflows. The last column has nothing to its
29
- * right to trade with, so it has no handle.
26
+ * By default a resize is paid for by the columns to the right: they give up
27
+ * what the dragged column gains, each in proportion to its width, so the table
28
+ * stays the width it was and nothing around it reflows. The last column has
29
+ * nothing to its right to trade with, so it has no handle.
30
30
  *
31
31
  * `columnResizeMode="expand"` opts into the other model — the table grows
32
32
  * with the dragged column and the others keep their widths — for tables that
@@ -3,9 +3,10 @@ import { CommonProps } from '../../types/emotion';
3
3
  /**
4
4
  * How a resize distributes width.
5
5
  *
6
- * - `fit` — the column to the right gives up what the dragged column gains, so
7
- * the table's own width never changes. The last column cannot be dragged,
8
- * having nothing to its right to trade with.
6
+ * - `fit` — the resizable columns to the right share out what the dragged
7
+ * column gains or gives up, each in proportion to its width, so the table's
8
+ * own width never changes. The last column cannot be dragged, having nothing
9
+ * to its right to trade with.
9
10
  * - `expand` — the table grows and the other columns keep their widths, so the
10
11
  * table needs a horizontally scrollable parent.
11
12
  */
@@ -41,8 +42,8 @@ export interface ColumnResizeOptions {
41
42
  */
42
43
  maxColumnWidth?: number;
43
44
  /**
44
- * Whether a resize is paid for by the next column or by the table's own
45
- * width. Defaults to `fit`, which keeps the table exactly as wide as it was
45
+ * Whether a resize is paid for by the columns to the right or by the
46
+ * table's own width. Defaults to `fit`, which keeps the table exactly as wide as it was
46
47
  * — surrounding layout never moves because a user dragged a column.
47
48
  *
48
49
  * Switch to `expand` when the table lives in its own scroll container and
@@ -218,7 +219,9 @@ export interface ColumnFreezeApi {
218
219
  * Props for the {@link Table} component.
219
220
  *
220
221
  * Every attribute of a `table` element, plus the column-resizing options that
221
- * `resizableColumns` turns on and the column-freezing options.
222
+ * `resizableColumns` turns on and the column-freezing options. The column
223
+ * options are deprecated: for tables with column features, use `DataTable`,
224
+ * which keeps them by column id.
222
225
  *
223
226
  * @example
224
227
  * ```tsx
@@ -239,6 +242,74 @@ export interface TableProps extends CommonProps, ColumnResizeOptions, ColumnFree
239
242
  * `columnResizeMode`.
240
243
  *
241
244
  * @default false
245
+ * @deprecated Use `DataTable`'s `resizableColumns` instead: it keeps
246
+ * widths by column id. Removed from `Table` in the next major release.
242
247
  */
243
248
  resizableColumns?: boolean;
249
+ /**
250
+ * Column widths in pixels, one per column, for the controlled case.
251
+ *
252
+ * @deprecated Use `DataTable`'s `columnState.widths`, keyed by column id instead. Removed from `Table` in the next major release.
253
+ */
254
+ columnWidths?: number[];
255
+ /**
256
+ * Starting column widths in pixels, for the uncontrolled case.
257
+ *
258
+ * @deprecated Use `DataTable`'s `defaultColumnState.widths` instead. Removed from `Table` in the next major release.
259
+ */
260
+ defaultColumnWidths?: number[];
261
+ /**
262
+ * Called on every width change, including each frame of a drag.
263
+ *
264
+ * @deprecated Use `DataTable`'s `onColumnStateChange` instead. Removed from `Table` in the next major release.
265
+ */
266
+ onColumnWidthsChange?: (columnWidths: number[]) => void;
267
+ /**
268
+ * Narrowest a column can be dragged, in pixels.
269
+ *
270
+ * @deprecated Use `DataTable`'s `minColumnWidth` instead. Removed from `Table` in the next major release.
271
+ */
272
+ minColumnWidth?: number;
273
+ /**
274
+ * Widest a column can be dragged, in pixels.
275
+ *
276
+ * @deprecated Use `DataTable`'s `maxColumnWidth` instead. Removed from `Table` in the next major release.
277
+ */
278
+ maxColumnWidth?: number;
279
+ /**
280
+ * Whether a resize is paid for by the columns to the right or by the table's own width.
281
+ *
282
+ * @deprecated Use `DataTable`'s `columnResizeMode` instead. Removed from `Table` in the next major release.
283
+ */
284
+ columnResizeMode?: ColumnResizeMode;
285
+ /**
286
+ * Columns frozen to each edge, for the controlled case.
287
+ *
288
+ * @deprecated Use `DataTable`'s `columnState.frozen` instead. Removed from `Table` in the next major release.
289
+ */
290
+ frozenColumns?: FrozenColumns;
291
+ /**
292
+ * Columns frozen to each edge to begin with.
293
+ *
294
+ * @deprecated Use `DataTable`'s `defaultColumnState.frozen` instead. Removed from `Table` in the next major release.
295
+ */
296
+ defaultFrozenColumns?: FrozenColumns;
297
+ /**
298
+ * Called whenever the user freezes or unfreezes columns.
299
+ *
300
+ * @deprecated Use `DataTable`'s `onColumnStateChange` instead. Removed from `Table` in the next major release.
301
+ */
302
+ onFrozenColumnsChange?: (frozenColumns: Required<FrozenColumns>) => void;
303
+ /**
304
+ * Gives every `TableCellHeader` a menu to freeze its column.
305
+ *
306
+ * @deprecated Use `DataTable`'s `freezeControls` instead. Removed from `Table` in the next major release.
307
+ */
308
+ freezeControls?: boolean;
309
+ /**
310
+ * Keeps the header row in view while the table scrolls vertically.
311
+ *
312
+ * @deprecated Use `DataTable`'s `stickyHeader` with `maxHeight` instead. Removed from `Table` in the next major release.
313
+ */
314
+ stickyHeader?: boolean;
244
315
  }
@@ -62,5 +62,5 @@ import { TableCellHeaderProps } from './types';
62
62
  * - Supports ARIA attributes via TableCellProps
63
63
  * - Better accessibility than using TableCell in headers
64
64
  */
65
- declare const TableCellHeader: ({ children, resizable, freezable, columnId, ...props }: React.PropsWithChildren<TableCellHeaderProps>) => import("@emotion/react/jsx-runtime").JSX.Element;
65
+ declare const TableCellHeader: ({ children, resizable, freezable, columnId, minWidth, maxWidth, ...props }: React.PropsWithChildren<TableCellHeaderProps>) => import("@emotion/react/jsx-runtime").JSX.Element;
66
66
  export default TableCellHeader;
@@ -32,11 +32,10 @@ export interface TableCellHeaderProps extends TableCellProps {
32
32
  * `resizableColumns`. Set it to `false` to pin a column — an actions or
33
33
  * checkbox column, typically — at a width the user cannot change.
34
34
  *
35
- * In the default `fit` mode this also removes the handle from the column to
36
- * its *left*, because that handle resizes by trading width with this one and
37
- * would otherwise move a column the user was told they could not move. In
38
- * `expand` mode nothing pays for a resize, so only this column's own handle
39
- * goes.
35
+ * In the default `fit` mode this column also keeps its width when a column
36
+ * to its left is resized: the other columns to the right absorb the change,
37
+ * and a handle with no such column left is hidden. In `expand` mode nothing
38
+ * pays for a resize, so only this column's own handle goes.
40
39
  *
41
40
  * Ignored outside a resizable table.
42
41
  *
@@ -52,6 +51,16 @@ export interface TableCellHeaderProps extends TableCellProps {
52
51
  * @default true
53
52
  */
54
53
  freezable?: boolean;
54
+ /**
55
+ * Narrowest this column can be resized to, in pixels, inside a `Table` with
56
+ * `resizableColumns`. Overrides the table's `minColumnWidth`.
57
+ */
58
+ minWidth?: number;
59
+ /**
60
+ * Widest this column can be resized to, in pixels, inside a `Table` with
61
+ * `resizableColumns`. Overrides the table's `maxColumnWidth`.
62
+ */
63
+ maxWidth?: number;
55
64
  /**
56
65
  * Stable id for this column, used by `frozenColumns` on the `Table`. Give
57
66
  * every header one when the app can hide or reorder columns, so frozen
@@ -26,7 +26,7 @@ export declare const TypeaheadContext: React.Context<{
26
26
  error: import("react-hook-form").FieldError | import("react-hook-form").Merge<import("react-hook-form").FieldError, import("react-hook-form").FieldErrorsImpl<any>> | undefined;
27
27
  placeholder: string | null | undefined;
28
28
  listId: string;
29
- menuItems: import("..").ContextMenuItem<import("./types").TypeaheadValue>[];
29
+ menuItems: import("..").ContextMenuEntry<import("./types").TypeaheadValue>[];
30
30
  activeValue: import("./types").TypeaheadValue | null;
31
31
  setActiveValue: React.Dispatch<React.SetStateAction<import("./types").TypeaheadValue | null>>;
32
32
  inputAriaProps: {
@@ -172,4 +172,4 @@ import { TypeaheadProps } from './types';
172
172
  *
173
173
  * @see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
174
174
  */
175
- export declare const Typeahead: ({ name, label, labelBadge, value, defaultValue, selectedItems, defaultSelectedItems, isOpen, disabled, isDisabled, isMultiple, singleLine, children, className, startIcon, endIcon, error, success, helperText, validationSchema, placeholder, startIconClassName, endIconClassName, popoverClassName, optionsClassName, wrapperClassName, filterOptions, autoSelect, allowCustomValues, width, onChange, onEmptyChange, onClearAll, onRemoveSelectedClick, renderOption, }: TypeaheadProps) => import("@emotion/react/jsx-runtime").JSX.Element;
175
+ export declare const Typeahead: ({ name, label, labelBadge, value, defaultValue, selectedItems, defaultSelectedItems, isOpen, disabled, isDisabled, isMultiple, singleLine, children, className, startIcon, endIcon, error, success, helperText, validationSchema, placeholder, startIconClassName, endIconClassName, popoverClassName, optionsClassName, wrapperClassName, filterOptions, autoSelect, searchByGroup, allowCustomValues, width, onChange, onEmptyChange, onClearAll, onRemoveSelectedClick, renderOption, }: TypeaheadProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,43 @@
1
+ import { ReactNode } from 'react';
2
+ /** Props of {@link TypeaheadOptionGroup}. */
3
+ export interface TypeaheadOptionGroupProps {
4
+ /** Group title. Not selectable and skipped by keyboard navigation. */
5
+ label: ReactNode;
6
+ /**
7
+ * Plain-text form of `label`, matched against the input when the Typeahead
8
+ * has `searchByGroup`. Defaults to `label` when that is a string or number.
9
+ */
10
+ textValue?: string;
11
+ /**
12
+ * Unique per Typeahead. Defaults to the group's position among the
13
+ * Typeahead's children.
14
+ */
15
+ id?: string;
16
+ /** The group's `TypeaheadOption`s. */
17
+ children?: ReactNode;
18
+ }
19
+ /**
20
+ * TypeaheadOptionGroup - A titled section of options inside `Typeahead`.
21
+ *
22
+ * Wrap `TypeaheadOption` children in it to show them under a title; groups are
23
+ * separated by a divider. Filtering applies to the options inside, and a group
24
+ * with no matching options is hidden along with its title. With the
25
+ * Typeahead's `searchByGroup`, a group whose title matches is shown whole.
26
+ * Read by the
27
+ * Typeahead rather than rendered as written, so it only works as a direct
28
+ * child of the Typeahead (or of a fragment there).
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <Typeahead name="city" label="City">
33
+ * <TypeaheadOptionGroup label="Europe">
34
+ * <TypeaheadOption value="kyiv" label="Kyiv" />
35
+ * <TypeaheadOption value="paris" label="Paris" />
36
+ * </TypeaheadOptionGroup>
37
+ * <TypeaheadOptionGroup label="Asia">
38
+ * <TypeaheadOption value="tokyo" label="Tokyo" />
39
+ * </TypeaheadOptionGroup>
40
+ * </Typeahead>
41
+ * ```
42
+ */
43
+ export declare const TypeaheadOptionGroup: ({ children, }: TypeaheadOptionGroupProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -4,5 +4,6 @@ export * from './TypeaheadTrigger';
4
4
  export * from './TypeaheadItem';
5
5
  export * from './TypeaheadOptions';
6
6
  export * from './TypeaheadOption';
7
+ export * from './TypeaheadOptionGroup';
7
8
  export * from './TypeaheadFocusTrap';
8
9
  export * from './NoOptions';
@@ -3,5 +3,6 @@ export * from './types';
3
3
  export { useTypeaheadContext } from './Typeahead.context';
4
4
  export * from './components/TypeaheadOptions';
5
5
  export * from './components/TypeaheadOption';
6
+ export * from './components/TypeaheadOptionGroup';
6
7
  export * from './components/TypeaheadItem';
7
8
  export * from './utils';
@@ -180,6 +180,14 @@ export interface TypeaheadProps {
180
180
  * @default true
181
181
  */
182
182
  autoSelect?: boolean;
183
+ /**
184
+ * Also match the input against `TypeaheadOptionGroup` titles. A group whose
185
+ * title matches is shown with all of its options; otherwise only its
186
+ * matching options are shown, as usual. A title that is not a string or
187
+ * number is matched through the group's `textValue`.
188
+ * @default false
189
+ */
190
+ searchByGroup?: boolean;
183
191
  /**
184
192
  * Allow adding custom values not in the options list.
185
193
  * When true, the current input is shown as the first dropdown option (highlighted)
@@ -221,7 +229,7 @@ export interface TypeaheadProps {
221
229
  * Props used by the useTypeahead hook
222
230
  * Internal type that picks specific props from TypeaheadProps
223
231
  */
224
- export type UseTypeaheadProps = Pick<TypeaheadProps, 'selectedItems' | 'defaultSelectedItems' | 'isDisabled' | 'children' | 'isMultiple' | 'singleLine' | 'onChange' | 'onClearAll' | 'onRemoveSelectedClick' | 'onEmptyChange' | 'renderOption' | 'isOpen' | 'className' | 'startIcon' | 'endIcon' | 'startIconClassName' | 'endIconClassName' | 'name' | 'validationSchema' | 'error' | 'success' | 'placeholder' | 'filterOptions' | 'autoSelect' | 'allowCustomValues' | 'label'>;
232
+ export type UseTypeaheadProps = Pick<TypeaheadProps, 'selectedItems' | 'defaultSelectedItems' | 'isDisabled' | 'children' | 'isMultiple' | 'singleLine' | 'onChange' | 'onClearAll' | 'onRemoveSelectedClick' | 'onEmptyChange' | 'renderOption' | 'isOpen' | 'className' | 'startIcon' | 'endIcon' | 'startIconClassName' | 'endIconClassName' | 'name' | 'validationSchema' | 'error' | 'success' | 'placeholder' | 'filterOptions' | 'autoSelect' | 'searchByGroup' | 'allowCustomValues' | 'label'>;
225
233
  /**
226
234
  * Props for TypeaheadOptions container component
227
235
  */
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { OpenChangeReason } from '@floating-ui/react';
3
- import { ContextMenuItem } from '../ContextMenu';
3
+ import { ContextMenuEntry } from '../ContextMenu';
4
4
  import { TypeaheadOptionProps, TypeaheadValue, UseTypeaheadProps } from './types';
5
5
  type HandleChangeParams = {
6
6
  value?: string | number;
7
7
  shouldClose?: boolean;
8
8
  resetInput?: boolean;
9
9
  };
10
- export declare const useTypeahead: ({ name, isOpen: isInitOpen, selectedItems: providedSelectedItems, defaultSelectedItems, isDisabled, isMultiple, singleLine, children, className, startIcon, endIcon, startIconClassName, endIconClassName, validationSchema, error, success, placeholder, filterOptions, autoSelect, allowCustomValues, onChange, onClearAll, onRemoveSelectedClick, onEmptyChange, renderOption, label, }: UseTypeaheadProps) => {
10
+ export declare const useTypeahead: ({ name, isOpen: isInitOpen, selectedItems: providedSelectedItems, defaultSelectedItems, isDisabled, isMultiple, singleLine, children, className, startIcon, endIcon, startIconClassName, endIconClassName, validationSchema, error, success, placeholder, filterOptions, autoSelect, searchByGroup, allowCustomValues, onChange, onClearAll, onRemoveSelectedClick, onEmptyChange, renderOption, label, }: UseTypeaheadProps) => {
11
11
  isOpen: boolean;
12
12
  isDisabled: boolean | undefined;
13
13
  optionsWithKey: Record<string | number, TypeaheadOptionProps>;
@@ -32,7 +32,7 @@ export declare const useTypeahead: ({ name, isOpen: isInitOpen, selectedItems: p
32
32
  error: import("react-hook-form").FieldError | import("react-hook-form").Merge<import("react-hook-form").FieldError, import("react-hook-form").FieldErrorsImpl<any>> | undefined;
33
33
  placeholder: string | null | undefined;
34
34
  listId: string;
35
- menuItems: ContextMenuItem<TypeaheadValue>[];
35
+ menuItems: ContextMenuEntry<TypeaheadValue>[];
36
36
  activeValue: TypeaheadValue | null;
37
37
  setActiveValue: React.Dispatch<React.SetStateAction<TypeaheadValue | null>>;
38
38
  inputAriaProps: {
@@ -32,6 +32,8 @@ export type * from './Dropdown/types';
32
32
  export { default as DropdownArrow } from './DropdownArrow';
33
33
  export { default as DropdownBase } from './DropdownBase';
34
34
  export { default as DropdownOption } from './DropdownOption';
35
+ export { default as DropdownOptionGroup } from './DropdownOptionGroup';
36
+ export type { DropdownOptionGroupProps } from './DropdownOptionGroup';
35
37
  export { default as DropdownOptions } from './DropdownOptions';
36
38
  export type { DropdownOptionProps } from './DropdownOptions';
37
39
  export { default as DropdownToggle } from './DropdownToggle';
@@ -60,6 +62,8 @@ export { default as FormRadioGroup } from './FormRadioGroup';
60
62
  export * from './Filters';
61
63
  export * from './FiltersMultiSelect';
62
64
  export * as JsonSchema from './JsonSchemaForm';
65
+ export { default as DataTable, DataTableColumnPicker } from './DataTable';
66
+ export type { DataTableColumn, DataTableColumnPickerProps, DataTableColumnState, DataTableElementProps, DataTableProps, DataTableSelectionMode, DataTableSort, DataTableSortDirection, } from './DataTable';
63
67
  export { default as Table } from './Table';
64
68
  export { ColumnFreezeMenu, ColumnResizeHandle, useColumnFreezeContext, useColumnResize, useColumnResizeContext, } from './Table';
65
69
  export type { ColumnFreezeApi, ColumnFreezeMenuProps, ColumnFreezeOptions, ColumnId, ColumnResizeApi, ColumnResizeHandleProps, ColumnResizeMode, ColumnResizeOptions, FrozenColumns, ResizeHandleProps, TableProps, UseColumnResizeOptions, } from './Table';