@accelint/design-toolkit 9.10.0 → 9.11.1
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/catalog-info.yaml +3 -3
- package/dist/components/accordion/context.d.ts +3 -3
- package/dist/components/accordion/context.js.map +1 -1
- package/dist/components/accordion/group.d.ts +2 -2
- package/dist/components/accordion/group.js +2 -1
- package/dist/components/accordion/group.js.map +1 -1
- package/dist/components/accordion/header.d.ts +2 -2
- package/dist/components/accordion/header.js +2 -1
- package/dist/components/accordion/header.js.map +1 -1
- package/dist/components/accordion/index.d.ts +2 -2
- package/dist/components/accordion/index.js +3 -1
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/accordion/panel.d.ts +2 -2
- package/dist/components/accordion/panel.js +2 -1
- package/dist/components/accordion/panel.js.map +1 -1
- package/dist/components/accordion/trigger.d.ts +2 -2
- package/dist/components/accordion/trigger.js +4 -3
- package/dist/components/accordion/trigger.js.map +1 -1
- package/dist/components/accordion/types.d.ts +3 -1
- package/dist/components/action-bar/index.d.ts +2 -2
- package/dist/components/action-bar/index.js +1 -1
- package/dist/components/action-bar/index.js.map +1 -1
- package/dist/components/audio/index.d.ts +2 -2
- package/dist/components/avatar/context.d.ts +5 -5
- package/dist/components/avatar/context.js.map +1 -1
- package/dist/components/avatar/index.d.ts +2 -2
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/badge/context.d.ts +5 -5
- package/dist/components/badge/context.js.map +1 -1
- package/dist/components/badge/index.d.ts +2 -2
- package/dist/components/badge/index.js +1 -1
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/breadcrumbs/index.d.ts +3 -3
- package/dist/components/breadcrumbs/index.js +1 -1
- package/dist/components/breadcrumbs/index.js.map +1 -1
- package/dist/components/breadcrumbs/item.d.ts +2 -2
- package/dist/components/breadcrumbs/item.js +3 -1
- package/dist/components/breadcrumbs/item.js.map +1 -1
- package/dist/components/breadcrumbs/types.d.ts +2 -1
- package/dist/components/button/__internal__/clear.js +2 -1
- package/dist/components/button/__internal__/clear.js.map +1 -1
- package/dist/components/button/context.d.ts +10 -10
- package/dist/components/button/context.js.map +1 -1
- package/dist/components/button/index.d.ts +2 -2
- package/dist/components/button/index.js +3 -1
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/link.d.ts +2 -2
- package/dist/components/button/link.js +3 -1
- package/dist/components/button/link.js.map +1 -1
- package/dist/components/button/toggle.d.ts +2 -2
- package/dist/components/button/toggle.js +3 -1
- package/dist/components/button/toggle.js.map +1 -1
- package/dist/components/button/types.d.ts +3 -1
- package/dist/components/carousel/context.d.ts +4 -4
- package/dist/components/carousel/gallery.d.ts +2 -2
- package/dist/components/carousel/index.d.ts +2 -2
- package/dist/components/carousel/navigation.d.ts +3 -3
- package/dist/components/carousel/position.d.ts +2 -2
- package/dist/components/carousel/select.d.ts +2 -2
- package/dist/components/carousel/select.js.map +1 -1
- package/dist/components/carousel/viewer.d.ts +2 -2
- package/dist/components/checkbox/context.d.ts +5 -5
- package/dist/components/checkbox/context.js.map +1 -1
- package/dist/components/checkbox/group.d.ts +2 -2
- package/dist/components/checkbox/group.js +5 -3
- package/dist/components/checkbox/group.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +2 -2
- package/dist/components/checkbox/index.js +3 -1
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/types.d.ts +4 -3
- package/dist/components/chip/context.d.ts +5 -5
- package/dist/components/chip/context.js.map +1 -1
- package/dist/components/chip/deletable.d.ts +2 -2
- package/dist/components/chip/deletable.js +5 -3
- package/dist/components/chip/deletable.js.map +1 -1
- package/dist/components/chip/index.d.ts +2 -2
- package/dist/components/chip/index.js +2 -1
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/chip/list.d.ts +4 -4
- package/dist/components/chip/list.js +3 -1
- package/dist/components/chip/list.js.map +1 -1
- package/dist/components/chip/selectable.d.ts +2 -2
- package/dist/components/chip/selectable.js +3 -1
- package/dist/components/chip/selectable.js.map +1 -1
- package/dist/components/chip/types.d.ts +3 -2
- package/dist/components/classification-badge/context.d.ts +5 -5
- package/dist/components/classification-badge/context.js.map +1 -1
- package/dist/components/classification-badge/index.d.ts +2 -2
- package/dist/components/classification-badge/index.js +1 -1
- package/dist/components/classification-badge/index.js.map +1 -1
- package/dist/components/classification-banner/context.d.ts +5 -5
- package/dist/components/classification-banner/context.js.map +1 -1
- package/dist/components/classification-banner/index.d.ts +2 -2
- package/dist/components/classification-banner/index.js +1 -1
- package/dist/components/classification-banner/index.js.map +1 -1
- package/dist/components/clock/index.d.ts +2 -2
- package/dist/components/color-picker/index.d.ts +2 -2
- package/dist/components/color-picker/index.js +4 -3
- package/dist/components/color-picker/index.js.map +1 -1
- package/dist/components/color-picker/types.d.ts +2 -1
- package/dist/components/combobox-field/context.d.ts +5 -5
- package/dist/components/combobox-field/context.js.map +1 -1
- package/dist/components/combobox-field/index.d.ts +2 -2
- package/dist/components/combobox-field/index.js +11 -11
- package/dist/components/combobox-field/index.js.map +1 -1
- package/dist/components/combobox-field/styles.module.css +11 -2
- package/dist/components/combobox-field/types.d.ts +8 -4
- package/dist/components/coordinate-field/context.d.ts +7 -7
- package/dist/components/coordinate-field/context.js.map +1 -1
- package/dist/components/coordinate-field/coordinate-utils.js +2 -0
- package/dist/components/coordinate-field/coordinate-utils.js.map +1 -1
- package/dist/components/coordinate-field/index.d.ts +2 -2
- package/dist/components/coordinate-field/index.js +29 -23
- package/dist/components/coordinate-field/index.js.map +1 -1
- package/dist/components/coordinate-field/segment.d.ts +2 -2
- package/dist/components/coordinate-field/types.d.ts +3 -1
- package/dist/components/coordinate-field/types.js.map +1 -1
- package/dist/components/date-field/index.d.ts +2 -2
- package/dist/components/date-field/index.js +4 -3
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-field/types.d.ts +1 -1
- package/dist/components/deferred-collection/index.d.ts +2 -2
- package/dist/components/details-list/context.d.ts +3 -3
- package/dist/components/details-list/context.js.map +1 -1
- package/dist/components/details-list/index.d.ts +2 -2
- package/dist/components/details-list/index.js +2 -1
- package/dist/components/details-list/index.js.map +1 -1
- package/dist/components/details-list/label.d.ts +2 -2
- package/dist/components/details-list/label.js +1 -1
- package/dist/components/details-list/label.js.map +1 -1
- package/dist/components/details-list/types.d.ts +1 -1
- package/dist/components/details-list/value.d.ts +2 -2
- package/dist/components/details-list/value.js +1 -1
- package/dist/components/details-list/value.js.map +1 -1
- package/dist/components/dialog/content.d.ts +2 -2
- package/dist/components/dialog/context.d.ts +3 -3
- package/dist/components/dialog/context.js.map +1 -1
- package/dist/components/dialog/footer.d.ts +2 -2
- package/dist/components/dialog/footer.js +1 -1
- package/dist/components/dialog/footer.js.map +1 -1
- package/dist/components/dialog/index.d.ts +2 -2
- package/dist/components/dialog/index.js +3 -1
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/title.d.ts +3 -3
- package/dist/components/dialog/title.js +1 -1
- package/dist/components/dialog/title.js.map +1 -1
- package/dist/components/dialog/trigger.d.ts +1 -1
- package/dist/components/dialog/trigger.js +1 -1
- package/dist/components/dialog/trigger.js.map +1 -1
- package/dist/components/dialog/types.d.ts +1 -1
- package/dist/components/divider/context.d.ts +5 -5
- package/dist/components/divider/context.js.map +1 -1
- package/dist/components/divider/index.d.ts +2 -2
- package/dist/components/divider/index.js +1 -1
- package/dist/components/divider/index.js.map +1 -1
- package/dist/components/drawer/back.d.ts +2 -2
- package/dist/components/drawer/close.d.ts +2 -2
- package/dist/components/drawer/content.d.ts +2 -2
- package/dist/components/drawer/context.d.ts +2 -2
- package/dist/components/drawer/footer.d.ts +2 -2
- package/dist/components/drawer/header-title.d.ts +2 -2
- package/dist/components/drawer/header-title.js +1 -1
- package/dist/components/drawer/header-title.js.map +1 -1
- package/dist/components/drawer/header.d.ts +2 -2
- package/dist/components/drawer/header.js +3 -3
- package/dist/components/drawer/header.js.map +1 -1
- package/dist/components/drawer/index.d.ts +2 -2
- package/dist/components/drawer/layout-main.d.ts +2 -2
- package/dist/components/drawer/layout.d.ts +2 -2
- package/dist/components/drawer/menu-item.d.ts +2 -2
- package/dist/components/drawer/menu-item.js +7 -7
- package/dist/components/drawer/menu-item.js.map +1 -1
- package/dist/components/drawer/menu.d.ts +2 -2
- package/dist/components/drawer/panel.d.ts +2 -2
- package/dist/components/drawer/styles.module.css +60 -113
- package/dist/components/drawer/trigger.d.ts +2 -2
- package/dist/components/drawer/trigger.js +1 -1
- package/dist/components/drawer/trigger.js.map +1 -1
- package/dist/components/drawer/types.d.ts +3 -3
- package/dist/components/drawer/view.d.ts +2 -2
- package/dist/components/flashcard/index.d.ts +9 -9
- package/dist/components/flashcard/index.js +2 -1
- package/dist/components/flashcard/index.js.map +1 -1
- package/dist/components/floating-card/context.d.ts +4 -29
- package/dist/components/floating-card/context.js.map +1 -1
- package/dist/components/floating-card/index.d.ts +3 -48
- package/dist/components/floating-card/index.js.map +1 -1
- package/dist/components/floating-card/provider.d.ts +5 -84
- package/dist/components/floating-card/provider.js +6 -41
- package/dist/components/floating-card/provider.js.map +1 -1
- package/dist/components/floating-card/styles.module.css +15 -2
- package/dist/components/floating-card/types.d.ts +161 -0
- package/dist/components/floating-card/types.js +12 -0
- package/dist/components/floating-card/utils.d.ts +104 -0
- package/dist/components/floating-card/utils.js +60 -0
- package/dist/components/floating-card/utils.js.map +1 -0
- package/dist/components/gantt/components/base-elements/point.d.ts +2 -2
- package/dist/components/gantt/components/base-elements/range.d.ts +2 -2
- package/dist/components/gantt/components/containers/external/gantt-content-container/index.d.ts +2 -2
- package/dist/components/gantt/components/containers/external/gantt-panel-container/index.d.ts +2 -2
- package/dist/components/gantt/components/containers/internal/index.d.ts +2 -2
- package/dist/components/gantt/components/containers/internal/layout-container/index.d.ts +2 -2
- package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.d.ts +2 -2
- package/dist/components/gantt/components/content-row/block.d.ts +2 -2
- package/dist/components/gantt/components/content-row/bracket.d.ts +3 -3
- package/dist/components/gantt/components/content-row/icon-marker.d.ts +2 -2
- package/dist/components/gantt/components/content-row/index.d.ts +2 -2
- package/dist/components/gantt/components/content-row/marker.d.ts +2 -2
- package/dist/components/gantt/components/content-row/spacer.d.ts +2 -2
- package/dist/components/gantt/components/current-time/index.d.ts +2 -2
- package/dist/components/gantt/components/header/index.d.ts +3 -3
- package/dist/components/gantt/components/panel-row/index.d.ts +2 -2
- package/dist/components/gantt/components/rows-virtualizer/index.d.ts +3 -3
- package/dist/components/gantt/components/timeline/index.d.ts +2 -2
- package/dist/components/gantt/components/timeline-chunk/index.d.ts +3 -3
- package/dist/components/gantt/context/index.d.ts +4 -4
- package/dist/components/gantt/context/store/index.d.ts +4 -4
- package/dist/components/gantt/context/temporal-data/index.d.ts +4 -4
- package/dist/components/hero/context.d.ts +3 -3
- package/dist/components/hero/context.js.map +1 -1
- package/dist/components/hero/index.d.ts +2 -2
- package/dist/components/hero/index.js +4 -1
- package/dist/components/hero/index.js.map +1 -1
- package/dist/components/hero/subtitle.d.ts +3 -3
- package/dist/components/hero/subtitle.js +1 -1
- package/dist/components/hero/subtitle.js.map +1 -1
- package/dist/components/hero/title.d.ts +3 -3
- package/dist/components/hero/title.js +1 -1
- package/dist/components/hero/title.js.map +1 -1
- package/dist/components/hotkey/context.d.ts +5 -5
- package/dist/components/hotkey/context.js.map +1 -1
- package/dist/components/hotkey/index.d.ts +2 -2
- package/dist/components/hotkey/index.js +2 -1
- package/dist/components/hotkey/index.js.map +1 -1
- package/dist/components/hotkey/set.d.ts +2 -2
- package/dist/components/icon/context.d.ts +5 -5
- package/dist/components/icon/context.js.map +1 -1
- package/dist/components/icon/index.d.ts +2 -2
- package/dist/components/icon/index.js +1 -1
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/input/context.d.ts +4 -4
- package/dist/components/input/context.js.map +1 -1
- package/dist/components/input/index.d.ts +2 -2
- package/dist/components/input/index.js +4 -2
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/types.d.ts +3 -3
- package/dist/components/kanban/card-body.d.ts +2 -2
- package/dist/components/kanban/card-header-actions.d.ts +2 -2
- package/dist/components/kanban/card-header-title.d.ts +2 -2
- package/dist/components/kanban/card.d.ts +2 -2
- package/dist/components/kanban/column-actions.d.ts +2 -2
- package/dist/components/kanban/column-container.d.ts +2 -2
- package/dist/components/kanban/column-content.d.ts +2 -2
- package/dist/components/kanban/column-header-actions.d.ts +2 -2
- package/dist/components/kanban/column-header-drag-handle.d.ts +2 -2
- package/dist/components/kanban/column-header-title.d.ts +2 -2
- package/dist/components/kanban/column-header.d.ts +2 -2
- package/dist/components/kanban/column.d.ts +2 -2
- package/dist/components/kanban/context.d.ts +2 -2
- package/dist/components/kanban/header-actions.d.ts +2 -2
- package/dist/components/kanban/header-search.d.ts +2 -2
- package/dist/components/kanban/header-title.d.ts +2 -2
- package/dist/components/kanban/header-title.js +1 -1
- package/dist/components/kanban/header-title.js.map +1 -1
- package/dist/components/kanban/header.d.ts +2 -2
- package/dist/components/kanban/kanban.d.ts +4 -4
- package/dist/components/label/context.d.ts +6 -6
- package/dist/components/label/context.js.map +1 -1
- package/dist/components/label/index.d.ts +2 -2
- package/dist/components/label/index.js +2 -1
- package/dist/components/label/index.js.map +1 -1
- package/dist/components/label/types.d.ts +1 -1
- package/dist/components/lines/index.d.ts +2 -2
- package/dist/components/link/context.d.ts +2 -2
- package/dist/components/link/context.js +1 -1
- package/dist/components/link/context.js.map +1 -1
- package/dist/components/link/index.d.ts +2 -2
- package/dist/components/link/index.js +3 -1
- package/dist/components/link/index.js.map +1 -1
- package/dist/components/link/types.d.ts +1 -1
- package/dist/components/list/context.d.ts +3 -3
- package/dist/components/list/context.js.map +1 -1
- package/dist/components/list/index.d.ts +2 -2
- package/dist/components/list/index.js +3 -1
- package/dist/components/list/index.js.map +1 -1
- package/dist/components/list/item-content.d.ts +2 -2
- package/dist/components/list/item-description.d.ts +2 -2
- package/dist/components/list/item-title.d.ts +2 -2
- package/dist/components/list/item.d.ts +2 -2
- package/dist/components/list/item.js +2 -1
- package/dist/components/list/item.js.map +1 -1
- package/dist/components/list/types.d.ts +1 -1
- package/dist/components/media-controls/context.d.ts +4 -4
- package/dist/components/media-controls/fullscreen-button.d.ts +2 -2
- package/dist/components/media-controls/index.d.ts +2 -2
- package/dist/components/media-controls/mute-button.d.ts +2 -2
- package/dist/components/media-controls/play-button.d.ts +2 -2
- package/dist/components/media-controls/playback-rate.d.ts +2 -2
- package/dist/components/media-controls/seek-button.d.ts +2 -2
- package/dist/components/media-controls/time-display.d.ts +2 -2
- package/dist/components/media-controls/time-range.d.ts +2 -2
- package/dist/components/media-controls/volume-slider.d.ts +2 -2
- package/dist/components/menu/context.d.ts +4 -4
- package/dist/components/menu/context.js.map +1 -1
- package/dist/components/menu/index.d.ts +2 -2
- package/dist/components/menu/index.js +4 -1
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/menu/item-description.d.ts +3 -3
- package/dist/components/menu/item-description.js +1 -1
- package/dist/components/menu/item-description.js.map +1 -1
- package/dist/components/menu/item-label.d.ts +3 -3
- package/dist/components/menu/item-label.js +1 -1
- package/dist/components/menu/item-label.js.map +1 -1
- package/dist/components/menu/item.d.ts +2 -2
- package/dist/components/menu/item.js +5 -1
- package/dist/components/menu/item.js.map +1 -1
- package/dist/components/menu/section.d.ts +2 -2
- package/dist/components/menu/section.js +1 -1
- package/dist/components/menu/section.js.map +1 -1
- package/dist/components/menu/separator.d.ts +3 -3
- package/dist/components/menu/separator.js +1 -1
- package/dist/components/menu/separator.js.map +1 -1
- package/dist/components/menu/submenu.d.ts +3 -3
- package/dist/components/menu/submenu.js +1 -1
- package/dist/components/menu/submenu.js.map +1 -1
- package/dist/components/menu/trigger.d.ts +1 -1
- package/dist/components/menu/trigger.js +1 -1
- package/dist/components/menu/trigger.js.map +1 -1
- package/dist/components/menu/types.d.ts +1 -1
- package/dist/components/notice/index.d.ts +2 -2
- package/dist/components/notice/index.js +5 -5
- package/dist/components/notice/index.js.map +1 -1
- package/dist/components/notice/list.d.ts +2 -2
- package/dist/components/notice/list.js +7 -6
- package/dist/components/notice/list.js.map +1 -1
- package/dist/components/notice/notice-icon.d.ts +2 -2
- package/dist/components/notice/types.d.ts +4 -4
- package/dist/components/options/context.d.ts +3 -3
- package/dist/components/options/context.js.map +1 -1
- package/dist/components/options/index.d.ts +2 -2
- package/dist/components/options/index.js +3 -1
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/options/item-content.d.ts +3 -3
- package/dist/components/options/item-content.js.map +1 -1
- package/dist/components/options/item-description.d.ts +3 -3
- package/dist/components/options/item-description.js +1 -1
- package/dist/components/options/item-description.js.map +1 -1
- package/dist/components/options/item-label.d.ts +3 -3
- package/dist/components/options/item-label.js +2 -1
- package/dist/components/options/item-label.js.map +1 -1
- package/dist/components/options/item.d.ts +2 -2
- package/dist/components/options/item.js +2 -1
- package/dist/components/options/item.js.map +1 -1
- package/dist/components/options/section.d.ts +2 -2
- package/dist/components/options/section.js +1 -1
- package/dist/components/options/section.js.map +1 -1
- package/dist/components/options/types.d.ts +2 -2
- package/dist/components/pagination/context.d.ts +2 -2
- package/dist/components/pagination/index.d.ts +2 -2
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/pagination/index.js.map +1 -1
- package/dist/components/pagination/next.d.ts +2 -2
- package/dist/components/pagination/next.js +3 -3
- package/dist/components/pagination/next.js.map +1 -1
- package/dist/components/pagination/pages.d.ts +2 -2
- package/dist/components/pagination/pages.js +3 -3
- package/dist/components/pagination/pages.js.map +1 -1
- package/dist/components/pagination/prev.d.ts +2 -2
- package/dist/components/pagination/prev.js +3 -3
- package/dist/components/pagination/prev.js.map +1 -1
- package/dist/components/popover/content.d.ts +2 -2
- package/dist/components/popover/footer.d.ts +2 -2
- package/dist/components/popover/index.d.ts +2 -2
- package/dist/components/popover/index.js +1 -1
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/title.d.ts +3 -3
- package/dist/components/popover/title.js +1 -1
- package/dist/components/popover/title.js.map +1 -1
- package/dist/components/popover/trigger.d.ts +2 -2
- package/dist/components/popover/trigger.js +3 -3
- package/dist/components/popover/trigger.js.map +1 -1
- package/dist/components/popover/types.d.ts +1 -1
- package/dist/components/query-builder/action-element.d.ts +2 -2
- package/dist/components/query-builder/actions.d.ts +4 -4
- package/dist/components/query-builder/combinator-selector.d.ts +2 -2
- package/dist/components/query-builder/index.d.ts +2 -2
- package/dist/components/query-builder/rule-group.d.ts +4 -4
- package/dist/components/query-builder/rule.d.ts +2 -2
- package/dist/components/query-builder/value-editor.d.ts +2 -2
- package/dist/components/query-builder/value-selector.d.ts +2 -2
- package/dist/components/radio/context.d.ts +5 -5
- package/dist/components/radio/context.js.map +1 -1
- package/dist/components/radio/group.d.ts +2 -2
- package/dist/components/radio/group.js +5 -3
- package/dist/components/radio/group.js.map +1 -1
- package/dist/components/radio/index.d.ts +2 -2
- package/dist/components/radio/index.js +3 -1
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/types.d.ts +3 -3
- package/dist/components/search-field/context.d.ts +6 -6
- package/dist/components/search-field/context.js.map +1 -1
- package/dist/components/search-field/index.d.ts +2 -2
- package/dist/components/search-field/index.js +3 -1
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/search-field/types.d.ts +3 -3
- package/dist/components/select-field/context.d.ts +5 -5
- package/dist/components/select-field/context.js.map +1 -1
- package/dist/components/select-field/index.d.ts +2 -2
- package/dist/components/select-field/index.js +6 -3
- package/dist/components/select-field/index.js.map +1 -1
- package/dist/components/select-field/types.d.ts +8 -5
- package/dist/components/sidenav/avatar.d.ts +2 -2
- package/dist/components/sidenav/avatar.js +3 -1
- package/dist/components/sidenav/avatar.js.map +1 -1
- package/dist/components/sidenav/content.d.ts +2 -2
- package/dist/components/sidenav/content.js +1 -1
- package/dist/components/sidenav/content.js.map +1 -1
- package/dist/components/sidenav/context.d.ts +2 -2
- package/dist/components/sidenav/footer.d.ts +2 -2
- package/dist/components/sidenav/header.d.ts +2 -2
- package/dist/components/sidenav/header.js +3 -1
- package/dist/components/sidenav/header.js.map +1 -1
- package/dist/components/sidenav/index.d.ts +2 -2
- package/dist/components/sidenav/index.js +2 -1
- package/dist/components/sidenav/index.js.map +1 -1
- package/dist/components/sidenav/item.d.ts +2 -2
- package/dist/components/sidenav/item.js +8 -5
- package/dist/components/sidenav/item.js.map +1 -1
- package/dist/components/sidenav/link.d.ts +2 -2
- package/dist/components/sidenav/link.js +8 -5
- package/dist/components/sidenav/link.js.map +1 -1
- package/dist/components/sidenav/menu-item.d.ts +2 -2
- package/dist/components/sidenav/menu-item.js +2 -1
- package/dist/components/sidenav/menu-item.js.map +1 -1
- package/dist/components/sidenav/menu.d.ts +2 -2
- package/dist/components/sidenav/menu.js +10 -5
- package/dist/components/sidenav/menu.js.map +1 -1
- package/dist/components/sidenav/trigger.d.ts +2 -2
- package/dist/components/sidenav/trigger.js +1 -1
- package/dist/components/sidenav/trigger.js.map +1 -1
- package/dist/components/sidenav/types.d.ts +6 -1
- package/dist/components/skeleton/index.d.ts +2 -2
- package/dist/components/slider/index.d.ts +2 -2
- package/dist/components/slider/index.js +9 -6
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/types.d.ts +1 -1
- package/dist/components/status-indicator/index.d.ts +2 -2
- package/dist/components/switch/context.d.ts +6 -6
- package/dist/components/switch/context.js.map +1 -1
- package/dist/components/switch/index.d.ts +2 -2
- package/dist/components/switch/index.js +3 -1
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/types.d.ts +1 -1
- package/dist/components/table/body.d.ts +2 -2
- package/dist/components/table/cell.d.ts +2 -2
- package/dist/components/table/header-cell.d.ts +2 -2
- package/dist/components/table/header.d.ts +2 -2
- package/dist/components/table/index.d.ts +2 -2
- package/dist/components/table/index.js +2 -2
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/table/row.d.ts +2 -2
- package/dist/components/tabs/context.d.ts +8 -8
- package/dist/components/tabs/context.js.map +1 -1
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/index.js +3 -1
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs/list.d.ts +3 -3
- package/dist/components/tabs/list.js +2 -1
- package/dist/components/tabs/list.js.map +1 -1
- package/dist/components/tabs/panel.d.ts +3 -3
- package/dist/components/tabs/panel.js +2 -1
- package/dist/components/tabs/panel.js.map +1 -1
- package/dist/components/tabs/tab.d.ts +2 -2
- package/dist/components/tabs/tab.js +3 -1
- package/dist/components/tabs/tab.js.map +1 -1
- package/dist/components/tabs/types.d.ts +1 -1
- package/dist/components/text-area-field/context.d.ts +5 -5
- package/dist/components/text-area-field/context.js.map +1 -1
- package/dist/components/text-area-field/index.d.ts +2 -2
- package/dist/components/text-area-field/index.js +8 -3
- package/dist/components/text-area-field/index.js.map +1 -1
- package/dist/components/text-area-field/types.d.ts +3 -1
- package/dist/components/text-field/context.d.ts +6 -6
- package/dist/components/text-field/context.js.map +1 -1
- package/dist/components/text-field/index.d.ts +2 -2
- package/dist/components/text-field/index.js +9 -5
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/text-field/types.d.ts +7 -6
- package/dist/components/time-field/index.d.ts +3 -3
- package/dist/components/time-field/index.js +4 -3
- package/dist/components/time-field/index.js.map +1 -1
- package/dist/components/time-field/types.d.ts +1 -1
- package/dist/components/tooltip/context.d.ts +3 -3
- package/dist/components/tooltip/context.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +2 -2
- package/dist/components/tooltip/index.js +3 -2
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/trigger.d.ts +2 -2
- package/dist/components/tooltip/trigger.js +6 -3
- package/dist/components/tooltip/trigger.js.map +1 -1
- package/dist/components/tooltip/types.d.ts +8 -3
- package/dist/components/tree/context.d.ts +3 -3
- package/dist/components/tree/index.d.ts +4 -2
- package/dist/components/tree/index.js +11 -6
- package/dist/components/tree/index.js.map +1 -1
- package/dist/components/tree/item-actions.d.ts +2 -2
- package/dist/components/tree/item-content.d.ts +2 -2
- package/dist/components/tree/item-content.js +7 -7
- package/dist/components/tree/item-content.js.map +1 -1
- package/dist/components/tree/item-description.d.ts +3 -3
- package/dist/components/tree/item-description.js +1 -1
- package/dist/components/tree/item-description.js.map +1 -1
- package/dist/components/tree/item-label.d.ts +3 -3
- package/dist/components/tree/item-label.js +1 -1
- package/dist/components/tree/item-label.js.map +1 -1
- package/dist/components/tree/item-prefix-icon.d.ts +2 -2
- package/dist/components/tree/item.d.ts +2 -2
- package/dist/components/tree/item.js +14 -7
- package/dist/components/tree/item.js.map +1 -1
- package/dist/components/tree/lines.d.ts +2 -2
- package/dist/components/tree/types.d.ts +30 -16
- package/dist/components/video/index.d.ts +2 -2
- package/dist/components/view-stack/context.d.ts +2 -2
- package/dist/components/view-stack/index.d.ts +2 -2
- package/dist/components/view-stack/trigger.d.ts +2 -2
- package/dist/components/view-stack/trigger.js +1 -1
- package/dist/components/view-stack/trigger.js.map +1 -1
- package/dist/components/view-stack/types.d.ts +1 -1
- package/dist/components/view-stack/view.d.ts +2 -2
- package/dist/hooks/coordinate-field/use-coordinate-field-state.d.ts +2 -0
- package/dist/hooks/coordinate-field/use-coordinate-field-state.js +15 -2
- package/dist/hooks/coordinate-field/use-coordinate-field-state.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-field.js +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -1
- package/dist/hooks/coordinate-field/use-coordinate-paste.js +27 -4
- package/dist/hooks/coordinate-field/use-coordinate-paste.js.map +1 -1
- package/dist/hooks/use-tree/actions/cache.d.ts +390 -18
- package/dist/hooks/use-tree/actions/cache.js +382 -18
- package/dist/hooks/use-tree/actions/cache.js.map +1 -1
- package/dist/hooks/use-tree/actions/index.d.ts +34 -21
- package/dist/hooks/use-tree/actions/index.js +34 -26
- package/dist/hooks/use-tree/actions/index.js.map +1 -1
- package/dist/hooks/use-tree/state/index.d.ts +5 -1
- package/dist/hooks/use-tree/state/index.js +5 -1
- package/dist/hooks/use-tree/state/index.js.map +1 -1
- package/dist/hooks/use-tree/state/utils.d.ts +28 -0
- package/dist/hooks/use-tree/state/utils.js +29 -1
- package/dist/hooks/use-tree/state/utils.js.map +1 -1
- package/dist/hooks/use-tree/types.d.ts +52 -24
- package/dist/index.d.ts +5 -4
- package/dist/lib/utils.d.ts +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/providers/portal.d.ts +2 -2
- package/dist/providers/portal.js +2 -2
- package/dist/providers/portal.js.map +1 -1
- package/dist/providers/theme-provider.d.ts +4 -4
- package/dist/providers/theme-provider.js +6 -7
- package/dist/providers/theme-provider.js.map +1 -1
- package/package.json +22 -39
- package/dist/node_modules/.pnpm/@react-aria_collections@3.0.0-rc.7_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/collections/dist/BaseCollection.js +0 -134
- package/dist/node_modules/.pnpm/@react-aria_collections@3.0.0-rc.7_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/collections/dist/BaseCollection.js.map +0 -1
|
@@ -13,24 +13,69 @@
|
|
|
13
13
|
|
|
14
14
|
//#region src/hooks/use-tree/actions/cache.ts
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
* to be only a temporary mirror of the data. The data is *always* correct
|
|
18
|
-
* cache should be updated according to the data, only. If the data and
|
|
19
|
-
* the cache do not match, the cache is invalidated and rebuilt.
|
|
16
|
+
* Performance-optimized cache for tree node operations.
|
|
20
17
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
18
|
+
* Maintains a flat lookup map and roots array for O(1) node access. The cache
|
|
19
|
+
* is a temporary mirror of tree data and must stay synchronized with the source
|
|
20
|
+
* tree structure. If inconsistencies occur, the cache is invalidated and rebuilt.
|
|
21
|
+
*
|
|
22
|
+
* Initializes once on construction with tree data, then updates incrementally
|
|
23
|
+
* with each tree operation (add, move, delete, select).
|
|
24
|
+
*
|
|
25
|
+
* @template T - The type of data stored in tree nodes.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const cache = new Cache<UserData>(initialNodes);
|
|
30
|
+
*
|
|
31
|
+
* // Get a node
|
|
32
|
+
* const node = cache.getNode('node-1');
|
|
33
|
+
*
|
|
34
|
+
* // Update selection
|
|
35
|
+
* cache.cascadeSelection('node-1', true);
|
|
36
|
+
*
|
|
37
|
+
* // Rebuild tree structure
|
|
38
|
+
* const tree = cache.toTree();
|
|
39
|
+
* ```
|
|
23
40
|
*/
|
|
24
41
|
var Cache = class {
|
|
25
42
|
cache = {
|
|
26
43
|
lookup: /* @__PURE__ */ new Map(),
|
|
27
44
|
roots: []
|
|
28
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Creates a new cache instance and populates it with tree nodes.
|
|
48
|
+
*
|
|
49
|
+
* @param nodes - Initial tree nodes to cache (defaults to empty array).
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const cache = new Cache(treeData);
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
29
56
|
constructor(nodes = []) {
|
|
30
57
|
this.rebuild(nodes);
|
|
31
58
|
}
|
|
32
59
|
/**
|
|
33
|
-
*
|
|
60
|
+
* Rebuilds the entire cache from tree nodes.
|
|
61
|
+
*
|
|
62
|
+
* Recursively flattens the tree structure into a lookup map and roots array.
|
|
63
|
+
* Initializes all node properties with defaults (isDisabled: false, isExpanded: false, etc.)
|
|
64
|
+
* and converts nested children to key references. After rebuilding, recomputes visibility
|
|
65
|
+
* for all nodes based on ancestor state.
|
|
66
|
+
*
|
|
67
|
+
* Called automatically in the constructor and whenever external tree state changes.
|
|
68
|
+
* This is an expensive operation - prefer incremental cache updates when possible.
|
|
69
|
+
*
|
|
70
|
+
* @param nodes - Tree nodes to build cache from.
|
|
71
|
+
* @param lookup - Internal lookup map (used for recursion, typically omitted).
|
|
72
|
+
* @param parentKey - Parent key for current recursion level (used for recursion, typically omitted).
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* // Rebuild cache from new tree data
|
|
77
|
+
* cache.rebuild(newTreeNodes);
|
|
78
|
+
* ```
|
|
34
79
|
*/
|
|
35
80
|
rebuild(nodes, lookup = /* @__PURE__ */ new Map(), parentKey = null) {
|
|
36
81
|
nodes.forEach((node) => {
|
|
@@ -56,18 +101,43 @@ var Cache = class {
|
|
|
56
101
|
this.deriveVisibility();
|
|
57
102
|
return cache;
|
|
58
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Retrieves a cache node by key.
|
|
106
|
+
*
|
|
107
|
+
* @param key - The node key to retrieve.
|
|
108
|
+
* @returns The cached node.
|
|
109
|
+
* @throws {Error} If key is null/undefined or doesn't exist in cache.
|
|
110
|
+
*/
|
|
59
111
|
get(key) {
|
|
60
112
|
if (key == null) throw new Error(`Key is ${key} (null/undefined) - this is invalid`);
|
|
61
113
|
const node = this.cache.lookup.get(key);
|
|
62
114
|
if (node === void 0) throw new Error(`Key of ${key} does not exist in tree`);
|
|
63
115
|
return node;
|
|
64
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Updates a cache node by key.
|
|
119
|
+
*
|
|
120
|
+
* @param key - The node key to update.
|
|
121
|
+
* @param node - The cache node data to store.
|
|
122
|
+
*/
|
|
65
123
|
set(key, node) {
|
|
66
124
|
this.cache.lookup.set(key, node);
|
|
67
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Removes a node from the cache lookup.
|
|
128
|
+
*
|
|
129
|
+
* @param key - The node key to remove.
|
|
130
|
+
*/
|
|
68
131
|
delete(key) {
|
|
69
132
|
this.cache.lookup.delete(key);
|
|
70
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Adds a child key to a parent's children array at a specific index.
|
|
136
|
+
*
|
|
137
|
+
* @param parentKey - The parent node key.
|
|
138
|
+
* @param childKey - The child node key to add.
|
|
139
|
+
* @param idx - The index position within parent's children.
|
|
140
|
+
*/
|
|
71
141
|
addToParent(parentKey, childKey, idx) {
|
|
72
142
|
const parent = this.get(parentKey);
|
|
73
143
|
const child = this.get(childKey);
|
|
@@ -83,6 +153,12 @@ var Cache = class {
|
|
|
83
153
|
children
|
|
84
154
|
});
|
|
85
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Adds a node key to the roots array at a specific index.
|
|
158
|
+
*
|
|
159
|
+
* @param key - The node key to add to roots.
|
|
160
|
+
* @param idx - The index position within roots array.
|
|
161
|
+
*/
|
|
86
162
|
addToRoot(key, idx) {
|
|
87
163
|
const node = this.get(key);
|
|
88
164
|
const index = Math.max(0, idx);
|
|
@@ -92,6 +168,12 @@ var Cache = class {
|
|
|
92
168
|
});
|
|
93
169
|
this.cache.roots.splice(index, 0, key);
|
|
94
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Removes a child key from a parent's children array.
|
|
173
|
+
*
|
|
174
|
+
* @param parentKey - The parent node key.
|
|
175
|
+
* @param childKey - The child node key to remove.
|
|
176
|
+
*/
|
|
95
177
|
removeFromParent(parentKey, childKey) {
|
|
96
178
|
const parent = this.get(parentKey);
|
|
97
179
|
const child = this.get(childKey);
|
|
@@ -104,6 +186,11 @@ var Cache = class {
|
|
|
104
186
|
children: parent.children?.filter((key) => key !== childKey)
|
|
105
187
|
});
|
|
106
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Removes a node key from the roots array.
|
|
191
|
+
*
|
|
192
|
+
* @param key - The node key to remove from roots.
|
|
193
|
+
*/
|
|
107
194
|
removeFromRoot(key) {
|
|
108
195
|
const node = this.get(key);
|
|
109
196
|
const idx = this.cache.roots.indexOf(key);
|
|
@@ -115,6 +202,13 @@ var Cache = class {
|
|
|
115
202
|
this.cache.roots.splice(idx, 1);
|
|
116
203
|
}
|
|
117
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Calculates parent key and index for positioning relative to a target.
|
|
207
|
+
*
|
|
208
|
+
* @param target - The target node key, or null for root level.
|
|
209
|
+
* @param position - Whether positioning before or after target.
|
|
210
|
+
* @returns Object with parentKey and index for insertion.
|
|
211
|
+
*/
|
|
118
212
|
parentOrSibling(target, position) {
|
|
119
213
|
let index;
|
|
120
214
|
let parentKey = null;
|
|
@@ -132,6 +226,11 @@ var Cache = class {
|
|
|
132
226
|
index
|
|
133
227
|
};
|
|
134
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Recursively updates computed visibility for a node and all descendants.
|
|
231
|
+
*
|
|
232
|
+
* @param key - The node key to traverse from.
|
|
233
|
+
*/
|
|
135
234
|
traverse(key) {
|
|
136
235
|
const node = this.get(key);
|
|
137
236
|
this.cache.lookup.set(key, {
|
|
@@ -140,6 +239,12 @@ var Cache = class {
|
|
|
140
239
|
});
|
|
141
240
|
node.children?.map((child) => this.traverse(child));
|
|
142
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* Calculates if a node is actually visible based on all ancestors' visibility.
|
|
244
|
+
*
|
|
245
|
+
* @param key - The node key to calculate visibility for.
|
|
246
|
+
* @returns True if node and all ancestors have isVisible: true.
|
|
247
|
+
*/
|
|
143
248
|
calculateVisibility(key) {
|
|
144
249
|
let current = this.get(key);
|
|
145
250
|
const ancestry = [current];
|
|
@@ -150,13 +255,20 @@ var Cache = class {
|
|
|
150
255
|
}
|
|
151
256
|
return ancestry.every((n) => n.isVisible);
|
|
152
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Recomputes visibility for all nodes in the tree.
|
|
260
|
+
*/
|
|
153
261
|
deriveVisibility() {
|
|
154
262
|
return this.cache.roots.map((key) => this.traverse(key));
|
|
155
263
|
}
|
|
156
264
|
/**
|
|
157
|
-
* Recursively builds a TreeNode from a key
|
|
265
|
+
* Recursively builds a TreeNode from a cache key.
|
|
266
|
+
*
|
|
267
|
+
* Converts the flat cache representation back into nested TreeNode structure
|
|
268
|
+
* by recursively building child nodes from child keys.
|
|
158
269
|
*
|
|
159
|
-
* @param key
|
|
270
|
+
* @param key - The node key to build from.
|
|
271
|
+
* @returns Complete TreeNode with nested children.
|
|
160
272
|
*/
|
|
161
273
|
buildNode(key) {
|
|
162
274
|
const node = this.get(key);
|
|
@@ -171,13 +283,22 @@ var Cache = class {
|
|
|
171
283
|
};
|
|
172
284
|
}
|
|
173
285
|
/**
|
|
174
|
-
*
|
|
286
|
+
* Rebuilds the tree structure from the flattened cache.
|
|
175
287
|
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
* rebuilding the entire tree
|
|
288
|
+
* Converts the internal flat lookup map back into hierarchical TreeNode objects.
|
|
289
|
+
* Optionally recomputes visibility state based on ancestor expansion before building.
|
|
179
290
|
*
|
|
180
|
-
* @param deriveVisible
|
|
291
|
+
* @param deriveVisible - If true, recomputes visibility for all nodes based on ancestry before building.
|
|
292
|
+
* @returns Array of root TreeNode objects with nested children.
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
* ```typescript
|
|
296
|
+
* // Build tree with current visibility
|
|
297
|
+
* const tree = cache.toTree();
|
|
298
|
+
*
|
|
299
|
+
* // Build tree and recompute visibility
|
|
300
|
+
* const tree = cache.toTree(true);
|
|
301
|
+
* ```
|
|
181
302
|
*/
|
|
182
303
|
toTree(deriveVisible) {
|
|
183
304
|
if (deriveVisible) this.deriveVisibility();
|
|
@@ -188,6 +309,22 @@ var Cache = class {
|
|
|
188
309
|
* These are the public functions to manage cache operations. No cache operations should ever be done
|
|
189
310
|
* outside this file since it risks corruption of the data.
|
|
190
311
|
**/
|
|
312
|
+
/**
|
|
313
|
+
* Retrieves a node from cache and builds its full TreeNode representation.
|
|
314
|
+
*
|
|
315
|
+
* Differs from internal `get()` by recursively building child nodes into
|
|
316
|
+
* full TreeNode objects instead of returning just child keys.
|
|
317
|
+
*
|
|
318
|
+
* @param key - The unique key of the node to retrieve.
|
|
319
|
+
* @returns The full TreeNode with nested children.
|
|
320
|
+
* @throws {Error} If key doesn't exist in cache.
|
|
321
|
+
*
|
|
322
|
+
* @example
|
|
323
|
+
* ```typescript
|
|
324
|
+
* const node = cache.getNode('node-1');
|
|
325
|
+
* console.log(node.children); // Full TreeNode objects, not keys
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
191
328
|
getNode(key) {
|
|
192
329
|
const node = this.get(key);
|
|
193
330
|
return {
|
|
@@ -195,28 +332,124 @@ var Cache = class {
|
|
|
195
332
|
children: node.children?.map((key$1) => this.buildNode(key$1))
|
|
196
333
|
};
|
|
197
334
|
}
|
|
335
|
+
/**
|
|
336
|
+
* Returns an iterator of all node keys in the cache.
|
|
337
|
+
*
|
|
338
|
+
* @returns Iterator over all cached node keys.
|
|
339
|
+
*
|
|
340
|
+
* @example
|
|
341
|
+
* ```typescript
|
|
342
|
+
* for (const key of cache.getAllKeys()) {
|
|
343
|
+
* console.log(key);
|
|
344
|
+
* }
|
|
345
|
+
* ```
|
|
346
|
+
*/
|
|
198
347
|
getAllKeys() {
|
|
199
348
|
return this.cache.lookup.keys();
|
|
200
349
|
}
|
|
350
|
+
/**
|
|
351
|
+
* Returns an iterator of all cached nodes.
|
|
352
|
+
*
|
|
353
|
+
* Note: Returns CacheTreeNode objects (with child keys, not full children objects).
|
|
354
|
+
*
|
|
355
|
+
* @returns Iterator over all cached nodes.
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* ```typescript
|
|
359
|
+
* for (const node of cache.getAllNodes()) {
|
|
360
|
+
* if (node.isSelected) {
|
|
361
|
+
* console.log(node.key);
|
|
362
|
+
* }
|
|
363
|
+
* }
|
|
364
|
+
* ```
|
|
365
|
+
*/
|
|
201
366
|
getAllNodes() {
|
|
202
367
|
return this.cache.lookup.values();
|
|
203
368
|
}
|
|
369
|
+
/**
|
|
370
|
+
* Determines the parent key for inserting a node at a position relative to a target.
|
|
371
|
+
*
|
|
372
|
+
* Used to calculate where a new node should be inserted when positioned
|
|
373
|
+
* 'before' or 'after' a target node.
|
|
374
|
+
*
|
|
375
|
+
* @param target - The target node key to position relative to, or null for root level.
|
|
376
|
+
* @param position - Whether to position before or after the target.
|
|
377
|
+
* @returns The parent key where insertion should occur, or null for root level.
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* ```typescript
|
|
381
|
+
* // Find parent for inserting before node-2
|
|
382
|
+
* const parent = cache.getParentForPosition('node-2', 'before');
|
|
383
|
+
* ```
|
|
384
|
+
*/
|
|
204
385
|
getParentForPosition(target, position) {
|
|
205
386
|
const { parentKey } = this.parentOrSibling(target, position);
|
|
206
387
|
return parentKey;
|
|
207
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* Updates a node in the cache.
|
|
391
|
+
*
|
|
392
|
+
* Accepts a TreeNode<T>. Automatically converts TreeNode children to keys for
|
|
393
|
+
* internal cache storage.
|
|
394
|
+
*
|
|
395
|
+
* @param key - The unique key of the node to update.
|
|
396
|
+
* @param node - The node data to store.
|
|
397
|
+
*
|
|
398
|
+
* @example
|
|
399
|
+
* ```typescript
|
|
400
|
+
* // Update with TreeNode
|
|
401
|
+
* cache.setNode('node-1', { key: 'node-1', isSelected: true, children: [...] });
|
|
402
|
+
*
|
|
403
|
+
* // Update with CacheTreeNode (child keys)
|
|
404
|
+
* cache.setNode('node-1', { key: 'node-1', isSelected: true, children: ['child-1', 'child-2'] });
|
|
405
|
+
* ```
|
|
406
|
+
*/
|
|
208
407
|
setNode(key, node) {
|
|
209
408
|
this.set(key, {
|
|
210
409
|
...node,
|
|
211
410
|
children: (node.children ?? []).map((child) => child.key)
|
|
212
411
|
});
|
|
213
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* Updates all nodes in the cache with shared properties.
|
|
415
|
+
*
|
|
416
|
+
* Applies partial updates to every cached node. Useful for bulk operations
|
|
417
|
+
* like clearing all selections or resetting visibility states.
|
|
418
|
+
*
|
|
419
|
+
* Note: `parentKey` and `children` properties are ignored (not applied to nodes).
|
|
420
|
+
*
|
|
421
|
+
* @param props - Partial node properties to apply to all nodes.
|
|
422
|
+
*
|
|
423
|
+
* @example
|
|
424
|
+
* ```typescript
|
|
425
|
+
* // Clear all selections
|
|
426
|
+
* cache.setAllNodes({ isSelected: false, isIndeterminate: false });
|
|
427
|
+
*
|
|
428
|
+
* // Reset visibility
|
|
429
|
+
* cache.setAllNodes({ isVisible: false });
|
|
430
|
+
* ```
|
|
431
|
+
*/
|
|
214
432
|
setAllNodes({ parentKey, children, ...rest }) {
|
|
215
433
|
for (const node of this.cache.lookup.values()) this.set(node.key, {
|
|
216
434
|
...node,
|
|
217
435
|
...rest
|
|
218
436
|
});
|
|
219
437
|
}
|
|
438
|
+
/**
|
|
439
|
+
* Removes a node and all its descendants from the cache.
|
|
440
|
+
*
|
|
441
|
+
* Recursively deletes the node and all child nodes, then removes
|
|
442
|
+
* the node from its parent's children array (or roots array if top-level).
|
|
443
|
+
* Silently returns if the node doesn't exist.
|
|
444
|
+
*
|
|
445
|
+
* @param key - The unique key of the node to delete.
|
|
446
|
+
*
|
|
447
|
+
* @example
|
|
448
|
+
* ```typescript
|
|
449
|
+
* // Delete node and all its children
|
|
450
|
+
* cache.deleteNode('node-1');
|
|
451
|
+
* ```
|
|
452
|
+
*/
|
|
220
453
|
deleteNode(key) {
|
|
221
454
|
const node = this.cache.lookup.get(key);
|
|
222
455
|
if (!node) return;
|
|
@@ -224,11 +457,50 @@ var Cache = class {
|
|
|
224
457
|
node.parentKey ? this.removeFromParent(node.parentKey, key) : this.removeFromRoot(key);
|
|
225
458
|
this.delete(key);
|
|
226
459
|
}
|
|
460
|
+
/**
|
|
461
|
+
* Inserts multiple nodes at a position relative to a target node.
|
|
462
|
+
*
|
|
463
|
+
* Nodes are inserted in array order at the calculated position. If target is null,
|
|
464
|
+
* nodes are inserted at root level.
|
|
465
|
+
*
|
|
466
|
+
* @param target - The target node key to position relative to, or null for root level.
|
|
467
|
+
* @param nodes - Array of TreeNode objects to insert.
|
|
468
|
+
* @param position - Whether to insert before or after the target.
|
|
469
|
+
*
|
|
470
|
+
* @example
|
|
471
|
+
* ```typescript
|
|
472
|
+
* // Insert nodes before node-2
|
|
473
|
+
* cache.addNodes('node-2', [newNode1, newNode2], 'before');
|
|
474
|
+
*
|
|
475
|
+
* // Insert nodes at end of root level
|
|
476
|
+
* cache.addNodes(null, [newNode], 'after');
|
|
477
|
+
* ```
|
|
478
|
+
*/
|
|
227
479
|
addNodes(target, nodes, position) {
|
|
228
480
|
const { parentKey, index } = this.parentOrSibling(target, position);
|
|
229
481
|
const idx = index + (position === "before" ? 0 : 1);
|
|
230
482
|
nodes.map((node, i) => this.insertNode(parentKey, node, idx + i));
|
|
231
483
|
}
|
|
484
|
+
/**
|
|
485
|
+
* Inserts a node and its descendants into the cache at a specific index.
|
|
486
|
+
*
|
|
487
|
+
* Initializes node with default property values (isDisabled: false, isSelected: false, etc.)
|
|
488
|
+
* and recursively inserts all child nodes. Children are converted to key references
|
|
489
|
+
* for internal cache storage.
|
|
490
|
+
*
|
|
491
|
+
* @param parentKey - The parent node key, or null to insert at root level.
|
|
492
|
+
* @param node - The TreeNode to insert (with nested children).
|
|
493
|
+
* @param idx - The index position to insert at within the parent's children.
|
|
494
|
+
*
|
|
495
|
+
* @example
|
|
496
|
+
* ```typescript
|
|
497
|
+
* // Insert as first child of parent-1
|
|
498
|
+
* cache.insertNode('parent-1', newNode, 0);
|
|
499
|
+
*
|
|
500
|
+
* // Insert at root level
|
|
501
|
+
* cache.insertNode(null, newNode, 0);
|
|
502
|
+
* ```
|
|
503
|
+
*/
|
|
232
504
|
insertNode(parentKey, node, idx) {
|
|
233
505
|
const { children, ...rest } = node;
|
|
234
506
|
this.set(node.key, {
|
|
@@ -245,18 +517,71 @@ var Cache = class {
|
|
|
245
517
|
node.children?.map((child, i) => this.insertNode(node.key, child, i));
|
|
246
518
|
parentKey === null ? this.addToRoot(node.key, idx) : this.addToParent(parentKey, node.key, idx);
|
|
247
519
|
}
|
|
520
|
+
/**
|
|
521
|
+
* Moves multiple nodes to a position relative to a target node.
|
|
522
|
+
*
|
|
523
|
+
* Nodes are moved in Set iteration order to the calculated position.
|
|
524
|
+
* Each node is removed from its current parent and added to the new parent.
|
|
525
|
+
*
|
|
526
|
+
* @param target - The target node key to position relative to, or null for root level.
|
|
527
|
+
* @param nodes - Set of node keys to move.
|
|
528
|
+
* @param position - Whether to position before or after the target.
|
|
529
|
+
*
|
|
530
|
+
* @example
|
|
531
|
+
* ```typescript
|
|
532
|
+
* // Move nodes before node-5
|
|
533
|
+
* cache.moveNodes('node-5', new Set(['node-1', 'node-2']), 'before');
|
|
534
|
+
*
|
|
535
|
+
* // Move to end of root level
|
|
536
|
+
* cache.moveNodes(null, new Set(['node-3']), 'after');
|
|
537
|
+
* ```
|
|
538
|
+
*/
|
|
248
539
|
moveNodes(target, nodes, position) {
|
|
249
540
|
const { parentKey, index } = this.parentOrSibling(target, position);
|
|
250
541
|
const idx = index + (position === "before" ? 0 : 1);
|
|
251
542
|
Array.from(nodes).map((key, i) => this.moveNode(parentKey, key, idx + i));
|
|
252
543
|
}
|
|
544
|
+
/**
|
|
545
|
+
* Moves a single node to a new parent and position.
|
|
546
|
+
*
|
|
547
|
+
* First removes the node from its current parent (or roots), then inserts
|
|
548
|
+
* it at the specified index under the new parent. The node's parentKey is updated.
|
|
549
|
+
*
|
|
550
|
+
* @param parentKey - The new parent node key, or null to move to root level.
|
|
551
|
+
* @param key - The node key to move.
|
|
552
|
+
* @param idx - The index position within the new parent's children.
|
|
553
|
+
*
|
|
554
|
+
* @example
|
|
555
|
+
* ```typescript
|
|
556
|
+
* // Move node-1 to be first child of parent-2
|
|
557
|
+
* cache.moveNode('parent-2', 'node-1', 0);
|
|
558
|
+
*
|
|
559
|
+
* // Move node-1 to root level
|
|
560
|
+
* cache.moveNode(null, 'node-1', 0);
|
|
561
|
+
* ```
|
|
562
|
+
*/
|
|
253
563
|
moveNode(parentKey, key, idx) {
|
|
254
564
|
const node = this.get(key);
|
|
255
565
|
node.parentKey ? this.removeFromParent(node.parentKey, key) : this.removeFromRoot(key);
|
|
256
566
|
parentKey ? this.addToParent(parentKey, key, idx) : this.addToRoot(key, idx);
|
|
257
567
|
}
|
|
258
568
|
/**
|
|
259
|
-
*
|
|
569
|
+
* Recursively applies selection state to a node and all its descendants.
|
|
570
|
+
*
|
|
571
|
+
* Disabled nodes are skipped (their selection state is not changed).
|
|
572
|
+
* Indeterminate state is cleared when selection is applied.
|
|
573
|
+
*
|
|
574
|
+
* @param key - The node key to cascade selection from.
|
|
575
|
+
* @param selected - Whether to select (true) or deselect (false).
|
|
576
|
+
*
|
|
577
|
+
* @example
|
|
578
|
+
* ```typescript
|
|
579
|
+
* // Select node and all children
|
|
580
|
+
* cache.cascadeSelection('node-1', true);
|
|
581
|
+
*
|
|
582
|
+
* // Deselect node and all children
|
|
583
|
+
* cache.cascadeSelection('node-1', false);
|
|
584
|
+
* ```
|
|
260
585
|
*/
|
|
261
586
|
cascadeSelection(key, selected) {
|
|
262
587
|
try {
|
|
@@ -274,7 +599,23 @@ var Cache = class {
|
|
|
274
599
|
}
|
|
275
600
|
}
|
|
276
601
|
/**
|
|
277
|
-
*
|
|
602
|
+
* Propagates selection state changes up through all ancestor nodes.
|
|
603
|
+
*
|
|
604
|
+
* Starting from a node, walks up the ancestor chain and recomputes each
|
|
605
|
+
* parent's selection state based on its children (all selected → selected,
|
|
606
|
+
* some selected → indeterminate, none selected → deselected).
|
|
607
|
+
*
|
|
608
|
+
* Includes early termination: stops walking up when a parent's state doesn't
|
|
609
|
+
* change, since ancestors won't be affected.
|
|
610
|
+
*
|
|
611
|
+
* @param key - The node key to bubble selection from.
|
|
612
|
+
*
|
|
613
|
+
* @example
|
|
614
|
+
* ```typescript
|
|
615
|
+
* // After updating a child's selection, update parents
|
|
616
|
+
* cache.setNode('child-1', { ...node, isSelected: true });
|
|
617
|
+
* cache.bubbleUpSelection('child-1');
|
|
618
|
+
* ```
|
|
278
619
|
*/
|
|
279
620
|
bubbleUpSelection(key) {
|
|
280
621
|
try {
|
|
@@ -295,7 +636,14 @@ var Cache = class {
|
|
|
295
636
|
}
|
|
296
637
|
}
|
|
297
638
|
/**
|
|
298
|
-
*
|
|
639
|
+
* Computes selection state for a node based on its children's states.
|
|
640
|
+
*
|
|
641
|
+
* Returns selected if all selectable children are selected, indeterminate if some
|
|
642
|
+
* are selected, and deselected if none are selected. Disabled children are excluded
|
|
643
|
+
* from computation. Leaf nodes use their own selection state.
|
|
644
|
+
*
|
|
645
|
+
* @param node - The node to compute state for.
|
|
646
|
+
* @returns Object with isSelected and isIndeterminate flags.
|
|
299
647
|
*/
|
|
300
648
|
computeSelectionState(node) {
|
|
301
649
|
if (!node.children || node.children.length === 0) return {
|
|
@@ -332,7 +680,23 @@ var Cache = class {
|
|
|
332
680
|
};
|
|
333
681
|
}
|
|
334
682
|
/**
|
|
335
|
-
*
|
|
683
|
+
* Updates selection state for all affected parents after moving nodes.
|
|
684
|
+
*
|
|
685
|
+
* When nodes are moved, both old parents (lost children) and new parent (gained children)
|
|
686
|
+
* may have their selection state invalidated. This method recomputes selection state
|
|
687
|
+
* for all affected parents and bubbles changes up the ancestor chain.
|
|
688
|
+
*
|
|
689
|
+
* @param oldParents - Set of parent keys that lost children during the move.
|
|
690
|
+
* @param newParent - The parent key that gained children, or null if moved to root.
|
|
691
|
+
*
|
|
692
|
+
* @example
|
|
693
|
+
* ```typescript
|
|
694
|
+
* // After moving nodes from parent-1 to parent-2
|
|
695
|
+
* cache.syncParentsAfterMove(new Set(['parent-1']), 'parent-2');
|
|
696
|
+
*
|
|
697
|
+
* // After moving nodes to root level
|
|
698
|
+
* cache.syncParentsAfterMove(new Set(['parent-1']), null);
|
|
699
|
+
* ```
|
|
336
700
|
*/
|
|
337
701
|
syncParentsAfterMove(oldParents, newParent) {
|
|
338
702
|
for (const parentKey of oldParents) try {
|