@panphora/bevel 0.1.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/LICENSE +16 -0
- package/README.md +226 -0
- package/bevel-fonts.css +16 -0
- package/bevel.css +3075 -0
- package/bevel.js +2126 -0
- package/dist/react/components/activity-feed.d.ts +89 -0
- package/dist/react/components/activity-feed.js +54 -0
- package/dist/react/components/alert-dialog.d.ts +14 -0
- package/dist/react/components/alert-dialog.js +19 -0
- package/dist/react/components/app-shell.d.ts +98 -0
- package/dist/react/components/app-shell.js +86 -0
- package/dist/react/components/app-toolbar.d.ts +19 -0
- package/dist/react/components/app-toolbar.js +22 -0
- package/dist/react/components/avatar-group.d.ts +67 -0
- package/dist/react/components/avatar-group.js +49 -0
- package/dist/react/components/badge-and-pill.d.ts +34 -0
- package/dist/react/components/badge-and-pill.js +12 -0
- package/dist/react/components/breadcrumbs.d.ts +56 -0
- package/dist/react/components/breadcrumbs.js +44 -0
- package/dist/react/components/bulk-bar.d.ts +22 -0
- package/dist/react/components/bulk-bar.js +59 -0
- package/dist/react/components/button.d.ts +15 -0
- package/dist/react/components/button.js +20 -0
- package/dist/react/components/callout-and-hint.d.ts +17 -0
- package/dist/react/components/callout-and-hint.js +8 -0
- package/dist/react/components/checkbox.d.ts +5 -0
- package/dist/react/components/checkbox.js +13 -0
- package/dist/react/components/chip.d.ts +149 -0
- package/dist/react/components/chip.js +29 -0
- package/dist/react/components/code-block.d.ts +50 -0
- package/dist/react/components/code-block.js +77 -0
- package/dist/react/components/code-editor.d.ts +122 -0
- package/dist/react/components/code-editor.js +695 -0
- package/dist/react/components/column-manager.d.ts +28 -0
- package/dist/react/components/column-manager.js +85 -0
- package/dist/react/components/combobox.d.ts +32 -0
- package/dist/react/components/combobox.js +37 -0
- package/dist/react/components/data-grid.d.ts +108 -0
- package/dist/react/components/data-grid.js +159 -0
- package/dist/react/components/data-table.d.ts +2 -0
- package/dist/react/components/data-table.js +6 -0
- package/dist/react/components/date.d.ts +23 -0
- package/dist/react/components/date.js +11 -0
- package/dist/react/components/details.d.ts +13 -0
- package/dist/react/components/details.js +20 -0
- package/dist/react/components/dialog.d.ts +74 -0
- package/dist/react/components/dialog.js +31 -0
- package/dist/react/components/diff-view.d.ts +73 -0
- package/dist/react/components/diff-view.js +68 -0
- package/dist/react/components/documents.d.ts +70 -0
- package/dist/react/components/documents.js +10 -0
- package/dist/react/components/drawer.d.ts +45 -0
- package/dist/react/components/drawer.js +35 -0
- package/dist/react/components/editable-grid-cells.d.ts +32 -0
- package/dist/react/components/editable-grid-cells.js +116 -0
- package/dist/react/components/eyebrow-kicker-lede-pull-quote.d.ts +39 -0
- package/dist/react/components/eyebrow-kicker-lede-pull-quote.js +12 -0
- package/dist/react/components/field.d.ts +32 -0
- package/dist/react/components/field.js +27 -0
- package/dist/react/components/file-tree.d.ts +75 -0
- package/dist/react/components/file-tree.js +247 -0
- package/dist/react/components/file.d.ts +43 -0
- package/dist/react/components/file.js +73 -0
- package/dist/react/components/files-table.d.ts +174 -0
- package/dist/react/components/files-table.js +237 -0
- package/dist/react/components/filter-builder.d.ts +37 -0
- package/dist/react/components/filter-builder.js +109 -0
- package/dist/react/components/form-error-summary.d.ts +16 -0
- package/dist/react/components/form-error-summary.js +49 -0
- package/dist/react/components/icon-button.d.ts +8 -0
- package/dist/react/components/icon-button.js +14 -0
- package/dist/react/components/icon.d.ts +7 -0
- package/dist/react/components/icon.js +15 -0
- package/dist/react/components/image.d.ts +72 -0
- package/dist/react/components/image.js +24 -0
- package/dist/react/components/inline-edit.d.ts +70 -0
- package/dist/react/components/inline-edit.js +149 -0
- package/dist/react/components/input.d.ts +29 -0
- package/dist/react/components/input.js +20 -0
- package/dist/react/components/kanban-board.d.ts +140 -0
- package/dist/react/components/kanban-board.js +374 -0
- package/dist/react/components/layout.d.ts +51 -0
- package/dist/react/components/layout.js +28 -0
- package/dist/react/components/list.d.ts +28 -0
- package/dist/react/components/list.js +6 -0
- package/dist/react/components/masthead-and-verdict.d.ts +60 -0
- package/dist/react/components/masthead-and-verdict.js +8 -0
- package/dist/react/components/menu.d.ts +26 -0
- package/dist/react/components/menu.js +31 -0
- package/dist/react/components/multi-select-picker.d.ts +49 -0
- package/dist/react/components/multi-select-picker.js +20 -0
- package/dist/react/components/note.d.ts +33 -0
- package/dist/react/components/note.js +8 -0
- package/dist/react/components/number-field.d.ts +16 -0
- package/dist/react/components/number-field.js +17 -0
- package/dist/react/components/pagination.d.ts +45 -0
- package/dist/react/components/pagination.js +87 -0
- package/dist/react/components/persistent-action-banner.d.ts +71 -0
- package/dist/react/components/persistent-action-banner.js +39 -0
- package/dist/react/components/popconfirm.d.ts +42 -0
- package/dist/react/components/popconfirm.js +59 -0
- package/dist/react/components/popover.d.ts +16 -0
- package/dist/react/components/popover.js +21 -0
- package/dist/react/components/progress-and-gauge.d.ts +44 -0
- package/dist/react/components/progress-and-gauge.js +19 -0
- package/dist/react/components/radio.d.ts +7 -0
- package/dist/react/components/radio.js +13 -0
- package/dist/react/components/rich-text-toolbar.d.ts +26 -0
- package/dist/react/components/rich-text-toolbar.js +64 -0
- package/dist/react/components/rows-and-card.d.ts +88 -0
- package/dist/react/components/rows-and-card.js +10 -0
- package/dist/react/components/save-status-indicator.d.ts +11 -0
- package/dist/react/components/save-status-indicator.js +33 -0
- package/dist/react/components/segmented-control.d.ts +21 -0
- package/dist/react/components/segmented-control.js +15 -0
- package/dist/react/components/select.d.ts +29 -0
- package/dist/react/components/select.js +29 -0
- package/dist/react/components/selectable-cards.d.ts +30 -0
- package/dist/react/components/selectable-cards.js +29 -0
- package/dist/react/components/settings-rows.d.ts +51 -0
- package/dist/react/components/settings-rows.js +8 -0
- package/dist/react/components/sidebar-nav.d.ts +77 -0
- package/dist/react/components/sidebar-nav.js +41 -0
- package/dist/react/components/skeleton-and-empty.d.ts +51 -0
- package/dist/react/components/skeleton-and-empty.js +14 -0
- package/dist/react/components/slider.d.ts +19 -0
- package/dist/react/components/slider.js +17 -0
- package/dist/react/components/small-charts.d.ts +60 -0
- package/dist/react/components/small-charts.js +76 -0
- package/dist/react/components/sortable.d.ts +30 -0
- package/dist/react/components/sortable.js +85 -0
- package/dist/react/components/split-button.d.ts +38 -0
- package/dist/react/components/split-button.js +43 -0
- package/dist/react/components/split-panes.d.ts +35 -0
- package/dist/react/components/split-panes.js +102 -0
- package/dist/react/components/stat-tiles.d.ts +54 -0
- package/dist/react/components/stat-tiles.js +8 -0
- package/dist/react/components/steps.d.ts +11 -0
- package/dist/react/components/steps.js +13 -0
- package/dist/react/components/switch.d.ts +6 -0
- package/dist/react/components/switch.js +13 -0
- package/dist/react/components/table.d.ts +61 -0
- package/dist/react/components/table.js +6 -0
- package/dist/react/components/tabs.d.ts +7 -0
- package/dist/react/components/tabs.js +13 -0
- package/dist/react/components/tags.d.ts +33 -0
- package/dist/react/components/tags.js +83 -0
- package/dist/react/components/textarea.d.ts +10 -0
- package/dist/react/components/textarea.js +6 -0
- package/dist/react/components/toast.d.ts +35 -0
- package/dist/react/components/toast.js +90 -0
- package/dist/react/components/tooltip-and-key.d.ts +20 -0
- package/dist/react/components/tooltip-and-key.js +20 -0
- package/dist/react/components/tree-view.d.ts +34 -0
- package/dist/react/components/tree-view.js +118 -0
- package/dist/react/components/upload-dropzone.d.ts +92 -0
- package/dist/react/components/upload-dropzone.js +116 -0
- package/dist/react/components/wizard-shell.d.ts +78 -0
- package/dist/react/components/wizard-shell.js +176 -0
- package/dist/react/fonts.css.d.ts +1 -0
- package/dist/react/index.d.ts +76 -0
- package/dist/react/index.js +77 -0
- package/dist/react/integrations/quickcrop.d.ts +58 -0
- package/dist/react/integrations/quickcrop.js +137 -0
- package/dist/react/integrations/richclay.d.ts +43 -0
- package/dist/react/integrations/richclay.js +129 -0
- package/dist/react/internal/classes.d.ts +3 -0
- package/dist/react/internal/classes.js +10 -0
- package/dist/react/internal/close-mark.d.ts +1 -0
- package/dist/react/internal/close-mark.js +10 -0
- package/dist/react/internal/controllable-state.d.ts +9 -0
- package/dist/react/internal/controllable-state.js +22 -0
- package/dist/react/internal/drop-effect.d.ts +28 -0
- package/dist/react/internal/drop-effect.js +8 -0
- package/dist/react/internal/form-reset.d.ts +2 -0
- package/dist/react/internal/form-reset.js +22 -0
- package/dist/react/internal/format.d.ts +1 -0
- package/dist/react/internal/format.js +14 -0
- package/dist/react/internal/link.d.ts +2 -0
- package/dist/react/internal/link.js +8 -0
- package/dist/react/internal/part.d.ts +20 -0
- package/dist/react/internal/part.js +47 -0
- package/dist/react/internal/pointer-session.d.ts +8 -0
- package/dist/react/internal/pointer-session.js +60 -0
- package/dist/react/internal/refs.d.ts +2 -0
- package/dist/react/internal/refs.js +22 -0
- package/dist/react/internal/rich-text.d.ts +28 -0
- package/dist/react/internal/rich-text.js +4 -0
- package/dist/react/internal/table-context.d.ts +39 -0
- package/dist/react/internal/table-context.js +12 -0
- package/dist/react/internal/use-object-url.d.ts +1 -0
- package/dist/react/internal/use-object-url.js +15 -0
- package/dist/react/layout.css +274 -0
- package/dist/react/layout.css.d.ts +1 -0
- package/dist/react/models/filter.d.ts +31 -0
- package/dist/react/models/filter.js +79 -0
- package/dist/react/models/kanban.d.ts +51 -0
- package/dist/react/models/kanban.js +35 -0
- package/dist/react/models/reorder.d.ts +9 -0
- package/dist/react/models/reorder.js +23 -0
- package/dist/react/models/table.d.ts +85 -0
- package/dist/react/models/table.js +144 -0
- package/dist/react/models/tree.d.ts +16 -0
- package/dist/react/models/tree.js +26 -0
- package/dist/react/provider.d.ts +18 -0
- package/dist/react/provider.js +31 -0
- package/dist/react/recipes/context-hypercms.d.ts +17 -0
- package/dist/react/recipes/context-hypercms.js +71 -0
- package/dist/react/recipes/context-quickcrop.d.ts +8 -0
- package/dist/react/recipes/context-quickcrop.js +49 -0
- package/dist/react/theme.css +8004 -0
- package/dist/react/theme.css.d.ts +1 -0
- package/examples/README.md +34 -0
- package/examples/components/activity-feed.html +28 -0
- package/examples/components/app-shell.html +12 -0
- package/examples/components/app-toolbar.html +38 -0
- package/examples/components/avatar-group.html +27 -0
- package/examples/components/breadcrumbs.html +26 -0
- package/examples/components/bulk-bar.html +22 -0
- package/examples/components/code-block.html +12 -0
- package/examples/components/code-editor.html +25 -0
- package/examples/components/column-manager.html +9 -0
- package/examples/components/combobox.html +13 -0
- package/examples/components/context-hypercms.css +41 -0
- package/examples/components/context-hypercms.html +40 -0
- package/examples/components/context-hypercms.js +62 -0
- package/examples/components/context-quickcrop.html +137 -0
- package/examples/components/diff-view.html +9 -0
- package/examples/components/drawer.html +11 -0
- package/examples/components/editable-grid-cells.html +9 -0
- package/examples/components/file-browser.html +53 -0
- package/examples/components/file-tree.html +34 -0
- package/examples/components/files-table.html +80 -0
- package/examples/components/filter-builder.html +11 -0
- package/examples/components/form-error-summary.html +11 -0
- package/examples/components/index.html +51 -0
- package/examples/components/inline-edit.html +42 -0
- package/examples/components/kanban-board.html +42 -0
- package/examples/components/manifest.json +3279 -0
- package/examples/components/modal.html +11 -0
- package/examples/components/multi-select-picker.html +13 -0
- package/examples/components/pagination.html +32 -0
- package/examples/components/persistent-action-banner.html +23 -0
- package/examples/components/popconfirm.html +13 -0
- package/examples/components/popover-menu.html +13 -0
- package/examples/components/reference/baseline/DECISIONS.md +85 -0
- package/examples/components/reference/baseline/README.md +58 -0
- package/examples/components/reference/baseline/bevel-fonts.css +16 -0
- package/examples/components/reference/baseline/bevel.css +1339 -0
- package/examples/components/reference/baseline/bevel.js +496 -0
- package/examples/components/reference/baseline/fonts/LICENSE-ibm-plex-mono.txt +93 -0
- package/examples/components/reference/baseline/fonts/LICENSE-ibm-plex-sans.txt +93 -0
- package/examples/components/reference/baseline/fonts/LICENSE-newsreader.txt +93 -0
- package/examples/components/reference/baseline/fonts/ibm-plex-mono-latin-400-normal.woff2 +0 -0
- package/examples/components/reference/baseline/fonts/ibm-plex-mono-latin-500-normal.woff2 +0 -0
- package/examples/components/reference/baseline/fonts/ibm-plex-mono-latin-600-normal.woff2 +0 -0
- package/examples/components/reference/baseline/fonts/ibm-plex-sans-latin-400-italic.woff2 +0 -0
- package/examples/components/reference/baseline/fonts/ibm-plex-sans-latin-400-normal.woff2 +0 -0
- package/examples/components/reference/baseline/fonts/ibm-plex-sans-latin-500-normal.woff2 +0 -0
- package/examples/components/reference/baseline/fonts/ibm-plex-sans-latin-600-normal.woff2 +0 -0
- package/examples/components/reference/baseline/fonts/newsreader-latin-opsz-italic.woff2 +0 -0
- package/examples/components/reference/baseline/fonts/newsreader-latin-opsz-normal.woff2 +0 -0
- package/examples/components/reference/fable/IMPROVEMENTS.md +106 -0
- package/examples/components/reference/fable/PARENT-REPAIRS.md +17 -0
- package/examples/components/reference/fable/__pycache__/build_repairs.cpython-311.pyc +0 -0
- package/examples/components/reference/fable/__pycache__/kanban.cpython-311.pyc +0 -0
- package/examples/components/reference/fable/as-authored/IMPROVEMENTS-completed.md +106 -0
- package/examples/components/reference/fable/as-authored/base-astra.css +17 -0
- package/examples/components/reference/fable/as-authored/base-parent.css +416 -0
- package/examples/components/reference/fable/as-authored/build.py +858 -0
- package/examples/components/reference/fable/as-authored/fable.css +823 -0
- package/examples/components/reference/fable/as-authored/kanban-completed.css +235 -0
- package/examples/components/reference/fable/as-authored/kanban-completed.html +53 -0
- package/examples/components/reference/fable/as-authored/kanban-completed.py +212 -0
- package/examples/components/reference/fable/as-authored/kanban.py +207 -0
- package/examples/components/reference/fable/base-astra.css +17 -0
- package/examples/components/reference/fable/base-parent.css +416 -0
- package/examples/components/reference/fable/build.py +858 -0
- package/examples/components/reference/fable/build_repairs.py +25 -0
- package/examples/components/reference/fable/components/activity-feed.html +3 -0
- package/examples/components/reference/fable/components/app-toolbar.html +3 -0
- package/examples/components/reference/fable/components/avatar-group.html +4 -0
- package/examples/components/reference/fable/components/breadcrumbs.html +3 -0
- package/examples/components/reference/fable/components/code-block.html +9 -0
- package/examples/components/reference/fable/components/column-manager.html +3 -0
- package/examples/components/reference/fable/components/combobox.html +6 -0
- package/examples/components/reference/fable/components/context-hypercms.html +3 -0
- package/examples/components/reference/fable/components/context-quickcrop.html +4 -0
- package/examples/components/reference/fable/components/diff-view.html +13 -0
- package/examples/components/reference/fable/components/drawer.html +3 -0
- package/examples/components/reference/fable/components/editable-grid-cells.html +3 -0
- package/examples/components/reference/fable/components/filter-builder.html +3 -0
- package/examples/components/reference/fable/components/form-error-summary.html +4 -0
- package/examples/components/reference/fable/components/inline-edit.html +3 -0
- package/examples/components/reference/fable/components/kanban-board.html +53 -0
- package/examples/components/reference/fable/components/modal.html +3 -0
- package/examples/components/reference/fable/components/multi-select-picker.html +5 -0
- package/examples/components/reference/fable/components/pagination.html +3 -0
- package/examples/components/reference/fable/components/persistent-action-banner.html +4 -0
- package/examples/components/reference/fable/components/popconfirm.html +5 -0
- package/examples/components/reference/fable/components/popover-menu.html +3 -0
- package/examples/components/reference/fable/components/rich-text-toolbar.html +3 -0
- package/examples/components/reference/fable/components/save-status-indicator.html +2 -0
- package/examples/components/reference/fable/components/selectable-cards.html +3 -0
- package/examples/components/reference/fable/components/settings-rows.html +3 -0
- package/examples/components/reference/fable/components/sidebar-nav.html +4 -0
- package/examples/components/reference/fable/components/small-charts.html +5 -0
- package/examples/components/reference/fable/components/split-button.html +4 -0
- package/examples/components/reference/fable/components/split-panes.html +8 -0
- package/examples/components/reference/fable/components/stat-tiles.html +3 -0
- package/examples/components/reference/fable/components/toast-stack.html +5 -0
- package/examples/components/reference/fable/components/tree-view.html +4 -0
- package/examples/components/reference/fable/components/upload-dropzone.html +6 -0
- package/examples/components/reference/fable/components/wizard-shell.html +3 -0
- package/examples/components/reference/fable/coverage.json +414 -0
- package/examples/components/reference/fable/fable.css +823 -0
- package/examples/components/reference/fable/index.html +5 -0
- package/examples/components/reference/fable/kanban.css +237 -0
- package/examples/components/reference/fable/kanban.py +212 -0
- package/examples/components/reference/fable/parent-repairs.css +9 -0
- package/examples/components/reference/fixtures/data.json +102 -0
- package/examples/components/reference/fixtures/host.js +47 -0
- package/examples/components/reference/fixtures/static-host.js +39 -0
- package/examples/components/reference/fixtures/workspace.jpg +0 -0
- package/examples/components/reference/parent/CHANGES.md +179 -0
- package/examples/components/reference/parent/__pycache__/kanban.cpython-311.pyc +0 -0
- package/examples/components/reference/parent/base-astra.css +17 -0
- package/examples/components/reference/parent/base-parent.css +416 -0
- package/examples/components/reference/parent/build.py +148 -0
- package/examples/components/reference/parent/components/activity-feed.html +2 -0
- package/examples/components/reference/parent/components/app-toolbar.html +2 -0
- package/examples/components/reference/parent/components/avatar-group.html +4 -0
- package/examples/components/reference/parent/components/breadcrumbs.html +2 -0
- package/examples/components/reference/parent/components/code-block.html +8 -0
- package/examples/components/reference/parent/components/column-manager.html +2 -0
- package/examples/components/reference/parent/components/combobox.html +6 -0
- package/examples/components/reference/parent/components/context-hypercms.html +2 -0
- package/examples/components/reference/parent/components/context-quickcrop.html +4 -0
- package/examples/components/reference/parent/components/diff-view.html +4 -0
- package/examples/components/reference/parent/components/drawer.html +2 -0
- package/examples/components/reference/parent/components/editable-grid-cells.html +2 -0
- package/examples/components/reference/parent/components/filter-builder.html +2 -0
- package/examples/components/reference/parent/components/form-error-summary.html +2 -0
- package/examples/components/reference/parent/components/inline-edit.html +2 -0
- package/examples/components/reference/parent/components/kanban-board.html +84 -0
- package/examples/components/reference/parent/components/modal.html +2 -0
- package/examples/components/reference/parent/components/multi-select-picker.html +5 -0
- package/examples/components/reference/parent/components/pagination.html +2 -0
- package/examples/components/reference/parent/components/persistent-action-banner.html +4 -0
- package/examples/components/reference/parent/components/popconfirm.html +5 -0
- package/examples/components/reference/parent/components/popover-menu.html +2 -0
- package/examples/components/reference/parent/components/rich-text-toolbar.html +2 -0
- package/examples/components/reference/parent/components/save-status-indicator.html +2 -0
- package/examples/components/reference/parent/components/selectable-cards.html +2 -0
- package/examples/components/reference/parent/components/settings-rows.html +2 -0
- package/examples/components/reference/parent/components/sidebar-nav.html +4 -0
- package/examples/components/reference/parent/components/small-charts.html +2 -0
- package/examples/components/reference/parent/components/split-button.html +5 -0
- package/examples/components/reference/parent/components/split-panes.html +8 -0
- package/examples/components/reference/parent/components/stat-tiles.html +2 -0
- package/examples/components/reference/parent/components/toast-stack.html +5 -0
- package/examples/components/reference/parent/components/tree-view.html +4 -0
- package/examples/components/reference/parent/components/upload-dropzone.html +6 -0
- package/examples/components/reference/parent/components/wizard-shell.html +2 -0
- package/examples/components/reference/parent/coverage.json +414 -0
- package/examples/components/reference/parent/index.html +1 -0
- package/examples/components/reference/parent/kanban.css +114 -0
- package/examples/components/reference/parent/kanban.py +55 -0
- package/examples/components/reference/parent/refinement.css +53 -0
- package/examples/components/reference/selected/build.py +70 -0
- package/examples/components/reference/selected/components/activity-feed.html +3 -0
- package/examples/components/reference/selected/components/app-toolbar.html +3 -0
- package/examples/components/reference/selected/components/avatar-group.html +4 -0
- package/examples/components/reference/selected/components/breadcrumbs.html +3 -0
- package/examples/components/reference/selected/components/code-block.html +9 -0
- package/examples/components/reference/selected/components/column-manager.html +3 -0
- package/examples/components/reference/selected/components/combobox.html +6 -0
- package/examples/components/reference/selected/components/context-hypercms.html +3 -0
- package/examples/components/reference/selected/components/context-quickcrop.html +4 -0
- package/examples/components/reference/selected/components/diff-view.html +13 -0
- package/examples/components/reference/selected/components/drawer.html +3 -0
- package/examples/components/reference/selected/components/editable-grid-cells.html +3 -0
- package/examples/components/reference/selected/components/filter-builder.html +3 -0
- package/examples/components/reference/selected/components/form-error-summary.html +4 -0
- package/examples/components/reference/selected/components/inline-edit.html +3 -0
- package/examples/components/reference/selected/components/kanban-board.html +53 -0
- package/examples/components/reference/selected/components/modal.html +2 -0
- package/examples/components/reference/selected/components/multi-select-picker.html +5 -0
- package/examples/components/reference/selected/components/pagination.html +3 -0
- package/examples/components/reference/selected/components/persistent-action-banner.html +4 -0
- package/examples/components/reference/selected/components/popconfirm.html +5 -0
- package/examples/components/reference/selected/components/popover-menu.html +3 -0
- package/examples/components/reference/selected/components/rich-text-toolbar.html +3 -0
- package/examples/components/reference/selected/components/save-status-indicator.html +2 -0
- package/examples/components/reference/selected/components/selectable-cards.html +3 -0
- package/examples/components/reference/selected/components/settings-rows.html +3 -0
- package/examples/components/reference/selected/components/sidebar-nav.html +4 -0
- package/examples/components/reference/selected/components/small-charts.html +5 -0
- package/examples/components/reference/selected/components/split-button.html +4 -0
- package/examples/components/reference/selected/components/split-panes.html +8 -0
- package/examples/components/reference/selected/components/stat-tiles.html +3 -0
- package/examples/components/reference/selected/components/toast-stack.html +5 -0
- package/examples/components/reference/selected/components/tree-view.html +4 -0
- package/examples/components/reference/selected/components/upload-dropzone.html +6 -0
- package/examples/components/reference/selected/components/wizard-shell.html +3 -0
- package/examples/components/reference/selected/corrections.css +11 -0
- package/examples/components/reference/selected/coverage.json +413 -0
- package/examples/components/reference/selected/gallery-build.mjs +49 -0
- package/examples/components/reference/selected/gallery-spec.json +12 -0
- package/examples/components/reference/selected/index.html +1 -0
- package/examples/components/reference/selected/kanban-comparison.json +6 -0
- package/examples/components/reference/selected/manifest.json +476 -0
- package/examples/components/reference/sha256.json +142 -0
- package/examples/components/reference/sources/diagonal-close.svg +1 -0
- package/examples/components/reference/sources/hyperclay/public-assets/css/hyperclay-app-source.css +614 -0
- package/examples/components/reference/sources/hyperclay/public-assets/js/app.js +94 -0
- package/examples/components/reference/sources/hyperclayjs/src/ui/theModal.js +897 -0
- package/examples/components/reference/sources/hypercms/scripts/build-theme.js +203 -0
- package/examples/components/reference/sources/hypercms/src/anchor.js +24 -0
- package/examples/components/reference/sources/hypercms/src/apply-loop.js +167 -0
- package/examples/components/reference/sources/hypercms/src/diagnostics.js +44 -0
- package/examples/components/reference/sources/hypercms/src/enhance.js +173 -0
- package/examples/components/reference/sources/hypercms/src/events.js +955 -0
- package/examples/components/reference/sources/hypercms/src/form-builder.js +518 -0
- package/examples/components/reference/sources/hypercms/src/form-rules.js +208 -0
- package/examples/components/reference/sources/hypercms/src/hooks.js +100 -0
- package/examples/components/reference/sources/hypercms/src/hypercms-bundle.js +10 -0
- package/examples/components/reference/sources/hypercms/src/hypercms.js +347 -0
- package/examples/components/reference/sources/hypercms/src/morph.js +10 -0
- package/examples/components/reference/sources/hypercms/src/path.js +61 -0
- package/examples/components/reference/sources/hypercms/src/place.js +131 -0
- package/examples/components/reference/sources/hypercms/src/platform.js +131 -0
- package/examples/components/reference/sources/hypercms/src/refresh.js +87 -0
- package/examples/components/reference/sources/hypercms/src/richclay-bridge.js +140 -0
- package/examples/components/reference/sources/hypercms/src/row-identity.js +111 -0
- package/examples/components/reference/sources/hypercms/src/scaffold.js +10 -0
- package/examples/components/reference/sources/hypercms/src/session.js +303 -0
- package/examples/components/reference/sources/hypercms/src/shell.js +248 -0
- package/examples/components/reference/sources/hypercms/src/styles.css +298 -0
- package/examples/components/reference/sources/hypercms/src/targets.js +144 -0
- package/examples/components/reference/sources/hypercms/src/templates.js +656 -0
- package/examples/components/reference/sources/hypercms/src/theme/pixel-quiet.overrides.css +761 -0
- package/examples/components/reference/sources/hypercms/src/theme.generated.css +1772 -0
- package/examples/components/reference/sources/hypercms/src/toggle.js +666 -0
- package/examples/components/reference/sources/hypercms/src/unresolved.js +211 -0
- package/examples/components/reference/sources/hypercms/src/vendor/mirk.vendor.js +212 -0
- package/examples/components/reference/sources/hypercms/src/views/inline-layer.js +421 -0
- package/examples/components/reference/sources/hypercms/src/views/inline.js +1072 -0
- package/examples/components/reference/sources/hypercms/src/views/sidebar.js +97 -0
- package/examples/components/reference/sources/modal-reference.html +301 -0
- package/examples/components/reference/sources/quickcrop/quickcrop.css +124 -0
- package/examples/components/reference/sources/quickcrop/quickcrop.js +400 -0
- package/examples/components/reference/sources/richclay/richclay.css +416 -0
- package/examples/components/reference/sources/richclay/richclay.js +2962 -0
- package/examples/components/reference/sources/richclay/src/a11y.js +67 -0
- package/examples/components/reference/sources/richclay/src/browser-global.js +7 -0
- package/examples/components/reference/sources/richclay/src/buttons.js +254 -0
- package/examples/components/reference/sources/richclay/src/hyperclay.js +470 -0
- package/examples/components/reference/sources/richclay/src/normalize.js +380 -0
- package/examples/components/reference/sources/richclay/src/richclay.js +1356 -0
- package/examples/components/reference/sources/richclay/src/sanitize.js +189 -0
- package/examples/components/reference/sources/richclay/src/styles.js +23 -0
- package/examples/components/reference/sources/richclay/src/toolbar-float.js +175 -0
- package/examples/components/reference/sources/richclay/src/toolbar.js +394 -0
- package/examples/components/reference/sources/richclay/src/vendor-bundle.js +15 -0
- package/examples/components/reference/sources/richclay/vendor/DOMPURIFY-LICENSE +202 -0
- package/examples/components/reference/sources/richclay/vendor/DOMPURIFY-LICENSE-MPL +373 -0
- package/examples/components/reference/sources/richclay/vendor/SQUIRE-LICENSE +21 -0
- package/examples/components/reference/sources/richclay/vendor/purify.es.mjs +2249 -0
- package/examples/components/reference/sources/richclay/vendor/purify.min.js +3 -0
- package/examples/components/reference/sources/richclay/vendor/squire.js +22 -0
- package/examples/components/reference/sources/richclay/vendor/squire.mjs +22 -0
- package/examples/components/reference/sources/richclay/vendor/squire.provenance.json +19 -0
- package/examples/components/rich-text-toolbar.html +43 -0
- package/examples/components/save-status-indicator.html +11 -0
- package/examples/components/selectable-cards.html +9 -0
- package/examples/components/settings-rows.html +10 -0
- package/examples/components/sidebar-nav.html +9 -0
- package/examples/components/small-charts.html +21 -0
- package/examples/components/split-button.html +13 -0
- package/examples/components/split-panes-editor.html +6 -0
- package/examples/components/split-panes.html +9 -0
- package/examples/components/stat-tiles.html +23 -0
- package/examples/components/toast-stack.html +21 -0
- package/examples/components/tree-view.html +9 -0
- package/examples/components/upload-dropzone.html +88 -0
- package/examples/components/wizard-shell.html +50 -0
- package/examples/datastar/index.html +38 -0
- package/examples/datastar/server.mjs +31 -0
- package/examples/fixtures/field-guide.pdf +14 -0
- package/examples/fixtures/workspace.jpg +0 -0
- package/examples/setup-peers.mjs +35 -0
- package/fonts/LICENSE-ibm-plex-mono.txt +93 -0
- package/fonts/LICENSE-ibm-plex-sans.txt +93 -0
- package/fonts/LICENSE-newsreader.txt +93 -0
- package/fonts/ibm-plex-mono-latin-400-normal.woff2 +0 -0
- package/fonts/ibm-plex-mono-latin-500-normal.woff2 +0 -0
- package/fonts/ibm-plex-mono-latin-600-normal.woff2 +0 -0
- package/fonts/ibm-plex-sans-latin-400-italic.woff2 +0 -0
- package/fonts/ibm-plex-sans-latin-400-normal.woff2 +0 -0
- package/fonts/ibm-plex-sans-latin-500-normal.woff2 +0 -0
- package/fonts/ibm-plex-sans-latin-600-normal.woff2 +0 -0
- package/fonts/newsreader-latin-opsz-italic.woff2 +0 -0
- package/fonts/newsreader-latin-opsz-normal.woff2 +0 -0
- package/icons/LICENSE +21 -0
- package/icons/house.json +71 -0
- package/icons/icons.d.ts +17 -0
- package/icons/icons.js +648 -0
- package/icons/icons.svg +126 -0
- package/icons/marks/build-tray.source.mjs +45 -0
- package/icons/marks/hyperclay-local.svg +11 -0
- package/icons/phosphor.json +53 -0
- package/icons/round.json +8 -0
- package/integrations/datastar.js +202 -0
- package/integrations/quickcrop.css +26 -0
- package/integrations/quickcrop.js +56 -0
- package/integrations/richclay.css +100 -0
- package/integrations/richclay.js +131 -0
- package/package.json +630 -0
- package/react/README.md +244 -0
- package/src/README.md +83 -0
- package/vendor/datastar/datastar-1.0.3.js +10 -0
- package/vendor/datastar/provenance.json +6 -0
- package/vendor/floating-ui/LICENSE-core +20 -0
- package/vendor/floating-ui/LICENSE-dom +20 -0
- package/vendor/floating-ui/floating-ui.core.umd.min.js +1 -0
- package/vendor/floating-ui/floating-ui.dom.umd.min.js +1 -0
- package/vendor/floating-ui/provenance.json +17 -0
- package/vendor/richclay/LICENSE +16 -0
- package/vendor/richclay/THIRD-PARTY-NOTICES.md +45 -0
- package/vendor/richclay/provenance.json +17 -0
- package/vendor/richclay/richclay.css +404 -0
- package/vendor/richclay/richclay.js +2940 -0
- package/vendor/richclay/vendor/DOMPURIFY-LICENSE +202 -0
- package/vendor/richclay/vendor/DOMPURIFY-LICENSE-MPL +373 -0
- package/vendor/richclay/vendor/SQUIRE-LICENSE +21 -0
- package/vendor/richclay/vendor/purify.min.js +3 -0
- package/vendor/richclay/vendor/squire.js +22 -0
- package/vendor/richclay/vendor/squire.provenance.json +30 -0
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
{
|
|
2
|
+
"seat": "selected",
|
|
3
|
+
"phase": "static",
|
|
4
|
+
"components": [
|
|
5
|
+
{
|
|
6
|
+
"id": "modal",
|
|
7
|
+
"source": "parent",
|
|
8
|
+
"states": [
|
|
9
|
+
"form",
|
|
10
|
+
"prompt",
|
|
11
|
+
"confirm",
|
|
12
|
+
"long"
|
|
13
|
+
],
|
|
14
|
+
"file": "components/modal.html",
|
|
15
|
+
"behavior": "static",
|
|
16
|
+
"feedback": ""
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": "popover-menu",
|
|
20
|
+
"source": "fable",
|
|
21
|
+
"states": [
|
|
22
|
+
"open",
|
|
23
|
+
"closed"
|
|
24
|
+
],
|
|
25
|
+
"file": "components/popover-menu.html",
|
|
26
|
+
"behavior": "static",
|
|
27
|
+
"feedback": ""
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "drawer",
|
|
31
|
+
"source": "fable",
|
|
32
|
+
"states": [
|
|
33
|
+
"open",
|
|
34
|
+
"long",
|
|
35
|
+
"closed"
|
|
36
|
+
],
|
|
37
|
+
"file": "components/drawer.html",
|
|
38
|
+
"behavior": "static",
|
|
39
|
+
"feedback": "Yes but use the close X in the top right from Parent"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "popconfirm",
|
|
43
|
+
"source": "fable",
|
|
44
|
+
"states": [
|
|
45
|
+
"open",
|
|
46
|
+
"confirmed",
|
|
47
|
+
"closed"
|
|
48
|
+
],
|
|
49
|
+
"file": "components/popconfirm.html",
|
|
50
|
+
"behavior": "static",
|
|
51
|
+
"feedback": ""
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "combobox",
|
|
55
|
+
"source": "fable",
|
|
56
|
+
"states": [
|
|
57
|
+
"open",
|
|
58
|
+
"closed",
|
|
59
|
+
"filtered",
|
|
60
|
+
"empty"
|
|
61
|
+
],
|
|
62
|
+
"file": "components/combobox.html",
|
|
63
|
+
"behavior": "static",
|
|
64
|
+
"feedback": ""
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "multi-select-picker",
|
|
68
|
+
"source": "fable",
|
|
69
|
+
"states": [
|
|
70
|
+
"selected",
|
|
71
|
+
"open",
|
|
72
|
+
"empty"
|
|
73
|
+
],
|
|
74
|
+
"file": "components/multi-select-picker.html",
|
|
75
|
+
"behavior": "static",
|
|
76
|
+
"feedback": ""
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "selectable-cards",
|
|
80
|
+
"source": "fable",
|
|
81
|
+
"states": [
|
|
82
|
+
"radio",
|
|
83
|
+
"checkbox"
|
|
84
|
+
],
|
|
85
|
+
"file": "components/selectable-cards.html",
|
|
86
|
+
"behavior": "static",
|
|
87
|
+
"feedback": ""
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "upload-dropzone",
|
|
91
|
+
"source": "parent",
|
|
92
|
+
"states": [
|
|
93
|
+
"empty",
|
|
94
|
+
"queue",
|
|
95
|
+
"error",
|
|
96
|
+
"crop"
|
|
97
|
+
],
|
|
98
|
+
"file": "components/upload-dropzone.html",
|
|
99
|
+
"behavior": "static",
|
|
100
|
+
"feedback": ""
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "inline-edit",
|
|
104
|
+
"source": "fable",
|
|
105
|
+
"states": [
|
|
106
|
+
"resting",
|
|
107
|
+
"editing",
|
|
108
|
+
"error",
|
|
109
|
+
"saved"
|
|
110
|
+
],
|
|
111
|
+
"file": "components/inline-edit.html",
|
|
112
|
+
"behavior": "static",
|
|
113
|
+
"feedback": ""
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "settings-rows",
|
|
117
|
+
"source": "fable",
|
|
118
|
+
"states": [
|
|
119
|
+
"default",
|
|
120
|
+
"disabled"
|
|
121
|
+
],
|
|
122
|
+
"file": "components/settings-rows.html",
|
|
123
|
+
"behavior": "static",
|
|
124
|
+
"feedback": ""
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"id": "form-error-summary",
|
|
128
|
+
"source": "fable",
|
|
129
|
+
"states": [
|
|
130
|
+
"errors",
|
|
131
|
+
"corrected"
|
|
132
|
+
],
|
|
133
|
+
"file": "components/form-error-summary.html",
|
|
134
|
+
"behavior": "static",
|
|
135
|
+
"feedback": "But make the bullet points wrap below the \"Two things need your attention.\" line"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"id": "split-button",
|
|
139
|
+
"source": "fable",
|
|
140
|
+
"states": [
|
|
141
|
+
"inset",
|
|
142
|
+
"inset-open",
|
|
143
|
+
"disabled"
|
|
144
|
+
],
|
|
145
|
+
"file": "components/split-button.html",
|
|
146
|
+
"behavior": "static",
|
|
147
|
+
"feedback": ""
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": "sidebar-nav",
|
|
151
|
+
"source": "fable",
|
|
152
|
+
"states": [
|
|
153
|
+
"expanded",
|
|
154
|
+
"compact"
|
|
155
|
+
],
|
|
156
|
+
"file": "components/sidebar-nav.html",
|
|
157
|
+
"behavior": "static",
|
|
158
|
+
"feedback": ""
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"id": "app-toolbar",
|
|
162
|
+
"source": "fable",
|
|
163
|
+
"states": [
|
|
164
|
+
"default",
|
|
165
|
+
"overflow"
|
|
166
|
+
],
|
|
167
|
+
"file": "components/app-toolbar.html",
|
|
168
|
+
"behavior": "static",
|
|
169
|
+
"feedback": ""
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"id": "breadcrumbs",
|
|
173
|
+
"source": "fable",
|
|
174
|
+
"states": [
|
|
175
|
+
"short",
|
|
176
|
+
"long"
|
|
177
|
+
],
|
|
178
|
+
"file": "components/breadcrumbs.html",
|
|
179
|
+
"behavior": "static",
|
|
180
|
+
"feedback": ""
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"id": "pagination",
|
|
184
|
+
"source": "fable",
|
|
185
|
+
"states": [
|
|
186
|
+
"first",
|
|
187
|
+
"middle",
|
|
188
|
+
"last"
|
|
189
|
+
],
|
|
190
|
+
"file": "components/pagination.html",
|
|
191
|
+
"behavior": "static",
|
|
192
|
+
"feedback": ""
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"id": "tree-view",
|
|
196
|
+
"source": "fable",
|
|
197
|
+
"states": [
|
|
198
|
+
"expanded",
|
|
199
|
+
"empty"
|
|
200
|
+
],
|
|
201
|
+
"file": "components/tree-view.html",
|
|
202
|
+
"behavior": "static",
|
|
203
|
+
"feedback": ""
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"id": "wizard-shell",
|
|
207
|
+
"source": "fable",
|
|
208
|
+
"states": [
|
|
209
|
+
"current",
|
|
210
|
+
"error",
|
|
211
|
+
"complete"
|
|
212
|
+
],
|
|
213
|
+
"file": "components/wizard-shell.html",
|
|
214
|
+
"behavior": "static",
|
|
215
|
+
"feedback": "But remove the faint yellow border from selected square"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"id": "toast-stack",
|
|
219
|
+
"source": "fable",
|
|
220
|
+
"states": [
|
|
221
|
+
"stack",
|
|
222
|
+
"success",
|
|
223
|
+
"error"
|
|
224
|
+
],
|
|
225
|
+
"file": "components/toast-stack.html",
|
|
226
|
+
"behavior": "static",
|
|
227
|
+
"feedback": "But try again icon should be mirrored horizontally otherwise it looks like undo instead of proceed forward/apply again"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"id": "persistent-action-banner",
|
|
231
|
+
"source": "parent",
|
|
232
|
+
"states": [
|
|
233
|
+
"offline",
|
|
234
|
+
"resolved"
|
|
235
|
+
],
|
|
236
|
+
"file": "components/persistent-action-banner.html",
|
|
237
|
+
"behavior": "static",
|
|
238
|
+
"feedback": ""
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"id": "save-status-indicator",
|
|
242
|
+
"source": "parent",
|
|
243
|
+
"states": [
|
|
244
|
+
"saved"
|
|
245
|
+
],
|
|
246
|
+
"file": "components/save-status-indicator.html",
|
|
247
|
+
"behavior": "static",
|
|
248
|
+
"feedback": ""
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"id": "code-block",
|
|
252
|
+
"source": "fable",
|
|
253
|
+
"states": [
|
|
254
|
+
"default",
|
|
255
|
+
"wrapped"
|
|
256
|
+
],
|
|
257
|
+
"file": "components/code-block.html",
|
|
258
|
+
"behavior": "static",
|
|
259
|
+
"feedback": ""
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"id": "diff-view",
|
|
263
|
+
"source": "fable",
|
|
264
|
+
"states": [
|
|
265
|
+
"unified",
|
|
266
|
+
"split"
|
|
267
|
+
],
|
|
268
|
+
"file": "components/diff-view.html",
|
|
269
|
+
"behavior": "static",
|
|
270
|
+
"feedback": ""
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"id": "activity-feed",
|
|
274
|
+
"source": "fable",
|
|
275
|
+
"states": [
|
|
276
|
+
"recent",
|
|
277
|
+
"expanded"
|
|
278
|
+
],
|
|
279
|
+
"file": "components/activity-feed.html",
|
|
280
|
+
"behavior": "static",
|
|
281
|
+
"feedback": ""
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"id": "stat-tiles",
|
|
285
|
+
"source": "fable",
|
|
286
|
+
"states": [
|
|
287
|
+
"default",
|
|
288
|
+
"zero"
|
|
289
|
+
],
|
|
290
|
+
"file": "components/stat-tiles.html",
|
|
291
|
+
"behavior": "static",
|
|
292
|
+
"feedback": "But remove the double horizontal lines, just have one horiz line on top and one on bottom"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"id": "avatar-group",
|
|
296
|
+
"source": "fable",
|
|
297
|
+
"states": [
|
|
298
|
+
"group",
|
|
299
|
+
"fallback"
|
|
300
|
+
],
|
|
301
|
+
"file": "components/avatar-group.html",
|
|
302
|
+
"behavior": "static",
|
|
303
|
+
"feedback": "but fix it so the online square is not cut off and the left dotted border of the 3 more is also not cut off: /Users/davidmiranda/Desktop/screenshot-2026-09-08-at-1-29-22-pm.jpg"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"id": "small-charts",
|
|
307
|
+
"source": "fable",
|
|
308
|
+
"states": [
|
|
309
|
+
"bars",
|
|
310
|
+
"line",
|
|
311
|
+
"spark"
|
|
312
|
+
],
|
|
313
|
+
"file": "components/small-charts.html",
|
|
314
|
+
"behavior": "static",
|
|
315
|
+
"feedback": ""
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"id": "filter-builder",
|
|
319
|
+
"source": "fable",
|
|
320
|
+
"states": [
|
|
321
|
+
"applied",
|
|
322
|
+
"empty"
|
|
323
|
+
],
|
|
324
|
+
"file": "components/filter-builder.html",
|
|
325
|
+
"behavior": "static",
|
|
326
|
+
"feedback": ""
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "column-manager",
|
|
330
|
+
"source": "fable",
|
|
331
|
+
"states": [
|
|
332
|
+
"default",
|
|
333
|
+
"reordered"
|
|
334
|
+
],
|
|
335
|
+
"file": "components/column-manager.html",
|
|
336
|
+
"behavior": "static",
|
|
337
|
+
"feedback": ""
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"id": "editable-grid-cells",
|
|
341
|
+
"source": "fable",
|
|
342
|
+
"states": [
|
|
343
|
+
"idle",
|
|
344
|
+
"editing",
|
|
345
|
+
"error"
|
|
346
|
+
],
|
|
347
|
+
"file": "components/editable-grid-cells.html",
|
|
348
|
+
"behavior": "static",
|
|
349
|
+
"feedback": ""
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"id": "split-panes",
|
|
353
|
+
"source": "fable",
|
|
354
|
+
"states": [
|
|
355
|
+
"list-detail",
|
|
356
|
+
"editor-preview"
|
|
357
|
+
],
|
|
358
|
+
"file": "components/split-panes.html",
|
|
359
|
+
"behavior": "static",
|
|
360
|
+
"feedback": ""
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"id": "rich-text-toolbar",
|
|
364
|
+
"source": "fable",
|
|
365
|
+
"states": [
|
|
366
|
+
"toolbar",
|
|
367
|
+
"menu",
|
|
368
|
+
"link",
|
|
369
|
+
"floating"
|
|
370
|
+
],
|
|
371
|
+
"file": "components/rich-text-toolbar.html",
|
|
372
|
+
"behavior": "static",
|
|
373
|
+
"feedback": ""
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"id": "kanban-board",
|
|
377
|
+
"source": "fable",
|
|
378
|
+
"states": [
|
|
379
|
+
"default",
|
|
380
|
+
"empty",
|
|
381
|
+
"selected"
|
|
382
|
+
],
|
|
383
|
+
"file": "components/kanban-board.html",
|
|
384
|
+
"behavior": "static",
|
|
385
|
+
"feedback": ""
|
|
386
|
+
}
|
|
387
|
+
],
|
|
388
|
+
"contexts": [
|
|
389
|
+
{
|
|
390
|
+
"id": "context-hypercms",
|
|
391
|
+
"source": "fable",
|
|
392
|
+
"states": [
|
|
393
|
+
"default",
|
|
394
|
+
"error"
|
|
395
|
+
],
|
|
396
|
+
"file": "components/context-hypercms.html",
|
|
397
|
+
"behavior": "static",
|
|
398
|
+
"feedback": ""
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"id": "context-quickcrop",
|
|
402
|
+
"source": "parent",
|
|
403
|
+
"states": [
|
|
404
|
+
"locked",
|
|
405
|
+
"free"
|
|
406
|
+
],
|
|
407
|
+
"file": "components/context-quickcrop.html",
|
|
408
|
+
"behavior": "static",
|
|
409
|
+
"feedback": ""
|
|
410
|
+
}
|
|
411
|
+
],
|
|
412
|
+
"pending": []
|
|
413
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
const root=new URL('../',import.meta.url).pathname.replace(/\/$/,'');
|
|
3
|
+
const assetName='bevel-refinement-assets-20260908-110100';
|
|
4
|
+
const revision=Date.now().toString(36);
|
|
5
|
+
const assets=`/Users/davidmiranda/htmlfile/${assetName}`;
|
|
6
|
+
const manifest=JSON.parse(await fs.readFile(`${root}/selected/manifest.json`));
|
|
7
|
+
const coverage=JSON.parse(await fs.readFile(`${root}/selected/coverage.json`));
|
|
8
|
+
const source=Object.fromEntries([...coverage.components,...coverage.contexts].map(c=>[c.id,c.source]));
|
|
9
|
+
const changes={
|
|
10
|
+
drawer:'Fable’s drawer with Parent’s diagonal close corner.',
|
|
11
|
+
'form-error-summary':'The two bullet points now sit below the attention heading.',
|
|
12
|
+
'split-button':'Fable’s slight inset divider, in closed, open and disabled states.',
|
|
13
|
+
'wizard-shell':'The active square keeps its contrast without the faint gold outline.',
|
|
14
|
+
'toast-stack':'Try again points forward. Undo keeps its original direction.',
|
|
15
|
+
'stat-tiles':'One horizontal rule above the metrics and one below.',
|
|
16
|
+
'avatar-group':'The online square and the dotted overflow border are fully visible.'
|
|
17
|
+
};
|
|
18
|
+
const components=[...manifest.components.filter(c=>changes[c.id]),...manifest.components.filter(c=>!changes[c.id])];
|
|
19
|
+
const title=s=>s.replaceAll('-',' ').replace(/^./,x=>x.toUpperCase());
|
|
20
|
+
const card=c=>`<article class="sg-card" id="selected-${c.id}" data-component="${c.id}" clay="freeze"><header><div><small>${title(source[c.id])}${changes[c.id]?' · Corrected':''}</small><h2>${c.name}</h2></div><label>State <select data-state aria-label="${c.name} state">${c.states.map(s=>`<option value="${s}">${title(s)}</option>`).join('')}</select></label><button type="button" data-expand="${c.id}">Enlarge</button></header><a class="sg-full" data-open="selected" href="${assetName}/selected/components/${c.id}.html?theme=dark&state=${c.states[0]}" target="_blank" rel="noopener"><img loading="lazy" data-shot="selected" src="${assetName}/screenshots/selected/${c.id}-${c.states[0]}-dark.png" alt="Selected ${c.name}, ${c.states[0]}, dark theme"></a>${changes[c.id]?`<p class="sg-change">${changes[c.id]}</p>`:''}</article>`;
|
|
21
|
+
const style=`<style>
|
|
22
|
+
body.mirk-page.mirk-page--wide{max-width:1640px;padding:36px 32px}.sg-lead{max-width:960px}.sg-controls{position:sticky;top:0;z-index:10;display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:12px 16px;margin:24px 0;background:var(--mirk-bevel-bg);border:1px solid var(--mirk-input-border)}.sg-controls label,.sg-card label{display:flex;align-items:center;gap:8px}.sg-controls a{margin-left:auto}.sg-controls select,.sg-pair select,.sg-pair button,.sg-card select,.sg-card button,.sg-dialog button,.sg-dialog select{font:13px var(--bevel-font-sans,sans-serif);padding:6px 8px;background:var(--mirk-bevel-bg);color:var(--mirk-fg);border:1px solid var(--mirk-input-border);border-radius:0}.sg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.sg-card{min-width:0;border:1px solid var(--mirk-input-border);scroll-margin-top:85px}.sg-card header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--mirk-input-border)}.sg-card header>div{margin-right:auto}.sg-card h2{font:21px var(--bevel-font-serif,serif);margin:3px 0 0}.sg-card small,.sg-card label{font-size:12px}.sg-card small{color:var(--mirk-mark-fg)}.sg-full,.sg-full img{display:block;width:100%;height:auto}.sg-change{font-size:13px;padding:12px 16px;margin:0;border-top:1px solid var(--mirk-input-border)}.sg-section-title{font-size:26px;margin:40px 0 20px}.sg-preserved{margin:30px 0;font-size:14px}.sg-preserved summary{cursor:pointer}.sg-dialog{box-sizing:border-box;width:calc(100vw - 32px);max-width:1580px;height:calc(100vh - 32px);max-height:none;padding:18px;border:2px solid var(--mirk-input-border);background:var(--mirk-bevel-bg);color:var(--mirk-fg)}.sg-dialog::backdrop{background:rgba(0,0,0,.65)}.sg-dialog-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.sg-dialog-head h2{margin:0 auto 0 0;font-size:24px}.sg-live{display:grid;grid-template-columns:1fr;height:calc(100% - 56px);gap:14px}.sg-live[data-count="2"]{grid-template-columns:1fr 1fr}.sg-live section{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}.sg-live iframe{width:100%;flex:1;min-height:0;border:1px solid var(--mirk-input-border);background:var(--mirk-bevel-bg)}.sg-live strong{font-size:13px}.sg-pair{margin:24px 0}.sg-pair .sg-grid{gap:18px}.sg-pair .sg-card header{font-size:14px}.sg-pair>header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.sg-pair>header strong{margin-right:auto}.sg-pair img{display:block;width:100%;height:auto}.sg-pair p{font-size:14px;padding:0 16px}.hf-q-intro{scroll-margin-top:85px}.sg-caption{font-size:13px;color:var(--mirk-mark-fg)}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--mirk-accent);outline-offset:3px}
|
|
23
|
+
@media(max-width:850px){body.mirk-page.mirk-page--wide{padding:24px 16px}.sg-grid{grid-template-columns:1fr}.sg-controls{position:relative}.sg-live[data-count="2"]{display:block;overflow:auto}.sg-live[data-count="2"] section{height:620px;margin-bottom:18px}.sg-card header{padding:12px}.sg-card header>div{width:100%}}
|
|
24
|
+
</style>`;
|
|
25
|
+
const script=`<script>document.addEventListener('DOMContentLoaded',()=>{
|
|
26
|
+
const asset=${JSON.stringify(assetName)},revision=${JSON.stringify(revision)},mode=document.getElementById('sg-theme'),dialog=document.getElementById('sg-preview'),live=document.getElementById('sg-live'),liveState=document.getElementById('sg-live-state');let expanded=null,seats=[];
|
|
27
|
+
const refresh=box=>{const id=box.dataset.component,state=box.querySelector('[data-state]').value;box.querySelectorAll('[data-shot]').forEach(img=>{img.src=asset+'/screenshots/'+img.dataset.shot+'/'+id+'-'+state+'-'+mode.value+'.png?v='+revision;img.alt=id+', '+img.dataset.shot+', '+state+', '+mode.value;});box.querySelectorAll('[data-open]').forEach(a=>a.href=asset+'/'+a.dataset.open+'/components/'+id+'.html?theme='+mode.value+'&state='+state);};
|
|
28
|
+
const frames=()=>{live.replaceChildren();live.dataset.count=seats.length;for(const seat of seats){const section=document.createElement('section'),label=document.createElement('strong'),frame=document.createElement('iframe');label.textContent=seat==='selected'?'Selected reference':seat==='parent'?'Parent':'Fable';frame.title=label.textContent;frame.src=asset+'/'+seat+'/components/'+expanded+'.html?theme='+mode.value+'&state='+liveState.value+'&embed=1&v='+revision;frame.setAttribute('sandbox','allow-scripts allow-same-origin');section.append(label,frame);live.append(section);}};
|
|
29
|
+
mode.value=document.documentElement.classList.contains('dark')?'dark':'light';document.querySelectorAll('[data-component]').forEach(refresh);
|
|
30
|
+
mode.addEventListener('change',()=>{document.documentElement.classList.remove('light','dark');document.documentElement.classList.add(mode.value);document.querySelectorAll('[data-component]').forEach(refresh);});
|
|
31
|
+
document.getElementById('sg-jump').addEventListener('change',e=>document.getElementById('selected-'+e.target.value).scrollIntoView({behavior:'smooth',block:'start'}));
|
|
32
|
+
document.addEventListener('change',e=>{if(e.target.matches('[data-state]'))refresh(e.target.closest('[data-component]'));});
|
|
33
|
+
document.addEventListener('click',e=>{const b=e.target.closest('[data-expand]');if(!b)return;const box=b.closest('[data-component]');expanded=box.dataset.component;seats=expanded==='kanban-board'?['parent','fable']:['selected'];liveState.replaceChildren();for(const option of box.querySelector('[data-state]').options)liveState.add(new Option(option.text,option.value));liveState.value=box.querySelector('[data-state]').value;document.getElementById('sg-preview-title').textContent=box.querySelector('h2,strong').textContent;frames();dialog.showModal();});
|
|
34
|
+
liveState.addEventListener('change',frames);document.getElementById('sg-close').addEventListener('click',()=>dialog.close());dialog.addEventListener('close',()=>{live.replaceChildren();expanded=null;seats=[];});
|
|
35
|
+
});</script>`;
|
|
36
|
+
const withKanban=process.argv.includes('--kanban');
|
|
37
|
+
const body=`${style}<div class="sg-lead" id="selected-purpose"><p><strong>Your selected static kit:</strong> 29 Fable components, 4 Parent components and Fable’s inset split-button divider. The seven corrected references appear first. Application behavior remains for the next phase.</p><p>Your submitted choices and all original designs are preserved.</p></div><nav class="sg-controls" id="selected-controls" clay="freeze" aria-label="Selected component controls"><label>Theme <select id="sg-theme"><option value="light">Warm light</option><option value="dark" selected>Warm dark</option></select></label><label>Component <select id="sg-jump">${manifest.components.map(c=>`<option value="${c.id}">${c.name}</option>`).join('')}</select></label>${withKanban?'<a href="#hf-intro-ui3-kanban-board">Compare the new Kanban designs ↓</a>':'<span class="sg-caption">All 33 visual choices are settled.</span>'}</nav><div class="sg-grid" id="selected-components">${components.map(card).join('')}</div><h2 class="sg-section-title">Product contexts</h2><p class="sg-caption">Static theme references for the existing HyperCMS and Quickcrop structures.</p><div class="sg-grid" id="selected-contexts">${manifest.contexts.map(card).join('')}</div><details class="sg-preserved"><summary>Preserved candidates</summary><p><a href="${assetName}/parent/index.html" target="_blank" rel="noopener">Parent refinement set ↗</a> · <a href="${assetName}/fable/index.html" target="_blank" rel="noopener">Fable refinement set ↗</a> · <a href="bevel-reference-assets-20260907-221500/parent/index.html" target="_blank" rel="noopener">Original Parent ↗</a> · <a href="bevel-reference-assets-20260907-221500/astra/index.html" target="_blank" rel="noopener">Original Astra ↗</a></p></details><dialog id="sg-preview" class="sg-dialog" clay="freeze" aria-labelledby="sg-preview-title"><div class="sg-dialog-head"><h2 id="sg-preview-title">Selected reference</h2><label>State <select id="sg-live-state"></select></label><button type="button" id="sg-close">Close preview</button></div><div class="sg-live" id="sg-live"></div></dialog>${script}`;
|
|
38
|
+
const questions=[];
|
|
39
|
+
if(withKanban){
|
|
40
|
+
const notes=JSON.parse(await fs.readFile(`${root}/selected/kanban-comparison.json`));
|
|
41
|
+
const intro=`<section class="sg-pair" id="selected-kanban-board" data-component="kanban-board" clay="freeze"><header><strong>Independent Kanban designs</strong><label>State <select data-state aria-label="Kanban preview state"><option value="default">Board</option><option value="empty">Empty</option><option value="selected">Selected task</option></select></label><button type="button" data-expand="kanban-board">Enlarge</button></header><div class="sg-grid">${['parent','fable'].map(seat=>`<article class="sg-card"><header>${title(seat)} <a data-open="${seat}" href="${assetName}/${seat}/components/kanban-board.html?theme=dark" target="_blank" rel="noopener">Full size ↗</a></header><img data-shot="${seat}" src="${assetName}/screenshots/${seat}/kanban-board-default-dark.png" alt="${seat} Kanban board, dark theme"><p>${notes[seat]}</p></article>`).join('')}</div></section>`;
|
|
42
|
+
questions.push({key:'ui3-kanban-board',label:'Kanban board',intro,question:'Which Kanban design should join the selected kit?',why:notes.reason,type:'radio',other:false,comment:true,options:[{key:'parent',label:'Parent',detail:notes.parent,recommended:notes.recommended==='parent'},{key:'fable',label:'Fable',detail:notes.fable,recommended:notes.recommended==='fable'},{key:'combine',label:'Combine parts',detail:'Name the parts to retain from each board.'},{key:'iterate',label:'Another iteration',detail:'Describe what the next board should change.'}]});
|
|
43
|
+
}
|
|
44
|
+
await fs.mkdir(assets,{recursive:true});
|
|
45
|
+
for(const folder of ['baseline','fixtures','sources','parent','fable','selected'])await fs.cp(`${root}/${folder}`,`${assets}/${folder}`,{recursive:true});
|
|
46
|
+
for(const seat of ['parent','fable','selected'])await fs.cp(`/Users/davidmiranda/Downloads/bevel/20260908-110100/${seat}`,`${assets}/screenshots/${seat}`,{recursive:true});
|
|
47
|
+
const spec={title:'Bevel: your selected components',subtitle:`33 selected components · static UI${withKanban?' · Kanban comparison':''}`,slug:'bevel-component-comparison',topic:'bevel-selected-static-kit',wide:true,mode:'dark',body:body.replaceAll('.png"','.png?v='+revision+'"'),questions,notes:withKanban,notesPlaceholder:'Any further visual corrections to the selected components.'};
|
|
48
|
+
await fs.writeFile(`${root}/selected/gallery-spec.json`,JSON.stringify(spec,null,2));
|
|
49
|
+
console.log(`Prepared ${components.length} selected components and ${questions.length} open choices.`);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Bevel: your selected components",
|
|
3
|
+
"subtitle": "33 selected components · static UI",
|
|
4
|
+
"slug": "bevel-component-comparison",
|
|
5
|
+
"topic": "bevel-selected-static-kit",
|
|
6
|
+
"wide": true,
|
|
7
|
+
"mode": "dark",
|
|
8
|
+
"body": "<style>\nbody.mirk-page.mirk-page--wide{max-width:1640px;padding:36px 32px}.sg-lead{max-width:960px}.sg-controls{position:sticky;top:0;z-index:10;display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:12px 16px;margin:24px 0;background:var(--mirk-bevel-bg);border:1px solid var(--mirk-input-border)}.sg-controls label,.sg-card label{display:flex;align-items:center;gap:8px}.sg-controls a{margin-left:auto}.sg-controls select,.sg-pair select,.sg-pair button,.sg-card select,.sg-card button,.sg-dialog button,.sg-dialog select{font:13px var(--bevel-font-sans,sans-serif);padding:6px 8px;background:var(--mirk-bevel-bg);color:var(--mirk-fg);border:1px solid var(--mirk-input-border);border-radius:0}.sg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.sg-card{min-width:0;border:1px solid var(--mirk-input-border);scroll-margin-top:85px}.sg-card header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--mirk-input-border)}.sg-card header>div{margin-right:auto}.sg-card h2{font:21px var(--bevel-font-serif,serif);margin:3px 0 0}.sg-card small,.sg-card label{font-size:12px}.sg-card small{color:var(--mirk-mark-fg)}.sg-full,.sg-full img{display:block;width:100%;height:auto}.sg-change{font-size:13px;padding:12px 16px;margin:0;border-top:1px solid var(--mirk-input-border)}.sg-section-title{font-size:26px;margin:40px 0 20px}.sg-preserved{margin:30px 0;font-size:14px}.sg-preserved summary{cursor:pointer}.sg-dialog{box-sizing:border-box;width:calc(100vw - 32px);max-width:1580px;height:calc(100vh - 32px);max-height:none;padding:18px;border:2px solid var(--mirk-input-border);background:var(--mirk-bevel-bg);color:var(--mirk-fg)}.sg-dialog::backdrop{background:rgba(0,0,0,.65)}.sg-dialog-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.sg-dialog-head h2{margin:0 auto 0 0;font-size:24px}.sg-live{display:grid;grid-template-columns:1fr;height:calc(100% - 56px);gap:14px}.sg-live[data-count=\"2\"]{grid-template-columns:1fr 1fr}.sg-live section{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}.sg-live iframe{width:100%;flex:1;min-height:0;border:1px solid var(--mirk-input-border);background:var(--mirk-bevel-bg)}.sg-live strong{font-size:13px}.sg-pair{margin:24px 0}.sg-pair .sg-grid{gap:18px}.sg-pair .sg-card header{font-size:14px}.sg-pair>header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.sg-pair>header strong{margin-right:auto}.sg-pair img{display:block;width:100%;height:auto}.sg-pair p{font-size:14px;padding:0 16px}.hf-q-intro{scroll-margin-top:85px}.sg-caption{font-size:13px;color:var(--mirk-mark-fg)}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--mirk-accent);outline-offset:3px}\n@media(max-width:850px){body.mirk-page.mirk-page--wide{padding:24px 16px}.sg-grid{grid-template-columns:1fr}.sg-controls{position:relative}.sg-live[data-count=\"2\"]{display:block;overflow:auto}.sg-live[data-count=\"2\"] section{height:620px;margin-bottom:18px}.sg-card header{padding:12px}.sg-card header>div{width:100%}}\n</style><div class=\"sg-lead\" id=\"selected-purpose\"><p><strong>Your selected static kit:</strong> 29 Fable components, 4 Parent components and Fable’s inset split-button divider. The seven corrected references appear first. Application behavior remains for the next phase.</p><p>Your submitted choices and all original designs are preserved.</p></div><nav class=\"sg-controls\" id=\"selected-controls\" clay=\"freeze\" aria-label=\"Selected component controls\"><label>Theme <select id=\"sg-theme\"><option value=\"light\">Warm light</option><option value=\"dark\" selected>Warm dark</option></select></label><label>Component <select id=\"sg-jump\"><option value=\"modal\">Modal</option><option value=\"popover-menu\">Popover menu</option><option value=\"drawer\">Drawer</option><option value=\"popconfirm\">Popconfirm</option><option value=\"combobox\">Combobox</option><option value=\"multi-select-picker\">Multi-select picker</option><option value=\"selectable-cards\">Selectable cards</option><option value=\"upload-dropzone\">Upload dropzone</option><option value=\"inline-edit\">Inline edit</option><option value=\"settings-rows\">Settings rows</option><option value=\"form-error-summary\">Form error summary</option><option value=\"split-button\">Split button</option><option value=\"sidebar-nav\">Sidebar nav</option><option value=\"app-toolbar\">App toolbar</option><option value=\"breadcrumbs\">Breadcrumbs</option><option value=\"pagination\">Pagination</option><option value=\"tree-view\">Tree view</option><option value=\"wizard-shell\">Wizard shell</option><option value=\"toast-stack\">Toast stack</option><option value=\"persistent-action-banner\">Persistent action banner</option><option value=\"save-status-indicator\">Save-status indicator</option><option value=\"code-block\">Code block</option><option value=\"diff-view\">Diff view</option><option value=\"activity-feed\">Activity feed</option><option value=\"stat-tiles\">Stat tiles</option><option value=\"avatar-group\">Avatar group</option><option value=\"small-charts\">Small charts</option><option value=\"filter-builder\">Filter builder</option><option value=\"column-manager\">Column manager</option><option value=\"editable-grid-cells\">Editable grid cells</option><option value=\"split-panes\">Split panes</option><option value=\"rich-text-toolbar\">Rich text toolbar</option><option value=\"kanban-board\">Kanban board</option></select></label><span class=\"sg-caption\">All 33 visual choices are settled.</span></nav><div class=\"sg-grid\" id=\"selected-components\"><article class=\"sg-card\" id=\"selected-drawer\" data-component=\"drawer\" clay=\"freeze\"><header><div><small>Fable · Corrected</small><h2>Drawer</h2></div><label>State <select data-state aria-label=\"Drawer state\"><option value=\"open\">Open</option><option value=\"long\">Long</option><option value=\"closed\">Closed</option></select></label><button type=\"button\" data-expand=\"drawer\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/drawer.html?theme=dark&state=open\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/drawer-open-dark.png?v=mtszgbl0\" alt=\"Selected Drawer, open, dark theme\"></a><p class=\"sg-change\">Fable’s drawer with Parent’s diagonal close corner.</p></article><article class=\"sg-card\" id=\"selected-form-error-summary\" data-component=\"form-error-summary\" clay=\"freeze\"><header><div><small>Fable · Corrected</small><h2>Form error summary</h2></div><label>State <select data-state aria-label=\"Form error summary state\"><option value=\"errors\">Errors</option><option value=\"corrected\">Corrected</option></select></label><button type=\"button\" data-expand=\"form-error-summary\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/form-error-summary.html?theme=dark&state=errors\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/form-error-summary-errors-dark.png?v=mtszgbl0\" alt=\"Selected Form error summary, errors, dark theme\"></a><p class=\"sg-change\">The two bullet points now sit below the attention heading.</p></article><article class=\"sg-card\" id=\"selected-split-button\" data-component=\"split-button\" clay=\"freeze\"><header><div><small>Fable · Corrected</small><h2>Split button</h2></div><label>State <select data-state aria-label=\"Split button state\"><option value=\"inset\">Inset</option><option value=\"inset-open\">Inset open</option><option value=\"disabled\">Disabled</option></select></label><button type=\"button\" data-expand=\"split-button\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/split-button.html?theme=dark&state=inset\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/split-button-inset-dark.png?v=mtszgbl0\" alt=\"Selected Split button, inset, dark theme\"></a><p class=\"sg-change\">Fable’s slight inset divider, in closed, open and disabled states.</p></article><article class=\"sg-card\" id=\"selected-wizard-shell\" data-component=\"wizard-shell\" clay=\"freeze\"><header><div><small>Fable · Corrected</small><h2>Wizard shell</h2></div><label>State <select data-state aria-label=\"Wizard shell state\"><option value=\"current\">Current</option><option value=\"error\">Error</option><option value=\"complete\">Complete</option></select></label><button type=\"button\" data-expand=\"wizard-shell\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/wizard-shell.html?theme=dark&state=current\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/wizard-shell-current-dark.png?v=mtszgbl0\" alt=\"Selected Wizard shell, current, dark theme\"></a><p class=\"sg-change\">The active square keeps its contrast without the faint gold outline.</p></article><article class=\"sg-card\" id=\"selected-toast-stack\" data-component=\"toast-stack\" clay=\"freeze\"><header><div><small>Fable · Corrected</small><h2>Toast stack</h2></div><label>State <select data-state aria-label=\"Toast stack state\"><option value=\"stack\">Stack</option><option value=\"success\">Success</option><option value=\"error\">Error</option></select></label><button type=\"button\" data-expand=\"toast-stack\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/toast-stack.html?theme=dark&state=stack\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/toast-stack-stack-dark.png?v=mtszgbl0\" alt=\"Selected Toast stack, stack, dark theme\"></a><p class=\"sg-change\">Try again points forward. Undo keeps its original direction.</p></article><article class=\"sg-card\" id=\"selected-stat-tiles\" data-component=\"stat-tiles\" clay=\"freeze\"><header><div><small>Fable · Corrected</small><h2>Stat tiles</h2></div><label>State <select data-state aria-label=\"Stat tiles state\"><option value=\"default\">Default</option><option value=\"zero\">Zero</option></select></label><button type=\"button\" data-expand=\"stat-tiles\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/stat-tiles.html?theme=dark&state=default\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/stat-tiles-default-dark.png?v=mtszgbl0\" alt=\"Selected Stat tiles, default, dark theme\"></a><p class=\"sg-change\">One horizontal rule above the metrics and one below.</p></article><article class=\"sg-card\" id=\"selected-avatar-group\" data-component=\"avatar-group\" clay=\"freeze\"><header><div><small>Fable · Corrected</small><h2>Avatar group</h2></div><label>State <select data-state aria-label=\"Avatar group state\"><option value=\"group\">Group</option><option value=\"fallback\">Fallback</option></select></label><button type=\"button\" data-expand=\"avatar-group\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/avatar-group.html?theme=dark&state=group\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/avatar-group-group-dark.png?v=mtszgbl0\" alt=\"Selected Avatar group, group, dark theme\"></a><p class=\"sg-change\">The online square and the dotted overflow border are fully visible.</p></article><article class=\"sg-card\" id=\"selected-modal\" data-component=\"modal\" clay=\"freeze\"><header><div><small>Parent</small><h2>Modal</h2></div><label>State <select data-state aria-label=\"Modal state\"><option value=\"form\">Form</option><option value=\"prompt\">Prompt</option><option value=\"confirm\">Confirm</option><option value=\"long\">Long</option></select></label><button type=\"button\" data-expand=\"modal\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/modal.html?theme=dark&state=form\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/modal-form-dark.png?v=mtszgbl0\" alt=\"Selected Modal, form, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-popover-menu\" data-component=\"popover-menu\" clay=\"freeze\"><header><div><small>Fable</small><h2>Popover menu</h2></div><label>State <select data-state aria-label=\"Popover menu state\"><option value=\"open\">Open</option><option value=\"closed\">Closed</option></select></label><button type=\"button\" data-expand=\"popover-menu\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/popover-menu.html?theme=dark&state=open\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/popover-menu-open-dark.png?v=mtszgbl0\" alt=\"Selected Popover menu, open, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-popconfirm\" data-component=\"popconfirm\" clay=\"freeze\"><header><div><small>Fable</small><h2>Popconfirm</h2></div><label>State <select data-state aria-label=\"Popconfirm state\"><option value=\"open\">Open</option><option value=\"confirmed\">Confirmed</option><option value=\"closed\">Closed</option></select></label><button type=\"button\" data-expand=\"popconfirm\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/popconfirm.html?theme=dark&state=open\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/popconfirm-open-dark.png?v=mtszgbl0\" alt=\"Selected Popconfirm, open, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-combobox\" data-component=\"combobox\" clay=\"freeze\"><header><div><small>Fable</small><h2>Combobox</h2></div><label>State <select data-state aria-label=\"Combobox state\"><option value=\"open\">Open</option><option value=\"closed\">Closed</option><option value=\"filtered\">Filtered</option><option value=\"empty\">Empty</option></select></label><button type=\"button\" data-expand=\"combobox\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/combobox.html?theme=dark&state=open\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/combobox-open-dark.png?v=mtszgbl0\" alt=\"Selected Combobox, open, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-multi-select-picker\" data-component=\"multi-select-picker\" clay=\"freeze\"><header><div><small>Fable</small><h2>Multi-select picker</h2></div><label>State <select data-state aria-label=\"Multi-select picker state\"><option value=\"selected\">Selected</option><option value=\"open\">Open</option><option value=\"empty\">Empty</option></select></label><button type=\"button\" data-expand=\"multi-select-picker\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/multi-select-picker.html?theme=dark&state=selected\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/multi-select-picker-selected-dark.png?v=mtszgbl0\" alt=\"Selected Multi-select picker, selected, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-selectable-cards\" data-component=\"selectable-cards\" clay=\"freeze\"><header><div><small>Fable</small><h2>Selectable cards</h2></div><label>State <select data-state aria-label=\"Selectable cards state\"><option value=\"radio\">Radio</option><option value=\"checkbox\">Checkbox</option></select></label><button type=\"button\" data-expand=\"selectable-cards\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/selectable-cards.html?theme=dark&state=radio\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/selectable-cards-radio-dark.png?v=mtszgbl0\" alt=\"Selected Selectable cards, radio, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-upload-dropzone\" data-component=\"upload-dropzone\" clay=\"freeze\"><header><div><small>Parent</small><h2>Upload dropzone</h2></div><label>State <select data-state aria-label=\"Upload dropzone state\"><option value=\"empty\">Empty</option><option value=\"queue\">Queue</option><option value=\"error\">Error</option><option value=\"crop\">Crop</option></select></label><button type=\"button\" data-expand=\"upload-dropzone\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/upload-dropzone.html?theme=dark&state=empty\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/upload-dropzone-empty-dark.png?v=mtszgbl0\" alt=\"Selected Upload dropzone, empty, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-inline-edit\" data-component=\"inline-edit\" clay=\"freeze\"><header><div><small>Fable</small><h2>Inline edit</h2></div><label>State <select data-state aria-label=\"Inline edit state\"><option value=\"resting\">Resting</option><option value=\"editing\">Editing</option><option value=\"error\">Error</option><option value=\"saved\">Saved</option></select></label><button type=\"button\" data-expand=\"inline-edit\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/inline-edit.html?theme=dark&state=resting\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/inline-edit-resting-dark.png?v=mtszgbl0\" alt=\"Selected Inline edit, resting, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-settings-rows\" data-component=\"settings-rows\" clay=\"freeze\"><header><div><small>Fable</small><h2>Settings rows</h2></div><label>State <select data-state aria-label=\"Settings rows state\"><option value=\"default\">Default</option><option value=\"disabled\">Disabled</option></select></label><button type=\"button\" data-expand=\"settings-rows\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/settings-rows.html?theme=dark&state=default\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/settings-rows-default-dark.png?v=mtszgbl0\" alt=\"Selected Settings rows, default, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-sidebar-nav\" data-component=\"sidebar-nav\" clay=\"freeze\"><header><div><small>Fable</small><h2>Sidebar nav</h2></div><label>State <select data-state aria-label=\"Sidebar nav state\"><option value=\"expanded\">Expanded</option><option value=\"compact\">Compact</option></select></label><button type=\"button\" data-expand=\"sidebar-nav\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/sidebar-nav.html?theme=dark&state=expanded\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/sidebar-nav-expanded-dark.png?v=mtszgbl0\" alt=\"Selected Sidebar nav, expanded, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-app-toolbar\" data-component=\"app-toolbar\" clay=\"freeze\"><header><div><small>Fable</small><h2>App toolbar</h2></div><label>State <select data-state aria-label=\"App toolbar state\"><option value=\"default\">Default</option><option value=\"overflow\">Overflow</option></select></label><button type=\"button\" data-expand=\"app-toolbar\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/app-toolbar.html?theme=dark&state=default\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/app-toolbar-default-dark.png?v=mtszgbl0\" alt=\"Selected App toolbar, default, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-breadcrumbs\" data-component=\"breadcrumbs\" clay=\"freeze\"><header><div><small>Fable</small><h2>Breadcrumbs</h2></div><label>State <select data-state aria-label=\"Breadcrumbs state\"><option value=\"short\">Short</option><option value=\"long\">Long</option></select></label><button type=\"button\" data-expand=\"breadcrumbs\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/breadcrumbs.html?theme=dark&state=short\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/breadcrumbs-short-dark.png?v=mtszgbl0\" alt=\"Selected Breadcrumbs, short, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-pagination\" data-component=\"pagination\" clay=\"freeze\"><header><div><small>Fable</small><h2>Pagination</h2></div><label>State <select data-state aria-label=\"Pagination state\"><option value=\"first\">First</option><option value=\"middle\">Middle</option><option value=\"last\">Last</option></select></label><button type=\"button\" data-expand=\"pagination\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/pagination.html?theme=dark&state=first\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/pagination-first-dark.png?v=mtszgbl0\" alt=\"Selected Pagination, first, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-tree-view\" data-component=\"tree-view\" clay=\"freeze\"><header><div><small>Fable</small><h2>Tree view</h2></div><label>State <select data-state aria-label=\"Tree view state\"><option value=\"expanded\">Expanded</option><option value=\"empty\">Empty</option></select></label><button type=\"button\" data-expand=\"tree-view\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/tree-view.html?theme=dark&state=expanded\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/tree-view-expanded-dark.png?v=mtszgbl0\" alt=\"Selected Tree view, expanded, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-persistent-action-banner\" data-component=\"persistent-action-banner\" clay=\"freeze\"><header><div><small>Parent</small><h2>Persistent action banner</h2></div><label>State <select data-state aria-label=\"Persistent action banner state\"><option value=\"offline\">Offline</option><option value=\"resolved\">Resolved</option></select></label><button type=\"button\" data-expand=\"persistent-action-banner\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/persistent-action-banner.html?theme=dark&state=offline\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/persistent-action-banner-offline-dark.png?v=mtszgbl0\" alt=\"Selected Persistent action banner, offline, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-save-status-indicator\" data-component=\"save-status-indicator\" clay=\"freeze\"><header><div><small>Parent</small><h2>Save-status indicator</h2></div><label>State <select data-state aria-label=\"Save-status indicator state\"><option value=\"saved\">Saved</option></select></label><button type=\"button\" data-expand=\"save-status-indicator\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/save-status-indicator.html?theme=dark&state=saved\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/save-status-indicator-saved-dark.png?v=mtszgbl0\" alt=\"Selected Save-status indicator, saved, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-code-block\" data-component=\"code-block\" clay=\"freeze\"><header><div><small>Fable</small><h2>Code block</h2></div><label>State <select data-state aria-label=\"Code block state\"><option value=\"default\">Default</option><option value=\"wrapped\">Wrapped</option></select></label><button type=\"button\" data-expand=\"code-block\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/code-block.html?theme=dark&state=default\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/code-block-default-dark.png?v=mtszgbl0\" alt=\"Selected Code block, default, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-diff-view\" data-component=\"diff-view\" clay=\"freeze\"><header><div><small>Fable</small><h2>Diff view</h2></div><label>State <select data-state aria-label=\"Diff view state\"><option value=\"unified\">Unified</option><option value=\"split\">Split</option></select></label><button type=\"button\" data-expand=\"diff-view\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/diff-view.html?theme=dark&state=unified\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/diff-view-unified-dark.png?v=mtszgbl0\" alt=\"Selected Diff view, unified, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-activity-feed\" data-component=\"activity-feed\" clay=\"freeze\"><header><div><small>Fable</small><h2>Activity feed</h2></div><label>State <select data-state aria-label=\"Activity feed state\"><option value=\"recent\">Recent</option><option value=\"expanded\">Expanded</option></select></label><button type=\"button\" data-expand=\"activity-feed\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/activity-feed.html?theme=dark&state=recent\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/activity-feed-recent-dark.png?v=mtszgbl0\" alt=\"Selected Activity feed, recent, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-small-charts\" data-component=\"small-charts\" clay=\"freeze\"><header><div><small>Fable</small><h2>Small charts</h2></div><label>State <select data-state aria-label=\"Small charts state\"><option value=\"bars\">Bars</option><option value=\"line\">Line</option><option value=\"spark\">Spark</option></select></label><button type=\"button\" data-expand=\"small-charts\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/small-charts.html?theme=dark&state=bars\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/small-charts-bars-dark.png?v=mtszgbl0\" alt=\"Selected Small charts, bars, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-filter-builder\" data-component=\"filter-builder\" clay=\"freeze\"><header><div><small>Fable</small><h2>Filter builder</h2></div><label>State <select data-state aria-label=\"Filter builder state\"><option value=\"applied\">Applied</option><option value=\"empty\">Empty</option></select></label><button type=\"button\" data-expand=\"filter-builder\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/filter-builder.html?theme=dark&state=applied\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/filter-builder-applied-dark.png?v=mtszgbl0\" alt=\"Selected Filter builder, applied, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-column-manager\" data-component=\"column-manager\" clay=\"freeze\"><header><div><small>Fable</small><h2>Column manager</h2></div><label>State <select data-state aria-label=\"Column manager state\"><option value=\"default\">Default</option><option value=\"reordered\">Reordered</option></select></label><button type=\"button\" data-expand=\"column-manager\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/column-manager.html?theme=dark&state=default\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/column-manager-default-dark.png?v=mtszgbl0\" alt=\"Selected Column manager, default, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-editable-grid-cells\" data-component=\"editable-grid-cells\" clay=\"freeze\"><header><div><small>Fable</small><h2>Editable grid cells</h2></div><label>State <select data-state aria-label=\"Editable grid cells state\"><option value=\"idle\">Idle</option><option value=\"editing\">Editing</option><option value=\"error\">Error</option></select></label><button type=\"button\" data-expand=\"editable-grid-cells\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/editable-grid-cells.html?theme=dark&state=idle\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/editable-grid-cells-idle-dark.png?v=mtszgbl0\" alt=\"Selected Editable grid cells, idle, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-split-panes\" data-component=\"split-panes\" clay=\"freeze\"><header><div><small>Fable</small><h2>Split panes</h2></div><label>State <select data-state aria-label=\"Split panes state\"><option value=\"list-detail\">List detail</option><option value=\"editor-preview\">Editor preview</option></select></label><button type=\"button\" data-expand=\"split-panes\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/split-panes.html?theme=dark&state=list-detail\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/split-panes-list-detail-dark.png?v=mtszgbl0\" alt=\"Selected Split panes, list-detail, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-rich-text-toolbar\" data-component=\"rich-text-toolbar\" clay=\"freeze\"><header><div><small>Fable</small><h2>Rich text toolbar</h2></div><label>State <select data-state aria-label=\"Rich text toolbar state\"><option value=\"toolbar\">Toolbar</option><option value=\"menu\">Menu</option><option value=\"link\">Link</option><option value=\"floating\">Floating</option></select></label><button type=\"button\" data-expand=\"rich-text-toolbar\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/rich-text-toolbar.html?theme=dark&state=toolbar\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/rich-text-toolbar-toolbar-dark.png?v=mtszgbl0\" alt=\"Selected Rich text toolbar, toolbar, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-kanban-board\" data-component=\"kanban-board\" clay=\"freeze\"><header><div><small>Fable</small><h2>Kanban board</h2></div><label>State <select data-state aria-label=\"Kanban board state\"><option value=\"default\">Default</option><option value=\"empty\">Empty</option><option value=\"selected\">Selected</option></select></label><button type=\"button\" data-expand=\"kanban-board\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/kanban-board.html?theme=dark&state=default\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/kanban-board-default-dark.png?v=mtszgbl0\" alt=\"Selected Kanban board, default, dark theme\"></a></article></div><h2 class=\"sg-section-title\">Product contexts</h2><p class=\"sg-caption\">Static theme references for the existing HyperCMS and Quickcrop structures.</p><div class=\"sg-grid\" id=\"selected-contexts\"><article class=\"sg-card\" id=\"selected-context-hypercms\" data-component=\"context-hypercms\" clay=\"freeze\"><header><div><small>Fable</small><h2>HyperCMS inspector</h2></div><label>State <select data-state aria-label=\"HyperCMS inspector state\"><option value=\"default\">Default</option><option value=\"error\">Error</option></select></label><button type=\"button\" data-expand=\"context-hypercms\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/context-hypercms.html?theme=dark&state=default\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/context-hypercms-default-dark.png?v=mtszgbl0\" alt=\"Selected HyperCMS inspector, default, dark theme\"></a></article><article class=\"sg-card\" id=\"selected-context-quickcrop\" data-component=\"context-quickcrop\" clay=\"freeze\"><header><div><small>Parent</small><h2>Quickcrop upload and crop</h2></div><label>State <select data-state aria-label=\"Quickcrop upload and crop state\"><option value=\"locked\">Locked</option><option value=\"free\">Free</option></select></label><button type=\"button\" data-expand=\"context-quickcrop\">Enlarge</button></header><a class=\"sg-full\" data-open=\"selected\" href=\"bevel-refinement-assets-20260908-110100/selected/components/context-quickcrop.html?theme=dark&state=locked\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" data-shot=\"selected\" src=\"bevel-refinement-assets-20260908-110100/screenshots/selected/context-quickcrop-locked-dark.png?v=mtszgbl0\" alt=\"Selected Quickcrop upload and crop, locked, dark theme\"></a></article></div><details class=\"sg-preserved\"><summary>Preserved candidates</summary><p><a href=\"bevel-refinement-assets-20260908-110100/parent/index.html\" target=\"_blank\" rel=\"noopener\">Parent refinement set ↗</a> · <a href=\"bevel-refinement-assets-20260908-110100/fable/index.html\" target=\"_blank\" rel=\"noopener\">Fable refinement set ↗</a> · <a href=\"bevel-reference-assets-20260907-221500/parent/index.html\" target=\"_blank\" rel=\"noopener\">Original Parent ↗</a> · <a href=\"bevel-reference-assets-20260907-221500/astra/index.html\" target=\"_blank\" rel=\"noopener\">Original Astra ↗</a></p></details><dialog id=\"sg-preview\" class=\"sg-dialog\" clay=\"freeze\" aria-labelledby=\"sg-preview-title\"><div class=\"sg-dialog-head\"><h2 id=\"sg-preview-title\">Selected reference</h2><label>State <select id=\"sg-live-state\"></select></label><button type=\"button\" id=\"sg-close\">Close preview</button></div><div class=\"sg-live\" id=\"sg-live\"></div></dialog><script>document.addEventListener('DOMContentLoaded',()=>{\nconst asset=\"bevel-refinement-assets-20260908-110100\",revision=\"mtszgbl0\",mode=document.getElementById('sg-theme'),dialog=document.getElementById('sg-preview'),live=document.getElementById('sg-live'),liveState=document.getElementById('sg-live-state');let expanded=null,seats=[];\nconst refresh=box=>{const id=box.dataset.component,state=box.querySelector('[data-state]').value;box.querySelectorAll('[data-shot]').forEach(img=>{img.src=asset+'/screenshots/'+img.dataset.shot+'/'+id+'-'+state+'-'+mode.value+'.png?v='+revision;img.alt=id+', '+img.dataset.shot+', '+state+', '+mode.value;});box.querySelectorAll('[data-open]').forEach(a=>a.href=asset+'/'+a.dataset.open+'/components/'+id+'.html?theme='+mode.value+'&state='+state);};\nconst frames=()=>{live.replaceChildren();live.dataset.count=seats.length;for(const seat of seats){const section=document.createElement('section'),label=document.createElement('strong'),frame=document.createElement('iframe');label.textContent=seat==='selected'?'Selected reference':seat==='parent'?'Parent':'Fable';frame.title=label.textContent;frame.src=asset+'/'+seat+'/components/'+expanded+'.html?theme='+mode.value+'&state='+liveState.value+'&embed=1&v='+revision;frame.setAttribute('sandbox','allow-scripts allow-same-origin');section.append(label,frame);live.append(section);}};\nmode.value=document.documentElement.classList.contains('dark')?'dark':'light';document.querySelectorAll('[data-component]').forEach(refresh);\nmode.addEventListener('change',()=>{document.documentElement.classList.remove('light','dark');document.documentElement.classList.add(mode.value);document.querySelectorAll('[data-component]').forEach(refresh);});\ndocument.getElementById('sg-jump').addEventListener('change',e=>document.getElementById('selected-'+e.target.value).scrollIntoView({behavior:'smooth',block:'start'}));\ndocument.addEventListener('change',e=>{if(e.target.matches('[data-state]'))refresh(e.target.closest('[data-component]'));});\ndocument.addEventListener('click',e=>{const b=e.target.closest('[data-expand]');if(!b)return;const box=b.closest('[data-component]');expanded=box.dataset.component;seats=expanded==='kanban-board'?['parent','fable']:['selected'];liveState.replaceChildren();for(const option of box.querySelector('[data-state]').options)liveState.add(new Option(option.text,option.value));liveState.value=box.querySelector('[data-state]').value;document.getElementById('sg-preview-title').textContent=box.querySelector('h2,strong').textContent;frames();dialog.showModal();});\nliveState.addEventListener('change',frames);document.getElementById('sg-close').addEventListener('click',()=>dialog.close());dialog.addEventListener('close',()=>{live.replaceChildren();expanded=null;seats=[];});\n});</script>",
|
|
9
|
+
"questions": [],
|
|
10
|
+
"notes": false,
|
|
11
|
+
"notesPlaceholder": "Any further visual corrections to the selected components."
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Selected Bevel components</title><link rel="stylesheet" href="../baseline/bevel-fonts.css"><link rel="stylesheet" href="../baseline/bevel.css"><style>body{padding:32px;max-width:800px;margin:auto;font-family:var(--bevel-font-sans)}h1{font:38px var(--bevel-font-serif)}ul{columns:2;line-height:2}a{color:var(--bevel-brass)}@media(max-width:520px){ul{columns:1}}</style></head><body><h1>Selected Bevel components</h1><p>29 Fable designs and 4 Parent designs, with your requested corrections. These are static visual references.</p><p>All 33 visual choices are settled.</p><ul><li><a href="components/modal.html">Modal</a></li><li><a href="components/popover-menu.html">Popover menu</a></li><li><a href="components/drawer.html">Drawer</a></li><li><a href="components/popconfirm.html">Popconfirm</a></li><li><a href="components/combobox.html">Combobox</a></li><li><a href="components/multi-select-picker.html">Multi-select picker</a></li><li><a href="components/selectable-cards.html">Selectable cards</a></li><li><a href="components/upload-dropzone.html">Upload dropzone</a></li><li><a href="components/inline-edit.html">Inline edit</a></li><li><a href="components/settings-rows.html">Settings rows</a></li><li><a href="components/form-error-summary.html">Form error summary</a></li><li><a href="components/split-button.html">Split button</a></li><li><a href="components/sidebar-nav.html">Sidebar nav</a></li><li><a href="components/app-toolbar.html">App toolbar</a></li><li><a href="components/breadcrumbs.html">Breadcrumbs</a></li><li><a href="components/pagination.html">Pagination</a></li><li><a href="components/tree-view.html">Tree view</a></li><li><a href="components/wizard-shell.html">Wizard shell</a></li><li><a href="components/toast-stack.html">Toast stack</a></li><li><a href="components/persistent-action-banner.html">Persistent action banner</a></li><li><a href="components/save-status-indicator.html">Save-status indicator</a></li><li><a href="components/code-block.html">Code block</a></li><li><a href="components/diff-view.html">Diff view</a></li><li><a href="components/activity-feed.html">Activity feed</a></li><li><a href="components/stat-tiles.html">Stat tiles</a></li><li><a href="components/avatar-group.html">Avatar group</a></li><li><a href="components/small-charts.html">Small charts</a></li><li><a href="components/filter-builder.html">Filter builder</a></li><li><a href="components/column-manager.html">Column manager</a></li><li><a href="components/editable-grid-cells.html">Editable grid cells</a></li><li><a href="components/split-panes.html">Split panes</a></li><li><a href="components/rich-text-toolbar.html">Rich text toolbar</a></li><li><a href="components/kanban-board.html">Kanban board</a></li><li><a href="components/context-hypercms.html">HyperCMS inspector</a></li><li><a href="components/context-quickcrop.html">Quickcrop upload and crop</a></li></ul></body></html>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"parent": "An open three-column board with large serif task titles, generous card spacing and eight tasks. Priorities, checklists, a cover image and a task inspector give each item room.",
|
|
3
|
+
"fable": "A denser four-column board with a separate backlog, eleven tasks, a progress strip and explicit task dependencies. Smaller sans-serif card titles leave more room for labels, people and task detail.",
|
|
4
|
+
"recommended": "fable",
|
|
5
|
+
"reason": "My suggestion: Fable. Its clearer column hierarchy, compact cards and detailed inspector fit the visual direction you selected for the rest of the kit. Parent gives individual task titles more room. Both are static references."
|
|
6
|
+
}
|