@accelint/design-toolkit 9.9.2 → 9.10.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/catalog-info.yaml +2 -2
- package/dist/components/accordion/group.d.ts +2 -2
- package/dist/components/accordion/header.d.ts +2 -2
- package/dist/components/accordion/index.d.ts +2 -2
- package/dist/components/accordion/styles.module.css +19 -3
- package/dist/components/accordion/trigger.d.ts +2 -2
- package/dist/components/action-bar/index.d.ts +2 -2
- package/dist/components/audio/index.d.ts +2 -2
- package/dist/components/avatar/context.d.ts +4 -4
- package/dist/components/avatar/index.d.ts +2 -2
- package/dist/components/badge/context.d.ts +4 -4
- package/dist/components/badge/index.d.ts +2 -2
- package/dist/components/breadcrumbs/index.d.ts +2 -2
- package/dist/components/breadcrumbs/item.d.ts +2 -2
- package/dist/components/button/context.d.ts +8 -8
- package/dist/components/button/index.d.ts +2 -2
- package/dist/components/button/link.d.ts +2 -2
- package/dist/components/button/styles.module.css +16 -0
- package/dist/components/button/toggle.d.ts +2 -2
- package/dist/components/carousel/context.d.ts +40 -0
- package/dist/components/carousel/context.js +55 -0
- package/dist/components/carousel/context.js.map +1 -0
- package/dist/components/carousel/gallery.d.ts +38 -0
- package/dist/components/carousel/gallery.js +84 -0
- package/dist/components/carousel/gallery.js.map +1 -0
- package/dist/components/carousel/index.d.ts +56 -0
- package/dist/components/carousel/index.js +66 -0
- package/dist/components/carousel/index.js.map +1 -0
- package/dist/components/carousel/navigation.d.ts +51 -0
- package/dist/components/carousel/navigation.js +82 -0
- package/dist/components/carousel/navigation.js.map +1 -0
- package/dist/components/carousel/position.d.ts +33 -0
- package/dist/components/carousel/position.js +48 -0
- package/dist/components/carousel/position.js.map +1 -0
- package/dist/components/carousel/select.d.ts +38 -0
- package/dist/components/carousel/select.js +69 -0
- package/dist/components/carousel/select.js.map +1 -0
- package/dist/components/carousel/style.module.css +62 -0
- package/dist/components/carousel/types.d.ts +87 -0
- package/dist/components/carousel/types.js +12 -0
- package/dist/components/carousel/viewer.d.ts +40 -0
- package/dist/components/carousel/viewer.js +75 -0
- package/dist/components/carousel/viewer.js.map +1 -0
- package/dist/components/checkbox/context.d.ts +3 -3
- package/dist/components/checkbox/group.d.ts +2 -2
- package/dist/components/checkbox/group.js +1 -1
- package/dist/components/checkbox/index.d.ts +2 -2
- package/dist/components/chip/context.d.ts +4 -4
- package/dist/components/chip/deletable.d.ts +2 -2
- package/dist/components/chip/index.d.ts +2 -2
- package/dist/components/chip/list.d.ts +4 -4
- package/dist/components/chip/selectable.d.ts +2 -2
- package/dist/components/classification-badge/context.d.ts +4 -4
- package/dist/components/classification-badge/index.d.ts +2 -2
- package/dist/components/classification-banner/context.d.ts +4 -4
- package/dist/components/classification-banner/index.d.ts +2 -2
- package/dist/components/clock/index.d.ts +2 -2
- package/dist/components/color-picker/index.d.ts +2 -2
- package/dist/components/combobox-field/context.d.ts +4 -4
- package/dist/components/combobox-field/index.d.ts +2 -2
- package/dist/components/combobox-field/index.js +1 -1
- package/dist/components/combobox-field/styles.module.css +12 -0
- package/dist/components/coordinate-field/context.d.ts +6 -6
- package/dist/components/coordinate-field/index.d.ts +2 -2
- package/dist/components/coordinate-field/segment.d.ts +2 -2
- package/dist/components/date-field/index.d.ts +2 -2
- package/dist/components/deferred-collection/index.d.ts +2 -2
- package/dist/components/details-list/context.d.ts +4 -4
- package/dist/components/details-list/index.d.ts +2 -2
- package/dist/components/details-list/label.d.ts +2 -2
- package/dist/components/details-list/value.d.ts +2 -2
- package/dist/components/dialog/content.d.ts +2 -2
- package/dist/components/dialog/context.d.ts +2 -2
- package/dist/components/dialog/footer.d.ts +2 -2
- package/dist/components/dialog/index.d.ts +2 -2
- package/dist/components/dialog/styles.module.css +23 -0
- package/dist/components/dialog/title.d.ts +2 -2
- package/dist/components/divider/context.d.ts +4 -4
- package/dist/components/divider/index.d.ts +2 -2
- 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.d.ts +2 -2
- 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.d.ts +2 -2
- package/dist/components/drawer/panel.d.ts +2 -2
- package/dist/components/drawer/styles.module.css +54 -2
- package/dist/components/drawer/trigger.d.ts +2 -2
- package/dist/components/drawer/view.d.ts +2 -2
- package/dist/components/flashcard/index.d.ts +9 -9
- package/dist/components/floating-card/context.d.ts +37 -5
- package/dist/components/floating-card/context.js +18 -3
- package/dist/components/floating-card/context.js.map +1 -1
- package/dist/components/floating-card/index.d.ts +51 -1
- package/dist/components/floating-card/index.js +41 -11
- package/dist/components/floating-card/index.js.map +1 -1
- package/dist/components/floating-card/provider.d.ts +94 -17
- package/dist/components/floating-card/provider.js +116 -20
- package/dist/components/floating-card/provider.js.map +1 -1
- package/dist/components/floating-card/styles.module.css +5 -0
- package/dist/components/gantt/components/base-elements/point.d.ts +28 -0
- package/dist/components/gantt/components/base-elements/point.js +44 -0
- package/dist/components/gantt/components/base-elements/point.js.map +1 -0
- package/dist/components/gantt/components/base-elements/range.d.ts +30 -0
- package/dist/components/gantt/components/base-elements/range.js +51 -0
- package/dist/components/gantt/components/base-elements/range.js.map +1 -0
- package/dist/components/gantt/components/base-elements/use-point-element-layout/index.d.ts +12 -0
- package/dist/components/gantt/components/base-elements/use-point-element-layout/index.js +42 -0
- package/dist/components/gantt/components/base-elements/use-point-element-layout/index.js.map +1 -0
- package/dist/components/gantt/components/base-elements/use-range-element-layout/index.d.ts +23 -0
- package/dist/components/gantt/components/base-elements/use-range-element-layout/index.js +50 -0
- package/dist/components/gantt/components/base-elements/use-range-element-layout/index.js.map +1 -0
- package/dist/components/gantt/components/containers/external/gantt-content-container/index.d.ts +23 -0
- package/dist/components/gantt/components/containers/external/gantt-content-container/index.js +40 -0
- package/dist/components/gantt/components/containers/external/gantt-content-container/index.js.map +1 -0
- package/dist/components/gantt/components/containers/external/gantt-panel-container/index.d.ts +23 -0
- package/dist/components/gantt/components/containers/external/gantt-panel-container/index.js +33 -0
- package/dist/components/gantt/components/containers/external/gantt-panel-container/index.js.map +1 -0
- package/dist/components/gantt/components/containers/external/styles.module.css +32 -0
- package/dist/components/gantt/components/containers/internal/index.d.ts +22 -0
- package/dist/components/gantt/components/containers/internal/index.js +35 -0
- package/dist/components/gantt/components/containers/internal/index.js.map +1 -0
- package/dist/components/gantt/components/containers/internal/layout-container/index.d.ts +22 -0
- package/dist/components/gantt/components/containers/internal/layout-container/index.js +27 -0
- package/dist/components/gantt/components/containers/internal/layout-container/index.js.map +1 -0
- package/dist/components/gantt/components/containers/internal/styles.module.css +35 -0
- package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.d.ts +22 -0
- package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.js +38 -0
- package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.js.map +1 -0
- package/dist/components/gantt/components/content-row/block.d.ts +27 -0
- package/dist/components/gantt/components/content-row/block.js +39 -0
- package/dist/components/gantt/components/content-row/block.js.map +1 -0
- package/dist/components/gantt/components/content-row/bracket.d.ts +23 -0
- package/dist/components/gantt/components/content-row/bracket.js +48 -0
- package/dist/components/gantt/components/content-row/bracket.js.map +1 -0
- package/dist/components/gantt/components/content-row/icon-marker.d.ts +27 -0
- package/dist/components/gantt/components/content-row/icon-marker.js +41 -0
- package/dist/components/gantt/components/content-row/icon-marker.js.map +1 -0
- package/dist/components/gantt/components/content-row/index.d.ts +24 -0
- package/dist/components/gantt/components/content-row/index.js +32 -0
- package/dist/components/gantt/components/content-row/index.js.map +1 -0
- package/dist/components/gantt/components/content-row/marker.d.ts +21 -0
- package/dist/components/gantt/components/content-row/marker.js +35 -0
- package/dist/components/gantt/components/content-row/marker.js.map +1 -0
- package/dist/components/gantt/components/content-row/spacer.d.ts +23 -0
- package/dist/components/gantt/components/content-row/spacer.js +35 -0
- package/dist/components/gantt/components/content-row/spacer.js.map +1 -0
- package/dist/components/gantt/components/content-row/styles.module.css +198 -0
- package/dist/components/gantt/components/content-row/use-elapsed-percentage/index.d.ts +19 -0
- package/dist/components/gantt/components/content-row/use-elapsed-percentage/index.js +27 -0
- package/dist/components/gantt/components/content-row/use-elapsed-percentage/index.js.map +1 -0
- package/dist/components/gantt/components/content-row/use-is-elapsed/index.d.ts +10 -0
- package/dist/components/gantt/components/content-row/use-is-elapsed/index.js +24 -0
- package/dist/components/gantt/components/content-row/use-is-elapsed/index.js.map +1 -0
- package/dist/components/gantt/components/current-time/index.d.ts +28 -0
- package/dist/components/gantt/components/current-time/index.js +63 -0
- package/dist/components/gantt/components/current-time/index.js.map +1 -0
- package/dist/components/gantt/components/current-time/styles.module.css +42 -0
- package/dist/components/gantt/components/current-time/use-current-time-layout/index.d.ts +31 -0
- package/dist/components/gantt/components/current-time/use-current-time-layout/index.js +58 -0
- package/dist/components/gantt/components/current-time/use-current-time-layout/index.js.map +1 -0
- package/dist/components/gantt/components/header/index.d.ts +25 -0
- package/dist/components/gantt/components/header/index.js +41 -0
- package/dist/components/gantt/components/header/index.js.map +1 -0
- package/dist/components/gantt/components/header/styles.module.css +23 -0
- package/dist/components/gantt/components/panel-row/index.d.ts +24 -0
- package/dist/components/gantt/components/panel-row/index.js +33 -0
- package/dist/components/gantt/components/panel-row/index.js.map +1 -0
- package/dist/components/gantt/components/panel-row/styles.module.css +24 -0
- package/dist/components/gantt/components/rows-virtualizer/index.d.ts +25 -0
- package/dist/components/gantt/components/rows-virtualizer/index.js +67 -0
- package/dist/components/gantt/components/rows-virtualizer/index.js.map +1 -0
- package/dist/components/gantt/components/rows-virtualizer/styles.module.css +30 -0
- package/dist/components/gantt/components/rows-virtualizer/use-rendered-rows/index.d.ts +29 -0
- package/dist/components/gantt/components/rows-virtualizer/use-rendered-rows/index.js +57 -0
- package/dist/components/gantt/components/rows-virtualizer/use-rendered-rows/index.js.map +1 -0
- package/dist/components/gantt/components/rows-virtualizer/use-scroll-sync/index.d.ts +10 -0
- package/dist/components/gantt/components/rows-virtualizer/use-scroll-sync/index.js +58 -0
- package/dist/components/gantt/components/rows-virtualizer/use-scroll-sync/index.js.map +1 -0
- package/dist/components/gantt/components/styles.module.css +46 -0
- package/dist/components/gantt/components/timeline/index.d.ts +19 -0
- package/dist/components/gantt/components/timeline/index.js +45 -0
- package/dist/components/gantt/components/timeline/index.js.map +1 -0
- package/dist/components/gantt/components/timeline/use-timeline-transform/index.d.ts +29 -0
- package/dist/components/gantt/components/timeline/use-timeline-transform/index.js +33 -0
- package/dist/components/gantt/components/timeline/use-timeline-transform/index.js.map +1 -0
- package/dist/components/gantt/components/timeline-chunk/index.d.ts +25 -0
- package/dist/components/gantt/components/timeline-chunk/index.js +43 -0
- package/dist/components/gantt/components/timeline-chunk/index.js.map +1 -0
- package/dist/components/gantt/constants.d.ts +31 -0
- package/dist/components/gantt/constants.js +57 -0
- package/dist/components/gantt/constants.js.map +1 -0
- package/dist/components/gantt/context/index.d.ts +60 -0
- package/dist/components/gantt/context/index.js +78 -0
- package/dist/components/gantt/context/index.js.map +1 -0
- package/dist/components/gantt/context/store/index.d.ts +45 -0
- package/dist/components/gantt/context/store/index.js +42 -0
- package/dist/components/gantt/context/store/index.js.map +1 -0
- package/dist/components/gantt/context/temporal-data/index.d.ts +48 -0
- package/dist/components/gantt/context/temporal-data/index.js +80 -0
- package/dist/components/gantt/context/temporal-data/index.js.map +1 -0
- package/dist/components/gantt/gantt.d.ts +50 -0
- package/dist/components/gantt/gantt.js +51 -0
- package/dist/components/gantt/gantt.js.map +1 -0
- package/dist/components/gantt/hooks/use-horizontal-scroll-update/index.d.ts +22 -0
- package/dist/components/gantt/hooks/use-horizontal-scroll-update/index.js +36 -0
- package/dist/components/gantt/hooks/use-horizontal-scroll-update/index.js.map +1 -0
- package/dist/components/gantt/hooks/use-layout-subscription/index.d.ts +26 -0
- package/dist/components/gantt/hooks/use-layout-subscription/index.js +45 -0
- package/dist/components/gantt/hooks/use-layout-subscription/index.js.map +1 -0
- package/dist/components/gantt/hooks/use-resize-intersection-effect/index.d.ts +26 -0
- package/dist/components/gantt/hooks/use-resize-intersection-effect/index.js +50 -0
- package/dist/components/gantt/hooks/use-resize-intersection-effect/index.js.map +1 -0
- package/dist/components/gantt/hooks/use-root-element-height/index.d.ts +5 -0
- package/dist/components/gantt/hooks/use-root-element-height/index.js +24 -0
- package/dist/components/gantt/hooks/use-root-element-height/index.js.map +1 -0
- package/dist/components/gantt/hooks/use-scrollbar-height/index.d.ts +5 -0
- package/dist/components/gantt/hooks/use-scrollbar-height/index.js +40 -0
- package/dist/components/gantt/hooks/use-scrollbar-height/index.js.map +1 -0
- package/dist/components/gantt/hooks/use-total-data-region-thresholds/index.d.ts +19 -0
- package/dist/components/gantt/hooks/use-total-data-region-thresholds/index.js +87 -0
- package/dist/components/gantt/hooks/use-total-data-region-thresholds/index.js.map +1 -0
- package/dist/components/gantt/hooks/use-vertical-scroll-update/index.d.ts +22 -0
- package/dist/components/gantt/hooks/use-vertical-scroll-update/index.js +38 -0
- package/dist/components/gantt/hooks/use-vertical-scroll-update/index.js.map +1 -0
- package/dist/components/gantt/public-types.d.ts +31 -0
- package/dist/components/gantt/public-types.js +12 -0
- package/dist/components/gantt/store.d.ts +51 -0
- package/dist/components/gantt/store.js +46 -0
- package/dist/components/gantt/store.js.map +1 -0
- package/dist/components/gantt/styles.module.css +30 -0
- package/dist/components/gantt/types.d.ts +67 -0
- package/dist/components/gantt/types.js +12 -0
- package/dist/components/gantt/utils/conversions.d.ts +23 -0
- package/dist/components/gantt/utils/conversions.js +34 -0
- package/dist/components/gantt/utils/conversions.js.map +1 -0
- package/dist/components/gantt/utils/dates.d.ts +11 -0
- package/dist/components/gantt/utils/dates.js +41 -0
- package/dist/components/gantt/utils/dates.js.map +1 -0
- package/dist/components/gantt/utils/formatting.d.ts +5 -0
- package/dist/components/gantt/utils/formatting.js +54 -0
- package/dist/components/gantt/utils/formatting.js.map +1 -0
- package/dist/components/gantt/utils/generation.d.ts +19 -0
- package/dist/components/gantt/utils/generation.js +37 -0
- package/dist/components/gantt/utils/generation.js.map +1 -0
- package/dist/components/gantt/utils/helpers.d.ts +26 -0
- package/dist/components/gantt/utils/helpers.js +55 -0
- package/dist/components/gantt/utils/helpers.js.map +1 -0
- package/dist/components/gantt/utils/layout.d.ts +32 -0
- package/dist/components/gantt/utils/layout.js +55 -0
- package/dist/components/gantt/utils/layout.js.map +1 -0
- package/dist/components/gantt/utils/thresholds.d.ts +52 -0
- package/dist/components/gantt/utils/thresholds.js +116 -0
- package/dist/components/gantt/utils/thresholds.js.map +1 -0
- package/dist/components/hero/context.d.ts +2 -2
- package/dist/components/hero/index.d.ts +2 -2
- package/dist/components/hero/subtitle.d.ts +2 -2
- package/dist/components/hero/title.d.ts +2 -2
- package/dist/components/hotkey/context.d.ts +4 -4
- package/dist/components/hotkey/index.d.ts +2 -2
- package/dist/components/hotkey/set.d.ts +2 -2
- package/dist/components/icon/context.d.ts +4 -4
- package/dist/components/icon/index.d.ts +2 -2
- package/dist/components/input/context.d.ts +2 -2
- package/dist/components/input/index.d.ts +2 -2
- 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-header.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.d.ts +2 -2
- package/dist/components/kanban/kanban.d.ts +4 -4
- package/dist/components/label/context.d.ts +4 -4
- package/dist/components/label/index.d.ts +2 -2
- package/dist/components/lines/index.d.ts +2 -2
- package/dist/components/link/context.d.ts +2 -2
- package/dist/components/link/index.d.ts +2 -2
- package/dist/components/list/context.d.ts +2 -2
- package/dist/components/list/index.d.ts +2 -2
- 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/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 +2 -2
- package/dist/components/menu/index.d.ts +2 -2
- package/dist/components/menu/item-description.d.ts +2 -2
- package/dist/components/menu/item-label.d.ts +2 -2
- package/dist/components/menu/item.d.ts +2 -2
- package/dist/components/menu/section.d.ts +2 -2
- package/dist/components/menu/separator.d.ts +2 -2
- package/dist/components/menu/styles.module.css +12 -0
- package/dist/components/menu/submenu.d.ts +2 -2
- package/dist/components/notice/index.d.ts +2 -2
- package/dist/components/notice/index.js +1 -0
- package/dist/components/notice/index.js.map +1 -1
- package/dist/components/notice/list.d.ts +2 -2
- package/dist/components/notice/list.js +10 -1
- package/dist/components/notice/list.js.map +1 -1
- package/dist/components/notice/notice-icon.d.ts +2 -2
- package/dist/components/notice/styles.module.css +27 -0
- package/dist/components/options/context.d.ts +2 -2
- package/dist/components/options/index.d.ts +2 -2
- package/dist/components/options/item-content.d.ts +2 -2
- package/dist/components/options/item-description.d.ts +2 -2
- package/dist/components/options/item-label.d.ts +2 -2
- package/dist/components/options/item.d.ts +2 -2
- package/dist/components/options/section.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/next.d.ts +2 -2
- package/dist/components/pagination/pages.d.ts +2 -2
- package/dist/components/pagination/prev.d.ts +2 -2
- 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/styles.module.css +34 -0
- package/dist/components/popover/title.d.ts +2 -2
- package/dist/components/popover/trigger.d.ts +2 -2
- 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/query-builder/value-selector.js +1 -1
- package/dist/components/radio/context.d.ts +3 -3
- package/dist/components/radio/group.d.ts +2 -2
- package/dist/components/radio/index.d.ts +2 -2
- package/dist/components/search-field/context.d.ts +4 -4
- package/dist/components/search-field/index.d.ts +2 -2
- package/dist/components/select-field/context.d.ts +4 -4
- package/dist/components/select-field/index.d.ts +2 -2
- package/dist/components/sidenav/avatar.d.ts +2 -2
- package/dist/components/sidenav/content.d.ts +2 -2
- 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/index.d.ts +2 -2
- package/dist/components/sidenav/item.d.ts +2 -2
- package/dist/components/sidenav/link.d.ts +2 -2
- package/dist/components/sidenav/menu-item.d.ts +2 -2
- package/dist/components/sidenav/menu.d.ts +2 -2
- package/dist/components/sidenav/styles.module.css +10 -2
- package/dist/components/sidenav/trigger.d.ts +2 -2
- package/dist/components/skeleton/index.d.ts +2 -2
- package/dist/components/slider/index.d.ts +2 -2
- package/dist/components/status-indicator/index.d.ts +2 -2
- package/dist/components/switch/context.d.ts +4 -4
- package/dist/components/switch/index.d.ts +2 -2
- package/dist/components/switch/styles.module.css +8 -0
- package/dist/components/table/body.d.ts +2 -2
- package/dist/components/table/cell.d.ts +2 -2
- package/dist/components/table/context.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 +6 -6
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/list.d.ts +2 -2
- package/dist/components/tabs/panel.d.ts +2 -2
- package/dist/components/tabs/tab.d.ts +2 -2
- package/dist/components/text-area-field/context.d.ts +4 -4
- package/dist/components/text-area-field/index.d.ts +2 -2
- package/dist/components/text-field/context.d.ts +4 -4
- package/dist/components/text-field/index.d.ts +2 -2
- package/dist/components/time-field/index.d.ts +2 -2
- package/dist/components/tooltip/context.d.ts +2 -2
- package/dist/components/tooltip/index.d.ts +2 -2
- package/dist/components/tooltip/styles.module.css +35 -0
- package/dist/components/tooltip/trigger.d.ts +2 -2
- package/dist/components/tree/context.d.ts +3 -3
- package/dist/components/tree/index.d.ts +2 -2
- package/dist/components/tree/index.js +20 -10
- 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 +3 -2
- package/dist/components/tree/item-content.js.map +1 -1
- package/dist/components/tree/item-description.d.ts +2 -2
- package/dist/components/tree/item-label.d.ts +2 -2
- package/dist/components/tree/item-prefix-icon.d.ts +2 -2
- package/dist/components/tree/item.d.ts +2 -2
- package/dist/components/tree/lines.d.ts +2 -2
- package/dist/components/tree/types.d.ts +1 -0
- package/dist/components/video/index.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/view.d.ts +2 -2
- package/dist/hooks/use-tree/actions/cache.d.ts +20 -3
- package/dist/hooks/use-tree/actions/cache.js +110 -2
- package/dist/hooks/use-tree/actions/cache.js.map +1 -1
- package/dist/hooks/use-tree/actions/index.d.ts +2 -1
- package/dist/hooks/use-tree/actions/index.js +70 -11
- package/dist/hooks/use-tree/actions/index.js.map +1 -1
- package/dist/hooks/use-tree/state/index.d.ts +20 -1
- package/dist/hooks/use-tree/state/index.js +22 -2
- package/dist/hooks/use-tree/state/index.js.map +1 -1
- package/dist/hooks/use-tree/types.d.ts +14 -0
- package/dist/index.d.ts +24 -5
- package/dist/index.js +27 -10
- package/dist/providers/portal.d.ts +2 -2
- package/dist/providers/theme-provider.d.ts +2 -2
- package/package.json +64 -6
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@reference '@accelint/design-foundation/styles';
|
|
14
|
+
|
|
15
|
+
@layer components.l1 {
|
|
16
|
+
.current-time-marker {
|
|
17
|
+
--top: attr(data-top px);
|
|
18
|
+
|
|
19
|
+
@apply font-display text-body-xs fg-primary-bold pointer-events-none absolute z-10 flex flex-col items-center justify-center;
|
|
20
|
+
top: var(--top);
|
|
21
|
+
transform: translateX(calc(var(--translate-x) - 50%));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.current-time-label {
|
|
25
|
+
@apply outline-accent-primary-bold p-xs text-body-xs border;
|
|
26
|
+
border-color: var(--outline-accent-primary-bold);
|
|
27
|
+
border-radius: 3px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.current-time-indicator {
|
|
31
|
+
@apply fg-accent-primary-bold w-px;
|
|
32
|
+
--dash: 6px;
|
|
33
|
+
--gap: 6px;
|
|
34
|
+
--border: 3px;
|
|
35
|
+
background: repeating-linear-gradient(
|
|
36
|
+
to bottom,
|
|
37
|
+
currentColor 0 var(--dash),
|
|
38
|
+
transparent var(--dash) calc(var(--dash) + var(--gap))
|
|
39
|
+
)
|
|
40
|
+
left / var(--border) 100% no-repeat;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { RefObject } from "react";
|
|
14
|
+
|
|
15
|
+
//#region src/components/gantt/components/current-time/use-current-time-layout/index.d.ts
|
|
16
|
+
type UseCurrentTimeLayoutProps = {
|
|
17
|
+
currentTimeElement: HTMLDivElement | null;
|
|
18
|
+
currentTimeMs: number;
|
|
19
|
+
indicatorElement: HTMLDivElement | null;
|
|
20
|
+
};
|
|
21
|
+
type UseCurrentTimeLayoutValue = {
|
|
22
|
+
labelElementRef: RefObject<HTMLDivElement | null>;
|
|
23
|
+
};
|
|
24
|
+
declare function useCurrentTimeLayout({
|
|
25
|
+
currentTimeElement,
|
|
26
|
+
currentTimeMs,
|
|
27
|
+
indicatorElement
|
|
28
|
+
}: UseCurrentTimeLayoutProps): UseCurrentTimeLayoutValue;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { useCurrentTimeLayout };
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
import { GANTT_CONTAINER_TOP_PX } from "../../../constants.js";
|
|
15
|
+
import { selectors } from "../../../store.js";
|
|
16
|
+
import { useGanttContext } from "../../../context/index.js";
|
|
17
|
+
import { useTemporalDataContext } from "../../../context/temporal-data/index.js";
|
|
18
|
+
import { useLayoutSubscription } from "../../../hooks/use-layout-subscription/index.js";
|
|
19
|
+
import { deriveCurrentTimeTranslateX } from "../../../utils/layout.js";
|
|
20
|
+
import { useCallback, useRef } from "react";
|
|
21
|
+
|
|
22
|
+
//#region src/components/gantt/components/current-time/use-current-time-layout/index.ts
|
|
23
|
+
function calculateIndicatorHeight(headerElement, labelElement, verticalScrollElement, horizontalScrollElement, translateX = 0) {
|
|
24
|
+
const ganttHeaderHeight = headerElement?.clientHeight ?? 0;
|
|
25
|
+
const scrollWidth = horizontalScrollElement?.clientWidth ?? 0;
|
|
26
|
+
const scrollHeight = verticalScrollElement?.clientHeight ?? 0;
|
|
27
|
+
const indicatorHeightOffset = ganttHeaderHeight - (GANTT_CONTAINER_TOP_PX + (labelElement?.offsetHeight ?? 0));
|
|
28
|
+
const totalIndicatorHeight = scrollHeight + indicatorHeightOffset;
|
|
29
|
+
return translateX >= scrollWidth ? indicatorHeightOffset : totalIndicatorHeight;
|
|
30
|
+
}
|
|
31
|
+
function useCurrentTimeLayout({ currentTimeElement, currentTimeMs, indicatorElement }) {
|
|
32
|
+
const { rootElement, ganttContentElement, headerElement } = useGanttContext();
|
|
33
|
+
const { msPerPx } = useTemporalDataContext();
|
|
34
|
+
const labelElementRef = useRef(null);
|
|
35
|
+
useLayoutSubscription({
|
|
36
|
+
callback: useCallback((currentPositionMs) => {
|
|
37
|
+
if (!currentTimeElement) return;
|
|
38
|
+
const translateX = deriveCurrentTimeTranslateX(currentTimeMs, msPerPx, currentPositionMs);
|
|
39
|
+
const indicatorHeight = calculateIndicatorHeight(headerElement, labelElementRef.current, rootElement, ganttContentElement, translateX);
|
|
40
|
+
currentTimeElement.style.setProperty("--translate-x", `${translateX}px`);
|
|
41
|
+
if (indicatorElement) indicatorElement.style.height = `${indicatorHeight}px`;
|
|
42
|
+
}, [
|
|
43
|
+
currentTimeElement,
|
|
44
|
+
msPerPx,
|
|
45
|
+
currentTimeMs,
|
|
46
|
+
indicatorElement,
|
|
47
|
+
headerElement,
|
|
48
|
+
rootElement,
|
|
49
|
+
ganttContentElement
|
|
50
|
+
]),
|
|
51
|
+
selector: selectors.currentPositionMs
|
|
52
|
+
});
|
|
53
|
+
return { labelElementRef };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
export { useCurrentTimeLayout };
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/gantt/components/current-time/use-current-time-layout/index.ts"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { type RefObject, useCallback, useRef } from 'react';\nimport { GANTT_CONTAINER_TOP_PX } from '@/components/gantt/constants';\nimport { useGanttContext } from '@/components/gantt/context';\nimport { useTemporalDataContext } from '@/components/gantt/context/temporal-data';\nimport { useLayoutSubscription } from '@/components/gantt/hooks/use-layout-subscription';\nimport { selectors } from '@/components/gantt/store';\nimport { deriveCurrentTimeTranslateX } from '@/components/gantt/utils/layout';\n\ntype UseCurrentTimeLayoutProps = {\n currentTimeElement: HTMLDivElement | null;\n currentTimeMs: number;\n indicatorElement: HTMLDivElement | null;\n};\n\ntype UseCurrentTimeLayoutValue = {\n labelElementRef: RefObject<HTMLDivElement | null>;\n};\n\nfunction calculateIndicatorHeight(\n headerElement: HTMLDivElement | null,\n labelElement: HTMLDivElement | null,\n verticalScrollElement: HTMLDivElement | null,\n horizontalScrollElement: HTMLDivElement | null,\n translateX = 0,\n) {\n const ganttHeaderHeight = headerElement?.clientHeight ?? 0;\n const scrollWidth = horizontalScrollElement?.clientWidth ?? 0;\n const scrollHeight = verticalScrollElement?.clientHeight ?? 0;\n const labelHeight = labelElement?.offsetHeight ?? 0;\n\n // Distance between vertical scrollbar and bottom of label element.\n // Used as the indicator height when the indicator is visually\n // located above the vertical scrollbar so that the indicator\n // dashes aren't overlaid on the scrollbar\n const indicatorHeightOffset =\n ganttHeaderHeight - (GANTT_CONTAINER_TOP_PX + labelHeight);\n\n // Default indicator height when the indicator is not\n // visually located above the vertical scrollbar.\n const totalIndicatorHeight = scrollHeight + indicatorHeightOffset;\n\n return translateX >= scrollWidth\n ? indicatorHeightOffset\n : totalIndicatorHeight;\n}\n\nexport function useCurrentTimeLayout({\n currentTimeElement,\n currentTimeMs,\n indicatorElement,\n}: UseCurrentTimeLayoutProps): UseCurrentTimeLayoutValue {\n const { rootElement, ganttContentElement, headerElement } = useGanttContext();\n const { msPerPx } = useTemporalDataContext();\n\n const labelElementRef = useRef<HTMLDivElement>(null);\n\n const updateElementLayout = useCallback(\n (currentPositionMs: number) => {\n if (!currentTimeElement) {\n return;\n }\n\n const translateX = deriveCurrentTimeTranslateX(\n currentTimeMs,\n msPerPx,\n currentPositionMs,\n );\n const indicatorHeight = calculateIndicatorHeight(\n headerElement,\n labelElementRef.current,\n rootElement,\n ganttContentElement,\n translateX,\n );\n\n currentTimeElement.style.setProperty('--translate-x', `${translateX}px`);\n\n if (indicatorElement) {\n indicatorElement.style.height = `${indicatorHeight}px`;\n }\n },\n [\n currentTimeElement,\n msPerPx,\n currentTimeMs,\n indicatorElement,\n headerElement,\n rootElement,\n ganttContentElement,\n ],\n );\n\n useLayoutSubscription({\n callback: updateElementLayout,\n selector: selectors.currentPositionMs,\n });\n\n return { labelElementRef };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA+BA,SAAS,yBACP,eACA,cACA,uBACA,yBACA,aAAa,GACb;CACA,MAAM,oBAAoB,eAAe,gBAAgB;CACzD,MAAM,cAAc,yBAAyB,eAAe;CAC5D,MAAM,eAAe,uBAAuB,gBAAgB;CAO5D,MAAM,wBACJ,qBAAqB,0BAPH,cAAc,gBAAgB;CAWlD,MAAM,uBAAuB,eAAe;AAE5C,QAAO,cAAc,cACjB,wBACA;;AAGN,SAAgB,qBAAqB,EACnC,oBACA,eACA,oBACuD;CACvD,MAAM,EAAE,aAAa,qBAAqB,kBAAkB,iBAAiB;CAC7E,MAAM,EAAE,YAAY,wBAAwB;CAE5C,MAAM,kBAAkB,OAAuB,KAAK;AAsCpD,uBAAsB;EACpB,UArC0B,aACzB,sBAA8B;AAC7B,OAAI,CAAC,mBACH;GAGF,MAAM,aAAa,4BACjB,eACA,SACA,kBACD;GACD,MAAM,kBAAkB,yBACtB,eACA,gBAAgB,SAChB,aACA,qBACA,WACD;AAED,sBAAmB,MAAM,YAAY,iBAAiB,GAAG,WAAW,IAAI;AAExE,OAAI,iBACF,kBAAiB,MAAM,SAAS,GAAG,gBAAgB;KAGvD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAIC,UAAU,UAAU;EACrB,CAAC;AAEF,QAAO,EAAE,iBAAiB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { PropsWithChildren } from "react";
|
|
14
|
+
import * as react_jsx_runtime211 from "react/jsx-runtime";
|
|
15
|
+
|
|
16
|
+
//#region src/components/gantt/components/header/index.d.ts
|
|
17
|
+
declare function ContentHeader({
|
|
18
|
+
children
|
|
19
|
+
}: PropsWithChildren): react_jsx_runtime211.JSX.Element;
|
|
20
|
+
declare function PanelHeader({
|
|
21
|
+
children
|
|
22
|
+
}: PropsWithChildren): react_jsx_runtime211.JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { ContentHeader, PanelHeader };
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
import { GANTT_HEADER_HEIGHT_PX } from "../../constants.js";
|
|
15
|
+
import { useGanttContext } from "../../context/index.js";
|
|
16
|
+
import { jsx } from "react/jsx-runtime";
|
|
17
|
+
import styles from "./styles.module.css";
|
|
18
|
+
|
|
19
|
+
//#region src/components/gantt/components/header/index.tsx
|
|
20
|
+
function Header({ children, ref }) {
|
|
21
|
+
return /* @__PURE__ */ jsx("div", {
|
|
22
|
+
ref,
|
|
23
|
+
className: styles.header,
|
|
24
|
+
"data-height": GANTT_HEADER_HEIGHT_PX,
|
|
25
|
+
children
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function ContentHeader({ children }) {
|
|
29
|
+
const { assignHeaderElementRef } = useGanttContext();
|
|
30
|
+
return /* @__PURE__ */ jsx(Header, {
|
|
31
|
+
ref: assignHeaderElementRef,
|
|
32
|
+
children
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function PanelHeader({ children }) {
|
|
36
|
+
return /* @__PURE__ */ jsx(Header, { children });
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { ContentHeader, PanelHeader };
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/gantt/components/header/index.tsx"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { GANTT_HEADER_HEIGHT_PX } from '../../constants';\nimport { useGanttContext } from '../../context';\nimport styles from './styles.module.css';\nimport type { PropsWithChildren, Ref } from 'react';\n\ntype HeaderProps = {\n ref?: Ref<HTMLDivElement | null>;\n};\n\nfunction Header({ children, ref }: PropsWithChildren<HeaderProps>) {\n return (\n <div\n ref={ref}\n className={styles.header}\n data-height={GANTT_HEADER_HEIGHT_PX}\n >\n {children}\n </div>\n );\n}\n\nexport function ContentHeader({ children }: PropsWithChildren) {\n const { assignHeaderElementRef } = useGanttContext();\n\n return <Header ref={assignHeaderElementRef}>{children}</Header>;\n}\n\nexport function PanelHeader({ children }: PropsWithChildren) {\n return <Header>{children}</Header>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAsBA,SAAS,OAAO,EAAE,UAAU,OAAuC;AACjE,QACE,oBAAC;EACM;EACL,WAAW,OAAO;EAClB,eAAa;EAEZ;GACG;;AAIV,SAAgB,cAAc,EAAE,YAA+B;CAC7D,MAAM,EAAE,2BAA2B,iBAAiB;AAEpD,QAAO,oBAAC;EAAO,KAAK;EAAyB;GAAkB;;AAGjE,SAAgB,YAAY,EAAE,YAA+B;AAC3D,QAAO,oBAAC,UAAQ,WAAkB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@reference '@accelint/design-foundation/styles';
|
|
14
|
+
|
|
15
|
+
@layer components.l1 {
|
|
16
|
+
.header {
|
|
17
|
+
@apply sticky top-0 left-0 z-10 flex shrink-0 grow-0 items-end border-b bg-inherit;
|
|
18
|
+
|
|
19
|
+
--height: attr(data-height px);
|
|
20
|
+
height: var(--height);
|
|
21
|
+
border-color: var(--outline-static);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { PropsWithChildren } from "react";
|
|
14
|
+
import * as react_jsx_runtime214 from "react/jsx-runtime";
|
|
15
|
+
|
|
16
|
+
//#region src/components/gantt/components/panel-row/index.d.ts
|
|
17
|
+
/** Row wrapper for the panel side, typically containing a row label. Paired 1:1 with `GanttContentRow`. */
|
|
18
|
+
declare function GanttPanelRow({
|
|
19
|
+
children,
|
|
20
|
+
...rest
|
|
21
|
+
}: PropsWithChildren): react_jsx_runtime214.JSX.Element;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { GanttPanelRow };
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
import { useGanttContext } from "../../context/index.js";
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
import styles from "./styles.module.css";
|
|
17
|
+
|
|
18
|
+
//#region src/components/gantt/components/panel-row/index.tsx
|
|
19
|
+
/** Row wrapper for the panel side, typically containing a row label. Paired 1:1 with `GanttContentRow`. */
|
|
20
|
+
function GanttPanelRow({ children, ...rest }) {
|
|
21
|
+
const { rowHeightPx } = useGanttContext();
|
|
22
|
+
return /* @__PURE__ */ jsx("div", {
|
|
23
|
+
className: styles.row,
|
|
24
|
+
role: "listitem",
|
|
25
|
+
"data-height": rowHeightPx,
|
|
26
|
+
...rest,
|
|
27
|
+
children
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { GanttPanelRow };
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/gantt/components/panel-row/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useGanttContext } from '../../context';\nimport styles from './styles.module.css';\nimport type { PropsWithChildren } from 'react';\n\n/** Row wrapper for the panel side, typically containing a row label. Paired 1:1 with `GanttContentRow`. */\nexport function GanttPanelRow({ children, ...rest }: PropsWithChildren) {\n const { rowHeightPx } = useGanttContext();\n\n return (\n // biome-ignore lint/a11y/useSemanticElements: <parent div role list>\n <div\n className={styles.row}\n role='listitem'\n data-height={rowHeightPx}\n // spread props, including virtualizer-augmented style prop, if used\n {...rest}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAiBA,SAAgB,cAAc,EAAE,UAAU,GAAG,QAA2B;CACtE,MAAM,EAAE,gBAAgB,iBAAiB;AAEzC,QAEE,oBAAC;EACC,WAAW,OAAO;EAClB,MAAK;EACL,eAAa;EAEb,GAAI;EAEH;GACG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@reference '@accelint/design-foundation/styles';
|
|
14
|
+
|
|
15
|
+
@layer components.l1 {
|
|
16
|
+
.row {
|
|
17
|
+
--height: attr(data-height px);
|
|
18
|
+
|
|
19
|
+
@apply py-xxs px-m relative flex items-center border-b;
|
|
20
|
+
|
|
21
|
+
height: var(--height);
|
|
22
|
+
border-color: var(--outline-static);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { PropsWithChildren } from "react";
|
|
14
|
+
import * as react_jsx_runtime218 from "react/jsx-runtime";
|
|
15
|
+
|
|
16
|
+
//#region src/components/gantt/components/rows-virtualizer/index.d.ts
|
|
17
|
+
declare function ContentRowsVirtualizer({
|
|
18
|
+
children
|
|
19
|
+
}: PropsWithChildren): react_jsx_runtime218.JSX.Element;
|
|
20
|
+
declare function PanelRowsVirtualizer({
|
|
21
|
+
children
|
|
22
|
+
}: PropsWithChildren): react_jsx_runtime218.JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { ContentRowsVirtualizer, PanelRowsVirtualizer };
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
import { GANTT_HEADER_HEIGHT_PX } from "../../constants.js";
|
|
15
|
+
import { useRootElementHeight } from "../../hooks/use-root-element-height/index.js";
|
|
16
|
+
import { useGanttContext } from "../../context/index.js";
|
|
17
|
+
import { useTemporalDataContext } from "../../context/temporal-data/index.js";
|
|
18
|
+
import { useTotalDataRegionThresholds } from "../../hooks/use-total-data-region-thresholds/index.js";
|
|
19
|
+
import { useRenderedRows } from "./use-rendered-rows/index.js";
|
|
20
|
+
import { useScrollSync } from "./use-scroll-sync/index.js";
|
|
21
|
+
import { Children } from "react";
|
|
22
|
+
import { jsx } from "react/jsx-runtime";
|
|
23
|
+
import styles from "./styles.module.css";
|
|
24
|
+
|
|
25
|
+
//#region src/components/gantt/components/rows-virtualizer/index.tsx
|
|
26
|
+
function RowsVirtualizerRoot({ children, role, ...rest }) {
|
|
27
|
+
const rootElementHeight = useRootElementHeight();
|
|
28
|
+
const { height, renderedRows } = useRenderedRows({
|
|
29
|
+
children,
|
|
30
|
+
heightPx: rootElementHeight - GANTT_HEADER_HEIGHT_PX
|
|
31
|
+
});
|
|
32
|
+
return /* @__PURE__ */ jsx("div", {
|
|
33
|
+
className: styles.container,
|
|
34
|
+
"data-height": rootElementHeight - GANTT_HEADER_HEIGHT_PX,
|
|
35
|
+
...rest,
|
|
36
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
37
|
+
className: styles["inner-container"],
|
|
38
|
+
"data-height": height,
|
|
39
|
+
role,
|
|
40
|
+
children: renderedRows
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function ContentRowsVirtualizer({ children }) {
|
|
45
|
+
const { ganttContentElement } = useGanttContext();
|
|
46
|
+
const { totalBounds, msPerPx } = useTemporalDataContext();
|
|
47
|
+
const width = (totalBounds.endMs - totalBounds.startMs) / msPerPx;
|
|
48
|
+
useTotalDataRegionThresholds({
|
|
49
|
+
totalRowsCount: Children.count(children),
|
|
50
|
+
verticalScrollElement: ganttContentElement
|
|
51
|
+
});
|
|
52
|
+
useScrollSync({ horizontalScrollElement: ganttContentElement });
|
|
53
|
+
return /* @__PURE__ */ jsx(RowsVirtualizerRoot, {
|
|
54
|
+
"data-width": width,
|
|
55
|
+
children
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
function PanelRowsVirtualizer({ children }) {
|
|
59
|
+
return /* @__PURE__ */ jsx(RowsVirtualizerRoot, {
|
|
60
|
+
role: "list",
|
|
61
|
+
children
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
export { ContentRowsVirtualizer, PanelRowsVirtualizer };
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/gantt/components/rows-virtualizer/index.tsx"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { Children, type ComponentProps, type PropsWithChildren } from 'react';\nimport { useGanttContext } from '@/components/gantt/context';\nimport { useRootElementHeight } from '@/components/gantt/hooks/use-root-element-height';\nimport { useTotalDataRegionThresholds } from '@/components/gantt/hooks/use-total-data-region-thresholds';\nimport { GANTT_HEADER_HEIGHT_PX } from '../../constants';\nimport { useTemporalDataContext } from '../../context/temporal-data';\nimport styles from './styles.module.css';\nimport { useRenderedRows } from './use-rendered-rows';\nimport { useScrollSync } from './use-scroll-sync';\n\ntype RowsVirtualizerRootProps = ComponentProps<'div'>;\n\nfunction RowsVirtualizerRoot({\n children,\n role,\n ...rest\n}: RowsVirtualizerRootProps) {\n const rootElementHeight = useRootElementHeight();\n\n const { height, renderedRows } = useRenderedRows({\n children,\n heightPx: rootElementHeight - GANTT_HEADER_HEIGHT_PX,\n });\n\n return (\n <div\n className={styles.container}\n data-height={rootElementHeight - GANTT_HEADER_HEIGHT_PX}\n {...rest}\n >\n <div\n className={styles['inner-container']}\n data-height={height}\n role={role}\n >\n {renderedRows}\n </div>\n </div>\n );\n}\n\nexport function ContentRowsVirtualizer({ children }: PropsWithChildren) {\n const { ganttContentElement } = useGanttContext();\n const { totalBounds, msPerPx } = useTemporalDataContext();\n\n const width = (totalBounds.endMs - totalBounds.startMs) / msPerPx;\n\n useTotalDataRegionThresholds({\n totalRowsCount: Children.count(children),\n verticalScrollElement: ganttContentElement,\n });\n\n useScrollSync({\n horizontalScrollElement: ganttContentElement,\n });\n\n return (\n <RowsVirtualizerRoot data-width={width}>{children}</RowsVirtualizerRoot>\n );\n}\n\nexport function PanelRowsVirtualizer({ children }: PropsWithChildren) {\n return <RowsVirtualizerRoot role='list'>{children}</RowsVirtualizerRoot>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAS,oBAAoB,EAC3B,UACA,MACA,GAAG,QACwB;CAC3B,MAAM,oBAAoB,sBAAsB;CAEhD,MAAM,EAAE,QAAQ,iBAAiB,gBAAgB;EAC/C;EACA,UAAU,oBAAoB;EAC/B,CAAC;AAEF,QACE,oBAAC;EACC,WAAW,OAAO;EAClB,eAAa,oBAAoB;EACjC,GAAI;YAEJ,oBAAC;GACC,WAAW,OAAO;GAClB,eAAa;GACP;aAEL;IACG;GACF;;AAIV,SAAgB,uBAAuB,EAAE,YAA+B;CACtE,MAAM,EAAE,wBAAwB,iBAAiB;CACjD,MAAM,EAAE,aAAa,YAAY,wBAAwB;CAEzD,MAAM,SAAS,YAAY,QAAQ,YAAY,WAAW;AAE1D,8BAA6B;EAC3B,gBAAgB,SAAS,MAAM,SAAS;EACxC,uBAAuB;EACxB,CAAC;AAEF,eAAc,EACZ,yBAAyB,qBAC1B,CAAC;AAEF,QACE,oBAAC;EAAoB,cAAY;EAAQ;GAA+B;;AAI5E,SAAgB,qBAAqB,EAAE,YAA+B;AACpE,QAAO,oBAAC;EAAoB,MAAK;EAAQ;GAA+B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@reference '@accelint/design-foundation/styles';
|
|
14
|
+
|
|
15
|
+
@layer components.l1 {
|
|
16
|
+
.container {
|
|
17
|
+
@apply relative min-w-full overflow-y-hidden;
|
|
18
|
+
|
|
19
|
+
--width: attr(data-width px);
|
|
20
|
+
width: var(--width);
|
|
21
|
+
}
|
|
22
|
+
.inner-container {
|
|
23
|
+
--height: attr(data-height px);
|
|
24
|
+
--width: attr(data-width px);
|
|
25
|
+
|
|
26
|
+
@apply relative w-full min-w-full overflow-hidden;
|
|
27
|
+
height: var(--height);
|
|
28
|
+
width: var(--width);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { JSX, PropsWithChildren, ReactElement } from "react";
|
|
14
|
+
|
|
15
|
+
//#region src/components/gantt/components/rows-virtualizer/use-rendered-rows/index.d.ts
|
|
16
|
+
type UseRenderedRowsValue = {
|
|
17
|
+
height: number;
|
|
18
|
+
renderedRows: ReactElement<JSX.IntrinsicElements['div']>[];
|
|
19
|
+
};
|
|
20
|
+
type UseRenderedRowsProps = {
|
|
21
|
+
heightPx: number;
|
|
22
|
+
};
|
|
23
|
+
declare function useRenderedRows({
|
|
24
|
+
children,
|
|
25
|
+
heightPx
|
|
26
|
+
}: PropsWithChildren<UseRenderedRowsProps>): UseRenderedRowsValue;
|
|
27
|
+
//#endregion
|
|
28
|
+
export { useRenderedRows };
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
import { selectors } from "../../../store.js";
|
|
15
|
+
import { useGanttStore, useGanttStoreApi } from "../../../context/store/index.js";
|
|
16
|
+
import { useGanttContext } from "../../../context/index.js";
|
|
17
|
+
import { deriveRenderedSlice } from "../../../utils/layout.js";
|
|
18
|
+
import { useScrollbarHeight } from "../../../hooks/use-scrollbar-height/index.js";
|
|
19
|
+
import { Children, cloneElement, useEffect, useMemo } from "react";
|
|
20
|
+
|
|
21
|
+
//#region src/components/gantt/components/rows-virtualizer/use-rendered-rows/index.ts
|
|
22
|
+
const applyVirtualizedRowStyles = (startIndex, rowHeightPx) => (element, index) => cloneElement(element, { style: {
|
|
23
|
+
...element.props.style,
|
|
24
|
+
position: "absolute",
|
|
25
|
+
transform: `translateY(${rowHeightPx * (startIndex + index)}px)`,
|
|
26
|
+
width: "100%"
|
|
27
|
+
} });
|
|
28
|
+
function useRenderedRows({ children, heightPx }) {
|
|
29
|
+
const { rowHeightPx } = useGanttContext();
|
|
30
|
+
const store = useGanttStoreApi();
|
|
31
|
+
const roundedCurrentRowScrollPx = useGanttStore(selectors.roundedCurrentRowScrollPx);
|
|
32
|
+
const horizontalScrollbarHeight = useScrollbarHeight();
|
|
33
|
+
const { start, end } = deriveRenderedSlice(roundedCurrentRowScrollPx, rowHeightPx, heightPx);
|
|
34
|
+
const allRows = useMemo(() => Children.toArray(children), [children]);
|
|
35
|
+
const renderedRows = useMemo(() => Children.map(allRows.slice(start, end), applyVirtualizedRowStyles(start, rowHeightPx)) ?? [], [
|
|
36
|
+
allRows,
|
|
37
|
+
start,
|
|
38
|
+
end,
|
|
39
|
+
rowHeightPx
|
|
40
|
+
]);
|
|
41
|
+
const virtualizedHeight = useMemo(() => Children.count(children) * rowHeightPx + horizontalScrollbarHeight, [
|
|
42
|
+
children,
|
|
43
|
+
rowHeightPx,
|
|
44
|
+
horizontalScrollbarHeight
|
|
45
|
+
]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
store.setState({ virtualizedHeightPx: virtualizedHeight });
|
|
48
|
+
}, [virtualizedHeight, store]);
|
|
49
|
+
return {
|
|
50
|
+
height: virtualizedHeight,
|
|
51
|
+
renderedRows
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
export { useRenderedRows };
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/gantt/components/rows-virtualizer/use-rendered-rows/index.ts"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n Children,\n cloneElement,\n type JSX,\n type PropsWithChildren,\n type ReactElement,\n useEffect,\n useMemo,\n} from 'react';\nimport { useGanttContext } from '@/components/gantt/context';\nimport {\n useGanttStore,\n useGanttStoreApi,\n} from '@/components/gantt/context/store';\nimport { useScrollbarHeight } from '@/components/gantt/hooks/use-scrollbar-height';\nimport { selectors } from '@/components/gantt/store';\nimport { deriveRenderedSlice } from '@/components/gantt/utils/layout';\n\ntype RowChild = ReactElement<JSX.IntrinsicElements['div']>;\n\nconst applyVirtualizedRowStyles =\n (startIndex: number, rowHeightPx: number) =>\n (element: RowChild, index: number) =>\n cloneElement(element, {\n style: {\n ...element.props.style,\n position: 'absolute',\n transform: `translateY(${rowHeightPx * (startIndex + index)}px)`,\n width: '100%',\n },\n });\n\ntype UseRenderedRowsValue = {\n height: number;\n renderedRows: ReactElement<JSX.IntrinsicElements['div']>[];\n};\n\ntype UseRenderedRowsProps = {\n heightPx: number;\n};\n\nexport function useRenderedRows({\n children,\n heightPx,\n}: PropsWithChildren<UseRenderedRowsProps>): UseRenderedRowsValue {\n const { rowHeightPx } = useGanttContext();\n const store = useGanttStoreApi();\n const roundedCurrentRowScrollPx = useGanttStore(\n selectors.roundedCurrentRowScrollPx,\n );\n const horizontalScrollbarHeight = useScrollbarHeight();\n\n const { start, end } = deriveRenderedSlice(\n roundedCurrentRowScrollPx,\n rowHeightPx,\n heightPx,\n );\n\n const allRows = useMemo(\n () => Children.toArray(children) as RowChild[],\n [children],\n );\n\n const renderedRows = useMemo(\n () =>\n Children.map(\n allRows.slice(start, end),\n applyVirtualizedRowStyles(start, rowHeightPx),\n ) ?? [],\n [allRows, start, end, rowHeightPx],\n );\n\n const virtualizedHeight = useMemo(\n () => Children.count(children) * rowHeightPx + horizontalScrollbarHeight,\n [children, rowHeightPx, horizontalScrollbarHeight],\n );\n\n // Sets the total virtualized height in store so that it can be used\n // for Gantt overflow management.\n useEffect(() => {\n store.setState({ virtualizedHeightPx: virtualizedHeight });\n }, [virtualizedHeight, store]);\n\n return {\n height: virtualizedHeight,\n renderedRows,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,6BACH,YAAoB,iBACpB,SAAmB,UAClB,aAAa,SAAS,EACpB,OAAO;CACL,GAAG,QAAQ,MAAM;CACjB,UAAU;CACV,WAAW,cAAc,eAAe,aAAa,OAAO;CAC5D,OAAO;CACR,EACF,CAAC;AAWN,SAAgB,gBAAgB,EAC9B,UACA,YACgE;CAChE,MAAM,EAAE,gBAAgB,iBAAiB;CACzC,MAAM,QAAQ,kBAAkB;CAChC,MAAM,4BAA4B,cAChC,UAAU,0BACX;CACD,MAAM,4BAA4B,oBAAoB;CAEtD,MAAM,EAAE,OAAO,QAAQ,oBACrB,2BACA,aACA,SACD;CAED,MAAM,UAAU,cACR,SAAS,QAAQ,SAAS,EAChC,CAAC,SAAS,CACX;CAED,MAAM,eAAe,cAEjB,SAAS,IACP,QAAQ,MAAM,OAAO,IAAI,EACzB,0BAA0B,OAAO,YAAY,CAC9C,IAAI,EAAE,EACT;EAAC;EAAS;EAAO;EAAK;EAAY,CACnC;CAED,MAAM,oBAAoB,cAClB,SAAS,MAAM,SAAS,GAAG,cAAc,2BAC/C;EAAC;EAAU;EAAa;EAA0B,CACnD;AAID,iBAAgB;AACd,QAAM,SAAS,EAAE,qBAAqB,mBAAmB,CAAC;IACzD,CAAC,mBAAmB,MAAM,CAAC;AAE9B,QAAO;EACL,QAAQ;EACR;EACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/components/gantt/components/rows-virtualizer/use-scroll-sync/index.d.ts
|
|
2
|
+
type UseScrollSyncProps = {
|
|
3
|
+
horizontalScrollElement: HTMLDivElement | null;
|
|
4
|
+
};
|
|
5
|
+
declare function useScrollSync({
|
|
6
|
+
horizontalScrollElement
|
|
7
|
+
}: UseScrollSyncProps): void;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { useScrollSync };
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
import { useGanttStoreApi } from "../../../context/store/index.js";
|
|
15
|
+
import { timestampWithinBounds } from "../../../utils/helpers.js";
|
|
16
|
+
import { useGanttContext } from "../../../context/index.js";
|
|
17
|
+
import { useTemporalDataContext } from "../../../context/temporal-data/index.js";
|
|
18
|
+
import { deriveHorizontalScrollPosition } from "../../../utils/layout.js";
|
|
19
|
+
import { useEffect } from "react";
|
|
20
|
+
|
|
21
|
+
//#region src/components/gantt/components/rows-virtualizer/use-scroll-sync/index.ts
|
|
22
|
+
function useScrollSync({ horizontalScrollElement }) {
|
|
23
|
+
const { ganttContentElement, ganttPanelElement, rootElement } = useGanttContext();
|
|
24
|
+
const { totalBounds, msPerPx } = useTemporalDataContext();
|
|
25
|
+
const { startMs: totalStartMs, endMs: totalEndMs } = totalBounds;
|
|
26
|
+
const store = useGanttStoreApi();
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (!horizontalScrollElement) return;
|
|
29
|
+
const currentPositionMs = store.getState().currentPositionMs;
|
|
30
|
+
const bounds = {
|
|
31
|
+
startMs: totalStartMs,
|
|
32
|
+
endMs: totalEndMs
|
|
33
|
+
};
|
|
34
|
+
const resetScrollPosition = () => horizontalScrollElement.scrollTo({ left: 0 });
|
|
35
|
+
ganttContentElement?.scrollTo({ top: rootElement?.scrollTop ?? 0 });
|
|
36
|
+
ganttPanelElement?.scrollTo({ top: rootElement?.scrollTop ?? 0 });
|
|
37
|
+
if (!timestampWithinBounds(currentPositionMs, bounds)) {
|
|
38
|
+
resetScrollPosition();
|
|
39
|
+
store.setState({ currentPositionMs: totalStartMs });
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const scrollPosition = deriveHorizontalScrollPosition(currentPositionMs, msPerPx, bounds);
|
|
43
|
+
horizontalScrollElement.scrollTo({ left: scrollPosition });
|
|
44
|
+
}, [
|
|
45
|
+
totalStartMs,
|
|
46
|
+
totalEndMs,
|
|
47
|
+
msPerPx,
|
|
48
|
+
horizontalScrollElement,
|
|
49
|
+
store,
|
|
50
|
+
ganttContentElement,
|
|
51
|
+
ganttPanelElement,
|
|
52
|
+
rootElement
|
|
53
|
+
]);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
export { useScrollSync };
|
|
58
|
+
//# sourceMappingURL=index.js.map
|