@tanstack/table-core 9.0.0-alpha.36 → 9.0.0-alpha.38

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 (189) hide show
  1. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  2. package/dist/core/cells/coreCellsFeature.d.cts +1 -1
  3. package/dist/core/cells/coreCellsFeature.d.ts +1 -1
  4. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  5. package/dist/core/columns/constructColumn.cjs.map +1 -1
  6. package/dist/core/columns/constructColumn.js.map +1 -1
  7. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  8. package/dist/core/columns/coreColumnsFeature.d.cts +1 -1
  9. package/dist/core/columns/coreColumnsFeature.d.ts +1 -1
  10. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  11. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  12. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  13. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  14. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  15. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  16. package/dist/core/headers/coreHeadersFeature.d.cts +1 -1
  17. package/dist/core/headers/coreHeadersFeature.d.ts +1 -1
  18. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  19. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  20. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  21. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  22. package/dist/core/row-models/coreRowModelsFeature.d.cts +1 -1
  23. package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -1
  24. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  25. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  26. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  27. package/dist/core/rows/constructRow.cjs.map +1 -1
  28. package/dist/core/rows/constructRow.js.map +1 -1
  29. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  30. package/dist/core/rows/coreRowsFeature.d.cts +1 -1
  31. package/dist/core/rows/coreRowsFeature.d.ts +1 -1
  32. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  33. package/dist/core/table/constructTable.cjs.map +1 -1
  34. package/dist/core/table/constructTable.js.map +1 -1
  35. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  36. package/dist/core/table/coreTablesFeature.d.cts +1 -1
  37. package/dist/core/table/coreTablesFeature.d.ts +1 -1
  38. package/dist/core/table/coreTablesFeature.js.map +1 -1
  39. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  40. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  41. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  42. package/dist/features/column-faceting/columnFacetingFeature.d.cts +1 -1
  43. package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -1
  44. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  45. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  46. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  47. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  48. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  49. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  50. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  51. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  52. package/dist/features/column-filtering/columnFilteringFeature.d.cts +1 -1
  53. package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -1
  54. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  55. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  56. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  57. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  58. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  59. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  60. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  61. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  62. package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
  63. package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
  64. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  65. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  66. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  67. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  68. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  69. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  70. package/dist/features/column-ordering/columnOrderingFeature.d.cts +1 -1
  71. package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -1
  72. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  73. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  74. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  75. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  76. package/dist/features/column-pinning/columnPinningFeature.d.cts +1 -1
  77. package/dist/features/column-pinning/columnPinningFeature.d.ts +1 -1
  78. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  79. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  80. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  81. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  82. package/dist/features/column-resizing/columnResizingFeature.d.cts +1 -1
  83. package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -1
  84. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  85. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  86. package/dist/features/column-sizing/columnSizingFeature.d.cts +1 -1
  87. package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -1
  88. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  89. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  90. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  91. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  92. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +1 -1
  93. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -1
  94. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  95. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  96. package/dist/features/global-filtering/globalFilteringFeature.d.cts +1 -1
  97. package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -1
  98. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  99. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  100. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  101. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  102. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  103. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  104. package/dist/features/row-expanding/rowExpandingFeature.d.cts +1 -1
  105. package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -1
  106. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  107. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  108. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  109. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  110. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  111. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  112. package/dist/features/row-pagination/rowPaginationFeature.d.cts +1 -1
  113. package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -1
  114. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  115. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  116. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  117. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  118. package/dist/features/row-pinning/rowPinningFeature.d.cts +1 -1
  119. package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -1
  120. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  121. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  122. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  123. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  124. package/dist/features/row-selection/rowSelectionFeature.d.cts +1 -1
  125. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -1
  126. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  127. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  128. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  129. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  130. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  131. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  132. package/dist/features/row-sorting/rowSortingFeature.d.cts +1 -1
  133. package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -1
  134. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  135. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  136. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  137. package/dist/features/table-reactivity/tableReactivityFeature.cjs.map +1 -1
  138. package/dist/features/table-reactivity/tableReactivityFeature.d.cts +1 -1
  139. package/dist/features/table-reactivity/tableReactivityFeature.d.ts +1 -1
  140. package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -1
  141. package/dist/fns/filterFns.cjs.map +1 -1
  142. package/dist/fns/filterFns.js.map +1 -1
  143. package/dist/index.d.cts +23 -23
  144. package/dist/index.d.ts +23 -23
  145. package/dist/types/TableFeatures.d.cts +1 -1
  146. package/dist/types/TableFeatures.d.ts +1 -1
  147. package/dist/utils.cjs.map +1 -1
  148. package/dist/utils.js.map +1 -1
  149. package/package.json +2 -2
  150. package/src/core/cells/coreCellsFeature.ts +1 -1
  151. package/src/core/columns/coreColumnsFeature.ts +1 -1
  152. package/src/core/columns/coreColumnsFeature.utils.ts +1 -1
  153. package/src/core/headers/coreHeadersFeature.ts +1 -1
  154. package/src/core/row-models/coreRowModelsFeature.ts +1 -1
  155. package/src/core/row-models/createCoreRowModel.ts +1 -1
  156. package/src/core/rows/constructRow.ts +1 -1
  157. package/src/core/rows/coreRowsFeature.ts +1 -1
  158. package/src/core/table/constructTable.ts +2 -4
  159. package/src/core/table/coreTablesFeature.ts +1 -1
  160. package/src/features/column-faceting/columnFacetingFeature.ts +1 -1
  161. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  162. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  163. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  164. package/src/features/column-filtering/columnFilteringFeature.ts +1 -1
  165. package/src/features/column-filtering/columnFilteringFeature.utils.ts +5 -10
  166. package/src/features/column-filtering/createFilteredRowModel.ts +1 -1
  167. package/src/features/column-grouping/columnGroupingFeature.ts +1 -1
  168. package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -4
  169. package/src/features/column-grouping/createGroupedRowModel.ts +1 -1
  170. package/src/features/column-ordering/columnOrderingFeature.ts +1 -1
  171. package/src/features/column-pinning/columnPinningFeature.ts +1 -1
  172. package/src/features/column-resizing/columnResizingFeature.ts +1 -1
  173. package/src/features/column-sizing/columnSizingFeature.ts +1 -1
  174. package/src/features/column-visibility/columnVisibilityFeature.ts +1 -1
  175. package/src/features/global-filtering/globalFilteringFeature.ts +1 -1
  176. package/src/features/global-filtering/globalFilteringFeature.utils.ts +2 -3
  177. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  178. package/src/features/row-expanding/rowExpandingFeature.ts +1 -1
  179. package/src/features/row-expanding/rowExpandingFeature.utils.ts +1 -1
  180. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  181. package/src/features/row-pagination/rowPaginationFeature.ts +1 -1
  182. package/src/features/row-pinning/rowPinningFeature.ts +1 -1
  183. package/src/features/row-selection/rowSelectionFeature.ts +1 -1
  184. package/src/features/row-selection/rowSelectionFeature.utils.ts +2 -4
  185. package/src/features/row-sorting/createSortedRowModel.ts +3 -4
  186. package/src/features/row-sorting/rowSortingFeature.ts +1 -1
  187. package/src/features/row-sorting/rowSortingFeature.utils.ts +4 -6
  188. package/src/features/table-reactivity/tableReactivityFeature.ts +1 -1
  189. package/src/types/TableFeatures.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constructRow.js","names":[],"sources":["../../../src/core/rows/constructRow.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\nimport type { Row_CoreProperties } from './coreRowsFeature.types'\n\n/**\n * Creates or retrieves the row prototype for a table.\n * The prototype is cached on the table and shared by all row instances.\n */\nfunction getRowPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._rowPrototype) {\n table._rowPrototype = { table }\n for (const feature of Object.values(table._features)) {\n feature.assignRowPrototype?.(table._rowPrototype, table)\n }\n }\n return table._rowPrototype\n}\n\nexport const constructRow = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Array<Row<TFeatures, TData>>,\n parentId?: string,\n): Row<TFeatures, TData> => {\n // Create row with shared prototype for memory efficiency\n const rowPrototype = getRowPrototype(table)\n const row = Object.create(rowPrototype) as Row_CoreProperties<\n TFeatures,\n TData\n >\n\n // Only assign instance-specific properties\n row._uniqueValuesCache = {}\n row._valuesCache = {}\n row.depth = depth\n row.id = id\n row.index = rowIndex\n row.original = original\n row.parentId = parentId\n row.subRows = subRows ?? []\n\n // Initialize instance-specific data (e.g., caches) for features that need it\n for (const feature of Object.values(table._features)) {\n feature.initRowInstanceData?.(row as Row<TFeatures, TData>)\n }\n\n return row as Row<TFeatures, TData>\n}\n"],"mappings":";;;;;AAUA,SAAS,gBAGP,OAAiD;AACjD,KAAI,CAAC,MAAM,eAAe;AACxB,QAAM,gBAAgB,EAAE,OAAO;AAC/B,OAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;AACpD,oCAAQ,wGAAqB,MAAM,eAAe,MAAM;;;AAG5D,QAAO,MAAM;;AAGf,MAAa,gBAIX,OACA,IACA,UACA,UACA,OACA,SACA,aAC0B;CAE1B,MAAM,eAAe,gBAAgB,MAAM;CAC3C,MAAM,MAAM,OAAO,OAAO,aAAa;AAMvC,KAAI,qBAAqB,EAAE;AAC3B,KAAI,eAAe,EAAE;AACrB,KAAI,QAAQ;AACZ,KAAI,KAAK;AACT,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,WAAW;AACf,KAAI,UAAU,WAAW,EAAE;AAG3B,MAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;AACpD,mCAAQ,yGAAsB,IAA6B;;AAG7D,QAAO"}
1
+ {"version":3,"file":"constructRow.js","names":[],"sources":["../../../src/core/rows/constructRow.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\nimport type { Row_CoreProperties } from './coreRowsFeature.types'\n\n/**\n * Creates or retrieves the row prototype for a table.\n * The prototype is cached on the table and shared by all row instances.\n */\nfunction getRowPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._rowPrototype) {\n table._rowPrototype = { table }\n for (const feature of Object.values(table._features)) {\n feature.assignRowPrototype?.(table._rowPrototype, table)\n }\n }\n return table._rowPrototype\n}\n\nexport const constructRow = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Array<Row<TFeatures, TData>>,\n parentId?: string,\n): Row<TFeatures, TData> => {\n // Create row with shared prototype for memory efficiency\n const rowPrototype = getRowPrototype(table)\n const row = Object.create(rowPrototype) as Row_CoreProperties<\n TFeatures,\n TData\n >\n\n // Only assign instance-specific properties\n row._uniqueValuesCache = {}\n row._valuesCache = {}\n row.depth = depth\n row.id = id\n row.index = rowIndex\n row.original = original\n row.parentId = parentId\n row.subRows = subRows ?? []\n\n // Initialize instance-specific data (e.g., caches) for features that need it\n for (const feature of Object.values(table._features)) {\n feature.initRowInstanceData?.(row)\n }\n\n return row as Row<TFeatures, TData>\n}\n"],"mappings":";;;;;AAUA,SAAS,gBAGP,OAAiD;AACjD,KAAI,CAAC,MAAM,eAAe;AACxB,QAAM,gBAAgB,EAAE,OAAO;AAC/B,OAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;AACpD,oCAAQ,wGAAqB,MAAM,eAAe,MAAM;;;AAG5D,QAAO,MAAM;;AAGf,MAAa,gBAIX,OACA,IACA,UACA,UACA,OACA,SACA,aAC0B;CAE1B,MAAM,eAAe,gBAAgB,MAAM;CAC3C,MAAM,MAAM,OAAO,OAAO,aAAa;AAMvC,KAAI,qBAAqB,EAAE;AAC3B,KAAI,eAAe,EAAE;AACrB,KAAI,QAAQ;AACZ,KAAI,KAAK;AACT,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,WAAW;AACf,KAAI,UAAU,WAAW,EAAE;AAG3B,MAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;AACpD,mCAAQ,yGAAsB,IAAI;;AAGpC,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"coreRowsFeature.cjs","names":["row_getAllCellsByColumnId","row_getAllCells","row_getLeafRows","row_getParentRow","row_getParentRows","row_getUniqueValues","row_getValue","row_renderValue","table_getRowId","table_getRow"],"sources":["../../../src/core/rows/coreRowsFeature.ts"],"sourcesContent":["import { assignPrototypeAPIs, assignTableAPIs } from '../../utils'\nimport {\n row_getAllCells,\n row_getAllCellsByColumnId,\n row_getLeafRows,\n row_getParentRow,\n row_getParentRows,\n row_getUniqueValues,\n row_getValue,\n row_renderValue,\n table_getRow,\n table_getRowId,\n} from './coreRowsFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Row_Row,\n// TableOptions_Rows,\n// Table_Rows,\n// } from './coreRowsFeature.types'\n\ninterface CoreRowsFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Row: Row_Row<TFeatures, TData>\n // TableOptions: TableOptions_Rows<TFeatures, TData>\n // Table: Table_Rows<TFeatures, TData>\n}\n\nexport function constructCoreRowsFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreRowsFeatureConstructors<TFeatures, TData>> {\n return {\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreRowsFeature', prototype, table, {\n row_getAllCellsByColumnId: {\n fn: (row) => row_getAllCellsByColumnId(row),\n memoDeps: (row) => [row.getAllCells()],\n },\n row_getAllCells: {\n fn: (row) => row_getAllCells(row),\n memoDeps: (row) => [row.table.getAllLeafColumns()],\n },\n row_getLeafRows: {\n fn: (row) => row_getLeafRows(row),\n },\n row_getParentRow: {\n fn: (row) => row_getParentRow(row),\n },\n row_getParentRows: {\n fn: (row) => row_getParentRows(row),\n },\n row_getUniqueValues: {\n fn: (row, columnId) => row_getUniqueValues(row, columnId),\n },\n row_getValue: {\n fn: (row, columnId) => row_getValue(row, columnId),\n },\n row_renderValue: {\n fn: (row, columnId) => row_renderValue(row, columnId),\n },\n })\n },\n constructTableAPIs: (table) => {\n assignTableAPIs('coreRowsFeature', table, {\n table_getRowId: {\n fn: (originalRow, index, parent) =>\n table_getRowId(originalRow, table, index, parent),\n },\n table_getRow: {\n fn: (id: string, searchAll?: boolean) =>\n table_getRow(table, id, searchAll),\n },\n })\n },\n }\n}\n\n/**\n * The Core Rows feature provides the core row functionality.\n */\nexport const coreRowsFeature = constructCoreRowsFeature()\n"],"mappings":";;;;AA8BA,SAAgB,2BAGiD;AAC/D,QAAO;EACL,qBAAqB,WAAW,UAAU;AACxC,qCAAoB,mBAAmB,WAAW,OAAO;IACvD,2BAA2B;KACzB,KAAK,QAAQA,wDAA0B,IAAI;KAC3C,WAAW,QAAQ,CAAC,IAAI,aAAa,CAAC;KACvC;IACD,iBAAiB;KACf,KAAK,QAAQC,8CAAgB,IAAI;KACjC,WAAW,QAAQ,CAAC,IAAI,MAAM,mBAAmB,CAAC;KACnD;IACD,iBAAiB,EACf,KAAK,QAAQC,8CAAgB,IAAI,EAClC;IACD,kBAAkB,EAChB,KAAK,QAAQC,+CAAiB,IAAI,EACnC;IACD,mBAAmB,EACjB,KAAK,QAAQC,gDAAkB,IAAI,EACpC;IACD,qBAAqB,EACnB,KAAK,KAAK,aAAaC,kDAAoB,KAAK,SAAS,EAC1D;IACD,cAAc,EACZ,KAAK,KAAK,aAAaC,2CAAa,KAAK,SAAS,EACnD;IACD,iBAAiB,EACf,KAAK,KAAK,aAAaC,8CAAgB,KAAK,SAAS,EACtD;IACF,CAAC;;EAEJ,qBAAqB,UAAU;AAC7B,iCAAgB,mBAAmB,OAAO;IACxC,gBAAgB,EACd,KAAK,aAAa,OAAO,WACvBC,6CAAe,aAAa,OAAO,OAAO,OAAO,EACpD;IACD,cAAc,EACZ,KAAK,IAAY,cACfC,2CAAa,OAAO,IAAI,UAAU,EACrC;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,kBAAkB,0BAA0B"}
1
+ {"version":3,"file":"coreRowsFeature.cjs","names":["row_getAllCellsByColumnId","row_getAllCells","row_getLeafRows","row_getParentRow","row_getParentRows","row_getUniqueValues","row_getValue","row_renderValue","table_getRowId","table_getRow"],"sources":["../../../src/core/rows/coreRowsFeature.ts"],"sourcesContent":["import { assignPrototypeAPIs, assignTableAPIs } from '../../utils'\nimport {\n row_getAllCells,\n row_getAllCellsByColumnId,\n row_getLeafRows,\n row_getParentRow,\n row_getParentRows,\n row_getUniqueValues,\n row_getValue,\n row_renderValue,\n table_getRow,\n table_getRowId,\n} from './coreRowsFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Row_Row,\n// TableOptions_Rows,\n// Table_Rows,\n// } from './coreRowsFeature.types'\n\nexport interface CoreRowsFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Row: Row_Row<TFeatures, TData>\n // TableOptions: TableOptions_Rows<TFeatures, TData>\n // Table: Table_Rows<TFeatures, TData>\n}\n\nexport function constructCoreRowsFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreRowsFeatureConstructors<TFeatures, TData>> {\n return {\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreRowsFeature', prototype, table, {\n row_getAllCellsByColumnId: {\n fn: (row) => row_getAllCellsByColumnId(row),\n memoDeps: (row) => [row.getAllCells()],\n },\n row_getAllCells: {\n fn: (row) => row_getAllCells(row),\n memoDeps: (row) => [row.table.getAllLeafColumns()],\n },\n row_getLeafRows: {\n fn: (row) => row_getLeafRows(row),\n },\n row_getParentRow: {\n fn: (row) => row_getParentRow(row),\n },\n row_getParentRows: {\n fn: (row) => row_getParentRows(row),\n },\n row_getUniqueValues: {\n fn: (row, columnId) => row_getUniqueValues(row, columnId),\n },\n row_getValue: {\n fn: (row, columnId) => row_getValue(row, columnId),\n },\n row_renderValue: {\n fn: (row, columnId) => row_renderValue(row, columnId),\n },\n })\n },\n constructTableAPIs: (table) => {\n assignTableAPIs('coreRowsFeature', table, {\n table_getRowId: {\n fn: (originalRow, index, parent) =>\n table_getRowId(originalRow, table, index, parent),\n },\n table_getRow: {\n fn: (id: string, searchAll?: boolean) =>\n table_getRow(table, id, searchAll),\n },\n })\n },\n }\n}\n\n/**\n * The Core Rows feature provides the core row functionality.\n */\nexport const coreRowsFeature = constructCoreRowsFeature()\n"],"mappings":";;;;AA8BA,SAAgB,2BAGiD;AAC/D,QAAO;EACL,qBAAqB,WAAW,UAAU;AACxC,qCAAoB,mBAAmB,WAAW,OAAO;IACvD,2BAA2B;KACzB,KAAK,QAAQA,wDAA0B,IAAI;KAC3C,WAAW,QAAQ,CAAC,IAAI,aAAa,CAAC;KACvC;IACD,iBAAiB;KACf,KAAK,QAAQC,8CAAgB,IAAI;KACjC,WAAW,QAAQ,CAAC,IAAI,MAAM,mBAAmB,CAAC;KACnD;IACD,iBAAiB,EACf,KAAK,QAAQC,8CAAgB,IAAI,EAClC;IACD,kBAAkB,EAChB,KAAK,QAAQC,+CAAiB,IAAI,EACnC;IACD,mBAAmB,EACjB,KAAK,QAAQC,gDAAkB,IAAI,EACpC;IACD,qBAAqB,EACnB,KAAK,KAAK,aAAaC,kDAAoB,KAAK,SAAS,EAC1D;IACD,cAAc,EACZ,KAAK,KAAK,aAAaC,2CAAa,KAAK,SAAS,EACnD;IACD,iBAAiB,EACf,KAAK,KAAK,aAAaC,8CAAgB,KAAK,SAAS,EACtD;IACF,CAAC;;EAEJ,qBAAqB,UAAU;AAC7B,iCAAgB,mBAAmB,OAAO;IACxC,gBAAgB,EACd,KAAK,aAAa,OAAO,WACvBC,6CAAe,aAAa,OAAO,OAAO,OAAO,EACpD;IACD,cAAc,EACZ,KAAK,IAAY,cACfC,2CAAa,OAAO,IAAI,UAAU,EACrC;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,kBAAkB,0BAA0B"}
@@ -9,5 +9,5 @@ declare function constructCoreRowsFeature<TFeatures extends TableFeatures, TData
9
9
  */
10
10
  declare const coreRowsFeature: TableFeature<CoreRowsFeatureConstructors<TableFeatures, RowData>>;
11
11
  //#endregion
12
- export { constructCoreRowsFeature, coreRowsFeature };
12
+ export { CoreRowsFeatureConstructors, constructCoreRowsFeature, coreRowsFeature };
13
13
  //# sourceMappingURL=coreRowsFeature.d.cts.map
@@ -9,5 +9,5 @@ declare function constructCoreRowsFeature<TFeatures extends TableFeatures, TData
9
9
  */
10
10
  declare const coreRowsFeature: TableFeature<CoreRowsFeatureConstructors<TableFeatures, RowData>>;
11
11
  //#endregion
12
- export { constructCoreRowsFeature, coreRowsFeature };
12
+ export { CoreRowsFeatureConstructors, constructCoreRowsFeature, coreRowsFeature };
13
13
  //# sourceMappingURL=coreRowsFeature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreRowsFeature.js","names":[],"sources":["../../../src/core/rows/coreRowsFeature.ts"],"sourcesContent":["import { assignPrototypeAPIs, assignTableAPIs } from '../../utils'\nimport {\n row_getAllCells,\n row_getAllCellsByColumnId,\n row_getLeafRows,\n row_getParentRow,\n row_getParentRows,\n row_getUniqueValues,\n row_getValue,\n row_renderValue,\n table_getRow,\n table_getRowId,\n} from './coreRowsFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Row_Row,\n// TableOptions_Rows,\n// Table_Rows,\n// } from './coreRowsFeature.types'\n\ninterface CoreRowsFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Row: Row_Row<TFeatures, TData>\n // TableOptions: TableOptions_Rows<TFeatures, TData>\n // Table: Table_Rows<TFeatures, TData>\n}\n\nexport function constructCoreRowsFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreRowsFeatureConstructors<TFeatures, TData>> {\n return {\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreRowsFeature', prototype, table, {\n row_getAllCellsByColumnId: {\n fn: (row) => row_getAllCellsByColumnId(row),\n memoDeps: (row) => [row.getAllCells()],\n },\n row_getAllCells: {\n fn: (row) => row_getAllCells(row),\n memoDeps: (row) => [row.table.getAllLeafColumns()],\n },\n row_getLeafRows: {\n fn: (row) => row_getLeafRows(row),\n },\n row_getParentRow: {\n fn: (row) => row_getParentRow(row),\n },\n row_getParentRows: {\n fn: (row) => row_getParentRows(row),\n },\n row_getUniqueValues: {\n fn: (row, columnId) => row_getUniqueValues(row, columnId),\n },\n row_getValue: {\n fn: (row, columnId) => row_getValue(row, columnId),\n },\n row_renderValue: {\n fn: (row, columnId) => row_renderValue(row, columnId),\n },\n })\n },\n constructTableAPIs: (table) => {\n assignTableAPIs('coreRowsFeature', table, {\n table_getRowId: {\n fn: (originalRow, index, parent) =>\n table_getRowId(originalRow, table, index, parent),\n },\n table_getRow: {\n fn: (id: string, searchAll?: boolean) =>\n table_getRow(table, id, searchAll),\n },\n })\n },\n }\n}\n\n/**\n * The Core Rows feature provides the core row functionality.\n */\nexport const coreRowsFeature = constructCoreRowsFeature()\n"],"mappings":";;;;AA8BA,SAAgB,2BAGiD;AAC/D,QAAO;EACL,qBAAqB,WAAW,UAAU;AACxC,uBAAoB,mBAAmB,WAAW,OAAO;IACvD,2BAA2B;KACzB,KAAK,QAAQ,0BAA0B,IAAI;KAC3C,WAAW,QAAQ,CAAC,IAAI,aAAa,CAAC;KACvC;IACD,iBAAiB;KACf,KAAK,QAAQ,gBAAgB,IAAI;KACjC,WAAW,QAAQ,CAAC,IAAI,MAAM,mBAAmB,CAAC;KACnD;IACD,iBAAiB,EACf,KAAK,QAAQ,gBAAgB,IAAI,EAClC;IACD,kBAAkB,EAChB,KAAK,QAAQ,iBAAiB,IAAI,EACnC;IACD,mBAAmB,EACjB,KAAK,QAAQ,kBAAkB,IAAI,EACpC;IACD,qBAAqB,EACnB,KAAK,KAAK,aAAa,oBAAoB,KAAK,SAAS,EAC1D;IACD,cAAc,EACZ,KAAK,KAAK,aAAa,aAAa,KAAK,SAAS,EACnD;IACD,iBAAiB,EACf,KAAK,KAAK,aAAa,gBAAgB,KAAK,SAAS,EACtD;IACF,CAAC;;EAEJ,qBAAqB,UAAU;AAC7B,mBAAgB,mBAAmB,OAAO;IACxC,gBAAgB,EACd,KAAK,aAAa,OAAO,WACvB,eAAe,aAAa,OAAO,OAAO,OAAO,EACpD;IACD,cAAc,EACZ,KAAK,IAAY,cACf,aAAa,OAAO,IAAI,UAAU,EACrC;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,kBAAkB,0BAA0B"}
1
+ {"version":3,"file":"coreRowsFeature.js","names":[],"sources":["../../../src/core/rows/coreRowsFeature.ts"],"sourcesContent":["import { assignPrototypeAPIs, assignTableAPIs } from '../../utils'\nimport {\n row_getAllCells,\n row_getAllCellsByColumnId,\n row_getLeafRows,\n row_getParentRow,\n row_getParentRows,\n row_getUniqueValues,\n row_getValue,\n row_renderValue,\n table_getRow,\n table_getRowId,\n} from './coreRowsFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Row_Row,\n// TableOptions_Rows,\n// Table_Rows,\n// } from './coreRowsFeature.types'\n\nexport interface CoreRowsFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Row: Row_Row<TFeatures, TData>\n // TableOptions: TableOptions_Rows<TFeatures, TData>\n // Table: Table_Rows<TFeatures, TData>\n}\n\nexport function constructCoreRowsFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreRowsFeatureConstructors<TFeatures, TData>> {\n return {\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreRowsFeature', prototype, table, {\n row_getAllCellsByColumnId: {\n fn: (row) => row_getAllCellsByColumnId(row),\n memoDeps: (row) => [row.getAllCells()],\n },\n row_getAllCells: {\n fn: (row) => row_getAllCells(row),\n memoDeps: (row) => [row.table.getAllLeafColumns()],\n },\n row_getLeafRows: {\n fn: (row) => row_getLeafRows(row),\n },\n row_getParentRow: {\n fn: (row) => row_getParentRow(row),\n },\n row_getParentRows: {\n fn: (row) => row_getParentRows(row),\n },\n row_getUniqueValues: {\n fn: (row, columnId) => row_getUniqueValues(row, columnId),\n },\n row_getValue: {\n fn: (row, columnId) => row_getValue(row, columnId),\n },\n row_renderValue: {\n fn: (row, columnId) => row_renderValue(row, columnId),\n },\n })\n },\n constructTableAPIs: (table) => {\n assignTableAPIs('coreRowsFeature', table, {\n table_getRowId: {\n fn: (originalRow, index, parent) =>\n table_getRowId(originalRow, table, index, parent),\n },\n table_getRow: {\n fn: (id: string, searchAll?: boolean) =>\n table_getRow(table, id, searchAll),\n },\n })\n },\n }\n}\n\n/**\n * The Core Rows feature provides the core row functionality.\n */\nexport const coreRowsFeature = constructCoreRowsFeature()\n"],"mappings":";;;;AA8BA,SAAgB,2BAGiD;AAC/D,QAAO;EACL,qBAAqB,WAAW,UAAU;AACxC,uBAAoB,mBAAmB,WAAW,OAAO;IACvD,2BAA2B;KACzB,KAAK,QAAQ,0BAA0B,IAAI;KAC3C,WAAW,QAAQ,CAAC,IAAI,aAAa,CAAC;KACvC;IACD,iBAAiB;KACf,KAAK,QAAQ,gBAAgB,IAAI;KACjC,WAAW,QAAQ,CAAC,IAAI,MAAM,mBAAmB,CAAC;KACnD;IACD,iBAAiB,EACf,KAAK,QAAQ,gBAAgB,IAAI,EAClC;IACD,kBAAkB,EAChB,KAAK,QAAQ,iBAAiB,IAAI,EACnC;IACD,mBAAmB,EACjB,KAAK,QAAQ,kBAAkB,IAAI,EACpC;IACD,qBAAqB,EACnB,KAAK,KAAK,aAAa,oBAAoB,KAAK,SAAS,EAC1D;IACD,cAAc,EACZ,KAAK,KAAK,aAAa,aAAa,KAAK,SAAS,EACnD;IACD,iBAAiB,EACf,KAAK,KAAK,aAAa,gBAAgB,KAAK,SAAS,EACtD;IACF,CAAC;;EAEJ,qBAAqB,UAAU;AAC7B,mBAAgB,mBAAmB,OAAO;IACxC,gBAAgB,EACd,KAAK,aAAa,OAAO,WACvB,eAAe,aAAa,OAAO,OAAO,OAAO,EACpD;IACD,cAAc,EACZ,KAAK,IAAY,cACf,aAAa,OAAO,IAAI,UAAU,EACrC;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,kBAAkB,0BAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"constructTable.cjs","names":["cloneState","coreFeatures"],"sources":["../../../src/core/table/constructTable.ts"],"sourcesContent":["import { createAtom, createStore } from '@tanstack/store'\nimport { coreFeatures } from '../coreFeatures'\nimport { cloneState } from '../../utils'\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 cloneState(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":";;;;;AASA,SAAgB,qBACd,UACA,eAA2D,EAAE,EACtC;AACvB,QAAO,OAAO,SAAS,CAAC,SAAS,YAAY;;AAC3C,2CACE,QAAQ,6GAAkB,aAAsC,KAChE;GACF;AACF,QAAOA,yBAAW,aAAa;;AAGjC,SAAgB,eAGd,cAAuE;CACvE,MAAM,QAAQ;EACZ,WAAW;GAAE,GAAGC;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"}
1
+ {"version":3,"file":"constructTable.cjs","names":["cloneState","coreFeatures"],"sources":["../../../src/core/table/constructTable.ts"],"sourcesContent":["import { createAtom, createStore } from '@tanstack/store'\nimport { coreFeatures } from '../coreFeatures'\nimport { cloneState } from '../../utils'\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 = feature.getInitialState?.(initialState) ?? initialState\n })\n return cloneState(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 })\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,2CAAe,QAAQ,6GAAkB,aAAa,KAAI;GAC1D;AACF,QAAOA,yBAAW,aAAa;;AAGjC,SAAgB,eAGd,cAAuE;CACvE,MAAM,QAAQ;EACZ,WAAW;GAAE,GAAGC;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,CAGc;EACjB,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"}
@@ -1 +1 @@
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 { cloneState } from '../../utils'\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 cloneState(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":";;;;;AASA,SAAgB,qBACd,UACA,eAA2D,EAAE,EACtC;AACvB,QAAO,OAAO,SAAS,CAAC,SAAS,YAAY;;AAC3C,2CACE,QAAQ,6GAAkB,aAAsC,KAChE;GACF;AACF,QAAO,WAAW,aAAa;;AAGjC,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"}
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 { cloneState } from '../../utils'\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 = feature.getInitialState?.(initialState) ?? initialState\n })\n return cloneState(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 })\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,2CAAe,QAAQ,6GAAkB,aAAa,KAAI;GAC1D;AACF,QAAO,WAAW,aAAa;;AAGjC,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,CAGc;EACjB,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"coreTablesFeature.cjs","names":["table_reset","table_setOptions"],"sources":["../../../src/core/table/coreTablesFeature.ts"],"sourcesContent":["import { assignTableAPIs } from '../../utils'\nimport { table_reset, table_setOptions } from './coreTablesFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { TableOptions_Table, Table_Table } from './coreTablesFeature.types'\n\ninterface CoreTablesFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Table: Table_Table<TFeatures, TData>\n // TableOptions: TableOptions_Table<TFeatures, TData>\n}\n\nexport function constructCoreTablesFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreTablesFeatureConstructors<TFeatures, TData>> {\n return {\n constructTableAPIs: (table) => {\n assignTableAPIs('coreTablesFeature', table, {\n table_reset: {\n fn: () => table_reset(table),\n },\n table_setOptions: {\n fn: (updater) => table_setOptions(table, updater),\n },\n })\n },\n }\n}\n\n/**\n * The Core Tables feature provides the core table functionality for handling state and options.\n */\nexport const coreTablesFeature = constructCoreTablesFeature()\n"],"mappings":";;;;AAcA,SAAgB,6BAGmD;AACjE,QAAO,EACL,qBAAqB,UAAU;AAC7B,gCAAgB,qBAAqB,OAAO;GAC1C,aAAa,EACX,UAAUA,4CAAY,MAAM,EAC7B;GACD,kBAAkB,EAChB,KAAK,YAAYC,iDAAiB,OAAO,QAAQ,EAClD;GACF,CAAC;IAEL;;;;;AAMH,MAAa,oBAAoB,4BAA4B"}
1
+ {"version":3,"file":"coreTablesFeature.cjs","names":["table_reset","table_setOptions"],"sources":["../../../src/core/table/coreTablesFeature.ts"],"sourcesContent":["import { assignTableAPIs } from '../../utils'\nimport { table_reset, table_setOptions } from './coreTablesFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { TableOptions_Table, Table_Table } from './coreTablesFeature.types'\n\nexport interface CoreTablesFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Table: Table_Table<TFeatures, TData>\n // TableOptions: TableOptions_Table<TFeatures, TData>\n}\n\nexport function constructCoreTablesFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreTablesFeatureConstructors<TFeatures, TData>> {\n return {\n constructTableAPIs: (table) => {\n assignTableAPIs('coreTablesFeature', table, {\n table_reset: {\n fn: () => table_reset(table),\n },\n table_setOptions: {\n fn: (updater) => table_setOptions(table, updater),\n },\n })\n },\n }\n}\n\n/**\n * The Core Tables feature provides the core table functionality for handling state and options.\n */\nexport const coreTablesFeature = constructCoreTablesFeature()\n"],"mappings":";;;;AAcA,SAAgB,6BAGmD;AACjE,QAAO,EACL,qBAAqB,UAAU;AAC7B,gCAAgB,qBAAqB,OAAO;GAC1C,aAAa,EACX,UAAUA,4CAAY,MAAM,EAC7B;GACD,kBAAkB,EAChB,KAAK,YAAYC,iDAAiB,OAAO,QAAQ,EAClD;GACF,CAAC;IAEL;;;;;AAMH,MAAa,oBAAoB,4BAA4B"}
@@ -9,5 +9,5 @@ declare function constructCoreTablesFeature<TFeatures extends TableFeatures, TDa
9
9
  */
10
10
  declare const coreTablesFeature: TableFeature<CoreTablesFeatureConstructors<TableFeatures, RowData>>;
11
11
  //#endregion
12
- export { constructCoreTablesFeature, coreTablesFeature };
12
+ export { CoreTablesFeatureConstructors, constructCoreTablesFeature, coreTablesFeature };
13
13
  //# sourceMappingURL=coreTablesFeature.d.cts.map
@@ -9,5 +9,5 @@ declare function constructCoreTablesFeature<TFeatures extends TableFeatures, TDa
9
9
  */
10
10
  declare const coreTablesFeature: TableFeature<CoreTablesFeatureConstructors<TableFeatures, RowData>>;
11
11
  //#endregion
12
- export { constructCoreTablesFeature, coreTablesFeature };
12
+ export { CoreTablesFeatureConstructors, constructCoreTablesFeature, coreTablesFeature };
13
13
  //# sourceMappingURL=coreTablesFeature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreTablesFeature.js","names":[],"sources":["../../../src/core/table/coreTablesFeature.ts"],"sourcesContent":["import { assignTableAPIs } from '../../utils'\nimport { table_reset, table_setOptions } from './coreTablesFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { TableOptions_Table, Table_Table } from './coreTablesFeature.types'\n\ninterface CoreTablesFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Table: Table_Table<TFeatures, TData>\n // TableOptions: TableOptions_Table<TFeatures, TData>\n}\n\nexport function constructCoreTablesFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreTablesFeatureConstructors<TFeatures, TData>> {\n return {\n constructTableAPIs: (table) => {\n assignTableAPIs('coreTablesFeature', table, {\n table_reset: {\n fn: () => table_reset(table),\n },\n table_setOptions: {\n fn: (updater) => table_setOptions(table, updater),\n },\n })\n },\n }\n}\n\n/**\n * The Core Tables feature provides the core table functionality for handling state and options.\n */\nexport const coreTablesFeature = constructCoreTablesFeature()\n"],"mappings":";;;;AAcA,SAAgB,6BAGmD;AACjE,QAAO,EACL,qBAAqB,UAAU;AAC7B,kBAAgB,qBAAqB,OAAO;GAC1C,aAAa,EACX,UAAU,YAAY,MAAM,EAC7B;GACD,kBAAkB,EAChB,KAAK,YAAY,iBAAiB,OAAO,QAAQ,EAClD;GACF,CAAC;IAEL;;;;;AAMH,MAAa,oBAAoB,4BAA4B"}
1
+ {"version":3,"file":"coreTablesFeature.js","names":[],"sources":["../../../src/core/table/coreTablesFeature.ts"],"sourcesContent":["import { assignTableAPIs } from '../../utils'\nimport { table_reset, table_setOptions } from './coreTablesFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { TableOptions_Table, Table_Table } from './coreTablesFeature.types'\n\nexport interface CoreTablesFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Table: Table_Table<TFeatures, TData>\n // TableOptions: TableOptions_Table<TFeatures, TData>\n}\n\nexport function constructCoreTablesFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreTablesFeatureConstructors<TFeatures, TData>> {\n return {\n constructTableAPIs: (table) => {\n assignTableAPIs('coreTablesFeature', table, {\n table_reset: {\n fn: () => table_reset(table),\n },\n table_setOptions: {\n fn: (updater) => table_setOptions(table, updater),\n },\n })\n },\n }\n}\n\n/**\n * The Core Tables feature provides the core table functionality for handling state and options.\n */\nexport const coreTablesFeature = constructCoreTablesFeature()\n"],"mappings":";;;;AAcA,SAAgB,6BAGmD;AACjE,QAAO,EACL,qBAAqB,UAAU;AAC7B,kBAAgB,qBAAqB,OAAO;GAC1C,aAAa,EACX,UAAU,YAAY,MAAM,EAC7B;GACD,kBAAkB,EAChB,KAAK,YAAY,iBAAiB,OAAO,QAAQ,EAClD;GACF,CAAC;IAEL;;;;;AAMH,MAAa,oBAAoB,4BAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"coreTablesFeature.utils.cjs","names":["cloneState","functionalUpdate"],"sources":["../../../src/core/table/coreTablesFeature.utils.ts"],"sourcesContent":["import { batch } from '@tanstack/store'\nimport { cloneState, functionalUpdate } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\n\nexport function table_reset<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): void {\n const snap = cloneState(table.initialState)\n batch(() => {\n for (const key of Object.keys(snap) as Array<keyof typeof snap>) {\n ;(table.baseAtoms as any)[key].set(snap[key] as any)\n }\n })\n}\n\nexport function table_mergeOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n newOptions: TableOptions<TFeatures, TData>,\n) {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(table.options, newOptions)\n }\n\n return {\n ...table.options,\n ...newOptions,\n }\n}\n\nexport function table_setOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<TableOptions<TFeatures, TData>>,\n): void {\n const newOptions = functionalUpdate(updater, table.options)\n const mergedOptions = table_mergeOptions(table, newOptions)\n table.optionsStore.setState(() => mergedOptions)\n}\n"],"mappings":";;;;AAOA,SAAgB,YAGd,OAA+C;CAC/C,MAAM,OAAOA,yBAAW,MAAM,aAAa;AAC3C,kCAAY;AACV,OAAK,MAAM,OAAO,OAAO,KAAK,KAAK,CAChC,CAAC,MAAM,UAAkB,KAAK,IAAI,KAAK,KAAY;GAEtD;;AAGJ,SAAgB,mBAId,OACA,YACA;AACA,KAAI,MAAM,QAAQ,aAChB,QAAO,MAAM,QAAQ,aAAa,MAAM,SAAS,WAAW;AAG9D,QAAO;EACL,GAAG,MAAM;EACT,GAAG;EACJ;;AAGH,SAAgB,iBAId,OACA,SACM;CAEN,MAAM,gBAAgB,mBAAmB,OADtBC,+BAAiB,SAAS,MAAM,QAAQ,CACA;AAC3D,OAAM,aAAa,eAAe,cAAc"}
1
+ {"version":3,"file":"coreTablesFeature.utils.cjs","names":["cloneState","functionalUpdate"],"sources":["../../../src/core/table/coreTablesFeature.utils.ts"],"sourcesContent":["import { batch } from '@tanstack/store'\nimport { cloneState, functionalUpdate } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\n\nexport function table_reset<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): void {\n const snap = cloneState(table.initialState)\n batch(() => {\n for (const key of Object.keys(snap) as Array<keyof typeof snap>) {\n ;(table.baseAtoms as any)[key].set(snap[key] as any)\n }\n })\n}\n\nexport function table_mergeOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n newOptions: TableOptions<TFeatures, TData>,\n) {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(table.options, newOptions)\n }\n\n return {\n ...table.options,\n ...newOptions,\n }\n}\n\nexport function table_setOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<TableOptions<TFeatures, TData>>,\n): void {\n const newOptions = functionalUpdate(updater, table.options)\n const mergedOptions = table_mergeOptions(table, newOptions)\n table.optionsStore.setState(() => mergedOptions)\n}\n"],"mappings":";;;;AAOA,SAAgB,YAGd,OAA+C;CAC/C,MAAM,OAAOA,yBAAW,MAAM,aAAa;AAC3C,kCAAY;AACV,OAAK,MAAM,OAAO,OAAO,KAAK,KAAK,CAChC,CAAC,MAAM,UAAkB,KAAK,IAAI,KAAK,KAAY;GAEtD;;AAGJ,SAAgB,mBAId,OACA,YACA;AACA,KAAI,MAAM,QAAQ,aAChB,QAAO,MAAM,QAAQ,aAAa,MAAM,SAAS,WAAW;AAG9D,QAAO;EACL,GAAG,MAAM;EACT,GAAG;EACJ;;AAGH,SAAgB,iBAId,OACA,SACM;CAEN,MAAM,gBAAgB,mBAAmB,OADtBC,+BAAiB,SAAS,MAAM,QACO,CAAC;AAC3D,OAAM,aAAa,eAAe,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"coreTablesFeature.utils.js","names":[],"sources":["../../../src/core/table/coreTablesFeature.utils.ts"],"sourcesContent":["import { batch } from '@tanstack/store'\nimport { cloneState, functionalUpdate } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\n\nexport function table_reset<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): void {\n const snap = cloneState(table.initialState)\n batch(() => {\n for (const key of Object.keys(snap) as Array<keyof typeof snap>) {\n ;(table.baseAtoms as any)[key].set(snap[key] as any)\n }\n })\n}\n\nexport function table_mergeOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n newOptions: TableOptions<TFeatures, TData>,\n) {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(table.options, newOptions)\n }\n\n return {\n ...table.options,\n ...newOptions,\n }\n}\n\nexport function table_setOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<TableOptions<TFeatures, TData>>,\n): void {\n const newOptions = functionalUpdate(updater, table.options)\n const mergedOptions = table_mergeOptions(table, newOptions)\n table.optionsStore.setState(() => mergedOptions)\n}\n"],"mappings":";;;;AAOA,SAAgB,YAGd,OAA+C;CAC/C,MAAM,OAAO,WAAW,MAAM,aAAa;AAC3C,aAAY;AACV,OAAK,MAAM,OAAO,OAAO,KAAK,KAAK,CAChC,CAAC,MAAM,UAAkB,KAAK,IAAI,KAAK,KAAY;GAEtD;;AAGJ,SAAgB,mBAId,OACA,YACA;AACA,KAAI,MAAM,QAAQ,aAChB,QAAO,MAAM,QAAQ,aAAa,MAAM,SAAS,WAAW;AAG9D,QAAO;EACL,GAAG,MAAM;EACT,GAAG;EACJ;;AAGH,SAAgB,iBAId,OACA,SACM;CAEN,MAAM,gBAAgB,mBAAmB,OADtB,iBAAiB,SAAS,MAAM,QAAQ,CACA;AAC3D,OAAM,aAAa,eAAe,cAAc"}
1
+ {"version":3,"file":"coreTablesFeature.utils.js","names":[],"sources":["../../../src/core/table/coreTablesFeature.utils.ts"],"sourcesContent":["import { batch } from '@tanstack/store'\nimport { cloneState, functionalUpdate } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableOptions } from '../../types/TableOptions'\n\nexport function table_reset<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): void {\n const snap = cloneState(table.initialState)\n batch(() => {\n for (const key of Object.keys(snap) as Array<keyof typeof snap>) {\n ;(table.baseAtoms as any)[key].set(snap[key] as any)\n }\n })\n}\n\nexport function table_mergeOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n newOptions: TableOptions<TFeatures, TData>,\n) {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(table.options, newOptions)\n }\n\n return {\n ...table.options,\n ...newOptions,\n }\n}\n\nexport function table_setOptions<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<TableOptions<TFeatures, TData>>,\n): void {\n const newOptions = functionalUpdate(updater, table.options)\n const mergedOptions = table_mergeOptions(table, newOptions)\n table.optionsStore.setState(() => mergedOptions)\n}\n"],"mappings":";;;;AAOA,SAAgB,YAGd,OAA+C;CAC/C,MAAM,OAAO,WAAW,MAAM,aAAa;AAC3C,aAAY;AACV,OAAK,MAAM,OAAO,OAAO,KAAK,KAAK,CAChC,CAAC,MAAM,UAAkB,KAAK,IAAI,KAAK,KAAY;GAEtD;;AAGJ,SAAgB,mBAId,OACA,YACA;AACA,KAAI,MAAM,QAAQ,aAChB,QAAO,MAAM,QAAQ,aAAa,MAAM,SAAS,WAAW;AAG9D,QAAO;EACL,GAAG,MAAM;EACT,GAAG;EACJ;;AAGH,SAAgB,iBAId,OACA,SACM;CAEN,MAAM,gBAAgB,mBAAmB,OADtB,iBAAiB,SAAS,MAAM,QACO,CAAC;AAC3D,OAAM,aAAa,eAAe,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"columnFacetingFeature.cjs","names":["column_getFacetedRowModel","callMemoOrStaticFn","column_getFacetedMinMaxValues","column_getFacetedUniqueValues","table_getGlobalFacetedRowModel","table_getGlobalFacetedMinMaxValues","table_getGlobalFacetedUniqueValues"],"sources":["../../../src/features/column-faceting/columnFacetingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n column_getFacetedMinMaxValues,\n column_getFacetedRowModel,\n column_getFacetedUniqueValues,\n table_getGlobalFacetedMinMaxValues,\n table_getGlobalFacetedRowModel,\n table_getGlobalFacetedUniqueValues,\n} from './columnFacetingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { Column_Internal } from '../../types/Column'\n// import type {\n// CachedRowModel_Faceted,\n// Column_ColumnFaceting,\n// CreateRowModel_Faceted,\n// } from './columnFacetingFeature.types'\n\ninterface ColumnFacetingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Faceted<TFeatures, TData>\n // Column: Column_ColumnFaceting<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Faceted<TFeatures, TData>\n}\n\nexport function constructColumnFacetingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFacetingFeatureConstructors<TFeatures, TData>> {\n return {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFacetingFeature', prototype, table, {\n column_getFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: (column) => column_getFacetedRowModel(column, column.table),\n },\n column_getFacetedMinMaxValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedMinMaxValues(column, column.table),\n },\n column_getFacetedUniqueValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedUniqueValues(column, column.table),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFacetingFeature', table, {\n table_getGlobalFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: () => table_getGlobalFacetedRowModel(table),\n },\n table_getGlobalFacetedMinMaxValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedMinMaxValues(table),\n },\n table_getGlobalFacetedUniqueValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedUniqueValues(table),\n },\n })\n },\n }\n}\n\n/**\n * The Column Faceting feature adds column faceting APIs to the column objects.\n */\nexport const columnFacetingFeature = constructColumnFacetingFeature()\n"],"mappings":";;;;AA+BA,SAAgB,iCAGuD;AACrE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,yBAAyB,WAAW,OAAO;IAC7D,2BAA2B;KACzB,gBAAgB;;;OACd,MAAM,wBAAwB,CAAC;gCAC/B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,4FAAc,KAAK;OAC/B,MAAM,qBAAqB,CAAC;OAC7B;;KACD,KAAK,WAAWA,8DAA0B,QAAQ,OAAO,MAAM;KAChE;IACD,+BAA+B;KAC7B,WAAW,WAA8C,CACvDC,iCACE,QACA,sBACAD,+DACA,OAAO,MACR,CAAC,SACH;KACD,KAAK,WAAWE,kEAA8B,QAAQ,OAAO,MAAM;KACpE;IACD,+BAA+B;KAC7B,WAAW,WAA8C,CACvDD,iCACE,QACA,sBACAD,+DACA,OAAO,MACR,CAAC,SACH;KACD,KAAK,WAAWG,kEAA8B,QAAQ,OAAO,MAAM;KACpE;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,yBAAyB,OAAO;IAC9C,gCAAgC;KAC9B,gBAAgB;;;OACd,MAAM,wBAAwB,CAAC;iCAC/B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,8FAAc,KAAK;OAC/B,MAAM,qBAAqB,CAAC;OAC7B;;KACD,UAAUC,mEAA+B,MAAM;KAChD;IACD,oCAAoC;KAClC,gBAAgB,CACdH,iCACE,OACA,4BACAG,mEACD,CAAC,SACH;KACD,UAAUC,uEAAmC,MAAM;KACpD;IACD,oCAAoC;KAClC,gBAAgB,CACdJ,iCACE,OACA,4BACAG,mEACD,CAAC,SACH;KACD,UAAUE,uEAAmC,MAAM;KACpD;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,wBAAwB,gCAAgC"}
1
+ {"version":3,"file":"columnFacetingFeature.cjs","names":["column_getFacetedRowModel","callMemoOrStaticFn","column_getFacetedMinMaxValues","column_getFacetedUniqueValues","table_getGlobalFacetedRowModel","table_getGlobalFacetedMinMaxValues","table_getGlobalFacetedUniqueValues"],"sources":["../../../src/features/column-faceting/columnFacetingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n column_getFacetedMinMaxValues,\n column_getFacetedRowModel,\n column_getFacetedUniqueValues,\n table_getGlobalFacetedMinMaxValues,\n table_getGlobalFacetedRowModel,\n table_getGlobalFacetedUniqueValues,\n} from './columnFacetingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { Column_Internal } from '../../types/Column'\n// import type {\n// CachedRowModel_Faceted,\n// Column_ColumnFaceting,\n// CreateRowModel_Faceted,\n// } from './columnFacetingFeature.types'\n\nexport interface ColumnFacetingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Faceted<TFeatures, TData>\n // Column: Column_ColumnFaceting<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Faceted<TFeatures, TData>\n}\n\nexport function constructColumnFacetingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFacetingFeatureConstructors<TFeatures, TData>> {\n return {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFacetingFeature', prototype, table, {\n column_getFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: (column) => column_getFacetedRowModel(column, column.table),\n },\n column_getFacetedMinMaxValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedMinMaxValues(column, column.table),\n },\n column_getFacetedUniqueValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedUniqueValues(column, column.table),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFacetingFeature', table, {\n table_getGlobalFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: () => table_getGlobalFacetedRowModel(table),\n },\n table_getGlobalFacetedMinMaxValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedMinMaxValues(table),\n },\n table_getGlobalFacetedUniqueValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedUniqueValues(table),\n },\n })\n },\n }\n}\n\n/**\n * The Column Faceting feature adds column faceting APIs to the column objects.\n */\nexport const columnFacetingFeature = constructColumnFacetingFeature()\n"],"mappings":";;;;AA+BA,SAAgB,iCAGuD;AACrE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,yBAAyB,WAAW,OAAO;IAC7D,2BAA2B;KACzB,gBAAgB;;;OACd,MAAM,wBAAwB,CAAC;gCAC/B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,4FAAc,KAAK;OAC/B,MAAM,qBAAqB,CAAC;OAC7B;;KACD,KAAK,WAAWA,8DAA0B,QAAQ,OAAO,MAAM;KAChE;IACD,+BAA+B;KAC7B,WAAW,WAA8C,CACvDC,iCACE,QACA,sBACAD,+DACA,OAAO,MACR,CAAC,SACH;KACD,KAAK,WAAWE,kEAA8B,QAAQ,OAAO,MAAM;KACpE;IACD,+BAA+B;KAC7B,WAAW,WAA8C,CACvDD,iCACE,QACA,sBACAD,+DACA,OAAO,MACR,CAAC,SACH;KACD,KAAK,WAAWG,kEAA8B,QAAQ,OAAO,MAAM;KACpE;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,yBAAyB,OAAO;IAC9C,gCAAgC;KAC9B,gBAAgB;;;OACd,MAAM,wBAAwB,CAAC;iCAC/B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,8FAAc,KAAK;OAC/B,MAAM,qBAAqB,CAAC;OAC7B;;KACD,UAAUC,mEAA+B,MAAM;KAChD;IACD,oCAAoC;KAClC,gBAAgB,CACdH,iCACE,OACA,4BACAG,mEACD,CAAC,SACH;KACD,UAAUC,uEAAmC,MAAM;KACpD;IACD,oCAAoC;KAClC,gBAAgB,CACdJ,iCACE,OACA,4BACAG,mEACD,CAAC,SACH;KACD,UAAUE,uEAAmC,MAAM;KACpD;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,wBAAwB,gCAAgC"}
@@ -9,5 +9,5 @@ declare function constructColumnFacetingFeature<TFeatures extends TableFeatures,
9
9
  */
10
10
  declare const columnFacetingFeature: TableFeature<ColumnFacetingFeatureConstructors<TableFeatures, RowData>>;
11
11
  //#endregion
12
- export { columnFacetingFeature, constructColumnFacetingFeature };
12
+ export { ColumnFacetingFeatureConstructors, columnFacetingFeature, constructColumnFacetingFeature };
13
13
  //# sourceMappingURL=columnFacetingFeature.d.cts.map
@@ -9,5 +9,5 @@ declare function constructColumnFacetingFeature<TFeatures extends TableFeatures,
9
9
  */
10
10
  declare const columnFacetingFeature: TableFeature<ColumnFacetingFeatureConstructors<TableFeatures, RowData>>;
11
11
  //#endregion
12
- export { columnFacetingFeature, constructColumnFacetingFeature };
12
+ export { ColumnFacetingFeatureConstructors, columnFacetingFeature, constructColumnFacetingFeature };
13
13
  //# sourceMappingURL=columnFacetingFeature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnFacetingFeature.js","names":[],"sources":["../../../src/features/column-faceting/columnFacetingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n column_getFacetedMinMaxValues,\n column_getFacetedRowModel,\n column_getFacetedUniqueValues,\n table_getGlobalFacetedMinMaxValues,\n table_getGlobalFacetedRowModel,\n table_getGlobalFacetedUniqueValues,\n} from './columnFacetingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { Column_Internal } from '../../types/Column'\n// import type {\n// CachedRowModel_Faceted,\n// Column_ColumnFaceting,\n// CreateRowModel_Faceted,\n// } from './columnFacetingFeature.types'\n\ninterface ColumnFacetingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Faceted<TFeatures, TData>\n // Column: Column_ColumnFaceting<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Faceted<TFeatures, TData>\n}\n\nexport function constructColumnFacetingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFacetingFeatureConstructors<TFeatures, TData>> {\n return {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFacetingFeature', prototype, table, {\n column_getFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: (column) => column_getFacetedRowModel(column, column.table),\n },\n column_getFacetedMinMaxValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedMinMaxValues(column, column.table),\n },\n column_getFacetedUniqueValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedUniqueValues(column, column.table),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFacetingFeature', table, {\n table_getGlobalFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: () => table_getGlobalFacetedRowModel(table),\n },\n table_getGlobalFacetedMinMaxValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedMinMaxValues(table),\n },\n table_getGlobalFacetedUniqueValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedUniqueValues(table),\n },\n })\n },\n }\n}\n\n/**\n * The Column Faceting feature adds column faceting APIs to the column objects.\n */\nexport const columnFacetingFeature = constructColumnFacetingFeature()\n"],"mappings":";;;;AA+BA,SAAgB,iCAGuD;AACrE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,yBAAyB,WAAW,OAAO;IAC7D,2BAA2B;KACzB,gBAAgB;;;OACd,MAAM,wBAAwB,CAAC;gCAC/B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,4FAAc,KAAK;OAC/B,MAAM,qBAAqB,CAAC;OAC7B;;KACD,KAAK,WAAW,0BAA0B,QAAQ,OAAO,MAAM;KAChE;IACD,+BAA+B;KAC7B,WAAW,WAA8C,CACvD,mBACE,QACA,sBACA,2BACA,OAAO,MACR,CAAC,SACH;KACD,KAAK,WAAW,8BAA8B,QAAQ,OAAO,MAAM;KACpE;IACD,+BAA+B;KAC7B,WAAW,WAA8C,CACvD,mBACE,QACA,sBACA,2BACA,OAAO,MACR,CAAC,SACH;KACD,KAAK,WAAW,8BAA8B,QAAQ,OAAO,MAAM;KACpE;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,yBAAyB,OAAO;IAC9C,gCAAgC;KAC9B,gBAAgB;;;OACd,MAAM,wBAAwB,CAAC;iCAC/B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,8FAAc,KAAK;OAC/B,MAAM,qBAAqB,CAAC;OAC7B;;KACD,UAAU,+BAA+B,MAAM;KAChD;IACD,oCAAoC;KAClC,gBAAgB,CACd,mBACE,OACA,4BACA,+BACD,CAAC,SACH;KACD,UAAU,mCAAmC,MAAM;KACpD;IACD,oCAAoC;KAClC,gBAAgB,CACd,mBACE,OACA,4BACA,+BACD,CAAC,SACH;KACD,UAAU,mCAAmC,MAAM;KACpD;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,wBAAwB,gCAAgC"}
1
+ {"version":3,"file":"columnFacetingFeature.js","names":[],"sources":["../../../src/features/column-faceting/columnFacetingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n column_getFacetedMinMaxValues,\n column_getFacetedRowModel,\n column_getFacetedUniqueValues,\n table_getGlobalFacetedMinMaxValues,\n table_getGlobalFacetedRowModel,\n table_getGlobalFacetedUniqueValues,\n} from './columnFacetingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\nimport type { Column_Internal } from '../../types/Column'\n// import type {\n// CachedRowModel_Faceted,\n// Column_ColumnFaceting,\n// CreateRowModel_Faceted,\n// } from './columnFacetingFeature.types'\n\nexport interface ColumnFacetingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Faceted<TFeatures, TData>\n // Column: Column_ColumnFaceting<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Faceted<TFeatures, TData>\n}\n\nexport function constructColumnFacetingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFacetingFeatureConstructors<TFeatures, TData>> {\n return {\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFacetingFeature', prototype, table, {\n column_getFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: (column) => column_getFacetedRowModel(column, column.table),\n },\n column_getFacetedMinMaxValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedMinMaxValues(column, column.table),\n },\n column_getFacetedUniqueValues: {\n memoDeps: (column: Column_Internal<TFeatures, TData>) => [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n column.table,\n ).flatRows,\n ],\n fn: (column) => column_getFacetedUniqueValues(column, column.table),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFacetingFeature', table, {\n table_getGlobalFacetedRowModel: {\n memoDeps: () => [\n table.getPreFilteredRowModel().rows,\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel().rows,\n ],\n fn: () => table_getGlobalFacetedRowModel(table),\n },\n table_getGlobalFacetedMinMaxValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedMinMaxValues(table),\n },\n table_getGlobalFacetedUniqueValues: {\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getGlobalFacetedRowModel',\n table_getGlobalFacetedRowModel,\n ).flatRows,\n ],\n fn: () => table_getGlobalFacetedUniqueValues(table),\n },\n })\n },\n }\n}\n\n/**\n * The Column Faceting feature adds column faceting APIs to the column objects.\n */\nexport const columnFacetingFeature = constructColumnFacetingFeature()\n"],"mappings":";;;;AA+BA,SAAgB,iCAGuD;AACrE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,yBAAyB,WAAW,OAAO;IAC7D,2BAA2B;KACzB,gBAAgB;;;OACd,MAAM,wBAAwB,CAAC;gCAC/B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,4FAAc,KAAK;OAC/B,MAAM,qBAAqB,CAAC;OAC7B;;KACD,KAAK,WAAW,0BAA0B,QAAQ,OAAO,MAAM;KAChE;IACD,+BAA+B;KAC7B,WAAW,WAA8C,CACvD,mBACE,QACA,sBACA,2BACA,OAAO,MACR,CAAC,SACH;KACD,KAAK,WAAW,8BAA8B,QAAQ,OAAO,MAAM;KACpE;IACD,+BAA+B;KAC7B,WAAW,WAA8C,CACvD,mBACE,QACA,sBACA,2BACA,OAAO,MACR,CAAC,SACH;KACD,KAAK,WAAW,8BAA8B,QAAQ,OAAO,MAAM;KACpE;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,yBAAyB,OAAO;IAC9C,gCAAgC;KAC9B,gBAAgB;;;OACd,MAAM,wBAAwB,CAAC;iCAC/B,MAAM,MAAM,+FAAe,KAAK;iCAChC,MAAM,MAAM,8FAAc,KAAK;OAC/B,MAAM,qBAAqB,CAAC;OAC7B;;KACD,UAAU,+BAA+B,MAAM;KAChD;IACD,oCAAoC;KAClC,gBAAgB,CACd,mBACE,OACA,4BACA,+BACD,CAAC,SACH;KACD,UAAU,mCAAmC,MAAM;KACpD;IACD,oCAAoC;KAClC,gBAAgB,CACd,mBACE,OACA,4BACA,+BACD,CAAC,SACH;KACD,UAAU,mCAAmC,MAAM;KACpD;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,wBAAwB,gCAAgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedMinMaxValues.cjs","names":["tableMemo","callMemoOrStaticFn","column_getFacetedRowModel"],"sources":["../../../src/features/column-faceting/createFacetedMinMaxValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => undefined | [number, number] {\n return (_table, columnId) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),\n fnName: 'table.getFacetedMinMaxValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n table,\n })\n }\n}\n\nfunction _createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n columnId: string,\n flatRows: Array<Row<TFeatures, TData>>,\n): undefined | [number, number] {\n if (!flatRows.length) return undefined\n\n const numericValues = flatRows\n .map((flatRow) => flatRow.getValue(columnId))\n .map(Number)\n .filter((value) => !Number.isNaN(value))\n\n if (!numericValues.length) return undefined\n\n let facetedMinValue = numericValues[0]!\n let facetedMaxValue = numericValues[0]!\n\n for (const value of numericValues) {\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMwB;AACtC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;AACd,SAAOA,wBAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,SAAS;GAChE,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACLC,iCACE,QACA,sBACAC,+DACA,MACD,CAAC,SACH;;GAEH;GACD,CAAC;;;AAIN,SAAS,2BAIP,UACA,UAC8B;AAC9B,KAAI,CAAC,SAAS,OAAQ,QAAO;CAE7B,MAAM,gBAAgB,SACnB,KAAK,YAAY,QAAQ,SAAS,SAAS,CAAC,CAC5C,IAAI,OAAO,CACX,QAAQ,UAAU,CAAC,OAAO,MAAM,MAAM,CAAC;AAE1C,KAAI,CAAC,cAAc,OAAQ,QAAO;CAElC,IAAI,kBAAkB,cAAc;CACpC,IAAI,kBAAkB,cAAc;AAEpC,MAAK,MAAM,SAAS,eAAe;AACjC,MAAI,QAAQ,gBAAiB,mBAAkB;AAC/C,MAAI,QAAQ,gBAAiB,mBAAkB;;AAGjD,QAAO,CAAC,iBAAiB,gBAAgB"}
1
+ {"version":3,"file":"createFacetedMinMaxValues.cjs","names":["tableMemo","callMemoOrStaticFn","column_getFacetedRowModel"],"sources":["../../../src/features/column-faceting/createFacetedMinMaxValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => undefined | [number, number] {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),\n fnName: 'table.getFacetedMinMaxValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n table,\n })\n }\n}\n\nfunction _createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n columnId: string,\n flatRows: Array<Row<TFeatures, TData>>,\n): undefined | [number, number] {\n if (!flatRows.length) return undefined\n\n const numericValues = flatRows\n .map((flatRow) => flatRow.getValue(columnId))\n .map(Number)\n .filter((value) => !Number.isNaN(value))\n\n if (!numericValues.length) return undefined\n\n let facetedMinValue = numericValues[0]!\n let facetedMaxValue = numericValues[0]!\n\n for (const value of numericValues) {\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMwB;AACtC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAOA,wBAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,SAAS;GAChE,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACLC,iCACE,QACA,sBACAC,+DACA,MACD,CAAC,SACH;;GAEH;GACD,CAAC;;;AAIN,SAAS,2BAIP,UACA,UAC8B;AAC9B,KAAI,CAAC,SAAS,OAAQ,QAAO;CAE7B,MAAM,gBAAgB,SACnB,KAAK,YAAY,QAAQ,SAAS,SAAS,CAAC,CAC5C,IAAI,OAAO,CACX,QAAQ,UAAU,CAAC,OAAO,MAAM,MAAM,CAAC;AAE1C,KAAI,CAAC,cAAc,OAAQ,QAAO;CAElC,IAAI,kBAAkB,cAAc;CACpC,IAAI,kBAAkB,cAAc;AAEpC,MAAK,MAAM,SAAS,eAAe;AACjC,MAAI,QAAQ,gBAAiB,mBAAkB;AAC/C,MAAI,QAAQ,gBAAiB,mBAAkB;;AAGjD,QAAO,CAAC,iBAAiB,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedMinMaxValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedMinMaxValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => undefined | [number, number] {\n return (_table, columnId) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),\n fnName: 'table.getFacetedMinMaxValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n table,\n })\n }\n}\n\nfunction _createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n columnId: string,\n flatRows: Array<Row<TFeatures, TData>>,\n): undefined | [number, number] {\n if (!flatRows.length) return undefined\n\n const numericValues = flatRows\n .map((flatRow) => flatRow.getValue(columnId))\n .map(Number)\n .filter((value) => !Number.isNaN(value))\n\n if (!numericValues.length) return undefined\n\n let facetedMinValue = numericValues[0]!\n let facetedMaxValue = numericValues[0]!\n\n for (const value of numericValues) {\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMwB;AACtC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;AACd,SAAO,UAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,SAAS;GAChE,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACL,mBACE,QACA,sBACA,2BACA,MACD,CAAC,SACH;;GAEH;GACD,CAAC;;;AAIN,SAAS,2BAIP,UACA,UAC8B;AAC9B,KAAI,CAAC,SAAS,OAAQ,QAAO;CAE7B,MAAM,gBAAgB,SACnB,KAAK,YAAY,QAAQ,SAAS,SAAS,CAAC,CAC5C,IAAI,OAAO,CACX,QAAQ,UAAU,CAAC,OAAO,MAAM,MAAM,CAAC;AAE1C,KAAI,CAAC,cAAc,OAAQ,QAAO;CAElC,IAAI,kBAAkB,cAAc;CACpC,IAAI,kBAAkB,cAAc;AAEpC,MAAK,MAAM,SAAS,eAAe;AACjC,MAAI,QAAQ,gBAAiB,mBAAkB;AAC/C,MAAI,QAAQ,gBAAiB,mBAAkB;;AAGjD,QAAO,CAAC,iBAAiB,gBAAgB"}
1
+ {"version":3,"file":"createFacetedMinMaxValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedMinMaxValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => undefined | [number, number] {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),\n fnName: 'table.getFacetedMinMaxValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n table,\n })\n }\n}\n\nfunction _createFacetedMinMaxValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n columnId: string,\n flatRows: Array<Row<TFeatures, TData>>,\n): undefined | [number, number] {\n if (!flatRows.length) return undefined\n\n const numericValues = flatRows\n .map((flatRow) => flatRow.getValue(columnId))\n .map(Number)\n .filter((value) => !Number.isNaN(value))\n\n if (!numericValues.length) return undefined\n\n let facetedMinValue = numericValues[0]!\n let facetedMaxValue = numericValues[0]!\n\n for (const value of numericValues) {\n if (value < facetedMinValue) facetedMinValue = value\n if (value > facetedMaxValue) facetedMaxValue = value\n }\n\n return [facetedMinValue, facetedMaxValue]\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMwB;AACtC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAO,UAAU;GACf,SAAS;GACT,KAAK,aAAa,2BAA2B,UAAU,SAAS;GAChE,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACL,mBACE,QACA,sBACA,2BACA,MACD,CAAC,SACH;;GAEH;GACD,CAAC;;;AAIN,SAAS,2BAIP,UACA,UAC8B;AAC9B,KAAI,CAAC,SAAS,OAAQ,QAAO;CAE7B,MAAM,gBAAgB,SACnB,KAAK,YAAY,QAAQ,SAAS,SAAS,CAAC,CAC5C,IAAI,OAAO,CACX,QAAQ,UAAU,CAAC,OAAO,MAAM,MAAM,CAAC;AAE1C,KAAI,CAAC,cAAc,OAAQ,QAAO;CAElC,IAAI,kBAAkB,cAAc;CACpC,IAAI,kBAAkB,cAAc;AAEpC,MAAK,MAAM,SAAS,eAAe;AACjC,MAAI,QAAQ,gBAAiB,mBAAkB;AAC/C,MAAI,QAAQ,gBAAiB,mBAAkB;;AAGjD,QAAO,CAAC,iBAAiB,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedRowModel.cjs","names":["tableMemo","filterRows"],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds = [\n ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as Array<string>\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (const colId of filterableIds) {\n if (row.columnFilters?.[colId] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;AAYA,SAAgB,wBAMsB;AACpC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;AACd,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAC/B,MAAM,qBAAqB;KAC5B;;GACD,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,aACD;GACJ,CAAC;;;AAIN,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;AACA,KAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,aAC1D,QAAO;CAGT,MAAM,gBAAgB,CACpB,kEAAI,cAAe,KAAK,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,MAAM,SAAS,KAAI,EAAE,EACvE,eAAe,eAAe,OAC/B,CAAC,OAAO,QAAQ;CAEjB,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,SAAS,eAAe;;AACjC,8BAAI,IAAI,uFAAgB,YAAW,MACjC,QAAO;;AAGX,SAAO;;AAGT,QAAOC,mCAAW,YAAY,MAAM,gBAAgB,MAAM"}
1
+ {"version":3,"file":"createFacetedRowModel.cjs","names":["tableMemo","filterRows"],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds = [\n ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as Array<string>\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (const colId of filterableIds) {\n if (row.columnFilters?.[colId] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;AAYA,SAAgB,wBAMsB;AACpC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAC/B,MAAM,qBAAqB;KAC5B;;GACD,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,aACD;GACJ,CAAC;;;AAIN,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;AACA,KAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,aAC1D,QAAO;CAGT,MAAM,gBAAgB,CACpB,kEAAI,cAAe,KAAK,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,MAAM,SAAS,KAAI,EAAE,EACvE,eAAe,eAAe,OAC/B,CAAC,OAAO,QAAQ;CAEjB,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,SAAS,eAAe;;AACjC,8BAAI,IAAI,uFAAgB,YAAW,MACjC,QAAO;;AAGX,SAAO;;AAGT,QAAOC,mCAAW,YAAY,MAAM,gBAAgB,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedRowModel.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds = [\n ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as Array<string>\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (const colId of filterableIds) {\n if (row.columnFilters?.[colId] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;AAYA,SAAgB,wBAMsB;AACpC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;AACd,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAC/B,MAAM,qBAAqB;KAC5B;;GACD,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,aACD;GACJ,CAAC;;;AAIN,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;AACA,KAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,aAC1D,QAAO;CAGT,MAAM,gBAAgB,CACpB,kEAAI,cAAe,KAAK,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,MAAM,SAAS,KAAI,EAAE,EACvE,eAAe,eAAe,OAC/B,CAAC,OAAO,QAAQ;CAEjB,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,SAAS,eAAe;;AACjC,8BAAI,IAAI,uFAAgB,YAAW,MACjC,QAAO;;AAGX,SAAO;;AAGT,QAAO,WAAW,YAAY,MAAM,gBAAgB,MAAM"}
1
+ {"version":3,"file":"createFacetedRowModel.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { filterRows } from '../column-filtering/filterRowsUtils'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type {\n ColumnFiltersState,\n Row_ColumnFiltering,\n} from '../column-filtering/columnFilteringFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => RowModel<TFeatures, TData> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'createFacetedRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n table.getFilteredRowModel(),\n ],\n fn: (preRowModel, columnFilters, globalFilter) =>\n _createFacetedRowModel(\n table,\n columnId,\n preRowModel,\n columnFilters,\n globalFilter,\n ),\n })\n }\n}\n\nfunction _createFacetedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n preRowModel: RowModel<TFeatures, TData>,\n columnFilters?: ColumnFiltersState,\n globalFilter?: string,\n) {\n if (!preRowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n return preRowModel\n }\n\n const filterableIds = [\n ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as Array<string>\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,\n ) => {\n // Horizontally filter rows through each column\n for (const colId of filterableIds) {\n if (row.columnFilters?.[colId] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n}\n"],"mappings":";;;;AAYA,SAAgB,wBAMsB;AACpC,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAC/B,MAAM,qBAAqB;KAC5B;;GACD,KAAK,aAAa,eAAe,iBAC/B,uBACE,OACA,UACA,aACA,eACA,aACD;GACJ,CAAC;;;AAIN,SAAS,uBAIP,OACA,UACA,aACA,eACA,cACA;AACA,KAAI,CAAC,YAAY,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,aAC1D,QAAO;CAGT,MAAM,gBAAgB,CACpB,kEAAI,cAAe,KAAK,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,MAAM,SAAS,KAAI,EAAE,EACvE,eAAe,eAAe,OAC/B,CAAC,OAAO,QAAQ;CAEjB,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,SAAS,eAAe;;AACjC,8BAAI,IAAI,uFAAgB,YAAW,MACjC,QAAO;;AAGX,SAAO;;AAGT,QAAO,WAAW,YAAY,MAAM,gBAAgB,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedUniqueValues.cjs","names":["tableMemo","callMemoOrStaticFn","column_getFacetedRowModel"],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (const row of flatRows) {\n const values = row.getUniqueValues(columnId)\n\n for (const value of values) {\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMY;AAC1B,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;AACd,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACLC,iCACE,QACA,sBACAC,+DACA,MACD,CAAC,SACH;;GAEH,KAAK,aAAa,2BAA2B,UAAU,SAAS;GACjE,CAAC;;;AAIN,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,KAAkB;AAElD,MAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,SAAS,IAAI,gBAAgB,SAAS;AAE5C,OAAK,MAAM,SAAS,OAClB,KAAI,oBAAoB,IAAI,MAAM,CAChC,qBAAoB,IAClB,QACC,oBAAoB,IAAI,MAAM,IAAI,KAAK,EACzC;MAED,qBAAoB,IAAI,OAAO,EAAE;;AAKvC,QAAO"}
1
+ {"version":3,"file":"createFacetedUniqueValues.cjs","names":["tableMemo","callMemoOrStaticFn","column_getFacetedRowModel"],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (const row of flatRows) {\n const values = row.getUniqueValues(columnId)\n\n for (const value of values) {\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMY;AAC1B,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACLC,iCACE,QACA,sBACAC,+DACA,MACD,CAAC,SACH;;GAEH,KAAK,aAAa,2BAA2B,UAAU,SAAS;GACjE,CAAC;;;AAIN,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,KAAkB;AAElD,MAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,SAAS,IAAI,gBAAgB,SAAS;AAE5C,OAAK,MAAM,SAAS,OAClB,KAAI,oBAAoB,IAAI,MAAM,CAChC,qBAAoB,IAClB,QACC,oBAAoB,IAAI,MAAM,IAAI,KAAK,EACzC;MAED,qBAAoB,IAAI,OAAO,EAAE;;AAKvC,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFacetedUniqueValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table = _table as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (const row of flatRows) {\n const values = row.getUniqueValues(columnId)\n\n for (const value of values) {\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMY;AAC1B,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAAQ;AACd,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACL,mBACE,QACA,sBACA,2BACA,MACD,CAAC,SACH;;GAEH,KAAK,aAAa,2BAA2B,UAAU,SAAS;GACjE,CAAC;;;AAIN,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,KAAkB;AAElD,MAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,SAAS,IAAI,gBAAgB,SAAS;AAE5C,OAAK,MAAM,SAAS,OAClB,KAAI,oBAAoB,IAAI,MAAM,CAChC,qBAAoB,IAClB,QACC,oBAAoB,IAAI,MAAM,IAAI,KAAK,EACzC;MAED,qBAAoB,IAAI,OAAO,EAAE;;AAKvC,QAAO"}
1
+ {"version":3,"file":"createFacetedUniqueValues.js","names":[],"sources":["../../../src/features/column-faceting/createFacetedUniqueValues.ts"],"sourcesContent":["import { callMemoOrStaticFn, tableMemo } from '../../utils'\nimport { column_getFacetedRowModel } from './columnFacetingFeature.utils'\nimport type { Row } from '../../types/Row'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (\n table: Table<TFeatures, TData>,\n columnId: string,\n) => () => Map<any, number> {\n return (_table, columnId) => {\n const table: Table_Internal<TFeatures, TData> = _table\n return tableMemo({\n feature: 'columnFacetingFeature',\n table,\n fnName: 'table.getFacetedUniqueValues',\n memoDeps: () => {\n const column = table.getColumn(columnId)\n if (!column) return [table.getPreFilteredRowModel().flatRows]\n return [\n callMemoOrStaticFn(\n column,\n 'getFacetedRowModel',\n column_getFacetedRowModel,\n table,\n ).flatRows,\n ]\n },\n fn: (flatRows) => _createFacetedUniqueValues(columnId, flatRows),\n })\n }\n}\n\nfunction _createFacetedUniqueValues<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {\n const facetedUniqueValues = new Map<any, number>()\n\n for (const row of flatRows) {\n const values = row.getUniqueValues(columnId)\n\n for (const value of values) {\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1,\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n }\n\n return facetedUniqueValues\n}\n"],"mappings":";;;;AAOA,SAAgB,4BAMY;AAC1B,SAAQ,QAAQ,aAAa;EAC3B,MAAM,QAA0C;AAChD,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,SAAS,MAAM,UAAU,SAAS;AACxC,QAAI,CAAC,OAAQ,QAAO,CAAC,MAAM,wBAAwB,CAAC,SAAS;AAC7D,WAAO,CACL,mBACE,QACA,sBACA,2BACA,MACD,CAAC,SACH;;GAEH,KAAK,aAAa,2BAA2B,UAAU,SAAS;GACjE,CAAC;;;AAIN,SAAS,2BAGP,UAAkB,UAA0D;CAC5E,MAAM,sCAAsB,IAAI,KAAkB;AAElD,MAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,SAAS,IAAI,gBAAgB,SAAS;AAE5C,OAAK,MAAM,SAAS,OAClB,KAAI,oBAAoB,IAAI,MAAM,CAChC,qBAAoB,IAClB,QACC,oBAAoB,IAAI,MAAM,IAAI,KAAK,EACzC;MAED,qBAAoB,IAAI,OAAO,EAAE;;AAKvC,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"columnFilteringFeature.cjs","names":["getDefaultColumnFiltersState","makeStateUpdater","column_getAutoFilterFn","column_getFilterFn","column_getCanFilter","column_getIsFiltered","column_getFilterValue","column_getFilterIndex","column_setFilterValue","table_setColumnFilters","table_resetColumnFilters"],"sources":["../../../src/features/column-filtering/columnFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAutoFilterFn,\n column_getCanFilter,\n column_getFilterFn,\n column_getFilterIndex,\n column_getFilterValue,\n column_getIsFiltered,\n column_setFilterValue,\n getDefaultColumnFiltersState,\n table_resetColumnFilters,\n table_setColumnFilters,\n} from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Filtered,\n// ColumnDef_ColumnFiltering,\n// Column_ColumnFiltering,\n// CreateRowModel_Filtered,\n// RowModelFns_ColumnFiltering,\n// Row_ColumnFiltering,\n// TableOptions_ColumnFiltering,\n// TableState_ColumnFiltering,\n// Table_ColumnFiltering,\n// } from './columnFilteringFeature.types'\n\ninterface ColumnFilteringFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Filtered<TFeatures, TData>\n // Column: Column_ColumnFiltering<TFeatures, TData>\n // ColumnDef: ColumnDef_ColumnFiltering<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Filtered<TFeatures, TData>\n // Row: Row_ColumnFiltering<TFeatures, TData>\n // RowModelFns: RowModelFns_ColumnFiltering<TFeatures, TData>\n // Table: Table_ColumnFiltering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnFiltering<TFeatures, TData>\n // TableState: TableState_ColumnFiltering\n}\n\nexport function constructColumnFilteringFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFilteringFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnFilters: getDefaultColumnFiltersState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto',\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100,\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFilteringFeature', prototype, table, {\n column_getAutoFilterFn: {\n fn: (column) => column_getAutoFilterFn(column),\n },\n column_getFilterFn: {\n fn: (column) => column_getFilterFn(column),\n },\n column_getCanFilter: {\n fn: (column) => column_getCanFilter(column),\n },\n column_getIsFiltered: {\n fn: (column) => column_getIsFiltered(column),\n },\n column_getFilterValue: {\n fn: (column) => column_getFilterValue(column),\n },\n column_getFilterIndex: {\n fn: (column) => column_getFilterIndex(column),\n },\n column_setFilterValue: {\n fn: (column, value) => column_setFilterValue(column, value),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any).columnFilters = {}\n ;(row as any).columnFiltersMeta = {}\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFilteringFeature', table, {\n table_setColumnFilters: {\n fn: (updater) => table_setColumnFilters(table, updater),\n },\n table_resetColumnFilters: {\n fn: (defaultState) => table_resetColumnFilters(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The Column Filtering feature adds column filtering state and APIs to the table, row, and column objects.\n * **Note:** This does not include Global Filtering. The globalFilteringFeature feature has been split out into its own standalone feature.\n */\nexport const columnFilteringFeature = constructColumnFilteringFeature()\n"],"mappings":";;;;AA8CA,SAAgB,kCAGwD;AACtE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,eAAeA,mEAA8B;IAC7C,GAAG;IACJ;;EAGH,2BAA2B;AACzB,UAAO,EACL,UAAU,QACX;;EAGH,yBAAyB,UAAU;AACjC,UAAO;IACL,uBAAuBC,+BAAiB,iBAAiB,MAAM;IAC/D,oBAAoB;IACpB,uBAAuB;IACxB;;EAGH,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,0BAA0B,WAAW,OAAO;IAC9D,wBAAwB,EACtB,KAAK,WAAWC,4DAAuB,OAAO,EAC/C;IACD,oBAAoB,EAClB,KAAK,WAAWC,wDAAmB,OAAO,EAC3C;IACD,qBAAqB,EACnB,KAAK,WAAWC,yDAAoB,OAAO,EAC5C;IACD,sBAAsB,EACpB,KAAK,WAAWC,0DAAqB,OAAO,EAC7C;IACD,uBAAuB,EACrB,KAAK,WAAWC,2DAAsB,OAAO,EAC9C;IACD,uBAAuB,EACrB,KAAK,WAAWC,2DAAsB,OAAO,EAC9C;IACD,uBAAuB,EACrB,KAAK,QAAQ,UAAUC,2DAAsB,QAAQ,MAAM,EAC5D;IACF,CAAC;;EAGJ,sBAAsB,QAAQ;AAC3B,GAAC,IAAY,gBAAgB,EAAE;AAC/B,GAAC,IAAY,oBAAoB,EAAE;;EAGtC,qBAAqB,UAAU;AAC7B,iCAAgB,0BAA0B,OAAO;IAC/C,wBAAwB,EACtB,KAAK,YAAYC,4DAAuB,OAAO,QAAQ,EACxD;IACD,0BAA0B,EACxB,KAAK,iBAAiBC,8DAAyB,OAAO,aAAa,EACpE;IACF,CAAC;;EAEL;;;;;;AAOH,MAAa,yBAAyB,iCAAiC"}
1
+ {"version":3,"file":"columnFilteringFeature.cjs","names":["getDefaultColumnFiltersState","makeStateUpdater","column_getAutoFilterFn","column_getFilterFn","column_getCanFilter","column_getIsFiltered","column_getFilterValue","column_getFilterIndex","column_setFilterValue","table_setColumnFilters","table_resetColumnFilters"],"sources":["../../../src/features/column-filtering/columnFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAutoFilterFn,\n column_getCanFilter,\n column_getFilterFn,\n column_getFilterIndex,\n column_getFilterValue,\n column_getIsFiltered,\n column_setFilterValue,\n getDefaultColumnFiltersState,\n table_resetColumnFilters,\n table_setColumnFilters,\n} from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Filtered,\n// ColumnDef_ColumnFiltering,\n// Column_ColumnFiltering,\n// CreateRowModel_Filtered,\n// RowModelFns_ColumnFiltering,\n// Row_ColumnFiltering,\n// TableOptions_ColumnFiltering,\n// TableState_ColumnFiltering,\n// Table_ColumnFiltering,\n// } from './columnFilteringFeature.types'\n\nexport interface ColumnFilteringFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Filtered<TFeatures, TData>\n // Column: Column_ColumnFiltering<TFeatures, TData>\n // ColumnDef: ColumnDef_ColumnFiltering<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Filtered<TFeatures, TData>\n // Row: Row_ColumnFiltering<TFeatures, TData>\n // RowModelFns: RowModelFns_ColumnFiltering<TFeatures, TData>\n // Table: Table_ColumnFiltering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnFiltering<TFeatures, TData>\n // TableState: TableState_ColumnFiltering\n}\n\nexport function constructColumnFilteringFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFilteringFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnFilters: getDefaultColumnFiltersState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto',\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100,\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFilteringFeature', prototype, table, {\n column_getAutoFilterFn: {\n fn: (column) => column_getAutoFilterFn(column),\n },\n column_getFilterFn: {\n fn: (column) => column_getFilterFn(column),\n },\n column_getCanFilter: {\n fn: (column) => column_getCanFilter(column),\n },\n column_getIsFiltered: {\n fn: (column) => column_getIsFiltered(column),\n },\n column_getFilterValue: {\n fn: (column) => column_getFilterValue(column),\n },\n column_getFilterIndex: {\n fn: (column) => column_getFilterIndex(column),\n },\n column_setFilterValue: {\n fn: (column, value) => column_setFilterValue(column, value),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any).columnFilters = {}\n ;(row as any).columnFiltersMeta = {}\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFilteringFeature', table, {\n table_setColumnFilters: {\n fn: (updater) => table_setColumnFilters(table, updater),\n },\n table_resetColumnFilters: {\n fn: (defaultState) => table_resetColumnFilters(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The Column Filtering feature adds column filtering state and APIs to the table, row, and column objects.\n * **Note:** This does not include Global Filtering. The globalFilteringFeature feature has been split out into its own standalone feature.\n */\nexport const columnFilteringFeature = constructColumnFilteringFeature()\n"],"mappings":";;;;AA8CA,SAAgB,kCAGwD;AACtE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,eAAeA,mEAA8B;IAC7C,GAAG;IACJ;;EAGH,2BAA2B;AACzB,UAAO,EACL,UAAU,QACX;;EAGH,yBAAyB,UAAU;AACjC,UAAO;IACL,uBAAuBC,+BAAiB,iBAAiB,MAAM;IAC/D,oBAAoB;IACpB,uBAAuB;IACxB;;EAGH,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,0BAA0B,WAAW,OAAO;IAC9D,wBAAwB,EACtB,KAAK,WAAWC,4DAAuB,OAAO,EAC/C;IACD,oBAAoB,EAClB,KAAK,WAAWC,wDAAmB,OAAO,EAC3C;IACD,qBAAqB,EACnB,KAAK,WAAWC,yDAAoB,OAAO,EAC5C;IACD,sBAAsB,EACpB,KAAK,WAAWC,0DAAqB,OAAO,EAC7C;IACD,uBAAuB,EACrB,KAAK,WAAWC,2DAAsB,OAAO,EAC9C;IACD,uBAAuB,EACrB,KAAK,WAAWC,2DAAsB,OAAO,EAC9C;IACD,uBAAuB,EACrB,KAAK,QAAQ,UAAUC,2DAAsB,QAAQ,MAAM,EAC5D;IACF,CAAC;;EAGJ,sBAAsB,QAAQ;AAC3B,GAAC,IAAY,gBAAgB,EAAE;AAC/B,GAAC,IAAY,oBAAoB,EAAE;;EAGtC,qBAAqB,UAAU;AAC7B,iCAAgB,0BAA0B,OAAO;IAC/C,wBAAwB,EACtB,KAAK,YAAYC,4DAAuB,OAAO,QAAQ,EACxD;IACD,0BAA0B,EACxB,KAAK,iBAAiBC,8DAAyB,OAAO,aAAa,EACpE;IACF,CAAC;;EAEL;;;;;;AAOH,MAAa,yBAAyB,iCAAiC"}
@@ -10,5 +10,5 @@ declare function constructColumnFilteringFeature<TFeatures extends TableFeatures
10
10
  */
11
11
  declare const columnFilteringFeature: TableFeature<ColumnFilteringFeatureConstructors<TableFeatures, RowData>>;
12
12
  //#endregion
13
- export { columnFilteringFeature, constructColumnFilteringFeature };
13
+ export { ColumnFilteringFeatureConstructors, columnFilteringFeature, constructColumnFilteringFeature };
14
14
  //# sourceMappingURL=columnFilteringFeature.d.cts.map
@@ -10,5 +10,5 @@ declare function constructColumnFilteringFeature<TFeatures extends TableFeatures
10
10
  */
11
11
  declare const columnFilteringFeature: TableFeature<ColumnFilteringFeatureConstructors<TableFeatures, RowData>>;
12
12
  //#endregion
13
- export { columnFilteringFeature, constructColumnFilteringFeature };
13
+ export { ColumnFilteringFeatureConstructors, columnFilteringFeature, constructColumnFilteringFeature };
14
14
  //# sourceMappingURL=columnFilteringFeature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnFilteringFeature.js","names":[],"sources":["../../../src/features/column-filtering/columnFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAutoFilterFn,\n column_getCanFilter,\n column_getFilterFn,\n column_getFilterIndex,\n column_getFilterValue,\n column_getIsFiltered,\n column_setFilterValue,\n getDefaultColumnFiltersState,\n table_resetColumnFilters,\n table_setColumnFilters,\n} from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Filtered,\n// ColumnDef_ColumnFiltering,\n// Column_ColumnFiltering,\n// CreateRowModel_Filtered,\n// RowModelFns_ColumnFiltering,\n// Row_ColumnFiltering,\n// TableOptions_ColumnFiltering,\n// TableState_ColumnFiltering,\n// Table_ColumnFiltering,\n// } from './columnFilteringFeature.types'\n\ninterface ColumnFilteringFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Filtered<TFeatures, TData>\n // Column: Column_ColumnFiltering<TFeatures, TData>\n // ColumnDef: ColumnDef_ColumnFiltering<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Filtered<TFeatures, TData>\n // Row: Row_ColumnFiltering<TFeatures, TData>\n // RowModelFns: RowModelFns_ColumnFiltering<TFeatures, TData>\n // Table: Table_ColumnFiltering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnFiltering<TFeatures, TData>\n // TableState: TableState_ColumnFiltering\n}\n\nexport function constructColumnFilteringFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFilteringFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnFilters: getDefaultColumnFiltersState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto',\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100,\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFilteringFeature', prototype, table, {\n column_getAutoFilterFn: {\n fn: (column) => column_getAutoFilterFn(column),\n },\n column_getFilterFn: {\n fn: (column) => column_getFilterFn(column),\n },\n column_getCanFilter: {\n fn: (column) => column_getCanFilter(column),\n },\n column_getIsFiltered: {\n fn: (column) => column_getIsFiltered(column),\n },\n column_getFilterValue: {\n fn: (column) => column_getFilterValue(column),\n },\n column_getFilterIndex: {\n fn: (column) => column_getFilterIndex(column),\n },\n column_setFilterValue: {\n fn: (column, value) => column_setFilterValue(column, value),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any).columnFilters = {}\n ;(row as any).columnFiltersMeta = {}\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFilteringFeature', table, {\n table_setColumnFilters: {\n fn: (updater) => table_setColumnFilters(table, updater),\n },\n table_resetColumnFilters: {\n fn: (defaultState) => table_resetColumnFilters(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The Column Filtering feature adds column filtering state and APIs to the table, row, and column objects.\n * **Note:** This does not include Global Filtering. The globalFilteringFeature feature has been split out into its own standalone feature.\n */\nexport const columnFilteringFeature = constructColumnFilteringFeature()\n"],"mappings":";;;;AA8CA,SAAgB,kCAGwD;AACtE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,eAAe,8BAA8B;IAC7C,GAAG;IACJ;;EAGH,2BAA2B;AACzB,UAAO,EACL,UAAU,QACX;;EAGH,yBAAyB,UAAU;AACjC,UAAO;IACL,uBAAuB,iBAAiB,iBAAiB,MAAM;IAC/D,oBAAoB;IACpB,uBAAuB;IACxB;;EAGH,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,0BAA0B,WAAW,OAAO;IAC9D,wBAAwB,EACtB,KAAK,WAAW,uBAAuB,OAAO,EAC/C;IACD,oBAAoB,EAClB,KAAK,WAAW,mBAAmB,OAAO,EAC3C;IACD,qBAAqB,EACnB,KAAK,WAAW,oBAAoB,OAAO,EAC5C;IACD,sBAAsB,EACpB,KAAK,WAAW,qBAAqB,OAAO,EAC7C;IACD,uBAAuB,EACrB,KAAK,WAAW,sBAAsB,OAAO,EAC9C;IACD,uBAAuB,EACrB,KAAK,WAAW,sBAAsB,OAAO,EAC9C;IACD,uBAAuB,EACrB,KAAK,QAAQ,UAAU,sBAAsB,QAAQ,MAAM,EAC5D;IACF,CAAC;;EAGJ,sBAAsB,QAAQ;AAC3B,GAAC,IAAY,gBAAgB,EAAE;AAC/B,GAAC,IAAY,oBAAoB,EAAE;;EAGtC,qBAAqB,UAAU;AAC7B,mBAAgB,0BAA0B,OAAO;IAC/C,wBAAwB,EACtB,KAAK,YAAY,uBAAuB,OAAO,QAAQ,EACxD;IACD,0BAA0B,EACxB,KAAK,iBAAiB,yBAAyB,OAAO,aAAa,EACpE;IACF,CAAC;;EAEL;;;;;;AAOH,MAAa,yBAAyB,iCAAiC"}
1
+ {"version":3,"file":"columnFilteringFeature.js","names":[],"sources":["../../../src/features/column-filtering/columnFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getAutoFilterFn,\n column_getCanFilter,\n column_getFilterFn,\n column_getFilterIndex,\n column_getFilterValue,\n column_getIsFiltered,\n column_setFilterValue,\n getDefaultColumnFiltersState,\n table_resetColumnFilters,\n table_setColumnFilters,\n} from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// CachedRowModel_Filtered,\n// ColumnDef_ColumnFiltering,\n// Column_ColumnFiltering,\n// CreateRowModel_Filtered,\n// RowModelFns_ColumnFiltering,\n// Row_ColumnFiltering,\n// TableOptions_ColumnFiltering,\n// TableState_ColumnFiltering,\n// Table_ColumnFiltering,\n// } from './columnFilteringFeature.types'\n\nexport interface ColumnFilteringFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // CachedRowModel: CachedRowModel_Filtered<TFeatures, TData>\n // Column: Column_ColumnFiltering<TFeatures, TData>\n // ColumnDef: ColumnDef_ColumnFiltering<TFeatures, TData>\n // CreateRowModels: CreateRowModel_Filtered<TFeatures, TData>\n // Row: Row_ColumnFiltering<TFeatures, TData>\n // RowModelFns: RowModelFns_ColumnFiltering<TFeatures, TData>\n // Table: Table_ColumnFiltering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnFiltering<TFeatures, TData>\n // TableState: TableState_ColumnFiltering\n}\n\nexport function constructColumnFilteringFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnFilteringFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnFilters: getDefaultColumnFiltersState(),\n ...initialState,\n }\n },\n\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto',\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100,\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnFilteringFeature', prototype, table, {\n column_getAutoFilterFn: {\n fn: (column) => column_getAutoFilterFn(column),\n },\n column_getFilterFn: {\n fn: (column) => column_getFilterFn(column),\n },\n column_getCanFilter: {\n fn: (column) => column_getCanFilter(column),\n },\n column_getIsFiltered: {\n fn: (column) => column_getIsFiltered(column),\n },\n column_getFilterValue: {\n fn: (column) => column_getFilterValue(column),\n },\n column_getFilterIndex: {\n fn: (column) => column_getFilterIndex(column),\n },\n column_setFilterValue: {\n fn: (column, value) => column_setFilterValue(column, value),\n },\n })\n },\n\n initRowInstanceData: (row) => {\n ;(row as any).columnFilters = {}\n ;(row as any).columnFiltersMeta = {}\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnFilteringFeature', table, {\n table_setColumnFilters: {\n fn: (updater) => table_setColumnFilters(table, updater),\n },\n table_resetColumnFilters: {\n fn: (defaultState) => table_resetColumnFilters(table, defaultState),\n },\n })\n },\n }\n}\n\n/**\n * The Column Filtering feature adds column filtering state and APIs to the table, row, and column objects.\n * **Note:** This does not include Global Filtering. The globalFilteringFeature feature has been split out into its own standalone feature.\n */\nexport const columnFilteringFeature = constructColumnFilteringFeature()\n"],"mappings":";;;;AA8CA,SAAgB,kCAGwD;AACtE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,eAAe,8BAA8B;IAC7C,GAAG;IACJ;;EAGH,2BAA2B;AACzB,UAAO,EACL,UAAU,QACX;;EAGH,yBAAyB,UAAU;AACjC,UAAO;IACL,uBAAuB,iBAAiB,iBAAiB,MAAM;IAC/D,oBAAoB;IACpB,uBAAuB;IACxB;;EAGH,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,0BAA0B,WAAW,OAAO;IAC9D,wBAAwB,EACtB,KAAK,WAAW,uBAAuB,OAAO,EAC/C;IACD,oBAAoB,EAClB,KAAK,WAAW,mBAAmB,OAAO,EAC3C;IACD,qBAAqB,EACnB,KAAK,WAAW,oBAAoB,OAAO,EAC5C;IACD,sBAAsB,EACpB,KAAK,WAAW,qBAAqB,OAAO,EAC7C;IACD,uBAAuB,EACrB,KAAK,WAAW,sBAAsB,OAAO,EAC9C;IACD,uBAAuB,EACrB,KAAK,WAAW,sBAAsB,OAAO,EAC9C;IACD,uBAAuB,EACrB,KAAK,QAAQ,UAAU,sBAAsB,QAAQ,MAAM,EAC5D;IACF,CAAC;;EAGJ,sBAAsB,QAAQ;AAC3B,GAAC,IAAY,gBAAgB,EAAE;AAC/B,GAAC,IAAY,oBAAoB,EAAE;;EAGtC,qBAAqB,UAAU;AAC7B,mBAAgB,0BAA0B,OAAO;IAC/C,wBAAwB,EACtB,KAAK,YAAY,uBAAuB,OAAO,QAAQ,EACxD;IACD,0BAA0B,EACxB,KAAK,iBAAiB,yBAAyB,OAAO,aAAa,EACpE;IACF,CAAC;;EAEL;;;;;;AAOH,MAAa,yBAAyB,iCAAiC"}
@@ -1 +1 @@
1
- {"version":3,"file":"columnFilteringFeature.utils.cjs","names":["isFunction","functionalUpdate","cloneState"],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns = column.table._rowModelFns.filterFns as\n | Record<string, FilterFn<TFeatures, TData>>\n | undefined\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n if (typeof value === 'string') {\n return filterFns?.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns?.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns?.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns?.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns?.arrIncludes\n }\n\n return filterFns?.weakEquals\n}\n\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns = column.table._rowModelFns.filterFns as\n | Record<string, FilterFn<TFeatures, TData>>\n | undefined\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`,\n )\n }\n\n return filterFn\n}\n\nexport function column_getCanFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumns = table.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumns.find((d) => d.id === filter.id)\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(\n value,\n column as Column_Internal<TFeatures, TData, unknown>,\n )\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"columnFilteringFeature.utils.cjs","names":["isFunction","functionalUpdate","cloneState"],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n if (typeof value === 'string') {\n return filterFns?.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns?.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns?.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns?.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns?.arrIncludes\n }\n\n return filterFns?.weakEquals\n}\n\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`,\n )\n }\n\n return filterFn\n}\n\nexport function column_getCanFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumns = table.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumns.find((d) => d.id === filter.id)\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"columnFilteringFeature.utils.js","names":[],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns = column.table._rowModelFns.filterFns as\n | Record<string, FilterFn<TFeatures, TData>>\n | undefined\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n if (typeof value === 'string') {\n return filterFns?.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns?.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns?.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns?.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns?.arrIncludes\n }\n\n return filterFns?.weakEquals\n}\n\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns = column.table._rowModelFns.filterFns as\n | Record<string, FilterFn<TFeatures, TData>>\n | undefined\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`,\n )\n }\n\n return filterFn\n}\n\nexport function column_getCanFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumns = table.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumns.find((d) => d.id === filter.id)\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(\n value,\n column as Column_Internal<TFeatures, TData, unknown>,\n )\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"columnFilteringFeature.utils.js","names":[],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n if (typeof value === 'string') {\n return filterFns?.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns?.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns?.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns?.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns?.arrIncludes\n }\n\n return filterFns?.weakEquals\n}\n\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`,\n )\n }\n\n return filterFn\n}\n\nexport function column_getCanFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumns = table.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumns.find((d) => d.id === filter.id)\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":"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"}