@tanstack/react-table 8.0.0-alpha.9 → 8.0.0-beta.2

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 (115) hide show
  1. package/build/cjs/react-table/src/index.js +139 -0
  2. package/build/cjs/react-table/src/index.js.map +1 -0
  3. package/build/cjs/table-core/build/esm/index.js +3867 -0
  4. package/build/cjs/table-core/build/esm/index.js.map +1 -0
  5. package/build/esm/index.js +3196 -4117
  6. package/build/esm/index.js.map +1 -1
  7. package/build/stats-html.html +1 -1
  8. package/build/stats-react.json +24 -813
  9. package/build/types/index.d.ts +16 -9
  10. package/build/umd/index.development.js +3234 -4125
  11. package/build/umd/index.development.js.map +1 -1
  12. package/build/umd/index.production.js +11 -1
  13. package/build/umd/index.production.js.map +1 -1
  14. package/package.json +10 -6
  15. package/src/index.tsx +111 -9
  16. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  17. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  18. package/build/cjs/aggregationTypes.js +0 -130
  19. package/build/cjs/aggregationTypes.js.map +0 -1
  20. package/build/cjs/core.js +0 -545
  21. package/build/cjs/core.js.map +0 -1
  22. package/build/cjs/createTable.js +0 -122
  23. package/build/cjs/createTable.js.map +0 -1
  24. package/build/cjs/features/ColumnSizing.js +0 -318
  25. package/build/cjs/features/ColumnSizing.js.map +0 -1
  26. package/build/cjs/features/Expanding.js +0 -239
  27. package/build/cjs/features/Expanding.js.map +0 -1
  28. package/build/cjs/features/Filters.js +0 -414
  29. package/build/cjs/features/Filters.js.map +0 -1
  30. package/build/cjs/features/Grouping.js +0 -232
  31. package/build/cjs/features/Grouping.js.map +0 -1
  32. package/build/cjs/features/Headers.js +0 -629
  33. package/build/cjs/features/Headers.js.map +0 -1
  34. package/build/cjs/features/Ordering.js +0 -86
  35. package/build/cjs/features/Ordering.js.map +0 -1
  36. package/build/cjs/features/Pagination.js +0 -193
  37. package/build/cjs/features/Pagination.js.map +0 -1
  38. package/build/cjs/features/Pinning.js +0 -149
  39. package/build/cjs/features/Pinning.js.map +0 -1
  40. package/build/cjs/features/RowSelection.js +0 -526
  41. package/build/cjs/features/RowSelection.js.map +0 -1
  42. package/build/cjs/features/Sorting.js +0 -315
  43. package/build/cjs/features/Sorting.js.map +0 -1
  44. package/build/cjs/features/Visibility.js +0 -174
  45. package/build/cjs/features/Visibility.js.map +0 -1
  46. package/build/cjs/filterTypes.js +0 -172
  47. package/build/cjs/filterTypes.js.map +0 -1
  48. package/build/cjs/index.js +0 -44
  49. package/build/cjs/index.js.map +0 -1
  50. package/build/cjs/sortTypes.js +0 -122
  51. package/build/cjs/sortTypes.js.map +0 -1
  52. package/build/cjs/types.js +0 -22
  53. package/build/cjs/types.js.map +0 -1
  54. package/build/cjs/utils/columnFilterRowsFn.js +0 -131
  55. package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
  56. package/build/cjs/utils/expandRowsFn.js +0 -38
  57. package/build/cjs/utils/expandRowsFn.js.map +0 -1
  58. package/build/cjs/utils/globalFilterRowsFn.js +0 -101
  59. package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
  60. package/build/cjs/utils/groupRowsFn.js +0 -155
  61. package/build/cjs/utils/groupRowsFn.js.map +0 -1
  62. package/build/cjs/utils/paginateRowsFn.js +0 -44
  63. package/build/cjs/utils/paginateRowsFn.js.map +0 -1
  64. package/build/cjs/utils/sortRowsFn.js +0 -94
  65. package/build/cjs/utils/sortRowsFn.js.map +0 -1
  66. package/build/cjs/utils.js +0 -167
  67. package/build/cjs/utils.js.map +0 -1
  68. package/build/types/aggregationTypes.d.ts +0 -22
  69. package/build/types/core.d.ts +0 -105
  70. package/build/types/createTable.d.ts +0 -42
  71. package/build/types/features/ColumnSizing.d.ts +0 -73
  72. package/build/types/features/Expanding.d.ts +0 -48
  73. package/build/types/features/Filters.d.ts +0 -90
  74. package/build/types/features/Grouping.d.ts +0 -83
  75. package/build/types/features/Headers.d.ts +0 -41
  76. package/build/types/features/Ordering.d.ts +0 -19
  77. package/build/types/features/Pagination.d.ts +0 -39
  78. package/build/types/features/Pinning.d.ts +0 -39
  79. package/build/types/features/RowSelection.d.ts +0 -58
  80. package/build/types/features/Sorting.d.ts +0 -79
  81. package/build/types/features/Visibility.d.ts +0 -47
  82. package/build/types/filterTypes.d.ts +0 -50
  83. package/build/types/sortTypes.d.ts +0 -18
  84. package/build/types/types.d.ts +0 -138
  85. package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
  86. package/build/types/utils/expandRowsFn.d.ts +0 -2
  87. package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
  88. package/build/types/utils/groupRowsFn.d.ts +0 -2
  89. package/build/types/utils/paginateRowsFn.d.ts +0 -2
  90. package/build/types/utils/sortRowsFn.d.ts +0 -2
  91. package/build/types/utils.d.ts +0 -23
  92. package/src/aggregationTypes.ts +0 -115
  93. package/src/core.tsx +0 -763
  94. package/src/createTable.tsx +0 -186
  95. package/src/features/ColumnSizing.ts +0 -424
  96. package/src/features/Expanding.ts +0 -318
  97. package/src/features/Filters.ts +0 -560
  98. package/src/features/Grouping.ts +0 -361
  99. package/src/features/Headers.ts +0 -729
  100. package/src/features/Ordering.ts +0 -110
  101. package/src/features/Pagination.ts +0 -250
  102. package/src/features/Pinning.ts +0 -174
  103. package/src/features/RowSelection.ts +0 -651
  104. package/src/features/Sorting.ts +0 -453
  105. package/src/features/Visibility.ts +0 -238
  106. package/src/filterTypes.ts +0 -188
  107. package/src/sortTypes.ts +0 -147
  108. package/src/types.ts +0 -311
  109. package/src/utils/columnFilterRowsFn.ts +0 -113
  110. package/src/utils/expandRowsFn.ts +0 -30
  111. package/src/utils/globalFilterRowsFn.ts +0 -89
  112. package/src/utils/groupRowsFn.ts +0 -170
  113. package/src/utils/paginateRowsFn.ts +0 -28
  114. package/src/utils/sortRowsFn.ts +0 -95
  115. package/src/utils.tsx +0 -221
@@ -1 +0,0 @@
1
- {"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Cell,\n Column,\n CoreHeader,\n FooterGroupProps,\n FooterProps,\n Getter,\n Header,\n HeaderGroup,\n HeaderGroupProps,\n HeaderProps,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n} from '../types'\nimport { propGetter, memo, flexRender } from '../utils'\nimport * as ColumnSizing from './ColumnSizing'\n\nexport type HeadersRow<TGenerics extends PartialGenerics> = {\n _getAllVisibleCells: () => Cell<TGenerics>[]\n getVisibleCells: () => Cell<TGenerics>[]\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type HeadersInstance<TGenerics extends PartialGenerics> = {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n depth: number\n }\n ) => Header<TGenerics>\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 getHeader: (id: string) => Header<TGenerics>\n\n getHeaderGroupProps: <TGetter extends Getter<HeaderGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderGroupProps, TGetter>\n getFooterGroupProps: <TGetter extends Getter<FooterGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterGroupProps, TGetter>\n getHeaderProps: <TGetter extends Getter<HeaderProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderProps, TGetter>\n getFooterProps: <TGetter extends Getter<FooterProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterProps, TGetter>\n getTotalWidth: () => number\n}\n\n//\n\nexport function createRow<TGenerics extends PartialGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n): HeadersRow<TGenerics> {\n return {\n _getAllVisibleCells: memo(\n () => [\n row\n .getAllCells()\n .filter(cell => cell.column.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n _ => {\n return row.getAllCells().filter(cell => cell.column.getIsVisible())\n },\n {\n key: 'row._getAllVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: 'row.getVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key: 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n\n return cells\n },\n {\n key: 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n\n return cells\n },\n {\n key: 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n}\n\nexport function getInstance<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): HeadersInstance<TGenerics> {\n return {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n depth: number\n }\n ) => {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n isPlaceholder: options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n getWidth: () => {\n let sum = 0\n\n const recurse = (header: CoreHeader<TGenerics>) => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse)\n } else {\n sum += header.column.getWidth() ?? 0\n }\n }\n\n recurse(header)\n\n return sum\n },\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 getHeaderProps: userProps =>\n instance.getHeaderProps(header.id, userProps)!,\n getFooterProps: userProps =>\n instance.getFooterProps(header.id, userProps)!,\n renderHeader: () =>\n flexRender(column.header, { instance, header, column }),\n renderFooter: () =>\n flexRender(column.footer, { instance, header, column }),\n }\n\n // Yes, we have to convert instance to unknown, because we know more than the compiler here.\n return Object.assign(\n header,\n ColumnSizing.createHeader(header as Header<TGenerics>, instance)\n ) as Header<TGenerics>\n },\n\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 = leafColumns.filter(column =>\n left?.includes(column.id)\n )\n const rightColumns = leafColumns.filter(column =>\n right?.includes(column.id)\n )\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n instance\n )\n\n return headerGroups\n },\n {\n key: 'getHeaderGroups',\n debug: () => 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: 'getCenterHeaderGroups',\n debug: () => 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 leafColumns = leafColumns.filter(column => left?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'left')\n },\n {\n key: 'getLeftHeaderGroups',\n debug: () => 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 leafColumns = leafColumns.filter(column => right?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'right')\n },\n {\n key: 'getRightHeaderGroups',\n debug: () => 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: 'getFooterGroups',\n debug: () => 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: 'getLeftFooterGroups',\n debug: () => 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: 'getCenterFooterGroups',\n debug: () => 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: 'getRightFooterGroups',\n debug: () => 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: 'getFlatHeaders',\n debug: () => 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: 'getLeftFlatHeaders',\n debug: () => 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: 'getCenterFlatHeaders',\n debug: () => 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: 'getRightFlatHeaders',\n debug: () => 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: 'getCenterLeafHeaders',\n debug: () => 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: 'getLeftLeafHeaders',\n debug: () => 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: 'getRightLeafHeaders',\n debug: () => 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: 'getLeafHeaders',\n debug: () => instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getHeader: (id: string) => {\n const header = [\n ...instance.getFlatHeaders(),\n ...instance.getCenterFlatHeaders(),\n ...instance.getLeftFlatHeaders(),\n ...instance.getRightFlatHeaders(),\n ].find(d => d.id === id)\n\n if (!header) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find header with id: ${id}`)\n }\n throw new Error()\n }\n\n return header\n },\n\n getHeaderGroupProps: (id, userProps) => {\n const headerGroup = instance.getHeaderGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n return propGetter(\n {\n key: headerGroup.id,\n role: 'row',\n },\n userProps\n )\n },\n\n getFooterGroupProps: (id, userProps) => {\n const headerGroup = instance.getFooterGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n const initialProps = {\n key: headerGroup.id,\n role: 'row',\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getHeaderProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n if (!header) {\n throw new Error()\n }\n\n const initialProps: HeaderProps = {\n key: header.id,\n role: 'columnheader',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getFooterProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n const initialProps: FooterProps = {\n key: header.id,\n role: 'columnfooter',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getTotalWidth: () => {\n let width = 0\n\n instance.getVisibleLeafColumns().forEach(column => {\n width += column.getWidth() ?? 0\n })\n\n return width\n },\n }\n}\n\nexport function buildHeaderGroups<TGenerics extends PartialGenerics>(\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 getHeaderGroupProps: getterValue =>\n instance.getHeaderGroupProps(`${depth}`, getterValue)!,\n getFooterGroupProps: getterValue =>\n instance.getFooterGroupProps(`${depth}`, getterValue)!,\n }\n\n // The parent columns we're going to scan next\n const parentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestParentHeader = [...parentHeaders].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 const header = instance.createHeader(column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${parentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n })\n\n if (!latestParentHeader || latestParentHeader.column !== header.column) {\n header.subHeaders.push(headerToGroup)\n parentHeaders.push(header)\n } else {\n latestParentHeader.subHeaders.push(headerToGroup)\n }\n\n // if (!headerToGroup.isPlaceholder) {\n // headerToGroup.column.header = headerToGroup;\n // }\n\n headerGroup.headers.push(headerToGroup)\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(parentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map(column =>\n instance.createHeader(column, {\n depth: maxDepth,\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 = (headers: Header<TGenerics>[]) => {\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 > 0 ? colSpan : undefined\n header.rowSpan = rowSpan > 0 ? rowSpan : undefined\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["createRow","row","instance","_getAllVisibleCells","memo","getAllCells","filter","cell","column","getIsVisible","map","d","id","join","_","key","debug","options","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","getState","columnPinning","allCells","leftAndRight","includes","columnId","cells","find","Boolean","getInstance","createHeader","header","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","getWidth","sum","recurse","length","forEach","getLeafHeaders","leafHeaders","recurseHeader","h","push","getHeaderProps","userProps","getFooterProps","renderHeader","flexRender","renderFooter","footer","Object","assign","ColumnSizing","getHeaderGroups","getAllColumns","getVisibleLeafColumns","allColumns","leafColumns","leftColumns","rightColumns","centerColumns","headerGroups","buildHeaderGroups","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headerGroup","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","getHeader","process","env","NODE_ENV","console","warn","Error","getHeaderGroupProps","propGetter","role","getFooterGroupProps","initialProps","getTotalWidth","width","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","createHeaderGroup","headersToGroup","getterValue","parentHeaders","headerToGroup","latestParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- /**
2
- * react-table
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var utils = require('../utils.js');
16
- var Grouping = require('./Grouping.js');
17
-
18
- //
19
- function getInitialState() {
20
- return {
21
- columnOrder: []
22
- };
23
- }
24
- function getDefaultOptions(instance) {
25
- return {
26
- onColumnOrderChange: utils.makeStateUpdater('columnOrder', instance)
27
- };
28
- }
29
- function getInstance(instance) {
30
- return {
31
- setColumnOrder: function setColumnOrder(updater) {
32
- return instance.options.onColumnOrderChange == null ? void 0 : instance.options.onColumnOrderChange(updater, utils.functionalUpdate(updater, instance.getState().columnOrder));
33
- },
34
- resetColumnOrder: function resetColumnOrder() {
35
- var _instance$initialStat;
36
-
37
- instance.setColumnOrder((_instance$initialStat = instance.initialState.columnOrder) != null ? _instance$initialStat : []);
38
- },
39
- getOrderColumnsFn: utils.memo(function () {
40
- return [instance.getState().columnOrder, instance.getState().grouping, instance.options.groupedColumnMode];
41
- }, function (columnOrder, grouping, groupedColumnMode) {
42
- return function (columns) {
43
- // Sort grouped columns to the start of the column list
44
- // before the headers are built
45
- var orderedColumns = []; // If there is no order, return the normal columns
46
-
47
- if (!(columnOrder != null && columnOrder.length)) {
48
- orderedColumns = columns;
49
- } else {
50
- var columnOrderCopy = [].concat(columnOrder); // If there is an order, make a copy of the columns
51
-
52
- var columnsCopy = [].concat(columns); // And make a new ordered array of the columns
53
- // Loop over the columns and place them in order into the new array
54
-
55
- var _loop = function _loop() {
56
- var targetColumnId = columnOrderCopy.shift();
57
- var foundIndex = columnsCopy.findIndex(function (d) {
58
- return d.id === targetColumnId;
59
- });
60
-
61
- if (foundIndex > -1) {
62
- orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);
63
- }
64
- };
65
-
66
- while (columnsCopy.length && columnOrderCopy.length) {
67
- _loop();
68
- } // If there are any columns left, add them to the end
69
-
70
-
71
- orderedColumns = [].concat(orderedColumns, columnsCopy);
72
- }
73
-
74
- return Grouping.orderColumns(orderedColumns, grouping, groupedColumnMode);
75
- };
76
- }, {
77
- key: 'getOrderColumnsFn' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
78
-
79
- })
80
- };
81
- }
82
-
83
- exports.getDefaultOptions = getDefaultOptions;
84
- exports.getInitialState = getInitialState;
85
- exports.getInstance = getInstance;
86
- //# sourceMappingURL=Ordering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ordering.js","sources":["../../../src/features/Ordering.ts"],"sourcesContent":["import { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nimport {\n TableInstance,\n OnChangeFn,\n Updater,\n Column,\n PartialGenerics,\n} from '../types'\n\nimport * as Grouping from './Grouping'\n\nexport type ColumnOrderState = string[]\n\nexport type ColumnOrderTableState = {\n columnOrder: ColumnOrderState\n}\n\nexport type ColumnOrderOptions = {\n onColumnOrderChange?: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderDefaultOptions = {\n onColumnOrderChange: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderInstance<TGenerics extends PartialGenerics> = {\n setColumnOrder: (updater: Updater<ColumnOrderState>) => void\n resetColumnOrder: () => void\n getOrderColumnsFn: () => (columns: Column<TGenerics>[]) => Column<TGenerics>[]\n}\n\n//\n\nexport function getInitialState(): ColumnOrderTableState {\n return {\n columnOrder: [],\n }\n}\n\nexport function getDefaultOptions<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): ColumnOrderDefaultOptions {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', instance),\n }\n}\n\nexport function getInstance<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): ColumnOrderInstance<TGenerics> {\n return {\n setColumnOrder: updater =>\n instance.options.onColumnOrderChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnOrder)\n ),\n resetColumnOrder: () => {\n instance.setColumnOrder(instance.initialState.columnOrder ?? [])\n },\n getOrderColumnsFn: memo(\n () => [\n instance.getState().columnOrder,\n instance.getState().grouping,\n instance.options.groupedColumnMode,\n ],\n (columnOrder, grouping, groupedColumnMode) => columns => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Column<TGenerics>[] = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(\n d => d.id === targetColumnId\n )\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]!)\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy]\n }\n\n return Grouping.orderColumns(\n orderedColumns,\n grouping,\n groupedColumnMode\n )\n },\n {\n key: 'getOrderColumnsFn',\n // debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n }\n}\n"],"names":["getInitialState","columnOrder","getDefaultOptions","instance","onColumnOrderChange","makeStateUpdater","getInstance","setColumnOrder","updater","options","functionalUpdate","getState","resetColumnOrder","initialState","getOrderColumnsFn","memo","grouping","groupedColumnMode","columns","orderedColumns","length","columnOrderCopy","columnsCopy","targetColumnId","shift","foundIndex","findIndex","d","id","push","splice","Grouping","key"],"mappings":";;;;;;;;;;;;;;;;;AAgCA;AAEO,SAASA,eAAT,GAAkD;AACvD,SAAO;AACLC,IAAAA,WAAW,EAAE;AADR,GAAP;AAGD;AAEM,SAASC,iBAAT,CACLC,QADK,EAEsB;AAC3B,SAAO;AACLC,IAAAA,mBAAmB,EAAEC,sBAAgB,CAAC,aAAD,EAAgBF,QAAhB;AADhC,GAAP;AAGD;AAEM,SAASG,WAAT,CACLH,QADK,EAE2B;AAChC,SAAO;AACLI,IAAAA,cAAc,EAAE,wBAAAC,OAAO;AAAA,aACrBL,QAAQ,CAACM,OAAT,CAAiBL,mBADI,oBACrBD,QAAQ,CAACM,OAAT,CAAiBL,mBAAjB,CACEI,OADF,EAEEE,sBAAgB,CAACF,OAAD,EAAUL,QAAQ,CAACQ,QAAT,GAAoBV,WAA9B,CAFlB,CADqB;AAAA,KADlB;AAMLW,IAAAA,gBAAgB,EAAE,4BAAM;AAAA;;AACtBT,MAAAA,QAAQ,CAACI,cAAT,0BAAwBJ,QAAQ,CAACU,YAAT,CAAsBZ,WAA9C,oCAA6D,EAA7D;AACD,KARI;AASLa,IAAAA,iBAAiB,EAAEC,UAAI,CACrB;AAAA,aAAM,CACJZ,QAAQ,CAACQ,QAAT,GAAoBV,WADhB,EAEJE,QAAQ,CAACQ,QAAT,GAAoBK,QAFhB,EAGJb,QAAQ,CAACM,OAAT,CAAiBQ,iBAHb,CAAN;AAAA,KADqB,EAMrB,UAAChB,WAAD,EAAce,QAAd,EAAwBC,iBAAxB;AAAA,aAA8C,UAAAC,OAAO,EAAI;AACvD;AACA;AACA,YAAIC,cAAmC,GAAG,EAA1C,CAHuD;;AAMvD,YAAI,EAAClB,WAAD,YAACA,WAAW,CAAEmB,MAAd,CAAJ,EAA0B;AACxBD,UAAAA,cAAc,GAAGD,OAAjB;AACD,SAFD,MAEO;AACL,cAAMG,eAAe,aAAOpB,WAAP,CAArB,CADK;;AAIL,cAAMqB,WAAW,aAAOJ,OAAP,CAAjB,CAJK;AAQL;;AARK;AAUH,gBAAMK,cAAc,GAAGF,eAAe,CAACG,KAAhB,EAAvB;AACA,gBAAMC,UAAU,GAAGH,WAAW,CAACI,SAAZ,CACjB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACC,EAAF,KAASL,cAAb;AAAA,aADgB,CAAnB;;AAGA,gBAAIE,UAAU,GAAG,CAAC,CAAlB,EAAqB;AACnBN,cAAAA,cAAc,CAACU,IAAf,CAAoBP,WAAW,CAACQ,MAAZ,CAAmBL,UAAnB,EAA+B,CAA/B,EAAkC,CAAlC,CAApB;AACD;AAhBE;;AASL,iBAAOH,WAAW,CAACF,MAAZ,IAAsBC,eAAe,CAACD,MAA7C,EAAqD;AAAA;AAQpD,WAjBI;;;AAoBLD,UAAAA,cAAc,aAAOA,cAAP,EAA0BG,WAA1B,CAAd;AACD;;AAED,eAAOS,qBAAA,CACLZ,cADK,EAELH,QAFK,EAGLC,iBAHK,CAAP;AAKD,OApCD;AAAA,KANqB,EA2CrB;AACEe,MAAAA,GAAG,EAAE,mBADP;;AAAA,KA3CqB;AATlB,GAAP;AA0DD;;;;;;"}
@@ -1,193 +0,0 @@
1
- /**
2
- * react-table
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
16
- var utils = require('../utils.js');
17
-
18
- //
19
- function getInitialState() {
20
- return {
21
- pagination: {
22
- pageCount: -1,
23
- pageIndex: 0,
24
- pageSize: 10
25
- }
26
- };
27
- }
28
- function getDefaultOptions(instance) {
29
- return {
30
- onPaginationChange: utils.makeStateUpdater('pagination', instance),
31
- autoResetPageIndex: true
32
- };
33
- }
34
- function getInstance(instance) {
35
- var registered = false;
36
- return {
37
- _notifyPageIndexReset: function _notifyPageIndexReset() {
38
- if (!registered) {
39
- registered = true;
40
- return;
41
- }
42
-
43
- if (instance.options.autoResetAll === false) {
44
- return;
45
- }
46
-
47
- if (instance.options.autoResetAll === true || instance.options.autoResetPageIndex) {
48
- instance.resetPageIndex();
49
- }
50
- },
51
- setPagination: function setPagination(updater) {
52
- var safeUpdater = function safeUpdater(old) {
53
- var newState = utils.functionalUpdate(updater, old);
54
- return newState;
55
- };
56
-
57
- return instance.options.onPaginationChange == null ? void 0 : instance.options.onPaginationChange(safeUpdater, utils.functionalUpdate(safeUpdater, instance.getState().pagination));
58
- },
59
- resetPagination: function resetPagination() {
60
- var _instance$initialStat;
61
-
62
- instance.setPagination((_instance$initialStat = instance.initialState.pagination) != null ? _instance$initialStat : {
63
- pageIndex: 0,
64
- pageSize: 10,
65
- pageCount: -1
66
- });
67
- },
68
- setPageIndex: function setPageIndex(updater) {
69
- instance.setPagination(function (old) {
70
- var pageIndex = utils.functionalUpdate(updater, old.pageIndex);
71
- var maxPageIndex = old.pageCount && old.pageCount > 0 ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER;
72
- pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex);
73
- return _rollupPluginBabelHelpers["extends"]({}, old, {
74
- pageIndex: pageIndex
75
- });
76
- });
77
- },
78
- resetPageIndex: function resetPageIndex() {
79
- instance.setPageIndex(0);
80
- },
81
- resetPageSize: function resetPageSize() {
82
- var _instance$initialStat2, _instance$initialStat3, _instance$initialStat4;
83
-
84
- instance.setPageSize((_instance$initialStat2 = (_instance$initialStat3 = instance.initialState) == null ? void 0 : (_instance$initialStat4 = _instance$initialStat3.pagination) == null ? void 0 : _instance$initialStat4.pageSize) != null ? _instance$initialStat2 : 10);
85
- },
86
- setPageSize: function setPageSize(updater) {
87
- instance.setPagination(function (old) {
88
- var pageSize = Math.max(1, utils.functionalUpdate(updater, old.pageSize));
89
- var topRowIndex = old.pageSize * old.pageIndex;
90
- var pageIndex = Math.floor(topRowIndex / pageSize);
91
- return _rollupPluginBabelHelpers["extends"]({}, old, {
92
- pageIndex: pageIndex,
93
- pageSize: pageSize
94
- });
95
- });
96
- },
97
- setPageCount: function setPageCount(updater) {
98
- return instance.setPagination(function (old) {
99
- var newPageCount = utils.functionalUpdate(updater, old.pageCount);
100
-
101
- if (typeof newPageCount === 'number') {
102
- newPageCount = Math.max(-1, newPageCount);
103
- }
104
-
105
- return _rollupPluginBabelHelpers["extends"]({}, old, {
106
- pageCount: newPageCount
107
- });
108
- });
109
- },
110
- getPageOptions: utils.memo(function () {
111
- return [instance.getState().pagination.pageSize, instance.getState().pagination.pageCount];
112
- }, function (pageSize, pageCount) {
113
- var pageOptions = [];
114
-
115
- if (pageCount && pageCount > 0) {
116
- pageOptions = [].concat(new Array(pageCount)).fill(null).map(function (_, i) {
117
- return i;
118
- });
119
- }
120
-
121
- return pageOptions;
122
- }, {
123
- key: 'getPageOptions',
124
- debug: function debug() {
125
- var _instance$options$deb;
126
-
127
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
128
- }
129
- }),
130
- getCanPreviousPage: function getCanPreviousPage() {
131
- return instance.getState().pagination.pageIndex > 0;
132
- },
133
- getCanNextPage: function getCanNextPage() {
134
- var _instance$getState$pa = instance.getState().pagination,
135
- pageIndex = _instance$getState$pa.pageIndex,
136
- pageCount = _instance$getState$pa.pageCount,
137
- pageSize = _instance$getState$pa.pageSize;
138
-
139
- if (pageCount === -1) {
140
- return true;
141
- }
142
-
143
- if (pageCount === 0) {
144
- return false;
145
- }
146
-
147
- return pageIndex < Math.ceil(instance.getPrePaginationRowModel().rows.length / pageSize) - 1;
148
- },
149
- previousPage: function previousPage() {
150
- return instance.setPageIndex(function (old) {
151
- return old - 1;
152
- });
153
- },
154
- nextPage: function nextPage() {
155
- return instance.setPageIndex(function (old) {
156
- return old + 1;
157
- });
158
- },
159
- getPrePaginationRowModel: function getPrePaginationRowModel() {
160
- return instance.getExpandedRowModel();
161
- },
162
- getPaginationRowModel: utils.memo(function () {
163
- return [instance.getState().pagination, instance.getExpandedRowModel(), instance.options.paginateRowsFn];
164
- }, function (_pagination, rowModel, paginateRowsFn) {
165
- if (!paginateRowsFn || !rowModel.rows.length) {
166
- return rowModel;
167
- }
168
-
169
- return paginateRowsFn(instance, rowModel);
170
- }, {
171
- key: 'getPaginationRowModel',
172
- debug: function debug() {
173
- var _instance$options$deb2;
174
-
175
- return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
176
- }
177
- }),
178
- getPageCount: function getPageCount() {
179
- var pageCount = instance.getState().pagination.pageCount;
180
-
181
- if (pageCount > 0) {
182
- return pageCount;
183
- }
184
-
185
- return Math.ceil(instance.getPrePaginationRowModel().rows.length / instance.getState().pagination.pageSize);
186
- }
187
- };
188
- }
189
-
190
- exports.getDefaultOptions = getDefaultOptions;
191
- exports.getInitialState = getInitialState;
192
- exports.getInstance = getInstance;
193
- //# sourceMappingURL=Pagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n Column,\n OnChangeFn,\n PartialGenerics,\n TableInstance,\n Row,\n RowModel,\n TableState,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationOptions<TGenerics extends PartialGenerics> = {\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n paginateRowsFn?: (\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<TGenerics extends PartialGenerics> = {\n _notifyPageIndexReset: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: () => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: () => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: () => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TGenerics>\n getPaginationRowModel: () => RowModel<TGenerics>\n getPageCount: () => number\n}\n\n//\n\nexport function getInitialState(): PaginationTableState {\n return {\n pagination: {\n pageCount: -1,\n pageIndex: 0,\n pageSize: 10,\n },\n }\n}\n\nexport function getDefaultOptions<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): PaginationDefaultOptions {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n}\n\nexport function getInstance<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): PaginationInstance<TGenerics> {\n let registered = false\n return {\n _notifyPageIndexReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetPageIndex\n ) {\n instance.resetPageIndex()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(\n safeUpdater,\n functionalUpdate(safeUpdater, instance.getState().pagination)\n )\n },\n resetPagination: () => {\n instance.setPagination(\n instance.initialState.pagination ?? {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n }\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n old.pageCount && old.pageCount > 0\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(instance.initialState?.pagination?.pageSize ?? 10)\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex, pageCount, pageSize } = instance.getState().pagination\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return (\n pageIndex <\n Math.ceil(instance.getPrePaginationRowModel().rows.length / pageSize) -\n 1\n )\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => instance.getExpandedRowModel(),\n getPaginationRowModel: memo(\n () => [\n instance.getState().pagination,\n instance.getExpandedRowModel(),\n instance.options.paginateRowsFn,\n ],\n (_pagination, rowModel, paginateRowsFn) => {\n if (!paginateRowsFn || !rowModel.rows.length) {\n return rowModel\n }\n\n return paginateRowsFn(instance, rowModel)\n },\n {\n key: 'getPaginationRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getPageCount: () => {\n const { pageCount } = instance.getState().pagination\n if (pageCount > 0) {\n return pageCount\n }\n\n return Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n },\n }\n}\n"],"names":["getInitialState","pagination","pageCount","pageIndex","pageSize","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","getInstance","registered","_notifyPageIndexReset","options","autoResetAll","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","getState","resetPagination","initialState","setPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","Math","min","max","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","pageOptions","Array","fill","map","_","i","key","debug","debugAll","debugTable","getCanPreviousPage","getCanNextPage","ceil","getPrePaginationRowModel","rows","length","previousPage","nextPage","getExpandedRowModel","getPaginationRowModel","paginateRowsFn","_pagination","rowModel","getPageCount"],"mappings":"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"}
@@ -1,149 +0,0 @@
1
- /**
2
- * react-table
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var utils = require('../utils.js');
16
-
17
- //
18
- function getInitialState() {
19
- return {
20
- columnPinning: {
21
- left: [],
22
- right: []
23
- }
24
- };
25
- }
26
- function getDefaultOptions(instance) {
27
- return {
28
- onColumnPinningChange: utils.makeStateUpdater('columnPinning', instance)
29
- };
30
- }
31
- function createColumn(column, instance) {
32
- return {
33
- getCanPin: function getCanPin() {
34
- return instance.getColumnCanPin(column.id);
35
- },
36
- getPinnedIndex: function getPinnedIndex() {
37
- return instance.getColumnPinnedIndex(column.id);
38
- },
39
- getIsPinned: function getIsPinned() {
40
- return instance.getColumnIsPinned(column.id);
41
- },
42
- pin: function pin(position) {
43
- return instance.pinColumn(column.id, position);
44
- }
45
- };
46
- }
47
- function getInstance(instance) {
48
- return {
49
- setColumnPinning: function setColumnPinning(updater) {
50
- return instance.options.onColumnPinningChange == null ? void 0 : instance.options.onColumnPinningChange(updater, utils.functionalUpdate(updater, instance.getState().columnPinning));
51
- },
52
- resetColumnPinning: function resetColumnPinning() {
53
- var _instance$initialStat, _instance$initialStat2;
54
-
55
- return instance.setColumnPinning((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnPinning) != null ? _instance$initialStat : {});
56
- },
57
- pinColumn: function pinColumn(columnId, position) {
58
- var column = instance.getColumn(columnId);
59
- var columnIds = column == null ? void 0 : column.getLeafColumns().map(function (d) {
60
- return d.id;
61
- }).filter(Boolean);
62
- instance.setColumnPinning(function (old) {
63
- var _old$left3, _old$right3;
64
-
65
- if (position === 'right') {
66
- var _old$left, _old$right;
67
-
68
- return {
69
- left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(function (d) {
70
- return !(columnIds != null && columnIds.includes(d));
71
- }),
72
- right: [].concat(((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(function (d) {
73
- return !(columnIds != null && columnIds.includes(d));
74
- }), columnIds)
75
- };
76
- }
77
-
78
- if (position === 'left') {
79
- var _old$left2, _old$right2;
80
-
81
- return {
82
- left: [].concat(((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(function (d) {
83
- return !(columnIds != null && columnIds.includes(d));
84
- }), columnIds),
85
- right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(function (d) {
86
- return !(columnIds != null && columnIds.includes(d));
87
- })
88
- };
89
- }
90
-
91
- return {
92
- left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(function (d) {
93
- return !(columnIds != null && columnIds.includes(d));
94
- }),
95
- right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(function (d) {
96
- return !(columnIds != null && columnIds.includes(d));
97
- })
98
- };
99
- });
100
- },
101
- getColumnCanPin: function getColumnCanPin(columnId) {
102
- var column = instance.getColumn(columnId);
103
-
104
- if (!column) {
105
- throw new Error();
106
- }
107
-
108
- var leafColumns = column.getLeafColumns();
109
- return leafColumns.some(function (d) {
110
- var _ref, _ref2, _d$enablePinning;
111
-
112
- return (_ref = (_ref2 = (_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : instance.options.enablePinning) != null ? _ref2 : d.defaultCanPin) != null ? _ref : !!d.accessorFn;
113
- });
114
- },
115
- getColumnIsPinned: function getColumnIsPinned(columnId) {
116
- var column = instance.getColumn(columnId);
117
-
118
- if (!column) {
119
- throw new Error();
120
- }
121
-
122
- var leafColumnIds = column.getLeafColumns().map(function (d) {
123
- return d.id;
124
- });
125
- var _instance$getState$co = instance.getState().columnPinning,
126
- left = _instance$getState$co.left,
127
- right = _instance$getState$co.right;
128
- var isLeft = leafColumnIds.some(function (d) {
129
- return left == null ? void 0 : left.includes(d);
130
- });
131
- var isRight = leafColumnIds.some(function (d) {
132
- return right == null ? void 0 : right.includes(d);
133
- });
134
- return isLeft ? 'left' : isRight ? 'right' : false;
135
- },
136
- getColumnPinnedIndex: function getColumnPinnedIndex(columnId) {
137
- var _instance$getState$co2, _instance$getState$co3, _instance$getState$co4;
138
-
139
- var position = instance.getColumnIsPinned(columnId);
140
- return position ? (_instance$getState$co2 = (_instance$getState$co3 = instance.getState().columnPinning) == null ? void 0 : (_instance$getState$co4 = _instance$getState$co3[position]) == null ? void 0 : _instance$getState$co4.indexOf(columnId)) != null ? _instance$getState$co2 : -1 : 0;
141
- }
142
- };
143
- }
144
-
145
- exports.createColumn = createColumn;
146
- exports.getDefaultOptions = getDefaultOptions;
147
- exports.getInitialState = getInitialState;
148
- exports.getInstance = getInstance;
149
- //# sourceMappingURL=Pinning.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import {\n OnChangeFn,\n Updater,\n TableInstance,\n Column,\n PartialGenerics,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater } from '../utils'\n\ntype ColumnPinningPosition = false | 'left' | 'right'\n\nexport type ColumnPinningState = {\n left?: string[]\n right?: string[]\n}\n\nexport type ColumnPinningTableState = {\n columnPinning: ColumnPinningState\n}\n\nexport type ColumnPinningOptions = {\n onColumnPinningChange?: OnChangeFn<ColumnPinningState>\n enablePinning?: boolean\n}\n\nexport type ColumnPinningDefaultOptions = {\n onColumnPinningChange: OnChangeFn<ColumnPinningState>\n}\n\nexport type ColumnPinningColumnDef = {\n enablePinning?: boolean\n defaultCanPin?: boolean\n}\n\nexport type ColumnPinningColumn = {\n getCanPin: () => boolean\n getPinnedIndex: () => number\n getIsPinned: () => ColumnPinningPosition\n pin: (position: ColumnPinningPosition) => void\n}\n\nexport type ColumnPinningInstance<TGenerics extends PartialGenerics> = {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: () => void\n pinColumn: (columnId: string, position: ColumnPinningPosition) => void\n getColumnCanPin: (columnId: string) => boolean\n getColumnIsPinned: (columnId: string) => ColumnPinningPosition\n getColumnPinnedIndex: (columnId: string) => number\n}\n\n//\n\nexport function getInitialState(): ColumnPinningTableState {\n return {\n columnPinning: {\n left: [],\n right: [],\n },\n }\n}\n\nexport function getDefaultOptions<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): ColumnPinningDefaultOptions {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', instance),\n }\n}\n\nexport function createColumn<TGenerics extends PartialGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n): ColumnPinningColumn {\n return {\n getCanPin: () => instance.getColumnCanPin(column.id),\n getPinnedIndex: () => instance.getColumnPinnedIndex(column.id),\n getIsPinned: () => instance.getColumnIsPinned(column.id),\n pin: position => instance.pinColumn(column.id, position),\n }\n}\n\nexport function getInstance<TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n): ColumnPinningInstance<TGenerics> {\n return {\n setColumnPinning: updater =>\n instance.options.onColumnPinningChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnPinning)\n ),\n\n resetColumnPinning: () =>\n instance.setColumnPinning(instance.initialState?.columnPinning ?? {}),\n\n pinColumn: (columnId, position) => {\n const column = instance.getColumn(columnId)\n\n const columnIds = column\n ?.getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n instance.setColumnPinning(old => {\n if (position === 'right') {\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: [\n ...(old?.right ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n }\n }\n\n if (position === 'left') {\n return {\n left: [\n ...(old?.left ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n }\n\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n })\n },\n\n getColumnCanPin: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n d.enablePinning ??\n instance.options.enablePinning ??\n d.defaultCanPin ??\n !!d.accessorFn\n )\n },\n\n getColumnIsPinned: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = instance.getState().columnPinning\n\n const isLeft = leafColumnIds.some(d => left?.includes(d))\n const isRight = leafColumnIds.some(d => right?.includes(d))\n\n return isLeft ? 'left' : isRight ? 'right' : false\n },\n\n getColumnPinnedIndex: columnId => {\n const position = instance.getColumnIsPinned(columnId)\n\n return position\n ? instance.getState().columnPinning?.[position]?.indexOf(columnId) ?? -1\n : 0\n },\n }\n}\n"],"names":["getInitialState","columnPinning","left","right","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","getCanPin","getColumnCanPin","id","getPinnedIndex","getColumnPinnedIndex","getIsPinned","getColumnIsPinned","pin","position","pinColumn","getInstance","setColumnPinning","updater","options","functionalUpdate","getState","resetColumnPinning","initialState","columnId","getColumn","columnIds","getLeafColumns","map","d","filter","Boolean","old","includes","Error","leafColumns","some","enablePinning","defaultCanPin","accessorFn","leafColumnIds","isLeft","isRight","indexOf"],"mappings":"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"}