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

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 (182) hide show
  1. package/dist/core/columns/coreColumnsFeature.cjs +18 -12
  2. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  3. package/dist/core/columns/coreColumnsFeature.js +18 -12
  4. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  5. package/dist/core/headers/coreHeadersFeature.cjs +11 -8
  6. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  7. package/dist/core/headers/coreHeadersFeature.js +11 -8
  8. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  9. package/dist/core/headers/coreHeadersFeature.utils.cjs +2 -1
  10. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  11. package/dist/core/headers/coreHeadersFeature.utils.js +2 -1
  12. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  13. package/dist/core/table/constructTable.cjs +19 -10
  14. package/dist/core/table/constructTable.cjs.map +1 -1
  15. package/dist/core/table/constructTable.d.cts +1 -3
  16. package/dist/core/table/constructTable.d.ts +1 -3
  17. package/dist/core/table/constructTable.js +21 -11
  18. package/dist/core/table/constructTable.js.map +1 -1
  19. package/dist/core/table/coreTablesFeature.types.d.cts +54 -10
  20. package/dist/core/table/coreTablesFeature.types.d.ts +54 -10
  21. package/dist/core/table/coreTablesFeature.utils.cjs +5 -1
  22. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  23. package/dist/core/table/coreTablesFeature.utils.js +5 -1
  24. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  25. package/dist/features/column-faceting/columnFacetingFeature.cjs +18 -12
  26. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  27. package/dist/features/column-faceting/columnFacetingFeature.js +18 -12
  28. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  29. package/dist/features/column-faceting/createFacetedRowModel.cjs +9 -6
  30. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  31. package/dist/features/column-faceting/createFacetedRowModel.js +9 -6
  32. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  33. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +4 -4
  34. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  35. package/dist/features/column-filtering/columnFilteringFeature.utils.js +4 -4
  36. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  37. package/dist/features/column-filtering/createFilteredRowModel.cjs +11 -6
  38. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  39. package/dist/features/column-filtering/createFilteredRowModel.js +11 -6
  40. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  41. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +4 -4
  42. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  43. package/dist/features/column-grouping/columnGroupingFeature.utils.js +4 -4
  44. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  45. package/dist/features/column-grouping/createGroupedRowModel.cjs +6 -2
  46. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  47. package/dist/features/column-grouping/createGroupedRowModel.js +6 -2
  48. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  49. package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -11
  50. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  51. package/dist/features/column-ordering/columnOrderingFeature.js +17 -11
  52. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  53. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +5 -3
  54. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  55. package/dist/features/column-ordering/columnOrderingFeature.utils.js +5 -3
  56. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  57. package/dist/features/column-pinning/columnPinningFeature.cjs +72 -45
  58. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  59. package/dist/features/column-pinning/columnPinningFeature.js +72 -45
  60. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  61. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +24 -13
  62. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  63. package/dist/features/column-pinning/columnPinningFeature.utils.js +24 -13
  64. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  65. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -2
  66. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  67. package/dist/features/column-resizing/columnResizingFeature.utils.js +2 -2
  68. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  69. package/dist/features/column-sizing/columnSizingFeature.cjs +16 -10
  70. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  71. package/dist/features/column-sizing/columnSizingFeature.js +16 -10
  72. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  73. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +2 -2
  74. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  75. package/dist/features/column-sizing/columnSizingFeature.utils.js +2 -2
  76. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  77. package/dist/features/column-visibility/columnVisibilityFeature.cjs +28 -16
  78. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  79. package/dist/features/column-visibility/columnVisibilityFeature.js +28 -16
  80. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  81. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +2 -2
  82. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  83. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +2 -2
  84. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  85. package/dist/features/row-expanding/createExpandedRowModel.cjs +10 -6
  86. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  87. package/dist/features/row-expanding/createExpandedRowModel.js +10 -6
  88. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  89. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +8 -5
  90. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  91. package/dist/features/row-expanding/rowExpandingFeature.utils.js +8 -5
  92. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  93. package/dist/features/row-pagination/createPaginatedRowModel.cjs +10 -6
  94. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  95. package/dist/features/row-pagination/createPaginatedRowModel.js +10 -6
  96. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  97. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +6 -6
  98. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  99. package/dist/features/row-pagination/rowPaginationFeature.utils.js +6 -6
  100. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  101. package/dist/features/row-pinning/rowPinningFeature.cjs +12 -6
  102. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  103. package/dist/features/row-pinning/rowPinningFeature.js +12 -6
  104. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  105. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +8 -5
  106. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  107. package/dist/features/row-pinning/rowPinningFeature.utils.js +8 -5
  108. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  109. package/dist/features/row-selection/rowSelectionFeature.cjs +12 -3
  110. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  111. package/dist/features/row-selection/rowSelectionFeature.js +12 -3
  112. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  113. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +1 -1
  114. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +1 -1
  115. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +14 -7
  116. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  117. package/dist/features/row-selection/rowSelectionFeature.utils.js +14 -7
  118. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  119. package/dist/features/row-sorting/createSortedRowModel.cjs +6 -2
  120. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  121. package/dist/features/row-sorting/createSortedRowModel.js +6 -2
  122. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  123. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +4 -4
  124. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  125. package/dist/features/row-sorting/rowSortingFeature.utils.js +4 -4
  126. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  127. package/dist/features/table-reactivity/tableReactivityFeature.cjs +23 -1
  128. package/dist/features/table-reactivity/tableReactivityFeature.cjs.map +1 -1
  129. package/dist/features/table-reactivity/tableReactivityFeature.js +23 -1
  130. package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -1
  131. package/dist/index.cjs +1 -261
  132. package/dist/index.d.cts +3 -23
  133. package/dist/index.d.ts +3 -23
  134. package/dist/index.js +2 -22
  135. package/dist/static-functions.cjs +261 -0
  136. package/dist/static-functions.d.cts +21 -0
  137. package/dist/static-functions.d.ts +21 -0
  138. package/dist/static-functions.js +22 -0
  139. package/dist/types/Table.d.cts +5 -3
  140. package/dist/types/Table.d.ts +5 -3
  141. package/dist/utils.cjs +2 -6
  142. package/dist/utils.cjs.map +1 -1
  143. package/dist/utils.js +2 -6
  144. package/dist/utils.js.map +1 -1
  145. package/package.json +5 -1
  146. package/src/core/columns/coreColumnsFeature.ts +4 -4
  147. package/src/core/headers/coreHeadersFeature.ts +4 -4
  148. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  149. package/src/core/table/constructTable.ts +31 -15
  150. package/src/core/table/coreTablesFeature.types.ts +69 -9
  151. package/src/core/table/coreTablesFeature.utils.ts +7 -1
  152. package/src/features/column-faceting/columnFacetingFeature.ts +4 -4
  153. package/src/features/column-faceting/createFacetedRowModel.ts +2 -2
  154. package/src/features/column-filtering/columnFilteringFeature.utils.ts +6 -5
  155. package/src/features/column-filtering/createFilteredRowModel.ts +4 -3
  156. package/src/features/column-grouping/columnGroupingFeature.utils.ts +2 -2
  157. package/src/features/column-grouping/createGroupedRowModel.ts +2 -2
  158. package/src/features/column-ordering/columnOrderingFeature.ts +5 -5
  159. package/src/features/column-ordering/columnOrderingFeature.utils.ts +3 -3
  160. package/src/features/column-pinning/columnPinningFeature.ts +22 -21
  161. package/src/features/column-pinning/columnPinningFeature.utils.ts +12 -12
  162. package/src/features/column-resizing/columnResizingFeature.utils.ts +3 -1
  163. package/src/features/column-sizing/columnSizingFeature.ts +2 -2
  164. package/src/features/column-sizing/columnSizingFeature.utils.ts +1 -1
  165. package/src/features/column-visibility/columnVisibilityFeature.ts +6 -6
  166. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +1 -1
  167. package/src/features/row-expanding/createExpandedRowModel.ts +2 -2
  168. package/src/features/row-expanding/rowExpandingFeature.utils.ts +5 -5
  169. package/src/features/row-pagination/createPaginatedRowModel.ts +3 -3
  170. package/src/features/row-pagination/rowPaginationFeature.utils.ts +3 -3
  171. package/src/features/row-pinning/rowPinningFeature.ts +4 -4
  172. package/src/features/row-pinning/rowPinningFeature.utils.ts +4 -4
  173. package/src/features/row-selection/rowSelectionFeature.ts +3 -3
  174. package/src/features/row-selection/rowSelectionFeature.types.ts +1 -1
  175. package/src/features/row-selection/rowSelectionFeature.utils.ts +10 -8
  176. package/src/features/row-sorting/createSortedRowModel.ts +5 -2
  177. package/src/features/row-sorting/rowSortingFeature.utils.ts +5 -4
  178. package/src/features/table-reactivity/tableReactivityFeature.ts +46 -1
  179. package/src/index.ts +0 -20
  180. package/src/static-functions.ts +31 -0
  181. package/src/types/Table.ts +10 -3
  182. package/src/utils.ts +3 -8
@@ -12,12 +12,15 @@ function constructCoreColumnsFeature() {
12
12
  },
13
13
  column_getLeafColumns: {
14
14
  fn: (column) => require_coreColumnsFeature_utils.column_getLeafColumns(column),
15
- memoDeps: (column) => [
16
- column.table.store.state.columnOrder,
17
- column.table.store.state.grouping,
18
- column.table.options.columns,
19
- column.table.options.groupedColumnMode
20
- ]
15
+ memoDeps: (column) => {
16
+ var _column$table$atoms$c, _column$table$atoms$g;
17
+ return [
18
+ (_column$table$atoms$c = column.table.atoms.columnOrder) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.get(),
19
+ (_column$table$atoms$g = column.table.atoms.grouping) === null || _column$table$atoms$g === void 0 ? void 0 : _column$table$atoms$g.get(),
20
+ column.table.options.columns,
21
+ column.table.options.groupedColumnMode
22
+ ];
23
+ }
21
24
  }
22
25
  });
23
26
  },
@@ -41,12 +44,15 @@ function constructCoreColumnsFeature() {
41
44
  },
42
45
  table_getAllLeafColumns: {
43
46
  fn: () => require_coreColumnsFeature_utils.table_getAllLeafColumns(table),
44
- memoDeps: () => [
45
- table.store.state.columnOrder,
46
- table.store.state.grouping,
47
- table.options.columns,
48
- table.options.groupedColumnMode
49
- ]
47
+ memoDeps: () => {
48
+ var _table$atoms$columnOr, _table$atoms$grouping;
49
+ return [
50
+ (_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get(),
51
+ (_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get(),
52
+ table.options.columns,
53
+ table.options.groupedColumnMode
54
+ ];
55
+ }
50
56
  },
51
57
  table_getColumn: { fn: (columnId) => require_coreColumnsFeature_utils.table_getColumn(table, columnId) }
52
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"coreColumnsFeature.cjs","names":["column_getFlatColumns","column_getLeafColumns","table_getDefaultColumnDef","table_getAllColumns","table_getAllFlatColumns","table_getAllFlatColumnsById","table_getAllLeafColumns","table_getColumn"],"sources":["../../../src/core/columns/coreColumnsFeature.ts"],"sourcesContent":["import { assignPrototypeAPIs, assignTableAPIs } from '../../utils'\nimport {\n column_getFlatColumns,\n column_getLeafColumns,\n table_getAllColumns,\n table_getAllFlatColumns,\n table_getAllFlatColumnsById,\n table_getAllLeafColumns,\n table_getColumn,\n table_getDefaultColumnDef,\n} from './coreColumnsFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_Column,\n// TableOptions_Columns,\n// Table_Columns,\n// } from './coreColumnsFeature.types'\n\ninterface CoreColumnsFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_Column<TFeatures, TData>\n // Table: Table_Columns<TFeatures, TData>\n // TableOptions: TableOptions_Columns<TFeatures, TData>\n}\n\nexport function constructCoreColumnsFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreColumnsFeatureConstructors<TFeatures, TData>> {\n return {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreColumnsFeature', prototype, table, {\n column_getFlatColumns: {\n fn: (column) => column_getFlatColumns(column),\n memoDeps: (column) => [column.table.options.columns],\n },\n column_getLeafColumns: {\n fn: (column) => column_getLeafColumns(column),\n memoDeps: (column) => [\n column.table.store.state.columnOrder,\n column.table.store.state.grouping,\n column.table.options.columns,\n column.table.options.groupedColumnMode,\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreColumnsFeature', table, {\n table_getDefaultColumnDef: {\n fn: () => table_getDefaultColumnDef(table),\n memoDeps: () => [table.options.defaultColumn],\n },\n table_getAllColumns: {\n fn: () => table_getAllColumns(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllFlatColumns: {\n fn: () => table_getAllFlatColumns(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllFlatColumnsById: {\n fn: () => table_getAllFlatColumnsById(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllLeafColumns: {\n fn: () => table_getAllLeafColumns(table),\n memoDeps: () => [\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.options.columns,\n table.options.groupedColumnMode,\n ],\n },\n table_getColumn: {\n fn: (columnId) => table_getColumn(table, columnId),\n },\n })\n },\n }\n}\n\n/**\n * The Core Columns feature provides the core column functionality.\n */\nexport const coreColumnsFeature = constructCoreColumnsFeature()\n"],"mappings":";;;;AA4BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAWA,uDAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,MAAM,QAAQ,QAAQ;KACrD;IACD,uBAAuB;KACrB,KAAK,WAAWC,uDAAsB,OAAO;KAC7C,WAAW,WAAW;MACpB,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,QAAQ;MACrB,OAAO,MAAM,QAAQ;MACtB;KACF;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,sBAAsB,OAAO;IAC3C,2BAA2B;KACzB,UAAUC,2DAA0B,MAAM;KAC1C,gBAAgB,CAAC,MAAM,QAAQ,cAAc;KAC9C;IACD,qBAAqB;KACnB,UAAUC,qDAAoB,MAAM;KACpC,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,yBAAyB;KACvB,UAAUC,yDAAwB,MAAM;KACxC,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,6BAA6B;KAC3B,UAAUC,6DAA4B,MAAM;KAC5C,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,yBAAyB;KACvB,UAAUC,yDAAwB,MAAM;KACxC,gBAAgB;MACd,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,QAAQ;MACd,MAAM,QAAQ;MACf;KACF;IACD,iBAAiB,EACf,KAAK,aAAaC,iDAAgB,OAAO,SAAS,EACnD;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
1
+ {"version":3,"file":"coreColumnsFeature.cjs","names":["column_getFlatColumns","column_getLeafColumns","table_getDefaultColumnDef","table_getAllColumns","table_getAllFlatColumns","table_getAllFlatColumnsById","table_getAllLeafColumns","table_getColumn"],"sources":["../../../src/core/columns/coreColumnsFeature.ts"],"sourcesContent":["import { assignPrototypeAPIs, assignTableAPIs } from '../../utils'\nimport {\n column_getFlatColumns,\n column_getLeafColumns,\n table_getAllColumns,\n table_getAllFlatColumns,\n table_getAllFlatColumnsById,\n table_getAllLeafColumns,\n table_getColumn,\n table_getDefaultColumnDef,\n} from './coreColumnsFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_Column,\n// TableOptions_Columns,\n// Table_Columns,\n// } from './coreColumnsFeature.types'\n\ninterface CoreColumnsFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_Column<TFeatures, TData>\n // Table: Table_Columns<TFeatures, TData>\n // TableOptions: TableOptions_Columns<TFeatures, TData>\n}\n\nexport function constructCoreColumnsFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreColumnsFeatureConstructors<TFeatures, TData>> {\n return {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreColumnsFeature', prototype, table, {\n column_getFlatColumns: {\n fn: (column) => column_getFlatColumns(column),\n memoDeps: (column) => [column.table.options.columns],\n },\n column_getLeafColumns: {\n fn: (column) => column_getLeafColumns(column),\n memoDeps: (column) => [\n column.table.atoms.columnOrder?.get(),\n column.table.atoms.grouping?.get(),\n column.table.options.columns,\n column.table.options.groupedColumnMode,\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreColumnsFeature', table, {\n table_getDefaultColumnDef: {\n fn: () => table_getDefaultColumnDef(table),\n memoDeps: () => [table.options.defaultColumn],\n },\n table_getAllColumns: {\n fn: () => table_getAllColumns(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllFlatColumns: {\n fn: () => table_getAllFlatColumns(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllFlatColumnsById: {\n fn: () => table_getAllFlatColumnsById(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllLeafColumns: {\n fn: () => table_getAllLeafColumns(table),\n memoDeps: () => [\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.columns,\n table.options.groupedColumnMode,\n ],\n },\n table_getColumn: {\n fn: (columnId) => table_getColumn(table, columnId),\n },\n })\n },\n }\n}\n\n/**\n * The Core Columns feature provides the core column functionality.\n */\nexport const coreColumnsFeature = constructCoreColumnsFeature()\n"],"mappings":";;;;AA4BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAWA,uDAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,MAAM,QAAQ,QAAQ;KACrD;IACD,uBAAuB;KACrB,KAAK,WAAWC,uDAAsB,OAAO;KAC7C,WAAW,WAAW;;;gCACpB,OAAO,MAAM,MAAM,2FAAa,KAAK;gCACrC,OAAO,MAAM,MAAM,wFAAU,KAAK;OAClC,OAAO,MAAM,QAAQ;OACrB,OAAO,MAAM,QAAQ;OACtB;;KACF;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,sBAAsB,OAAO;IAC3C,2BAA2B;KACzB,UAAUC,2DAA0B,MAAM;KAC1C,gBAAgB,CAAC,MAAM,QAAQ,cAAc;KAC9C;IACD,qBAAqB;KACnB,UAAUC,qDAAoB,MAAM;KACpC,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,yBAAyB;KACvB,UAAUC,yDAAwB,MAAM;KACxC,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,6BAA6B;KAC3B,UAAUC,6DAA4B,MAAM;KAC5C,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,yBAAyB;KACvB,UAAUC,yDAAwB,MAAM;KACxC,gBAAgB;;;gCACd,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,wFAAU,KAAK;OAC3B,MAAM,QAAQ;OACd,MAAM,QAAQ;OACf;;KACF;IACD,iBAAiB,EACf,KAAK,aAAaC,iDAAgB,OAAO,SAAS,EACnD;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
@@ -12,12 +12,15 @@ function constructCoreColumnsFeature() {
12
12
  },
13
13
  column_getLeafColumns: {
14
14
  fn: (column) => column_getLeafColumns(column),
15
- memoDeps: (column) => [
16
- column.table.store.state.columnOrder,
17
- column.table.store.state.grouping,
18
- column.table.options.columns,
19
- column.table.options.groupedColumnMode
20
- ]
15
+ memoDeps: (column) => {
16
+ var _column$table$atoms$c, _column$table$atoms$g;
17
+ return [
18
+ (_column$table$atoms$c = column.table.atoms.columnOrder) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.get(),
19
+ (_column$table$atoms$g = column.table.atoms.grouping) === null || _column$table$atoms$g === void 0 ? void 0 : _column$table$atoms$g.get(),
20
+ column.table.options.columns,
21
+ column.table.options.groupedColumnMode
22
+ ];
23
+ }
21
24
  }
22
25
  });
23
26
  },
@@ -41,12 +44,15 @@ function constructCoreColumnsFeature() {
41
44
  },
42
45
  table_getAllLeafColumns: {
43
46
  fn: () => table_getAllLeafColumns(table),
44
- memoDeps: () => [
45
- table.store.state.columnOrder,
46
- table.store.state.grouping,
47
- table.options.columns,
48
- table.options.groupedColumnMode
49
- ]
47
+ memoDeps: () => {
48
+ var _table$atoms$columnOr, _table$atoms$grouping;
49
+ return [
50
+ (_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get(),
51
+ (_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get(),
52
+ table.options.columns,
53
+ table.options.groupedColumnMode
54
+ ];
55
+ }
50
56
  },
51
57
  table_getColumn: { fn: (columnId) => table_getColumn(table, columnId) }
52
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"coreColumnsFeature.js","names":[],"sources":["../../../src/core/columns/coreColumnsFeature.ts"],"sourcesContent":["import { assignPrototypeAPIs, assignTableAPIs } from '../../utils'\nimport {\n column_getFlatColumns,\n column_getLeafColumns,\n table_getAllColumns,\n table_getAllFlatColumns,\n table_getAllFlatColumnsById,\n table_getAllLeafColumns,\n table_getColumn,\n table_getDefaultColumnDef,\n} from './coreColumnsFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_Column,\n// TableOptions_Columns,\n// Table_Columns,\n// } from './coreColumnsFeature.types'\n\ninterface CoreColumnsFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_Column<TFeatures, TData>\n // Table: Table_Columns<TFeatures, TData>\n // TableOptions: TableOptions_Columns<TFeatures, TData>\n}\n\nexport function constructCoreColumnsFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreColumnsFeatureConstructors<TFeatures, TData>> {\n return {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreColumnsFeature', prototype, table, {\n column_getFlatColumns: {\n fn: (column) => column_getFlatColumns(column),\n memoDeps: (column) => [column.table.options.columns],\n },\n column_getLeafColumns: {\n fn: (column) => column_getLeafColumns(column),\n memoDeps: (column) => [\n column.table.store.state.columnOrder,\n column.table.store.state.grouping,\n column.table.options.columns,\n column.table.options.groupedColumnMode,\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreColumnsFeature', table, {\n table_getDefaultColumnDef: {\n fn: () => table_getDefaultColumnDef(table),\n memoDeps: () => [table.options.defaultColumn],\n },\n table_getAllColumns: {\n fn: () => table_getAllColumns(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllFlatColumns: {\n fn: () => table_getAllFlatColumns(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllFlatColumnsById: {\n fn: () => table_getAllFlatColumnsById(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllLeafColumns: {\n fn: () => table_getAllLeafColumns(table),\n memoDeps: () => [\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.options.columns,\n table.options.groupedColumnMode,\n ],\n },\n table_getColumn: {\n fn: (columnId) => table_getColumn(table, columnId),\n },\n })\n },\n }\n}\n\n/**\n * The Core Columns feature provides the core column functionality.\n */\nexport const coreColumnsFeature = constructCoreColumnsFeature()\n"],"mappings":";;;;AA4BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAW,sBAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,MAAM,QAAQ,QAAQ;KACrD;IACD,uBAAuB;KACrB,KAAK,WAAW,sBAAsB,OAAO;KAC7C,WAAW,WAAW;MACpB,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,QAAQ;MACrB,OAAO,MAAM,QAAQ;MACtB;KACF;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,sBAAsB,OAAO;IAC3C,2BAA2B;KACzB,UAAU,0BAA0B,MAAM;KAC1C,gBAAgB,CAAC,MAAM,QAAQ,cAAc;KAC9C;IACD,qBAAqB;KACnB,UAAU,oBAAoB,MAAM;KACpC,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,yBAAyB;KACvB,UAAU,wBAAwB,MAAM;KACxC,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,6BAA6B;KAC3B,UAAU,4BAA4B,MAAM;KAC5C,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,yBAAyB;KACvB,UAAU,wBAAwB,MAAM;KACxC,gBAAgB;MACd,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,QAAQ;MACd,MAAM,QAAQ;MACf;KACF;IACD,iBAAiB,EACf,KAAK,aAAa,gBAAgB,OAAO,SAAS,EACnD;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
1
+ {"version":3,"file":"coreColumnsFeature.js","names":[],"sources":["../../../src/core/columns/coreColumnsFeature.ts"],"sourcesContent":["import { assignPrototypeAPIs, assignTableAPIs } from '../../utils'\nimport {\n column_getFlatColumns,\n column_getLeafColumns,\n table_getAllColumns,\n table_getAllFlatColumns,\n table_getAllFlatColumnsById,\n table_getAllLeafColumns,\n table_getColumn,\n table_getDefaultColumnDef,\n} from './coreColumnsFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_Column,\n// TableOptions_Columns,\n// Table_Columns,\n// } from './coreColumnsFeature.types'\n\ninterface CoreColumnsFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_Column<TFeatures, TData>\n // Table: Table_Columns<TFeatures, TData>\n // TableOptions: TableOptions_Columns<TFeatures, TData>\n}\n\nexport function constructCoreColumnsFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreColumnsFeatureConstructors<TFeatures, TData>> {\n return {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreColumnsFeature', prototype, table, {\n column_getFlatColumns: {\n fn: (column) => column_getFlatColumns(column),\n memoDeps: (column) => [column.table.options.columns],\n },\n column_getLeafColumns: {\n fn: (column) => column_getLeafColumns(column),\n memoDeps: (column) => [\n column.table.atoms.columnOrder?.get(),\n column.table.atoms.grouping?.get(),\n column.table.options.columns,\n column.table.options.groupedColumnMode,\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreColumnsFeature', table, {\n table_getDefaultColumnDef: {\n fn: () => table_getDefaultColumnDef(table),\n memoDeps: () => [table.options.defaultColumn],\n },\n table_getAllColumns: {\n fn: () => table_getAllColumns(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllFlatColumns: {\n fn: () => table_getAllFlatColumns(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllFlatColumnsById: {\n fn: () => table_getAllFlatColumnsById(table),\n memoDeps: () => [table.options.columns],\n },\n table_getAllLeafColumns: {\n fn: () => table_getAllLeafColumns(table),\n memoDeps: () => [\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.columns,\n table.options.groupedColumnMode,\n ],\n },\n table_getColumn: {\n fn: (columnId) => table_getColumn(table, columnId),\n },\n })\n },\n }\n}\n\n/**\n * The Core Columns feature provides the core column functionality.\n */\nexport const coreColumnsFeature = constructCoreColumnsFeature()\n"],"mappings":";;;;AA4BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAW,sBAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,MAAM,QAAQ,QAAQ;KACrD;IACD,uBAAuB;KACrB,KAAK,WAAW,sBAAsB,OAAO;KAC7C,WAAW,WAAW;;;gCACpB,OAAO,MAAM,MAAM,2FAAa,KAAK;gCACrC,OAAO,MAAM,MAAM,wFAAU,KAAK;OAClC,OAAO,MAAM,QAAQ;OACrB,OAAO,MAAM,QAAQ;OACtB;;KACF;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,sBAAsB,OAAO;IAC3C,2BAA2B;KACzB,UAAU,0BAA0B,MAAM;KAC1C,gBAAgB,CAAC,MAAM,QAAQ,cAAc;KAC9C;IACD,qBAAqB;KACnB,UAAU,oBAAoB,MAAM;KACpC,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,yBAAyB;KACvB,UAAU,wBAAwB,MAAM;KACxC,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,6BAA6B;KAC3B,UAAU,4BAA4B,MAAM;KAC5C,gBAAgB,CAAC,MAAM,QAAQ,QAAQ;KACxC;IACD,yBAAyB;KACvB,UAAU,wBAAwB,MAAM;KACxC,gBAAgB;;;gCACd,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,wFAAU,KAAK;OAC3B,MAAM,QAAQ;OACd,MAAM,QAAQ;OACf;;KACF;IACD,iBAAiB,EACf,KAAK,aAAa,gBAAgB,OAAO,SAAS,EACnD;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
@@ -21,14 +21,17 @@ function constructCoreHeadersFeature() {
21
21
  require_utils.assignTableAPIs("coreHeadersFeature", table, {
22
22
  table_getHeaderGroups: {
23
23
  fn: () => require_coreHeadersFeature_utils.table_getHeaderGroups(table),
24
- memoDeps: () => [
25
- table.options.columns,
26
- table.store.state.columnOrder,
27
- table.store.state.grouping,
28
- table.store.state.columnPinning,
29
- table.store.state.columnVisibility,
30
- table.options.groupedColumnMode
31
- ]
24
+ memoDeps: () => {
25
+ var _table$atoms$columnOr, _table$atoms$grouping, _table$atoms$columnPi, _table$atoms$columnVi;
26
+ return [
27
+ table.options.columns,
28
+ (_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get(),
29
+ (_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get(),
30
+ (_table$atoms$columnPi = table.atoms.columnPinning) === null || _table$atoms$columnPi === void 0 ? void 0 : _table$atoms$columnPi.get(),
31
+ (_table$atoms$columnVi = table.atoms.columnVisibility) === null || _table$atoms$columnVi === void 0 ? void 0 : _table$atoms$columnVi.get(),
32
+ table.options.groupedColumnMode
33
+ ];
34
+ }
32
35
  },
33
36
  table_getFooterGroups: {
34
37
  fn: () => require_coreHeadersFeature_utils.table_getFooterGroups(table),
@@ -1 +1 @@
1
- {"version":3,"file":"coreHeadersFeature.cjs","names":["header_getLeafHeaders","header_getContext","table_getHeaderGroups","table_getFooterGroups","table_getFlatHeaders","table_getLeafHeaders","callMemoOrStaticFn","table_getLeftHeaderGroups","table_getCenterHeaderGroups","table_getRightHeaderGroups"],"sources":["../../../src/core/headers/coreHeadersFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n header_getContext,\n header_getLeafHeaders,\n table_getFlatHeaders,\n table_getFooterGroups,\n table_getHeaderGroups,\n table_getLeafHeaders,\n} from './coreHeadersFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'\n\ninterface CoreHeadersFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Header: Header_Header<TFeatures, TData>\n // Table: Table_Headers<TFeatures, TData>\n}\n\nexport function constructCoreHeadersFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {\n return {\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreHeadersFeature', prototype, table, {\n header_getLeafHeaders: {\n fn: (header) => header_getLeafHeaders(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n header_getContext: {\n fn: (header) => header_getContext(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreHeadersFeature', table, {\n table_getHeaderGroups: {\n fn: () => table_getHeaderGroups(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.store.state.columnPinning,\n table.store.state.columnVisibility,\n table.options.groupedColumnMode,\n ],\n },\n table_getFooterGroups: {\n fn: () => table_getFooterGroups(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getFlatHeaders: {\n fn: () => table_getFlatHeaders(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getLeafHeaders: {\n fn: () => table_getLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Core Headers feature provides the core header functionality.\n */\nexport const coreHeadersFeature = constructCoreHeadersFeature()\n"],"mappings":";;;;;AA8BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAWA,uDAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACD,mBAAmB;KACjB,KAAK,WAAWC,mDAAkB,OAAO;KACzC,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,sBAAsB,OAAO;IAC3C,uBAAuB;KACrB,UAAUC,uDAAsB,MAAM;KACtC,gBAAgB;MACd,MAAM,QAAQ;MACd,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,QAAQ;MACf;KACF;IACD,uBAAuB;KACrB,UAAUC,uDAAsB,MAAM;KACtC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAUC,sDAAqB,MAAM;KACrC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAUC,sDAAqB,MAAM;KACrC,gBAAgB;MACdC,iCACE,OACA,uBACAC,6DACD;MACDD,iCACE,OACA,yBACAE,+DACD;MACDF,iCACE,OACA,wBACAG,8DACD;MACF;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
1
+ {"version":3,"file":"coreHeadersFeature.cjs","names":["header_getLeafHeaders","header_getContext","table_getHeaderGroups","table_getFooterGroups","table_getFlatHeaders","table_getLeafHeaders","callMemoOrStaticFn","table_getLeftHeaderGroups","table_getCenterHeaderGroups","table_getRightHeaderGroups"],"sources":["../../../src/core/headers/coreHeadersFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n header_getContext,\n header_getLeafHeaders,\n table_getFlatHeaders,\n table_getFooterGroups,\n table_getHeaderGroups,\n table_getLeafHeaders,\n} from './coreHeadersFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'\n\ninterface CoreHeadersFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Header: Header_Header<TFeatures, TData>\n // Table: Table_Headers<TFeatures, TData>\n}\n\nexport function constructCoreHeadersFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {\n return {\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreHeadersFeature', prototype, table, {\n header_getLeafHeaders: {\n fn: (header) => header_getLeafHeaders(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n header_getContext: {\n fn: (header) => header_getContext(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreHeadersFeature', table, {\n table_getHeaderGroups: {\n fn: () => table_getHeaderGroups(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getFooterGroups: {\n fn: () => table_getFooterGroups(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getFlatHeaders: {\n fn: () => table_getFlatHeaders(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getLeafHeaders: {\n fn: () => table_getLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Core Headers feature provides the core header functionality.\n */\nexport const coreHeadersFeature = constructCoreHeadersFeature()\n"],"mappings":";;;;;AA8BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAWA,uDAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACD,mBAAmB;KACjB,KAAK,WAAWC,mDAAkB,OAAO;KACzC,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,sBAAsB,OAAO;IAC3C,uBAAuB;KACrB,UAAUC,uDAAsB,MAAM;KACtC,gBAAgB;;;OACd,MAAM,QAAQ;gCACd,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,wFAAU,KAAK;gCAC3B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACnC,MAAM,QAAQ;OACf;;KACF;IACD,uBAAuB;KACrB,UAAUC,uDAAsB,MAAM;KACtC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAUC,sDAAqB,MAAM;KACrC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAUC,sDAAqB,MAAM;KACrC,gBAAgB;MACdC,iCACE,OACA,uBACAC,6DACD;MACDD,iCACE,OACA,yBACAE,+DACD;MACDF,iCACE,OACA,wBACAG,8DACD;MACF;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
@@ -21,14 +21,17 @@ function constructCoreHeadersFeature() {
21
21
  assignTableAPIs("coreHeadersFeature", table, {
22
22
  table_getHeaderGroups: {
23
23
  fn: () => table_getHeaderGroups(table),
24
- memoDeps: () => [
25
- table.options.columns,
26
- table.store.state.columnOrder,
27
- table.store.state.grouping,
28
- table.store.state.columnPinning,
29
- table.store.state.columnVisibility,
30
- table.options.groupedColumnMode
31
- ]
24
+ memoDeps: () => {
25
+ var _table$atoms$columnOr, _table$atoms$grouping, _table$atoms$columnPi, _table$atoms$columnVi;
26
+ return [
27
+ table.options.columns,
28
+ (_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get(),
29
+ (_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get(),
30
+ (_table$atoms$columnPi = table.atoms.columnPinning) === null || _table$atoms$columnPi === void 0 ? void 0 : _table$atoms$columnPi.get(),
31
+ (_table$atoms$columnVi = table.atoms.columnVisibility) === null || _table$atoms$columnVi === void 0 ? void 0 : _table$atoms$columnVi.get(),
32
+ table.options.groupedColumnMode
33
+ ];
34
+ }
32
35
  },
33
36
  table_getFooterGroups: {
34
37
  fn: () => table_getFooterGroups(table),
@@ -1 +1 @@
1
- {"version":3,"file":"coreHeadersFeature.js","names":[],"sources":["../../../src/core/headers/coreHeadersFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n header_getContext,\n header_getLeafHeaders,\n table_getFlatHeaders,\n table_getFooterGroups,\n table_getHeaderGroups,\n table_getLeafHeaders,\n} from './coreHeadersFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'\n\ninterface CoreHeadersFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Header: Header_Header<TFeatures, TData>\n // Table: Table_Headers<TFeatures, TData>\n}\n\nexport function constructCoreHeadersFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {\n return {\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreHeadersFeature', prototype, table, {\n header_getLeafHeaders: {\n fn: (header) => header_getLeafHeaders(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n header_getContext: {\n fn: (header) => header_getContext(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreHeadersFeature', table, {\n table_getHeaderGroups: {\n fn: () => table_getHeaderGroups(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.store.state.columnPinning,\n table.store.state.columnVisibility,\n table.options.groupedColumnMode,\n ],\n },\n table_getFooterGroups: {\n fn: () => table_getFooterGroups(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getFlatHeaders: {\n fn: () => table_getFlatHeaders(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getLeafHeaders: {\n fn: () => table_getLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Core Headers feature provides the core header functionality.\n */\nexport const coreHeadersFeature = constructCoreHeadersFeature()\n"],"mappings":";;;;;AA8BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAW,sBAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACD,mBAAmB;KACjB,KAAK,WAAW,kBAAkB,OAAO;KACzC,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,sBAAsB,OAAO;IAC3C,uBAAuB;KACrB,UAAU,sBAAsB,MAAM;KACtC,gBAAgB;MACd,MAAM,QAAQ;MACd,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,QAAQ;MACf;KACF;IACD,uBAAuB;KACrB,UAAU,sBAAsB,MAAM;KACtC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAU,qBAAqB,MAAM;KACrC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAU,qBAAqB,MAAM;KACrC,gBAAgB;MACd,mBACE,OACA,uBACA,0BACD;MACD,mBACE,OACA,yBACA,4BACD;MACD,mBACE,OACA,wBACA,2BACD;MACF;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
1
+ {"version":3,"file":"coreHeadersFeature.js","names":[],"sources":["../../../src/core/headers/coreHeadersFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n header_getContext,\n header_getLeafHeaders,\n table_getFlatHeaders,\n table_getFooterGroups,\n table_getHeaderGroups,\n table_getLeafHeaders,\n} from './coreHeadersFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'\n\ninterface CoreHeadersFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Header: Header_Header<TFeatures, TData>\n // Table: Table_Headers<TFeatures, TData>\n}\n\nexport function constructCoreHeadersFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {\n return {\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreHeadersFeature', prototype, table, {\n header_getLeafHeaders: {\n fn: (header) => header_getLeafHeaders(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n header_getContext: {\n fn: (header) => header_getContext(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreHeadersFeature', table, {\n table_getHeaderGroups: {\n fn: () => table_getHeaderGroups(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getFooterGroups: {\n fn: () => table_getFooterGroups(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getFlatHeaders: {\n fn: () => table_getFlatHeaders(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getLeafHeaders: {\n fn: () => table_getLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Core Headers feature provides the core header functionality.\n */\nexport const coreHeadersFeature = constructCoreHeadersFeature()\n"],"mappings":";;;;;AA8BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAW,sBAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACD,mBAAmB;KACjB,KAAK,WAAW,kBAAkB,OAAO;KACzC,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,sBAAsB,OAAO;IAC3C,uBAAuB;KACrB,UAAU,sBAAsB,MAAM;KACtC,gBAAgB;;;OACd,MAAM,QAAQ;gCACd,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,wFAAU,KAAK;gCAC3B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACnC,MAAM,QAAQ;OACf;;KACF;IACD,uBAAuB;KACrB,UAAU,sBAAsB,MAAM;KACtC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAU,qBAAqB,MAAM;KACrC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAU,qBAAqB,MAAM;KACrC,gBAAgB;MACd,mBACE,OACA,uBACA,0BACD;MACD,mBACE,OACA,yBACA,4BACD;MACD,mBACE,OACA,wBACA,2BACD;MACF;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
@@ -21,7 +21,8 @@ function header_getContext(header) {
21
21
  };
22
22
  }
23
23
  function table_getHeaderGroups(table) {
24
- const { left, right } = table.store.state.columnPinning ?? require_columnPinningFeature_utils.getDefaultColumnPinningState();
24
+ var _table$atoms$columnPi;
25
+ const { left, right } = ((_table$atoms$columnPi = table.atoms.columnPinning) === null || _table$atoms$columnPi === void 0 ? void 0 : _table$atoms$columnPi.get()) ?? require_columnPinningFeature_utils.getDefaultColumnPinningState();
25
26
  const allColumns = table.getAllColumns();
26
27
  const leafColumns = require_utils.callMemoOrStaticFn(table, "getVisibleLeafColumns", require_columnVisibilityFeature_utils.table_getVisibleLeafColumns);
27
28
  const leftColumns = left.map((columnId) => leafColumns.find((d) => d.id === columnId)).filter(Boolean);
@@ -1 +1 @@
1
- {"version":3,"file":"coreHeadersFeature.utils.cjs","names":["getDefaultColumnPinningState","callMemoOrStaticFn","table_getVisibleLeafColumns","buildHeaderGroups","table_getLeftHeaderGroups","table_getCenterHeaderGroups","table_getRightHeaderGroups"],"sources":["../../../src/core/headers/coreHeadersFeature.utils.ts"],"sourcesContent":["import {\n getDefaultColumnPinningState,\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport { table_getVisibleLeafColumns } from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { callMemoOrStaticFn } from '../../utils'\nimport { buildHeaderGroups } from './buildHeaderGroups'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header_Header } from './coreHeadersFeature.types'\nimport type { Column } from '../../types/Column'\n\nexport function header_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n const leafHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n const recurseHeader = (h: Header_Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TFeatures, TData, TValue>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n}\n\nexport function header_getContext<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n return {\n column: header.column,\n header,\n table: header.column.table,\n }\n}\n\nexport function table_getHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { left, right } =\n table.store.state.columnPinning ?? getDefaultColumnPinningState()\n const allColumns = table.getAllColumns()\n const leafColumns = callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ) as unknown as Array<Column<TFeatures, TData, unknown>>\n\n const leftColumns = left\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n const rightColumns = right\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n const centerColumns = leafColumns.filter(\n (column) => !left.includes(column.id) && !right.includes(column.id),\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table,\n )\n\n return headerGroups\n}\n\nexport function table_getFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return [...headerGroups].reverse()\n}\n\nexport function table_getFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return headerGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\nexport function table_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const left = callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )\n const center = callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )\n const right = callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )\n\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map((header) => {\n return header.getLeafHeaders()\n })\n .flat()\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,sBAId,QAA0C;CAC1C,MAAM,cAAuD,EAAE;CAE/D,MAAM,iBAAiB,MAA+C;AACpE,MAAI,EAAE,WAAW,OACf,GAAE,WAAW,IAAI,cAAc;AAEjC,cAAY,KAAK,EAAsC;;AAGzD,eAAc,OAAO;AAErB,QAAO;;AAGT,SAAgB,kBAId,QAA0C;AAC1C,QAAO;EACL,QAAQ,OAAO;EACf;EACA,OAAO,OAAO,OAAO;EACtB;;AAGH,SAAgB,sBAGd,OAAyC;CACzC,MAAM,EAAE,MAAM,UACZ,MAAM,MAAM,MAAM,iBAAiBA,iEAA8B;CACnE,MAAM,aAAa,MAAM,eAAe;CACxC,MAAM,cAAcC,iCAClB,OACA,yBACAC,kEACD;CAED,MAAM,cAAc,KACjB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,eAAe,MAClB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,gBAAgB,YAAY,QAC/B,WAAW,CAAC,KAAK,SAAS,OAAO,GAAG,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,CACpE;AAQD,QANqBC,4CACnB,YACA;EAAC,GAAG;EAAa,GAAG;EAAe,GAAG;EAAa,EACnD,MACD;;AAKH,SAAgB,sBAGd,OAAyC;AAEzC,QAAO,CAAC,GADa,MAAM,iBAAiB,CACpB,CAAC,SAAS;;AAGpC,SAAgB,qBAGd,OAAyC;AAEzC,QADqB,MAAM,iBAAiB,CAEzC,KAAK,gBAAgB;AACpB,SAAO,YAAY;GACnB,CACD,MAAM;;AAGX,SAAgB,qBAGd,OAAyC;;CACzC,MAAM,OAAOF,iCACX,OACA,uBACAG,6DACD;CACD,MAAM,SAASH,iCACb,OACA,yBACAI,+DACD;CACD,MAAM,QAAQJ,iCACZ,OACA,wBACAK,8DACD;AAED,QAAO;EACL,cAAI,KAAK,oDAAI,YAAW,EAAE;EAC1B,gBAAI,OAAO,wDAAI,YAAW,EAAE;EAC5B,eAAI,MAAM,sDAAI,YAAW,EAAE;EAC5B,CACE,KAAK,WAAW;AACf,SAAO,OAAO,gBAAgB;GAC9B,CACD,MAAM"}
1
+ {"version":3,"file":"coreHeadersFeature.utils.cjs","names":["getDefaultColumnPinningState","callMemoOrStaticFn","table_getVisibleLeafColumns","buildHeaderGroups","table_getLeftHeaderGroups","table_getCenterHeaderGroups","table_getRightHeaderGroups"],"sources":["../../../src/core/headers/coreHeadersFeature.utils.ts"],"sourcesContent":["import {\n getDefaultColumnPinningState,\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport { table_getVisibleLeafColumns } from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { callMemoOrStaticFn } from '../../utils'\nimport { buildHeaderGroups } from './buildHeaderGroups'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header_Header } from './coreHeadersFeature.types'\nimport type { Column } from '../../types/Column'\n\nexport function header_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n const leafHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n const recurseHeader = (h: Header_Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TFeatures, TData, TValue>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n}\n\nexport function header_getContext<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n return {\n column: header.column,\n header,\n table: header.column.table,\n }\n}\n\nexport function table_getHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { left, right } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const allColumns = table.getAllColumns()\n const leafColumns = callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ) as unknown as Array<Column<TFeatures, TData, unknown>>\n\n const leftColumns = left\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n const rightColumns = right\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n const centerColumns = leafColumns.filter(\n (column) => !left.includes(column.id) && !right.includes(column.id),\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table,\n )\n\n return headerGroups\n}\n\nexport function table_getFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return [...headerGroups].reverse()\n}\n\nexport function table_getFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return headerGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\nexport function table_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const left = callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )\n const center = callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )\n const right = callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )\n\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map((header) => {\n return header.getLeafHeaders()\n })\n .flat()\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,sBAId,QAA0C;CAC1C,MAAM,cAAuD,EAAE;CAE/D,MAAM,iBAAiB,MAA+C;AACpE,MAAI,EAAE,WAAW,OACf,GAAE,WAAW,IAAI,cAAc;AAEjC,cAAY,KAAK,EAAsC;;AAGzD,eAAc,OAAO;AAErB,QAAO;;AAGT,SAAgB,kBAId,QAA0C;AAC1C,QAAO;EACL,QAAQ,OAAO;EACf;EACA,OAAO,OAAO,OAAO;EACtB;;AAGH,SAAgB,sBAGd,OAAyC;;CACzC,MAAM,EAAE,MAAM,oCACZ,MAAM,MAAM,6FAAe,KAAK,KAAIA,iEAA8B;CACpE,MAAM,aAAa,MAAM,eAAe;CACxC,MAAM,cAAcC,iCAClB,OACA,yBACAC,kEACD;CAED,MAAM,cAAc,KACjB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,eAAe,MAClB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,gBAAgB,YAAY,QAC/B,WAAW,CAAC,KAAK,SAAS,OAAO,GAAG,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,CACpE;AAQD,QANqBC,4CACnB,YACA;EAAC,GAAG;EAAa,GAAG;EAAe,GAAG;EAAa,EACnD,MACD;;AAKH,SAAgB,sBAGd,OAAyC;AAEzC,QAAO,CAAC,GADa,MAAM,iBAAiB,CACpB,CAAC,SAAS;;AAGpC,SAAgB,qBAGd,OAAyC;AAEzC,QADqB,MAAM,iBAAiB,CAEzC,KAAK,gBAAgB;AACpB,SAAO,YAAY;GACnB,CACD,MAAM;;AAGX,SAAgB,qBAGd,OAAyC;;CACzC,MAAM,OAAOF,iCACX,OACA,uBACAG,6DACD;CACD,MAAM,SAASH,iCACb,OACA,yBACAI,+DACD;CACD,MAAM,QAAQJ,iCACZ,OACA,wBACAK,8DACD;AAED,QAAO;EACL,cAAI,KAAK,oDAAI,YAAW,EAAE;EAC1B,gBAAI,OAAO,wDAAI,YAAW,EAAE;EAC5B,eAAI,MAAM,sDAAI,YAAW,EAAE;EAC5B,CACE,KAAK,WAAW;AACf,SAAO,OAAO,gBAAgB;GAC9B,CACD,MAAM"}
@@ -21,7 +21,8 @@ function header_getContext(header) {
21
21
  };
22
22
  }
23
23
  function table_getHeaderGroups(table) {
24
- const { left, right } = table.store.state.columnPinning ?? getDefaultColumnPinningState();
24
+ var _table$atoms$columnPi;
25
+ const { left, right } = ((_table$atoms$columnPi = table.atoms.columnPinning) === null || _table$atoms$columnPi === void 0 ? void 0 : _table$atoms$columnPi.get()) ?? getDefaultColumnPinningState();
25
26
  const allColumns = table.getAllColumns();
26
27
  const leafColumns = callMemoOrStaticFn(table, "getVisibleLeafColumns", table_getVisibleLeafColumns);
27
28
  const leftColumns = left.map((columnId) => leafColumns.find((d) => d.id === columnId)).filter(Boolean);
@@ -1 +1 @@
1
- {"version":3,"file":"coreHeadersFeature.utils.js","names":[],"sources":["../../../src/core/headers/coreHeadersFeature.utils.ts"],"sourcesContent":["import {\n getDefaultColumnPinningState,\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport { table_getVisibleLeafColumns } from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { callMemoOrStaticFn } from '../../utils'\nimport { buildHeaderGroups } from './buildHeaderGroups'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header_Header } from './coreHeadersFeature.types'\nimport type { Column } from '../../types/Column'\n\nexport function header_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n const leafHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n const recurseHeader = (h: Header_Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TFeatures, TData, TValue>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n}\n\nexport function header_getContext<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n return {\n column: header.column,\n header,\n table: header.column.table,\n }\n}\n\nexport function table_getHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { left, right } =\n table.store.state.columnPinning ?? getDefaultColumnPinningState()\n const allColumns = table.getAllColumns()\n const leafColumns = callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ) as unknown as Array<Column<TFeatures, TData, unknown>>\n\n const leftColumns = left\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n const rightColumns = right\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n const centerColumns = leafColumns.filter(\n (column) => !left.includes(column.id) && !right.includes(column.id),\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table,\n )\n\n return headerGroups\n}\n\nexport function table_getFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return [...headerGroups].reverse()\n}\n\nexport function table_getFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return headerGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\nexport function table_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const left = callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )\n const center = callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )\n const right = callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )\n\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map((header) => {\n return header.getLeafHeaders()\n })\n .flat()\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,sBAId,QAA0C;CAC1C,MAAM,cAAuD,EAAE;CAE/D,MAAM,iBAAiB,MAA+C;AACpE,MAAI,EAAE,WAAW,OACf,GAAE,WAAW,IAAI,cAAc;AAEjC,cAAY,KAAK,EAAsC;;AAGzD,eAAc,OAAO;AAErB,QAAO;;AAGT,SAAgB,kBAId,QAA0C;AAC1C,QAAO;EACL,QAAQ,OAAO;EACf;EACA,OAAO,OAAO,OAAO;EACtB;;AAGH,SAAgB,sBAGd,OAAyC;CACzC,MAAM,EAAE,MAAM,UACZ,MAAM,MAAM,MAAM,iBAAiB,8BAA8B;CACnE,MAAM,aAAa,MAAM,eAAe;CACxC,MAAM,cAAc,mBAClB,OACA,yBACA,4BACD;CAED,MAAM,cAAc,KACjB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,eAAe,MAClB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,gBAAgB,YAAY,QAC/B,WAAW,CAAC,KAAK,SAAS,OAAO,GAAG,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,CACpE;AAQD,QANqB,kBACnB,YACA;EAAC,GAAG;EAAa,GAAG;EAAe,GAAG;EAAa,EACnD,MACD;;AAKH,SAAgB,sBAGd,OAAyC;AAEzC,QAAO,CAAC,GADa,MAAM,iBAAiB,CACpB,CAAC,SAAS;;AAGpC,SAAgB,qBAGd,OAAyC;AAEzC,QADqB,MAAM,iBAAiB,CAEzC,KAAK,gBAAgB;AACpB,SAAO,YAAY;GACnB,CACD,MAAM;;AAGX,SAAgB,qBAGd,OAAyC;;CACzC,MAAM,OAAO,mBACX,OACA,uBACA,0BACD;CACD,MAAM,SAAS,mBACb,OACA,yBACA,4BACD;CACD,MAAM,QAAQ,mBACZ,OACA,wBACA,2BACD;AAED,QAAO;EACL,cAAI,KAAK,oDAAI,YAAW,EAAE;EAC1B,gBAAI,OAAO,wDAAI,YAAW,EAAE;EAC5B,eAAI,MAAM,sDAAI,YAAW,EAAE;EAC5B,CACE,KAAK,WAAW;AACf,SAAO,OAAO,gBAAgB;GAC9B,CACD,MAAM"}
1
+ {"version":3,"file":"coreHeadersFeature.utils.js","names":[],"sources":["../../../src/core/headers/coreHeadersFeature.utils.ts"],"sourcesContent":["import {\n getDefaultColumnPinningState,\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport { table_getVisibleLeafColumns } from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { callMemoOrStaticFn } from '../../utils'\nimport { buildHeaderGroups } from './buildHeaderGroups'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header_Header } from './coreHeadersFeature.types'\nimport type { Column } from '../../types/Column'\n\nexport function header_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n const leafHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n const recurseHeader = (h: Header_Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TFeatures, TData, TValue>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n}\n\nexport function header_getContext<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n return {\n column: header.column,\n header,\n table: header.column.table,\n }\n}\n\nexport function table_getHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { left, right } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const allColumns = table.getAllColumns()\n const leafColumns = callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ) as unknown as Array<Column<TFeatures, TData, unknown>>\n\n const leftColumns = left\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n const rightColumns = right\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n const centerColumns = leafColumns.filter(\n (column) => !left.includes(column.id) && !right.includes(column.id),\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table,\n )\n\n return headerGroups\n}\n\nexport function table_getFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return [...headerGroups].reverse()\n}\n\nexport function table_getFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return headerGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\nexport function table_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const left = callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )\n const center = callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )\n const right = callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )\n\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map((header) => {\n return header.getLeafHeaders()\n })\n .flat()\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,sBAId,QAA0C;CAC1C,MAAM,cAAuD,EAAE;CAE/D,MAAM,iBAAiB,MAA+C;AACpE,MAAI,EAAE,WAAW,OACf,GAAE,WAAW,IAAI,cAAc;AAEjC,cAAY,KAAK,EAAsC;;AAGzD,eAAc,OAAO;AAErB,QAAO;;AAGT,SAAgB,kBAId,QAA0C;AAC1C,QAAO;EACL,QAAQ,OAAO;EACf;EACA,OAAO,OAAO,OAAO;EACtB;;AAGH,SAAgB,sBAGd,OAAyC;;CACzC,MAAM,EAAE,MAAM,oCACZ,MAAM,MAAM,6FAAe,KAAK,KAAI,8BAA8B;CACpE,MAAM,aAAa,MAAM,eAAe;CACxC,MAAM,cAAc,mBAClB,OACA,yBACA,4BACD;CAED,MAAM,cAAc,KACjB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,eAAe,MAClB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,gBAAgB,YAAY,QAC/B,WAAW,CAAC,KAAK,SAAS,OAAO,GAAG,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,CACpE;AAQD,QANqB,kBACnB,YACA;EAAC,GAAG;EAAa,GAAG;EAAe,GAAG;EAAa,EACnD,MACD;;AAKH,SAAgB,sBAGd,OAAyC;AAEzC,QAAO,CAAC,GADa,MAAM,iBAAiB,CACpB,CAAC,SAAS;;AAGpC,SAAgB,qBAGd,OAAyC;AAEzC,QADqB,MAAM,iBAAiB,CAEzC,KAAK,gBAAgB;AACpB,SAAO,YAAY;GACnB,CACD,MAAM;;AAGX,SAAgB,qBAGd,OAAyC;;CACzC,MAAM,OAAO,mBACX,OACA,uBACA,0BACD;CACD,MAAM,SAAS,mBACb,OACA,yBACA,4BACD;CACD,MAAM,QAAQ,mBACZ,OACA,wBACA,2BACD;AAED,QAAO;EACL,cAAI,KAAK,oDAAI,YAAW,EAAE;EAC1B,gBAAI,OAAO,wDAAI,YAAW,EAAE;EAC5B,eAAI,MAAM,sDAAI,YAAW,EAAE;EAC5B,CACE,KAAK,WAAW;AACf,SAAO,OAAO,gBAAgB;GAC9B,CACD,MAAM"}
@@ -9,9 +9,6 @@ function getInitialTableState(features, initialState = {}) {
9
9
  });
10
10
  return structuredClone(initialState);
11
11
  }
12
- function createTableStore(features, initialState = {}) {
13
- return (0, _tanstack_store.createStore)(getInitialTableState(features, initialState));
14
- }
15
12
  function constructTable(tableOptions) {
16
13
  const table = {
17
14
  _features: {
@@ -25,7 +22,9 @@ function constructTable(tableOptions) {
25
22
  },
26
23
  set options(value) {
27
24
  this.optionsStore.setState(() => value);
28
- }
25
+ },
26
+ baseAtoms: {},
27
+ atoms: {}
29
28
  };
30
29
  const featuresList = Object.values(table._features);
31
30
  table.optionsStore = (0, _tanstack_store.createStore)({
@@ -36,12 +35,23 @@ function constructTable(tableOptions) {
36
35
  ...tableOptions
37
36
  });
38
37
  table.initialState = getInitialTableState(table._features, table.options.initialState);
39
- table.baseStore = table.options.store ?? (0, _tanstack_store.createStore)(table.initialState);
38
+ const stateKeys = Object.keys(table.initialState);
39
+ for (const key of stateKeys) {
40
+ table.baseAtoms[key] = (0, _tanstack_store.createAtom)(table.initialState[key]);
41
+ table.atoms[key] = (0, _tanstack_store.createAtom)(() => {
42
+ var _opts$atoms;
43
+ const opts = table.optionsStore.state;
44
+ const state = opts.state;
45
+ if (key in (state ?? {})) return state[key];
46
+ const externalAtom = (_opts$atoms = opts.atoms) === null || _opts$atoms === void 0 ? void 0 : _opts$atoms[key];
47
+ if (externalAtom) return externalAtom.get();
48
+ return table.baseAtoms[key].get();
49
+ });
50
+ }
40
51
  table.store = (0, _tanstack_store.createStore)(() => {
41
- return {
42
- ...table.baseStore.state,
43
- ...table.optionsStore.state.state ?? {}
44
- };
52
+ const snapshot = {};
53
+ for (const key of stateKeys) snapshot[key] = table.atoms[key].get();
54
+ return snapshot;
45
55
  });
46
56
  if (process.env.NODE_ENV === "development" && (tableOptions.debugAll || tableOptions.debugTable)) {
47
57
  const features = Object.keys(table._features);
@@ -64,6 +74,5 @@ function constructTable(tableOptions) {
64
74
 
65
75
  //#endregion
66
76
  exports.constructTable = constructTable;
67
- exports.createTableStore = createTableStore;
68
77
  exports.getInitialTableState = getInitialTableState;
69
78
  //# sourceMappingURL=constructTable.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constructTable.cjs","names":["coreFeatures"],"sources":["../../../src/core/table/constructTable.ts"],"sourcesContent":["import { createStore } from '@tanstack/store'\nimport { coreFeatures } from '../coreFeatures'\nimport type { Store } from '@tanstack/store'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\nimport type { TableState } from '../../types/TableState'\n\nexport function getInitialTableState<TFeatures extends TableFeatures>(\n features: TFeatures,\n initialState: Partial<TableState<TFeatures>> | undefined = {},\n): TableState<TFeatures> {\n Object.values(features).forEach((feature) => {\n initialState =\n feature.getInitialState?.(initialState as TableState<TFeatures>) ??\n initialState\n })\n return structuredClone(initialState) as TableState<TFeatures>\n}\n\nexport function createTableStore<TFeatures extends TableFeatures>(\n features: TFeatures,\n initialState: Partial<TableState<TFeatures>> | undefined = {},\n): Store<TableState<TFeatures>> {\n return createStore(getInitialTableState(features, initialState))\n}\n\nexport function constructTable<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(tableOptions: TableOptions<TFeatures, TData>): Table<TFeatures, TData> {\n const table = {\n _features: { ...coreFeatures, ...tableOptions._features },\n _rowModels: {},\n _rowModelFns: {},\n get options() {\n return this.optionsStore.state\n },\n set options(value) {\n this.optionsStore.setState(() => value)\n },\n } as Table_Internal<TFeatures, TData>\n\n const featuresList: Array<TableFeature<{}>> = Object.values(table._features)\n\n const defaultOptions = featuresList.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultTableOptions?.(table))\n }, {}) as TableOptions<TFeatures, TData>\n\n table.optionsStore = createStore({\n ...defaultOptions,\n ...tableOptions,\n })\n\n table.initialState = getInitialTableState(\n table._features,\n table.options.initialState,\n )\n\n table.baseStore = table.options.store ?? createStore(table.initialState)\n\n table.store = createStore(() => {\n const state = table.baseStore.state\n return {\n ...state,\n ...(table.optionsStore.state.state ?? {}),\n }\n })\n\n if (\n process.env.NODE_ENV === 'development' &&\n (tableOptions.debugAll || tableOptions.debugTable)\n ) {\n const features = Object.keys(table._features)\n const rowModels = Object.keys(table.options._rowModels || {})\n const states = Object.keys(table.initialState)\n\n console.log(\n `Constructing Table Instance\n\n Features: ${features.join('\\n ')}\n\n Row Models: ${rowModels.length ? rowModels.join('\\n ') : '(none)'}\n\n States: ${states.join('\\n ')}`,\n )\n }\n\n for (const feature of featuresList) {\n feature.constructTableAPIs?.(table)\n }\n\n return table\n}\n"],"mappings":";;;;AASA,SAAgB,qBACd,UACA,eAA2D,EAAE,EACtC;AACvB,QAAO,OAAO,SAAS,CAAC,SAAS,YAAY;;AAC3C,2CACE,QAAQ,6GAAkB,aAAsC,KAChE;GACF;AACF,QAAO,gBAAgB,aAAa;;AAGtC,SAAgB,iBACd,UACA,eAA2D,EAAE,EAC/B;AAC9B,yCAAmB,qBAAqB,UAAU,aAAa,CAAC;;AAGlE,SAAgB,eAGd,cAAuE;CACvE,MAAM,QAAQ;EACZ,WAAW;GAAE,GAAGA;GAAc,GAAG,aAAa;GAAW;EACzD,YAAY,EAAE;EACd,cAAc,EAAE;EAChB,IAAI,UAAU;AACZ,UAAO,KAAK,aAAa;;EAE3B,IAAI,QAAQ,OAAO;AACjB,QAAK,aAAa,eAAe,MAAM;;EAE1C;CAED,MAAM,eAAwC,OAAO,OAAO,MAAM,UAAU;AAM5E,OAAM,gDAA2B;EAC/B,GALqB,aAAa,QAAQ,KAAK,YAAY;;AAC3D,UAAO,OAAO,OAAO,8BAAK,QAAQ,oHAAyB,MAAM,CAAC;KACjE,EAAE,CAAC;EAIJ,GAAG;EACJ,CAAC;AAEF,OAAM,eAAe,qBACnB,MAAM,WACN,MAAM,QAAQ,aACf;AAED,OAAM,YAAY,MAAM,QAAQ,0CAAqB,MAAM,aAAa;AAExE,OAAM,+CAA0B;AAE9B,SAAO;GACL,GAFY,MAAM,UAAU;GAG5B,GAAI,MAAM,aAAa,MAAM,SAAS,EAAE;GACzC;GACD;AAEF,KACE,QAAQ,IAAI,aAAa,kBACxB,aAAa,YAAY,aAAa,aACvC;EACA,MAAM,WAAW,OAAO,KAAK,MAAM,UAAU;EAC7C,MAAM,YAAY,OAAO,KAAK,MAAM,QAAQ,cAAc,EAAE,CAAC;EAC7D,MAAM,SAAS,OAAO,KAAK,MAAM,aAAa;AAE9C,UAAQ,IACN;;gBAEU,SAAS,KAAK,mBAAmB,CAAC;;gBAElC,UAAU,SAAS,UAAU,KAAK,mBAAmB,GAAG,SAAS;;gBAEjE,OAAO,KAAK,mBAAmB,GAC1C;;AAGH,MAAK,MAAM,WAAW,cAAc;;AAClC,mCAAQ,wGAAqB,MAAM;;AAGrC,QAAO"}
1
+ {"version":3,"file":"constructTable.cjs","names":["coreFeatures"],"sources":["../../../src/core/table/constructTable.ts"],"sourcesContent":["import { createAtom, createStore } from '@tanstack/store'\nimport { coreFeatures } from '../coreFeatures'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\nimport type { TableState } from '../../types/TableState'\n\nexport function getInitialTableState<TFeatures extends TableFeatures>(\n features: TFeatures,\n initialState: Partial<TableState<TFeatures>> | undefined = {},\n): TableState<TFeatures> {\n Object.values(features).forEach((feature) => {\n initialState =\n feature.getInitialState?.(initialState as TableState<TFeatures>) ??\n initialState\n })\n return structuredClone(initialState) as TableState<TFeatures>\n}\n\nexport function constructTable<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(tableOptions: TableOptions<TFeatures, TData>): Table<TFeatures, TData> {\n const table = {\n _features: { ...coreFeatures, ...tableOptions._features },\n _rowModels: {},\n _rowModelFns: {},\n get options() {\n return this.optionsStore.state\n },\n set options(value) {\n this.optionsStore.setState(() => value)\n },\n baseAtoms: {},\n atoms: {},\n } as Table_Internal<TFeatures, TData>\n\n const featuresList: Array<TableFeature<{}>> = Object.values(table._features)\n\n const defaultOptions = featuresList.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultTableOptions?.(table))\n }, {}) as TableOptions<TFeatures, TData>\n\n table.optionsStore = createStore({\n ...defaultOptions,\n ...tableOptions,\n })\n\n table.initialState = getInitialTableState(\n table._features,\n table.options.initialState,\n )\n\n const stateKeys = Object.keys(table.initialState) as Array<\n string & keyof TableState<TFeatures>\n >\n\n for (const key of stateKeys) {\n // create writable base atom\n table.baseAtoms[key] = createAtom(table.initialState[key]) as any\n\n // create readonly derived atom: on each get(), read current options (state, then external atom, then base)\n ;(table.atoms as any)[key] = createAtom(() => {\n // Reading optionsStore.state keeps this reactive to setOptions\n const opts = table.optionsStore.state\n const state = opts.state\n if (key in (state ?? {})) {\n return state![key]\n }\n const externalAtom = opts.atoms?.[key]\n if (externalAtom) {\n return externalAtom.get()\n }\n return table.baseAtoms[key].get()\n })\n }\n\n table.store = createStore(() => {\n const snapshot = {} as TableState<TFeatures>\n for (const key of stateKeys) {\n snapshot[key] = table.atoms[key].get()\n }\n return snapshot\n }) as typeof table.store\n\n if (\n process.env.NODE_ENV === 'development' &&\n (tableOptions.debugAll || tableOptions.debugTable)\n ) {\n const features = Object.keys(table._features)\n const rowModels = Object.keys(table.options._rowModels || {})\n const states = Object.keys(table.initialState)\n\n console.log(\n `Constructing Table Instance\n\n Features: ${features.join('\\n ')}\n\n Row Models: ${rowModels.length ? rowModels.join('\\n ') : '(none)'}\n\n States: ${states.join('\\n ')}`,\n )\n }\n\n for (const feature of featuresList) {\n feature.constructTableAPIs?.(table)\n }\n\n return table\n}\n"],"mappings":";;;;AAQA,SAAgB,qBACd,UACA,eAA2D,EAAE,EACtC;AACvB,QAAO,OAAO,SAAS,CAAC,SAAS,YAAY;;AAC3C,2CACE,QAAQ,6GAAkB,aAAsC,KAChE;GACF;AACF,QAAO,gBAAgB,aAAa;;AAGtC,SAAgB,eAGd,cAAuE;CACvE,MAAM,QAAQ;EACZ,WAAW;GAAE,GAAGA;GAAc,GAAG,aAAa;GAAW;EACzD,YAAY,EAAE;EACd,cAAc,EAAE;EAChB,IAAI,UAAU;AACZ,UAAO,KAAK,aAAa;;EAE3B,IAAI,QAAQ,OAAO;AACjB,QAAK,aAAa,eAAe,MAAM;;EAEzC,WAAW,EAAE;EACb,OAAO,EAAE;EACV;CAED,MAAM,eAAwC,OAAO,OAAO,MAAM,UAAU;AAM5E,OAAM,gDAA2B;EAC/B,GALqB,aAAa,QAAQ,KAAK,YAAY;;AAC3D,UAAO,OAAO,OAAO,8BAAK,QAAQ,oHAAyB,MAAM,CAAC;KACjE,EAAE,CAAC;EAIJ,GAAG;EACJ,CAAC;AAEF,OAAM,eAAe,qBACnB,MAAM,WACN,MAAM,QAAQ,aACf;CAED,MAAM,YAAY,OAAO,KAAK,MAAM,aAAa;AAIjD,MAAK,MAAM,OAAO,WAAW;AAE3B,QAAM,UAAU,uCAAkB,MAAM,aAAa,KAAK;AAGzD,EAAC,MAAM,MAAc,6CAAwB;;GAE5C,MAAM,OAAO,MAAM,aAAa;GAChC,MAAM,QAAQ,KAAK;AACnB,OAAI,QAAQ,SAAS,EAAE,EACrB,QAAO,MAAO;GAEhB,MAAM,8BAAe,KAAK,iEAAQ;AAClC,OAAI,aACF,QAAO,aAAa,KAAK;AAE3B,UAAO,MAAM,UAAU,KAAK,KAAK;IACjC;;AAGJ,OAAM,+CAA0B;EAC9B,MAAM,WAAW,EAAE;AACnB,OAAK,MAAM,OAAO,UAChB,UAAS,OAAO,MAAM,MAAM,KAAK,KAAK;AAExC,SAAO;GACP;AAEF,KACE,QAAQ,IAAI,aAAa,kBACxB,aAAa,YAAY,aAAa,aACvC;EACA,MAAM,WAAW,OAAO,KAAK,MAAM,UAAU;EAC7C,MAAM,YAAY,OAAO,KAAK,MAAM,QAAQ,cAAc,EAAE,CAAC;EAC7D,MAAM,SAAS,OAAO,KAAK,MAAM,aAAa;AAE9C,UAAQ,IACN;;gBAEU,SAAS,KAAK,mBAAmB,CAAC;;gBAElC,UAAU,SAAS,UAAU,KAAK,mBAAmB,GAAG,SAAS;;gBAEjE,OAAO,KAAK,mBAAmB,GAC1C;;AAGH,MAAK,MAAM,WAAW,cAAc;;AAClC,mCAAQ,wGAAqB,MAAM;;AAGrC,QAAO"}
@@ -3,12 +3,10 @@ import { TableState } from "../../types/TableState.cjs";
3
3
  import { TableOptions } from "../../types/TableOptions.cjs";
4
4
  import { TableFeatures } from "../../types/TableFeatures.cjs";
5
5
  import { Table } from "../../types/Table.cjs";
6
- import { Store } from "@tanstack/store";
7
6
 
8
7
  //#region src/core/table/constructTable.d.ts
9
8
  declare function getInitialTableState<TFeatures extends TableFeatures>(features: TFeatures, initialState?: Partial<TableState<TFeatures>> | undefined): TableState<TFeatures>;
10
- declare function createTableStore<TFeatures extends TableFeatures>(features: TFeatures, initialState?: Partial<TableState<TFeatures>> | undefined): Store<TableState<TFeatures>>;
11
9
  declare function constructTable<TFeatures extends TableFeatures, TData extends RowData>(tableOptions: TableOptions<TFeatures, TData>): Table<TFeatures, TData>;
12
10
  //#endregion
13
- export { constructTable, createTableStore, getInitialTableState };
11
+ export { constructTable, getInitialTableState };
14
12
  //# sourceMappingURL=constructTable.d.cts.map
@@ -3,12 +3,10 @@ import { TableState } from "../../types/TableState.js";
3
3
  import { TableOptions } from "../../types/TableOptions.js";
4
4
  import { TableFeatures } from "../../types/TableFeatures.js";
5
5
  import { Table } from "../../types/Table.js";
6
- import { Store } from "@tanstack/store";
7
6
 
8
7
  //#region src/core/table/constructTable.d.ts
9
8
  declare function getInitialTableState<TFeatures extends TableFeatures>(features: TFeatures, initialState?: Partial<TableState<TFeatures>> | undefined): TableState<TFeatures>;
10
- declare function createTableStore<TFeatures extends TableFeatures>(features: TFeatures, initialState?: Partial<TableState<TFeatures>> | undefined): Store<TableState<TFeatures>>;
11
9
  declare function constructTable<TFeatures extends TableFeatures, TData extends RowData>(tableOptions: TableOptions<TFeatures, TData>): Table<TFeatures, TData>;
12
10
  //#endregion
13
- export { constructTable, createTableStore, getInitialTableState };
11
+ export { constructTable, getInitialTableState };
14
12
  //# sourceMappingURL=constructTable.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { coreFeatures } from "../coreFeatures.js";
2
- import { createStore } from "@tanstack/store";
2
+ import { createAtom, createStore } from "@tanstack/store";
3
3
 
4
4
  //#region src/core/table/constructTable.ts
5
5
  function getInitialTableState(features, initialState = {}) {
@@ -9,9 +9,6 @@ function getInitialTableState(features, initialState = {}) {
9
9
  });
10
10
  return structuredClone(initialState);
11
11
  }
12
- function createTableStore(features, initialState = {}) {
13
- return createStore(getInitialTableState(features, initialState));
14
- }
15
12
  function constructTable(tableOptions) {
16
13
  const table = {
17
14
  _features: {
@@ -25,7 +22,9 @@ function constructTable(tableOptions) {
25
22
  },
26
23
  set options(value) {
27
24
  this.optionsStore.setState(() => value);
28
- }
25
+ },
26
+ baseAtoms: {},
27
+ atoms: {}
29
28
  };
30
29
  const featuresList = Object.values(table._features);
31
30
  table.optionsStore = createStore({
@@ -36,12 +35,23 @@ function constructTable(tableOptions) {
36
35
  ...tableOptions
37
36
  });
38
37
  table.initialState = getInitialTableState(table._features, table.options.initialState);
39
- table.baseStore = table.options.store ?? createStore(table.initialState);
38
+ const stateKeys = Object.keys(table.initialState);
39
+ for (const key of stateKeys) {
40
+ table.baseAtoms[key] = createAtom(table.initialState[key]);
41
+ table.atoms[key] = createAtom(() => {
42
+ var _opts$atoms;
43
+ const opts = table.optionsStore.state;
44
+ const state = opts.state;
45
+ if (key in (state ?? {})) return state[key];
46
+ const externalAtom = (_opts$atoms = opts.atoms) === null || _opts$atoms === void 0 ? void 0 : _opts$atoms[key];
47
+ if (externalAtom) return externalAtom.get();
48
+ return table.baseAtoms[key].get();
49
+ });
50
+ }
40
51
  table.store = createStore(() => {
41
- return {
42
- ...table.baseStore.state,
43
- ...table.optionsStore.state.state ?? {}
44
- };
52
+ const snapshot = {};
53
+ for (const key of stateKeys) snapshot[key] = table.atoms[key].get();
54
+ return snapshot;
45
55
  });
46
56
  if (process.env.NODE_ENV === "development" && (tableOptions.debugAll || tableOptions.debugTable)) {
47
57
  const features = Object.keys(table._features);
@@ -63,5 +73,5 @@ function constructTable(tableOptions) {
63
73
  }
64
74
 
65
75
  //#endregion
66
- export { constructTable, createTableStore, getInitialTableState };
76
+ export { constructTable, getInitialTableState };
67
77
  //# sourceMappingURL=constructTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constructTable.js","names":[],"sources":["../../../src/core/table/constructTable.ts"],"sourcesContent":["import { createStore } from '@tanstack/store'\nimport { coreFeatures } from '../coreFeatures'\nimport type { Store } from '@tanstack/store'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\nimport type { TableState } from '../../types/TableState'\n\nexport function getInitialTableState<TFeatures extends TableFeatures>(\n features: TFeatures,\n initialState: Partial<TableState<TFeatures>> | undefined = {},\n): TableState<TFeatures> {\n Object.values(features).forEach((feature) => {\n initialState =\n feature.getInitialState?.(initialState as TableState<TFeatures>) ??\n initialState\n })\n return structuredClone(initialState) as TableState<TFeatures>\n}\n\nexport function createTableStore<TFeatures extends TableFeatures>(\n features: TFeatures,\n initialState: Partial<TableState<TFeatures>> | undefined = {},\n): Store<TableState<TFeatures>> {\n return createStore(getInitialTableState(features, initialState))\n}\n\nexport function constructTable<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(tableOptions: TableOptions<TFeatures, TData>): Table<TFeatures, TData> {\n const table = {\n _features: { ...coreFeatures, ...tableOptions._features },\n _rowModels: {},\n _rowModelFns: {},\n get options() {\n return this.optionsStore.state\n },\n set options(value) {\n this.optionsStore.setState(() => value)\n },\n } as Table_Internal<TFeatures, TData>\n\n const featuresList: Array<TableFeature<{}>> = Object.values(table._features)\n\n const defaultOptions = featuresList.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultTableOptions?.(table))\n }, {}) as TableOptions<TFeatures, TData>\n\n table.optionsStore = createStore({\n ...defaultOptions,\n ...tableOptions,\n })\n\n table.initialState = getInitialTableState(\n table._features,\n table.options.initialState,\n )\n\n table.baseStore = table.options.store ?? createStore(table.initialState)\n\n table.store = createStore(() => {\n const state = table.baseStore.state\n return {\n ...state,\n ...(table.optionsStore.state.state ?? {}),\n }\n })\n\n if (\n process.env.NODE_ENV === 'development' &&\n (tableOptions.debugAll || tableOptions.debugTable)\n ) {\n const features = Object.keys(table._features)\n const rowModels = Object.keys(table.options._rowModels || {})\n const states = Object.keys(table.initialState)\n\n console.log(\n `Constructing Table Instance\n\n Features: ${features.join('\\n ')}\n\n Row Models: ${rowModels.length ? rowModels.join('\\n ') : '(none)'}\n\n States: ${states.join('\\n ')}`,\n )\n }\n\n for (const feature of featuresList) {\n feature.constructTableAPIs?.(table)\n }\n\n return table\n}\n"],"mappings":";;;;AASA,SAAgB,qBACd,UACA,eAA2D,EAAE,EACtC;AACvB,QAAO,OAAO,SAAS,CAAC,SAAS,YAAY;;AAC3C,2CACE,QAAQ,6GAAkB,aAAsC,KAChE;GACF;AACF,QAAO,gBAAgB,aAAa;;AAGtC,SAAgB,iBACd,UACA,eAA2D,EAAE,EAC/B;AAC9B,QAAO,YAAY,qBAAqB,UAAU,aAAa,CAAC;;AAGlE,SAAgB,eAGd,cAAuE;CACvE,MAAM,QAAQ;EACZ,WAAW;GAAE,GAAG;GAAc,GAAG,aAAa;GAAW;EACzD,YAAY,EAAE;EACd,cAAc,EAAE;EAChB,IAAI,UAAU;AACZ,UAAO,KAAK,aAAa;;EAE3B,IAAI,QAAQ,OAAO;AACjB,QAAK,aAAa,eAAe,MAAM;;EAE1C;CAED,MAAM,eAAwC,OAAO,OAAO,MAAM,UAAU;AAM5E,OAAM,eAAe,YAAY;EAC/B,GALqB,aAAa,QAAQ,KAAK,YAAY;;AAC3D,UAAO,OAAO,OAAO,8BAAK,QAAQ,oHAAyB,MAAM,CAAC;KACjE,EAAE,CAAC;EAIJ,GAAG;EACJ,CAAC;AAEF,OAAM,eAAe,qBACnB,MAAM,WACN,MAAM,QAAQ,aACf;AAED,OAAM,YAAY,MAAM,QAAQ,SAAS,YAAY,MAAM,aAAa;AAExE,OAAM,QAAQ,kBAAkB;AAE9B,SAAO;GACL,GAFY,MAAM,UAAU;GAG5B,GAAI,MAAM,aAAa,MAAM,SAAS,EAAE;GACzC;GACD;AAEF,KACE,QAAQ,IAAI,aAAa,kBACxB,aAAa,YAAY,aAAa,aACvC;EACA,MAAM,WAAW,OAAO,KAAK,MAAM,UAAU;EAC7C,MAAM,YAAY,OAAO,KAAK,MAAM,QAAQ,cAAc,EAAE,CAAC;EAC7D,MAAM,SAAS,OAAO,KAAK,MAAM,aAAa;AAE9C,UAAQ,IACN;;gBAEU,SAAS,KAAK,mBAAmB,CAAC;;gBAElC,UAAU,SAAS,UAAU,KAAK,mBAAmB,GAAG,SAAS;;gBAEjE,OAAO,KAAK,mBAAmB,GAC1C;;AAGH,MAAK,MAAM,WAAW,cAAc;;AAClC,mCAAQ,wGAAqB,MAAM;;AAGrC,QAAO"}
1
+ {"version":3,"file":"constructTable.js","names":[],"sources":["../../../src/core/table/constructTable.ts"],"sourcesContent":["import { createAtom, createStore } from '@tanstack/store'\nimport { coreFeatures } from '../coreFeatures'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\nimport type { TableState } from '../../types/TableState'\n\nexport function getInitialTableState<TFeatures extends TableFeatures>(\n features: TFeatures,\n initialState: Partial<TableState<TFeatures>> | undefined = {},\n): TableState<TFeatures> {\n Object.values(features).forEach((feature) => {\n initialState =\n feature.getInitialState?.(initialState as TableState<TFeatures>) ??\n initialState\n })\n return structuredClone(initialState) as TableState<TFeatures>\n}\n\nexport function constructTable<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(tableOptions: TableOptions<TFeatures, TData>): Table<TFeatures, TData> {\n const table = {\n _features: { ...coreFeatures, ...tableOptions._features },\n _rowModels: {},\n _rowModelFns: {},\n get options() {\n return this.optionsStore.state\n },\n set options(value) {\n this.optionsStore.setState(() => value)\n },\n baseAtoms: {},\n atoms: {},\n } as Table_Internal<TFeatures, TData>\n\n const featuresList: Array<TableFeature<{}>> = Object.values(table._features)\n\n const defaultOptions = featuresList.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultTableOptions?.(table))\n }, {}) as TableOptions<TFeatures, TData>\n\n table.optionsStore = createStore({\n ...defaultOptions,\n ...tableOptions,\n })\n\n table.initialState = getInitialTableState(\n table._features,\n table.options.initialState,\n )\n\n const stateKeys = Object.keys(table.initialState) as Array<\n string & keyof TableState<TFeatures>\n >\n\n for (const key of stateKeys) {\n // create writable base atom\n table.baseAtoms[key] = createAtom(table.initialState[key]) as any\n\n // create readonly derived atom: on each get(), read current options (state, then external atom, then base)\n ;(table.atoms as any)[key] = createAtom(() => {\n // Reading optionsStore.state keeps this reactive to setOptions\n const opts = table.optionsStore.state\n const state = opts.state\n if (key in (state ?? {})) {\n return state![key]\n }\n const externalAtom = opts.atoms?.[key]\n if (externalAtom) {\n return externalAtom.get()\n }\n return table.baseAtoms[key].get()\n })\n }\n\n table.store = createStore(() => {\n const snapshot = {} as TableState<TFeatures>\n for (const key of stateKeys) {\n snapshot[key] = table.atoms[key].get()\n }\n return snapshot\n }) as typeof table.store\n\n if (\n process.env.NODE_ENV === 'development' &&\n (tableOptions.debugAll || tableOptions.debugTable)\n ) {\n const features = Object.keys(table._features)\n const rowModels = Object.keys(table.options._rowModels || {})\n const states = Object.keys(table.initialState)\n\n console.log(\n `Constructing Table Instance\n\n Features: ${features.join('\\n ')}\n\n Row Models: ${rowModels.length ? rowModels.join('\\n ') : '(none)'}\n\n States: ${states.join('\\n ')}`,\n )\n }\n\n for (const feature of featuresList) {\n feature.constructTableAPIs?.(table)\n }\n\n return table\n}\n"],"mappings":";;;;AAQA,SAAgB,qBACd,UACA,eAA2D,EAAE,EACtC;AACvB,QAAO,OAAO,SAAS,CAAC,SAAS,YAAY;;AAC3C,2CACE,QAAQ,6GAAkB,aAAsC,KAChE;GACF;AACF,QAAO,gBAAgB,aAAa;;AAGtC,SAAgB,eAGd,cAAuE;CACvE,MAAM,QAAQ;EACZ,WAAW;GAAE,GAAG;GAAc,GAAG,aAAa;GAAW;EACzD,YAAY,EAAE;EACd,cAAc,EAAE;EAChB,IAAI,UAAU;AACZ,UAAO,KAAK,aAAa;;EAE3B,IAAI,QAAQ,OAAO;AACjB,QAAK,aAAa,eAAe,MAAM;;EAEzC,WAAW,EAAE;EACb,OAAO,EAAE;EACV;CAED,MAAM,eAAwC,OAAO,OAAO,MAAM,UAAU;AAM5E,OAAM,eAAe,YAAY;EAC/B,GALqB,aAAa,QAAQ,KAAK,YAAY;;AAC3D,UAAO,OAAO,OAAO,8BAAK,QAAQ,oHAAyB,MAAM,CAAC;KACjE,EAAE,CAAC;EAIJ,GAAG;EACJ,CAAC;AAEF,OAAM,eAAe,qBACnB,MAAM,WACN,MAAM,QAAQ,aACf;CAED,MAAM,YAAY,OAAO,KAAK,MAAM,aAAa;AAIjD,MAAK,MAAM,OAAO,WAAW;AAE3B,QAAM,UAAU,OAAO,WAAW,MAAM,aAAa,KAAK;AAGzD,EAAC,MAAM,MAAc,OAAO,iBAAiB;;GAE5C,MAAM,OAAO,MAAM,aAAa;GAChC,MAAM,QAAQ,KAAK;AACnB,OAAI,QAAQ,SAAS,EAAE,EACrB,QAAO,MAAO;GAEhB,MAAM,8BAAe,KAAK,iEAAQ;AAClC,OAAI,aACF,QAAO,aAAa,KAAK;AAE3B,UAAO,MAAM,UAAU,KAAK,KAAK;IACjC;;AAGJ,OAAM,QAAQ,kBAAkB;EAC9B,MAAM,WAAW,EAAE;AACnB,OAAK,MAAM,OAAO,UAChB,UAAS,OAAO,MAAM,MAAM,KAAK,KAAK;AAExC,SAAO;GACP;AAEF,KACE,QAAQ,IAAI,aAAa,kBACxB,aAAa,YAAY,aAAa,aACvC;EACA,MAAM,WAAW,OAAO,KAAK,MAAM,UAAU;EAC7C,MAAM,YAAY,OAAO,KAAK,MAAM,QAAQ,cAAc,EAAE,CAAC;EAC7D,MAAM,SAAS,OAAO,KAAK,MAAM,aAAa;AAE9C,UAAQ,IACN;;gBAEU,SAAS,KAAK,mBAAmB,CAAC;;gBAElC,UAAU,SAAS,UAAU,KAAK,mBAAmB,GAAG,SAAS;;gBAEjE,OAAO,KAAK,mBAAmB,GAC1C;;AAGH,MAAK,MAAM,WAAW,cAAc;;AAClC,mCAAQ,wGAAqB,MAAM;;AAGrC,QAAO"}