koval-ui 0.15.12 → 0.16.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.
package/dist/index.d.ts CHANGED
@@ -1,16 +1,22 @@
1
+ import { AccessorFn as AccessorFn_2 } from '@tanstack/react-table';
1
2
  import { AriaAttributes } from 'react';
2
3
  import { AriaRole } from 'react';
3
4
  import { ButtonHTMLAttributes } from 'react';
5
+ import { CellContext } from '@tanstack/react-table';
4
6
  import { ChangeEvent } from 'react';
7
+ import { ColumnFiltersState } from '@tanstack/react-table';
8
+ import { ColumnPinningState } from '@tanstack/react-table';
5
9
  import { ComponentProps } from 'react';
6
10
  import { DetailedHTMLProps } from 'react';
7
11
  import { ElementType } from 'react';
8
12
  import { FC } from 'react';
9
13
  import { FieldsetHTMLAttributes } from 'react';
14
+ import { FilterFnOption } from '@tanstack/react-table';
10
15
  import { FocusEvent as FocusEvent_2 } from 'react';
11
16
  import { FormHTMLAttributes } from 'react';
12
17
  import { ForwardedRef } from 'react';
13
18
  import { ForwardRefExoticComponent } from 'react';
19
+ import { HeaderContext } from '@tanstack/react-table';
14
20
  import { HTMLAttributeReferrerPolicy } from 'react';
15
21
  import { HTMLAttributes } from 'react';
16
22
  import { HTMLInputAutoCompleteAttribute } from 'react';
@@ -20,11 +26,16 @@ import { InputHTMLAttributes } from 'react';
20
26
  import { InvalidEvent } from 'react';
21
27
  import { KeyboardEvent as KeyboardEvent_2 } from 'react';
22
28
  import { MouseEvent as MouseEvent_2 } from 'react';
29
+ import { MutableRefObject } from 'react';
30
+ import { PaginationState } from '@tanstack/react-table';
23
31
  import { Placement } from '@floating-ui/react-dom';
24
32
  import { ReactElement } from 'react';
25
33
  import { ReactNode } from 'react';
26
34
  import { RefAttributes } from 'react';
35
+ import { RowSelectionState } from '@tanstack/react-table';
27
36
  import { SelectHTMLAttributes } from 'react';
37
+ import { SortingFn as SortingFn_2 } from '@tanstack/react-table';
38
+ import { SortingState } from '@tanstack/react-table';
28
39
  import { SVGProps } from 'react';
29
40
  import { SyntheticEvent } from 'react';
30
41
  import { TextareaHTMLAttributes } from 'react';
@@ -39,6 +50,8 @@ children?: ReactNode;
39
50
  href?: string | undefined;
40
51
  } & RefAttributes<HTMLAnchorElement>>;
41
52
 
53
+ export declare type AccessorFn = AccessorFn_2<TableData, TableRow | TableValue>;
54
+
42
55
  declare const Actions: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
43
56
  id?: string | undefined;
44
57
  role?: AriaRole | undefined;
@@ -254,6 +267,11 @@ autoRotate?: number | undefined;
254
267
  onRotate?: ((index: number) => void) | undefined;
255
268
  } & RefAttributes<HTMLDivElement>>;
256
269
 
270
+ export declare type CellComponent = FC<unknown & {
271
+ value?: TableValue;
272
+ cellContext: CellContext<TableData, TableRow | TableValue>;
273
+ }>;
274
+
257
275
  declare type ChildProps = {
258
276
  name?: Props_4['name'];
259
277
  disabled?: Props_4['disabled'];
@@ -279,6 +297,124 @@ as?: string | undefined;
279
297
  children?: ReactNode;
280
298
  } & RefAttributes<HTMLElement>>;
281
299
 
300
+ /**
301
+ * Table column config
302
+ */
303
+ export declare type Column = {
304
+ /**
305
+ * Provide a unique id for the column
306
+ */
307
+ id: string;
308
+ /**
309
+ * Provide a human-readable title for the column
310
+ */
311
+ name: string;
312
+ /**
313
+ * Define a type of column data
314
+ * @see ColumnTypes
315
+ */
316
+ columnType?: keyof typeof ColumnTypes;
317
+ /**
318
+ * Provide a custom React component to render column cells
319
+ * @see CellComponent
320
+ */
321
+ columnCell?: CellComponent;
322
+ /**
323
+ * Set the width of the columns. Defaults to 166
324
+ */
325
+ size?: number;
326
+ /**
327
+ * Enable to allow user editing of the column
328
+ */
329
+ editable?: boolean;
330
+ /**
331
+ * Enable to allow user filtering of the column
332
+ */
333
+ filterable?: boolean;
334
+ /**
335
+ * Enable to make a column able to sort in ascending or descending order
336
+ */
337
+ sortable?: boolean;
338
+ /**
339
+ * Enable to make a column able to pin the left or right side
340
+ */
341
+ pinnable?: boolean;
342
+ /**
343
+ * Define a type of sorting to be used for the column. Can be one of supported modes or custom function
344
+ * @see SortingModes
345
+ * @see SortingFn
346
+ */
347
+ sortingFn?: keyof typeof SortingModes | SortingFn;
348
+ /**
349
+ * Define a type of filtering to be used for the column. Can be one of supported modes or custom function
350
+ * @see FilterFnOption
351
+ * @see CustomFilterFns
352
+ */
353
+ filterFn?: FilterFnOption<TableData> | keyof typeof CustomFilterFns;
354
+ /**
355
+ * Set props for each table cell. Useful for formatting dates, currencies, etc.
356
+ * @see ColumnFormatOptions
357
+ */
358
+ cellProps?: ColumnFormatOptions;
359
+ /**
360
+ * Provide a custom React component to render the column header
361
+ * @see HeaderCell
362
+ */
363
+ headerCell?: HeaderCell;
364
+ /**
365
+ * Provide a custom React component to render the column footer
366
+ * @see FooterCell
367
+ */
368
+ footerCell?: FooterCell;
369
+ /**
370
+ * Provide a custom React component to render the column filter input
371
+ * @see FilterInput
372
+ */
373
+ filterInput?: FilterInput;
374
+ } & ({
375
+ /**
376
+ * Provide an accessor key to get column cell value from table data
377
+ * @example
378
+ * {
379
+ * accessorKey: "foo.bar[6].bazz"
380
+ * }
381
+ */
382
+ accessorKey: string;
383
+ /**
384
+ * Provide an accessor function to get column cell value from table data
385
+ */
386
+ accessorFn?: never;
387
+ } | {
388
+ /**
389
+ * Provide an accessor key to get column cell value from table data
390
+ * @example
391
+ * {
392
+ * accessorKey: "foo.bar[6].bazz"
393
+ * }
394
+ */
395
+ accessorKey?: never;
396
+ /**
397
+ * Provide an accessor function to get column cell value from table data
398
+ */
399
+ accessorFn: AccessorFn;
400
+ });
401
+
402
+ export { ColumnFiltersState }
403
+
404
+ export declare type ColumnFormatOptions = NumberProps | DateFormatOptions | Record<string, unknown>;
405
+
406
+ export { ColumnPinningState }
407
+
408
+ export declare enum ColumnTypes {
409
+ text = "text",
410
+ decimal = "decimal",
411
+ percentage = "percentage",
412
+ currency = "currency",
413
+ unit = "unit",
414
+ date = "date",
415
+ select = "select"
416
+ }
417
+
282
418
  declare enum CompactDisplayModes {
283
419
  short = "short",
284
420
  long = "long"
@@ -417,10 +553,130 @@ declare enum CurrencyCodes {
417
553
  ZWL = "ZWL"
418
554
  }
419
555
 
556
+ declare enum CurrencyDisplayTypes {
557
+ code = "code",
558
+ symbol = "symbol",
559
+ narrowSymbol = "narrowSymbol",
560
+ name = "name"
561
+ }
562
+
563
+ declare enum CurrencySignModes {
564
+ standard = "standard",
565
+ accounting = "accounting"
566
+ }
567
+
568
+ declare enum CustomFilterFns {
569
+ isInDateRange = "isInDateRange",
570
+ isInPercentRange = "isInPercentRange"
571
+ }
572
+
420
573
  declare type DataAttributeKey = `data-${string}`;
421
574
 
422
575
  declare type DataAttributes = Record<DataAttributeKey, string>;
423
576
 
577
+ export declare const DataTable: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
578
+ id?: string | undefined;
579
+ role?: AriaRole | undefined;
580
+ className?: string | undefined;
581
+ } & {
582
+ children?: ReactNode;
583
+ /**
584
+ * Provide table columns configuration
585
+ * @see Column
586
+ */
587
+ columns: Column[];
588
+ /**
589
+ * Provide data for the table
590
+ * @see TableData
591
+ */
592
+ tableData: TableData;
593
+ /**
594
+ * Provide a callback to capture table data changes
595
+ * @see EditState
596
+ */
597
+ onEdit?: ((editState: EditState) => void) | undefined;
598
+ /**
599
+ * Control column pinning state externally
600
+ * @see ColumnPinningState
601
+ */
602
+ columnPinning?: ColumnPinningState | undefined;
603
+ /**
604
+ * Control pagination state externally
605
+ * @see PaginationState
606
+ */
607
+ pagination?: PaginationState | undefined;
608
+ /**
609
+ * Provide a callback to capture pagination changes
610
+ * @see PaginationState
611
+ */
612
+ onPaginationChange?: ((paginationState: PaginationState) => void) | undefined;
613
+ /**
614
+ * Manage column filters externally
615
+ * @see ColumnFiltersState
616
+ */
617
+ columnFilters?: ColumnFiltersState | undefined;
618
+ /**
619
+ * Provide a callback to capture column filters changes
620
+ * @see ColumnFiltersState
621
+ */
622
+ onFiltersChange?: ((filterState: ColumnFiltersState) => void) | undefined;
623
+ /**
624
+ * Manage row selection externally
625
+ * @see RowSelectionState
626
+ */
627
+ rowSelection?: RowSelectionState | undefined;
628
+ /**
629
+ * Provide a callback to capture row selection changes
630
+ * @see RowSelectionState
631
+ */
632
+ onRowSelect?: ((selectionState: RowSelectionState) => void) | undefined;
633
+ /**
634
+ * Control table data sorting externally
635
+ * @see SortingState
636
+ */
637
+ sorting?: SortingState | undefined;
638
+ /**
639
+ * Provide a callback to capture table data sorting changes
640
+ * @see SortingState
641
+ */
642
+ onSortingChange?: ((sortingState: SortingState) => void) | undefined;
643
+ /**
644
+ * Configure how table data is processed inside or outside the component
645
+ * @see ProcessingModes
646
+ */
647
+ processingMode?: "external" | "internal" | undefined;
648
+ /**
649
+ * Select which type of table to render
650
+ * @see RenderModes
651
+ */
652
+ renderMode?: "virtual" | "paginated" | undefined;
653
+ /**
654
+ * Set a controlled page count number for pagination. Required for renderMode="paginated-controlled"
655
+ * @see https://morewings.github.io/koval-ui/?path=/story/components-datatable--paginated-controlled&args=tableData:rows100
656
+ */
657
+ pageCount?: number | undefined;
658
+ /**
659
+ * Provide a string with a BCP 47 language tag or an Intl.Locale instance,
660
+ * or an array of such locale identifiers.
661
+ * Used to format dates, numbers, and units.
662
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#locales
663
+ * @see Locale
664
+ */
665
+ locale?: Locale | undefined;
666
+ /**
667
+ * Enable column selection
668
+ */
669
+ selectable?: boolean | undefined;
670
+ /**
671
+ * Set a height constrain to the data table. 'full' sets to 100% of viewport height
672
+ */
673
+ tableHeight?: number | "full" | undefined;
674
+ /**
675
+ * Set a caption text to render below the table
676
+ */
677
+ caption?: string | undefined;
678
+ } & RefAttributes<HTMLTableElement>>;
679
+
424
680
  declare type DateFormatOptions = {
425
681
  /**
426
682
  * The representation of the weekday
@@ -505,6 +761,8 @@ declare type DateFormatOptions = {
505
761
  timeZone?: string;
506
762
  };
507
763
 
764
+ declare type DateRangeFilterValue = string[];
765
+
508
766
  export declare const DateTime: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
509
767
  id?: string | undefined;
510
768
  role?: AriaRole | undefined;
@@ -625,6 +883,11 @@ placement?: "left" | "right" | undefined;
625
883
  id: string;
626
884
  } & RefAttributes<HTMLDivElement>>;
627
885
 
886
+ /**
887
+ * Record which represents table change requested by the user. Key is equal to row index
888
+ */
889
+ export declare type EditState = Record<number, TableRow>;
890
+
628
891
  export declare const Em: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
629
892
  id?: string | undefined;
630
893
  role?: AriaRole | undefined;
@@ -645,6 +908,13 @@ caption?: string | undefined;
645
908
  position?: "center" | "left" | "right" | undefined;
646
909
  } & RefAttributes<HTMLDivElement>>;
647
910
 
911
+ export declare type FilterInput = FC<unknown & {
912
+ value: FilterValue;
913
+ onChange: (value: FilterValue) => void;
914
+ }>;
915
+
916
+ declare type FilterValue = DateRangeFilterValue | RangeFilterValue | string;
917
+
648
918
  declare type FluidUnit = 'fluid';
649
919
 
650
920
  export declare const Footer: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
@@ -655,6 +925,10 @@ className?: string | undefined;
655
925
  children?: ReactNode;
656
926
  } & RefAttributes<HTMLDivElement>>;
657
927
 
928
+ export declare type FooterCell = FC<unknown & {
929
+ cellContext: HeaderContext<TableData, TableRow | TableValue>;
930
+ }>;
931
+
658
932
  export declare const Form: ForwardRefExoticComponent<Omit<DataAttributes & NativeProps & AriaAttributes & {
659
933
  id?: string | undefined;
660
934
  role?: AriaRole | undefined;
@@ -750,6 +1024,11 @@ children?: ReactNode;
750
1024
 
751
1025
  export declare const Header: FC<Props_3>;
752
1026
 
1027
+ export declare type HeaderCell = FC<unknown & {
1028
+ title?: string;
1029
+ headerContext: HeaderContext<TableData, TableValue | TableRow>;
1030
+ }>;
1031
+
753
1032
  export declare const I: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
754
1033
  id?: string | undefined;
755
1034
  role?: AriaRole | undefined;
@@ -1264,34 +1543,19 @@ export declare const NumberCurrency: ForwardRefExoticComponent<DataAttributes &
1264
1543
  id?: string | undefined;
1265
1544
  role?: AriaRole | undefined;
1266
1545
  className?: string | undefined;
1267
- } & Omit<NumberProps, "notation" | "compactDisplay"> & {
1268
- /**
1269
- * Provide ISO 4217 currency code
1270
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#currency_2
1271
- */
1272
- currency: keyof typeof CurrencyCodes;
1273
- /**
1274
- * How to display the currency in currency formatting
1275
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#currencydisplay
1276
- */
1277
- currencyDisplay?: "symbol" | "name" | "code" | "narrowSymbol" | undefined;
1278
- /**
1279
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#currencysign
1280
- */
1281
- currencySign?: "standard" | "accounting" | undefined;
1282
- } & RefAttributes<HTMLSpanElement>>;
1546
+ } & Omit<NumberProps, "unitDisplay" | "unit" | "notation" | "compactDisplay"> & RefAttributes<HTMLSpanElement>>;
1283
1547
 
1284
1548
  export declare const NumberDecimal: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
1285
1549
  id?: string | undefined;
1286
1550
  role?: AriaRole | undefined;
1287
1551
  className?: string | undefined;
1288
- } & NumberProps & RefAttributes<HTMLSpanElement>>;
1552
+ } & Omit<NumberProps, "unitDisplay" | "unit" | "currency" | "currencyDisplay" | "currencySign"> & RefAttributes<HTMLSpanElement>>;
1289
1553
 
1290
1554
  export declare const NumberPercent: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
1291
1555
  id?: string | undefined;
1292
1556
  role?: AriaRole | undefined;
1293
1557
  className?: string | undefined;
1294
- } & Omit<NumberProps, "notation" | "compactDisplay"> & RefAttributes<HTMLSpanElement>>;
1558
+ } & Omit<NumberProps, "unitDisplay" | "unit" | "currency" | "currencyDisplay" | "currencySign" | "notation" | "compactDisplay"> & RefAttributes<HTMLSpanElement>>;
1295
1559
 
1296
1560
  declare type NumberProps = {
1297
1561
  /** Provide a value to be formatted */
@@ -1332,24 +1596,37 @@ declare type NumberProps = {
1332
1596
  * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#signdisplay
1333
1597
  */
1334
1598
  signDisplay?: keyof typeof SignDisplayModes;
1599
+ /**
1600
+ * Provide a unit for the number
1601
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#unit_2
1602
+ */
1603
+ unit?: keyof typeof Units;
1604
+ /**
1605
+ * The unit formatting style to use in unit formatting
1606
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#unitdisplay
1607
+ */
1608
+ unitDisplay?: keyof typeof UnitDisplayModes;
1609
+ /**
1610
+ * Provide ISO 4217 currency code
1611
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#currency_2
1612
+ */
1613
+ currency: keyof typeof CurrencyCodes;
1614
+ /**
1615
+ * How to display the currency in currency formatting
1616
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#currencydisplay
1617
+ */
1618
+ currencyDisplay?: keyof typeof CurrencyDisplayTypes;
1619
+ /**
1620
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#currencysign
1621
+ */
1622
+ currencySign?: keyof typeof CurrencySignModes;
1335
1623
  };
1336
1624
 
1337
1625
  export declare const NumberUnit: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
1338
1626
  id?: string | undefined;
1339
1627
  role?: AriaRole | undefined;
1340
1628
  className?: string | undefined;
1341
- } & NumberProps & {
1342
- /**
1343
- * Provide a unit for the number
1344
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#unit_2
1345
- */
1346
- unit: keyof typeof Units;
1347
- /**
1348
- * The unit formatting style to use in unit formatting
1349
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#unitdisplay
1350
- */
1351
- unitDisplay?: "short" | "narrow" | "long" | undefined;
1352
- } & RefAttributes<HTMLSpanElement>>;
1629
+ } & Omit<NumberProps, "currency" | "currencyDisplay" | "currencySign"> & RefAttributes<HTMLSpanElement>>;
1353
1630
 
1354
1631
  declare type OffsetConfig = {
1355
1632
  /** The number of columns to off set this item from left side on extremely small devices (≥360px) */
@@ -1418,6 +1695,8 @@ showNavigation?: boolean | undefined;
1418
1695
  showPageButtons?: boolean | undefined;
1419
1696
  } & RefAttributes<HTMLDivElement>>;
1420
1697
 
1698
+ export { PaginationState }
1699
+
1421
1700
  declare type Permission = `https://${string}` | 'self' | '*' | 'src' | 'none' | boolean;
1422
1701
 
1423
1702
  export declare type PermissionsConfig = {
@@ -1665,6 +1944,17 @@ children?: ReactNode;
1665
1944
  contentEditable?: HTMLAttributes<HTMLPreElement>['contentEditable'];
1666
1945
  } & RefAttributes<HTMLPreElement>>;
1667
1946
 
1947
+ export declare enum ProcessingModes {
1948
+ /**
1949
+ * Data processed by the table. Semi-controlled mode, prop changes overwrite the state
1950
+ */
1951
+ internal = "internal",
1952
+ /**
1953
+ * Data processed by the developer. Full controlled mode
1954
+ */
1955
+ external = "external"
1956
+ }
1957
+
1668
1958
  export declare const Progress: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
1669
1959
  id?: string | undefined;
1670
1960
  role?: AriaRole | undefined;
@@ -1742,6 +2032,7 @@ declare type Props_6 = {
1742
2032
  type?: keyof typeof ActionTypes;
1743
2033
  onClick?: (name: MouseEvent_2<HTMLButtonElement>) => void;
1744
2034
  className?: string;
2035
+ disabled?: boolean;
1745
2036
  };
1746
2037
 
1747
2038
  declare type Props_7 = {
@@ -1784,6 +2075,19 @@ export declare const Provider: FC<Props>;
1784
2075
 
1785
2076
  declare type Range_2<TStart extends number, TFinish extends number> = Exclude<Enumerate<TFinish>, Enumerate<TStart>>;
1786
2077
 
2078
+ declare type RangeFilterValue = number[];
2079
+
2080
+ export declare enum RenderModes {
2081
+ /**
2082
+ * Table renders as a virtualized list containing all cells
2083
+ */
2084
+ virtual = "virtual",
2085
+ /**
2086
+ * Table renders as multiple pages of a certain size
2087
+ */
2088
+ paginated = "paginated"
2089
+ }
2090
+
1787
2091
  export declare const Row: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
1788
2092
  id?: string | undefined;
1789
2093
  role?: AriaRole | undefined;
@@ -1794,6 +2098,8 @@ as?: string | undefined;
1794
2098
  children: ReactNode;
1795
2099
  } & RefAttributes<HTMLElement>>;
1796
2100
 
2101
+ export { RowSelectionState }
2102
+
1797
2103
  export declare const S: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
1798
2104
  id?: string | undefined;
1799
2105
  role?: AriaRole | undefined;
@@ -1986,6 +2292,20 @@ className?: string | undefined;
1986
2292
  children?: ReactNode;
1987
2293
  } & RefAttributes<HTMLElement>>;
1988
2294
 
2295
+ export declare type SortingFn = SortingFn_2<TableData>;
2296
+
2297
+ export declare enum SortingModes {
2298
+ auto = "auto",
2299
+ alphanumeric = "alphanumeric",
2300
+ alphanumericCaseSensitive = "alphanumericCaseSensitive",
2301
+ text = "text",
2302
+ textCaseSensitive = "textCaseSensitive",
2303
+ datetime = "datetime",
2304
+ basic = "basic"
2305
+ }
2306
+
2307
+ export { SortingState }
2308
+
1989
2309
  declare type Source = {
1990
2310
  /**
1991
2311
  * Provide the source image url
@@ -2069,8 +2389,21 @@ role?: AriaRole | undefined;
2069
2389
  className?: string | undefined;
2070
2390
  } & {
2071
2391
  children: ReactNode;
2392
+ wrapperRef?: MutableRefObject<HTMLDivElement | null> | undefined;
2393
+ wrapperClassName?: string | undefined;
2072
2394
  } & RefAttributes<HTMLTableElement>>;
2073
2395
 
2396
+ /**
2397
+ * Very liberal table data definition
2398
+ */
2399
+ export declare type TableData = TableRow[];
2400
+
2401
+ declare type TableRow = {
2402
+ [property: string]: TableRow | TableValue;
2403
+ };
2404
+
2405
+ declare type TableValue = string | number;
2406
+
2074
2407
  export declare const Tabs: ForwardRefExoticComponent<DataAttributes & AriaAttributes & {
2075
2408
  id?: string | undefined;
2076
2409
  role?: AriaRole | undefined;
@@ -2395,6 +2728,12 @@ children?: ReactNode;
2395
2728
 
2396
2729
  declare type Unit = number | 'fluid';
2397
2730
 
2731
+ declare enum UnitDisplayModes {
2732
+ short = "short",
2733
+ narrow = "narrow",
2734
+ long = "long"
2735
+ }
2736
+
2398
2737
  /**
2399
2738
  * List of available units
2400
2739
  * @see https://tc39.es/ecma402/#table-sanctioned-single-unit-identifiers