@1771technologies/lytenyte-pro 1.0.20 → 2.0.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/all-colors.css +8 -0
- package/css/components/button.css +176 -0
- package/css/components/checkbox.css +54 -0
- package/css/components/input.css +64 -0
- package/css/components/tree-view.css +108 -0
- package/css/components.css +300 -0
- package/css/cotton-candy.css +1 -0
- package/css/dark.css +1 -0
- package/css/design.css +1 -0
- package/css/fonts.css +1 -0
- package/css/grid-full.css +3 -0
- package/css/grid.css +81 -0
- package/css/light-dark.css +3 -0
- package/css/light.css +1 -0
- package/css/pill-manager.css +184 -0
- package/css/shadcn-vars.css +1 -0
- package/css/shadcn.css +1 -0
- package/css/teal.css +1 -0
- package/css/term.css +1 -0
- package/css/tw.css +1 -0
- package/package.json +29 -16
- package/dist/+types.d.ts +0 -6177
- package/dist/+types.js +0 -1
- package/dist/__play__/cell-selections/cell-selection.play.d.ts +0 -5
- package/dist/__play__/cell-selections/cell-selection.play.js +0 -80
- package/dist/__play__/filter-select/filter-select.play.d.ts +0 -4
- package/dist/__play__/filter-select/filter-select.play.js +0 -76
- package/dist/__play__/test-utils/bank-data-smaller.d.ts +0 -19
- package/dist/__play__/test-utils/bank-data-smaller.js +0 -252
- package/dist/__play__/test-utils/row-handler.d.ts +0 -6
- package/dist/__play__/test-utils/row-handler.js +0 -32
- package/dist/cell-selection/adjust-rect-for-row-and-cell-span.d.ts +0 -2
- package/dist/cell-selection/adjust-rect-for-row-and-cell-span.js +0 -43
- package/dist/cell-selection/are-rects-equal.d.ts +0 -2
- package/dist/cell-selection/are-rects-equal.js +0 -6
- package/dist/cell-selection/bound-selection-rect.d.ts +0 -2
- package/dist/cell-selection/bound-selection-rect.js +0 -17
- package/dist/cell-selection/cell-selection-containers.d.ts +0 -3
- package/dist/cell-selection/cell-selection-containers.js +0 -91
- package/dist/cell-selection/cell-selection-driver.d.ts +0 -1
- package/dist/cell-selection/cell-selection-driver.js +0 -289
- package/dist/cell-selection/cell-style-row.d.ts +0 -8
- package/dist/cell-selection/cell-style-row.js +0 -84
- package/dist/cell-selection/deselect-rect-range.d.ts +0 -2
- package/dist/cell-selection/deselect-rect-range.js +0 -43
- package/dist/cell-selection/expand-cell-selection-down.d.ts +0 -5
- package/dist/cell-selection/expand-cell-selection-down.js +0 -39
- package/dist/cell-selection/expand-cell-selection-end.d.ts +0 -5
- package/dist/cell-selection/expand-cell-selection-end.js +0 -40
- package/dist/cell-selection/expand-cell-selection-start.d.ts +0 -5
- package/dist/cell-selection/expand-cell-selection-start.js +0 -39
- package/dist/cell-selection/expand-cell-selection-up.d.ts +0 -5
- package/dist/cell-selection/expand-cell-selection-up.js +0 -39
- package/dist/cell-selection/full-width-start-end-index.d.ts +0 -2
- package/dist/cell-selection/full-width-start-end-index.js +0 -5
- package/dist/cell-selection/get-root-cell.d.ts +0 -2
- package/dist/cell-selection/get-root-cell.js +0 -6
- package/dist/cell-selection/index.d.ts +0 -18
- package/dist/cell-selection/index.js +0 -18
- package/dist/cell-selection/is-bottom-rect.d.ts +0 -2
- package/dist/cell-selection/is-bottom-rect.js +0 -7
- package/dist/cell-selection/is-center-col-rect.d.ts +0 -5
- package/dist/cell-selection/is-center-col-rect.js +0 -5
- package/dist/cell-selection/is-center-rect.d.ts +0 -2
- package/dist/cell-selection/is-center-rect.js +0 -5
- package/dist/cell-selection/is-end-rect.d.ts +0 -5
- package/dist/cell-selection/is-end-rect.js +0 -4
- package/dist/cell-selection/is-overlapping-rect.d.ts +0 -2
- package/dist/cell-selection/is-overlapping-rect.js +0 -6
- package/dist/cell-selection/is-start-rect.d.ts +0 -5
- package/dist/cell-selection/is-start-rect.js +0 -4
- package/dist/cell-selection/is-top-rect.d.ts +0 -2
- package/dist/cell-selection/is-top-rect.js +0 -4
- package/dist/cell-selection/is-within-selection-rect.d.ts +0 -2
- package/dist/cell-selection/is-within-selection-rect.js +0 -3
- package/dist/cell-selection/split-cell-selection-rect.d.ts +0 -46
- package/dist/cell-selection/split-cell-selection-rect.js +0 -88
- package/dist/cell-selection/split-on-pivot.d.ts +0 -3
- package/dist/cell-selection/split-on-pivot.js +0 -50
- package/dist/cell-selection/update-additive-cell-selection.d.ts +0 -5
- package/dist/cell-selection/update-additive-cell-selection.js +0 -23
- package/dist/cell-selection/use-edge-scroll.d.ts +0 -10
- package/dist/cell-selection/use-edge-scroll.js +0 -66
- package/dist/column-manager/branch-lookup-context.d.ts +0 -4
- package/dist/column-manager/branch-lookup-context.js +0 -3
- package/dist/column-manager/branch.d.ts +0 -15
- package/dist/column-manager/branch.js +0 -54
- package/dist/column-manager/column-manager.d.ts +0 -13
- package/dist/column-manager/column-manager.js +0 -18
- package/dist/column-manager/context.d.ts +0 -7
- package/dist/column-manager/context.js +0 -3
- package/dist/column-manager/label.d.ts +0 -5
- package/dist/column-manager/label.js +0 -18
- package/dist/column-manager/leaf.d.ts +0 -6
- package/dist/column-manager/leaf.js +0 -58
- package/dist/column-manager/move-handle.d.ts +0 -5
- package/dist/column-manager/move-handle.js +0 -72
- package/dist/column-manager/panel.d.ts +0 -1
- package/dist/column-manager/panel.js +0 -2
- package/dist/column-manager/root.d.ts +0 -8
- package/dist/column-manager/root.js +0 -7
- package/dist/column-manager/use-column-manager.d.ts +0 -10
- package/dist/column-manager/use-column-manager.js +0 -24
- package/dist/column-manager/use-columns-from-context.d.ts +0 -3
- package/dist/column-manager/use-columns-from-context.js +0 -23
- package/dist/column-manager/visibility-checkbox.d.ts +0 -9
- package/dist/column-manager/visibility-checkbox.js +0 -30
- package/dist/context.d.ts +0 -11
- package/dist/context.js +0 -5
- package/dist/filter-selects/apply.d.ts +0 -7
- package/dist/filter-selects/apply.js +0 -22
- package/dist/filter-selects/clear.d.ts +0 -7
- package/dist/filter-selects/clear.js +0 -22
- package/dist/filter-selects/context.d.ts +0 -13
- package/dist/filter-selects/context.js +0 -3
- package/dist/filter-selects/filter-combinator.d.ts +0 -10
- package/dist/filter-selects/filter-combinator.js +0 -19
- package/dist/filter-selects/filter-row-context.d.ts +0 -30
- package/dist/filter-selects/filter-row-context.js +0 -3
- package/dist/filter-selects/filter-row.d.ts +0 -13
- package/dist/filter-selects/filter-row.js +0 -118
- package/dist/filter-selects/index.d.ts +0 -22
- package/dist/filter-selects/index.js +0 -20
- package/dist/filter-selects/is-complete-filter.d.ts +0 -2
- package/dist/filter-selects/is-complete-filter.js +0 -5
- package/dist/filter-selects/operator-select.d.ts +0 -14
- package/dist/filter-selects/operator-select.js +0 -25
- package/dist/filter-selects/options.d.ts +0 -9
- package/dist/filter-selects/options.js +0 -100
- package/dist/filter-selects/reset.d.ts +0 -7
- package/dist/filter-selects/reset.js +0 -22
- package/dist/filter-selects/root.d.ts +0 -14
- package/dist/filter-selects/root.js +0 -5
- package/dist/filter-selects/to-filter-item.d.ts +0 -3
- package/dist/filter-selects/to-filter-item.js +0 -7
- package/dist/filter-selects/use-filter-select.d.ts +0 -38
- package/dist/filter-selects/use-filter-select.js +0 -167
- package/dist/filter-selects/value-input.d.ts +0 -12
- package/dist/filter-selects/value-input.js +0 -27
- package/dist/filter-tree/branch.d.ts +0 -13
- package/dist/filter-tree/branch.js +0 -21
- package/dist/filter-tree/context.d.ts +0 -27
- package/dist/filter-tree/context.js +0 -5
- package/dist/filter-tree/filter-tree.d.ts +0 -14
- package/dist/filter-tree/filter-tree.js +0 -18
- package/dist/filter-tree/hooks/use-filter-tree.d.ts +0 -38
- package/dist/filter-tree/hooks/use-filter-tree.js +0 -101
- package/dist/filter-tree/hooks/use-tree-item.d.ts +0 -8
- package/dist/filter-tree/hooks/use-tree-item.js +0 -116
- package/dist/filter-tree/inclusion-checkbox.d.ts +0 -9
- package/dist/filter-tree/inclusion-checkbox.js +0 -14
- package/dist/filter-tree/label.d.ts +0 -5
- package/dist/filter-tree/label.js +0 -18
- package/dist/filter-tree/leaf.d.ts +0 -6
- package/dist/filter-tree/leaf.js +0 -14
- package/dist/filter-tree/root.d.ts +0 -13
- package/dist/filter-tree/root.js +0 -30
- package/dist/grid/cell.d.ts +0 -6
- package/dist/grid/cell.js +0 -3
- package/dist/grid/dialog-driver.d.ts +0 -1
- package/dist/grid/dialog-driver.js +0 -21
- package/dist/grid/header-cell.d.ts +0 -10
- package/dist/grid/header-cell.js +0 -3
- package/dist/grid/header-group-cell.d.ts +0 -6
- package/dist/grid/header-group-cell.js +0 -3
- package/dist/grid/header-row.d.ts +0 -5
- package/dist/grid/header-row.js +0 -2
- package/dist/grid/header.d.ts +0 -1
- package/dist/grid/header.js +0 -2
- package/dist/grid/popover-driver.d.ts +0 -1
- package/dist/grid/popover-driver.js +0 -21
- package/dist/grid/root.d.ts +0 -8
- package/dist/grid/root.js +0 -37
- package/dist/grid/row-full-width.d.ts +0 -9
- package/dist/grid/row-full-width.js +0 -3
- package/dist/grid/row.d.ts +0 -8
- package/dist/grid/row.js +0 -3
- package/dist/grid/rows-container.d.ts +0 -1
- package/dist/grid/rows-container.js +0 -2
- package/dist/grid/rows-sections.d.ts +0 -3
- package/dist/grid/rows-sections.js +0 -13
- package/dist/grid/viewport.d.ts +0 -1
- package/dist/grid/viewport.js +0 -9
- package/dist/grid-box/+types.d.ts +0 -15
- package/dist/grid-box/+types.js +0 -1
- package/dist/grid-box/context.d.ts +0 -9
- package/dist/grid-box/context.js +0 -3
- package/dist/grid-box/grid-box.d.ts +0 -12
- package/dist/grid-box/grid-box.js +0 -14
- package/dist/grid-box/item.d.ts +0 -10
- package/dist/grid-box/item.js +0 -62
- package/dist/grid-box/panel.d.ts +0 -1
- package/dist/grid-box/panel.js +0 -9
- package/dist/grid-box/root.d.ts +0 -9
- package/dist/grid-box/root.js +0 -8
- package/dist/grid-box/use-aggregation-box-items.d.ts +0 -18
- package/dist/grid-box/use-aggregation-box-items.js +0 -61
- package/dist/grid-box/use-column-box-items.d.ts +0 -34
- package/dist/grid-box/use-column-box-items.js +0 -78
- package/dist/grid-box/use-row-group-box-items.d.ts +0 -18
- package/dist/grid-box/use-row-group-box-items.js +0 -169
- package/dist/grid-provider/context.d.ts +0 -5
- package/dist/grid-provider/context.js +0 -2
- package/dist/grid-provider/provider.d.ts +0 -3
- package/dist/grid-provider/provider.js +0 -2
- package/dist/grid-provider/use-grid.d.ts +0 -3
- package/dist/grid-provider/use-grid.js +0 -3
- package/dist/grid.d.ts +0 -18
- package/dist/grid.js +0 -28
- package/dist/icons/index.d.ts +0 -1
- package/dist/icons/index.js +0 -1
- package/dist/index.d.ts +0 -14
- package/dist/index.js +0 -14
- package/dist/license/index.d.ts +0 -1
- package/dist/license/index.js +0 -1
- package/dist/license/license.d.ts +0 -3
- package/dist/license/license.js +0 -215
- package/dist/license/md5-hash.d.ts +0 -9
- package/dist/license/md5-hash.js +0 -167
- package/dist/license.d.ts +0 -3
- package/dist/license.js +0 -214
- package/dist/listbox/context.d.ts +0 -6
- package/dist/listbox/context.js +0 -3
- package/dist/listbox/item.d.ts +0 -1
- package/dist/listbox/item.js +0 -25
- package/dist/listbox/panel.d.ts +0 -1
- package/dist/listbox/panel.js +0 -50
- package/dist/listbox/root.d.ts +0 -6
- package/dist/listbox/root.js +0 -12
- package/dist/row-data-source-client/+constants.d.ts +0 -2
- package/dist/row-data-source-client/+constants.js +0 -2
- package/dist/row-data-source-client/+types.d.ts +0 -27
- package/dist/row-data-source-client/+types.js +0 -1
- package/dist/row-data-source-client/built-ins/avg.d.ts +0 -10
- package/dist/row-data-source-client/built-ins/avg.js +0 -16
- package/dist/row-data-source-client/built-ins/built-ins.d.ts +0 -44
- package/dist/row-data-source-client/built-ins/built-ins.js +0 -44
- package/dist/row-data-source-client/built-ins/count.d.ts +0 -10
- package/dist/row-data-source-client/built-ins/count.js +0 -16
- package/dist/row-data-source-client/built-ins/first.d.ts +0 -10
- package/dist/row-data-source-client/built-ins/first.js +0 -12
- package/dist/row-data-source-client/built-ins/group.d.ts +0 -1
- package/dist/row-data-source-client/built-ins/group.js +0 -3
- package/dist/row-data-source-client/built-ins/last.d.ts +0 -10
- package/dist/row-data-source-client/built-ins/last.js +0 -12
- package/dist/row-data-source-client/built-ins/max.d.ts +0 -11
- package/dist/row-data-source-client/built-ins/max.js +0 -25
- package/dist/row-data-source-client/built-ins/min.d.ts +0 -11
- package/dist/row-data-source-client/built-ins/min.js +0 -25
- package/dist/row-data-source-client/built-ins/sum.d.ts +0 -10
- package/dist/row-data-source-client/built-ins/sum.js +0 -21
- package/dist/row-data-source-client/filter/+types.d.ts +0 -23
- package/dist/row-data-source-client/filter/+types.js +0 -1
- package/dist/row-data-source-client/filter/compute-filtered-rows.d.ts +0 -2
- package/dist/row-data-source-client/filter/compute-filtered-rows.js +0 -109
- package/dist/row-data-source-client/pivots/create-agg-model.d.ts +0 -6
- package/dist/row-data-source-client/pivots/create-agg-model.js +0 -13
- package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.d.ts +0 -2
- package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.js +0 -50
- package/dist/row-data-source-client/pivots/create-pivot-columns.d.ts +0 -2
- package/dist/row-data-source-client/pivots/create-pivot-columns.js +0 -22
- package/dist/row-data-source-client/pivots/create-pivot-tree.d.ts +0 -2
- package/dist/row-data-source-client/pivots/create-pivot-tree.js +0 -23
- package/dist/row-data-source-client/tree/client-tree.d.ts +0 -18
- package/dist/row-data-source-client/tree/client-tree.js +0 -76
- package/dist/row-data-source-client/tree/evaluator-aggregation.d.ts +0 -2
- package/dist/row-data-source-client/tree/evaluator-aggregation.js +0 -8
- package/dist/row-data-source-client/tree/evaluator-group.d.ts +0 -2
- package/dist/row-data-source-client/tree/evaluator-group.js +0 -9
- package/dist/row-data-source-client/tree/traverse.d.ts +0 -2
- package/dist/row-data-source-client/tree/traverse.js +0 -22
- package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +0 -10
- package/dist/row-data-source-client/use-client-data-source-paginated.js +0 -573
- package/dist/row-data-source-client/use-client-data-source.d.ts +0 -10
- package/dist/row-data-source-client/use-client-data-source.js +0 -667
- package/dist/row-data-source-client/use-client-tree-data-source.d.ts +0 -9
- package/dist/row-data-source-client/use-client-tree-data-source.js +0 -512
- package/dist/row-data-source-server/async-tree/+constants.async-tree.d.ts +0 -1
- package/dist/row-data-source-server/async-tree/+constants.async-tree.js +0 -1
- package/dist/row-data-source-server/async-tree/+types.async-tree.d.ts +0 -59
- package/dist/row-data-source-server/async-tree/+types.async-tree.js +0 -1
- package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.js +0 -27
- package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.js +0 -36
- package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.js +0 -24
- package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.js +0 -14
- package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.js +0 -18
- package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.js +0 -14
- package/dist/row-data-source-server/async-tree/get-parent-node-by-path.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/get-parent-node-by-path.js +0 -18
- package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.js +0 -3
- package/dist/row-data-source-server/async-tree/make-async-tree.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/make-async-tree.js +0 -19
- package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.js +0 -8
- package/dist/row-data-source-server/async-tree/maybe-apply-resize.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/maybe-apply-resize.js +0 -17
- package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.d.ts +0 -2
- package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.js +0 -52
- package/dist/row-data-source-server/range-tree/range-tree.d.ts +0 -66
- package/dist/row-data-source-server/range-tree/range-tree.js +0 -102
- package/dist/row-data-source-server/server-data.d.ts +0 -70
- package/dist/row-data-source-server/server-data.js +0 -519
- package/dist/row-data-source-server/use-server-data-source.d.ts +0 -3
- package/dist/row-data-source-server/use-server-data-source.js +0 -413
- package/dist/row-data-source-server/utils/get-node-depth.d.ts +0 -2
- package/dist/row-data-source-server/utils/get-node-depth.js +0 -9
- package/dist/row-data-source-server/utils/get-node-path.d.ts +0 -2
- package/dist/row-data-source-server/utils/get-node-path.js +0 -9
- package/dist/row-data-source-server/utils/get-request-id.d.ts +0 -1
- package/dist/row-data-source-server/utils/get-request-id.js +0 -6
- package/dist/sort-manager/+types.d.ts +0 -13
- package/dist/sort-manager/+types.js +0 -1
- package/dist/sort-manager/context.d.ts +0 -14
- package/dist/sort-manager/context.js +0 -5
- package/dist/sort-manager/hooks/use-sort-manager.d.ts +0 -15
- package/dist/sort-manager/hooks/use-sort-manager.js +0 -56
- package/dist/sort-manager/hooks/use-sort-row-item.d.ts +0 -51
- package/dist/sort-manager/hooks/use-sort-row-item.js +0 -145
- package/dist/sort-manager/hooks/use-sortable-column-items.d.ts +0 -5
- package/dist/sort-manager/hooks/use-sortable-column-items.js +0 -13
- package/dist/sort-manager/root.d.ts +0 -3
- package/dist/sort-manager/root.js +0 -14
- package/dist/sort-manager/sort-add.d.ts +0 -8
- package/dist/sort-manager/sort-add.js +0 -14
- package/dist/sort-manager/sort-apply.d.ts +0 -7
- package/dist/sort-manager/sort-apply.js +0 -24
- package/dist/sort-manager/sort-cancel.d.ts +0 -7
- package/dist/sort-manager/sort-cancel.js +0 -27
- package/dist/sort-manager/sort-clear.d.ts +0 -7
- package/dist/sort-manager/sort-clear.js +0 -22
- package/dist/sort-manager/sort-column-select.d.ts +0 -10
- package/dist/sort-manager/sort-column-select.js +0 -20
- package/dist/sort-manager/sort-direction-select.d.ts +0 -10
- package/dist/sort-manager/sort-direction-select.js +0 -24
- package/dist/sort-manager/sort-manager.d.ts +0 -16
- package/dist/sort-manager/sort-manager.js +0 -26
- package/dist/sort-manager/sort-remove.d.ts +0 -7
- package/dist/sort-manager/sort-remove.js +0 -14
- package/dist/sort-manager/sort-row.d.ts +0 -5
- package/dist/sort-manager/sort-row.js +0 -7
- package/dist/sort-manager/sort-rows.d.ts +0 -1
- package/dist/sort-manager/sort-rows.js +0 -6
- package/dist/sort-manager/sort-value-select.d.ts +0 -11
- package/dist/sort-manager/sort-value-select.js +0 -25
- package/dist/sort-manager/utils/sort-item-to-sort-model.d.ts +0 -3
- package/dist/sort-manager/utils/sort-item-to-sort-model.js +0 -62
- package/dist/sort-manager/utils/sort-model-to-sort-items.d.ts +0 -3
- package/dist/sort-manager/utils/sort-model-to-sort-items.js +0 -50
- package/dist/state/+types.d.ts +0 -36
- package/dist/state/+types.js +0 -1
- package/dist/state/api/cell-root.d.ts +0 -5
- package/dist/state/api/cell-root.js +0 -65
- package/dist/state/api/column-autosize.d.ts +0 -5
- package/dist/state/api/column-autosize.js +0 -72
- package/dist/state/api/column-by-id.d.ts +0 -2
- package/dist/state/api/column-by-id.js +0 -6
- package/dist/state/api/column-field.d.ts +0 -2
- package/dist/state/api/column-field.js +0 -23
- package/dist/state/api/column-from-index.d.ts +0 -2
- package/dist/state/api/column-from-index.js +0 -6
- package/dist/state/api/column-group-toggle.d.ts +0 -2
- package/dist/state/api/column-group-toggle.js +0 -10
- package/dist/state/api/column-index.d.ts +0 -2
- package/dist/state/api/column-index.js +0 -7
- package/dist/state/api/column-move.d.ts +0 -2
- package/dist/state/api/column-move.js +0 -49
- package/dist/state/api/column-resize.d.ts +0 -2
- package/dist/state/api/column-resize.js +0 -9
- package/dist/state/api/column-update.d.ts +0 -5
- package/dist/state/api/column-update.js +0 -26
- package/dist/state/api/dialog-frame.d.ts +0 -8
- package/dist/state/api/dialog-frame.js +0 -16
- package/dist/state/api/edit-begin.d.ts +0 -5
- package/dist/state/api/edit-begin.js +0 -87
- package/dist/state/api/edit-end.d.ts +0 -5
- package/dist/state/api/edit-end.js +0 -43
- package/dist/state/api/edit-is-cell-active.d.ts +0 -5
- package/dist/state/api/edit-is-cell-active.js +0 -22
- package/dist/state/api/edit-update.d.ts +0 -5
- package/dist/state/api/edit-update.js +0 -88
- package/dist/state/api/event-listeners.d.ts +0 -5
- package/dist/state/api/event-listeners.js +0 -19
- package/dist/state/api/export-csv.d.ts +0 -3
- package/dist/state/api/export-csv.js +0 -40
- package/dist/state/api/export-data-rect.d.ts +0 -2
- package/dist/state/api/export-data-rect.js +0 -24
- package/dist/state/api/popover-frame.d.ts +0 -8
- package/dist/state/api/popover-frame.js +0 -16
- package/dist/state/api/position-from-element.d.ts +0 -5
- package/dist/state/api/position-from-element.js +0 -9
- package/dist/state/api/row-by-id.d.ts +0 -2
- package/dist/state/api/row-by-id.js +0 -5
- package/dist/state/api/row-by-index.d.ts +0 -2
- package/dist/state/api/row-by-index.js +0 -9
- package/dist/state/api/row-detail-is-expanded.d.ts +0 -2
- package/dist/state/api/row-detail-is-expanded.js +0 -6
- package/dist/state/api/row-detail-rendered-height.d.ts +0 -5
- package/dist/state/api/row-detail-rendered-height.js +0 -14
- package/dist/state/api/row-detail-toggle.d.ts +0 -2
- package/dist/state/api/row-detail-toggle.js +0 -32
- package/dist/state/api/row-group-apply-expansions.d.ts +0 -2
- package/dist/state/api/row-group-apply-expansions.js +0 -20
- package/dist/state/api/row-group-column-index.d.ts +0 -2
- package/dist/state/api/row-group-column-index.js +0 -14
- package/dist/state/api/row-group-is-expanded.d.ts +0 -2
- package/dist/state/api/row-group-is-expanded.js +0 -15
- package/dist/state/api/row-group-toggle.d.ts +0 -2
- package/dist/state/api/row-group-toggle.js +0 -7
- package/dist/state/api/row-handle-select.d.ts +0 -5
- package/dist/state/api/row-handle-select.js +0 -43
- package/dist/state/api/row-select-all.d.ts +0 -2
- package/dist/state/api/row-select-all.js +0 -17
- package/dist/state/api/row-select.d.ts +0 -5
- package/dist/state/api/row-select.js +0 -35
- package/dist/state/api/row-selected.d.ts +0 -2
- package/dist/state/api/row-selected.js +0 -13
- package/dist/state/api/scroll-into-view.d.ts +0 -5
- package/dist/state/api/scroll-into-view.js +0 -50
- package/dist/state/api/sort-for-column.d.ts +0 -2
- package/dist/state/api/sort-for-column.js +0 -9
- package/dist/state/api/use-row-drag.d.ts +0 -2
- package/dist/state/api/use-row-drag.js +0 -20
- package/dist/state/helpers/cell-row-group.d.ts +0 -2
- package/dist/state/helpers/cell-row-group.js +0 -19
- package/dist/state/helpers/column-add-row-group.d.ts +0 -10
- package/dist/state/helpers/column-add-row-group.js +0 -74
- package/dist/state/helpers/column-layout.d.ts +0 -3
- package/dist/state/helpers/column-layout.js +0 -59
- package/dist/state/helpers/column-marker.d.ts +0 -8
- package/dist/state/helpers/column-marker.js +0 -45
- package/dist/state/helpers/column-view.d.ts +0 -21
- package/dist/state/helpers/column-view.js +0 -33
- package/dist/state/helpers/edit-on-change.d.ts +0 -15
- package/dist/state/helpers/edit-on-change.js +0 -27
- package/dist/state/helpers/empty-row-data-source.d.ts +0 -2
- package/dist/state/helpers/empty-row-data-source.js +0 -18
- package/dist/state/helpers/get-data-rect.d.ts +0 -13
- package/dist/state/helpers/get-data-rect.js +0 -65
- package/dist/state/helpers/get-full-width-callback.d.ts +0 -2
- package/dist/state/helpers/get-full-width-callback.js +0 -10
- package/dist/state/helpers/get-span-callback.d.ts +0 -2
- package/dist/state/helpers/get-span-callback.js +0 -22
- package/dist/state/helpers/resolve-column.d.ts +0 -4
- package/dist/state/helpers/resolve-column.js +0 -29
- package/dist/state/helpers/row-layout/get-focus-criteria.d.ts +0 -17
- package/dist/state/helpers/row-layout/get-focus-criteria.js +0 -62
- package/dist/state/helpers/row-layout/row-layout.d.ts +0 -19
- package/dist/state/helpers/row-layout/row-layout.js +0 -162
- package/dist/state/use-lytenyte.d.ts +0 -3
- package/dist/state/use-lytenyte.js +0 -686
- package/dist/tree-view/branch/branch.d.ts +0 -14
- package/dist/tree-view/branch/branch.js +0 -63
- package/dist/tree-view/branch/use-branch-keys.d.ts +0 -2
- package/dist/tree-view/branch/use-branch-keys.js +0 -87
- package/dist/tree-view/context.d.ts +0 -22
- package/dist/tree-view/context.js +0 -3
- package/dist/tree-view/depth-provider.d.ts +0 -2
- package/dist/tree-view/depth-provider.js +0 -3
- package/dist/tree-view/hooks/use-tree-view-paths.d.ts +0 -2
- package/dist/tree-view/hooks/use-tree-view-paths.js +0 -9
- package/dist/tree-view/index.d.ts +0 -16
- package/dist/tree-view/index.js +0 -16
- package/dist/tree-view/leaf.d.ts +0 -4
- package/dist/tree-view/leaf.js +0 -28
- package/dist/tree-view/navigation/get-all-ids.d.ts +0 -1
- package/dist/tree-view/navigation/get-all-ids.js +0 -7
- package/dist/tree-view/navigation/get-first-node.d.ts +0 -1
- package/dist/tree-view/navigation/get-first-node.js +0 -7
- package/dist/tree-view/navigation/get-last-node.d.ts +0 -1
- package/dist/tree-view/navigation/get-last-node.js +0 -7
- package/dist/tree-view/navigation/get-next-node.d.ts +0 -1
- package/dist/tree-view/navigation/get-next-node.js +0 -13
- package/dist/tree-view/navigation/get-prev-node.d.ts +0 -1
- package/dist/tree-view/navigation/get-prev-node.js +0 -13
- package/dist/tree-view/panel/make-handle-navigation.d.ts +0 -2
- package/dist/tree-view/panel/make-handle-navigation.js +0 -39
- package/dist/tree-view/panel/make-handle-selection.d.ts +0 -2
- package/dist/tree-view/panel/make-handle-selection.js +0 -92
- package/dist/tree-view/panel/make-handle-typeahead.d.ts +0 -1
- package/dist/tree-view/panel/make-handle-typeahead.js +0 -45
- package/dist/tree-view/panel/panel.d.ts +0 -1
- package/dist/tree-view/panel/panel.js +0 -30
- package/dist/tree-view/panel/use-tree-navigation.d.ts +0 -1
- package/dist/tree-view/panel/use-tree-navigation.js +0 -63
- package/dist/tree-view/root.d.ts +0 -17
- package/dist/tree-view/root.js +0 -63
- package/dist/tree-view/utils/get-focusable-nodes.d.ts +0 -1
- package/dist/tree-view/utils/get-focusable-nodes.js +0 -5
- package/dist/tree-view/utils/get-focused-node.d.ts +0 -1
- package/dist/tree-view/utils/get-focused-node.js +0 -14
- package/dist/tree-view/utils/get-ids-between-nodes.d.ts +0 -1
- package/dist/tree-view/utils/get-ids-between-nodes.js +0 -15
- package/dist/tree-view/utils/get-panel.d.ts +0 -1
- package/dist/tree-view/utils/get-panel.js +0 -7
- package/dist/tree-view/utils/get-parent-node.d.ts +0 -1
- package/dist/tree-view/utils/get-parent-node.js +0 -10
- package/dist/tree-view/utils/get-sibling-branches.d.ts +0 -1
- package/dist/tree-view/utils/get-sibling-branches.js +0 -14
- package/dist/tree-view/utils/get-tree-node-id.d.ts +0 -1
- package/dist/tree-view/utils/get-tree-node-id.js +0 -3
- package/dist/tree-view/utils/is-branch-node.d.ts +0 -1
- package/dist/tree-view/utils/is-branch-node.js +0 -3
- package/dist/tree-view/utils/is-leaf-node.d.ts +0 -1
- package/dist/tree-view/utils/is-leaf-node.js +0 -3
- package/dist/tree-view/utils/is-tree-node-disabled.d.ts +0 -1
- package/dist/tree-view/utils/is-tree-node-disabled.js +0 -3
- package/dist/tree-view/utils/select-node.d.ts +0 -2
- package/dist/tree-view/utils/select-node.js +0 -15
- package/dist/tree-view/utils/toggle-all-selections.d.ts +0 -2
- package/dist/tree-view/utils/toggle-all-selections.js +0 -9
- package/dist/tree-view/utils/toggle-selection.d.ts +0 -2
- package/dist/tree-view/utils/toggle-selection.js +0 -21
- package/dist/tree-view/virtualized/force-sync-scrolling.d.ts +0 -2
- package/dist/tree-view/virtualized/force-sync-scrolling.js +0 -23
- package/dist/tree-view/virtualized/get-virtual-tree-paths.d.ts +0 -2
- package/dist/tree-view/virtualized/get-virtual-tree-paths.js +0 -14
- package/dist/tree-view/virtualized/make-virtual-tree.d.ts +0 -31
- package/dist/tree-view/virtualized/make-virtual-tree.js +0 -90
- package/dist/tree-view/virtualized/use-flattened-tree.d.ts +0 -9
- package/dist/tree-view/virtualized/use-flattened-tree.js +0 -36
- package/dist/tree-view/virtualized/use-row-start-and-end.d.ts +0 -2
- package/dist/tree-view/virtualized/use-row-start-and-end.js +0 -27
- package/dist/tree-view/virtualized/use-virtualized-tree.d.ts +0 -22
- package/dist/tree-view/virtualized/use-virtualized-tree.js +0 -100
- package/dist/types/types.d.ts +0 -8
- package/dist/types/types.js +0 -1
- package/main.css +0 -465
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const invalidItemKeyType = "Invalid set action items, 'relIndex' must be a positive integer";
|
|
2
|
-
export function checkSetActionItemKeysAreValid(p) {
|
|
3
|
-
if (!p.items?.length)
|
|
4
|
-
return true;
|
|
5
|
-
const items = p.items;
|
|
6
|
-
for (let i = items.length - 1; i >= 0; i--) {
|
|
7
|
-
const x = items[i];
|
|
8
|
-
if (typeof x.relIndex !== "number" || x.relIndex < 0 || Math.floor(x.relIndex) !== x.relIndex) {
|
|
9
|
-
console.error(invalidItemKeyType, p);
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
const invalidItemKeySize = "Invalid set action items, 'relIndex' must be less than parent size";
|
|
2
|
-
export function checkSetActionItemKeysFit(p, pathNode) {
|
|
3
|
-
// If we are not adding any items, then the items definitely fit - since 0 fits in 0.
|
|
4
|
-
if (!p.items?.length)
|
|
5
|
-
return true;
|
|
6
|
-
// Grab the node size. The action may be updating the size, so we check for that first, otherwise
|
|
7
|
-
// we check if the current size.
|
|
8
|
-
const size = p.size ?? pathNode.size;
|
|
9
|
-
// We check the relative item indices. They should be within the size.
|
|
10
|
-
for (let i = p.items.length - 1; i >= 0; i--) {
|
|
11
|
-
const x = p.items[i];
|
|
12
|
-
if (x.relIndex >= size) {
|
|
13
|
-
console.error(invalidItemKeySize, p, pathNode);
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const invalidItemKind = "Invalid set action items, 'kind' must be 'leaf' or 'parent'";
|
|
2
|
-
export function checkSetActionItemKinds(p) {
|
|
3
|
-
if (!p.items?.length)
|
|
4
|
-
return true;
|
|
5
|
-
const items = p.items;
|
|
6
|
-
for (let i = items.length - 1; i >= 0; i--) {
|
|
7
|
-
const x = items[i];
|
|
8
|
-
if (x.kind !== "leaf" && x.kind !== "parent") {
|
|
9
|
-
console.error(invalidItemKind, p);
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
const invalidPathRoute = "Invalid path specified. Paths must be built up incrementally.";
|
|
2
|
-
const invalidPathChild = "Invalid path specified. Leaf nodes can have children.";
|
|
3
|
-
export function getParentNodeByPath(tree, path) {
|
|
4
|
-
let target = tree;
|
|
5
|
-
for (let i = 0; i < path.length; i++) {
|
|
6
|
-
const next = target.byPath.get(path[i]);
|
|
7
|
-
if (!next) {
|
|
8
|
-
console.error(invalidPathRoute, path.slice(0, i));
|
|
9
|
-
return null;
|
|
10
|
-
}
|
|
11
|
-
if (next.kind === "leaf") {
|
|
12
|
-
console.error(invalidPathChild, path.slice(0, i));
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
target = next;
|
|
16
|
-
}
|
|
17
|
-
return target;
|
|
18
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { applyDeleteActionToTree } from "./apply-delete-action-to-tree.js";
|
|
2
|
-
import { applySetActionToTree } from "./apply-set-action-to-tree.js";
|
|
3
|
-
import { getParentNodeByPath } from "./get-parent-node-by-path.js";
|
|
4
|
-
export function makeAsyncTree() {
|
|
5
|
-
const tree = {
|
|
6
|
-
kind: "root",
|
|
7
|
-
byIndex: new Map(),
|
|
8
|
-
byPath: new Map(),
|
|
9
|
-
size: 0,
|
|
10
|
-
asOf: Date.now(),
|
|
11
|
-
};
|
|
12
|
-
const api = {
|
|
13
|
-
set: (p) => applySetActionToTree(p, tree),
|
|
14
|
-
delete: (p) => applyDeleteActionToTree(p, tree),
|
|
15
|
-
get: (p) => getParentNodeByPath(tree, p.path),
|
|
16
|
-
};
|
|
17
|
-
Object.assign(tree, api);
|
|
18
|
-
return tree;
|
|
19
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export function maybeApplyResize(pathNode, size, asOf) {
|
|
2
|
-
if (size == null)
|
|
3
|
-
return false;
|
|
4
|
-
if (size === pathNode.size)
|
|
5
|
-
return false;
|
|
6
|
-
if (pathNode.asOf > asOf)
|
|
7
|
-
return false;
|
|
8
|
-
pathNode.size = size;
|
|
9
|
-
// Remove those nodes that are no long within the allowed size
|
|
10
|
-
for (const [number, node] of pathNode.byIndex) {
|
|
11
|
-
if (number >= size) {
|
|
12
|
-
pathNode.byIndex.delete(number);
|
|
13
|
-
pathNode.byPath.delete(node.path);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return true;
|
|
17
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { ROOT_LEAF_PREFIX } from "./+constants.async-tree.js";
|
|
2
|
-
export function maybeApplySetActionItems(p, pathNode) {
|
|
3
|
-
if (!p.items?.length) {
|
|
4
|
-
return false;
|
|
5
|
-
}
|
|
6
|
-
const asOf = p.asOf ?? Date.now();
|
|
7
|
-
for (let i = 0; i < p.items.length; i++) {
|
|
8
|
-
const item = p.items[i];
|
|
9
|
-
const path = item.kind === "leaf" ? `${p.path.at(-1) ?? ROOT_LEAF_PREFIX}#${item.relIndex}` : item.path;
|
|
10
|
-
const existingIndex = pathNode.byIndex.get(item.relIndex);
|
|
11
|
-
if (existingIndex) {
|
|
12
|
-
pathNode.byPath.delete(existingIndex.path);
|
|
13
|
-
pathNode.byIndex.delete(item.relIndex);
|
|
14
|
-
}
|
|
15
|
-
const existingByPath = pathNode.byPath.get(path);
|
|
16
|
-
if (existingByPath) {
|
|
17
|
-
pathNode.byPath.delete(existingByPath.path);
|
|
18
|
-
pathNode.byIndex.delete(existingByPath.relIndex);
|
|
19
|
-
}
|
|
20
|
-
const existing = existingByPath ?? existingIndex;
|
|
21
|
-
// We always replace when making a leaf
|
|
22
|
-
if (item.kind === "leaf") {
|
|
23
|
-
const node = { ...item, parent: pathNode, path: path, asOf };
|
|
24
|
-
const currentI = pathNode.byIndex.get(item.relIndex);
|
|
25
|
-
const currentP = pathNode.byPath.get(path);
|
|
26
|
-
if (!currentI || currentI.asOf < asOf)
|
|
27
|
-
pathNode.byIndex.set(item.relIndex, node);
|
|
28
|
-
if (!currentP || currentP.asOf < asOf)
|
|
29
|
-
pathNode.byPath.set(path, node);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
const node = {
|
|
33
|
-
byIndex: existing?.kind === "parent" ? existing.byIndex : new Map(),
|
|
34
|
-
byPath: existing?.kind === "parent" ? existing.byPath : new Map(),
|
|
35
|
-
data: item.data,
|
|
36
|
-
kind: "parent",
|
|
37
|
-
relIndex: item.relIndex,
|
|
38
|
-
parent: pathNode,
|
|
39
|
-
path,
|
|
40
|
-
size: item.size,
|
|
41
|
-
asOf,
|
|
42
|
-
};
|
|
43
|
-
const currentI = pathNode.byIndex.get(item.relIndex);
|
|
44
|
-
const currentP = pathNode.byPath.get(path);
|
|
45
|
-
if (!currentI || currentI.asOf < asOf)
|
|
46
|
-
pathNode.byIndex.set(item.relIndex, node);
|
|
47
|
-
if (!currentP || currentP.asOf < asOf)
|
|
48
|
-
pathNode.byPath.set(path, node);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import type { TreeParent, TreeRoot } from "../async-tree/+types.async-tree.js";
|
|
2
|
-
/**
|
|
3
|
-
* Represents a flattened range with start/end row indices and an associated path.
|
|
4
|
-
*/
|
|
5
|
-
export type FlattenedRange = {
|
|
6
|
-
/** Starting row index (inclusive) */
|
|
7
|
-
rowStart: number;
|
|
8
|
-
/** Ending row index (exclusive) */
|
|
9
|
-
rowEnd: number;
|
|
10
|
-
/** Path identifier for this range */
|
|
11
|
-
parent: TreeParent<any, any> | TreeRoot<any, any>;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Represents a node in a range tree, containing a range and its nested child ranges.
|
|
15
|
-
*/
|
|
16
|
-
export interface RangeNode {
|
|
17
|
-
/** The range associated with this node */
|
|
18
|
-
range: FlattenedRange;
|
|
19
|
-
/** Child nodes representing nested ranges within this range */
|
|
20
|
-
children: RangeNode[];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* A tree structure for efficient nested range operations.
|
|
24
|
-
*
|
|
25
|
-
* Maintains a hierarchical representation of ranges where parent ranges contain their
|
|
26
|
-
* child ranges. Provides methods for querying ranges that contain specific row indices.
|
|
27
|
-
*
|
|
28
|
-
* @remarks
|
|
29
|
-
* The tree is constructed by:
|
|
30
|
-
* 1. Sorting ranges by start index
|
|
31
|
-
* 2. Using the first range as root
|
|
32
|
-
* 3. Inserting subsequent ranges into their appropriate parent nodes
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* ```typescript
|
|
36
|
-
* const ranges = [
|
|
37
|
-
* { rowStart: 0, rowEnd: 100, path: 'root' },
|
|
38
|
-
* { rowStart: 20, rowEnd: 50, path: 'child1' },
|
|
39
|
-
* { rowStart: 30, rowEnd: 40, path: 'grandchild' }
|
|
40
|
-
* ];
|
|
41
|
-
*
|
|
42
|
-
* const tree = new RangeTree(ranges);
|
|
43
|
-
* const rangesAtRow25 = tree.findRangesForRowIndex(25);
|
|
44
|
-
* // Returns [root, child1]
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
47
|
-
export declare class RangeTree {
|
|
48
|
-
/** Root node of the range tree */
|
|
49
|
-
root: RangeNode;
|
|
50
|
-
/**
|
|
51
|
-
* Creates a new range tree from an array of flattened ranges.
|
|
52
|
-
*
|
|
53
|
-
* @param ranges - Array of ranges to organize into a tree structure
|
|
54
|
-
*/
|
|
55
|
-
constructor(ranges: FlattenedRange[]);
|
|
56
|
-
/**
|
|
57
|
-
* Finds all ranges that contain the specified row index.
|
|
58
|
-
*
|
|
59
|
-
* Traverses the tree from root to leaves, collecting all ranges that contain
|
|
60
|
-
* the target index. Returns ranges in order from outermost to innermost.
|
|
61
|
-
*
|
|
62
|
-
* @param index - Row index to search for
|
|
63
|
-
* @returns Array of ranges containing the index, ordered from outer to inner
|
|
64
|
-
*/
|
|
65
|
-
findRangesForRowIndex(index: number): FlattenedRange[];
|
|
66
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A tree structure for efficient nested range operations.
|
|
3
|
-
*
|
|
4
|
-
* Maintains a hierarchical representation of ranges where parent ranges contain their
|
|
5
|
-
* child ranges. Provides methods for querying ranges that contain specific row indices.
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* The tree is constructed by:
|
|
9
|
-
* 1. Sorting ranges by start index
|
|
10
|
-
* 2. Using the first range as root
|
|
11
|
-
* 3. Inserting subsequent ranges into their appropriate parent nodes
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const ranges = [
|
|
16
|
-
* { rowStart: 0, rowEnd: 100, path: 'root' },
|
|
17
|
-
* { rowStart: 20, rowEnd: 50, path: 'child1' },
|
|
18
|
-
* { rowStart: 30, rowEnd: 40, path: 'grandchild' }
|
|
19
|
-
* ];
|
|
20
|
-
*
|
|
21
|
-
* const tree = new RangeTree(ranges);
|
|
22
|
-
* const rangesAtRow25 = tree.findRangesForRowIndex(25);
|
|
23
|
-
* // Returns [root, child1]
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export class RangeTree {
|
|
27
|
-
/** Root node of the range tree */
|
|
28
|
-
root;
|
|
29
|
-
/**
|
|
30
|
-
* Creates a new range tree from an array of flattened ranges.
|
|
31
|
-
*
|
|
32
|
-
* @param ranges - Array of ranges to organize into a tree structure
|
|
33
|
-
*/
|
|
34
|
-
constructor(ranges) {
|
|
35
|
-
const sortedRanges = ranges.toSorted((left, right) => left.rowStart - right.rowStart);
|
|
36
|
-
const root = { range: sortedRanges[0], children: [] };
|
|
37
|
-
for (let i = 1; i < sortedRanges.length; i++) {
|
|
38
|
-
insert(root, sortedRanges[i]);
|
|
39
|
-
}
|
|
40
|
-
this.root = root;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Finds all ranges that contain the specified row index.
|
|
44
|
-
*
|
|
45
|
-
* Traverses the tree from root to leaves, collecting all ranges that contain
|
|
46
|
-
* the target index. Returns ranges in order from outermost to innermost.
|
|
47
|
-
*
|
|
48
|
-
* @param index - Row index to search for
|
|
49
|
-
* @returns Array of ranges containing the index, ordered from outer to inner
|
|
50
|
-
*/
|
|
51
|
-
findRangesForRowIndex(index) {
|
|
52
|
-
const ranges = [];
|
|
53
|
-
let currentNode = this.root;
|
|
54
|
-
while (currentNode) {
|
|
55
|
-
if (index >= currentNode.range.rowStart && index < currentNode.range.rowEnd) {
|
|
56
|
-
ranges.push(currentNode.range);
|
|
57
|
-
currentNode = currentNode.children.find((child) => index >= child.range.rowStart && index < child.range.rowEnd);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return ranges;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Inserts a range into the appropriate position in the range tree.
|
|
68
|
-
*
|
|
69
|
-
* Recursively finds the most deeply nested existing range that contains the new range,
|
|
70
|
-
* then adds the new range as a child of that node.
|
|
71
|
-
*
|
|
72
|
-
* @param node - Current node to check for insertion
|
|
73
|
-
* @param range - Range to insert into the tree
|
|
74
|
-
*/
|
|
75
|
-
function insert(node, range) {
|
|
76
|
-
// Check each child to see if it contains this range
|
|
77
|
-
for (const child of node.children) {
|
|
78
|
-
if (containsRange(child.range, range)) {
|
|
79
|
-
insert(child, range);
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// If we get here, this node is the parent
|
|
84
|
-
node.children.push({
|
|
85
|
-
range,
|
|
86
|
-
children: [],
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Determines if one range fully contains another range.
|
|
91
|
-
*
|
|
92
|
-
* A range contains another range if its start index is less than or equal to
|
|
93
|
-
* the inner range's start AND its end index is greater than or equal to
|
|
94
|
-
* the inner range's end.
|
|
95
|
-
*
|
|
96
|
-
* @param outer - The potentially containing range
|
|
97
|
-
* @param inner - The potentially contained range
|
|
98
|
-
* @returns true if outer fully contains inner, false otherwise
|
|
99
|
-
*/
|
|
100
|
-
function containsRange(outer, inner) {
|
|
101
|
-
return outer.rowStart <= inner.rowStart && outer.rowEnd >= inner.rowEnd;
|
|
102
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import type { DataRequest, DataResponse, DataResponsePinned, RowGroup, RowLeaf, RowNode } from "../+types.js";
|
|
2
|
-
import type { LeafOrParent, TreeRootAndApi } from "./async-tree/+types.async-tree.js";
|
|
3
|
-
import { RangeTree } from "./range-tree/range-tree.js";
|
|
4
|
-
type DataFetcher = (req: DataRequest[], expansions: Record<string, boolean | undefined>, pivotExpansions: Record<string, boolean | undefined>) => Promise<(DataResponse | DataResponsePinned)[]>;
|
|
5
|
-
export interface FlatView {
|
|
6
|
-
readonly tree: TreeRootAndApi<RowGroup, RowLeaf>;
|
|
7
|
-
readonly top: number;
|
|
8
|
-
readonly center: number;
|
|
9
|
-
readonly bottom: number;
|
|
10
|
-
readonly rangeTree: RangeTree;
|
|
11
|
-
readonly rowIndexToRow: Map<number, RowNode<any>>;
|
|
12
|
-
readonly rowIdToRow: Map<string, RowNode<any>>;
|
|
13
|
-
readonly rowIdToRowIndex: Map<string, number>;
|
|
14
|
-
readonly rowIdToTreeNode: Map<string, LeafOrParent<RowGroup, RowLeaf>>;
|
|
15
|
-
readonly loading: Set<number>;
|
|
16
|
-
readonly loadingGroup: Set<number>;
|
|
17
|
-
readonly errored: Map<number, {
|
|
18
|
-
error: unknown;
|
|
19
|
-
request?: DataRequest;
|
|
20
|
-
}>;
|
|
21
|
-
readonly erroredGroup: Map<number, {
|
|
22
|
-
error: unknown;
|
|
23
|
-
request: DataRequest;
|
|
24
|
-
}>;
|
|
25
|
-
readonly seenRequests: Set<string>;
|
|
26
|
-
}
|
|
27
|
-
export interface ServerDataConstructorParams {
|
|
28
|
-
readonly blocksize: number;
|
|
29
|
-
readonly pivotMode: boolean;
|
|
30
|
-
readonly expansions: Record<string, boolean | undefined>;
|
|
31
|
-
readonly pivotExpansions: Record<string, boolean | undefined>;
|
|
32
|
-
readonly onResetLoadBegin: () => void;
|
|
33
|
-
readonly onResetLoadError: (error: unknown) => void;
|
|
34
|
-
readonly onResetLoadEnd: () => void;
|
|
35
|
-
readonly onFlatten: (r: FlatView) => void;
|
|
36
|
-
readonly onInvalidate: () => void;
|
|
37
|
-
readonly defaultExpansion: boolean | number;
|
|
38
|
-
}
|
|
39
|
-
export declare class ServerData {
|
|
40
|
-
#private;
|
|
41
|
-
constructor({ blocksize, pivotMode, pivotExpansions, expansions, onResetLoadBegin, onResetLoadEnd, onResetLoadError, onFlatten, onInvalidate, defaultExpansion, }: ServerDataConstructorParams);
|
|
42
|
-
set dataFetcher(d: DataFetcher);
|
|
43
|
-
set pivotMode(b: boolean);
|
|
44
|
-
set expansions(d: Record<string, boolean | undefined>);
|
|
45
|
-
set pivotExpansions(d: Record<string, boolean | undefined>);
|
|
46
|
-
set defaultExpansion(d: boolean | number);
|
|
47
|
-
set rowViewBounds(viewBounds: [start: number, end: number]);
|
|
48
|
-
reset: () => Promise<void>;
|
|
49
|
-
requestForGroup(i: number): DataRequest | null;
|
|
50
|
-
handleRequests: (requests: DataRequest[], opts?: {
|
|
51
|
-
onError?: (e: unknown) => void;
|
|
52
|
-
onSuccess?: () => void;
|
|
53
|
-
skipState?: boolean;
|
|
54
|
-
}) => Promise<void>;
|
|
55
|
-
handleResponses: (data: (DataResponse | DataResponsePinned)[], beforeOnFlat?: () => void) => void;
|
|
56
|
-
requestForNextSlice(req: DataRequest): {
|
|
57
|
-
id: string;
|
|
58
|
-
path: (string | null)[];
|
|
59
|
-
start: number;
|
|
60
|
-
end: number;
|
|
61
|
-
rowStartIndex: number;
|
|
62
|
-
rowEndIndex: number;
|
|
63
|
-
} | null;
|
|
64
|
-
requestsForView(start?: number, end?: number): DataRequest[];
|
|
65
|
-
handleViewBoundsChange(): Promise<void>;
|
|
66
|
-
retry(): void;
|
|
67
|
-
updateRow(id: string, data: any): void;
|
|
68
|
-
flatten: () => void;
|
|
69
|
-
}
|
|
70
|
-
export {};
|