@tanstack/table-core 9.0.0-alpha.34 → 9.0.0-alpha.37

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 (145) hide show
  1. package/dist/core/columns/constructColumn.cjs.map +1 -1
  2. package/dist/core/columns/constructColumn.js.map +1 -1
  3. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  4. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  5. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  6. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  7. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  8. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  9. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  10. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  11. package/dist/core/rows/constructRow.cjs.map +1 -1
  12. package/dist/core/rows/constructRow.js.map +1 -1
  13. package/dist/core/table/constructTable.cjs +2 -1
  14. package/dist/core/table/constructTable.cjs.map +1 -1
  15. package/dist/core/table/constructTable.js +2 -1
  16. package/dist/core/table/constructTable.js.map +1 -1
  17. package/dist/core/table/coreTablesFeature.utils.cjs +1 -1
  18. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  19. package/dist/core/table/coreTablesFeature.utils.js +2 -2
  20. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  21. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  22. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  23. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  24. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  25. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  26. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  27. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +2 -2
  28. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  29. package/dist/features/column-filtering/columnFilteringFeature.utils.js +3 -3
  30. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  31. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  32. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  33. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  34. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  35. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +2 -2
  36. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  37. package/dist/features/column-grouping/columnGroupingFeature.utils.js +3 -3
  38. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  39. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  40. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  41. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +3 -2
  42. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  43. package/dist/features/column-ordering/columnOrderingFeature.utils.js +3 -2
  44. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  45. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +3 -3
  46. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  47. package/dist/features/column-pinning/columnPinningFeature.utils.js +4 -4
  48. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  49. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +4 -3
  50. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  51. package/dist/features/column-resizing/columnResizingFeature.utils.js +4 -3
  52. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  53. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +4 -4
  54. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  55. package/dist/features/column-sizing/columnSizingFeature.utils.js +5 -5
  56. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  57. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +2 -2
  58. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  59. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +3 -3
  60. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  61. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +1 -1
  62. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  63. package/dist/features/global-filtering/globalFilteringFeature.utils.js +2 -2
  64. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  65. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  66. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  67. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +3 -2
  68. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  69. package/dist/features/row-expanding/rowExpandingFeature.utils.js +4 -2
  70. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  71. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  72. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  73. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +19 -13
  74. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  75. package/dist/features/row-pagination/rowPaginationFeature.utils.js +20 -14
  76. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  77. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +3 -3
  78. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  79. package/dist/features/row-pinning/rowPinningFeature.utils.js +4 -4
  80. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  81. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +3 -2
  82. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  83. package/dist/features/row-selection/rowSelectionFeature.utils.js +4 -2
  84. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  85. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  86. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  87. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +2 -2
  88. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  89. package/dist/features/row-sorting/rowSortingFeature.utils.js +3 -3
  90. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  91. package/dist/flex-render.cjs +19 -0
  92. package/dist/flex-render.cjs.map +1 -0
  93. package/dist/flex-render.d.cts +24 -0
  94. package/dist/flex-render.d.ts +24 -0
  95. package/dist/flex-render.js +16 -0
  96. package/dist/flex-render.js.map +1 -0
  97. package/dist/fns/filterFns.cjs.map +1 -1
  98. package/dist/fns/filterFns.js.map +1 -1
  99. package/dist/index.cjs +1 -2
  100. package/dist/index.d.cts +2 -3
  101. package/dist/index.d.ts +2 -3
  102. package/dist/index.js +2 -3
  103. package/dist/utils.cjs +12 -0
  104. package/dist/utils.cjs.map +1 -1
  105. package/dist/utils.d.cts +2 -1
  106. package/dist/utils.d.ts +2 -1
  107. package/dist/utils.js +12 -1
  108. package/dist/utils.js.map +1 -1
  109. package/package.json +5 -1
  110. package/src/core/columns/coreColumnsFeature.utils.ts +1 -1
  111. package/src/core/row-models/createCoreRowModel.ts +1 -1
  112. package/src/core/rows/constructRow.ts +1 -1
  113. package/src/core/table/constructTable.ts +4 -5
  114. package/src/core/table/coreTablesFeature.utils.ts +2 -2
  115. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  116. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  117. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  118. package/src/features/column-filtering/columnFilteringFeature.utils.ts +8 -13
  119. package/src/features/column-filtering/createFilteredRowModel.ts +1 -1
  120. package/src/features/column-grouping/columnGroupingFeature.utils.ts +7 -7
  121. package/src/features/column-grouping/createGroupedRowModel.ts +1 -1
  122. package/src/features/column-ordering/columnOrderingFeature.utils.ts +3 -2
  123. package/src/features/column-pinning/columnPinningFeature.utils.ts +6 -4
  124. package/src/features/column-resizing/columnResizingFeature.utils.ts +6 -3
  125. package/src/features/column-sizing/columnSizingFeature.utils.ts +5 -5
  126. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +3 -3
  127. package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -5
  128. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  129. package/src/features/row-expanding/rowExpandingFeature.utils.ts +4 -3
  130. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  131. package/src/features/row-pagination/rowPaginationFeature.utils.ts +20 -16
  132. package/src/features/row-pinning/rowPinningFeature.utils.ts +6 -4
  133. package/src/features/row-selection/rowSelectionFeature.utils.ts +5 -6
  134. package/src/features/row-sorting/createSortedRowModel.ts +3 -4
  135. package/src/features/row-sorting/rowSortingFeature.utils.ts +7 -9
  136. package/src/flex-render.ts +60 -0
  137. package/src/index.ts +0 -1
  138. package/src/utils.ts +24 -0
  139. package/dist/helpers/tableHelper.cjs +0 -21
  140. package/dist/helpers/tableHelper.cjs.map +0 -1
  141. package/dist/helpers/tableHelper.d.cts +0 -30
  142. package/dist/helpers/tableHelper.d.ts +0 -30
  143. package/dist/helpers/tableHelper.js +0 -21
  144. package/dist/helpers/tableHelper.js.map +0 -1
  145. package/src/helpers/tableHelper.ts +0 -61
@@ -1,17 +1,17 @@
1
- import { callMemoOrStaticFn } from "../../utils.js";
1
+ import { callMemoOrStaticFn, cloneState } from "../../utils.js";
2
2
  import { table_getCenterHeaderGroups, table_getLeftHeaderGroups, table_getPinnedVisibleLeafColumns, table_getRightHeaderGroups } from "../column-pinning/columnPinningFeature.utils.js";
3
3
  import { column_getIndex } from "../column-ordering/columnOrderingFeature.utils.js";
4
4
 
5
5
  //#region src/features/column-sizing/columnSizingFeature.utils.ts
6
6
  function getDefaultColumnSizingState() {
7
- return structuredClone({});
7
+ return {};
8
8
  }
9
9
  function getDefaultColumnSizingColumnDef() {
10
- return structuredClone({
10
+ return {
11
11
  size: 150,
12
12
  minSize: 20,
13
13
  maxSize: Number.MAX_SAFE_INTEGER
14
- });
14
+ };
15
15
  }
16
16
  function column_getSize(column) {
17
17
  var _column$table$atoms$c;
@@ -52,7 +52,7 @@ function table_setColumnSizing(table, updater) {
52
52
  (_table$options$onColu = (_table$options = table.options).onColumnSizingChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
53
53
  }
54
54
  function table_resetColumnSizing(table, defaultState) {
55
- table_setColumnSizing(table, defaultState ? {} : table.initialState.columnSizing ?? {});
55
+ table_setColumnSizing(table, defaultState ? {} : cloneState(table.initialState.columnSizing ?? {}));
56
56
  }
57
57
  function table_getTotalSize(table) {
58
58
  var _table$getHeaderGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"columnSizingFeature.utils.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.utils.ts"],"sourcesContent":["import {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getPinnedVisibleLeafColumns,\n table_getRightHeaderGroups,\n} from '../column-pinning/columnPinningFeature.utils'\nimport { column_getIndex } from '../column-ordering/columnOrderingFeature.utils'\nimport { callMemoOrStaticFn } from '../../utils'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnSizingState } from './columnSizingFeature.types'\n\nexport function getDefaultColumnSizingState(): ColumnSizingState {\n return structuredClone({})\n}\n\nexport function getDefaultColumnSizingColumnDef() {\n return structuredClone({\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER,\n })\n}\n\nexport function column_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n const defaultSizes = getDefaultColumnSizingColumnDef()\n const columnSize = column.table.atoms.columnSizing?.get()?.[column.id]\n\n return Math.min(\n Math.max(\n column.columnDef.minSize ?? defaultSizes.minSize,\n columnSize ?? column.columnDef.size ?? defaultSizes.size,\n ),\n column.columnDef.maxSize ?? defaultSizes.maxSize,\n )\n}\n\nexport function column_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n\n return visibleLeafColumns\n .slice(0, callMemoOrStaticFn(column, 'getIndex', column_getIndex, position))\n .reduce((sum: number, c) => sum + column_getSize(c), 0)\n}\n\nexport function column_getAfter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n\n return visibleLeafColumns\n .slice(\n callMemoOrStaticFn(column, 'getIndex', column_getIndex, position) + 1,\n )\n .reduce((sum: number, c) => sum + column_getSize(c), 0)\n}\n\nexport function column_resetSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setColumnSizing(column.table, ({ [column.id]: _, ...rest }) => {\n return rest\n })\n}\n\nexport function header_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>) {\n let sum = 0\n\n const recurse = (h: Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.forEach(recurse)\n } else {\n sum += column_getSize(h.column)\n }\n }\n\n recurse(header)\n\n return sum\n}\n\nexport function header_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>): number {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup?.headers[header.index - 1]\n if (prevSiblingHeader) {\n return (\n header_getStart(prevSiblingHeader) + header_getSize(prevSiblingHeader)\n )\n }\n }\n\n return 0\n}\n\n// Table APIs\n\nexport function table_setColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnSizingState>,\n) {\n table.options.onColumnSizingChange?.(updater)\n}\n\nexport function table_resetColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnSizing(\n table,\n defaultState ? {} : (table.initialState.columnSizing ?? {}),\n )\n}\n\nexport function table_getTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\nexport function table_getLeftTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\nexport function table_getCenterTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\nexport function table_getRightTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n"],"mappings":";;;;;AAgBA,SAAgB,8BAAiD;AAC/D,QAAO,gBAAgB,EAAE,CAAC;;AAG5B,SAAgB,kCAAkC;AAChD,QAAO,gBAAgB;EACrB,MAAM;EACN,SAAS;EACT,SAAS,OAAO;EACjB,CAAC;;AAGJ,SAAgB,eAId,QAA2D;;CAC3D,MAAM,eAAe,iCAAiC;CACtD,MAAM,sCAAa,OAAO,MAAM,MAAM,6GAAc,KAAK,gFAAG,OAAO;AAEnE,QAAO,KAAK,IACV,KAAK,IACH,OAAO,UAAU,WAAW,aAAa,SACzC,cAAc,OAAO,UAAU,QAAQ,aAAa,KACrD,EACD,OAAO,UAAU,WAAW,aAAa,QAC1C;;AAGH,SAAgB,gBAKd,QACA,UACQ;AAQR,QAP2B,mBACzB,OAAO,OACP,+BACA,mCACA,SACD,CAGE,MAAM,GAAG,mBAAmB,QAAQ,YAAY,iBAAiB,SAAS,CAAC,CAC3E,QAAQ,KAAa,MAAM,MAAM,eAAe,EAAE,EAAE,EAAE;;AAG3D,SAAgB,gBAKd,QACA,UACQ;AAQR,QAP2B,mBACzB,OAAO,OACP,+BACA,mCACA,SACD,CAGE,MACC,mBAAmB,QAAQ,YAAY,iBAAiB,SAAS,GAAG,EACrE,CACA,QAAQ,KAAa,MAAM,MAAM,eAAe,EAAE,EAAE,EAAE;;AAG3D,SAAgB,iBAId,QAAmD;AACnD,uBAAsB,OAAO,QAAQ,GAAG,OAAO,KAAK,GAAG,GAAG,WAAW;AACnE,SAAO;GACP;;AAGJ,SAAgB,eAId,QAA0C;CAC1C,IAAI,MAAM;CAEV,MAAM,WAAW,MAAwC;AACvD,MAAI,EAAE,WAAW,OACf,GAAE,WAAW,QAAQ,QAAQ;MAE7B,QAAO,eAAe,EAAE,OAAO;;AAInC,SAAQ,OAAO;AAEf,QAAO;;AAGT,SAAgB,gBAId,QAAkD;AAClD,KAAI,OAAO,QAAQ,GAAG;;EACpB,MAAM,2CAAoB,OAAO,uFAAa,QAAQ,OAAO,QAAQ;AACrE,MAAI,kBACF,QACE,gBAAgB,kBAAkB,GAAG,eAAe,kBAAkB;;AAK5E,QAAO;;AAKT,SAAgB,sBAId,OACA,SACA;;AACA,kDAAM,SAAQ,iHAAuB,QAAQ;;AAG/C,SAAgB,wBAGd,OAAyC,cAAwB;AACjE,uBACE,OACA,eAAe,EAAE,GAAI,MAAM,aAAa,gBAAgB,EAAE,CAC3D;;AAGH,SAAgB,mBAGd,OAAyC;;AACzC,kCACE,MAAM,iBAAiB,CAAC,kFAAI,QAAQ,QAAQ,KAAK,WAAW;AAC1D,SAAO,MAAM,eAAe,OAAO;IAClC,EAAE,KAAI;;AAIb,SAAgB,uBAGd,OAAyC;;AACzC,iCACE,mBACE,OACA,uBACA,0BACD,CAAC,gFAAI,QAAQ,QAAQ,KAAa,WAAqC;AACtE,SAAO,MAAM,eAAe,OAAO;IAClC,EAAE,KAAI;;AAIb,SAAgB,yBAGd,OAAyC;;AACzC,kCACE,mBACE,OACA,yBACA,4BACD,CAAC,kFAAI,QAAQ,QAAQ,KAAa,WAAqC;AACtE,SAAO,MAAM,eAAe,OAAO;IAClC,EAAE,KAAI;;AAIb,SAAgB,wBAGd,OAAyC;;AACzC,kCACE,mBACE,OACA,wBACA,2BACD,CAAC,kFAAI,QAAQ,QAAQ,KAAa,WAAqC;AACtE,SAAO,MAAM,eAAe,OAAO;IAClC,EAAE,KAAI"}
1
+ {"version":3,"file":"columnSizingFeature.utils.js","names":[],"sources":["../../../src/features/column-sizing/columnSizingFeature.utils.ts"],"sourcesContent":["import {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getPinnedVisibleLeafColumns,\n table_getRightHeaderGroups,\n} from '../column-pinning/columnPinningFeature.utils'\nimport { column_getIndex } from '../column-ordering/columnOrderingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnSizingState } from './columnSizingFeature.types'\n\nexport function getDefaultColumnSizingState(): ColumnSizingState {\n return {}\n}\n\nexport function getDefaultColumnSizingColumnDef() {\n return {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER,\n }\n}\n\nexport function column_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n const defaultSizes = getDefaultColumnSizingColumnDef()\n const columnSize = column.table.atoms.columnSizing?.get()?.[column.id]\n\n return Math.min(\n Math.max(\n column.columnDef.minSize ?? defaultSizes.minSize,\n columnSize ?? column.columnDef.size ?? defaultSizes.size,\n ),\n column.columnDef.maxSize ?? defaultSizes.maxSize,\n )\n}\n\nexport function column_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n\n return visibleLeafColumns\n .slice(0, callMemoOrStaticFn(column, 'getIndex', column_getIndex, position))\n .reduce((sum: number, c) => sum + column_getSize(c), 0)\n}\n\nexport function column_getAfter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position: ColumnPinningPosition | 'center',\n): number {\n const visibleLeafColumns = callMemoOrStaticFn(\n column.table,\n 'getPinnedVisibleLeafColumns',\n table_getPinnedVisibleLeafColumns,\n position,\n )\n\n return visibleLeafColumns\n .slice(\n callMemoOrStaticFn(column, 'getIndex', column_getIndex, position) + 1,\n )\n .reduce((sum: number, c) => sum + column_getSize(c), 0)\n}\n\nexport function column_resetSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setColumnSizing(column.table, ({ [column.id]: _, ...rest }) => {\n return rest\n })\n}\n\nexport function header_getSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>) {\n let sum = 0\n\n const recurse = (h: Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.forEach(recurse)\n } else {\n sum += column_getSize(h.column)\n }\n }\n\n recurse(header)\n\n return sum\n}\n\nexport function header_getStart<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(header: Header<TFeatures, TData, TValue>): number {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup?.headers[header.index - 1]\n if (prevSiblingHeader) {\n return (\n header_getStart(prevSiblingHeader) + header_getSize(prevSiblingHeader)\n )\n }\n }\n\n return 0\n}\n\n// Table APIs\n\nexport function table_setColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnSizingState>,\n) {\n table.options.onColumnSizingChange?.(updater)\n}\n\nexport function table_resetColumnSizing<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnSizing(\n table,\n defaultState ? {} : cloneState(table.initialState.columnSizing ?? {}),\n )\n}\n\nexport function table_getTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\nexport function table_getLeftTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\nexport function table_getCenterTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n\nexport function table_getRightTotalSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )[0]?.headers.reduce((sum: number, header: Header<TFeatures, TData>) => {\n return sum + header_getSize(header)\n }, 0) ?? 0\n )\n}\n"],"mappings":";;;;;AAgBA,SAAgB,8BAAiD;AAC/D,QAAO,EAAE;;AAGX,SAAgB,kCAAkC;AAChD,QAAO;EACL,MAAM;EACN,SAAS;EACT,SAAS,OAAO;EACjB;;AAGH,SAAgB,eAId,QAA2D;;CAC3D,MAAM,eAAe,iCAAiC;CACtD,MAAM,sCAAa,OAAO,MAAM,MAAM,6GAAc,KAAK,gFAAG,OAAO;AAEnE,QAAO,KAAK,IACV,KAAK,IACH,OAAO,UAAU,WAAW,aAAa,SACzC,cAAc,OAAO,UAAU,QAAQ,aAAa,KACrD,EACD,OAAO,UAAU,WAAW,aAAa,QAC1C;;AAGH,SAAgB,gBAKd,QACA,UACQ;AAQR,QAP2B,mBACzB,OAAO,OACP,+BACA,mCACA,SAGuB,CACtB,MAAM,GAAG,mBAAmB,QAAQ,YAAY,iBAAiB,SAAS,CAAC,CAC3E,QAAQ,KAAa,MAAM,MAAM,eAAe,EAAE,EAAE,EAAE;;AAG3D,SAAgB,gBAKd,QACA,UACQ;AAQR,QAP2B,mBACzB,OAAO,OACP,+BACA,mCACA,SAGuB,CACtB,MACC,mBAAmB,QAAQ,YAAY,iBAAiB,SAAS,GAAG,EACrE,CACA,QAAQ,KAAa,MAAM,MAAM,eAAe,EAAE,EAAE,EAAE;;AAG3D,SAAgB,iBAId,QAAmD;AACnD,uBAAsB,OAAO,QAAQ,GAAG,OAAO,KAAK,GAAG,GAAG,WAAW;AACnE,SAAO;GACP;;AAGJ,SAAgB,eAId,QAA0C;CAC1C,IAAI,MAAM;CAEV,MAAM,WAAW,MAAwC;AACvD,MAAI,EAAE,WAAW,OACf,GAAE,WAAW,QAAQ,QAAQ;MAE7B,QAAO,eAAe,EAAE,OAAO;;AAInC,SAAQ,OAAO;AAEf,QAAO;;AAGT,SAAgB,gBAId,QAAkD;AAClD,KAAI,OAAO,QAAQ,GAAG;;EACpB,MAAM,2CAAoB,OAAO,uFAAa,QAAQ,OAAO,QAAQ;AACrE,MAAI,kBACF,QACE,gBAAgB,kBAAkB,GAAG,eAAe,kBAAkB;;AAK5E,QAAO;;AAKT,SAAgB,sBAId,OACA,SACA;;AACA,kDAAM,SAAQ,iHAAuB,QAAQ;;AAG/C,SAAgB,wBAGd,OAAyC,cAAwB;AACjE,uBACE,OACA,eAAe,EAAE,GAAG,WAAW,MAAM,aAAa,gBAAgB,EAAE,CAAC,CACtE;;AAGH,SAAgB,mBAGd,OAAyC;;AACzC,kCACE,MAAM,iBAAiB,CAAC,kFAAI,QAAQ,QAAQ,KAAK,WAAW;AAC1D,SAAO,MAAM,eAAe,OAAO;IAClC,EAAE,KAAI;;AAIb,SAAgB,uBAGd,OAAyC;;AACzC,iCACE,mBACE,OACA,uBACA,0BACD,CAAC,gFAAI,QAAQ,QAAQ,KAAa,WAAqC;AACtE,SAAO,MAAM,eAAe,OAAO;IAClC,EAAE,KAAI;;AAIb,SAAgB,yBAGd,OAAyC;;AACzC,kCACE,mBACE,OACA,yBACA,4BACD,CAAC,kFAAI,QAAQ,QAAQ,KAAa,WAAqC;AACtE,SAAO,MAAM,eAAe,OAAO;IAClC,EAAE,KAAI;;AAIb,SAAgB,wBAGd,OAAyC;;AACzC,kCACE,mBACE,OACA,wBACA,2BACD,CAAC,kFAAI,QAAQ,QAAQ,KAAa,WAAqC;AACtE,SAAO,MAAM,eAAe,OAAO;IAClC,EAAE,KAAI"}
@@ -2,7 +2,7 @@ const require_utils = require('../../utils.cjs');
2
2
 
3
3
  //#region src/features/column-visibility/columnVisibilityFeature.utils.ts
4
4
  function getDefaultColumnVisibilityState() {
5
- return structuredClone({});
5
+ return {};
6
6
  }
7
7
  function column_toggleVisibility(column, visible) {
8
8
  if (column_getCanHide(column)) table_setColumnVisibility(column.table, (old) => ({
@@ -44,7 +44,7 @@ function table_setColumnVisibility(table, updater) {
44
44
  (_table$options$onColu = (_table$options = table.options).onColumnVisibilityChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
45
45
  }
46
46
  function table_resetColumnVisibility(table, defaultState) {
47
- table_setColumnVisibility(table, defaultState ? {} : table.initialState.columnVisibility ?? {});
47
+ table_setColumnVisibility(table, defaultState ? {} : require_utils.cloneState(table.initialState.columnVisibility ?? {}));
48
48
  }
49
49
  function table_toggleAllColumnsVisible(table, value) {
50
50
  value = value ?? !table_getIsAllColumnsVisible(table);
@@ -1 +1 @@
1
- {"version":3,"file":"columnVisibilityFeature.utils.cjs","names":["callMemoOrStaticFn"],"sources":["../../../src/features/column-visibility/columnVisibilityFeature.utils.ts"],"sourcesContent":["import { callMemoOrStaticFn } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Cell } from '../../types/Cell'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnVisibilityState } from './columnVisibilityFeature.types'\nimport type { Row } from '../../types/Row'\n\nexport function getDefaultColumnVisibilityState(): ColumnVisibilityState {\n return structuredClone({})\n}\n\nexport function column_toggleVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, visible?: boolean): void {\n if (column_getCanHide(column)) {\n table_setColumnVisibility(column.table, (old) => ({\n ...old,\n [column.id]:\n visible ??\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n }))\n }\n}\n\nexport function column_getIsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n const childColumns = column.columns\n return (\n (childColumns.length\n ? childColumns.some((childColumn) =>\n callMemoOrStaticFn(childColumn, 'getIsVisible', column_getIsVisible),\n )\n : column.table.atoms.columnVisibility?.get()?.[column.id]) ?? true\n )\n}\n\nexport function column_getCanHide<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (column.table.options.enableHiding ?? true)\n )\n}\n\nexport function column_getToggleVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (e: unknown) => {\n column_toggleVisibility(\n column,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nexport function row_getAllVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return row\n .getAllCells()\n .filter((cell) =>\n callMemoOrStaticFn(cell.column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function row_getVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n left: Array<Cell<TFeatures, TData, unknown>>,\n center: Array<Cell<TFeatures, TData, unknown>>,\n right: Array<Cell<TFeatures, TData, unknown>>,\n) {\n return [...left, ...center, ...right]\n}\n\nexport function table_getVisibleFlatColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllFlatColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_setColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnVisibilityState>,\n) {\n table.options.onColumnVisibilityChange?.(updater)\n}\n\nexport function table_resetColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnVisibility(\n table,\n defaultState ? {} : (table.initialState.columnVisibility ?? {}),\n )\n}\n\nexport function table_toggleAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n value = value ?? !table_getIsAllColumnsVisible(table)\n\n table_setColumnVisibility(\n table,\n table.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column_getCanHide(column) : value,\n }),\n {},\n ),\n )\n}\n\nexport function table_getIsAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return !table\n .getAllLeafColumns()\n .some(\n (column) =>\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getIsSomeColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .some((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getToggleAllColumnsVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllColumnsVisible(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n"],"mappings":";;;AASA,SAAgB,kCAAyD;AACvE,QAAO,gBAAgB,EAAE,CAAC;;AAG5B,SAAgB,wBAId,QAAmD,SAAyB;AAC5E,KAAI,kBAAkB,OAAO,CAC3B,2BAA0B,OAAO,QAAQ,SAAS;EAChD,GAAG;GACF,OAAO,KACN,WACA,CAACA,iCAAmB,QAAQ,gBAAgB,oBAAoB;EACnE,EAAE;;AAIP,SAAgB,oBAId,QAA4D;;CAC5D,MAAM,eAAe,OAAO;AAC5B,SACG,aAAa,SACV,aAAa,MAAM,gBACjBA,iCAAmB,aAAa,gBAAgB,oBAAoB,CACrE,4BACD,OAAO,MAAM,MAAM,iHAAkB,KAAK,gFAAG,OAAO,QAAQ;;AAIpE,SAAgB,kBAId,QAAmD;AACnD,SACG,OAAO,UAAU,gBAAgB,UACjC,OAAO,MAAM,QAAQ,gBAAgB;;AAI1C,SAAgB,kCAId,QAAmD;AACnD,SAAQ,MAAe;AACrB,0BACE,QACE,EAAiB,OAA4B,QAChD;;;AAIL,SAAgB,uBAGd,KAA4B;AAC5B,QAAO,IACJ,aAAa,CACb,QAAQ,SACPA,iCAAmB,KAAK,QAAQ,gBAAgB,oBAAoB,CACrE;;AAGL,SAAgB,oBAId,MACA,QACA,OACA;AACA,QAAO;EAAC,GAAG;EAAM,GAAG;EAAQ,GAAG;EAAM;;AAGvC,SAAgB,4BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,QAAQ,WACPA,iCAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,4BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,QAAQ,WACPA,iCAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,0BAId,OACA,SACA;;AACA,kDAAM,SAAQ,qHAA2B,QAAQ;;AAGnD,SAAgB,4BAGd,OAAyC,cAAwB;AACjE,2BACE,OACA,eAAe,EAAE,GAAI,MAAM,aAAa,oBAAoB,EAAE,CAC/D;;AAGH,SAAgB,8BAGd,OAAyC,OAAiB;AAC1D,SAAQ,SAAS,CAAC,6BAA6B,MAAM;AAErD,2BACE,OACA,MAAM,mBAAmB,CAAC,QACvB,KAAK,YAAY;EAChB,GAAG;GACF,OAAO,KAAK,CAAC,QAAQ,CAAC,kBAAkB,OAAO,GAAG;EACpD,GACD,EAAE,CACH,CACF;;AAGH,SAAgB,6BAGd,OAAyC;AACzC,QAAO,CAAC,MACL,mBAAmB,CACnB,MACE,WACC,CAACA,iCAAmB,QAAQ,gBAAgB,oBAAoB,CACnE;;AAGL,SAAgB,8BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,MAAM,WACLA,iCAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,2CAGd,OAAyC;AACzC,SAAQ,MAAe;AACrB,gCACE,OACE,EAAiB,OAA4B,QAChD"}
1
+ {"version":3,"file":"columnVisibilityFeature.utils.cjs","names":["callMemoOrStaticFn","cloneState"],"sources":["../../../src/features/column-visibility/columnVisibilityFeature.utils.ts"],"sourcesContent":["import { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Cell } from '../../types/Cell'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnVisibilityState } from './columnVisibilityFeature.types'\nimport type { Row } from '../../types/Row'\n\nexport function getDefaultColumnVisibilityState(): ColumnVisibilityState {\n return {}\n}\n\nexport function column_toggleVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, visible?: boolean): void {\n if (column_getCanHide(column)) {\n table_setColumnVisibility(column.table, (old) => ({\n ...old,\n [column.id]:\n visible ??\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n }))\n }\n}\n\nexport function column_getIsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n const childColumns = column.columns\n return (\n (childColumns.length\n ? childColumns.some((childColumn) =>\n callMemoOrStaticFn(childColumn, 'getIsVisible', column_getIsVisible),\n )\n : column.table.atoms.columnVisibility?.get()?.[column.id]) ?? true\n )\n}\n\nexport function column_getCanHide<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (column.table.options.enableHiding ?? true)\n )\n}\n\nexport function column_getToggleVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (e: unknown) => {\n column_toggleVisibility(\n column,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nexport function row_getAllVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return row\n .getAllCells()\n .filter((cell) =>\n callMemoOrStaticFn(cell.column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function row_getVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n left: Array<Cell<TFeatures, TData, unknown>>,\n center: Array<Cell<TFeatures, TData, unknown>>,\n right: Array<Cell<TFeatures, TData, unknown>>,\n) {\n return [...left, ...center, ...right]\n}\n\nexport function table_getVisibleFlatColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllFlatColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_setColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnVisibilityState>,\n) {\n table.options.onColumnVisibilityChange?.(updater)\n}\n\nexport function table_resetColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnVisibility(\n table,\n defaultState ? {} : cloneState(table.initialState.columnVisibility ?? {}),\n )\n}\n\nexport function table_toggleAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n value = value ?? !table_getIsAllColumnsVisible(table)\n\n table_setColumnVisibility(\n table,\n table.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column_getCanHide(column) : value,\n }),\n {},\n ),\n )\n}\n\nexport function table_getIsAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return !table\n .getAllLeafColumns()\n .some(\n (column) =>\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getIsSomeColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .some((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getToggleAllColumnsVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllColumnsVisible(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n"],"mappings":";;;AASA,SAAgB,kCAAyD;AACvE,QAAO,EAAE;;AAGX,SAAgB,wBAId,QAAmD,SAAyB;AAC5E,KAAI,kBAAkB,OAAO,CAC3B,2BAA0B,OAAO,QAAQ,SAAS;EAChD,GAAG;GACF,OAAO,KACN,WACA,CAACA,iCAAmB,QAAQ,gBAAgB,oBAAoB;EACnE,EAAE;;AAIP,SAAgB,oBAId,QAA4D;;CAC5D,MAAM,eAAe,OAAO;AAC5B,SACG,aAAa,SACV,aAAa,MAAM,gBACjBA,iCAAmB,aAAa,gBAAgB,oBAAoB,CACrE,4BACD,OAAO,MAAM,MAAM,iHAAkB,KAAK,gFAAG,OAAO,QAAQ;;AAIpE,SAAgB,kBAId,QAAmD;AACnD,SACG,OAAO,UAAU,gBAAgB,UACjC,OAAO,MAAM,QAAQ,gBAAgB;;AAI1C,SAAgB,kCAId,QAAmD;AACnD,SAAQ,MAAe;AACrB,0BACE,QACE,EAAiB,OAA4B,QAChD;;;AAIL,SAAgB,uBAGd,KAA4B;AAC5B,QAAO,IACJ,aAAa,CACb,QAAQ,SACPA,iCAAmB,KAAK,QAAQ,gBAAgB,oBAAoB,CACrE;;AAGL,SAAgB,oBAId,MACA,QACA,OACA;AACA,QAAO;EAAC,GAAG;EAAM,GAAG;EAAQ,GAAG;EAAM;;AAGvC,SAAgB,4BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,QAAQ,WACPA,iCAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,4BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,QAAQ,WACPA,iCAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,0BAId,OACA,SACA;;AACA,kDAAM,SAAQ,qHAA2B,QAAQ;;AAGnD,SAAgB,4BAGd,OAAyC,cAAwB;AACjE,2BACE,OACA,eAAe,EAAE,GAAGC,yBAAW,MAAM,aAAa,oBAAoB,EAAE,CAAC,CAC1E;;AAGH,SAAgB,8BAGd,OAAyC,OAAiB;AAC1D,SAAQ,SAAS,CAAC,6BAA6B,MAAM;AAErD,2BACE,OACA,MAAM,mBAAmB,CAAC,QACvB,KAAK,YAAY;EAChB,GAAG;GACF,OAAO,KAAK,CAAC,QAAQ,CAAC,kBAAkB,OAAO,GAAG;EACpD,GACD,EAAE,CACH,CACF;;AAGH,SAAgB,6BAGd,OAAyC;AACzC,QAAO,CAAC,MACL,mBAAmB,CACnB,MACE,WACC,CAACD,iCAAmB,QAAQ,gBAAgB,oBAAoB,CACnE;;AAGL,SAAgB,8BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,MAAM,WACLA,iCAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,2CAGd,OAAyC;AACzC,SAAQ,MAAe;AACrB,gCACE,OACE,EAAiB,OAA4B,QAChD"}
@@ -1,8 +1,8 @@
1
- import { callMemoOrStaticFn } from "../../utils.js";
1
+ import { callMemoOrStaticFn, cloneState } from "../../utils.js";
2
2
 
3
3
  //#region src/features/column-visibility/columnVisibilityFeature.utils.ts
4
4
  function getDefaultColumnVisibilityState() {
5
- return structuredClone({});
5
+ return {};
6
6
  }
7
7
  function column_toggleVisibility(column, visible) {
8
8
  if (column_getCanHide(column)) table_setColumnVisibility(column.table, (old) => ({
@@ -44,7 +44,7 @@ function table_setColumnVisibility(table, updater) {
44
44
  (_table$options$onColu = (_table$options = table.options).onColumnVisibilityChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
45
45
  }
46
46
  function table_resetColumnVisibility(table, defaultState) {
47
- table_setColumnVisibility(table, defaultState ? {} : table.initialState.columnVisibility ?? {});
47
+ table_setColumnVisibility(table, defaultState ? {} : cloneState(table.initialState.columnVisibility ?? {}));
48
48
  }
49
49
  function table_toggleAllColumnsVisible(table, value) {
50
50
  value = value ?? !table_getIsAllColumnsVisible(table);
@@ -1 +1 @@
1
- {"version":3,"file":"columnVisibilityFeature.utils.js","names":[],"sources":["../../../src/features/column-visibility/columnVisibilityFeature.utils.ts"],"sourcesContent":["import { callMemoOrStaticFn } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Cell } from '../../types/Cell'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnVisibilityState } from './columnVisibilityFeature.types'\nimport type { Row } from '../../types/Row'\n\nexport function getDefaultColumnVisibilityState(): ColumnVisibilityState {\n return structuredClone({})\n}\n\nexport function column_toggleVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, visible?: boolean): void {\n if (column_getCanHide(column)) {\n table_setColumnVisibility(column.table, (old) => ({\n ...old,\n [column.id]:\n visible ??\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n }))\n }\n}\n\nexport function column_getIsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n const childColumns = column.columns\n return (\n (childColumns.length\n ? childColumns.some((childColumn) =>\n callMemoOrStaticFn(childColumn, 'getIsVisible', column_getIsVisible),\n )\n : column.table.atoms.columnVisibility?.get()?.[column.id]) ?? true\n )\n}\n\nexport function column_getCanHide<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (column.table.options.enableHiding ?? true)\n )\n}\n\nexport function column_getToggleVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (e: unknown) => {\n column_toggleVisibility(\n column,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nexport function row_getAllVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return row\n .getAllCells()\n .filter((cell) =>\n callMemoOrStaticFn(cell.column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function row_getVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n left: Array<Cell<TFeatures, TData, unknown>>,\n center: Array<Cell<TFeatures, TData, unknown>>,\n right: Array<Cell<TFeatures, TData, unknown>>,\n) {\n return [...left, ...center, ...right]\n}\n\nexport function table_getVisibleFlatColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllFlatColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_setColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnVisibilityState>,\n) {\n table.options.onColumnVisibilityChange?.(updater)\n}\n\nexport function table_resetColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnVisibility(\n table,\n defaultState ? {} : (table.initialState.columnVisibility ?? {}),\n )\n}\n\nexport function table_toggleAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n value = value ?? !table_getIsAllColumnsVisible(table)\n\n table_setColumnVisibility(\n table,\n table.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column_getCanHide(column) : value,\n }),\n {},\n ),\n )\n}\n\nexport function table_getIsAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return !table\n .getAllLeafColumns()\n .some(\n (column) =>\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getIsSomeColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .some((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getToggleAllColumnsVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllColumnsVisible(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n"],"mappings":";;;AASA,SAAgB,kCAAyD;AACvE,QAAO,gBAAgB,EAAE,CAAC;;AAG5B,SAAgB,wBAId,QAAmD,SAAyB;AAC5E,KAAI,kBAAkB,OAAO,CAC3B,2BAA0B,OAAO,QAAQ,SAAS;EAChD,GAAG;GACF,OAAO,KACN,WACA,CAAC,mBAAmB,QAAQ,gBAAgB,oBAAoB;EACnE,EAAE;;AAIP,SAAgB,oBAId,QAA4D;;CAC5D,MAAM,eAAe,OAAO;AAC5B,SACG,aAAa,SACV,aAAa,MAAM,gBACjB,mBAAmB,aAAa,gBAAgB,oBAAoB,CACrE,4BACD,OAAO,MAAM,MAAM,iHAAkB,KAAK,gFAAG,OAAO,QAAQ;;AAIpE,SAAgB,kBAId,QAAmD;AACnD,SACG,OAAO,UAAU,gBAAgB,UACjC,OAAO,MAAM,QAAQ,gBAAgB;;AAI1C,SAAgB,kCAId,QAAmD;AACnD,SAAQ,MAAe;AACrB,0BACE,QACE,EAAiB,OAA4B,QAChD;;;AAIL,SAAgB,uBAGd,KAA4B;AAC5B,QAAO,IACJ,aAAa,CACb,QAAQ,SACP,mBAAmB,KAAK,QAAQ,gBAAgB,oBAAoB,CACrE;;AAGL,SAAgB,oBAId,MACA,QACA,OACA;AACA,QAAO;EAAC,GAAG;EAAM,GAAG;EAAQ,GAAG;EAAM;;AAGvC,SAAgB,4BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,QAAQ,WACP,mBAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,4BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,QAAQ,WACP,mBAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,0BAId,OACA,SACA;;AACA,kDAAM,SAAQ,qHAA2B,QAAQ;;AAGnD,SAAgB,4BAGd,OAAyC,cAAwB;AACjE,2BACE,OACA,eAAe,EAAE,GAAI,MAAM,aAAa,oBAAoB,EAAE,CAC/D;;AAGH,SAAgB,8BAGd,OAAyC,OAAiB;AAC1D,SAAQ,SAAS,CAAC,6BAA6B,MAAM;AAErD,2BACE,OACA,MAAM,mBAAmB,CAAC,QACvB,KAAK,YAAY;EAChB,GAAG;GACF,OAAO,KAAK,CAAC,QAAQ,CAAC,kBAAkB,OAAO,GAAG;EACpD,GACD,EAAE,CACH,CACF;;AAGH,SAAgB,6BAGd,OAAyC;AACzC,QAAO,CAAC,MACL,mBAAmB,CACnB,MACE,WACC,CAAC,mBAAmB,QAAQ,gBAAgB,oBAAoB,CACnE;;AAGL,SAAgB,8BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,MAAM,WACL,mBAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,2CAGd,OAAyC;AACzC,SAAQ,MAAe;AACrB,gCACE,OACE,EAAiB,OAA4B,QAChD"}
1
+ {"version":3,"file":"columnVisibilityFeature.utils.js","names":[],"sources":["../../../src/features/column-visibility/columnVisibilityFeature.utils.ts"],"sourcesContent":["import { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Cell } from '../../types/Cell'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnVisibilityState } from './columnVisibilityFeature.types'\nimport type { Row } from '../../types/Row'\n\nexport function getDefaultColumnVisibilityState(): ColumnVisibilityState {\n return {}\n}\n\nexport function column_toggleVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, visible?: boolean): void {\n if (column_getCanHide(column)) {\n table_setColumnVisibility(column.table, (old) => ({\n ...old,\n [column.id]:\n visible ??\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n }))\n }\n}\n\nexport function column_getIsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n const childColumns = column.columns\n return (\n (childColumns.length\n ? childColumns.some((childColumn) =>\n callMemoOrStaticFn(childColumn, 'getIsVisible', column_getIsVisible),\n )\n : column.table.atoms.columnVisibility?.get()?.[column.id]) ?? true\n )\n}\n\nexport function column_getCanHide<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (column.table.options.enableHiding ?? true)\n )\n}\n\nexport function column_getToggleVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (e: unknown) => {\n column_toggleVisibility(\n column,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nexport function row_getAllVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return row\n .getAllCells()\n .filter((cell) =>\n callMemoOrStaticFn(cell.column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function row_getVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n left: Array<Cell<TFeatures, TData, unknown>>,\n center: Array<Cell<TFeatures, TData, unknown>>,\n right: Array<Cell<TFeatures, TData, unknown>>,\n) {\n return [...left, ...center, ...right]\n}\n\nexport function table_getVisibleFlatColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllFlatColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_setColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnVisibilityState>,\n) {\n table.options.onColumnVisibilityChange?.(updater)\n}\n\nexport function table_resetColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnVisibility(\n table,\n defaultState ? {} : cloneState(table.initialState.columnVisibility ?? {}),\n )\n}\n\nexport function table_toggleAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n value = value ?? !table_getIsAllColumnsVisible(table)\n\n table_setColumnVisibility(\n table,\n table.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column_getCanHide(column) : value,\n }),\n {},\n ),\n )\n}\n\nexport function table_getIsAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return !table\n .getAllLeafColumns()\n .some(\n (column) =>\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getIsSomeColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .some((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\nexport function table_getToggleAllColumnsVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllColumnsVisible(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n"],"mappings":";;;AASA,SAAgB,kCAAyD;AACvE,QAAO,EAAE;;AAGX,SAAgB,wBAId,QAAmD,SAAyB;AAC5E,KAAI,kBAAkB,OAAO,CAC3B,2BAA0B,OAAO,QAAQ,SAAS;EAChD,GAAG;GACF,OAAO,KACN,WACA,CAAC,mBAAmB,QAAQ,gBAAgB,oBAAoB;EACnE,EAAE;;AAIP,SAAgB,oBAId,QAA4D;;CAC5D,MAAM,eAAe,OAAO;AAC5B,SACG,aAAa,SACV,aAAa,MAAM,gBACjB,mBAAmB,aAAa,gBAAgB,oBAAoB,CACrE,4BACD,OAAO,MAAM,MAAM,iHAAkB,KAAK,gFAAG,OAAO,QAAQ;;AAIpE,SAAgB,kBAId,QAAmD;AACnD,SACG,OAAO,UAAU,gBAAgB,UACjC,OAAO,MAAM,QAAQ,gBAAgB;;AAI1C,SAAgB,kCAId,QAAmD;AACnD,SAAQ,MAAe;AACrB,0BACE,QACE,EAAiB,OAA4B,QAChD;;;AAIL,SAAgB,uBAGd,KAA4B;AAC5B,QAAO,IACJ,aAAa,CACb,QAAQ,SACP,mBAAmB,KAAK,QAAQ,gBAAgB,oBAAoB,CACrE;;AAGL,SAAgB,oBAId,MACA,QACA,OACA;AACA,QAAO;EAAC,GAAG;EAAM,GAAG;EAAQ,GAAG;EAAM;;AAGvC,SAAgB,4BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,QAAQ,WACP,mBAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,4BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,QAAQ,WACP,mBAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,0BAId,OACA,SACA;;AACA,kDAAM,SAAQ,qHAA2B,QAAQ;;AAGnD,SAAgB,4BAGd,OAAyC,cAAwB;AACjE,2BACE,OACA,eAAe,EAAE,GAAG,WAAW,MAAM,aAAa,oBAAoB,EAAE,CAAC,CAC1E;;AAGH,SAAgB,8BAGd,OAAyC,OAAiB;AAC1D,SAAQ,SAAS,CAAC,6BAA6B,MAAM;AAErD,2BACE,OACA,MAAM,mBAAmB,CAAC,QACvB,KAAK,YAAY;EAChB,GAAG;GACF,OAAO,KAAK,CAAC,QAAQ,CAAC,kBAAkB,OAAO,GAAG;EACpD,GACD,EAAE,CACH,CACF;;AAGH,SAAgB,6BAGd,OAAyC;AACzC,QAAO,CAAC,MACL,mBAAmB,CACnB,MACE,WACC,CAAC,mBAAmB,QAAQ,gBAAgB,oBAAoB,CACnE;;AAGL,SAAgB,8BAGd,OAAyC;AACzC,QAAO,MACJ,mBAAmB,CACnB,MAAM,WACL,mBAAmB,QAAQ,gBAAgB,oBAAoB,CAChE;;AAGL,SAAgB,2CAGd,OAAyC;AACzC,SAAQ,MAAe;AACrB,gCACE,OACE,EAAiB,OAA4B,QAChD"}
@@ -19,7 +19,7 @@ function table_setGlobalFilter(table, updater) {
19
19
  (_table$options$onGlob = (_table$options = table.options).onGlobalFilterChange) === null || _table$options$onGlob === void 0 || _table$options$onGlob.call(_table$options, updater);
20
20
  }
21
21
  function table_resetGlobalFilter(table, defaultState) {
22
- table_setGlobalFilter(table, defaultState ? void 0 : table.initialState.globalFilter);
22
+ table_setGlobalFilter(table, defaultState ? void 0 : require_utils.cloneState(table.initialState.globalFilter));
23
23
  }
24
24
 
25
25
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"globalFilteringFeature.utils.cjs","names":["filterFn_includesString","isFunction"],"sources":["../../../src/features/global-filtering/globalFilteringFeature.utils.ts"],"sourcesContent":["import { filterFn_includesString } from '../../fns/filterFns'\nimport { isFunction } from '../../utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { FilterFn } from '../column-filtering/columnFilteringFeature.types'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\n\nexport function column_getCanGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return (\n (column.columnDef.enableGlobalFilter ?? true) &&\n (column.table.options.enableGlobalFilter ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n (column.table.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function table_getGlobalAutoFilterFn() {\n return filterFn_includesString\n}\n\nexport function table_getGlobalFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): FilterFn<TFeatures, TData> | FilterFn<TFeatures, TData> | undefined {\n const { globalFilterFn: globalFilterFn } = table.options\n const filterFns = table._rowModelFns.filterFns as\n | Record<string, FilterFn<TFeatures, TData>>\n | undefined\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? table_getGlobalAutoFilterFn()\n : filterFns?.[globalFilterFn as string]\n}\n\nexport function table_setGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: any) {\n table.options.onGlobalFilterChange?.(updater)\n}\n\nexport function table_resetGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setGlobalFilter(\n table,\n defaultState ? undefined : table.initialState.globalFilter,\n )\n}\n"],"mappings":";;;;AAQA,SAAgB,0BAId,QAA4D;;AAC5D,SACG,OAAO,UAAU,sBAAsB,UACvC,OAAO,MAAM,QAAQ,sBAAsB,UAC3C,OAAO,MAAM,QAAQ,iBAAiB,8DACtC,OAAO,MAAM,SAAQ,qIAA2B,OAAO,KAAI,SAC5D,CAAC,CAAC,OAAO;;AAIb,SAAgB,8BAA8B;AAC5C,QAAOA;;AAGT,SAAgB,wBAId,OACqE;CACrE,MAAM,EAAkB,mBAAmB,MAAM;CACjD,MAAM,YAAY,MAAM,aAAa;AAIrC,QAAOC,yBAAW,eAAe,GAC7B,iBACA,mBAAmB,SACjB,6BAA6B,yDAC7B,UAAY;;AAGpB,SAAgB,sBAGd,OAAyC,SAAc;;AACvD,kDAAM,SAAQ,iHAAuB,QAAQ;;AAG/C,SAAgB,wBAGd,OAAyC,cAAwB;AACjE,uBACE,OACA,eAAe,SAAY,MAAM,aAAa,aAC/C"}
1
+ {"version":3,"file":"globalFilteringFeature.utils.cjs","names":["filterFn_includesString","isFunction","cloneState"],"sources":["../../../src/features/global-filtering/globalFilteringFeature.utils.ts"],"sourcesContent":["import { filterFn_includesString } from '../../fns/filterFns'\nimport { cloneState, isFunction } from '../../utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { FilterFn } from '../column-filtering/columnFilteringFeature.types'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\n\nexport function column_getCanGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return (\n (column.columnDef.enableGlobalFilter ?? true) &&\n (column.table.options.enableGlobalFilter ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n (column.table.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function table_getGlobalAutoFilterFn() {\n return filterFn_includesString\n}\n\nexport function table_getGlobalFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): FilterFn<TFeatures, TData> | FilterFn<TFeatures, TData> | undefined {\n const { globalFilterFn: globalFilterFn } = table.options\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n table._rowModelFns.filterFns\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? table_getGlobalAutoFilterFn()\n : filterFns?.[globalFilterFn as string]\n}\n\nexport function table_setGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: any) {\n table.options.onGlobalFilterChange?.(updater)\n}\n\nexport function table_resetGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setGlobalFilter(\n table,\n defaultState ? undefined : cloneState(table.initialState.globalFilter),\n )\n}\n"],"mappings":";;;;AAQA,SAAgB,0BAId,QAA4D;;AAC5D,SACG,OAAO,UAAU,sBAAsB,UACvC,OAAO,MAAM,QAAQ,sBAAsB,UAC3C,OAAO,MAAM,QAAQ,iBAAiB,8DACtC,OAAO,MAAM,SAAQ,qIAA2B,OAAO,KAAI,SAC5D,CAAC,CAAC,OAAO;;AAIb,SAAgB,8BAA8B;AAC5C,QAAOA;;AAGT,SAAgB,wBAId,OACqE;CACrE,MAAM,EAAkB,mBAAmB,MAAM;CACjD,MAAM,YACJ,MAAM,aAAa;AAErB,QAAOC,yBAAW,eAAe,GAC7B,iBACA,mBAAmB,SACjB,6BAA6B,yDAC7B,UAAY;;AAGpB,SAAgB,sBAGd,OAAyC,SAAc;;AACvD,kDAAM,SAAQ,iHAAuB,QAAQ;;AAG/C,SAAgB,wBAGd,OAAyC,cAAwB;AACjE,uBACE,OACA,eAAe,SAAYC,yBAAW,MAAM,aAAa,aAAa,CACvE"}
@@ -1,4 +1,4 @@
1
- import { isFunction } from "../../utils.js";
1
+ import { cloneState, isFunction } from "../../utils.js";
2
2
  import { filterFn_includesString } from "../../fns/filterFns.js";
3
3
 
4
4
  //#region src/features/global-filtering/globalFilteringFeature.utils.ts
@@ -19,7 +19,7 @@ function table_setGlobalFilter(table, updater) {
19
19
  (_table$options$onGlob = (_table$options = table.options).onGlobalFilterChange) === null || _table$options$onGlob === void 0 || _table$options$onGlob.call(_table$options, updater);
20
20
  }
21
21
  function table_resetGlobalFilter(table, defaultState) {
22
- table_setGlobalFilter(table, defaultState ? void 0 : table.initialState.globalFilter);
22
+ table_setGlobalFilter(table, defaultState ? void 0 : cloneState(table.initialState.globalFilter));
23
23
  }
24
24
 
25
25
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"globalFilteringFeature.utils.js","names":[],"sources":["../../../src/features/global-filtering/globalFilteringFeature.utils.ts"],"sourcesContent":["import { filterFn_includesString } from '../../fns/filterFns'\nimport { isFunction } from '../../utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { FilterFn } from '../column-filtering/columnFilteringFeature.types'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\n\nexport function column_getCanGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return (\n (column.columnDef.enableGlobalFilter ?? true) &&\n (column.table.options.enableGlobalFilter ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n (column.table.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function table_getGlobalAutoFilterFn() {\n return filterFn_includesString\n}\n\nexport function table_getGlobalFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): FilterFn<TFeatures, TData> | FilterFn<TFeatures, TData> | undefined {\n const { globalFilterFn: globalFilterFn } = table.options\n const filterFns = table._rowModelFns.filterFns as\n | Record<string, FilterFn<TFeatures, TData>>\n | undefined\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? table_getGlobalAutoFilterFn()\n : filterFns?.[globalFilterFn as string]\n}\n\nexport function table_setGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: any) {\n table.options.onGlobalFilterChange?.(updater)\n}\n\nexport function table_resetGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setGlobalFilter(\n table,\n defaultState ? undefined : table.initialState.globalFilter,\n )\n}\n"],"mappings":";;;;AAQA,SAAgB,0BAId,QAA4D;;AAC5D,SACG,OAAO,UAAU,sBAAsB,UACvC,OAAO,MAAM,QAAQ,sBAAsB,UAC3C,OAAO,MAAM,QAAQ,iBAAiB,8DACtC,OAAO,MAAM,SAAQ,qIAA2B,OAAO,KAAI,SAC5D,CAAC,CAAC,OAAO;;AAIb,SAAgB,8BAA8B;AAC5C,QAAO;;AAGT,SAAgB,wBAId,OACqE;CACrE,MAAM,EAAkB,mBAAmB,MAAM;CACjD,MAAM,YAAY,MAAM,aAAa;AAIrC,QAAO,WAAW,eAAe,GAC7B,iBACA,mBAAmB,SACjB,6BAA6B,yDAC7B,UAAY;;AAGpB,SAAgB,sBAGd,OAAyC,SAAc;;AACvD,kDAAM,SAAQ,iHAAuB,QAAQ;;AAG/C,SAAgB,wBAGd,OAAyC,cAAwB;AACjE,uBACE,OACA,eAAe,SAAY,MAAM,aAAa,aAC/C"}
1
+ {"version":3,"file":"globalFilteringFeature.utils.js","names":[],"sources":["../../../src/features/global-filtering/globalFilteringFeature.utils.ts"],"sourcesContent":["import { filterFn_includesString } from '../../fns/filterFns'\nimport { cloneState, isFunction } from '../../utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { FilterFn } from '../column-filtering/columnFilteringFeature.types'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\n\nexport function column_getCanGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return (\n (column.columnDef.enableGlobalFilter ?? true) &&\n (column.table.options.enableGlobalFilter ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n (column.table.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function table_getGlobalAutoFilterFn() {\n return filterFn_includesString\n}\n\nexport function table_getGlobalFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): FilterFn<TFeatures, TData> | FilterFn<TFeatures, TData> | undefined {\n const { globalFilterFn: globalFilterFn } = table.options\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n table._rowModelFns.filterFns\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? table_getGlobalAutoFilterFn()\n : filterFns?.[globalFilterFn as string]\n}\n\nexport function table_setGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: any) {\n table.options.onGlobalFilterChange?.(updater)\n}\n\nexport function table_resetGlobalFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setGlobalFilter(\n table,\n defaultState ? undefined : cloneState(table.initialState.globalFilter),\n )\n}\n"],"mappings":";;;;AAQA,SAAgB,0BAId,QAA4D;;AAC5D,SACG,OAAO,UAAU,sBAAsB,UACvC,OAAO,MAAM,QAAQ,sBAAsB,UAC3C,OAAO,MAAM,QAAQ,iBAAiB,8DACtC,OAAO,MAAM,SAAQ,qIAA2B,OAAO,KAAI,SAC5D,CAAC,CAAC,OAAO;;AAIb,SAAgB,8BAA8B;AAC5C,QAAO;;AAGT,SAAgB,wBAId,OACqE;CACrE,MAAM,EAAkB,mBAAmB,MAAM;CACjD,MAAM,YACJ,MAAM,aAAa;AAErB,QAAO,WAAW,eAAe,GAC7B,iBACA,mBAAmB,SACjB,6BAA6B,yDAC7B,UAAY;;AAGpB,SAAgB,sBAGd,OAAyC,SAAc;;AACvD,kDAAM,SAAQ,iHAAuB,QAAQ;;AAG/C,SAAgB,wBAGd,OAAyC,cAAwB;AACjE,uBACE,OACA,eAAe,SAAY,WAAW,MAAM,aAAa,aAAa,CACvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"createExpandedRowModel.cjs","names":["tableMemo","row_getIsExpanded"],"sources":["../../../src/features/row-expanding/createExpandedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { row_getIsExpanded } from './rowExpandingFeature.utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'rowExpandingFeature',\n table,\n fnName: 'table.getExpandedRowModel',\n memoDeps: () => [\n table.atoms.expanded?.get(),\n table.getPreExpandedRowModel(),\n table.options.paginateExpandedRows,\n ],\n fn: () => _createExpandedRowModel(table),\n })\n }\n}\n\nfunction _createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreExpandedRowModel()\n const expanded = table.atoms.expanded?.get()\n\n if (\n !rowModel.rows.length ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n if (!table.options.paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel\n }\n\n return expandRows(rowModel)\n}\n\nexport function expandRows<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {\n const expandedRows: Array<Row<TFeatures, TData>> = []\n\n const handleRow = (row: Row<TFeatures, TData>) => {\n expandedRows.push(row)\n\n if (row.subRows.length && row_getIsExpanded(row)) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"mappings":";;;;AAQA,SAAgB,yBAG0D;AACxE,SAAQ,WAAW;EACjB,MAAM,QAAQ;AACd,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;8BACd,MAAM,MAAM,wFAAU,KAAK;KAC3B,MAAM,wBAAwB;KAC9B,MAAM,QAAQ;KACf;;GACD,UAAU,wBAAwB,MAAM;GACzC,CAAC;;;AAIN,SAAS,wBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,wBAAwB;CAC/C,MAAM,qCAAW,MAAM,MAAM,0FAAU,KAAK;AAE5C,KACE,CAAC,SAAS,KAAK,UACd,aAAa,QAAQ,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC,CAAC,OAEnD,QAAO;AAGT,KAAI,CAAC,MAAM,QAAQ,qBAEjB,QAAO;AAGT,QAAO,WAAW,SAAS;;AAG7B,SAAgB,WAGd,UAAkE;CAClE,MAAM,eAA6C,EAAE;CAErD,MAAM,aAAa,QAA+B;AAChD,eAAa,KAAK,IAAI;AAEtB,MAAI,IAAI,QAAQ,UAAUC,oDAAkB,IAAI,CAC9C,KAAI,QAAQ,QAAQ,UAAU;;AAIlC,UAAS,KAAK,QAAQ,UAAU;AAEhC,QAAO;EACL,MAAM;EACN,UAAU,SAAS;EACnB,UAAU,SAAS;EACpB"}
1
+ {"version":3,"file":"createExpandedRowModel.cjs","names":["tableMemo","row_getIsExpanded"],"sources":["../../../src/features/row-expanding/createExpandedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { row_getIsExpanded } from './rowExpandingFeature.utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'rowExpandingFeature',\n table,\n fnName: 'table.getExpandedRowModel',\n memoDeps: () => [\n table.atoms.expanded?.get(),\n table.getPreExpandedRowModel(),\n table.options.paginateExpandedRows,\n ],\n fn: () => _createExpandedRowModel(table),\n })\n }\n}\n\nfunction _createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreExpandedRowModel()\n const expanded = table.atoms.expanded?.get()\n\n if (\n !rowModel.rows.length ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n if (!table.options.paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel\n }\n\n return expandRows(rowModel)\n}\n\nexport function expandRows<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {\n const expandedRows: Array<Row<TFeatures, TData>> = []\n\n const handleRow = (row: Row<TFeatures, TData>) => {\n expandedRows.push(row)\n\n if (row.subRows.length && row_getIsExpanded(row)) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"mappings":";;;;AAQA,SAAgB,yBAG0D;AACxE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;8BACd,MAAM,MAAM,wFAAU,KAAK;KAC3B,MAAM,wBAAwB;KAC9B,MAAM,QAAQ;KACf;;GACD,UAAU,wBAAwB,MAAM;GACzC,CAAC;;;AAIN,SAAS,wBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,wBAAwB;CAC/C,MAAM,qCAAW,MAAM,MAAM,0FAAU,KAAK;AAE5C,KACE,CAAC,SAAS,KAAK,UACd,aAAa,QAAQ,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC,CAAC,OAEnD,QAAO;AAGT,KAAI,CAAC,MAAM,QAAQ,qBAEjB,QAAO;AAGT,QAAO,WAAW,SAAS;;AAG7B,SAAgB,WAGd,UAAkE;CAClE,MAAM,eAA6C,EAAE;CAErD,MAAM,aAAa,QAA+B;AAChD,eAAa,KAAK,IAAI;AAEtB,MAAI,IAAI,QAAQ,UAAUC,oDAAkB,IAAI,CAC9C,KAAI,QAAQ,QAAQ,UAAU;;AAIlC,UAAS,KAAK,QAAQ,UAAU;AAEhC,QAAO;EACL,MAAM;EACN,UAAU,SAAS;EACnB,UAAU,SAAS;EACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"createExpandedRowModel.js","names":[],"sources":["../../../src/features/row-expanding/createExpandedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { row_getIsExpanded } from './rowExpandingFeature.utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'rowExpandingFeature',\n table,\n fnName: 'table.getExpandedRowModel',\n memoDeps: () => [\n table.atoms.expanded?.get(),\n table.getPreExpandedRowModel(),\n table.options.paginateExpandedRows,\n ],\n fn: () => _createExpandedRowModel(table),\n })\n }\n}\n\nfunction _createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreExpandedRowModel()\n const expanded = table.atoms.expanded?.get()\n\n if (\n !rowModel.rows.length ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n if (!table.options.paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel\n }\n\n return expandRows(rowModel)\n}\n\nexport function expandRows<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {\n const expandedRows: Array<Row<TFeatures, TData>> = []\n\n const handleRow = (row: Row<TFeatures, TData>) => {\n expandedRows.push(row)\n\n if (row.subRows.length && row_getIsExpanded(row)) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"mappings":";;;;AAQA,SAAgB,yBAG0D;AACxE,SAAQ,WAAW;EACjB,MAAM,QAAQ;AACd,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;8BACd,MAAM,MAAM,wFAAU,KAAK;KAC3B,MAAM,wBAAwB;KAC9B,MAAM,QAAQ;KACf;;GACD,UAAU,wBAAwB,MAAM;GACzC,CAAC;;;AAIN,SAAS,wBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,wBAAwB;CAC/C,MAAM,qCAAW,MAAM,MAAM,0FAAU,KAAK;AAE5C,KACE,CAAC,SAAS,KAAK,UACd,aAAa,QAAQ,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC,CAAC,OAEnD,QAAO;AAGT,KAAI,CAAC,MAAM,QAAQ,qBAEjB,QAAO;AAGT,QAAO,WAAW,SAAS;;AAG7B,SAAgB,WAGd,UAAkE;CAClE,MAAM,eAA6C,EAAE;CAErD,MAAM,aAAa,QAA+B;AAChD,eAAa,KAAK,IAAI;AAEtB,MAAI,IAAI,QAAQ,UAAU,kBAAkB,IAAI,CAC9C,KAAI,QAAQ,QAAQ,UAAU;;AAIlC,UAAS,KAAK,QAAQ,UAAU;AAEhC,QAAO;EACL,MAAM;EACN,UAAU,SAAS;EACnB,UAAU,SAAS;EACpB"}
1
+ {"version":3,"file":"createExpandedRowModel.js","names":[],"sources":["../../../src/features/row-expanding/createExpandedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { row_getIsExpanded } from './rowExpandingFeature.utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'rowExpandingFeature',\n table,\n fnName: 'table.getExpandedRowModel',\n memoDeps: () => [\n table.atoms.expanded?.get(),\n table.getPreExpandedRowModel(),\n table.options.paginateExpandedRows,\n ],\n fn: () => _createExpandedRowModel(table),\n })\n }\n}\n\nfunction _createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreExpandedRowModel()\n const expanded = table.atoms.expanded?.get()\n\n if (\n !rowModel.rows.length ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n if (!table.options.paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel\n }\n\n return expandRows(rowModel)\n}\n\nexport function expandRows<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {\n const expandedRows: Array<Row<TFeatures, TData>> = []\n\n const handleRow = (row: Row<TFeatures, TData>) => {\n expandedRows.push(row)\n\n if (row.subRows.length && row_getIsExpanded(row)) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"mappings":";;;;AAQA,SAAgB,yBAG0D;AACxE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;8BACd,MAAM,MAAM,wFAAU,KAAK;KAC3B,MAAM,wBAAwB;KAC9B,MAAM,QAAQ;KACf;;GACD,UAAU,wBAAwB,MAAM;GACzC,CAAC;;;AAIN,SAAS,wBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,wBAAwB;CAC/C,MAAM,qCAAW,MAAM,MAAM,0FAAU,KAAK;AAE5C,KACE,CAAC,SAAS,KAAK,UACd,aAAa,QAAQ,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC,CAAC,OAEnD,QAAO;AAGT,KAAI,CAAC,MAAM,QAAQ,qBAEjB,QAAO;AAGT,QAAO,WAAW,SAAS;;AAG7B,SAAgB,WAGd,UAAkE;CAClE,MAAM,eAA6C,EAAE;CAErD,MAAM,aAAa,QAA+B;AAChD,eAAa,KAAK,IAAI;AAEtB,MAAI,IAAI,QAAQ,UAAU,kBAAkB,IAAI,CAC9C,KAAI,QAAQ,QAAQ,UAAU;;AAIlC,UAAS,KAAK,QAAQ,UAAU;AAEhC,QAAO;EACL,MAAM;EACN,UAAU,SAAS;EACnB,UAAU,SAAS;EACpB"}
@@ -1,7 +1,8 @@
1
+ const require_utils = require('../../utils.cjs');
1
2
 
2
3
  //#region src/features/row-expanding/rowExpandingFeature.utils.ts
3
4
  function getDefaultExpandedState() {
4
- return structuredClone({});
5
+ return {};
5
6
  }
6
7
  function table_autoResetExpanded(table) {
7
8
  if (table.options.autoResetAll ?? table.options.autoResetExpanded ?? !table.options.manualExpanding) queueMicrotask(() => table_resetExpanded(table));
@@ -15,7 +16,7 @@ function table_toggleAllRowsExpanded(table, expanded) {
15
16
  else table_setExpanded(table, {});
16
17
  }
17
18
  function table_resetExpanded(table, defaultState) {
18
- table_setExpanded(table, defaultState ? {} : table.initialState.expanded ?? {});
19
+ table_setExpanded(table, defaultState ? {} : require_utils.cloneState(table.initialState.expanded ?? {}));
19
20
  }
20
21
  function table_getCanSomeRowsExpand(table) {
21
22
  return table.getPrePaginatedRowModel().flatRows.some((row) => row_getCanExpand(row));
@@ -1 +1 @@
1
- {"version":3,"file":"rowExpandingFeature.utils.cjs","names":[],"sources":["../../../src/features/row-expanding/rowExpandingFeature.utils.ts"],"sourcesContent":["import type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n ExpandedState,\n ExpandedStateList,\n} from './rowExpandingFeature.types'\n\nexport function getDefaultExpandedState(): ExpandedState {\n return structuredClone({})\n}\n\nexport function table_autoResetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n if (\n table.options.autoResetAll ??\n table.options.autoResetExpanded ??\n !table.options.manualExpanding\n ) {\n queueMicrotask(() => table_resetExpanded(table))\n }\n}\n\nexport function table_setExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ExpandedState>) {\n table.options.onExpandedChange?.(updater)\n}\n\nexport function table_toggleAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, expanded?: boolean) {\n if (expanded ?? !table_getIsAllRowsExpanded(table)) {\n table_setExpanded(table, true)\n } else {\n table_setExpanded(table, {})\n }\n}\n\nexport function table_resetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setExpanded(\n table,\n defaultState ? {} : (table.initialState.expanded ?? {}),\n )\n}\n\nexport function table_getCanSomeRowsExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getPrePaginatedRowModel()\n .flatRows.some((row) => row_getCanExpand(row))\n}\n\nexport function table_getToggleAllRowsExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n ;(e as any).persist?.()\n table_toggleAllRowsExpanded(table)\n }\n}\n\nexport function table_getIsSomeRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n return expanded === true || Object.values(expanded).some(Boolean)\n}\n\nexport function table_getIsAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n if (!Object.keys(expanded).length) {\n return false\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some((row) => !row_getIsExpanded(row))) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n}\n\nexport function table_getExpandedDepth<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n let maxDepth = 0\n\n const rowIds =\n table.atoms.expanded?.get() === true\n ? Object.keys(table.getRowModel().rowsById)\n : Object.keys(table.atoms.expanded?.get() ?? {})\n\n rowIds.forEach((id) => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n\nexport function row_toggleExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>, expanded?: boolean) {\n table_setExpanded(row.table, (old) => {\n const exists = old === true ? true : !!old[row.id]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [row.id]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n}\n\nexport function row_getIsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const expanded = row.table.atoms.expanded?.get() ?? ({} as ExpandedState)\n\n return !!(\n row.table.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded[row.id])\n )\n}\n\nexport function row_getCanExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return (\n row.table.options.getRowCanExpand?.(row) ??\n ((row.table.options.enableExpanding ?? true) && !!row.subRows.length)\n )\n}\n\nexport function row_getIsAllParentsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n let isFullyExpanded = true\n let currentRow = row\n\n while (isFullyExpanded && currentRow.parentId) {\n currentRow = row.table.getRow(currentRow.parentId, true)\n isFullyExpanded = row_getIsExpanded(row)\n }\n\n return isFullyExpanded\n}\n\nexport function row_getToggleExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canExpand = row_getCanExpand(row)\n\n return () => {\n if (!canExpand) return\n row_toggleExpanded(row)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"rowExpandingFeature.utils.cjs","names":["cloneState"],"sources":["../../../src/features/row-expanding/rowExpandingFeature.utils.ts"],"sourcesContent":["import { cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n ExpandedState,\n ExpandedStateList,\n} from './rowExpandingFeature.types'\n\nexport function getDefaultExpandedState(): ExpandedState {\n return {}\n}\n\nexport function table_autoResetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n if (\n table.options.autoResetAll ??\n table.options.autoResetExpanded ??\n !table.options.manualExpanding\n ) {\n queueMicrotask(() => table_resetExpanded(table))\n }\n}\n\nexport function table_setExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ExpandedState>) {\n table.options.onExpandedChange?.(updater)\n}\n\nexport function table_toggleAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, expanded?: boolean) {\n if (expanded ?? !table_getIsAllRowsExpanded(table)) {\n table_setExpanded(table, true)\n } else {\n table_setExpanded(table, {})\n }\n}\n\nexport function table_resetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setExpanded(\n table,\n defaultState ? {} : cloneState(table.initialState.expanded ?? {}),\n )\n}\n\nexport function table_getCanSomeRowsExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getPrePaginatedRowModel()\n .flatRows.some((row) => row_getCanExpand(row))\n}\n\nexport function table_getToggleAllRowsExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n ;(e as any).persist?.()\n table_toggleAllRowsExpanded(table)\n }\n}\n\nexport function table_getIsSomeRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n return expanded === true || Object.values(expanded).some(Boolean)\n}\n\nexport function table_getIsAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n if (!Object.keys(expanded).length) {\n return false\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some((row) => !row_getIsExpanded(row))) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n}\n\nexport function table_getExpandedDepth<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n let maxDepth = 0\n\n const rowIds =\n table.atoms.expanded?.get() === true\n ? Object.keys(table.getRowModel().rowsById)\n : Object.keys(table.atoms.expanded?.get() ?? {})\n\n rowIds.forEach((id) => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n\nexport function row_toggleExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>, expanded?: boolean) {\n table_setExpanded(row.table, (old) => {\n const exists = old === true ? true : !!old[row.id]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [row.id]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n}\n\nexport function row_getIsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const expanded: ExpandedState = row.table.atoms.expanded?.get() ?? {}\n\n return !!(\n row.table.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded[row.id])\n )\n}\n\nexport function row_getCanExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return (\n row.table.options.getRowCanExpand?.(row) ??\n ((row.table.options.enableExpanding ?? true) && !!row.subRows.length)\n )\n}\n\nexport function row_getIsAllParentsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n let isFullyExpanded = true\n let currentRow = row\n\n while (isFullyExpanded && currentRow.parentId) {\n currentRow = row.table.getRow(currentRow.parentId, true)\n isFullyExpanded = row_getIsExpanded(row)\n }\n\n return isFullyExpanded\n}\n\nexport function row_getToggleExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canExpand = row_getCanExpand(row)\n\n return () => {\n if (!canExpand) return\n row_toggleExpanded(row)\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import { cloneState } from "../../utils.js";
2
+
1
3
  //#region src/features/row-expanding/rowExpandingFeature.utils.ts
2
4
  function getDefaultExpandedState() {
3
- return structuredClone({});
5
+ return {};
4
6
  }
5
7
  function table_autoResetExpanded(table) {
6
8
  if (table.options.autoResetAll ?? table.options.autoResetExpanded ?? !table.options.manualExpanding) queueMicrotask(() => table_resetExpanded(table));
@@ -14,7 +16,7 @@ function table_toggleAllRowsExpanded(table, expanded) {
14
16
  else table_setExpanded(table, {});
15
17
  }
16
18
  function table_resetExpanded(table, defaultState) {
17
- table_setExpanded(table, defaultState ? {} : table.initialState.expanded ?? {});
19
+ table_setExpanded(table, defaultState ? {} : cloneState(table.initialState.expanded ?? {}));
18
20
  }
19
21
  function table_getCanSomeRowsExpand(table) {
20
22
  return table.getPrePaginatedRowModel().flatRows.some((row) => row_getCanExpand(row));
@@ -1 +1 @@
1
- {"version":3,"file":"rowExpandingFeature.utils.js","names":[],"sources":["../../../src/features/row-expanding/rowExpandingFeature.utils.ts"],"sourcesContent":["import type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n ExpandedState,\n ExpandedStateList,\n} from './rowExpandingFeature.types'\n\nexport function getDefaultExpandedState(): ExpandedState {\n return structuredClone({})\n}\n\nexport function table_autoResetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n if (\n table.options.autoResetAll ??\n table.options.autoResetExpanded ??\n !table.options.manualExpanding\n ) {\n queueMicrotask(() => table_resetExpanded(table))\n }\n}\n\nexport function table_setExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ExpandedState>) {\n table.options.onExpandedChange?.(updater)\n}\n\nexport function table_toggleAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, expanded?: boolean) {\n if (expanded ?? !table_getIsAllRowsExpanded(table)) {\n table_setExpanded(table, true)\n } else {\n table_setExpanded(table, {})\n }\n}\n\nexport function table_resetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setExpanded(\n table,\n defaultState ? {} : (table.initialState.expanded ?? {}),\n )\n}\n\nexport function table_getCanSomeRowsExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getPrePaginatedRowModel()\n .flatRows.some((row) => row_getCanExpand(row))\n}\n\nexport function table_getToggleAllRowsExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n ;(e as any).persist?.()\n table_toggleAllRowsExpanded(table)\n }\n}\n\nexport function table_getIsSomeRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n return expanded === true || Object.values(expanded).some(Boolean)\n}\n\nexport function table_getIsAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n if (!Object.keys(expanded).length) {\n return false\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some((row) => !row_getIsExpanded(row))) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n}\n\nexport function table_getExpandedDepth<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n let maxDepth = 0\n\n const rowIds =\n table.atoms.expanded?.get() === true\n ? Object.keys(table.getRowModel().rowsById)\n : Object.keys(table.atoms.expanded?.get() ?? {})\n\n rowIds.forEach((id) => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n\nexport function row_toggleExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>, expanded?: boolean) {\n table_setExpanded(row.table, (old) => {\n const exists = old === true ? true : !!old[row.id]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [row.id]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n}\n\nexport function row_getIsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const expanded = row.table.atoms.expanded?.get() ?? ({} as ExpandedState)\n\n return !!(\n row.table.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded[row.id])\n )\n}\n\nexport function row_getCanExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return (\n row.table.options.getRowCanExpand?.(row) ??\n ((row.table.options.enableExpanding ?? true) && !!row.subRows.length)\n )\n}\n\nexport function row_getIsAllParentsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n let isFullyExpanded = true\n let currentRow = row\n\n while (isFullyExpanded && currentRow.parentId) {\n currentRow = row.table.getRow(currentRow.parentId, true)\n isFullyExpanded = row_getIsExpanded(row)\n }\n\n return isFullyExpanded\n}\n\nexport function row_getToggleExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canExpand = row_getCanExpand(row)\n\n return () => {\n if (!canExpand) return\n row_toggleExpanded(row)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"rowExpandingFeature.utils.js","names":[],"sources":["../../../src/features/row-expanding/rowExpandingFeature.utils.ts"],"sourcesContent":["import { cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n ExpandedState,\n ExpandedStateList,\n} from './rowExpandingFeature.types'\n\nexport function getDefaultExpandedState(): ExpandedState {\n return {}\n}\n\nexport function table_autoResetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n if (\n table.options.autoResetAll ??\n table.options.autoResetExpanded ??\n !table.options.manualExpanding\n ) {\n queueMicrotask(() => table_resetExpanded(table))\n }\n}\n\nexport function table_setExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ExpandedState>) {\n table.options.onExpandedChange?.(updater)\n}\n\nexport function table_toggleAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, expanded?: boolean) {\n if (expanded ?? !table_getIsAllRowsExpanded(table)) {\n table_setExpanded(table, true)\n } else {\n table_setExpanded(table, {})\n }\n}\n\nexport function table_resetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setExpanded(\n table,\n defaultState ? {} : cloneState(table.initialState.expanded ?? {}),\n )\n}\n\nexport function table_getCanSomeRowsExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getPrePaginatedRowModel()\n .flatRows.some((row) => row_getCanExpand(row))\n}\n\nexport function table_getToggleAllRowsExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n ;(e as any).persist?.()\n table_toggleAllRowsExpanded(table)\n }\n}\n\nexport function table_getIsSomeRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n return expanded === true || Object.values(expanded).some(Boolean)\n}\n\nexport function table_getIsAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n if (!Object.keys(expanded).length) {\n return false\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some((row) => !row_getIsExpanded(row))) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n}\n\nexport function table_getExpandedDepth<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n let maxDepth = 0\n\n const rowIds =\n table.atoms.expanded?.get() === true\n ? Object.keys(table.getRowModel().rowsById)\n : Object.keys(table.atoms.expanded?.get() ?? {})\n\n rowIds.forEach((id) => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n\nexport function row_toggleExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>, expanded?: boolean) {\n table_setExpanded(row.table, (old) => {\n const exists = old === true ? true : !!old[row.id]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [row.id]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n}\n\nexport function row_getIsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const expanded: ExpandedState = row.table.atoms.expanded?.get() ?? {}\n\n return !!(\n row.table.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded[row.id])\n )\n}\n\nexport function row_getCanExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return (\n row.table.options.getRowCanExpand?.(row) ??\n ((row.table.options.enableExpanding ?? true) && !!row.subRows.length)\n )\n}\n\nexport function row_getIsAllParentsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n let isFullyExpanded = true\n let currentRow = row\n\n while (isFullyExpanded && currentRow.parentId) {\n currentRow = row.table.getRow(currentRow.parentId, true)\n isFullyExpanded = row_getIsExpanded(row)\n }\n\n return isFullyExpanded\n}\n\nexport function row_getToggleExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canExpand = row_getCanExpand(row)\n\n return () => {\n if (!canExpand) return\n row_toggleExpanded(row)\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createPaginatedRowModel.cjs","names":["tableMemo","getDefaultPaginationState","expandRows"],"sources":["../../../src/features/row-pagination/createPaginatedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { expandRows } from '../row-expanding/createExpandedRowModel'\nimport { getDefaultPaginationState } from './rowPaginationFeature.utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'rowPaginationFeature',\n table,\n fnName: 'table.getPaginatedRowModel',\n memoDeps: () => [\n table.getPrePaginatedRowModel(),\n table.atoms.pagination?.get(),\n table.options.paginateExpandedRows\n ? table.atoms.expanded?.get()\n : undefined,\n ],\n fn: () => _createPaginatedRowModel(table),\n })\n }\n}\n\nfunction _createPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const prePaginatedRowModel = table.getPrePaginatedRowModel()\n const pagination = table.atoms.pagination?.get()\n\n if (!prePaginatedRowModel.rows.length) {\n return prePaginatedRowModel\n }\n\n const { pageSize, pageIndex } = pagination ?? getDefaultPaginationState()\n const { rows, flatRows, rowsById } = prePaginatedRowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n const paginatedRows = rows.slice(pageStart, pageEnd)\n\n let paginatedRowModel: RowModel<TFeatures, TData>\n\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows: paginatedRows,\n flatRows,\n rowsById,\n })\n } else {\n paginatedRowModel = {\n rows: paginatedRows,\n flatRows,\n rowsById,\n }\n }\n\n paginatedRowModel.flatRows = []\n\n const handleRow = (row: Row<TFeatures, TData>) => {\n paginatedRowModel.flatRows.push(row)\n if (row.subRows.length) {\n row.subRows.forEach(handleRow)\n }\n }\n\n paginatedRowModel.rows.forEach(handleRow)\n\n return paginatedRowModel\n}\n"],"mappings":";;;;;AASA,SAAgB,0BAG0D;AACxE,SAAQ,WAAW;EACjB,MAAM,QAAQ;AACd,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,yBAAyB;8BAC/B,MAAM,MAAM,0FAAY,KAAK;KAC7B,MAAM,QAAQ,gDACV,MAAM,MAAM,wFAAU,KAAK,GAC3B;KACL;;GACD,UAAU,yBAAyB,MAAM;GAC1C,CAAC;;;AAIN,SAAS,yBAGP,OAAqE;;CACrE,MAAM,uBAAuB,MAAM,yBAAyB;CAC5D,MAAM,uCAAa,MAAM,MAAM,4FAAY,KAAK;AAEhD,KAAI,CAAC,qBAAqB,KAAK,OAC7B,QAAO;CAGT,MAAM,EAAE,UAAU,cAAc,cAAcC,8DAA2B;CACzE,MAAM,EAAE,MAAM,UAAU,aAAa;CACrC,MAAM,YAAY,WAAW;CAC7B,MAAM,UAAU,YAAY;CAE5B,MAAM,gBAAgB,KAAK,MAAM,WAAW,QAAQ;CAEpD,IAAI;AAEJ,KAAI,CAAC,MAAM,QAAQ,qBACjB,qBAAoBC,0CAAW;EAC7B,MAAM;EACN;EACA;EACD,CAAC;KAEF,qBAAoB;EAClB,MAAM;EACN;EACA;EACD;AAGH,mBAAkB,WAAW,EAAE;CAE/B,MAAM,aAAa,QAA+B;AAChD,oBAAkB,SAAS,KAAK,IAAI;AACpC,MAAI,IAAI,QAAQ,OACd,KAAI,QAAQ,QAAQ,UAAU;;AAIlC,mBAAkB,KAAK,QAAQ,UAAU;AAEzC,QAAO"}
1
+ {"version":3,"file":"createPaginatedRowModel.cjs","names":["tableMemo","getDefaultPaginationState","expandRows"],"sources":["../../../src/features/row-pagination/createPaginatedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { expandRows } from '../row-expanding/createExpandedRowModel'\nimport { getDefaultPaginationState } from './rowPaginationFeature.utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'rowPaginationFeature',\n table,\n fnName: 'table.getPaginatedRowModel',\n memoDeps: () => [\n table.getPrePaginatedRowModel(),\n table.atoms.pagination?.get(),\n table.options.paginateExpandedRows\n ? table.atoms.expanded?.get()\n : undefined,\n ],\n fn: () => _createPaginatedRowModel(table),\n })\n }\n}\n\nfunction _createPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const prePaginatedRowModel = table.getPrePaginatedRowModel()\n const pagination = table.atoms.pagination?.get()\n\n if (!prePaginatedRowModel.rows.length) {\n return prePaginatedRowModel\n }\n\n const { pageSize, pageIndex } = pagination ?? getDefaultPaginationState()\n const { rows, flatRows, rowsById } = prePaginatedRowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n const paginatedRows = rows.slice(pageStart, pageEnd)\n\n let paginatedRowModel: RowModel<TFeatures, TData>\n\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows: paginatedRows,\n flatRows,\n rowsById,\n })\n } else {\n paginatedRowModel = {\n rows: paginatedRows,\n flatRows,\n rowsById,\n }\n }\n\n paginatedRowModel.flatRows = []\n\n const handleRow = (row: Row<TFeatures, TData>) => {\n paginatedRowModel.flatRows.push(row)\n if (row.subRows.length) {\n row.subRows.forEach(handleRow)\n }\n }\n\n paginatedRowModel.rows.forEach(handleRow)\n\n return paginatedRowModel\n}\n"],"mappings":";;;;;AASA,SAAgB,0BAG0D;AACxE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,yBAAyB;8BAC/B,MAAM,MAAM,0FAAY,KAAK;KAC7B,MAAM,QAAQ,gDACV,MAAM,MAAM,wFAAU,KAAK,GAC3B;KACL;;GACD,UAAU,yBAAyB,MAAM;GAC1C,CAAC;;;AAIN,SAAS,yBAGP,OAAqE;;CACrE,MAAM,uBAAuB,MAAM,yBAAyB;CAC5D,MAAM,uCAAa,MAAM,MAAM,4FAAY,KAAK;AAEhD,KAAI,CAAC,qBAAqB,KAAK,OAC7B,QAAO;CAGT,MAAM,EAAE,UAAU,cAAc,cAAcC,8DAA2B;CACzE,MAAM,EAAE,MAAM,UAAU,aAAa;CACrC,MAAM,YAAY,WAAW;CAC7B,MAAM,UAAU,YAAY;CAE5B,MAAM,gBAAgB,KAAK,MAAM,WAAW,QAAQ;CAEpD,IAAI;AAEJ,KAAI,CAAC,MAAM,QAAQ,qBACjB,qBAAoBC,0CAAW;EAC7B,MAAM;EACN;EACA;EACD,CAAC;KAEF,qBAAoB;EAClB,MAAM;EACN;EACA;EACD;AAGH,mBAAkB,WAAW,EAAE;CAE/B,MAAM,aAAa,QAA+B;AAChD,oBAAkB,SAAS,KAAK,IAAI;AACpC,MAAI,IAAI,QAAQ,OACd,KAAI,QAAQ,QAAQ,UAAU;;AAIlC,mBAAkB,KAAK,QAAQ,UAAU;AAEzC,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"createPaginatedRowModel.js","names":[],"sources":["../../../src/features/row-pagination/createPaginatedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { expandRows } from '../row-expanding/createExpandedRowModel'\nimport { getDefaultPaginationState } from './rowPaginationFeature.utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'rowPaginationFeature',\n table,\n fnName: 'table.getPaginatedRowModel',\n memoDeps: () => [\n table.getPrePaginatedRowModel(),\n table.atoms.pagination?.get(),\n table.options.paginateExpandedRows\n ? table.atoms.expanded?.get()\n : undefined,\n ],\n fn: () => _createPaginatedRowModel(table),\n })\n }\n}\n\nfunction _createPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const prePaginatedRowModel = table.getPrePaginatedRowModel()\n const pagination = table.atoms.pagination?.get()\n\n if (!prePaginatedRowModel.rows.length) {\n return prePaginatedRowModel\n }\n\n const { pageSize, pageIndex } = pagination ?? getDefaultPaginationState()\n const { rows, flatRows, rowsById } = prePaginatedRowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n const paginatedRows = rows.slice(pageStart, pageEnd)\n\n let paginatedRowModel: RowModel<TFeatures, TData>\n\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows: paginatedRows,\n flatRows,\n rowsById,\n })\n } else {\n paginatedRowModel = {\n rows: paginatedRows,\n flatRows,\n rowsById,\n }\n }\n\n paginatedRowModel.flatRows = []\n\n const handleRow = (row: Row<TFeatures, TData>) => {\n paginatedRowModel.flatRows.push(row)\n if (row.subRows.length) {\n row.subRows.forEach(handleRow)\n }\n }\n\n paginatedRowModel.rows.forEach(handleRow)\n\n return paginatedRowModel\n}\n"],"mappings":";;;;;AASA,SAAgB,0BAG0D;AACxE,SAAQ,WAAW;EACjB,MAAM,QAAQ;AACd,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,yBAAyB;8BAC/B,MAAM,MAAM,0FAAY,KAAK;KAC7B,MAAM,QAAQ,gDACV,MAAM,MAAM,wFAAU,KAAK,GAC3B;KACL;;GACD,UAAU,yBAAyB,MAAM;GAC1C,CAAC;;;AAIN,SAAS,yBAGP,OAAqE;;CACrE,MAAM,uBAAuB,MAAM,yBAAyB;CAC5D,MAAM,uCAAa,MAAM,MAAM,4FAAY,KAAK;AAEhD,KAAI,CAAC,qBAAqB,KAAK,OAC7B,QAAO;CAGT,MAAM,EAAE,UAAU,cAAc,cAAc,2BAA2B;CACzE,MAAM,EAAE,MAAM,UAAU,aAAa;CACrC,MAAM,YAAY,WAAW;CAC7B,MAAM,UAAU,YAAY;CAE5B,MAAM,gBAAgB,KAAK,MAAM,WAAW,QAAQ;CAEpD,IAAI;AAEJ,KAAI,CAAC,MAAM,QAAQ,qBACjB,qBAAoB,WAAW;EAC7B,MAAM;EACN;EACA;EACD,CAAC;KAEF,qBAAoB;EAClB,MAAM;EACN;EACA;EACD;AAGH,mBAAkB,WAAW,EAAE;CAE/B,MAAM,aAAa,QAA+B;AAChD,oBAAkB,SAAS,KAAK,IAAI;AACpC,MAAI,IAAI,QAAQ,OACd,KAAI,QAAQ,QAAQ,UAAU;;AAIlC,mBAAkB,KAAK,QAAQ,UAAU;AAEzC,QAAO"}
1
+ {"version":3,"file":"createPaginatedRowModel.js","names":[],"sources":["../../../src/features/row-pagination/createPaginatedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { expandRows } from '../row-expanding/createExpandedRowModel'\nimport { getDefaultPaginationState } from './rowPaginationFeature.utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'rowPaginationFeature',\n table,\n fnName: 'table.getPaginatedRowModel',\n memoDeps: () => [\n table.getPrePaginatedRowModel(),\n table.atoms.pagination?.get(),\n table.options.paginateExpandedRows\n ? table.atoms.expanded?.get()\n : undefined,\n ],\n fn: () => _createPaginatedRowModel(table),\n })\n }\n}\n\nfunction _createPaginatedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const prePaginatedRowModel = table.getPrePaginatedRowModel()\n const pagination = table.atoms.pagination?.get()\n\n if (!prePaginatedRowModel.rows.length) {\n return prePaginatedRowModel\n }\n\n const { pageSize, pageIndex } = pagination ?? getDefaultPaginationState()\n const { rows, flatRows, rowsById } = prePaginatedRowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n const paginatedRows = rows.slice(pageStart, pageEnd)\n\n let paginatedRowModel: RowModel<TFeatures, TData>\n\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows: paginatedRows,\n flatRows,\n rowsById,\n })\n } else {\n paginatedRowModel = {\n rows: paginatedRows,\n flatRows,\n rowsById,\n }\n }\n\n paginatedRowModel.flatRows = []\n\n const handleRow = (row: Row<TFeatures, TData>) => {\n paginatedRowModel.flatRows.push(row)\n if (row.subRows.length) {\n row.subRows.forEach(handleRow)\n }\n }\n\n paginatedRowModel.rows.forEach(handleRow)\n\n return paginatedRowModel\n}\n"],"mappings":";;;;;AASA,SAAgB,0BAG0D;AACxE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,yBAAyB;8BAC/B,MAAM,MAAM,0FAAY,KAAK;KAC7B,MAAM,QAAQ,gDACV,MAAM,MAAM,wFAAU,KAAK,GAC3B;KACL;;GACD,UAAU,yBAAyB,MAAM;GAC1C,CAAC;;;AAIN,SAAS,yBAGP,OAAqE;;CACrE,MAAM,uBAAuB,MAAM,yBAAyB;CAC5D,MAAM,uCAAa,MAAM,MAAM,4FAAY,KAAK;AAEhD,KAAI,CAAC,qBAAqB,KAAK,OAC7B,QAAO;CAGT,MAAM,EAAE,UAAU,cAAc,cAAc,2BAA2B;CACzE,MAAM,EAAE,MAAM,UAAU,aAAa;CACrC,MAAM,YAAY,WAAW;CAC7B,MAAM,UAAU,YAAY;CAE5B,MAAM,gBAAgB,KAAK,MAAM,WAAW,QAAQ;CAEpD,IAAI;AAEJ,KAAI,CAAC,MAAM,QAAQ,qBACjB,qBAAoB,WAAW;EAC7B,MAAM;EACN;EACA;EACD,CAAC;KAEF,qBAAoB;EAClB,MAAM;EACN;EACA;EACD;AAGH,mBAAkB,WAAW,EAAE;CAE/B,MAAM,aAAa,QAA+B;AAChD,oBAAkB,SAAS,KAAK,IAAI;AACpC,MAAI,IAAI,QAAQ,OACd,KAAI,QAAQ,QAAQ,UAAU;;AAIlC,mBAAkB,KAAK,QAAQ,UAAU;AAEzC,QAAO"}
@@ -4,10 +4,10 @@ const require_utils = require('../../utils.cjs');
4
4
  const defaultPageIndex = 0;
5
5
  const defaultPageSize = 10;
6
6
  function getDefaultPaginationState() {
7
- return structuredClone({
7
+ return {
8
8
  pageIndex: defaultPageIndex,
9
9
  pageSize: defaultPageSize
10
- });
10
+ };
11
11
  }
12
12
  function table_autoResetPageIndex(table) {
13
13
  if (table.options.autoResetAll ?? table.options.autoResetPageIndex ?? !table.options.manualPagination) table_resetPageIndex(table);
@@ -20,7 +20,7 @@ function table_setPagination(table, updater) {
20
20
  return (_table$options$onPagi = (_table$options = table.options).onPaginationChange) === null || _table$options$onPagi === void 0 ? void 0 : _table$options$onPagi.call(_table$options, safeUpdater);
21
21
  }
22
22
  function table_resetPagination(table, defaultState) {
23
- table_setPagination(table, defaultState ? getDefaultPaginationState() : table.initialState.pagination ?? getDefaultPaginationState());
23
+ table_setPagination(table, defaultState ? getDefaultPaginationState() : require_utils.cloneState(table.initialState.pagination ?? getDefaultPaginationState()));
24
24
  }
25
25
  function table_setPageIndex(table, updater) {
26
26
  table_setPagination(table, (old) => {
@@ -34,12 +34,18 @@ function table_setPageIndex(table, updater) {
34
34
  });
35
35
  }
36
36
  function table_resetPageIndex(table, defaultState) {
37
- var _table$initialState$p;
38
- table_setPageIndex(table, defaultState ? defaultPageIndex : ((_table$initialState$p = table.initialState.pagination) === null || _table$initialState$p === void 0 ? void 0 : _table$initialState$p.pageIndex) ?? defaultPageIndex);
37
+ var _table$atoms$paginati, _table$initialState$p;
38
+ const currentPageIndex = ((_table$atoms$paginati = table.atoms.pagination) === null || _table$atoms$paginati === void 0 || (_table$atoms$paginati = _table$atoms$paginati.get()) === null || _table$atoms$paginati === void 0 ? void 0 : _table$atoms$paginati.pageIndex) ?? defaultPageIndex;
39
+ const newPageIndex = defaultState ? defaultPageIndex : ((_table$initialState$p = table.initialState.pagination) === null || _table$initialState$p === void 0 ? void 0 : _table$initialState$p.pageIndex) ?? defaultPageIndex;
40
+ if (newPageIndex === currentPageIndex) return;
41
+ table_setPageIndex(table, newPageIndex);
39
42
  }
40
43
  function table_resetPageSize(table, defaultState) {
41
- var _table$initialState$p2;
42
- table_setPageSize(table, defaultState ? defaultPageSize : ((_table$initialState$p2 = table.initialState.pagination) === null || _table$initialState$p2 === void 0 ? void 0 : _table$initialState$p2.pageSize) ?? defaultPageSize);
44
+ var _table$atoms$paginati2, _table$initialState$p2;
45
+ const currentPageSize = ((_table$atoms$paginati2 = table.atoms.pagination) === null || _table$atoms$paginati2 === void 0 || (_table$atoms$paginati2 = _table$atoms$paginati2.get()) === null || _table$atoms$paginati2 === void 0 ? void 0 : _table$atoms$paginati2.pageSize) ?? defaultPageSize;
46
+ const newPageSize = defaultState ? defaultPageSize : ((_table$initialState$p2 = table.initialState.pagination) === null || _table$initialState$p2 === void 0 ? void 0 : _table$initialState$p2.pageSize) ?? defaultPageSize;
47
+ if (newPageSize === currentPageSize) return;
48
+ table_setPageSize(table, newPageSize);
43
49
  }
44
50
  function table_setPageSize(table, updater) {
45
51
  table_setPagination(table, (old) => {
@@ -60,12 +66,12 @@ function table_getPageOptions(table) {
60
66
  return pageOptions;
61
67
  }
62
68
  function table_getCanPreviousPage(table) {
63
- var _table$atoms$paginati;
64
- return (((_table$atoms$paginati = table.atoms.pagination) === null || _table$atoms$paginati === void 0 || (_table$atoms$paginati = _table$atoms$paginati.get()) === null || _table$atoms$paginati === void 0 ? void 0 : _table$atoms$paginati.pageIndex) ?? 0) > 0;
69
+ var _table$atoms$paginati3;
70
+ return (((_table$atoms$paginati3 = table.atoms.pagination) === null || _table$atoms$paginati3 === void 0 || (_table$atoms$paginati3 = _table$atoms$paginati3.get()) === null || _table$atoms$paginati3 === void 0 ? void 0 : _table$atoms$paginati3.pageIndex) ?? 0) > 0;
65
71
  }
66
72
  function table_getCanNextPage(table) {
67
- var _table$atoms$paginati2;
68
- const pageIndex = ((_table$atoms$paginati2 = table.atoms.pagination) === null || _table$atoms$paginati2 === void 0 || (_table$atoms$paginati2 = _table$atoms$paginati2.get()) === null || _table$atoms$paginati2 === void 0 ? void 0 : _table$atoms$paginati2.pageIndex) ?? defaultPageIndex;
73
+ var _table$atoms$paginati4;
74
+ const pageIndex = ((_table$atoms$paginati4 = table.atoms.pagination) === null || _table$atoms$paginati4 === void 0 || (_table$atoms$paginati4 = _table$atoms$paginati4.get()) === null || _table$atoms$paginati4 === void 0 ? void 0 : _table$atoms$paginati4.pageIndex) ?? defaultPageIndex;
69
75
  const pageCount = table_getPageCount(table);
70
76
  if (pageCount === -1) return true;
71
77
  if (pageCount === 0) return false;
@@ -86,8 +92,8 @@ function table_lastPage(table) {
86
92
  return table_setPageIndex(table, table_getPageCount(table) - 1);
87
93
  }
88
94
  function table_getPageCount(table) {
89
- var _table$atoms$paginati3;
90
- return table.options.pageCount ?? Math.ceil(table_getRowCount(table) / (((_table$atoms$paginati3 = table.atoms.pagination) === null || _table$atoms$paginati3 === void 0 || (_table$atoms$paginati3 = _table$atoms$paginati3.get()) === null || _table$atoms$paginati3 === void 0 ? void 0 : _table$atoms$paginati3.pageSize) ?? defaultPageSize));
95
+ var _table$atoms$paginati5;
96
+ return table.options.pageCount ?? Math.ceil(table_getRowCount(table) / (((_table$atoms$paginati5 = table.atoms.pagination) === null || _table$atoms$paginati5 === void 0 || (_table$atoms$paginati5 = _table$atoms$paginati5.get()) === null || _table$atoms$paginati5 === void 0 ? void 0 : _table$atoms$paginati5.pageSize) ?? defaultPageSize));
91
97
  }
92
98
  function table_getRowCount(table) {
93
99
  return table.options.rowCount ?? table.getPrePaginatedRowModel().rows.length;
@@ -1 +1 @@
1
- {"version":3,"file":"rowPaginationFeature.utils.cjs","names":["functionalUpdate"],"sources":["../../../src/features/row-pagination/rowPaginationFeature.utils.ts"],"sourcesContent":["import { functionalUpdate } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { PaginationState } from './rowPaginationFeature.types'\n\nconst defaultPageIndex = 0\nconst defaultPageSize = 10\n\nexport function getDefaultPaginationState(): PaginationState {\n return structuredClone({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize,\n })\n}\n\nexport function table_autoResetPageIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n if (\n table.options.autoResetAll ??\n table.options.autoResetPageIndex ??\n !table.options.manualPagination\n ) {\n table_resetPageIndex(table)\n }\n}\n\nexport function table_setPagination<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<PaginationState>) {\n const safeUpdater: Updater<PaginationState> = (old) => {\n const newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return table.options.onPaginationChange?.(safeUpdater)\n}\n\nexport function table_resetPagination<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setPagination(\n table,\n defaultState\n ? getDefaultPaginationState()\n : (table.initialState.pagination ?? getDefaultPaginationState()),\n )\n}\n\nexport function table_setPageIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<number>) {\n table_setPagination(table, (old) => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n typeof table.options.pageCount === 'undefined' ||\n table.options.pageCount === -1\n ? Number.MAX_SAFE_INTEGER\n : table.options.pageCount - 1\n\n pageIndex = Math.max(0, Math.min(pageIndex, maxPageIndex))\n\n return {\n ...old,\n pageIndex,\n }\n })\n}\n\nexport function table_resetPageIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setPageIndex(\n table,\n defaultState\n ? defaultPageIndex\n : (table.initialState.pagination?.pageIndex ?? defaultPageIndex),\n )\n}\n\nexport function table_resetPageSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setPageSize(\n table,\n defaultState\n ? defaultPageSize\n : (table.initialState.pagination?.pageSize ?? defaultPageSize),\n )\n}\n\nexport function table_setPageSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<number>) {\n table_setPagination(table, (old) => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n}\n\nexport function table_getPageOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const pageCount = table_getPageCount(table)\n let pageOptions: Array<number> = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n}\n\nexport function table_getCanPreviousPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (table.atoms.pagination?.get()?.pageIndex ?? 0) > 0\n}\n\nexport function table_getCanNextPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const pageIndex = table.atoms.pagination?.get()?.pageIndex ?? defaultPageIndex\n\n const pageCount = table_getPageCount(table)\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n}\n\nexport function table_previousPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table_setPageIndex(table, (old) => old - 1)\n}\n\nexport function table_nextPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table_setPageIndex(table, (old) => {\n return old + 1\n })\n}\n\nexport function table_firstPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table_setPageIndex(table, 0)\n}\n\nexport function table_lastPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table_setPageIndex(table, table_getPageCount(table) - 1)\n}\n\nexport function table_getPageCount<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.options.pageCount ??\n Math.ceil(\n table_getRowCount(table) /\n (table.atoms.pagination?.get()?.pageSize ?? defaultPageSize),\n )\n )\n}\n\nexport function table_getRowCount<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table.options.rowCount ?? table.getPrePaginatedRowModel().rows.length\n}\n"],"mappings":";;;AAMA,MAAM,mBAAmB;AACzB,MAAM,kBAAkB;AAExB,SAAgB,4BAA6C;AAC3D,QAAO,gBAAgB;EACrB,WAAW;EACX,UAAU;EACX,CAAC;;AAGJ,SAAgB,yBAGd,OAAyC;AACzC,KACE,MAAM,QAAQ,gBACd,MAAM,QAAQ,sBACd,CAAC,MAAM,QAAQ,iBAEf,sBAAqB,MAAM;;AAI/B,SAAgB,oBAGd,OAAyC,SAAmC;;CAC5E,MAAM,eAAyC,QAAQ;AAGrD,SAFiBA,+BAAiB,SAAS,IAAI;;AAKjD,mDAAO,MAAM,SAAQ,uHAAqB,YAAY;;AAGxD,SAAgB,sBAGd,OAAyC,cAAwB;AACjE,qBACE,OACA,eACI,2BAA2B,GAC1B,MAAM,aAAa,cAAc,2BAA2B,CAClE;;AAGH,SAAgB,mBAGd,OAAyC,SAA0B;AACnE,qBAAoB,QAAQ,QAAQ;EAClC,IAAI,YAAYA,+BAAiB,SAAS,IAAI,UAAU;EAExD,MAAM,eACJ,OAAO,MAAM,QAAQ,cAAc,eACnC,MAAM,QAAQ,cAAc,KACxB,OAAO,mBACP,MAAM,QAAQ,YAAY;AAEhC,cAAY,KAAK,IAAI,GAAG,KAAK,IAAI,WAAW,aAAa,CAAC;AAE1D,SAAO;GACL,GAAG;GACH;GACD;GACD;;AAGJ,SAAgB,qBAGd,OAAyC,cAAwB;;AACjE,oBACE,OACA,eACI,6CACC,MAAM,aAAa,0FAAY,cAAa,iBAClD;;AAGH,SAAgB,oBAGd,OAAyC,cAAwB;;AACjE,mBACE,OACA,eACI,6CACC,MAAM,aAAa,4FAAY,aAAY,gBACjD;;AAGH,SAAgB,kBAGd,OAAyC,SAA0B;AACnE,qBAAoB,QAAQ,QAAQ;EAClC,MAAM,WAAW,KAAK,IAAI,GAAGA,+BAAiB,SAAS,IAAI,SAAS,CAAC;EACrE,MAAM,cAAc,IAAI,WAAW,IAAI;EACvC,MAAM,YAAY,KAAK,MAAM,cAAc,SAAS;AAEpD,SAAO;GACL,GAAG;GACH;GACA;GACD;GACD;;AAGJ,SAAgB,qBAGd,OAAyC;CACzC,MAAM,YAAY,mBAAmB,MAAM;CAC3C,IAAI,cAA6B,EAAE;AACnC,KAAI,aAAa,YAAY,EAC3B,eAAc,CAAC,GAAG,IAAI,MAAM,UAAU,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,GAAG,MAAM,EAAE;AAErE,QAAO;;AAGT,SAAgB,yBAGd,OAAyC;;AACzC,mCAAQ,MAAM,MAAM,2GAAY,KAAK,gFAAE,cAAa,KAAK;;AAG3D,SAAgB,qBAGd,OAAyC;;CACzC,MAAM,uCAAY,MAAM,MAAM,8GAAY,KAAK,kFAAE,cAAa;CAE9D,MAAM,YAAY,mBAAmB,MAAM;AAE3C,KAAI,cAAc,GAChB,QAAO;AAGT,KAAI,cAAc,EAChB,QAAO;AAGT,QAAO,YAAY,YAAY;;AAGjC,SAAgB,mBAGd,OAAyC;AACzC,QAAO,mBAAmB,QAAQ,QAAQ,MAAM,EAAE;;AAGpD,SAAgB,eAGd,OAAyC;AACzC,QAAO,mBAAmB,QAAQ,QAAQ;AACxC,SAAO,MAAM;GACb;;AAGJ,SAAgB,gBAGd,OAAyC;AACzC,QAAO,mBAAmB,OAAO,EAAE;;AAGrC,SAAgB,eAGd,OAAyC;AACzC,QAAO,mBAAmB,OAAO,mBAAmB,MAAM,GAAG,EAAE;;AAGjE,SAAgB,mBAGd,OAAyC;;AACzC,QACE,MAAM,QAAQ,aACd,KAAK,KACH,kBAAkB,MAAM,+BACrB,MAAM,MAAM,8GAAY,KAAK,kFAAE,aAAY,iBAC/C;;AAIL,SAAgB,kBAGd,OAAyC;AACzC,QAAO,MAAM,QAAQ,YAAY,MAAM,yBAAyB,CAAC,KAAK"}
1
+ {"version":3,"file":"rowPaginationFeature.utils.cjs","names":["functionalUpdate","cloneState"],"sources":["../../../src/features/row-pagination/rowPaginationFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { PaginationState } from './rowPaginationFeature.types'\n\nconst defaultPageIndex = 0\nconst defaultPageSize = 10\n\nexport function getDefaultPaginationState(): PaginationState {\n return {\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize,\n }\n}\n\nexport function table_autoResetPageIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n if (\n table.options.autoResetAll ??\n table.options.autoResetPageIndex ??\n !table.options.manualPagination\n ) {\n table_resetPageIndex(table)\n }\n}\n\nexport function table_setPagination<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<PaginationState>) {\n const safeUpdater: Updater<PaginationState> = (old) => {\n const newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return table.options.onPaginationChange?.(safeUpdater)\n}\n\nexport function table_resetPagination<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setPagination(\n table,\n defaultState\n ? getDefaultPaginationState()\n : cloneState(\n table.initialState.pagination ?? getDefaultPaginationState(),\n ),\n )\n}\n\nexport function table_setPageIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<number>) {\n table_setPagination(table, (old) => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n typeof table.options.pageCount === 'undefined' ||\n table.options.pageCount === -1\n ? Number.MAX_SAFE_INTEGER\n : table.options.pageCount - 1\n\n pageIndex = Math.max(0, Math.min(pageIndex, maxPageIndex))\n\n return {\n ...old,\n pageIndex,\n }\n })\n}\n\nexport function table_resetPageIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n const currentPageIndex =\n table.atoms.pagination?.get()?.pageIndex ?? defaultPageIndex\n const newPageIndex = defaultState\n ? defaultPageIndex\n : (table.initialState.pagination?.pageIndex ?? defaultPageIndex)\n if (newPageIndex === currentPageIndex) return\n table_setPageIndex(table, newPageIndex)\n}\n\nexport function table_resetPageSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n const currentPageSize =\n table.atoms.pagination?.get()?.pageSize ?? defaultPageSize\n const newPageSize = defaultState\n ? defaultPageSize\n : (table.initialState.pagination?.pageSize ?? defaultPageSize)\n if (newPageSize === currentPageSize) return\n table_setPageSize(table, newPageSize)\n}\n\nexport function table_setPageSize<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<number>) {\n table_setPagination(table, (old) => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n}\n\nexport function table_getPageOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const pageCount = table_getPageCount(table)\n let pageOptions: Array<number> = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n}\n\nexport function table_getCanPreviousPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (table.atoms.pagination?.get()?.pageIndex ?? 0) > 0\n}\n\nexport function table_getCanNextPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const pageIndex = table.atoms.pagination?.get()?.pageIndex ?? defaultPageIndex\n\n const pageCount = table_getPageCount(table)\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n}\n\nexport function table_previousPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table_setPageIndex(table, (old) => old - 1)\n}\n\nexport function table_nextPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table_setPageIndex(table, (old) => {\n return old + 1\n })\n}\n\nexport function table_firstPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table_setPageIndex(table, 0)\n}\n\nexport function table_lastPage<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table_setPageIndex(table, table_getPageCount(table) - 1)\n}\n\nexport function table_getPageCount<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (\n table.options.pageCount ??\n Math.ceil(\n table_getRowCount(table) /\n (table.atoms.pagination?.get()?.pageSize ?? defaultPageSize),\n )\n )\n}\n\nexport function table_getRowCount<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table.options.rowCount ?? table.getPrePaginatedRowModel().rows.length\n}\n"],"mappings":"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"}