@redsift/table 11.5.0 → 11.6.0-muiv5-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/_virtual/_commonjsHelpers.js +6 -0
  2. package/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/_virtual/_rollupPluginBabelHelpers.js +93 -0
  4. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  5. package/_virtual/index.js +4 -0
  6. package/_virtual/index.js.map +1 -0
  7. package/_virtual/index2.js +4 -0
  8. package/_virtual/index2.js.map +1 -0
  9. package/_virtual/index3.js +4 -0
  10. package/_virtual/index3.js.map +1 -0
  11. package/_virtual/jsx-runtime.js +4 -0
  12. package/_virtual/jsx-runtime.js.map +1 -0
  13. package/_virtual/react-is.development.js +4 -0
  14. package/_virtual/react-is.development.js.map +1 -0
  15. package/_virtual/react-is.development2.js +4 -0
  16. package/_virtual/react-is.development2.js.map +1 -0
  17. package/_virtual/react-is.production.min.js +4 -0
  18. package/_virtual/react-is.production.min.js.map +1 -0
  19. package/_virtual/react-is.production.min2.js +4 -0
  20. package/_virtual/react-is.production.min2.js.map +1 -0
  21. package/_virtual/react-jsx-runtime.development.js +4 -0
  22. package/_virtual/react-jsx-runtime.development.js.map +1 -0
  23. package/_virtual/react-jsx-runtime.production.min.js +4 -0
  24. package/_virtual/react-jsx-runtime.production.min.js.map +1 -0
  25. package/components/BaseComponents/BaseButton.d.ts +5 -0
  26. package/components/BaseComponents/BaseButton.js +41 -0
  27. package/components/BaseComponents/BaseButton.js.map +1 -0
  28. package/components/BaseComponents/BaseCheckbox.d.ts +5 -0
  29. package/components/BaseComponents/BaseCheckbox.js +24 -0
  30. package/components/BaseComponents/BaseCheckbox.js.map +1 -0
  31. package/components/BaseComponents/BaseIcon.d.ts +7 -0
  32. package/components/BaseComponents/BaseIcon.js +33 -0
  33. package/components/BaseComponents/BaseIcon.js.map +1 -0
  34. package/components/BaseComponents/BasePopper.d.ts +5 -0
  35. package/components/BaseComponents/BasePopper.js +13 -0
  36. package/components/BaseComponents/BasePopper.js.map +1 -0
  37. package/components/BaseComponents/BaseTextField.d.ts +5 -0
  38. package/components/BaseComponents/BaseTextField.js +26 -0
  39. package/components/BaseComponents/BaseTextField.js.map +1 -0
  40. package/components/DataGrid/DataGrid.d.ts +6 -0
  41. package/components/DataGrid/DataGrid.js +340 -0
  42. package/components/DataGrid/DataGrid.js.map +1 -0
  43. package/components/DataGrid/styles.js +74 -0
  44. package/components/DataGrid/styles.js.map +1 -0
  45. package/components/DataGrid/types.d.ts +36 -0
  46. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.d.ts +15 -0
  47. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js +183 -0
  48. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js.map +1 -0
  49. package/components/GridToolbarFilterSemanticField/styles.js +20 -0
  50. package/components/GridToolbarFilterSemanticField/styles.js.map +1 -0
  51. package/components/GridToolbarFilterSemanticField/types.d.ts +39 -0
  52. package/components/Pagination/ControlledPagination.d.ts +21 -0
  53. package/components/Pagination/ControlledPagination.js +74 -0
  54. package/components/Pagination/ControlledPagination.js.map +1 -0
  55. package/components/Pagination/ServerSideControlledPagination.d.ts +23 -0
  56. package/components/Pagination/ServerSideControlledPagination.js +102 -0
  57. package/components/Pagination/ServerSideControlledPagination.js.map +1 -0
  58. package/components/StatefulDataGrid/StatefulDataGrid.d.ts +6 -0
  59. package/components/StatefulDataGrid/StatefulDataGrid.js +373 -0
  60. package/components/StatefulDataGrid/StatefulDataGrid.js.map +1 -0
  61. package/components/StatefulDataGrid/types.d.ts +16 -0
  62. package/components/TextCell/TextCell.d.ts +9 -0
  63. package/components/TextCell/TextCell.js +48 -0
  64. package/components/TextCell/TextCell.js.map +1 -0
  65. package/components/TextCell/styles.js +22 -0
  66. package/components/TextCell/styles.js.map +1 -0
  67. package/components/TextCell/types.d.ts +25 -0
  68. package/components/Toolbar/Toolbar.d.ts +20 -0
  69. package/components/Toolbar/Toolbar.js +72 -0
  70. package/components/Toolbar/Toolbar.js.map +1 -0
  71. package/components/Toolbar/styles.js +17 -0
  72. package/components/Toolbar/styles.js.map +1 -0
  73. package/components/Toolbar/types.d.ts +40 -0
  74. package/components/ToolbarWrapper/ToolbarWrapper.d.ts +25 -0
  75. package/components/ToolbarWrapper/ToolbarWrapper.js +60 -0
  76. package/components/ToolbarWrapper/ToolbarWrapper.js.map +1 -0
  77. package/hooks/useControlledDatagridState.js +109 -0
  78. package/hooks/useControlledDatagridState.js.map +1 -0
  79. package/hooks/useFetchState.js +34 -0
  80. package/hooks/useFetchState.js.map +1 -0
  81. package/hooks/useStatefulTable.d.ts +12 -0
  82. package/hooks/useStatefulTable.js +182 -0
  83. package/hooks/useStatefulTable.js.map +1 -0
  84. package/hooks/useTableStates.js +52 -0
  85. package/hooks/useTableStates.js.map +1 -0
  86. package/index.d.ts +40 -629
  87. package/index.js +36 -28267
  88. package/index.js.map +1 -1
  89. package/package.json +6 -6
  90. package/packages/design-system/src/components/theme/context.js +7 -0
  91. package/packages/design-system/src/components/theme/context.js.map +1 -0
  92. package/packages/popovers/src/components/tooltip/Tooltip.js +60 -0
  93. package/packages/popovers/src/components/tooltip/Tooltip.js.map +1 -0
  94. package/packages/popovers/src/components/tooltip/context.js +6 -0
  95. package/packages/popovers/src/components/tooltip/context.js.map +1 -0
  96. package/packages/popovers/src/components/tooltip/types.js +28 -0
  97. package/packages/popovers/src/components/tooltip/types.js.map +1 -0
  98. package/packages/popovers/src/components/tooltip/useTooltip.js +78 -0
  99. package/packages/popovers/src/components/tooltip/useTooltip.js.map +1 -0
  100. package/packages/popovers/src/components/tooltip/useTooltipContext.js +13 -0
  101. package/packages/popovers/src/components/tooltip/useTooltipContext.js.map +1 -0
  102. package/packages/popovers/src/components/tooltip-content/TooltipContent.js +79 -0
  103. package/packages/popovers/src/components/tooltip-content/TooltipContent.js.map +1 -0
  104. package/packages/popovers/src/components/tooltip-content/styles.js +127 -0
  105. package/packages/popovers/src/components/tooltip-content/styles.js.map +1 -0
  106. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js +47 -0
  107. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js.map +1 -0
  108. package/utils/columnTypes/index.d.ts +78 -0
  109. package/utils/columnTypes/index.js +49 -0
  110. package/utils/columnTypes/index.js.map +1 -0
  111. package/utils/columns/detailPanelToggleColDef.d.ts +5 -0
  112. package/utils/columns/detailPanelToggleColDef.js +8 -0
  113. package/utils/columns/detailPanelToggleColDef.js.map +1 -0
  114. package/utils/fields/InputNumberInterval.js +85 -0
  115. package/utils/fields/InputNumberInterval.js.map +1 -0
  116. package/utils/gpt.d.ts +3 -0
  117. package/utils/gpt.js +33 -0
  118. package/utils/gpt.js.map +1 -0
  119. package/utils/localStorage.d.ts +17 -0
  120. package/utils/localStorage.js +59 -0
  121. package/utils/localStorage.js.map +1 -0
  122. package/utils/operators/index.d.ts +68 -0
  123. package/utils/operators/index.js +52 -0
  124. package/utils/operators/index.js.map +1 -0
  125. package/utils/operators/numeric/getGridNumericOperators.d.ts +5 -0
  126. package/utils/operators/numeric/getGridNumericOperators.js +7 -0
  127. package/utils/operators/numeric/getGridNumericOperators.js.map +1 -0
  128. package/utils/operators/numeric/isBetween.d.ts +10 -0
  129. package/utils/operators/numeric/isBetween.js +28 -0
  130. package/utils/operators/numeric/isBetween.js.map +1 -0
  131. package/utils/operators/string/doesNotContain.d.ts +10 -0
  132. package/utils/operators/string/doesNotContain.js +25 -0
  133. package/utils/operators/string/doesNotContain.js.map +1 -0
  134. package/utils/operators/string/doesNotEqual.d.ts +10 -0
  135. package/utils/operators/string/doesNotEqual.js +25 -0
  136. package/utils/operators/string/doesNotEqual.js.map +1 -0
  137. package/utils/operators/string/doesNotHave.d.ts +16 -0
  138. package/utils/operators/string/doesNotHave.js +24 -0
  139. package/utils/operators/string/doesNotHave.js.map +1 -0
  140. package/utils/operators/string/getGridStringOperators.d.ts +5 -0
  141. package/utils/operators/string/getGridStringOperators.js +9 -0
  142. package/utils/operators/string/getGridStringOperators.js.map +1 -0
  143. package/utils/operators/string/has.d.ts +16 -0
  144. package/utils/operators/string/has.js +24 -0
  145. package/utils/operators/string/has.js.map +1 -0
  146. package/utils/operators/string/hasOnly.d.ts +16 -0
  147. package/utils/operators/string/hasOnly.js +24 -0
  148. package/utils/operators/string/hasOnly.js.map +1 -0
  149. package/utils/operators/string/is.d.ts +16 -0
  150. package/utils/operators/string/is.js +26 -0
  151. package/utils/operators/string/is.js.map +1 -0
  152. package/utils/operators/string/isNot.d.ts +16 -0
  153. package/utils/operators/string/isNot.js +26 -0
  154. package/utils/operators/string/isNot.js.map +1 -0
  155. package/utils/operators/string-array/containsAnyOf.d.ts +16 -0
  156. package/utils/operators/string-array/containsAnyOf.js +56 -0
  157. package/utils/operators/string-array/containsAnyOf.js.map +1 -0
  158. package/utils/operators/string-array/doesNotHaveAnyOf.js +26 -0
  159. package/utils/operators/string-array/doesNotHaveAnyOf.js.map +1 -0
  160. package/utils/operators/string-array/endsWithAnyOf.d.ts +10 -0
  161. package/utils/operators/string-array/endsWithAnyOf.js +31 -0
  162. package/utils/operators/string-array/endsWithAnyOf.js.map +1 -0
  163. package/utils/operators/string-array/getGridStringArrayOperators.d.ts +7 -0
  164. package/utils/operators/string-array/getGridStringArrayOperators.js +19 -0
  165. package/utils/operators/string-array/getGridStringArrayOperators.js.map +1 -0
  166. package/utils/operators/string-array/hasAnyOf.d.ts +16 -0
  167. package/utils/operators/string-array/hasAnyOf.js +28 -0
  168. package/utils/operators/string-array/hasAnyOf.js.map +1 -0
  169. package/utils/operators/string-array/isAnyOf.d.ts +16 -0
  170. package/utils/operators/string-array/isAnyOf.js +32 -0
  171. package/utils/operators/string-array/isAnyOf.js.map +1 -0
  172. package/utils/operators/string-array/isNotAnyOf.d.ts +10 -0
  173. package/utils/operators/string-array/isNotAnyOf.js +28 -0
  174. package/utils/operators/string-array/isNotAnyOf.js.map +1 -0
  175. package/utils/operators/string-array/startsWithAnyOf.d.ts +10 -0
  176. package/utils/operators/string-array/startsWithAnyOf.js +31 -0
  177. package/utils/operators/string-array/startsWithAnyOf.js.map +1 -0
  178. package/utils/urlLocalStorageSync.d.ts +73 -0
  179. package/utils/urlLocalStorageSync.js +756 -0
  180. package/utils/urlLocalStorageSync.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStatefulTable.js","sources":["../../src/hooks/useStatefulTable.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo } from 'react';\nimport { useTableStates } from './useTableStates';\nimport {\n GridCallbackDetails,\n GridColDef,\n GridColumnResizeParams,\n GridFilterItem,\n GridFilterModel,\n GridPinnedColumns,\n GridSortModel,\n} from '@mui/x-data-grid-pro';\nimport { clearPreviousVersionStorage } from '../utils/localStorage';\nimport { getModelsParsedOrUpdateLocalStorage, updateUrl } from '../utils/urlLocalStorageSync';\nimport { GridApiPro } from '@mui/x-data-grid-pro/models/gridApiPro';\nimport { StatefulDataGridProps } from '../components/StatefulDataGrid';\nimport { DataGridProps } from '../components/DataGrid';\n\nexport interface UseStatefulTableProps\n extends Pick<\n StatefulDataGridProps,\n | 'columns'\n | 'onColumnVisibilityModelChange'\n | 'onColumnWidthChange'\n | 'onFilterModelChange'\n | 'onPageChange'\n | 'onPageSizeChange'\n | 'onPinnedColumnsChange'\n | 'onSortModelChange'\n | 'useRouter'\n | 'localStorageVersion'\n | 'previousLocalStorageVersions'\n | 'initialState'\n >,\n Required<Pick<StatefulDataGridProps, 'apiRef'>> {\n // density?: GridDensity;\n}\n\nexport interface ExtendedGridFilterItem extends GridFilterItem {\n type?: string;\n}\n\nexport interface ExtendedGridFilterModel extends GridFilterModel {\n quickFilterValues?: string[];\n}\n\nexport interface ExtendedGridPaginationModel {\n page: number;\n pageSize: number;\n direction?: 'next' | 'back';\n}\n\nexport interface ExtendedGridApiPro extends GridApiPro {\n resetPage?: () => void;\n}\n\nexport interface UseStatefulTableReponse extends DataGridProps {}\n\nexport const useStatefulTable = (props: UseStatefulTableProps): UseStatefulTableReponse => {\n const {\n // density = 'standard',\n apiRef,\n initialState,\n columns: propsColumns,\n onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,\n onColumnWidthChange: propsOnColumnWidthChange,\n onFilterModelChange: propsOnFilterModelChange,\n onPageChange: propsOnPageChange,\n onPageSizeChange: propsOnPageSizeChange,\n onPinnedColumnsChange: propsOnPinnedColumnsChange,\n onSortModelChange: propsOnSortModelChange,\n useRouter,\n localStorageVersion = 1,\n previousLocalStorageVersions = [],\n } = props;\n\n const { search, pathname, historyReplace } = useRouter();\n\n const id = pathname;\n\n // States and setters persisted in the local storage for this table\n const {\n paginationModel,\n setPaginationModel,\n sortModel,\n setSortModel,\n localStorageFilters,\n setLocalStorageFilters,\n visibilityModelLocalStorage,\n setVisibilityModelLocalStorage,\n pinnedColumns,\n setPinnedColumns,\n dimensionModel,\n setDimensionModel,\n } = useTableStates(id, localStorageVersion);\n\n // clearing up old version keys\n useEffect(() => clearPreviousVersionStorage(id, previousLocalStorageVersions), [id, previousLocalStorageVersions]);\n\n const onColumnDimensionChange = useCallback(\n ({\n newWidth,\n field,\n }: {\n newWidth: GridColumnResizeParams['width'];\n field: GridColumnResizeParams['colDef']['field'];\n }) => {\n setDimensionModel({ ...dimensionModel, [field]: newWidth });\n },\n [dimensionModel, setDimensionModel]\n );\n\n const {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: paginationModelParsed,\n columnVisibilityModel: visibilityModel,\n pinnedColumnsModel,\n } = getModelsParsedOrUpdateLocalStorage(\n search || '',\n localStorageVersion,\n propsColumns,\n historyReplace,\n initialState,\n {\n localStorageFilters,\n setLocalStorageFilters,\n localStorageSorting: sortModel,\n setLocalStorageSorting: setSortModel,\n localStoragePagination: paginationModel,\n setLocalStoragePagination: setPaginationModel,\n localStorageColumnsVisibility: visibilityModelLocalStorage,\n setLocalStorageColumnsVisibility: setVisibilityModelLocalStorage,\n localStoragePinnedColumns: pinnedColumns,\n setLocalStoragePinnedColumns: setPinnedColumns,\n }\n );\n\n const columns = useMemo(\n () =>\n propsColumns.map((column: GridColDef) => {\n column.width = dimensionModel[column.field] || column.width || 100;\n return column;\n }),\n [propsColumns, dimensionModel]\n );\n\n /** Add resetPage method to apiRef. */\n (apiRef.current as ExtendedGridApiPro).resetPage = () => {\n apiRef.current.setPage(0);\n };\n\n return {\n apiRef,\n columns,\n onFilterModelChange: (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\n const filterModel: GridFilterModel = {\n ...model,\n items: model.items.map((item) => {\n const column = apiRef.current.getColumn(item.columnField);\n (item as ExtendedGridFilterItem).type = column.type || 'string';\n return item;\n }),\n quickFilterValues: model.quickFilterValues || [],\n };\n propsOnFilterModelChange?.(filterModel, details);\n updateUrl(\n {\n filterModel: filterModel,\n sortModel: sortModelParsed,\n paginationModel: paginationModelParsed,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n filterModel: filterParsed,\n onSortModelChange: (model: GridSortModel, details: GridCallbackDetails) => {\n propsOnSortModelChange?.(model, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: model,\n paginationModel: paginationModelParsed,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n sortModel: sortModelParsed,\n onPinnedColumnsChange: (pinnedColumns: GridPinnedColumns, details: GridCallbackDetails) => {\n propsOnPinnedColumnsChange?.(pinnedColumns, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: paginationModelParsed,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumns,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n pinnedColumns: pinnedColumnsModel,\n page: paginationModelParsed.page,\n pageSize: paginationModelParsed.pageSize,\n onPageChange: (page, details) => {\n const direction = paginationModelParsed.page < page ? 'next' : 'back';\n propsOnPageChange?.(page, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: {\n page,\n pageSize: paginationModelParsed.pageSize,\n direction,\n } as ExtendedGridPaginationModel,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n onPageSizeChange: (pageSize, details) => {\n propsOnPageSizeChange?.(pageSize, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: {\n page: paginationModelParsed.page,\n pageSize,\n direction: paginationModelParsed.direction,\n } as ExtendedGridPaginationModel,\n columnsModel: apiRef.current.state.columns.columnVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n columnVisibilityModel: visibilityModel,\n onColumnVisibilityModelChange: (columnsVisibilityModel, details) => {\n propsOnColumnVisibilityModelChange?.(columnsVisibilityModel, details);\n updateUrl(\n {\n filterModel: filterParsed,\n sortModel: sortModelParsed,\n paginationModel: paginationModelParsed,\n columnsModel: columnsVisibilityModel,\n pinnedColumnsModel: pinnedColumnsModel,\n },\n search,\n localStorageVersion,\n historyReplace,\n columns\n );\n },\n onColumnWidthChange: (params, event, details) => {\n propsOnColumnWidthChange?.(params, event, details);\n onColumnDimensionChange({ newWidth: params.width, field: params.colDef.field });\n },\n };\n};\n"],"names":["useStatefulTable","props","apiRef","initialState","columns","propsColumns","onColumnVisibilityModelChange","propsOnColumnVisibilityModelChange","onColumnWidthChange","propsOnColumnWidthChange","onFilterModelChange","propsOnFilterModelChange","onPageChange","propsOnPageChange","onPageSizeChange","propsOnPageSizeChange","onPinnedColumnsChange","propsOnPinnedColumnsChange","onSortModelChange","propsOnSortModelChange","useRouter","localStorageVersion","previousLocalStorageVersions","search","pathname","historyReplace","id","paginationModel","setPaginationModel","sortModel","setSortModel","localStorageFilters","setLocalStorageFilters","visibilityModelLocalStorage","setVisibilityModelLocalStorage","pinnedColumns","setPinnedColumns","dimensionModel","setDimensionModel","useTableStates","useEffect","clearPreviousVersionStorage","onColumnDimensionChange","useCallback","_ref","newWidth","field","_objectSpread","filterModel","filterParsed","sortModelParsed","paginationModelParsed","columnVisibilityModel","visibilityModel","pinnedColumnsModel","getModelsParsedOrUpdateLocalStorage","localStorageSorting","setLocalStorageSorting","localStoragePagination","setLocalStoragePagination","localStorageColumnsVisibility","setLocalStorageColumnsVisibility","localStoragePinnedColumns","setLocalStoragePinnedColumns","useMemo","map","column","width","current","resetPage","setPage","model","details","items","item","getColumn","columnField","type","quickFilterValues","updateUrl","columnsModel","state","page","pageSize","direction","columnsVisibilityModel","params","event","colDef"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { buildStorageKey, PAGINATION_MODEL_KEY, SORT_MODEL_KEY, FILTER_SEARCH_KEY, VISIBILITY_MODEL_KEY, PINNED_COLUMNS, DIMENSION_MODEL_KEY } from '../utils/localStorage.js';
2
+ import { useFetchState } from './useFetchState.js';
3
+
4
+ const useTableStates = (id, version) => {
5
+ const [paginationModel, setPaginationModel] = useFetchState('', buildStorageKey({
6
+ id,
7
+ version,
8
+ category: PAGINATION_MODEL_KEY
9
+ }));
10
+ const [sortModel, setSortModel] = useFetchState('', buildStorageKey({
11
+ id,
12
+ version,
13
+ category: SORT_MODEL_KEY
14
+ }));
15
+ const [localStorageFilters, setLocalStorageFilters] = useFetchState('', buildStorageKey({
16
+ id,
17
+ version,
18
+ category: FILTER_SEARCH_KEY
19
+ }));
20
+ const [visibilityModelLocalStorage, setVisibilityModelLocalStorage] = useFetchState('', buildStorageKey({
21
+ id,
22
+ version,
23
+ category: VISIBILITY_MODEL_KEY
24
+ }));
25
+ const [pinnedColumns, setPinnedColumns] = useFetchState('_pinnedColumnsLeft=[]&_pinnedColumnsRight=[]', buildStorageKey({
26
+ id,
27
+ version,
28
+ category: PINNED_COLUMNS
29
+ }));
30
+ const [dimensionModel, setDimensionModel] = useFetchState({}, buildStorageKey({
31
+ id,
32
+ version,
33
+ category: DIMENSION_MODEL_KEY
34
+ }));
35
+ return {
36
+ paginationModel,
37
+ setPaginationModel,
38
+ sortModel,
39
+ setSortModel,
40
+ localStorageFilters,
41
+ setLocalStorageFilters,
42
+ visibilityModelLocalStorage,
43
+ setVisibilityModelLocalStorage,
44
+ pinnedColumns,
45
+ setPinnedColumns,
46
+ dimensionModel,
47
+ setDimensionModel
48
+ };
49
+ };
50
+
51
+ export { useTableStates };
52
+ //# sourceMappingURL=useTableStates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableStates.js","sources":["../../src/hooks/useTableStates.tsx"],"sourcesContent":["import {\n buildStorageKey,\n DIMENSION_MODEL_KEY,\n FILTER_SEARCH_KEY,\n PAGINATION_MODEL_KEY,\n PINNED_COLUMNS,\n SORT_MODEL_KEY,\n VISIBILITY_MODEL_KEY,\n} from '../utils/localStorage';\nimport { useFetchState } from './useFetchState';\n\nexport const useTableStates = (id: string, version: number) => {\n const [paginationModel, setPaginationModel] = useFetchState(\n '',\n buildStorageKey({ id, version, category: PAGINATION_MODEL_KEY })\n );\n\n const [sortModel, setSortModel] = useFetchState('', buildStorageKey({ id, version, category: SORT_MODEL_KEY }));\n\n const [localStorageFilters, setLocalStorageFilters] = useFetchState(\n '',\n buildStorageKey({ id, version, category: FILTER_SEARCH_KEY })\n );\n\n const [visibilityModelLocalStorage, setVisibilityModelLocalStorage] = useFetchState(\n '',\n buildStorageKey({ id, version, category: VISIBILITY_MODEL_KEY })\n );\n\n const [pinnedColumns, setPinnedColumns] = useFetchState(\n '_pinnedColumnsLeft=[]&_pinnedColumnsRight=[]',\n buildStorageKey({ id, version, category: PINNED_COLUMNS })\n );\n\n const [dimensionModel, setDimensionModel] = useFetchState(\n {},\n buildStorageKey({ id, version, category: DIMENSION_MODEL_KEY })\n );\n\n return {\n paginationModel,\n setPaginationModel,\n sortModel,\n setSortModel,\n localStorageFilters,\n setLocalStorageFilters,\n visibilityModelLocalStorage,\n setVisibilityModelLocalStorage,\n pinnedColumns,\n setPinnedColumns,\n dimensionModel,\n setDimensionModel,\n };\n};\n"],"names":["useTableStates","id","version","paginationModel","setPaginationModel","useFetchState","buildStorageKey","category","PAGINATION_MODEL_KEY","sortModel","setSortModel","SORT_MODEL_KEY","localStorageFilters","setLocalStorageFilters","FILTER_SEARCH_KEY","visibilityModelLocalStorage","setVisibilityModelLocalStorage","VISIBILITY_MODEL_KEY","pinnedColumns","setPinnedColumns","PINNED_COLUMNS","dimensionModel","setDimensionModel","DIMENSION_MODEL_KEY"],"mappings":";;;MAWaA,cAAc,GAAGA,CAACC,EAAU,EAAEC,OAAe,KAAK;EAC7D,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGC,aAAa,CACzD,EAAE,EACFC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEC,oBAAAA;AAAqB,GAAC,CACjE,CAAC,CAAA;EAED,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGL,aAAa,CAAC,EAAE,EAAEC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEI,cAAAA;AAAe,GAAC,CAAC,CAAC,CAAA;EAE/G,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGR,aAAa,CACjE,EAAE,EACFC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEO,iBAAAA;AAAkB,GAAC,CAC9D,CAAC,CAAA;EAED,MAAM,CAACC,2BAA2B,EAAEC,8BAA8B,CAAC,GAAGX,aAAa,CACjF,EAAE,EACFC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEU,oBAAAA;AAAqB,GAAC,CACjE,CAAC,CAAA;EAED,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGd,aAAa,CACrD,8CAA8C,EAC9CC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEa,cAAAA;AAAe,GAAC,CAC3D,CAAC,CAAA;AAED,EAAA,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGjB,aAAa,CACvD,EAAE,EACFC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEgB,mBAAAA;AAAoB,GAAC,CAChE,CAAC,CAAA;EAED,OAAO;IACLpB,eAAe;IACfC,kBAAkB;IAClBK,SAAS;IACTC,YAAY;IACZE,mBAAmB;IACnBC,sBAAsB;IACtBE,2BAA2B;IAC3BC,8BAA8B;IAC9BE,aAAa;IACbC,gBAAgB;IAChBE,cAAc;AACdC,IAAAA,iBAAAA;GACD,CAAA;AACH;;;;"}