@tanstack/table-core 9.0.0-alpha.21 → 9.0.0-alpha.23
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.cjs +28 -0
- package/dist/core/cells/constructCell.cjs.map +1 -0
- package/dist/core/cells/constructCell.d.cts +12 -0
- package/dist/core/cells/constructCell.d.ts +12 -0
- package/dist/core/cells/constructCell.js +27 -0
- package/dist/core/cells/constructCell.js.map +1 -0
- package/dist/core/cells/coreCellsFeature.cjs +25 -0
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
- package/dist/core/cells/coreCellsFeature.d.cts +13 -0
- package/dist/core/cells/coreCellsFeature.d.ts +13 -0
- package/dist/core/cells/coreCellsFeature.js +24 -0
- package/dist/core/cells/coreCellsFeature.js.map +1 -0
- package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
- package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
- package/dist/core/cells/coreCellsFeature.utils.cjs +24 -0
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
- package/dist/core/cells/coreCellsFeature.utils.d.cts +20 -0
- package/dist/core/cells/coreCellsFeature.utils.d.ts +20 -0
- package/dist/core/cells/coreCellsFeature.utils.js +21 -0
- package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
- package/dist/core/columns/constructColumn.cjs +52 -0
- package/dist/core/columns/constructColumn.cjs.map +1 -0
- package/dist/core/columns/constructColumn.d.cts +11 -0
- package/dist/core/columns/constructColumn.d.ts +11 -0
- package/dist/core/columns/constructColumn.js +51 -0
- package/dist/core/columns/constructColumn.js.map +1 -0
- package/dist/core/columns/coreColumnsFeature.cjs +64 -0
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
- package/dist/core/columns/coreColumnsFeature.d.cts +13 -0
- package/dist/core/columns/coreColumnsFeature.d.ts +13 -0
- package/dist/core/columns/coreColumnsFeature.js +63 -0
- package/dist/core/columns/coreColumnsFeature.js.map +1 -0
- package/dist/core/columns/coreColumnsFeature.types.d.cts +89 -0
- package/dist/core/columns/coreColumnsFeature.types.d.ts +89 -0
- package/dist/core/columns/coreColumnsFeature.utils.cjs +74 -0
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +18 -0
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +18 -0
- package/dist/core/columns/coreColumnsFeature.utils.js +67 -0
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
- package/dist/core/coreFeatures.cjs +20 -0
- package/dist/core/coreFeatures.cjs.map +1 -0
- package/dist/core/coreFeatures.d.cts +20 -0
- package/dist/core/coreFeatures.d.ts +20 -0
- package/dist/{esm/core → core}/coreFeatures.js +12 -10
- package/dist/core/coreFeatures.js.map +1 -0
- package/dist/core/headers/buildHeaderGroups.cjs +90 -0
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
- package/dist/core/headers/buildHeaderGroups.d.cts +11 -0
- package/dist/core/headers/buildHeaderGroups.d.ts +11 -0
- package/dist/core/headers/buildHeaderGroups.js +90 -0
- package/dist/core/headers/buildHeaderGroups.js.map +1 -0
- package/dist/core/headers/constructHeader.cjs +35 -0
- package/dist/core/headers/constructHeader.cjs.map +1 -0
- package/dist/core/headers/constructHeader.d.cts +17 -0
- package/dist/core/headers/constructHeader.d.ts +17 -0
- package/dist/core/headers/constructHeader.js +34 -0
- package/dist/core/headers/constructHeader.js.map +1 -0
- package/dist/core/headers/coreHeadersFeature.cjs +61 -0
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
- package/dist/core/headers/coreHeadersFeature.d.cts +13 -0
- package/dist/core/headers/coreHeadersFeature.d.ts +13 -0
- package/dist/core/headers/coreHeadersFeature.js +60 -0
- package/dist/core/headers/coreHeadersFeature.js.map +1 -0
- package/dist/core/headers/coreHeadersFeature.types.d.cts +104 -0
- package/dist/core/headers/coreHeadersFeature.types.d.ts +104 -0
- package/dist/core/headers/coreHeadersFeature.utils.cjs +65 -0
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +20 -0
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +20 -0
- package/dist/core/headers/coreHeadersFeature.utils.js +60 -0
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.cjs +31 -0
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.d.cts +13 -0
- package/dist/core/row-models/coreRowModelsFeature.d.ts +13 -0
- package/dist/core/row-models/coreRowModelsFeature.js +30 -0
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +42 -0
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +42 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +83 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +21 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +21 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.js +72 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
- package/dist/core/row-models/createCoreRowModel.cjs +47 -0
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
- package/dist/core/row-models/createCoreRowModel.d.cts +10 -0
- package/dist/core/row-models/createCoreRowModel.d.ts +10 -0
- package/dist/core/row-models/createCoreRowModel.js +47 -0
- package/dist/core/row-models/createCoreRowModel.js.map +1 -0
- package/dist/core/rows/constructRow.cjs +37 -0
- package/dist/core/rows/constructRow.cjs.map +1 -0
- package/dist/core/rows/constructRow.d.cts +10 -0
- package/dist/core/rows/constructRow.d.ts +10 -0
- package/dist/core/rows/constructRow.js +36 -0
- package/dist/core/rows/constructRow.js.map +1 -0
- package/dist/core/rows/coreRowsFeature.cjs +41 -0
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
- package/dist/core/rows/coreRowsFeature.d.cts +13 -0
- package/dist/core/rows/coreRowsFeature.d.ts +13 -0
- package/dist/core/rows/coreRowsFeature.js +40 -0
- package/dist/core/rows/coreRowsFeature.js.map +1 -0
- package/dist/core/rows/coreRowsFeature.types.d.cts +96 -0
- package/dist/core/rows/coreRowsFeature.types.d.ts +96 -0
- package/dist/core/rows/coreRowsFeature.utils.cjs +81 -0
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
- package/dist/core/rows/coreRowsFeature.utils.d.cts +20 -0
- package/dist/core/rows/coreRowsFeature.utils.d.ts +20 -0
- package/dist/core/rows/coreRowsFeature.utils.js +72 -0
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
- package/dist/core/table/constructTable.cjs +69 -0
- package/dist/core/table/constructTable.cjs.map +1 -0
- package/dist/core/table/constructTable.d.cts +14 -0
- package/dist/core/table/constructTable.d.ts +14 -0
- package/dist/core/table/constructTable.js +67 -0
- package/dist/core/table/constructTable.js.map +1 -0
- package/dist/core/table/coreTablesFeature.cjs +21 -0
- package/dist/core/table/coreTablesFeature.cjs.map +1 -0
- package/dist/core/table/coreTablesFeature.d.cts +13 -0
- package/dist/core/table/coreTablesFeature.d.ts +13 -0
- package/dist/core/table/coreTablesFeature.js +20 -0
- package/dist/core/table/coreTablesFeature.js.map +1 -0
- package/dist/core/table/coreTablesFeature.types.d.cts +113 -0
- package/dist/core/table/coreTablesFeature.types.d.ts +113 -0
- package/dist/core/table/coreTablesFeature.utils.cjs +23 -0
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
- package/dist/core/table/coreTablesFeature.utils.d.cts +12 -0
- package/dist/core/table/coreTablesFeature.utils.d.ts +12 -0
- package/dist/core/table/coreTablesFeature.utils.js +21 -0
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs +59 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +13 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +13 -0
- package/dist/features/column-faceting/columnFacetingFeature.js +58 -0
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +73 -0
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +73 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +35 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +16 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +16 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +36 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +9 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +9 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +36 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
- package/dist/features/column-faceting/createFacetedRowModel.cjs +37 -0
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +10 -0
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +10 -0
- package/dist/features/column-faceting/createFacetedRowModel.js +37 -0
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +33 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +9 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +9 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.js +33 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.cjs +55 -0
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +14 -0
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +14 -0
- package/dist/features/column-filtering/columnFilteringFeature.js +54 -0
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +147 -0
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +147 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +90 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +21 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +21 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +80 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
- package/dist/features/column-filtering/createFilteredRowModel.cjs +94 -0
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +11 -0
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -0
- package/dist/features/column-filtering/createFilteredRowModel.js +94 -0
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
- package/dist/features/column-filtering/filterRowsUtils.cjs +76 -0
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
- package/dist/features/column-filtering/filterRowsUtils.js +76 -0
- package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.cjs +71 -0
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +13 -0
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +13 -0
- package/dist/features/column-grouping/columnGroupingFeature.js +70 -0
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +157 -0
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +157 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +88 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +27 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +27 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +74 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
- package/dist/features/column-grouping/createGroupedRowModel.cjs +110 -0
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +11 -0
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +11 -0
- package/dist/features/column-grouping/createGroupedRowModel.js +110 -0
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.cjs +55 -0
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +13 -0
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +13 -0
- package/dist/features/column-ordering/columnOrderingFeature.js +54 -0
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +45 -0
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +45 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +62 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +19 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +19 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +55 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.cjs +178 -0
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.d.cts +13 -0
- package/dist/features/column-pinning/columnPinningFeature.d.ts +13 -0
- package/dist/features/column-pinning/columnPinningFeature.js +177 -0
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +162 -0
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +162 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +194 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +43 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +43 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.js +164 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.cjs +46 -0
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.d.cts +14 -0
- package/dist/features/column-resizing/columnResizingFeature.d.ts +14 -0
- package/dist/features/column-resizing/columnResizingFeature.js +45 -0
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +73 -0
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +73 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +156 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +19 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +19 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.js +149 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.cjs +69 -0
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.d.cts +14 -0
- package/dist/features/column-sizing/columnSizingFeature.d.ts +14 -0
- package/dist/features/column-sizing/columnSizingFeature.js +68 -0
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +86 -0
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +86 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +97 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +30 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +30 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.js +84 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +76 -0
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +13 -0
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +13 -0
- package/dist/features/column-visibility/columnVisibilityFeature.js +75 -0
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +89 -0
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +89 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +84 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +26 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +26 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +70 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.cjs +46 -0
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +14 -0
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +14 -0
- package/dist/features/global-filtering/globalFilteringFeature.js +45 -0
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +64 -0
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +64 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +31 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +15 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +15 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +27 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs +45 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +11 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +11 -0
- package/dist/features/row-expanding/createExpandedRowModel.js +44 -0
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.cjs +51 -0
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +13 -0
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +13 -0
- package/dist/features/row-expanding/rowExpandingFeature.js +50 -0
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +121 -0
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +121 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +111 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +25 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +25 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +96 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +53 -0
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +10 -0
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +10 -0
- package/dist/features/row-pagination/createPaginatedRowModel.js +53 -0
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.cjs +49 -0
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +13 -0
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +13 -0
- package/dist/features/row-pagination/rowPaginationFeature.js +48 -0
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +124 -0
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +124 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +114 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +26 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +26 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +98 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.cjs +65 -0
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.d.cts +13 -0
- package/dist/features/row-pinning/rowPinningFeature.d.ts +13 -0
- package/dist/features/row-pinning/rowPinningFeature.js +64 -0
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +77 -0
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +77 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +98 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +21 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +21 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.js +88 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.cjs +70 -0
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.d.cts +13 -0
- package/dist/features/row-selection/rowSelectionFeature.d.ts +13 -0
- package/dist/features/row-selection/rowSelectionFeature.js +69 -0
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +128 -0
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +128 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +224 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +39 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +39 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.js +198 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
- package/dist/features/row-sorting/createSortedRowModel.cjs +81 -0
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
- package/dist/features/row-sorting/createSortedRowModel.d.cts +11 -0
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -0
- package/dist/features/row-sorting/createSortedRowModel.js +81 -0
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.cjs +59 -0
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.d.cts +13 -0
- package/dist/features/row-sorting/rowSortingFeature.d.ts +13 -0
- package/dist/features/row-sorting/rowSortingFeature.js +58 -0
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +182 -0
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +182 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +134 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +25 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +25 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.js +120 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
- package/dist/features/stockFeatures.cjs +36 -0
- package/dist/features/stockFeatures.cjs.map +1 -0
- package/dist/features/stockFeatures.d.cts +36 -0
- package/dist/features/stockFeatures.d.ts +36 -0
- package/dist/{esm/features → features}/stockFeatures.js +20 -18
- package/dist/features/stockFeatures.js.map +1 -0
- package/dist/features/table-reactivity/tableReactivityFeature.cjs +24 -0
- package/dist/features/table-reactivity/tableReactivityFeature.cjs.map +1 -0
- package/dist/features/table-reactivity/tableReactivityFeature.d.cts +12 -0
- package/dist/features/table-reactivity/tableReactivityFeature.d.ts +12 -0
- package/dist/features/table-reactivity/tableReactivityFeature.js +23 -0
- package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -0
- package/dist/fns/aggregationFns.cjs +125 -0
- package/dist/fns/aggregationFns.cjs.map +1 -0
- package/dist/fns/aggregationFns.d.cts +54 -0
- package/dist/fns/aggregationFns.d.ts +54 -0
- package/dist/fns/aggregationFns.js +116 -0
- package/dist/fns/aggregationFns.js.map +1 -0
- package/dist/fns/filterFns.cjs +179 -0
- package/dist/fns/filterFns.cjs.map +1 -0
- package/dist/fns/filterFns.d.cts +81 -0
- package/dist/fns/filterFns.d.ts +81 -0
- package/dist/fns/filterFns.js +163 -0
- package/dist/fns/filterFns.js.map +1 -0
- package/dist/fns/sortFns.cjs +73 -0
- package/dist/fns/sortFns.cjs.map +1 -0
- package/dist/fns/sortFns.d.cts +22 -0
- package/dist/fns/sortFns.d.ts +22 -0
- package/dist/fns/sortFns.js +65 -0
- package/dist/fns/sortFns.js.map +1 -0
- package/dist/helpers/columnHelper.cjs +36 -0
- package/dist/helpers/columnHelper.cjs.map +1 -0
- package/dist/helpers/columnHelper.d.cts +66 -0
- package/dist/helpers/columnHelper.d.ts +66 -0
- package/dist/helpers/columnHelper.js +35 -0
- package/dist/helpers/columnHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +20 -0
- package/dist/helpers/tableFeatures.cjs.map +1 -0
- package/dist/helpers/tableFeatures.d.cts +18 -0
- package/dist/{esm/helpers → helpers}/tableFeatures.d.ts +7 -2
- package/dist/helpers/tableFeatures.js +19 -0
- package/dist/helpers/tableFeatures.js.map +1 -0
- package/dist/helpers/tableHelper.cjs +21 -0
- package/dist/helpers/tableHelper.cjs.map +1 -0
- package/dist/helpers/tableHelper.d.cts +30 -0
- package/dist/helpers/tableHelper.d.ts +30 -0
- package/dist/helpers/tableHelper.js +21 -0
- package/dist/helpers/tableHelper.js.map +1 -0
- package/dist/helpers/tableOptions.cjs +9 -0
- package/dist/helpers/tableOptions.cjs.map +1 -0
- package/dist/helpers/tableOptions.d.cts +28 -0
- package/dist/helpers/tableOptions.d.ts +28 -0
- package/dist/helpers/tableOptions.js +8 -0
- package/dist/helpers/tableOptions.js.map +1 -0
- package/dist/index.cjs +420 -0
- package/dist/index.d.cts +100 -0
- package/dist/index.d.ts +100 -0
- package/dist/{esm/index.js → index.js} +42 -395
- package/dist/types/Cell.d.cts +16 -0
- package/dist/types/Cell.d.ts +16 -0
- package/dist/types/Column.d.cts +29 -0
- package/dist/types/Column.d.ts +29 -0
- package/dist/types/ColumnDef.d.cts +66 -0
- package/dist/types/ColumnDef.d.ts +66 -0
- package/dist/types/Header.d.cts +17 -0
- package/dist/types/Header.d.ts +17 -0
- package/dist/types/HeaderGroup.d.cts +15 -0
- package/dist/types/HeaderGroup.d.ts +15 -0
- package/dist/types/Row.d.cts +22 -0
- package/dist/types/Row.d.ts +22 -0
- package/dist/types/RowModel.d.cts +26 -0
- package/dist/types/RowModel.d.ts +26 -0
- package/dist/types/RowModelFns.d.cts +18 -0
- package/dist/types/RowModelFns.d.ts +18 -0
- package/dist/types/Table.d.cts +57 -0
- package/dist/types/Table.d.ts +57 -0
- package/dist/types/TableFeatures.d.cts +77 -0
- package/dist/types/TableFeatures.d.ts +77 -0
- package/dist/types/TableOptions.d.cts +39 -0
- package/dist/types/TableOptions.d.ts +39 -0
- package/dist/types/TableState.d.cts +27 -0
- package/dist/types/TableState.d.ts +27 -0
- package/dist/types/type-utils.d.cts +23 -0
- package/dist/types/type-utils.d.ts +23 -0
- package/dist/utils.cjs +210 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +90 -0
- package/dist/utils.d.ts +90 -0
- package/dist/utils.js +196 -0
- package/dist/utils.js.map +1 -0
- package/package.json +8 -8
- package/src/process-env.d.ts +6 -0
- package/dist/esm/core/cells/constructCell.d.ts +0 -7
- package/dist/esm/core/cells/constructCell.js +0 -21
- package/dist/esm/core/cells/constructCell.js.map +0 -1
- package/dist/esm/core/cells/coreCellsFeature.d.ts +0 -10
- package/dist/esm/core/cells/coreCellsFeature.js +0 -26
- package/dist/esm/core/cells/coreCellsFeature.js.map +0 -1
- package/dist/esm/core/cells/coreCellsFeature.types.d.ts +0 -52
- package/dist/esm/core/cells/coreCellsFeature.utils.d.ts +0 -13
- package/dist/esm/core/cells/coreCellsFeature.utils.js +0 -23
- package/dist/esm/core/cells/coreCellsFeature.utils.js.map +0 -1
- package/dist/esm/core/columns/constructColumn.d.ts +0 -6
- package/dist/esm/core/columns/constructColumn.js +0 -60
- package/dist/esm/core/columns/constructColumn.js.map +0 -1
- package/dist/esm/core/columns/coreColumnsFeature.d.ts +0 -10
- package/dist/esm/core/columns/coreColumnsFeature.js +0 -61
- package/dist/esm/core/columns/coreColumnsFeature.js.map +0 -1
- package/dist/esm/core/columns/coreColumnsFeature.types.d.ts +0 -84
- package/dist/esm/core/columns/coreColumnsFeature.utils.d.ts +0 -13
- package/dist/esm/core/columns/coreColumnsFeature.utils.js +0 -91
- package/dist/esm/core/columns/coreColumnsFeature.utils.js.map +0 -1
- package/dist/esm/core/coreFeatures.d.ts +0 -15
- package/dist/esm/core/coreFeatures.js.map +0 -1
- package/dist/esm/core/headers/buildHeaderGroups.d.ts +0 -6
- package/dist/esm/core/headers/buildHeaderGroups.js +0 -99
- package/dist/esm/core/headers/buildHeaderGroups.js.map +0 -1
- package/dist/esm/core/headers/constructHeader.d.ts +0 -12
- package/dist/esm/core/headers/constructHeader.js +0 -28
- package/dist/esm/core/headers/constructHeader.js.map +0 -1
- package/dist/esm/core/headers/coreHeadersFeature.d.ts +0 -10
- package/dist/esm/core/headers/coreHeadersFeature.js +0 -68
- package/dist/esm/core/headers/coreHeadersFeature.js.map +0 -1
- package/dist/esm/core/headers/coreHeadersFeature.types.d.ts +0 -99
- package/dist/esm/core/headers/coreHeadersFeature.utils.d.ts +0 -15
- package/dist/esm/core/headers/coreHeadersFeature.utils.js +0 -85
- package/dist/esm/core/headers/coreHeadersFeature.utils.js.map +0 -1
- package/dist/esm/core/row-models/coreRowModelsFeature.d.ts +0 -10
- package/dist/esm/core/row-models/coreRowModelsFeature.js +0 -52
- package/dist/esm/core/row-models/coreRowModelsFeature.js.map +0 -1
- package/dist/esm/core/row-models/coreRowModelsFeature.types.d.ts +0 -39
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.d.ts +0 -16
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.js +0 -85
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
- package/dist/esm/core/row-models/createCoreRowModel.d.ts +0 -5
- package/dist/esm/core/row-models/createCoreRowModel.js +0 -54
- package/dist/esm/core/row-models/createCoreRowModel.js.map +0 -1
- package/dist/esm/core/rows/constructRow.d.ts +0 -5
- package/dist/esm/core/rows/constructRow.js +0 -29
- package/dist/esm/core/rows/constructRow.js.map +0 -1
- package/dist/esm/core/rows/coreRowsFeature.d.ts +0 -10
- package/dist/esm/core/rows/coreRowsFeature.js +0 -52
- package/dist/esm/core/rows/coreRowsFeature.js.map +0 -1
- package/dist/esm/core/rows/coreRowsFeature.types.d.ts +0 -91
- package/dist/esm/core/rows/coreRowsFeature.utils.d.ts +0 -15
- package/dist/esm/core/rows/coreRowsFeature.utils.js +0 -94
- package/dist/esm/core/rows/coreRowsFeature.utils.js.map +0 -1
- package/dist/esm/core/table/constructTable.d.ts +0 -9
- package/dist/esm/core/table/constructTable.js +0 -68
- package/dist/esm/core/table/constructTable.js.map +0 -1
- package/dist/esm/core/table/coreTablesFeature.d.ts +0 -10
- package/dist/esm/core/table/coreTablesFeature.js +0 -22
- package/dist/esm/core/table/coreTablesFeature.js.map +0 -1
- package/dist/esm/core/table/coreTablesFeature.types.d.ts +0 -109
- package/dist/esm/core/table/coreTablesFeature.utils.d.ts +0 -7
- package/dist/esm/core/table/coreTablesFeature.utils.js +0 -24
- package/dist/esm/core/table/coreTablesFeature.utils.js.map +0 -1
- package/dist/esm/features/column-faceting/columnFacetingFeature.d.ts +0 -10
- package/dist/esm/features/column-faceting/columnFacetingFeature.js +0 -80
- package/dist/esm/features/column-faceting/columnFacetingFeature.js.map +0 -1
- package/dist/esm/features/column-faceting/columnFacetingFeature.types.d.ts +0 -68
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.d.ts +0 -11
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js +0 -33
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.d.ts +0 -4
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js +0 -41
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
- package/dist/esm/features/column-faceting/createFacetedRowModel.d.ts +0 -5
- package/dist/esm/features/column-faceting/createFacetedRowModel.js +0 -47
- package/dist/esm/features/column-faceting/createFacetedRowModel.js.map +0 -1
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.d.ts +0 -4
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.js +0 -46
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
- package/dist/esm/features/column-filtering/columnFilteringFeature.d.ts +0 -11
- package/dist/esm/features/column-filtering/columnFilteringFeature.js +0 -69
- package/dist/esm/features/column-filtering/columnFilteringFeature.js.map +0 -1
- package/dist/esm/features/column-filtering/columnFilteringFeature.types.d.ts +0 -145
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.d.ts +0 -16
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js +0 -118
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
- package/dist/esm/features/column-filtering/createFilteredRowModel.d.ts +0 -6
- package/dist/esm/features/column-filtering/createFilteredRowModel.js +0 -110
- package/dist/esm/features/column-filtering/createFilteredRowModel.js.map +0 -1
- package/dist/esm/features/column-filtering/filterRowsUtils.d.ts +0 -6
- package/dist/esm/features/column-filtering/filterRowsUtils.js +0 -95
- package/dist/esm/features/column-filtering/filterRowsUtils.js.map +0 -1
- package/dist/esm/features/column-grouping/columnGroupingFeature.d.ts +0 -10
- package/dist/esm/features/column-grouping/columnGroupingFeature.js +0 -91
- package/dist/esm/features/column-grouping/columnGroupingFeature.js.map +0 -1
- package/dist/esm/features/column-grouping/columnGroupingFeature.types.d.ts +0 -153
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.d.ts +0 -22
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js +0 -99
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-grouping/createGroupedRowModel.d.ts +0 -6
- package/dist/esm/features/column-grouping/createGroupedRowModel.js +0 -144
- package/dist/esm/features/column-grouping/createGroupedRowModel.js.map +0 -1
- package/dist/esm/features/column-ordering/columnOrderingFeature.d.ts +0 -10
- package/dist/esm/features/column-ordering/columnOrderingFeature.js +0 -60
- package/dist/esm/features/column-ordering/columnOrderingFeature.js.map +0 -1
- package/dist/esm/features/column-ordering/columnOrderingFeature.types.d.ts +0 -40
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.d.ts +0 -14
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js +0 -72
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-pinning/columnPinningFeature.d.ts +0 -10
- package/dist/esm/features/column-pinning/columnPinningFeature.js +0 -260
- package/dist/esm/features/column-pinning/columnPinningFeature.js.map +0 -1
- package/dist/esm/features/column-pinning/columnPinningFeature.types.d.ts +0 -157
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.d.ts +0 -39
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.js +0 -325
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
- package/dist/esm/features/column-resizing/columnResizingFeature.d.ts +0 -11
- package/dist/esm/features/column-resizing/columnResizingFeature.js +0 -52
- package/dist/esm/features/column-resizing/columnResizingFeature.js.map +0 -1
- package/dist/esm/features/column-resizing/columnResizingFeature.types.d.ts +0 -68
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.d.ts +0 -14
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.js +0 -197
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-sizing/columnSizingFeature.d.ts +0 -11
- package/dist/esm/features/column-sizing/columnSizingFeature.js +0 -95
- package/dist/esm/features/column-sizing/columnSizingFeature.js.map +0 -1
- package/dist/esm/features/column-sizing/columnSizingFeature.types.d.ts +0 -81
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.d.ts +0 -25
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.js +0 -128
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
- package/dist/esm/features/column-visibility/columnVisibilityFeature.d.ts +0 -10
- package/dist/esm/features/column-visibility/columnVisibilityFeature.js +0 -100
- package/dist/esm/features/column-visibility/columnVisibilityFeature.js.map +0 -1
- package/dist/esm/features/column-visibility/columnVisibilityFeature.types.d.ts +0 -84
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.d.ts +0 -22
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js +0 -105
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
- package/dist/esm/features/global-filtering/globalFilteringFeature.d.ts +0 -11
- package/dist/esm/features/global-filtering/globalFilteringFeature.js +0 -51
- package/dist/esm/features/global-filtering/globalFilteringFeature.js.map +0 -1
- package/dist/esm/features/global-filtering/globalFilteringFeature.types.d.ts +0 -59
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.d.ts +0 -10
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js +0 -30
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
- package/dist/esm/features/row-expanding/createExpandedRowModel.d.ts +0 -6
- package/dist/esm/features/row-expanding/createExpandedRowModel.js +0 -49
- package/dist/esm/features/row-expanding/createExpandedRowModel.js.map +0 -1
- package/dist/esm/features/row-expanding/rowExpandingFeature.d.ts +0 -10
- package/dist/esm/features/row-expanding/rowExpandingFeature.js +0 -74
- package/dist/esm/features/row-expanding/rowExpandingFeature.js.map +0 -1
- package/dist/esm/features/row-expanding/rowExpandingFeature.types.d.ts +0 -116
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.d.ts +0 -20
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js +0 -125
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
- package/dist/esm/features/row-pagination/createPaginatedRowModel.d.ts +0 -5
- package/dist/esm/features/row-pagination/createPaginatedRowModel.js +0 -58
- package/dist/esm/features/row-pagination/createPaginatedRowModel.js.map +0 -1
- package/dist/esm/features/row-pagination/rowPaginationFeature.d.ts +0 -10
- package/dist/esm/features/row-pagination/rowPaginationFeature.js +0 -78
- package/dist/esm/features/row-pagination/rowPaginationFeature.js.map +0 -1
- package/dist/esm/features/row-pagination/rowPaginationFeature.types.d.ts +0 -119
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.d.ts +0 -21
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js +0 -126
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
- package/dist/esm/features/row-pinning/rowPinningFeature.d.ts +0 -10
- package/dist/esm/features/row-pinning/rowPinningFeature.js +0 -80
- package/dist/esm/features/row-pinning/rowPinningFeature.js.map +0 -1
- package/dist/esm/features/row-pinning/rowPinningFeature.types.d.ts +0 -72
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.d.ts +0 -16
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.js +0 -115
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
- package/dist/esm/features/row-selection/rowSelectionFeature.d.ts +0 -10
- package/dist/esm/features/row-selection/rowSelectionFeature.js +0 -112
- package/dist/esm/features/row-selection/rowSelectionFeature.js.map +0 -1
- package/dist/esm/features/row-selection/rowSelectionFeature.types.d.ts +0 -123
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.d.ts +0 -34
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.js +0 -290
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
- package/dist/esm/features/row-sorting/createSortedRowModel.d.ts +0 -6
- package/dist/esm/features/row-sorting/createSortedRowModel.js +0 -94
- package/dist/esm/features/row-sorting/createSortedRowModel.js.map +0 -1
- package/dist/esm/features/row-sorting/rowSortingFeature.d.ts +0 -10
- package/dist/esm/features/row-sorting/rowSortingFeature.js +0 -82
- package/dist/esm/features/row-sorting/rowSortingFeature.js.map +0 -1
- package/dist/esm/features/row-sorting/rowSortingFeature.types.d.ts +0 -178
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.d.ts +0 -20
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.js +0 -181
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
- package/dist/esm/features/stockFeatures.d.ts +0 -31
- package/dist/esm/features/stockFeatures.js.map +0 -1
- package/dist/esm/features/table-reactivity/tableReactivityFeature.d.ts +0 -9
- package/dist/esm/features/table-reactivity/tableReactivityFeature.js +0 -30
- package/dist/esm/features/table-reactivity/tableReactivityFeature.js.map +0 -1
- package/dist/esm/fns/aggregationFns.d.ts +0 -49
- package/dist/esm/fns/aggregationFns.js +0 -110
- package/dist/esm/fns/aggregationFns.js.map +0 -1
- package/dist/esm/fns/filterFns.d.ts +0 -76
- package/dist/esm/fns/filterFns.js +0 -134
- package/dist/esm/fns/filterFns.js.map +0 -1
- package/dist/esm/fns/sortFns.d.ts +0 -17
- package/dist/esm/fns/sortFns.js +0 -97
- package/dist/esm/fns/sortFns.js.map +0 -1
- package/dist/esm/helpers/columnHelper.d.ts +0 -61
- package/dist/esm/helpers/columnHelper.js +0 -20
- package/dist/esm/helpers/columnHelper.js.map +0 -1
- package/dist/esm/helpers/tableFeatures.js +0 -7
- package/dist/esm/helpers/tableFeatures.js.map +0 -1
- package/dist/esm/helpers/tableHelper.d.ts +0 -25
- package/dist/esm/helpers/tableHelper.js +0 -13
- package/dist/esm/helpers/tableHelper.js.map +0 -1
- package/dist/esm/helpers/tableOptions.d.ts +0 -23
- package/dist/esm/helpers/tableOptions.js +0 -7
- package/dist/esm/helpers/tableOptions.js.map +0 -1
- package/dist/esm/index.d.ts +0 -111
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/types/Cell.d.ts +0 -13
- package/dist/esm/types/Column.d.ts +0 -26
- package/dist/esm/types/ColumnDef.d.ts +0 -64
- package/dist/esm/types/Header.d.ts +0 -14
- package/dist/esm/types/HeaderGroup.d.ts +0 -12
- package/dist/esm/types/Row.d.ts +0 -19
- package/dist/esm/types/RowModel.d.ts +0 -23
- package/dist/esm/types/RowModelFns.d.ts +0 -15
- package/dist/esm/types/Table.d.ts +0 -53
- package/dist/esm/types/TableFeatures.d.ts +0 -77
- package/dist/esm/types/TableOptions.d.ts +0 -39
- package/dist/esm/types/TableState.d.ts +0 -23
- package/dist/esm/types/type-utils.d.ts +0 -22
- package/dist/esm/utils.d.ts +0 -72
- package/dist/esm/utils.js +0 -231
- package/dist/esm/utils.js.map +0 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
const require_utils = require('../../utils.cjs');
|
|
2
|
+
const require_coreColumnsFeature_utils = require('../../core/columns/coreColumnsFeature.utils.cjs');
|
|
3
|
+
const require_constructRow = require('../../core/rows/constructRow.cjs');
|
|
4
|
+
const require_rowPaginationFeature_utils = require('../row-pagination/rowPaginationFeature.utils.cjs');
|
|
5
|
+
const require_columnGroupingFeature_utils = require('./columnGroupingFeature.utils.cjs');
|
|
6
|
+
const require_rowExpandingFeature_utils = require('../row-expanding/rowExpandingFeature.utils.cjs');
|
|
7
|
+
|
|
8
|
+
//#region src/features/column-grouping/createGroupedRowModel.ts
|
|
9
|
+
function createGroupedRowModel(aggregationFns) {
|
|
10
|
+
return (_table) => {
|
|
11
|
+
const table = _table;
|
|
12
|
+
if (!table._rowModelFns.aggregationFns) table._rowModelFns.aggregationFns = aggregationFns;
|
|
13
|
+
return require_utils.tableMemo({
|
|
14
|
+
feature: "columnGroupingFeature",
|
|
15
|
+
table,
|
|
16
|
+
fnName: "table.getGroupedRowModel",
|
|
17
|
+
memoDeps: () => [table.store.state.grouping, table.getPreGroupedRowModel()],
|
|
18
|
+
fn: () => _createGroupedRowModel(table),
|
|
19
|
+
onAfterUpdate: () => {
|
|
20
|
+
require_rowExpandingFeature_utils.table_autoResetExpanded(table);
|
|
21
|
+
require_rowPaginationFeature_utils.table_autoResetPageIndex(table);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function _createGroupedRowModel(table) {
|
|
27
|
+
const rowModel = table.getPreGroupedRowModel();
|
|
28
|
+
const grouping = table.store.state.grouping;
|
|
29
|
+
if (!rowModel.rows.length || !(grouping === null || grouping === void 0 ? void 0 : grouping.length)) {
|
|
30
|
+
rowModel.rows.forEach((row) => {
|
|
31
|
+
row.depth = 0;
|
|
32
|
+
row.parentId = void 0;
|
|
33
|
+
});
|
|
34
|
+
return rowModel;
|
|
35
|
+
}
|
|
36
|
+
const existingGrouping = grouping.filter((columnId) => require_coreColumnsFeature_utils.table_getColumn(table, columnId));
|
|
37
|
+
const groupedFlatRows = [];
|
|
38
|
+
const groupedRowsById = {};
|
|
39
|
+
const groupUpRecursively = (rows, depth = 0, parentId) => {
|
|
40
|
+
if (depth >= existingGrouping.length) return rows.map((row) => {
|
|
41
|
+
row.depth = depth;
|
|
42
|
+
groupedFlatRows.push(row);
|
|
43
|
+
groupedRowsById[row.id] = row;
|
|
44
|
+
if (row.subRows.length) row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);
|
|
45
|
+
return row;
|
|
46
|
+
});
|
|
47
|
+
const columnId = existingGrouping[depth];
|
|
48
|
+
const rowGroupsMap = groupBy(rows, columnId);
|
|
49
|
+
return Array.from(rowGroupsMap.entries()).map(([groupingValue, groupedRows], index) => {
|
|
50
|
+
let id = `${columnId}:${groupingValue}`;
|
|
51
|
+
id = parentId ? `${parentId}>${id}` : id;
|
|
52
|
+
const subRows = groupUpRecursively(groupedRows, depth + 1, id);
|
|
53
|
+
subRows.forEach((subRow) => {
|
|
54
|
+
subRow.parentId = id;
|
|
55
|
+
});
|
|
56
|
+
const leafRows = depth ? require_utils.flattenBy(groupedRows, (row) => row.subRows) : groupedRows;
|
|
57
|
+
const row = require_constructRow.constructRow(table, id, leafRows[0].original, index, depth, void 0, parentId);
|
|
58
|
+
Object.assign(row, {
|
|
59
|
+
groupingColumnId: columnId,
|
|
60
|
+
groupingValue,
|
|
61
|
+
subRows,
|
|
62
|
+
leafRows,
|
|
63
|
+
getValue: (colId) => {
|
|
64
|
+
var _row$_groupingValuesC;
|
|
65
|
+
if (existingGrouping.includes(colId)) {
|
|
66
|
+
if (row._valuesCache.hasOwnProperty(colId)) return row._valuesCache[colId];
|
|
67
|
+
if (groupedRows[0]) row._valuesCache[colId] = groupedRows[0].getValue(colId) ?? void 0;
|
|
68
|
+
return row._valuesCache[colId];
|
|
69
|
+
}
|
|
70
|
+
if ((_row$_groupingValuesC = row._groupingValuesCache) === null || _row$_groupingValuesC === void 0 ? void 0 : _row$_groupingValuesC.hasOwnProperty(colId)) return row._groupingValuesCache[colId];
|
|
71
|
+
const aggregateFn = require_columnGroupingFeature_utils.column_getAggregationFn(table.getColumn(colId));
|
|
72
|
+
if (!row._groupingValuesCache) row._groupingValuesCache = {};
|
|
73
|
+
if (aggregateFn) {
|
|
74
|
+
row._groupingValuesCache[colId] = aggregateFn(colId, leafRows, groupedRows);
|
|
75
|
+
return row._groupingValuesCache[colId];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
subRows.forEach((subRow) => {
|
|
80
|
+
groupedFlatRows.push(subRow);
|
|
81
|
+
groupedRowsById[subRow.id] = subRow;
|
|
82
|
+
});
|
|
83
|
+
return row;
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
const groupedRows = groupUpRecursively(rowModel.rows, 0);
|
|
87
|
+
groupedRows.forEach((subRow) => {
|
|
88
|
+
groupedFlatRows.push(subRow);
|
|
89
|
+
groupedRowsById[subRow.id] = subRow;
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
rows: groupedRows,
|
|
93
|
+
flatRows: groupedFlatRows,
|
|
94
|
+
rowsById: groupedRowsById
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function groupBy(rows, columnId) {
|
|
98
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
99
|
+
return rows.reduce((map, row) => {
|
|
100
|
+
const resKey = `${require_columnGroupingFeature_utils.row_getGroupingValue(row, columnId)}`;
|
|
101
|
+
const previous = map.get(resKey);
|
|
102
|
+
if (!previous) map.set(resKey, [row]);
|
|
103
|
+
else previous.push(row);
|
|
104
|
+
return map;
|
|
105
|
+
}, groupMap);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
//#endregion
|
|
109
|
+
exports.createGroupedRowModel = createGroupedRowModel;
|
|
110
|
+
//# sourceMappingURL=createGroupedRowModel.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createGroupedRowModel.cjs","names":["tableMemo","table_getColumn","flattenBy","constructRow","column_getAggregationFn","row_getGroupingValue"],"sources":["../../../src/features/column-grouping/createGroupedRowModel.ts"],"sourcesContent":["import { flattenBy, tableMemo } from '../../utils'\nimport { constructRow } from '../../core/rows/constructRow'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport { table_autoResetExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport {\n column_getAggregationFn,\n row_getGroupingValue,\n} from './columnGroupingFeature.utils'\nimport type { Column } from '../../types/Column'\nimport type {\n AggregationFn,\n AggregationFns,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n if (!table._rowModelFns.aggregationFns)\n table._rowModelFns.aggregationFns = aggregationFns\n return tableMemo({\n feature: 'columnGroupingFeature',\n table,\n fnName: 'table.getGroupedRowModel',\n memoDeps: () => [\n table.store.state.grouping,\n table.getPreGroupedRowModel(),\n ],\n fn: () => _createGroupedRowModel(table),\n onAfterUpdate: () => {\n table_autoResetExpanded(table)\n table_autoResetPageIndex(table)\n },\n })\n }\n}\n\nfunction _createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreGroupedRowModel()\n const grouping = table.store.state.grouping\n\n if (!rowModel.rows.length || !grouping?.length) {\n rowModel.rows.forEach((row) => {\n row.depth = 0\n row.parentId = undefined\n })\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter((columnId) =>\n table_getColumn(table, columnId),\n )\n\n const groupedFlatRows: Array<Row<TFeatures, TData>> &\n Partial<Row_ColumnGrouping> = []\n const groupedRowsById: Record<string, Row<TFeatures, TData>> = {}\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Array<Row<TFeatures, TData>>,\n depth = 0,\n parentId?: string,\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map((row) => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows.length) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)\n }\n\n return row\n })\n }\n\n const columnId = existingGrouping[depth] as string\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Perform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n subRows.forEach((subRow) => {\n subRow.parentId = id\n })\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, (row) => row.subRows)\n : groupedRows\n\n const row = constructRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth,\n undefined,\n parentId,\n ) as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (colId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(colId)) {\n if (row._valuesCache.hasOwnProperty(colId)) {\n return row._valuesCache[colId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[colId] =\n groupedRows[0].getValue(colId) ?? undefined\n }\n\n return row._valuesCache[colId]\n }\n\n if (row._groupingValuesCache?.hasOwnProperty(colId)) {\n return row._groupingValuesCache[colId]\n }\n\n // Aggregate the values\n const column = table.getColumn(colId)\n const aggregateFn = column_getAggregationFn(\n column as Column<TFeatures, TData, unknown>,\n )\n\n if (!row._groupingValuesCache) row._groupingValuesCache = {}\n\n if (aggregateFn) {\n row._groupingValuesCache[colId] = aggregateFn(\n colId,\n leafRows,\n groupedRows,\n )\n\n return row._groupingValuesCache[colId]\n }\n },\n })\n\n subRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return row\n },\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0)\n\n groupedRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n}\n\nfunction groupBy<TFeatures extends TableFeatures, TData extends RowData = any>(\n rows: Array<Row<TFeatures, TData>>,\n columnId: string,\n) {\n const groupMap = new Map<any, Array<Row<TFeatures, TData>>>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row_getGroupingValue(row, columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n previous.push(row)\n }\n return map\n }, groupMap)\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.cjs";
|
|
2
|
+
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
3
|
+
import { Table } from "../../types/Table.cjs";
|
|
4
|
+
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
|
|
5
|
+
import { AggregationFn, AggregationFns } from "./columnGroupingFeature.types.cjs";
|
|
6
|
+
|
|
7
|
+
//#region src/features/column-grouping/createGroupedRowModel.d.ts
|
|
8
|
+
declare function createGroupedRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { createGroupedRowModel };
|
|
11
|
+
//# sourceMappingURL=createGroupedRowModel.d.cts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.js";
|
|
2
|
+
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
3
|
+
import { Table } from "../../types/Table.js";
|
|
4
|
+
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
|
|
5
|
+
import { AggregationFn, AggregationFns } from "./columnGroupingFeature.types.js";
|
|
6
|
+
|
|
7
|
+
//#region src/features/column-grouping/createGroupedRowModel.d.ts
|
|
8
|
+
declare function createGroupedRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { createGroupedRowModel };
|
|
11
|
+
//# sourceMappingURL=createGroupedRowModel.d.ts.map
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { flattenBy, tableMemo } from "../../utils.js";
|
|
2
|
+
import { table_getColumn } from "../../core/columns/coreColumnsFeature.utils.js";
|
|
3
|
+
import { constructRow } from "../../core/rows/constructRow.js";
|
|
4
|
+
import { table_autoResetPageIndex } from "../row-pagination/rowPaginationFeature.utils.js";
|
|
5
|
+
import { column_getAggregationFn, row_getGroupingValue } from "./columnGroupingFeature.utils.js";
|
|
6
|
+
import { table_autoResetExpanded } from "../row-expanding/rowExpandingFeature.utils.js";
|
|
7
|
+
|
|
8
|
+
//#region src/features/column-grouping/createGroupedRowModel.ts
|
|
9
|
+
function createGroupedRowModel(aggregationFns) {
|
|
10
|
+
return (_table) => {
|
|
11
|
+
const table = _table;
|
|
12
|
+
if (!table._rowModelFns.aggregationFns) table._rowModelFns.aggregationFns = aggregationFns;
|
|
13
|
+
return tableMemo({
|
|
14
|
+
feature: "columnGroupingFeature",
|
|
15
|
+
table,
|
|
16
|
+
fnName: "table.getGroupedRowModel",
|
|
17
|
+
memoDeps: () => [table.store.state.grouping, table.getPreGroupedRowModel()],
|
|
18
|
+
fn: () => _createGroupedRowModel(table),
|
|
19
|
+
onAfterUpdate: () => {
|
|
20
|
+
table_autoResetExpanded(table);
|
|
21
|
+
table_autoResetPageIndex(table);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function _createGroupedRowModel(table) {
|
|
27
|
+
const rowModel = table.getPreGroupedRowModel();
|
|
28
|
+
const grouping = table.store.state.grouping;
|
|
29
|
+
if (!rowModel.rows.length || !(grouping === null || grouping === void 0 ? void 0 : grouping.length)) {
|
|
30
|
+
rowModel.rows.forEach((row) => {
|
|
31
|
+
row.depth = 0;
|
|
32
|
+
row.parentId = void 0;
|
|
33
|
+
});
|
|
34
|
+
return rowModel;
|
|
35
|
+
}
|
|
36
|
+
const existingGrouping = grouping.filter((columnId) => table_getColumn(table, columnId));
|
|
37
|
+
const groupedFlatRows = [];
|
|
38
|
+
const groupedRowsById = {};
|
|
39
|
+
const groupUpRecursively = (rows, depth = 0, parentId) => {
|
|
40
|
+
if (depth >= existingGrouping.length) return rows.map((row) => {
|
|
41
|
+
row.depth = depth;
|
|
42
|
+
groupedFlatRows.push(row);
|
|
43
|
+
groupedRowsById[row.id] = row;
|
|
44
|
+
if (row.subRows.length) row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);
|
|
45
|
+
return row;
|
|
46
|
+
});
|
|
47
|
+
const columnId = existingGrouping[depth];
|
|
48
|
+
const rowGroupsMap = groupBy(rows, columnId);
|
|
49
|
+
return Array.from(rowGroupsMap.entries()).map(([groupingValue, groupedRows], index) => {
|
|
50
|
+
let id = `${columnId}:${groupingValue}`;
|
|
51
|
+
id = parentId ? `${parentId}>${id}` : id;
|
|
52
|
+
const subRows = groupUpRecursively(groupedRows, depth + 1, id);
|
|
53
|
+
subRows.forEach((subRow) => {
|
|
54
|
+
subRow.parentId = id;
|
|
55
|
+
});
|
|
56
|
+
const leafRows = depth ? flattenBy(groupedRows, (row) => row.subRows) : groupedRows;
|
|
57
|
+
const row = constructRow(table, id, leafRows[0].original, index, depth, void 0, parentId);
|
|
58
|
+
Object.assign(row, {
|
|
59
|
+
groupingColumnId: columnId,
|
|
60
|
+
groupingValue,
|
|
61
|
+
subRows,
|
|
62
|
+
leafRows,
|
|
63
|
+
getValue: (colId) => {
|
|
64
|
+
var _row$_groupingValuesC;
|
|
65
|
+
if (existingGrouping.includes(colId)) {
|
|
66
|
+
if (row._valuesCache.hasOwnProperty(colId)) return row._valuesCache[colId];
|
|
67
|
+
if (groupedRows[0]) row._valuesCache[colId] = groupedRows[0].getValue(colId) ?? void 0;
|
|
68
|
+
return row._valuesCache[colId];
|
|
69
|
+
}
|
|
70
|
+
if ((_row$_groupingValuesC = row._groupingValuesCache) === null || _row$_groupingValuesC === void 0 ? void 0 : _row$_groupingValuesC.hasOwnProperty(colId)) return row._groupingValuesCache[colId];
|
|
71
|
+
const aggregateFn = column_getAggregationFn(table.getColumn(colId));
|
|
72
|
+
if (!row._groupingValuesCache) row._groupingValuesCache = {};
|
|
73
|
+
if (aggregateFn) {
|
|
74
|
+
row._groupingValuesCache[colId] = aggregateFn(colId, leafRows, groupedRows);
|
|
75
|
+
return row._groupingValuesCache[colId];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
subRows.forEach((subRow) => {
|
|
80
|
+
groupedFlatRows.push(subRow);
|
|
81
|
+
groupedRowsById[subRow.id] = subRow;
|
|
82
|
+
});
|
|
83
|
+
return row;
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
const groupedRows = groupUpRecursively(rowModel.rows, 0);
|
|
87
|
+
groupedRows.forEach((subRow) => {
|
|
88
|
+
groupedFlatRows.push(subRow);
|
|
89
|
+
groupedRowsById[subRow.id] = subRow;
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
rows: groupedRows,
|
|
93
|
+
flatRows: groupedFlatRows,
|
|
94
|
+
rowsById: groupedRowsById
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function groupBy(rows, columnId) {
|
|
98
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
99
|
+
return rows.reduce((map, row) => {
|
|
100
|
+
const resKey = `${row_getGroupingValue(row, columnId)}`;
|
|
101
|
+
const previous = map.get(resKey);
|
|
102
|
+
if (!previous) map.set(resKey, [row]);
|
|
103
|
+
else previous.push(row);
|
|
104
|
+
return map;
|
|
105
|
+
}, groupMap);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
//#endregion
|
|
109
|
+
export { createGroupedRowModel };
|
|
110
|
+
//# sourceMappingURL=createGroupedRowModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createGroupedRowModel.js","names":[],"sources":["../../../src/features/column-grouping/createGroupedRowModel.ts"],"sourcesContent":["import { flattenBy, tableMemo } from '../../utils'\nimport { constructRow } from '../../core/rows/constructRow'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport { table_autoResetExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport {\n column_getAggregationFn,\n row_getGroupingValue,\n} from './columnGroupingFeature.utils'\nimport type { Column } from '../../types/Column'\nimport type {\n AggregationFn,\n AggregationFns,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\nexport function createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as Table_Internal<TFeatures, TData>\n if (!table._rowModelFns.aggregationFns)\n table._rowModelFns.aggregationFns = aggregationFns\n return tableMemo({\n feature: 'columnGroupingFeature',\n table,\n fnName: 'table.getGroupedRowModel',\n memoDeps: () => [\n table.store.state.grouping,\n table.getPreGroupedRowModel(),\n ],\n fn: () => _createGroupedRowModel(table),\n onAfterUpdate: () => {\n table_autoResetExpanded(table)\n table_autoResetPageIndex(table)\n },\n })\n }\n}\n\nfunction _createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreGroupedRowModel()\n const grouping = table.store.state.grouping\n\n if (!rowModel.rows.length || !grouping?.length) {\n rowModel.rows.forEach((row) => {\n row.depth = 0\n row.parentId = undefined\n })\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter((columnId) =>\n table_getColumn(table, columnId),\n )\n\n const groupedFlatRows: Array<Row<TFeatures, TData>> &\n Partial<Row_ColumnGrouping> = []\n const groupedRowsById: Record<string, Row<TFeatures, TData>> = {}\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Array<Row<TFeatures, TData>>,\n depth = 0,\n parentId?: string,\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map((row) => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows.length) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)\n }\n\n return row\n })\n }\n\n const columnId = existingGrouping[depth] as string\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Perform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n subRows.forEach((subRow) => {\n subRow.parentId = id\n })\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, (row) => row.subRows)\n : groupedRows\n\n const row = constructRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth,\n undefined,\n parentId,\n ) as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (colId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(colId)) {\n if (row._valuesCache.hasOwnProperty(colId)) {\n return row._valuesCache[colId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[colId] =\n groupedRows[0].getValue(colId) ?? undefined\n }\n\n return row._valuesCache[colId]\n }\n\n if (row._groupingValuesCache?.hasOwnProperty(colId)) {\n return row._groupingValuesCache[colId]\n }\n\n // Aggregate the values\n const column = table.getColumn(colId)\n const aggregateFn = column_getAggregationFn(\n column as Column<TFeatures, TData, unknown>,\n )\n\n if (!row._groupingValuesCache) row._groupingValuesCache = {}\n\n if (aggregateFn) {\n row._groupingValuesCache[colId] = aggregateFn(\n colId,\n leafRows,\n groupedRows,\n )\n\n return row._groupingValuesCache[colId]\n }\n },\n })\n\n subRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return row\n },\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0)\n\n groupedRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n}\n\nfunction groupBy<TFeatures extends TableFeatures, TData extends RowData = any>(\n rows: Array<Row<TFeatures, TData>>,\n columnId: string,\n) {\n const groupMap = new Map<any, Array<Row<TFeatures, TData>>>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row_getGroupingValue(row, columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n previous.push(row)\n }\n return map\n }, groupMap)\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const require_utils = require('../../utils.cjs');
|
|
2
|
+
const require_columnOrderingFeature_utils = require('./columnOrderingFeature.utils.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/features/column-ordering/columnOrderingFeature.ts
|
|
5
|
+
function constructColumnOrderingFeature() {
|
|
6
|
+
return {
|
|
7
|
+
getInitialState: (initialState) => {
|
|
8
|
+
return {
|
|
9
|
+
columnOrder: require_columnOrderingFeature_utils.getDefaultColumnOrderState(),
|
|
10
|
+
...initialState
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
getDefaultTableOptions: (table) => {
|
|
14
|
+
return { onColumnOrderChange: require_utils.makeStateUpdater("columnOrder", table) };
|
|
15
|
+
},
|
|
16
|
+
assignColumnPrototype: (prototype, table) => {
|
|
17
|
+
require_utils.assignPrototypeAPIs("columnOrderingFeature", prototype, table, {
|
|
18
|
+
column_getIndex: {
|
|
19
|
+
fn: (column, position) => require_columnOrderingFeature_utils.column_getIndex(column, position),
|
|
20
|
+
memoDeps: (column, position) => [
|
|
21
|
+
position,
|
|
22
|
+
column.table.store.state.columnOrder,
|
|
23
|
+
column.table.store.state.columnPinning,
|
|
24
|
+
column.table.store.state.grouping
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
column_getIsFirstColumn: { fn: (column, position) => require_columnOrderingFeature_utils.column_getIsFirstColumn(column, position) },
|
|
28
|
+
column_getIsLastColumn: { fn: (column, position) => require_columnOrderingFeature_utils.column_getIsLastColumn(column, position) }
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
constructTableAPIs: (table) => {
|
|
32
|
+
require_utils.assignTableAPIs("columnOrderingFeature", table, {
|
|
33
|
+
table_setColumnOrder: { fn: (updater) => require_columnOrderingFeature_utils.table_setColumnOrder(table, updater) },
|
|
34
|
+
table_resetColumnOrder: { fn: (defaultState) => require_columnOrderingFeature_utils.table_resetColumnOrder(table, defaultState) },
|
|
35
|
+
table_getOrderColumnsFn: {
|
|
36
|
+
fn: () => require_columnOrderingFeature_utils.table_getOrderColumnsFn(table),
|
|
37
|
+
memoDeps: () => [
|
|
38
|
+
table.store.state.columnOrder,
|
|
39
|
+
table.store.state.grouping,
|
|
40
|
+
table.options.groupedColumnMode
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The Column Ordering feature adds column ordering state and APIs to the table and column objects.
|
|
49
|
+
*/
|
|
50
|
+
const columnOrderingFeature = constructColumnOrderingFeature();
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
exports.columnOrderingFeature = columnOrderingFeature;
|
|
54
|
+
exports.constructColumnOrderingFeature = constructColumnOrderingFeature;
|
|
55
|
+
//# sourceMappingURL=columnOrderingFeature.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnOrderingFeature.cjs","names":["getDefaultColumnOrderState","makeStateUpdater","column_getIndex","column_getIsFirstColumn","column_getIsLastColumn","table_setColumnOrder","table_resetColumnOrder","table_getOrderColumnsFn"],"sources":["../../../src/features/column-ordering/columnOrderingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getIndex,\n column_getIsFirstColumn,\n column_getIsLastColumn,\n getDefaultColumnOrderState,\n table_getOrderColumnsFn,\n table_resetColumnOrder,\n table_setColumnOrder,\n} from './columnOrderingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_ColumnOrdering,\n// TableOptions_ColumnOrdering,\n// TableState_ColumnOrdering,\n// Table_ColumnOrdering,\n// } from './columnOrderingFeature.types'\n\ninterface ColumnOrderingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_ColumnOrdering\n // Table: Table_ColumnOrdering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnOrdering\n // TableState: TableState_ColumnOrdering\n}\n\nexport function constructColumnOrderingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnOrder: getDefaultColumnOrderState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnOrderingFeature', prototype, table, {\n column_getIndex: {\n fn: (column, position) => column_getIndex(column, position),\n memoDeps: (column, position) => [\n position,\n column.table.store.state.columnOrder,\n column.table.store.state.columnPinning,\n column.table.store.state.grouping,\n ],\n },\n column_getIsFirstColumn: {\n fn: (column, position) => column_getIsFirstColumn(column, position),\n },\n column_getIsLastColumn: {\n fn: (column, position) => column_getIsLastColumn(column, position),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnOrderingFeature', table, {\n table_setColumnOrder: {\n fn: (updater) => table_setColumnOrder(table, updater),\n },\n table_resetColumnOrder: {\n fn: (defaultState) => table_resetColumnOrder(table, defaultState),\n },\n table_getOrderColumnsFn: {\n fn: () => table_getOrderColumnsFn(table),\n memoDeps: () => [\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Column Ordering feature adds column ordering state and APIs to the table and column objects.\n */\nexport const columnOrderingFeature = constructColumnOrderingFeature()\n"],"mappings":";;;;AAiCA,SAAgB,iCAGuD;AACrE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,aAAaA,gEAA4B;IACzC,GAAG;IACJ;;EAGH,yBAAyB,UAAU;AACjC,UAAO,EACL,qBAAqBC,+BAAiB,eAAe,MAAM,EAC5D;;EAGH,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,yBAAyB,WAAW,OAAO;IAC7D,iBAAiB;KACf,KAAK,QAAQ,aAAaC,oDAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;MAC9B;MACA,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MAC1B;KACF;IACD,yBAAyB,EACvB,KAAK,QAAQ,aAAaC,4DAAwB,QAAQ,SAAS,EACpE;IACD,wBAAwB,EACtB,KAAK,QAAQ,aAAaC,2DAAuB,QAAQ,SAAS,EACnE;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,yBAAyB,OAAO;IAC9C,sBAAsB,EACpB,KAAK,YAAYC,yDAAqB,OAAO,QAAQ,EACtD;IACD,wBAAwB,EACtB,KAAK,iBAAiBC,2DAAuB,OAAO,aAAa,EAClE;IACD,yBAAyB;KACvB,UAAUC,4DAAwB,MAAM;KACxC,gBAAgB;MACd,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,QAAQ;MACf;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,wBAAwB,gCAAgC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.cjs";
|
|
2
|
+
import { TableFeature, TableFeatures } from "../../types/TableFeatures.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/features/column-ordering/columnOrderingFeature.d.ts
|
|
5
|
+
interface ColumnOrderingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
|
|
6
|
+
declare function constructColumnOrderingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>>;
|
|
7
|
+
/**
|
|
8
|
+
* The Column Ordering feature adds column ordering state and APIs to the table and column objects.
|
|
9
|
+
*/
|
|
10
|
+
declare const columnOrderingFeature: TableFeature<ColumnOrderingFeatureConstructors<TableFeatures, RowData>>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { columnOrderingFeature, constructColumnOrderingFeature };
|
|
13
|
+
//# sourceMappingURL=columnOrderingFeature.d.cts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.js";
|
|
2
|
+
import { TableFeature, TableFeatures } from "../../types/TableFeatures.js";
|
|
3
|
+
|
|
4
|
+
//#region src/features/column-ordering/columnOrderingFeature.d.ts
|
|
5
|
+
interface ColumnOrderingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
|
|
6
|
+
declare function constructColumnOrderingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>>;
|
|
7
|
+
/**
|
|
8
|
+
* The Column Ordering feature adds column ordering state and APIs to the table and column objects.
|
|
9
|
+
*/
|
|
10
|
+
declare const columnOrderingFeature: TableFeature<ColumnOrderingFeatureConstructors<TableFeatures, RowData>>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { columnOrderingFeature, constructColumnOrderingFeature };
|
|
13
|
+
//# sourceMappingURL=columnOrderingFeature.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from "../../utils.js";
|
|
2
|
+
import { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder } from "./columnOrderingFeature.utils.js";
|
|
3
|
+
|
|
4
|
+
//#region src/features/column-ordering/columnOrderingFeature.ts
|
|
5
|
+
function constructColumnOrderingFeature() {
|
|
6
|
+
return {
|
|
7
|
+
getInitialState: (initialState) => {
|
|
8
|
+
return {
|
|
9
|
+
columnOrder: getDefaultColumnOrderState(),
|
|
10
|
+
...initialState
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
getDefaultTableOptions: (table) => {
|
|
14
|
+
return { onColumnOrderChange: makeStateUpdater("columnOrder", table) };
|
|
15
|
+
},
|
|
16
|
+
assignColumnPrototype: (prototype, table) => {
|
|
17
|
+
assignPrototypeAPIs("columnOrderingFeature", prototype, table, {
|
|
18
|
+
column_getIndex: {
|
|
19
|
+
fn: (column, position) => column_getIndex(column, position),
|
|
20
|
+
memoDeps: (column, position) => [
|
|
21
|
+
position,
|
|
22
|
+
column.table.store.state.columnOrder,
|
|
23
|
+
column.table.store.state.columnPinning,
|
|
24
|
+
column.table.store.state.grouping
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
column_getIsFirstColumn: { fn: (column, position) => column_getIsFirstColumn(column, position) },
|
|
28
|
+
column_getIsLastColumn: { fn: (column, position) => column_getIsLastColumn(column, position) }
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
constructTableAPIs: (table) => {
|
|
32
|
+
assignTableAPIs("columnOrderingFeature", table, {
|
|
33
|
+
table_setColumnOrder: { fn: (updater) => table_setColumnOrder(table, updater) },
|
|
34
|
+
table_resetColumnOrder: { fn: (defaultState) => table_resetColumnOrder(table, defaultState) },
|
|
35
|
+
table_getOrderColumnsFn: {
|
|
36
|
+
fn: () => table_getOrderColumnsFn(table),
|
|
37
|
+
memoDeps: () => [
|
|
38
|
+
table.store.state.columnOrder,
|
|
39
|
+
table.store.state.grouping,
|
|
40
|
+
table.options.groupedColumnMode
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The Column Ordering feature adds column ordering state and APIs to the table and column objects.
|
|
49
|
+
*/
|
|
50
|
+
const columnOrderingFeature = constructColumnOrderingFeature();
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
export { columnOrderingFeature, constructColumnOrderingFeature };
|
|
54
|
+
//# sourceMappingURL=columnOrderingFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnOrderingFeature.js","names":[],"sources":["../../../src/features/column-ordering/columnOrderingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getIndex,\n column_getIsFirstColumn,\n column_getIsLastColumn,\n getDefaultColumnOrderState,\n table_getOrderColumnsFn,\n table_resetColumnOrder,\n table_setColumnOrder,\n} from './columnOrderingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_ColumnOrdering,\n// TableOptions_ColumnOrdering,\n// TableState_ColumnOrdering,\n// Table_ColumnOrdering,\n// } from './columnOrderingFeature.types'\n\ninterface ColumnOrderingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_ColumnOrdering\n // Table: Table_ColumnOrdering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnOrdering\n // TableState: TableState_ColumnOrdering\n}\n\nexport function constructColumnOrderingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnOrder: getDefaultColumnOrderState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnOrderingFeature', prototype, table, {\n column_getIndex: {\n fn: (column, position) => column_getIndex(column, position),\n memoDeps: (column, position) => [\n position,\n column.table.store.state.columnOrder,\n column.table.store.state.columnPinning,\n column.table.store.state.grouping,\n ],\n },\n column_getIsFirstColumn: {\n fn: (column, position) => column_getIsFirstColumn(column, position),\n },\n column_getIsLastColumn: {\n fn: (column, position) => column_getIsLastColumn(column, position),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnOrderingFeature', table, {\n table_setColumnOrder: {\n fn: (updater) => table_setColumnOrder(table, updater),\n },\n table_resetColumnOrder: {\n fn: (defaultState) => table_resetColumnOrder(table, defaultState),\n },\n table_getOrderColumnsFn: {\n fn: () => table_getOrderColumnsFn(table),\n memoDeps: () => [\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Column Ordering feature adds column ordering state and APIs to the table and column objects.\n */\nexport const columnOrderingFeature = constructColumnOrderingFeature()\n"],"mappings":";;;;AAiCA,SAAgB,iCAGuD;AACrE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,aAAa,4BAA4B;IACzC,GAAG;IACJ;;EAGH,yBAAyB,UAAU;AACjC,UAAO,EACL,qBAAqB,iBAAiB,eAAe,MAAM,EAC5D;;EAGH,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,yBAAyB,WAAW,OAAO;IAC7D,iBAAiB;KACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;MAC9B;MACA,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MAC1B;KACF;IACD,yBAAyB,EACvB,KAAK,QAAQ,aAAa,wBAAwB,QAAQ,SAAS,EACpE;IACD,wBAAwB,EACtB,KAAK,QAAQ,aAAa,uBAAuB,QAAQ,SAAS,EACnE;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,yBAAyB,OAAO;IAC9C,sBAAsB,EACpB,KAAK,YAAY,qBAAqB,OAAO,QAAQ,EACtD;IACD,wBAAwB,EACtB,KAAK,iBAAiB,uBAAuB,OAAO,aAAa,EAClE;IACD,yBAAyB;KACvB,UAAU,wBAAwB,MAAM;KACxC,gBAAgB;MACd,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,QAAQ;MACf;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,wBAAwB,gCAAgC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { OnChangeFn, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
|
+
import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.cjs";
|
|
3
|
+
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
4
|
+
|
|
5
|
+
//#region src/features/column-ordering/columnOrderingFeature.types.d.ts
|
|
6
|
+
type ColumnOrderState = Array<string>;
|
|
7
|
+
interface TableState_ColumnOrdering {
|
|
8
|
+
columnOrder: ColumnOrderState;
|
|
9
|
+
}
|
|
10
|
+
interface TableOptions_ColumnOrdering {
|
|
11
|
+
/**
|
|
12
|
+
* If provided, this function will be called with an `updaterFn` when `state.columnOrder` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
|
|
13
|
+
*/
|
|
14
|
+
onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
|
|
15
|
+
}
|
|
16
|
+
interface Column_ColumnOrdering {
|
|
17
|
+
/**
|
|
18
|
+
* Returns the index of the column in the order of the visible columns. Optionally pass a `position` parameter to get the index of the column in a sub-section of the table
|
|
19
|
+
*/
|
|
20
|
+
getIndex: (position?: ColumnPinningPosition | 'center') => number;
|
|
21
|
+
/**
|
|
22
|
+
* Returns `true` if the column is the first column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the first in a sub-section of the table.
|
|
23
|
+
*/
|
|
24
|
+
getIsFirstColumn: (position?: ColumnPinningPosition | 'center') => boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Returns `true` if the column is the last column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the last in a sub-section of the table.
|
|
27
|
+
*/
|
|
28
|
+
getIsLastColumn: (position?: ColumnPinningPosition | 'center') => boolean;
|
|
29
|
+
}
|
|
30
|
+
interface ColumnOrderDefaultOptions {
|
|
31
|
+
onColumnOrderChange: OnChangeFn<ColumnOrderState>;
|
|
32
|
+
}
|
|
33
|
+
interface Table_ColumnOrdering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
34
|
+
/**
|
|
35
|
+
* Resets the **columnOrder** state to `initialState.columnOrder`, or `true` can be passed to force a default blank state reset to `[]`.
|
|
36
|
+
*/
|
|
37
|
+
resetColumnOrder: (defaultState?: boolean) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Sets or updates the `state.columnOrder` state.
|
|
40
|
+
*/
|
|
41
|
+
setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { ColumnOrderDefaultOptions, ColumnOrderState, Column_ColumnOrdering, TableOptions_ColumnOrdering, TableState_ColumnOrdering, Table_ColumnOrdering };
|
|
45
|
+
//# sourceMappingURL=columnOrderingFeature.types.d.cts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { OnChangeFn, RowData, Updater } from "../../types/type-utils.js";
|
|
2
|
+
import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.js";
|
|
3
|
+
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
4
|
+
|
|
5
|
+
//#region src/features/column-ordering/columnOrderingFeature.types.d.ts
|
|
6
|
+
type ColumnOrderState = Array<string>;
|
|
7
|
+
interface TableState_ColumnOrdering {
|
|
8
|
+
columnOrder: ColumnOrderState;
|
|
9
|
+
}
|
|
10
|
+
interface TableOptions_ColumnOrdering {
|
|
11
|
+
/**
|
|
12
|
+
* If provided, this function will be called with an `updaterFn` when `state.columnOrder` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
|
|
13
|
+
*/
|
|
14
|
+
onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
|
|
15
|
+
}
|
|
16
|
+
interface Column_ColumnOrdering {
|
|
17
|
+
/**
|
|
18
|
+
* Returns the index of the column in the order of the visible columns. Optionally pass a `position` parameter to get the index of the column in a sub-section of the table
|
|
19
|
+
*/
|
|
20
|
+
getIndex: (position?: ColumnPinningPosition | 'center') => number;
|
|
21
|
+
/**
|
|
22
|
+
* Returns `true` if the column is the first column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the first in a sub-section of the table.
|
|
23
|
+
*/
|
|
24
|
+
getIsFirstColumn: (position?: ColumnPinningPosition | 'center') => boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Returns `true` if the column is the last column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the last in a sub-section of the table.
|
|
27
|
+
*/
|
|
28
|
+
getIsLastColumn: (position?: ColumnPinningPosition | 'center') => boolean;
|
|
29
|
+
}
|
|
30
|
+
interface ColumnOrderDefaultOptions {
|
|
31
|
+
onColumnOrderChange: OnChangeFn<ColumnOrderState>;
|
|
32
|
+
}
|
|
33
|
+
interface Table_ColumnOrdering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
34
|
+
/**
|
|
35
|
+
* Resets the **columnOrder** state to `initialState.columnOrder`, or `true` can be passed to force a default blank state reset to `[]`.
|
|
36
|
+
*/
|
|
37
|
+
resetColumnOrder: (defaultState?: boolean) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Sets or updates the `state.columnOrder` state.
|
|
40
|
+
*/
|
|
41
|
+
setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { ColumnOrderDefaultOptions, ColumnOrderState, Column_ColumnOrdering, TableOptions_ColumnOrdering, TableState_ColumnOrdering, Table_ColumnOrdering };
|
|
45
|
+
//# sourceMappingURL=columnOrderingFeature.types.d.ts.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
const require_columnPinningFeature_utils = require('../column-pinning/columnPinningFeature.utils.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/features/column-ordering/columnOrderingFeature.utils.ts
|
|
4
|
+
function getDefaultColumnOrderState() {
|
|
5
|
+
return structuredClone([]);
|
|
6
|
+
}
|
|
7
|
+
function column_getIndex(column, position) {
|
|
8
|
+
return require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(column.table, position).findIndex((d) => d.id === column.id);
|
|
9
|
+
}
|
|
10
|
+
function column_getIsFirstColumn(column, position) {
|
|
11
|
+
var _columns$;
|
|
12
|
+
return ((_columns$ = require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(column.table, position)[0]) === null || _columns$ === void 0 ? void 0 : _columns$.id) === column.id;
|
|
13
|
+
}
|
|
14
|
+
function column_getIsLastColumn(column, position) {
|
|
15
|
+
var _columns;
|
|
16
|
+
const columns = require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(column.table, position);
|
|
17
|
+
return ((_columns = columns[columns.length - 1]) === null || _columns === void 0 ? void 0 : _columns.id) === column.id;
|
|
18
|
+
}
|
|
19
|
+
function table_setColumnOrder(table, updater) {
|
|
20
|
+
var _table$options$onColu, _table$options;
|
|
21
|
+
(_table$options$onColu = (_table$options = table.options).onColumnOrderChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
|
|
22
|
+
}
|
|
23
|
+
function table_resetColumnOrder(table, defaultState) {
|
|
24
|
+
table_setColumnOrder(table, defaultState ? [] : table.initialState.columnOrder ?? []);
|
|
25
|
+
}
|
|
26
|
+
function table_getOrderColumnsFn(table) {
|
|
27
|
+
const { columnOrder = [] } = table.store.state;
|
|
28
|
+
return (columns) => {
|
|
29
|
+
let orderedColumns = [];
|
|
30
|
+
if (!columnOrder.length) orderedColumns = columns;
|
|
31
|
+
else {
|
|
32
|
+
const columnOrderCopy = [...columnOrder];
|
|
33
|
+
const columnsCopy = [...columns];
|
|
34
|
+
while (columnsCopy.length && columnOrderCopy.length) {
|
|
35
|
+
const targetColumnId = columnOrderCopy.shift();
|
|
36
|
+
const foundIndex = columnsCopy.findIndex((d) => d.id === targetColumnId);
|
|
37
|
+
if (foundIndex > -1) orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);
|
|
38
|
+
}
|
|
39
|
+
orderedColumns = [...orderedColumns, ...columnsCopy];
|
|
40
|
+
}
|
|
41
|
+
return orderColumns(table, orderedColumns);
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function orderColumns(table, leafColumns) {
|
|
45
|
+
const grouping = table.store.state.grouping ?? [];
|
|
46
|
+
const { groupedColumnMode } = table.options;
|
|
47
|
+
if (!grouping.length || !groupedColumnMode) return leafColumns;
|
|
48
|
+
const nonGroupingColumns = leafColumns.filter((col) => !grouping.includes(col.id));
|
|
49
|
+
if (groupedColumnMode === "remove") return nonGroupingColumns;
|
|
50
|
+
return [...grouping.map((g) => leafColumns.find((col) => col.id === g)).filter(Boolean), ...nonGroupingColumns];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
exports.column_getIndex = column_getIndex;
|
|
55
|
+
exports.column_getIsFirstColumn = column_getIsFirstColumn;
|
|
56
|
+
exports.column_getIsLastColumn = column_getIsLastColumn;
|
|
57
|
+
exports.getDefaultColumnOrderState = getDefaultColumnOrderState;
|
|
58
|
+
exports.orderColumns = orderColumns;
|
|
59
|
+
exports.table_getOrderColumnsFn = table_getOrderColumnsFn;
|
|
60
|
+
exports.table_resetColumnOrder = table_resetColumnOrder;
|
|
61
|
+
exports.table_setColumnOrder = table_setColumnOrder;
|
|
62
|
+
//# sourceMappingURL=columnOrderingFeature.utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnOrderingFeature.utils.cjs","names":["table_getPinnedVisibleLeafColumns"],"sources":["../../../src/features/column-ordering/columnOrderingFeature.utils.ts"],"sourcesContent":["import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.utils'\nimport type { GroupingState } from '../column-grouping/columnGroupingFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { ColumnOrderState } from './columnOrderingFeature.types'\n\nexport function getDefaultColumnOrderState(): ColumnOrderState {\n return structuredClone([])\n}\n\nexport function column_getIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns.findIndex((d) => d.id === column.id)\n}\n\nexport function column_getIsFirstColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[0]?.id === column.id\n}\n\nexport function column_getIsLastColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[columns.length - 1]?.id === column.id\n}\n\nexport function table_setColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>) {\n table.options.onColumnOrderChange?.(updater)\n}\n\nexport function table_resetColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnOrder(\n table,\n defaultState ? [] : (table.initialState.columnOrder ?? []),\n )\n}\n\nexport function table_getOrderColumnsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { columnOrder = [] } = table.store.state\n\n return (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\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((d) => d.id === targetColumnId)\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 orderColumns(table, orderedColumns)\n }\n}\n\nexport function orderColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>,\n) {\n const grouping = table.store.state.grouping ?? ([] as GroupingState)\n const { groupedColumnMode } = table.options\n\n if (!grouping.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n (col) => !grouping.includes(col.id),\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map((g) => leafColumns.find((col) => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"mappings":";;;AASA,SAAgB,6BAA+C;AAC7D,QAAO,gBAAgB,EAAE,CAAC;;AAG5B,SAAgB,gBAKd,QACA,UACA;AAEA,QADgBA,qEAAkC,OAAO,OAAO,SAAS,CAC1D,WAAW,MAAM,EAAE,OAAO,OAAO,GAAG;;AAGrD,SAAgB,wBAKd,QACA,UACA;;AAEA,sBADgBA,qEAAkC,OAAO,OAAO,SAAS,CAC1D,0DAAI,QAAO,OAAO;;AAGnC,SAAgB,uBAKd,QACA,UACA;;CACA,MAAM,UAAUA,qEAAkC,OAAO,OAAO,SAAS;AACzE,qBAAO,QAAQ,QAAQ,SAAS,wDAAI,QAAO,OAAO;;AAGpD,SAAgB,qBAGd,OAAyC,SAAoC;;AAC7E,kDAAM,SAAQ,gHAAsB,QAAQ;;AAG9C,SAAgB,uBAGd,OAAyC,cAAwB;AACjE,sBACE,OACA,eAAe,EAAE,GAAI,MAAM,aAAa,eAAe,EAAE,CAC1D;;AAGH,SAAgB,wBAGd,OAAyC;CACzC,MAAM,EAAE,cAAc,EAAE,KAAK,MAAM,MAAM;AAEzC,SAAQ,YAA+D;EAGrE,IAAI,iBAAoE,EAAE;AAG1E,MAAI,CAAC,YAAY,OACf,kBAAiB;OACZ;GACL,MAAM,kBAAkB,CAAC,GAAG,YAAY;GAGxC,MAAM,cAAc,CAAC,GAAG,QAAQ;AAKhC,UAAO,YAAY,UAAU,gBAAgB,QAAQ;IACnD,MAAM,iBAAiB,gBAAgB,OAAO;IAC9C,MAAM,aAAa,YAAY,WAAW,MAAM,EAAE,OAAO,eAAe;AACxE,QAAI,aAAa,GACf,gBAAe,KAAK,YAAY,OAAO,YAAY,EAAE,CAAC,GAAI;;AAK9D,oBAAiB,CAAC,GAAG,gBAAgB,GAAG,YAAY;;AAGtD,SAAO,aAAa,OAAO,eAAe;;;AAI9C,SAAgB,aAId,OACA,aACA;CACA,MAAM,WAAW,MAAM,MAAM,MAAM,YAAa,EAAE;CAClD,MAAM,EAAE,sBAAsB,MAAM;AAEpC,KAAI,CAAC,SAAS,UAAU,CAAC,kBACvB,QAAO;CAGT,MAAM,qBAAqB,YAAY,QACpC,QAAQ,CAAC,SAAS,SAAS,IAAI,GAAG,CACpC;AAED,KAAI,sBAAsB,SACxB,QAAO;AAOT,QAAO,CAAC,GAJgB,SACrB,KAAK,MAAM,YAAY,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAE,CACpD,OAAO,QAAQ,EAEU,GAAG,mBAAmB"}
|