@contraagent/elements 0.0.0-stage → 0.2.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/README.md +83 -2
- package/custom-elements.json +5022 -0
- package/dist/charts/bar-chart.d.ts +32 -0
- package/dist/charts/bar-chart.d.ts.map +1 -0
- package/dist/charts/bar-chart.js +70 -0
- package/dist/charts/bar-chart.js.map +1 -0
- package/dist/charts/base.d.ts +48 -0
- package/dist/charts/base.d.ts.map +1 -0
- package/dist/charts/base.js +203 -0
- package/dist/charts/base.js.map +1 -0
- package/dist/charts/column-chart.d.ts +42 -0
- package/dist/charts/column-chart.d.ts.map +1 -0
- package/dist/charts/column-chart.js +146 -0
- package/dist/charts/column-chart.js.map +1 -0
- package/dist/charts/heatmap.d.ts +42 -0
- package/dist/charts/heatmap.d.ts.map +1 -0
- package/dist/charts/heatmap.js +124 -0
- package/dist/charts/heatmap.js.map +1 -0
- package/dist/charts/index.d.ts +9 -0
- package/dist/charts/index.d.ts.map +1 -0
- package/dist/charts/index.js +11 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/charts/line-chart.d.ts +36 -0
- package/dist/charts/line-chart.d.ts.map +1 -0
- package/dist/charts/line-chart.js +118 -0
- package/dist/charts/line-chart.js.map +1 -0
- package/dist/charts/scale.d.ts +32 -0
- package/dist/charts/scale.d.ts.map +1 -0
- package/dist/charts/scale.js +50 -0
- package/dist/charts/scale.js.map +1 -0
- package/dist/charts/state-grid.d.ts +64 -0
- package/dist/charts/state-grid.d.ts.map +1 -0
- package/dist/charts/state-grid.js +223 -0
- package/dist/charts/state-grid.js.map +1 -0
- package/dist/charts/types.d.ts +34 -0
- package/dist/charts/types.d.ts.map +1 -0
- package/dist/charts/types.js +11 -0
- package/dist/charts/types.js.map +1 -0
- package/dist/checks/check-table.d.ts +32 -0
- package/dist/checks/check-table.d.ts.map +1 -0
- package/dist/checks/check-table.js +94 -0
- package/dist/checks/check-table.js.map +1 -0
- package/dist/checks/index.d.ts +4 -0
- package/dist/checks/index.d.ts.map +1 -0
- package/dist/checks/index.js +6 -0
- package/dist/checks/index.js.map +1 -0
- package/dist/checks/styles.d.ts +5 -0
- package/dist/checks/styles.d.ts.map +1 -0
- package/dist/checks/styles.js +30 -0
- package/dist/checks/styles.js.map +1 -0
- package/dist/checks/types.d.ts +35 -0
- package/dist/checks/types.d.ts.map +1 -0
- package/dist/checks/types.js +12 -0
- package/dist/checks/types.js.map +1 -0
- package/dist/code/code.d.ts +83 -0
- package/dist/code/code.d.ts.map +1 -0
- package/dist/code/code.js +206 -0
- package/dist/code/code.js.map +1 -0
- package/dist/code/highlight.d.ts +25 -0
- package/dist/code/highlight.d.ts.map +1 -0
- package/dist/code/highlight.js +312 -0
- package/dist/code/highlight.js.map +1 -0
- package/dist/code/index.d.ts +3 -0
- package/dist/code/index.d.ts.map +1 -0
- package/dist/code/index.js +5 -0
- package/dist/code/index.js.map +1 -0
- package/dist/core/clock.d.ts +20 -0
- package/dist/core/clock.d.ts.map +1 -0
- package/dist/core/clock.js +45 -0
- package/dist/core/clock.js.map +1 -0
- package/dist/core/define.d.ts +3 -0
- package/dist/core/define.d.ts.map +1 -0
- package/dist/core/define.js +8 -0
- package/dist/core/define.js.map +1 -0
- package/dist/core/events.d.ts +78 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +8 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/format.d.ts +8 -0
- package/dist/core/format.d.ts.map +1 -0
- package/dist/core/format.js +28 -0
- package/dist/core/format.js.map +1 -0
- package/dist/core/frame.d.ts +4 -0
- package/dist/core/frame.d.ts.map +1 -0
- package/dist/core/frame.js +5 -0
- package/dist/core/frame.js.map +1 -0
- package/dist/core/strings.d.ts +3 -0
- package/dist/core/strings.d.ts.map +1 -0
- package/dist/core/strings.js +14 -0
- package/dist/core/strings.js.map +1 -0
- package/dist/core/tone.d.ts +8 -0
- package/dist/core/tone.d.ts.map +1 -0
- package/dist/core/tone.js +9 -0
- package/dist/core/tone.js.map +1 -0
- package/dist/count/count.d.ts +22 -0
- package/dist/count/count.d.ts.map +1 -0
- package/dist/count/count.js +60 -0
- package/dist/count/count.js.map +1 -0
- package/dist/count/elapsed.d.ts +18 -0
- package/dist/count/elapsed.d.ts.map +1 -0
- package/dist/count/elapsed.js +33 -0
- package/dist/count/elapsed.js.map +1 -0
- package/dist/count/index.d.ts +3 -0
- package/dist/count/index.d.ts.map +1 -0
- package/dist/count/index.js +5 -0
- package/dist/count/index.js.map +1 -0
- package/dist/define/all.d.ts +15 -0
- package/dist/define/all.d.ts.map +1 -0
- package/dist/define/all.js +16 -0
- package/dist/define/all.js.map +1 -0
- package/dist/define/charts.d.ts +8 -0
- package/dist/define/charts.d.ts.map +1 -0
- package/dist/define/charts.js +15 -0
- package/dist/define/charts.js.map +1 -0
- package/dist/define/check-table.d.ts +4 -0
- package/dist/define/check-table.d.ts.map +1 -0
- package/dist/define/check-table.js +7 -0
- package/dist/define/check-table.js.map +1 -0
- package/dist/define/code.d.ts +4 -0
- package/dist/define/code.d.ts.map +1 -0
- package/dist/define/code.js +7 -0
- package/dist/define/code.js.map +1 -0
- package/dist/define/count.d.ts +5 -0
- package/dist/define/count.d.ts.map +1 -0
- package/dist/define/count.js +9 -0
- package/dist/define/count.js.map +1 -0
- package/dist/define/data-table.d.ts +4 -0
- package/dist/define/data-table.d.ts.map +1 -0
- package/dist/define/data-table.js +7 -0
- package/dist/define/data-table.js.map +1 -0
- package/dist/define/graph.d.ts +6 -0
- package/dist/define/graph.d.ts.map +1 -0
- package/dist/define/graph.js +9 -0
- package/dist/define/graph.js.map +1 -0
- package/dist/define/json-tree.d.ts +4 -0
- package/dist/define/json-tree.d.ts.map +1 -0
- package/dist/define/json-tree.js +7 -0
- package/dist/define/json-tree.js.map +1 -0
- package/dist/define/lanes.d.ts +4 -0
- package/dist/define/lanes.d.ts.map +1 -0
- package/dist/define/lanes.js +7 -0
- package/dist/define/lanes.js.map +1 -0
- package/dist/define/markdown.d.ts +4 -0
- package/dist/define/markdown.d.ts.map +1 -0
- package/dist/define/markdown.js +7 -0
- package/dist/define/markdown.js.map +1 -0
- package/dist/define/matrix.d.ts +4 -0
- package/dist/define/matrix.d.ts.map +1 -0
- package/dist/define/matrix.js +7 -0
- package/dist/define/matrix.js.map +1 -0
- package/dist/define/segmented.d.ts +4 -0
- package/dist/define/segmented.d.ts.map +1 -0
- package/dist/define/segmented.js +7 -0
- package/dist/define/segmented.js.map +1 -0
- package/dist/define/tiles.d.ts +5 -0
- package/dist/define/tiles.d.ts.map +1 -0
- package/dist/define/tiles.js +9 -0
- package/dist/define/tiles.js.map +1 -0
- package/dist/define/transcript.d.ts +4 -0
- package/dist/define/transcript.d.ts.map +1 -0
- package/dist/define/transcript.js +7 -0
- package/dist/define/transcript.js.map +1 -0
- package/dist/define/tree.d.ts +4 -0
- package/dist/define/tree.d.ts.map +1 -0
- package/dist/define/tree.js +7 -0
- package/dist/define/tree.js.map +1 -0
- package/dist/graph/arrange.d.ts +43 -0
- package/dist/graph/arrange.d.ts.map +1 -0
- package/dist/graph/arrange.js +390 -0
- package/dist/graph/arrange.js.map +1 -0
- package/dist/graph/card.d.ts +71 -0
- package/dist/graph/card.d.ts.map +1 -0
- package/dist/graph/card.js +185 -0
- package/dist/graph/card.js.map +1 -0
- package/dist/graph/host.d.ts +82 -0
- package/dist/graph/host.d.ts.map +1 -0
- package/dist/graph/host.js +21 -0
- package/dist/graph/host.js.map +1 -0
- package/dist/graph/icons.d.ts +7 -0
- package/dist/graph/icons.d.ts.map +1 -0
- package/dist/graph/icons.js +18 -0
- package/dist/graph/icons.js.map +1 -0
- package/dist/graph/index.d.ts +15 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +17 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/layered-graph.d.ts +226 -0
- package/dist/graph/layered-graph.d.ts.map +1 -0
- package/dist/graph/layered-graph.js +396 -0
- package/dist/graph/layered-graph.js.map +1 -0
- package/dist/graph/layout.d.ts +80 -0
- package/dist/graph/layout.d.ts.map +1 -0
- package/dist/graph/layout.js +264 -0
- package/dist/graph/layout.js.map +1 -0
- package/dist/graph/marks.d.ts +24 -0
- package/dist/graph/marks.d.ts.map +1 -0
- package/dist/graph/marks.js +38 -0
- package/dist/graph/marks.js.map +1 -0
- package/dist/graph/nav.d.ts +14 -0
- package/dist/graph/nav.d.ts.map +1 -0
- package/dist/graph/nav.js +14 -0
- package/dist/graph/nav.js.map +1 -0
- package/dist/graph/pan-zoom.d.ts +80 -0
- package/dist/graph/pan-zoom.d.ts.map +1 -0
- package/dist/graph/pan-zoom.js +191 -0
- package/dist/graph/pan-zoom.js.map +1 -0
- package/dist/graph/paths.d.ts +9 -0
- package/dist/graph/paths.d.ts.map +1 -0
- package/dist/graph/paths.js +44 -0
- package/dist/graph/paths.js.map +1 -0
- package/dist/graph/place-card.d.ts +36 -0
- package/dist/graph/place-card.d.ts.map +1 -0
- package/dist/graph/place-card.js +68 -0
- package/dist/graph/place-card.js.map +1 -0
- package/dist/graph/strings.d.ts +50 -0
- package/dist/graph/strings.d.ts.map +1 -0
- package/dist/graph/strings.js +37 -0
- package/dist/graph/strings.js.map +1 -0
- package/dist/graph/styles.d.ts +2 -0
- package/dist/graph/styles.d.ts.map +1 -0
- package/dist/graph/styles.js +203 -0
- package/dist/graph/styles.js.map +1 -0
- package/dist/graph/types.d.ts +184 -0
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +2 -0
- package/dist/graph/types.js.map +1 -0
- package/dist/graph/view.d.ts +17 -0
- package/dist/graph/view.d.ts.map +1 -0
- package/dist/graph/view.js +21 -0
- package/dist/graph/view.js.map +1 -0
- package/dist/graph/views/dag.d.ts +10 -0
- package/dist/graph/views/dag.d.ts.map +1 -0
- package/dist/graph/views/dag.js +292 -0
- package/dist/graph/views/dag.js.map +1 -0
- package/dist/graph/views/foot.d.ts +8 -0
- package/dist/graph/views/foot.d.ts.map +1 -0
- package/dist/graph/views/foot.js +103 -0
- package/dist/graph/views/foot.js.map +1 -0
- package/dist/graph/views/node-table.d.ts +17 -0
- package/dist/graph/views/node-table.d.ts.map +1 -0
- package/dist/graph/views/node-table.js +80 -0
- package/dist/graph/views/node-table.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/json/index.d.ts +2 -0
- package/dist/json/index.d.ts.map +1 -0
- package/dist/json/index.js +3 -0
- package/dist/json/index.js.map +1 -0
- package/dist/json/json-tree.d.ts +21 -0
- package/dist/json/json-tree.d.ts.map +1 -0
- package/dist/json/json-tree.js +51 -0
- package/dist/json/json-tree.js.map +1 -0
- package/dist/lanes/index.d.ts +5 -0
- package/dist/lanes/index.d.ts.map +1 -0
- package/dist/lanes/index.js +7 -0
- package/dist/lanes/index.js.map +1 -0
- package/dist/lanes/lanes.d.ts +56 -0
- package/dist/lanes/lanes.d.ts.map +1 -0
- package/dist/lanes/lanes.js +160 -0
- package/dist/lanes/lanes.js.map +1 -0
- package/dist/lanes/stack.d.ts +26 -0
- package/dist/lanes/stack.d.ts.map +1 -0
- package/dist/lanes/stack.js +43 -0
- package/dist/lanes/stack.js.map +1 -0
- package/dist/lanes/styles.d.ts +2 -0
- package/dist/lanes/styles.d.ts.map +1 -0
- package/dist/lanes/styles.js +30 -0
- package/dist/lanes/styles.js.map +1 -0
- package/dist/lanes/types.d.ts +41 -0
- package/dist/lanes/types.d.ts.map +1 -0
- package/dist/lanes/types.js +6 -0
- package/dist/lanes/types.js.map +1 -0
- package/dist/markdown/cae-markdown.d.ts +37 -0
- package/dist/markdown/cae-markdown.d.ts.map +1 -0
- package/dist/markdown/cae-markdown.js +68 -0
- package/dist/markdown/cae-markdown.js.map +1 -0
- package/dist/markdown/highlight.d.ts +2 -0
- package/dist/markdown/highlight.d.ts.map +1 -0
- package/dist/markdown/highlight.js +3 -0
- package/dist/markdown/highlight.js.map +1 -0
- package/dist/markdown/index.d.ts +4 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/markdown/index.js +6 -0
- package/dist/markdown/index.js.map +1 -0
- package/dist/markdown/markdown.d.ts +4 -0
- package/dist/markdown/markdown.d.ts.map +1 -0
- package/dist/markdown/markdown.js +105 -0
- package/dist/markdown/markdown.js.map +1 -0
- package/dist/matrix/grid-step.d.ts +8 -0
- package/dist/matrix/grid-step.d.ts.map +1 -0
- package/dist/matrix/grid-step.js +69 -0
- package/dist/matrix/grid-step.js.map +1 -0
- package/dist/matrix/index.d.ts +5 -0
- package/dist/matrix/index.d.ts.map +1 -0
- package/dist/matrix/index.js +7 -0
- package/dist/matrix/index.js.map +1 -0
- package/dist/matrix/mark-matrix.d.ts +97 -0
- package/dist/matrix/mark-matrix.d.ts.map +1 -0
- package/dist/matrix/mark-matrix.js +272 -0
- package/dist/matrix/mark-matrix.js.map +1 -0
- package/dist/matrix/styles.d.ts +4 -0
- package/dist/matrix/styles.d.ts.map +1 -0
- package/dist/matrix/styles.js +47 -0
- package/dist/matrix/styles.js.map +1 -0
- package/dist/matrix/types.d.ts +79 -0
- package/dist/matrix/types.d.ts.map +1 -0
- package/dist/matrix/types.js +5 -0
- package/dist/matrix/types.js.map +1 -0
- package/dist/primitives/fact-line.d.ts +14 -0
- package/dist/primitives/fact-line.d.ts.map +1 -0
- package/dist/primitives/fact-line.js +18 -0
- package/dist/primitives/fact-line.js.map +1 -0
- package/dist/primitives/icon.d.ts +14 -0
- package/dist/primitives/icon.d.ts.map +1 -0
- package/dist/primitives/icon.js +19 -0
- package/dist/primitives/icon.js.map +1 -0
- package/dist/primitives/index.d.ts +10 -0
- package/dist/primitives/index.d.ts.map +1 -0
- package/dist/primitives/index.js +13 -0
- package/dist/primitives/index.js.map +1 -0
- package/dist/primitives/legend.d.ts +28 -0
- package/dist/primitives/legend.d.ts.map +1 -0
- package/dist/primitives/legend.js +28 -0
- package/dist/primitives/legend.js.map +1 -0
- package/dist/primitives/pill.d.ts +23 -0
- package/dist/primitives/pill.d.ts.map +1 -0
- package/dist/primitives/pill.js +40 -0
- package/dist/primitives/pill.js.map +1 -0
- package/dist/primitives/roving-focus.d.ts +47 -0
- package/dist/primitives/roving-focus.d.ts.map +1 -0
- package/dist/primitives/roving-focus.js +111 -0
- package/dist/primitives/roving-focus.js.map +1 -0
- package/dist/primitives/segmented.d.ts +41 -0
- package/dist/primitives/segmented.d.ts.map +1 -0
- package/dist/primitives/segmented.js +88 -0
- package/dist/primitives/segmented.js.map +1 -0
- package/dist/primitives/share-bar.d.ts +37 -0
- package/dist/primitives/share-bar.d.ts.map +1 -0
- package/dist/primitives/share-bar.js +69 -0
- package/dist/primitives/share-bar.js.map +1 -0
- package/dist/primitives/states.d.ts +19 -0
- package/dist/primitives/states.d.ts.map +1 -0
- package/dist/primitives/states.js +11 -0
- package/dist/primitives/states.js.map +1 -0
- package/dist/primitives/window.d.ts +24 -0
- package/dist/primitives/window.d.ts.map +1 -0
- package/dist/primitives/window.js +56 -0
- package/dist/primitives/window.js.map +1 -0
- package/dist/styles/chips.d.ts +2 -0
- package/dist/styles/chips.d.ts.map +1 -0
- package/dist/styles/chips.js +18 -0
- package/dist/styles/chips.js.map +1 -0
- package/dist/styles/facts.d.ts +2 -0
- package/dist/styles/facts.d.ts.map +1 -0
- package/dist/styles/facts.js +7 -0
- package/dist/styles/facts.js.map +1 -0
- package/dist/styles/index.d.ts +16 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +15 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/layout.d.ts +2 -0
- package/dist/styles/layout.d.ts.map +1 -0
- package/dist/styles/layout.js +33 -0
- package/dist/styles/layout.js.map +1 -0
- package/dist/styles/marks.d.ts +2 -0
- package/dist/styles/marks.d.ts.map +1 -0
- package/dist/styles/marks.js +30 -0
- package/dist/styles/marks.js.map +1 -0
- package/dist/styles/meter.d.ts +3 -0
- package/dist/styles/meter.d.ts.map +1 -0
- package/dist/styles/meter.js +9 -0
- package/dist/styles/meter.js.map +1 -0
- package/dist/styles/motion.d.ts +2 -0
- package/dist/styles/motion.d.ts.map +1 -0
- package/dist/styles/motion.js +27 -0
- package/dist/styles/motion.js.map +1 -0
- package/dist/styles/prose.d.ts +3 -0
- package/dist/styles/prose.d.ts.map +1 -0
- package/dist/styles/prose.js +64 -0
- package/dist/styles/prose.js.map +1 -0
- package/dist/styles/reset.d.ts +2 -0
- package/dist/styles/reset.d.ts.map +1 -0
- package/dist/styles/reset.js +13 -0
- package/dist/styles/reset.js.map +1 -0
- package/dist/styles/status.d.ts +2 -0
- package/dist/styles/status.d.ts.map +1 -0
- package/dist/styles/status.js +52 -0
- package/dist/styles/status.js.map +1 -0
- package/dist/styles/text.d.ts +2 -0
- package/dist/styles/text.d.ts.map +1 -0
- package/dist/styles/text.js +21 -0
- package/dist/styles/text.js.map +1 -0
- package/dist/styles/tokens.d.ts +8 -0
- package/dist/styles/tokens.d.ts.map +1 -0
- package/dist/styles/tokens.js +32 -0
- package/dist/styles/tokens.js.map +1 -0
- package/dist/table/data-table.d.ts +106 -0
- package/dist/table/data-table.d.ts.map +1 -0
- package/dist/table/data-table.js +408 -0
- package/dist/table/data-table.js.map +1 -0
- package/dist/table/index.d.ts +4 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/index.js +6 -0
- package/dist/table/index.js.map +1 -0
- package/dist/table/styles.d.ts +2 -0
- package/dist/table/styles.d.ts.map +1 -0
- package/dist/table/styles.js +32 -0
- package/dist/table/styles.js.map +1 -0
- package/dist/table/types.d.ts +48 -0
- package/dist/table/types.d.ts.map +1 -0
- package/dist/table/types.js +30 -0
- package/dist/table/types.js.map +1 -0
- package/dist/themes/boot.d.ts +7 -0
- package/dist/themes/boot.d.ts.map +1 -0
- package/dist/themes/boot.js +14 -0
- package/dist/themes/boot.js.map +1 -0
- package/dist/themes/choice.d.ts +16 -0
- package/dist/themes/choice.d.ts.map +1 -0
- package/dist/themes/choice.js +45 -0
- package/dist/themes/choice.js.map +1 -0
- package/dist/themes/data.d.ts +43 -0
- package/dist/themes/data.d.ts.map +1 -0
- package/dist/themes/data.js +408 -0
- package/dist/themes/data.js.map +1 -0
- package/dist/themes/index.d.ts +7 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +11 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/sheet.d.ts +16 -0
- package/dist/themes/sheet.d.ts.map +1 -0
- package/dist/themes/sheet.js +28 -0
- package/dist/themes/sheet.js.map +1 -0
- package/dist/themes/token-meanings.d.ts +3 -0
- package/dist/themes/token-meanings.d.ts.map +1 -0
- package/dist/themes/token-meanings.js +67 -0
- package/dist/themes/token-meanings.js.map +1 -0
- package/dist/themes/tokens-list.d.ts +14 -0
- package/dist/themes/tokens-list.d.ts.map +1 -0
- package/dist/themes/tokens-list.js +69 -0
- package/dist/themes/tokens-list.js.map +1 -0
- package/dist/tiles/index.d.ts +4 -0
- package/dist/tiles/index.d.ts.map +1 -0
- package/dist/tiles/index.js +6 -0
- package/dist/tiles/index.js.map +1 -0
- package/dist/tiles/stat-tiles.d.ts +40 -0
- package/dist/tiles/stat-tiles.d.ts.map +1 -0
- package/dist/tiles/stat-tiles.js +99 -0
- package/dist/tiles/stat-tiles.js.map +1 -0
- package/dist/tiles/styles.d.ts +2 -0
- package/dist/tiles/styles.d.ts.map +1 -0
- package/dist/tiles/styles.js +23 -0
- package/dist/tiles/styles.js.map +1 -0
- package/dist/tiles/types.d.ts +22 -0
- package/dist/tiles/types.d.ts.map +1 -0
- package/dist/tiles/types.js +2 -0
- package/dist/tiles/types.js.map +1 -0
- package/dist/transcript/follow-scroll.d.ts +21 -0
- package/dist/transcript/follow-scroll.d.ts.map +1 -0
- package/dist/transcript/follow-scroll.js +76 -0
- package/dist/transcript/follow-scroll.js.map +1 -0
- package/dist/transcript/index.d.ts +5 -0
- package/dist/transcript/index.d.ts.map +1 -0
- package/dist/transcript/index.js +7 -0
- package/dist/transcript/index.js.map +1 -0
- package/dist/transcript/styles.d.ts +2 -0
- package/dist/transcript/styles.d.ts.map +1 -0
- package/dist/transcript/styles.js +114 -0
- package/dist/transcript/styles.js.map +1 -0
- package/dist/transcript/tags.d.ts +6 -0
- package/dist/transcript/tags.d.ts.map +1 -0
- package/dist/transcript/tags.js +13 -0
- package/dist/transcript/tags.js.map +1 -0
- package/dist/transcript/tool-card.d.ts +16 -0
- package/dist/transcript/tool-card.d.ts.map +1 -0
- package/dist/transcript/tool-card.js +87 -0
- package/dist/transcript/tool-card.js.map +1 -0
- package/dist/transcript/transcript.d.ts +103 -0
- package/dist/transcript/transcript.d.ts.map +1 -0
- package/dist/transcript/transcript.js +397 -0
- package/dist/transcript/transcript.js.map +1 -0
- package/dist/transcript/types.d.ts +161 -0
- package/dist/transcript/types.d.ts.map +1 -0
- package/dist/transcript/types.js +25 -0
- package/dist/transcript/types.js.map +1 -0
- package/dist/tree/index.d.ts +2 -0
- package/dist/tree/index.d.ts.map +1 -0
- package/dist/tree/index.js +4 -0
- package/dist/tree/index.js.map +1 -0
- package/dist/tree/tree.d.ts +83 -0
- package/dist/tree/tree.d.ts.map +1 -0
- package/dist/tree/tree.js +251 -0
- package/dist/tree/tree.js.map +1 -0
- package/docs/charts.md +58 -0
- package/docs/check-table.md +40 -0
- package/docs/code.md +55 -0
- package/docs/data-table.md +57 -0
- package/docs/examples/charts.ts +61 -0
- package/docs/examples/check-table.ts +19 -0
- package/docs/examples/ci-pipeline.ts +271 -0
- package/docs/examples/code.ts +28 -0
- package/docs/examples/data-table.ts +39 -0
- package/docs/examples/graph.ts +57 -0
- package/docs/examples/lanes.ts +40 -0
- package/docs/examples/matrix.ts +56 -0
- package/docs/examples/page.css +34 -0
- package/docs/examples/segmented.ts +18 -0
- package/docs/examples/status.ts +30 -0
- package/docs/examples/theme.css +54 -0
- package/docs/examples/tiles.ts +27 -0
- package/docs/examples/transcript.ts +59 -0
- package/docs/examples/tree.ts +44 -0
- package/docs/graph.md +112 -0
- package/docs/lanes.md +48 -0
- package/docs/matrix.md +34 -0
- package/docs/page.md +87 -0
- package/docs/primitives.md +57 -0
- package/docs/strings.md +16 -0
- package/docs/theming.md +147 -0
- package/docs/tiles.md +40 -0
- package/docs/transcript.md +73 -0
- package/docs/tree.md +44 -0
- package/docs/tsconfig.json +20 -0
- package/package.json +177 -4
- package/src/charts/bar-chart.ts +74 -0
- package/src/charts/base.ts +188 -0
- package/src/charts/column-chart.ts +153 -0
- package/src/charts/heatmap.ts +129 -0
- package/src/charts/index.ts +10 -0
- package/src/charts/line-chart.ts +128 -0
- package/src/charts/scale.ts +61 -0
- package/src/charts/state-grid.ts +245 -0
- package/src/charts/types.ts +48 -0
- package/src/checks/check-table.ts +85 -0
- package/src/checks/index.ts +5 -0
- package/src/checks/styles.ts +31 -0
- package/src/checks/types.ts +48 -0
- package/src/code/code.ts +199 -0
- package/src/code/highlight.ts +378 -0
- package/src/code/index.ts +4 -0
- package/src/core/clock.ts +46 -0
- package/src/core/define.ts +7 -0
- package/src/core/events.ts +89 -0
- package/src/core/format.ts +25 -0
- package/src/core/frame.ts +5 -0
- package/src/core/strings.ts +11 -0
- package/src/core/tone.ts +14 -0
- package/src/count/count.ts +54 -0
- package/src/count/elapsed.ts +33 -0
- package/src/count/index.ts +4 -0
- package/src/define/all.ts +15 -0
- package/src/define/charts.ts +17 -0
- package/src/define/check-table.ts +9 -0
- package/src/define/code.ts +9 -0
- package/src/define/count.ts +11 -0
- package/src/define/data-table.ts +9 -0
- package/src/define/graph.ts +11 -0
- package/src/define/json-tree.ts +9 -0
- package/src/define/lanes.ts +9 -0
- package/src/define/markdown.ts +9 -0
- package/src/define/matrix.ts +9 -0
- package/src/define/segmented.ts +9 -0
- package/src/define/tiles.ts +11 -0
- package/src/define/transcript.ts +9 -0
- package/src/define/tree.ts +9 -0
- package/src/graph/arrange.ts +399 -0
- package/src/graph/card.ts +209 -0
- package/src/graph/host.ts +100 -0
- package/src/graph/icons.ts +23 -0
- package/src/graph/index.ts +16 -0
- package/src/graph/layered-graph.ts +417 -0
- package/src/graph/layout.ts +331 -0
- package/src/graph/marks.ts +42 -0
- package/src/graph/nav.ts +19 -0
- package/src/graph/pan-zoom.ts +219 -0
- package/src/graph/paths.ts +41 -0
- package/src/graph/place-card.ts +93 -0
- package/src/graph/strings.ts +86 -0
- package/src/graph/styles.ts +204 -0
- package/src/graph/types.ts +202 -0
- package/src/graph/view.ts +28 -0
- package/src/graph/views/dag.ts +294 -0
- package/src/graph/views/foot.ts +109 -0
- package/src/graph/views/node-table.ts +90 -0
- package/src/index.ts +27 -0
- package/src/json/index.ts +2 -0
- package/src/json/json-tree.ts +49 -0
- package/src/lanes/index.ts +6 -0
- package/src/lanes/lanes.ts +143 -0
- package/src/lanes/stack.ts +51 -0
- package/src/lanes/styles.ts +30 -0
- package/src/lanes/types.ts +51 -0
- package/src/markdown/cae-markdown.ts +64 -0
- package/src/markdown/highlight.ts +2 -0
- package/src/markdown/index.ts +5 -0
- package/src/markdown/markdown.ts +110 -0
- package/src/matrix/grid-step.ts +58 -0
- package/src/matrix/index.ts +6 -0
- package/src/matrix/mark-matrix.ts +285 -0
- package/src/matrix/styles.ts +48 -0
- package/src/matrix/types.ts +83 -0
- package/src/primitives/fact-line.ts +26 -0
- package/src/primitives/icon.ts +26 -0
- package/src/primitives/index.ts +12 -0
- package/src/primitives/legend.ts +56 -0
- package/src/primitives/pill.ts +58 -0
- package/src/primitives/roving-focus.ts +138 -0
- package/src/primitives/segmented.ts +92 -0
- package/src/primitives/share-bar.ts +94 -0
- package/src/primitives/states.ts +28 -0
- package/src/primitives/window.ts +65 -0
- package/src/styles/chips.ts +18 -0
- package/src/styles/facts.ts +7 -0
- package/src/styles/index.ts +19 -0
- package/src/styles/layout.ts +33 -0
- package/src/styles/marks.ts +30 -0
- package/src/styles/meter.ts +9 -0
- package/src/styles/motion.ts +27 -0
- package/src/styles/prose.ts +64 -0
- package/src/styles/reset.ts +13 -0
- package/src/styles/status.ts +52 -0
- package/src/styles/text.ts +21 -0
- package/src/styles/tokens.ts +35 -0
- package/src/table/data-table.ts +367 -0
- package/src/table/index.ts +5 -0
- package/src/table/styles.ts +32 -0
- package/src/table/types.ts +73 -0
- package/src/themes/boot.ts +14 -0
- package/src/themes/choice.ts +47 -0
- package/src/themes/data.ts +433 -0
- package/src/themes/index.ts +10 -0
- package/src/themes/sheet.ts +29 -0
- package/src/themes/token-meanings.ts +67 -0
- package/src/themes/tokens-list.ts +82 -0
- package/src/tiles/index.ts +5 -0
- package/src/tiles/stat-tiles.ts +92 -0
- package/src/tiles/styles.ts +23 -0
- package/src/tiles/types.ts +20 -0
- package/src/transcript/follow-scroll.ts +72 -0
- package/src/transcript/index.ts +6 -0
- package/src/transcript/styles.ts +114 -0
- package/src/transcript/tags.ts +18 -0
- package/src/transcript/tool-card.ts +103 -0
- package/src/transcript/transcript.ts +358 -0
- package/src/transcript/types.ts +167 -0
- package/src/tree/index.ts +3 -0
- package/src/tree/tree.ts +263 -0
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
// A layered graph: nodes in layers, joined by edges, in clusters; each node a
|
|
2
|
+
// group of marks, one per series. The views are in `views/`.
|
|
3
|
+
import { LitElement, adoptStyles, html, nothing } from 'lit';
|
|
4
|
+
import { keyed } from 'lit/directives/keyed.js';
|
|
5
|
+
import { emit } from '../core/events.js';
|
|
6
|
+
import { withDefaults } from '../core/strings.js';
|
|
7
|
+
import { legendStyles } from '../primitives/legend.js';
|
|
8
|
+
import { icon } from '../primitives/icon.js';
|
|
9
|
+
import { base, markStyles } from '../styles/index.js';
|
|
10
|
+
import { arrange } from './arrange.js';
|
|
11
|
+
import { CardController } from './card.js';
|
|
12
|
+
import { slotsOf } from './host.js';
|
|
13
|
+
import { layoutGraph } from './layout.js';
|
|
14
|
+
import { BAR_MARKS, fillNode } from './marks.js';
|
|
15
|
+
import { PanZoomController } from './pan-zoom.js';
|
|
16
|
+
import { DEFAULT_LAYERED_GRAPH_STRINGS } from './strings.js';
|
|
17
|
+
import { graphStyles } from './styles.js';
|
|
18
|
+
import { dag } from './views/dag.js';
|
|
19
|
+
import { foot } from './views/foot.js';
|
|
20
|
+
import { nodeTable } from './views/node-table.js';
|
|
21
|
+
/** Below this width, `direction: 'auto'` draws top to bottom, without zoom. */
|
|
22
|
+
export const NARROW = 640;
|
|
23
|
+
const EMPTY = { series: [], nodes: [], clusters: [], edges: [], stubs: [] };
|
|
24
|
+
/**
|
|
25
|
+
* A layered graph: each node in a layer by the longest path to it, edges bending only
|
|
26
|
+
* in the gaps between layers and never passing a node or a cluster's label; a cluster
|
|
27
|
+
* of nodes in a box (a cluster in a cluster: a box in a box), with, when it `cycle`s,
|
|
28
|
+
* a dotted return from its last layer to its first; an edge from outside the graph
|
|
29
|
+
* from a named stub. Inside each node, one mark per series id, at the same place in
|
|
30
|
+
* every node, so a series can be followed across the graph; a mark is drawn in its
|
|
31
|
+
* state's look (`states`). Above `barAt` marks, a node shows a bar of its counts and
|
|
32
|
+
* lists its failed marks. The order depends on the structure only, and keeps a
|
|
33
|
+
* previous `order`: nodes that appear later are added at the end of their layer.
|
|
34
|
+
*
|
|
35
|
+
* A click selects a mark, a node or a cluster (`cae-select`); a card beside it (the
|
|
36
|
+
* host's content, in the `inspector` slot) moves with it as the graph pans and zooms,
|
|
37
|
+
* and hides while it is out of the frame; on a narrow screen it is a sheet under the
|
|
38
|
+
* frame. A double click or Enter is the item's action (`cae-activate`), or opens its
|
|
39
|
+
* inner view (`cae-drill`, for an item with `drill`). Hovering or focusing a mark
|
|
40
|
+
* highlights its series and what `related` names. The frame first shows the whole
|
|
41
|
+
* graph; Ctrl (or ⌘) and the wheel, or the buttons, zoom; dragging pans; "Show all"
|
|
42
|
+
* goes back. "Graph | Table" changes the view (`cae-view-change`): the table is a row
|
|
43
|
+
* per node, with its status and the nodes it is joined to. With `matrix`, the frame
|
|
44
|
+
* shows that `<cae-mark-matrix>` as the table instead.
|
|
45
|
+
*
|
|
46
|
+
* Size: the element is as wide as its container. Without a height set on it, the
|
|
47
|
+
* frame is as tall as the whole drawing at that width (never scaled up), up to 70% of
|
|
48
|
+
* the window's height or 360 px, whichever is more, and taller when the card needs
|
|
49
|
+
* it; top to bottom, as tall as the drawing. A height set on the element
|
|
50
|
+
* (or given it by a flex or grid container) is shared: the `crumbs` slot and the row
|
|
51
|
+
* under the frame keep theirs, and the frame takes the rest, the drawing fitted in it.
|
|
52
|
+
*
|
|
53
|
+
* Keyboard: Tab moves between nodes; the arrow keys, Home and End move between a
|
|
54
|
+
* node's marks, and a mark out of the frame is brought into it; Shift and an arrow
|
|
55
|
+
* key move along an edge to an earlier or a later node, on the same series; what has
|
|
56
|
+
* the focus is selected (Tab goes on to the card); Enter is the item's action; Escape
|
|
57
|
+
* clears the selection (and, with none, is left to the host).
|
|
58
|
+
*
|
|
59
|
+
* @tagname cae-layered-graph
|
|
60
|
+
* @fires cae-select - `{id}`: a mark, a node, a cluster or a table row was selected; `{id: null}`: the selection was cleared
|
|
61
|
+
* @fires cae-activate - `{id}`: an item's action (a double click or Enter)
|
|
62
|
+
* @fires cae-drill - `{id}`: an item's inner view (a double click or Enter on an item with `drill`, a cluster's chip in the table, a later part of a cluster's `path`)
|
|
63
|
+
* @fires cae-toggle - `{id, open}`: an item's open or close control (`toggle`) was used
|
|
64
|
+
* @fires cae-view-change - `{view}`: "Graph" or "Table" was chosen
|
|
65
|
+
* @slot inspector - the selected item's card: its first heading and its `[data-status]` name it to a screen reader
|
|
66
|
+
* @slot crumbs - a line above the frame (where the graph is)
|
|
67
|
+
* @csspart frame - the frame every view is drawn in
|
|
68
|
+
* @csspart stage - what pans and zooms
|
|
69
|
+
* @csspart node - each node
|
|
70
|
+
* @csspart node-header - a node's first line
|
|
71
|
+
* @csspart node-name - a node's name
|
|
72
|
+
* @csspart mark - each mark
|
|
73
|
+
* @csspart cluster - each cluster
|
|
74
|
+
* @csspart cluster-label - a cluster's header
|
|
75
|
+
* @csspart edge - each edge
|
|
76
|
+
* @csspart stub - each stub
|
|
77
|
+
* @csspart legend - the legend
|
|
78
|
+
* @csspart keys - the line of key hints under the legend
|
|
79
|
+
* @csspart inspector - the selected item's card
|
|
80
|
+
* @csspart table - the node table
|
|
81
|
+
* @csspart row - each row of the node table
|
|
82
|
+
*/
|
|
83
|
+
export class CaeLayeredGraph extends LitElement {
|
|
84
|
+
constructor() {
|
|
85
|
+
super(...arguments);
|
|
86
|
+
this.graph = EMPTY;
|
|
87
|
+
this.states = {};
|
|
88
|
+
/** The selected item's id (a mark's, a node's or a cluster's), or null. */
|
|
89
|
+
this.selected = null;
|
|
90
|
+
/** The series highlighted while no mark is hovered, focused or selected. */
|
|
91
|
+
this.highlight = null;
|
|
92
|
+
/** The order of an earlier drawing of this graph (`arrange(...).order`): its items stay where they are. */
|
|
93
|
+
this.order = undefined;
|
|
94
|
+
/** The graph's identity: a new key is a new graph (the frame shows all of it again); the same key while the graph changes keeps the zoom and pan. */
|
|
95
|
+
this.key = '';
|
|
96
|
+
/** Left to right, top to bottom, or by the width (`auto`: top to bottom below `NARROW` px). */
|
|
97
|
+
this.direction = 'auto';
|
|
98
|
+
/** The node table instead of the drawing. */
|
|
99
|
+
this.view = 'graph';
|
|
100
|
+
/** A mark matrix shown in the frame as the table, or null. */
|
|
101
|
+
this.matrix = null;
|
|
102
|
+
/** Above this many marks, a node shows a bar of its counts. */
|
|
103
|
+
this.barAt = BAR_MARKS;
|
|
104
|
+
/** The marks a hovered or selected series (or a mark's id, outside any series) lights; default: its own. */
|
|
105
|
+
this.related = undefined;
|
|
106
|
+
this.strings = {};
|
|
107
|
+
this.matrixStrings = {};
|
|
108
|
+
/** Draws an icon of a node, a matrix header and the legend; default: `icon(name)`. */
|
|
109
|
+
this.renderIcon = (name) => icon(name);
|
|
110
|
+
/** Styles for what `renderIcon` draws, added to the element's own. */
|
|
111
|
+
this.iconStyles = [];
|
|
112
|
+
/** The series (or a mark's id) under the pointer or focus. */
|
|
113
|
+
this.hover = null;
|
|
114
|
+
/** Top to bottom. */
|
|
115
|
+
this.down = false;
|
|
116
|
+
/** Where everything is drawn, from the sizes measured after the last render. */
|
|
117
|
+
this.lay = null;
|
|
118
|
+
/** What the live region says: the item just selected, and its status. */
|
|
119
|
+
this.announced = '';
|
|
120
|
+
this.arr = arrange(EMPTY);
|
|
121
|
+
this.words = DEFAULT_LAYERED_GRAPH_STRINGS;
|
|
122
|
+
/** The graph, its nodes with their defaults. */
|
|
123
|
+
this.drawn = { ...EMPTY, nodes: [] };
|
|
124
|
+
this.nodes = new Map();
|
|
125
|
+
this.clusters = new Map();
|
|
126
|
+
/** Each mark's series ('' outside any series), by its id. */
|
|
127
|
+
this.markSeries = new Map();
|
|
128
|
+
/** Each group's focused mark (roving tabindex): one tab stop per group. */
|
|
129
|
+
this.active = new Map();
|
|
130
|
+
/** What the sizes were last measured for, what the layout was computed from, and the graph it is of. */
|
|
131
|
+
this.measured = null;
|
|
132
|
+
this.layKey = '';
|
|
133
|
+
this.layFor = null;
|
|
134
|
+
this.litCache = null;
|
|
135
|
+
this.scrolled = null;
|
|
136
|
+
this.pz = new PanZoomController(this, {
|
|
137
|
+
frame: () => this.renderRoot.querySelector('.frame'),
|
|
138
|
+
stage: () => this.renderRoot.querySelector('.stage'),
|
|
139
|
+
drawing: () => (this.lay && !this.matrix ? { w: this.lay.w, h: this.lay.h, down: this.down, room: this.card.room } : null),
|
|
140
|
+
wheel: () => this.view !== 'table' && !this.matrix,
|
|
141
|
+
down: () => this.down,
|
|
142
|
+
onMove: () => this.card.place(),
|
|
143
|
+
onResize: () => {
|
|
144
|
+
this.fit();
|
|
145
|
+
this.card.place();
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
this.card = new CardController(this, {
|
|
149
|
+
docked: () => this.down,
|
|
150
|
+
frameH: () => this.pz.frameH,
|
|
151
|
+
// A mark matrix: the frame's least height holds the card.
|
|
152
|
+
grow: () => (this.matrix ? this.requestUpdate() : this.fit()),
|
|
153
|
+
pressed: () => this.pz.pressed,
|
|
154
|
+
inner: () => this.matrixEl()?.renderRoot ?? null,
|
|
155
|
+
});
|
|
156
|
+
/** This element as its views see it (`host.ts`), its private members included. */
|
|
157
|
+
this.h = this;
|
|
158
|
+
this.onEscape = (e) => {
|
|
159
|
+
if (e.key !== 'Escape' || e.defaultPrevented || !this.selected)
|
|
160
|
+
return;
|
|
161
|
+
e.preventDefault();
|
|
162
|
+
this.select(null);
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
static { this.styles = [base, markStyles, legendStyles, graphStyles]; }
|
|
166
|
+
static { this.properties = {
|
|
167
|
+
graph: { attribute: false },
|
|
168
|
+
states: { attribute: false },
|
|
169
|
+
selected: { attribute: false },
|
|
170
|
+
highlight: { attribute: false },
|
|
171
|
+
order: { attribute: false },
|
|
172
|
+
key: {},
|
|
173
|
+
direction: {},
|
|
174
|
+
view: {},
|
|
175
|
+
matrix: { attribute: false },
|
|
176
|
+
barAt: { type: Number },
|
|
177
|
+
related: { attribute: false },
|
|
178
|
+
strings: { attribute: false },
|
|
179
|
+
matrixStrings: { attribute: false },
|
|
180
|
+
renderIcon: { attribute: false },
|
|
181
|
+
iconStyles: { attribute: false },
|
|
182
|
+
hover: { state: true },
|
|
183
|
+
down: { state: true },
|
|
184
|
+
lay: { state: true },
|
|
185
|
+
announced: { state: true },
|
|
186
|
+
}; }
|
|
187
|
+
matrixEl() {
|
|
188
|
+
return this.renderRoot.querySelector('cae-mark-matrix');
|
|
189
|
+
}
|
|
190
|
+
willUpdate(changed) {
|
|
191
|
+
if (changed.has('key') && changed.get('key') !== undefined) {
|
|
192
|
+
this.pz.reset();
|
|
193
|
+
this.active.clear();
|
|
194
|
+
}
|
|
195
|
+
if (changed.has('strings'))
|
|
196
|
+
this.words = withDefaults(DEFAULT_LAYERED_GRAPH_STRINGS, this.strings);
|
|
197
|
+
if (changed.has('direction') && this.direction !== 'auto')
|
|
198
|
+
this.down = this.direction === 'down';
|
|
199
|
+
if (changed.has('graph') || changed.has('order') || changed.has('down') || changed.has('direction')) {
|
|
200
|
+
this.arr = arrange(this.graph, this.order, this.down);
|
|
201
|
+
this.clusters = new Map(this.graph.clusters.map((c) => [c.id, c]));
|
|
202
|
+
}
|
|
203
|
+
if (changed.has('graph') || changed.has('states') || changed.has('strings')) {
|
|
204
|
+
const g = this.graph;
|
|
205
|
+
this.drawn = { ...g, nodes: g.nodes.map((n) => fillNode(n, this.states, this.words.progress)) };
|
|
206
|
+
this.nodes = new Map(this.drawn.nodes.map((n) => [n.id, n]));
|
|
207
|
+
this.markSeries = new Map(this.drawn.nodes.flatMap((n) => slotsOf(n, g.series).flatMap((s) => (s ? [[s.m.id, s.series]] : []))));
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
connectedCallback() {
|
|
211
|
+
super.connectedCallback();
|
|
212
|
+
this.addEventListener('keydown', this.onEscape);
|
|
213
|
+
}
|
|
214
|
+
disconnectedCallback() {
|
|
215
|
+
super.disconnectedCallback();
|
|
216
|
+
this.removeEventListener('keydown', this.onEscape);
|
|
217
|
+
}
|
|
218
|
+
updated(changed) {
|
|
219
|
+
if (changed.has('iconStyles') && this.renderRoot instanceof ShadowRoot)
|
|
220
|
+
adoptStyles(this.renderRoot, [...this.constructor.elementStyles, ...this.iconStyles]);
|
|
221
|
+
const mx = this.matrixEl();
|
|
222
|
+
if (mx && mx !== this.scrolled) {
|
|
223
|
+
// A scroll inside the matrix moves the selected mark: the card follows it.
|
|
224
|
+
this.scrolled = mx;
|
|
225
|
+
mx.renderRoot.addEventListener('scroll', () => this.card.place(), { capture: true });
|
|
226
|
+
}
|
|
227
|
+
this.place();
|
|
228
|
+
this.card.place();
|
|
229
|
+
if (changed.has('selected'))
|
|
230
|
+
this.selectionChanged();
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Put the focus on an item without selecting it: a node (its focused mark, else its
|
|
234
|
+
* name) or a cluster (its name); with null, or when it is not drawn, on the first
|
|
235
|
+
* thing to focus (in the `crumbs` slot, else the first node).
|
|
236
|
+
*/
|
|
237
|
+
/** Put the focus on an item's open or close control (`toggle`), else on the item: where it was after the item was drawn again. */
|
|
238
|
+
focusToggle(id, tries = 4) {
|
|
239
|
+
const root = this.renderRoot;
|
|
240
|
+
// A drawing of a new structure is first drawn hidden, to be measured: focus it once it is placed.
|
|
241
|
+
if (root.querySelector('.dag.unplaced') && tries > 0) {
|
|
242
|
+
void this.updateComplete.then(() => requestAnimationFrame(() => this.focusToggle(id, tries - 1)));
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
const sel = this.clusters.has(id) ? `.cluster[data-cluster="${CSS.escape(id)}"] > .cue .tog` : `.node[data-id="${CSS.escape(id)}"] .tog`;
|
|
246
|
+
const el = root.querySelector(sel);
|
|
247
|
+
if (el)
|
|
248
|
+
this.card.focusQuietly(el);
|
|
249
|
+
else
|
|
250
|
+
this.focusItem(id);
|
|
251
|
+
}
|
|
252
|
+
focusItem(id) {
|
|
253
|
+
const root = this.renderRoot;
|
|
254
|
+
let el = null;
|
|
255
|
+
if (id && this.clusters.has(id))
|
|
256
|
+
el = root.querySelector(`.cluster[data-cluster="${CSS.escape(id)}"] > .hd .name`);
|
|
257
|
+
else if (id)
|
|
258
|
+
el = root.querySelector(`.node[data-id="${CSS.escape(id)}"] [tabindex="0"]`);
|
|
259
|
+
const crumbs = root.querySelector('slot[name="crumbs"]')?.assignedElements({ flatten: true }) ?? [];
|
|
260
|
+
const first = () => crumbs.map((c) => (c.matches('button') ? c : c.querySelector('button'))).find(Boolean) ??
|
|
261
|
+
root.querySelector('.mark[tabindex="0"], .node .name') ??
|
|
262
|
+
this.matrixEl()?.renderRoot.querySelector('.mark[tabindex="0"]') ??
|
|
263
|
+
null;
|
|
264
|
+
this.card.focusQuietly(el ?? first());
|
|
265
|
+
}
|
|
266
|
+
/** After a new selection: the card describes the item, the live region names it, and on a narrow screen the item is scrolled into view. */
|
|
267
|
+
selectionChanged() {
|
|
268
|
+
const [name, status] = this.card.describe();
|
|
269
|
+
const said = name ? [name, status].filter(Boolean).join(' | ') : '';
|
|
270
|
+
if (said !== this.announced)
|
|
271
|
+
this.announced = said;
|
|
272
|
+
if (this.down)
|
|
273
|
+
this.card.whenReleased(() => this.card.revealOverSheet());
|
|
274
|
+
}
|
|
275
|
+
/** Measure what was drawn when the graph or the width changed; lay it out again when the structure or a size changed. */
|
|
276
|
+
place() {
|
|
277
|
+
const dagEl = this.renderRoot.querySelector('.dag');
|
|
278
|
+
if (!dagEl)
|
|
279
|
+
return;
|
|
280
|
+
const g = this.graph;
|
|
281
|
+
const seen = `${this.down}|${this.clientWidth}`;
|
|
282
|
+
if (this.measured?.graph === g && this.measured.key === seen)
|
|
283
|
+
return this.fit();
|
|
284
|
+
this.measured = { graph: g, key: seen };
|
|
285
|
+
const sizes = new Map();
|
|
286
|
+
for (const el of dagEl.querySelectorAll('[data-id]'))
|
|
287
|
+
sizes.set(el.dataset['id'] ?? '', { w: el.offsetWidth, h: el.offsetHeight });
|
|
288
|
+
const a = this.arr;
|
|
289
|
+
const key = JSON.stringify([this.key, a.slots, a.edgePaths.map((r) => r.steps.map((s) => s.id)), this.down, [...sizes]]);
|
|
290
|
+
if (key === this.layKey)
|
|
291
|
+
return this.fit();
|
|
292
|
+
this.layKey = key;
|
|
293
|
+
this.layFor = this.key;
|
|
294
|
+
this.lay = layoutGraph(a, sizes, this.down);
|
|
295
|
+
void this.updateComplete.then(() => this.fit());
|
|
296
|
+
}
|
|
297
|
+
/** Top to bottom on a narrow screen (`auto`); otherwise the whole graph in a frame, until the reader zooms or pans. */
|
|
298
|
+
fit() {
|
|
299
|
+
if (this.direction === 'auto') {
|
|
300
|
+
const w = this.clientWidth;
|
|
301
|
+
const down = w > 0 && w < NARROW;
|
|
302
|
+
if (down !== this.down)
|
|
303
|
+
this.down = down;
|
|
304
|
+
}
|
|
305
|
+
this.pz.fit();
|
|
306
|
+
}
|
|
307
|
+
select(id) {
|
|
308
|
+
if (id !== this.selected)
|
|
309
|
+
emit(this, 'cae-select', { id });
|
|
310
|
+
}
|
|
311
|
+
/** An item's action: its inner view when it has one. */
|
|
312
|
+
act(id) {
|
|
313
|
+
const x = this.nodes.get(id) ?? this.clusters.get(id) ?? this.findMark(id);
|
|
314
|
+
if (x?.drill)
|
|
315
|
+
this.drill(id);
|
|
316
|
+
else if (x)
|
|
317
|
+
emit(this, 'cae-activate', { id });
|
|
318
|
+
}
|
|
319
|
+
findMark(id) {
|
|
320
|
+
for (const n of this.drawn.nodes)
|
|
321
|
+
for (const m of [...n.marks, ...n.loose])
|
|
322
|
+
if (m?.id === id)
|
|
323
|
+
return m;
|
|
324
|
+
for (const r of this.matrix?.rows ?? [])
|
|
325
|
+
for (const m of r.cells)
|
|
326
|
+
if (m?.id === id)
|
|
327
|
+
return m;
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
330
|
+
/** The series (or mark id) highlighted: the one hovered or focused, else the selected mark's, else `highlight`; and the marks it lights. */
|
|
331
|
+
lit() {
|
|
332
|
+
const sel = this.selected;
|
|
333
|
+
const mine = this.hover === null && sel !== null && this.markSeries.has(sel) ? this.markSeries.get(sel) || sel : null;
|
|
334
|
+
const key = this.hover ?? mine ?? this.highlight ?? null;
|
|
335
|
+
const c = this.litCache;
|
|
336
|
+
if (c && c.key === key && c.graph === this.graph && c.related === this.related)
|
|
337
|
+
return c;
|
|
338
|
+
const on = key === null ? null : (this.related ?? ((k) => new Set([k])))(key);
|
|
339
|
+
this.litCache = { key, graph: this.graph, related: this.related, on };
|
|
340
|
+
return this.litCache;
|
|
341
|
+
}
|
|
342
|
+
known(id) {
|
|
343
|
+
return this.nodes.has(id) || this.clusters.has(id) || !!this.findMark(id);
|
|
344
|
+
}
|
|
345
|
+
render() {
|
|
346
|
+
const h = this.h;
|
|
347
|
+
const mx = this.matrix;
|
|
348
|
+
const body = mx ? this.matrixView(mx) : this.view === 'table' ? nodeTable(h) : dag(h);
|
|
349
|
+
const sel = this.selected;
|
|
350
|
+
const card = sel && this.querySelector('[slot=inspector]') && this.known(sel)
|
|
351
|
+
? keyed(sel, html `<section id="insp" class="insp ${this.down ? 'sheet' : ''}" part="inspector" aria-label=${this.words.inspector} @keydown=${this.card.onCardKey}>
|
|
352
|
+
<span class="ptr" aria-hidden="true"></span>
|
|
353
|
+
<div class="scroll"><slot name="inspector"></slot></div>
|
|
354
|
+
</section>`)
|
|
355
|
+
: nothing;
|
|
356
|
+
return html `<div class="col">
|
|
357
|
+
<slot name="crumbs"></slot>
|
|
358
|
+
<div class="main">${body}${card}<div class="sr" role="status">${this.announced}</div></div>
|
|
359
|
+
${foot(h, mx)}
|
|
360
|
+
</div>`;
|
|
361
|
+
}
|
|
362
|
+
/** A mark matrix in the frame, at least as tall as the drawing was (and as the card needs), centred in it. */
|
|
363
|
+
matrixView(mx) {
|
|
364
|
+
const least = this.down ? 0 : Math.round(Math.max(this.pz.frameH, this.card.room));
|
|
365
|
+
return html `<div class="frame mxframe" part="frame" style=${least ? `min-height:${least}px` : ''}>
|
|
366
|
+
<cae-mark-matrix .matrix=${mx} .states=${this.states} .selected=${this.selected} .highlight=${this.highlight} .key=${this.key}
|
|
367
|
+
.strings=${this.matrixStrings} .renderIcon=${this.renderIcon} .iconStyles=${this.iconStyles}></cae-mark-matrix>
|
|
368
|
+
</div>`;
|
|
369
|
+
}
|
|
370
|
+
// What the views read and call besides the members above (`host.ts`).
|
|
371
|
+
get laidOut() {
|
|
372
|
+
return this.layFor === this.key;
|
|
373
|
+
}
|
|
374
|
+
get asTable() {
|
|
375
|
+
return this.view === 'table';
|
|
376
|
+
}
|
|
377
|
+
focusSelect(id) {
|
|
378
|
+
if (!this.card.quiet)
|
|
379
|
+
this.select(id);
|
|
380
|
+
}
|
|
381
|
+
drill(id) {
|
|
382
|
+
emit(this, 'cae-drill', { id });
|
|
383
|
+
}
|
|
384
|
+
toggle(id, open) {
|
|
385
|
+
emit(this, 'cae-toggle', { id, open });
|
|
386
|
+
}
|
|
387
|
+
showView(v) {
|
|
388
|
+
// A mark matrix is the table: only "Graph" leaves it, and the host decides where to.
|
|
389
|
+
if (this.matrix && v === 'table')
|
|
390
|
+
return;
|
|
391
|
+
if (!this.matrix)
|
|
392
|
+
this.view = v;
|
|
393
|
+
emit(this, 'cae-view-change', { view: v });
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
//# sourceMappingURL=layered-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layered-graph.js","sourceRoot":"","sources":["../../src/graph/layered-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { Arrangement, EdgeStyle } from './types.js';
|
|
2
|
+
export interface Size {
|
|
3
|
+
w: number;
|
|
4
|
+
h: number;
|
|
5
|
+
}
|
|
6
|
+
/** A rectangle in the drawing. */
|
|
7
|
+
export interface Rect {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
w: number;
|
|
11
|
+
h: number;
|
|
12
|
+
}
|
|
13
|
+
/** A straight stretch of an edge along the flow, from `a` to `b`, `at` across it; an edge bends between two. */
|
|
14
|
+
export interface Stretch {
|
|
15
|
+
a: number;
|
|
16
|
+
b: number;
|
|
17
|
+
at: number;
|
|
18
|
+
}
|
|
19
|
+
export interface GraphLayout {
|
|
20
|
+
/** The drawing's size, its margin included. */
|
|
21
|
+
w: number;
|
|
22
|
+
h: number;
|
|
23
|
+
/** Every node, stub and cluster, by id. */
|
|
24
|
+
at: Record<string, Rect>;
|
|
25
|
+
/** Every edge path, with its runs. */
|
|
26
|
+
edges: {
|
|
27
|
+
from: string;
|
|
28
|
+
to: string;
|
|
29
|
+
style: EdgeStyle;
|
|
30
|
+
runs: Stretch[];
|
|
31
|
+
}[];
|
|
32
|
+
/** Each cycling cluster's return to its next round. */
|
|
33
|
+
returns: LoopReturn[];
|
|
34
|
+
down: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A cluster's return to its next round, along the flow (`u`) and across it (`v`): from
|
|
38
|
+
* the far side of its last layer's outermost item (`from`, at `v0`) out to a band
|
|
39
|
+
* past its content (`band`), back along the band, and in to its first layer's
|
|
40
|
+
* outermost item (`to`, at `v1`). Left to right the band is under the nodes; top to
|
|
41
|
+
* bottom, on their right.
|
|
42
|
+
*/
|
|
43
|
+
export interface LoopReturn {
|
|
44
|
+
box: string;
|
|
45
|
+
from: number;
|
|
46
|
+
v0: number;
|
|
47
|
+
to: number;
|
|
48
|
+
v1: number;
|
|
49
|
+
band: number;
|
|
50
|
+
}
|
|
51
|
+
/** The spaces of a drawing; left to right unless `down`. */
|
|
52
|
+
export interface LayoutSpace {
|
|
53
|
+
/** Between two layers, at the top level and in a cluster. */
|
|
54
|
+
gap: number;
|
|
55
|
+
boxGap: number;
|
|
56
|
+
/** Between two items of a layer, and next to a point an edge passes. */
|
|
57
|
+
sep: number;
|
|
58
|
+
pointSep: number;
|
|
59
|
+
/** A cluster's padding, and the space under its label. */
|
|
60
|
+
pad: number;
|
|
61
|
+
/** The space after a box's content, across the flow: the band its return to the next round runs in. */
|
|
62
|
+
padEnd: number;
|
|
63
|
+
margin: number;
|
|
64
|
+
}
|
|
65
|
+
/** The band past a cluster's content that its return to the next round runs in, and the return's corner radius. */
|
|
66
|
+
export declare const RETURN_BAND = 24;
|
|
67
|
+
export declare const RETURN_R = 6;
|
|
68
|
+
export declare const SPACE: Record<'across' | 'down', LayoutSpace>;
|
|
69
|
+
/**
|
|
70
|
+
* Where everything of a layered graph is drawn, from the sizes of its nodes, its stubs
|
|
71
|
+
* and its clusters' labels (`lbl:<box id>`): left to right, or top to bottom when
|
|
72
|
+
* `down`. Each container is laid out inside out, a box being one item of its parent:
|
|
73
|
+
* its layers side by side, an item at the start of its layer; across the flow, each
|
|
74
|
+
* item as near as its order allows to the items it is joined to (sweeps of weighted
|
|
75
|
+
* isotonic regression), so chains run straight. An edge runs along its points and
|
|
76
|
+
* bends only in the gap between two layers; it enters and leaves a box where its
|
|
77
|
+
* point inside is, and never passes a node or a box's label.
|
|
78
|
+
*/
|
|
79
|
+
export declare function layoutGraph(g: Pick<Arrangement, 'clusters' | 'slots' | 'edgePaths'>, sizes: ReadonlyMap<string, Size>, down?: boolean): GraphLayout;
|
|
80
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/graph/layout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAEvE,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,kCAAkC;AAClC,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,gHAAgH;AAChH,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,sCAAsC;IACtC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,EAAE,CAAC;IACzE,uDAAuD;IACvD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,uGAAuG;IACvG,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mHAAmH;AACnH,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,WAAW,CAGxD,CAAC;AAsBF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,UAAQ,GAAG,WAAW,CA8NjJ"}
|