@tanstack/table-core 9.0.0-beta.2 → 9.0.0-beta.21
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.
- package/dist/core/cells/constructCell.d.cts +3 -3
- package/dist/core/cells/constructCell.d.ts +3 -3
- package/dist/core/cells/coreCellsFeature.cjs +11 -20
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.d.cts +4 -12
- package/dist/core/cells/coreCellsFeature.d.ts +4 -12
- package/dist/core/cells/coreCellsFeature.js +12 -20
- package/dist/core/cells/coreCellsFeature.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +6 -6
- package/dist/core/cells/coreCellsFeature.types.d.ts +6 -6
- package/dist/core/cells/coreCellsFeature.utils.d.cts +3 -3
- package/dist/core/cells/coreCellsFeature.utils.d.ts +3 -3
- package/dist/core/columns/constructColumn.cjs +5 -0
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.d.cts +3 -3
- package/dist/core/columns/constructColumn.d.ts +3 -3
- package/dist/core/columns/constructColumn.js +5 -0
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +59 -68
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
- package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
- package/dist/core/columns/coreColumnsFeature.js +60 -68
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
- package/dist/core/columns/coreColumnsFeature.utils.cjs +2 -2
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.js +3 -3
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/coreFeatures.cjs.map +1 -1
- package/dist/core/coreFeatures.d.cts +1 -1
- package/dist/core/coreFeatures.d.ts +1 -1
- package/dist/core/coreFeatures.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +2 -2
- package/dist/core/headers/constructHeader.d.ts +2 -2
- package/dist/core/headers/coreHeadersFeature.cjs +44 -53
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
- package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
- package/dist/core/headers/coreHeadersFeature.js +45 -53
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.js +18 -26
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +6 -16
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +6 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +14 -14
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +14 -14
- package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs +2 -3
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
- package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
- package/dist/core/row-models/createCoreRowModel.js +3 -4
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +3 -2
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.d.cts +2 -2
- package/dist/core/rows/constructRow.d.ts +2 -2
- package/dist/core/rows/constructRow.js +4 -2
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +27 -36
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.d.cts +4 -12
- package/dist/core/rows/coreRowsFeature.d.ts +4 -12
- package/dist/core/rows/coreRowsFeature.js +28 -36
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +6 -6
- package/dist/core/rows/coreRowsFeature.types.d.ts +6 -6
- package/dist/core/rows/coreRowsFeature.utils.cjs +3 -3
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +3 -3
- package/dist/core/rows/coreRowsFeature.utils.d.ts +3 -3
- package/dist/core/rows/coreRowsFeature.utils.js +4 -4
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +21 -6
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.d.cts +1 -1
- package/dist/core/table/constructTable.d.ts +1 -1
- package/dist/core/table/constructTable.js +21 -6
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.cjs +7 -16
- package/dist/core/table/coreTablesFeature.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.d.cts +4 -12
- package/dist/core/table/coreTablesFeature.d.ts +4 -12
- package/dist/core/table/coreTablesFeature.js +8 -16
- package/dist/core/table/coreTablesFeature.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +28 -16
- package/dist/core/table/coreTablesFeature.types.d.ts +28 -16
- package/dist/core/table/coreTablesFeature.utils.cjs +33 -12
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +8 -6
- package/dist/core/table/coreTablesFeature.utils.d.ts +8 -6
- package/dist/core/table/coreTablesFeature.utils.js +33 -12
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +8 -8
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +8 -8
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.js +42 -54
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +12 -12
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +12 -12
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +12 -7
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
- package/dist/features/column-filtering/createFilteredRowModel.js +13 -8
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.js +3 -2
- package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.js +59 -70
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +28 -21
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +28 -21
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +11 -11
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +11 -11
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +5 -5
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +9 -7
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
- package/dist/features/column-grouping/createGroupedRowModel.js +10 -8
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +9 -9
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +9 -9
- package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.js +210 -221
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +31 -30
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +31 -30
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.js +32 -43
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -5
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js +3 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.js +113 -125
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +11 -4
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +12 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +12 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.js +12 -5
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +12 -9
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +14 -14
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +14 -14
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +13 -10
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +10 -8
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -8
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +21 -12
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +22 -13
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
- package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.js +56 -67
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.js +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +108 -77
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.js +110 -78
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +13 -5
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +13 -5
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +76 -60
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +48 -23
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +48 -23
- package/dist/features/row-selection/rowSelectionFeature.utils.js +77 -62
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +5 -3
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
- package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
- package/dist/features/row-sorting/createSortedRowModel.js +6 -4
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.js +46 -57
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +24 -21
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +24 -21
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +18 -18
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +21 -19
- package/dist/fns/aggregationFns.d.ts +21 -19
- package/dist/fns/aggregationFns.js +18 -18
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +51 -65
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +82 -28
- package/dist/fns/filterFns.d.ts +82 -28
- package/dist/fns/filterFns.js +51 -65
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/fns/sortFns.cjs +18 -6
- package/dist/fns/sortFns.cjs.map +1 -1
- package/dist/fns/sortFns.d.cts +15 -13
- package/dist/fns/sortFns.d.ts +15 -13
- package/dist/fns/sortFns.js +18 -6
- package/dist/fns/sortFns.js.map +1 -1
- package/dist/helpers/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +2 -2
- package/dist/helpers/columnHelper.d.ts +2 -2
- package/dist/helpers/columnHelper.js.map +1 -1
- package/dist/helpers/metaHelper.cjs +30 -0
- package/dist/helpers/metaHelper.cjs.map +1 -0
- package/dist/helpers/metaHelper.d.cts +26 -0
- package/dist/helpers/metaHelper.d.ts +26 -0
- package/dist/helpers/metaHelper.js +29 -0
- package/dist/helpers/metaHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +31 -3
- package/dist/helpers/tableFeatures.cjs.map +1 -1
- package/dist/helpers/tableFeatures.d.cts +33 -5
- package/dist/helpers/tableFeatures.d.ts +33 -5
- package/dist/helpers/tableFeatures.js +31 -3
- package/dist/helpers/tableFeatures.js.map +1 -1
- package/dist/index.cjs +4 -20
- package/dist/index.d.cts +50 -49
- package/dist/index.d.ts +50 -49
- package/dist/index.js +23 -22
- package/dist/static-functions.cjs +1 -0
- package/dist/static-functions.d.cts +2 -2
- package/dist/static-functions.d.ts +2 -2
- package/dist/static-functions.js +2 -2
- package/dist/store-reactivity-bindings.cjs +1 -1
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.d.cts +1 -1
- package/dist/store-reactivity-bindings.d.ts +1 -1
- package/dist/store-reactivity-bindings.js +1 -1
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +4 -9
- package/dist/types/Cell.d.ts +4 -9
- package/dist/types/Column.d.cts +11 -18
- package/dist/types/Column.d.ts +11 -18
- package/dist/types/ColumnDef.d.cts +23 -14
- package/dist/types/ColumnDef.d.ts +23 -14
- package/dist/types/Header.d.cts +5 -10
- package/dist/types/Header.d.ts +5 -10
- package/dist/types/HeaderGroup.d.cts +4 -9
- package/dist/types/HeaderGroup.d.ts +4 -9
- package/dist/types/Row.d.cts +7 -12
- package/dist/types/Row.d.ts +7 -12
- package/dist/types/RowModel.d.cts +12 -28
- package/dist/types/RowModel.d.ts +12 -28
- package/dist/types/RowModelFns.d.cts +6 -11
- package/dist/types/RowModelFns.d.ts +6 -11
- package/dist/types/Table.d.cts +26 -36
- package/dist/types/Table.d.ts +26 -36
- package/dist/types/TableFeatures.d.cts +328 -54
- package/dist/types/TableFeatures.d.ts +328 -54
- package/dist/types/TableOptions.d.cts +22 -17
- package/dist/types/TableOptions.d.ts +22 -17
- package/dist/types/TableState.d.cts +11 -16
- package/dist/types/TableState.d.ts +11 -16
- package/dist/utils.cjs +24 -2
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +23 -7
- package/dist/utils.d.ts +23 -7
- package/dist/utils.js +23 -3
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/skills/column-definitions/SKILL.md +3 -6
- package/skills/column-layout/SKILL.md +0 -2
- package/skills/customizing-feature-behavior/SKILL.md +63 -56
- package/skills/filtering/SKILL.md +60 -42
- package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
- package/skills/grouping/SKILL.md +49 -54
- package/skills/migrate-v8-to-v9/SKILL.md +30 -33
- package/skills/pagination/SKILL.md +22 -20
- package/skills/row-expanding/SKILL.md +33 -25
- package/skills/row-pinning/SKILL.md +11 -7
- package/skills/row-selection/SKILL.md +0 -3
- package/skills/setup/SKILL.md +55 -65
- package/skills/sorting/SKILL.md +21 -21
- package/skills/state-management/SKILL.md +40 -25
- package/src/core/cells/coreCellsFeature.ts +17 -39
- package/src/core/cells/coreCellsFeature.types.ts +6 -6
- package/src/core/columns/constructColumn.ts +6 -0
- package/src/core/columns/coreColumnsFeature.ts +56 -83
- package/src/core/columns/coreColumnsFeature.types.ts +8 -8
- package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
- package/src/core/coreFeatures.ts +1 -1
- package/src/core/headers/buildHeaderGroups.ts +4 -2
- package/src/core/headers/coreHeadersFeature.ts +42 -64
- package/src/core/headers/coreHeadersFeature.types.ts +12 -12
- package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
- package/src/core/row-models/coreRowModelsFeature.ts +43 -64
- package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
- package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
- package/src/core/row-models/createCoreRowModel.ts +7 -6
- package/src/core/rows/constructRow.ts +3 -2
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/rows/coreRowsFeature.types.ts +8 -8
- package/src/core/rows/coreRowsFeature.utils.ts +4 -4
- package/src/core/table/constructTable.ts +50 -13
- package/src/core/table/coreTablesFeature.ts +13 -35
- package/src/core/table/coreTablesFeature.types.ts +40 -17
- package/src/core/table/coreTablesFeature.utils.ts +52 -18
- package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
- package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
- package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
- package/src/features/column-filtering/columnFilteringFeature.ts +61 -103
- package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
- package/src/features/column-filtering/createFilteredRowModel.ts +18 -17
- package/src/features/column-filtering/filterRowsUtils.ts +3 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +83 -126
- package/src/features/column-grouping/columnGroupingFeature.types.ts +42 -34
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -2
- package/src/features/column-grouping/createGroupedRowModel.ts +17 -16
- package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
- package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
- package/src/features/column-pinning/columnPinningFeature.ts +268 -304
- package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
- package/src/features/column-pinning/columnPinningFeature.utils.ts +11 -19
- package/src/features/column-resizing/columnResizingFeature.ts +44 -78
- package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
- package/src/features/column-resizing/columnResizingFeature.utils.ts +5 -6
- package/src/features/column-sizing/columnSizingFeature.ts +115 -152
- package/src/features/column-sizing/columnSizingFeature.utils.ts +27 -5
- package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +31 -15
- package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
- package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +5 -3
- package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
- package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
- package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
- package/src/features/row-pagination/createPaginatedRowModel.ts +2 -2
- package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
- package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
- package/src/features/row-pinning/rowPinningFeature.ts +72 -104
- package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +125 -135
- package/src/features/row-selection/rowSelectionFeature.types.ts +17 -7
- package/src/features/row-selection/rowSelectionFeature.utils.ts +144 -66
- package/src/features/row-sorting/createSortedRowModel.ts +12 -15
- package/src/features/row-sorting/rowSortingFeature.ts +73 -114
- package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
- package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
- package/src/fns/aggregationFns.ts +26 -42
- package/src/fns/filterFns.ts +237 -264
- package/src/fns/sortFns.ts +51 -29
- package/src/helpers/columnHelper.ts +4 -4
- package/src/helpers/metaHelper.ts +24 -0
- package/src/helpers/tableFeatures.ts +36 -5
- package/src/index.ts +1 -0
- package/src/store-reactivity-bindings.ts +1 -1
- package/src/types/Cell.ts +5 -21
- package/src/types/Column.ts +12 -26
- package/src/types/ColumnDef.ts +28 -18
- package/src/types/Header.ts +4 -20
- package/src/types/HeaderGroup.ts +7 -18
- package/src/types/Row.ts +6 -21
- package/src/types/RowModel.ts +15 -88
- package/src/types/RowModelFns.ts +9 -24
- package/src/types/Table.ts +54 -44
- package/src/types/TableFeatures.ts +402 -123
- package/src/types/TableOptions.ts +59 -21
- package/src/types/TableState.ts +5 -17
- package/src/utils.ts +40 -8
|
@@ -3,56 +3,45 @@ import { getDefaultExpandedState, row_getCanExpand, row_getIsAllParentsExpanded,
|
|
|
3
3
|
|
|
4
4
|
//#region src/features/row-expanding/rowExpandingFeature.ts
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
6
|
+
* Feature that adds row expansion state and APIs for expandable row trees.
|
|
9
7
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* The stock row expanding feature.
|
|
50
|
-
*
|
|
51
|
-
* Register this feature to add expanded row state, row expansion APIs, and
|
|
52
|
-
* helpers for deriving expanded row models and expansion depth.
|
|
53
|
-
*/
|
|
54
|
-
const rowExpandingFeature = constructRowExpandingFeature();
|
|
8
|
+
const rowExpandingFeature = {
|
|
9
|
+
getInitialState: (initialState) => {
|
|
10
|
+
return {
|
|
11
|
+
expanded: getDefaultExpandedState(),
|
|
12
|
+
...initialState
|
|
13
|
+
};
|
|
14
|
+
},
|
|
15
|
+
getDefaultTableOptions: (table) => {
|
|
16
|
+
return {
|
|
17
|
+
onExpandedChange: makeStateUpdater("expanded", table),
|
|
18
|
+
paginateExpandedRows: true
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
assignRowPrototype: (prototype, table) => {
|
|
22
|
+
assignPrototypeAPIs("rowExpandingFeature", prototype, table, {
|
|
23
|
+
row_toggleExpanded: { fn: (row, expanded) => row_toggleExpanded(row, expanded) },
|
|
24
|
+
row_getIsExpanded: { fn: (row) => row_getIsExpanded(row) },
|
|
25
|
+
row_getCanExpand: { fn: (row) => row_getCanExpand(row) },
|
|
26
|
+
row_getIsAllParentsExpanded: { fn: (row) => row_getIsAllParentsExpanded(row) },
|
|
27
|
+
row_getToggleExpandedHandler: { fn: (row) => row_getToggleExpandedHandler(row) }
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
constructTableAPIs: (table) => {
|
|
31
|
+
assignTableAPIs("rowExpandingFeature", table, {
|
|
32
|
+
table_autoResetExpanded: { fn: () => table_autoResetExpanded(table) },
|
|
33
|
+
table_setExpanded: { fn: (updater) => table_setExpanded(table, updater) },
|
|
34
|
+
table_toggleAllRowsExpanded: { fn: (expanded) => table_toggleAllRowsExpanded(table, expanded) },
|
|
35
|
+
table_resetExpanded: { fn: (defaultState) => table_resetExpanded(table, defaultState) },
|
|
36
|
+
table_getCanSomeRowsExpand: { fn: () => table_getCanSomeRowsExpand(table) },
|
|
37
|
+
table_getToggleAllRowsExpandedHandler: { fn: () => table_getToggleAllRowsExpandedHandler(table) },
|
|
38
|
+
table_getIsSomeRowsExpanded: { fn: () => table_getIsSomeRowsExpanded(table) },
|
|
39
|
+
table_getIsAllRowsExpanded: { fn: () => table_getIsAllRowsExpanded(table) },
|
|
40
|
+
table_getExpandedDepth: { fn: () => table_getExpandedDepth(table) }
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
55
44
|
|
|
56
45
|
//#endregion
|
|
57
|
-
export {
|
|
46
|
+
export { rowExpandingFeature };
|
|
58
47
|
//# sourceMappingURL=rowExpandingFeature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowExpandingFeature.js","names":[],"sources":["../../../src/features/row-expanding/rowExpandingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultExpandedState,\n row_getCanExpand,\n row_getIsAllParentsExpanded,\n row_getIsExpanded,\n row_getToggleExpandedHandler,\n row_toggleExpanded,\n table_autoResetExpanded,\n table_getCanSomeRowsExpand,\n table_getExpandedDepth,\n table_getIsAllRowsExpanded,\n table_getIsSomeRowsExpanded,\n table_getToggleAllRowsExpandedHandler,\n table_resetExpanded,\n table_setExpanded,\n table_toggleAllRowsExpanded,\n} from './rowExpandingFeature.utils'\nimport type {
|
|
1
|
+
{"version":3,"file":"rowExpandingFeature.js","names":[],"sources":["../../../src/features/row-expanding/rowExpandingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultExpandedState,\n row_getCanExpand,\n row_getIsAllParentsExpanded,\n row_getIsExpanded,\n row_getToggleExpandedHandler,\n row_toggleExpanded,\n table_autoResetExpanded,\n table_getCanSomeRowsExpand,\n table_getExpandedDepth,\n table_getIsAllRowsExpanded,\n table_getIsSomeRowsExpanded,\n table_getToggleAllRowsExpandedHandler,\n table_resetExpanded,\n table_setExpanded,\n table_toggleAllRowsExpanded,\n} from './rowExpandingFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds row expansion state and APIs for expandable row trees.\n */\nexport const rowExpandingFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n expanded: getDefaultExpandedState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onExpandedChange: makeStateUpdater('expanded', table),\n paginateExpandedRows: true,\n }\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('rowExpandingFeature', prototype, table, {\n row_toggleExpanded: {\n fn: (row, expanded) => row_toggleExpanded(row, expanded),\n },\n row_getIsExpanded: {\n fn: (row) => row_getIsExpanded(row),\n },\n row_getCanExpand: {\n fn: (row) => row_getCanExpand(row),\n },\n row_getIsAllParentsExpanded: {\n fn: (row) => row_getIsAllParentsExpanded(row),\n },\n row_getToggleExpandedHandler: {\n fn: (row) => row_getToggleExpandedHandler(row),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('rowExpandingFeature', table, {\n table_autoResetExpanded: {\n fn: () => table_autoResetExpanded(table),\n },\n table_setExpanded: {\n fn: (updater) => table_setExpanded(table, updater),\n },\n table_toggleAllRowsExpanded: {\n fn: (expanded) => table_toggleAllRowsExpanded(table, expanded),\n },\n table_resetExpanded: {\n fn: (defaultState) => table_resetExpanded(table, defaultState),\n },\n table_getCanSomeRowsExpand: {\n fn: () => table_getCanSomeRowsExpand(table),\n },\n table_getToggleAllRowsExpandedHandler: {\n fn: () => table_getToggleAllRowsExpandedHandler(table),\n },\n table_getIsSomeRowsExpanded: {\n fn: () => table_getIsSomeRowsExpanded(table),\n },\n table_getIsAllRowsExpanded: {\n fn: () => table_getIsAllRowsExpanded(table),\n },\n table_getExpandedDepth: {\n fn: () => table_getExpandedDepth(table),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AA2BA,MAAa,sBAAoC;CAC/C,kBAAkB,iBAAiB;EACjC,OAAO;GACL,UAAU,wBAAwB;GAClC,GAAG;EACL;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO;GACL,kBAAkB,iBAAiB,YAAY,KAAK;GACpD,sBAAsB;EACxB;CACF;CAEA,qBAAqB,WAAW,UAAU;EACxC,oBAAoB,uBAAuB,WAAW,OAAO;GAC3D,oBAAoB,EAClB,KAAK,KAAK,aAAa,mBAAmB,KAAK,QAAQ,EACzD;GACA,mBAAmB,EACjB,KAAK,QAAQ,kBAAkB,GAAG,EACpC;GACA,kBAAkB,EAChB,KAAK,QAAQ,iBAAiB,GAAG,EACnC;GACA,6BAA6B,EAC3B,KAAK,QAAQ,4BAA4B,GAAG,EAC9C;GACA,8BAA8B,EAC5B,KAAK,QAAQ,6BAA6B,GAAG,EAC/C;EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,uBAAuB,OAAO;GAC5C,yBAAyB,EACvB,UAAU,wBAAwB,KAAK,EACzC;GACA,mBAAmB,EACjB,KAAK,YAAY,kBAAkB,OAAO,OAAO,EACnD;GACA,6BAA6B,EAC3B,KAAK,aAAa,4BAA4B,OAAO,QAAQ,EAC/D;GACA,qBAAqB,EACnB,KAAK,iBAAiB,oBAAoB,OAAO,YAAY,EAC/D;GACA,4BAA4B,EAC1B,UAAU,2BAA2B,KAAK,EAC5C;GACA,uCAAuC,EACrC,UAAU,sCAAsC,KAAK,EACvD;GACA,6BAA6B,EAC3B,UAAU,4BAA4B,KAAK,EAC7C;GACA,4BAA4B,EAC1B,UAAU,2BAA2B,KAAK,EAC5C;GACA,wBAAwB,EACtB,UAAU,uBAAuB,KAAK,EACxC;EACF,CAAC;CACH;AACF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { OnChangeFn, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
2
|
import { Row } from "../../types/Row.cjs";
|
|
3
3
|
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
4
|
-
import { Table } from "../../types/Table.cjs";
|
|
5
4
|
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
|
|
6
5
|
|
|
7
6
|
//#region src/features/row-expanding/rowExpandingFeature.types.d.ts
|
|
@@ -32,7 +31,7 @@ interface Row_RowExpanding {
|
|
|
32
31
|
*/
|
|
33
32
|
toggleExpanded: (expanded?: boolean) => void;
|
|
34
33
|
}
|
|
35
|
-
interface TableOptions_RowExpanding<TFeatures extends TableFeatures, TData extends RowData> {
|
|
34
|
+
interface TableOptions_RowExpanding<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
36
35
|
/**
|
|
37
36
|
* Enables automatic expanded-state resets when page-altering table state changes.
|
|
38
37
|
*/
|
|
@@ -64,7 +63,7 @@ interface TableOptions_RowExpanding<TFeatures extends TableFeatures, TData exten
|
|
|
64
63
|
*/
|
|
65
64
|
paginateExpandedRows?: boolean;
|
|
66
65
|
}
|
|
67
|
-
interface Table_RowExpanding<TFeatures extends TableFeatures, TData extends RowData> {
|
|
66
|
+
interface Table_RowExpanding<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
68
67
|
autoResetExpanded: () => void;
|
|
69
68
|
/**
|
|
70
69
|
* Checks whether at least one row can be expanded.
|
|
@@ -101,7 +100,7 @@ interface Table_RowExpanding<TFeatures extends TableFeatures, TData extends RowD
|
|
|
101
100
|
*/
|
|
102
101
|
toggleAllRowsExpanded: (expanded?: boolean) => void;
|
|
103
102
|
}
|
|
104
|
-
interface Table_RowModels_Expanded<TFeatures extends TableFeatures, TData extends RowData> {
|
|
103
|
+
interface Table_RowModels_Expanded<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
105
104
|
/**
|
|
106
105
|
* Resolves the row model after expanded rows have been flattened into view.
|
|
107
106
|
*/
|
|
@@ -111,17 +110,9 @@ interface Table_RowModels_Expanded<TFeatures extends TableFeatures, TData extend
|
|
|
111
110
|
*/
|
|
112
111
|
getPreExpandedRowModel: () => RowModel<TFeatures, TData>;
|
|
113
112
|
}
|
|
114
|
-
interface
|
|
115
|
-
/**
|
|
116
|
-
* Factory used to retrieve the expanded row model. If this function is not
|
|
117
|
-
* provided, the table will not expand rows. To use client-side expansion,
|
|
118
|
-
* pass `createExpandedRowModel()` or implement your own factory.
|
|
119
|
-
*/
|
|
120
|
-
expandedRowModel?: (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
121
|
-
}
|
|
122
|
-
interface CachedRowModel_Expanded<TFeatures extends TableFeatures, TData extends RowData> {
|
|
113
|
+
interface CachedRowModel_Expanded<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
123
114
|
expandedRowModel: () => RowModel<TFeatures, TData>;
|
|
124
115
|
}
|
|
125
116
|
//#endregion
|
|
126
|
-
export { CachedRowModel_Expanded,
|
|
117
|
+
export { CachedRowModel_Expanded, ExpandedState, ExpandedStateList, Row_RowExpanding, TableOptions_RowExpanding, TableState_RowExpanding, Table_RowExpanding, Table_RowModels_Expanded };
|
|
127
118
|
//# sourceMappingURL=rowExpandingFeature.types.d.cts.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { OnChangeFn, RowData, Updater } from "../../types/type-utils.js";
|
|
2
2
|
import { Row } from "../../types/Row.js";
|
|
3
3
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
4
|
-
import { Table } from "../../types/Table.js";
|
|
5
4
|
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
|
|
6
5
|
|
|
7
6
|
//#region src/features/row-expanding/rowExpandingFeature.types.d.ts
|
|
@@ -32,7 +31,7 @@ interface Row_RowExpanding {
|
|
|
32
31
|
*/
|
|
33
32
|
toggleExpanded: (expanded?: boolean) => void;
|
|
34
33
|
}
|
|
35
|
-
interface TableOptions_RowExpanding<TFeatures extends TableFeatures, TData extends RowData> {
|
|
34
|
+
interface TableOptions_RowExpanding<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
36
35
|
/**
|
|
37
36
|
* Enables automatic expanded-state resets when page-altering table state changes.
|
|
38
37
|
*/
|
|
@@ -64,7 +63,7 @@ interface TableOptions_RowExpanding<TFeatures extends TableFeatures, TData exten
|
|
|
64
63
|
*/
|
|
65
64
|
paginateExpandedRows?: boolean;
|
|
66
65
|
}
|
|
67
|
-
interface Table_RowExpanding<TFeatures extends TableFeatures, TData extends RowData> {
|
|
66
|
+
interface Table_RowExpanding<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
68
67
|
autoResetExpanded: () => void;
|
|
69
68
|
/**
|
|
70
69
|
* Checks whether at least one row can be expanded.
|
|
@@ -101,7 +100,7 @@ interface Table_RowExpanding<TFeatures extends TableFeatures, TData extends RowD
|
|
|
101
100
|
*/
|
|
102
101
|
toggleAllRowsExpanded: (expanded?: boolean) => void;
|
|
103
102
|
}
|
|
104
|
-
interface Table_RowModels_Expanded<TFeatures extends TableFeatures, TData extends RowData> {
|
|
103
|
+
interface Table_RowModels_Expanded<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
105
104
|
/**
|
|
106
105
|
* Resolves the row model after expanded rows have been flattened into view.
|
|
107
106
|
*/
|
|
@@ -111,17 +110,9 @@ interface Table_RowModels_Expanded<TFeatures extends TableFeatures, TData extend
|
|
|
111
110
|
*/
|
|
112
111
|
getPreExpandedRowModel: () => RowModel<TFeatures, TData>;
|
|
113
112
|
}
|
|
114
|
-
interface
|
|
115
|
-
/**
|
|
116
|
-
* Factory used to retrieve the expanded row model. If this function is not
|
|
117
|
-
* provided, the table will not expand rows. To use client-side expansion,
|
|
118
|
-
* pass `createExpandedRowModel()` or implement your own factory.
|
|
119
|
-
*/
|
|
120
|
-
expandedRowModel?: (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
121
|
-
}
|
|
122
|
-
interface CachedRowModel_Expanded<TFeatures extends TableFeatures, TData extends RowData> {
|
|
113
|
+
interface CachedRowModel_Expanded<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
123
114
|
expandedRowModel: () => RowModel<TFeatures, TData>;
|
|
124
115
|
}
|
|
125
116
|
//#endregion
|
|
126
|
-
export { CachedRowModel_Expanded,
|
|
117
|
+
export { CachedRowModel_Expanded, ExpandedState, ExpandedStateList, Row_RowExpanding, TableOptions_RowExpanding, TableState_RowExpanding, Table_RowExpanding, Table_RowModels_Expanded };
|
|
127
118
|
//# sourceMappingURL=rowExpandingFeature.types.d.ts.map
|
|
@@ -13,7 +13,7 @@ const require_utils = require('../../utils.cjs');
|
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
15
|
function getDefaultExpandedState() {
|
|
16
|
-
return
|
|
16
|
+
return require_utils.makeObjectMap();
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Schedules an expanded-state reset after row-structure changes.
|
|
@@ -59,7 +59,7 @@ function table_setExpanded(table, updater) {
|
|
|
59
59
|
*/
|
|
60
60
|
function table_toggleAllRowsExpanded(table, expanded) {
|
|
61
61
|
if (expanded ?? !table_getIsAllRowsExpanded(table)) table_setExpanded(table, true);
|
|
62
|
-
else table_setExpanded(table,
|
|
62
|
+
else table_setExpanded(table, require_utils.makeObjectMap());
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Resets `expanded` to the configured initial state or feature default.
|
|
@@ -74,7 +74,8 @@ function table_toggleAllRowsExpanded(table, expanded) {
|
|
|
74
74
|
* ```
|
|
75
75
|
*/
|
|
76
76
|
function table_resetExpanded(table, defaultState) {
|
|
77
|
-
|
|
77
|
+
const initialExpanded = table.initialState.expanded;
|
|
78
|
+
table_setExpanded(table, defaultState ? require_utils.makeObjectMap() : initialExpanded === true ? true : Object.assign(require_utils.makeObjectMap(), require_utils.cloneState(initialExpanded ?? {})));
|
|
78
79
|
}
|
|
79
80
|
/**
|
|
80
81
|
* Checks whether at least one pre-paginated row can expand.
|
|
@@ -176,19 +177,24 @@ function table_getExpandedDepth(table) {
|
|
|
176
177
|
*/
|
|
177
178
|
function row_toggleExpanded(row, expanded) {
|
|
178
179
|
table_setExpanded(row.table, (old) => {
|
|
179
|
-
const exists = old === true ? true :
|
|
180
|
-
let oldExpanded =
|
|
180
|
+
const exists = old === true ? true : isExpandedRowId(old, row.id);
|
|
181
|
+
let oldExpanded = require_utils.makeObjectMap();
|
|
181
182
|
if (old === true) Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {
|
|
182
183
|
oldExpanded[rowId] = true;
|
|
183
184
|
});
|
|
184
|
-
else oldExpanded = old;
|
|
185
|
+
else oldExpanded = Object.assign(require_utils.makeObjectMap(), old);
|
|
185
186
|
expanded = expanded ?? !exists;
|
|
186
|
-
if (!exists && expanded)
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
187
|
+
if (!exists && expanded) {
|
|
188
|
+
oldExpanded[row.id] = true;
|
|
189
|
+
return oldExpanded;
|
|
190
|
+
}
|
|
190
191
|
if (exists && !expanded) {
|
|
191
|
-
const
|
|
192
|
+
const rest = require_utils.makeObjectMap();
|
|
193
|
+
const rowIds = Object.keys(oldExpanded);
|
|
194
|
+
for (let i = 0; i < rowIds.length; i++) {
|
|
195
|
+
const rowId = rowIds[i];
|
|
196
|
+
if (rowId !== row.id && oldExpanded[rowId]) rest[rowId] = true;
|
|
197
|
+
}
|
|
192
198
|
return rest;
|
|
193
199
|
}
|
|
194
200
|
return old;
|
|
@@ -208,7 +214,10 @@ function row_toggleExpanded(row, expanded) {
|
|
|
208
214
|
function row_getIsExpanded(row) {
|
|
209
215
|
var _row$table$atoms$expa, _row$table$options$ge, _row$table$options;
|
|
210
216
|
const expanded = ((_row$table$atoms$expa = row.table.atoms.expanded) === null || _row$table$atoms$expa === void 0 ? void 0 : _row$table$atoms$expa.get()) ?? {};
|
|
211
|
-
return !!(((_row$table$options$ge = (_row$table$options = row.table.options).getIsRowExpanded) === null || _row$table$options$ge === void 0 ? void 0 : _row$table$options$ge.call(_row$table$options, row)) ?? (expanded === true || expanded
|
|
217
|
+
return !!(((_row$table$options$ge = (_row$table$options = row.table.options).getIsRowExpanded) === null || _row$table$options$ge === void 0 ? void 0 : _row$table$options$ge.call(_row$table$options, row)) ?? (expanded === true || isExpandedRowId(expanded, row.id)));
|
|
218
|
+
}
|
|
219
|
+
function isExpandedRowId(expanded, rowId) {
|
|
220
|
+
return !!(expanded && expanded !== true && require_utils.hasOwn(expanded, rowId) && expanded[rowId]);
|
|
212
221
|
}
|
|
213
222
|
/**
|
|
214
223
|
* Checks whether this row can be expanded.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowExpandingFeature.utils.cjs","names":["cloneState"],"sources":["../../../src/features/row-expanding/rowExpandingFeature.utils.ts"],"sourcesContent":["import { cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n ExpandedState,\n ExpandedStateList,\n} from './rowExpandingFeature.types'\n\n/**\n * Creates the default expanded state.\n *\n * The feature default is an empty map, meaning no rows are expanded. Reset APIs\n * use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const expanded = getDefaultExpandedState()\n * ```\n */\nexport function getDefaultExpandedState(): ExpandedState {\n return {}\n}\n\n/**\n * Schedules an expanded-state reset after row-structure changes.\n *\n * The reset runs when `autoResetAll`, `autoResetExpanded`, or the default\n * client-side expanding behavior allows it. Manual expanding opts out unless\n * the reset options explicitly opt back in.\n *\n * @example\n * ```ts\n * table_autoResetExpanded(table)\n * ```\n */\nexport function table_autoResetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n if (\n table.options.autoResetAll ??\n table.options.autoResetExpanded ??\n !table.options.manualExpanding\n ) {\n table._reactivity.schedule(() => table_resetExpanded(table))\n }\n}\n\n/**\n * Routes an expanded-state updater through the table's expanded change handler.\n *\n * The updater may be `true`, a row-id map, or a function of the previous\n * expanded state, matching the instance `table.setExpanded` behavior.\n *\n * @example\n * ```ts\n * table_setExpanded(table, (old) => ({ ...old, [rowId]: true }))\n * ```\n */\nexport function table_setExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ExpandedState>) {\n table.options.onExpandedChange?.(updater)\n}\n\n/**\n * Expands or collapses every row.\n *\n * Passing `true` stores the special expanded-all state. Passing `false` stores\n * an empty map. Omitting the value toggles based on whether all rows are\n * currently expanded.\n *\n * @example\n * ```ts\n * table_toggleAllRowsExpanded(table)\n * ```\n */\nexport function table_toggleAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, expanded?: boolean) {\n if (expanded ?? !table_getIsAllRowsExpanded(table)) {\n table_setExpanded(table, true)\n } else {\n table_setExpanded(table, {})\n }\n}\n\n/**\n * Resets `expanded` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.expanded` when it\n * exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetExpanded(table)\n * table_resetExpanded(table, true)\n * ```\n */\nexport function table_resetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setExpanded(\n table,\n defaultState ? {} : cloneState(table.initialState.expanded ?? {}),\n )\n}\n\n/**\n * Checks whether at least one pre-paginated row can expand.\n *\n * Pagination is intentionally ignored so controls can reflect expandable rows\n * that may not be on the current page.\n *\n * @example\n * ```ts\n * const canExpand = table_getCanSomeRowsExpand(table)\n * ```\n */\nexport function table_getCanSomeRowsExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getPrePaginatedRowModel()\n .flatRows.some((row) => row_getCanExpand(row))\n}\n\n/**\n * Creates an event handler that toggles all rows expanded.\n *\n * React-style synthetic events are persisted when present before the table state\n * is toggled.\n *\n * @example\n * ```ts\n * const onClick = table_getToggleAllRowsExpandedHandler(table)\n * ```\n */\nexport function table_getToggleAllRowsExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n ;(e as any).persist?.()\n table_toggleAllRowsExpanded(table)\n }\n}\n\n/**\n * Checks whether any row is expanded.\n *\n * The special expanded-all value `true` counts as some rows expanded.\n *\n * @example\n * ```ts\n * const someExpanded = table_getIsSomeRowsExpanded(table)\n * ```\n */\nexport function table_getIsSomeRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n return expanded === true || Object.values(expanded).some(Boolean)\n}\n\n/**\n * Checks whether every row in the current row model is expanded.\n *\n * The special expanded-all value `true` returns true immediately. Empty\n * expanded state returns false.\n *\n * @example\n * ```ts\n * const allExpanded = table_getIsAllRowsExpanded(table)\n * ```\n */\nexport function table_getIsAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n if (!Object.keys(expanded).length) {\n return false\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some((row) => !row_getIsExpanded(row))) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n}\n\n/**\n * Computes the deepest expanded row id depth.\n *\n * Row ids are split on `.`; expanded-all state scans the current row model,\n * while explicit expanded state scans its expanded id keys.\n *\n * @example\n * ```ts\n * const depth = table_getExpandedDepth(table)\n * ```\n */\nexport function table_getExpandedDepth<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n let maxDepth = 0\n\n const rowIds =\n table.atoms.expanded?.get() === true\n ? Object.keys(table.getRowModel().rowsById)\n : Object.keys(table.atoms.expanded?.get() ?? {})\n\n rowIds.forEach((id) => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n\n/**\n * Expands or collapses this row.\n *\n * Omitting `expanded` toggles the row. If the current state is expanded-all,\n * the function first materializes that state into a row-id map before applying\n * the row-specific change.\n *\n * @example\n * ```ts\n * row_toggleExpanded(row)\n * ```\n */\nexport function row_toggleExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>, expanded?: boolean) {\n table_setExpanded(row.table, (old) => {\n const exists = old === true ? true : !!old[row.id]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [row.id]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n}\n\n/**\n * Checks whether this row is expanded.\n *\n * `options.getIsRowExpanded` can override state-derived behavior. Otherwise\n * the row is expanded when expanded state is `true` or contains this row id.\n *\n * @example\n * ```ts\n * const expanded = row_getIsExpanded(row)\n * ```\n */\nexport function row_getIsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const expanded: ExpandedState = row.table.atoms.expanded?.get() ?? {}\n\n return !!(\n row.table.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded[row.id])\n )\n}\n\n/**\n * Checks whether this row can be expanded.\n *\n * `options.getRowCanExpand` wins when provided. Otherwise rows can expand when\n * expanding is enabled and the row has subRows.\n *\n * @example\n * ```ts\n * const canExpand = row_getCanExpand(row)\n * ```\n */\nexport function row_getCanExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return (\n row.table.options.getRowCanExpand?.(row) ??\n ((row.table.options.enableExpanding ?? true) && !!row.subRows.length)\n )\n}\n\n/**\n * Checks whether every ancestor of this row is expanded.\n *\n * The current row is not considered; only its parent chain is walked.\n *\n * @example\n * ```ts\n * const parentsExpanded = row_getIsAllParentsExpanded(row)\n * ```\n */\nexport function row_getIsAllParentsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n let isFullyExpanded = true\n let currentRow = row\n\n while (isFullyExpanded && currentRow.parentId) {\n currentRow = row.table.getRow(currentRow.parentId, true)\n isFullyExpanded = row_getIsExpanded(currentRow)\n }\n\n return isFullyExpanded\n}\n\n/**\n * Creates a row control handler that toggles this row's expanded state.\n *\n * The handler is a no-op when the row cannot expand.\n *\n * @example\n * ```ts\n * const onClick = row_getToggleExpandedHandler(row)\n * ```\n */\nexport function row_getToggleExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canExpand = row_getCanExpand(row)\n\n return () => {\n if (!canExpand) return\n row_toggleExpanded(row)\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rowExpandingFeature.utils.cjs","names":["makeObjectMap","cloneState","hasOwn"],"sources":["../../../src/features/row-expanding/rowExpandingFeature.utils.ts"],"sourcesContent":["import { cloneState, hasOwn, makeObjectMap } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n ExpandedState,\n ExpandedStateList,\n} from './rowExpandingFeature.types'\n\n/**\n * Creates the default expanded state.\n *\n * The feature default is an empty map, meaning no rows are expanded. Reset APIs\n * use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const expanded = getDefaultExpandedState()\n * ```\n */\nexport function getDefaultExpandedState(): ExpandedState {\n return makeObjectMap()\n}\n\n/**\n * Schedules an expanded-state reset after row-structure changes.\n *\n * The reset runs when `autoResetAll`, `autoResetExpanded`, or the default\n * client-side expanding behavior allows it. Manual expanding opts out unless\n * the reset options explicitly opt back in.\n *\n * @example\n * ```ts\n * table_autoResetExpanded(table)\n * ```\n */\nexport function table_autoResetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n if (\n table.options.autoResetAll ??\n table.options.autoResetExpanded ??\n !table.options.manualExpanding\n ) {\n table._reactivity.schedule(() => table_resetExpanded(table))\n }\n}\n\n/**\n * Routes an expanded-state updater through the table's expanded change handler.\n *\n * The updater may be `true`, a row-id map, or a function of the previous\n * expanded state, matching the instance `table.setExpanded` behavior.\n *\n * @example\n * ```ts\n * table_setExpanded(table, (old) => ({ ...old, [rowId]: true }))\n * ```\n */\nexport function table_setExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ExpandedState>) {\n table.options.onExpandedChange?.(updater)\n}\n\n/**\n * Expands or collapses every row.\n *\n * Passing `true` stores the special expanded-all state. Passing `false` stores\n * an empty map. Omitting the value toggles based on whether all rows are\n * currently expanded.\n *\n * @example\n * ```ts\n * table_toggleAllRowsExpanded(table)\n * ```\n */\nexport function table_toggleAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, expanded?: boolean) {\n if (expanded ?? !table_getIsAllRowsExpanded(table)) {\n table_setExpanded(table, true)\n } else {\n table_setExpanded(table, makeObjectMap())\n }\n}\n\n/**\n * Resets `expanded` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.expanded` when it\n * exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetExpanded(table)\n * table_resetExpanded(table, true)\n * ```\n */\nexport function table_resetExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n const initialExpanded = table.initialState.expanded\n table_setExpanded(\n table,\n defaultState\n ? makeObjectMap()\n : initialExpanded === true\n ? true\n : Object.assign(\n makeObjectMap<boolean | undefined>(),\n cloneState(initialExpanded ?? {}),\n ),\n )\n}\n\n/**\n * Checks whether at least one pre-paginated row can expand.\n *\n * Pagination is intentionally ignored so controls can reflect expandable rows\n * that may not be on the current page.\n *\n * @example\n * ```ts\n * const canExpand = table_getCanSomeRowsExpand(table)\n * ```\n */\nexport function table_getCanSomeRowsExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getPrePaginatedRowModel()\n .flatRows.some((row) => row_getCanExpand(row))\n}\n\n/**\n * Creates an event handler that toggles all rows expanded.\n *\n * React-style synthetic events are persisted when present before the table state\n * is toggled.\n *\n * @example\n * ```ts\n * const onClick = table_getToggleAllRowsExpandedHandler(table)\n * ```\n */\nexport function table_getToggleAllRowsExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n ;(e as any).persist?.()\n table_toggleAllRowsExpanded(table)\n }\n}\n\n/**\n * Checks whether any row is expanded.\n *\n * The special expanded-all value `true` counts as some rows expanded.\n *\n * @example\n * ```ts\n * const someExpanded = table_getIsSomeRowsExpanded(table)\n * ```\n */\nexport function table_getIsSomeRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n return expanded === true || Object.values(expanded).some(Boolean)\n}\n\n/**\n * Checks whether every row in the current row model is expanded.\n *\n * The special expanded-all value `true` returns true immediately. Empty\n * expanded state returns false.\n *\n * @example\n * ```ts\n * const allExpanded = table_getIsAllRowsExpanded(table)\n * ```\n */\nexport function table_getIsAllRowsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const expanded = table.atoms.expanded?.get() ?? {}\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n if (!Object.keys(expanded).length) {\n return false\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some((row) => !row_getIsExpanded(row))) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n}\n\n/**\n * Computes the deepest expanded row id depth.\n *\n * Row ids are split on `.`; expanded-all state scans the current row model,\n * while explicit expanded state scans its expanded id keys.\n *\n * @example\n * ```ts\n * const depth = table_getExpandedDepth(table)\n * ```\n */\nexport function table_getExpandedDepth<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n let maxDepth = 0\n\n const rowIds =\n table.atoms.expanded?.get() === true\n ? Object.keys(table.getRowModel().rowsById)\n : Object.keys(table.atoms.expanded?.get() ?? {})\n\n rowIds.forEach((id) => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n\n/**\n * Expands or collapses this row.\n *\n * Omitting `expanded` toggles the row. If the current state is expanded-all,\n * the function first materializes that state into a row-id map before applying\n * the row-specific change.\n *\n * @example\n * ```ts\n * row_toggleExpanded(row)\n * ```\n */\nexport function row_toggleExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>, expanded?: boolean) {\n table_setExpanded(row.table, (old) => {\n const exists = old === true ? true : isExpandedRowId(old, row.id)\n\n let oldExpanded: ExpandedStateList = makeObjectMap()\n\n if (old === true) {\n Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = Object.assign(makeObjectMap<boolean | undefined>(), old)\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n oldExpanded[row.id] = true\n return oldExpanded\n }\n\n if (exists && !expanded) {\n const rest: ExpandedStateList = makeObjectMap()\n const rowIds = Object.keys(oldExpanded)\n for (let i = 0; i < rowIds.length; i++) {\n const rowId = rowIds[i]!\n if (rowId !== row.id && oldExpanded[rowId]) {\n rest[rowId] = true\n }\n }\n return rest\n }\n\n return old\n })\n}\n\n/**\n * Checks whether this row is expanded.\n *\n * `options.getIsRowExpanded` can override state-derived behavior. Otherwise\n * the row is expanded when expanded state is `true` or contains this row id.\n *\n * @example\n * ```ts\n * const expanded = row_getIsExpanded(row)\n * ```\n */\nexport function row_getIsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const expanded: ExpandedState = row.table.atoms.expanded?.get() ?? {}\n\n return !!(\n row.table.options.getIsRowExpanded?.(row) ??\n (expanded === true || isExpandedRowId(expanded, row.id))\n )\n}\n\nfunction isExpandedRowId(\n expanded: ExpandedState | undefined,\n rowId: string,\n): boolean {\n return !!(\n expanded &&\n expanded !== true &&\n hasOwn(expanded, rowId) &&\n expanded[rowId]\n )\n}\n\n/**\n * Checks whether this row can be expanded.\n *\n * `options.getRowCanExpand` wins when provided. Otherwise rows can expand when\n * expanding is enabled and the row has subRows.\n *\n * @example\n * ```ts\n * const canExpand = row_getCanExpand(row)\n * ```\n */\nexport function row_getCanExpand<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return (\n row.table.options.getRowCanExpand?.(row) ??\n ((row.table.options.enableExpanding ?? true) && !!row.subRows.length)\n )\n}\n\n/**\n * Checks whether every ancestor of this row is expanded.\n *\n * The current row is not considered; only its parent chain is walked.\n *\n * @example\n * ```ts\n * const parentsExpanded = row_getIsAllParentsExpanded(row)\n * ```\n */\nexport function row_getIsAllParentsExpanded<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n let isFullyExpanded = true\n let currentRow = row\n\n while (isFullyExpanded && currentRow.parentId) {\n currentRow = row.table.getRow(currentRow.parentId, true)\n isFullyExpanded = row_getIsExpanded(currentRow)\n }\n\n return isFullyExpanded\n}\n\n/**\n * Creates a row control handler that toggles this row's expanded state.\n *\n * The handler is a no-op when the row cannot expand.\n *\n * @example\n * ```ts\n * const onClick = row_getToggleExpandedHandler(row)\n * ```\n */\nexport function row_getToggleExpandedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canExpand = row_getCanExpand(row)\n\n return () => {\n if (!canExpand) return\n row_toggleExpanded(row)\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
2
|
import { ExpandedState } from "./rowExpandingFeature.types.cjs";
|
|
3
3
|
import { Row } from "../../types/Row.cjs";
|
|
4
|
+
import { Table } from "../../types/Table.cjs";
|
|
4
5
|
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
5
|
-
import { Table_Internal } from "../../types/Table.cjs";
|
|
6
6
|
|
|
7
7
|
//#region src/features/row-expanding/rowExpandingFeature.utils.d.ts
|
|
8
8
|
/**
|
|
@@ -29,7 +29,7 @@ declare function getDefaultExpandedState(): ExpandedState;
|
|
|
29
29
|
* table_autoResetExpanded(table)
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
declare function table_autoResetExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
32
|
+
declare function table_autoResetExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): void;
|
|
33
33
|
/**
|
|
34
34
|
* Routes an expanded-state updater through the table's expanded change handler.
|
|
35
35
|
*
|
|
@@ -41,7 +41,7 @@ declare function table_autoResetExpanded<TFeatures extends TableFeatures, TData
|
|
|
41
41
|
* table_setExpanded(table, (old) => ({ ...old, [rowId]: true }))
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
44
|
-
declare function table_setExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
44
|
+
declare function table_setExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ExpandedState>): void;
|
|
45
45
|
/**
|
|
46
46
|
* Expands or collapses every row.
|
|
47
47
|
*
|
|
@@ -54,7 +54,7 @@ declare function table_setExpanded<TFeatures extends TableFeatures, TData extend
|
|
|
54
54
|
* table_toggleAllRowsExpanded(table)
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
|
-
declare function table_toggleAllRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
57
|
+
declare function table_toggleAllRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, expanded?: boolean): void;
|
|
58
58
|
/**
|
|
59
59
|
* Resets `expanded` to the configured initial state or feature default.
|
|
60
60
|
*
|
|
@@ -67,7 +67,7 @@ declare function table_toggleAllRowsExpanded<TFeatures extends TableFeatures, TD
|
|
|
67
67
|
* table_resetExpanded(table, true)
|
|
68
68
|
* ```
|
|
69
69
|
*/
|
|
70
|
-
declare function table_resetExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
70
|
+
declare function table_resetExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
71
71
|
/**
|
|
72
72
|
* Checks whether at least one pre-paginated row can expand.
|
|
73
73
|
*
|
|
@@ -79,7 +79,7 @@ declare function table_resetExpanded<TFeatures extends TableFeatures, TData exte
|
|
|
79
79
|
* const canExpand = table_getCanSomeRowsExpand(table)
|
|
80
80
|
* ```
|
|
81
81
|
*/
|
|
82
|
-
declare function table_getCanSomeRowsExpand<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
82
|
+
declare function table_getCanSomeRowsExpand<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
83
83
|
/**
|
|
84
84
|
* Creates an event handler that toggles all rows expanded.
|
|
85
85
|
*
|
|
@@ -91,7 +91,7 @@ declare function table_getCanSomeRowsExpand<TFeatures extends TableFeatures, TDa
|
|
|
91
91
|
* const onClick = table_getToggleAllRowsExpandedHandler(table)
|
|
92
92
|
* ```
|
|
93
93
|
*/
|
|
94
|
-
declare function table_getToggleAllRowsExpandedHandler<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
94
|
+
declare function table_getToggleAllRowsExpandedHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): (e: unknown) => void;
|
|
95
95
|
/**
|
|
96
96
|
* Checks whether any row is expanded.
|
|
97
97
|
*
|
|
@@ -102,7 +102,7 @@ declare function table_getToggleAllRowsExpandedHandler<TFeatures extends TableFe
|
|
|
102
102
|
* const someExpanded = table_getIsSomeRowsExpanded(table)
|
|
103
103
|
* ```
|
|
104
104
|
*/
|
|
105
|
-
declare function table_getIsSomeRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
105
|
+
declare function table_getIsSomeRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
106
106
|
/**
|
|
107
107
|
* Checks whether every row in the current row model is expanded.
|
|
108
108
|
*
|
|
@@ -114,7 +114,7 @@ declare function table_getIsSomeRowsExpanded<TFeatures extends TableFeatures, TD
|
|
|
114
114
|
* const allExpanded = table_getIsAllRowsExpanded(table)
|
|
115
115
|
* ```
|
|
116
116
|
*/
|
|
117
|
-
declare function table_getIsAllRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
117
|
+
declare function table_getIsAllRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
118
118
|
/**
|
|
119
119
|
* Computes the deepest expanded row id depth.
|
|
120
120
|
*
|
|
@@ -126,7 +126,7 @@ declare function table_getIsAllRowsExpanded<TFeatures extends TableFeatures, TDa
|
|
|
126
126
|
* const depth = table_getExpandedDepth(table)
|
|
127
127
|
* ```
|
|
128
128
|
*/
|
|
129
|
-
declare function table_getExpandedDepth<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
129
|
+
declare function table_getExpandedDepth<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
130
130
|
/**
|
|
131
131
|
* Expands or collapses this row.
|
|
132
132
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RowData, Updater } from "../../types/type-utils.js";
|
|
2
2
|
import { ExpandedState } from "./rowExpandingFeature.types.js";
|
|
3
3
|
import { Row } from "../../types/Row.js";
|
|
4
|
+
import { Table } from "../../types/Table.js";
|
|
4
5
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
5
|
-
import { Table_Internal } from "../../types/Table.js";
|
|
6
6
|
|
|
7
7
|
//#region src/features/row-expanding/rowExpandingFeature.utils.d.ts
|
|
8
8
|
/**
|
|
@@ -29,7 +29,7 @@ declare function getDefaultExpandedState(): ExpandedState;
|
|
|
29
29
|
* table_autoResetExpanded(table)
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
declare function table_autoResetExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
32
|
+
declare function table_autoResetExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): void;
|
|
33
33
|
/**
|
|
34
34
|
* Routes an expanded-state updater through the table's expanded change handler.
|
|
35
35
|
*
|
|
@@ -41,7 +41,7 @@ declare function table_autoResetExpanded<TFeatures extends TableFeatures, TData
|
|
|
41
41
|
* table_setExpanded(table, (old) => ({ ...old, [rowId]: true }))
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
44
|
-
declare function table_setExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
44
|
+
declare function table_setExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ExpandedState>): void;
|
|
45
45
|
/**
|
|
46
46
|
* Expands or collapses every row.
|
|
47
47
|
*
|
|
@@ -54,7 +54,7 @@ declare function table_setExpanded<TFeatures extends TableFeatures, TData extend
|
|
|
54
54
|
* table_toggleAllRowsExpanded(table)
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
|
-
declare function table_toggleAllRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
57
|
+
declare function table_toggleAllRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, expanded?: boolean): void;
|
|
58
58
|
/**
|
|
59
59
|
* Resets `expanded` to the configured initial state or feature default.
|
|
60
60
|
*
|
|
@@ -67,7 +67,7 @@ declare function table_toggleAllRowsExpanded<TFeatures extends TableFeatures, TD
|
|
|
67
67
|
* table_resetExpanded(table, true)
|
|
68
68
|
* ```
|
|
69
69
|
*/
|
|
70
|
-
declare function table_resetExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
70
|
+
declare function table_resetExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
71
71
|
/**
|
|
72
72
|
* Checks whether at least one pre-paginated row can expand.
|
|
73
73
|
*
|
|
@@ -79,7 +79,7 @@ declare function table_resetExpanded<TFeatures extends TableFeatures, TData exte
|
|
|
79
79
|
* const canExpand = table_getCanSomeRowsExpand(table)
|
|
80
80
|
* ```
|
|
81
81
|
*/
|
|
82
|
-
declare function table_getCanSomeRowsExpand<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
82
|
+
declare function table_getCanSomeRowsExpand<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
83
83
|
/**
|
|
84
84
|
* Creates an event handler that toggles all rows expanded.
|
|
85
85
|
*
|
|
@@ -91,7 +91,7 @@ declare function table_getCanSomeRowsExpand<TFeatures extends TableFeatures, TDa
|
|
|
91
91
|
* const onClick = table_getToggleAllRowsExpandedHandler(table)
|
|
92
92
|
* ```
|
|
93
93
|
*/
|
|
94
|
-
declare function table_getToggleAllRowsExpandedHandler<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
94
|
+
declare function table_getToggleAllRowsExpandedHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): (e: unknown) => void;
|
|
95
95
|
/**
|
|
96
96
|
* Checks whether any row is expanded.
|
|
97
97
|
*
|
|
@@ -102,7 +102,7 @@ declare function table_getToggleAllRowsExpandedHandler<TFeatures extends TableFe
|
|
|
102
102
|
* const someExpanded = table_getIsSomeRowsExpanded(table)
|
|
103
103
|
* ```
|
|
104
104
|
*/
|
|
105
|
-
declare function table_getIsSomeRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
105
|
+
declare function table_getIsSomeRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
106
106
|
/**
|
|
107
107
|
* Checks whether every row in the current row model is expanded.
|
|
108
108
|
*
|
|
@@ -114,7 +114,7 @@ declare function table_getIsSomeRowsExpanded<TFeatures extends TableFeatures, TD
|
|
|
114
114
|
* const allExpanded = table_getIsAllRowsExpanded(table)
|
|
115
115
|
* ```
|
|
116
116
|
*/
|
|
117
|
-
declare function table_getIsAllRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
117
|
+
declare function table_getIsAllRowsExpanded<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
118
118
|
/**
|
|
119
119
|
* Computes the deepest expanded row id depth.
|
|
120
120
|
*
|
|
@@ -126,7 +126,7 @@ declare function table_getIsAllRowsExpanded<TFeatures extends TableFeatures, TDa
|
|
|
126
126
|
* const depth = table_getExpandedDepth(table)
|
|
127
127
|
* ```
|
|
128
128
|
*/
|
|
129
|
-
declare function table_getExpandedDepth<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
129
|
+
declare function table_getExpandedDepth<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
|
|
130
130
|
/**
|
|
131
131
|
* Expands or collapses this row.
|
|
132
132
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cloneState } from "../../utils.js";
|
|
1
|
+
import { cloneState, hasOwn, makeObjectMap } from "../../utils.js";
|
|
2
2
|
|
|
3
3
|
//#region src/features/row-expanding/rowExpandingFeature.utils.ts
|
|
4
4
|
/**
|
|
@@ -13,7 +13,7 @@ import { cloneState } from "../../utils.js";
|
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
15
|
function getDefaultExpandedState() {
|
|
16
|
-
return
|
|
16
|
+
return makeObjectMap();
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Schedules an expanded-state reset after row-structure changes.
|
|
@@ -59,7 +59,7 @@ function table_setExpanded(table, updater) {
|
|
|
59
59
|
*/
|
|
60
60
|
function table_toggleAllRowsExpanded(table, expanded) {
|
|
61
61
|
if (expanded ?? !table_getIsAllRowsExpanded(table)) table_setExpanded(table, true);
|
|
62
|
-
else table_setExpanded(table,
|
|
62
|
+
else table_setExpanded(table, makeObjectMap());
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Resets `expanded` to the configured initial state or feature default.
|
|
@@ -74,7 +74,8 @@ function table_toggleAllRowsExpanded(table, expanded) {
|
|
|
74
74
|
* ```
|
|
75
75
|
*/
|
|
76
76
|
function table_resetExpanded(table, defaultState) {
|
|
77
|
-
|
|
77
|
+
const initialExpanded = table.initialState.expanded;
|
|
78
|
+
table_setExpanded(table, defaultState ? makeObjectMap() : initialExpanded === true ? true : Object.assign(makeObjectMap(), cloneState(initialExpanded ?? {})));
|
|
78
79
|
}
|
|
79
80
|
/**
|
|
80
81
|
* Checks whether at least one pre-paginated row can expand.
|
|
@@ -176,19 +177,24 @@ function table_getExpandedDepth(table) {
|
|
|
176
177
|
*/
|
|
177
178
|
function row_toggleExpanded(row, expanded) {
|
|
178
179
|
table_setExpanded(row.table, (old) => {
|
|
179
|
-
const exists = old === true ? true :
|
|
180
|
-
let oldExpanded =
|
|
180
|
+
const exists = old === true ? true : isExpandedRowId(old, row.id);
|
|
181
|
+
let oldExpanded = makeObjectMap();
|
|
181
182
|
if (old === true) Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {
|
|
182
183
|
oldExpanded[rowId] = true;
|
|
183
184
|
});
|
|
184
|
-
else oldExpanded = old;
|
|
185
|
+
else oldExpanded = Object.assign(makeObjectMap(), old);
|
|
185
186
|
expanded = expanded ?? !exists;
|
|
186
|
-
if (!exists && expanded)
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
187
|
+
if (!exists && expanded) {
|
|
188
|
+
oldExpanded[row.id] = true;
|
|
189
|
+
return oldExpanded;
|
|
190
|
+
}
|
|
190
191
|
if (exists && !expanded) {
|
|
191
|
-
const
|
|
192
|
+
const rest = makeObjectMap();
|
|
193
|
+
const rowIds = Object.keys(oldExpanded);
|
|
194
|
+
for (let i = 0; i < rowIds.length; i++) {
|
|
195
|
+
const rowId = rowIds[i];
|
|
196
|
+
if (rowId !== row.id && oldExpanded[rowId]) rest[rowId] = true;
|
|
197
|
+
}
|
|
192
198
|
return rest;
|
|
193
199
|
}
|
|
194
200
|
return old;
|
|
@@ -208,7 +214,10 @@ function row_toggleExpanded(row, expanded) {
|
|
|
208
214
|
function row_getIsExpanded(row) {
|
|
209
215
|
var _row$table$atoms$expa, _row$table$options$ge, _row$table$options;
|
|
210
216
|
const expanded = ((_row$table$atoms$expa = row.table.atoms.expanded) === null || _row$table$atoms$expa === void 0 ? void 0 : _row$table$atoms$expa.get()) ?? {};
|
|
211
|
-
return !!(((_row$table$options$ge = (_row$table$options = row.table.options).getIsRowExpanded) === null || _row$table$options$ge === void 0 ? void 0 : _row$table$options$ge.call(_row$table$options, row)) ?? (expanded === true || expanded
|
|
217
|
+
return !!(((_row$table$options$ge = (_row$table$options = row.table.options).getIsRowExpanded) === null || _row$table$options$ge === void 0 ? void 0 : _row$table$options$ge.call(_row$table$options, row)) ?? (expanded === true || isExpandedRowId(expanded, row.id)));
|
|
218
|
+
}
|
|
219
|
+
function isExpandedRowId(expanded, rowId) {
|
|
220
|
+
return !!(expanded && expanded !== true && hasOwn(expanded, rowId) && expanded[rowId]);
|
|
212
221
|
}
|
|
213
222
|
/**
|
|
214
223
|
* Checks whether this row can be expanded.
|