@tanstack/table-core 9.0.0-alpha.0 → 9.0.0-alpha.10

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 (152) hide show
  1. package/dist/cjs/aggregationFns.cjs +4 -8
  2. package/dist/cjs/aggregationFns.cjs.map +1 -1
  3. package/dist/cjs/core/cell.cjs +3 -3
  4. package/dist/cjs/core/cell.cjs.map +1 -1
  5. package/dist/cjs/core/cell.d.cts +1 -1
  6. package/dist/cjs/core/column.cjs +3 -3
  7. package/dist/cjs/core/column.cjs.map +1 -1
  8. package/dist/cjs/core/column.d.cts +1 -1
  9. package/dist/cjs/core/headers.cjs +5 -5
  10. package/dist/cjs/core/headers.cjs.map +1 -1
  11. package/dist/cjs/core/row.cjs +5 -6
  12. package/dist/cjs/core/row.cjs.map +1 -1
  13. package/dist/cjs/core/row.d.cts +1 -1
  14. package/dist/cjs/core/table.cjs +11 -7
  15. package/dist/cjs/core/table.cjs.map +1 -1
  16. package/dist/cjs/core/table.d.cts +9 -1
  17. package/dist/cjs/features/ColumnFaceting.cjs +1 -1
  18. package/dist/cjs/features/ColumnFaceting.cjs.map +1 -1
  19. package/dist/cjs/features/ColumnFiltering.cjs +6 -6
  20. package/dist/cjs/features/ColumnFiltering.cjs.map +1 -1
  21. package/dist/cjs/features/ColumnGrouping.cjs +8 -9
  22. package/dist/cjs/features/ColumnGrouping.cjs.map +1 -1
  23. package/dist/cjs/features/ColumnOrdering.cjs +4 -4
  24. package/dist/cjs/features/ColumnOrdering.cjs.map +1 -1
  25. package/dist/cjs/features/ColumnPinning.cjs +5 -5
  26. package/dist/cjs/features/ColumnPinning.cjs.map +1 -1
  27. package/dist/cjs/features/ColumnSizing.cjs +7 -8
  28. package/dist/cjs/features/ColumnSizing.cjs.map +1 -1
  29. package/dist/cjs/features/ColumnVisibility.cjs +5 -5
  30. package/dist/cjs/features/ColumnVisibility.cjs.map +1 -1
  31. package/dist/cjs/features/GlobalFaceting.cjs +1 -1
  32. package/dist/cjs/features/GlobalFaceting.cjs.map +1 -1
  33. package/dist/cjs/features/GlobalFiltering.cjs +4 -4
  34. package/dist/cjs/features/GlobalFiltering.cjs.map +1 -1
  35. package/dist/cjs/features/RowExpanding.cjs +6 -8
  36. package/dist/cjs/features/RowExpanding.cjs.map +1 -1
  37. package/dist/cjs/features/RowPagination.cjs +4 -5
  38. package/dist/cjs/features/RowPagination.cjs.map +1 -1
  39. package/dist/cjs/features/RowPinning.cjs +31 -32
  40. package/dist/cjs/features/RowPinning.cjs.map +1 -1
  41. package/dist/cjs/features/RowPinning.d.cts +1 -1
  42. package/dist/cjs/features/RowSelection.cjs +6 -8
  43. package/dist/cjs/features/RowSelection.cjs.map +1 -1
  44. package/dist/cjs/features/RowSorting.cjs +6 -7
  45. package/dist/cjs/features/RowSorting.cjs.map +1 -1
  46. package/dist/cjs/filterFns.cjs.map +1 -1
  47. package/dist/cjs/index.cjs +5 -4
  48. package/dist/cjs/index.cjs.map +1 -1
  49. package/dist/cjs/types.d.cts +8 -8
  50. package/dist/cjs/utils/filterRowsUtils.cjs +2 -2
  51. package/dist/cjs/utils/filterRowsUtils.cjs.map +1 -1
  52. package/dist/cjs/utils/getCoreRowModel.cjs +1 -1
  53. package/dist/cjs/utils/getCoreRowModel.cjs.map +1 -1
  54. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +1 -2
  55. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +1 -1
  56. package/dist/cjs/utils/getFacetedUniqueValues.cjs +1 -2
  57. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +1 -1
  58. package/dist/cjs/utils/getGroupedRowModel.cjs +1 -1
  59. package/dist/cjs/utils/getGroupedRowModel.cjs.map +1 -1
  60. package/dist/cjs/utils/getSortedRowModel.cjs +3 -6
  61. package/dist/cjs/utils/getSortedRowModel.cjs.map +1 -1
  62. package/dist/cjs/utils.cjs +2 -4
  63. package/dist/cjs/utils.cjs.map +1 -1
  64. package/dist/esm/aggregationFns.js +4 -8
  65. package/dist/esm/aggregationFns.js.map +1 -1
  66. package/dist/esm/core/cell.d.ts +1 -1
  67. package/dist/esm/core/cell.js +3 -3
  68. package/dist/esm/core/cell.js.map +1 -1
  69. package/dist/esm/core/column.d.ts +1 -1
  70. package/dist/esm/core/column.js +3 -3
  71. package/dist/esm/core/column.js.map +1 -1
  72. package/dist/esm/core/headers.js +5 -5
  73. package/dist/esm/core/headers.js.map +1 -1
  74. package/dist/esm/core/row.d.ts +1 -1
  75. package/dist/esm/core/row.js +6 -7
  76. package/dist/esm/core/row.js.map +1 -1
  77. package/dist/esm/core/table.d.ts +9 -1
  78. package/dist/esm/core/table.js +12 -8
  79. package/dist/esm/core/table.js.map +1 -1
  80. package/dist/esm/features/ColumnFaceting.js +1 -1
  81. package/dist/esm/features/ColumnFaceting.js.map +1 -1
  82. package/dist/esm/features/ColumnFiltering.js +6 -6
  83. package/dist/esm/features/ColumnFiltering.js.map +1 -1
  84. package/dist/esm/features/ColumnGrouping.js +8 -9
  85. package/dist/esm/features/ColumnGrouping.js.map +1 -1
  86. package/dist/esm/features/ColumnOrdering.js +4 -4
  87. package/dist/esm/features/ColumnOrdering.js.map +1 -1
  88. package/dist/esm/features/ColumnPinning.js +5 -5
  89. package/dist/esm/features/ColumnPinning.js.map +1 -1
  90. package/dist/esm/features/ColumnSizing.js +7 -8
  91. package/dist/esm/features/ColumnSizing.js.map +1 -1
  92. package/dist/esm/features/ColumnVisibility.js +5 -5
  93. package/dist/esm/features/ColumnVisibility.js.map +1 -1
  94. package/dist/esm/features/GlobalFaceting.js +1 -1
  95. package/dist/esm/features/GlobalFaceting.js.map +1 -1
  96. package/dist/esm/features/GlobalFiltering.js +4 -4
  97. package/dist/esm/features/GlobalFiltering.js.map +1 -1
  98. package/dist/esm/features/RowExpanding.js +6 -8
  99. package/dist/esm/features/RowExpanding.js.map +1 -1
  100. package/dist/esm/features/RowPagination.js +4 -5
  101. package/dist/esm/features/RowPagination.js.map +1 -1
  102. package/dist/esm/features/RowPinning.d.ts +1 -1
  103. package/dist/esm/features/RowPinning.js +31 -32
  104. package/dist/esm/features/RowPinning.js.map +1 -1
  105. package/dist/esm/features/RowSelection.js +6 -8
  106. package/dist/esm/features/RowSelection.js.map +1 -1
  107. package/dist/esm/features/RowSorting.js +6 -7
  108. package/dist/esm/features/RowSorting.js.map +1 -1
  109. package/dist/esm/filterFns.js.map +1 -1
  110. package/dist/esm/index.js +10 -9
  111. package/dist/esm/types.d.ts +8 -8
  112. package/dist/esm/utils/filterRowsUtils.js +3 -3
  113. package/dist/esm/utils/filterRowsUtils.js.map +1 -1
  114. package/dist/esm/utils/getCoreRowModel.js +2 -2
  115. package/dist/esm/utils/getCoreRowModel.js.map +1 -1
  116. package/dist/esm/utils/getFacetedMinMaxValues.js +1 -2
  117. package/dist/esm/utils/getFacetedMinMaxValues.js.map +1 -1
  118. package/dist/esm/utils/getFacetedUniqueValues.js +1 -2
  119. package/dist/esm/utils/getFacetedUniqueValues.js.map +1 -1
  120. package/dist/esm/utils/getGroupedRowModel.js +2 -2
  121. package/dist/esm/utils/getGroupedRowModel.js.map +1 -1
  122. package/dist/esm/utils/getSortedRowModel.js +3 -6
  123. package/dist/esm/utils/getSortedRowModel.js.map +1 -1
  124. package/dist/esm/utils.js +2 -4
  125. package/dist/esm/utils.js.map +1 -1
  126. package/package.json +1 -1
  127. package/src/core/cell.ts +2 -2
  128. package/src/core/column.ts +2 -2
  129. package/src/core/headers.ts +5 -5
  130. package/src/core/row.ts +4 -4
  131. package/src/core/table.ts +43 -7
  132. package/src/features/ColumnFaceting.ts +1 -1
  133. package/src/features/ColumnFiltering.ts +6 -6
  134. package/src/features/ColumnGrouping.ts +7 -7
  135. package/src/features/ColumnOrdering.ts +4 -4
  136. package/src/features/ColumnPinning.ts +5 -5
  137. package/src/features/ColumnSizing.ts +6 -6
  138. package/src/features/ColumnVisibility.ts +5 -5
  139. package/src/features/GlobalFaceting.ts +1 -1
  140. package/src/features/GlobalFiltering.ts +4 -4
  141. package/src/features/RowExpanding.ts +4 -4
  142. package/src/features/RowPagination.ts +3 -3
  143. package/src/features/RowPinning.ts +39 -35
  144. package/src/features/RowSelection.ts +4 -4
  145. package/src/features/RowSorting.ts +5 -5
  146. package/src/filterFns.ts +2 -2
  147. package/src/types.ts +8 -8
  148. package/src/utils/filterRowsUtils.ts +3 -3
  149. package/src/utils/getCoreRowModel.ts +2 -2
  150. package/src/utils/getGroupedRowModel.ts +2 -2
  151. package/src/utils/getSortedRowModel.ts +2 -2
  152. package/src/utils.ts +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"filterRowsUtils.js","sources":["../../../src/utils/filterRowsUtils.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Row, RowModel, Table, RowData } from '../types'\n\nexport function filterRows<TData extends RowData>(\n rows: Row<TData>[],\n filterRowImpl: (row: Row<TData>) => any,\n table: Table<TData>\n) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, table)\n}\n\nfunction filterRowModelFromLeafs<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => Row<TData>[],\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n const rows: Row<TData>[] = []\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n const newRow = createRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId\n )\n newRow.columnFilters = row.columnFilters\n\n if (row.subRows?.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n\n if (filterRow(row) && !newRow.subRows.length) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n\n if (filterRow(row) || newRow.subRows.length) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n } else {\n row = newRow\n if (filterRow(row)) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n }\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nfunction filterRowModelFromRoot<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => any,\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n // Filters top level and nested rows\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n // Filter from parents downward first\n\n const rows: Row<TData>[] = []\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows?.length && depth < maxDepth) {\n const newRow = createRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId\n )\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n }\n\n rows.push(row)\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"names":["rowsToFilter"],"mappings":";AAGgB,SAAA,WACd,MACA,eACA,OACA;AACI,MAAA,MAAM,QAAQ,oBAAoB;AAC7B,WAAA,wBAAwB,MAAM,eAAe,KAAK;AAAA,EAC3D;AAEO,SAAA,uBAAuB,MAAM,eAAe,KAAK;AAC1D;AAEA,SAAS,wBACP,cACA,WACA,OACiB;AACjB,QAAM,sBAAoC,CAAA;AAC1C,QAAM,sBAAkD,CAAA;AAClD,QAAA,WAAW,MAAM,QAAQ,yBAAyB;AAExD,QAAM,oBAAoB,CAACA,eAA4B,QAAQ,MAAM;;AACnE,UAAM,OAAqB,CAAA;AAG3B,aAAS,IAAI,GAAG,IAAIA,cAAa,QAAQ,KAAK;AACxC,UAAA,MAAMA,cAAa,CAAC;AAExB,YAAM,SAAS;AAAA,QACb;AAAA,QACA,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ;AAAA,QACA,IAAI;AAAA,MAAA;AAEN,aAAO,gBAAgB,IAAI;AAE3B,YAAI,SAAI,YAAJ,mBAAa,WAAU,QAAQ,UAAU;AAC3C,eAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,CAAC;AACnD,cAAA;AAEN,YAAI,UAAU,GAAG,KAAK,CAAC,OAAO,QAAQ,QAAQ;AAC5C,eAAK,KAAK,GAAG;AACO,8BAAA,IAAI,EAAE,IAAI;AAC9B,8BAAoB,KAAK,GAAG;AAC5B;AAAA,QACF;AAEA,YAAI,UAAU,GAAG,KAAK,OAAO,QAAQ,QAAQ;AAC3C,eAAK,KAAK,GAAG;AACO,8BAAA,IAAI,EAAE,IAAI;AAC9B,8BAAoB,KAAK,GAAG;AAC5B;AAAA,QACF;AAAA,MAAA,OACK;AACC,cAAA;AACF,YAAA,UAAU,GAAG,GAAG;AAClB,eAAK,KAAK,GAAG;AACO,8BAAA,IAAI,EAAE,IAAI;AAC9B,8BAAoB,KAAK,GAAG;AAAA,QAC9B;AAAA,MACF;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAGF,SAAA;AAAA,IACL,MAAM,kBAAkB,YAAY;AAAA,IACpC,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAEd;AAEA,SAAS,uBACP,cACA,WACA,OACiB;AACjB,QAAM,sBAAoC,CAAA;AAC1C,QAAM,sBAAkD,CAAA;AAClD,QAAA,WAAW,MAAM,QAAQ,yBAAyB;AAGxD,QAAM,oBAAoB,CAACA,eAA4B,QAAQ,MAAM;;AAGnE,UAAM,OAAqB,CAAA;AAG3B,aAAS,IAAI,GAAG,IAAIA,cAAa,QAAQ,KAAK;AACxC,UAAA,MAAMA,cAAa,CAAC;AAElB,YAAA,OAAO,UAAU,GAAG;AAE1B,UAAI,MAAM;AACR,cAAI,SAAI,YAAJ,mBAAa,WAAU,QAAQ,UAAU;AAC3C,gBAAM,SAAS;AAAA,YACb;AAAA,YACA,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ;AAAA,YACA,IAAI;AAAA,UAAA;AAEN,iBAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,CAAC;AACnD,gBAAA;AAAA,QACR;AAEA,aAAK,KAAK,GAAG;AACb,4BAAoB,KAAK,GAAG;AACR,4BAAA,IAAI,EAAE,IAAI;AAAA,MAChC;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAGF,SAAA;AAAA,IACL,MAAM,kBAAkB,YAAY;AAAA,IACpC,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAEd;"}
1
+ {"version":3,"file":"filterRowsUtils.js","sources":["../../../src/utils/filterRowsUtils.ts"],"sourcesContent":["import { _createRow } from '../core/row'\nimport { Row, RowModel, Table, RowData } from '../types'\n\nexport function filterRows<TData extends RowData>(\n rows: Row<TData>[],\n filterRowImpl: (row: Row<TData>) => any,\n table: Table<TData>\n) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, table)\n}\n\nfunction filterRowModelFromLeafs<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => Row<TData>[],\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n const rows: Row<TData>[] = []\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n const newRow = _createRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId\n )\n newRow.columnFilters = row.columnFilters\n\n if (row.subRows?.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n\n if (filterRow(row) && !newRow.subRows.length) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n\n if (filterRow(row) || newRow.subRows.length) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n } else {\n row = newRow\n if (filterRow(row)) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n }\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nfunction filterRowModelFromRoot<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => any,\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n // Filters top level and nested rows\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n // Filter from parents downward first\n\n const rows: Row<TData>[] = []\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows?.length && depth < maxDepth) {\n const newRow = _createRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId\n )\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n }\n\n rows.push(row)\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"names":["rowsToFilter"],"mappings":";AAGgB,SAAA,WACd,MACA,eACA,OACA;AACI,MAAA,MAAM,QAAQ,oBAAoB;AAC7B,WAAA,wBAAwB,MAAM,eAAe,KAAK;AAAA,EAC3D;AAEO,SAAA,uBAAuB,MAAM,eAAe,KAAK;AAC1D;AAEA,SAAS,wBACP,cACA,WACA,OACiB;AACjB,QAAM,sBAAoC,CAAA;AAC1C,QAAM,sBAAkD,CAAA;AAClD,QAAA,WAAW,MAAM,QAAQ,yBAAyB;AAExD,QAAM,oBAAoB,CAACA,eAA4B,QAAQ,MAAM;;AACnE,UAAM,OAAqB,CAAA;AAG3B,aAAS,IAAI,GAAG,IAAIA,cAAa,QAAQ,KAAK;AACxC,UAAA,MAAMA,cAAa,CAAC;AAExB,YAAM,SAAS;AAAA,QACb;AAAA,QACA,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ;AAAA,QACA,IAAI;AAAA,MAAA;AAEN,aAAO,gBAAgB,IAAI;AAE3B,YAAI,SAAI,YAAJ,mBAAa,WAAU,QAAQ,UAAU;AAC3C,eAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,CAAC;AACnD,cAAA;AAEN,YAAI,UAAU,GAAG,KAAK,CAAC,OAAO,QAAQ,QAAQ;AAC5C,eAAK,KAAK,GAAG;AACO,8BAAA,IAAI,EAAE,IAAI;AAC9B,8BAAoB,KAAK,GAAG;AAC5B;AAAA,QACF;AAEA,YAAI,UAAU,GAAG,KAAK,OAAO,QAAQ,QAAQ;AAC3C,eAAK,KAAK,GAAG;AACO,8BAAA,IAAI,EAAE,IAAI;AAC9B,8BAAoB,KAAK,GAAG;AAC5B;AAAA,QACF;AAAA,MAAA,OACK;AACC,cAAA;AACF,YAAA,UAAU,GAAG,GAAG;AAClB,eAAK,KAAK,GAAG;AACO,8BAAA,IAAI,EAAE,IAAI;AAC9B,8BAAoB,KAAK,GAAG;AAAA,QAC9B;AAAA,MACF;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAGF,SAAA;AAAA,IACL,MAAM,kBAAkB,YAAY;AAAA,IACpC,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAEd;AAEA,SAAS,uBACP,cACA,WACA,OACiB;AACjB,QAAM,sBAAoC,CAAA;AAC1C,QAAM,sBAAkD,CAAA;AAClD,QAAA,WAAW,MAAM,QAAQ,yBAAyB;AAGxD,QAAM,oBAAoB,CAACA,eAA4B,QAAQ,MAAM;;AAGnE,UAAM,OAAqB,CAAA;AAG3B,aAAS,IAAI,GAAG,IAAIA,cAAa,QAAQ,KAAK;AACxC,UAAA,MAAMA,cAAa,CAAC;AAElB,YAAA,OAAO,UAAU,GAAG;AAE1B,UAAI,MAAM;AACR,cAAI,SAAI,YAAJ,mBAAa,WAAU,QAAQ,UAAU;AAC3C,gBAAM,SAAS;AAAA,YACb;AAAA,YACA,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ;AAAA,YACA,IAAI;AAAA,UAAA;AAEN,iBAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,CAAC;AACnD,gBAAA;AAAA,QACR;AAEA,aAAK,KAAK,GAAG;AACb,4BAAoB,KAAK,GAAG;AACR,4BAAA,IAAI,EAAE,IAAI;AAAA,MAChC;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAGF,SAAA;AAAA,IACL,MAAM,kBAAkB,YAAY;AAAA,IACpC,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAEd;"}
@@ -1,4 +1,4 @@
1
- import { createRow } from "../core/row.js";
1
+ import { _createRow } from "../core/row.js";
2
2
  import { memo, getMemoOptions } from "../utils.js";
3
3
  function getCoreRowModel() {
4
4
  return (table) => memo(
@@ -13,7 +13,7 @@ function getCoreRowModel() {
13
13
  var _a;
14
14
  const rows = [];
15
15
  for (let i = 0; i < originalRows.length; i++) {
16
- const row = createRow(
16
+ const row = _createRow(
17
17
  table,
18
18
  table._getRowId(originalRows[i], i, parentRow),
19
19
  originalRows[i],
@@ -1 +1 @@
1
- {"version":3,"file":"getCoreRowModel.js","sources":["../../../src/utils/getCoreRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getCoreRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.options.data],\n (\n data\n ): {\n rows: Row<TData>[]\n flatRows: Row<TData>[]\n rowsById: Record<string, Row<TData>>\n } => {\n const rowModel: RowModel<TData> = {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n\n const accessRows = (\n originalRows: TData[],\n depth = 0,\n parentRow?: Row<TData>\n ): Row<TData>[] => {\n const rows = [] as Row<TData>[]\n\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\n // if (!id) {\n // if (process.env.NODE_ENV !== 'production') {\n // throw new Error(`getRowId expected an ID, but got ${id}`)\n // }\n // }\n\n // Make the row\n const row = createRow(\n table,\n table._getRowId(originalRows[i]!, i, parentRow),\n originalRows[i]!,\n i,\n depth,\n undefined,\n parentRow?.id\n )\n\n // Keep track of every row in a flat array\n rowModel.flatRows.push(row)\n // Also keep track of every row by its ID\n rowModel.rowsById[row.id] = row\n // Push table row into parent\n rows.push(row)\n\n // Get the original subrows\n if (table.options.getSubRows) {\n row.originalSubRows = table.options.getSubRows(\n originalRows[i]!,\n i\n )\n\n // Then recursively access them\n if (row.originalSubRows?.length) {\n row.subRows = accessRows(row.originalSubRows, depth + 1, row)\n }\n }\n }\n\n return rows\n }\n\n rowModel.rows = accessRows(data)\n\n return rowModel\n },\n getMemoOptions(table.options, 'debugTable', 'getRowModel', () =>\n table._autoResetPageIndex()\n )\n )\n}\n"],"names":[],"mappings":";;AAIO,SAAS,kBAEW;AACzB,SAAO,CACL,UAAA;AAAA,IACE,MAAM,CAAC,MAAM,QAAQ,IAAI;AAAA,IACzB,CACE,SAKG;AACH,YAAM,WAA4B;AAAA,QAChC,MAAM,CAAC;AAAA,QACP,UAAU,CAAC;AAAA,QACX,UAAU,CAAC;AAAA,MAAA;AAGb,YAAM,aAAa,CACjB,cACA,QAAQ,GACR,cACiB;;AACjB,cAAM,OAAO,CAAA;AAEb,iBAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAS5C,gBAAM,MAAM;AAAA,YACV;AAAA,YACA,MAAM,UAAU,aAAa,CAAC,GAAI,GAAG,SAAS;AAAA,YAC9C,aAAa,CAAC;AAAA,YACd;AAAA,YACA;AAAA,YACA;AAAA,YACA,uCAAW;AAAA,UAAA;AAIJ,mBAAA,SAAS,KAAK,GAAG;AAEjB,mBAAA,SAAS,IAAI,EAAE,IAAI;AAE5B,eAAK,KAAK,GAAG;AAGT,cAAA,MAAM,QAAQ,YAAY;AACxB,gBAAA,kBAAkB,MAAM,QAAQ;AAAA,cAClC,aAAa,CAAC;AAAA,cACd;AAAA,YAAA;AAIE,iBAAA,SAAI,oBAAJ,mBAAqB,QAAQ;AAC/B,kBAAI,UAAU,WAAW,IAAI,iBAAiB,QAAQ,GAAG,GAAG;AAAA,YAC9D;AAAA,UACF;AAAA,QACF;AAEO,eAAA;AAAA,MAAA;AAGA,eAAA,OAAO,WAAW,IAAI;AAExB,aAAA;AAAA,IACT;AAAA,IACA;AAAA,MAAe,MAAM;AAAA,MAAS;AAAA,MAAc;AAAA,MAAe,MACzD,MAAM,oBAAoB;AAAA,IAC5B;AAAA,EAAA;AAEN;"}
1
+ {"version":3,"file":"getCoreRowModel.js","sources":["../../../src/utils/getCoreRowModel.ts"],"sourcesContent":["import { _createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getCoreRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.options.data],\n (\n data\n ): {\n rows: Row<TData>[]\n flatRows: Row<TData>[]\n rowsById: Record<string, Row<TData>>\n } => {\n const rowModel: RowModel<TData> = {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n\n const accessRows = (\n originalRows: TData[],\n depth = 0,\n parentRow?: Row<TData>\n ): Row<TData>[] => {\n const rows = [] as Row<TData>[]\n\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\n // if (!id) {\n // if (process.env.NODE_ENV !== 'production') {\n // throw new Error(`getRowId expected an ID, but got ${id}`)\n // }\n // }\n\n // Make the row\n const row = _createRow(\n table,\n table._getRowId(originalRows[i]!, i, parentRow),\n originalRows[i]!,\n i,\n depth,\n undefined,\n parentRow?.id\n )\n\n // Keep track of every row in a flat array\n rowModel.flatRows.push(row)\n // Also keep track of every row by its ID\n rowModel.rowsById[row.id] = row\n // Push table row into parent\n rows.push(row)\n\n // Get the original subrows\n if (table.options.getSubRows) {\n row.originalSubRows = table.options.getSubRows(\n originalRows[i]!,\n i\n )\n\n // Then recursively access them\n if (row.originalSubRows?.length) {\n row.subRows = accessRows(row.originalSubRows, depth + 1, row)\n }\n }\n }\n\n return rows\n }\n\n rowModel.rows = accessRows(data)\n\n return rowModel\n },\n getMemoOptions(table.options, 'debugTable', 'getRowModel', () =>\n table._autoResetPageIndex()\n )\n )\n}\n"],"names":[],"mappings":";;AAIO,SAAS,kBAEW;AACzB,SAAO,CACL,UAAA;AAAA,IACE,MAAM,CAAC,MAAM,QAAQ,IAAI;AAAA,IACzB,CACE,SAKG;AACH,YAAM,WAA4B;AAAA,QAChC,MAAM,CAAC;AAAA,QACP,UAAU,CAAC;AAAA,QACX,UAAU,CAAC;AAAA,MAAA;AAGb,YAAM,aAAa,CACjB,cACA,QAAQ,GACR,cACiB;;AACjB,cAAM,OAAO,CAAA;AAEb,iBAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAS5C,gBAAM,MAAM;AAAA,YACV;AAAA,YACA,MAAM,UAAU,aAAa,CAAC,GAAI,GAAG,SAAS;AAAA,YAC9C,aAAa,CAAC;AAAA,YACd;AAAA,YACA;AAAA,YACA;AAAA,YACA,uCAAW;AAAA,UAAA;AAIJ,mBAAA,SAAS,KAAK,GAAG;AAEjB,mBAAA,SAAS,IAAI,EAAE,IAAI;AAE5B,eAAK,KAAK,GAAG;AAGT,cAAA,MAAM,QAAQ,YAAY;AACxB,gBAAA,kBAAkB,MAAM,QAAQ;AAAA,cAClC,aAAa,CAAC;AAAA,cACd;AAAA,YAAA;AAIE,iBAAA,SAAI,oBAAJ,mBAAqB,QAAQ;AAC/B,kBAAI,UAAU,WAAW,IAAI,iBAAiB,QAAQ,GAAG,GAAG;AAAA,YAC9D;AAAA,UACF;AAAA,QACF;AAEO,eAAA;AAAA,MAAA;AAGA,eAAA,OAAO,WAAW,IAAI;AAExB,aAAA;AAAA,IACT;AAAA,IACA;AAAA,MAAe,MAAM;AAAA,MAAS;AAAA,MAAc;AAAA,MAAe,MACzD,MAAM,oBAAoB;AAAA,IAC5B;AAAA,EAAA;AAEN;"}
@@ -7,8 +7,7 @@ function getFacetedMinMaxValues() {
7
7
  },
8
8
  (facetedRowModel) => {
9
9
  var _a;
10
- if (!facetedRowModel)
11
- return void 0;
10
+ if (!facetedRowModel) return void 0;
12
11
  const firstValue = (_a = facetedRowModel.flatRows[0]) == null ? void 0 : _a.getUniqueValues(columnId);
13
12
  if (typeof firstValue === "undefined") {
14
13
  return void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getFacetedMinMaxValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => undefined | [number, number] {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId)?.getFacetedRowModel()],\n facetedRowModel => {\n if (!facetedRowModel) return undefined\n\n const firstValue =\n facetedRowModel.flatRows[0]?.getUniqueValues(columnId)\n\n if (typeof firstValue === 'undefined') {\n return undefined\n }\n\n let facetedMinMaxValues: [any, any] = [firstValue, firstValue]\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values =\n facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]!\n\n if (value < facetedMinMaxValues[0]) {\n facetedMinMaxValues[0] = value\n } else if (value > facetedMinMaxValues[1]) {\n facetedMinMaxValues[1] = value\n }\n }\n }\n\n return facetedMinMaxValues\n },\n getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues')\n )\n}\n"],"names":[],"mappings":";AAGO,SAAS,yBAGwB;AAC/B,SAAA,CAAC,OAAO,aACb;AAAA,IACE,MAAA;;AAAM,eAAC,WAAM,UAAU,QAAQ,MAAxB,mBAA2B,oBAAoB;AAAA;AAAA,IACtD,CAAmB,oBAAA;;AACjB,UAAI,CAAC;AAAwB,eAAA;AAE7B,YAAM,cACJ,qBAAgB,SAAS,CAAC,MAA1B,mBAA6B,gBAAgB;AAE3C,UAAA,OAAO,eAAe,aAAa;AAC9B,eAAA;AAAA,MACT;AAEI,UAAA,sBAAkC,CAAC,YAAY,UAAU;AAE7D,eAAS,IAAI,GAAG,IAAI,gBAAgB,SAAS,QAAQ,KAAK;AACxD,cAAM,SACJ,gBAAgB,SAAS,CAAC,EAAG,gBAAwB,QAAQ;AAE/D,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AAChC,gBAAA,QAAQ,OAAO,CAAC;AAElB,cAAA,QAAQ,oBAAoB,CAAC,GAAG;AAClC,gCAAoB,CAAC,IAAI;AAAA,UAChB,WAAA,QAAQ,oBAAoB,CAAC,GAAG;AACzC,gCAAoB,CAAC,IAAI;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,IACA,eAAe,MAAM,SAAS,cAAc,wBAAwB;AAAA,EAAA;AAE1E;"}
1
+ {"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getFacetedMinMaxValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => undefined | [number, number] {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId)?.getFacetedRowModel()],\n facetedRowModel => {\n if (!facetedRowModel) return undefined\n\n const firstValue =\n facetedRowModel.flatRows[0]?.getUniqueValues(columnId)\n\n if (typeof firstValue === 'undefined') {\n return undefined\n }\n\n let facetedMinMaxValues: [any, any] = [firstValue, firstValue]\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values =\n facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]!\n\n if (value < facetedMinMaxValues[0]) {\n facetedMinMaxValues[0] = value\n } else if (value > facetedMinMaxValues[1]) {\n facetedMinMaxValues[1] = value\n }\n }\n }\n\n return facetedMinMaxValues\n },\n getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues')\n )\n}\n"],"names":[],"mappings":";AAGO,SAAS,yBAGwB;AAC/B,SAAA,CAAC,OAAO,aACb;AAAA,IACE,MAAA;;AAAM,eAAC,WAAM,UAAU,QAAQ,MAAxB,mBAA2B,oBAAoB;AAAA;AAAA,IACtD,CAAmB,oBAAA;;AACb,UAAA,CAAC,gBAAwB,QAAA;AAE7B,YAAM,cACJ,qBAAgB,SAAS,CAAC,MAA1B,mBAA6B,gBAAgB;AAE3C,UAAA,OAAO,eAAe,aAAa;AAC9B,eAAA;AAAA,MACT;AAEI,UAAA,sBAAkC,CAAC,YAAY,UAAU;AAE7D,eAAS,IAAI,GAAG,IAAI,gBAAgB,SAAS,QAAQ,KAAK;AACxD,cAAM,SACJ,gBAAgB,SAAS,CAAC,EAAG,gBAAwB,QAAQ;AAE/D,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AAChC,gBAAA,QAAQ,OAAO,CAAC;AAElB,cAAA,QAAQ,oBAAoB,CAAC,GAAG;AAClC,gCAAoB,CAAC,IAAI;AAAA,UAChB,WAAA,QAAQ,oBAAoB,CAAC,GAAG;AACzC,gCAAoB,CAAC,IAAI;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,IACA,eAAe,MAAM,SAAS,cAAc,wBAAwB;AAAA,EAAA;AAE1E;"}
@@ -6,8 +6,7 @@ function getFacetedUniqueValues() {
6
6
  return [(_a = table.getColumn(columnId)) == null ? void 0 : _a.getFacetedRowModel()];
7
7
  },
8
8
  (facetedRowModel) => {
9
- if (!facetedRowModel)
10
- return /* @__PURE__ */ new Map();
9
+ if (!facetedRowModel) return /* @__PURE__ */ new Map();
11
10
  let facetedUniqueValues = /* @__PURE__ */ new Map();
12
11
  for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
13
12
  const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
@@ -1 +1 @@
1
- {"version":3,"file":"getFacetedUniqueValues.js","sources":["../../../src/utils/getFacetedUniqueValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getFacetedUniqueValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => Map<any, number> {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId)?.getFacetedRowModel()],\n facetedRowModel => {\n if (!facetedRowModel) return new Map()\n\n let facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values =\n facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]!\n\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 getMemoOptions(\n table.options,\n 'debugTable',\n `getFacetedUniqueValues_${columnId}`\n )\n )\n}\n"],"names":[],"mappings":";AAGO,SAAS,yBAGY;AACnB,SAAA,CAAC,OAAO,aACb;AAAA,IACE,MAAA;;AAAM,eAAC,WAAM,UAAU,QAAQ,MAAxB,mBAA2B,oBAAoB;AAAA;AAAA,IACtD,CAAmB,oBAAA;AACjB,UAAI,CAAC;AAAiB,mCAAW,IAAI;AAEjC,UAAA,0CAA0B;AAE9B,eAAS,IAAI,GAAG,IAAI,gBAAgB,SAAS,QAAQ,KAAK;AACxD,cAAM,SACJ,gBAAgB,SAAS,CAAC,EAAG,gBAAwB,QAAQ;AAE/D,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AAChC,gBAAA,QAAQ,OAAO,CAAC;AAElB,cAAA,oBAAoB,IAAI,KAAK,GAAG;AACd,gCAAA;AAAA,cAClB;AAAA,eACC,oBAAoB,IAAI,KAAK,KAAK,KAAK;AAAA,YAAA;AAAA,UAC1C,OACK;AACe,gCAAA,IAAI,OAAO,CAAC;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN;AAAA,MACA,0BAA0B,QAAQ;AAAA,IACpC;AAAA,EAAA;AAEN;"}
1
+ {"version":3,"file":"getFacetedUniqueValues.js","sources":["../../../src/utils/getFacetedUniqueValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getFacetedUniqueValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => Map<any, number> {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId)?.getFacetedRowModel()],\n facetedRowModel => {\n if (!facetedRowModel) return new Map()\n\n let facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values =\n facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]!\n\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 getMemoOptions(\n table.options,\n 'debugTable',\n `getFacetedUniqueValues_${columnId}`\n )\n )\n}\n"],"names":[],"mappings":";AAGO,SAAS,yBAGY;AACnB,SAAA,CAAC,OAAO,aACb;AAAA,IACE,MAAA;;AAAM,eAAC,WAAM,UAAU,QAAQ,MAAxB,mBAA2B,oBAAoB;AAAA;AAAA,IACtD,CAAmB,oBAAA;AACjB,UAAI,CAAC,gBAAwB,QAAA,oBAAI;AAE7B,UAAA,0CAA0B;AAE9B,eAAS,IAAI,GAAG,IAAI,gBAAgB,SAAS,QAAQ,KAAK;AACxD,cAAM,SACJ,gBAAgB,SAAS,CAAC,EAAG,gBAAwB,QAAQ;AAE/D,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AAChC,gBAAA,QAAQ,OAAO,CAAC;AAElB,cAAA,oBAAoB,IAAI,KAAK,GAAG;AACd,gCAAA;AAAA,cAClB;AAAA,eACC,oBAAoB,IAAI,KAAK,KAAK,KAAK;AAAA,YAAA;AAAA,UAC1C,OACK;AACe,gCAAA,IAAI,OAAO,CAAC;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN;AAAA,MACA,0BAA0B,QAAQ;AAAA,IACpC;AAAA,EAAA;AAEN;"}
@@ -1,4 +1,4 @@
1
- import { createRow } from "../core/row.js";
1
+ import { _createRow } from "../core/row.js";
2
2
  import { memo, getMemoOptions, flattenBy } from "../utils.js";
3
3
  function getGroupedRowModel() {
4
4
  return (table) => memo(
@@ -32,7 +32,7 @@ function getGroupedRowModel() {
32
32
  id = parentId ? `${parentId}>${id}` : id;
33
33
  const subRows = groupUpRecursively(groupedRows2, depth + 1, id);
34
34
  const leafRows = depth ? flattenBy(groupedRows2, (row2) => row2.subRows) : groupedRows2;
35
- const row = createRow(
35
+ const row = _createRow(
36
36
  table,
37
37
  id,
38
38
  leafRows[0].original,
@@ -1 +1 @@
1
- {"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { flattenBy, getMemoOptions, memo } from '../utils'\n\nexport function getGroupedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().grouping, table.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n table.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TData>[] = []\n const groupedRowsById: Record<string, Row<TData>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TData>[],\n depth = 0,\n parentId?: string\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map(row => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)\n }\n\n return row\n })\n }\n\n const columnId: string = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = createRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth,\n undefined,\n parentId\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row._valuesCache[columnId]\n }\n\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId)\n const aggregateFn = column?.getAggregationFn()\n\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(\n columnId,\n leafRows,\n groupedRows\n )\n\n return row._groupingValuesCache[columnId]\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', () => {\n table._queue(() => {\n table._autoResetExpanded()\n table._autoResetPageIndex()\n })\n })\n )\n}\n\nfunction groupBy<TData extends RowData>(rows: Row<TData>[], columnId: string) {\n const groupMap = new Map<any, Row<TData>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getGroupingValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n previous.push(row)\n }\n return map\n }, groupMap)\n}\n"],"names":["groupedRows","row","columnId"],"mappings":"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"}
1
+ {"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { _createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { flattenBy, getMemoOptions, memo } from '../utils'\n\nexport function getGroupedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().grouping, table.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n table.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TData>[] = []\n const groupedRowsById: Record<string, Row<TData>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TData>[],\n depth = 0,\n parentId?: string\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map(row => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)\n }\n\n return row\n })\n }\n\n const columnId: string = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = _createRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth,\n undefined,\n parentId\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row._valuesCache[columnId]\n }\n\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId)\n const aggregateFn = column?.getAggregationFn()\n\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(\n columnId,\n leafRows,\n groupedRows\n )\n\n return row._groupingValuesCache[columnId]\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', () => {\n table._queue(() => {\n table._autoResetExpanded()\n table._autoResetPageIndex()\n })\n })\n )\n}\n\nfunction groupBy<TData extends RowData>(rows: Row<TData>[], columnId: string) {\n const groupMap = new Map<any, Row<TData>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getGroupingValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n previous.push(row)\n }\n return map\n }, groupMap)\n}\n"],"names":["groupedRows","row","columnId"],"mappings":"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"}
@@ -17,8 +17,7 @@ function getSortedRowModel() {
17
17
  const columnInfoById = {};
18
18
  availableSorting.forEach((sortEntry) => {
19
19
  const column = table.getColumn(sortEntry.id);
20
- if (!column)
21
- return;
20
+ if (!column) return;
22
21
  columnInfoById[sortEntry.id] = {
23
22
  sortUndefined: column.columnDef.sortUndefined,
24
23
  invertSorting: column.columnDef.invertSorting,
@@ -40,10 +39,8 @@ function getSortedRowModel() {
40
39
  const aUndefined = aValue === void 0;
41
40
  const bUndefined = bValue === void 0;
42
41
  if (aUndefined || bUndefined) {
43
- if (sortUndefined === "first")
44
- return aUndefined ? -1 : 1;
45
- if (sortUndefined === "last")
46
- return aUndefined ? 1 : -1;
42
+ if (sortUndefined === "first") return aUndefined ? -1 : 1;
43
+ if (sortUndefined === "last") return aUndefined ? 1 : -1;
47
44
  sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;
48
45
  }
49
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getSortedRowModel.js","sources":["../../../src/utils/getSortedRowModel.ts"],"sourcesContent":["import { Table, Row, RowModel, RowData } from '../types'\nimport { SortingFn } from '../features/RowSorting'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getSortedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().sorting, table.getPreSortedRowModel()],\n (sorting, rowModel) => {\n if (!rowModel.rows.length || !sorting?.length) {\n return rowModel\n }\n\n const sortingState = table.getState().sorting\n\n const sortedFlatRows: Row<TData>[] = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(\n sort => table.getColumn(sort.id)?.getCanSort()\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1 | 'first' | 'last'\n invertSorting?: boolean\n sortingFn: SortingFn<TData>\n }\n > = {}\n\n availableSorting.forEach(sortEntry => {\n const column = table.getColumn(sortEntry.id)\n if (!column) return\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortingFn: column.getSortingFn(),\n }\n })\n\n const sortData = (rows: Row<TData>[]) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.map(row => ({ ...row }))\n\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n const sortEntry = availableSorting[i]!\n const columnInfo = columnInfoById[sortEntry.id]!\n const sortUndefined = columnInfo.sortUndefined\n const isDesc = sortEntry?.desc ?? false\n\n let sortInt = 0\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id)\n const bValue = rowB.getValue(sortEntry.id)\n\n const aUndefined = aValue === undefined\n const bUndefined = bValue === undefined\n\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1\n if (sortUndefined === 'last') return aUndefined ? 1 : -1\n sortInt =\n aUndefined && bUndefined\n ? 0\n : aUndefined\n ? sortUndefined\n : -sortUndefined\n }\n }\n\n if (sortInt === 0) {\n sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id)\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (row.subRows?.length) {\n row.subRows = sortData(row.subRows)\n }\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById,\n }\n },\n getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () =>\n table._autoResetPageIndex()\n )\n )\n}\n"],"names":[],"mappings":";AAIO,SAAS,oBAEW;AACzB,SAAO,CACL,UAAA;AAAA,IACE,MAAM,CAAC,MAAM,SAAA,EAAW,SAAS,MAAM,sBAAsB;AAAA,IAC7D,CAAC,SAAS,aAAa;AACrB,UAAI,CAAC,SAAS,KAAK,UAAU,EAAC,mCAAS,SAAQ;AACtC,eAAA;AAAA,MACT;AAEM,YAAA,eAAe,MAAM,SAAA,EAAW;AAEtC,YAAM,iBAA+B,CAAA;AAGrC,YAAM,mBAAmB,aAAa;AAAA,QACpC,UAAQ;;AAAA,6BAAM,UAAU,KAAK,EAAE,MAAvB,mBAA0B;AAAA;AAAA,MAAW;AAG/C,YAAM,iBAOF,CAAA;AAEJ,uBAAiB,QAAQ,CAAa,cAAA;AACpC,cAAM,SAAS,MAAM,UAAU,UAAU,EAAE;AAC3C,YAAI,CAAC;AAAQ;AAEE,uBAAA,UAAU,EAAE,IAAI;AAAA,UAC7B,eAAe,OAAO,UAAU;AAAA,UAChC,eAAe,OAAO,UAAU;AAAA,UAChC,WAAW,OAAO,aAAa;AAAA,QAAA;AAAA,MACjC,CACD;AAEK,YAAA,WAAW,CAAC,SAAuB;AAGvC,cAAM,aAAa,KAAK,IAAI,UAAQ,EAAE,GAAG,IAAM,EAAA;AAEpC,mBAAA,KAAK,CAAC,MAAM,SAAS;AAC9B,mBAAS,IAAI,GAAG,IAAI,iBAAiB,QAAQ,KAAK,GAAG;AAC7C,kBAAA,YAAY,iBAAiB,CAAC;AAC9B,kBAAA,aAAa,eAAe,UAAU,EAAE;AAC9C,kBAAM,gBAAgB,WAAW;AAC3B,kBAAA,UAAS,uCAAW,SAAQ;AAElC,gBAAI,UAAU;AAGd,gBAAI,eAAe;AACjB,oBAAM,SAAS,KAAK,SAAS,UAAU,EAAE;AACzC,oBAAM,SAAS,KAAK,SAAS,UAAU,EAAE;AAEzC,oBAAM,aAAa,WAAW;AAC9B,oBAAM,aAAa,WAAW;AAE9B,kBAAI,cAAc,YAAY;AAC5B,oBAAI,kBAAkB;AAAS,yBAAO,aAAa,KAAK;AACxD,oBAAI,kBAAkB;AAAQ,yBAAO,aAAa,IAAI;AACtD,0BACE,cAAc,aACV,IACA,aACE,gBACA,CAAC;AAAA,cACX;AAAA,YACF;AAEA,gBAAI,YAAY,GAAG;AACjB,wBAAU,WAAW,UAAU,MAAM,MAAM,UAAU,EAAE;AAAA,YACzD;AAGA,gBAAI,YAAY,GAAG;AACjB,kBAAI,QAAQ;AACC,2BAAA;AAAA,cACb;AAEA,kBAAI,WAAW,eAAe;AACjB,2BAAA;AAAA,cACb;AAEO,qBAAA;AAAA,YACT;AAAA,UACF;AAEO,iBAAA,KAAK,QAAQ,KAAK;AAAA,QAAA,CAC1B;AAGD,mBAAW,QAAQ,CAAO,QAAA;;AACxB,yBAAe,KAAK,GAAG;AACnB,eAAA,SAAI,YAAJ,mBAAa,QAAQ;AACnB,gBAAA,UAAU,SAAS,IAAI,OAAO;AAAA,UACpC;AAAA,QAAA,CACD;AAEM,eAAA;AAAA,MAAA;AAGF,aAAA;AAAA,QACL,MAAM,SAAS,SAAS,IAAI;AAAA,QAC5B,UAAU;AAAA,QACV,UAAU,SAAS;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA;AAAA,MAAe,MAAM;AAAA,MAAS;AAAA,MAAc;AAAA,MAAqB,MAC/D,MAAM,oBAAoB;AAAA,IAC5B;AAAA,EAAA;AAEN;"}
1
+ {"version":3,"file":"getSortedRowModel.js","sources":["../../../src/utils/getSortedRowModel.ts"],"sourcesContent":["import { Table, Row, RowModel, RowData } from '../types'\nimport { SortingFn } from '../features/RowSorting'\nimport { getMemoOptions, memo } from '../utils'\n\nexport function getSortedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().sorting, table.getPreSortedRowModel()],\n (sorting, rowModel) => {\n if (!rowModel.rows.length || !sorting?.length) {\n return rowModel\n }\n\n const sortingState = table.getState().sorting\n\n const sortedFlatRows: Row<TData>[] = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort =>\n table.getColumn(sort.id)?.getCanSort()\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1 | 'first' | 'last'\n invertSorting?: boolean\n sortingFn: SortingFn<TData>\n }\n > = {}\n\n availableSorting.forEach(sortEntry => {\n const column = table.getColumn(sortEntry.id)\n if (!column) return\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortingFn: column.getSortingFn(),\n }\n })\n\n const sortData = (rows: Row<TData>[]) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.map(row => ({ ...row }))\n\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n const sortEntry = availableSorting[i]!\n const columnInfo = columnInfoById[sortEntry.id]!\n const sortUndefined = columnInfo.sortUndefined\n const isDesc = sortEntry?.desc ?? false\n\n let sortInt = 0\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id)\n const bValue = rowB.getValue(sortEntry.id)\n\n const aUndefined = aValue === undefined\n const bUndefined = bValue === undefined\n\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1\n if (sortUndefined === 'last') return aUndefined ? 1 : -1\n sortInt =\n aUndefined && bUndefined\n ? 0\n : aUndefined\n ? sortUndefined\n : -sortUndefined\n }\n }\n\n if (sortInt === 0) {\n sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id)\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (row.subRows?.length) {\n row.subRows = sortData(row.subRows)\n }\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById,\n }\n },\n getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () =>\n table._autoResetPageIndex()\n )\n )\n}\n"],"names":[],"mappings":";AAIO,SAAS,oBAEW;AACzB,SAAO,CACL,UAAA;AAAA,IACE,MAAM,CAAC,MAAM,SAAA,EAAW,SAAS,MAAM,sBAAsB;AAAA,IAC7D,CAAC,SAAS,aAAa;AACrB,UAAI,CAAC,SAAS,KAAK,UAAU,EAAC,mCAAS,SAAQ;AACtC,eAAA;AAAA,MACT;AAEM,YAAA,eAAe,MAAM,SAAA,EAAW;AAEtC,YAAM,iBAA+B,CAAA;AAGrC,YAAM,mBAAmB,aAAa;AAAA,QAAO,UAC3C;;AAAA,6BAAM,UAAU,KAAK,EAAE,MAAvB,mBAA0B;AAAA;AAAA,MAAW;AAGvC,YAAM,iBAOF,CAAA;AAEJ,uBAAiB,QAAQ,CAAa,cAAA;AACpC,cAAM,SAAS,MAAM,UAAU,UAAU,EAAE;AAC3C,YAAI,CAAC,OAAQ;AAEE,uBAAA,UAAU,EAAE,IAAI;AAAA,UAC7B,eAAe,OAAO,UAAU;AAAA,UAChC,eAAe,OAAO,UAAU;AAAA,UAChC,WAAW,OAAO,aAAa;AAAA,QAAA;AAAA,MACjC,CACD;AAEK,YAAA,WAAW,CAAC,SAAuB;AAGvC,cAAM,aAAa,KAAK,IAAI,UAAQ,EAAE,GAAG,IAAM,EAAA;AAEpC,mBAAA,KAAK,CAAC,MAAM,SAAS;AAC9B,mBAAS,IAAI,GAAG,IAAI,iBAAiB,QAAQ,KAAK,GAAG;AAC7C,kBAAA,YAAY,iBAAiB,CAAC;AAC9B,kBAAA,aAAa,eAAe,UAAU,EAAE;AAC9C,kBAAM,gBAAgB,WAAW;AAC3B,kBAAA,UAAS,uCAAW,SAAQ;AAElC,gBAAI,UAAU;AAGd,gBAAI,eAAe;AACjB,oBAAM,SAAS,KAAK,SAAS,UAAU,EAAE;AACzC,oBAAM,SAAS,KAAK,SAAS,UAAU,EAAE;AAEzC,oBAAM,aAAa,WAAW;AAC9B,oBAAM,aAAa,WAAW;AAE9B,kBAAI,cAAc,YAAY;AAC5B,oBAAI,kBAAkB,QAAgB,QAAA,aAAa,KAAK;AACxD,oBAAI,kBAAkB,OAAe,QAAA,aAAa,IAAI;AACtD,0BACE,cAAc,aACV,IACA,aACE,gBACA,CAAC;AAAA,cACX;AAAA,YACF;AAEA,gBAAI,YAAY,GAAG;AACjB,wBAAU,WAAW,UAAU,MAAM,MAAM,UAAU,EAAE;AAAA,YACzD;AAGA,gBAAI,YAAY,GAAG;AACjB,kBAAI,QAAQ;AACC,2BAAA;AAAA,cACb;AAEA,kBAAI,WAAW,eAAe;AACjB,2BAAA;AAAA,cACb;AAEO,qBAAA;AAAA,YACT;AAAA,UACF;AAEO,iBAAA,KAAK,QAAQ,KAAK;AAAA,QAAA,CAC1B;AAGD,mBAAW,QAAQ,CAAO,QAAA;;AACxB,yBAAe,KAAK,GAAG;AACnB,eAAA,SAAI,YAAJ,mBAAa,QAAQ;AACnB,gBAAA,UAAU,SAAS,IAAI,OAAO;AAAA,UACpC;AAAA,QAAA,CACD;AAEM,eAAA;AAAA,MAAA;AAGF,aAAA;AAAA,QACL,MAAM,SAAS,SAAS,IAAI;AAAA,QAC5B,UAAU;AAAA,QACV,UAAU,SAAS;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA;AAAA,MAAe,MAAM;AAAA,MAAS;AAAA,MAAc;AAAA,MAAqB,MAC/D,MAAM,oBAAoB;AAAA,IAC5B;AAAA,EAAA;AAEN;"}
package/dist/esm/utils.js CHANGED
@@ -39,8 +39,7 @@ function memo(getDeps, fn, opts) {
39
39
  return (depArgs) => {
40
40
  var _a;
41
41
  let depTime;
42
- if (opts.key && opts.debug)
43
- depTime = Date.now();
42
+ if (opts.key && opts.debug) depTime = Date.now();
44
43
  const newDeps = getDeps(depArgs);
45
44
  const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);
46
45
  if (!depsChanged) {
@@ -48,8 +47,7 @@ function memo(getDeps, fn, opts) {
48
47
  }
49
48
  deps = newDeps;
50
49
  let resultTime;
51
- if (opts.key && opts.debug)
52
- resultTime = Date.now();
50
+ if (opts.key && opts.debug) resultTime = Date.now();
53
51
  result = fn(...newDeps);
54
52
  (_a = opts == null ? void 0 : opts.onChange) == null ? void 0 : _a.call(opts, result);
55
53
  if (opts.key && opts.debug) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import { TableOptionsResolved, TableState, Updater } from './types'\n\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type RequiredKeys<T, K extends keyof T> = Omit<T, K> &\n Required<Pick<T, K>>\nexport type Overwrite<T, U extends { [TKey in keyof T]?: any }> = Omit<\n T,\n keyof U\n> &\n U\n\nexport type UnionToIntersection<T> = (\n T extends any ? (x: T) => any : never\n) extends (x: infer R) => any\n ? R\n : never\n\nexport type IsAny<T, Y, N> = 1 extends 0 & T ? Y : N\nexport type IsKnown<T, Y, N> = unknown extends T ? N : Y\n\ntype ComputeRange<\n N extends number,\n Result extends Array<unknown> = [],\n> = Result['length'] extends N\n ? Result\n : ComputeRange<N, [...Result, Result['length']]>\ntype Index40 = ComputeRange<40>[number]\n\n// Is this type a tuple?\ntype IsTuple<T> = T extends readonly any[] & { length: infer Length }\n ? Length extends Index40\n ? T\n : never\n : never\n\n// If this type is a tuple, what indices are allowed?\ntype AllowedIndexes<\n Tuple extends ReadonlyArray<any>,\n Keys extends number = never,\n> = Tuple extends readonly []\n ? Keys\n : Tuple extends readonly [infer _, ...infer Tail]\n ? AllowedIndexes<Tail, Keys | Tail['length']>\n : Keys\n\nexport type DeepKeys<T, TDepth extends any[] = []> = TDepth['length'] extends 5\n ? never\n : unknown extends T\n ? string\n : T extends readonly any[] & IsTuple<T>\n ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth>\n : T extends any[]\n ? DeepKeys<T[number], [...TDepth, any]>\n : T extends Date\n ? never\n : T extends object\n ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth>\n : never\n\ntype DeepKeysPrefix<\n T,\n TPrefix,\n TDepth extends any[],\n> = TPrefix extends keyof T & (number | string)\n ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}`\n : never\n\nexport type DeepValue<T, TProp> = T extends Record<string | number, any>\n ? TProp extends `${infer TBranch}.${infer TDeepProp}`\n ? DeepValue<T[TBranch], TDeepProp>\n : T[TProp & string]\n : never\n\nexport type NoInfer<T> = [T][T extends any ? 0 : never]\n\nexport type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>\n\n///\n\nexport function functionalUpdate<T>(updater: Updater<T>, input: T): T {\n return typeof updater === 'function'\n ? (updater as (input: T) => T)(input)\n : updater\n}\n\nexport function noop() {\n //\n}\n\nexport function makeStateUpdater<K extends keyof TableState>(\n key: K,\n instance: unknown\n) {\n return (updater: Updater<TableState[K]>) => {\n ;(instance as any).setState(<TTableState>(old: TTableState) => {\n return {\n ...old,\n [key]: functionalUpdate(updater, (old as any)[key]),\n }\n })\n }\n}\n\ntype AnyFunction = (...args: any) => any\n\nexport function isFunction<T extends AnyFunction>(d: any): d is T {\n return d instanceof Function\n}\n\nexport function isNumberArray(d: any): d is number[] {\n return Array.isArray(d) && d.every(val => typeof val === 'number')\n}\n\nexport function flattenBy<TNode>(\n arr: TNode[],\n getChildren: (item: TNode) => TNode[]\n) {\n const flat: TNode[] = []\n\n const recurse = (subArr: TNode[]) => {\n subArr.forEach(item => {\n flat.push(item)\n const children = getChildren(item)\n if (children?.length) {\n recurse(children)\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function memo<TDeps extends readonly any[], TDepArgs, TResult>(\n getDeps: (depArgs?: TDepArgs) => [...TDeps],\n fn: (...args: NoInfer<[...TDeps]>) => TResult,\n opts: {\n key: any\n debug?: () => any\n onChange?: (result: TResult) => void\n }\n): (depArgs?: TDepArgs) => TResult {\n let deps: any[] = []\n let result: TResult | undefined\n\n return depArgs => {\n let depTime: number\n if (opts.key && opts.debug) depTime = Date.now()\n\n const newDeps = getDeps(depArgs)\n\n const depsChanged =\n newDeps.length !== deps.length ||\n newDeps.some((dep: any, index: number) => deps[index] !== dep)\n\n if (!depsChanged) {\n return result!\n }\n\n deps = newDeps\n\n let resultTime: number\n if (opts.key && opts.debug) resultTime = Date.now()\n\n result = fn(...newDeps)\n opts?.onChange?.(result)\n\n if (opts.key && opts.debug) {\n if (opts?.debug()) {\n const depEndTime = Math.round((Date.now() - depTime!) * 100) / 100\n const resultEndTime = Math.round((Date.now() - resultTime!) * 100) / 100\n const resultFpsPercentage = resultEndTime / 16\n\n const pad = (str: number | string, num: number) => {\n str = String(str)\n while (str.length < num) {\n str = ' ' + str\n }\n return str\n }\n\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts?.key\n )\n }\n }\n\n return result!\n }\n}\n\nexport function getMemoOptions(\n tableOptions: Partial<TableOptionsResolved<any>>,\n debugLevel:\n | 'debugAll'\n | 'debugCells'\n | 'debugTable'\n | 'debugColumns'\n | 'debugRows'\n | 'debugHeaders',\n key: string,\n onChange?: (result: any) => void\n) {\n return {\n debug: () => tableOptions?.debugAll ?? tableOptions[debugLevel],\n key: process.env.NODE_ENV === 'development' && key,\n onChange,\n }\n}\n"],"names":[],"mappings":"AA+EgB,SAAA,iBAAoB,SAAqB,OAAa;AACpE,SAAO,OAAO,YAAY,aACrB,QAA4B,KAAK,IAClC;AACN;AAEO,SAAS,OAAO;AAEvB;AAEgB,SAAA,iBACd,KACA,UACA;AACA,SAAO,CAAC,YAAoC;AACxC,aAAiB,SAAS,CAAc,QAAqB;AACtD,aAAA;AAAA,QACL,GAAG;AAAA,QACH,CAAC,GAAG,GAAG,iBAAiB,SAAU,IAAY,GAAG,CAAC;AAAA,MAAA;AAAA,IACpD,CACD;AAAA,EAAA;AAEL;AAIO,SAAS,WAAkC,GAAgB;AAChE,SAAO,aAAa;AACtB;AAEO,SAAS,cAAc,GAAuB;AAC5C,SAAA,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA,QAAO,OAAO,QAAQ,QAAQ;AACnE;AAEgB,SAAA,UACd,KACA,aACA;AACA,QAAM,OAAgB,CAAA;AAEhB,QAAA,UAAU,CAAC,WAAoB;AACnC,WAAO,QAAQ,CAAQ,SAAA;AACrB,WAAK,KAAK,IAAI;AACR,YAAA,WAAW,YAAY,IAAI;AACjC,UAAI,qCAAU,QAAQ;AACpB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA,CACD;AAAA,EAAA;AAGH,UAAQ,GAAG;AAEJ,SAAA;AACT;AAEgB,SAAA,KACd,SACA,IACA,MAKiC;AACjC,MAAI,OAAc,CAAA;AACd,MAAA;AAEJ,SAAO,CAAW,YAAA;AAnEJ;AAoER,QAAA;AACA,QAAA,KAAK,OAAO,KAAK;AAAO,gBAAU,KAAK;AAErC,UAAA,UAAU,QAAQ,OAAO;AAE/B,UAAM,cACJ,QAAQ,WAAW,KAAK,UACxB,QAAQ,KAAK,CAAC,KAAU,UAAkB,KAAK,KAAK,MAAM,GAAG;AAE/D,QAAI,CAAC,aAAa;AACT,aAAA;AAAA,IACT;AAEO,WAAA;AAEH,QAAA;AACA,QAAA,KAAK,OAAO,KAAK;AAAO,mBAAa,KAAK;AAErC,aAAA,GAAG,GAAG,OAAO;AACtB,uCAAM,aAAN,8BAAiB;AAEb,QAAA,KAAK,OAAO,KAAK,OAAO;AACtB,UAAA,6BAAM,SAAS;AACX,cAAA,aAAa,KAAK,OAAO,KAAK,QAAQ,WAAY,GAAG,IAAI;AACzD,cAAA,gBAAgB,KAAK,OAAO,KAAK,QAAQ,cAAe,GAAG,IAAI;AACrE,cAAM,sBAAsB,gBAAgB;AAEtC,cAAA,MAAM,CAAC,KAAsB,QAAgB;AACjD,gBAAM,OAAO,GAAG;AACT,iBAAA,IAAI,SAAS,KAAK;AACvB,kBAAM,MAAM;AAAA,UACd;AACO,iBAAA;AAAA,QAAA;AAGD,gBAAA;AAAA,UACN,OAAO,IAAI,eAAe,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC;AAAA,UACnD;AAAA;AAAA;AAAA,yBAGe,KAAK;AAAA,YAChB;AAAA,YACA,KAAK,IAAI,MAAM,MAAM,qBAAqB,GAAG;AAAA,UAC9C,CAAA;AAAA,UACH,6BAAM;AAAA,QAAA;AAAA,MAEV;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAEX;AAEO,SAAS,eACd,cACA,YAOA,KACA,UACA;AACO,SAAA;AAAA,IACL,OAAO,OAAM,6CAAc,aAAY,aAAa,UAAU;AAAA,IAC9D,KAAK,QAAQ,IAAI,aAAa,iBAAiB;AAAA,IAC/C;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import { TableOptionsResolved, TableState, Updater } from './types'\n\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type RequiredKeys<T, K extends keyof T> = Omit<T, K> &\n Required<Pick<T, K>>\nexport type Overwrite<T, U extends { [TKey in keyof T]?: any }> = Omit<\n T,\n keyof U\n> &\n U\n\nexport type UnionToIntersection<T> = (\n T extends any ? (x: T) => any : never\n) extends (x: infer R) => any\n ? R\n : never\n\nexport type IsAny<T, Y, N> = 1 extends 0 & T ? Y : N\nexport type IsKnown<T, Y, N> = unknown extends T ? N : Y\n\ntype ComputeRange<\n N extends number,\n Result extends Array<unknown> = [],\n> = Result['length'] extends N\n ? Result\n : ComputeRange<N, [...Result, Result['length']]>\ntype Index40 = ComputeRange<40>[number]\n\n// Is this type a tuple?\ntype IsTuple<T> = T extends readonly any[] & { length: infer Length }\n ? Length extends Index40\n ? T\n : never\n : never\n\n// If this type is a tuple, what indices are allowed?\ntype AllowedIndexes<\n Tuple extends ReadonlyArray<any>,\n Keys extends number = never,\n> = Tuple extends readonly []\n ? Keys\n : Tuple extends readonly [infer _, ...infer Tail]\n ? AllowedIndexes<Tail, Keys | Tail['length']>\n : Keys\n\nexport type DeepKeys<T, TDepth extends any[] = []> = TDepth['length'] extends 5\n ? never\n : unknown extends T\n ? string\n : T extends readonly any[] & IsTuple<T>\n ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth>\n : T extends any[]\n ? DeepKeys<T[number], [...TDepth, any]>\n : T extends Date\n ? never\n : T extends object\n ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth>\n : never\n\ntype DeepKeysPrefix<\n T,\n TPrefix,\n TDepth extends any[],\n> = TPrefix extends keyof T & (number | string)\n ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}`\n : never\n\nexport type DeepValue<T, TProp> =\n T extends Record<string | number, any>\n ? TProp extends `${infer TBranch}.${infer TDeepProp}`\n ? DeepValue<T[TBranch], TDeepProp>\n : T[TProp & string]\n : never\n\nexport type NoInfer<T> = [T][T extends any ? 0 : never]\n\nexport type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>\n\n///\n\nexport function functionalUpdate<T>(updater: Updater<T>, input: T): T {\n return typeof updater === 'function'\n ? (updater as (input: T) => T)(input)\n : updater\n}\n\nexport function noop() {\n //\n}\n\nexport function makeStateUpdater<K extends keyof TableState>(\n key: K,\n instance: unknown\n) {\n return (updater: Updater<TableState[K]>) => {\n ;(instance as any).setState(<TTableState>(old: TTableState) => {\n return {\n ...old,\n [key]: functionalUpdate(updater, (old as any)[key]),\n }\n })\n }\n}\n\ntype AnyFunction = (...args: any) => any\n\nexport function isFunction<T extends AnyFunction>(d: any): d is T {\n return d instanceof Function\n}\n\nexport function isNumberArray(d: any): d is number[] {\n return Array.isArray(d) && d.every(val => typeof val === 'number')\n}\n\nexport function flattenBy<TNode>(\n arr: TNode[],\n getChildren: (item: TNode) => TNode[]\n) {\n const flat: TNode[] = []\n\n const recurse = (subArr: TNode[]) => {\n subArr.forEach(item => {\n flat.push(item)\n const children = getChildren(item)\n if (children?.length) {\n recurse(children)\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function memo<TDeps extends readonly any[], TDepArgs, TResult>(\n getDeps: (depArgs?: TDepArgs) => [...TDeps],\n fn: (...args: NoInfer<[...TDeps]>) => TResult,\n opts: {\n key: any\n debug?: () => any\n onChange?: (result: TResult) => void\n }\n): (depArgs?: TDepArgs) => TResult {\n let deps: any[] = []\n let result: TResult | undefined\n\n return depArgs => {\n let depTime: number\n if (opts.key && opts.debug) depTime = Date.now()\n\n const newDeps = getDeps(depArgs)\n\n const depsChanged =\n newDeps.length !== deps.length ||\n newDeps.some((dep: any, index: number) => deps[index] !== dep)\n\n if (!depsChanged) {\n return result!\n }\n\n deps = newDeps\n\n let resultTime: number\n if (opts.key && opts.debug) resultTime = Date.now()\n\n result = fn(...newDeps)\n opts?.onChange?.(result)\n\n if (opts.key && opts.debug) {\n if (opts?.debug()) {\n const depEndTime = Math.round((Date.now() - depTime!) * 100) / 100\n const resultEndTime = Math.round((Date.now() - resultTime!) * 100) / 100\n const resultFpsPercentage = resultEndTime / 16\n\n const pad = (str: number | string, num: number) => {\n str = String(str)\n while (str.length < num) {\n str = ' ' + str\n }\n return str\n }\n\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts?.key\n )\n }\n }\n\n return result!\n }\n}\n\nexport function getMemoOptions(\n tableOptions: Partial<TableOptionsResolved<any>>,\n debugLevel:\n | 'debugAll'\n | 'debugCells'\n | 'debugTable'\n | 'debugColumns'\n | 'debugRows'\n | 'debugHeaders',\n key: string,\n onChange?: (result: any) => void\n) {\n return {\n debug: () => tableOptions?.debugAll ?? tableOptions[debugLevel],\n key: process.env.NODE_ENV === 'development' && key,\n onChange,\n }\n}\n"],"names":[],"mappings":"AAgFgB,SAAA,iBAAoB,SAAqB,OAAa;AACpE,SAAO,OAAO,YAAY,aACrB,QAA4B,KAAK,IAClC;AACN;AAEO,SAAS,OAAO;AAEvB;AAEgB,SAAA,iBACd,KACA,UACA;AACA,SAAO,CAAC,YAAoC;AACxC,aAAiB,SAAS,CAAc,QAAqB;AACtD,aAAA;AAAA,QACL,GAAG;AAAA,QACH,CAAC,GAAG,GAAG,iBAAiB,SAAU,IAAY,GAAG,CAAC;AAAA,MAAA;AAAA,IACpD,CACD;AAAA,EAAA;AAEL;AAIO,SAAS,WAAkC,GAAgB;AAChE,SAAO,aAAa;AACtB;AAEO,SAAS,cAAc,GAAuB;AAC5C,SAAA,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA,QAAO,OAAO,QAAQ,QAAQ;AACnE;AAEgB,SAAA,UACd,KACA,aACA;AACA,QAAM,OAAgB,CAAA;AAEhB,QAAA,UAAU,CAAC,WAAoB;AACnC,WAAO,QAAQ,CAAQ,SAAA;AACrB,WAAK,KAAK,IAAI;AACR,YAAA,WAAW,YAAY,IAAI;AACjC,UAAI,qCAAU,QAAQ;AACpB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA,CACD;AAAA,EAAA;AAGH,UAAQ,GAAG;AAEJ,SAAA;AACT;AAEgB,SAAA,KACd,SACA,IACA,MAKiC;AACjC,MAAI,OAAc,CAAA;AACd,MAAA;AAEJ,SAAO,CAAW,YAAA;AAnEJ;AAoER,QAAA;AACJ,QAAI,KAAK,OAAO,KAAK,MAAO,WAAU,KAAK;AAErC,UAAA,UAAU,QAAQ,OAAO;AAE/B,UAAM,cACJ,QAAQ,WAAW,KAAK,UACxB,QAAQ,KAAK,CAAC,KAAU,UAAkB,KAAK,KAAK,MAAM,GAAG;AAE/D,QAAI,CAAC,aAAa;AACT,aAAA;AAAA,IACT;AAEO,WAAA;AAEH,QAAA;AACJ,QAAI,KAAK,OAAO,KAAK,MAAO,cAAa,KAAK;AAErC,aAAA,GAAG,GAAG,OAAO;AACtB,uCAAM,aAAN,8BAAiB;AAEb,QAAA,KAAK,OAAO,KAAK,OAAO;AACtB,UAAA,6BAAM,SAAS;AACX,cAAA,aAAa,KAAK,OAAO,KAAK,QAAQ,WAAY,GAAG,IAAI;AACzD,cAAA,gBAAgB,KAAK,OAAO,KAAK,QAAQ,cAAe,GAAG,IAAI;AACrE,cAAM,sBAAsB,gBAAgB;AAEtC,cAAA,MAAM,CAAC,KAAsB,QAAgB;AACjD,gBAAM,OAAO,GAAG;AACT,iBAAA,IAAI,SAAS,KAAK;AACvB,kBAAM,MAAM;AAAA,UACd;AACO,iBAAA;AAAA,QAAA;AAGD,gBAAA;AAAA,UACN,OAAO,IAAI,eAAe,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC;AAAA,UACnD;AAAA;AAAA;AAAA,yBAGe,KAAK;AAAA,YAChB;AAAA,YACA,KAAK,IAAI,MAAM,MAAM,qBAAqB,GAAG;AAAA,UAC9C,CAAA;AAAA,UACH,6BAAM;AAAA,QAAA;AAAA,MAEV;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAEX;AAEO,SAAS,eACd,cACA,YAOA,KACA,UACA;AACO,SAAA;AAAA,IACL,OAAO,OAAM,6CAAc,aAAY,aAAa,UAAU;AAAA,IAC9D,KAAK,QAAQ,IAAI,aAAa,iBAAiB;AAAA,IAC/C;AAAA,EAAA;AAEJ;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/table-core",
3
- "version": "9.0.0-alpha.0",
3
+ "version": "9.0.0-alpha.10",
4
4
  "description": "Headless UI for building powerful tables & datagrids for TS/JS.",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
package/src/core/cell.ts CHANGED
@@ -49,7 +49,7 @@ export interface CoreCell<TData extends RowData, TValue> {
49
49
  row: Row<TData>
50
50
  }
51
51
 
52
- export function createCell<TData extends RowData, TValue>(
52
+ export function _createCell<TData extends RowData, TValue>(
53
53
  table: Table<TData>,
54
54
  row: Row<TData>,
55
55
  column: Column<TData, TValue>,
@@ -79,7 +79,7 @@ export function createCell<TData extends RowData, TValue>(
79
79
  }
80
80
 
81
81
  table._features.forEach(feature => {
82
- feature.createCell?.(
82
+ feature._createCell?.(
83
83
  cell as Cell<TData, TValue>,
84
84
  column,
85
85
  row as Row<TData>,
@@ -62,7 +62,7 @@ export interface CoreColumn<TData extends RowData, TValue> {
62
62
  parent?: Column<TData, TValue>
63
63
  }
64
64
 
65
- export function createColumn<TData extends RowData, TValue>(
65
+ export function _createColumn<TData extends RowData, TValue>(
66
66
  table: Table<TData>,
67
67
  columnDef: ColumnDef<TData, TValue>,
68
68
  depth: number,
@@ -157,7 +157,7 @@ export function createColumn<TData extends RowData, TValue>(
157
157
  }
158
158
 
159
159
  for (const feature of table._features) {
160
- feature.createColumn?.(column as Column<TData, TValue>, table)
160
+ feature._createColumn?.(column as Column<TData, TValue>, table)
161
161
  }
162
162
 
163
163
  // Yes, we have to convert table to unknown, because we know more than the compiler here.
@@ -210,7 +210,7 @@ export interface HeadersInstance<TData extends RowData> {
210
210
 
211
211
  //
212
212
 
213
- function createHeader<TData extends RowData, TValue>(
213
+ function _createHeader<TData extends RowData, TValue>(
214
214
  table: Table<TData>,
215
215
  column: Column<TData, TValue>,
216
216
  options: {
@@ -256,14 +256,14 @@ function createHeader<TData extends RowData, TValue>(
256
256
  }
257
257
 
258
258
  table._features.forEach(feature => {
259
- feature.createHeader?.(header as Header<TData, TValue>, table)
259
+ feature._createHeader?.(header as Header<TData, TValue>, table)
260
260
  })
261
261
 
262
262
  return header as Header<TData, TValue>
263
263
  }
264
264
 
265
265
  export const Headers: TableFeature = {
266
- createTable: <TData extends RowData>(table: Table<TData>): void => {
266
+ _createTable: <TData extends RowData>(table: Table<TData>): void => {
267
267
  // Header Groups
268
268
 
269
269
  table.getHeaderGroups = memo(
@@ -553,7 +553,7 @@ export function buildHeaderGroups<TData extends RowData>(
553
553
  latestPendingParentHeader.subHeaders.push(headerToGroup)
554
554
  } else {
555
555
  // This is a new header. Let's create it
556
- const header = createHeader(table, column, {
556
+ const header = _createHeader(table, column, {
557
557
  id: [headerFamily, depth, column.id, headerToGroup?.id]
558
558
  .filter(Boolean)
559
559
  .join('_'),
@@ -584,7 +584,7 @@ export function buildHeaderGroups<TData extends RowData>(
584
584
  }
585
585
 
586
586
  const bottomHeaders = columnsToGroup.map((column, index) =>
587
- createHeader(table, column, {
587
+ _createHeader(table, column, {
588
588
  depth: maxDepth,
589
589
  index,
590
590
  })
package/src/core/row.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { RowData, Cell, Row, Table } from '../types'
2
2
  import { flattenBy, getMemoOptions, memo } from '../utils'
3
- import { createCell } from './cell'
3
+ import { _createCell } from './cell'
4
4
 
5
5
  export interface CoreRow<TData extends RowData> {
6
6
  _getAllCellsByColumnId: () => Record<string, Cell<TData, unknown>>
@@ -92,7 +92,7 @@ export interface CoreRow<TData extends RowData> {
92
92
  subRows: Row<TData>[]
93
93
  }
94
94
 
95
- export const createRow = <TData extends RowData>(
95
+ export const _createRow = <TData extends RowData>(
96
96
  table: Table<TData>,
97
97
  id: string,
98
98
  original: TData,
@@ -171,7 +171,7 @@ export const createRow = <TData extends RowData>(
171
171
  () => [table.getAllLeafColumns()],
172
172
  leafColumns => {
173
173
  return leafColumns.map(column => {
174
- return createCell(table, row as Row<TData>, column, column.id)
174
+ return _createCell(table, row as Row<TData>, column, column.id)
175
175
  })
176
176
  },
177
177
  getMemoOptions(table.options, 'debugRows', 'getAllCells')
@@ -194,7 +194,7 @@ export const createRow = <TData extends RowData>(
194
194
 
195
195
  for (let i = 0; i < table._features.length; i++) {
196
196
  const feature = table._features[i]
197
- feature?.createRow?.(row as Row<TData>, table)
197
+ feature?._createRow?.(row as Row<TData>, table)
198
198
  }
199
199
 
200
200
  return row as Row<TData>
package/src/core/table.ts CHANGED
@@ -19,7 +19,7 @@ import {
19
19
  } from '../types'
20
20
 
21
21
  //
22
- import { createColumn } from './column'
22
+ import { _createColumn } from './column'
23
23
  import { Headers } from './headers'
24
24
  //
25
25
 
@@ -192,6 +192,42 @@ export interface CoreOptions<TData extends RowData> {
192
192
  state: Partial<TableState>
193
193
  }
194
194
 
195
+ export function tableOptions<TData extends RowData = any>(
196
+ options: Omit<TableOptions<TData>, 'columns'>
197
+ ): Omit<TableOptions<TData>, 'columns'>
198
+
199
+ export function tableOptions<TData extends RowData = any>(
200
+ options: Omit<TableOptions<TData>, 'data'>
201
+ ): Omit<TableOptions<TData>, 'data'>
202
+
203
+ export function tableOptions<TData extends RowData = any>(
204
+ options: Omit<TableOptions<TData>, 'getCoreRowModel'>
205
+ ): Omit<TableOptions<TData>, 'getCoreRowModel'>
206
+
207
+ export function tableOptions<TData extends RowData = any>(
208
+ options: Omit<TableOptions<TData>, 'data' | 'columns'>
209
+ ): Omit<TableOptions<TData>, 'data' | 'columns'>
210
+
211
+ export function tableOptions<TData extends RowData = any>(
212
+ options: Omit<TableOptions<TData>, 'getCoreRowModel' | 'columns'>
213
+ ): Omit<TableOptions<TData>, 'getCoreRowModel' | 'columns'>
214
+
215
+ export function tableOptions<TData extends RowData = any>(
216
+ options: Omit<TableOptions<TData>, 'data' | 'getCoreRowModel'>
217
+ ): Omit<TableOptions<TData>, 'data' | 'getCoreRowModel'>
218
+
219
+ export function tableOptions<TData extends RowData = any>(
220
+ options: Omit<TableOptions<TData>, 'data' | 'columns' | 'getCoreRowModel'>
221
+ ): Omit<TableOptions<TData>, 'data' | 'columns' | 'getCoreRowModel'>
222
+
223
+ export function tableOptions<TData extends RowData = any>(
224
+ options: TableOptions<TData>
225
+ ): TableOptions<TData>
226
+
227
+ export function tableOptions(options: unknown) {
228
+ return options
229
+ }
230
+
195
231
  export interface CoreInstance<TData extends RowData> {
196
232
  _features: readonly TableFeature[]
197
233
  _getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>
@@ -280,7 +316,7 @@ export interface CoreInstance<TData extends RowData> {
280
316
  setState: (updater: Updater<TableState>) => void
281
317
  }
282
318
 
283
- export function createTable<TData extends RowData>(
319
+ export function _createTable<TData extends RowData>(
284
320
  options: TableOptionsResolved<TData>
285
321
  ): Table<TData> {
286
322
  if (
@@ -295,7 +331,7 @@ export function createTable<TData extends RowData>(
295
331
  let table = { _features } as unknown as Table<TData>
296
332
 
297
333
  const defaultOptions = table._features.reduce((obj, feature) => {
298
- return Object.assign(obj, feature.getDefaultOptions?.(table))
334
+ return Object.assign(obj, feature._getDefaultOptions?.(table))
299
335
  }, {}) as TableOptionsResolved<TData>
300
336
 
301
337
  const mergeOptions = (options: TableOptionsResolved<TData>) => {
@@ -317,7 +353,7 @@ export function createTable<TData extends RowData>(
317
353
  } as TableState
318
354
 
319
355
  table._features.forEach(feature => {
320
- initialState = (feature.getInitialState?.(initialState) ??
356
+ initialState = (feature._getInitialState?.(initialState) ??
321
357
  initialState) as TableState
322
358
  })
323
359
 
@@ -433,7 +469,7 @@ export function createTable<TData extends RowData>(
433
469
  // footer: props => props.header.column.id,
434
470
  cell: props => props.renderValue<any>()?.toString?.() ?? null,
435
471
  ...table._features.reduce((obj, feature) => {
436
- return Object.assign(obj, feature.getDefaultColumnDef?.())
472
+ return Object.assign(obj, feature._getDefaultColumnDef?.())
437
473
  }, {}),
438
474
  ...defaultColumn,
439
475
  } as Partial<ColumnDef<TData, unknown>>
@@ -452,7 +488,7 @@ export function createTable<TData extends RowData>(
452
488
  depth = 0
453
489
  ): Column<TData, unknown>[] => {
454
490
  return columnDefs.map(columnDef => {
455
- const column = createColumn(table, columnDef, depth, parent)
491
+ const column = _createColumn(table, columnDef, depth, parent)
456
492
 
457
493
  const groupingColumnDef = columnDef as GroupColumnDef<
458
494
  TData,
@@ -520,7 +556,7 @@ export function createTable<TData extends RowData>(
520
556
 
521
557
  for (let index = 0; index < table._features.length; index++) {
522
558
  const feature = table._features[index]
523
- feature?.createTable?.(table)
559
+ feature?._createTable?.(table)
524
560
  }
525
561
 
526
562
  return table
@@ -46,7 +46,7 @@ export interface FacetedOptions<TData extends RowData> {
46
46
  //
47
47
 
48
48
  export const ColumnFaceting: TableFeature = {
49
- createColumn: <TData extends RowData>(
49
+ _createColumn: <TData extends RowData>(
50
50
  column: Column<TData, unknown>,
51
51
  table: Table<TData>
52
52
  ): void => {
@@ -241,7 +241,7 @@ export interface ColumnFiltersInstance<TData extends RowData> {
241
241
  //
242
242
 
243
243
  export const ColumnFiltering: TableFeature = {
244
- getDefaultColumnDef: <
244
+ _getDefaultColumnDef: <
245
245
  TData extends RowData,
246
246
  >(): ColumnFiltersColumnDef<TData> => {
247
247
  return {
@@ -249,14 +249,14 @@ export const ColumnFiltering: TableFeature = {
249
249
  }
250
250
  },
251
251
 
252
- getInitialState: (state): ColumnFiltersTableState => {
252
+ _getInitialState: (state): ColumnFiltersTableState => {
253
253
  return {
254
254
  columnFilters: [],
255
255
  ...state,
256
256
  }
257
257
  },
258
258
 
259
- getDefaultOptions: <TData extends RowData>(
259
+ _getDefaultOptions: <TData extends RowData>(
260
260
  table: Table<TData>
261
261
  ): ColumnFiltersOptions<TData> => {
262
262
  return {
@@ -266,7 +266,7 @@ export const ColumnFiltering: TableFeature = {
266
266
  } as ColumnFiltersOptions<TData>
267
267
  },
268
268
 
269
- createColumn: <TData extends RowData>(
269
+ _createColumn: <TData extends RowData>(
270
270
  column: Column<TData, unknown>,
271
271
  table: Table<TData>
272
272
  ): void => {
@@ -362,7 +362,7 @@ export const ColumnFiltering: TableFeature = {
362
362
  }
363
363
  },
364
364
 
365
- createRow: <TData extends RowData>(
365
+ _createRow: <TData extends RowData>(
366
366
  row: Row<TData>,
367
367
  _table: Table<TData>
368
368
  ): void => {
@@ -370,7 +370,7 @@ export const ColumnFiltering: TableFeature = {
370
370
  row.columnFiltersMeta = {}
371
371
  },
372
372
 
373
- createTable: <TData extends RowData>(table: Table<TData>): void => {
373
+ _createTable: <TData extends RowData>(table: Table<TData>): void => {
374
374
  table.setColumnFilters = (updater: Updater<ColumnFiltersState>) => {
375
375
  const leafColumns = table.getAllLeafColumns()
376
376