@flyingrobots/bijou 7.1.0 → 7.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/dist/adapters/test/assertions.d.ts.map +1 -1
- package/dist/adapters/test/assertions.js +3 -2
- package/dist/adapters/test/assertions.js.map +1 -1
- package/dist/adapters/test/audit-style.d.ts.map +1 -1
- package/dist/adapters/test/audit-style.js +7 -4
- package/dist/adapters/test/audit-style.js.map +1 -1
- package/dist/adapters/test/clock.d.ts +2 -35
- package/dist/adapters/test/clock.d.ts.map +1 -1
- package/dist/adapters/test/clock.js +1 -131
- package/dist/adapters/test/clock.js.map +1 -1
- package/dist/adapters/test/clock.part01.d.ts +29 -0
- package/dist/adapters/test/clock.part01.d.ts.map +1 -0
- package/dist/adapters/test/clock.part01.js +6 -0
- package/dist/adapters/test/clock.part01.js.map +1 -0
- package/dist/adapters/test/clock.part02.d.ts +3 -0
- package/dist/adapters/test/clock.part02.d.ts.map +1 -0
- package/dist/adapters/test/clock.part02.js +123 -0
- package/dist/adapters/test/clock.part02.js.map +1 -0
- package/dist/adapters/test/fixtures.d.ts +3 -3
- package/dist/adapters/test/fixtures.d.ts.map +1 -1
- package/dist/adapters/test/fixtures.js +7 -4
- package/dist/adapters/test/fixtures.js.map +1 -1
- package/dist/adapters/test/index.d.ts +3 -0
- package/dist/adapters/test/index.d.ts.map +1 -1
- package/dist/adapters/test/index.js +5 -0
- package/dist/adapters/test/index.js.map +1 -1
- package/dist/adapters/test/io.d.ts +2 -48
- package/dist/adapters/test/io.d.ts.map +1 -1
- package/dist/adapters/test/io.js +1 -146
- package/dist/adapters/test/io.js.map +1 -1
- package/dist/adapters/test/io.part01.d.ts +29 -0
- package/dist/adapters/test/io.part01.d.ts.map +1 -0
- package/dist/adapters/test/io.part01.js +2 -0
- package/dist/adapters/test/io.part01.js.map +1 -0
- package/dist/adapters/test/io.part02.d.ts +3 -0
- package/dist/adapters/test/io.part02.d.ts.map +1 -0
- package/dist/adapters/test/io.part02.js +136 -0
- package/dist/adapters/test/io.part02.js.map +1 -0
- package/dist/core/active-binding-collection.d.ts.map +1 -1
- package/dist/core/active-binding-collection.js +61 -45
- package/dist/core/active-binding-collection.js.map +1 -1
- package/dist/core/ansi.d.ts +4 -0
- package/dist/core/ansi.d.ts.map +1 -1
- package/dist/core/ansi.js +7 -0
- package/dist/core/ansi.js.map +1 -1
- package/dist/core/app-shell-composition.js +7 -5
- package/dist/core/app-shell-composition.js.map +1 -1
- package/dist/core/bg-fill.d.ts.map +1 -1
- package/dist/core/bg-fill.js +5 -4
- package/dist/core/bg-fill.js.map +1 -1
- package/dist/core/binding-frame-update.js +8 -10
- package/dist/core/binding-frame-update.js.map +1 -1
- package/dist/core/binding-lifecycle.d.ts +3 -64
- package/dist/core/binding-lifecycle.d.ts.map +1 -1
- package/dist/core/binding-lifecycle.js +2 -356
- package/dist/core/binding-lifecycle.js.map +1 -1
- package/dist/core/binding-lifecycle.part01.d.ts +63 -0
- package/dist/core/binding-lifecycle.part01.d.ts.map +1 -0
- package/dist/core/binding-lifecycle.part01.js +30 -0
- package/dist/core/binding-lifecycle.part01.js.map +1 -0
- package/dist/core/binding-lifecycle.part02.d.ts +6 -0
- package/dist/core/binding-lifecycle.part02.d.ts.map +1 -0
- package/dist/core/binding-lifecycle.part02.js +77 -0
- package/dist/core/binding-lifecycle.part02.js.map +1 -0
- package/dist/core/binding-lifecycle.part03.d.ts +6 -0
- package/dist/core/binding-lifecycle.part03.d.ts.map +1 -0
- package/dist/core/binding-lifecycle.part03.js +67 -0
- package/dist/core/binding-lifecycle.part03.js.map +1 -0
- package/dist/core/binding-lifecycle.part04.d.ts +8 -0
- package/dist/core/binding-lifecycle.part04.d.ts.map +1 -0
- package/dist/core/binding-lifecycle.part04.js +71 -0
- package/dist/core/binding-lifecycle.part04.js.map +1 -0
- package/dist/core/binding-lifecycle.part05.d.ts +6 -0
- package/dist/core/binding-lifecycle.part05.d.ts.map +1 -0
- package/dist/core/binding-lifecycle.part05.js +73 -0
- package/dist/core/binding-lifecycle.part05.js.map +1 -0
- package/dist/core/binding-lifecycle.part06.d.ts +20 -0
- package/dist/core/binding-lifecycle.part06.d.ts.map +1 -0
- package/dist/core/binding-lifecycle.part06.js +64 -0
- package/dist/core/binding-lifecycle.part06.js.map +1 -0
- package/dist/core/binding.d.ts +9 -191
- package/dist/core/binding.d.ts.map +1 -1
- package/dist/core/binding.js +7 -586
- package/dist/core/binding.js.map +1 -1
- package/dist/core/binding.part01.d.ts +92 -0
- package/dist/core/binding.part01.d.ts.map +1 -0
- package/dist/core/binding.part01.js +10 -0
- package/dist/core/binding.part01.js.map +1 -0
- package/dist/core/binding.part02.d.ts +50 -0
- package/dist/core/binding.part02.d.ts.map +1 -0
- package/dist/core/binding.part02.js +17 -0
- package/dist/core/binding.part02.js.map +1 -0
- package/dist/core/binding.part03.d.ts +18 -0
- package/dist/core/binding.part03.d.ts.map +1 -0
- package/dist/core/binding.part03.js +70 -0
- package/dist/core/binding.part03.js.map +1 -0
- package/dist/core/binding.part04.d.ts +17 -0
- package/dist/core/binding.part04.d.ts.map +1 -0
- package/dist/core/binding.part04.js +57 -0
- package/dist/core/binding.part04.js.map +1 -0
- package/dist/core/binding.part05.d.ts +15 -0
- package/dist/core/binding.part05.d.ts.map +1 -0
- package/dist/core/binding.part05.js +78 -0
- package/dist/core/binding.part05.js.map +1 -0
- package/dist/core/binding.part06.d.ts +10 -0
- package/dist/core/binding.part06.d.ts.map +1 -0
- package/dist/core/binding.part06.js +48 -0
- package/dist/core/binding.part06.js.map +1 -0
- package/dist/core/binding.part07.d.ts +9 -0
- package/dist/core/binding.part07.d.ts.map +1 -0
- package/dist/core/binding.part07.js +83 -0
- package/dist/core/binding.part07.js.map +1 -0
- package/dist/core/binding.part08.d.ts +4 -0
- package/dist/core/binding.part08.d.ts.map +1 -0
- package/dist/core/binding.part08.js +81 -0
- package/dist/core/binding.part08.js.map +1 -0
- package/dist/core/binding.part09.d.ts +23 -0
- package/dist/core/binding.part09.d.ts.map +1 -0
- package/dist/core/binding.part09.js +76 -0
- package/dist/core/binding.part09.js.map +1 -0
- package/dist/core/binding.part10.d.ts +8 -0
- package/dist/core/binding.part10.d.ts.map +1 -0
- package/dist/core/binding.part10.js +84 -0
- package/dist/core/binding.part10.js.map +1 -0
- package/dist/core/binding.part11.d.ts +6 -0
- package/dist/core/binding.part11.d.ts.map +1 -0
- package/dist/core/binding.part11.js +27 -0
- package/dist/core/binding.part11.js.map +1 -0
- package/dist/core/block-metadata.d.ts +5 -112
- package/dist/core/block-metadata.d.ts.map +1 -1
- package/dist/core/block-metadata.js +3 -375
- package/dist/core/block-metadata.js.map +1 -1
- package/dist/core/block-metadata.part01.d.ts +76 -0
- package/dist/core/block-metadata.part01.d.ts.map +1 -0
- package/dist/core/block-metadata.part01.js +2 -0
- package/dist/core/block-metadata.part01.js.map +1 -0
- package/dist/core/block-metadata.part02.d.ts +37 -0
- package/dist/core/block-metadata.part02.d.ts.map +1 -0
- package/dist/core/block-metadata.part02.js +59 -0
- package/dist/core/block-metadata.part02.js.map +1 -0
- package/dist/core/block-metadata.part03.d.ts +11 -0
- package/dist/core/block-metadata.part03.d.ts.map +1 -0
- package/dist/core/block-metadata.part03.js +81 -0
- package/dist/core/block-metadata.part03.js.map +1 -0
- package/dist/core/block-metadata.part04.d.ts +8 -0
- package/dist/core/block-metadata.part04.d.ts.map +1 -0
- package/dist/core/block-metadata.part04.js +73 -0
- package/dist/core/block-metadata.part04.js.map +1 -0
- package/dist/core/block-metadata.part05.d.ts +7 -0
- package/dist/core/block-metadata.part05.d.ts.map +1 -0
- package/dist/core/block-metadata.part05.js +64 -0
- package/dist/core/block-metadata.part05.js.map +1 -0
- package/dist/core/block-metadata.part06.d.ts +11 -0
- package/dist/core/block-metadata.part06.d.ts.map +1 -0
- package/dist/core/block-metadata.part06.js +72 -0
- package/dist/core/block-metadata.part06.js.map +1 -0
- package/dist/core/block-metadata.part07.d.ts +9 -0
- package/dist/core/block-metadata.part07.d.ts.map +1 -0
- package/dist/core/block-metadata.part07.js +49 -0
- package/dist/core/block-metadata.part07.js.map +1 -0
- package/dist/core/block-tree-render.js +7 -8
- package/dist/core/block-tree-render.js.map +1 -1
- package/dist/core/clock.d.ts.map +1 -1
- package/dist/core/clock.js +8 -1
- package/dist/core/clock.js.map +1 -1
- package/dist/core/component-metadata.d.ts +3 -62
- package/dist/core/component-metadata.d.ts.map +1 -1
- package/dist/core/component-metadata.js +2 -157
- package/dist/core/component-metadata.js.map +1 -1
- package/dist/core/component-metadata.part01.d.ts +63 -0
- package/dist/core/component-metadata.part01.d.ts.map +1 -0
- package/dist/core/component-metadata.part01.js +31 -0
- package/dist/core/component-metadata.part01.js.map +1 -0
- package/dist/core/component-metadata.part02.d.ts +9 -0
- package/dist/core/component-metadata.part02.d.ts.map +1 -0
- package/dist/core/component-metadata.part02.js +77 -0
- package/dist/core/component-metadata.part02.js.map +1 -0
- package/dist/core/component-metadata.part03.d.ts +12 -0
- package/dist/core/component-metadata.part03.d.ts.map +1 -0
- package/dist/core/component-metadata.part03.js +55 -0
- package/dist/core/component-metadata.part03.js.map +1 -0
- package/dist/core/components/alert.d.ts +1 -1
- package/dist/core/components/alert.d.ts.map +1 -1
- package/dist/core/components/alert.js.map +1 -1
- package/dist/core/components/badge.d.ts.map +1 -1
- package/dist/core/components/badge.js +9 -7
- package/dist/core/components/badge.js.map +1 -1
- package/dist/core/components/box-v3.d.ts.map +1 -1
- package/dist/core/components/box-v3.js +10 -10
- package/dist/core/components/box-v3.js.map +1 -1
- package/dist/core/components/box.d.ts +2 -2
- package/dist/core/components/box.d.ts.map +1 -1
- package/dist/core/components/box.js.map +1 -1
- package/dist/core/components/braille-chart.d.ts.map +1 -1
- package/dist/core/components/braille-chart.js +9 -2
- package/dist/core/components/braille-chart.js.map +1 -1
- package/dist/core/components/constrain.d.ts +1 -1
- package/dist/core/components/constrain.d.ts.map +1 -1
- package/dist/core/components/constrain.js.map +1 -1
- package/dist/core/components/cursor-guard.d.ts +1 -0
- package/dist/core/components/cursor-guard.d.ts.map +1 -1
- package/dist/core/components/cursor-guard.js +2 -18
- package/dist/core/components/cursor-guard.js.map +1 -1
- package/dist/core/components/dag-edges.d.ts.map +1 -1
- package/dist/core/components/dag-edges.js +5 -3
- package/dist/core/components/dag-edges.js.map +1 -1
- package/dist/core/components/dag-layout.d.ts.map +1 -1
- package/dist/core/components/dag-layout.js +19 -19
- package/dist/core/components/dag-layout.js.map +1 -1
- package/dist/core/components/dag-render.d.ts.map +1 -1
- package/dist/core/components/dag-render.js +23 -27
- package/dist/core/components/dag-render.js.map +1 -1
- package/dist/core/components/dag-source.d.ts.map +1 -1
- package/dist/core/components/dag-source.js +23 -29
- package/dist/core/components/dag-source.js.map +1 -1
- package/dist/core/components/dag-stats-types.d.ts +16 -0
- package/dist/core/components/dag-stats-types.d.ts.map +1 -0
- package/dist/core/components/dag-stats-types.js +2 -0
- package/dist/core/components/dag-stats-types.js.map +1 -0
- package/dist/core/components/dag-stats.d.ts +3 -17
- package/dist/core/components/dag-stats.d.ts.map +1 -1
- package/dist/core/components/dag-stats.js +25 -2
- package/dist/core/components/dag-stats.js.map +1 -1
- package/dist/core/components/dag.d.ts +2 -148
- package/dist/core/components/dag.d.ts.map +1 -1
- package/dist/core/components/dag.js +1 -40
- package/dist/core/components/dag.js.map +1 -1
- package/dist/core/components/dag.part01.d.ts +78 -0
- package/dist/core/components/dag.part01.d.ts.map +1 -0
- package/dist/core/components/dag.part01.js +2 -0
- package/dist/core/components/dag.part01.js.map +1 -0
- package/dist/core/components/dag.part02.d.ts +7 -0
- package/dist/core/components/dag.part02.d.ts.map +1 -0
- package/dist/core/components/dag.part02.js +41 -0
- package/dist/core/components/dag.part02.js.map +1 -0
- package/dist/core/components/data-viz-utils.d.ts.map +1 -1
- package/dist/core/components/data-viz-utils.js +17 -16
- package/dist/core/components/data-viz-utils.js.map +1 -1
- package/dist/core/components/enumerated-list.d.ts.map +1 -1
- package/dist/core/components/enumerated-list.js +15 -19
- package/dist/core/components/enumerated-list.js.map +1 -1
- package/dist/core/components/explainability.js +1 -1
- package/dist/core/components/explainability.js.map +1 -1
- package/dist/core/components/hyperlink.js +2 -2
- package/dist/core/components/hyperlink.js.map +1 -1
- package/dist/core/components/index.d.ts.map +1 -1
- package/dist/core/components/index.js.map +1 -1
- package/dist/core/components/inspector-types.d.ts +40 -0
- package/dist/core/components/inspector-types.d.ts.map +1 -0
- package/dist/core/components/inspector-types.js +2 -0
- package/dist/core/components/inspector-types.js.map +1 -0
- package/dist/core/components/inspector.d.ts +2 -39
- package/dist/core/components/inspector.d.ts.map +1 -1
- package/dist/core/components/inspector.js.map +1 -1
- package/dist/core/components/inspector.test-style.d.ts +3 -0
- package/dist/core/components/inspector.test-style.d.ts.map +1 -0
- package/dist/core/components/inspector.test-style.js +52 -0
- package/dist/core/components/inspector.test-style.js.map +1 -0
- package/dist/core/components/log.d.ts.map +1 -1
- package/dist/core/components/log.js.map +1 -1
- package/dist/core/components/logo.d.ts +2 -0
- package/dist/core/components/logo.d.ts.map +1 -1
- package/dist/core/components/logo.js +2 -1
- package/dist/core/components/logo.js.map +1 -1
- package/dist/core/components/markdown-parse.d.ts.map +1 -1
- package/dist/core/components/markdown-parse.js +26 -33
- package/dist/core/components/markdown-parse.js.map +1 -1
- package/dist/core/components/markdown-render.d.ts +0 -16
- package/dist/core/components/markdown-render.d.ts.map +1 -1
- package/dist/core/components/markdown-render.js +24 -37
- package/dist/core/components/markdown-render.js.map +1 -1
- package/dist/core/components/markdown.d.ts +1 -1
- package/dist/core/components/markdown.d.ts.map +1 -1
- package/dist/core/components/markdown.js.map +1 -1
- package/dist/core/components/paginator.d.ts.map +1 -1
- package/dist/core/components/paginator.js +5 -3
- package/dist/core/components/paginator.js.map +1 -1
- package/dist/core/components/perf-overlay.js +1 -1
- package/dist/core/components/perf-overlay.js.map +1 -1
- package/dist/core/components/preference-list.d.ts.map +1 -1
- package/dist/core/components/preference-list.js +26 -25
- package/dist/core/components/preference-list.js.map +1 -1
- package/dist/core/components/progress.d.ts +1 -2
- package/dist/core/components/progress.d.ts.map +1 -1
- package/dist/core/components/progress.js +4 -3
- package/dist/core/components/progress.js.map +1 -1
- package/dist/core/components/separator-v3.d.ts.map +1 -1
- package/dist/core/components/separator-v3.js +8 -6
- package/dist/core/components/separator-v3.js.map +1 -1
- package/dist/core/components/sparkline.d.ts.map +1 -1
- package/dist/core/components/sparkline.js +5 -6
- package/dist/core/components/sparkline.js.map +1 -1
- package/dist/core/components/stats-panel.js +2 -2
- package/dist/core/components/stats-panel.js.map +1 -1
- package/dist/core/components/stepper.js +1 -1
- package/dist/core/components/stepper.js.map +1 -1
- package/dist/core/components/surface-text.d.ts.map +1 -1
- package/dist/core/components/surface-text.js +9 -11
- package/dist/core/components/surface-text.js.map +1 -1
- package/dist/core/components/table-v3.js +20 -23
- package/dist/core/components/table-v3.js.map +1 -1
- package/dist/core/components/table.d.ts +2 -2
- package/dist/core/components/table.d.ts.map +1 -1
- package/dist/core/components/table.js +35 -38
- package/dist/core/components/table.js.map +1 -1
- package/dist/core/components/tabs.js +1 -1
- package/dist/core/components/tabs.js.map +1 -1
- package/dist/core/components/timeline.js.map +1 -1
- package/dist/core/components/timer.js +3 -3
- package/dist/core/components/timer.js.map +1 -1
- package/dist/core/components/tree.js +1 -1
- package/dist/core/components/tree.js.map +1 -1
- package/dist/core/detect/tty.js +3 -2
- package/dist/core/detect/tty.js.map +1 -1
- package/dist/core/forms/filter-interactive.d.ts.map +1 -1
- package/dist/core/forms/filter-interactive.js +8 -8
- package/dist/core/forms/filter-interactive.js.map +1 -1
- package/dist/core/forms/filter.js +7 -2
- package/dist/core/forms/filter.js.map +1 -1
- package/dist/core/forms/form-utils.d.ts +3 -155
- package/dist/core/forms/form-utils.d.ts.map +1 -1
- package/dist/core/forms/form-utils.js +2 -231
- package/dist/core/forms/form-utils.js.map +1 -1
- package/dist/core/forms/form-utils.part01.d.ts +30 -0
- package/dist/core/forms/form-utils.part01.d.ts.map +1 -0
- package/dist/core/forms/form-utils.part01.js +86 -0
- package/dist/core/forms/form-utils.part01.js.map +1 -0
- package/dist/core/forms/form-utils.part02.d.ts +6 -0
- package/dist/core/forms/form-utils.part02.d.ts.map +1 -0
- package/dist/core/forms/form-utils.part02.js +27 -0
- package/dist/core/forms/form-utils.part02.js.map +1 -0
- package/dist/core/forms/group.d.ts.map +1 -1
- package/dist/core/forms/group.js +5 -0
- package/dist/core/forms/group.js.map +1 -1
- package/dist/core/forms/input.js +1 -1
- package/dist/core/forms/input.js.map +1 -1
- package/dist/core/forms/multiselect.js +11 -23
- package/dist/core/forms/multiselect.js.map +1 -1
- package/dist/core/forms/note.d.ts.map +1 -1
- package/dist/core/forms/note.js +2 -1
- package/dist/core/forms/note.js.map +1 -1
- package/dist/core/forms/select-types.d.ts +12 -0
- package/dist/core/forms/select-types.d.ts.map +1 -0
- package/dist/core/forms/select-types.js +2 -0
- package/dist/core/forms/select-types.js.map +1 -0
- package/dist/core/forms/select.d.ts +2 -11
- package/dist/core/forms/select.d.ts.map +1 -1
- package/dist/core/forms/select.js +12 -33
- package/dist/core/forms/select.js.map +1 -1
- package/dist/core/forms/textarea-editor.d.ts +0 -21
- package/dist/core/forms/textarea-editor.d.ts.map +1 -1
- package/dist/core/forms/textarea-editor.js +17 -37
- package/dist/core/forms/textarea-editor.js.map +1 -1
- package/dist/core/forms/textarea.js +1 -1
- package/dist/core/forms/textarea.js.map +1 -1
- package/dist/core/forms/wizard.d.ts +8 -3
- package/dist/core/forms/wizard.d.ts.map +1 -1
- package/dist/core/forms/wizard.js +11 -1
- package/dist/core/forms/wizard.js.map +1 -1
- package/dist/core/graphql-bijou-block.d.ts +5 -93
- package/dist/core/graphql-bijou-block.d.ts.map +1 -1
- package/dist/core/graphql-bijou-block.js +4 -569
- package/dist/core/graphql-bijou-block.js.map +1 -1
- package/dist/core/graphql-bijou-block.part01.d.ts +97 -0
- package/dist/core/graphql-bijou-block.part01.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part01.js +3 -0
- package/dist/core/graphql-bijou-block.part01.js.map +1 -0
- package/dist/core/graphql-bijou-block.part02.d.ts +26 -0
- package/dist/core/graphql-bijou-block.part02.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part02.js +45 -0
- package/dist/core/graphql-bijou-block.part02.js.map +1 -0
- package/dist/core/graphql-bijou-block.part03.d.ts +4 -0
- package/dist/core/graphql-bijou-block.part03.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part03.js +69 -0
- package/dist/core/graphql-bijou-block.part03.js.map +1 -0
- package/dist/core/graphql-bijou-block.part04.d.ts +4 -0
- package/dist/core/graphql-bijou-block.part04.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part04.js +39 -0
- package/dist/core/graphql-bijou-block.part04.js.map +1 -0
- package/dist/core/graphql-bijou-block.part05.d.ts +6 -0
- package/dist/core/graphql-bijou-block.part05.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part05.js +84 -0
- package/dist/core/graphql-bijou-block.part05.js.map +1 -0
- package/dist/core/graphql-bijou-block.part06.d.ts +10 -0
- package/dist/core/graphql-bijou-block.part06.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part06.js +85 -0
- package/dist/core/graphql-bijou-block.part06.js.map +1 -0
- package/dist/core/graphql-bijou-block.part07.d.ts +10 -0
- package/dist/core/graphql-bijou-block.part07.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part07.js +80 -0
- package/dist/core/graphql-bijou-block.part07.js.map +1 -0
- package/dist/core/graphql-bijou-block.part08.d.ts +23 -0
- package/dist/core/graphql-bijou-block.part08.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part08.js +79 -0
- package/dist/core/graphql-bijou-block.part08.js.map +1 -0
- package/dist/core/graphql-bijou-block.part09.d.ts +11 -0
- package/dist/core/graphql-bijou-block.part09.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part09.js +72 -0
- package/dist/core/graphql-bijou-block.part09.js.map +1 -0
- package/dist/core/graphql-bijou-block.part10.d.ts +3 -0
- package/dist/core/graphql-bijou-block.part10.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.part10.js +38 -0
- package/dist/core/graphql-bijou-block.part10.js.map +1 -0
- package/dist/core/graphql-bijou-block.test-support.d.ts +18 -0
- package/dist/core/graphql-bijou-block.test-support.d.ts.map +1 -0
- package/dist/core/graphql-bijou-block.test-support.js +80 -0
- package/dist/core/graphql-bijou-block.test-support.js.map +1 -0
- package/dist/core/graphql-parser-utils.d.ts +3 -0
- package/dist/core/graphql-parser-utils.d.ts.map +1 -0
- package/dist/core/graphql-parser-utils.js +18 -0
- package/dist/core/graphql-parser-utils.js.map +1 -0
- package/dist/core/key-input.d.ts.map +1 -1
- package/dist/core/key-input.js +2 -0
- package/dist/core/key-input.js.map +1 -1
- package/dist/core/layout/envelope.d.ts +6 -173
- package/dist/core/layout/envelope.d.ts.map +1 -1
- package/dist/core/layout/envelope.js +4 -335
- package/dist/core/layout/envelope.js.map +1 -1
- package/dist/core/layout/envelope.part01.d.ts +88 -0
- package/dist/core/layout/envelope.part01.d.ts.map +1 -0
- package/dist/core/layout/envelope.part01.js +2 -0
- package/dist/core/layout/envelope.part01.js.map +1 -0
- package/dist/core/layout/envelope.part02.d.ts +72 -0
- package/dist/core/layout/envelope.part02.d.ts.map +1 -0
- package/dist/core/layout/envelope.part02.js +33 -0
- package/dist/core/layout/envelope.part02.js.map +1 -0
- package/dist/core/layout/envelope.part03.d.ts +14 -0
- package/dist/core/layout/envelope.part03.d.ts.map +1 -0
- package/dist/core/layout/envelope.part03.js +81 -0
- package/dist/core/layout/envelope.part03.js.map +1 -0
- package/dist/core/layout/envelope.part04.d.ts +6 -0
- package/dist/core/layout/envelope.part04.d.ts.map +1 -0
- package/dist/core/layout/envelope.part04.js +79 -0
- package/dist/core/layout/envelope.part04.js.map +1 -0
- package/dist/core/layout/envelope.part05.d.ts +5 -0
- package/dist/core/layout/envelope.part05.d.ts.map +1 -0
- package/dist/core/layout/envelope.part05.js +40 -0
- package/dist/core/layout/envelope.part05.js.map +1 -0
- package/dist/core/layout/envelope.part06.d.ts +10 -0
- package/dist/core/layout/envelope.part06.d.ts.map +1 -0
- package/dist/core/layout/envelope.part06.js +94 -0
- package/dist/core/layout/envelope.part06.js.map +1 -0
- package/dist/core/layout/envelope.part07.d.ts +8 -0
- package/dist/core/layout/envelope.part07.d.ts.map +1 -0
- package/dist/core/layout/envelope.part07.js +26 -0
- package/dist/core/layout/envelope.part07.js.map +1 -0
- package/dist/core/layout/flex-types.d.ts +18 -0
- package/dist/core/layout/flex-types.d.ts.map +1 -0
- package/dist/core/layout/flex-types.js +2 -0
- package/dist/core/layout/flex-types.js.map +1 -0
- package/dist/core/layout/flex.d.ts +2 -17
- package/dist/core/layout/flex.d.ts.map +1 -1
- package/dist/core/layout/flex.js +15 -17
- package/dist/core/layout/flex.js.map +1 -1
- package/dist/core/layout/geometry.d.ts.map +1 -1
- package/dist/core/layout/geometry.js +13 -15
- package/dist/core/layout/geometry.js.map +1 -1
- package/dist/core/mode-render.d.ts +1 -3
- package/dist/core/mode-render.d.ts.map +1 -1
- package/dist/core/mode-render.js +1 -1
- package/dist/core/mode-render.js.map +1 -1
- package/dist/core/render/differ.d.ts.map +1 -1
- package/dist/core/render/differ.js +46 -52
- package/dist/core/render/differ.js.map +1 -1
- package/dist/core/render/packed-cell.d.ts +3 -109
- package/dist/core/render/packed-cell.d.ts.map +1 -1
- package/dist/core/render/packed-cell.js +3 -300
- package/dist/core/render/packed-cell.js.map +1 -1
- package/dist/core/render/packed-cell.part01.d.ts +34 -0
- package/dist/core/render/packed-cell.part01.d.ts.map +1 -0
- package/dist/core/render/packed-cell.part01.js +98 -0
- package/dist/core/render/packed-cell.part01.js.map +1 -0
- package/dist/core/render/packed-cell.part02.d.ts +11 -0
- package/dist/core/render/packed-cell.part02.d.ts.map +1 -0
- package/dist/core/render/packed-cell.part02.js +93 -0
- package/dist/core/render/packed-cell.part02.js.map +1 -0
- package/dist/core/render/packed-cell.part03.d.ts +4 -0
- package/dist/core/render/packed-cell.part03.d.ts.map +1 -0
- package/dist/core/render/packed-cell.part03.js +31 -0
- package/dist/core/render/packed-cell.part03.js.map +1 -0
- package/dist/core/render/safe-read.d.ts +12 -0
- package/dist/core/render/safe-read.d.ts.map +1 -0
- package/dist/core/render/safe-read.js +37 -0
- package/dist/core/render/safe-read.js.map +1 -0
- package/dist/core/runtime-viewport.d.ts +2 -2
- package/dist/core/runtime-viewport.d.ts.map +1 -1
- package/dist/core/runtime-viewport.js.map +1 -1
- package/dist/core/schema-block.d.ts +3 -62
- package/dist/core/schema-block.d.ts.map +1 -1
- package/dist/core/schema-block.js +2 -360
- package/dist/core/schema-block.js.map +1 -1
- package/dist/core/schema-block.part01.d.ts +59 -0
- package/dist/core/schema-block.part01.d.ts.map +1 -0
- package/dist/core/schema-block.part01.js +10 -0
- package/dist/core/schema-block.part01.js.map +1 -0
- package/dist/core/schema-block.part02.d.ts +7 -0
- package/dist/core/schema-block.part02.d.ts.map +1 -0
- package/dist/core/schema-block.part02.js +63 -0
- package/dist/core/schema-block.part02.js.map +1 -0
- package/dist/core/schema-block.part03.d.ts +22 -0
- package/dist/core/schema-block.part03.d.ts.map +1 -0
- package/dist/core/schema-block.part03.js +70 -0
- package/dist/core/schema-block.part03.js.map +1 -0
- package/dist/core/schema-block.part04.d.ts +12 -0
- package/dist/core/schema-block.part04.d.ts.map +1 -0
- package/dist/core/schema-block.part04.js +70 -0
- package/dist/core/schema-block.part04.js.map +1 -0
- package/dist/core/schema-block.part05.d.ts +10 -0
- package/dist/core/schema-block.part05.d.ts.map +1 -0
- package/dist/core/schema-block.part05.js +74 -0
- package/dist/core/schema-block.part05.js.map +1 -0
- package/dist/core/schema-block.part06.d.ts +16 -0
- package/dist/core/schema-block.part06.d.ts.map +1 -0
- package/dist/core/schema-block.part06.js +59 -0
- package/dist/core/schema-block.part06.js.map +1 -0
- package/dist/core/schema-block.test-support.d.ts +9 -0
- package/dist/core/schema-block.test-support.d.ts.map +1 -0
- package/dist/core/schema-block.test-support.js +60 -0
- package/dist/core/schema-block.test-support.js.map +1 -0
- package/dist/core/schema-inert-data.d.ts +4 -0
- package/dist/core/schema-inert-data.d.ts.map +1 -0
- package/dist/core/schema-inert-data.js +85 -0
- package/dist/core/schema-inert-data.js.map +1 -0
- package/dist/core/selection.d.ts +4 -126
- package/dist/core/selection.d.ts.map +1 -1
- package/dist/core/selection.js +2 -349
- package/dist/core/selection.js.map +1 -1
- package/dist/core/selection.part01.d.ts +87 -0
- package/dist/core/selection.part01.d.ts.map +1 -0
- package/dist/core/selection.part01.js +2 -0
- package/dist/core/selection.part01.js.map +1 -0
- package/dist/core/selection.part02.d.ts +37 -0
- package/dist/core/selection.part02.d.ts.map +1 -0
- package/dist/core/selection.part02.js +60 -0
- package/dist/core/selection.part02.js.map +1 -0
- package/dist/core/selection.part03.d.ts +7 -0
- package/dist/core/selection.part03.d.ts.map +1 -0
- package/dist/core/selection.part03.js +77 -0
- package/dist/core/selection.part03.js.map +1 -0
- package/dist/core/selection.part04.d.ts +5 -0
- package/dist/core/selection.part04.d.ts.map +1 -0
- package/dist/core/selection.part04.js +65 -0
- package/dist/core/selection.part04.js.map +1 -0
- package/dist/core/selection.part05.d.ts +5 -0
- package/dist/core/selection.part05.d.ts.map +1 -0
- package/dist/core/selection.part05.js +61 -0
- package/dist/core/selection.part05.js.map +1 -0
- package/dist/core/selection.part06.d.ts +14 -0
- package/dist/core/selection.part06.d.ts.map +1 -0
- package/dist/core/selection.part06.js +80 -0
- package/dist/core/selection.part06.js.map +1 -0
- package/dist/core/selection.part07.d.ts +6 -0
- package/dist/core/selection.part07.d.ts.map +1 -0
- package/dist/core/selection.part07.js +27 -0
- package/dist/core/selection.part07.js.map +1 -0
- package/dist/core/standard-blocks/block-definitions.d.ts +4 -0
- package/dist/core/standard-blocks/block-definitions.d.ts.map +1 -0
- package/dist/core/standard-blocks/block-definitions.js +4 -0
- package/dist/core/standard-blocks/block-definitions.js.map +1 -0
- package/dist/core/standard-blocks/block-definitions.part01.d.ts +11 -0
- package/dist/core/standard-blocks/block-definitions.part01.d.ts.map +1 -0
- package/dist/core/standard-blocks/block-definitions.part01.js +69 -0
- package/dist/core/standard-blocks/block-definitions.part01.js.map +1 -0
- package/dist/core/standard-blocks/block-definitions.part02.d.ts +11 -0
- package/dist/core/standard-blocks/block-definitions.part02.d.ts.map +1 -0
- package/dist/core/standard-blocks/block-definitions.part02.js +59 -0
- package/dist/core/standard-blocks/block-definitions.part02.js.map +1 -0
- package/dist/core/standard-blocks/block-definitions.part03.d.ts +11 -0
- package/dist/core/standard-blocks/block-definitions.part03.d.ts.map +1 -0
- package/dist/core/standard-blocks/block-definitions.part03.js +59 -0
- package/dist/core/standard-blocks/block-definitions.part03.js.map +1 -0
- package/dist/core/standard-blocks/catalog.d.ts +6 -0
- package/dist/core/standard-blocks/catalog.d.ts.map +1 -0
- package/dist/core/standard-blocks/catalog.js +87 -0
- package/dist/core/standard-blocks/catalog.js.map +1 -0
- package/dist/core/standard-blocks/metadata-custom.d.ts +5 -0
- package/dist/core/standard-blocks/metadata-custom.d.ts.map +1 -0
- package/dist/core/standard-blocks/metadata-custom.js +136 -0
- package/dist/core/standard-blocks/metadata-custom.js.map +1 -0
- package/dist/core/standard-blocks/metadata-standard.d.ts +28 -0
- package/dist/core/standard-blocks/metadata-standard.d.ts.map +1 -0
- package/dist/core/standard-blocks/metadata-standard.js +422 -0
- package/dist/core/standard-blocks/metadata-standard.js.map +1 -0
- package/dist/core/standard-blocks/render.d.ts +16 -0
- package/dist/core/standard-blocks/render.d.ts.map +1 -0
- package/dist/core/standard-blocks/render.js +341 -0
- package/dist/core/standard-blocks/render.js.map +1 -0
- package/dist/core/standard-blocks/schema-adapters.d.ts +4 -0
- package/dist/core/standard-blocks/schema-adapters.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-adapters.js +4 -0
- package/dist/core/standard-blocks/schema-adapters.js.map +1 -0
- package/dist/core/standard-blocks/schema-adapters.part01.d.ts +11 -0
- package/dist/core/standard-blocks/schema-adapters.part01.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-adapters.part01.js +85 -0
- package/dist/core/standard-blocks/schema-adapters.part01.js.map +1 -0
- package/dist/core/standard-blocks/schema-adapters.part02.d.ts +16 -0
- package/dist/core/standard-blocks/schema-adapters.part02.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-adapters.part02.js +83 -0
- package/dist/core/standard-blocks/schema-adapters.part02.js.map +1 -0
- package/dist/core/standard-blocks/schema-adapters.part03.d.ts +8 -0
- package/dist/core/standard-blocks/schema-adapters.part03.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-adapters.part03.js +34 -0
- package/dist/core/standard-blocks/schema-adapters.part03.js.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.d.ts +5 -0
- package/dist/core/standard-blocks/schema-blocks.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.js +5 -0
- package/dist/core/standard-blocks/schema-blocks.js.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.part01.d.ts +10 -0
- package/dist/core/standard-blocks/schema-blocks.part01.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.part01.js +65 -0
- package/dist/core/standard-blocks/schema-blocks.part01.js.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.part02.d.ts +12 -0
- package/dist/core/standard-blocks/schema-blocks.part02.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.part02.js +51 -0
- package/dist/core/standard-blocks/schema-blocks.part02.js.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.part03.d.ts +12 -0
- package/dist/core/standard-blocks/schema-blocks.part03.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.part03.js +51 -0
- package/dist/core/standard-blocks/schema-blocks.part03.js.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.part04.d.ts +4 -0
- package/dist/core/standard-blocks/schema-blocks.part04.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-blocks.part04.js +11 -0
- package/dist/core/standard-blocks/schema-blocks.part04.js.map +1 -0
- package/dist/core/standard-blocks/schema-helpers.d.ts +18 -0
- package/dist/core/standard-blocks/schema-helpers.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-helpers.js +50 -0
- package/dist/core/standard-blocks/schema-helpers.js.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.d.ts +4 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.js +4 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.js.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part01.d.ts +6 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part01.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part01.js +82 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part01.js.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part02.d.ts +5 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part02.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part02.js +72 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part02.js.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part03.d.ts +4 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part03.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part03.js +42 -0
- package/dist/core/standard-blocks/schema-parsers-advanced.part03.js.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.d.ts +5 -0
- package/dist/core/standard-blocks/schema-parsers-core.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.js +5 -0
- package/dist/core/standard-blocks/schema-parsers-core.js.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.part01.d.ts +7 -0
- package/dist/core/standard-blocks/schema-parsers-core.part01.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.part01.js +80 -0
- package/dist/core/standard-blocks/schema-parsers-core.part01.js.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.part02.d.ts +6 -0
- package/dist/core/standard-blocks/schema-parsers-core.part02.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.part02.js +76 -0
- package/dist/core/standard-blocks/schema-parsers-core.part02.js.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.part03.d.ts +6 -0
- package/dist/core/standard-blocks/schema-parsers-core.part03.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.part03.js +76 -0
- package/dist/core/standard-blocks/schema-parsers-core.part03.js.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.part04.d.ts +4 -0
- package/dist/core/standard-blocks/schema-parsers-core.part04.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-parsers-core.part04.js +42 -0
- package/dist/core/standard-blocks/schema-parsers-core.part04.js.map +1 -0
- package/dist/core/standard-blocks/schema-utils.d.ts +12 -0
- package/dist/core/standard-blocks/schema-utils.d.ts.map +1 -0
- package/dist/core/standard-blocks/schema-utils.js +66 -0
- package/dist/core/standard-blocks/schema-utils.js.map +1 -0
- package/dist/core/standard-blocks/sections.d.ts +7 -0
- package/dist/core/standard-blocks/sections.d.ts.map +1 -0
- package/dist/core/standard-blocks/sections.js +7 -0
- package/dist/core/standard-blocks/sections.js.map +1 -0
- package/dist/core/standard-blocks/sections.part01.d.ts +21 -0
- package/dist/core/standard-blocks/sections.part01.d.ts.map +1 -0
- package/dist/core/standard-blocks/sections.part01.js +79 -0
- package/dist/core/standard-blocks/sections.part01.js.map +1 -0
- package/dist/core/standard-blocks/sections.part02.d.ts +25 -0
- package/dist/core/standard-blocks/sections.part02.d.ts.map +1 -0
- package/dist/core/standard-blocks/sections.part02.js +92 -0
- package/dist/core/standard-blocks/sections.part02.js.map +1 -0
- package/dist/core/standard-blocks/sections.part03.d.ts +15 -0
- package/dist/core/standard-blocks/sections.part03.d.ts.map +1 -0
- package/dist/core/standard-blocks/sections.part03.js +89 -0
- package/dist/core/standard-blocks/sections.part03.js.map +1 -0
- package/dist/core/standard-blocks/sections.part04.d.ts +14 -0
- package/dist/core/standard-blocks/sections.part04.d.ts.map +1 -0
- package/dist/core/standard-blocks/sections.part04.js +88 -0
- package/dist/core/standard-blocks/sections.part04.js.map +1 -0
- package/dist/core/standard-blocks/sections.part05.d.ts +14 -0
- package/dist/core/standard-blocks/sections.part05.d.ts.map +1 -0
- package/dist/core/standard-blocks/sections.part05.js +93 -0
- package/dist/core/standard-blocks/sections.part05.js.map +1 -0
- package/dist/core/standard-blocks/sections.part06.d.ts +4 -0
- package/dist/core/standard-blocks/sections.part06.d.ts.map +1 -0
- package/dist/core/standard-blocks/sections.part06.js +23 -0
- package/dist/core/standard-blocks/sections.part06.js.map +1 -0
- package/dist/core/standard-blocks/types.d.ts +5 -0
- package/dist/core/standard-blocks/types.d.ts.map +1 -0
- package/dist/core/standard-blocks/types.js +2 -0
- package/dist/core/standard-blocks/types.js.map +1 -0
- package/dist/core/standard-blocks/types.part01.d.ts +58 -0
- package/dist/core/standard-blocks/types.part01.d.ts.map +1 -0
- package/dist/core/standard-blocks/types.part01.js +8 -0
- package/dist/core/standard-blocks/types.part01.js.map +1 -0
- package/dist/core/standard-blocks/types.part02.d.ts +95 -0
- package/dist/core/standard-blocks/types.part02.d.ts.map +1 -0
- package/dist/core/standard-blocks/types.part02.js +2 -0
- package/dist/core/standard-blocks/types.part02.js.map +1 -0
- package/dist/core/standard-blocks/types.part03.d.ts +37 -0
- package/dist/core/standard-blocks/types.part03.d.ts.map +1 -0
- package/dist/core/standard-blocks/types.part03.js +2 -0
- package/dist/core/standard-blocks/types.part03.js.map +1 -0
- package/dist/core/standard-blocks.d.ts +5 -263
- package/dist/core/standard-blocks.d.ts.map +1 -1
- package/dist/core/standard-blocks.js +4 -2517
- package/dist/core/standard-blocks.js.map +1 -1
- package/dist/core/standard-blocks.test-support.d.ts +12 -0
- package/dist/core/standard-blocks.test-support.d.ts.map +1 -0
- package/dist/core/standard-blocks.test-support.js +11 -0
- package/dist/core/standard-blocks.test-support.js.map +1 -0
- package/dist/core/standard-blocks.test-support.part01.d.ts +30 -0
- package/dist/core/standard-blocks.test-support.part01.d.ts.map +1 -0
- package/dist/core/standard-blocks.test-support.part01.js +42 -0
- package/dist/core/standard-blocks.test-support.part01.js.map +1 -0
- package/dist/core/story-capture.js +1 -1
- package/dist/core/story-capture.js.map +1 -1
- package/dist/core/text/clip.d.ts.map +1 -1
- package/dist/core/text/clip.js +4 -0
- package/dist/core/text/clip.js.map +1 -1
- package/dist/core/text/grapheme.d.ts.map +1 -1
- package/dist/core/text/grapheme.js +17 -7
- package/dist/core/text/grapheme.js.map +1 -1
- package/dist/core/text/wrap.d.ts +1 -1
- package/dist/core/text/wrap.d.ts.map +1 -1
- package/dist/core/text/wrap.js +1 -1
- package/dist/core/text/wrap.js.map +1 -1
- package/dist/core/theme/bijou-dark-preset.d.ts +10 -0
- package/dist/core/theme/bijou-dark-preset.d.ts.map +1 -0
- package/dist/core/theme/bijou-dark-preset.js +81 -0
- package/dist/core/theme/bijou-dark-preset.js.map +1 -0
- package/dist/core/theme/bijou-light-preset.d.ts +10 -0
- package/dist/core/theme/bijou-light-preset.d.ts.map +1 -0
- package/dist/core/theme/bijou-light-preset.js +84 -0
- package/dist/core/theme/bijou-light-preset.js.map +1 -0
- package/dist/core/theme/builder.d.ts +1 -1
- package/dist/core/theme/builder.d.ts.map +1 -1
- package/dist/core/theme/builder.js +17 -19
- package/dist/core/theme/builder.js.map +1 -1
- package/dist/core/theme/color.d.ts +3 -95
- package/dist/core/theme/color.d.ts.map +1 -1
- package/dist/core/theme/color.js +2 -279
- package/dist/core/theme/color.js.map +1 -1
- package/dist/core/theme/color.part01.d.ts +18 -0
- package/dist/core/theme/color.part01.d.ts.map +1 -0
- package/dist/core/theme/color.part01.js +93 -0
- package/dist/core/theme/color.part01.js.map +1 -0
- package/dist/core/theme/color.part02.d.ts +12 -0
- package/dist/core/theme/color.part02.d.ts.map +1 -0
- package/dist/core/theme/color.part02.js +85 -0
- package/dist/core/theme/color.part02.js.map +1 -0
- package/dist/core/theme/doctor.js +2 -2
- package/dist/core/theme/doctor.js.map +1 -1
- package/dist/core/theme/downsample.d.ts +3 -52
- package/dist/core/theme/downsample.d.ts.map +1 -1
- package/dist/core/theme/downsample.js +2 -171
- package/dist/core/theme/downsample.js.map +1 -1
- package/dist/core/theme/downsample.part01.d.ts +7 -0
- package/dist/core/theme/downsample.part01.d.ts.map +1 -0
- package/dist/core/theme/downsample.part01.js +77 -0
- package/dist/core/theme/downsample.part01.js.map +1 -0
- package/dist/core/theme/downsample.part02.d.ts +3 -0
- package/dist/core/theme/downsample.part02.d.ts.map +1 -0
- package/dist/core/theme/downsample.part02.js +26 -0
- package/dist/core/theme/downsample.part02.js.map +1 -0
- package/dist/core/theme/dtcg.d.ts +3 -6
- package/dist/core/theme/dtcg.d.ts.map +1 -1
- package/dist/core/theme/dtcg.js +86 -118
- package/dist/core/theme/dtcg.js.map +1 -1
- package/dist/core/theme/extend.js +14 -3
- package/dist/core/theme/extend.js.map +1 -1
- package/dist/core/theme/gradient.d.ts.map +1 -1
- package/dist/core/theme/gradient.js +11 -7
- package/dist/core/theme/gradient.js.map +1 -1
- package/dist/core/theme/graph-dependencies.d.ts +3 -0
- package/dist/core/theme/graph-dependencies.d.ts.map +1 -0
- package/dist/core/theme/graph-dependencies.js +29 -0
- package/dist/core/theme/graph-dependencies.js.map +1 -0
- package/dist/core/theme/graph-guards.d.ts +8 -0
- package/dist/core/theme/graph-guards.d.ts.map +1 -0
- package/dist/core/theme/graph-guards.js +19 -0
- package/dist/core/theme/graph-guards.js.map +1 -0
- package/dist/core/theme/graph-import.d.ts +5 -0
- package/dist/core/theme/graph-import.d.ts.map +1 -0
- package/dist/core/theme/graph-import.js +30 -0
- package/dist/core/theme/graph-import.js.map +1 -0
- package/dist/core/theme/graph-resolve.d.ts +12 -0
- package/dist/core/theme/graph-resolve.d.ts.map +1 -0
- package/dist/core/theme/graph-resolve.js +71 -0
- package/dist/core/theme/graph-resolve.js.map +1 -0
- package/dist/core/theme/graph-transform.d.ts +4 -0
- package/dist/core/theme/graph-transform.d.ts.map +1 -0
- package/dist/core/theme/graph-transform.js +41 -0
- package/dist/core/theme/graph-transform.js.map +1 -0
- package/dist/core/theme/graph-types.d.ts +69 -1
- package/dist/core/theme/graph-types.d.ts.map +1 -1
- package/dist/core/theme/graph.d.ts +2 -13
- package/dist/core/theme/graph.d.ts.map +1 -1
- package/dist/core/theme/graph.js +53 -158
- package/dist/core/theme/graph.js.map +1 -1
- package/dist/core/theme/index.d.ts +4 -9
- package/dist/core/theme/index.d.ts.map +1 -1
- package/dist/core/theme/index.js +2 -19
- package/dist/core/theme/index.js.map +1 -1
- package/dist/core/theme/preset-authoring.d.ts +16 -0
- package/dist/core/theme/preset-authoring.d.ts.map +1 -0
- package/dist/core/theme/preset-authoring.js +87 -0
- package/dist/core/theme/preset-authoring.js.map +1 -0
- package/dist/core/theme/presets.d.ts +6 -19
- package/dist/core/theme/presets.d.ts.map +1 -1
- package/dist/core/theme/presets.js +3 -132
- package/dist/core/theme/presets.js.map +1 -1
- package/dist/core/theme/resolve.d.ts +2 -13
- package/dist/core/theme/resolve.d.ts.map +1 -1
- package/dist/core/theme/resolve.js +16 -16
- package/dist/core/theme/resolve.js.map +1 -1
- package/dist/core/theme/styled.d.ts.map +1 -1
- package/dist/core/theme/styled.js +3 -2
- package/dist/core/theme/styled.js.map +1 -1
- package/dist/core/theme/theme-rule-candidates.d.ts +19 -0
- package/dist/core/theme/theme-rule-candidates.d.ts.map +1 -0
- package/dist/core/theme/theme-rule-candidates.js +101 -0
- package/dist/core/theme/theme-rule-candidates.js.map +1 -0
- package/dist/core/theme/theme-rule-color-validation.d.ts +5 -0
- package/dist/core/theme/theme-rule-color-validation.d.ts.map +1 -0
- package/dist/core/theme/theme-rule-color-validation.js +9 -0
- package/dist/core/theme/theme-rule-color-validation.js.map +1 -0
- package/dist/core/theme/theme-rule-evaluate.d.ts +13 -0
- package/dist/core/theme/theme-rule-evaluate.d.ts.map +1 -0
- package/dist/core/theme/theme-rule-evaluate.js +113 -0
- package/dist/core/theme/theme-rule-evaluate.js.map +1 -0
- package/dist/core/theme/theme-rule-metrics.d.ts +4 -0
- package/dist/core/theme/theme-rule-metrics.d.ts.map +1 -0
- package/dist/core/theme/theme-rule-metrics.js +34 -0
- package/dist/core/theme/theme-rule-metrics.js.map +1 -0
- package/dist/core/theme/theme-rule-paths.d.ts +3 -0
- package/dist/core/theme/theme-rule-paths.d.ts.map +1 -0
- package/dist/core/theme/theme-rule-paths.js +10 -0
- package/dist/core/theme/theme-rule-paths.js.map +1 -0
- package/dist/core/theme/theme-rules.d.ts +22 -0
- package/dist/core/theme/theme-rules.d.ts.map +1 -0
- package/dist/core/theme/theme-rules.js +84 -0
- package/dist/core/theme/theme-rules.js.map +1 -0
- package/dist/core/ui-scene-ir.d.ts +3 -3
- package/dist/core/ui-scene-ir.d.ts.map +1 -1
- package/dist/core/ui-scene-ir.js +17 -18
- package/dist/core/ui-scene-ir.js.map +1 -1
- package/dist/factory.js +3 -3
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +10 -43
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -73
- package/dist/index.js.map +1 -1
- package/dist/index.part01.d.ts +18 -0
- package/dist/index.part01.d.ts.map +1 -0
- package/dist/index.part01.js +19 -0
- package/dist/index.part01.js.map +1 -0
- package/dist/index.part02.d.ts +5 -0
- package/dist/index.part02.d.ts.map +1 -0
- package/dist/index.part02.js +6 -0
- package/dist/index.part02.js.map +1 -0
- package/dist/index.part03.d.ts +6 -0
- package/dist/index.part03.d.ts.map +1 -0
- package/dist/index.part03.js +6 -0
- package/dist/index.part03.js.map +1 -0
- package/dist/index.part04.d.ts +5 -0
- package/dist/index.part04.d.ts.map +1 -0
- package/dist/index.part04.js +5 -0
- package/dist/index.part04.js.map +1 -0
- package/dist/index.part05.d.ts +2 -0
- package/dist/index.part05.d.ts.map +1 -0
- package/dist/index.part05.js +2 -0
- package/dist/index.part05.js.map +1 -0
- package/dist/index.part06.d.ts +7 -0
- package/dist/index.part06.d.ts.map +1 -0
- package/dist/index.part06.js +9 -0
- package/dist/index.part06.js.map +1 -0
- package/dist/index.part07.d.ts +4 -0
- package/dist/index.part07.d.ts.map +1 -0
- package/dist/index.part07.js +5 -0
- package/dist/index.part07.js.map +1 -0
- package/dist/index.part08.d.ts +3 -0
- package/dist/index.part08.d.ts.map +1 -0
- package/dist/index.part08.js +3 -0
- package/dist/index.part08.js.map +1 -0
- package/dist/index.part09.d.ts +2 -0
- package/dist/index.part09.d.ts.map +1 -0
- package/dist/index.part09.js +3 -0
- package/dist/index.part09.js.map +1 -0
- package/dist/index.part10.d.ts +8 -0
- package/dist/index.part10.d.ts.map +1 -0
- package/dist/index.part10.js +9 -0
- package/dist/index.part10.js.map +1 -0
- package/dist/ports/io-handles.d.ts +11 -0
- package/dist/ports/io-handles.d.ts.map +1 -0
- package/dist/ports/io-handles.js +2 -0
- package/dist/ports/io-handles.js.map +1 -0
- package/dist/ports/io.d.ts +2 -10
- package/dist/ports/io.d.ts.map +1 -1
- package/dist/ports/surface.d.ts +1 -1
- package/dist/ports/surface.d.ts.map +1 -1
- package/dist/ports/surface.js +41 -46
- package/dist/ports/surface.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2518 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { createTextSurface } from './components/surface-text.js';
|
|
6
|
-
import { createSurface } from '../ports/surface.js';
|
|
7
|
-
const BIJOU_PACKAGE = '@flyingrobots/bijou';
|
|
8
|
-
const ALL_OUTPUT_MODES = Object.freeze([
|
|
9
|
-
'interactive',
|
|
10
|
-
'static',
|
|
11
|
-
'pipe',
|
|
12
|
-
'accessible',
|
|
13
|
-
]);
|
|
14
|
-
const shellFocusRegion = commandIntent('shell.focusRegion', {
|
|
15
|
-
label: 'Focus region',
|
|
16
|
-
description: 'Move focus to a named AppShell region.',
|
|
17
|
-
facts: [{ kind: 'entity', key: 'block.command', value: 'AppShell' }],
|
|
18
|
-
});
|
|
19
|
-
const shellToggleInspector = commandIntent('shell.toggleInspector', {
|
|
20
|
-
label: 'Toggle inspector',
|
|
21
|
-
description: 'Request inspector visibility change.',
|
|
22
|
-
facts: [{ kind: 'entity', key: 'block.command', value: 'AppShell' }],
|
|
23
|
-
});
|
|
24
|
-
const shellOpenOverlay = commandIntent('shell.openOverlay', {
|
|
25
|
-
label: 'Open overlay',
|
|
26
|
-
description: 'Request a shell overlay by id.',
|
|
27
|
-
facts: [{ kind: 'entity', key: 'block.command', value: 'AppShell' }],
|
|
28
|
-
});
|
|
29
|
-
const readerArticleRequirement = defineDataRequirement({
|
|
30
|
-
id: 'reader.article',
|
|
31
|
-
resource: 'reader.article',
|
|
32
|
-
label: 'Article',
|
|
33
|
-
description: 'Primary readable article content.',
|
|
34
|
-
facts: [{ kind: 'entity', key: 'block.data', value: 'ReaderSurface' }],
|
|
35
|
-
});
|
|
36
|
-
const readerOutlineRequirement = defineDataRequirement({
|
|
37
|
-
id: 'reader.outline',
|
|
38
|
-
resource: 'reader.outline',
|
|
39
|
-
label: 'Outline',
|
|
40
|
-
description: 'Optional article outline for navigation.',
|
|
41
|
-
optional: true,
|
|
42
|
-
facts: [{ kind: 'entity', key: 'block.data', value: 'ReaderSurface' }],
|
|
43
|
-
});
|
|
44
|
-
const readerSurfaceData = defineViewData({
|
|
45
|
-
id: 'reader-surface.data',
|
|
46
|
-
label: 'ReaderSurface data',
|
|
47
|
-
description: 'Boundary data required to render a readable content surface.',
|
|
48
|
-
requirements: [
|
|
49
|
-
{ name: 'article', requirement: readerArticleRequirement },
|
|
50
|
-
{ name: 'outline', requirement: readerOutlineRequirement },
|
|
51
|
-
],
|
|
52
|
-
});
|
|
53
|
-
const readerSelectHeading = commandIntent('reader.selectHeading', {
|
|
54
|
-
label: 'Select heading',
|
|
55
|
-
description: 'Select a heading inside the reader outline.',
|
|
56
|
-
facts: [{ kind: 'entity', key: 'block.command', value: 'ReaderSurface' }],
|
|
57
|
-
});
|
|
58
|
-
const readerOpenReference = commandIntent('reader.openReference', {
|
|
59
|
-
label: 'Open reference',
|
|
60
|
-
description: 'Open a referenced document or citation from reader content.',
|
|
61
|
-
facts: [{ kind: 'entity', key: 'block.command', value: 'ReaderSurface' }],
|
|
62
|
-
});
|
|
63
|
-
const inspectorSelectionRequirement = defineDataRequirement({
|
|
64
|
-
id: 'inspector.selection',
|
|
65
|
-
resource: 'inspector.selection',
|
|
66
|
-
label: 'Selection',
|
|
67
|
-
description: 'The active entity selected elsewhere in the app.',
|
|
68
|
-
facts: [{ kind: 'entity', key: 'block.data', value: 'InspectorPanel' }],
|
|
69
|
-
});
|
|
70
|
-
const inspectorDetailsRequirement = defineDataRequirement({
|
|
71
|
-
id: 'inspector.details',
|
|
72
|
-
resource: 'inspector.details',
|
|
73
|
-
label: 'Selection details',
|
|
74
|
-
description: 'Optional detail facts for the selected entity.',
|
|
75
|
-
optional: true,
|
|
76
|
-
facts: [{ kind: 'entity', key: 'block.data', value: 'InspectorPanel' }],
|
|
77
|
-
});
|
|
78
|
-
const inspectorPanelData = defineViewData({
|
|
79
|
-
id: 'inspector-panel.data',
|
|
80
|
-
label: 'InspectorPanel data',
|
|
81
|
-
description: 'Boundary data required to explain the current selection.',
|
|
82
|
-
requirements: [
|
|
83
|
-
{ name: 'selection', requirement: inspectorSelectionRequirement },
|
|
84
|
-
{ name: 'details', requirement: inspectorDetailsRequirement },
|
|
85
|
-
],
|
|
86
|
-
});
|
|
87
|
-
const inspectorRevealSelection = commandIntent('inspector.revealSelection', {
|
|
88
|
-
label: 'Reveal selection',
|
|
89
|
-
description: 'Request navigation to the selected source entity.',
|
|
90
|
-
facts: [{ kind: 'entity', key: 'block.command', value: 'InspectorPanel' }],
|
|
91
|
-
});
|
|
92
|
-
const inspectorFocusSource = commandIntent('inspector.focusSource', {
|
|
93
|
-
label: 'Focus source',
|
|
94
|
-
description: 'Request focus for the source associated with the active selection.',
|
|
95
|
-
facts: [{ kind: 'entity', key: 'block.command', value: 'InspectorPanel' }],
|
|
96
|
-
});
|
|
97
|
-
const inlineStatusSections = Object.freeze([
|
|
98
|
-
{ id: 'label', label: 'Label', required: true },
|
|
99
|
-
{ id: 'status', label: 'Status', required: true },
|
|
100
|
-
{ id: 'message', label: 'Message', required: false },
|
|
101
|
-
]);
|
|
102
|
-
const inFlowStatusSections = Object.freeze([
|
|
103
|
-
{ id: 'severity', label: 'Severity', required: true },
|
|
104
|
-
{ id: 'source', label: 'Source', required: false },
|
|
105
|
-
{ id: 'message', label: 'Message', required: true },
|
|
106
|
-
{ id: 'action', label: 'Action', required: false },
|
|
107
|
-
]);
|
|
108
|
-
const transientOverlaySections = Object.freeze([
|
|
109
|
-
{ id: 'priority', label: 'Priority', required: false },
|
|
110
|
-
{ id: 'message', label: 'Message', required: true },
|
|
111
|
-
{ id: 'dismiss', label: 'Dismiss', required: false },
|
|
112
|
-
]);
|
|
113
|
-
const activityStreamSections = Object.freeze([
|
|
114
|
-
{ id: 'events', label: 'Events', required: true },
|
|
115
|
-
{ id: 'selected', label: 'Selected', required: false },
|
|
116
|
-
]);
|
|
117
|
-
const shortcutCueSections = Object.freeze([
|
|
118
|
-
{ id: 'shortcuts', label: 'Shortcuts', required: true },
|
|
119
|
-
{ id: 'scope', label: 'Scope', required: false },
|
|
120
|
-
]);
|
|
121
|
-
const progressIndicatorSections = Object.freeze([
|
|
122
|
-
{ id: 'label', label: 'Label', required: true },
|
|
123
|
-
{ id: 'value', label: 'Value', required: false },
|
|
124
|
-
{ id: 'total', label: 'Total', required: false },
|
|
125
|
-
{ id: 'percent', label: 'Percent', required: true },
|
|
126
|
-
]);
|
|
127
|
-
const framedGroupSections = Object.freeze([
|
|
128
|
-
{ id: 'title', label: 'Title', required: true },
|
|
129
|
-
{ id: 'items', label: 'Items', required: true },
|
|
130
|
-
{ id: 'selected', label: 'Selected', required: false },
|
|
131
|
-
{ id: 'mode', label: 'Mode', required: false },
|
|
132
|
-
]);
|
|
133
|
-
const explainabilityWalkthroughSections = Object.freeze([
|
|
134
|
-
{ id: 'title', label: 'Title', required: true },
|
|
135
|
-
{ id: 'steps', label: 'Steps', required: true },
|
|
136
|
-
{ id: 'evidence', label: 'Evidence', required: false },
|
|
137
|
-
{ id: 'decision', label: 'Decision', required: false },
|
|
138
|
-
{ id: 'nextStep', label: 'Next step', required: false },
|
|
139
|
-
]);
|
|
140
|
-
const formattedDocumentSections = Object.freeze([
|
|
141
|
-
{ id: 'heading', label: 'Heading', required: true },
|
|
142
|
-
{ id: 'body', label: 'Body', required: true },
|
|
143
|
-
{ id: 'callout', label: 'Callout', required: false },
|
|
144
|
-
{ id: 'code', label: 'Code', required: false },
|
|
145
|
-
]);
|
|
146
|
-
const linkDestinationSections = Object.freeze([
|
|
147
|
-
{ id: 'label', label: 'Label', required: true },
|
|
148
|
-
{ id: 'destination', label: 'Destination', required: true },
|
|
149
|
-
{ id: 'kind', label: 'Kind', required: false },
|
|
150
|
-
{ id: 'status', label: 'Status', required: false },
|
|
151
|
-
]);
|
|
152
|
-
const dividerSections = Object.freeze([
|
|
153
|
-
{ id: 'label', label: 'Label', required: true },
|
|
154
|
-
{ id: 'style', label: 'Style', required: false },
|
|
155
|
-
{ id: 'density', label: 'Density', required: false },
|
|
156
|
-
]);
|
|
157
|
-
const textEntrySections = Object.freeze([
|
|
158
|
-
{ id: 'field', label: 'Field', required: true },
|
|
159
|
-
{ id: 'value', label: 'Value', required: true },
|
|
160
|
-
{ id: 'placeholder', label: 'Placeholder', required: false },
|
|
161
|
-
{ id: 'validation', label: 'Validation', required: false },
|
|
162
|
-
{ id: 'results', label: 'Results', required: false },
|
|
163
|
-
]);
|
|
164
|
-
const singleChoiceSections = Object.freeze([
|
|
165
|
-
{ id: 'label', label: 'Label', required: true },
|
|
166
|
-
{ id: 'options', label: 'Options', required: true },
|
|
167
|
-
{ id: 'selected', label: 'Selected', required: true },
|
|
168
|
-
{ id: 'mode', label: 'Mode', required: false },
|
|
169
|
-
{ id: 'validation', label: 'Validation', required: false },
|
|
170
|
-
]);
|
|
171
|
-
const multipleChoiceSections = Object.freeze([
|
|
172
|
-
{ id: 'label', label: 'Label', required: true },
|
|
173
|
-
{ id: 'checked', label: 'Checked', required: true },
|
|
174
|
-
{ id: 'unchecked', label: 'Unchecked', required: true },
|
|
175
|
-
{ id: 'selected', label: 'Selected', required: false },
|
|
176
|
-
{ id: 'validation', label: 'Validation', required: false },
|
|
177
|
-
]);
|
|
178
|
-
const binaryDecisionSections = Object.freeze([
|
|
179
|
-
{ id: 'label', label: 'Label', required: true },
|
|
180
|
-
{ id: 'selected', label: 'Selected', required: true },
|
|
181
|
-
{ id: 'consequence', label: 'Consequence', required: true },
|
|
182
|
-
{ id: 'confirmation', label: 'Confirmation', required: false },
|
|
183
|
-
{ id: 'disabledReason', label: 'Disabled reason', required: false },
|
|
184
|
-
]);
|
|
185
|
-
const peerNavigationSections = Object.freeze([
|
|
186
|
-
{ id: 'previous', label: 'Previous', required: true },
|
|
187
|
-
{ id: 'current', label: 'Current', required: true },
|
|
188
|
-
{ id: 'next', label: 'Next', required: true },
|
|
189
|
-
{ id: 'route', label: 'Route', required: false },
|
|
190
|
-
{ id: 'status', label: 'Status', required: false },
|
|
191
|
-
]);
|
|
192
|
-
const progressiveDisclosureSections = Object.freeze([
|
|
193
|
-
{ id: 'label', label: 'Label', required: true },
|
|
194
|
-
{ id: 'state', label: 'State', required: true },
|
|
195
|
-
{ id: 'hiddenCount', label: 'Hidden count', required: true },
|
|
196
|
-
{ id: 'summary', label: 'Summary', required: false },
|
|
197
|
-
{ id: 'details', label: 'Details', required: false },
|
|
198
|
-
]);
|
|
199
|
-
const pathProgressSections = Object.freeze([
|
|
200
|
-
{ id: 'path', label: 'Path', required: true },
|
|
201
|
-
{ id: 'current', label: 'Current', required: true },
|
|
202
|
-
{ id: 'step', label: 'Step', required: true },
|
|
203
|
-
{ id: 'total', label: 'Total', required: true },
|
|
204
|
-
{ id: 'status', label: 'Status', required: false },
|
|
205
|
-
]);
|
|
206
|
-
const brandEmphasisSections = Object.freeze([
|
|
207
|
-
{ id: 'brand', label: 'Brand', required: true },
|
|
208
|
-
{ id: 'tagline', label: 'Tagline', required: true },
|
|
209
|
-
{ id: 'decoration', label: 'Decoration', required: true },
|
|
210
|
-
{ id: 'role', label: 'Role', required: false },
|
|
211
|
-
{ id: 'selected', label: 'Selected', required: false },
|
|
212
|
-
]);
|
|
213
|
-
const modeAwarePrimitiveSections = Object.freeze([
|
|
214
|
-
{ id: 'primitive', label: 'Primitive', required: true },
|
|
215
|
-
{ id: 'fact', label: 'Fact', required: true },
|
|
216
|
-
{ id: 'value', label: 'Value', required: true },
|
|
217
|
-
{ id: 'status', label: 'Status', required: false },
|
|
218
|
-
{ id: 'modeContract', label: 'Mode contract', required: false },
|
|
219
|
-
{ id: 'selected', label: 'Selected', required: false },
|
|
220
|
-
]);
|
|
221
|
-
const denseComparisonSections = Object.freeze([
|
|
222
|
-
{ id: 'title', label: 'Title', required: true },
|
|
223
|
-
{ id: 'metric', label: 'Metric', required: true },
|
|
224
|
-
{ id: 'left', label: 'Left', required: true },
|
|
225
|
-
{ id: 'right', label: 'Right', required: true },
|
|
226
|
-
{ id: 'delta', label: 'Delta', required: true },
|
|
227
|
-
{ id: 'selected', label: 'Selected', required: false },
|
|
228
|
-
]);
|
|
229
|
-
const hierarchySections = Object.freeze([
|
|
230
|
-
{ id: 'root', label: 'Root', required: true },
|
|
231
|
-
{ id: 'nodes', label: 'Nodes', required: true },
|
|
232
|
-
{ id: 'selected', label: 'Selected', required: true },
|
|
233
|
-
{ id: 'parent', label: 'Parent', required: false },
|
|
234
|
-
{ id: 'depth', label: 'Depth', required: false },
|
|
235
|
-
{ id: 'expanded', label: 'Expanded', required: false },
|
|
236
|
-
]);
|
|
237
|
-
const explorationListSections = Object.freeze([
|
|
238
|
-
{ id: 'title', label: 'Title', required: true },
|
|
239
|
-
{ id: 'facet', label: 'Facet', required: true },
|
|
240
|
-
{ id: 'items', label: 'Items', required: true },
|
|
241
|
-
{ id: 'selected', label: 'Selected', required: true },
|
|
242
|
-
{ id: 'preview', label: 'Preview', required: false },
|
|
243
|
-
]);
|
|
244
|
-
const temporalDependencySections = Object.freeze([
|
|
245
|
-
{ id: 'title', label: 'Title', required: true },
|
|
246
|
-
{ id: 'events', label: 'Events', required: true },
|
|
247
|
-
{ id: 'dependency', label: 'Dependency', required: true },
|
|
248
|
-
{ id: 'selected', label: 'Selected', required: false },
|
|
249
|
-
{ id: 'dependsOn', label: 'Depends on', required: false },
|
|
250
|
-
]);
|
|
251
|
-
const inlineStatusData = standardBlockData('inline-status', 'InlineStatusBlock', [
|
|
252
|
-
{
|
|
253
|
-
name: 'status',
|
|
254
|
-
label: 'Inline status facts',
|
|
255
|
-
description: 'Label, status key, and optional status message.',
|
|
256
|
-
},
|
|
257
|
-
]);
|
|
258
|
-
const inFlowStatusData = standardBlockData('in-flow-status', 'InFlowStatusBlock', [
|
|
259
|
-
{
|
|
260
|
-
name: 'status',
|
|
261
|
-
label: 'In-flow status message',
|
|
262
|
-
description: 'Durable in-flow severity, message, source, and action facts.',
|
|
263
|
-
},
|
|
264
|
-
]);
|
|
265
|
-
const transientOverlayData = standardBlockData('transient-overlay', 'TransientOverlayBlock', [
|
|
266
|
-
{
|
|
267
|
-
name: 'overlay',
|
|
268
|
-
label: 'Transient overlay event',
|
|
269
|
-
description: 'Short-lived overlay message plus priority and dismissal facts.',
|
|
270
|
-
},
|
|
271
|
-
]);
|
|
272
|
-
const activityStreamData = standardBlockData('activity-stream', 'ActivityStreamBlock', [
|
|
273
|
-
{
|
|
274
|
-
name: 'events',
|
|
275
|
-
label: 'Activity events',
|
|
276
|
-
description: 'Chronological event records and selected event state.',
|
|
277
|
-
},
|
|
278
|
-
]);
|
|
279
|
-
const shortcutCueData = standardBlockData('shortcut-cue', 'ShortcutCueBlock', [
|
|
280
|
-
{
|
|
281
|
-
name: 'shortcuts',
|
|
282
|
-
label: 'Shortcut cues',
|
|
283
|
-
description: 'Keyboard shortcuts, action labels, and active scope facts.',
|
|
284
|
-
},
|
|
285
|
-
]);
|
|
286
|
-
const progressIndicatorData = standardBlockData('progress-indicator', 'ProgressIndicatorBlock', [
|
|
287
|
-
{
|
|
288
|
-
name: 'progress',
|
|
289
|
-
label: 'Progress state',
|
|
290
|
-
description: 'Progress label, current value, total value, and percent facts.',
|
|
291
|
-
},
|
|
292
|
-
]);
|
|
293
|
-
const framedGroupData = standardBlockData('framed-group', 'FramedGroupBlock', [
|
|
294
|
-
{
|
|
295
|
-
name: 'group',
|
|
296
|
-
label: 'Framed grouping facts',
|
|
297
|
-
description: 'Group title, ordered items, selected item, and review mode facts.',
|
|
298
|
-
},
|
|
299
|
-
]);
|
|
300
|
-
const explainabilityWalkthroughData = standardBlockData('explainability-walkthrough', 'ExplainabilityWalkthroughBlock', [
|
|
301
|
-
{
|
|
302
|
-
name: 'walkthrough',
|
|
303
|
-
label: 'Explainability walkthrough',
|
|
304
|
-
description: 'Decision title, ordered explanation steps, evidence, decision, and next-step facts.',
|
|
305
|
-
},
|
|
306
|
-
]);
|
|
307
|
-
const formattedDocumentData = standardBlockData('formatted-document', 'FormattedDocumentBlock', [
|
|
308
|
-
{
|
|
309
|
-
name: 'document',
|
|
310
|
-
label: 'Formatted document content',
|
|
311
|
-
description: 'Heading, body, callout, and code facts for persistent prose.',
|
|
312
|
-
},
|
|
313
|
-
]);
|
|
314
|
-
const linkDestinationData = standardBlockData('link-destination', 'LinkDestinationBlock', [
|
|
315
|
-
{
|
|
316
|
-
name: 'link',
|
|
317
|
-
label: 'Linked destination',
|
|
318
|
-
description: 'Link label, destination, kind, and availability facts.',
|
|
319
|
-
},
|
|
320
|
-
]);
|
|
321
|
-
const dividerData = standardBlockData('divider', 'DividerBlock', [
|
|
322
|
-
{
|
|
323
|
-
name: 'divider',
|
|
324
|
-
label: 'Divider structure',
|
|
325
|
-
description: 'Divider label, visual style, and density facts.',
|
|
326
|
-
},
|
|
327
|
-
]);
|
|
328
|
-
const textEntryData = standardBlockData('text-entry', 'TextEntryBlock', [
|
|
329
|
-
{
|
|
330
|
-
name: 'entry',
|
|
331
|
-
label: 'Text entry state',
|
|
332
|
-
description: 'Field label, current value, placeholder, validation, and result-count facts.',
|
|
333
|
-
},
|
|
334
|
-
]);
|
|
335
|
-
const singleChoiceData = standardBlockData('single-choice', 'SingleChoiceBlock', [
|
|
336
|
-
{
|
|
337
|
-
name: 'choice',
|
|
338
|
-
label: 'Single choice state',
|
|
339
|
-
description: 'Choice label, option list, selected value, mode, and validation facts.',
|
|
340
|
-
},
|
|
341
|
-
]);
|
|
342
|
-
const multipleChoiceData = standardBlockData('multiple-choice', 'MultipleChoiceBlock', [
|
|
343
|
-
{
|
|
344
|
-
name: 'choices',
|
|
345
|
-
label: 'Multiple choice state',
|
|
346
|
-
description: 'Checklist label, checked options, unchecked options, selected summary, and validation facts.',
|
|
347
|
-
},
|
|
348
|
-
]);
|
|
349
|
-
const binaryDecisionData = standardBlockData('binary-decision', 'BinaryDecisionBlock', [
|
|
350
|
-
{
|
|
351
|
-
name: 'decision',
|
|
352
|
-
label: 'Binary decision state',
|
|
353
|
-
description: 'Decision label, selected side, consequence, confirmation, and disabled-reason facts.',
|
|
354
|
-
},
|
|
355
|
-
]);
|
|
356
|
-
const peerNavigationData = standardBlockData('peer-navigation', 'PeerNavigationBlock', [
|
|
357
|
-
{
|
|
358
|
-
name: 'peers',
|
|
359
|
-
label: 'Peer navigation state',
|
|
360
|
-
description: 'Previous, current, next, route, and availability facts.',
|
|
361
|
-
},
|
|
362
|
-
]);
|
|
363
|
-
const progressiveDisclosureData = standardBlockData('progressive-disclosure', 'ProgressiveDisclosureBlock', [
|
|
364
|
-
{
|
|
365
|
-
name: 'disclosure',
|
|
366
|
-
label: 'Progressive disclosure state',
|
|
367
|
-
description: 'Disclosure label, open or closed state, hidden count, summary, and detail facts.',
|
|
368
|
-
},
|
|
369
|
-
]);
|
|
370
|
-
const pathProgressData = standardBlockData('path-progress', 'PathProgressBlock', [
|
|
371
|
-
{
|
|
372
|
-
name: 'path',
|
|
373
|
-
label: 'Path progress state',
|
|
374
|
-
description: 'Path labels, current step, ordinal step, total step count, and status facts.',
|
|
375
|
-
},
|
|
376
|
-
]);
|
|
377
|
-
const brandEmphasisData = standardBlockData('brand-emphasis', 'BrandEmphasisBlock', [
|
|
378
|
-
{
|
|
379
|
-
name: 'brand',
|
|
380
|
-
label: 'Brand emphasis facts',
|
|
381
|
-
description: 'Brand text, tagline, decorative treatment, role, and selected emphasis facts.',
|
|
382
|
-
},
|
|
383
|
-
]);
|
|
384
|
-
const modeAwarePrimitiveData = standardBlockData('mode-aware-primitive', 'ModeAwarePrimitiveBlock', [
|
|
385
|
-
{
|
|
386
|
-
name: 'primitive',
|
|
387
|
-
label: 'Mode-aware primitive facts',
|
|
388
|
-
description: 'Primitive identity, fact key, value, status, mode contract, and selected primitive facts.',
|
|
389
|
-
},
|
|
390
|
-
]);
|
|
391
|
-
const denseComparisonData = standardBlockData('dense-comparison', 'DenseComparisonBlock', [
|
|
392
|
-
{
|
|
393
|
-
name: 'comparison',
|
|
394
|
-
label: 'Dense comparison facts',
|
|
395
|
-
description: 'Comparison title, metric, left value, right value, delta, and selected metric facts.',
|
|
396
|
-
},
|
|
397
|
-
]);
|
|
398
|
-
const hierarchyData = standardBlockData('hierarchy', 'HierarchyBlock', [
|
|
399
|
-
{
|
|
400
|
-
name: 'hierarchy',
|
|
401
|
-
label: 'Hierarchy facts',
|
|
402
|
-
description: 'Root, node list, selected node, parent, depth, and expansion facts.',
|
|
403
|
-
},
|
|
404
|
-
]);
|
|
405
|
-
const explorationListData = standardBlockData('exploration-list', 'ExplorationListBlock', [
|
|
406
|
-
{
|
|
407
|
-
name: 'list',
|
|
408
|
-
label: 'Exploration list facts',
|
|
409
|
-
description: 'List title, facet, item list, selected item, and preview facts.',
|
|
410
|
-
},
|
|
411
|
-
]);
|
|
412
|
-
const temporalDependencyData = standardBlockData('temporal-dependency', 'TemporalDependencyBlock', [
|
|
413
|
-
{
|
|
414
|
-
name: 'timeline',
|
|
415
|
-
label: 'Temporal dependency facts',
|
|
416
|
-
description: 'Timeline title, ordered events, dependency summary, selected event, and depends-on facts.',
|
|
417
|
-
},
|
|
418
|
-
]);
|
|
419
|
-
export const appShellBlock = defineBlock({
|
|
420
|
-
metadata: appShellMetadata(),
|
|
421
|
-
commands: [
|
|
422
|
-
shellFocusRegion,
|
|
423
|
-
shellToggleInspector,
|
|
424
|
-
shellOpenOverlay,
|
|
425
|
-
],
|
|
426
|
-
render: renderAppShellBlock,
|
|
427
|
-
});
|
|
428
|
-
export const readerSurfaceBlock = defineBlock({
|
|
429
|
-
metadata: readerSurfaceMetadata(),
|
|
430
|
-
data: readerSurfaceData,
|
|
431
|
-
commands: [
|
|
432
|
-
readerSelectHeading,
|
|
433
|
-
readerOpenReference,
|
|
434
|
-
],
|
|
435
|
-
render: renderReaderSurfaceBlock,
|
|
436
|
-
});
|
|
437
|
-
export const inspectorPanelBlock = defineBlock({
|
|
438
|
-
metadata: inspectorPanelMetadata(),
|
|
439
|
-
data: inspectorPanelData,
|
|
440
|
-
commands: [
|
|
441
|
-
inspectorRevealSelection,
|
|
442
|
-
inspectorFocusSource,
|
|
443
|
-
],
|
|
444
|
-
render: renderInspectorPanelBlock,
|
|
445
|
-
});
|
|
446
|
-
export const inlineStatusBlock = defineBlock({
|
|
447
|
-
metadata: inlineStatusMetadata(),
|
|
448
|
-
data: inlineStatusData,
|
|
449
|
-
commands: standardSectionCommands('InlineStatusBlock'),
|
|
450
|
-
render: (input) => renderStandardSectionBlock(input, 'InlineStatusBlock', inlineStatusSections),
|
|
451
|
-
});
|
|
452
|
-
export const inFlowStatusBlock = defineBlock({
|
|
453
|
-
metadata: inFlowStatusMetadata(),
|
|
454
|
-
data: inFlowStatusData,
|
|
455
|
-
commands: standardSectionCommands('InFlowStatusBlock'),
|
|
456
|
-
render: (input) => renderStandardSectionBlock(input, 'InFlowStatusBlock', inFlowStatusSections),
|
|
457
|
-
});
|
|
458
|
-
export const transientOverlayBlock = defineBlock({
|
|
459
|
-
metadata: transientOverlayMetadata(),
|
|
460
|
-
data: transientOverlayData,
|
|
461
|
-
commands: standardSectionCommands('TransientOverlayBlock'),
|
|
462
|
-
render: (input) => renderStandardSectionBlock(input, 'TransientOverlayBlock', transientOverlaySections),
|
|
463
|
-
});
|
|
464
|
-
export const activityStreamBlock = defineBlock({
|
|
465
|
-
metadata: activityStreamMetadata(),
|
|
466
|
-
data: activityStreamData,
|
|
467
|
-
commands: standardSectionCommands('ActivityStreamBlock'),
|
|
468
|
-
render: (input) => renderStandardSectionBlock(input, 'ActivityStreamBlock', activityStreamSections),
|
|
469
|
-
});
|
|
470
|
-
export const shortcutCueBlock = defineBlock({
|
|
471
|
-
metadata: shortcutCueMetadata(),
|
|
472
|
-
data: shortcutCueData,
|
|
473
|
-
commands: standardSectionCommands('ShortcutCueBlock'),
|
|
474
|
-
render: (input) => renderStandardSectionBlock(input, 'ShortcutCueBlock', shortcutCueSections),
|
|
475
|
-
});
|
|
476
|
-
export const progressIndicatorBlock = defineBlock({
|
|
477
|
-
metadata: progressIndicatorMetadata(),
|
|
478
|
-
data: progressIndicatorData,
|
|
479
|
-
commands: standardSectionCommands('ProgressIndicatorBlock'),
|
|
480
|
-
render: (input) => renderStandardSectionBlock(input, 'ProgressIndicatorBlock', progressIndicatorSections),
|
|
481
|
-
});
|
|
482
|
-
export const framedGroupBlock = defineBlock({
|
|
483
|
-
metadata: framedGroupMetadata(),
|
|
484
|
-
data: framedGroupData,
|
|
485
|
-
commands: standardSectionCommands('FramedGroupBlock'),
|
|
486
|
-
render: (input) => renderStandardSectionBlock(input, 'FramedGroupBlock', framedGroupSections),
|
|
487
|
-
});
|
|
488
|
-
export const explainabilityWalkthroughBlock = defineBlock({
|
|
489
|
-
metadata: explainabilityWalkthroughMetadata(),
|
|
490
|
-
data: explainabilityWalkthroughData,
|
|
491
|
-
commands: standardSectionCommands('ExplainabilityWalkthroughBlock'),
|
|
492
|
-
render: (input) => renderStandardSectionBlock(input, 'ExplainabilityWalkthroughBlock', explainabilityWalkthroughSections),
|
|
493
|
-
});
|
|
494
|
-
export const formattedDocumentBlock = defineBlock({
|
|
495
|
-
metadata: formattedDocumentMetadata(),
|
|
496
|
-
data: formattedDocumentData,
|
|
497
|
-
commands: standardSectionCommands('FormattedDocumentBlock'),
|
|
498
|
-
render: (input) => renderStandardSectionBlock(input, 'FormattedDocumentBlock', formattedDocumentSections),
|
|
499
|
-
});
|
|
500
|
-
export const linkDestinationBlock = defineBlock({
|
|
501
|
-
metadata: linkDestinationMetadata(),
|
|
502
|
-
data: linkDestinationData,
|
|
503
|
-
commands: standardSectionCommands('LinkDestinationBlock'),
|
|
504
|
-
render: (input) => renderStandardSectionBlock(input, 'LinkDestinationBlock', linkDestinationSections),
|
|
505
|
-
});
|
|
506
|
-
export const dividerBlock = defineBlock({
|
|
507
|
-
metadata: dividerMetadata(),
|
|
508
|
-
data: dividerData,
|
|
509
|
-
commands: standardSectionCommands('DividerBlock'),
|
|
510
|
-
render: (input) => renderStandardSectionBlock(input, 'DividerBlock', dividerSections),
|
|
511
|
-
});
|
|
512
|
-
export const textEntryBlock = defineBlock({
|
|
513
|
-
metadata: textEntryMetadata(),
|
|
514
|
-
data: textEntryData,
|
|
515
|
-
commands: standardSectionCommands('TextEntryBlock'),
|
|
516
|
-
render: (input) => renderStandardSectionBlock(input, 'TextEntryBlock', textEntrySections),
|
|
517
|
-
});
|
|
518
|
-
export const singleChoiceBlock = defineBlock({
|
|
519
|
-
metadata: singleChoiceMetadata(),
|
|
520
|
-
data: singleChoiceData,
|
|
521
|
-
commands: standardSectionCommands('SingleChoiceBlock'),
|
|
522
|
-
render: (input) => renderStandardSectionBlock(input, 'SingleChoiceBlock', singleChoiceSections),
|
|
523
|
-
});
|
|
524
|
-
export const multipleChoiceBlock = defineBlock({
|
|
525
|
-
metadata: multipleChoiceMetadata(),
|
|
526
|
-
data: multipleChoiceData,
|
|
527
|
-
commands: standardSectionCommands('MultipleChoiceBlock'),
|
|
528
|
-
render: (input) => renderStandardSectionBlock(input, 'MultipleChoiceBlock', multipleChoiceSections),
|
|
529
|
-
});
|
|
530
|
-
export const binaryDecisionBlock = defineBlock({
|
|
531
|
-
metadata: binaryDecisionMetadata(),
|
|
532
|
-
data: binaryDecisionData,
|
|
533
|
-
commands: standardSectionCommands('BinaryDecisionBlock'),
|
|
534
|
-
render: (input) => renderStandardSectionBlock(input, 'BinaryDecisionBlock', binaryDecisionSections),
|
|
535
|
-
});
|
|
536
|
-
export const peerNavigationBlock = defineBlock({
|
|
537
|
-
metadata: peerNavigationMetadata(),
|
|
538
|
-
data: peerNavigationData,
|
|
539
|
-
commands: standardSectionCommands('PeerNavigationBlock'),
|
|
540
|
-
render: (input) => renderStandardSectionBlock(input, 'PeerNavigationBlock', peerNavigationSections),
|
|
541
|
-
});
|
|
542
|
-
export const progressiveDisclosureBlock = defineBlock({
|
|
543
|
-
metadata: progressiveDisclosureMetadata(),
|
|
544
|
-
data: progressiveDisclosureData,
|
|
545
|
-
commands: standardSectionCommands('ProgressiveDisclosureBlock'),
|
|
546
|
-
render: (input) => renderStandardSectionBlock(input, 'ProgressiveDisclosureBlock', progressiveDisclosureSections),
|
|
547
|
-
});
|
|
548
|
-
export const pathProgressBlock = defineBlock({
|
|
549
|
-
metadata: pathProgressMetadata(),
|
|
550
|
-
data: pathProgressData,
|
|
551
|
-
commands: standardSectionCommands('PathProgressBlock'),
|
|
552
|
-
render: (input) => renderStandardSectionBlock(input, 'PathProgressBlock', pathProgressSections),
|
|
553
|
-
});
|
|
554
|
-
export const brandEmphasisBlock = defineBlock({
|
|
555
|
-
metadata: brandEmphasisMetadata(),
|
|
556
|
-
data: brandEmphasisData,
|
|
557
|
-
commands: standardSectionCommands('BrandEmphasisBlock'),
|
|
558
|
-
render: (input) => renderStandardSectionBlock(input, 'BrandEmphasisBlock', brandEmphasisSections),
|
|
559
|
-
});
|
|
560
|
-
export const modeAwarePrimitiveBlock = defineBlock({
|
|
561
|
-
metadata: modeAwarePrimitiveMetadata(),
|
|
562
|
-
data: modeAwarePrimitiveData,
|
|
563
|
-
commands: standardSectionCommands('ModeAwarePrimitiveBlock'),
|
|
564
|
-
render: (input) => renderStandardSectionBlock(input, 'ModeAwarePrimitiveBlock', modeAwarePrimitiveSections),
|
|
565
|
-
});
|
|
566
|
-
export const denseComparisonBlock = defineBlock({
|
|
567
|
-
metadata: denseComparisonMetadata(),
|
|
568
|
-
data: denseComparisonData,
|
|
569
|
-
commands: standardSectionCommands('DenseComparisonBlock'),
|
|
570
|
-
render: (input) => renderStandardSectionBlock(input, 'DenseComparisonBlock', denseComparisonSections),
|
|
571
|
-
});
|
|
572
|
-
export const hierarchyBlock = defineBlock({
|
|
573
|
-
metadata: hierarchyMetadata(),
|
|
574
|
-
data: hierarchyData,
|
|
575
|
-
commands: standardSectionCommands('HierarchyBlock'),
|
|
576
|
-
render: (input) => renderStandardSectionBlock(input, 'HierarchyBlock', hierarchySections),
|
|
577
|
-
});
|
|
578
|
-
export const explorationListBlock = defineBlock({
|
|
579
|
-
metadata: explorationListMetadata(),
|
|
580
|
-
data: explorationListData,
|
|
581
|
-
commands: standardSectionCommands('ExplorationListBlock'),
|
|
582
|
-
render: (input) => renderStandardSectionBlock(input, 'ExplorationListBlock', explorationListSections),
|
|
583
|
-
});
|
|
584
|
-
export const temporalDependencyBlock = defineBlock({
|
|
585
|
-
metadata: temporalDependencyMetadata(),
|
|
586
|
-
data: temporalDependencyData,
|
|
587
|
-
commands: standardSectionCommands('TemporalDependencyBlock'),
|
|
588
|
-
render: (input) => renderStandardSectionBlock(input, 'TemporalDependencyBlock', temporalDependencySections),
|
|
589
|
-
});
|
|
590
|
-
export const readerSurfaceSchemaAdapter = defineBlockSchemaAdapter({
|
|
591
|
-
id: 'reader-surface.article',
|
|
592
|
-
parse(input) {
|
|
593
|
-
if (!isReaderSurfaceSchemaData(input)) {
|
|
594
|
-
return schemaError('reader.article.invalid', 'Reader article data is required.');
|
|
595
|
-
}
|
|
596
|
-
return {
|
|
597
|
-
ok: true,
|
|
598
|
-
data: {
|
|
599
|
-
id: input.id,
|
|
600
|
-
title: input.title,
|
|
601
|
-
body: input.body,
|
|
602
|
-
...(input.outline === undefined ? {} : { outline: input.outline }),
|
|
603
|
-
},
|
|
604
|
-
};
|
|
605
|
-
},
|
|
606
|
-
describe: () => ({
|
|
607
|
-
requiredFields: ['id', 'title', 'body'],
|
|
608
|
-
optionalFields: ['outline'],
|
|
609
|
-
facts: [{ kind: 'entity', key: 'block.schema', value: 'ReaderSurface' }],
|
|
610
|
-
}),
|
|
611
|
-
});
|
|
612
|
-
export const inspectorPanelSchemaAdapter = defineBlockSchemaAdapter({
|
|
613
|
-
id: 'inspector-panel.selection',
|
|
614
|
-
parse(input) {
|
|
615
|
-
if (!isInspectorPanelSchemaData(input)) {
|
|
616
|
-
return schemaError('inspector.selection.invalid', 'Inspector selection data is required.');
|
|
617
|
-
}
|
|
618
|
-
return {
|
|
619
|
-
ok: true,
|
|
620
|
-
data: {
|
|
621
|
-
selectionId: input.selectionId,
|
|
622
|
-
label: input.label,
|
|
623
|
-
...(input.details === undefined ? {} : { details: input.details }),
|
|
624
|
-
},
|
|
625
|
-
};
|
|
626
|
-
},
|
|
627
|
-
describe: () => ({
|
|
628
|
-
requiredFields: ['selectionId', 'label'],
|
|
629
|
-
optionalFields: ['details'],
|
|
630
|
-
facts: [{ kind: 'entity', key: 'block.schema', value: 'InspectorPanel' }],
|
|
631
|
-
}),
|
|
632
|
-
});
|
|
633
|
-
export const inlineStatusSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
634
|
-
id: 'inline-status.status',
|
|
635
|
-
blockName: 'InlineStatusBlock',
|
|
636
|
-
sections: inlineStatusSections,
|
|
637
|
-
parse: parseInlineStatusSchemaData,
|
|
638
|
-
});
|
|
639
|
-
export const inFlowStatusSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
640
|
-
id: 'in-flow-status.status',
|
|
641
|
-
blockName: 'InFlowStatusBlock',
|
|
642
|
-
sections: inFlowStatusSections,
|
|
643
|
-
parse: parseInFlowStatusSchemaData,
|
|
644
|
-
});
|
|
645
|
-
export const transientOverlaySchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
646
|
-
id: 'transient-overlay.event',
|
|
647
|
-
blockName: 'TransientOverlayBlock',
|
|
648
|
-
sections: transientOverlaySections,
|
|
649
|
-
parse: parseTransientOverlaySchemaData,
|
|
650
|
-
});
|
|
651
|
-
export const activityStreamSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
652
|
-
id: 'activity-stream.events',
|
|
653
|
-
blockName: 'ActivityStreamBlock',
|
|
654
|
-
sections: activityStreamSections,
|
|
655
|
-
parse: parseActivityStreamSchemaData,
|
|
656
|
-
});
|
|
657
|
-
export const shortcutCueSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
658
|
-
id: 'shortcut-cue.shortcuts',
|
|
659
|
-
blockName: 'ShortcutCueBlock',
|
|
660
|
-
sections: shortcutCueSections,
|
|
661
|
-
parse: parseShortcutCueSchemaData,
|
|
662
|
-
});
|
|
663
|
-
export const progressIndicatorSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
664
|
-
id: 'progress-indicator.progress',
|
|
665
|
-
blockName: 'ProgressIndicatorBlock',
|
|
666
|
-
sections: progressIndicatorSections,
|
|
667
|
-
parse: parseProgressIndicatorSchemaData,
|
|
668
|
-
});
|
|
669
|
-
export const framedGroupSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
670
|
-
id: 'framed-group.group',
|
|
671
|
-
blockName: 'FramedGroupBlock',
|
|
672
|
-
sections: framedGroupSections,
|
|
673
|
-
parse: parseFramedGroupSchemaData,
|
|
674
|
-
});
|
|
675
|
-
export const explainabilityWalkthroughSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
676
|
-
id: 'explainability-walkthrough.walkthrough',
|
|
677
|
-
blockName: 'ExplainabilityWalkthroughBlock',
|
|
678
|
-
sections: explainabilityWalkthroughSections,
|
|
679
|
-
parse: parseExplainabilityWalkthroughSchemaData,
|
|
680
|
-
});
|
|
681
|
-
export const formattedDocumentSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
682
|
-
id: 'formatted-document.document',
|
|
683
|
-
blockName: 'FormattedDocumentBlock',
|
|
684
|
-
sections: formattedDocumentSections,
|
|
685
|
-
parse: parseFormattedDocumentSchemaData,
|
|
686
|
-
});
|
|
687
|
-
export const linkDestinationSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
688
|
-
id: 'link-destination.link',
|
|
689
|
-
blockName: 'LinkDestinationBlock',
|
|
690
|
-
sections: linkDestinationSections,
|
|
691
|
-
parse: parseLinkDestinationSchemaData,
|
|
692
|
-
});
|
|
693
|
-
export const dividerSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
694
|
-
id: 'divider.divider',
|
|
695
|
-
blockName: 'DividerBlock',
|
|
696
|
-
sections: dividerSections,
|
|
697
|
-
parse: parseDividerSchemaData,
|
|
698
|
-
});
|
|
699
|
-
export const textEntrySchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
700
|
-
id: 'text-entry.entry',
|
|
701
|
-
blockName: 'TextEntryBlock',
|
|
702
|
-
sections: textEntrySections,
|
|
703
|
-
parse: parseTextEntrySchemaData,
|
|
704
|
-
});
|
|
705
|
-
export const singleChoiceSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
706
|
-
id: 'single-choice.choice',
|
|
707
|
-
blockName: 'SingleChoiceBlock',
|
|
708
|
-
sections: singleChoiceSections,
|
|
709
|
-
parse: parseSingleChoiceSchemaData,
|
|
710
|
-
});
|
|
711
|
-
export const multipleChoiceSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
712
|
-
id: 'multiple-choice.choices',
|
|
713
|
-
blockName: 'MultipleChoiceBlock',
|
|
714
|
-
sections: multipleChoiceSections,
|
|
715
|
-
parse: parseMultipleChoiceSchemaData,
|
|
716
|
-
});
|
|
717
|
-
export const binaryDecisionSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
718
|
-
id: 'binary-decision.decision',
|
|
719
|
-
blockName: 'BinaryDecisionBlock',
|
|
720
|
-
sections: binaryDecisionSections,
|
|
721
|
-
parse: parseBinaryDecisionSchemaData,
|
|
722
|
-
});
|
|
723
|
-
export const peerNavigationSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
724
|
-
id: 'peer-navigation.peers',
|
|
725
|
-
blockName: 'PeerNavigationBlock',
|
|
726
|
-
sections: peerNavigationSections,
|
|
727
|
-
parse: parsePeerNavigationSchemaData,
|
|
728
|
-
});
|
|
729
|
-
export const progressiveDisclosureSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
730
|
-
id: 'progressive-disclosure.disclosure',
|
|
731
|
-
blockName: 'ProgressiveDisclosureBlock',
|
|
732
|
-
sections: progressiveDisclosureSections,
|
|
733
|
-
parse: parseProgressiveDisclosureSchemaData,
|
|
734
|
-
});
|
|
735
|
-
export const pathProgressSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
736
|
-
id: 'path-progress.path',
|
|
737
|
-
blockName: 'PathProgressBlock',
|
|
738
|
-
sections: pathProgressSections,
|
|
739
|
-
parse: parsePathProgressSchemaData,
|
|
740
|
-
});
|
|
741
|
-
export const brandEmphasisSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
742
|
-
id: 'brand-emphasis.brand',
|
|
743
|
-
blockName: 'BrandEmphasisBlock',
|
|
744
|
-
sections: brandEmphasisSections,
|
|
745
|
-
parse: parseBrandEmphasisSchemaData,
|
|
746
|
-
});
|
|
747
|
-
export const modeAwarePrimitiveSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
748
|
-
id: 'mode-aware-primitive.primitive',
|
|
749
|
-
blockName: 'ModeAwarePrimitiveBlock',
|
|
750
|
-
sections: modeAwarePrimitiveSections,
|
|
751
|
-
parse: parseModeAwarePrimitiveSchemaData,
|
|
752
|
-
});
|
|
753
|
-
export const denseComparisonSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
754
|
-
id: 'dense-comparison.comparison',
|
|
755
|
-
blockName: 'DenseComparisonBlock',
|
|
756
|
-
sections: denseComparisonSections,
|
|
757
|
-
parse: parseDenseComparisonSchemaData,
|
|
758
|
-
});
|
|
759
|
-
export const hierarchySchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
760
|
-
id: 'hierarchy.hierarchy',
|
|
761
|
-
blockName: 'HierarchyBlock',
|
|
762
|
-
sections: hierarchySections,
|
|
763
|
-
parse: parseHierarchySchemaData,
|
|
764
|
-
});
|
|
765
|
-
export const explorationListSchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
766
|
-
id: 'exploration-list.list',
|
|
767
|
-
blockName: 'ExplorationListBlock',
|
|
768
|
-
sections: explorationListSections,
|
|
769
|
-
parse: parseExplorationListSchemaData,
|
|
770
|
-
});
|
|
771
|
-
export const temporalDependencySchemaAdapter = defineStandardSectionSchemaAdapter({
|
|
772
|
-
id: 'temporal-dependency.timeline',
|
|
773
|
-
blockName: 'TemporalDependencyBlock',
|
|
774
|
-
sections: temporalDependencySections,
|
|
775
|
-
parse: parseTemporalDependencySchemaData,
|
|
776
|
-
});
|
|
777
|
-
export const readerSurfaceSchemaBlock = defineSchemaBlock({
|
|
778
|
-
block: readerSurfaceBlock,
|
|
779
|
-
schema: readerSurfaceSchemaAdapter,
|
|
780
|
-
bind: (article) => ({
|
|
781
|
-
input: {
|
|
782
|
-
slots: {
|
|
783
|
-
content: article.body,
|
|
784
|
-
...(article.outline === undefined
|
|
785
|
-
? {}
|
|
786
|
-
: { outline: article.outline.map((item) => item.label) }),
|
|
787
|
-
},
|
|
788
|
-
},
|
|
789
|
-
facts: [
|
|
790
|
-
{ kind: 'entity', key: 'article', value: article.id },
|
|
791
|
-
{ kind: 'label', key: 'article.title', value: article.title },
|
|
792
|
-
],
|
|
793
|
-
}),
|
|
794
|
-
});
|
|
795
|
-
export const inspectorPanelSchemaBlock = defineSchemaBlock({
|
|
796
|
-
block: inspectorPanelBlock,
|
|
797
|
-
schema: inspectorPanelSchemaAdapter,
|
|
798
|
-
bind: (selection) => ({
|
|
799
|
-
input: {
|
|
800
|
-
slots: {
|
|
801
|
-
selection: selection.label,
|
|
802
|
-
...(selection.details === undefined ? {} : { details: selection.details }),
|
|
803
|
-
},
|
|
804
|
-
},
|
|
805
|
-
facts: [
|
|
806
|
-
{ kind: 'entity', key: 'selection', value: selection.selectionId },
|
|
807
|
-
{ kind: 'label', key: 'selection.label', value: selection.label },
|
|
808
|
-
],
|
|
809
|
-
}),
|
|
810
|
-
});
|
|
811
|
-
export const inlineStatusSchemaBlock = defineSchemaBlock({
|
|
812
|
-
block: inlineStatusBlock,
|
|
813
|
-
schema: inlineStatusSchemaAdapter,
|
|
814
|
-
bind: (status) => bindStandardSectionSchemaData('InlineStatusBlock', status, inlineStatusSections),
|
|
815
|
-
});
|
|
816
|
-
export const inFlowStatusSchemaBlock = defineSchemaBlock({
|
|
817
|
-
block: inFlowStatusBlock,
|
|
818
|
-
schema: inFlowStatusSchemaAdapter,
|
|
819
|
-
bind: (status) => bindStandardSectionSchemaData('InFlowStatusBlock', status, inFlowStatusSections),
|
|
820
|
-
});
|
|
821
|
-
export const transientOverlaySchemaBlock = defineSchemaBlock({
|
|
822
|
-
block: transientOverlayBlock,
|
|
823
|
-
schema: transientOverlaySchemaAdapter,
|
|
824
|
-
bind: (overlay) => bindStandardSectionSchemaData('TransientOverlayBlock', overlay, transientOverlaySections),
|
|
825
|
-
});
|
|
826
|
-
export const activityStreamSchemaBlock = defineSchemaBlock({
|
|
827
|
-
block: activityStreamBlock,
|
|
828
|
-
schema: activityStreamSchemaAdapter,
|
|
829
|
-
bind: (stream) => bindStandardSectionSchemaData('ActivityStreamBlock', stream, activityStreamSections),
|
|
830
|
-
});
|
|
831
|
-
export const shortcutCueSchemaBlock = defineSchemaBlock({
|
|
832
|
-
block: shortcutCueBlock,
|
|
833
|
-
schema: shortcutCueSchemaAdapter,
|
|
834
|
-
bind: (cue) => bindStandardSectionSchemaData('ShortcutCueBlock', cue, shortcutCueSections),
|
|
835
|
-
});
|
|
836
|
-
export const progressIndicatorSchemaBlock = defineSchemaBlock({
|
|
837
|
-
block: progressIndicatorBlock,
|
|
838
|
-
schema: progressIndicatorSchemaAdapter,
|
|
839
|
-
bind: (progress) => bindStandardSectionSchemaData('ProgressIndicatorBlock', progress, progressIndicatorSections),
|
|
840
|
-
});
|
|
841
|
-
export const framedGroupSchemaBlock = defineSchemaBlock({
|
|
842
|
-
block: framedGroupBlock,
|
|
843
|
-
schema: framedGroupSchemaAdapter,
|
|
844
|
-
bind: (group) => bindStandardSectionSchemaData('FramedGroupBlock', group, framedGroupSections),
|
|
845
|
-
});
|
|
846
|
-
export const explainabilityWalkthroughSchemaBlock = defineSchemaBlock({
|
|
847
|
-
block: explainabilityWalkthroughBlock,
|
|
848
|
-
schema: explainabilityWalkthroughSchemaAdapter,
|
|
849
|
-
bind: (walkthrough) => bindStandardSectionSchemaData('ExplainabilityWalkthroughBlock', walkthrough, explainabilityWalkthroughSections),
|
|
850
|
-
});
|
|
851
|
-
export const formattedDocumentSchemaBlock = defineSchemaBlock({
|
|
852
|
-
block: formattedDocumentBlock,
|
|
853
|
-
schema: formattedDocumentSchemaAdapter,
|
|
854
|
-
bind: (document) => bindStandardSectionSchemaData('FormattedDocumentBlock', document, formattedDocumentSections),
|
|
855
|
-
});
|
|
856
|
-
export const linkDestinationSchemaBlock = defineSchemaBlock({
|
|
857
|
-
block: linkDestinationBlock,
|
|
858
|
-
schema: linkDestinationSchemaAdapter,
|
|
859
|
-
bind: (link) => bindStandardSectionSchemaData('LinkDestinationBlock', link, linkDestinationSections),
|
|
860
|
-
});
|
|
861
|
-
export const dividerSchemaBlock = defineSchemaBlock({
|
|
862
|
-
block: dividerBlock,
|
|
863
|
-
schema: dividerSchemaAdapter,
|
|
864
|
-
bind: (divider) => bindStandardSectionSchemaData('DividerBlock', divider, dividerSections),
|
|
865
|
-
});
|
|
866
|
-
export const textEntrySchemaBlock = defineSchemaBlock({
|
|
867
|
-
block: textEntryBlock,
|
|
868
|
-
schema: textEntrySchemaAdapter,
|
|
869
|
-
bind: (entry) => bindStandardSectionSchemaData('TextEntryBlock', entry, textEntrySections),
|
|
870
|
-
});
|
|
871
|
-
export const singleChoiceSchemaBlock = defineSchemaBlock({
|
|
872
|
-
block: singleChoiceBlock,
|
|
873
|
-
schema: singleChoiceSchemaAdapter,
|
|
874
|
-
bind: (choice) => bindStandardSectionSchemaData('SingleChoiceBlock', choice, singleChoiceSections),
|
|
875
|
-
});
|
|
876
|
-
export const multipleChoiceSchemaBlock = defineSchemaBlock({
|
|
877
|
-
block: multipleChoiceBlock,
|
|
878
|
-
schema: multipleChoiceSchemaAdapter,
|
|
879
|
-
bind: (choices) => bindStandardSectionSchemaData('MultipleChoiceBlock', choices, multipleChoiceSections),
|
|
880
|
-
});
|
|
881
|
-
export const binaryDecisionSchemaBlock = defineSchemaBlock({
|
|
882
|
-
block: binaryDecisionBlock,
|
|
883
|
-
schema: binaryDecisionSchemaAdapter,
|
|
884
|
-
bind: (decision) => bindStandardSectionSchemaData('BinaryDecisionBlock', decision, binaryDecisionSections),
|
|
885
|
-
});
|
|
886
|
-
export const peerNavigationSchemaBlock = defineSchemaBlock({
|
|
887
|
-
block: peerNavigationBlock,
|
|
888
|
-
schema: peerNavigationSchemaAdapter,
|
|
889
|
-
bind: (peers) => bindStandardSectionSchemaData('PeerNavigationBlock', peers, peerNavigationSections),
|
|
890
|
-
});
|
|
891
|
-
export const progressiveDisclosureSchemaBlock = defineSchemaBlock({
|
|
892
|
-
block: progressiveDisclosureBlock,
|
|
893
|
-
schema: progressiveDisclosureSchemaAdapter,
|
|
894
|
-
bind: (disclosure) => bindStandardSectionSchemaData('ProgressiveDisclosureBlock', disclosure, progressiveDisclosureSections),
|
|
895
|
-
});
|
|
896
|
-
export const pathProgressSchemaBlock = defineSchemaBlock({
|
|
897
|
-
block: pathProgressBlock,
|
|
898
|
-
schema: pathProgressSchemaAdapter,
|
|
899
|
-
bind: (path) => bindStandardSectionSchemaData('PathProgressBlock', path, pathProgressSections),
|
|
900
|
-
});
|
|
901
|
-
export const brandEmphasisSchemaBlock = defineSchemaBlock({
|
|
902
|
-
block: brandEmphasisBlock,
|
|
903
|
-
schema: brandEmphasisSchemaAdapter,
|
|
904
|
-
bind: (brand) => bindStandardSectionSchemaData('BrandEmphasisBlock', brand, brandEmphasisSections),
|
|
905
|
-
});
|
|
906
|
-
export const modeAwarePrimitiveSchemaBlock = defineSchemaBlock({
|
|
907
|
-
block: modeAwarePrimitiveBlock,
|
|
908
|
-
schema: modeAwarePrimitiveSchemaAdapter,
|
|
909
|
-
bind: (primitive) => bindStandardSectionSchemaData('ModeAwarePrimitiveBlock', primitive, modeAwarePrimitiveSections),
|
|
910
|
-
});
|
|
911
|
-
export const denseComparisonSchemaBlock = defineSchemaBlock({
|
|
912
|
-
block: denseComparisonBlock,
|
|
913
|
-
schema: denseComparisonSchemaAdapter,
|
|
914
|
-
bind: (comparison) => bindStandardSectionSchemaData('DenseComparisonBlock', comparison, denseComparisonSections),
|
|
915
|
-
});
|
|
916
|
-
export const hierarchySchemaBlock = defineSchemaBlock({
|
|
917
|
-
block: hierarchyBlock,
|
|
918
|
-
schema: hierarchySchemaAdapter,
|
|
919
|
-
bind: (hierarchy) => bindStandardSectionSchemaData('HierarchyBlock', hierarchy, hierarchySections),
|
|
920
|
-
});
|
|
921
|
-
export const explorationListSchemaBlock = defineSchemaBlock({
|
|
922
|
-
block: explorationListBlock,
|
|
923
|
-
schema: explorationListSchemaAdapter,
|
|
924
|
-
bind: (list) => bindStandardSectionSchemaData('ExplorationListBlock', list, explorationListSections),
|
|
925
|
-
});
|
|
926
|
-
export const temporalDependencySchemaBlock = defineSchemaBlock({
|
|
927
|
-
block: temporalDependencyBlock,
|
|
928
|
-
schema: temporalDependencySchemaAdapter,
|
|
929
|
-
bind: (timeline) => bindStandardSectionSchemaData('TemporalDependencyBlock', timeline, temporalDependencySections),
|
|
930
|
-
});
|
|
931
|
-
export const standardBlocks = Object.freeze([
|
|
932
|
-
appShellBlock,
|
|
933
|
-
readerSurfaceBlock,
|
|
934
|
-
inspectorPanelBlock,
|
|
935
|
-
inlineStatusBlock,
|
|
936
|
-
inFlowStatusBlock,
|
|
937
|
-
transientOverlayBlock,
|
|
938
|
-
activityStreamBlock,
|
|
939
|
-
shortcutCueBlock,
|
|
940
|
-
progressIndicatorBlock,
|
|
941
|
-
framedGroupBlock,
|
|
942
|
-
explainabilityWalkthroughBlock,
|
|
943
|
-
formattedDocumentBlock,
|
|
944
|
-
linkDestinationBlock,
|
|
945
|
-
dividerBlock,
|
|
946
|
-
textEntryBlock,
|
|
947
|
-
singleChoiceBlock,
|
|
948
|
-
multipleChoiceBlock,
|
|
949
|
-
binaryDecisionBlock,
|
|
950
|
-
peerNavigationBlock,
|
|
951
|
-
progressiveDisclosureBlock,
|
|
952
|
-
pathProgressBlock,
|
|
953
|
-
brandEmphasisBlock,
|
|
954
|
-
modeAwarePrimitiveBlock,
|
|
955
|
-
denseComparisonBlock,
|
|
956
|
-
hierarchyBlock,
|
|
957
|
-
explorationListBlock,
|
|
958
|
-
temporalDependencyBlock,
|
|
959
|
-
]);
|
|
960
|
-
export const standardBlockStories = Object.freeze([
|
|
961
|
-
standardBlockStory('app-shell.ready', 'AppShell', 'Ready shell', 'ready'),
|
|
962
|
-
standardBlockStory('app-shell.narrow', 'AppShell', 'Narrow shell', 'narrow'),
|
|
963
|
-
standardBlockStory('app-shell.overlay', 'AppShell', 'Overlay shell', 'overlay'),
|
|
964
|
-
standardBlockStory('reader-surface.ready', 'ReaderSurface', 'Reader ready', 'ready'),
|
|
965
|
-
standardBlockStory('reader-surface.loading', 'ReaderSurface', 'Reader loading', 'loading'),
|
|
966
|
-
standardBlockStory('reader-surface.stale', 'ReaderSurface', 'Reader stale', 'stale'),
|
|
967
|
-
standardBlockStory('reader-surface.empty', 'ReaderSurface', 'Reader empty', 'empty'),
|
|
968
|
-
standardBlockStory('reader-surface.error', 'ReaderSurface', 'Reader error', 'error'),
|
|
969
|
-
standardBlockStory('inspector-panel.ready', 'InspectorPanel', 'Inspector ready', 'ready'),
|
|
970
|
-
standardBlockStory('inspector-panel.empty', 'InspectorPanel', 'Inspector empty', 'empty'),
|
|
971
|
-
standardBlockStory('inspector-panel.loading', 'InspectorPanel', 'Inspector loading', 'loading'),
|
|
972
|
-
standardBlockStory('inspector-panel.stale', 'InspectorPanel', 'Inspector stale', 'stale'),
|
|
973
|
-
standardBlockStory('inspector-panel.error', 'InspectorPanel', 'Inspector error', 'error'),
|
|
974
|
-
standardBlockStory('inline-status.ready', 'InlineStatusBlock', 'Inline status ready', 'ready'),
|
|
975
|
-
standardBlockStory('in-flow-status.ready', 'InFlowStatusBlock', 'In-flow status ready', 'ready'),
|
|
976
|
-
standardBlockStory('transient-overlay.ready', 'TransientOverlayBlock', 'Transient overlay ready', 'ready'),
|
|
977
|
-
standardBlockStory('activity-stream.ready', 'ActivityStreamBlock', 'Activity stream ready', 'ready'),
|
|
978
|
-
standardBlockStory('shortcut-cue.ready', 'ShortcutCueBlock', 'Shortcut cue ready', 'ready'),
|
|
979
|
-
standardBlockStory('progress-indicator.ready', 'ProgressIndicatorBlock', 'Progress indicator ready', 'ready'),
|
|
980
|
-
standardBlockStory('framed-group.ready', 'FramedGroupBlock', 'Framed group ready', 'ready'),
|
|
981
|
-
standardBlockStory('explainability-walkthrough.ready', 'ExplainabilityWalkthroughBlock', 'Explainability walkthrough ready', 'ready'),
|
|
982
|
-
standardBlockStory('formatted-document.ready', 'FormattedDocumentBlock', 'Formatted document ready', 'ready'),
|
|
983
|
-
standardBlockStory('link-destination.ready', 'LinkDestinationBlock', 'Link destination ready', 'ready'),
|
|
984
|
-
standardBlockStory('divider.ready', 'DividerBlock', 'Divider ready', 'ready'),
|
|
985
|
-
standardBlockStory('text-entry.ready', 'TextEntryBlock', 'Text entry ready', 'ready'),
|
|
986
|
-
standardBlockStory('single-choice.ready', 'SingleChoiceBlock', 'Single choice ready', 'ready'),
|
|
987
|
-
standardBlockStory('multiple-choice.ready', 'MultipleChoiceBlock', 'Multiple choice ready', 'ready'),
|
|
988
|
-
standardBlockStory('binary-decision.ready', 'BinaryDecisionBlock', 'Binary decision ready', 'ready'),
|
|
989
|
-
standardBlockStory('peer-navigation.ready', 'PeerNavigationBlock', 'Peer navigation ready', 'ready'),
|
|
990
|
-
standardBlockStory('progressive-disclosure.ready', 'ProgressiveDisclosureBlock', 'Progressive disclosure ready', 'ready'),
|
|
991
|
-
standardBlockStory('path-progress.ready', 'PathProgressBlock', 'Path progress ready', 'ready'),
|
|
992
|
-
standardBlockStory('brand-emphasis.ready', 'BrandEmphasisBlock', 'Brand emphasis ready', 'ready'),
|
|
993
|
-
standardBlockStory('mode-aware-primitive.ready', 'ModeAwarePrimitiveBlock', 'Mode-aware primitive ready', 'ready'),
|
|
994
|
-
standardBlockStory('dense-comparison.ready', 'DenseComparisonBlock', 'Dense comparison ready', 'ready'),
|
|
995
|
-
standardBlockStory('hierarchy.ready', 'HierarchyBlock', 'Hierarchy ready', 'ready'),
|
|
996
|
-
standardBlockStory('exploration-list.ready', 'ExplorationListBlock', 'Exploration list ready', 'ready'),
|
|
997
|
-
standardBlockStory('temporal-dependency.ready', 'TemporalDependencyBlock', 'Temporal dependency ready', 'ready'),
|
|
998
|
-
]);
|
|
999
|
-
export const standardBlockPackageManifest = defineBlockPackage({
|
|
1000
|
-
packageName: BIJOU_PACKAGE,
|
|
1001
|
-
version: '5.0.0',
|
|
1002
|
-
bijouPeerRange: '^5.0.0',
|
|
1003
|
-
blocks: standardBlocks.map((block) => block.metadata.blockName),
|
|
1004
|
-
docs: [
|
|
1005
|
-
'docs/design-system/blocks.md',
|
|
1006
|
-
'docs/design/DX-031-standard-bijou-blocks.md',
|
|
1007
|
-
'docs/design/DF-039-component-family-standard-blocks.md',
|
|
1008
|
-
'docs/design/DF-046-choice-navigation-standard-blocks.md',
|
|
1009
|
-
'docs/design/DF-054-late-family-standard-blocks.md',
|
|
1010
|
-
],
|
|
1011
|
-
tags: ['standard-blocks', 'dx-031', 'first-party'],
|
|
1012
|
-
});
|
|
1013
|
-
function appShellMetadata() {
|
|
1014
|
-
return {
|
|
1015
|
-
packageName: BIJOU_PACKAGE,
|
|
1016
|
-
blockName: 'AppShell',
|
|
1017
|
-
family: 'app-structure',
|
|
1018
|
-
scale: 'app',
|
|
1019
|
-
modes: ALL_OUTPUT_MODES,
|
|
1020
|
-
docs: {
|
|
1021
|
-
summary: 'Composes logical app regions for navigation, content, inspection, status, and overlays.',
|
|
1022
|
-
useWhen: ['Building a shell around nested Bijou blocks.'],
|
|
1023
|
-
avoidWhen: ['A single section or panel does not need app-level region structure.'],
|
|
1024
|
-
relatedDocs: ['docs/design/DX-034-declarative-view-data-binding.md'],
|
|
1025
|
-
},
|
|
1026
|
-
sourcePath: 'packages/bijou/src/core/standard-blocks.ts',
|
|
1027
|
-
slots: [
|
|
1028
|
-
{ id: 'navigation', required: false, description: 'Navigation or outline blocks.' },
|
|
1029
|
-
{ id: 'content', required: true, description: 'Primary content block.' },
|
|
1030
|
-
{ id: 'inspector', required: false, description: 'Contextual inspection blocks.' },
|
|
1031
|
-
{ id: 'status', required: false, description: 'Status or command feedback blocks.' },
|
|
1032
|
-
{ id: 'overlays', required: false, description: 'Overlay block declarations.' },
|
|
1033
|
-
],
|
|
1034
|
-
variants: [
|
|
1035
|
-
{
|
|
1036
|
-
id: 'wide',
|
|
1037
|
-
label: 'Wide',
|
|
1038
|
-
requiredSlots: ['content'],
|
|
1039
|
-
optionalSlots: ['navigation', 'inspector', 'status', 'overlays'],
|
|
1040
|
-
},
|
|
1041
|
-
{
|
|
1042
|
-
id: 'narrow',
|
|
1043
|
-
label: 'Narrow',
|
|
1044
|
-
requiredSlots: ['content'],
|
|
1045
|
-
optionalSlots: ['navigation', 'inspector', 'status', 'overlays'],
|
|
1046
|
-
},
|
|
1047
|
-
],
|
|
1048
|
-
composedComponents: ['AppShellComposition', 'ProviderScope', 'BlockDefinition'],
|
|
1049
|
-
semanticFacts: [{ kind: 'entity', key: 'block', value: 'AppShell' }],
|
|
1050
|
-
storyIds: ['app-shell.ready', 'app-shell.narrow', 'app-shell.overlay'],
|
|
1051
|
-
examples: [{ id: 'app-shell.docs', label: 'Docs shell composition' }],
|
|
1052
|
-
tags: ['standard', 'shell', 'composition'],
|
|
1053
|
-
};
|
|
1054
|
-
}
|
|
1055
|
-
function readerSurfaceMetadata() {
|
|
1056
|
-
return {
|
|
1057
|
-
packageName: BIJOU_PACKAGE,
|
|
1058
|
-
blockName: 'ReaderSurface',
|
|
1059
|
-
family: 'content-reading',
|
|
1060
|
-
scale: 'section',
|
|
1061
|
-
modes: ALL_OUTPUT_MODES,
|
|
1062
|
-
docs: {
|
|
1063
|
-
summary: 'Composes readable content with optional navigation and outline context.',
|
|
1064
|
-
useWhen: ['Rendering provider-backed prose, docs, articles, or reports.'],
|
|
1065
|
-
avoidWhen: ['The surface is an editable form or command palette.'],
|
|
1066
|
-
},
|
|
1067
|
-
sourcePath: 'packages/bijou/src/core/standard-blocks.ts',
|
|
1068
|
-
slots: [
|
|
1069
|
-
{ id: 'content', required: true, description: 'Readable body content.' },
|
|
1070
|
-
{ id: 'navigation', required: false, description: 'Sibling navigation content.' },
|
|
1071
|
-
{ id: 'outline', required: false, description: 'Current content outline.' },
|
|
1072
|
-
],
|
|
1073
|
-
variants: [
|
|
1074
|
-
{
|
|
1075
|
-
id: 'article',
|
|
1076
|
-
label: 'Article',
|
|
1077
|
-
requiredSlots: ['content'],
|
|
1078
|
-
optionalSlots: ['navigation', 'outline'],
|
|
1079
|
-
},
|
|
1080
|
-
{
|
|
1081
|
-
id: 'loading',
|
|
1082
|
-
label: 'Loading',
|
|
1083
|
-
requiredSlots: ['content'],
|
|
1084
|
-
optionalSlots: ['navigation', 'outline'],
|
|
1085
|
-
facts: [{ kind: 'state', key: 'binding.status', value: 'loading' }],
|
|
1086
|
-
},
|
|
1087
|
-
],
|
|
1088
|
-
composedComponents: ['Markdown', 'Breadcrumb', 'Tree'],
|
|
1089
|
-
semanticFacts: [{ kind: 'entity', key: 'block', value: 'ReaderSurface' }],
|
|
1090
|
-
storyIds: [
|
|
1091
|
-
'reader-surface.ready',
|
|
1092
|
-
'reader-surface.loading',
|
|
1093
|
-
'reader-surface.stale',
|
|
1094
|
-
'reader-surface.empty',
|
|
1095
|
-
'reader-surface.error',
|
|
1096
|
-
],
|
|
1097
|
-
examples: [{ id: 'reader-surface.docs', label: 'Docs article reader' }],
|
|
1098
|
-
tags: ['standard', 'reader', 'content'],
|
|
1099
|
-
};
|
|
1100
|
-
}
|
|
1101
|
-
function inspectorPanelMetadata() {
|
|
1102
|
-
return {
|
|
1103
|
-
packageName: BIJOU_PACKAGE,
|
|
1104
|
-
blockName: 'InspectorPanel',
|
|
1105
|
-
family: 'inspection',
|
|
1106
|
-
scale: 'panel',
|
|
1107
|
-
modes: ALL_OUTPUT_MODES,
|
|
1108
|
-
docs: {
|
|
1109
|
-
summary: 'Explains the current selection with optional facts and source actions.',
|
|
1110
|
-
useWhen: ['Showing contextual details for a selected entity.'],
|
|
1111
|
-
avoidWhen: ['The view owns primary content rather than selection explanation.'],
|
|
1112
|
-
},
|
|
1113
|
-
sourcePath: 'packages/bijou/src/core/standard-blocks.ts',
|
|
1114
|
-
slots: [
|
|
1115
|
-
{ id: 'selection', required: true, description: 'Selected entity label or summary.' },
|
|
1116
|
-
{ id: 'details', required: false, description: 'Facts or properties for the selected entity.' },
|
|
1117
|
-
{ id: 'actions', required: false, description: 'Selection-specific command affordances.' },
|
|
1118
|
-
],
|
|
1119
|
-
variants: [
|
|
1120
|
-
{
|
|
1121
|
-
id: 'selection',
|
|
1122
|
-
label: 'Selection',
|
|
1123
|
-
requiredSlots: ['selection'],
|
|
1124
|
-
optionalSlots: ['details', 'actions'],
|
|
1125
|
-
},
|
|
1126
|
-
{
|
|
1127
|
-
id: 'empty',
|
|
1128
|
-
label: 'Empty',
|
|
1129
|
-
requiredSlots: ['selection'],
|
|
1130
|
-
optionalSlots: ['details', 'actions'],
|
|
1131
|
-
facts: [{ kind: 'state', key: 'binding.status', value: 'empty' }],
|
|
1132
|
-
},
|
|
1133
|
-
],
|
|
1134
|
-
composedComponents: ['Inspector', 'StatsPanel', 'Log'],
|
|
1135
|
-
semanticFacts: [{ kind: 'entity', key: 'block', value: 'InspectorPanel' }],
|
|
1136
|
-
storyIds: [
|
|
1137
|
-
'inspector-panel.ready',
|
|
1138
|
-
'inspector-panel.empty',
|
|
1139
|
-
'inspector-panel.loading',
|
|
1140
|
-
'inspector-panel.stale',
|
|
1141
|
-
'inspector-panel.error',
|
|
1142
|
-
],
|
|
1143
|
-
examples: [{ id: 'inspector-panel.selection', label: 'Selection inspector' }],
|
|
1144
|
-
tags: ['standard', 'inspector', 'selection'],
|
|
1145
|
-
};
|
|
1146
|
-
}
|
|
1147
|
-
function inlineStatusMetadata() {
|
|
1148
|
-
return standardSectionMetadata({
|
|
1149
|
-
blockName: 'InlineStatusBlock',
|
|
1150
|
-
family: 'status',
|
|
1151
|
-
scale: 'inline',
|
|
1152
|
-
summary: 'Attaches concise status facts to labels, rows, and command hints without relying on color-only meaning.',
|
|
1153
|
-
useWhen: ['Showing compact status beside a label, command, row, or fact.'],
|
|
1154
|
-
avoidWhen: ['The message needs durable body copy, action text, or a review history.'],
|
|
1155
|
-
slots: inlineStatusSections,
|
|
1156
|
-
storyIds: ['inline-status.ready'],
|
|
1157
|
-
composedComponents: ['Badge', 'StatusToken', 'Text'],
|
|
1158
|
-
tags: ['standard', 'status', 'inline', 'df-031'],
|
|
1159
|
-
relatedDocs: ['docs/design/DF-031-status-feedback-standard-blocks.md'],
|
|
1160
|
-
});
|
|
1161
|
-
}
|
|
1162
|
-
function inFlowStatusMetadata() {
|
|
1163
|
-
return standardSectionMetadata({
|
|
1164
|
-
blockName: 'InFlowStatusBlock',
|
|
1165
|
-
family: 'status',
|
|
1166
|
-
scale: 'section',
|
|
1167
|
-
summary: 'Shows durable in-flow status messages with severity, source, action, and lower-mode facts.',
|
|
1168
|
-
useWhen: ['A page needs status copy that remains in the normal reading flow.'],
|
|
1169
|
-
avoidWhen: ['The feedback should disappear automatically or interrupt as an overlay.'],
|
|
1170
|
-
slots: inFlowStatusSections,
|
|
1171
|
-
storyIds: ['in-flow-status.ready'],
|
|
1172
|
-
composedComponents: ['Alert', 'Callout', 'StatusToken'],
|
|
1173
|
-
tags: ['standard', 'status', 'in-flow', 'df-032'],
|
|
1174
|
-
relatedDocs: ['docs/design/DF-031-status-feedback-standard-blocks.md'],
|
|
1175
|
-
});
|
|
1176
|
-
}
|
|
1177
|
-
function transientOverlayMetadata() {
|
|
1178
|
-
return standardSectionMetadata({
|
|
1179
|
-
blockName: 'TransientOverlayBlock',
|
|
1180
|
-
family: 'overlay',
|
|
1181
|
-
scale: 'overlay',
|
|
1182
|
-
summary: 'Announces short-lived state with priority, dismissal, and accessible text facts.',
|
|
1183
|
-
useWhen: ['A low-level toast or temporary overlay needs consistent semantics.'],
|
|
1184
|
-
avoidWhen: ['The feedback needs durable notification history or blocking confirmation.'],
|
|
1185
|
-
slots: transientOverlaySections,
|
|
1186
|
-
storyIds: ['transient-overlay.ready'],
|
|
1187
|
-
composedComponents: ['Toast', 'OverlayLayer', 'StatusToken'],
|
|
1188
|
-
tags: ['standard', 'overlay', 'transient', 'df-033'],
|
|
1189
|
-
relatedDocs: ['docs/design/DF-031-status-feedback-standard-blocks.md'],
|
|
1190
|
-
});
|
|
1191
|
-
}
|
|
1192
|
-
function activityStreamMetadata() {
|
|
1193
|
-
return standardSectionMetadata({
|
|
1194
|
-
blockName: 'ActivityStreamBlock',
|
|
1195
|
-
family: 'activity',
|
|
1196
|
-
scale: 'section',
|
|
1197
|
-
summary: 'Renders chronological events with selected-event and lower-mode facts.',
|
|
1198
|
-
useWhen: ['A view needs accumulating activity, event history, or release progress logs.'],
|
|
1199
|
-
avoidWhen: ['Only one inline status or one temporary overlay is needed.'],
|
|
1200
|
-
slots: activityStreamSections,
|
|
1201
|
-
storyIds: ['activity-stream.ready'],
|
|
1202
|
-
composedComponents: ['Timeline', 'Log', 'StatusToken'],
|
|
1203
|
-
tags: ['standard', 'activity', 'timeline', 'df-035'],
|
|
1204
|
-
relatedDocs: ['docs/design/DF-031-status-feedback-standard-blocks.md'],
|
|
1205
|
-
});
|
|
1206
|
-
}
|
|
1207
|
-
function shortcutCueMetadata() {
|
|
1208
|
-
return standardSectionMetadata({
|
|
1209
|
-
blockName: 'ShortcutCueBlock',
|
|
1210
|
-
family: 'shortcut',
|
|
1211
|
-
scale: 'inline',
|
|
1212
|
-
summary: 'Renders inline shortcut hints with key, action, scope, and lower-mode semantics.',
|
|
1213
|
-
useWhen: ['A page or shell needs compact keyboard hints near a command surface.'],
|
|
1214
|
-
avoidWhen: ['The user needs a complete grouped help reference.'],
|
|
1215
|
-
slots: shortcutCueSections,
|
|
1216
|
-
storyIds: ['shortcut-cue.ready'],
|
|
1217
|
-
composedComponents: ['Kbd', 'KeyMap', 'HelpHint'],
|
|
1218
|
-
tags: ['standard', 'shortcut', 'keyboard', 'df-037'],
|
|
1219
|
-
relatedDocs: ['docs/design/DF-031-status-feedback-standard-blocks.md'],
|
|
1220
|
-
});
|
|
1221
|
-
}
|
|
1222
|
-
function progressIndicatorMetadata() {
|
|
1223
|
-
return standardSectionMetadata({
|
|
1224
|
-
blockName: 'ProgressIndicatorBlock',
|
|
1225
|
-
family: 'progress',
|
|
1226
|
-
scale: 'section',
|
|
1227
|
-
summary: 'Exposes progress label, value, total, percent, and lower-mode progress facts.',
|
|
1228
|
-
useWhen: ['A task, release checklist, or operation needs explicit progress state.'],
|
|
1229
|
-
avoidWhen: ['The view only needs a static status label without completion state.'],
|
|
1230
|
-
slots: progressIndicatorSections,
|
|
1231
|
-
storyIds: ['progress-indicator.ready'],
|
|
1232
|
-
composedComponents: ['ProgressBar', 'Stepper', 'StatusToken'],
|
|
1233
|
-
tags: ['standard', 'progress', 'feedback', 'df-038'],
|
|
1234
|
-
relatedDocs: ['docs/design/DF-031-status-feedback-standard-blocks.md'],
|
|
1235
|
-
});
|
|
1236
|
-
}
|
|
1237
|
-
function framedGroupMetadata() {
|
|
1238
|
-
return standardSectionMetadata({
|
|
1239
|
-
blockName: 'FramedGroupBlock',
|
|
1240
|
-
family: 'grouping',
|
|
1241
|
-
scale: 'section',
|
|
1242
|
-
summary: 'Groups related content in a framed region with title, selected item, and lower-mode grouping facts.',
|
|
1243
|
-
useWhen: ['A page needs a named group of related rows, checks, or facts that should lower as one unit.'],
|
|
1244
|
-
avoidWhen: ['The content is a document section that does not need a framed group boundary.'],
|
|
1245
|
-
slots: framedGroupSections,
|
|
1246
|
-
storyIds: ['framed-group.ready'],
|
|
1247
|
-
composedComponents: ['Box', 'HeaderBox', 'SectionGroup'],
|
|
1248
|
-
tags: ['standard', 'grouping', 'framed', 'df-039'],
|
|
1249
|
-
relatedDocs: ['docs/design/DF-039-component-family-standard-blocks.md'],
|
|
1250
|
-
});
|
|
1251
|
-
}
|
|
1252
|
-
function explainabilityWalkthroughMetadata() {
|
|
1253
|
-
return standardSectionMetadata({
|
|
1254
|
-
blockName: 'ExplainabilityWalkthroughBlock',
|
|
1255
|
-
family: 'explainability',
|
|
1256
|
-
scale: 'section',
|
|
1257
|
-
summary: 'Explains why a state changed with ordered steps, evidence, decision, and next action facts.',
|
|
1258
|
-
useWhen: ['A workflow needs a durable walkthrough of reasoning, evidence, or change causality.'],
|
|
1259
|
-
avoidWhen: ['The view only needs a compact status message or an activity log.'],
|
|
1260
|
-
slots: explainabilityWalkthroughSections,
|
|
1261
|
-
storyIds: ['explainability-walkthrough.ready'],
|
|
1262
|
-
composedComponents: ['Callout', 'Timeline', 'Inspector'],
|
|
1263
|
-
tags: ['standard', 'explainability', 'walkthrough', 'df-040'],
|
|
1264
|
-
relatedDocs: ['docs/design/DF-039-component-family-standard-blocks.md'],
|
|
1265
|
-
});
|
|
1266
|
-
}
|
|
1267
|
-
function formattedDocumentMetadata() {
|
|
1268
|
-
return standardSectionMetadata({
|
|
1269
|
-
blockName: 'FormattedDocumentBlock',
|
|
1270
|
-
family: 'document',
|
|
1271
|
-
scale: 'section',
|
|
1272
|
-
summary: 'Publishes persistent prose with heading, body, callout, and code facts that survive lower modes.',
|
|
1273
|
-
useWhen: ['A docs or report surface needs formatted prose semantics without owning app navigation.'],
|
|
1274
|
-
avoidWhen: ['The content is a one-line label, status, link, or editable input.'],
|
|
1275
|
-
slots: formattedDocumentSections,
|
|
1276
|
-
storyIds: ['formatted-document.ready'],
|
|
1277
|
-
composedComponents: ['Markdown', 'Prose', 'Callout', 'CodeBlock'],
|
|
1278
|
-
tags: ['standard', 'document', 'prose', 'df-042'],
|
|
1279
|
-
relatedDocs: ['docs/design/DF-039-component-family-standard-blocks.md'],
|
|
1280
|
-
});
|
|
1281
|
-
}
|
|
1282
|
-
function linkDestinationMetadata() {
|
|
1283
|
-
return standardSectionMetadata({
|
|
1284
|
-
blockName: 'LinkDestinationBlock',
|
|
1285
|
-
family: 'navigation',
|
|
1286
|
-
scale: 'inline',
|
|
1287
|
-
summary: 'Describes a navigable destination with label, target, kind, status, and lower-mode link facts.',
|
|
1288
|
-
useWhen: ['A surface needs a concrete destination that can lower to plain text without losing the target.'],
|
|
1289
|
-
avoidWhen: ['The interaction changes local state without navigating to an external or document destination.'],
|
|
1290
|
-
slots: linkDestinationSections,
|
|
1291
|
-
storyIds: ['link-destination.ready'],
|
|
1292
|
-
composedComponents: ['Link', 'Breadcrumb', 'CommandItem'],
|
|
1293
|
-
tags: ['standard', 'link', 'navigation', 'df-043'],
|
|
1294
|
-
relatedDocs: ['docs/design/DF-039-component-family-standard-blocks.md'],
|
|
1295
|
-
});
|
|
1296
|
-
}
|
|
1297
|
-
function dividerMetadata() {
|
|
1298
|
-
return standardSectionMetadata({
|
|
1299
|
-
blockName: 'DividerBlock',
|
|
1300
|
-
family: 'structure',
|
|
1301
|
-
scale: 'inline',
|
|
1302
|
-
summary: 'Separates sections with a labeled structural rule that remains meaningful in pipe and accessible modes.',
|
|
1303
|
-
useWhen: ['A page needs a named break between content regions or evidence groups.'],
|
|
1304
|
-
avoidWhen: ['The break is purely decorative and has no semantic label.'],
|
|
1305
|
-
slots: dividerSections,
|
|
1306
|
-
storyIds: ['divider.ready'],
|
|
1307
|
-
composedComponents: ['Rule', 'Separator', 'HeadingRule'],
|
|
1308
|
-
tags: ['standard', 'divider', 'structure', 'df-044'],
|
|
1309
|
-
relatedDocs: ['docs/design/DF-039-component-family-standard-blocks.md'],
|
|
1310
|
-
});
|
|
1311
|
-
}
|
|
1312
|
-
function textEntryMetadata() {
|
|
1313
|
-
return standardSectionMetadata({
|
|
1314
|
-
blockName: 'TextEntryBlock',
|
|
1315
|
-
family: 'input',
|
|
1316
|
-
scale: 'section',
|
|
1317
|
-
summary: 'Describes a text input state with field, value, placeholder, validation, and result facts.',
|
|
1318
|
-
useWhen: ['A search, filter, or form surface needs inspectable text-entry semantics.'],
|
|
1319
|
-
avoidWhen: ['The control is a choice, toggle, or multi-field form that needs its own structured contract.'],
|
|
1320
|
-
slots: textEntrySections,
|
|
1321
|
-
storyIds: ['text-entry.ready'],
|
|
1322
|
-
composedComponents: ['Input', 'SearchBox', 'ValidationMessage'],
|
|
1323
|
-
tags: ['standard', 'input', 'text-entry', 'df-045'],
|
|
1324
|
-
relatedDocs: ['docs/design/DF-039-component-family-standard-blocks.md'],
|
|
1325
|
-
});
|
|
1326
|
-
}
|
|
1327
|
-
function singleChoiceMetadata() {
|
|
1328
|
-
return standardSectionMetadata({
|
|
1329
|
-
blockName: 'SingleChoiceBlock',
|
|
1330
|
-
family: 'input',
|
|
1331
|
-
scale: 'section',
|
|
1332
|
-
summary: 'Describes a single-choice control with option list, selected value, mode, and validation facts.',
|
|
1333
|
-
useWhen: ['A radio, select, or segmented control needs semantic option and selected-value lowerings.'],
|
|
1334
|
-
avoidWhen: ['More than one option can be selected at the same time.'],
|
|
1335
|
-
slots: singleChoiceSections,
|
|
1336
|
-
storyIds: ['single-choice.ready'],
|
|
1337
|
-
composedComponents: ['RadioGroup', 'Select', 'SegmentedControl'],
|
|
1338
|
-
tags: ['standard', 'input', 'single-choice', 'df-046'],
|
|
1339
|
-
relatedDocs: ['docs/design/DF-046-choice-navigation-standard-blocks.md'],
|
|
1340
|
-
});
|
|
1341
|
-
}
|
|
1342
|
-
function multipleChoiceMetadata() {
|
|
1343
|
-
return standardSectionMetadata({
|
|
1344
|
-
blockName: 'MultipleChoiceBlock',
|
|
1345
|
-
family: 'input',
|
|
1346
|
-
scale: 'section',
|
|
1347
|
-
summary: 'Describes a checklist with checked, unchecked, selected summary, and validation facts.',
|
|
1348
|
-
useWhen: ['A checklist or multi-select surface needs option identity and checked-state lowerings.'],
|
|
1349
|
-
avoidWhen: ['The interaction permits exactly one selected option.'],
|
|
1350
|
-
slots: multipleChoiceSections,
|
|
1351
|
-
storyIds: ['multiple-choice.ready'],
|
|
1352
|
-
composedComponents: ['CheckboxGroup', 'Checklist', 'ValidationMessage'],
|
|
1353
|
-
tags: ['standard', 'input', 'multiple-choice', 'df-047'],
|
|
1354
|
-
relatedDocs: ['docs/design/DF-046-choice-navigation-standard-blocks.md'],
|
|
1355
|
-
});
|
|
1356
|
-
}
|
|
1357
|
-
function binaryDecisionMetadata() {
|
|
1358
|
-
return standardSectionMetadata({
|
|
1359
|
-
blockName: 'BinaryDecisionBlock',
|
|
1360
|
-
family: 'input',
|
|
1361
|
-
scale: 'section',
|
|
1362
|
-
summary: 'Describes a yes/no decision with selected side, consequence, confirmation, and disabled-reason facts.',
|
|
1363
|
-
useWhen: ['A confirmation, destructive action, or merge gate needs explicit binary decision semantics.'],
|
|
1364
|
-
avoidWhen: ['The choice has more than two meaningful options or needs a free-form reason field.'],
|
|
1365
|
-
slots: binaryDecisionSections,
|
|
1366
|
-
storyIds: ['binary-decision.ready'],
|
|
1367
|
-
composedComponents: ['ConfirmDialog', 'ButtonGroup', 'DecisionPrompt'],
|
|
1368
|
-
tags: ['standard', 'input', 'binary-decision', 'df-048'],
|
|
1369
|
-
relatedDocs: ['docs/design/DF-046-choice-navigation-standard-blocks.md'],
|
|
1370
|
-
});
|
|
1371
|
-
}
|
|
1372
|
-
function peerNavigationMetadata() {
|
|
1373
|
-
return standardSectionMetadata({
|
|
1374
|
-
blockName: 'PeerNavigationBlock',
|
|
1375
|
-
family: 'navigation',
|
|
1376
|
-
scale: 'section',
|
|
1377
|
-
summary: 'Describes sibling navigation with previous, current, next, route, and availability facts.',
|
|
1378
|
-
useWhen: ['A document or workflow needs peer navigation without losing previous/current/next relationships.'],
|
|
1379
|
-
avoidWhen: ['The navigation is a full tree, global sidebar, or breadcrumb path.'],
|
|
1380
|
-
slots: peerNavigationSections,
|
|
1381
|
-
storyIds: ['peer-navigation.ready'],
|
|
1382
|
-
composedComponents: ['Pager', 'Tabs', 'Breadcrumb'],
|
|
1383
|
-
tags: ['standard', 'navigation', 'peer', 'df-050'],
|
|
1384
|
-
relatedDocs: ['docs/design/DF-046-choice-navigation-standard-blocks.md'],
|
|
1385
|
-
});
|
|
1386
|
-
}
|
|
1387
|
-
function progressiveDisclosureMetadata() {
|
|
1388
|
-
return standardSectionMetadata({
|
|
1389
|
-
blockName: 'ProgressiveDisclosureBlock',
|
|
1390
|
-
family: 'disclosure',
|
|
1391
|
-
scale: 'section',
|
|
1392
|
-
summary: 'Describes expandable content with disclosure state, hidden count, summary, and details.',
|
|
1393
|
-
useWhen: ['A details region, advanced options group, or expandable explainer needs durable state facts.'],
|
|
1394
|
-
avoidWhen: ['The hidden content should be modeled as navigation, pagination, or a modal overlay.'],
|
|
1395
|
-
slots: progressiveDisclosureSections,
|
|
1396
|
-
storyIds: ['progressive-disclosure.ready'],
|
|
1397
|
-
composedComponents: ['Disclosure', 'Details', 'Accordion'],
|
|
1398
|
-
tags: ['standard', 'disclosure', 'progressive', 'df-051'],
|
|
1399
|
-
relatedDocs: ['docs/design/DF-046-choice-navigation-standard-blocks.md'],
|
|
1400
|
-
});
|
|
1401
|
-
}
|
|
1402
|
-
function pathProgressMetadata() {
|
|
1403
|
-
return standardSectionMetadata({
|
|
1404
|
-
blockName: 'PathProgressBlock',
|
|
1405
|
-
family: 'navigation',
|
|
1406
|
-
scale: 'section',
|
|
1407
|
-
summary: 'Describes breadcrumb and step progress state with path, current step, ordinal, total, and status facts.',
|
|
1408
|
-
useWhen: ['A workflow needs both path context and step progress lowerings.'],
|
|
1409
|
-
avoidWhen: ['The surface is a scalar progress meter without path or current-step semantics.'],
|
|
1410
|
-
slots: pathProgressSections,
|
|
1411
|
-
storyIds: ['path-progress.ready'],
|
|
1412
|
-
composedComponents: ['Breadcrumb', 'Stepper', 'ProgressIndicator'],
|
|
1413
|
-
tags: ['standard', 'navigation', 'path-progress', 'df-052'],
|
|
1414
|
-
relatedDocs: ['docs/design/DF-046-choice-navigation-standard-blocks.md'],
|
|
1415
|
-
});
|
|
1416
|
-
}
|
|
1417
|
-
function brandEmphasisMetadata() {
|
|
1418
|
-
return standardSectionMetadata({
|
|
1419
|
-
blockName: 'BrandEmphasisBlock',
|
|
1420
|
-
family: 'branding',
|
|
1421
|
-
scale: 'section',
|
|
1422
|
-
summary: 'Describes brand and decorative emphasis with explicit nonessential-decoration semantics.',
|
|
1423
|
-
useWhen: ['A product surface needs brand text, tagline, and decorative treatment to lower without color or chrome.'],
|
|
1424
|
-
avoidWhen: ['The emphasis is only a structural divider or a navigable destination.'],
|
|
1425
|
-
slots: brandEmphasisSections,
|
|
1426
|
-
storyIds: ['brand-emphasis.ready'],
|
|
1427
|
-
composedComponents: ['LogoLockup', 'AccentRule', 'Heading'],
|
|
1428
|
-
tags: ['standard', 'branding', 'emphasis', 'df-054'],
|
|
1429
|
-
relatedDocs: ['docs/design/DF-054-late-family-standard-blocks.md'],
|
|
1430
|
-
});
|
|
1431
|
-
}
|
|
1432
|
-
function modeAwarePrimitiveMetadata() {
|
|
1433
|
-
return standardSectionMetadata({
|
|
1434
|
-
blockName: 'ModeAwarePrimitiveBlock',
|
|
1435
|
-
family: 'primitive',
|
|
1436
|
-
scale: 'section',
|
|
1437
|
-
summary: 'Captures custom primitive output with explicit mode contracts and fact/value semantics.',
|
|
1438
|
-
useWhen: ['A custom primitive needs to publish its meaning before DOGFOOD treats it as reusable.'],
|
|
1439
|
-
avoidWhen: ['The surface already has a richer family contract such as comparison, hierarchy, or list.'],
|
|
1440
|
-
slots: modeAwarePrimitiveSections,
|
|
1441
|
-
storyIds: ['mode-aware-primitive.ready'],
|
|
1442
|
-
composedComponents: ['Badge', 'Metric', 'PrimitiveAdapter'],
|
|
1443
|
-
tags: ['standard', 'primitive', 'mode-aware', 'df-055'],
|
|
1444
|
-
relatedDocs: ['docs/design/DF-054-late-family-standard-blocks.md'],
|
|
1445
|
-
});
|
|
1446
|
-
}
|
|
1447
|
-
function denseComparisonMetadata() {
|
|
1448
|
-
return standardSectionMetadata({
|
|
1449
|
-
blockName: 'DenseComparisonBlock',
|
|
1450
|
-
family: 'comparison',
|
|
1451
|
-
scale: 'workspace',
|
|
1452
|
-
summary: 'Publishes dense comparison rows with metric, left value, right value, delta, and selected row facts.',
|
|
1453
|
-
useWhen: ['A workspace needs compact side-by-side comparison data that survives narrow and lower modes.'],
|
|
1454
|
-
avoidWhen: ['The view is a scalar progress state or a free-form document.'],
|
|
1455
|
-
slots: denseComparisonSections,
|
|
1456
|
-
storyIds: ['dense-comparison.ready'],
|
|
1457
|
-
composedComponents: ['Table', 'MetricGrid', 'ComparisonRow'],
|
|
1458
|
-
tags: ['standard', 'comparison', 'dense', 'df-056'],
|
|
1459
|
-
relatedDocs: ['docs/design/DF-054-late-family-standard-blocks.md'],
|
|
1460
|
-
});
|
|
1461
|
-
}
|
|
1462
|
-
function hierarchyMetadata() {
|
|
1463
|
-
return standardSectionMetadata({
|
|
1464
|
-
blockName: 'HierarchyBlock',
|
|
1465
|
-
family: 'hierarchy',
|
|
1466
|
-
scale: 'section',
|
|
1467
|
-
summary: 'Describes tree state with root, nodes, selected node, parent, depth, and expansion facts.',
|
|
1468
|
-
useWhen: ['A docs tree, file tree, or outline must expose hierarchy without relying on indentation alone.'],
|
|
1469
|
-
avoidWhen: ['The surface is only peer navigation or a flat exploratory list.'],
|
|
1470
|
-
slots: hierarchySections,
|
|
1471
|
-
storyIds: ['hierarchy.ready'],
|
|
1472
|
-
composedComponents: ['Tree', 'Outline', 'Explorer'],
|
|
1473
|
-
tags: ['standard', 'hierarchy', 'tree', 'df-057'],
|
|
1474
|
-
relatedDocs: ['docs/design/DF-054-late-family-standard-blocks.md'],
|
|
1475
|
-
});
|
|
1476
|
-
}
|
|
1477
|
-
function explorationListMetadata() {
|
|
1478
|
-
return standardSectionMetadata({
|
|
1479
|
-
blockName: 'ExplorationListBlock',
|
|
1480
|
-
family: 'list',
|
|
1481
|
-
scale: 'workspace',
|
|
1482
|
-
summary: 'Combines title, facet, items, selected item, and preview detail into a browsing Block.',
|
|
1483
|
-
useWhen: ['A workspace needs filtered exploration with selectable rows and preview context.'],
|
|
1484
|
-
avoidWhen: ['The list is a strict hierarchy, timeline, or dense metric comparison.'],
|
|
1485
|
-
slots: explorationListSections,
|
|
1486
|
-
storyIds: ['exploration-list.ready'],
|
|
1487
|
-
composedComponents: ['List', 'FacetBar', 'PreviewPane'],
|
|
1488
|
-
tags: ['standard', 'list', 'exploration', 'df-058'],
|
|
1489
|
-
relatedDocs: ['docs/design/DF-054-late-family-standard-blocks.md'],
|
|
1490
|
-
});
|
|
1491
|
-
}
|
|
1492
|
-
function temporalDependencyMetadata() {
|
|
1493
|
-
return standardSectionMetadata({
|
|
1494
|
-
blockName: 'TemporalDependencyBlock',
|
|
1495
|
-
family: 'graph',
|
|
1496
|
-
scale: 'workspace',
|
|
1497
|
-
summary: 'Shows timeline and dependency facts with sequence, selected event, and depends-on semantics.',
|
|
1498
|
-
useWhen: ['A workflow needs time ordering and dependency meaning in one lowerable view.'],
|
|
1499
|
-
avoidWhen: ['The surface only needs unordered activity, scalar progress, or a static list.'],
|
|
1500
|
-
slots: temporalDependencySections,
|
|
1501
|
-
storyIds: ['temporal-dependency.ready'],
|
|
1502
|
-
composedComponents: ['Timeline', 'DependencyGraph', 'ActivityStream'],
|
|
1503
|
-
tags: ['standard', 'graph', 'temporal', 'dependency', 'df-059'],
|
|
1504
|
-
relatedDocs: ['docs/design/DF-054-late-family-standard-blocks.md'],
|
|
1505
|
-
});
|
|
1506
|
-
}
|
|
1507
|
-
function standardSectionMetadata(options) {
|
|
1508
|
-
const readyStoryId = firstStandardStoryId(options);
|
|
1509
|
-
return {
|
|
1510
|
-
packageName: BIJOU_PACKAGE,
|
|
1511
|
-
blockName: options.blockName,
|
|
1512
|
-
family: options.family,
|
|
1513
|
-
scale: options.scale,
|
|
1514
|
-
modes: ALL_OUTPUT_MODES,
|
|
1515
|
-
docs: {
|
|
1516
|
-
summary: options.summary,
|
|
1517
|
-
useWhen: options.useWhen,
|
|
1518
|
-
avoidWhen: options.avoidWhen,
|
|
1519
|
-
relatedDocs: options.relatedDocs,
|
|
1520
|
-
},
|
|
1521
|
-
sourcePath: 'packages/bijou/src/core/standard-blocks.ts',
|
|
1522
|
-
slots: options.slots,
|
|
1523
|
-
variants: [
|
|
1524
|
-
{
|
|
1525
|
-
id: 'ready',
|
|
1526
|
-
label: 'Ready',
|
|
1527
|
-
requiredSlots: options.slots
|
|
1528
|
-
.filter((slot) => slot.required)
|
|
1529
|
-
.map((slot) => slot.id),
|
|
1530
|
-
optionalSlots: options.slots
|
|
1531
|
-
.filter((slot) => !slot.required)
|
|
1532
|
-
.map((slot) => slot.id),
|
|
1533
|
-
facts: [{ kind: 'state', key: 'story.state', value: 'ready' }],
|
|
1534
|
-
},
|
|
1535
|
-
],
|
|
1536
|
-
composedComponents: options.composedComponents,
|
|
1537
|
-
semanticFacts: [{ kind: 'entity', key: 'block', value: options.blockName }],
|
|
1538
|
-
storyIds: options.storyIds,
|
|
1539
|
-
examples: [{
|
|
1540
|
-
id: `${readyStoryId}.example`,
|
|
1541
|
-
label: `${options.blockName} ready example`,
|
|
1542
|
-
}],
|
|
1543
|
-
tags: options.tags,
|
|
1544
|
-
};
|
|
1545
|
-
}
|
|
1546
|
-
function firstStandardStoryId(options) {
|
|
1547
|
-
const [storyId] = options.storyIds;
|
|
1548
|
-
if (typeof storyId !== 'string' || storyId.trim() === '') {
|
|
1549
|
-
throw new Error(`${options.blockName} standard metadata requires a story id`);
|
|
1550
|
-
}
|
|
1551
|
-
return storyId;
|
|
1552
|
-
}
|
|
1553
|
-
function standardBlockStory(id, blockName, label, state) {
|
|
1554
|
-
const facts = Object.freeze([
|
|
1555
|
-
Object.freeze({ kind: 'entity', key: 'block', value: blockName }),
|
|
1556
|
-
Object.freeze({ kind: 'state', key: 'story.state', value: state }),
|
|
1557
|
-
]);
|
|
1558
|
-
return Object.freeze({
|
|
1559
|
-
id,
|
|
1560
|
-
blockName,
|
|
1561
|
-
label,
|
|
1562
|
-
state,
|
|
1563
|
-
facts,
|
|
1564
|
-
});
|
|
1565
|
-
}
|
|
1566
|
-
function standardBlockData(blockKey, blockName, requirements) {
|
|
1567
|
-
return defineViewData({
|
|
1568
|
-
id: `${blockKey}.data`,
|
|
1569
|
-
label: `${blockName} data`,
|
|
1570
|
-
description: `Boundary data required to render ${blockName}.`,
|
|
1571
|
-
requirements: requirements.map((requirement) => ({
|
|
1572
|
-
name: requirement.name,
|
|
1573
|
-
requirement: defineDataRequirement({
|
|
1574
|
-
id: `${blockKey}.${requirement.name}`,
|
|
1575
|
-
resource: `blocks.${blockKey}.${requirement.name}`,
|
|
1576
|
-
label: requirement.label,
|
|
1577
|
-
description: requirement.description,
|
|
1578
|
-
optional: requirement.optional,
|
|
1579
|
-
facts: [{ kind: 'entity', key: 'block.data', value: blockName }],
|
|
1580
|
-
}),
|
|
1581
|
-
})),
|
|
1582
|
-
});
|
|
1583
|
-
}
|
|
1584
|
-
function standardSectionCommands(blockName) {
|
|
1585
|
-
const prefix = commandPrefix(blockName);
|
|
1586
|
-
return Object.freeze([
|
|
1587
|
-
commandIntent(`${prefix}.select`, {
|
|
1588
|
-
label: 'Select',
|
|
1589
|
-
description: `Request focus for ${blockName}.`,
|
|
1590
|
-
facts: [{ kind: 'entity', key: 'block.command', value: blockName }],
|
|
1591
|
-
}),
|
|
1592
|
-
commandIntent(`${prefix}.copyFacts`, {
|
|
1593
|
-
label: 'Copy facts',
|
|
1594
|
-
description: `Copy semantic facts from ${blockName}.`,
|
|
1595
|
-
facts: [{ kind: 'entity', key: 'block.command', value: blockName }],
|
|
1596
|
-
}),
|
|
1597
|
-
commandIntent(`${prefix}.openStory`, {
|
|
1598
|
-
label: 'Open story',
|
|
1599
|
-
description: `Open the DOGFOOD story for ${blockName}.`,
|
|
1600
|
-
facts: [{ kind: 'entity', key: 'block.command', value: blockName }],
|
|
1601
|
-
}),
|
|
1602
|
-
]);
|
|
1603
|
-
}
|
|
1604
|
-
function commandPrefix(blockName) {
|
|
1605
|
-
const withoutBlock = blockName.replace(/Block$/, '');
|
|
1606
|
-
return withoutBlock.charAt(0).toLowerCase() + withoutBlock.slice(1);
|
|
1607
|
-
}
|
|
1608
|
-
function standardBlockKey(blockName) {
|
|
1609
|
-
return blockName
|
|
1610
|
-
.replace(/Block$/, '')
|
|
1611
|
-
.replace(/[A-Z]/g, (letter, index) => `${index === 0 ? '' : '-'}${letter.toLowerCase()}`);
|
|
1612
|
-
}
|
|
1613
|
-
function defineStandardSectionSchemaAdapter(options) {
|
|
1614
|
-
return defineBlockSchemaAdapter({
|
|
1615
|
-
id: options.id,
|
|
1616
|
-
parse(input) {
|
|
1617
|
-
const data = options.parse(input);
|
|
1618
|
-
if (data === undefined) {
|
|
1619
|
-
return schemaError(`${standardBlockKey(options.blockName)}.data.invalid`, `${options.blockName} data is required.`);
|
|
1620
|
-
}
|
|
1621
|
-
return {
|
|
1622
|
-
ok: true,
|
|
1623
|
-
data: data,
|
|
1624
|
-
};
|
|
1625
|
-
},
|
|
1626
|
-
describe: () => ({
|
|
1627
|
-
requiredFields: options.sections
|
|
1628
|
-
.filter((section) => section.required)
|
|
1629
|
-
.map((section) => section.id),
|
|
1630
|
-
optionalFields: options.sections
|
|
1631
|
-
.filter((section) => !section.required)
|
|
1632
|
-
.map((section) => section.id),
|
|
1633
|
-
facts: [{ kind: 'entity', key: 'block.schema', value: options.blockName }],
|
|
1634
|
-
}),
|
|
1635
|
-
});
|
|
1636
|
-
}
|
|
1637
|
-
function bindStandardSectionSchemaData(blockName, data, sections) {
|
|
1638
|
-
const slots = {};
|
|
1639
|
-
const facts = [
|
|
1640
|
-
{ kind: 'entity', key: 'block.schema', value: blockName },
|
|
1641
|
-
];
|
|
1642
|
-
for (const section of sections) {
|
|
1643
|
-
const value = ownDataProperty(data, section.id);
|
|
1644
|
-
if (value === undefined) {
|
|
1645
|
-
continue;
|
|
1646
|
-
}
|
|
1647
|
-
slots[section.id] = value;
|
|
1648
|
-
const text = slotValueText(value);
|
|
1649
|
-
if (text !== undefined) {
|
|
1650
|
-
facts.push({ kind: 'label', key: `semanticValue.${section.id}`, value: text });
|
|
1651
|
-
}
|
|
1652
|
-
}
|
|
1653
|
-
return {
|
|
1654
|
-
input: { slots },
|
|
1655
|
-
facts,
|
|
1656
|
-
};
|
|
1657
|
-
}
|
|
1658
|
-
function renderAppShellBlock(input) {
|
|
1659
|
-
const mode = normalizeOutputMode(input.mode);
|
|
1660
|
-
const sections = [
|
|
1661
|
-
renderSection('navigation', 'Navigation', ownSlotValue(input.slots, 'navigation'), false),
|
|
1662
|
-
renderSection('content', 'Content', ownSlotValue(input.slots, 'content'), true),
|
|
1663
|
-
renderSection('inspector', 'Inspector', ownSlotValue(input.slots, 'inspector'), false),
|
|
1664
|
-
renderSection('status', 'Status', ownSlotValue(input.slots, 'status'), false),
|
|
1665
|
-
renderSection('overlays', 'Overlays', ownSlotValue(input.slots, 'overlays'), false),
|
|
1666
|
-
].filter((section) => section.required || section.present);
|
|
1667
|
-
return renderedBlockResult({
|
|
1668
|
-
output: mode === 'accessible'
|
|
1669
|
-
? renderAccessibleSections('AppShell', sections)
|
|
1670
|
-
: mode === 'pipe'
|
|
1671
|
-
? renderPipeSections('AppShell', sections)
|
|
1672
|
-
: renderVisualSectionsSurface('AppShell', sections, renderSurfaceBounds(input)),
|
|
1673
|
-
facts: renderFacts('AppShell', sections, 'region', mode),
|
|
1674
|
-
});
|
|
1675
|
-
}
|
|
1676
|
-
function renderReaderSurfaceBlock(input) {
|
|
1677
|
-
const mode = normalizeOutputMode(input.mode);
|
|
1678
|
-
const sections = [
|
|
1679
|
-
renderSection('navigation', 'Navigation', ownSlotValue(input.slots, 'navigation'), false),
|
|
1680
|
-
renderSection('content', 'Content', ownSlotValue(input.slots, 'content'), true),
|
|
1681
|
-
renderSection('outline', 'Outline', ownSlotValue(input.slots, 'outline'), false),
|
|
1682
|
-
].filter((section) => section.required || section.present);
|
|
1683
|
-
return renderedBlockResult({
|
|
1684
|
-
output: mode === 'accessible'
|
|
1685
|
-
? renderAccessibleSections('ReaderSurface', sections)
|
|
1686
|
-
: mode === 'pipe'
|
|
1687
|
-
? renderPipeSections('ReaderSurface', sections)
|
|
1688
|
-
: renderVisualSectionsSurface('ReaderSurface', sections, renderSurfaceBounds(input)),
|
|
1689
|
-
facts: renderFacts('ReaderSurface', sections, 'slot', mode),
|
|
1690
|
-
});
|
|
1691
|
-
}
|
|
1692
|
-
function renderInspectorPanelBlock(input) {
|
|
1693
|
-
const mode = normalizeOutputMode(input.mode);
|
|
1694
|
-
const sections = [
|
|
1695
|
-
renderSection('selection', 'Selection', ownSlotValue(input.slots, 'selection'), true),
|
|
1696
|
-
renderSection('details', 'Details', ownSlotValue(input.slots, 'details'), false),
|
|
1697
|
-
renderSection('actions', 'Actions', ownSlotValue(input.slots, 'actions'), false),
|
|
1698
|
-
].filter((section) => section.required || section.present);
|
|
1699
|
-
return renderedBlockResult({
|
|
1700
|
-
output: mode === 'accessible'
|
|
1701
|
-
? renderAccessibleSections('InspectorPanel', sections)
|
|
1702
|
-
: mode === 'pipe'
|
|
1703
|
-
? renderPipeSections('InspectorPanel', sections)
|
|
1704
|
-
: renderVisualSectionsSurface('InspectorPanel', sections, renderSurfaceBounds(input)),
|
|
1705
|
-
facts: renderFacts('InspectorPanel', sections, 'slot', mode),
|
|
1706
|
-
});
|
|
1707
|
-
}
|
|
1708
|
-
function renderStandardSectionBlock(input, blockName, sectionSpecs) {
|
|
1709
|
-
const mode = normalizeOutputMode(input.mode);
|
|
1710
|
-
const sections = sectionSpecs
|
|
1711
|
-
.map((section) => renderSection(section.id, section.label, ownSlotValue(input.slots, section.id), section.required))
|
|
1712
|
-
.filter((section) => section.required || section.present);
|
|
1713
|
-
return renderedBlockResult({
|
|
1714
|
-
output: mode === 'accessible'
|
|
1715
|
-
? renderAccessibleSections(blockName, sections)
|
|
1716
|
-
: mode === 'pipe'
|
|
1717
|
-
? renderPipeSections(blockName, sections)
|
|
1718
|
-
: renderVisualSectionsSurface(blockName, sections, renderSurfaceBounds(input)),
|
|
1719
|
-
facts: renderFacts(blockName, sections, 'slot', mode),
|
|
1720
|
-
});
|
|
1721
|
-
}
|
|
1722
|
-
function renderedBlockResult(options) {
|
|
1723
|
-
const facts = Object.freeze(options.facts.map((fact) => Object.freeze({ ...fact })));
|
|
1724
|
-
return Object.freeze({
|
|
1725
|
-
output: options.output,
|
|
1726
|
-
facts,
|
|
1727
|
-
});
|
|
1728
|
-
}
|
|
1729
|
-
function renderSection(id, label, value, required) {
|
|
1730
|
-
const content = slotValueText(value);
|
|
1731
|
-
const visualContent = slotValueVisualContent(value, content);
|
|
1732
|
-
const present = content !== undefined || visualContent !== undefined;
|
|
1733
|
-
const fallbackContent = required ? `(missing required ${id})` : '';
|
|
1734
|
-
return Object.freeze({
|
|
1735
|
-
id,
|
|
1736
|
-
label,
|
|
1737
|
-
content: content ?? fallbackContent,
|
|
1738
|
-
visualContent: visualContent ?? fallbackContent,
|
|
1739
|
-
required,
|
|
1740
|
-
present,
|
|
1741
|
-
});
|
|
1742
|
-
}
|
|
1743
|
-
function renderPipeSections(blockName, sections) {
|
|
1744
|
-
return [
|
|
1745
|
-
blockName,
|
|
1746
|
-
...sections.map((section) => formatSectionLine(section.id, section.content)),
|
|
1747
|
-
].join('\n');
|
|
1748
|
-
}
|
|
1749
|
-
function renderAccessibleSections(blockName, sections) {
|
|
1750
|
-
return [
|
|
1751
|
-
blockName,
|
|
1752
|
-
...sections.map((section) => formatSectionLine(section.label, section.content)),
|
|
1753
|
-
].join('\n');
|
|
1754
|
-
}
|
|
1755
|
-
function renderVisualSectionsSurface(blockName, sections, bounds) {
|
|
1756
|
-
const safeWidth = Math.max(30, Math.floor(bounds.width));
|
|
1757
|
-
const sectionWidth = Math.max(24, safeWidth - 4);
|
|
1758
|
-
const sectionContentWidth = Math.max(1, sectionWidth - 4);
|
|
1759
|
-
const sectionSurfaces = sections.map((section) => {
|
|
1760
|
-
const content = fitVisualContent(section.visualContent, sectionContentWidth, bounds.sectionHeight);
|
|
1761
|
-
return boxSurface(content, {
|
|
1762
|
-
title: section.label,
|
|
1763
|
-
width: sectionWidth,
|
|
1764
|
-
padding: { left: 1, right: 1 },
|
|
1765
|
-
});
|
|
1766
|
-
});
|
|
1767
|
-
return boxSurface(stackSurfaces(sectionSurfaces, 1), {
|
|
1768
|
-
title: blockName,
|
|
1769
|
-
width: safeWidth,
|
|
1770
|
-
padding: { left: 1, right: 1 },
|
|
1771
|
-
});
|
|
1772
|
-
}
|
|
1773
|
-
function formatSectionLine(label, content) {
|
|
1774
|
-
if (content.includes('\n')) {
|
|
1775
|
-
return `${label}:\n${indentBlock(content)}`;
|
|
1776
|
-
}
|
|
1777
|
-
return `${label}: ${content}`;
|
|
1778
|
-
}
|
|
1779
|
-
function indentBlock(content) {
|
|
1780
|
-
return content
|
|
1781
|
-
.split('\n')
|
|
1782
|
-
.map((line) => ` ${line}`)
|
|
1783
|
-
.join('\n');
|
|
1784
|
-
}
|
|
1785
|
-
function renderFacts(blockName, sections, sectionFactPrefix, mode) {
|
|
1786
|
-
const identity = standardBlockRenderIdentity(blockName);
|
|
1787
|
-
const facts = [
|
|
1788
|
-
{ kind: 'entity', key: 'block', value: blockName },
|
|
1789
|
-
{ kind: 'state', key: 'block.rendered', value: true },
|
|
1790
|
-
{ kind: 'entity', key: 'block.family', value: identity.family },
|
|
1791
|
-
{ kind: 'state', key: 'block.variant', value: identity.variant },
|
|
1792
|
-
{ kind: 'state', key: 'block.mode', value: mode, required: false },
|
|
1793
|
-
];
|
|
1794
|
-
const selectedSection = sections.find((section) => section.id === 'selected' && section.present);
|
|
1795
|
-
if (selectedSection !== undefined) {
|
|
1796
|
-
facts.push({ kind: 'entity', key: 'block.selected', value: selectedSection.content });
|
|
1797
|
-
}
|
|
1798
|
-
for (const section of sections) {
|
|
1799
|
-
if (section.present) {
|
|
1800
|
-
facts.push({
|
|
1801
|
-
kind: 'entity',
|
|
1802
|
-
key: `${sectionFactPrefix}.${section.id}`,
|
|
1803
|
-
value: 'present',
|
|
1804
|
-
});
|
|
1805
|
-
facts.push({
|
|
1806
|
-
kind: 'label',
|
|
1807
|
-
key: `${sectionFactPrefix}.${section.id}.value`,
|
|
1808
|
-
value: section.content,
|
|
1809
|
-
});
|
|
1810
|
-
facts.push({
|
|
1811
|
-
kind: 'label',
|
|
1812
|
-
key: `semanticValue.${section.id}`,
|
|
1813
|
-
value: section.content,
|
|
1814
|
-
});
|
|
1815
|
-
}
|
|
1816
|
-
}
|
|
1817
|
-
return facts;
|
|
1818
|
-
}
|
|
1819
|
-
function standardBlockRenderIdentity(blockName) {
|
|
1820
|
-
switch (blockName) {
|
|
1821
|
-
case 'AppShell':
|
|
1822
|
-
return { family: 'app-structure', variant: 'wide' };
|
|
1823
|
-
case 'ReaderSurface':
|
|
1824
|
-
return { family: 'content-reading', variant: 'article' };
|
|
1825
|
-
case 'InspectorPanel':
|
|
1826
|
-
return { family: 'inspection', variant: 'selection' };
|
|
1827
|
-
case 'InlineStatusBlock':
|
|
1828
|
-
case 'InFlowStatusBlock':
|
|
1829
|
-
return { family: 'status', variant: 'ready' };
|
|
1830
|
-
case 'TransientOverlayBlock':
|
|
1831
|
-
return { family: 'overlay', variant: 'ready' };
|
|
1832
|
-
case 'ActivityStreamBlock':
|
|
1833
|
-
return { family: 'activity', variant: 'ready' };
|
|
1834
|
-
case 'ShortcutCueBlock':
|
|
1835
|
-
return { family: 'shortcut', variant: 'ready' };
|
|
1836
|
-
case 'ProgressIndicatorBlock':
|
|
1837
|
-
return { family: 'progress', variant: 'ready' };
|
|
1838
|
-
case 'FramedGroupBlock':
|
|
1839
|
-
return { family: 'grouping', variant: 'ready' };
|
|
1840
|
-
case 'ExplainabilityWalkthroughBlock':
|
|
1841
|
-
return { family: 'explainability', variant: 'ready' };
|
|
1842
|
-
case 'FormattedDocumentBlock':
|
|
1843
|
-
return { family: 'document', variant: 'ready' };
|
|
1844
|
-
case 'LinkDestinationBlock':
|
|
1845
|
-
return { family: 'navigation', variant: 'ready' };
|
|
1846
|
-
case 'DividerBlock':
|
|
1847
|
-
return { family: 'structure', variant: 'ready' };
|
|
1848
|
-
case 'TextEntryBlock':
|
|
1849
|
-
return { family: 'input', variant: 'ready' };
|
|
1850
|
-
case 'SingleChoiceBlock':
|
|
1851
|
-
case 'MultipleChoiceBlock':
|
|
1852
|
-
case 'BinaryDecisionBlock':
|
|
1853
|
-
return { family: 'input', variant: 'ready' };
|
|
1854
|
-
case 'PeerNavigationBlock':
|
|
1855
|
-
case 'PathProgressBlock':
|
|
1856
|
-
return { family: 'navigation', variant: 'ready' };
|
|
1857
|
-
case 'ProgressiveDisclosureBlock':
|
|
1858
|
-
return { family: 'disclosure', variant: 'ready' };
|
|
1859
|
-
case 'BrandEmphasisBlock':
|
|
1860
|
-
return { family: 'branding', variant: 'ready' };
|
|
1861
|
-
case 'ModeAwarePrimitiveBlock':
|
|
1862
|
-
return { family: 'primitive', variant: 'ready' };
|
|
1863
|
-
case 'DenseComparisonBlock':
|
|
1864
|
-
return { family: 'comparison', variant: 'ready' };
|
|
1865
|
-
case 'HierarchyBlock':
|
|
1866
|
-
return { family: 'hierarchy', variant: 'ready' };
|
|
1867
|
-
case 'ExplorationListBlock':
|
|
1868
|
-
return { family: 'list', variant: 'ready' };
|
|
1869
|
-
case 'TemporalDependencyBlock':
|
|
1870
|
-
return { family: 'graph', variant: 'ready' };
|
|
1871
|
-
}
|
|
1872
|
-
}
|
|
1873
|
-
function normalizeOutputMode(mode) {
|
|
1874
|
-
return ALL_OUTPUT_MODES.includes(mode) ? mode : 'interactive';
|
|
1875
|
-
}
|
|
1876
|
-
function renderSurfaceBounds(input) {
|
|
1877
|
-
const config = input.config;
|
|
1878
|
-
let width = 78;
|
|
1879
|
-
let sectionHeight;
|
|
1880
|
-
if (isPlainRecord(config)) {
|
|
1881
|
-
const widthValue = ownDataProperty(config, 'width');
|
|
1882
|
-
if (typeof widthValue === 'number' && Number.isFinite(widthValue)) {
|
|
1883
|
-
width = Math.max(30, Math.min(120, Math.floor(widthValue)));
|
|
1884
|
-
}
|
|
1885
|
-
const sectionHeightValue = ownDataProperty(config, 'sectionHeight');
|
|
1886
|
-
if (typeof sectionHeightValue === 'number' && Number.isFinite(sectionHeightValue)) {
|
|
1887
|
-
sectionHeight = Math.max(1, Math.min(40, Math.floor(sectionHeightValue)));
|
|
1888
|
-
}
|
|
1889
|
-
}
|
|
1890
|
-
return sectionHeight === undefined ? { width } : { width, sectionHeight };
|
|
1891
|
-
}
|
|
1892
|
-
function stackSurfaces(surfaces, gap = 0) {
|
|
1893
|
-
if (surfaces.length === 0) {
|
|
1894
|
-
return createTextSurface('');
|
|
1895
|
-
}
|
|
1896
|
-
const safeGap = Math.max(0, Math.floor(gap));
|
|
1897
|
-
const width = Math.max(1, ...surfaces.map((surface) => surface.width));
|
|
1898
|
-
const height = surfaces.reduce((sum, surface) => sum + surface.height, 0)
|
|
1899
|
-
+ (safeGap * Math.max(0, surfaces.length - 1));
|
|
1900
|
-
const result = createSurface(width, height);
|
|
1901
|
-
let y = 0;
|
|
1902
|
-
surfaces.forEach((surface, index) => {
|
|
1903
|
-
if (index > 0) {
|
|
1904
|
-
y += safeGap;
|
|
1905
|
-
}
|
|
1906
|
-
result.blit(surface, 0, y);
|
|
1907
|
-
y += surface.height;
|
|
1908
|
-
});
|
|
1909
|
-
return result;
|
|
1910
|
-
}
|
|
1911
|
-
function ownSlotValue(slots, key) {
|
|
1912
|
-
if (!isPlainRecord(slots)) {
|
|
1913
|
-
return undefined;
|
|
1914
|
-
}
|
|
1915
|
-
const descriptor = Object.getOwnPropertyDescriptor(slots, key);
|
|
1916
|
-
return descriptor !== undefined && 'value' in descriptor ? descriptor.value : undefined;
|
|
1917
|
-
}
|
|
1918
|
-
function slotValueText(value) {
|
|
1919
|
-
if (value === undefined || value === null) {
|
|
1920
|
-
return undefined;
|
|
1921
|
-
}
|
|
1922
|
-
if (isSurfaceSlotValue(value)) {
|
|
1923
|
-
return surfaceSlotText(value);
|
|
1924
|
-
}
|
|
1925
|
-
if (Array.isArray(value)) {
|
|
1926
|
-
const parts = value
|
|
1927
|
-
.map((item) => slotValueText(item))
|
|
1928
|
-
.filter((item) => item !== undefined && item.trim() !== '');
|
|
1929
|
-
return parts.length === 0 ? undefined : parts.join('; ');
|
|
1930
|
-
}
|
|
1931
|
-
if (isBlockDefinition(value)) {
|
|
1932
|
-
return value.metadata.blockName;
|
|
1933
|
-
}
|
|
1934
|
-
switch (typeof value) {
|
|
1935
|
-
case 'string':
|
|
1936
|
-
return value;
|
|
1937
|
-
case 'number':
|
|
1938
|
-
case 'boolean':
|
|
1939
|
-
return String(value);
|
|
1940
|
-
case 'object':
|
|
1941
|
-
return recordSlotText(value);
|
|
1942
|
-
default:
|
|
1943
|
-
return undefined;
|
|
1944
|
-
}
|
|
1945
|
-
}
|
|
1946
|
-
function slotValueVisualContent(value, textContent) {
|
|
1947
|
-
if (isSurfaceSlotValue(value)) {
|
|
1948
|
-
return value;
|
|
1949
|
-
}
|
|
1950
|
-
return textContent;
|
|
1951
|
-
}
|
|
1952
|
-
function isSurfaceSlotValue(value) {
|
|
1953
|
-
return Boolean(value
|
|
1954
|
-
&& typeof value === 'object'
|
|
1955
|
-
&& typeof value.width === 'number'
|
|
1956
|
-
&& typeof value.height === 'number'
|
|
1957
|
-
&& typeof value.get === 'function');
|
|
1958
|
-
}
|
|
1959
|
-
function surfaceSlotText(surface) {
|
|
1960
|
-
const lines = [];
|
|
1961
|
-
for (let y = 0; y < surface.height; y++) {
|
|
1962
|
-
let line = '';
|
|
1963
|
-
for (let x = 0; x < surface.width; x++) {
|
|
1964
|
-
line += surface.get(x, y).char || ' ';
|
|
1965
|
-
}
|
|
1966
|
-
lines.push(line.trimEnd());
|
|
1967
|
-
}
|
|
1968
|
-
const text = lines.join('\n').trim();
|
|
1969
|
-
return text === '' ? undefined : text;
|
|
1970
|
-
}
|
|
1971
|
-
function recordSlotText(value) {
|
|
1972
|
-
if (!isPlainRecord(value)) {
|
|
1973
|
-
return undefined;
|
|
1974
|
-
}
|
|
1975
|
-
const entries = Object.entries(Object.getOwnPropertyDescriptors(value))
|
|
1976
|
-
.flatMap(([key, descriptor]) => {
|
|
1977
|
-
if (!('value' in descriptor)) {
|
|
1978
|
-
return [];
|
|
1979
|
-
}
|
|
1980
|
-
const text = slotValueText(descriptor.value);
|
|
1981
|
-
return text === undefined ? [] : [`${key}: ${text}`];
|
|
1982
|
-
});
|
|
1983
|
-
return entries.length === 0 ? undefined : entries.join('; ');
|
|
1984
|
-
}
|
|
1985
|
-
function fitVisualContent(content, width, height) {
|
|
1986
|
-
if (typeof content === 'string') {
|
|
1987
|
-
return height === undefined ? content : content.split('\n').slice(0, height).join('\n');
|
|
1988
|
-
}
|
|
1989
|
-
const safeHeight = height === undefined ? content.height : Math.min(content.height, height);
|
|
1990
|
-
if (content.width <= width && content.height <= safeHeight) {
|
|
1991
|
-
return content;
|
|
1992
|
-
}
|
|
1993
|
-
const clipped = createSurface(width, safeHeight);
|
|
1994
|
-
clipped.blit(content, 0, 0);
|
|
1995
|
-
return clipped;
|
|
1996
|
-
}
|
|
1997
|
-
function schemaError(code, message) {
|
|
1998
|
-
return {
|
|
1999
|
-
ok: false,
|
|
2000
|
-
issues: [{
|
|
2001
|
-
severity: 'error',
|
|
2002
|
-
code,
|
|
2003
|
-
message,
|
|
2004
|
-
}],
|
|
2005
|
-
};
|
|
2006
|
-
}
|
|
2007
|
-
function parseInlineStatusSchemaData(input) {
|
|
2008
|
-
if (!isPlainRecord(input)) {
|
|
2009
|
-
return undefined;
|
|
2010
|
-
}
|
|
2011
|
-
const label = textDataProperty(input, 'label');
|
|
2012
|
-
const status = textDataProperty(input, 'status');
|
|
2013
|
-
const message = textDataProperty(input, 'message');
|
|
2014
|
-
if (label === undefined || status === undefined) {
|
|
2015
|
-
return undefined;
|
|
2016
|
-
}
|
|
2017
|
-
return {
|
|
2018
|
-
label,
|
|
2019
|
-
status,
|
|
2020
|
-
...(message === undefined ? {} : { message }),
|
|
2021
|
-
};
|
|
2022
|
-
}
|
|
2023
|
-
function parseInFlowStatusSchemaData(input) {
|
|
2024
|
-
if (!isPlainRecord(input)) {
|
|
2025
|
-
return undefined;
|
|
2026
|
-
}
|
|
2027
|
-
const severity = textDataProperty(input, 'severity');
|
|
2028
|
-
const source = textDataProperty(input, 'source');
|
|
2029
|
-
const message = textDataProperty(input, 'message');
|
|
2030
|
-
const action = textDataProperty(input, 'action');
|
|
2031
|
-
if (severity === undefined || message === undefined) {
|
|
2032
|
-
return undefined;
|
|
2033
|
-
}
|
|
2034
|
-
return {
|
|
2035
|
-
severity,
|
|
2036
|
-
...(source === undefined ? {} : { source }),
|
|
2037
|
-
message,
|
|
2038
|
-
...(action === undefined ? {} : { action }),
|
|
2039
|
-
};
|
|
2040
|
-
}
|
|
2041
|
-
function parseTransientOverlaySchemaData(input) {
|
|
2042
|
-
if (!isPlainRecord(input)) {
|
|
2043
|
-
return undefined;
|
|
2044
|
-
}
|
|
2045
|
-
const priority = textDataProperty(input, 'priority');
|
|
2046
|
-
const message = textDataProperty(input, 'message');
|
|
2047
|
-
const dismiss = textDataProperty(input, 'dismiss');
|
|
2048
|
-
if (message === undefined) {
|
|
2049
|
-
return undefined;
|
|
2050
|
-
}
|
|
2051
|
-
return {
|
|
2052
|
-
...(priority === undefined ? {} : { priority }),
|
|
2053
|
-
message,
|
|
2054
|
-
...(dismiss === undefined ? {} : { dismiss }),
|
|
2055
|
-
};
|
|
2056
|
-
}
|
|
2057
|
-
function parseActivityStreamSchemaData(input) {
|
|
2058
|
-
if (!isPlainRecord(input)) {
|
|
2059
|
-
return undefined;
|
|
2060
|
-
}
|
|
2061
|
-
const events = textArrayDataProperty(input, 'events');
|
|
2062
|
-
const selected = textDataProperty(input, 'selected');
|
|
2063
|
-
if (events === undefined) {
|
|
2064
|
-
return undefined;
|
|
2065
|
-
}
|
|
2066
|
-
return {
|
|
2067
|
-
events,
|
|
2068
|
-
...(selected === undefined ? {} : { selected }),
|
|
2069
|
-
};
|
|
2070
|
-
}
|
|
2071
|
-
function parseShortcutCueSchemaData(input) {
|
|
2072
|
-
if (!isPlainRecord(input)) {
|
|
2073
|
-
return undefined;
|
|
2074
|
-
}
|
|
2075
|
-
const shortcuts = textArrayDataProperty(input, 'shortcuts');
|
|
2076
|
-
const scope = textDataProperty(input, 'scope');
|
|
2077
|
-
if (shortcuts === undefined) {
|
|
2078
|
-
return undefined;
|
|
2079
|
-
}
|
|
2080
|
-
return {
|
|
2081
|
-
shortcuts,
|
|
2082
|
-
...(scope === undefined ? {} : { scope }),
|
|
2083
|
-
};
|
|
2084
|
-
}
|
|
2085
|
-
function parseProgressIndicatorSchemaData(input) {
|
|
2086
|
-
if (!isPlainRecord(input)) {
|
|
2087
|
-
return undefined;
|
|
2088
|
-
}
|
|
2089
|
-
const label = textDataProperty(input, 'label');
|
|
2090
|
-
const value = textOrNumberDataProperty(input, 'value');
|
|
2091
|
-
const total = textOrNumberDataProperty(input, 'total');
|
|
2092
|
-
const percent = textDataProperty(input, 'percent');
|
|
2093
|
-
if (label === undefined || percent === undefined) {
|
|
2094
|
-
return undefined;
|
|
2095
|
-
}
|
|
2096
|
-
return {
|
|
2097
|
-
label,
|
|
2098
|
-
...(value === undefined ? {} : { value }),
|
|
2099
|
-
...(total === undefined ? {} : { total }),
|
|
2100
|
-
percent,
|
|
2101
|
-
};
|
|
2102
|
-
}
|
|
2103
|
-
function parseFramedGroupSchemaData(input) {
|
|
2104
|
-
if (!isPlainRecord(input)) {
|
|
2105
|
-
return undefined;
|
|
2106
|
-
}
|
|
2107
|
-
const title = textDataProperty(input, 'title');
|
|
2108
|
-
const items = textArrayDataProperty(input, 'items');
|
|
2109
|
-
const selected = textDataProperty(input, 'selected');
|
|
2110
|
-
const mode = textDataProperty(input, 'mode');
|
|
2111
|
-
if (title === undefined || items === undefined) {
|
|
2112
|
-
return undefined;
|
|
2113
|
-
}
|
|
2114
|
-
return {
|
|
2115
|
-
title,
|
|
2116
|
-
items,
|
|
2117
|
-
...(selected === undefined ? {} : { selected }),
|
|
2118
|
-
...(mode === undefined ? {} : { mode }),
|
|
2119
|
-
};
|
|
2120
|
-
}
|
|
2121
|
-
function parseExplainabilityWalkthroughSchemaData(input) {
|
|
2122
|
-
if (!isPlainRecord(input)) {
|
|
2123
|
-
return undefined;
|
|
2124
|
-
}
|
|
2125
|
-
const title = textDataProperty(input, 'title');
|
|
2126
|
-
const steps = textArrayDataProperty(input, 'steps');
|
|
2127
|
-
const evidence = textDataProperty(input, 'evidence');
|
|
2128
|
-
const decision = textDataProperty(input, 'decision');
|
|
2129
|
-
const nextStep = textDataProperty(input, 'nextStep');
|
|
2130
|
-
if (title === undefined || steps === undefined) {
|
|
2131
|
-
return undefined;
|
|
2132
|
-
}
|
|
2133
|
-
return {
|
|
2134
|
-
title,
|
|
2135
|
-
steps,
|
|
2136
|
-
...(evidence === undefined ? {} : { evidence }),
|
|
2137
|
-
...(decision === undefined ? {} : { decision }),
|
|
2138
|
-
...(nextStep === undefined ? {} : { nextStep }),
|
|
2139
|
-
};
|
|
2140
|
-
}
|
|
2141
|
-
function parseFormattedDocumentSchemaData(input) {
|
|
2142
|
-
if (!isPlainRecord(input)) {
|
|
2143
|
-
return undefined;
|
|
2144
|
-
}
|
|
2145
|
-
const heading = textDataProperty(input, 'heading');
|
|
2146
|
-
const body = textDataProperty(input, 'body');
|
|
2147
|
-
const callout = textDataProperty(input, 'callout');
|
|
2148
|
-
const code = textDataProperty(input, 'code');
|
|
2149
|
-
if (heading === undefined || body === undefined) {
|
|
2150
|
-
return undefined;
|
|
2151
|
-
}
|
|
2152
|
-
return {
|
|
2153
|
-
heading,
|
|
2154
|
-
body,
|
|
2155
|
-
...(callout === undefined ? {} : { callout }),
|
|
2156
|
-
...(code === undefined ? {} : { code }),
|
|
2157
|
-
};
|
|
2158
|
-
}
|
|
2159
|
-
function parseLinkDestinationSchemaData(input) {
|
|
2160
|
-
if (!isPlainRecord(input)) {
|
|
2161
|
-
return undefined;
|
|
2162
|
-
}
|
|
2163
|
-
const label = textDataProperty(input, 'label');
|
|
2164
|
-
const destination = textDataProperty(input, 'destination');
|
|
2165
|
-
const kind = textDataProperty(input, 'kind');
|
|
2166
|
-
const status = textDataProperty(input, 'status');
|
|
2167
|
-
if (label === undefined || destination === undefined) {
|
|
2168
|
-
return undefined;
|
|
2169
|
-
}
|
|
2170
|
-
return {
|
|
2171
|
-
label,
|
|
2172
|
-
destination,
|
|
2173
|
-
...(kind === undefined ? {} : { kind }),
|
|
2174
|
-
...(status === undefined ? {} : { status }),
|
|
2175
|
-
};
|
|
2176
|
-
}
|
|
2177
|
-
function parseDividerSchemaData(input) {
|
|
2178
|
-
if (!isPlainRecord(input)) {
|
|
2179
|
-
return undefined;
|
|
2180
|
-
}
|
|
2181
|
-
const label = textDataProperty(input, 'label');
|
|
2182
|
-
const style = textDataProperty(input, 'style');
|
|
2183
|
-
const density = textDataProperty(input, 'density');
|
|
2184
|
-
if (label === undefined) {
|
|
2185
|
-
return undefined;
|
|
2186
|
-
}
|
|
2187
|
-
return {
|
|
2188
|
-
label,
|
|
2189
|
-
...(style === undefined ? {} : { style }),
|
|
2190
|
-
...(density === undefined ? {} : { density }),
|
|
2191
|
-
};
|
|
2192
|
-
}
|
|
2193
|
-
function parseTextEntrySchemaData(input) {
|
|
2194
|
-
if (!isPlainRecord(input)) {
|
|
2195
|
-
return undefined;
|
|
2196
|
-
}
|
|
2197
|
-
const field = textDataProperty(input, 'field');
|
|
2198
|
-
const value = textDataProperty(input, 'value');
|
|
2199
|
-
const placeholder = textDataProperty(input, 'placeholder');
|
|
2200
|
-
const validation = textDataProperty(input, 'validation');
|
|
2201
|
-
const results = textOrNumberDataProperty(input, 'results');
|
|
2202
|
-
if (field === undefined || value === undefined) {
|
|
2203
|
-
return undefined;
|
|
2204
|
-
}
|
|
2205
|
-
return {
|
|
2206
|
-
field,
|
|
2207
|
-
value,
|
|
2208
|
-
...(placeholder === undefined ? {} : { placeholder }),
|
|
2209
|
-
...(validation === undefined ? {} : { validation }),
|
|
2210
|
-
...(results === undefined ? {} : { results }),
|
|
2211
|
-
};
|
|
2212
|
-
}
|
|
2213
|
-
function parseSingleChoiceSchemaData(input) {
|
|
2214
|
-
if (!isPlainRecord(input)) {
|
|
2215
|
-
return undefined;
|
|
2216
|
-
}
|
|
2217
|
-
const label = textDataProperty(input, 'label');
|
|
2218
|
-
const options = textArrayDataProperty(input, 'options');
|
|
2219
|
-
const selected = textDataProperty(input, 'selected');
|
|
2220
|
-
const mode = textDataProperty(input, 'mode');
|
|
2221
|
-
const validation = textDataProperty(input, 'validation');
|
|
2222
|
-
if (label === undefined || options === undefined || selected === undefined) {
|
|
2223
|
-
return undefined;
|
|
2224
|
-
}
|
|
2225
|
-
return {
|
|
2226
|
-
label,
|
|
2227
|
-
options,
|
|
2228
|
-
selected,
|
|
2229
|
-
...(mode === undefined ? {} : { mode }),
|
|
2230
|
-
...(validation === undefined ? {} : { validation }),
|
|
2231
|
-
};
|
|
2232
|
-
}
|
|
2233
|
-
function parseMultipleChoiceSchemaData(input) {
|
|
2234
|
-
if (!isPlainRecord(input)) {
|
|
2235
|
-
return undefined;
|
|
2236
|
-
}
|
|
2237
|
-
const label = textDataProperty(input, 'label');
|
|
2238
|
-
const checked = textArrayDataProperty(input, 'checked');
|
|
2239
|
-
const unchecked = textArrayDataProperty(input, 'unchecked');
|
|
2240
|
-
const selected = textDataProperty(input, 'selected');
|
|
2241
|
-
const validation = textDataProperty(input, 'validation');
|
|
2242
|
-
if (label === undefined || checked === undefined || unchecked === undefined) {
|
|
2243
|
-
return undefined;
|
|
2244
|
-
}
|
|
2245
|
-
return {
|
|
2246
|
-
label,
|
|
2247
|
-
checked,
|
|
2248
|
-
unchecked,
|
|
2249
|
-
...(selected === undefined ? {} : { selected }),
|
|
2250
|
-
...(validation === undefined ? {} : { validation }),
|
|
2251
|
-
};
|
|
2252
|
-
}
|
|
2253
|
-
function parseBinaryDecisionSchemaData(input) {
|
|
2254
|
-
if (!isPlainRecord(input)) {
|
|
2255
|
-
return undefined;
|
|
2256
|
-
}
|
|
2257
|
-
const label = textDataProperty(input, 'label');
|
|
2258
|
-
const selected = textDataProperty(input, 'selected');
|
|
2259
|
-
const consequence = textDataProperty(input, 'consequence');
|
|
2260
|
-
const confirmation = textDataProperty(input, 'confirmation');
|
|
2261
|
-
const disabledReason = textDataProperty(input, 'disabledReason');
|
|
2262
|
-
if (label === undefined || selected === undefined || consequence === undefined) {
|
|
2263
|
-
return undefined;
|
|
2264
|
-
}
|
|
2265
|
-
return {
|
|
2266
|
-
label,
|
|
2267
|
-
selected,
|
|
2268
|
-
consequence,
|
|
2269
|
-
...(confirmation === undefined ? {} : { confirmation }),
|
|
2270
|
-
...(disabledReason === undefined ? {} : { disabledReason }),
|
|
2271
|
-
};
|
|
2272
|
-
}
|
|
2273
|
-
function parsePeerNavigationSchemaData(input) {
|
|
2274
|
-
if (!isPlainRecord(input)) {
|
|
2275
|
-
return undefined;
|
|
2276
|
-
}
|
|
2277
|
-
const previous = textDataProperty(input, 'previous');
|
|
2278
|
-
const current = textDataProperty(input, 'current');
|
|
2279
|
-
const next = textDataProperty(input, 'next');
|
|
2280
|
-
const route = textDataProperty(input, 'route');
|
|
2281
|
-
const status = textDataProperty(input, 'status');
|
|
2282
|
-
if (previous === undefined || current === undefined || next === undefined) {
|
|
2283
|
-
return undefined;
|
|
2284
|
-
}
|
|
2285
|
-
return {
|
|
2286
|
-
previous,
|
|
2287
|
-
current,
|
|
2288
|
-
next,
|
|
2289
|
-
...(route === undefined ? {} : { route }),
|
|
2290
|
-
...(status === undefined ? {} : { status }),
|
|
2291
|
-
};
|
|
2292
|
-
}
|
|
2293
|
-
function parseProgressiveDisclosureSchemaData(input) {
|
|
2294
|
-
if (!isPlainRecord(input)) {
|
|
2295
|
-
return undefined;
|
|
2296
|
-
}
|
|
2297
|
-
const label = textDataProperty(input, 'label');
|
|
2298
|
-
const state = textDataProperty(input, 'state');
|
|
2299
|
-
const hiddenCount = textOrNumberDataProperty(input, 'hiddenCount');
|
|
2300
|
-
const summary = textDataProperty(input, 'summary');
|
|
2301
|
-
const details = textArrayDataProperty(input, 'details');
|
|
2302
|
-
if (label === undefined || state === undefined || hiddenCount === undefined) {
|
|
2303
|
-
return undefined;
|
|
2304
|
-
}
|
|
2305
|
-
return {
|
|
2306
|
-
label,
|
|
2307
|
-
state,
|
|
2308
|
-
hiddenCount,
|
|
2309
|
-
...(summary === undefined ? {} : { summary }),
|
|
2310
|
-
...(details === undefined ? {} : { details }),
|
|
2311
|
-
};
|
|
2312
|
-
}
|
|
2313
|
-
function parsePathProgressSchemaData(input) {
|
|
2314
|
-
if (!isPlainRecord(input)) {
|
|
2315
|
-
return undefined;
|
|
2316
|
-
}
|
|
2317
|
-
const path = textArrayDataProperty(input, 'path');
|
|
2318
|
-
const current = textDataProperty(input, 'current');
|
|
2319
|
-
const step = textOrNumberDataProperty(input, 'step');
|
|
2320
|
-
const total = textOrNumberDataProperty(input, 'total');
|
|
2321
|
-
const status = textDataProperty(input, 'status');
|
|
2322
|
-
if (path === undefined || current === undefined || step === undefined || total === undefined) {
|
|
2323
|
-
return undefined;
|
|
2324
|
-
}
|
|
2325
|
-
return {
|
|
2326
|
-
path,
|
|
2327
|
-
current,
|
|
2328
|
-
step,
|
|
2329
|
-
total,
|
|
2330
|
-
...(status === undefined ? {} : { status }),
|
|
2331
|
-
};
|
|
2332
|
-
}
|
|
2333
|
-
function parseBrandEmphasisSchemaData(input) {
|
|
2334
|
-
if (!isPlainRecord(input)) {
|
|
2335
|
-
return undefined;
|
|
2336
|
-
}
|
|
2337
|
-
const brand = textDataProperty(input, 'brand');
|
|
2338
|
-
const tagline = textDataProperty(input, 'tagline');
|
|
2339
|
-
const decoration = textDataProperty(input, 'decoration');
|
|
2340
|
-
const role = textDataProperty(input, 'role');
|
|
2341
|
-
const selected = textDataProperty(input, 'selected');
|
|
2342
|
-
if (brand === undefined || tagline === undefined || decoration === undefined) {
|
|
2343
|
-
return undefined;
|
|
2344
|
-
}
|
|
2345
|
-
return {
|
|
2346
|
-
brand,
|
|
2347
|
-
tagline,
|
|
2348
|
-
decoration,
|
|
2349
|
-
...(role === undefined ? {} : { role }),
|
|
2350
|
-
...(selected === undefined ? {} : { selected }),
|
|
2351
|
-
};
|
|
2352
|
-
}
|
|
2353
|
-
function parseModeAwarePrimitiveSchemaData(input) {
|
|
2354
|
-
if (!isPlainRecord(input)) {
|
|
2355
|
-
return undefined;
|
|
2356
|
-
}
|
|
2357
|
-
const primitive = textDataProperty(input, 'primitive');
|
|
2358
|
-
const fact = textDataProperty(input, 'fact');
|
|
2359
|
-
const value = textOrNumberDataProperty(input, 'value');
|
|
2360
|
-
const status = textDataProperty(input, 'status');
|
|
2361
|
-
const modeContract = textDataProperty(input, 'modeContract');
|
|
2362
|
-
const selected = textDataProperty(input, 'selected');
|
|
2363
|
-
if (primitive === undefined || fact === undefined || value === undefined) {
|
|
2364
|
-
return undefined;
|
|
2365
|
-
}
|
|
2366
|
-
return {
|
|
2367
|
-
primitive,
|
|
2368
|
-
fact,
|
|
2369
|
-
value,
|
|
2370
|
-
...(status === undefined ? {} : { status }),
|
|
2371
|
-
...(modeContract === undefined ? {} : { modeContract }),
|
|
2372
|
-
...(selected === undefined ? {} : { selected }),
|
|
2373
|
-
};
|
|
2374
|
-
}
|
|
2375
|
-
function parseDenseComparisonSchemaData(input) {
|
|
2376
|
-
if (!isPlainRecord(input)) {
|
|
2377
|
-
return undefined;
|
|
2378
|
-
}
|
|
2379
|
-
const title = textDataProperty(input, 'title');
|
|
2380
|
-
const metric = textDataProperty(input, 'metric');
|
|
2381
|
-
const left = textOrNumberDataProperty(input, 'left');
|
|
2382
|
-
const right = textOrNumberDataProperty(input, 'right');
|
|
2383
|
-
const delta = textOrNumberDataProperty(input, 'delta');
|
|
2384
|
-
const selected = textDataProperty(input, 'selected');
|
|
2385
|
-
if (title === undefined
|
|
2386
|
-
|| metric === undefined
|
|
2387
|
-
|| left === undefined
|
|
2388
|
-
|| right === undefined
|
|
2389
|
-
|| delta === undefined) {
|
|
2390
|
-
return undefined;
|
|
2391
|
-
}
|
|
2392
|
-
return {
|
|
2393
|
-
title,
|
|
2394
|
-
metric,
|
|
2395
|
-
left,
|
|
2396
|
-
right,
|
|
2397
|
-
delta,
|
|
2398
|
-
...(selected === undefined ? {} : { selected }),
|
|
2399
|
-
};
|
|
2400
|
-
}
|
|
2401
|
-
function parseHierarchySchemaData(input) {
|
|
2402
|
-
if (!isPlainRecord(input)) {
|
|
2403
|
-
return undefined;
|
|
2404
|
-
}
|
|
2405
|
-
const root = textDataProperty(input, 'root');
|
|
2406
|
-
const nodes = textArrayDataProperty(input, 'nodes');
|
|
2407
|
-
const selected = textDataProperty(input, 'selected');
|
|
2408
|
-
const parent = textDataProperty(input, 'parent');
|
|
2409
|
-
const depth = textOrNumberDataProperty(input, 'depth');
|
|
2410
|
-
const expanded = textDataProperty(input, 'expanded');
|
|
2411
|
-
if (root === undefined || nodes === undefined || selected === undefined) {
|
|
2412
|
-
return undefined;
|
|
2413
|
-
}
|
|
2414
|
-
return {
|
|
2415
|
-
root,
|
|
2416
|
-
nodes,
|
|
2417
|
-
selected,
|
|
2418
|
-
...(parent === undefined ? {} : { parent }),
|
|
2419
|
-
...(depth === undefined ? {} : { depth }),
|
|
2420
|
-
...(expanded === undefined ? {} : { expanded }),
|
|
2421
|
-
};
|
|
2422
|
-
}
|
|
2423
|
-
function parseExplorationListSchemaData(input) {
|
|
2424
|
-
if (!isPlainRecord(input)) {
|
|
2425
|
-
return undefined;
|
|
2426
|
-
}
|
|
2427
|
-
const title = textDataProperty(input, 'title');
|
|
2428
|
-
const facet = textDataProperty(input, 'facet');
|
|
2429
|
-
const items = textArrayDataProperty(input, 'items');
|
|
2430
|
-
const selected = textDataProperty(input, 'selected');
|
|
2431
|
-
const preview = textDataProperty(input, 'preview');
|
|
2432
|
-
if (title === undefined || facet === undefined || items === undefined || selected === undefined) {
|
|
2433
|
-
return undefined;
|
|
2434
|
-
}
|
|
2435
|
-
return {
|
|
2436
|
-
title,
|
|
2437
|
-
facet,
|
|
2438
|
-
items,
|
|
2439
|
-
selected,
|
|
2440
|
-
...(preview === undefined ? {} : { preview }),
|
|
2441
|
-
};
|
|
2442
|
-
}
|
|
2443
|
-
function parseTemporalDependencySchemaData(input) {
|
|
2444
|
-
if (!isPlainRecord(input)) {
|
|
2445
|
-
return undefined;
|
|
2446
|
-
}
|
|
2447
|
-
const title = textDataProperty(input, 'title');
|
|
2448
|
-
const events = textArrayDataProperty(input, 'events');
|
|
2449
|
-
const dependency = textDataProperty(input, 'dependency');
|
|
2450
|
-
const selected = textDataProperty(input, 'selected');
|
|
2451
|
-
const dependsOn = textDataProperty(input, 'dependsOn');
|
|
2452
|
-
if (title === undefined || events === undefined || dependency === undefined) {
|
|
2453
|
-
return undefined;
|
|
2454
|
-
}
|
|
2455
|
-
return {
|
|
2456
|
-
title,
|
|
2457
|
-
events,
|
|
2458
|
-
dependency,
|
|
2459
|
-
...(selected === undefined ? {} : { selected }),
|
|
2460
|
-
...(dependsOn === undefined ? {} : { dependsOn }),
|
|
2461
|
-
};
|
|
2462
|
-
}
|
|
2463
|
-
function isReaderSurfaceSchemaData(input) {
|
|
2464
|
-
if (!isPlainRecord(input)) {
|
|
2465
|
-
return false;
|
|
2466
|
-
}
|
|
2467
|
-
if (typeof ownDataProperty(input, 'id') !== 'string'
|
|
2468
|
-
|| typeof ownDataProperty(input, 'title') !== 'string'
|
|
2469
|
-
|| typeof ownDataProperty(input, 'body') !== 'string') {
|
|
2470
|
-
return false;
|
|
2471
|
-
}
|
|
2472
|
-
const outline = ownDataProperty(input, 'outline');
|
|
2473
|
-
return outline === undefined
|
|
2474
|
-
|| (Array.isArray(outline) && outline.every(isReaderSurfaceOutlineItem));
|
|
2475
|
-
}
|
|
2476
|
-
function isReaderSurfaceOutlineItem(input) {
|
|
2477
|
-
return isPlainRecord(input)
|
|
2478
|
-
&& typeof ownDataProperty(input, 'id') === 'string'
|
|
2479
|
-
&& typeof ownDataProperty(input, 'label') === 'string';
|
|
2480
|
-
}
|
|
2481
|
-
function isInspectorPanelSchemaData(input) {
|
|
2482
|
-
if (!isPlainRecord(input)) {
|
|
2483
|
-
return false;
|
|
2484
|
-
}
|
|
2485
|
-
if (typeof ownDataProperty(input, 'selectionId') !== 'string'
|
|
2486
|
-
|| typeof ownDataProperty(input, 'label') !== 'string') {
|
|
2487
|
-
return false;
|
|
2488
|
-
}
|
|
2489
|
-
const details = ownDataProperty(input, 'details');
|
|
2490
|
-
return details === undefined
|
|
2491
|
-
|| (Array.isArray(details) && details.every((detail) => typeof detail === 'string'));
|
|
2492
|
-
}
|
|
2493
|
-
function isPlainRecord(input) {
|
|
2494
|
-
if (input === null || typeof input !== 'object' || Array.isArray(input)) {
|
|
2495
|
-
return false;
|
|
2496
|
-
}
|
|
2497
|
-
const prototype = Object.getPrototypeOf(input);
|
|
2498
|
-
return prototype === Object.prototype || prototype === null;
|
|
2499
|
-
}
|
|
2500
|
-
function ownDataProperty(input, key) {
|
|
2501
|
-
const descriptor = Object.getOwnPropertyDescriptor(input, key);
|
|
2502
|
-
return descriptor !== undefined && 'value' in descriptor ? descriptor.value : undefined;
|
|
2503
|
-
}
|
|
2504
|
-
function textDataProperty(input, key) {
|
|
2505
|
-
const value = ownDataProperty(input, key);
|
|
2506
|
-
return typeof value === 'string' ? value : undefined;
|
|
2507
|
-
}
|
|
2508
|
-
function textOrNumberDataProperty(input, key) {
|
|
2509
|
-
const value = ownDataProperty(input, key);
|
|
2510
|
-
return typeof value === 'string' || typeof value === 'number' ? value : undefined;
|
|
2511
|
-
}
|
|
2512
|
-
function textArrayDataProperty(input, key) {
|
|
2513
|
-
const value = ownDataProperty(input, key);
|
|
2514
|
-
return Array.isArray(value) && value.every((item) => typeof item === 'string')
|
|
2515
|
-
? value
|
|
2516
|
-
: undefined;
|
|
2517
|
-
}
|
|
1
|
+
export { activityStreamBlock, appShellBlock, binaryDecisionBlock, brandEmphasisBlock, denseComparisonBlock, dividerBlock, explorationListBlock, explainabilityWalkthroughBlock, formattedDocumentBlock, framedGroupBlock, hierarchyBlock, inFlowStatusBlock, inlineStatusBlock, inspectorPanelBlock, linkDestinationBlock, modeAwarePrimitiveBlock, multipleChoiceBlock, pathProgressBlock, peerNavigationBlock, progressIndicatorBlock, progressiveDisclosureBlock, readerSurfaceBlock, shortcutCueBlock, singleChoiceBlock, temporalDependencyBlock, textEntryBlock, transientOverlayBlock, } from './standard-blocks/block-definitions.js';
|
|
2
|
+
export { activityStreamSchemaAdapter, binaryDecisionSchemaAdapter, brandEmphasisSchemaAdapter, denseComparisonSchemaAdapter, dividerSchemaAdapter, explorationListSchemaAdapter, explainabilityWalkthroughSchemaAdapter, formattedDocumentSchemaAdapter, framedGroupSchemaAdapter, hierarchySchemaAdapter, inFlowStatusSchemaAdapter, inlineStatusSchemaAdapter, inspectorPanelSchemaAdapter, linkDestinationSchemaAdapter, modeAwarePrimitiveSchemaAdapter, multipleChoiceSchemaAdapter, pathProgressSchemaAdapter, peerNavigationSchemaAdapter, progressiveDisclosureSchemaAdapter, progressIndicatorSchemaAdapter, readerSurfaceSchemaAdapter, shortcutCueSchemaAdapter, singleChoiceSchemaAdapter, temporalDependencySchemaAdapter, textEntrySchemaAdapter, transientOverlaySchemaAdapter, } from './standard-blocks/schema-adapters.js';
|
|
3
|
+
export { activityStreamSchemaBlock, binaryDecisionSchemaBlock, brandEmphasisSchemaBlock, denseComparisonSchemaBlock, dividerSchemaBlock, explorationListSchemaBlock, explainabilityWalkthroughSchemaBlock, formattedDocumentSchemaBlock, framedGroupSchemaBlock, hierarchySchemaBlock, inFlowStatusSchemaBlock, inlineStatusSchemaBlock, inspectorPanelSchemaBlock, linkDestinationSchemaBlock, modeAwarePrimitiveSchemaBlock, multipleChoiceSchemaBlock, pathProgressSchemaBlock, peerNavigationSchemaBlock, progressiveDisclosureSchemaBlock, progressIndicatorSchemaBlock, readerSurfaceSchemaBlock, shortcutCueSchemaBlock, singleChoiceSchemaBlock, temporalDependencySchemaBlock, textEntrySchemaBlock, transientOverlaySchemaBlock, } from './standard-blocks/schema-blocks.js';
|
|
4
|
+
export { standardBlockPackageManifest, standardBlocks, standardBlockStories, } from './standard-blocks/catalog.js';
|
|
2518
5
|
//# sourceMappingURL=standard-blocks.js.map
|