@tanstack/table-core 8.0.12 → 8.1.0

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 (127) hide show
  1. package/build/cjs/core/cell.js +13 -13
  2. package/build/cjs/core/cell.js.map +1 -1
  3. package/build/cjs/core/column.js +20 -21
  4. package/build/cjs/core/column.js.map +1 -1
  5. package/build/cjs/core/headers.js +63 -68
  6. package/build/cjs/core/headers.js.map +1 -1
  7. package/build/cjs/core/row.js +16 -11
  8. package/build/cjs/core/row.js.map +1 -1
  9. package/build/cjs/core/{instance.js → table.js} +46 -57
  10. package/build/cjs/core/table.js.map +1 -0
  11. package/build/cjs/features/ColumnSizing.js +36 -36
  12. package/build/cjs/features/ColumnSizing.js.map +1 -1
  13. package/build/cjs/features/Expanding.js +34 -34
  14. package/build/cjs/features/Expanding.js.map +1 -1
  15. package/build/cjs/features/Filters.js +46 -52
  16. package/build/cjs/features/Filters.js.map +1 -1
  17. package/build/cjs/features/Grouping.js +24 -49
  18. package/build/cjs/features/Grouping.js.map +1 -1
  19. package/build/cjs/features/Ordering.js +8 -8
  20. package/build/cjs/features/Ordering.js.map +1 -1
  21. package/build/cjs/features/Pagination.js +37 -37
  22. package/build/cjs/features/Pagination.js.map +1 -1
  23. package/build/cjs/features/Pinning.js +33 -33
  24. package/build/cjs/features/Pinning.js.map +1 -1
  25. package/build/cjs/features/RowSelection.js +86 -74
  26. package/build/cjs/features/RowSelection.js.map +1 -1
  27. package/build/cjs/features/Sorting.js +36 -40
  28. package/build/cjs/features/Sorting.js.map +1 -1
  29. package/build/cjs/features/Visibility.js +30 -30
  30. package/build/cjs/features/Visibility.js.map +1 -1
  31. package/build/cjs/index.js +3 -4
  32. package/build/cjs/index.js.map +1 -1
  33. package/build/cjs/utils/filterRowsUtils.js +8 -8
  34. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  35. package/build/cjs/utils/getCoreRowModel.js +8 -8
  36. package/build/cjs/utils/getCoreRowModel.js.map +1 -1
  37. package/build/cjs/utils/getExpandedRowModel.js +4 -4
  38. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  39. package/build/cjs/utils/getFacetedMinMaxValues.js +3 -3
  40. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
  41. package/build/cjs/utils/getFacetedRowModel.js +4 -4
  42. package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
  43. package/build/cjs/utils/getFacetedUniqueValues.js +3 -3
  44. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
  45. package/build/cjs/utils/getFilteredRowModel.js +8 -8
  46. package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
  47. package/build/cjs/utils/getGroupedRowModel.js +9 -9
  48. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  49. package/build/cjs/utils/getPaginationRowModel.js +4 -4
  50. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  51. package/build/cjs/utils/getSortedRowModel.js +7 -7
  52. package/build/cjs/utils/getSortedRowModel.js.map +1 -1
  53. package/build/cjs/utils.js +2 -2
  54. package/build/cjs/utils.js.map +1 -1
  55. package/build/esm/index.js +585 -677
  56. package/build/esm/index.js.map +1 -1
  57. package/build/stats-html.html +1 -1
  58. package/build/stats-react.json +352 -377
  59. package/build/types/index.d.ts +761 -29
  60. package/build/umd/index.development.js +586 -678
  61. package/build/umd/index.development.js.map +1 -1
  62. package/build/umd/index.production.js +1 -1
  63. package/build/umd/index.production.js.map +1 -1
  64. package/package.json +1 -1
  65. package/src/core/cell.ts +34 -28
  66. package/src/core/column.ts +83 -72
  67. package/src/core/headers.ts +118 -149
  68. package/src/core/row.ts +31 -25
  69. package/src/core/{instance.ts → table.ts} +85 -116
  70. package/src/features/ColumnSizing.ts +45 -47
  71. package/src/features/Expanding.ts +53 -59
  72. package/src/features/Filters.ts +112 -132
  73. package/src/features/Grouping.ts +63 -112
  74. package/src/features/Ordering.ts +19 -21
  75. package/src/features/Pagination.ts +54 -55
  76. package/src/features/Pinning.ts +49 -61
  77. package/src/features/RowSelection.ts +115 -114
  78. package/src/features/Sorting.ts +57 -72
  79. package/src/features/Visibility.ts +48 -48
  80. package/src/index.ts +1 -2
  81. package/src/types.ts +64 -69
  82. package/src/utils/filterRowsUtils.ts +33 -28
  83. package/src/utils/getCoreRowModel.ts +22 -22
  84. package/src/utils/getExpandedRowModel.ts +15 -15
  85. package/src/utils/getFacetedMinMaxValues.ts +6 -6
  86. package/src/utils/getFacetedRowModel.ts +12 -12
  87. package/src/utils/getFacetedUniqueValues.ts +6 -6
  88. package/src/utils/getFilteredRowModel.ts +17 -17
  89. package/src/utils/getGroupedRowModel.ts +18 -21
  90. package/src/utils/getPaginationRowModel.ts +10 -13
  91. package/src/utils/getSortedRowModel.ts +14 -14
  92. package/src/utils.ts +8 -2
  93. package/build/cjs/core/instance.js.map +0 -1
  94. package/build/cjs/createTable.js +0 -72
  95. package/build/cjs/createTable.js.map +0 -1
  96. package/build/types/aggregationFns.d.ts +0 -13
  97. package/build/types/core/cell.d.ts +0 -9
  98. package/build/types/core/column.d.ts +0 -40
  99. package/build/types/core/headers.d.ts +0 -46
  100. package/build/types/core/instance.d.ts +0 -58
  101. package/build/types/core/row.d.ts +0 -15
  102. package/build/types/createTable.d.ts +0 -63
  103. package/build/types/features/ColumnSizing.d.ts +0 -63
  104. package/build/types/features/Expanding.d.ts +0 -39
  105. package/build/types/features/Filters.d.ts +0 -90
  106. package/build/types/features/Grouping.d.ts +0 -68
  107. package/build/types/features/Ordering.d.ts +0 -18
  108. package/build/types/features/Pagination.d.ts +0 -42
  109. package/build/types/features/Pinning.d.ts +0 -40
  110. package/build/types/features/RowSelection.d.ts +0 -40
  111. package/build/types/features/Sorting.d.ts +0 -63
  112. package/build/types/features/Visibility.d.ts +0 -40
  113. package/build/types/filterFns.d.ts +0 -13
  114. package/build/types/sortingFns.d.ts +0 -11
  115. package/build/types/types.d.ts +0 -53
  116. package/build/types/utils/filterRowsUtils.d.ts +0 -4
  117. package/build/types/utils/getCoreRowModel.d.ts +0 -2
  118. package/build/types/utils/getExpandedRowModel.d.ts +0 -7
  119. package/build/types/utils/getFacetedMinMaxValues.d.ts +0 -2
  120. package/build/types/utils/getFacetedRowModel.d.ts +0 -2
  121. package/build/types/utils/getFacetedUniqueValues.d.ts +0 -2
  122. package/build/types/utils/getFilteredRowModel.d.ts +0 -2
  123. package/build/types/utils/getGroupedRowModel.d.ts +0 -2
  124. package/build/types/utils/getPaginationRowModel.d.ts +0 -4
  125. package/build/types/utils/getSortedRowModel.d.ts +0 -2
  126. package/build/types/utils.d.ts +0 -19
  127. package/src/createTable.ts +0 -188
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sources":["../../../src/core/headers.ts"],"sourcesContent":["import {\n Column,\n Header,\n HeaderGroup,\n TableGenerics,\n TableInstance,\n} from '../types'\nimport { memo } from '../utils'\nimport { TableFeature } from './instance'\n\nexport type CoreHeaderGroup<TGenerics extends TableGenerics> = {\n id: string\n depth: number\n headers: Header<TGenerics>[]\n}\n\nexport type CoreHeader<TGenerics extends TableGenerics> = {\n id: string\n index: number\n depth: number\n column: Column<TGenerics>\n headerGroup: HeaderGroup<TGenerics>\n subHeaders: Header<TGenerics>[]\n colSpan: number\n rowSpan: number\n getLeafHeaders: () => Header<TGenerics>[]\n isPlaceholder: boolean\n placeholderId?: string\n renderHeader: (options?: {\n renderPlaceholder?: boolean\n }) => string | null | TGenerics['Rendered']\n renderFooter: (options?: {\n renderPlaceholder?: boolean\n }) => string | null | TGenerics['Rendered']\n}\n\nexport type HeadersInstance<TGenerics extends TableGenerics> = {\n getHeaderGroups: () => HeaderGroup<TGenerics>[]\n getLeftHeaderGroups: () => HeaderGroup<TGenerics>[]\n getCenterHeaderGroups: () => HeaderGroup<TGenerics>[]\n getRightHeaderGroups: () => HeaderGroup<TGenerics>[]\n\n getFooterGroups: () => HeaderGroup<TGenerics>[]\n getLeftFooterGroups: () => HeaderGroup<TGenerics>[]\n getCenterFooterGroups: () => HeaderGroup<TGenerics>[]\n getRightFooterGroups: () => HeaderGroup<TGenerics>[]\n\n getFlatHeaders: () => Header<TGenerics>[]\n getLeftFlatHeaders: () => Header<TGenerics>[]\n getCenterFlatHeaders: () => Header<TGenerics>[]\n getRightFlatHeaders: () => Header<TGenerics>[]\n\n getLeafHeaders: () => Header<TGenerics>[]\n getLeftLeafHeaders: () => Header<TGenerics>[]\n getCenterLeafHeaders: () => Header<TGenerics>[]\n getRightLeafHeaders: () => Header<TGenerics>[]\n}\n\n//\n\nfunction createHeader<TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>,\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n) {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getLeafHeaders: (): Header<TGenerics>[] => {\n const leafHeaders: CoreHeader<TGenerics>[] = []\n\n const recurseHeader = (h: CoreHeader<TGenerics>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TGenerics>[]\n },\n renderHeader: () =>\n column.columnDef.header\n ? instance._render(column.columnDef.header, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n renderFooter: () =>\n column.columnDef.footer\n ? instance._render(column.columnDef.footer, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, instance))\n })\n\n return header as Header<TGenerics>\n}\n\nexport const Headers: TableFeature = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): HeadersInstance<TGenerics> => {\n return {\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const rightColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n instance\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, instance, 'center')\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n const orderedLeafColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n instance,\n 'left'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n const orderedLeafColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n instance,\n 'right'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [instance.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [instance.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [instance.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [instance.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [instance.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [instance.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [instance.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [instance.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [instance.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n instance.getLeftHeaderGroups(),\n instance.getCenterHeaderGroups(),\n instance.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n }\n },\n}\n\nexport function buildHeaderGroups<TGenerics extends TableGenerics>(\n allColumns: Column<TGenerics>[],\n columnsToGroup: Column<TGenerics>[],\n instance: TableInstance<TGenerics>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TGenerics>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TGenerics>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TGenerics>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TGenerics> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TGenerics>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (latestPendingParentHeader?.column === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = createHeader(instance, column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n createHeader(instance, column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Header<TGenerics>[]\n ): { colSpan: number; rowSpan: number }[] => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["createHeader","instance","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","renderHeader","columnDef","_render","renderFooter","footer","_features","forEach","feature","Object","assign","Headers","createInstance","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","columnId","find","d","filter","Boolean","rightColumns","centerColumns","includes","headerGroups","buildHeaderGroups","key","process","env","NODE_ENV","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","orderedLeafColumns","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
1
+ {"version":3,"file":"headers.js","sources":["../../../src/core/headers.ts"],"sourcesContent":["import { RowData, Column, Header, HeaderGroup, Table } from '../types'\nimport { memo } from '../utils'\nimport { TableFeature } from './table'\n\nexport type CoreHeaderGroup<TData extends RowData> = {\n id: string\n depth: number\n headers: Header<TData>[]\n}\n\nexport type CoreHeader<TData extends RowData> = {\n id: string\n index: number\n depth: number\n column: Column<TData>\n headerGroup: HeaderGroup<TData>\n subHeaders: Header<TData>[]\n colSpan: number\n rowSpan: number\n getLeafHeaders: () => Header<TData>[]\n isPlaceholder: boolean\n placeholderId?: string\n getContext: () => {\n table: Table<TData>\n header: Header<TData>\n column: Column<TData>\n }\n}\n\nexport type HeadersInstance<TData extends RowData> = {\n getHeaderGroups: () => HeaderGroup<TData>[]\n getLeftHeaderGroups: () => HeaderGroup<TData>[]\n getCenterHeaderGroups: () => HeaderGroup<TData>[]\n getRightHeaderGroups: () => HeaderGroup<TData>[]\n\n getFooterGroups: () => HeaderGroup<TData>[]\n getLeftFooterGroups: () => HeaderGroup<TData>[]\n getCenterFooterGroups: () => HeaderGroup<TData>[]\n getRightFooterGroups: () => HeaderGroup<TData>[]\n\n getFlatHeaders: () => Header<TData>[]\n getLeftFlatHeaders: () => Header<TData>[]\n getCenterFlatHeaders: () => Header<TData>[]\n getRightFlatHeaders: () => Header<TData>[]\n\n getLeafHeaders: () => Header<TData>[]\n getLeftLeafHeaders: () => Header<TData>[]\n getCenterLeafHeaders: () => Header<TData>[]\n getRightLeafHeaders: () => Header<TData>[]\n}\n\n//\n\nfunction createHeader<TData extends RowData>(\n table: Table<TData>,\n column: Column<TData>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n) {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TData> = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getLeafHeaders: (): Header<TData>[] => {\n const leafHeaders: CoreHeader<TData>[] = []\n\n const recurseHeader = (h: CoreHeader<TData>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TData>[]\n },\n getContext: () => ({\n table,\n header: header as Header<TData>,\n column,\n }),\n }\n\n table._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, table))\n })\n\n return header as Header<TData>\n}\n\nexport const Headers: TableFeature = {\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): HeadersInstance<TData> => {\n return {\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const rightColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table\n )\n\n return headerGroups\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, table, 'center')\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n const orderedLeafColumns =\n left\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n table,\n 'left'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n table.getAllColumns(),\n table.getVisibleLeafColumns(),\n table.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n const orderedLeafColumns =\n right\n ?.map(columnId => leafColumns.find(d => d.id === columnId)!)\n .filter(Boolean) ?? []\n\n return buildHeaderGroups(\n allColumns,\n orderedLeafColumns,\n table,\n 'right'\n )\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [table.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [table.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [table.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [table.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [table.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [table.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [table.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [table.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [table.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [table.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n table.getLeftHeaderGroups(),\n table.getCenterHeaderGroups(),\n table.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',\n debug: () => table.options.debugAll ?? table.options.debugHeaders,\n }\n ),\n }\n },\n}\n\nexport function buildHeaderGroups<TData extends RowData>(\n allColumns: Column<TData>[],\n columnsToGroup: Column<TData>[],\n table: Table<TData>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TData>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TData>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TData>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TData> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TData>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TData>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (\n latestPendingParentHeader &&\n latestPendingParentHeader?.column === column\n ) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = createHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n createHeader(table, column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Header<TData>[]\n ): { colSpan: number; rowSpan: number }[] => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["createHeader","table","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getLeafHeaders","leafHeaders","recurseHeader","h","length","map","push","getContext","_features","forEach","feature","Object","assign","Headers","createTable","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","columnId","find","d","filter","Boolean","rightColumns","centerColumns","includes","headerGroups","buildHeaderGroups","key","process","env","NODE_ENV","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","orderedLeafColumns","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","join","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
@@ -15,7 +15,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
15
15
  var utils = require('../utils.js');
16
16
  var cell = require('./cell.js');
17
17
 
18
- const createRow = (instance, id, original, rowIndex, depth, subRows) => {
18
+ const createRow = (table, id, original, rowIndex, depth, subRows) => {
19
19
  let row = {
20
20
  id,
21
21
  index: rowIndex,
@@ -27,7 +27,7 @@ const createRow = (instance, id, original, rowIndex, depth, subRows) => {
27
27
  return row._valuesCache[columnId];
28
28
  }
29
29
 
30
- const column = instance.getColumn(columnId);
30
+ const column = table.getColumn(columnId);
31
31
 
32
32
  if (!column.accessorFn) {
33
33
  return undefined;
@@ -36,18 +36,23 @@ const createRow = (instance, id, original, rowIndex, depth, subRows) => {
36
36
  row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);
37
37
  return row._valuesCache[columnId];
38
38
  },
39
+ renderValue: columnId => {
40
+ var _row$getValue;
41
+
42
+ return (_row$getValue = row.getValue(columnId)) != null ? _row$getValue : table.options.renderFallbackValue;
43
+ },
39
44
  subRows: subRows != null ? subRows : [],
40
45
  getLeafRows: () => utils.flattenBy(row.subRows, d => d.subRows),
41
- getAllCells: utils.memo(() => [instance.getAllLeafColumns()], leafColumns => {
46
+ getAllCells: utils.memo(() => [table.getAllLeafColumns()], leafColumns => {
42
47
  return leafColumns.map(column => {
43
- return cell.createCell(instance, row, column, column.id);
48
+ return cell.createCell(table, row, column, column.id);
44
49
  });
45
50
  }, {
46
51
  key: process.env.NODE_ENV === 'development' && 'row.getAllCells',
47
52
  debug: () => {
48
- var _instance$options$deb;
53
+ var _table$options$debugA;
49
54
 
50
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
55
+ return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
51
56
  }
52
57
  }),
53
58
  _getAllCellsByColumnId: utils.memo(() => [row.getAllCells()], allCells => {
@@ -58,16 +63,16 @@ const createRow = (instance, id, original, rowIndex, depth, subRows) => {
58
63
  }, {
59
64
  key: process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',
60
65
  debug: () => {
61
- var _instance$options$deb2;
66
+ var _table$options$debugA2;
62
67
 
63
- return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
68
+ return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
64
69
  }
65
70
  })
66
71
  };
67
72
 
68
- for (let i = 0; i < instance._features.length; i++) {
69
- const feature = instance._features[i];
70
- Object.assign(row, feature == null ? void 0 : feature.createRow == null ? void 0 : feature.createRow(row, instance));
73
+ for (let i = 0; i < table._features.length; i++) {
74
+ const feature = table._features[i];
75
+ Object.assign(row, feature == null ? void 0 : feature.createRow == null ? void 0 : feature.createRow(row, table));
71
76
  }
72
77
 
73
78
  return row;
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","sources":["../../../src/core/row.ts"],"sourcesContent":["import { Cell, Row, TableGenerics, TableInstance } from '../types'\nimport { flattenBy, memo } from '../utils'\nimport { createCell } from './cell'\n\nexport type CoreRow<TGenerics extends TableGenerics> = {\n id: string\n index: number\n original?: TGenerics['Row']\n depth: number\n _valuesCache: Record<string, any>\n getValue: (columnId: string) => any\n subRows: Row<TGenerics>[]\n getLeafRows: () => Row<TGenerics>[]\n originalSubRows?: TGenerics['Row'][]\n getAllCells: () => Cell<TGenerics>[]\n _getAllCellsByColumnId: () => Record<string, Cell<TGenerics>>\n}\n\nexport const createRow = <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>,\n id: string,\n original: TGenerics['Row'] | undefined,\n rowIndex: number,\n depth: number,\n subRows?: Row<TGenerics>[]\n): Row<TGenerics> => {\n let row: CoreRow<TGenerics> = {\n id,\n index: rowIndex,\n original,\n depth,\n _valuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n const column = instance.getColumn(columnId)\n\n if (!column.accessorFn) {\n return undefined\n }\n\n row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex)\n\n return row._valuesCache[columnId]\n },\n subRows: subRows ?? [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getAllCells: memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return createCell(instance, row as Row<TGenerics>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n\n _getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell\n return acc\n }, {} as Record<string, Cell<TGenerics>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n\n for (let i = 0; i < instance._features.length; i++) {\n const feature = instance._features[i]\n Object.assign(row, feature?.createRow?.(row, instance))\n }\n\n return row as Row<TGenerics>\n}\n"],"names":["createRow","instance","id","original","rowIndex","depth","subRows","row","index","_valuesCache","getValue","columnId","hasOwnProperty","column","getColumn","accessorFn","undefined","getLeafRows","flattenBy","d","getAllCells","memo","getAllLeafColumns","leafColumns","map","createCell","key","process","env","NODE_ENV","debug","options","debugAll","debugRows","_getAllCellsByColumnId","allCells","reduce","acc","cell","i","_features","length","feature","Object","assign"],"mappings":"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"}
1
+ {"version":3,"file":"row.js","sources":["../../../src/core/row.ts"],"sourcesContent":["import { RowData, Cell, Row, TableGenerics, Table } from '../types'\nimport { flattenBy, memo } from '../utils'\nimport { createCell } from './cell'\n\nexport type CoreRow<TData extends RowData> = {\n id: string\n index: number\n original?: TData\n depth: number\n _valuesCache: Record<string, any>\n getValue: (columnId: string) => any\n renderValue: (columnId: string) => unknown\n subRows: Row<TData>[]\n getLeafRows: () => Row<TData>[]\n originalSubRows?: TData[]\n getAllCells: () => Cell<TData>[]\n _getAllCellsByColumnId: () => Record<string, Cell<TData>>\n}\n\nexport const createRow = <TData extends RowData>(\n table: Table<TData>,\n id: string,\n original: TData | undefined,\n rowIndex: number,\n depth: number,\n subRows?: Row<TData>[]\n): Row<TData> => {\n let row: CoreRow<TData> = {\n id,\n index: rowIndex,\n original,\n depth,\n _valuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column.accessorFn) {\n return undefined\n }\n\n row._valuesCache[columnId] = column.accessorFn(\n row.original as TData,\n rowIndex\n )\n\n return row._valuesCache[columnId]\n },\n renderValue: columnId =>\n row.getValue(columnId) ?? table.options.renderFallbackValue,\n subRows: subRows ?? [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getAllCells: memo(\n () => [table.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row as Row<TData>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n\n _getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell\n return acc\n }, {} as Record<string, Cell<TData>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i]\n Object.assign(row, feature?.createRow?.(row, table))\n }\n\n return row as Row<TData>\n}\n"],"names":["createRow","table","id","original","rowIndex","depth","subRows","row","index","_valuesCache","getValue","columnId","hasOwnProperty","column","getColumn","accessorFn","undefined","renderValue","options","renderFallbackValue","getLeafRows","flattenBy","d","getAllCells","memo","getAllLeafColumns","leafColumns","map","createCell","key","process","env","NODE_ENV","debug","debugAll","debugRows","_getAllCellsByColumnId","allCells","reduce","acc","cell","i","_features","length","feature","Object","assign"],"mappings":"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"}
@@ -28,24 +28,24 @@ var Visibility = require('../features/Visibility.js');
28
28
 
29
29
  const features = [headers.Headers, Visibility.Visibility, Ordering.Ordering, Pinning.Pinning, Filters.Filters, Sorting.Sorting, Grouping.Grouping, Expanding.Expanding, Pagination.Pagination, RowSelection.RowSelection, ColumnSizing.ColumnSizing]; //
30
30
 
31
- function createTableInstance(options) {
31
+ function createTable(options) {
32
32
  var _options$initialState;
33
33
 
34
34
  if (options.debugAll || options.debugTable) {
35
35
  console.info('Creating Table Instance...');
36
36
  }
37
37
 
38
- let instance = {
38
+ let table = {
39
39
  _features: features
40
40
  };
41
41
 
42
- const defaultOptions = instance._features.reduce((obj, feature) => {
43
- return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(instance));
42
+ const defaultOptions = table._features.reduce((obj, feature) => {
43
+ return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(table));
44
44
  }, {});
45
45
 
46
46
  const mergeOptions = options => {
47
- if (instance.options.mergeOptions) {
48
- return instance.options.mergeOptions(defaultOptions, options);
47
+ if (table.options.mergeOptions) {
48
+ return table.options.mergeOptions(defaultOptions, options);
49
49
  }
50
50
 
51
51
  return { ...defaultOptions,
@@ -58,7 +58,7 @@ function createTableInstance(options) {
58
58
  ...((_options$initialState = options.initialState) != null ? _options$initialState : {})
59
59
  };
60
60
 
61
- instance._features.forEach(feature => {
61
+ table._features.forEach(feature => {
62
62
  var _feature$getInitialSt;
63
63
 
64
64
  initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;
@@ -91,48 +91,37 @@ function createTableInstance(options) {
91
91
  }
92
92
  },
93
93
  reset: () => {
94
- instance.setState(instance.initialState);
94
+ table.setState(table.initialState);
95
95
  },
96
96
  setOptions: updater => {
97
- const newOptions = utils.functionalUpdate(updater, instance.options);
98
- instance.options = mergeOptions(newOptions);
99
- },
100
- _render: (template, props) => {
101
- if (typeof instance.options.render === 'function') {
102
- return instance.options.render(template, props);
103
- }
104
-
105
- if (typeof template === 'function') {
106
- return template(props);
107
- }
108
-
109
- return template;
97
+ const newOptions = utils.functionalUpdate(updater, table.options);
98
+ table.options = mergeOptions(newOptions);
110
99
  },
111
100
  getState: () => {
112
- return instance.options.state;
101
+ return table.options.state;
113
102
  },
114
103
  setState: updater => {
115
- instance.options.onStateChange == null ? void 0 : instance.options.onStateChange(updater);
104
+ table.options.onStateChange == null ? void 0 : table.options.onStateChange(updater);
116
105
  },
117
106
  _getRowId: (row, index, parent) => {
118
- var _instance$options$get;
107
+ var _table$options$getRow;
119
108
 
120
- return (_instance$options$get = instance.options.getRowId == null ? void 0 : instance.options.getRowId(row, index, parent)) != null ? _instance$options$get : "" + (parent ? [parent.id, index].join('.') : index);
109
+ return (_table$options$getRow = table.options.getRowId == null ? void 0 : table.options.getRowId(row, index, parent)) != null ? _table$options$getRow : "" + (parent ? [parent.id, index].join('.') : index);
121
110
  },
122
111
  getCoreRowModel: () => {
123
- if (!instance._getCoreRowModel) {
124
- instance._getCoreRowModel = instance.options.getCoreRowModel(instance);
112
+ if (!table._getCoreRowModel) {
113
+ table._getCoreRowModel = table.options.getCoreRowModel(table);
125
114
  }
126
115
 
127
- return instance._getCoreRowModel();
116
+ return table._getCoreRowModel();
128
117
  },
129
118
  // The final calls start at the bottom of the model,
130
119
  // expanded rows, which then work their way up
131
120
  getRowModel: () => {
132
- return instance.getPaginationRowModel();
121
+ return table.getPaginationRowModel();
133
122
  },
134
123
  getRow: id => {
135
- const row = instance.getRowModel().rowsById[id];
124
+ const row = table.getRowModel().rowsById[id];
136
125
 
137
126
  if (!row) {
138
127
  if (process.env.NODE_ENV !== 'production') {
@@ -144,7 +133,7 @@ function createTableInstance(options) {
144
133
 
145
134
  return row;
146
135
  },
147
- _getDefaultColumnDef: utils.memo(() => [instance.options.defaultColumn], defaultColumn => {
136
+ _getDefaultColumnDef: utils.memo(() => [table.options.defaultColumn], defaultColumn => {
148
137
  var _defaultColumn;
149
138
 
150
139
  defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
@@ -152,32 +141,32 @@ function createTableInstance(options) {
152
141
  header: props => props.header.column.id,
153
142
  footer: props => props.header.column.id,
154
143
  cell: props => {
155
- var _props$getValue$toStr, _props$getValue;
144
+ var _toString, _props$renderValue;
156
145
 
157
- return (_props$getValue$toStr = (_props$getValue = props.getValue()) == null ? void 0 : _props$getValue.toString == null ? void 0 : _props$getValue.toString()) != null ? _props$getValue$toStr : null;
146
+ return (_toString = (_props$renderValue = props.renderValue()) == null ? void 0 : _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _toString : null;
158
147
  },
159
- ...instance._features.reduce((obj, feature) => {
148
+ ...table._features.reduce((obj, feature) => {
160
149
  return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());
161
150
  }, {}),
162
151
  ...defaultColumn
163
152
  };
164
153
  }, {
165
154
  debug: () => {
166
- var _instance$options$deb;
155
+ var _table$options$debugA;
167
156
 
168
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
157
+ return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugColumns;
169
158
  },
170
159
  key: process.env.NODE_ENV === 'development' && 'getDefaultColumnDef'
171
160
  }),
172
- _getColumnDefs: () => instance.options.columns,
173
- getAllColumns: utils.memo(() => [instance._getColumnDefs()], columnDefs => {
161
+ _getColumnDefs: () => table.options.columns,
162
+ getAllColumns: utils.memo(() => [table._getColumnDefs()], columnDefs => {
174
163
  const recurseColumns = function (columnDefs, parent, depth) {
175
164
  if (depth === void 0) {
176
165
  depth = 0;
177
166
  }
178
167
 
179
168
  return columnDefs.map(columnDef => {
180
- const column$1 = column.createColumn(instance, columnDef, depth, parent);
169
+ const column$1 = column.createColumn(table, columnDef, depth, parent);
181
170
  column$1.columns = columnDef.columns ? recurseColumns(columnDef.columns, column$1, depth + 1) : [];
182
171
  return column$1;
183
172
  });
@@ -187,24 +176,24 @@ function createTableInstance(options) {
187
176
  }, {
188
177
  key: process.env.NODE_ENV === 'development' && 'getAllColumns',
189
178
  debug: () => {
190
- var _instance$options$deb2;
179
+ var _table$options$debugA2;
191
180
 
192
- return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
181
+ return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugColumns;
193
182
  }
194
183
  }),
195
- getAllFlatColumns: utils.memo(() => [instance.getAllColumns()], allColumns => {
184
+ getAllFlatColumns: utils.memo(() => [table.getAllColumns()], allColumns => {
196
185
  return allColumns.flatMap(column => {
197
186
  return column.getFlatColumns();
198
187
  });
199
188
  }, {
200
189
  key: process.env.NODE_ENV === 'development' && 'getAllFlatColumns',
201
190
  debug: () => {
202
- var _instance$options$deb3;
191
+ var _table$options$debugA3;
203
192
 
204
- return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
193
+ return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugColumns;
205
194
  }
206
195
  }),
207
- _getAllFlatColumnsById: utils.memo(() => [instance.getAllFlatColumns()], flatColumns => {
196
+ _getAllFlatColumnsById: utils.memo(() => [table.getAllFlatColumns()], flatColumns => {
208
197
  return flatColumns.reduce((acc, column) => {
209
198
  acc[column.id] = column;
210
199
  return acc;
@@ -212,24 +201,24 @@ function createTableInstance(options) {
212
201
  }, {
213
202
  key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',
214
203
  debug: () => {
215
- var _instance$options$deb4;
204
+ var _table$options$debugA4;
216
205
 
217
- return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
206
+ return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugColumns;
218
207
  }
219
208
  }),
220
- getAllLeafColumns: utils.memo(() => [instance.getAllColumns(), instance._getOrderColumnsFn()], (allColumns, orderColumns) => {
209
+ getAllLeafColumns: utils.memo(() => [table.getAllColumns(), table._getOrderColumnsFn()], (allColumns, orderColumns) => {
221
210
  let leafColumns = allColumns.flatMap(column => column.getLeafColumns());
222
211
  return orderColumns(leafColumns);
223
212
  }, {
224
213
  key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',
225
214
  debug: () => {
226
- var _instance$options$deb5;
215
+ var _table$options$debugA5;
227
216
 
228
- return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
217
+ return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugColumns;
229
218
  }
230
219
  }),
231
220
  getColumn: columnId => {
232
- const column = instance._getAllFlatColumnsById()[columnId];
221
+ const column = table._getAllFlatColumnsById()[columnId];
233
222
 
234
223
  if (!column) {
235
224
  if (process.env.NODE_ENV !== 'production') {
@@ -242,14 +231,14 @@ function createTableInstance(options) {
242
231
  return column;
243
232
  }
244
233
  };
245
- Object.assign(instance, coreInstance);
234
+ Object.assign(table, coreInstance);
246
235
 
247
- instance._features.forEach(feature => {
248
- return Object.assign(instance, feature.createInstance == null ? void 0 : feature.createInstance(instance));
236
+ table._features.forEach(feature => {
237
+ return Object.assign(table, feature.createTable == null ? void 0 : feature.createTable(table));
249
238
  });
250
239
 
251
- return instance;
240
+ return table;
252
241
  }
253
242
 
254
- exports.createTableInstance = createTableInstance;
255
- //# sourceMappingURL=instance.js.map
243
+ exports.createTable = createTable;
244
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sources":["../../../src/core/table.ts"],"sourcesContent":["import { flattenBy, functionalUpdate, memo, RequiredKeys } from '../utils'\n\nimport {\n Updater,\n TableOptionsResolved,\n TableState,\n Table,\n ColumnDefTemplate,\n InitialTableState,\n Row,\n Column,\n RowModel,\n ColumnDef,\n TableOptions,\n RowData,\n} from '../types'\n\n//\nimport { createColumn } from './column'\nimport { Headers } from './headers'\n//\n\nimport { ColumnSizing } from '../features/ColumnSizing'\nimport { Expanding } from '../features/Expanding'\nimport { Filters } from '../features/Filters'\nimport { Grouping } from '../features/Grouping'\nimport { Ordering } from '../features/Ordering'\nimport { Pagination } from '../features/Pagination'\nimport { Pinning } from '../features/Pinning'\nimport { RowSelection } from '../features/RowSelection'\nimport { Sorting } from '../features/Sorting'\nimport { Visibility } from '../features/Visibility'\n\nexport type TableFeature = {\n getDefaultOptions?: (table: any) => any\n getInitialState?: (initialState?: InitialTableState) => any\n createTable?: (table: any) => any\n getDefaultColumnDef?: () => any\n createColumn?: (column: any, table: any) => any\n createHeader?: (column: any, table: any) => any\n createCell?: (cell: any, column: any, row: any, table: any) => any\n createRow?: (row: any, table: any) => any\n}\n\nconst features = [\n Headers,\n Visibility,\n Ordering,\n Pinning,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n Pagination,\n RowSelection,\n ColumnSizing,\n] as const\n\n//\n\nexport type CoreTableState = {}\n\nexport type CoreOptions<TData extends RowData> = {\n data: TData[]\n state: Partial<TableState>\n onStateChange: (updater: Updater<TableState>) => void\n debugAll?: boolean\n debugTable?: boolean\n debugHeaders?: boolean\n debugColumns?: boolean\n debugRows?: boolean\n initialState?: InitialTableState\n autoResetAll?: boolean\n mergeOptions?: (\n defaultOptions: TableOptions<TData>,\n options: Partial<TableOptions<TData>>\n ) => TableOptions<TData>\n meta?: unknown\n getCoreRowModel: (table: Table<any>) => () => RowModel<any>\n getSubRows?: (originalRow: TData, index: number) => undefined | TData[]\n getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string\n columns: ColumnDef<TData>[]\n defaultColumn?: Partial<ColumnDef<TData>>\n renderFallbackValue: any\n}\n\nexport type CoreInstance<TData extends RowData> = {\n initialState: TableState\n reset: () => void\n options: RequiredKeys<TableOptionsResolved<TData>, 'state'>\n setOptions: (newOptions: Updater<TableOptionsResolved<TData>>) => void\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n _features: readonly TableFeature[]\n _queue: (cb: () => void) => void\n _getRowId: (_: TData, index: number, parent?: Row<TData>) => string\n getCoreRowModel: () => RowModel<TData>\n _getCoreRowModel?: () => RowModel<TData>\n getRowModel: () => RowModel<TData>\n getRow: (id: string) => Row<TData>\n _getDefaultColumnDef: () => Partial<ColumnDef<TData>>\n _getColumnDefs: () => ColumnDef<TData>[]\n _getAllFlatColumnsById: () => Record<string, Column<TData>>\n getAllColumns: () => Column<TData>[]\n getAllFlatColumns: () => Column<TData>[]\n getAllLeafColumns: () => Column<TData>[]\n getColumn: (columnId: string) => Column<TData>\n}\n\nexport function createTable<TData extends RowData>(\n options: TableOptionsResolved<TData>\n): Table<TData> {\n if (options.debugAll || options.debugTable) {\n console.info('Creating Table Instance...')\n }\n\n let table = { _features: features } as unknown as Table<TData>\n\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions?.(table))\n }, {}) as TableOptionsResolved<TData>\n\n const mergeOptions = (options: TableOptionsResolved<TData>) => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options)\n }\n\n return {\n ...defaultOptions,\n ...options,\n }\n }\n\n const coreInitialState: CoreTableState = {}\n\n let initialState = {\n ...coreInitialState,\n ...(options.initialState ?? {}),\n } as TableState\n\n table._features.forEach(feature => {\n initialState = feature.getInitialState?.(initialState) ?? initialState\n })\n\n const queued: (() => void)[] = []\n let queuedTimeout = false\n\n const coreInstance: CoreInstance<TData> = {\n _features: features,\n options: {\n ...defaultOptions,\n ...options,\n },\n initialState,\n _queue: cb => {\n queued.push(cb)\n\n if (!queuedTimeout) {\n queuedTimeout = true\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve()\n .then(() => {\n while (queued.length) {\n queued.shift()!()\n }\n queuedTimeout = false\n })\n .catch(error =>\n setTimeout(() => {\n throw error\n })\n )\n }\n },\n reset: () => {\n table.setState(table.initialState)\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options)\n table.options = mergeOptions(newOptions) as RequiredKeys<\n TableOptionsResolved<TData>,\n 'state'\n >\n },\n\n getState: () => {\n return table.options.state as TableState\n },\n\n setState: (updater: Updater<TableState>) => {\n table.options.onStateChange?.(updater)\n },\n\n _getRowId: (row: TData, index: number, parent?: Row<TData>) =>\n table.options.getRowId?.(row, index, parent) ??\n `${parent ? [parent.id, index].join('.') : index}`,\n\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table)\n }\n\n return table._getCoreRowModel!()\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel()\n },\n getRow: (id: string) => {\n const row = table.getRowModel().rowsById[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n _getDefaultColumnDef: memo(\n () => [table.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<ColumnDef<TData>>\n\n return {\n header: props => props.header.column.id,\n footer: props => props.header.column.id,\n cell: props => (props.renderValue() as any)?.toString?.() ?? null,\n ...table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumnDef?.())\n }, {}),\n ...defaultColumn,\n } as Partial<ColumnDef<TData>>\n },\n {\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n key: process.env.NODE_ENV === 'development' && 'getDefaultColumnDef',\n }\n ),\n\n _getColumnDefs: () => table.options.columns,\n\n getAllColumns: memo(\n () => [table._getColumnDefs()],\n columnDefs => {\n const recurseColumns = (\n columnDefs: ColumnDef<TData>[],\n parent?: Column<TData>,\n depth = 0\n ): Column<TData>[] => {\n return columnDefs.map(columnDef => {\n const column = createColumn(table, columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllFlatColumns: memo(\n () => [table.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n _getAllFlatColumnsById: memo(\n () => [table.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData>>)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllFlatColumnsById',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [table.getAllColumns(), table._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getAllLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Table] Column with id ${columnId} does not exist.`)\n }\n throw new Error()\n }\n\n return column\n },\n }\n\n Object.assign(table, coreInstance)\n\n table._features.forEach(feature => {\n return Object.assign(table, feature.createTable?.(table))\n })\n\n return table\n}\n"],"names":["features","Headers","Visibility","Ordering","Pinning","Filters","Sorting","Grouping","Expanding","Pagination","RowSelection","ColumnSizing","createTable","options","debugAll","debugTable","console","info","table","_features","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","mergeOptions","coreInitialState","initialState","forEach","getInitialState","queued","queuedTimeout","coreInstance","_queue","cb","push","Promise","resolve","then","length","shift","catch","error","setTimeout","reset","setState","setOptions","updater","newOptions","functionalUpdate","getState","state","onStateChange","_getRowId","row","index","parent","getRowId","id","join","getCoreRowModel","_getCoreRowModel","getRowModel","getPaginationRowModel","getRow","rowsById","process","env","NODE_ENV","Error","_getDefaultColumnDef","memo","defaultColumn","header","props","column","footer","cell","renderValue","toString","getDefaultColumnDef","debug","debugColumns","key","_getColumnDefs","columns","getAllColumns","columnDefs","recurseColumns","depth","map","columnDef","createColumn","getAllFlatColumns","allColumns","flatMap","getFlatColumns","_getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","_getOrderColumnsFn","orderColumns","leafColumns","getLeafColumns","getColumn","columnId","warn"],"mappings":"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"}