@multiplatform.one/table 6.1.0 → 6.3.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
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
Duration,
|
|
33
33
|
PhoneInput,
|
|
34
34
|
Barcode,
|
|
35
|
+
BarcodePreview,
|
|
35
36
|
MentionInput,
|
|
36
37
|
OTPInput,
|
|
37
38
|
// Visual/feedback
|
|
@@ -47,12 +48,15 @@ import {
|
|
|
47
48
|
FieldDisplay,
|
|
48
49
|
} from "@multiplatform.one/forms";
|
|
49
50
|
import { CellModalEditor } from "./CellModalEditor";
|
|
51
|
+
import { CellOptionsEditor } from "./CellOptionsEditor";
|
|
50
52
|
import { Star } from "@phosphor-icons/react";
|
|
51
53
|
import { RichTextEditor } from "@multiplatform.one/rich-text";
|
|
52
54
|
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
53
|
-
import React, { useCallback } from "react";
|
|
54
|
-
import { View } from "tamagui";
|
|
55
|
+
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
56
|
+
import { View, isWeb } from "tamagui";
|
|
55
57
|
import type { DataTableFieldProps, DataTableField } from "../../types";
|
|
58
|
+
import { alignToFlex, getDefaultColumnAlign } from "../../utils/columnAlign";
|
|
59
|
+
import { t } from "../../shared/t";
|
|
56
60
|
|
|
57
61
|
export interface DataTableCellProps {
|
|
58
62
|
/** Current cell value */
|
|
@@ -69,6 +73,12 @@ export interface DataTableCellProps {
|
|
|
69
73
|
disabled?: boolean;
|
|
70
74
|
/** Column ID for accessibility */
|
|
71
75
|
columnId: string;
|
|
76
|
+
/**
|
|
77
|
+
* Human-readable column header text. Chromeless in-cell fields have no
|
|
78
|
+
* field label, so sheet/popover triggers (select, combobox) use this as
|
|
79
|
+
* their accessible name instead of the technical columnId.
|
|
80
|
+
*/
|
|
81
|
+
columnLabel?: string;
|
|
72
82
|
/** Row index for accessibility */
|
|
73
83
|
rowIndex: number;
|
|
74
84
|
/** Row data for custom render */
|
|
@@ -95,7 +105,8 @@ export function DataTableCell({
|
|
|
95
105
|
onChange,
|
|
96
106
|
readOnly = false,
|
|
97
107
|
disabled = false,
|
|
98
|
-
columnId
|
|
108
|
+
columnId,
|
|
109
|
+
columnLabel,
|
|
99
110
|
rowIndex: _rowIndex,
|
|
100
111
|
rowData,
|
|
101
112
|
size,
|
|
@@ -129,17 +140,34 @@ export function DataTableCell({
|
|
|
129
140
|
...restProps
|
|
130
141
|
} = fieldProps;
|
|
131
142
|
|
|
143
|
+
// Keep onChange behind a ref so handleChange's identity stays stable across
|
|
144
|
+
// parent re-renders. WiredTable/DataTable pass a fresh inline onChange every
|
|
145
|
+
// render; fields that sync via useEffect([onChange]) (OTP, Phone, …) would
|
|
146
|
+
// otherwise re-emit and loop (SB-T2-10).
|
|
147
|
+
const onChangeRef = useRef(onChange);
|
|
148
|
+
onChangeRef.current = onChange;
|
|
132
149
|
const handleChange = useCallback(
|
|
133
150
|
(newValue: any) => {
|
|
134
151
|
if (readOnly || disabled) return;
|
|
135
|
-
|
|
152
|
+
onChangeRef.current(newValue);
|
|
136
153
|
},
|
|
137
|
-
[
|
|
154
|
+
[readOnly, disabled],
|
|
138
155
|
);
|
|
139
156
|
|
|
140
|
-
//
|
|
157
|
+
// DG-TBL-01: default cell justification from field/data type (overridable via align).
|
|
158
|
+
const cellJustify = alignToFlex(getDefaultColumnAlign({ id: columnId, field, fieldProps }));
|
|
159
|
+
|
|
160
|
+
// Custom render function. This branch intentionally precedes the read-only
|
|
161
|
+
// branch (the renderer owns the cell's presentation in both modes), so the
|
|
162
|
+
// cell's honest state travels as the render context: commits are already
|
|
163
|
+
// blocked while readOnly/disabled (handleChange no-ops), and the renderer
|
|
164
|
+
// must mirror that by going non-interactive (D-18.4 — Axiom 6).
|
|
141
165
|
if (field === "custom" && render) {
|
|
142
|
-
return
|
|
166
|
+
return (
|
|
167
|
+
<CellWrapper justify={cellJustify}>
|
|
168
|
+
{render(value, rowData, handleChange, { readOnly, disabled })}
|
|
169
|
+
</CellWrapper>
|
|
170
|
+
);
|
|
143
171
|
}
|
|
144
172
|
|
|
145
173
|
// Read-only cells route through FieldDisplay (lightweight, view-only) rather
|
|
@@ -147,12 +175,19 @@ export function DataTableCell({
|
|
|
147
175
|
// large tables performant and gives heavy fields a purpose-built compact
|
|
148
176
|
// representation. Edit-mode (below) still mounts the full field component.
|
|
149
177
|
if (readOnly) {
|
|
178
|
+
// FieldDisplay formats currency via Intl.NumberFormat, which requires an
|
|
179
|
+
// ISO-4217 code — a raw symbol ("$") throws RangeError and crashes the
|
|
180
|
+
// whole table. Normalize symbols to codes and drop anything still invalid.
|
|
181
|
+
const displayFieldProps =
|
|
182
|
+
fieldProps.currency != null
|
|
183
|
+
? { ...fieldProps, currency: normalizeCurrencyCode(fieldProps.currency) }
|
|
184
|
+
: fieldProps;
|
|
150
185
|
return (
|
|
151
|
-
<CellWrapper justify={
|
|
186
|
+
<CellWrapper justify={cellJustify}>
|
|
152
187
|
<FieldDisplay
|
|
153
188
|
field={field}
|
|
154
189
|
value={value}
|
|
155
|
-
fieldProps={
|
|
190
|
+
fieldProps={displayFieldProps}
|
|
156
191
|
linkedValue={_linkedValue}
|
|
157
192
|
/>
|
|
158
193
|
</CellWrapper>
|
|
@@ -170,6 +205,12 @@ export function DataTableCell({
|
|
|
170
205
|
onCheckedChange={handleChange}
|
|
171
206
|
disabled={disabled || readOnly}
|
|
172
207
|
{...restProps}
|
|
208
|
+
// Chromeless in-cell control has no field label — name it from
|
|
209
|
+
// the column header (same fallback chain as select/combobox).
|
|
210
|
+
checkboxProps={{
|
|
211
|
+
"aria-label": (restProps as any)["aria-label"] ?? columnLabel ?? columnId,
|
|
212
|
+
...(restProps as any).checkboxProps,
|
|
213
|
+
}}
|
|
173
214
|
/>
|
|
174
215
|
</CellWrapper>
|
|
175
216
|
);
|
|
@@ -182,6 +223,12 @@ export function DataTableCell({
|
|
|
182
223
|
onCheckedChange={handleChange}
|
|
183
224
|
disabled={disabled || readOnly}
|
|
184
225
|
{...restProps}
|
|
226
|
+
// Chromeless in-cell control has no field label — name it from
|
|
227
|
+
// the column header (same fallback chain as select/combobox).
|
|
228
|
+
switchProps={{
|
|
229
|
+
"aria-label": (restProps as any)["aria-label"] ?? columnLabel ?? columnId,
|
|
230
|
+
...(restProps as any).switchProps,
|
|
231
|
+
}}
|
|
185
232
|
/>
|
|
186
233
|
</CellWrapper>
|
|
187
234
|
);
|
|
@@ -199,6 +246,7 @@ export function DataTableCell({
|
|
|
199
246
|
placeholder={placeholder}
|
|
200
247
|
size={knobProps.sizeToken}
|
|
201
248
|
{...restProps}
|
|
249
|
+
aria-label={(restProps as any)["aria-label"] ?? columnLabel ?? columnId}
|
|
202
250
|
/>
|
|
203
251
|
</CellWrapper>
|
|
204
252
|
);
|
|
@@ -215,22 +263,42 @@ export function DataTableCell({
|
|
|
215
263
|
placeholder={placeholder}
|
|
216
264
|
size={knobProps.sizeToken}
|
|
217
265
|
{...restProps}
|
|
266
|
+
aria-label={(restProps as any)["aria-label"] ?? columnLabel ?? columnId}
|
|
218
267
|
/>
|
|
219
268
|
</CellWrapper>
|
|
220
269
|
);
|
|
221
270
|
|
|
222
271
|
case "radiogroup":
|
|
272
|
+
// UX-022 / LC-06 OVERSIZED-EDIT: a horizontal radio row is wider than
|
|
273
|
+
// narrow columns and the cell's overflow guard makes the clipped
|
|
274
|
+
// options unreachable. The editor escapes the anchor: the cell face is
|
|
275
|
+
// the current option label; options open in a popover (web) / sheet
|
|
276
|
+
// (native), seeded at the current value. A pick commits and closes
|
|
277
|
+
// (LC-21 COMMIT class — one value completes the contract).
|
|
223
278
|
return (
|
|
224
279
|
<CellWrapper>
|
|
225
|
-
<
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
280
|
+
<CellOptionsEditor
|
|
281
|
+
field="radiogroup"
|
|
282
|
+
value={value}
|
|
283
|
+
fieldProps={fieldProps}
|
|
229
284
|
disabled={disabled || readOnly}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
{
|
|
233
|
-
|
|
285
|
+
label={(restProps as any)["aria-label"] ?? columnLabel ?? columnId}
|
|
286
|
+
>
|
|
287
|
+
{(close) => (
|
|
288
|
+
<RadioGroup
|
|
289
|
+
value={value != null ? String(value) : ""}
|
|
290
|
+
onValueChange={(next: string) => {
|
|
291
|
+
handleChange(next);
|
|
292
|
+
close();
|
|
293
|
+
}}
|
|
294
|
+
options={options ?? []}
|
|
295
|
+
disabled={disabled || readOnly}
|
|
296
|
+
size={knobProps.sizeToken}
|
|
297
|
+
orientation="vertical"
|
|
298
|
+
{...restProps}
|
|
299
|
+
/>
|
|
300
|
+
)}
|
|
301
|
+
</CellOptionsEditor>
|
|
234
302
|
</CellWrapper>
|
|
235
303
|
);
|
|
236
304
|
|
|
@@ -251,30 +319,51 @@ export function DataTableCell({
|
|
|
251
319
|
|
|
252
320
|
// ─── Numeric inputs ───────────────────────────────────────
|
|
253
321
|
case "stepper":
|
|
322
|
+
// Free-entry numeric editor: buffer as a draft; commit on Enter/blur,
|
|
323
|
+
// Escape reverts (wheel/arrow ticks also stay in the draft until blur).
|
|
254
324
|
return (
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
325
|
+
// Native keeps stretch (like the Slider fill-type opt-out below): RN
|
|
326
|
+
// TextInput has no intrinsic width, so the end-aligned (non-stretch)
|
|
327
|
+
// numeric column collapses the chromeless input to 0pt — invisible
|
|
328
|
+
// AND culled from the a11y tree (iOS strips zero-rect subtrees). Web
|
|
329
|
+
// inputs carry an intrinsic width, so numeric end-alignment stays.
|
|
330
|
+
<CellWrapper justify={isWeb ? cellJustify : "flex-start"}>
|
|
331
|
+
<DraftFieldEditor committed={value} onCommit={handleChange}>
|
|
332
|
+
{(draftValue, onDraftChange) => (
|
|
333
|
+
<Stepper
|
|
334
|
+
defaultValue={draftValue != null ? Number(draftValue) : undefined}
|
|
335
|
+
onChange={onDraftChange}
|
|
336
|
+
min={min}
|
|
337
|
+
max={max}
|
|
338
|
+
step={step ?? 1}
|
|
339
|
+
precision={precision ?? 0}
|
|
340
|
+
disabled={disabled}
|
|
341
|
+
readOnly={readOnly}
|
|
342
|
+
placeholder={placeholder || "0"}
|
|
343
|
+
size={knobProps.sizeToken}
|
|
344
|
+
// In-cell stepper renders as plain numeric input — full +/- buttons
|
|
345
|
+
// overflow narrow columns. Wheel and keyboard arrows still work.
|
|
346
|
+
showButtons={false}
|
|
347
|
+
{...restProps}
|
|
348
|
+
// Chromeless in-cell control has no field label — name it from
|
|
349
|
+
// the column header (same fallback chain as checkbox/select).
|
|
350
|
+
inputProps={{
|
|
351
|
+
"aria-label": (restProps as any)["aria-label"] ?? columnLabel ?? columnId,
|
|
352
|
+
...(restProps as any).inputProps,
|
|
353
|
+
}}
|
|
354
|
+
/>
|
|
355
|
+
)}
|
|
356
|
+
</DraftFieldEditor>
|
|
272
357
|
</CellWrapper>
|
|
273
358
|
);
|
|
274
359
|
|
|
275
360
|
case "slider":
|
|
276
361
|
return (
|
|
277
|
-
|
|
362
|
+
// Fill-type control: number columns justify flex-end, but flex-end
|
|
363
|
+
// kills cross-axis stretch and a Slider has no intrinsic width — the
|
|
364
|
+
// whole track collapses to 0. Sliders fill the cell instead of
|
|
365
|
+
// aligning (align-by-type governs content, not fill controls).
|
|
366
|
+
<CellWrapper justify="flex-start" minWidth={120}>
|
|
278
367
|
<Slider
|
|
279
368
|
value={[value != null ? Number(value) : (min ?? 0)]}
|
|
280
369
|
onValueChange={readOnly ? undefined : (values) => handleChange(values[0])}
|
|
@@ -290,11 +379,16 @@ export function DataTableCell({
|
|
|
290
379
|
|
|
291
380
|
case "progress":
|
|
292
381
|
return (
|
|
293
|
-
<CellWrapper minWidth={120}>
|
|
382
|
+
<CellWrapper justify={cellJustify} minWidth={120}>
|
|
294
383
|
<Progress
|
|
295
384
|
value={value != null ? Number(value) : 0}
|
|
296
385
|
size={knobProps.sizeToken}
|
|
297
386
|
{...restProps}
|
|
387
|
+
// Tamagui Progress's size variant pins width/minWidth (~220px),
|
|
388
|
+
// overriding the frame's width="100%" and overflowing narrow
|
|
389
|
+
// columns. progressProps spreads after the size variant, so it
|
|
390
|
+
// wins and the bar adopts the cell width.
|
|
391
|
+
progressProps={{ width: "100%", minWidth: 0, ...restProps.progressProps }}
|
|
298
392
|
/>
|
|
299
393
|
</CellWrapper>
|
|
300
394
|
);
|
|
@@ -311,8 +405,9 @@ export function DataTableCell({
|
|
|
311
405
|
onChange={(v: number) => handleChange(Math.round(v * stars))}
|
|
312
406
|
disabled={disabled || readOnly}
|
|
313
407
|
maxStars={stars}
|
|
314
|
-
starIcon={restProps.starIcon ??
|
|
408
|
+
starIcon={restProps.starIcon ?? CellStar}
|
|
315
409
|
size={knobProps.sizeToken}
|
|
410
|
+
compact
|
|
316
411
|
/>
|
|
317
412
|
</CellWrapper>
|
|
318
413
|
);
|
|
@@ -327,7 +422,7 @@ export function DataTableCell({
|
|
|
327
422
|
onValueChange={handleChange}
|
|
328
423
|
disabled={disabled}
|
|
329
424
|
readOnly={readOnly}
|
|
330
|
-
placeholder={placeholder || "Select date"}
|
|
425
|
+
placeholder={placeholder || t("Select date")}
|
|
331
426
|
minDate={minDate}
|
|
332
427
|
maxDate={maxDate}
|
|
333
428
|
size={knobProps.sizeToken}
|
|
@@ -344,7 +439,7 @@ export function DataTableCell({
|
|
|
344
439
|
onValueChange={handleChange}
|
|
345
440
|
disabled={disabled}
|
|
346
441
|
readOnly={readOnly}
|
|
347
|
-
placeholder={placeholder || "Select date & time"}
|
|
442
|
+
placeholder={placeholder || t("Select date & time")}
|
|
348
443
|
minDate={minDate}
|
|
349
444
|
maxDate={maxDate}
|
|
350
445
|
timeFormat={timeFormat}
|
|
@@ -361,7 +456,7 @@ export function DataTableCell({
|
|
|
361
456
|
value={value ?? ""}
|
|
362
457
|
onChange={handleChange}
|
|
363
458
|
disabled={disabled}
|
|
364
|
-
placeholder={placeholder || "Select time"}
|
|
459
|
+
placeholder={placeholder || t("Select time")}
|
|
365
460
|
timeFormat={timeFormat}
|
|
366
461
|
size={knobProps.sizeToken}
|
|
367
462
|
{...restProps}
|
|
@@ -370,43 +465,59 @@ export function DataTableCell({
|
|
|
370
465
|
);
|
|
371
466
|
|
|
372
467
|
case "daterangepicker":
|
|
468
|
+
// The picker only emits complete {start,end} ranges (or null on clear),
|
|
469
|
+
// and completing a range closes the popover — those are the confirm
|
|
470
|
+
// gestures, so commits pass straight through. Escape remounts the
|
|
471
|
+
// picker to discard a half-picked range (start chosen, end pending).
|
|
373
472
|
return (
|
|
374
473
|
<CellWrapper>
|
|
375
|
-
<
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
474
|
+
<DraftFieldEditor committed={value} onCommit={handleChange} mode="change">
|
|
475
|
+
{(draftValue, onDraftChange) => (
|
|
476
|
+
<DateRangePicker
|
|
477
|
+
value={draftValue}
|
|
478
|
+
onChange={onDraftChange}
|
|
479
|
+
disabled={disabled}
|
|
480
|
+
placeholder={placeholder || t("Select range")}
|
|
481
|
+
minDate={minDate}
|
|
482
|
+
maxDate={maxDate}
|
|
483
|
+
size={knobProps.sizeToken}
|
|
484
|
+
{...restProps}
|
|
485
|
+
/>
|
|
486
|
+
)}
|
|
487
|
+
</DraftFieldEditor>
|
|
384
488
|
</CellWrapper>
|
|
385
489
|
);
|
|
386
490
|
|
|
387
491
|
case "multidatepicker":
|
|
492
|
+
// Accumulating editor: day toggles build a draft; one commit fires when
|
|
493
|
+
// the cell is left/closed (blur or outside click), Escape discards.
|
|
388
494
|
return (
|
|
389
495
|
<CellWrapper>
|
|
390
|
-
<
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
496
|
+
<DraftFieldEditor committed={value} onCommit={handleChange}>
|
|
497
|
+
{(draftValue, onDraftChange) => (
|
|
498
|
+
<MultiDatePicker
|
|
499
|
+
value={draftValue}
|
|
500
|
+
onChange={onDraftChange}
|
|
501
|
+
disabled={disabled}
|
|
502
|
+
placeholder={placeholder || t("Select dates")}
|
|
503
|
+
minDate={minDate}
|
|
504
|
+
maxDate={maxDate}
|
|
505
|
+
size={knobProps.sizeToken}
|
|
506
|
+
{...restProps}
|
|
507
|
+
/>
|
|
508
|
+
)}
|
|
509
|
+
</DraftFieldEditor>
|
|
399
510
|
</CellWrapper>
|
|
400
511
|
);
|
|
401
512
|
|
|
402
513
|
case "duration":
|
|
403
514
|
return (
|
|
404
|
-
<CellWrapper>
|
|
515
|
+
<CellWrapper justify={cellJustify}>
|
|
405
516
|
<Duration
|
|
406
517
|
value={value != null ? Number(value) : 0}
|
|
407
518
|
onChange={handleChange}
|
|
408
519
|
disabled={disabled}
|
|
409
|
-
placeholder={placeholder || "Select duration"}
|
|
520
|
+
placeholder={placeholder || t("Select duration")}
|
|
410
521
|
size={knobProps.sizeToken}
|
|
411
522
|
{...restProps}
|
|
412
523
|
/>
|
|
@@ -430,31 +541,51 @@ export function DataTableCell({
|
|
|
430
541
|
);
|
|
431
542
|
|
|
432
543
|
case "phoneinput":
|
|
544
|
+
// Free-entry editor emitting per keystroke: buffer as a draft; commit
|
|
545
|
+
// on Enter/blur, Escape reverts.
|
|
433
546
|
return (
|
|
434
547
|
<CellWrapper>
|
|
435
|
-
<
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
548
|
+
<DraftFieldEditor committed={value} onCommit={handleChange}>
|
|
549
|
+
{(draftValue, onDraftChange) => (
|
|
550
|
+
<PhoneInput
|
|
551
|
+
defaultValue={draftValue ?? ""}
|
|
552
|
+
onChange={onDraftChange}
|
|
553
|
+
disabled={disabled}
|
|
554
|
+
readOnly={readOnly}
|
|
555
|
+
placeholder={placeholder || t("Phone number")}
|
|
556
|
+
defaultCountry={defaultCountry}
|
|
557
|
+
size={knobProps.sizeToken}
|
|
558
|
+
{...restProps}
|
|
559
|
+
/>
|
|
560
|
+
)}
|
|
561
|
+
</DraftFieldEditor>
|
|
444
562
|
</CellWrapper>
|
|
445
563
|
);
|
|
446
564
|
|
|
447
565
|
case "otp":
|
|
566
|
+
// Multi-digit accumulation: digits build a draft; commit on Enter or
|
|
567
|
+
// when focus leaves the cell (auto-advance between digit inputs stays
|
|
568
|
+
// inside), Escape reverts.
|
|
448
569
|
return (
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
570
|
+
// Native start-aligns: the digit row is physically wider than narrow
|
|
571
|
+
// cells (4 tap targets), and center-justification overflows it
|
|
572
|
+
// symmetrically — the first digit lands off-cell/off-screen. Start
|
|
573
|
+
// alignment keeps digit 1 anchored; overflow spills toward the
|
|
574
|
+
// trailing edge where RN leaves it visible. Web keeps center (its
|
|
575
|
+
// CellWrapper clips overflow-x at the cell edge instead).
|
|
576
|
+
<CellWrapper justify={isWeb ? "center" : "flex-start"}>
|
|
577
|
+
<DraftFieldEditor committed={value} onCommit={handleChange}>
|
|
578
|
+
{(draftValue, onDraftChange) => (
|
|
579
|
+
<OTPInput
|
|
580
|
+
value={draftValue ?? ""}
|
|
581
|
+
onChange={onDraftChange}
|
|
582
|
+
disabled={disabled || readOnly}
|
|
583
|
+
length={otpLength ?? 6}
|
|
584
|
+
size={knobProps.sizeToken}
|
|
585
|
+
{...restProps}
|
|
586
|
+
/>
|
|
587
|
+
)}
|
|
588
|
+
</DraftFieldEditor>
|
|
458
589
|
</CellWrapper>
|
|
459
590
|
);
|
|
460
591
|
|
|
@@ -466,34 +597,63 @@ export function DataTableCell({
|
|
|
466
597
|
fieldProps={fieldProps}
|
|
467
598
|
disabled={disabled}
|
|
468
599
|
readOnly={readOnly}
|
|
469
|
-
|
|
600
|
+
onCommit={handleChange}
|
|
601
|
+
title={t("Edit text")}
|
|
470
602
|
>
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
603
|
+
{(draftValue, onDraftChange) => (
|
|
604
|
+
<MentionInput
|
|
605
|
+
defaultValue={draftValue ?? ""}
|
|
606
|
+
onTextChange={onDraftChange}
|
|
607
|
+
disabled={disabled}
|
|
608
|
+
readOnly={readOnly}
|
|
609
|
+
placeholder={placeholder || t("Enter text...")}
|
|
610
|
+
mentions={
|
|
611
|
+
mentions ? [{ trigger: "@", data: mentions }] : [{ trigger: "@", data: [] }]
|
|
612
|
+
}
|
|
613
|
+
size={knobProps.sizeToken}
|
|
614
|
+
{...restProps}
|
|
615
|
+
/>
|
|
616
|
+
)}
|
|
480
617
|
</CellModalEditor>
|
|
481
618
|
);
|
|
482
619
|
|
|
483
620
|
case "barcode":
|
|
621
|
+
// LC-06: the full editor (input + scan button + camera scanner surface)
|
|
622
|
+
// is far larger than the cell anchor, so it opens in the modal editor
|
|
623
|
+
// like other heavy fields — never inline where the scanner would grow
|
|
624
|
+
// the row. The cell face is FieldDisplay's compact drawn-barcode preview.
|
|
484
625
|
return (
|
|
485
|
-
<
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
626
|
+
<CellModalEditor
|
|
627
|
+
field="barcode"
|
|
628
|
+
value={value}
|
|
629
|
+
fieldProps={fieldProps}
|
|
630
|
+
disabled={disabled}
|
|
631
|
+
readOnly={readOnly}
|
|
632
|
+
onCommit={handleChange}
|
|
633
|
+
title={t("Barcode")}
|
|
634
|
+
>
|
|
635
|
+
{(draftValue, onDraftChange) => (
|
|
636
|
+
<View flexDirection="column" {...knobProps.gap}>
|
|
637
|
+
<Barcode
|
|
638
|
+
value={String(draftValue ?? "")}
|
|
639
|
+
onChange={onDraftChange}
|
|
640
|
+
disabled={disabled}
|
|
641
|
+
readOnly={readOnly}
|
|
642
|
+
size={knobProps.sizeToken}
|
|
643
|
+
barcodeIcon={restProps.barcodeIcon}
|
|
644
|
+
scanIcon={restProps.scanIcon}
|
|
645
|
+
stopIcon={restProps.stopIcon}
|
|
646
|
+
{...restProps}
|
|
647
|
+
/>
|
|
648
|
+
<BarcodePreview
|
|
649
|
+
value={String(draftValue ?? "")}
|
|
650
|
+
height={64}
|
|
651
|
+
moduleWidth={2}
|
|
652
|
+
showText
|
|
653
|
+
/>
|
|
654
|
+
</View>
|
|
655
|
+
)}
|
|
656
|
+
</CellModalEditor>
|
|
497
657
|
);
|
|
498
658
|
|
|
499
659
|
// ─── File/media inputs ────────────────────────────────────
|
|
@@ -505,17 +665,21 @@ export function DataTableCell({
|
|
|
505
665
|
fieldProps={fieldProps}
|
|
506
666
|
disabled={disabled}
|
|
507
667
|
readOnly={readOnly}
|
|
508
|
-
|
|
668
|
+
onCommit={handleChange}
|
|
669
|
+
title={t("Upload file")}
|
|
509
670
|
>
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
671
|
+
{(draftValue, onDraftChange) => (
|
|
672
|
+
<FileUpload
|
|
673
|
+
defaultValue={draftValue}
|
|
674
|
+
onValueChange={onDraftChange}
|
|
675
|
+
disabled={disabled}
|
|
676
|
+
readOnly={readOnly}
|
|
677
|
+
placeholder={placeholder || t("Upload file")}
|
|
678
|
+
accept={restProps.accept}
|
|
679
|
+
size={knobProps.sizeToken}
|
|
680
|
+
{...restProps}
|
|
681
|
+
/>
|
|
682
|
+
)}
|
|
519
683
|
</CellModalEditor>
|
|
520
684
|
);
|
|
521
685
|
|
|
@@ -527,18 +691,21 @@ export function DataTableCell({
|
|
|
527
691
|
fieldProps={fieldProps}
|
|
528
692
|
disabled={disabled}
|
|
529
693
|
readOnly={readOnly}
|
|
530
|
-
|
|
694
|
+
onCommit={handleChange}
|
|
695
|
+
title={t("Image")}
|
|
531
696
|
>
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
697
|
+
{(draftValue, onDraftChange) => (
|
|
698
|
+
<ImageField
|
|
699
|
+
value={draftValue}
|
|
700
|
+
onValueChange={onDraftChange}
|
|
701
|
+
disabled={disabled}
|
|
702
|
+
readOnly={readOnly}
|
|
703
|
+
imageWidth={200}
|
|
704
|
+
imageHeight={200}
|
|
705
|
+
showRemove={!readOnly}
|
|
706
|
+
{...restProps}
|
|
707
|
+
/>
|
|
708
|
+
)}
|
|
542
709
|
</CellModalEditor>
|
|
543
710
|
);
|
|
544
711
|
|
|
@@ -550,18 +717,21 @@ export function DataTableCell({
|
|
|
550
717
|
fieldProps={fieldProps}
|
|
551
718
|
disabled={disabled}
|
|
552
719
|
readOnly={readOnly}
|
|
553
|
-
|
|
720
|
+
onCommit={handleChange}
|
|
721
|
+
title={t("Signature")}
|
|
554
722
|
>
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
723
|
+
{(draftValue, onDraftChange) => (
|
|
724
|
+
<Signature
|
|
725
|
+
value={draftValue ?? ""}
|
|
726
|
+
onChange={onDraftChange}
|
|
727
|
+
disabled={disabled}
|
|
728
|
+
size={knobProps.sizeToken}
|
|
729
|
+
width={restProps.width ?? 600}
|
|
730
|
+
height={restProps.height ?? 240}
|
|
731
|
+
clearIcon={restProps.clearIcon}
|
|
732
|
+
{...restProps}
|
|
733
|
+
/>
|
|
734
|
+
)}
|
|
565
735
|
</CellModalEditor>
|
|
566
736
|
);
|
|
567
737
|
|
|
@@ -573,18 +743,27 @@ export function DataTableCell({
|
|
|
573
743
|
fieldProps={fieldProps}
|
|
574
744
|
disabled={disabled}
|
|
575
745
|
readOnly={readOnly}
|
|
576
|
-
|
|
746
|
+
onCommit={handleChange}
|
|
747
|
+
title={t("Location")}
|
|
577
748
|
>
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
749
|
+
{(draftValue, onDraftChange) => (
|
|
750
|
+
<Geolocation
|
|
751
|
+
value={
|
|
752
|
+
typeof draftValue === "string"
|
|
753
|
+
? draftValue
|
|
754
|
+
: draftValue
|
|
755
|
+
? JSON.stringify(draftValue)
|
|
756
|
+
: ""
|
|
757
|
+
}
|
|
758
|
+
onChange={onDraftChange}
|
|
759
|
+
disabled={disabled}
|
|
760
|
+
size={knobProps.sizeToken}
|
|
761
|
+
locationIcon={restProps.locationIcon}
|
|
762
|
+
expandIcon={restProps.expandIcon}
|
|
763
|
+
renderMap={restProps.renderMap}
|
|
764
|
+
{...restProps}
|
|
765
|
+
/>
|
|
766
|
+
)}
|
|
588
767
|
</CellModalEditor>
|
|
589
768
|
);
|
|
590
769
|
|
|
@@ -597,18 +776,21 @@ export function DataTableCell({
|
|
|
597
776
|
fieldProps={fieldProps}
|
|
598
777
|
disabled={disabled}
|
|
599
778
|
readOnly={readOnly}
|
|
600
|
-
|
|
779
|
+
onCommit={handleChange}
|
|
780
|
+
title={t("Edit")}
|
|
601
781
|
>
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
782
|
+
{(draftValue, onDraftChange) => (
|
|
783
|
+
<RichTextEditor
|
|
784
|
+
value={draftValue ?? ""}
|
|
785
|
+
onChange={onDraftChange}
|
|
786
|
+
disabled={disabled}
|
|
787
|
+
readOnly={readOnly}
|
|
788
|
+
placeholder={placeholder || t("Write something...")}
|
|
789
|
+
minHeight={restProps.minHeight ?? 240}
|
|
790
|
+
size={knobProps.sizeToken}
|
|
791
|
+
{...restProps}
|
|
792
|
+
/>
|
|
793
|
+
)}
|
|
612
794
|
</CellModalEditor>
|
|
613
795
|
);
|
|
614
796
|
|
|
@@ -620,17 +802,20 @@ export function DataTableCell({
|
|
|
620
802
|
fieldProps={fieldProps}
|
|
621
803
|
disabled={disabled}
|
|
622
804
|
readOnly={readOnly}
|
|
623
|
-
|
|
805
|
+
onCommit={handleChange}
|
|
806
|
+
title={t("Edit markdown")}
|
|
624
807
|
>
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
808
|
+
{(draftValue, onDraftChange) => (
|
|
809
|
+
<TextArea
|
|
810
|
+
value={draftValue != null ? String(draftValue) : ""}
|
|
811
|
+
onChangeText={onDraftChange}
|
|
812
|
+
placeholder={placeholder || t("Markdown...")}
|
|
813
|
+
disabled={disabled}
|
|
814
|
+
readOnly={readOnly}
|
|
815
|
+
size={knobProps.sizeToken}
|
|
816
|
+
{...restProps}
|
|
817
|
+
/>
|
|
818
|
+
)}
|
|
634
819
|
</CellModalEditor>
|
|
635
820
|
);
|
|
636
821
|
|
|
@@ -642,17 +827,20 @@ export function DataTableCell({
|
|
|
642
827
|
fieldProps={fieldProps}
|
|
643
828
|
disabled={disabled}
|
|
644
829
|
readOnly={readOnly}
|
|
645
|
-
|
|
830
|
+
onCommit={handleChange}
|
|
831
|
+
title={t("Edit code")}
|
|
646
832
|
>
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
833
|
+
{(draftValue, onDraftChange) => (
|
|
834
|
+
<TextArea
|
|
835
|
+
value={draftValue != null ? String(draftValue) : ""}
|
|
836
|
+
onChangeText={onDraftChange}
|
|
837
|
+
placeholder={placeholder || t("Code...")}
|
|
838
|
+
disabled={disabled}
|
|
839
|
+
readOnly={readOnly}
|
|
840
|
+
size={knobProps.sizeToken}
|
|
841
|
+
{...restProps}
|
|
842
|
+
/>
|
|
843
|
+
)}
|
|
656
844
|
</CellModalEditor>
|
|
657
845
|
);
|
|
658
846
|
|
|
@@ -660,14 +848,16 @@ export function DataTableCell({
|
|
|
660
848
|
case "textarea":
|
|
661
849
|
return (
|
|
662
850
|
<CellWrapper>
|
|
663
|
-
<
|
|
664
|
-
value={value
|
|
665
|
-
|
|
851
|
+
<InlineTextEditor
|
|
852
|
+
value={value}
|
|
853
|
+
onCommit={handleChange}
|
|
854
|
+
multiline
|
|
666
855
|
placeholder={placeholder}
|
|
667
856
|
disabled={disabled}
|
|
668
857
|
readOnly={readOnly}
|
|
669
|
-
|
|
670
|
-
{
|
|
858
|
+
sizeToken={knobProps.sizeToken}
|
|
859
|
+
ariaLabel={(restProps as any)["aria-label"] ?? columnLabel ?? columnId}
|
|
860
|
+
restProps={restProps}
|
|
671
861
|
/>
|
|
672
862
|
</CellWrapper>
|
|
673
863
|
);
|
|
@@ -675,22 +865,350 @@ export function DataTableCell({
|
|
|
675
865
|
case "input":
|
|
676
866
|
default:
|
|
677
867
|
return (
|
|
678
|
-
<CellWrapper>
|
|
679
|
-
<
|
|
680
|
-
value={value
|
|
681
|
-
|
|
868
|
+
<CellWrapper justify={cellJustify}>
|
|
869
|
+
<InlineTextEditor
|
|
870
|
+
value={value}
|
|
871
|
+
onCommit={handleChange}
|
|
682
872
|
placeholder={placeholder}
|
|
683
873
|
disabled={disabled}
|
|
684
874
|
readOnly={readOnly}
|
|
685
|
-
|
|
686
|
-
{
|
|
875
|
+
sizeToken={knobProps.sizeToken}
|
|
876
|
+
ariaLabel={(restProps as any)["aria-label"] ?? columnLabel ?? columnId}
|
|
877
|
+
restProps={restProps}
|
|
687
878
|
/>
|
|
688
879
|
</CellWrapper>
|
|
689
880
|
);
|
|
690
881
|
}
|
|
691
882
|
}
|
|
692
883
|
|
|
693
|
-
// ─── Internal
|
|
884
|
+
// ─── Internal helpers ─────────────────────────────────────────
|
|
885
|
+
|
|
886
|
+
// Rating renders 24px stars (~160px for 5 incl gaps) which overlap neighbor
|
|
887
|
+
// columns at typical ~130px cell widths. 16px stars fit.
|
|
888
|
+
function CellStar(props: { size: number; weight: "fill" | "regular"; color: string }) {
|
|
889
|
+
return <Star {...props} size={16} />;
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
/**
|
|
893
|
+
* Draft-until-commit wrapper for inline text editors (input, textarea).
|
|
894
|
+
* Typing edits a local draft; Enter (single-line) or blur commits it via
|
|
895
|
+
* onCommit; Escape restores the pre-edit value without committing.
|
|
896
|
+
*/
|
|
897
|
+
function InlineTextEditor({
|
|
898
|
+
value,
|
|
899
|
+
onCommit,
|
|
900
|
+
multiline,
|
|
901
|
+
placeholder,
|
|
902
|
+
disabled,
|
|
903
|
+
readOnly,
|
|
904
|
+
sizeToken,
|
|
905
|
+
ariaLabel,
|
|
906
|
+
restProps,
|
|
907
|
+
}: {
|
|
908
|
+
value: any;
|
|
909
|
+
onCommit: (value: string) => void;
|
|
910
|
+
multiline?: boolean;
|
|
911
|
+
placeholder?: string;
|
|
912
|
+
disabled?: boolean;
|
|
913
|
+
readOnly?: boolean;
|
|
914
|
+
sizeToken?: string;
|
|
915
|
+
/** Accessible name for the chromeless in-cell editor (column header). */
|
|
916
|
+
ariaLabel?: string;
|
|
917
|
+
restProps: Record<string, any>;
|
|
918
|
+
}) {
|
|
919
|
+
const committed = value != null ? String(value) : "";
|
|
920
|
+
const [draft, setDraft] = useState(committed);
|
|
921
|
+
const [prevCommitted, setPrevCommitted] = useState(committed);
|
|
922
|
+
// The Input field is uncontrolled (value maps to defaultValue), so Escape
|
|
923
|
+
// has to remount it to push the reverted draft back into the DOM.
|
|
924
|
+
const [resetKey, setResetKey] = useState(0);
|
|
925
|
+
const draftRef = useRef(draft);
|
|
926
|
+
draftRef.current = draft;
|
|
927
|
+
const committedRef = useRef(committed);
|
|
928
|
+
committedRef.current = committed;
|
|
929
|
+
|
|
930
|
+
// External value updates (row edits, story controls) reset the draft.
|
|
931
|
+
if (prevCommitted !== committed) {
|
|
932
|
+
setPrevCommitted(committed);
|
|
933
|
+
setDraft(committed);
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
const commit = useCallback(() => {
|
|
937
|
+
if (draftRef.current !== committedRef.current) {
|
|
938
|
+
// Optimistically mark the draft committed so the paired web keydown +
|
|
939
|
+
// native keypress handlers don't double-fire onCommit for one Enter.
|
|
940
|
+
committedRef.current = draftRef.current;
|
|
941
|
+
onCommit(draftRef.current);
|
|
942
|
+
}
|
|
943
|
+
}, [onCommit]);
|
|
944
|
+
|
|
945
|
+
const cancel = useCallback(() => {
|
|
946
|
+
if (draftRef.current === committedRef.current) return;
|
|
947
|
+
setDraft(committedRef.current);
|
|
948
|
+
setResetKey((key) => key + 1);
|
|
949
|
+
}, []);
|
|
950
|
+
|
|
951
|
+
const handleKeyPress = useCallback(
|
|
952
|
+
(event: any) => {
|
|
953
|
+
const key = event?.nativeEvent?.key ?? event?.key;
|
|
954
|
+
if (key === "Escape") cancel();
|
|
955
|
+
else if (key === "Enter" && !multiline) commit();
|
|
956
|
+
},
|
|
957
|
+
[cancel, commit, multiline],
|
|
958
|
+
);
|
|
959
|
+
|
|
960
|
+
const { inputProps: userInputProps, textAreaProps: userTextAreaProps, ...fieldRest } = restProps;
|
|
961
|
+
|
|
962
|
+
if (multiline) {
|
|
963
|
+
return (
|
|
964
|
+
<TextArea
|
|
965
|
+
key={resetKey}
|
|
966
|
+
value={draft}
|
|
967
|
+
onChangeText={setDraft}
|
|
968
|
+
onBlur={commit}
|
|
969
|
+
placeholder={placeholder}
|
|
970
|
+
disabled={disabled}
|
|
971
|
+
readOnly={readOnly}
|
|
972
|
+
size={sizeToken}
|
|
973
|
+
{...fieldRest}
|
|
974
|
+
textAreaProps={{
|
|
975
|
+
...(ariaLabel !== undefined ? { "aria-label": ariaLabel } : undefined),
|
|
976
|
+
...userTextAreaProps,
|
|
977
|
+
// Native fires onKeyPress; the DOM keypress event never fires for
|
|
978
|
+
// Escape, so web needs onKeyDown to see it.
|
|
979
|
+
onKeyPress: handleKeyPress,
|
|
980
|
+
onKeyDown: handleKeyPress,
|
|
981
|
+
onBlur: commit,
|
|
982
|
+
}}
|
|
983
|
+
/>
|
|
984
|
+
);
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
return (
|
|
988
|
+
<Input
|
|
989
|
+
key={resetKey}
|
|
990
|
+
value={draft}
|
|
991
|
+
onChangeText={setDraft}
|
|
992
|
+
onBlur={commit}
|
|
993
|
+
placeholder={placeholder}
|
|
994
|
+
disabled={disabled}
|
|
995
|
+
readOnly={readOnly}
|
|
996
|
+
size={sizeToken}
|
|
997
|
+
{...fieldRest}
|
|
998
|
+
inputProps={{
|
|
999
|
+
...(ariaLabel !== undefined ? { "aria-label": ariaLabel } : undefined),
|
|
1000
|
+
...userInputProps,
|
|
1001
|
+
// Native fires onKeyPress; the DOM keypress event never fires for
|
|
1002
|
+
// Escape, so web needs onKeyDown to see it.
|
|
1003
|
+
onKeyPress: handleKeyPress,
|
|
1004
|
+
onKeyDown: handleKeyPress,
|
|
1005
|
+
onBlur: commit,
|
|
1006
|
+
}}
|
|
1007
|
+
/>
|
|
1008
|
+
);
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
/**
|
|
1012
|
+
* Draft-until-commit wrapper for multi-step / free-entry picker editors
|
|
1013
|
+
* (Stepper, PhoneInput, OTP, MultiDatePicker). The wrapped field
|
|
1014
|
+
* edits a local draft; the draft only reaches the table's commit when the
|
|
1015
|
+
* user confirms — Enter inside a text input, or focus leaving the cell
|
|
1016
|
+
* (which includes dismissing a picker popover by clicking elsewhere).
|
|
1017
|
+
* Escape discards the draft and remounts the field so uncontrolled editors
|
|
1018
|
+
* (Stepper, PhoneInput) and popover-internal state reset to the committed
|
|
1019
|
+
* value.
|
|
1020
|
+
*
|
|
1021
|
+
* mode="change" (DateRangePicker) passes changes straight through to the
|
|
1022
|
+
* table — that picker only emits complete ranges, which are themselves the
|
|
1023
|
+
* confirm gesture — but keeps Escape-remount so a half-picked range (start
|
|
1024
|
+
* chosen, end pending) is discarded instead of lingering in the trigger.
|
|
1025
|
+
*
|
|
1026
|
+
* The picker popovers/panels render inline (CSS position:fixed, no React
|
|
1027
|
+
* portal), so their key and focus events bubble through this wrapper.
|
|
1028
|
+
* Native has no Escape/focus-out vocabulary; changes pass straight through
|
|
1029
|
+
* (previous behavior).
|
|
1030
|
+
*/
|
|
1031
|
+
function DraftFieldEditor({
|
|
1032
|
+
committed,
|
|
1033
|
+
onCommit,
|
|
1034
|
+
mode = "confirm",
|
|
1035
|
+
children,
|
|
1036
|
+
}: {
|
|
1037
|
+
committed: any;
|
|
1038
|
+
onCommit: (value: any) => void;
|
|
1039
|
+
mode?: "confirm" | "change";
|
|
1040
|
+
children: (value: any, onChange: (value: any) => void) => React.ReactNode;
|
|
1041
|
+
}) {
|
|
1042
|
+
const [draft, setDraft] = useState<{ value: any } | null>(null);
|
|
1043
|
+
const [resetKey, setResetKey] = useState(0);
|
|
1044
|
+
const [prevCommitted, setPrevCommitted] = useState(committed);
|
|
1045
|
+
// An interaction "session" starts on pointer-down inside the cell (or on
|
|
1046
|
+
// the first draft change) and installs document-level listeners: Escape
|
|
1047
|
+
// cancels, pointer-down outside the cell subtree commits. This is needed
|
|
1048
|
+
// because picker popovers close via floating-ui's own document Escape
|
|
1049
|
+
// listener while focus sits on document.body (day buttons aren't focus
|
|
1050
|
+
// targets), so React-tree keydown/blur handlers alone never see those
|
|
1051
|
+
// gestures.
|
|
1052
|
+
const [sessionActive, setSessionActive] = useState(false);
|
|
1053
|
+
const containerRef = useRef<HTMLDivElement | null>(null);
|
|
1054
|
+
const draftRef = useRef(draft);
|
|
1055
|
+
draftRef.current = draft;
|
|
1056
|
+
const committedRef = useRef(committed);
|
|
1057
|
+
committedRef.current = committed;
|
|
1058
|
+
const onCommitRef = useRef(onCommit);
|
|
1059
|
+
onCommitRef.current = onCommit;
|
|
1060
|
+
const blurTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
1061
|
+
|
|
1062
|
+
// External value updates (a commit landing, row edits) clear the draft so
|
|
1063
|
+
// the field tracks the new committed value.
|
|
1064
|
+
if (!Object.is(prevCommitted, committed)) {
|
|
1065
|
+
setPrevCommitted(committed);
|
|
1066
|
+
if (draft) setDraft(null);
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
const clearBlurTimer = useCallback(() => {
|
|
1070
|
+
if (blurTimerRef.current) {
|
|
1071
|
+
clearTimeout(blurTimerRef.current);
|
|
1072
|
+
blurTimerRef.current = null;
|
|
1073
|
+
}
|
|
1074
|
+
}, []);
|
|
1075
|
+
|
|
1076
|
+
useEffect(() => clearBlurTimer, [clearBlurTimer]);
|
|
1077
|
+
|
|
1078
|
+
const commitDraft = useCallback(() => {
|
|
1079
|
+
clearBlurTimer();
|
|
1080
|
+
const active = draftRef.current;
|
|
1081
|
+
if (!active) return;
|
|
1082
|
+
if (!Object.is(active.value, committedRef.current)) {
|
|
1083
|
+
// Optimistically mark the draft committed so the Enter path and the
|
|
1084
|
+
// trailing focus-out timer can't double-fire onCommit for one confirm.
|
|
1085
|
+
committedRef.current = active.value;
|
|
1086
|
+
onCommitRef.current(active.value);
|
|
1087
|
+
}
|
|
1088
|
+
// The draft object itself stays until the committed prop catches up (see
|
|
1089
|
+
// render adjustment above) so controlled fields don't flash the stale
|
|
1090
|
+
// value between the commit and the parent's data update.
|
|
1091
|
+
}, [clearBlurTimer]);
|
|
1092
|
+
|
|
1093
|
+
const cancelDraft = useCallback(() => {
|
|
1094
|
+
clearBlurTimer();
|
|
1095
|
+
setSessionActive(false);
|
|
1096
|
+
draftRef.current = null;
|
|
1097
|
+
setDraft(null);
|
|
1098
|
+
// Remount the field: uncontrolled editors and popover-internal state
|
|
1099
|
+
// (DateRange mid-pick) hold edits that no prop change can reset.
|
|
1100
|
+
setResetKey((key) => key + 1);
|
|
1101
|
+
}, [clearBlurTimer]);
|
|
1102
|
+
|
|
1103
|
+
const handleDraftChange = useCallback(
|
|
1104
|
+
(value: any) => {
|
|
1105
|
+
if (mode === "change") {
|
|
1106
|
+
onCommitRef.current(value);
|
|
1107
|
+
return;
|
|
1108
|
+
}
|
|
1109
|
+
draftRef.current = { value };
|
|
1110
|
+
setDraft(draftRef.current);
|
|
1111
|
+
// Wheel/keyboard edits can create a draft without a pointer-down;
|
|
1112
|
+
// make sure the document listeners are active for it.
|
|
1113
|
+
setSessionActive(true);
|
|
1114
|
+
},
|
|
1115
|
+
[mode],
|
|
1116
|
+
);
|
|
1117
|
+
|
|
1118
|
+
useEffect(() => {
|
|
1119
|
+
if (!isWeb || !sessionActive) return undefined;
|
|
1120
|
+
const handleDocKeyDown = (event: KeyboardEvent) => {
|
|
1121
|
+
if (event.key === "Escape") cancelDraft();
|
|
1122
|
+
};
|
|
1123
|
+
const handleDocPointerDown = (event: PointerEvent) => {
|
|
1124
|
+
const node = containerRef.current;
|
|
1125
|
+
if (node && event.target instanceof Node && node.contains(event.target)) return;
|
|
1126
|
+
setSessionActive(false);
|
|
1127
|
+
commitDraft();
|
|
1128
|
+
};
|
|
1129
|
+
document.addEventListener("keydown", handleDocKeyDown, true);
|
|
1130
|
+
document.addEventListener("pointerdown", handleDocPointerDown, true);
|
|
1131
|
+
return () => {
|
|
1132
|
+
document.removeEventListener("keydown", handleDocKeyDown, true);
|
|
1133
|
+
document.removeEventListener("pointerdown", handleDocPointerDown, true);
|
|
1134
|
+
};
|
|
1135
|
+
}, [sessionActive, cancelDraft, commitDraft]);
|
|
1136
|
+
|
|
1137
|
+
if (!isWeb) {
|
|
1138
|
+
return <>{children(committed, (value: any) => onCommitRef.current(value))}</>;
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
const handleKeyDown = (event: React.KeyboardEvent) => {
|
|
1142
|
+
if (event.key === "Escape") {
|
|
1143
|
+
cancelDraft();
|
|
1144
|
+
return;
|
|
1145
|
+
}
|
|
1146
|
+
if (event.key === "Enter" && mode === "confirm") {
|
|
1147
|
+
const target = event.target as HTMLElement | null;
|
|
1148
|
+
// Only confirm from text inputs — Enter on a popover day button is the
|
|
1149
|
+
// button's activation (toggle), not a confirm.
|
|
1150
|
+
if (target && (target.tagName === "INPUT" || target.tagName === "TEXTAREA")) {
|
|
1151
|
+
// Blur first so uncontrolled editors (Stepper) flush their typed
|
|
1152
|
+
// text through onChange before the draft is committed.
|
|
1153
|
+
target.blur?.();
|
|
1154
|
+
commitDraft();
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
};
|
|
1158
|
+
|
|
1159
|
+
// A focus-out schedules the commit; a focus-in landing back inside the
|
|
1160
|
+
// cell (popover day buttons, OTP auto-advance, country combobox) cancels
|
|
1161
|
+
// it — so the draft only commits when focus fully leaves the cell.
|
|
1162
|
+
const handleBlur = () => {
|
|
1163
|
+
clearBlurTimer();
|
|
1164
|
+
blurTimerRef.current = setTimeout(() => {
|
|
1165
|
+
blurTimerRef.current = null;
|
|
1166
|
+
commitDraft();
|
|
1167
|
+
}, 0);
|
|
1168
|
+
};
|
|
1169
|
+
|
|
1170
|
+
return (
|
|
1171
|
+
<div
|
|
1172
|
+
key={resetKey}
|
|
1173
|
+
ref={containerRef}
|
|
1174
|
+
style={{ display: "contents" }}
|
|
1175
|
+
onKeyDown={handleKeyDown}
|
|
1176
|
+
onPointerDownCapture={() => setSessionActive(true)}
|
|
1177
|
+
onFocus={mode === "confirm" ? clearBlurTimer : undefined}
|
|
1178
|
+
onBlur={mode === "confirm" ? handleBlur : undefined}
|
|
1179
|
+
>
|
|
1180
|
+
{children(draft ? draft.value : committed, handleDraftChange)}
|
|
1181
|
+
</div>
|
|
1182
|
+
);
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
const CURRENCY_SYMBOL_TO_CODE: Record<string, string> = {
|
|
1186
|
+
$: "USD",
|
|
1187
|
+
"€": "EUR",
|
|
1188
|
+
"£": "GBP",
|
|
1189
|
+
"¥": "JPY",
|
|
1190
|
+
"₹": "INR",
|
|
1191
|
+
"₩": "KRW",
|
|
1192
|
+
"₽": "RUB",
|
|
1193
|
+
R$: "BRL",
|
|
1194
|
+
};
|
|
1195
|
+
|
|
1196
|
+
const currencyCodeCache = new Map<string, string | undefined>();
|
|
1197
|
+
|
|
1198
|
+
function normalizeCurrencyCode(currency: unknown): string | undefined {
|
|
1199
|
+
if (typeof currency !== "string" || !currency) return undefined;
|
|
1200
|
+
if (currencyCodeCache.has(currency)) return currencyCodeCache.get(currency);
|
|
1201
|
+
const mapped = CURRENCY_SYMBOL_TO_CODE[currency] ?? currency;
|
|
1202
|
+
let resolved: string | undefined;
|
|
1203
|
+
try {
|
|
1204
|
+
new Intl.NumberFormat(undefined, { style: "currency", currency: mapped });
|
|
1205
|
+
resolved = mapped;
|
|
1206
|
+
} catch {
|
|
1207
|
+
resolved = undefined;
|
|
1208
|
+
}
|
|
1209
|
+
currencyCodeCache.set(currency, resolved);
|
|
1210
|
+
return resolved;
|
|
1211
|
+
}
|
|
694
1212
|
|
|
695
1213
|
function CellWrapper({
|
|
696
1214
|
children,
|
|
@@ -703,18 +1221,39 @@ function CellWrapper({
|
|
|
703
1221
|
gap?: string;
|
|
704
1222
|
minWidth?: number;
|
|
705
1223
|
}) {
|
|
1224
|
+
// Fields render chromeless inside cells (useIsInTableCell strips the input
|
|
1225
|
+
// frame), so the cell chrome owns the focus affordance: the knob recipe's
|
|
1226
|
+
// focus-visible ring shows on the cell whenever focus is inside it
|
|
1227
|
+
// (DG-A11Y-01 / Axiom 12 — recipe ring, not a hand-rolled outline).
|
|
1228
|
+
const { control } = useResolvedKnobs();
|
|
1229
|
+
// Column + stretch layout so field roots adopt the cell width (input frames
|
|
1230
|
+
// carry minWidth 0 and shrink to fit); maxWidth + a horizontal-only clip
|
|
1231
|
+
// (overflow-x: clip pairs with overflow-y: visible, unlike hidden) catch
|
|
1232
|
+
// anything that still refuses to shrink, so in-cell editors never overlap
|
|
1233
|
+
// neighbor columns. The vertical axis stays visible because several forms
|
|
1234
|
+
// field frames resolve to 0-height boxes and center their content on the
|
|
1235
|
+
// wrapper's midline — a vertical clip would swallow them. flexGrow fills
|
|
1236
|
+
// the TableCell's height so that midline sits at the row center. Popover
|
|
1237
|
+
// and modal editors position with strategy "fixed", which escapes this
|
|
1238
|
+
// clip and keeps their natural width.
|
|
706
1239
|
return (
|
|
707
1240
|
<View
|
|
708
|
-
flexDirection="
|
|
709
|
-
|
|
710
|
-
justifyContent=
|
|
1241
|
+
flexDirection="column"
|
|
1242
|
+
flexGrow={1}
|
|
1243
|
+
justifyContent="center"
|
|
1244
|
+
alignItems={justify === "flex-start" ? "stretch" : justify}
|
|
711
1245
|
width="100%"
|
|
1246
|
+
maxWidth="100%"
|
|
1247
|
+
// Per-axis overflow is web-only CSS; RN styles know only `overflow`.
|
|
1248
|
+
{...(isWeb ? { overflowX: "clip" as any, overflowY: "visible" as any } : undefined)}
|
|
712
1249
|
gap={gap as any}
|
|
713
1250
|
minWidth={minWidth}
|
|
1251
|
+
// focus-within is a web-only concept; on native the style prop makes the
|
|
1252
|
+
// wrapper claim the responder and Tamagui-driven presses inside the cell
|
|
1253
|
+
// (Checkbox/Switch frames) never fire.
|
|
1254
|
+
{...(isWeb ? { focusWithinStyle: { ...control.focusVisibleKnobProps } } : undefined)}
|
|
714
1255
|
>
|
|
715
1256
|
{children}
|
|
716
1257
|
</View>
|
|
717
1258
|
);
|
|
718
1259
|
}
|
|
719
|
-
|
|
720
|
-
export default DataTableCell;
|