@multiplatform.one/table 6.1.0 → 6.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.
- package/README.md +125 -65
- package/dist/cjs/components/ChildTable/index.cjs +44 -9
- package/dist/cjs/components/ChildTable/index.native.js +56 -13
- package/dist/cjs/components/ChildTable/index.native.js.map +1 -1
- package/dist/cjs/components/ColumnHeaderFilter/index.cjs +27 -110
- package/dist/cjs/components/ColumnHeaderFilter/index.native.js +27 -119
- package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableCardControls.cjs +133 -0
- package/dist/cjs/components/DataTable/DataTableCardControls.native.js +140 -0
- package/dist/cjs/components/DataTable/DataTableCardControls.native.js.map +1 -0
- package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +125 -59
- package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +114 -49
- package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableRoot.cjs +574 -170
- package/dist/cjs/components/DataTable/DataTableRoot.native.js +699 -178
- package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableStateContext.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableVirtualized.cjs +78 -3
- package/dist/cjs/components/DataTable/DataTableVirtualized.native.js +86 -3
- package/dist/cjs/components/DataTable/DataTableVirtualized.native.js.map +1 -1
- package/dist/cjs/components/DataTable/index.cjs +2 -0
- package/dist/cjs/components/DataTable/index.native.js +170 -72
- package/dist/cjs/components/DataTable/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableBulkActions/index.cjs +62 -146
- package/dist/cjs/components/DataTableBulkActions/index.native.js +77 -153
- package/dist/cjs/components/DataTableBulkActions/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableCell/CellModalEditor.cjs +61 -8
- package/dist/cjs/components/DataTableCell/CellModalEditor.native.js +73 -66
- package/dist/cjs/components/DataTableCell/CellModalEditor.native.js.map +1 -1
- package/dist/cjs/components/DataTableCell/CellOptionsEditor.cjs +87 -0
- package/dist/cjs/components/DataTableCell/CellOptionsEditor.native.js +100 -0
- package/dist/cjs/components/DataTableCell/CellOptionsEditor.native.js.map +1 -0
- package/dist/cjs/components/DataTableCell/index.cjs +524 -147
- package/dist/cjs/components/DataTableCell/index.native.js +666 -210
- package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableColumnPinning/index.cjs +95 -24
- package/dist/cjs/components/DataTableColumnPinning/index.native.js +101 -25
- package/dist/cjs/components/DataTableColumnPinning/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableDateFilter/index.cjs +385 -197
- package/dist/cjs/components/DataTableDateFilter/index.native.js +414 -213
- package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableExport/index.cjs +223 -195
- package/dist/cjs/components/DataTableExport/index.native.js +318 -217
- package/dist/cjs/components/DataTableExport/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableFilterButton/index.cjs +349 -0
- package/dist/cjs/components/DataTableFilterButton/index.native.js +402 -0
- package/dist/cjs/components/DataTableFilterButton/index.native.js.map +1 -0
- package/dist/cjs/components/DataTableFilterChips/index.cjs +120 -0
- package/dist/cjs/components/DataTableFilterChips/index.native.js +187 -0
- package/dist/cjs/components/DataTableFilterChips/index.native.js.map +1 -0
- package/dist/cjs/components/DataTableFilters/index.cjs +36 -31
- package/dist/cjs/components/DataTableFilters/index.native.js +36 -31
- package/dist/cjs/components/DataTableFilters/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableGrouping/index.cjs +246 -189
- package/dist/cjs/components/DataTableGrouping/index.native.js +283 -203
- package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/cjs/components/DataTablePagination/index.cjs +103 -329
- package/dist/cjs/components/DataTablePagination/index.native.js +115 -377
- package/dist/cjs/components/DataTablePagination/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableSearch/index.cjs +132 -155
- package/dist/cjs/components/DataTableSearch/index.native.js +164 -170
- package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableToolbar/index.cjs +71 -116
- package/dist/cjs/components/DataTableToolbar/index.native.js +98 -123
- package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableViewOptions/index.cjs +73 -169
- package/dist/cjs/components/DataTableViewOptions/index.native.js +88 -184
- package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/cjs/components/FilterManager.cjs +7 -5
- package/dist/cjs/components/FilterManager.native.js +21 -8
- package/dist/cjs/components/FilterManager.native.js.map +1 -1
- package/dist/cjs/components/FilterOperatorValueEditor/index.cjs +109 -0
- package/dist/cjs/components/FilterOperatorValueEditor/index.native.js +121 -0
- package/dist/cjs/components/FilterOperatorValueEditor/index.native.js.map +1 -0
- package/dist/cjs/components/SavedFilterDropdown.cjs +3 -3
- package/dist/cjs/components/SavedFilterDropdown.native.js +3 -3
- package/dist/cjs/components/SavedFilterDropdown.native.js.map +1 -1
- package/dist/cjs/components/SimpleTable/index.cjs +22 -15
- package/dist/cjs/components/SimpleTable/index.native.js +31 -19
- package/dist/cjs/components/SimpleTable/index.native.js.map +1 -1
- package/dist/cjs/components/TableInput/index.cjs +149 -49
- package/dist/cjs/components/TableInput/index.native.js +181 -71
- package/dist/cjs/components/TableInput/index.native.js.map +1 -1
- package/dist/cjs/components/TableInput/shared.cjs +36 -0
- package/dist/cjs/components/TableInput/shared.native.js +41 -0
- package/dist/cjs/components/TableInput/shared.native.js.map +1 -0
- package/dist/cjs/hooks/useDataTable.cjs +114 -21
- package/dist/cjs/hooks/useDataTable.native.js +126 -25
- package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
- package/dist/cjs/hooks/useInfiniteRows.cjs +193 -0
- package/dist/cjs/hooks/useInfiniteRows.native.js +203 -0
- package/dist/cjs/hooks/useInfiniteRows.native.js.map +1 -0
- package/dist/cjs/hooks/useTableFiltering.cjs +14 -18
- package/dist/cjs/hooks/useTableFiltering.native.js +17 -23
- package/dist/cjs/hooks/useTableFiltering.native.js.map +1 -1
- package/dist/cjs/hooks/useTablePagination.cjs +2 -2
- package/dist/cjs/hooks/useTablePagination.native.js +2 -2
- package/dist/cjs/hooks/useTablePagination.native.js.map +1 -1
- package/dist/cjs/index.cjs +26 -1
- package/dist/cjs/index.native.js +25 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/shared/t.cjs +50 -0
- package/dist/cjs/shared/t.native.js +55 -0
- package/dist/cjs/shared/t.native.js.map +1 -0
- package/dist/cjs/utils/columnAlign.cjs +60 -0
- package/dist/cjs/utils/columnAlign.native.js +67 -0
- package/dist/cjs/utils/columnAlign.native.js.map +1 -0
- package/dist/cjs/utils/filterFields.cjs +185 -0
- package/dist/cjs/utils/filterFields.native.js +247 -0
- package/dist/cjs/utils/filterFields.native.js.map +1 -0
- package/dist/cjs/utils/filterUtils.cjs +39 -20
- package/dist/cjs/utils/filterUtils.native.js +39 -20
- package/dist/cjs/utils/filterUtils.native.js.map +1 -1
- package/dist/cjs/utils/paginationDefaults.cjs +32 -0
- package/dist/cjs/utils/paginationDefaults.native.js +35 -0
- package/dist/cjs/utils/paginationDefaults.native.js.map +1 -0
- package/dist/cjs/utils/urlStateUtils.cjs +2 -1
- package/dist/cjs/utils/urlStateUtils.native.js +2 -1
- package/dist/cjs/utils/urlStateUtils.native.js.map +1 -1
- package/dist/cjs/utils/viewData.cjs +45 -0
- package/dist/cjs/utils/viewData.native.js +69 -0
- package/dist/cjs/utils/viewData.native.js.map +1 -0
- package/dist/cjs/utils/withInterp.cjs +39 -0
- package/dist/cjs/utils/withInterp.native.js +42 -0
- package/dist/cjs/utils/withInterp.native.js.map +1 -0
- package/dist/esm/components/ChildTable/index.mjs +45 -10
- package/dist/esm/components/ChildTable/index.mjs.map +1 -1
- package/dist/esm/components/ChildTable/index.native.js +57 -14
- package/dist/esm/components/ChildTable/index.native.js.map +1 -1
- package/dist/esm/components/ColumnHeaderFilter/index.mjs +29 -111
- package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
- package/dist/esm/components/ColumnHeaderFilter/index.native.js +30 -121
- package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableCardControls.mjs +108 -0
- package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -0
- package/dist/esm/components/DataTable/DataTableCardControls.native.js +112 -0
- package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -0
- package/dist/esm/components/DataTable/DataTableMobileCards.mjs +128 -62
- package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableMobileCards.native.js +117 -52
- package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.mjs +578 -174
- package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.native.js +703 -182
- package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableStateContext.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableStateContext.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableVirtualized.mjs +79 -4
- package/dist/esm/components/DataTable/DataTableVirtualized.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableVirtualized.native.js +87 -4
- package/dist/esm/components/DataTable/DataTableVirtualized.native.js.map +1 -1
- package/dist/esm/components/DataTable/index.mjs +2 -0
- package/dist/esm/components/DataTable/index.mjs.map +1 -1
- package/dist/esm/components/DataTable/index.native.js +172 -74
- package/dist/esm/components/DataTable/index.native.js.map +1 -1
- package/dist/esm/components/DataTableBulkActions/index.mjs +65 -147
- package/dist/esm/components/DataTableBulkActions/index.mjs.map +1 -1
- package/dist/esm/components/DataTableBulkActions/index.native.js +80 -154
- package/dist/esm/components/DataTableBulkActions/index.native.js.map +1 -1
- package/dist/esm/components/DataTableCell/CellModalEditor.mjs +62 -9
- package/dist/esm/components/DataTableCell/CellModalEditor.mjs.map +1 -1
- package/dist/esm/components/DataTableCell/CellModalEditor.native.js +74 -67
- package/dist/esm/components/DataTableCell/CellModalEditor.native.js.map +1 -1
- package/dist/esm/components/DataTableCell/CellOptionsEditor.mjs +62 -0
- package/dist/esm/components/DataTableCell/CellOptionsEditor.mjs.map +1 -0
- package/dist/esm/components/DataTableCell/CellOptionsEditor.native.js +72 -0
- package/dist/esm/components/DataTableCell/CellOptionsEditor.native.js.map +1 -0
- package/dist/esm/components/DataTableCell/index.mjs +527 -149
- package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
- package/dist/esm/components/DataTableCell/index.native.js +670 -213
- package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
- package/dist/esm/components/DataTableColumnPinning/index.mjs +99 -28
- package/dist/esm/components/DataTableColumnPinning/index.mjs.map +1 -1
- package/dist/esm/components/DataTableColumnPinning/index.native.js +105 -29
- package/dist/esm/components/DataTableColumnPinning/index.native.js.map +1 -1
- package/dist/esm/components/DataTableDateFilter/index.mjs +387 -200
- package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
- package/dist/esm/components/DataTableDateFilter/index.native.js +416 -216
- package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/esm/components/DataTableExport/index.mjs +223 -195
- package/dist/esm/components/DataTableExport/index.mjs.map +1 -1
- package/dist/esm/components/DataTableExport/index.native.js +318 -217
- package/dist/esm/components/DataTableExport/index.native.js.map +1 -1
- package/dist/esm/components/DataTableFilterButton/index.mjs +324 -0
- package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -0
- package/dist/esm/components/DataTableFilterButton/index.native.js +374 -0
- package/dist/esm/components/DataTableFilterButton/index.native.js.map +1 -0
- package/dist/esm/components/DataTableFilterChips/index.mjs +95 -0
- package/dist/esm/components/DataTableFilterChips/index.mjs.map +1 -0
- package/dist/esm/components/DataTableFilterChips/index.native.js +159 -0
- package/dist/esm/components/DataTableFilterChips/index.native.js.map +1 -0
- package/dist/esm/components/DataTableFilters/index.mjs +36 -31
- package/dist/esm/components/DataTableFilters/index.mjs.map +1 -1
- package/dist/esm/components/DataTableFilters/index.native.js +36 -31
- package/dist/esm/components/DataTableFilters/index.native.js.map +1 -1
- package/dist/esm/components/DataTableGrouping/index.mjs +248 -191
- package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
- package/dist/esm/components/DataTableGrouping/index.native.js +285 -205
- package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/esm/components/DataTablePagination/index.mjs +105 -329
- package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
- package/dist/esm/components/DataTablePagination/index.native.js +117 -366
- package/dist/esm/components/DataTablePagination/index.native.js.map +1 -1
- package/dist/esm/components/DataTableSearch/index.mjs +135 -156
- package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
- package/dist/esm/components/DataTableSearch/index.native.js +167 -171
- package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/esm/components/DataTableToolbar/index.mjs +75 -118
- package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/esm/components/DataTableToolbar/index.native.js +102 -125
- package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/esm/components/DataTableViewOptions/index.mjs +75 -171
- package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
- package/dist/esm/components/DataTableViewOptions/index.native.js +90 -186
- package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/esm/components/FilterManager.mjs +7 -5
- package/dist/esm/components/FilterManager.mjs.map +1 -1
- package/dist/esm/components/FilterManager.native.js +21 -8
- package/dist/esm/components/FilterManager.native.js.map +1 -1
- package/dist/esm/components/FilterOperatorValueEditor/index.mjs +84 -0
- package/dist/esm/components/FilterOperatorValueEditor/index.mjs.map +1 -0
- package/dist/esm/components/FilterOperatorValueEditor/index.native.js +93 -0
- package/dist/esm/components/FilterOperatorValueEditor/index.native.js.map +1 -0
- package/dist/esm/components/SavedFilterDropdown.mjs +3 -3
- package/dist/esm/components/SavedFilterDropdown.mjs.map +1 -1
- package/dist/esm/components/SavedFilterDropdown.native.js +3 -3
- package/dist/esm/components/SavedFilterDropdown.native.js.map +1 -1
- package/dist/esm/components/SimpleTable/index.mjs +22 -15
- package/dist/esm/components/SimpleTable/index.mjs.map +1 -1
- package/dist/esm/components/SimpleTable/index.native.js +31 -19
- package/dist/esm/components/SimpleTable/index.native.js.map +1 -1
- package/dist/esm/components/TableInput/index.mjs +149 -49
- package/dist/esm/components/TableInput/index.mjs.map +1 -1
- package/dist/esm/components/TableInput/index.native.js +181 -71
- package/dist/esm/components/TableInput/index.native.js.map +1 -1
- package/dist/esm/components/TableInput/shared.mjs +9 -0
- package/dist/esm/components/TableInput/shared.mjs.map +1 -0
- package/dist/esm/components/TableInput/shared.native.js +11 -0
- package/dist/esm/components/TableInput/shared.native.js.map +1 -0
- package/dist/esm/hooks/useDataTable.mjs +115 -22
- package/dist/esm/hooks/useDataTable.mjs.map +1 -1
- package/dist/esm/hooks/useDataTable.native.js +127 -26
- package/dist/esm/hooks/useDataTable.native.js.map +1 -1
- package/dist/esm/hooks/useInfiniteRows.mjs +168 -0
- package/dist/esm/hooks/useInfiniteRows.mjs.map +1 -0
- package/dist/esm/hooks/useInfiniteRows.native.js +175 -0
- package/dist/esm/hooks/useInfiniteRows.native.js.map +1 -0
- package/dist/esm/hooks/useTableFiltering.mjs +14 -18
- package/dist/esm/hooks/useTableFiltering.mjs.map +1 -1
- package/dist/esm/hooks/useTableFiltering.native.js +17 -23
- package/dist/esm/hooks/useTableFiltering.native.js.map +1 -1
- package/dist/esm/hooks/useTablePagination.mjs +2 -2
- package/dist/esm/hooks/useTablePagination.mjs.map +1 -1
- package/dist/esm/hooks/useTablePagination.native.js +2 -2
- package/dist/esm/hooks/useTablePagination.native.js.map +1 -1
- package/dist/esm/index.mjs +8 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +8 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/shared/t.mjs +14 -0
- package/dist/esm/shared/t.mjs.map +1 -0
- package/dist/esm/shared/t.native.js +16 -0
- package/dist/esm/shared/t.native.js.map +1 -0
- package/dist/esm/utils/columnAlign.mjs +34 -0
- package/dist/esm/utils/columnAlign.mjs.map +1 -0
- package/dist/esm/utils/columnAlign.native.js +38 -0
- package/dist/esm/utils/columnAlign.native.js.map +1 -0
- package/dist/esm/utils/filterFields.mjs +149 -0
- package/dist/esm/utils/filterFields.mjs.map +1 -0
- package/dist/esm/utils/filterFields.native.js +208 -0
- package/dist/esm/utils/filterFields.native.js.map +1 -0
- package/dist/esm/utils/filterUtils.mjs +39 -20
- package/dist/esm/utils/filterUtils.mjs.map +1 -1
- package/dist/esm/utils/filterUtils.native.js +39 -20
- package/dist/esm/utils/filterUtils.native.js.map +1 -1
- package/dist/esm/utils/paginationDefaults.mjs +5 -0
- package/dist/esm/utils/paginationDefaults.mjs.map +1 -0
- package/dist/esm/utils/paginationDefaults.native.js +5 -0
- package/dist/esm/utils/paginationDefaults.native.js.map +1 -0
- package/dist/esm/utils/urlStateUtils.mjs +2 -1
- package/dist/esm/utils/urlStateUtils.mjs.map +1 -1
- package/dist/esm/utils/urlStateUtils.native.js +2 -1
- package/dist/esm/utils/urlStateUtils.native.js.map +1 -1
- package/dist/esm/utils/viewData.mjs +20 -0
- package/dist/esm/utils/viewData.mjs.map +1 -0
- package/dist/esm/utils/viewData.native.js +41 -0
- package/dist/esm/utils/viewData.native.js.map +1 -0
- package/dist/esm/utils/withInterp.mjs +13 -0
- package/dist/esm/utils/withInterp.mjs.map +1 -0
- package/dist/esm/utils/withInterp.native.js +13 -0
- package/dist/esm/utils/withInterp.native.js.map +1 -0
- package/dist/jsx/components/ChildTable/index.mjs +45 -10
- package/dist/jsx/components/ChildTable/index.mjs.map +1 -1
- package/dist/jsx/components/ChildTable/index.native.js +56 -13
- package/dist/jsx/components/ChildTable/index.native.js.map +1 -1
- package/dist/jsx/components/ColumnHeaderFilter/index.mjs +29 -111
- package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
- package/dist/jsx/components/ColumnHeaderFilter/index.native.js +27 -119
- package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableCardControls.mjs +108 -0
- package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -0
- package/dist/jsx/components/DataTable/DataTableCardControls.native.js +140 -0
- package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -0
- package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +128 -62
- package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +114 -49
- package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.mjs +578 -174
- package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.native.js +699 -178
- package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableStateContext.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableStateContext.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableVirtualized.mjs +79 -4
- package/dist/jsx/components/DataTable/DataTableVirtualized.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableVirtualized.native.js +86 -3
- package/dist/jsx/components/DataTable/DataTableVirtualized.native.js.map +1 -1
- package/dist/jsx/components/DataTable/index.mjs +2 -0
- package/dist/jsx/components/DataTable/index.mjs.map +1 -1
- package/dist/jsx/components/DataTable/index.native.js +170 -72
- package/dist/jsx/components/DataTable/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableBulkActions/index.mjs +65 -147
- package/dist/jsx/components/DataTableBulkActions/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableBulkActions/index.native.js +77 -153
- package/dist/jsx/components/DataTableBulkActions/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableCell/CellModalEditor.mjs +62 -9
- package/dist/jsx/components/DataTableCell/CellModalEditor.mjs.map +1 -1
- package/dist/jsx/components/DataTableCell/CellModalEditor.native.js +73 -66
- package/dist/jsx/components/DataTableCell/CellModalEditor.native.js.map +1 -1
- package/dist/jsx/components/DataTableCell/CellOptionsEditor.mjs +62 -0
- package/dist/jsx/components/DataTableCell/CellOptionsEditor.mjs.map +1 -0
- package/dist/jsx/components/DataTableCell/CellOptionsEditor.native.js +100 -0
- package/dist/jsx/components/DataTableCell/CellOptionsEditor.native.js.map +1 -0
- package/dist/jsx/components/DataTableCell/index.mjs +527 -149
- package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableCell/index.native.js +666 -210
- package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableColumnPinning/index.mjs +99 -28
- package/dist/jsx/components/DataTableColumnPinning/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableColumnPinning/index.native.js +101 -25
- package/dist/jsx/components/DataTableColumnPinning/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableDateFilter/index.mjs +387 -200
- package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableDateFilter/index.native.js +414 -213
- package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableExport/index.mjs +223 -195
- package/dist/jsx/components/DataTableExport/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableExport/index.native.js +318 -217
- package/dist/jsx/components/DataTableExport/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableFilterButton/index.mjs +324 -0
- package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -0
- package/dist/jsx/components/DataTableFilterButton/index.native.js +402 -0
- package/dist/jsx/components/DataTableFilterButton/index.native.js.map +1 -0
- package/dist/jsx/components/DataTableFilterChips/index.mjs +95 -0
- package/dist/jsx/components/DataTableFilterChips/index.mjs.map +1 -0
- package/dist/jsx/components/DataTableFilterChips/index.native.js +187 -0
- package/dist/jsx/components/DataTableFilterChips/index.native.js.map +1 -0
- package/dist/jsx/components/DataTableFilters/index.mjs +36 -31
- package/dist/jsx/components/DataTableFilters/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableFilters/index.native.js +36 -31
- package/dist/jsx/components/DataTableFilters/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableGrouping/index.mjs +248 -191
- package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableGrouping/index.native.js +283 -203
- package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/jsx/components/DataTablePagination/index.mjs +105 -329
- package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
- package/dist/jsx/components/DataTablePagination/index.native.js +115 -377
- package/dist/jsx/components/DataTablePagination/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableSearch/index.mjs +135 -156
- package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableSearch/index.native.js +164 -170
- package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableToolbar/index.mjs +75 -118
- package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableToolbar/index.native.js +98 -123
- package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableViewOptions/index.mjs +75 -171
- package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableViewOptions/index.native.js +88 -184
- package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/jsx/components/FilterManager.mjs +7 -5
- package/dist/jsx/components/FilterManager.mjs.map +1 -1
- package/dist/jsx/components/FilterManager.native.js +21 -8
- package/dist/jsx/components/FilterManager.native.js.map +1 -1
- package/dist/jsx/components/FilterOperatorValueEditor/index.mjs +84 -0
- package/dist/jsx/components/FilterOperatorValueEditor/index.mjs.map +1 -0
- package/dist/jsx/components/FilterOperatorValueEditor/index.native.js +121 -0
- package/dist/jsx/components/FilterOperatorValueEditor/index.native.js.map +1 -0
- package/dist/jsx/components/SavedFilterDropdown.mjs +3 -3
- package/dist/jsx/components/SavedFilterDropdown.mjs.map +1 -1
- package/dist/jsx/components/SavedFilterDropdown.native.js +3 -3
- package/dist/jsx/components/SavedFilterDropdown.native.js.map +1 -1
- package/dist/jsx/components/SimpleTable/index.mjs +22 -15
- package/dist/jsx/components/SimpleTable/index.mjs.map +1 -1
- package/dist/jsx/components/SimpleTable/index.native.js +31 -19
- package/dist/jsx/components/SimpleTable/index.native.js.map +1 -1
- package/dist/jsx/components/TableInput/index.mjs +149 -49
- package/dist/jsx/components/TableInput/index.mjs.map +1 -1
- package/dist/jsx/components/TableInput/index.native.js +181 -71
- package/dist/jsx/components/TableInput/index.native.js.map +1 -1
- package/dist/jsx/components/TableInput/shared.mjs +9 -0
- package/dist/jsx/components/TableInput/shared.mjs.map +1 -0
- package/dist/jsx/components/TableInput/shared.native.js +41 -0
- package/dist/jsx/components/TableInput/shared.native.js.map +1 -0
- package/dist/jsx/hooks/useDataTable.mjs +115 -22
- package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
- package/dist/jsx/hooks/useDataTable.native.js +126 -25
- package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
- package/dist/jsx/hooks/useInfiniteRows.mjs +168 -0
- package/dist/jsx/hooks/useInfiniteRows.mjs.map +1 -0
- package/dist/jsx/hooks/useInfiniteRows.native.js +203 -0
- package/dist/jsx/hooks/useInfiniteRows.native.js.map +1 -0
- package/dist/jsx/hooks/useTableFiltering.mjs +14 -18
- package/dist/jsx/hooks/useTableFiltering.mjs.map +1 -1
- package/dist/jsx/hooks/useTableFiltering.native.js +17 -23
- package/dist/jsx/hooks/useTableFiltering.native.js.map +1 -1
- package/dist/jsx/hooks/useTablePagination.mjs +2 -2
- package/dist/jsx/hooks/useTablePagination.mjs.map +1 -1
- package/dist/jsx/hooks/useTablePagination.native.js +2 -2
- package/dist/jsx/hooks/useTablePagination.native.js.map +1 -1
- package/dist/jsx/index.js +8 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +8 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +25 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/shared/t.mjs +14 -0
- package/dist/jsx/shared/t.mjs.map +1 -0
- package/dist/jsx/shared/t.native.js +55 -0
- package/dist/jsx/shared/t.native.js.map +1 -0
- package/dist/jsx/utils/columnAlign.mjs +34 -0
- package/dist/jsx/utils/columnAlign.mjs.map +1 -0
- package/dist/jsx/utils/columnAlign.native.js +67 -0
- package/dist/jsx/utils/columnAlign.native.js.map +1 -0
- package/dist/jsx/utils/filterFields.mjs +149 -0
- package/dist/jsx/utils/filterFields.mjs.map +1 -0
- package/dist/jsx/utils/filterFields.native.js +247 -0
- package/dist/jsx/utils/filterFields.native.js.map +1 -0
- package/dist/jsx/utils/filterUtils.mjs +39 -20
- package/dist/jsx/utils/filterUtils.mjs.map +1 -1
- package/dist/jsx/utils/filterUtils.native.js +39 -20
- package/dist/jsx/utils/filterUtils.native.js.map +1 -1
- package/dist/jsx/utils/paginationDefaults.mjs +5 -0
- package/dist/jsx/utils/paginationDefaults.mjs.map +1 -0
- package/dist/jsx/utils/paginationDefaults.native.js +35 -0
- package/dist/jsx/utils/paginationDefaults.native.js.map +1 -0
- package/dist/jsx/utils/urlStateUtils.mjs +2 -1
- package/dist/jsx/utils/urlStateUtils.mjs.map +1 -1
- package/dist/jsx/utils/urlStateUtils.native.js +2 -1
- package/dist/jsx/utils/urlStateUtils.native.js.map +1 -1
- package/dist/jsx/utils/viewData.mjs +20 -0
- package/dist/jsx/utils/viewData.mjs.map +1 -0
- package/dist/jsx/utils/viewData.native.js +69 -0
- package/dist/jsx/utils/viewData.native.js.map +1 -0
- package/dist/jsx/utils/withInterp.mjs +13 -0
- package/dist/jsx/utils/withInterp.mjs.map +1 -0
- package/dist/jsx/utils/withInterp.native.js +42 -0
- package/dist/jsx/utils/withInterp.native.js.map +1 -0
- package/package.json +29 -19
- package/src/components/ChildTable/index.tsx +70 -9
- package/src/components/ColumnHeaderFilter/index.tsx +43 -161
- package/src/components/DataTable/DataTable.spec.tsx +347 -0
- package/src/components/DataTable/DataTable.stories.tsx +363 -9
- package/src/components/DataTable/DataTableCardControls.tsx +148 -0
- package/src/components/DataTable/DataTableMobileCards.tsx +153 -80
- package/src/components/DataTable/DataTableRoot.tsx +847 -181
- package/src/components/DataTable/DataTableStateContext.ts +24 -1
- package/src/components/DataTable/DataTableVirtualized.tsx +98 -4
- package/src/components/DataTable/FieldsInCells.stories.tsx +296 -6
- package/src/components/DataTable/cardLayout.spec.tsx +294 -0
- package/src/components/DataTable/chromeInterplay.spec.tsx +282 -0
- package/src/components/DataTable/compoundComponent.spec.tsx +6 -1
- package/src/components/DataTable/disabledContract.spec.tsx +242 -0
- package/src/components/DataTable/expandCaretRtl.spec.tsx +80 -0
- package/src/components/DataTable/headerSorting.spec.tsx +155 -0
- package/src/components/DataTable/index.native.tsx +220 -77
- package/src/components/DataTable/index.tsx +2 -0
- package/src/components/DataTable/infiniteMode.spec.tsx +118 -0
- package/src/components/DataTable/pinningGeometry.spec.tsx +144 -0
- package/src/components/DataTable/rowActionLabels.spec.tsx +97 -0
- package/src/components/DataTable/virtualizedGrouping.spec.tsx +99 -0
- package/src/components/DataTableBulkActions/DataTableBulkActions.spec.tsx +276 -3
- package/src/components/DataTableBulkActions/DataTableBulkActions.stories.tsx +1 -0
- package/src/components/DataTableBulkActions/index.tsx +119 -184
- package/src/components/DataTableCell/CellModalEditor.native.tsx +116 -0
- package/src/components/DataTableCell/CellModalEditor.tsx +83 -11
- package/src/components/DataTableCell/CellOptionsEditor.tsx +91 -0
- package/src/components/DataTableCell/DataTableCell.stories.tsx +514 -9
- package/src/components/DataTableCell/cellDraftPolicy.spec.tsx +638 -0
- package/src/components/DataTableCell/dataTableCell.spec.tsx +174 -26
- package/src/components/DataTableCell/index.tsx +730 -191
- package/src/components/DataTableColumnPinning/DataTableColumnPinning.stories.tsx +14 -0
- package/src/components/DataTableColumnPinning/index.tsx +130 -36
- package/src/components/DataTableDateFilter/DataTableDateFilter.spec.tsx +234 -80
- package/src/components/DataTableDateFilter/DataTableDateFilter.stories.tsx +7 -32
- package/src/components/DataTableDateFilter/index.tsx +357 -160
- package/src/components/DataTableExport/DataTableExport.spec.tsx +225 -8
- package/src/components/DataTableExport/index.tsx +241 -186
- package/src/components/DataTableFilterButton/index.tsx +406 -0
- package/src/components/DataTableFilterChips/DataTableFilterChips.spec.tsx +190 -0
- package/src/components/DataTableFilterChips/index.tsx +127 -0
- package/src/components/DataTableFilters/index.tsx +39 -31
- package/src/components/DataTableGrouping/DataTableGrouping.spec.tsx +173 -1
- package/src/components/DataTableGrouping/index.tsx +233 -140
- package/src/components/DataTablePagination/DataTablePagination.spec.tsx +91 -12
- package/src/components/DataTablePagination/DataTablePagination.stories.tsx +182 -6
- package/src/components/DataTablePagination/index.tsx +97 -324
- package/src/components/DataTableSearch/DataTableSearch.spec.tsx +14 -14
- package/src/components/DataTableSearch/index.tsx +106 -118
- package/src/components/DataTableToolbar/DataTableToolbar.spec.tsx +51 -11
- package/src/components/DataTableToolbar/DataTableToolbar.stories.tsx +205 -8
- package/src/components/DataTableToolbar/index.tsx +86 -123
- package/src/components/DataTableViewOptions/DataTableViewOptions.spec.tsx +5 -5
- package/src/components/DataTableViewOptions/DataTableViewOptions.stories.tsx +41 -3
- package/src/components/DataTableViewOptions/index.tsx +89 -183
- package/src/components/FilterManager.spec.tsx +7 -4
- package/src/components/FilterManager.tsx +25 -5
- package/src/components/FilterOperatorValueEditor/index.tsx +124 -0
- package/src/components/SavedFilterDropdown.tsx +7 -5
- package/src/components/SimpleTable/SimpleTable.stories.tsx +114 -0
- package/src/components/SimpleTable/index.tsx +35 -17
- package/src/components/SimpleTable/simpleTable.spec.tsx +25 -5
- package/src/components/Table/Table.stories.tsx +105 -0
- package/src/components/Table/accessibility.spec.tsx +24 -8
- package/src/components/TableInput/TableInput.stories.tsx +266 -8
- package/src/components/TableInput/index.native.tsx +202 -51
- package/src/components/TableInput/index.tsx +236 -56
- package/src/components/TableInput/shared.ts +20 -0
- package/src/components/TableInput/tableInput.spec.tsx +458 -0
- package/src/components/componentConsistency.spec.tsx +19 -13
- package/src/hooks/hookDecomposition.spec.ts +35 -1
- package/src/hooks/useDataTable.ts +169 -24
- package/src/hooks/useInfiniteRows.spec.tsx +215 -0
- package/src/hooks/useInfiniteRows.ts +242 -0
- package/src/hooks/useTableFiltering.ts +22 -21
- package/src/hooks/useTablePagination.ts +2 -3
- package/src/index.ts +37 -1
- package/src/shared/t.ts +24 -0
- package/src/types.ts +217 -5
- package/src/utils/columnAlign.spec.ts +53 -0
- package/src/utils/columnAlign.ts +60 -0
- package/src/utils/filterFields.spec.ts +237 -0
- package/src/utils/filterFields.ts +273 -0
- package/src/utils/filterUtils.ts +34 -24
- package/src/utils/filterUtilsContracts.spec.ts +190 -0
- package/src/utils/paginationDefaults.spec.ts +43 -0
- package/src/utils/paginationDefaults.ts +21 -0
- package/src/utils/urlStateUtils.spec.ts +2 -2
- package/src/utils/urlStateUtils.ts +2 -1
- package/src/utils/viewData.ts +27 -0
- package/src/utils/withInterp.spec.ts +30 -0
- package/src/utils/withInterp.ts +31 -0
- package/types/components/ChildTable/index.d.ts +28 -0
- package/types/components/ChildTable/index.d.ts.map +1 -0
- package/types/components/ColumnHeaderFilter/index.d.ts +23 -0
- package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -0
- package/types/components/DataTable/DataTableCardControls.d.ts +30 -0
- package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -0
- package/types/components/DataTable/DataTableContext.d.ts +11 -0
- package/types/components/DataTable/DataTableContext.d.ts.map +1 -0
- package/types/components/DataTable/DataTableMobileCards.d.ts +37 -0
- package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -0
- package/types/components/DataTable/DataTableRoot.d.ts +22 -0
- package/types/components/DataTable/DataTableRoot.d.ts.map +1 -0
- package/types/components/DataTable/DataTableStateContext.d.ts +77 -0
- package/types/components/DataTable/DataTableStateContext.d.ts.map +1 -0
- package/types/components/DataTable/DataTableVirtualized.d.ts +36 -0
- package/types/components/DataTable/DataTableVirtualized.d.ts.map +1 -0
- package/types/components/DataTable/index.d.ts +42 -0
- package/types/components/DataTable/index.d.ts.map +1 -0
- package/types/components/DataTable/index.native.d.ts +33 -0
- package/types/components/DataTable/index.native.d.ts.map +1 -0
- package/types/components/DataTableBulkActions/index.d.ts +33 -0
- package/types/components/DataTableBulkActions/index.d.ts.map +1 -0
- package/types/components/DataTableCell/CellModalEditor.d.ts +34 -0
- package/types/components/DataTableCell/CellModalEditor.d.ts.map +1 -0
- package/types/components/DataTableCell/CellModalEditor.native.d.ts +20 -0
- package/types/components/DataTableCell/CellModalEditor.native.d.ts.map +1 -0
- package/types/components/DataTableCell/CellOptionsEditor.d.ts +30 -0
- package/types/components/DataTableCell/CellOptionsEditor.d.ts.map +1 -0
- package/types/components/DataTableCell/index.d.ts +51 -0
- package/types/components/DataTableCell/index.d.ts.map +1 -0
- package/types/components/DataTableColumnPinning/index.d.ts +53 -0
- package/types/components/DataTableColumnPinning/index.d.ts.map +1 -0
- package/types/components/DataTableDateFilter/index.d.ts +54 -0
- package/types/components/DataTableDateFilter/index.d.ts.map +1 -0
- package/types/components/DataTableExport/index.d.ts +37 -0
- package/types/components/DataTableExport/index.d.ts.map +1 -0
- package/types/components/DataTableFilterButton/index.d.ts +16 -0
- package/types/components/DataTableFilterButton/index.d.ts.map +1 -0
- package/types/components/DataTableFilterChips/index.d.ts +12 -0
- package/types/components/DataTableFilterChips/index.d.ts.map +1 -0
- package/types/components/DataTableFilters/index.d.ts +19 -0
- package/types/components/DataTableFilters/index.d.ts.map +1 -0
- package/types/components/DataTableGrouping/index.d.ts +79 -0
- package/types/components/DataTableGrouping/index.d.ts.map +1 -0
- package/types/components/DataTablePagination/index.d.ts +23 -0
- package/types/components/DataTablePagination/index.d.ts.map +1 -0
- package/types/components/DataTableSearch/index.d.ts +57 -0
- package/types/components/DataTableSearch/index.d.ts.map +1 -0
- package/types/components/DataTableToolbar/index.d.ts +23 -0
- package/types/components/DataTableToolbar/index.d.ts.map +1 -0
- package/types/components/DataTableViewOptions/index.d.ts +28 -0
- package/types/components/DataTableViewOptions/index.d.ts.map +1 -0
- package/types/components/FilterManager.d.ts +16 -0
- package/types/components/FilterManager.d.ts.map +1 -0
- package/types/components/FilterOperatorValueEditor/index.d.ts +23 -0
- package/types/components/FilterOperatorValueEditor/index.d.ts.map +1 -0
- package/types/components/KnobDialog.d.ts +57 -0
- package/types/components/KnobDialog.d.ts.map +1 -0
- package/types/components/SavedFilterDropdown.d.ts +11 -0
- package/types/components/SavedFilterDropdown.d.ts.map +1 -0
- package/types/components/SimpleTable/index.d.ts +45 -0
- package/types/components/SimpleTable/index.d.ts.map +1 -0
- package/types/components/TableInput/index.d.ts +66 -0
- package/types/components/TableInput/index.d.ts.map +1 -0
- package/types/components/TableInput/index.native.d.ts +55 -0
- package/types/components/TableInput/index.native.d.ts.map +1 -0
- package/types/components/TableInput/shared.d.ts +12 -0
- package/types/components/TableInput/shared.d.ts.map +1 -0
- package/types/hooks/useDataTable.d.ts +16 -0
- package/types/hooks/useDataTable.d.ts.map +1 -0
- package/types/hooks/useDataTableKeyboard.d.ts +22 -0
- package/types/hooks/useDataTableKeyboard.d.ts.map +1 -0
- package/types/hooks/useDragScroll.d.ts +10 -0
- package/types/hooks/useDragScroll.d.ts.map +1 -0
- package/types/hooks/useInfiniteRows.d.ts +57 -0
- package/types/hooks/useInfiniteRows.d.ts.map +1 -0
- package/types/hooks/useSavedFilters.d.ts +78 -0
- package/types/hooks/useSavedFilters.d.ts.map +1 -0
- package/types/hooks/useTableColumnPinning.d.ts +12 -0
- package/types/hooks/useTableColumnPinning.d.ts.map +1 -0
- package/types/hooks/useTableFiltering.d.ts +27 -0
- package/types/hooks/useTableFiltering.d.ts.map +1 -0
- package/types/hooks/useTableGrouping.d.ts +33 -0
- package/types/hooks/useTableGrouping.d.ts.map +1 -0
- package/types/hooks/useTableKeyboard.d.ts +24 -0
- package/types/hooks/useTableKeyboard.d.ts.map +1 -0
- package/types/hooks/useTablePagination.d.ts +17 -0
- package/types/hooks/useTablePagination.d.ts.map +1 -0
- package/types/hooks/useTableSearch.d.ts +27 -0
- package/types/hooks/useTableSearch.d.ts.map +1 -0
- package/types/hooks/useTableSelection.d.ts +14 -0
- package/types/hooks/useTableSelection.d.ts.map +1 -0
- package/types/hooks/useTableSorting.d.ts +12 -0
- package/types/hooks/useTableSorting.d.ts.map +1 -0
- package/types/hooks/useTableUrlSync.d.ts +15 -0
- package/types/hooks/useTableUrlSync.d.ts.map +1 -0
- package/types/hooks/useTableViews.d.ts +26 -0
- package/types/hooks/useTableViews.d.ts.map +1 -0
- package/types/index.d.ts +68 -0
- package/types/index.d.ts.map +1 -0
- package/types/shared/t.d.ts +10 -0
- package/types/shared/t.d.ts.map +1 -0
- package/types/shims/primitives.d.ts +3 -0
- package/types/shims/primitives.d.ts.map +1 -0
- package/types/shims/tableCellContext.d.ts +3 -0
- package/types/shims/tableCellContext.d.ts.map +1 -0
- package/types/types.d.ts +525 -0
- package/types/types.d.ts.map +1 -0
- package/types/utils/columnAlign.d.ts +23 -0
- package/types/utils/columnAlign.d.ts.map +1 -0
- package/types/utils/filterFields.d.ts +57 -0
- package/types/utils/filterFields.d.ts.map +1 -0
- package/types/utils/filterUtils.d.ts +24 -0
- package/types/utils/filterUtils.d.ts.map +1 -0
- package/types/utils/paginationDefaults.d.ts +18 -0
- package/types/utils/paginationDefaults.d.ts.map +1 -0
- package/types/utils/urlStateUtils.d.ts +8 -0
- package/types/utils/urlStateUtils.d.ts.map +1 -0
- package/types/utils/viewData.d.ts +11 -0
- package/types/utils/viewData.d.ts.map +1 -0
- package/types/utils/withInterp.d.ts +19 -0
- package/types/utils/withInterp.d.ts.map +1 -0
- package/dist/cjs/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.cjs +0 -50
- package/dist/cjs/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js +0 -55
- package/dist/cjs/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTable/DataTable.spec.cjs +0 -516
- package/dist/cjs/components/DataTable/DataTable.spec.native.js +0 -539
- package/dist/cjs/components/DataTable/DataTable.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTable/DataTable.stories.cjs +0 -2779
- package/dist/cjs/components/DataTable/DataTable.stories.native.js +0 -2912
- package/dist/cjs/components/DataTable/DataTable.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTable/FieldsInCells.stories.cjs +0 -244
- package/dist/cjs/components/DataTable/FieldsInCells.stories.native.js +0 -265
- package/dist/cjs/components/DataTable/FieldsInCells.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTable/compoundComponent.spec.cjs +0 -334
- package/dist/cjs/components/DataTable/compoundComponent.spec.native.js +0 -348
- package/dist/cjs/components/DataTable/compoundComponent.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.spec.cjs +0 -305
- package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.spec.native.js +0 -340
- package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.stories.cjs +0 -347
- package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.stories.native.js +0 -372
- package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTableCell/DataTableCell.stories.cjs +0 -50
- package/dist/cjs/components/DataTableCell/DataTableCell.stories.native.js +0 -55
- package/dist/cjs/components/DataTableCell/DataTableCell.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTableCell/dataTableCell.spec.cjs +0 -203
- package/dist/cjs/components/DataTableCell/dataTableCell.spec.native.js +0 -220
- package/dist/cjs/components/DataTableCell/dataTableCell.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.spec.cjs +0 -287
- package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js +0 -315
- package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.stories.cjs +0 -486
- package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js +0 -541
- package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.spec.cjs +0 -409
- package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.spec.native.js +0 -459
- package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.stories.cjs +0 -368
- package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.stories.native.js +0 -375
- package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTableExport/DataTableExport.spec.cjs +0 -334
- package/dist/cjs/components/DataTableExport/DataTableExport.spec.native.js +0 -349
- package/dist/cjs/components/DataTableExport/DataTableExport.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableExport/DataTableExport.stories.cjs +0 -452
- package/dist/cjs/components/DataTableExport/DataTableExport.stories.native.js +0 -479
- package/dist/cjs/components/DataTableExport/DataTableExport.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTableFilters/DataTableFilters.spec.cjs +0 -687
- package/dist/cjs/components/DataTableFilters/DataTableFilters.spec.native.js +0 -698
- package/dist/cjs/components/DataTableFilters/DataTableFilters.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableFilters/DataTableFilters.stories.cjs +0 -551
- package/dist/cjs/components/DataTableFilters/DataTableFilters.stories.native.js +0 -564
- package/dist/cjs/components/DataTableFilters/DataTableFilters.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTableGrouping/DataTableGrouping.spec.cjs +0 -249
- package/dist/cjs/components/DataTableGrouping/DataTableGrouping.spec.native.js +0 -284
- package/dist/cjs/components/DataTableGrouping/DataTableGrouping.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableGrouping/DataTableGrouping.stories.cjs +0 -523
- package/dist/cjs/components/DataTableGrouping/DataTableGrouping.stories.native.js +0 -545
- package/dist/cjs/components/DataTableGrouping/DataTableGrouping.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTablePagination/DataTablePagination.spec.cjs +0 -386
- package/dist/cjs/components/DataTablePagination/DataTablePagination.spec.native.js +0 -389
- package/dist/cjs/components/DataTablePagination/DataTablePagination.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTablePagination/DataTablePagination.stories.cjs +0 -604
- package/dist/cjs/components/DataTablePagination/DataTablePagination.stories.native.js +0 -627
- package/dist/cjs/components/DataTablePagination/DataTablePagination.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTableSearch/DataTableSearch.spec.cjs +0 -469
- package/dist/cjs/components/DataTableSearch/DataTableSearch.spec.native.js +0 -472
- package/dist/cjs/components/DataTableSearch/DataTableSearch.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableSearch/DataTableSearch.stories.cjs +0 -82
- package/dist/cjs/components/DataTableSearch/DataTableSearch.stories.native.js +0 -89
- package/dist/cjs/components/DataTableSearch/DataTableSearch.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTableToolbar/DataTableToolbar.spec.cjs +0 -572
- package/dist/cjs/components/DataTableToolbar/DataTableToolbar.spec.native.js +0 -575
- package/dist/cjs/components/DataTableToolbar/DataTableToolbar.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableToolbar/DataTableToolbar.stories.cjs +0 -51
- package/dist/cjs/components/DataTableToolbar/DataTableToolbar.stories.native.js +0 -56
- package/dist/cjs/components/DataTableToolbar/DataTableToolbar.stories.native.js.map +0 -1
- package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.spec.cjs +0 -126
- package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.spec.native.js +0 -129
- package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.spec.native.js.map +0 -1
- package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.stories.cjs +0 -436
- package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.stories.native.js +0 -458
- package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.stories.native.js.map +0 -1
- package/dist/cjs/components/FilterManager.spec.cjs +0 -52
- package/dist/cjs/components/FilterManager.spec.native.js +0 -55
- package/dist/cjs/components/FilterManager.spec.native.js.map +0 -1
- package/dist/cjs/components/SavedFilterDropdown.spec.cjs +0 -83
- package/dist/cjs/components/SavedFilterDropdown.spec.native.js +0 -86
- package/dist/cjs/components/SavedFilterDropdown.spec.native.js.map +0 -1
- package/dist/cjs/components/SimpleTable/simpleTable.spec.cjs +0 -162
- package/dist/cjs/components/SimpleTable/simpleTable.spec.native.js +0 -165
- package/dist/cjs/components/SimpleTable/simpleTable.spec.native.js.map +0 -1
- package/dist/cjs/components/Table/Table.stories.cjs +0 -196
- package/dist/cjs/components/Table/Table.stories.native.js +0 -207
- package/dist/cjs/components/Table/Table.stories.native.js.map +0 -1
- package/dist/cjs/components/Table/accessibility.spec.cjs +0 -186
- package/dist/cjs/components/Table/accessibility.spec.native.js +0 -216
- package/dist/cjs/components/Table/accessibility.spec.native.js.map +0 -1
- package/dist/cjs/components/TableInput/TableInput.stories.cjs +0 -50
- package/dist/cjs/components/TableInput/TableInput.stories.native.js +0 -55
- package/dist/cjs/components/TableInput/TableInput.stories.native.js.map +0 -1
- package/dist/cjs/components/componentConsistency.spec.cjs +0 -37
- package/dist/cjs/components/componentConsistency.spec.native.js +0 -48
- package/dist/cjs/components/componentConsistency.spec.native.js.map +0 -1
- package/dist/cjs/hooks/hookDecomposition.spec.cjs +0 -326
- package/dist/cjs/hooks/hookDecomposition.spec.native.js +0 -351
- package/dist/cjs/hooks/hookDecomposition.spec.native.js.map +0 -1
- package/dist/cjs/hooks/useDataTable.spec.cjs +0 -10
- package/dist/cjs/hooks/useDataTable.spec.native.js +0 -13
- package/dist/cjs/hooks/useDataTable.spec.native.js.map +0 -1
- package/dist/cjs/hooks/useSavedFilters.spec.cjs +0 -212
- package/dist/cjs/hooks/useSavedFilters.spec.native.js +0 -240
- package/dist/cjs/hooks/useSavedFilters.spec.native.js.map +0 -1
- package/dist/cjs/utils/filterUtils.spec.cjs +0 -350
- package/dist/cjs/utils/filterUtils.spec.native.js +0 -353
- package/dist/cjs/utils/filterUtils.spec.native.js.map +0 -1
- package/dist/cjs/utils/urlStateUtils.spec.cjs +0 -234
- package/dist/cjs/utils/urlStateUtils.spec.native.js +0 -239
- package/dist/cjs/utils/urlStateUtils.spec.native.js.map +0 -1
- package/dist/esm/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.mjs +0 -24
- package/dist/esm/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.mjs.map +0 -1
- package/dist/esm/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js +0 -26
- package/dist/esm/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js.map +0 -1
- package/dist/esm/components/DataTable/DataTable.spec.mjs +0 -517
- package/dist/esm/components/DataTable/DataTable.spec.mjs.map +0 -1
- package/dist/esm/components/DataTable/DataTable.spec.native.js +0 -537
- package/dist/esm/components/DataTable/DataTable.spec.native.js.map +0 -1
- package/dist/esm/components/DataTable/DataTable.stories.mjs +0 -2672
- package/dist/esm/components/DataTable/DataTable.stories.mjs.map +0 -1
- package/dist/esm/components/DataTable/DataTable.stories.native.js +0 -2802
- package/dist/esm/components/DataTable/DataTable.stories.native.js.map +0 -1
- package/dist/esm/components/DataTable/FieldsInCells.stories.mjs +0 -217
- package/dist/esm/components/DataTable/FieldsInCells.stories.mjs.map +0 -1
- package/dist/esm/components/DataTable/FieldsInCells.stories.native.js +0 -224
- package/dist/esm/components/DataTable/FieldsInCells.stories.native.js.map +0 -1
- package/dist/esm/components/DataTable/compoundComponent.spec.mjs +0 -335
- package/dist/esm/components/DataTable/compoundComponent.spec.mjs.map +0 -1
- package/dist/esm/components/DataTable/compoundComponent.spec.native.js +0 -346
- package/dist/esm/components/DataTable/compoundComponent.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.spec.mjs +0 -306
- package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.spec.native.js +0 -338
- package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.stories.mjs +0 -304
- package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.stories.native.js +0 -326
- package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.stories.native.js.map +0 -1
- package/dist/esm/components/DataTableCell/DataTableCell.stories.mjs +0 -24
- package/dist/esm/components/DataTableCell/DataTableCell.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableCell/DataTableCell.stories.native.js +0 -26
- package/dist/esm/components/DataTableCell/DataTableCell.stories.native.js.map +0 -1
- package/dist/esm/components/DataTableCell/dataTableCell.spec.mjs +0 -180
- package/dist/esm/components/DataTableCell/dataTableCell.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableCell/dataTableCell.spec.native.js +0 -194
- package/dist/esm/components/DataTableCell/dataTableCell.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.spec.mjs +0 -264
- package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js +0 -289
- package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.stories.mjs +0 -457
- package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js +0 -509
- package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js.map +0 -1
- package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.spec.mjs +0 -386
- package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.spec.native.js +0 -433
- package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.stories.mjs +0 -325
- package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.stories.native.js +0 -329
- package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.stories.native.js.map +0 -1
- package/dist/esm/components/DataTableExport/DataTableExport.spec.mjs +0 -335
- package/dist/esm/components/DataTableExport/DataTableExport.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableExport/DataTableExport.spec.native.js +0 -347
- package/dist/esm/components/DataTableExport/DataTableExport.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableExport/DataTableExport.stories.mjs +0 -419
- package/dist/esm/components/DataTableExport/DataTableExport.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableExport/DataTableExport.stories.native.js +0 -443
- package/dist/esm/components/DataTableExport/DataTableExport.stories.native.js.map +0 -1
- package/dist/esm/components/DataTableFilters/DataTableFilters.spec.mjs +0 -688
- package/dist/esm/components/DataTableFilters/DataTableFilters.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableFilters/DataTableFilters.spec.native.js +0 -696
- package/dist/esm/components/DataTableFilters/DataTableFilters.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableFilters/DataTableFilters.stories.mjs +0 -499
- package/dist/esm/components/DataTableFilters/DataTableFilters.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableFilters/DataTableFilters.stories.native.js +0 -509
- package/dist/esm/components/DataTableFilters/DataTableFilters.stories.native.js.map +0 -1
- package/dist/esm/components/DataTableGrouping/DataTableGrouping.spec.mjs +0 -249
- package/dist/esm/components/DataTableGrouping/DataTableGrouping.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableGrouping/DataTableGrouping.spec.native.js +0 -281
- package/dist/esm/components/DataTableGrouping/DataTableGrouping.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableGrouping/DataTableGrouping.stories.mjs +0 -479
- package/dist/esm/components/DataTableGrouping/DataTableGrouping.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableGrouping/DataTableGrouping.stories.native.js +0 -498
- package/dist/esm/components/DataTableGrouping/DataTableGrouping.stories.native.js.map +0 -1
- package/dist/esm/components/DataTablePagination/DataTablePagination.spec.mjs +0 -387
- package/dist/esm/components/DataTablePagination/DataTablePagination.spec.mjs.map +0 -1
- package/dist/esm/components/DataTablePagination/DataTablePagination.spec.native.js +0 -387
- package/dist/esm/components/DataTablePagination/DataTablePagination.spec.native.js.map +0 -1
- package/dist/esm/components/DataTablePagination/DataTablePagination.stories.mjs +0 -546
- package/dist/esm/components/DataTablePagination/DataTablePagination.stories.mjs.map +0 -1
- package/dist/esm/components/DataTablePagination/DataTablePagination.stories.native.js +0 -566
- package/dist/esm/components/DataTablePagination/DataTablePagination.stories.native.js.map +0 -1
- package/dist/esm/components/DataTableSearch/DataTableSearch.spec.mjs +0 -470
- package/dist/esm/components/DataTableSearch/DataTableSearch.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableSearch/DataTableSearch.spec.native.js +0 -470
- package/dist/esm/components/DataTableSearch/DataTableSearch.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableSearch/DataTableSearch.stories.mjs +0 -56
- package/dist/esm/components/DataTableSearch/DataTableSearch.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableSearch/DataTableSearch.stories.native.js +0 -60
- package/dist/esm/components/DataTableSearch/DataTableSearch.stories.native.js.map +0 -1
- package/dist/esm/components/DataTableToolbar/DataTableToolbar.spec.mjs +0 -573
- package/dist/esm/components/DataTableToolbar/DataTableToolbar.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableToolbar/DataTableToolbar.spec.native.js +0 -573
- package/dist/esm/components/DataTableToolbar/DataTableToolbar.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableToolbar/DataTableToolbar.stories.mjs +0 -25
- package/dist/esm/components/DataTableToolbar/DataTableToolbar.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableToolbar/DataTableToolbar.stories.native.js +0 -27
- package/dist/esm/components/DataTableToolbar/DataTableToolbar.stories.native.js.map +0 -1
- package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.spec.mjs +0 -126
- package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.spec.mjs.map +0 -1
- package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.spec.native.js +0 -126
- package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.spec.native.js.map +0 -1
- package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.stories.mjs +0 -393
- package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.stories.mjs.map +0 -1
- package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.stories.native.js +0 -412
- package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.stories.native.js.map +0 -1
- package/dist/esm/components/FilterManager.spec.mjs +0 -53
- package/dist/esm/components/FilterManager.spec.mjs.map +0 -1
- package/dist/esm/components/FilterManager.spec.native.js +0 -53
- package/dist/esm/components/FilterManager.spec.native.js.map +0 -1
- package/dist/esm/components/SavedFilterDropdown.spec.mjs +0 -84
- package/dist/esm/components/SavedFilterDropdown.spec.mjs.map +0 -1
- package/dist/esm/components/SavedFilterDropdown.spec.native.js +0 -84
- package/dist/esm/components/SavedFilterDropdown.spec.native.js.map +0 -1
- package/dist/esm/components/SimpleTable/simpleTable.spec.mjs +0 -163
- package/dist/esm/components/SimpleTable/simpleTable.spec.mjs.map +0 -1
- package/dist/esm/components/SimpleTable/simpleTable.spec.native.js +0 -163
- package/dist/esm/components/SimpleTable/simpleTable.spec.native.js.map +0 -1
- package/dist/esm/components/Table/Table.stories.mjs +0 -167
- package/dist/esm/components/Table/Table.stories.mjs.map +0 -1
- package/dist/esm/components/Table/Table.stories.native.js +0 -175
- package/dist/esm/components/Table/Table.stories.native.js.map +0 -1
- package/dist/esm/components/Table/accessibility.spec.mjs +0 -187
- package/dist/esm/components/Table/accessibility.spec.mjs.map +0 -1
- package/dist/esm/components/Table/accessibility.spec.native.js +0 -214
- package/dist/esm/components/Table/accessibility.spec.native.js.map +0 -1
- package/dist/esm/components/TableInput/TableInput.stories.mjs +0 -24
- package/dist/esm/components/TableInput/TableInput.stories.mjs.map +0 -1
- package/dist/esm/components/TableInput/TableInput.stories.native.js +0 -26
- package/dist/esm/components/TableInput/TableInput.stories.native.js.map +0 -1
- package/dist/esm/components/componentConsistency.spec.mjs +0 -38
- package/dist/esm/components/componentConsistency.spec.mjs.map +0 -1
- package/dist/esm/components/componentConsistency.spec.native.js +0 -46
- package/dist/esm/components/componentConsistency.spec.native.js.map +0 -1
- package/dist/esm/hooks/hookDecomposition.spec.mjs +0 -327
- package/dist/esm/hooks/hookDecomposition.spec.mjs.map +0 -1
- package/dist/esm/hooks/hookDecomposition.spec.native.js +0 -349
- package/dist/esm/hooks/hookDecomposition.spec.native.js.map +0 -1
- package/dist/esm/hooks/useDataTable.spec.mjs +0 -11
- package/dist/esm/hooks/useDataTable.spec.mjs.map +0 -1
- package/dist/esm/hooks/useDataTable.spec.native.js +0 -11
- package/dist/esm/hooks/useDataTable.spec.native.js.map +0 -1
- package/dist/esm/hooks/useSavedFilters.spec.mjs +0 -213
- package/dist/esm/hooks/useSavedFilters.spec.mjs.map +0 -1
- package/dist/esm/hooks/useSavedFilters.spec.native.js +0 -238
- package/dist/esm/hooks/useSavedFilters.spec.native.js.map +0 -1
- package/dist/esm/utils/filterUtils.spec.mjs +0 -351
- package/dist/esm/utils/filterUtils.spec.mjs.map +0 -1
- package/dist/esm/utils/filterUtils.spec.native.js +0 -351
- package/dist/esm/utils/filterUtils.spec.native.js.map +0 -1
- package/dist/esm/utils/urlStateUtils.spec.mjs +0 -235
- package/dist/esm/utils/urlStateUtils.spec.mjs.map +0 -1
- package/dist/esm/utils/urlStateUtils.spec.native.js +0 -237
- package/dist/esm/utils/urlStateUtils.spec.native.js.map +0 -1
- package/dist/jsx/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.mjs +0 -24
- package/dist/jsx/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.mjs.map +0 -1
- package/dist/jsx/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js +0 -55
- package/dist/jsx/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTable/DataTable.spec.mjs +0 -517
- package/dist/jsx/components/DataTable/DataTable.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTable/DataTable.spec.native.js +0 -539
- package/dist/jsx/components/DataTable/DataTable.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTable/DataTable.stories.mjs +0 -2672
- package/dist/jsx/components/DataTable/DataTable.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTable/DataTable.stories.native.js +0 -2912
- package/dist/jsx/components/DataTable/DataTable.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTable/FieldsInCells.stories.mjs +0 -217
- package/dist/jsx/components/DataTable/FieldsInCells.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTable/FieldsInCells.stories.native.js +0 -265
- package/dist/jsx/components/DataTable/FieldsInCells.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTable/compoundComponent.spec.mjs +0 -335
- package/dist/jsx/components/DataTable/compoundComponent.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTable/compoundComponent.spec.native.js +0 -348
- package/dist/jsx/components/DataTable/compoundComponent.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.spec.mjs +0 -306
- package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.spec.native.js +0 -340
- package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.stories.mjs +0 -304
- package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.stories.native.js +0 -372
- package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTableCell/DataTableCell.stories.mjs +0 -24
- package/dist/jsx/components/DataTableCell/DataTableCell.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableCell/DataTableCell.stories.native.js +0 -55
- package/dist/jsx/components/DataTableCell/DataTableCell.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTableCell/dataTableCell.spec.mjs +0 -180
- package/dist/jsx/components/DataTableCell/dataTableCell.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableCell/dataTableCell.spec.native.js +0 -220
- package/dist/jsx/components/DataTableCell/dataTableCell.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.spec.mjs +0 -264
- package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js +0 -315
- package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.stories.mjs +0 -457
- package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js +0 -541
- package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.spec.mjs +0 -386
- package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.spec.native.js +0 -459
- package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.stories.mjs +0 -325
- package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.stories.native.js +0 -375
- package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTableExport/DataTableExport.spec.mjs +0 -335
- package/dist/jsx/components/DataTableExport/DataTableExport.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableExport/DataTableExport.spec.native.js +0 -349
- package/dist/jsx/components/DataTableExport/DataTableExport.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableExport/DataTableExport.stories.mjs +0 -419
- package/dist/jsx/components/DataTableExport/DataTableExport.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableExport/DataTableExport.stories.native.js +0 -479
- package/dist/jsx/components/DataTableExport/DataTableExport.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTableFilters/DataTableFilters.spec.mjs +0 -688
- package/dist/jsx/components/DataTableFilters/DataTableFilters.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableFilters/DataTableFilters.spec.native.js +0 -698
- package/dist/jsx/components/DataTableFilters/DataTableFilters.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableFilters/DataTableFilters.stories.mjs +0 -499
- package/dist/jsx/components/DataTableFilters/DataTableFilters.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableFilters/DataTableFilters.stories.native.js +0 -564
- package/dist/jsx/components/DataTableFilters/DataTableFilters.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTableGrouping/DataTableGrouping.spec.mjs +0 -249
- package/dist/jsx/components/DataTableGrouping/DataTableGrouping.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableGrouping/DataTableGrouping.spec.native.js +0 -284
- package/dist/jsx/components/DataTableGrouping/DataTableGrouping.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableGrouping/DataTableGrouping.stories.mjs +0 -479
- package/dist/jsx/components/DataTableGrouping/DataTableGrouping.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableGrouping/DataTableGrouping.stories.native.js +0 -545
- package/dist/jsx/components/DataTableGrouping/DataTableGrouping.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTablePagination/DataTablePagination.spec.mjs +0 -387
- package/dist/jsx/components/DataTablePagination/DataTablePagination.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTablePagination/DataTablePagination.spec.native.js +0 -389
- package/dist/jsx/components/DataTablePagination/DataTablePagination.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTablePagination/DataTablePagination.stories.mjs +0 -546
- package/dist/jsx/components/DataTablePagination/DataTablePagination.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTablePagination/DataTablePagination.stories.native.js +0 -627
- package/dist/jsx/components/DataTablePagination/DataTablePagination.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTableSearch/DataTableSearch.spec.mjs +0 -470
- package/dist/jsx/components/DataTableSearch/DataTableSearch.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableSearch/DataTableSearch.spec.native.js +0 -472
- package/dist/jsx/components/DataTableSearch/DataTableSearch.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableSearch/DataTableSearch.stories.mjs +0 -56
- package/dist/jsx/components/DataTableSearch/DataTableSearch.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableSearch/DataTableSearch.stories.native.js +0 -89
- package/dist/jsx/components/DataTableSearch/DataTableSearch.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTableToolbar/DataTableToolbar.spec.mjs +0 -573
- package/dist/jsx/components/DataTableToolbar/DataTableToolbar.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableToolbar/DataTableToolbar.spec.native.js +0 -575
- package/dist/jsx/components/DataTableToolbar/DataTableToolbar.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableToolbar/DataTableToolbar.stories.mjs +0 -25
- package/dist/jsx/components/DataTableToolbar/DataTableToolbar.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableToolbar/DataTableToolbar.stories.native.js +0 -56
- package/dist/jsx/components/DataTableToolbar/DataTableToolbar.stories.native.js.map +0 -1
- package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.spec.mjs +0 -126
- package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.spec.mjs.map +0 -1
- package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.spec.native.js +0 -129
- package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.spec.native.js.map +0 -1
- package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.stories.mjs +0 -393
- package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.stories.mjs.map +0 -1
- package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.stories.native.js +0 -458
- package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.stories.native.js.map +0 -1
- package/dist/jsx/components/FilterManager.spec.mjs +0 -53
- package/dist/jsx/components/FilterManager.spec.mjs.map +0 -1
- package/dist/jsx/components/FilterManager.spec.native.js +0 -55
- package/dist/jsx/components/FilterManager.spec.native.js.map +0 -1
- package/dist/jsx/components/SavedFilterDropdown.spec.mjs +0 -84
- package/dist/jsx/components/SavedFilterDropdown.spec.mjs.map +0 -1
- package/dist/jsx/components/SavedFilterDropdown.spec.native.js +0 -86
- package/dist/jsx/components/SavedFilterDropdown.spec.native.js.map +0 -1
- package/dist/jsx/components/SimpleTable/simpleTable.spec.mjs +0 -163
- package/dist/jsx/components/SimpleTable/simpleTable.spec.mjs.map +0 -1
- package/dist/jsx/components/SimpleTable/simpleTable.spec.native.js +0 -165
- package/dist/jsx/components/SimpleTable/simpleTable.spec.native.js.map +0 -1
- package/dist/jsx/components/Table/Table.stories.mjs +0 -167
- package/dist/jsx/components/Table/Table.stories.mjs.map +0 -1
- package/dist/jsx/components/Table/Table.stories.native.js +0 -207
- package/dist/jsx/components/Table/Table.stories.native.js.map +0 -1
- package/dist/jsx/components/Table/accessibility.spec.mjs +0 -187
- package/dist/jsx/components/Table/accessibility.spec.mjs.map +0 -1
- package/dist/jsx/components/Table/accessibility.spec.native.js +0 -216
- package/dist/jsx/components/Table/accessibility.spec.native.js.map +0 -1
- package/dist/jsx/components/TableInput/TableInput.stories.mjs +0 -24
- package/dist/jsx/components/TableInput/TableInput.stories.mjs.map +0 -1
- package/dist/jsx/components/TableInput/TableInput.stories.native.js +0 -55
- package/dist/jsx/components/TableInput/TableInput.stories.native.js.map +0 -1
- package/dist/jsx/components/componentConsistency.spec.mjs +0 -38
- package/dist/jsx/components/componentConsistency.spec.mjs.map +0 -1
- package/dist/jsx/components/componentConsistency.spec.native.js +0 -48
- package/dist/jsx/components/componentConsistency.spec.native.js.map +0 -1
- package/dist/jsx/hooks/hookDecomposition.spec.mjs +0 -327
- package/dist/jsx/hooks/hookDecomposition.spec.mjs.map +0 -1
- package/dist/jsx/hooks/hookDecomposition.spec.native.js +0 -351
- package/dist/jsx/hooks/hookDecomposition.spec.native.js.map +0 -1
- package/dist/jsx/hooks/useDataTable.spec.mjs +0 -11
- package/dist/jsx/hooks/useDataTable.spec.mjs.map +0 -1
- package/dist/jsx/hooks/useDataTable.spec.native.js +0 -13
- package/dist/jsx/hooks/useDataTable.spec.native.js.map +0 -1
- package/dist/jsx/hooks/useSavedFilters.spec.mjs +0 -213
- package/dist/jsx/hooks/useSavedFilters.spec.mjs.map +0 -1
- package/dist/jsx/hooks/useSavedFilters.spec.native.js +0 -240
- package/dist/jsx/hooks/useSavedFilters.spec.native.js.map +0 -1
- package/dist/jsx/utils/filterUtils.spec.mjs +0 -351
- package/dist/jsx/utils/filterUtils.spec.mjs.map +0 -1
- package/dist/jsx/utils/filterUtils.spec.native.js +0 -353
- package/dist/jsx/utils/filterUtils.spec.native.js.map +0 -1
- package/dist/jsx/utils/urlStateUtils.spec.mjs +0 -235
- package/dist/jsx/utils/urlStateUtils.spec.mjs.map +0 -1
- package/dist/jsx/utils/urlStateUtils.spec.native.js +0 -239
- package/dist/jsx/utils/urlStateUtils.spec.native.js.map +0 -1
package/src/types.ts
CHANGED
|
@@ -1,11 +1,42 @@
|
|
|
1
1
|
import type { ColumnDef, ColumnFiltersState, Row } from "@tanstack/react-table";
|
|
2
2
|
import type { UrlStateStrategy } from "./hooks/useDataTable";
|
|
3
3
|
import type { AnyFormApi } from "@multiplatform.one/forms";
|
|
4
|
+
import type React from "react";
|
|
4
5
|
|
|
5
6
|
// Core Data Types
|
|
6
7
|
|
|
7
8
|
export type DataTableData = Record<string, any>;
|
|
8
9
|
|
|
10
|
+
/** Bulk action for DataTable selection toolbar (DG-TBL-02). */
|
|
11
|
+
export interface BulkAction<T = any> {
|
|
12
|
+
id: string;
|
|
13
|
+
label: string;
|
|
14
|
+
icon?: React.ReactNode;
|
|
15
|
+
confirmMessage?: string;
|
|
16
|
+
confirmTitle?: string;
|
|
17
|
+
variant?: "default" | "destructive" | "secondary";
|
|
18
|
+
onExecute: (selectedItems: T[], clearSelection: () => void) => void | Promise<void>;
|
|
19
|
+
requiresConfirmation?: boolean;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* DG-ST-03 — explains why the action is disabled. Flows through the Button /
|
|
23
|
+
* DropdownMenu explain affordances (visible reason, no hover needed). A bare
|
|
24
|
+
* `disabled` without it DEV-warns `bare-disabled`.
|
|
25
|
+
*/
|
|
26
|
+
disabledReason?: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** Select-all checkbox scope (DG-TBL-03). Default: page. */
|
|
30
|
+
export type SelectAllScope = "page" | "filtered";
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Responsive layout mode for the table body.
|
|
34
|
+
* - `auto`: grid on `$sm` and up, stacked card list below (default)
|
|
35
|
+
* - `table`: always render the grid, even at phone widths
|
|
36
|
+
* - `cards`: always render the stacked card list
|
|
37
|
+
*/
|
|
38
|
+
export type DataTableLayout = "auto" | "table" | "cards";
|
|
39
|
+
|
|
9
40
|
/**
|
|
10
41
|
* Field types - the UI component used to render/edit a cell.
|
|
11
42
|
* If no field is specified on a column, defaults to "input" (read-only).
|
|
@@ -53,6 +84,17 @@ export type DataTableField =
|
|
|
53
84
|
// Custom
|
|
54
85
|
| "custom";
|
|
55
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Cell state passed to custom cell renderers as the (optional) 4th `render`
|
|
89
|
+
* argument. When `readOnly` (or `disabled`) is true the cell blocks commits,
|
|
90
|
+
* so the renderer must produce a non-interactive presentation — rendering an
|
|
91
|
+
* interactive-looking control whose edits go nowhere lies about editability.
|
|
92
|
+
*/
|
|
93
|
+
export interface DataTableCellRenderContext {
|
|
94
|
+
readOnly: boolean;
|
|
95
|
+
disabled: boolean;
|
|
96
|
+
}
|
|
97
|
+
|
|
56
98
|
/**
|
|
57
99
|
* Field-specific props passed to the underlying field component.
|
|
58
100
|
* Use this for options, validation, formatters, etc.
|
|
@@ -100,8 +142,17 @@ export interface DataTableFieldProps {
|
|
|
100
142
|
dateRangeIsEndColumn?: boolean;
|
|
101
143
|
/** Allow multiple selection for togglegroup */
|
|
102
144
|
allowMultiple?: boolean;
|
|
103
|
-
/**
|
|
104
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Custom render function for the 'custom' fieldType. Honor
|
|
147
|
+
* `context.readOnly` / `context.disabled` — the cell blocks commits in
|
|
148
|
+
* those states, so the custom presentation must go non-interactive too.
|
|
149
|
+
*/
|
|
150
|
+
render?: (
|
|
151
|
+
value: any,
|
|
152
|
+
row: any,
|
|
153
|
+
onChange: (value: any) => void,
|
|
154
|
+
context?: DataTableCellRenderContext,
|
|
155
|
+
) => React.ReactNode;
|
|
105
156
|
/** Any additional props to pass to the field component */
|
|
106
157
|
[key: string]: any;
|
|
107
158
|
}
|
|
@@ -115,6 +166,12 @@ export type DataTableColumn<TData extends DataTableData = DataTableData> = Colum
|
|
|
115
166
|
width?: number;
|
|
116
167
|
minWidth?: number;
|
|
117
168
|
maxWidth?: number;
|
|
169
|
+
/**
|
|
170
|
+
* Text alignment override (DG-TBL-01).
|
|
171
|
+
* When omitted, defaults from field/data type: numbers/currency right,
|
|
172
|
+
* text left, actions right, booleans center.
|
|
173
|
+
*/
|
|
174
|
+
align?: "left" | "center" | "right";
|
|
118
175
|
/**
|
|
119
176
|
* UI component type for rendering/editing cells in this column.
|
|
120
177
|
* If not specified, defaults to "input" (read-only text display).
|
|
@@ -127,8 +184,6 @@ export type DataTableColumn<TData extends DataTableData = DataTableData> = Colum
|
|
|
127
184
|
* Props passed to the field component (options, placeholder, min/max, etc.)
|
|
128
185
|
*/
|
|
129
186
|
fieldProps?: DataTableFieldProps;
|
|
130
|
-
/** Custom validation function for cell values. Return error message or undefined. */
|
|
131
|
-
validate?: (value: any, row: TData) => string | undefined;
|
|
132
187
|
};
|
|
133
188
|
|
|
134
189
|
// Filter System Types
|
|
@@ -183,6 +238,28 @@ export interface TableFilter {
|
|
|
183
238
|
label?: string; // Human-readable label for the filter
|
|
184
239
|
}
|
|
185
240
|
|
|
241
|
+
/**
|
|
242
|
+
* A field the table can filter on, declared SEPARATELY from visible columns.
|
|
243
|
+
* Lets consumers expose hidden / non-column data keys (e.g. every Frappe
|
|
244
|
+
* doctype field) to the toolbar filter surface. `id` is the row-data key.
|
|
245
|
+
*/
|
|
246
|
+
export interface FilterableField {
|
|
247
|
+
id: string;
|
|
248
|
+
label: string;
|
|
249
|
+
/** Filter editor type. Defaults to "text". */
|
|
250
|
+
type?: DataTableColumnType;
|
|
251
|
+
/** Options for select-type fields. */
|
|
252
|
+
options?: Array<{ label: string; value: any }>;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/** FilterableField merged with column info — type always resolved. */
|
|
256
|
+
export interface ResolvedFilterField {
|
|
257
|
+
id: string;
|
|
258
|
+
label: string;
|
|
259
|
+
type: DataTableColumnType;
|
|
260
|
+
options?: Array<{ label: string; value: any }>;
|
|
261
|
+
}
|
|
262
|
+
|
|
186
263
|
export interface FacetedFilterOption {
|
|
187
264
|
label: string;
|
|
188
265
|
value: string | number | boolean;
|
|
@@ -203,6 +280,59 @@ export interface TablePaginationState extends TablePagination {
|
|
|
203
280
|
hasPreviousPage?: boolean;
|
|
204
281
|
}
|
|
205
282
|
|
|
283
|
+
// Infinite pagination (paginationMode="infinite")
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Pagination presentation mode.
|
|
287
|
+
* - "pages" (default): footer pager built on the catalog `Pagination` component.
|
|
288
|
+
* - "infinite": appends the next page as the user nears the end of the list,
|
|
289
|
+
* pre-loading page N+1 in the background so appends resolve instantly.
|
|
290
|
+
*/
|
|
291
|
+
export type PaginationMode = "pages" | "infinite";
|
|
292
|
+
|
|
293
|
+
/** Query passed to the async page loader (infinite mode, server/async data). */
|
|
294
|
+
export interface PageLoadQuery {
|
|
295
|
+
/** 0-based page index to load */
|
|
296
|
+
pageIndex: number;
|
|
297
|
+
/** Rows per page (chunk size in infinite mode) */
|
|
298
|
+
pageSize: number;
|
|
299
|
+
sorting: TableSorting[];
|
|
300
|
+
filters: TableFilter[];
|
|
301
|
+
columnFilters: ColumnFiltersState;
|
|
302
|
+
globalFilter?: string;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
export interface PageLoadResult<TData = any> {
|
|
306
|
+
rows: TData[];
|
|
307
|
+
/** Total row count across all pages, when known (enables exact end-of-data). */
|
|
308
|
+
totalCount?: number;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Async page loader contract for infinite mode. Must be side-effect-free per
|
|
313
|
+
* query: the table may call it ahead of time (prefetch) and cache the result.
|
|
314
|
+
*/
|
|
315
|
+
export type DataTablePageLoader<TData = any> = (
|
|
316
|
+
query: PageLoadQuery,
|
|
317
|
+
) => Promise<PageLoadResult<TData>>;
|
|
318
|
+
|
|
319
|
+
/** Computed infinite-mode state exposed by useDataTable / DataTableStateContext. */
|
|
320
|
+
export interface DataTableInfiniteState {
|
|
321
|
+
/** How many row-model rows are currently revealed */
|
|
322
|
+
visibleRowCount: number;
|
|
323
|
+
loadedPages: number;
|
|
324
|
+
/** Total row count when known (loader totalCount or client filtered count) */
|
|
325
|
+
totalCount?: number;
|
|
326
|
+
/** No further pages exist */
|
|
327
|
+
exhausted: boolean;
|
|
328
|
+
/** Page 0 for the current query is still loading (loader mode) */
|
|
329
|
+
isInitialLoading: boolean;
|
|
330
|
+
/** A page append is awaiting the loader (cache miss / in-flight prefetch) */
|
|
331
|
+
isAppending: boolean;
|
|
332
|
+
/** Append the next page (no-op while pending or exhausted) */
|
|
333
|
+
loadMore: () => void;
|
|
334
|
+
}
|
|
335
|
+
|
|
206
336
|
// Sorting Types
|
|
207
337
|
|
|
208
338
|
export interface TableSorting {
|
|
@@ -277,6 +407,12 @@ export interface DataTableProps<TData extends DataTableData = DataTableData> {
|
|
|
277
407
|
// State Management
|
|
278
408
|
initialState?: Partial<DataTableState>;
|
|
279
409
|
onStateChange?: (state: DataTableState) => void;
|
|
410
|
+
/**
|
|
411
|
+
* Retry action for the failed-load chrome. When `state.error` is set the
|
|
412
|
+
* table renders error chrome instead of rows; providing `onRetry` adds the
|
|
413
|
+
* Retry button so "error with retry" is reachable (DG-ST-01).
|
|
414
|
+
*/
|
|
415
|
+
onRetry?: () => void;
|
|
280
416
|
|
|
281
417
|
// URL State Integration
|
|
282
418
|
syncWithUrl?: boolean;
|
|
@@ -289,9 +425,49 @@ export interface DataTableProps<TData extends DataTableData = DataTableData> {
|
|
|
289
425
|
manualSorting?: boolean;
|
|
290
426
|
|
|
291
427
|
// Features
|
|
428
|
+
/**
|
|
429
|
+
* Owns the table's filter CHROME (default true): the toolbar Filter
|
|
430
|
+
* button, column-header funnels, the active-filter chips row, and the
|
|
431
|
+
* card-layout "Add Filter" control.
|
|
432
|
+
*
|
|
433
|
+
* `false` is the chrome-suppression contract for screens where an OUTER
|
|
434
|
+
* surface is the single filtering authority (e.g. the backoffice list
|
|
435
|
+
* chrome): the table renders no filter entry points, but filters injected
|
|
436
|
+
* through `initialState.filters` / the state channel still apply — they
|
|
437
|
+
* pre-filter client-side data and map to server params under
|
|
438
|
+
* `manualFiltering` — and no table chrome can mutate them (the search
|
|
439
|
+
* clear-X then clears only the search text). Search (`enableGlobalSearch`)
|
|
440
|
+
* and header sort are independent of this flag.
|
|
441
|
+
*/
|
|
292
442
|
enableFiltering?: boolean;
|
|
443
|
+
/**
|
|
444
|
+
* Fields filterable via the toolbar Filter surface, independent of visible
|
|
445
|
+
* columns. Merged with column-derived fields (columns first, then "More
|
|
446
|
+
* fields"). Hidden/non-column fields filter client-side against row data
|
|
447
|
+
* keys, or map to server params when manualFiltering is on. With
|
|
448
|
+
* `enableFiltering: false` the list still resolves filter types for
|
|
449
|
+
* injected filters but exposes no filter UI.
|
|
450
|
+
*/
|
|
451
|
+
filterableFields?: FilterableField[];
|
|
293
452
|
enableSorting?: boolean;
|
|
294
453
|
enablePagination?: boolean;
|
|
454
|
+
/**
|
|
455
|
+
* Page sizes offered by the built-in footer pager (and forwarded to
|
|
456
|
+
* `renderPagination`). Defaults to the pager's DG-TBL-04 options.
|
|
457
|
+
*/
|
|
458
|
+
pageSizeOptions?: number[];
|
|
459
|
+
/**
|
|
460
|
+
* Pagination presentation mode. Default "pages" (footer pager).
|
|
461
|
+
* "infinite" appends pages at the scroll tail with prefetch-ahead.
|
|
462
|
+
*/
|
|
463
|
+
paginationMode?: PaginationMode;
|
|
464
|
+
/**
|
|
465
|
+
* Async page loader for infinite mode with server/async data. When set,
|
|
466
|
+
* the table owns a small page cache and pre-loads page N+1 while page N
|
|
467
|
+
* is on screen. Rows are treated as pre-filtered/sorted server-side
|
|
468
|
+
* (manual filtering/sorting/pagination are forced on).
|
|
469
|
+
*/
|
|
470
|
+
loadPage?: DataTablePageLoader<TData>;
|
|
295
471
|
enableColumnVisibility?: boolean;
|
|
296
472
|
enableColumnOrdering?: boolean;
|
|
297
473
|
enableColumnResizing?: boolean;
|
|
@@ -307,6 +483,14 @@ export interface DataTableProps<TData extends DataTableData = DataTableData> {
|
|
|
307
483
|
*/
|
|
308
484
|
columnLayout?: "equal" | "auto" | "scroll";
|
|
309
485
|
|
|
486
|
+
/**
|
|
487
|
+
* Responsive body layout (W11 breakpoints): `auto` renders the grid on
|
|
488
|
+
* `$sm` and up and a stacked card list below it; `table` / `cards` pin
|
|
489
|
+
* one mode regardless of viewport. Search, filters, sorting, selection,
|
|
490
|
+
* and pagination operate on the same table state in both layouts.
|
|
491
|
+
*/
|
|
492
|
+
layout?: DataTableLayout;
|
|
493
|
+
|
|
310
494
|
// Virtualization (Phase 3)
|
|
311
495
|
/** Use virtual scrolling for table body. Requires virtualizationHeight when true. */
|
|
312
496
|
enableVirtualization?: boolean;
|
|
@@ -341,6 +525,25 @@ export interface DataTableProps<TData extends DataTableData = DataTableData> {
|
|
|
341
525
|
/** Enable Excel-like keyboard navigation. */
|
|
342
526
|
enableKeyboardNavigation?: boolean;
|
|
343
527
|
|
|
528
|
+
// Row selection + bulk actions (DG-TBL-02, DG-TBL-03)
|
|
529
|
+
/** Enable row checkboxes and automatic selection toolbar. */
|
|
530
|
+
enableRowSelection?: boolean;
|
|
531
|
+
/**
|
|
532
|
+
* Scope for the header select-all checkbox.
|
|
533
|
+
* - `page`: current page only (default)
|
|
534
|
+
* - `filtered`: all rows matching current filters
|
|
535
|
+
*
|
|
536
|
+
* Defaults from the house `selectAllScope` theme knob (DG-TBL-03); the
|
|
537
|
+
* prop is the per-table eject. With `page` scope, the bulk bar exposes a
|
|
538
|
+
* "Select all N" switch once the page is fully selected.
|
|
539
|
+
*/
|
|
540
|
+
selectAllScope?: SelectAllScope;
|
|
541
|
+
/**
|
|
542
|
+
* Bulk actions shown in the auto SelectionToolbar when rows are selected.
|
|
543
|
+
* Up to 5 visible; extras go to an overflow menu.
|
|
544
|
+
*/
|
|
545
|
+
bulkActions?: BulkAction<TData>[];
|
|
546
|
+
|
|
344
547
|
// Cell editing - cells are always fields, this controls behavior
|
|
345
548
|
/**
|
|
346
549
|
* Read-only mode: all cells display values but cannot be edited.
|
|
@@ -454,7 +657,10 @@ export interface UseDataTableReturn<TData extends DataTableData = DataTableData>
|
|
|
454
657
|
actions: {
|
|
455
658
|
setGlobalFilter: (value: string) => void;
|
|
456
659
|
setFilters: (filters: TableFilter[]) => void;
|
|
457
|
-
|
|
660
|
+
/** Adds an advanced filter and returns its generated id. */
|
|
661
|
+
addFilter: (filter: Omit<TableFilter, "id">) => string;
|
|
662
|
+
/** Updates an existing advanced filter in place (live commit). */
|
|
663
|
+
updateFilter: (filterId: string, updates: Partial<Omit<TableFilter, "id">>) => void;
|
|
458
664
|
removeFilter: (filterId: string) => void;
|
|
459
665
|
clearFilters: () => void;
|
|
460
666
|
setPagination: (pagination: TablePagination) => void;
|
|
@@ -472,8 +678,14 @@ export interface UseDataTableReturn<TData extends DataTableData = DataTableData>
|
|
|
472
678
|
filteredData: TData[];
|
|
473
679
|
paginatedData: TData[];
|
|
474
680
|
totalPages: number;
|
|
681
|
+
/** Total row count across all pages (post-filter; server total when paginating manually). */
|
|
682
|
+
totalRows: number;
|
|
475
683
|
hasActiveFilters: boolean;
|
|
476
684
|
activeFilterCount: number;
|
|
685
|
+
/** Column-derived + declared filterableFields, merged (columns first). */
|
|
686
|
+
filterFields: ResolvedFilterField[];
|
|
687
|
+
/** Present when paginationMode="infinite" */
|
|
688
|
+
infinite?: DataTableInfiniteState;
|
|
477
689
|
};
|
|
478
690
|
}
|
|
479
691
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { alignToFlex, getDefaultColumnAlign } from "./columnAlign";
|
|
3
|
+
|
|
4
|
+
describe("getDefaultColumnAlign (DG-TBL-01)", () => {
|
|
5
|
+
it("defaults text / input columns to left", () => {
|
|
6
|
+
expect(getDefaultColumnAlign({ field: "input" })).toBe("left");
|
|
7
|
+
expect(getDefaultColumnAlign({ field: "textarea" })).toBe("left");
|
|
8
|
+
expect(getDefaultColumnAlign({})).toBe("left");
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
it("right-aligns numeric field types", () => {
|
|
12
|
+
for (const field of ["stepper", "slider", "progress", "duration"] as const) {
|
|
13
|
+
expect(getDefaultColumnAlign({ field })).toBe("right");
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it("right-aligns currency via fieldProps.currency", () => {
|
|
18
|
+
expect(getDefaultColumnAlign({ field: "input", fieldProps: { currency: "USD" } })).toBe(
|
|
19
|
+
"right",
|
|
20
|
+
);
|
|
21
|
+
expect(getDefaultColumnAlign({ field: "stepper", fieldProps: { currency: "$" } })).toBe(
|
|
22
|
+
"right",
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it("right-aligns actions columns by id / meta.role", () => {
|
|
27
|
+
expect(getDefaultColumnAlign({ id: "actions" })).toBe("right");
|
|
28
|
+
expect(getDefaultColumnAlign({ id: "row_actions" })).toBe("right");
|
|
29
|
+
expect(getDefaultColumnAlign({ id: "foo:actions" })).toBe("right");
|
|
30
|
+
expect(getDefaultColumnAlign({ meta: { role: "actions" } })).toBe("right");
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it("centers boolean and icon-like fields", () => {
|
|
34
|
+
expect(getDefaultColumnAlign({ field: "checkbox" })).toBe("center");
|
|
35
|
+
expect(getDefaultColumnAlign({ field: "switch" })).toBe("center");
|
|
36
|
+
expect(getDefaultColumnAlign({ field: "rating" })).toBe("center");
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it("lets explicit align override smart defaults", () => {
|
|
40
|
+
expect(getDefaultColumnAlign({ field: "stepper", align: "left" })).toBe("left");
|
|
41
|
+
expect(getDefaultColumnAlign({ id: "actions", align: "center" })).toBe("center");
|
|
42
|
+
expect(getDefaultColumnAlign({ field: "input", meta: { align: "right" } })).toBe("right");
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
describe("alignToFlex", () => {
|
|
47
|
+
it("maps align tokens to flex justify values", () => {
|
|
48
|
+
expect(alignToFlex("left")).toBe("flex-start");
|
|
49
|
+
expect(alignToFlex("center")).toBe("center");
|
|
50
|
+
expect(alignToFlex("right")).toBe("flex-end");
|
|
51
|
+
expect(alignToFlex(undefined)).toBe("flex-start");
|
|
52
|
+
});
|
|
53
|
+
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DG-TBL-01 — default column alignment by field / data type.
|
|
3
|
+
*
|
|
4
|
+
* numbers/currency → right, text → left, actions → right.
|
|
5
|
+
* Explicit `align` (or meta.align) always wins.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { DataTableField, DataTableFieldProps } from "../types";
|
|
9
|
+
|
|
10
|
+
export type ColumnAlign = "left" | "center" | "right";
|
|
11
|
+
|
|
12
|
+
export type ColumnAlignInput = {
|
|
13
|
+
id?: string;
|
|
14
|
+
align?: ColumnAlign;
|
|
15
|
+
field?: DataTableField;
|
|
16
|
+
fieldProps?: Pick<DataTableFieldProps, "currency"> | DataTableFieldProps;
|
|
17
|
+
meta?: { align?: ColumnAlign; role?: string };
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const NUMERIC_FIELDS = new Set<DataTableField>(["stepper", "slider", "progress", "duration"]);
|
|
21
|
+
|
|
22
|
+
/** Booleans + icon-like metrics (EUI: center symbols). */
|
|
23
|
+
const CENTER_FIELDS = new Set<DataTableField>(["checkbox", "switch", "rating"]);
|
|
24
|
+
|
|
25
|
+
function isActionsColumn(column: ColumnAlignInput): boolean {
|
|
26
|
+
if (column.meta?.role === "actions") return true;
|
|
27
|
+
const id = column.id ?? "";
|
|
28
|
+
return id === "actions" || id.endsWith("_actions") || id.endsWith(":actions");
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function isCurrencyColumn(column: ColumnAlignInput): boolean {
|
|
32
|
+
return column.fieldProps?.currency != null && column.fieldProps.currency !== "";
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function isNumericColumn(column: ColumnAlignInput): boolean {
|
|
36
|
+
if (isCurrencyColumn(column)) return true;
|
|
37
|
+
return column.field != null && NUMERIC_FIELDS.has(column.field);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Resolve smart-default column alignment (DG-TBL-01). */
|
|
41
|
+
export function getDefaultColumnAlign(column: ColumnAlignInput): ColumnAlign {
|
|
42
|
+
if (column.align) return column.align;
|
|
43
|
+
if (column.meta?.align) return column.meta.align;
|
|
44
|
+
if (isActionsColumn(column)) return "right";
|
|
45
|
+
if (isNumericColumn(column)) return "right";
|
|
46
|
+
if (column.field && CENTER_FIELDS.has(column.field)) return "center";
|
|
47
|
+
return "left";
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** Map ColumnAlign → Tamagui/flex justifyContent. */
|
|
51
|
+
export function alignToFlex(align?: ColumnAlign): "flex-start" | "center" | "flex-end" {
|
|
52
|
+
switch (align) {
|
|
53
|
+
case "center":
|
|
54
|
+
return "center";
|
|
55
|
+
case "right":
|
|
56
|
+
return "flex-end";
|
|
57
|
+
default:
|
|
58
|
+
return "flex-start";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import type { DataTableColumn, TableFilter } from "../types";
|
|
3
|
+
import {
|
|
4
|
+
applyFiltersToData,
|
|
5
|
+
defaultOperatorForFilterType,
|
|
6
|
+
filterOperatorLabel,
|
|
7
|
+
getFilterChipLabel,
|
|
8
|
+
getFilterFieldType,
|
|
9
|
+
isFilterValueShape,
|
|
10
|
+
mapFieldToFilterType,
|
|
11
|
+
operatorNeedsNoValue,
|
|
12
|
+
operatorsForFilterType,
|
|
13
|
+
resolveFilterFields,
|
|
14
|
+
} from "./filterFields";
|
|
15
|
+
|
|
16
|
+
const columns: DataTableColumn[] = [
|
|
17
|
+
{ accessorKey: "firstName", header: "First Name" },
|
|
18
|
+
{ accessorKey: "age", header: "Age", field: "stepper" },
|
|
19
|
+
{
|
|
20
|
+
accessorKey: "status",
|
|
21
|
+
header: "Status",
|
|
22
|
+
field: "select",
|
|
23
|
+
fieldProps: {
|
|
24
|
+
options: [
|
|
25
|
+
{ label: "Active", value: "active" },
|
|
26
|
+
{ label: "Inactive", value: "inactive" },
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const hiddenFields = [
|
|
33
|
+
{ id: "email", label: "Email" },
|
|
34
|
+
{ id: "salary", label: "Salary", type: "number" as const },
|
|
35
|
+
{ id: "joinDate", label: "Join Date", type: "date" as const },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const rows = [
|
|
39
|
+
{
|
|
40
|
+
firstName: "Ada",
|
|
41
|
+
age: 36,
|
|
42
|
+
status: "active",
|
|
43
|
+
email: "ada@corp.com",
|
|
44
|
+
salary: 90,
|
|
45
|
+
joinDate: "2021-03-01",
|
|
46
|
+
verified: true,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
firstName: "Grace",
|
|
50
|
+
age: 45,
|
|
51
|
+
status: "inactive",
|
|
52
|
+
email: "grace@corp.com",
|
|
53
|
+
salary: 120,
|
|
54
|
+
joinDate: "2019-07-15",
|
|
55
|
+
verified: false,
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
firstName: "Alan",
|
|
59
|
+
age: 41,
|
|
60
|
+
status: "active",
|
|
61
|
+
email: "alan@other.org",
|
|
62
|
+
salary: 100,
|
|
63
|
+
joinDate: "2020-01-20",
|
|
64
|
+
verified: true,
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
|
|
68
|
+
function filter(columnId: string, operator: string, value: any, values?: any[]): TableFilter {
|
|
69
|
+
return { id: `f-${columnId}`, columnId, value: { operator: operator as any, value, values } };
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
describe("resolveFilterFields", () => {
|
|
73
|
+
it("derives fields from columns (visible first) and appends declared hidden fields", () => {
|
|
74
|
+
const fields = resolveFilterFields(columns, hiddenFields);
|
|
75
|
+
expect(fields.map((f) => f.id)).toEqual([
|
|
76
|
+
"firstName",
|
|
77
|
+
"age",
|
|
78
|
+
"status",
|
|
79
|
+
"email",
|
|
80
|
+
"salary",
|
|
81
|
+
"joinDate",
|
|
82
|
+
]);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it("maps column field types to filter types and carries select options", () => {
|
|
86
|
+
const fields = resolveFilterFields(columns, hiddenFields);
|
|
87
|
+
const byId = Object.fromEntries(fields.map((f) => [f.id, f]));
|
|
88
|
+
expect(byId.firstName.type).toBe("text");
|
|
89
|
+
expect(byId.age.type).toBe("number");
|
|
90
|
+
expect(byId.status.type).toBe("select");
|
|
91
|
+
expect(byId.status.options).toHaveLength(2);
|
|
92
|
+
expect(byId.email.type).toBe("text"); // default
|
|
93
|
+
expect(byId.salary.type).toBe("number");
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it("lets a declared field override the column-derived descriptor by id", () => {
|
|
97
|
+
const fields = resolveFilterFields(columns, [
|
|
98
|
+
{ id: "age", label: "Age (years)", type: "text" },
|
|
99
|
+
]);
|
|
100
|
+
const age = fields.find((f) => f.id === "age");
|
|
101
|
+
expect(age?.label).toBe("Age (years)");
|
|
102
|
+
expect(age?.type).toBe("text");
|
|
103
|
+
// Position preserved (still grouped with columns)
|
|
104
|
+
expect(fields.findIndex((f) => f.id === "age")).toBe(1);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
it("skips columns with filterable: false", () => {
|
|
108
|
+
const fields = resolveFilterFields([
|
|
109
|
+
{ accessorKey: "a", header: "A" },
|
|
110
|
+
{ accessorKey: "b", header: "B", filterable: false },
|
|
111
|
+
]);
|
|
112
|
+
expect(fields.map((f) => f.id)).toEqual(["a"]);
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
describe("applyFiltersToData (hidden / non-column fields)", () => {
|
|
117
|
+
const fields = resolveFilterFields(columns, hiddenFields);
|
|
118
|
+
|
|
119
|
+
it("filters on a field with no visible column (text contains)", () => {
|
|
120
|
+
const out = applyFiltersToData(rows, [filter("email", "contains", "corp")], fields);
|
|
121
|
+
expect(out.map((r) => r.firstName)).toEqual(["Ada", "Grace"]);
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it("filters numbers with comparison operators", () => {
|
|
125
|
+
const out = applyFiltersToData(rows, [filter("salary", "isGreaterThan", "95")], fields);
|
|
126
|
+
expect(out.map((r) => r.firstName)).toEqual(["Grace", "Alan"]);
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
it("filters dates with before/after", () => {
|
|
130
|
+
const out = applyFiltersToData(rows, [filter("joinDate", "isBefore", "2020-06-01")], fields);
|
|
131
|
+
expect(out.map((r) => r.firstName)).toEqual(["Grace", "Alan"]);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
it("treats select fields as text comparisons", () => {
|
|
135
|
+
const out = applyFiltersToData(rows, [filter("status", "is", "active")], fields);
|
|
136
|
+
expect(out.map((r) => r.firstName)).toEqual(["Ada", "Alan"]);
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it("ANDs multiple filters together", () => {
|
|
140
|
+
const out = applyFiltersToData(
|
|
141
|
+
rows,
|
|
142
|
+
[filter("status", "is", "active"), filter("salary", "isGreaterThan", "95")],
|
|
143
|
+
fields,
|
|
144
|
+
);
|
|
145
|
+
expect(out.map((r) => r.firstName)).toEqual(["Alan"]);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it("returns data unchanged when there are no filters", () => {
|
|
149
|
+
expect(applyFiltersToData(rows, [], fields)).toBe(rows);
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
it("handles isEmpty / isNotEmpty without a value", () => {
|
|
153
|
+
const withEmpty = [...rows, { firstName: "Nia", email: "", age: 30 }];
|
|
154
|
+
const out = applyFiltersToData(withEmpty, [filter("email", "isEmpty", null)], fields);
|
|
155
|
+
expect(out.map((r) => r.firstName)).toEqual(["Nia"]);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
describe("operator vocabulary", () => {
|
|
160
|
+
it("offers type-appropriate operators (same sets as the column funnel)", () => {
|
|
161
|
+
expect(operatorsForFilterType("text")).toContain("contains");
|
|
162
|
+
expect(operatorsForFilterType("text")).toContain("isEmpty");
|
|
163
|
+
expect(operatorsForFilterType("number")).toContain("isGreaterThan");
|
|
164
|
+
expect(operatorsForFilterType("number")).not.toContain("contains");
|
|
165
|
+
expect(operatorsForFilterType("date")).toContain("isBefore");
|
|
166
|
+
expect(operatorsForFilterType("boolean")).toEqual(["is", "isNot"]);
|
|
167
|
+
expect(operatorsForFilterType("select")).toContain("isAnyOf");
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
it("knows which operators carry no value", () => {
|
|
171
|
+
expect(operatorNeedsNoValue("isEmpty")).toBe(true);
|
|
172
|
+
expect(operatorNeedsNoValue("isNotEmpty")).toBe(true);
|
|
173
|
+
expect(operatorNeedsNoValue("contains")).toBe(false);
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
it("defaults text to contains and everything else to is", () => {
|
|
177
|
+
expect(defaultOperatorForFilterType("text")).toBe("contains");
|
|
178
|
+
expect(defaultOperatorForFilterType("number")).toBe("is");
|
|
179
|
+
expect(defaultOperatorForFilterType("select")).toBe("is");
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
it("labels operators in English (translated at render)", () => {
|
|
183
|
+
expect(filterOperatorLabel("contains")).toBe("Contains");
|
|
184
|
+
expect(filterOperatorLabel("isOnOrAfter")).toBe("On or after");
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
describe("getFilterChipLabel", () => {
|
|
189
|
+
it('reads "Field: operator value"', () => {
|
|
190
|
+
expect(getFilterChipLabel("Email", { operator: "contains", value: "corp" })).toBe(
|
|
191
|
+
"Email: contains corp",
|
|
192
|
+
);
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
it("omits the value for no-value operators", () => {
|
|
196
|
+
expect(getFilterChipLabel("Email", { operator: "isEmpty", value: null })).toBe(
|
|
197
|
+
"Email: is empty",
|
|
198
|
+
);
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
it("shows option labels instead of raw values for select fields", () => {
|
|
202
|
+
expect(
|
|
203
|
+
getFilterChipLabel("Status", { operator: "is", value: "active" }, [
|
|
204
|
+
{ label: "Active", value: "active" },
|
|
205
|
+
]),
|
|
206
|
+
).toBe("Status: is Active");
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
it("joins multi-values", () => {
|
|
210
|
+
expect(
|
|
211
|
+
getFilterChipLabel("Status", { operator: "isAnyOf", value: null, values: ["a", "b"] }),
|
|
212
|
+
).toBe("Status: is any of a, b");
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
describe("isFilterValueShape", () => {
|
|
217
|
+
it("detects FilterValue objects and rejects plain values", () => {
|
|
218
|
+
expect(isFilterValueShape({ operator: "contains", value: "x" })).toBe(true);
|
|
219
|
+
expect(isFilterValueShape("x")).toBe(false);
|
|
220
|
+
expect(isFilterValueShape(null)).toBe(false);
|
|
221
|
+
expect(isFilterValueShape(["a"])).toBe(false);
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
describe("mapFieldToFilterType / getFilterFieldType", () => {
|
|
226
|
+
it("maps cell field types to filter editor types", () => {
|
|
227
|
+
expect(mapFieldToFilterType("stepper")).toBe("number");
|
|
228
|
+
expect(mapFieldToFilterType("datepicker")).toBe("date");
|
|
229
|
+
expect(mapFieldToFilterType("switch")).toBe("boolean");
|
|
230
|
+
expect(mapFieldToFilterType("combobox")).toBe("select");
|
|
231
|
+
expect(mapFieldToFilterType(undefined)).toBe("text");
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
it("falls back to text for unknown field ids", () => {
|
|
235
|
+
expect(getFilterFieldType([], "nope")).toBe("text");
|
|
236
|
+
});
|
|
237
|
+
});
|