@elaraai/east-ui 1.0.60 → 1.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/buttons/button/index.d.ts +3 -2
- package/dist/src/buttons/button/index.d.ts.map +1 -1
- package/dist/src/buttons/button/index.js +2 -2
- package/dist/src/buttons/button/types.d.ts +1 -0
- package/dist/src/buttons/button/types.d.ts.map +1 -1
- package/dist/src/buttons/copy-button/index.d.ts +4 -2
- package/dist/src/buttons/copy-button/index.d.ts.map +1 -1
- package/dist/src/buttons/copy-button/index.js +2 -2
- package/dist/src/buttons/copy-button/types.d.ts +2 -0
- package/dist/src/buttons/copy-button/types.d.ts.map +1 -1
- package/dist/src/buttons/icon-button/index.d.ts +5 -1
- package/dist/src/buttons/icon-button/index.d.ts.map +1 -1
- package/dist/src/buttons/icon-button/index.js +1 -1
- package/dist/src/buttons/icon-button/types.d.ts +4 -0
- package/dist/src/buttons/icon-button/types.d.ts.map +1 -1
- package/dist/src/charts/sparkline/index.d.ts +3 -3
- package/dist/src/charts/sparkline/index.js +3 -3
- package/dist/src/charts/spec/index.d.ts +1 -1
- package/dist/src/charts/spec/index.js +1 -1
- package/dist/src/collections/table/types.d.ts +1 -0
- package/dist/src/collections/table/types.d.ts.map +1 -1
- package/dist/src/collections/tree-view/index.d.ts +8 -2
- package/dist/src/collections/tree-view/index.d.ts.map +1 -1
- package/dist/src/collections/tree-view/index.js +4 -4
- package/dist/src/component.d.ts +80 -0
- package/dist/src/component.d.ts.map +1 -1
- package/dist/src/component.js +31 -0
- package/dist/src/component.js.map +1 -1
- package/dist/src/disclosure/carousel/index.d.ts +1 -1
- package/dist/src/disclosure/carousel/index.js +1 -1
- package/dist/src/disclosure/segment-group/index.d.ts +1 -0
- package/dist/src/disclosure/segment-group/index.d.ts.map +1 -1
- package/dist/src/disclosure/segment-group/types.d.ts +1 -0
- package/dist/src/disclosure/segment-group/types.d.ts.map +1 -1
- package/dist/src/disclosure/tabs/index.d.ts +1 -0
- package/dist/src/disclosure/tabs/index.d.ts.map +1 -1
- package/dist/src/disclosure/tabs/types.d.ts +1 -0
- package/dist/src/disclosure/tabs/types.d.ts.map +1 -1
- package/dist/src/display/avatar/index.d.ts +2 -0
- package/dist/src/display/avatar/index.d.ts.map +1 -1
- package/dist/src/display/avatar/types.d.ts +2 -0
- package/dist/src/display/avatar/types.d.ts.map +1 -1
- package/dist/src/display/avatar-group/types.d.ts +1 -0
- package/dist/src/display/avatar-group/types.d.ts.map +1 -1
- package/dist/src/display/badge/index.d.ts +2 -0
- package/dist/src/display/badge/index.d.ts.map +1 -1
- package/dist/src/display/badge/types.d.ts +2 -0
- package/dist/src/display/badge/types.d.ts.map +1 -1
- package/dist/src/display/icon/index.d.ts +3 -1
- package/dist/src/display/icon/index.d.ts.map +1 -1
- package/dist/src/display/icon/index.js +1 -1
- package/dist/src/display/icon/types.d.ts +2 -0
- package/dist/src/display/icon/types.d.ts.map +1 -1
- package/dist/src/display/kbd/types.d.ts +2 -0
- package/dist/src/display/kbd/types.d.ts.map +1 -1
- package/dist/src/display/segmented-meter/index.js +1 -1
- package/dist/src/display/stat/types.d.ts +1 -0
- package/dist/src/display/stat/types.d.ts.map +1 -1
- package/dist/src/display/tag/index.d.ts +2 -0
- package/dist/src/display/tag/index.d.ts.map +1 -1
- package/dist/src/display/tag/types.d.ts +2 -0
- package/dist/src/display/tag/types.d.ts.map +1 -1
- package/dist/src/forms/checkbox/types.d.ts +2 -0
- package/dist/src/forms/checkbox/types.d.ts.map +1 -1
- package/dist/src/forms/field/index.d.ts +4 -0
- package/dist/src/forms/field/index.d.ts.map +1 -1
- package/dist/src/forms/field/types.d.ts +8 -0
- package/dist/src/forms/field/types.d.ts.map +1 -1
- package/dist/src/forms/radio-card-group/types.d.ts +2 -0
- package/dist/src/forms/radio-card-group/types.d.ts.map +1 -1
- package/dist/src/forms/radio-group/types.d.ts +2 -0
- package/dist/src/forms/radio-group/types.d.ts.map +1 -1
- package/dist/src/forms/slider/index.d.ts +2 -0
- package/dist/src/forms/slider/index.d.ts.map +1 -1
- package/dist/src/forms/slider/types.d.ts +2 -0
- package/dist/src/forms/slider/types.d.ts.map +1 -1
- package/dist/src/forms/switch/types.d.ts +2 -0
- package/dist/src/forms/switch/types.d.ts.map +1 -1
- package/dist/src/forms/tags-input/types.d.ts +2 -0
- package/dist/src/forms/tags-input/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +1 -1
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +1 -1
- package/dist/src/internal.js.map +1 -1
- package/dist/src/layout/box/index.d.ts +2 -2
- package/dist/src/layout/box/index.js +2 -2
- package/dist/src/layout/configurator/index.d.ts +207 -0
- package/dist/src/layout/configurator/index.d.ts.map +1 -0
- package/dist/src/layout/configurator/index.js +177 -0
- package/dist/src/layout/configurator/index.js.map +1 -0
- package/dist/src/layout/configurator/types.d.ts +57 -0
- package/dist/src/layout/configurator/types.d.ts.map +1 -0
- package/dist/src/layout/configurator/types.js +38 -0
- package/dist/src/layout/configurator/types.js.map +1 -0
- package/dist/src/layout/index.d.ts +1 -0
- package/dist/src/layout/index.d.ts.map +1 -1
- package/dist/src/layout/index.js +1 -0
- package/dist/src/layout/index.js.map +1 -1
- package/dist/src/navigation/nav-list/types.d.ts +3 -0
- package/dist/src/navigation/nav-list/types.d.ts.map +1 -1
- package/dist/src/overlays/command-palette/types.d.ts +2 -0
- package/dist/src/overlays/command-palette/types.d.ts.map +1 -1
- package/dist/src/runtime/charts/sparkline.d.ts +1 -1
- package/dist/src/runtime/charts/sparkline.js +1 -1
- package/dist/src/runtime/disclosure/carousel.d.ts +3 -3
- package/dist/src/runtime/disclosure/carousel.js +3 -3
- package/dist/src/runtime/disclosure/collapsible.d.ts +1 -1
- package/dist/src/runtime/disclosure/collapsible.js +1 -1
- package/dist/src/runtime/layout/box.d.ts +1 -1
- package/dist/src/runtime/layout/box.js +1 -1
- package/dist/src/runtime/layout/configurator.d.ts +56 -0
- package/dist/src/runtime/layout/configurator.d.ts.map +1 -0
- package/dist/src/runtime/layout/configurator.js +53 -0
- package/dist/src/runtime/layout/configurator.js.map +1 -0
- package/dist/src/runtime/layout/grid.d.ts +4 -4
- package/dist/src/runtime/layout/grid.js +4 -4
- package/dist/src/runtime/layout/index.d.ts +1 -0
- package/dist/src/runtime/layout/index.d.ts.map +1 -1
- package/dist/src/runtime/layout/index.js +1 -0
- package/dist/src/runtime/layout/index.js.map +1 -1
- package/dist/src/runtime/layout/splitter.d.ts +2 -2
- package/dist/src/runtime/layout/splitter.js +2 -2
- package/dist/src/runtime/layout/stack.d.ts +1 -1
- package/dist/src/runtime/layout/stack.js +1 -1
- package/dist/src/runtime/layout/sticky.d.ts +2 -2
- package/dist/src/runtime/layout/sticky.js +2 -2
- package/dist/src/runtime/overlays/hover-card.d.ts +1 -1
- package/dist/src/runtime/overlays/hover-card.js +1 -1
- package/dist/src/runtime/typography/heading.d.ts +1 -1
- package/dist/src/runtime/typography/heading.js +1 -1
- package/dist/src/runtime/typography/highlight.d.ts +1 -1
- package/dist/src/runtime/typography/highlight.js +1 -1
- package/dist/src/runtime/typography/text.d.ts +1 -1
- package/dist/src/runtime/typography/text.js +1 -1
- package/dist/src/style/namespace.d.ts +1 -0
- package/dist/src/style/namespace.d.ts.map +1 -1
- package/dist/src/style/scheme.d.ts +6 -1
- package/dist/src/style/scheme.d.ts.map +1 -1
- package/dist/src/style/scheme.js +5 -0
- package/dist/src/style/scheme.js.map +1 -1
- package/dist/src/typography/heading/index.d.ts +1 -1
- package/dist/src/typography/heading/index.js +1 -1
- package/dist/src/typography/highlight/index.d.ts +1 -1
- package/dist/src/typography/highlight/index.js +1 -1
- package/dist/src/typography/list/index.d.ts +2 -0
- package/dist/src/typography/list/index.d.ts.map +1 -1
- package/dist/src/typography/list/types.d.ts +2 -0
- package/dist/src/typography/list/types.d.ts.map +1 -1
- package/dist/src/typography/text/index.d.ts +1 -1
- package/dist/src/typography/text/index.js +1 -1
- package/dist/test/buttons/button-group.examples.d.ts +1 -2
- package/dist/test/buttons/button-group.examples.d.ts.map +1 -1
- package/dist/test/buttons/button-group.examples.js +36 -17
- package/dist/test/buttons/button-group.examples.js.map +1 -1
- package/dist/test/buttons/button.examples.d.ts +3 -9
- package/dist/test/buttons/button.examples.d.ts.map +1 -1
- package/dist/test/buttons/button.examples.js +77 -81
- package/dist/test/buttons/button.examples.js.map +1 -1
- package/dist/test/buttons/close-button.examples.d.ts +3 -3
- package/dist/test/buttons/close-button.examples.d.ts.map +1 -1
- package/dist/test/buttons/close-button.examples.js +41 -23
- package/dist/test/buttons/close-button.examples.js.map +1 -1
- package/dist/test/buttons/copy-button.examples.d.ts +3 -2
- package/dist/test/buttons/copy-button.examples.d.ts.map +1 -1
- package/dist/test/buttons/copy-button.examples.js +28 -15
- package/dist/test/buttons/copy-button.examples.js.map +1 -1
- package/dist/test/buttons/icon-button.examples.d.ts +1 -4
- package/dist/test/buttons/icon-button.examples.d.ts.map +1 -1
- package/dist/test/buttons/icon-button.examples.js +118 -36
- package/dist/test/buttons/icon-button.examples.js.map +1 -1
- package/dist/test/buttons/toggle.examples.d.ts +1 -2
- package/dist/test/buttons/toggle.examples.d.ts.map +1 -1
- package/dist/test/buttons/toggle.examples.js +35 -22
- package/dist/test/buttons/toggle.examples.js.map +1 -1
- package/dist/test/charts/chart.examples.d.ts +17 -43
- package/dist/test/charts/chart.examples.d.ts.map +1 -1
- package/dist/test/charts/chart.examples.js +169 -432
- package/dist/test/charts/chart.examples.js.map +1 -1
- package/dist/test/charts/sparkline.examples.d.ts +2 -9
- package/dist/test/charts/sparkline.examples.d.ts.map +1 -1
- package/dist/test/charts/sparkline.examples.js +79 -70
- package/dist/test/charts/sparkline.examples.js.map +1 -1
- package/dist/test/collections/blend.examples.d.ts +13 -7
- package/dist/test/collections/blend.examples.d.ts.map +1 -1
- package/dist/test/collections/blend.examples.js +66 -65
- package/dist/test/collections/blend.examples.js.map +1 -1
- package/dist/test/collections/board.examples.d.ts +13 -11
- package/dist/test/collections/board.examples.d.ts.map +1 -1
- package/dist/test/collections/board.examples.js +228 -205
- package/dist/test/collections/board.examples.js.map +1 -1
- package/dist/test/collections/calendar.examples.d.ts +2 -6
- package/dist/test/collections/calendar.examples.d.ts.map +1 -1
- package/dist/test/collections/calendar.examples.js +91 -124
- package/dist/test/collections/calendar.examples.js.map +1 -1
- package/dist/test/collections/data-list.examples.d.ts +1 -7
- package/dist/test/collections/data-list.examples.d.ts.map +1 -1
- package/dist/test/collections/data-list.examples.js +93 -89
- package/dist/test/collections/data-list.examples.js.map +1 -1
- package/dist/test/collections/deck.examples.d.ts +8 -4
- package/dist/test/collections/deck.examples.d.ts.map +1 -1
- package/dist/test/collections/deck.examples.js +171 -106
- package/dist/test/collections/deck.examples.js.map +1 -1
- package/dist/test/collections/flowchart.examples.d.ts +13 -3
- package/dist/test/collections/flowchart.examples.d.ts.map +1 -1
- package/dist/test/collections/flowchart.examples.js +41 -81
- package/dist/test/collections/flowchart.examples.js.map +1 -1
- package/dist/test/collections/gantt.examples.d.ts +12 -23
- package/dist/test/collections/gantt.examples.d.ts.map +1 -1
- package/dist/test/collections/gantt.examples.js +246 -382
- package/dist/test/collections/gantt.examples.js.map +1 -1
- package/dist/test/collections/library.examples.d.ts +9 -6
- package/dist/test/collections/library.examples.d.ts.map +1 -1
- package/dist/test/collections/library.examples.js +63 -156
- package/dist/test/collections/library.examples.js.map +1 -1
- package/dist/test/collections/map.examples.d.ts +10 -5
- package/dist/test/collections/map.examples.d.ts.map +1 -1
- package/dist/test/collections/map.examples.js +76 -106
- package/dist/test/collections/map.examples.js.map +1 -1
- package/dist/test/collections/matrix.examples.d.ts +14 -38
- package/dist/test/collections/matrix.examples.d.ts.map +1 -1
- package/dist/test/collections/matrix.examples.js +103 -169
- package/dist/test/collections/matrix.examples.js.map +1 -1
- package/dist/test/collections/pagination.examples.d.ts +3 -3
- package/dist/test/collections/pagination.examples.d.ts.map +1 -1
- package/dist/test/collections/pagination.examples.js +49 -31
- package/dist/test/collections/pagination.examples.js.map +1 -1
- package/dist/test/collections/planner.examples.d.ts +15 -108
- package/dist/test/collections/planner.examples.d.ts.map +1 -1
- package/dist/test/collections/planner.examples.js +335 -401
- package/dist/test/collections/planner.examples.js.map +1 -1
- package/dist/test/collections/roster.examples.d.ts +19 -16
- package/dist/test/collections/roster.examples.d.ts.map +1 -1
- package/dist/test/collections/roster.examples.js +166 -168
- package/dist/test/collections/roster.examples.js.map +1 -1
- package/dist/test/collections/schematic.examples.d.ts +18 -13
- package/dist/test/collections/schematic.examples.d.ts.map +1 -1
- package/dist/test/collections/schematic.examples.js +417 -418
- package/dist/test/collections/schematic.examples.js.map +1 -1
- package/dist/test/collections/table.examples.d.ts +33 -38
- package/dist/test/collections/table.examples.d.ts.map +1 -1
- package/dist/test/collections/table.examples.js +293 -399
- package/dist/test/collections/table.examples.js.map +1 -1
- package/dist/test/collections/tree-view.examples.d.ts +2 -10
- package/dist/test/collections/tree-view.examples.d.ts.map +1 -1
- package/dist/test/collections/tree-view.examples.js +133 -178
- package/dist/test/collections/tree-view.examples.js.map +1 -1
- package/dist/test/collections/value-tree.examples.d.ts +23 -9
- package/dist/test/collections/value-tree.examples.d.ts.map +1 -1
- package/dist/test/collections/value-tree.examples.js +181 -227
- package/dist/test/collections/value-tree.examples.js.map +1 -1
- package/dist/test/container/card.examples.d.ts +7 -14
- package/dist/test/container/card.examples.d.ts.map +1 -1
- package/dist/test/container/card.examples.js +109 -117
- package/dist/test/container/card.examples.js.map +1 -1
- package/dist/test/disclosure/accordion.examples.d.ts +1 -6
- package/dist/test/disclosure/accordion.examples.d.ts.map +1 -1
- package/dist/test/disclosure/accordion.examples.js +73 -78
- package/dist/test/disclosure/accordion.examples.js.map +1 -1
- package/dist/test/disclosure/carousel.examples.d.ts +1 -7
- package/dist/test/disclosure/carousel.examples.d.ts.map +1 -1
- package/dist/test/disclosure/carousel.examples.js +87 -60
- package/dist/test/disclosure/carousel.examples.js.map +1 -1
- package/dist/test/disclosure/collapsible.examples.d.ts +3 -3
- package/dist/test/disclosure/collapsible.examples.d.ts.map +1 -1
- package/dist/test/disclosure/collapsible.examples.js +27 -23
- package/dist/test/disclosure/collapsible.examples.js.map +1 -1
- package/dist/test/disclosure/option-list.examples.js +3 -3
- package/dist/test/disclosure/option-list.examples.js.map +1 -1
- package/dist/test/disclosure/segment-group.examples.d.ts +3 -3
- package/dist/test/disclosure/segment-group.examples.d.ts.map +1 -1
- package/dist/test/disclosure/segment-group.examples.js +46 -36
- package/dist/test/disclosure/segment-group.examples.js.map +1 -1
- package/dist/test/disclosure/show-more.examples.d.ts +1 -2
- package/dist/test/disclosure/show-more.examples.d.ts.map +1 -1
- package/dist/test/disclosure/show-more.examples.js +24 -17
- package/dist/test/disclosure/show-more.examples.js.map +1 -1
- package/dist/test/disclosure/story.examples.d.ts +8 -8
- package/dist/test/disclosure/story.examples.d.ts.map +1 -1
- package/dist/test/disclosure/story.examples.js +109 -93
- package/dist/test/disclosure/story.examples.js.map +1 -1
- package/dist/test/disclosure/tabs.examples.d.ts +1 -8
- package/dist/test/disclosure/tabs.examples.d.ts.map +1 -1
- package/dist/test/disclosure/tabs.examples.js +94 -107
- package/dist/test/disclosure/tabs.examples.js.map +1 -1
- package/dist/test/display/avatar-group.examples.d.ts +1 -3
- package/dist/test/display/avatar-group.examples.d.ts.map +1 -1
- package/dist/test/display/avatar-group.examples.js +34 -29
- package/dist/test/display/avatar-group.examples.js.map +1 -1
- package/dist/test/display/avatar.examples.d.ts +1 -4
- package/dist/test/display/avatar.examples.d.ts.map +1 -1
- package/dist/test/display/avatar.examples.js +88 -40
- package/dist/test/display/avatar.examples.js.map +1 -1
- package/dist/test/display/badge.examples.d.ts +1 -9
- package/dist/test/display/badge.examples.d.ts.map +1 -1
- package/dist/test/display/badge.examples.js +93 -79
- package/dist/test/display/badge.examples.js.map +1 -1
- package/dist/test/display/bar-strip.examples.d.ts +1 -3
- package/dist/test/display/bar-strip.examples.d.ts.map +1 -1
- package/dist/test/display/bar-strip.examples.js +42 -48
- package/dist/test/display/bar-strip.examples.js.map +1 -1
- package/dist/test/display/chip-rail.examples.d.ts +1 -4
- package/dist/test/display/chip-rail.examples.d.ts.map +1 -1
- package/dist/test/display/chip-rail.examples.js +86 -36
- package/dist/test/display/chip-rail.examples.js.map +1 -1
- package/dist/test/display/combine.examples.d.ts.map +1 -1
- package/dist/test/display/combine.examples.js +102 -162
- package/dist/test/display/combine.examples.js.map +1 -1
- package/dist/test/display/editable-chip.examples.d.ts +1 -5
- package/dist/test/display/editable-chip.examples.d.ts.map +1 -1
- package/dist/test/display/editable-chip.examples.js +77 -51
- package/dist/test/display/editable-chip.examples.js.map +1 -1
- package/dist/test/display/icon.examples.d.ts +0 -1
- package/dist/test/display/icon.examples.d.ts.map +1 -1
- package/dist/test/display/icon.examples.js +101 -21
- package/dist/test/display/icon.examples.js.map +1 -1
- package/dist/test/display/image.examples.d.ts +1 -3
- package/dist/test/display/image.examples.d.ts.map +1 -1
- package/dist/test/display/image.examples.js +50 -25
- package/dist/test/display/image.examples.js.map +1 -1
- package/dist/test/display/kbd.examples.d.ts +1 -3
- package/dist/test/display/kbd.examples.d.ts.map +1 -1
- package/dist/test/display/kbd.examples.js +34 -29
- package/dist/test/display/kbd.examples.js.map +1 -1
- package/dist/test/display/meter.examples.d.ts +1 -4
- package/dist/test/display/meter.examples.d.ts.map +1 -1
- package/dist/test/display/meter.examples.js +107 -35
- package/dist/test/display/meter.examples.js.map +1 -1
- package/dist/test/display/metric-chip.examples.d.ts +4 -5
- package/dist/test/display/metric-chip.examples.d.ts.map +1 -1
- package/dist/test/display/metric-chip.examples.js +99 -35
- package/dist/test/display/metric-chip.examples.js.map +1 -1
- package/dist/test/display/segmented-meter.examples.d.ts +2 -2
- package/dist/test/display/segmented-meter.examples.d.ts.map +1 -1
- package/dist/test/display/segmented-meter.examples.js +43 -44
- package/dist/test/display/segmented-meter.examples.js.map +1 -1
- package/dist/test/display/stat.examples.d.ts +1 -5
- package/dist/test/display/stat.examples.d.ts.map +1 -1
- package/dist/test/display/stat.examples.js +83 -48
- package/dist/test/display/stat.examples.js.map +1 -1
- package/dist/test/display/tag.examples.d.ts +1 -8
- package/dist/test/display/tag.examples.d.ts.map +1 -1
- package/dist/test/display/tag.examples.js +109 -71
- package/dist/test/display/tag.examples.js.map +1 -1
- package/dist/test/display/trace.examples.d.ts +1 -4
- package/dist/test/display/trace.examples.d.ts.map +1 -1
- package/dist/test/display/trace.examples.js +113 -57
- package/dist/test/display/trace.examples.js.map +1 -1
- package/dist/test/extension.examples.js +1 -1
- package/dist/test/extension.examples.js.map +1 -1
- package/dist/test/feedback/banner.examples.d.ts +1 -12
- package/dist/test/feedback/banner.examples.d.ts.map +1 -1
- package/dist/test/feedback/banner.examples.js +53 -63
- package/dist/test/feedback/banner.examples.js.map +1 -1
- package/dist/test/feedback/progress.examples.d.ts +3 -7
- package/dist/test/feedback/progress.examples.d.ts.map +1 -1
- package/dist/test/feedback/progress.examples.js +84 -51
- package/dist/test/feedback/progress.examples.js.map +1 -1
- package/dist/test/feedback/status.examples.d.ts +1 -3
- package/dist/test/feedback/status.examples.d.ts.map +1 -1
- package/dist/test/feedback/status.examples.js +35 -24
- package/dist/test/feedback/status.examples.js.map +1 -1
- package/dist/test/forms/checkbox.examples.d.ts +1 -2
- package/dist/test/forms/checkbox.examples.d.ts.map +1 -1
- package/dist/test/forms/checkbox.examples.js +27 -17
- package/dist/test/forms/checkbox.examples.js.map +1 -1
- package/dist/test/forms/combobox.examples.d.ts +2 -9
- package/dist/test/forms/combobox.examples.d.ts.map +1 -1
- package/dist/test/forms/combobox.examples.js +100 -126
- package/dist/test/forms/combobox.examples.js.map +1 -1
- package/dist/test/forms/date-range-input.examples.d.ts +3 -6
- package/dist/test/forms/date-range-input.examples.d.ts.map +1 -1
- package/dist/test/forms/date-range-input.examples.js +82 -76
- package/dist/test/forms/date-range-input.examples.js.map +1 -1
- package/dist/test/forms/field.examples.d.ts +1 -1
- package/dist/test/forms/field.examples.d.ts.map +1 -1
- package/dist/test/forms/field.examples.js +24 -11
- package/dist/test/forms/field.examples.js.map +1 -1
- package/dist/test/forms/file-upload.examples.d.ts +1 -3
- package/dist/test/forms/file-upload.examples.d.ts.map +1 -1
- package/dist/test/forms/file-upload.examples.js +30 -33
- package/dist/test/forms/file-upload.examples.js.map +1 -1
- package/dist/test/forms/input.examples.d.ts +1 -11
- package/dist/test/forms/input.examples.d.ts.map +1 -1
- package/dist/test/forms/input.examples.js +106 -118
- package/dist/test/forms/input.examples.js.map +1 -1
- package/dist/test/forms/radio-card-group.examples.d.ts +3 -4
- package/dist/test/forms/radio-card-group.examples.d.ts.map +1 -1
- package/dist/test/forms/radio-card-group.examples.js +66 -47
- package/dist/test/forms/radio-card-group.examples.js.map +1 -1
- package/dist/test/forms/radio-group.examples.d.ts +3 -4
- package/dist/test/forms/radio-group.examples.d.ts.map +1 -1
- package/dist/test/forms/radio-group.examples.js +65 -48
- package/dist/test/forms/radio-group.examples.js.map +1 -1
- package/dist/test/forms/select.examples.d.ts +1 -3
- package/dist/test/forms/select.examples.d.ts.map +1 -1
- package/dist/test/forms/select.examples.js +34 -49
- package/dist/test/forms/select.examples.js.map +1 -1
- package/dist/test/forms/slider.examples.d.ts +1 -2
- package/dist/test/forms/slider.examples.d.ts.map +1 -1
- package/dist/test/forms/slider.examples.js +26 -24
- package/dist/test/forms/slider.examples.js.map +1 -1
- package/dist/test/forms/switch.examples.d.ts +1 -2
- package/dist/test/forms/switch.examples.d.ts.map +1 -1
- package/dist/test/forms/switch.examples.js +26 -19
- package/dist/test/forms/switch.examples.js.map +1 -1
- package/dist/test/forms/tags-input.examples.d.ts +0 -3
- package/dist/test/forms/tags-input.examples.d.ts.map +1 -1
- package/dist/test/forms/tags-input.examples.js +14 -32
- package/dist/test/forms/tags-input.examples.js.map +1 -1
- package/dist/test/forms/textarea.examples.d.ts +1 -3
- package/dist/test/forms/textarea.examples.d.ts.map +1 -1
- package/dist/test/forms/textarea.examples.js +28 -28
- package/dist/test/forms/textarea.examples.js.map +1 -1
- package/dist/test/forms/time-range-input.examples.d.ts +3 -5
- package/dist/test/forms/time-range-input.examples.d.ts.map +1 -1
- package/dist/test/forms/time-range-input.examples.js +73 -64
- package/dist/test/forms/time-range-input.examples.js.map +1 -1
- package/dist/test/layout/aligned-stack.examples.d.ts +13 -95
- package/dist/test/layout/aligned-stack.examples.d.ts.map +1 -1
- package/dist/test/layout/aligned-stack.examples.js +225 -368
- package/dist/test/layout/aligned-stack.examples.js.map +1 -1
- package/dist/test/layout/box.examples.d.ts +1 -12
- package/dist/test/layout/box.examples.d.ts.map +1 -1
- package/dist/test/layout/box.examples.js +135 -103
- package/dist/test/layout/box.examples.js.map +1 -1
- package/dist/test/layout/dock.examples.d.ts +9 -17
- package/dist/test/layout/dock.examples.d.ts.map +1 -1
- package/dist/test/layout/dock.examples.js +49 -33
- package/dist/test/layout/dock.examples.js.map +1 -1
- package/dist/test/layout/flex.examples.d.ts +1 -8
- package/dist/test/layout/flex.examples.d.ts.map +1 -1
- package/dist/test/layout/flex.examples.js +104 -72
- package/dist/test/layout/flex.examples.js.map +1 -1
- package/dist/test/layout/grid.examples.d.ts +2 -10
- package/dist/test/layout/grid.examples.d.ts.map +1 -1
- package/dist/test/layout/grid.examples.js +126 -127
- package/dist/test/layout/grid.examples.js.map +1 -1
- package/dist/test/layout/scroll-area.examples.js +2 -2
- package/dist/test/layout/scroll-area.examples.js.map +1 -1
- package/dist/test/layout/separator.examples.d.ts +3 -10
- package/dist/test/layout/separator.examples.d.ts.map +1 -1
- package/dist/test/layout/separator.examples.js +71 -84
- package/dist/test/layout/separator.examples.js.map +1 -1
- package/dist/test/layout/splitter.examples.d.ts +2 -8
- package/dist/test/layout/splitter.examples.d.ts.map +1 -1
- package/dist/test/layout/splitter.examples.js +100 -104
- package/dist/test/layout/splitter.examples.js.map +1 -1
- package/dist/test/layout/stack.examples.d.ts +2 -10
- package/dist/test/layout/stack.examples.d.ts.map +1 -1
- package/dist/test/layout/stack.examples.js +116 -83
- package/dist/test/layout/stack.examples.js.map +1 -1
- package/dist/test/layout/sticky.examples.js +2 -2
- package/dist/test/layout/sticky.examples.js.map +1 -1
- package/dist/test/navigation/app.examples.d.ts +5 -11
- package/dist/test/navigation/app.examples.d.ts.map +1 -1
- package/dist/test/navigation/app.examples.js +27 -42
- package/dist/test/navigation/app.examples.js.map +1 -1
- package/dist/test/navigation/breadcrumb.examples.d.ts +1 -3
- package/dist/test/navigation/breadcrumb.examples.d.ts.map +1 -1
- package/dist/test/navigation/breadcrumb.examples.js +13 -43
- package/dist/test/navigation/breadcrumb.examples.js.map +1 -1
- package/dist/test/navigation/nav-list.examples.d.ts +1 -4
- package/dist/test/navigation/nav-list.examples.d.ts.map +1 -1
- package/dist/test/navigation/nav-list.examples.js +141 -84
- package/dist/test/navigation/nav-list.examples.js.map +1 -1
- package/dist/test/overlays/command-palette.examples.d.ts +1 -4
- package/dist/test/overlays/command-palette.examples.d.ts.map +1 -1
- package/dist/test/overlays/command-palette.examples.js +75 -52
- package/dist/test/overlays/command-palette.examples.js.map +1 -1
- package/dist/test/overlays/dialog.examples.d.ts +1 -2
- package/dist/test/overlays/dialog.examples.d.ts.map +1 -1
- package/dist/test/overlays/dialog.examples.js +18 -19
- package/dist/test/overlays/dialog.examples.js.map +1 -1
- package/dist/test/overlays/drawer.examples.d.ts +2 -4
- package/dist/test/overlays/drawer.examples.d.ts.map +1 -1
- package/dist/test/overlays/drawer.examples.js +55 -32
- package/dist/test/overlays/drawer.examples.js.map +1 -1
- package/dist/test/overlays/hover-card.examples.d.ts +1 -2
- package/dist/test/overlays/hover-card.examples.d.ts.map +1 -1
- package/dist/test/overlays/hover-card.examples.js +17 -19
- package/dist/test/overlays/hover-card.examples.js.map +1 -1
- package/dist/test/overlays/menu.examples.d.ts +1 -2
- package/dist/test/overlays/menu.examples.d.ts.map +1 -1
- package/dist/test/overlays/menu.examples.js +18 -25
- package/dist/test/overlays/menu.examples.js.map +1 -1
- package/dist/test/overlays/popover.examples.d.ts +1 -2
- package/dist/test/overlays/popover.examples.d.ts.map +1 -1
- package/dist/test/overlays/popover.examples.js +20 -22
- package/dist/test/overlays/popover.examples.js.map +1 -1
- package/dist/test/overlays/toggle-tip.examples.d.ts +1 -2
- package/dist/test/overlays/toggle-tip.examples.d.ts.map +1 -1
- package/dist/test/overlays/toggle-tip.examples.js +15 -18
- package/dist/test/overlays/toggle-tip.examples.js.map +1 -1
- package/dist/test/platform/slice.examples.d.ts +2 -9
- package/dist/test/platform/slice.examples.d.ts.map +1 -1
- package/dist/test/platform/slice.examples.js +197 -289
- package/dist/test/platform/slice.examples.js.map +1 -1
- package/dist/test/slice/slice.examples.d.ts +0 -4
- package/dist/test/slice/slice.examples.d.ts.map +1 -1
- package/dist/test/slice/slice.examples.js +168 -218
- package/dist/test/slice/slice.examples.js.map +1 -1
- package/dist/test/style.examples.js +4 -4
- package/dist/test/style.examples.js.map +1 -1
- package/dist/test/typography/code-block.examples.d.ts +1 -9
- package/dist/test/typography/code-block.examples.d.ts.map +1 -1
- package/dist/test/typography/code-block.examples.js +82 -88
- package/dist/test/typography/code-block.examples.js.map +1 -1
- package/dist/test/typography/code.examples.d.ts +1 -7
- package/dist/test/typography/code.examples.d.ts.map +1 -1
- package/dist/test/typography/code.examples.js +54 -60
- package/dist/test/typography/code.examples.js.map +1 -1
- package/dist/test/typography/heading.examples.d.ts +1 -8
- package/dist/test/typography/heading.examples.d.ts.map +1 -1
- package/dist/test/typography/heading.examples.js +82 -68
- package/dist/test/typography/heading.examples.js.map +1 -1
- package/dist/test/typography/highlight.examples.d.ts +4 -8
- package/dist/test/typography/highlight.examples.d.ts.map +1 -1
- package/dist/test/typography/highlight.examples.js +49 -59
- package/dist/test/typography/highlight.examples.js.map +1 -1
- package/dist/test/typography/link.examples.d.ts +1 -7
- package/dist/test/typography/link.examples.d.ts.map +1 -1
- package/dist/test/typography/link.examples.js +57 -60
- package/dist/test/typography/link.examples.js.map +1 -1
- package/dist/test/typography/list.examples.d.ts +3 -11
- package/dist/test/typography/list.examples.d.ts.map +1 -1
- package/dist/test/typography/list.examples.js +117 -107
- package/dist/test/typography/list.examples.js.map +1 -1
- package/dist/test/typography/mark.examples.d.ts +1 -8
- package/dist/test/typography/mark.examples.d.ts.map +1 -1
- package/dist/test/typography/mark.examples.js +49 -68
- package/dist/test/typography/mark.examples.js.map +1 -1
- package/dist/test/typography/note.examples.d.ts +1 -3
- package/dist/test/typography/note.examples.d.ts.map +1 -1
- package/dist/test/typography/note.examples.js +24 -25
- package/dist/test/typography/note.examples.js.map +1 -1
- package/dist/test/typography/numeric.examples.d.ts +1 -5
- package/dist/test/typography/numeric.examples.d.ts.map +1 -1
- package/dist/test/typography/numeric.examples.js +60 -40
- package/dist/test/typography/numeric.examples.js.map +1 -1
- package/dist/test/typography/text.examples.d.ts +1 -18
- package/dist/test/typography/text.examples.d.ts.map +1 -1
- package/dist/test/typography/text.examples.js +146 -149
- package/dist/test/typography/text.examples.js.map +1 -1
- package/package.json +3 -3
|
@@ -7,61 +7,45 @@ import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/east-ui/jsx-runtime";
|
|
|
7
7
|
import { East, ArrayType, DateTimeType, FloatType, StringType, StructType, example } from "@elaraai/east";
|
|
8
8
|
import { UIComponentType, DragEventType } from "@elaraai/east-ui";
|
|
9
9
|
import { NullType } from "@elaraai/east";
|
|
10
|
-
import { AlignedStack, Box, Calendar, Chart, Gantt, HStack, Library, Matrix, Planner, Table, Trace } from "@elaraai/east-ui";
|
|
10
|
+
import { AlignedStack, Box, Calendar, Chart, Gantt, HStack, Library, Matrix, Planner, Separator, Table, Trace, VStack } from "@elaraai/east-ui";
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Module-scope fixtures — one per merged example (consolidation epic #455).
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// The flagship — golden-coupled, name and body frozen
|
|
16
|
+
// ============================================================================
|
|
11
17
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
18
|
+
* The kitchen-sink panel — the flagship all-seven stack plus every merged
|
|
19
|
+
* AlignedStack variant as captioned groups (epic #455). The flagship: ONE
|
|
20
|
+
* `<AlignedStack gutter>` lines up **seven** stacked lane components on a
|
|
21
|
+
* single shared day axis: a `<Chart>` trajectory over a `<Trace>` heat-strip, a
|
|
22
|
+
* `<Matrix>` utilisation grid, a `<Planner>` activity timeline, a `<Calendar>`
|
|
23
|
+
* week band, a `<Table>` of per-day metrics, and a `<Gantt>` phase timeline.
|
|
24
|
+
* Every component inherits the same `{ left, right }` gutter from context —
|
|
25
|
+
* the frozen label columns / row headers / week labels all fill `left`, and
|
|
26
|
+
* each data lane fills `[left, W−right]`, so the day columns line up top to
|
|
27
|
+
* bottom without the consumer hand-matching a single number. (#147) The
|
|
28
|
+
* remaining groups keep the chart-over-lane pairs, the density presets, and
|
|
29
|
+
* the axis-title / date-axis / auto-gutter variants mounted.
|
|
16
30
|
*/
|
|
17
|
-
export const
|
|
18
|
-
keywords: ["AlignedStack", "plotGutter", "gutter", "
|
|
19
|
-
description: "
|
|
31
|
+
export const alignedStackAll = example({
|
|
32
|
+
keywords: ["AlignedStack", "plotGutter", "gutter", "Chart", "Trace", "Matrix", "Planner", "Calendar", "Table", "Gantt", "align", "stack", "dashboard", "all", "shared", "axis", "lane", "day", "week", "grid", "frozen", "categories", "timeline", "splitter", "time", "density", "compact", "condensed", "title", "label", "titleGap", "margin", "date", "resolution", "format", "ddd", "tick", "instants", "auto", "measure"],
|
|
33
|
+
description: "AlignedStack panel — the all-seven flagship stack plus chart-over-lane pairs (Trace, Calendar, Matrix, Table, Planner, Gantt), density presets (compact, condensed) and axis variants (titles, formatted date axis, auto gutter)",
|
|
20
34
|
fn: East.function([], UIComponentType, ($) => {
|
|
21
|
-
const
|
|
35
|
+
const ALIGNED_STACK_CHARTS_DATA = [
|
|
22
36
|
{ day: 0.0, v: 22.0 }, { day: 2.0, v: 20.5 }, { day: 4.0, v: 18.0 }, { day: 6.0, v: 16.5 },
|
|
23
|
-
]
|
|
24
|
-
const
|
|
37
|
+
];
|
|
38
|
+
const ALIGNED_STACK_CHARTS_RATE_DATA = [
|
|
25
39
|
{ day: 0.0, v: 1.2 }, { day: 2.0, v: 0.9 }, { day: 4.0, v: 0.6 }, { day: 6.0, v: 0.3 },
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
}),
|
|
29
|
-
inputs: [],
|
|
30
|
-
});
|
|
31
|
-
/**
|
|
32
|
-
* A `<Chart>` stacked over a `<Trace>` in an `<AlignedStack>` — both inherit the
|
|
33
|
-
* gutter from context, so the Trace's step lane fills `[left, W−right]` and lines
|
|
34
|
-
* up under the chart's day axis (the canonical Chart-over-lane alignment). (#147)
|
|
35
|
-
*/
|
|
36
|
-
export const alignedStackChartTrace = example({
|
|
37
|
-
keywords: ["AlignedStack", "plotGutter", "Chart", "Trace", "align", "lane", "axis", "day"],
|
|
38
|
-
description: "A Chart stacked over a Trace sharing one gutter — the Trace's step lane lines up under the chart's day axis",
|
|
39
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
40
|
-
const temp = $.const([
|
|
40
|
+
];
|
|
41
|
+
const ALIGNED_STACK_CHART_TRACE_DATA = [
|
|
41
42
|
{ day: 0.0, v: 22.0 }, { day: 2.0, v: 20.0 }, { day: 4.0, v: 18.0 }, { day: 6.0, v: 16.0 },
|
|
42
|
-
]
|
|
43
|
-
|
|
44
|
-
{ name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
|
|
45
|
-
{ name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
|
|
46
|
-
], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"], density: "comfortable" })] }));
|
|
47
|
-
}),
|
|
48
|
-
inputs: [],
|
|
49
|
-
});
|
|
50
|
-
/**
|
|
51
|
-
* A `<Chart>` stacked over a `<Calendar>` in an `<AlignedStack>` — the Calendar
|
|
52
|
-
* inherits the gutter from context, so its 7-day band fills `[left, W−right]` and
|
|
53
|
-
* lines up under the chart's day axis. `left` (the week-label column) and `right`
|
|
54
|
-
* come from the shared gutter, not the calendar's own density. (#147)
|
|
55
|
-
*/
|
|
56
|
-
export const alignedStackChartCalendar = example({
|
|
57
|
-
keywords: ["AlignedStack", "plotGutter", "Chart", "Calendar", "align", "lane", "day", "week"],
|
|
58
|
-
description: "A Chart stacked over a Calendar sharing one gutter — the Calendar's day band lines up under the chart's day axis",
|
|
59
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
60
|
-
const load = $.const([
|
|
43
|
+
];
|
|
44
|
+
const ALIGNED_STACK_CHART_CALENDAR_DATA = [
|
|
61
45
|
{ day: 0.0, v: 0.4 }, { day: 1.0, v: 0.7 }, { day: 2.0, v: 0.9 },
|
|
62
46
|
{ day: 3.0, v: 0.6 }, { day: 4.0, v: 0.8 }, { day: 5.0, v: 0.3 }, { day: 6.0, v: 0.2 },
|
|
63
|
-
]
|
|
64
|
-
const
|
|
47
|
+
];
|
|
48
|
+
const ALIGNED_STACK_CHART_CALENDAR_GRID_DATA = [
|
|
65
49
|
{ week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
|
|
66
50
|
{ week: "W37", day: "Wed", demand: 0.9 }, { week: "W37", day: "Thu", demand: 0.6 },
|
|
67
51
|
{ week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
|
|
@@ -70,128 +54,35 @@ export const alignedStackChartCalendar = example({
|
|
|
70
54
|
{ week: "W38", day: "Wed", demand: 0.7 }, { week: "W38", day: "Thu", demand: 0.9 },
|
|
71
55
|
{ week: "W38", day: "Fri", demand: 0.4 }, { week: "W38", day: "Sat", demand: 0.2 },
|
|
72
56
|
{ week: "W38", day: "Sun", demand: 0.1 },
|
|
73
|
-
]
|
|
74
|
-
|
|
75
|
-
}),
|
|
76
|
-
inputs: [],
|
|
77
|
-
});
|
|
78
|
-
/**
|
|
79
|
-
* A `<Chart>` stacked over a `<Matrix>` in an `<AlignedStack>` — the Matrix inherits
|
|
80
|
-
* the gutter from context, so its row-header pane fills `left` and the value-grid
|
|
81
|
-
* columns fill `[left, W−right]`, lining up column-for-column under the chart's day
|
|
82
|
-
* axis. (#147)
|
|
83
|
-
*/
|
|
84
|
-
export const alignedStackChartMatrix = example({
|
|
85
|
-
keywords: ["AlignedStack", "plotGutter", "Chart", "Matrix", "align", "lane", "grid", "day"],
|
|
86
|
-
description: "A Chart stacked over a Matrix sharing one gutter — the Matrix value-grid lines up column-for-column under the chart's day axis",
|
|
87
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
88
|
-
const load = $.const([
|
|
57
|
+
];
|
|
58
|
+
const ALIGNED_STACK_CHART_MATRIX_DATA = [
|
|
89
59
|
{ day: 0.0, v: 0.45 }, { day: 1.0, v: 0.70 }, { day: 2.0, v: 0.85 },
|
|
90
60
|
{ day: 3.0, v: 0.60 }, { day: 4.0, v: 0.30 },
|
|
91
|
-
]
|
|
92
|
-
|
|
93
|
-
{ name: "Alice", booked: new Map([["mon", 0.45], ["tue", 0.70], ["wed", 0.85], ["thu", 0.60], ["fri", 0.30]]) },
|
|
94
|
-
{ name: "Bob", booked: new Map([["mon", 0.35], ["tue", 0.60], ["wed", 0.30], ["thu", 0.75], ["fri", 0.50]]) },
|
|
95
|
-
], columns: [
|
|
96
|
-
Matrix.column({ key: "mon", label: "Mon" }),
|
|
97
|
-
Matrix.column({ key: "tue", label: "Tue" }),
|
|
98
|
-
Matrix.column({ key: "wed", label: "Wed" }),
|
|
99
|
-
Matrix.column({ key: "thu", label: "Thu" }),
|
|
100
|
-
Matrix.column({ key: "fri", label: "Fri" }),
|
|
101
|
-
], rowKey: r => r.name, rowHeader: "Resource", cell: (r, col) => Matrix.cell({ segments: [
|
|
102
|
-
Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
|
|
103
|
-
Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
|
|
104
|
-
] }) })] }));
|
|
105
|
-
}),
|
|
106
|
-
inputs: [],
|
|
107
|
-
});
|
|
108
|
-
/**
|
|
109
|
-
* A `<Chart>` stacked over a `<Table>` in an `<AlignedStack>` — the Table inherits
|
|
110
|
-
* the gutter from context, so the frozen `resource` column fills `left`, the data
|
|
111
|
-
* columns flex-fill `[left, W−right]`, and horizontal scroll is dropped. The data
|
|
112
|
-
* lane lines up under the chart's day axis on shared categories. (#147)
|
|
113
|
-
*/
|
|
114
|
-
export const alignedStackChartTable = example({
|
|
115
|
-
keywords: ["AlignedStack", "plotGutter", "Chart", "Table", "frozen", "align", "lane", "categories"],
|
|
116
|
-
description: "A Chart stacked over a Table sharing one gutter — the frozen column fills `left` and the data columns line up under the chart's day axis",
|
|
117
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
118
|
-
const load = $.const([
|
|
61
|
+
];
|
|
62
|
+
const ALIGNED_STACK_CHART_TABLE_DATA = [
|
|
119
63
|
{ day: 0.0, v: 0.45 }, { day: 1.0, v: 0.70 }, { day: 2.0, v: 0.85 },
|
|
120
64
|
{ day: 3.0, v: 0.60 }, { day: 4.0, v: 0.30 },
|
|
121
|
-
]
|
|
122
|
-
|
|
123
|
-
{ resource: "Alice", mon: "0.45", tue: "0.70", wed: "0.85", thu: "0.60", fri: "0.30" },
|
|
124
|
-
{ resource: "Bob", mon: "0.35", tue: "0.60", wed: "0.30", thu: "0.75", fri: "0.50" },
|
|
125
|
-
], columns: {
|
|
126
|
-
resource: { header: "Resource" },
|
|
127
|
-
mon: { header: "Mon" }, tue: { header: "Tue" }, wed: { header: "Wed" },
|
|
128
|
-
thu: { header: "Thu" }, fri: { header: "Fri" },
|
|
129
|
-
}, frozen: ["resource"] })] }));
|
|
130
|
-
}),
|
|
131
|
-
inputs: [],
|
|
132
|
-
});
|
|
133
|
-
/**
|
|
134
|
-
* A `<Chart>` stacked over a `<Planner>` in an `<AlignedStack>` — the canonical
|
|
135
|
-
* acceptance case (#147). The Planner inherits the gutter from context, so its
|
|
136
|
-
* frozen channel column fills `left`, the day-slot timeline fills `[left, W−right]`,
|
|
137
|
-
* and horizontal scroll is dropped — the slot lane lines up under the chart's day
|
|
138
|
-
* axis. (Match the chart's interval count to the slot count for the interior
|
|
139
|
-
* day-lines to coincide; the gutter always aligns the lane edges.)
|
|
140
|
-
*/
|
|
141
|
-
export const alignedStackChartPlanner = example({
|
|
142
|
-
keywords: ["AlignedStack", "plotGutter", "Chart", "Planner", "frozen", "timeline", "day", "axis", "align"],
|
|
143
|
-
description: "A Chart stacked over a Planner sharing one gutter — the frozen channel fills `left` and the day-slot timeline lines up under the chart's day axis",
|
|
144
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
145
|
-
const temp = $.const([
|
|
65
|
+
];
|
|
66
|
+
const ALIGNED_STACK_CHART_PLANNER_DATA = [
|
|
146
67
|
{ day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
|
|
147
68
|
{ day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
|
|
148
|
-
]
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
|
|
154
|
-
], now: Planner.at.number(4), onSelectRow: East.function([Planner.Types.SelectEvent], NullType, _$ => null) })] }));
|
|
155
|
-
}),
|
|
156
|
-
inputs: [],
|
|
157
|
-
});
|
|
158
|
-
/**
|
|
159
|
-
* #327 regression — a `<Chart>` carrying BOTH axis titles (`x` "Day", `y` "°C")
|
|
160
|
-
* stacked over a `<Planner>`. The x-title renders in its own band below the plot
|
|
161
|
-
* (growing the chart's footprint) rather than eating the bottom plot margin, so
|
|
162
|
-
* the plot rect stays put and the chart's day ticks still line up with the
|
|
163
|
-
* Planner's day columns — the title no longer shoves the stacked lane.
|
|
164
|
-
*/
|
|
165
|
-
export const alignedStackChartTitles = example({
|
|
166
|
-
keywords: ["AlignedStack", "Chart", "Planner", "axis", "title", "label", "titleGap", "margin", "align", "gutter"],
|
|
167
|
-
description: "A Chart with x + y axis titles (nudged out with titleGap) stacked over a Planner — the titles push into their own axis bands while the day ticks stay aligned with the Planner columns (#327)",
|
|
168
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
169
|
-
const temp = $.const([
|
|
69
|
+
];
|
|
70
|
+
const ALIGNED_STACK_CHART_GANTT_DATA = [
|
|
71
|
+
{ d: 0.0, v: 0.3 }, { d: 1.0, v: 0.6 }, { d: 2.0, v: 0.8 }, { d: 3.0, v: 0.5 },
|
|
72
|
+
];
|
|
73
|
+
const ALIGNED_STACK_ALL_COMPACT_DATA = [
|
|
170
74
|
{ day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
|
|
171
75
|
{ day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
|
|
172
|
-
]
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
* speak real instants and the same date-pattern tokens. The Planner pins a
|
|
183
|
-
* half-open day window `[min, max)` at `resolution: "day"` (seven columns,
|
|
184
|
-
* `"ddd DD"` → `Mon 30 … Sun 05`); the Chart's time x-axis pins the SAME
|
|
185
|
-
* `[min, max]` domain with `Chart.format.date("ddd DD")` ticks. Because the
|
|
186
|
-
* window spans exactly seven days, each day-noon data point lands at
|
|
187
|
-
* `(i + 0.5)/7` of the shared gutter lane — the centre of its Planner day
|
|
188
|
-
* column — so the bars sit inside the day cells they schedule.
|
|
189
|
-
*/
|
|
190
|
-
export const alignedStackDateAxis = example({
|
|
191
|
-
keywords: ["AlignedStack", "plotGutter", "Chart", "Planner", "time", "date", "resolution", "day", "format", "ddd", "tick", "align", "instants"],
|
|
192
|
-
description: "A Chart and a day-resolution Planner share one gutter and one formatted date axis — the same [min, max) window and 'ddd DD' tokens on both lanes",
|
|
193
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
194
|
-
const runs = $.const([
|
|
76
|
+
];
|
|
77
|
+
const ALIGNED_STACK_ALL_CONDENSED_DATA = [
|
|
78
|
+
{ day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
|
|
79
|
+
{ day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
|
|
80
|
+
];
|
|
81
|
+
const ALIGNED_STACK_CHART_TITLES_DATA = [
|
|
82
|
+
{ day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
|
|
83
|
+
{ day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
|
|
84
|
+
];
|
|
85
|
+
const ALIGNED_STACK_DATE_AXIS_DATA = [
|
|
195
86
|
{ at: new Date("2026-03-30T12:00:00Z"), kl: 8.0 },
|
|
196
87
|
{ at: new Date("2026-03-31T12:00:00Z"), kl: 10.0 },
|
|
197
88
|
{ at: new Date("2026-04-01T12:00:00Z"), kl: 14.0 },
|
|
@@ -199,19 +90,182 @@ export const alignedStackDateAxis = example({
|
|
|
199
90
|
{ at: new Date("2026-04-03T12:00:00Z"), kl: 9.0 },
|
|
200
91
|
{ at: new Date("2026-04-04T12:00:00Z"), kl: 5.0 },
|
|
201
92
|
{ at: new Date("2026-04-05T12:00:00Z"), kl: 3.0 },
|
|
202
|
-
]
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
93
|
+
];
|
|
94
|
+
const ALIGNED_STACK_AUTO_DATA = [
|
|
95
|
+
{ day: 0.0, v: 10.0 }, { day: 3.0, v: 14.0 }, { day: 6.0, v: 9.0 },
|
|
96
|
+
];
|
|
97
|
+
const trend = $.const([
|
|
98
|
+
{ day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
|
|
99
|
+
{ day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
|
|
100
|
+
], ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
101
|
+
const chartsTemp = $.const(ALIGNED_STACK_CHARTS_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
102
|
+
const chartsRate = $.const(ALIGNED_STACK_CHARTS_RATE_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
103
|
+
const traceTemp = $.const(ALIGNED_STACK_CHART_TRACE_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
104
|
+
const calendarLoad = $.const(ALIGNED_STACK_CHART_CALENDAR_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
105
|
+
const calendarGrid = $.const(ALIGNED_STACK_CHART_CALENDAR_GRID_DATA, ArrayType(StructType({ week: StringType, day: StringType, demand: FloatType })));
|
|
106
|
+
const matrixLoad = $.const(ALIGNED_STACK_CHART_MATRIX_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
107
|
+
const tableLoad = $.const(ALIGNED_STACK_CHART_TABLE_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
108
|
+
const plannerTemp = $.const(ALIGNED_STACK_CHART_PLANNER_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
109
|
+
const ganttLoad = $.const(ALIGNED_STACK_CHART_GANTT_DATA, ArrayType(StructType({ d: FloatType, v: FloatType })));
|
|
110
|
+
const compactTrend = $.const(ALIGNED_STACK_ALL_COMPACT_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
111
|
+
const condensedTrend = $.const(ALIGNED_STACK_ALL_CONDENSED_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
112
|
+
const titlesTemp = $.const(ALIGNED_STACK_CHART_TITLES_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
113
|
+
const dateRuns = $.const(ALIGNED_STACK_DATE_AXIS_DATA, ArrayType(StructType({ at: DateTimeType, kl: FloatType })));
|
|
114
|
+
const autoRows = $.const(ALIGNED_STACK_AUTO_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
115
|
+
return (_jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Separator, { label: "STACK ALL", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "10px", children: [_jsx(Box, { height: "140px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(trend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
|
|
116
|
+
{ name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
|
|
117
|
+
{ name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
|
|
118
|
+
], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
|
|
119
|
+
{ line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
|
|
120
|
+
{ line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
|
|
121
|
+
], columns: [
|
|
122
|
+
Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
|
|
123
|
+
Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
|
|
124
|
+
Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
|
|
125
|
+
Matrix.column({ key: "d6", label: "6" }),
|
|
126
|
+
], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
|
|
127
|
+
Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
|
|
128
|
+
Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
|
|
129
|
+
] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
|
|
130
|
+
Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
|
|
131
|
+
Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
|
|
132
|
+
Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
|
|
133
|
+
Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
|
|
134
|
+
], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
|
|
135
|
+
{ week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
|
|
136
|
+
{ week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
|
|
137
|
+
{ week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
|
|
138
|
+
{ week: "W37", day: "Sun", demand: 0.2 },
|
|
139
|
+
], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
|
|
140
|
+
{ metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
|
|
141
|
+
{ metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
|
|
142
|
+
], columns: {
|
|
143
|
+
metric: { header: "Metric" },
|
|
144
|
+
d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
|
|
145
|
+
d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
|
|
146
|
+
}, frozen: ["metric"] }), _jsx(Gantt, { data: [
|
|
147
|
+
{ phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
|
|
148
|
+
{ phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
|
|
149
|
+
{ phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
|
|
150
|
+
], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }), _jsx(Separator, { label: "STACK CHARTS", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "48px", right: "16px" }, gap: "8px", children: [_jsx(Box, { height: "180px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(chartsTemp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [0, 6], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C" }, grid: true }) }), _jsx(Box, { height: "180px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(chartsRate, { x: r => r.day, y: r => r.v }, { color: "purple.solid" }), x: { scale: "linear", domain: [0, 6], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "rate" }, grid: true }) })] }), _jsx(Separator, { label: "STACK CHART TRACE", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "48px", right: "16px" }, gap: "8px", children: [_jsx(Box, { height: "160px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(traceTemp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C" }, grid: true }) }), _jsx(Trace, { tracks: [
|
|
151
|
+
{ name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
|
|
152
|
+
{ name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
|
|
153
|
+
], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"], density: "comfortable" })] }), _jsx(Separator, { label: "STACK CHART CALENDAR", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "56px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(calendarLoad, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "load" }, grid: true }) }), _jsx(Calendar, { data: calendarGrid, cell: d => ({ week: d.week, day: d.day, value: d.demand }) })] }), _jsx(Separator, { label: "STACK CHART MATRIX", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "120px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(matrixLoad, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 4.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0] }, y: { label: "load" }, grid: true }) }), _jsx(Matrix, { data: [
|
|
154
|
+
{ name: "Alice", booked: new Map([["mon", 0.45], ["tue", 0.70], ["wed", 0.85], ["thu", 0.60], ["fri", 0.30]]) },
|
|
155
|
+
{ name: "Bob", booked: new Map([["mon", 0.35], ["tue", 0.60], ["wed", 0.30], ["thu", 0.75], ["fri", 0.50]]) },
|
|
156
|
+
], columns: [
|
|
157
|
+
Matrix.column({ key: "mon", label: "Mon" }),
|
|
158
|
+
Matrix.column({ key: "tue", label: "Tue" }),
|
|
159
|
+
Matrix.column({ key: "wed", label: "Wed" }),
|
|
160
|
+
Matrix.column({ key: "thu", label: "Thu" }),
|
|
161
|
+
Matrix.column({ key: "fri", label: "Fri" }),
|
|
162
|
+
], rowKey: r => r.name, rowHeader: "Resource", cell: (r, col) => Matrix.cell({ segments: [
|
|
163
|
+
Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
|
|
164
|
+
Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
|
|
165
|
+
] }) })] }), _jsx(Separator, { label: "STACK CHART TABLE", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "120px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(tableLoad, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 4.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0] }, y: { label: "load" }, grid: true }) }), _jsx(Table, { data: [
|
|
166
|
+
{ resource: "Alice", mon: "0.45", tue: "0.70", wed: "0.85", thu: "0.60", fri: "0.30" },
|
|
167
|
+
{ resource: "Bob", mon: "0.35", tue: "0.60", wed: "0.30", thu: "0.75", fri: "0.50" },
|
|
168
|
+
], columns: {
|
|
169
|
+
resource: { header: "Resource" },
|
|
170
|
+
mon: { header: "Mon" }, tue: { header: "Tue" }, wed: { header: "Wed" },
|
|
171
|
+
thu: { header: "Thu" }, fri: { header: "Fri" },
|
|
172
|
+
}, frozen: ["resource"] })] }), _jsx(Separator, { label: "STACK CHART PLANNER", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "140px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(plannerTemp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C" }, grid: true }) }), _jsx(Planner.Point, { data: [{ name: "Line A", role: "Primary" }, { name: "Line B", role: "Backup" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name, sublabel: r => r.role }], events: _r => [
|
|
173
|
+
Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
|
|
174
|
+
Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
|
|
175
|
+
Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
|
|
176
|
+
Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
|
|
177
|
+
], now: Planner.at.number(4), onSelectRow: East.function([Planner.Types.SelectEvent], NullType, _$ => null) })] }), _jsx(Separator, { label: "STACK CHART GANTT", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "180px", right: "14px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(ganttLoad, { x: r => r.d, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [0, 3] }, y: { label: "load" }, grid: true }) }), _jsx(Gantt, { data: [
|
|
178
|
+
{ task: "Planning", owner: "Alice", start: new Date("2024-01-01"), end: new Date("2024-01-20") },
|
|
179
|
+
{ task: "Design", owner: "Bob", start: new Date("2024-01-15"), end: new Date("2024-02-05") },
|
|
180
|
+
{ task: "Build", owner: "Carol", start: new Date("2024-01-25"), end: new Date("2024-03-01") },
|
|
181
|
+
], columns: ["task", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }), _jsx(Separator, { label: "STACK ALL COMPACT", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "8px", density: "compact", children: [_jsx(Box, { height: "130px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(compactTrend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
|
|
182
|
+
{ name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
|
|
183
|
+
{ name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
|
|
184
|
+
], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
|
|
185
|
+
{ line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
|
|
186
|
+
{ line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
|
|
187
|
+
], columns: [
|
|
188
|
+
Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
|
|
189
|
+
Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
|
|
190
|
+
Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
|
|
191
|
+
Matrix.column({ key: "d6", label: "6" }),
|
|
192
|
+
], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
|
|
193
|
+
Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
|
|
194
|
+
Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
|
|
195
|
+
] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
|
|
196
|
+
Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
|
|
197
|
+
Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
|
|
198
|
+
Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
|
|
199
|
+
Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
|
|
200
|
+
], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
|
|
201
|
+
{ week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
|
|
202
|
+
{ week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
|
|
203
|
+
{ week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
|
|
204
|
+
{ week: "W37", day: "Sun", demand: 0.2 },
|
|
205
|
+
], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
|
|
206
|
+
{ metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
|
|
207
|
+
{ metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
|
|
208
|
+
], columns: {
|
|
209
|
+
metric: { header: "Metric" },
|
|
210
|
+
d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
|
|
211
|
+
d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
|
|
212
|
+
}, frozen: ["metric"] }), _jsx(Gantt, { data: [
|
|
213
|
+
{ phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
|
|
214
|
+
{ phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
|
|
215
|
+
{ phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
|
|
216
|
+
], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }), _jsx(Separator, { label: "STACK ALL CONDENSED", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "6px", density: "condensed", children: [_jsx(Box, { height: "120px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(condensedTrend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
|
|
217
|
+
{ name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
|
|
218
|
+
{ name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
|
|
219
|
+
], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
|
|
220
|
+
{ line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
|
|
221
|
+
{ line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
|
|
222
|
+
], columns: [
|
|
223
|
+
Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
|
|
224
|
+
Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
|
|
225
|
+
Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
|
|
226
|
+
Matrix.column({ key: "d6", label: "6" }),
|
|
227
|
+
], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
|
|
228
|
+
Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
|
|
229
|
+
Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
|
|
230
|
+
] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
|
|
231
|
+
Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
|
|
232
|
+
Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
|
|
233
|
+
Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
|
|
234
|
+
Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
|
|
235
|
+
], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
|
|
236
|
+
{ week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
|
|
237
|
+
{ week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
|
|
238
|
+
{ week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
|
|
239
|
+
{ week: "W37", day: "Sun", demand: 0.2 },
|
|
240
|
+
], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
|
|
241
|
+
{ metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
|
|
242
|
+
{ metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
|
|
243
|
+
], columns: {
|
|
244
|
+
metric: { header: "Metric" },
|
|
245
|
+
d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
|
|
246
|
+
d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
|
|
247
|
+
}, frozen: ["metric"] }), _jsx(Gantt, { data: [
|
|
248
|
+
{ phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
|
|
249
|
+
{ phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
|
|
250
|
+
{ phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
|
|
251
|
+
], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }), _jsx(Separator, { label: "STACK CHART TITLES", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "140px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "170px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(titlesTemp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { label: "Day", titleGap: 8, scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C", titleGap: 6 }, grid: true }) }), _jsx(Planner.Point, { data: [{ name: "Line A", role: "Primary" }, { name: "Line B", role: "Backup" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name, sublabel: r => r.role }], events: _r => [
|
|
252
|
+
Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
|
|
253
|
+
Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
|
|
254
|
+
], now: Planner.at.number(4) })] }), _jsx(Separator, { label: "STACK DATE AXIS", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Column(dateRuns, { x: r => r.at, y: r => r.kl }, { color: "teal.solid" }), x: { scale: "time", domain: [new Date("2026-03-30"), new Date("2026-04-06")], format: Chart.format.date("ddd DD") }, y: { label: "kL" }, grid: true }) }), _jsx(Planner.Point, { data: [{ name: "Press A", role: "Stamp" }, { name: "Press B", role: "Stamp" }], axis: Planner.axis.time({
|
|
255
|
+
resolution: "day",
|
|
256
|
+
format: "ddd DD",
|
|
257
|
+
range: { min: new Date("2026-03-30"), max: new Date("2026-04-06") },
|
|
258
|
+
}), now: Planner.at.time(new Date("2026-04-02")), columns: [{ key: "name", frozen: true, value: r => r.name, sublabel: r => r.role }], events: _r => [
|
|
259
|
+
Planner.event({ slot: Planner.at.time(new Date("2026-03-30T09:00:00Z")), label: "Setup", state: "committed" }),
|
|
260
|
+
Planner.event({ slot: Planner.at.time(new Date("2026-04-01T09:00:00Z")), label: "Run", state: "committed" }),
|
|
261
|
+
Planner.event({ slot: Planner.at.time(new Date("2026-04-03T09:00:00Z")), label: "Plan", state: "added" }),
|
|
262
|
+
] })] }), _jsx(Separator, { label: "STACK AUTO", align: "start" }), _jsx(AlignedStack, { gutter: "auto", gap: "6px", children: _jsx(Box, { height: "160px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(autoRows, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), grid: true }) }) })] }));
|
|
212
263
|
}),
|
|
213
264
|
inputs: [],
|
|
214
265
|
});
|
|
266
|
+
// ============================================================================
|
|
267
|
+
// Behavioral isolates
|
|
268
|
+
// ============================================================================
|
|
215
269
|
/**
|
|
216
270
|
* DnD across an `<AlignedStack>` (#330) — a `<Library>` (drag SOURCE) beside a
|
|
217
271
|
* Chart-over-`<Planner>` stack whose Planner is the drop TARGET (`sources` +
|
|
@@ -237,201 +291,4 @@ export const alignedStackLibraryDnd = example({
|
|
|
237
291
|
}),
|
|
238
292
|
inputs: [],
|
|
239
293
|
});
|
|
240
|
-
/**
|
|
241
|
-
* A `<Chart>` stacked over a `<Gantt>` in an `<AlignedStack>` — the Gantt inherits
|
|
242
|
-
* the gutter from context, so its frozen table panel is pinned to `left` (the
|
|
243
|
-
* splitter no longer drags) and its time-axis timeline fills `[left, W−right]`,
|
|
244
|
-
* lining up under the chart's plot. (#147)
|
|
245
|
-
*/
|
|
246
|
-
export const alignedStackChartGantt = example({
|
|
247
|
-
keywords: ["AlignedStack", "plotGutter", "Chart", "Gantt", "timeline", "splitter", "frozen", "align", "time"],
|
|
248
|
-
description: "A Chart stacked over a Gantt sharing one gutter — the frozen table panel fills `left` and the timeline lines up under the chart's plot",
|
|
249
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
250
|
-
const load = $.const([
|
|
251
|
-
{ d: 0.0, v: 0.3 }, { d: 1.0, v: 0.6 }, { d: 2.0, v: 0.8 }, { d: 3.0, v: 0.5 },
|
|
252
|
-
], ArrayType(StructType({ d: FloatType, v: FloatType })));
|
|
253
|
-
return (_jsxs(AlignedStack, { gutter: { left: "180px", right: "14px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(load, { x: r => r.d, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [0, 3] }, y: { label: "load" }, grid: true }) }), _jsx(Gantt, { data: [
|
|
254
|
-
{ task: "Planning", owner: "Alice", start: new Date("2024-01-01"), end: new Date("2024-01-20") },
|
|
255
|
-
{ task: "Design", owner: "Bob", start: new Date("2024-01-15"), end: new Date("2024-02-05") },
|
|
256
|
-
{ task: "Build", owner: "Carol", start: new Date("2024-01-25"), end: new Date("2024-03-01") },
|
|
257
|
-
], columns: ["task", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }));
|
|
258
|
-
}),
|
|
259
|
-
inputs: [],
|
|
260
|
-
});
|
|
261
|
-
/**
|
|
262
|
-
* The kitchen-sink — ONE `<AlignedStack gutter>` lines up **seven** stacked lane
|
|
263
|
-
* components on a single shared day axis: a `<Chart>` trajectory over a `<Trace>`
|
|
264
|
-
* heat-strip, a `<Matrix>` utilisation grid, a `<Planner>` activity timeline, a
|
|
265
|
-
* `<Calendar>` week band, a `<Table>` of per-day metrics, and a `<Gantt>` phase
|
|
266
|
-
* timeline. Every component inherits the same `{ left, right }` gutter from
|
|
267
|
-
* context — the frozen label columns / row headers / week labels all fill `left`,
|
|
268
|
-
* and each data lane fills `[left, W−right]`, so the day columns line up top to
|
|
269
|
-
* bottom without the consumer hand-matching a single number. (#147)
|
|
270
|
-
*/
|
|
271
|
-
export const alignedStackAll = example({
|
|
272
|
-
keywords: ["AlignedStack", "plotGutter", "gutter", "Chart", "Trace", "Matrix", "Planner", "Calendar", "Table", "Gantt", "align", "stack", "dashboard", "all", "shared"],
|
|
273
|
-
description: "One AlignedStack gutter lines up seven stacked lane components — Chart, Trace, Matrix, Planner, Calendar, Table and Gantt — on a common day axis",
|
|
274
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
275
|
-
const trend = $.const([
|
|
276
|
-
{ day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
|
|
277
|
-
{ day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
|
|
278
|
-
], ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
279
|
-
return (_jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "10px", children: [_jsx(Box, { height: "140px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(trend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
|
|
280
|
-
{ name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
|
|
281
|
-
{ name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
|
|
282
|
-
], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
|
|
283
|
-
{ line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
|
|
284
|
-
{ line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
|
|
285
|
-
], columns: [
|
|
286
|
-
Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
|
|
287
|
-
Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
|
|
288
|
-
Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
|
|
289
|
-
Matrix.column({ key: "d6", label: "6" }),
|
|
290
|
-
], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
|
|
291
|
-
Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
|
|
292
|
-
Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
|
|
293
|
-
] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
|
|
294
|
-
Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
|
|
295
|
-
Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
|
|
296
|
-
Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
|
|
297
|
-
Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
|
|
298
|
-
], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
|
|
299
|
-
{ week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
|
|
300
|
-
{ week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
|
|
301
|
-
{ week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
|
|
302
|
-
{ week: "W37", day: "Sun", demand: 0.2 },
|
|
303
|
-
], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
|
|
304
|
-
{ metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
|
|
305
|
-
{ metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
|
|
306
|
-
], columns: {
|
|
307
|
-
metric: { header: "Metric" },
|
|
308
|
-
d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
|
|
309
|
-
d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
|
|
310
|
-
}, frozen: ["metric"] }), _jsx(Gantt, { data: [
|
|
311
|
-
{ phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
|
|
312
|
-
{ phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
|
|
313
|
-
{ phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
|
|
314
|
-
], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }));
|
|
315
|
-
}),
|
|
316
|
-
inputs: [],
|
|
317
|
-
});
|
|
318
|
-
/**
|
|
319
|
-
* The same seven-component stack as {@link alignedStackAll}, but with
|
|
320
|
-
* `density="compact"` on the `<AlignedStack>` — the stack imposes the density on
|
|
321
|
-
* every lane child via context (each child still reads it through `useDensity`),
|
|
322
|
-
* so the whole dashboard tightens its row rhythm in one place. (#147)
|
|
323
|
-
*/
|
|
324
|
-
export const alignedStackAllCompact = example({
|
|
325
|
-
keywords: ["AlignedStack", "plotGutter", "density", "compact", "Chart", "Trace", "Matrix", "Planner", "Calendar", "Table", "Gantt", "stack", "all"],
|
|
326
|
-
description: "The all-seven AlignedStack at density='compact' — one density prop tightens every lane child",
|
|
327
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
328
|
-
const trend = $.const([
|
|
329
|
-
{ day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
|
|
330
|
-
{ day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
|
|
331
|
-
], ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
332
|
-
return (_jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "8px", density: "compact", children: [_jsx(Box, { height: "130px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(trend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
|
|
333
|
-
{ name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
|
|
334
|
-
{ name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
|
|
335
|
-
], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
|
|
336
|
-
{ line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
|
|
337
|
-
{ line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
|
|
338
|
-
], columns: [
|
|
339
|
-
Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
|
|
340
|
-
Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
|
|
341
|
-
Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
|
|
342
|
-
Matrix.column({ key: "d6", label: "6" }),
|
|
343
|
-
], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
|
|
344
|
-
Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
|
|
345
|
-
Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
|
|
346
|
-
] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
|
|
347
|
-
Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
|
|
348
|
-
Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
|
|
349
|
-
Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
|
|
350
|
-
Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
|
|
351
|
-
], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
|
|
352
|
-
{ week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
|
|
353
|
-
{ week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
|
|
354
|
-
{ week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
|
|
355
|
-
{ week: "W37", day: "Sun", demand: 0.2 },
|
|
356
|
-
], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
|
|
357
|
-
{ metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
|
|
358
|
-
{ metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
|
|
359
|
-
], columns: {
|
|
360
|
-
metric: { header: "Metric" },
|
|
361
|
-
d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
|
|
362
|
-
d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
|
|
363
|
-
}, frozen: ["metric"] }), _jsx(Gantt, { data: [
|
|
364
|
-
{ phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
|
|
365
|
-
{ phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
|
|
366
|
-
{ phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
|
|
367
|
-
], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }));
|
|
368
|
-
}),
|
|
369
|
-
inputs: [],
|
|
370
|
-
});
|
|
371
|
-
/**
|
|
372
|
-
* The all-seven stack at `density="condensed"` — the tightest preset. Same single
|
|
373
|
-
* density prop on the `<AlignedStack>` cascades to every lane child. (#147)
|
|
374
|
-
*/
|
|
375
|
-
export const alignedStackAllCondensed = example({
|
|
376
|
-
keywords: ["AlignedStack", "plotGutter", "density", "condensed", "Chart", "Trace", "Matrix", "Planner", "Calendar", "Table", "Gantt", "stack", "all"],
|
|
377
|
-
description: "The all-seven AlignedStack at density='condensed' — the tightest preset, cascaded from one prop",
|
|
378
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
379
|
-
const trend = $.const([
|
|
380
|
-
{ day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
|
|
381
|
-
{ day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
|
|
382
|
-
], ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
383
|
-
return (_jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "6px", density: "condensed", children: [_jsx(Box, { height: "120px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(trend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
|
|
384
|
-
{ name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
|
|
385
|
-
{ name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
|
|
386
|
-
], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
|
|
387
|
-
{ line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
|
|
388
|
-
{ line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
|
|
389
|
-
], columns: [
|
|
390
|
-
Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
|
|
391
|
-
Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
|
|
392
|
-
Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
|
|
393
|
-
Matrix.column({ key: "d6", label: "6" }),
|
|
394
|
-
], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
|
|
395
|
-
Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
|
|
396
|
-
Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
|
|
397
|
-
] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
|
|
398
|
-
Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
|
|
399
|
-
Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
|
|
400
|
-
Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
|
|
401
|
-
Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
|
|
402
|
-
], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
|
|
403
|
-
{ week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
|
|
404
|
-
{ week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
|
|
405
|
-
{ week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
|
|
406
|
-
{ week: "W37", day: "Sun", demand: 0.2 },
|
|
407
|
-
], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
|
|
408
|
-
{ metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
|
|
409
|
-
{ metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
|
|
410
|
-
], columns: {
|
|
411
|
-
metric: { header: "Metric" },
|
|
412
|
-
d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
|
|
413
|
-
d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
|
|
414
|
-
}, frozen: ["metric"] }), _jsx(Gantt, { data: [
|
|
415
|
-
{ phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
|
|
416
|
-
{ phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
|
|
417
|
-
{ phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
|
|
418
|
-
], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }));
|
|
419
|
-
}),
|
|
420
|
-
inputs: [],
|
|
421
|
-
});
|
|
422
|
-
/**
|
|
423
|
-
* `gutter="auto"` — AlignedStack measures the max gutter its children need and
|
|
424
|
-
* imposes it on all (not yet wired in the renderer; imposes nothing for now).
|
|
425
|
-
*/
|
|
426
|
-
export const alignedStackAuto = example({
|
|
427
|
-
keywords: ["AlignedStack", "gutter", "auto", "measure", "align"],
|
|
428
|
-
description: "AlignedStack with gutter='auto' (measure-the-max mode)",
|
|
429
|
-
fn: East.function([], UIComponentType, ($) => {
|
|
430
|
-
const rows = $.const([
|
|
431
|
-
{ day: 0.0, v: 10.0 }, { day: 3.0, v: 14.0 }, { day: 6.0, v: 9.0 },
|
|
432
|
-
], ArrayType(StructType({ day: FloatType, v: FloatType })));
|
|
433
|
-
return (_jsx(AlignedStack, { gutter: "auto", gap: "6px", children: _jsx(Box, { height: "160px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(rows, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), grid: true }) }) }));
|
|
434
|
-
}),
|
|
435
|
-
inputs: [],
|
|
436
|
-
});
|
|
437
294
|
//# sourceMappingURL=aligned-stack.examples.js.map
|