@cardstack/boxel-cli 0.10.0 → 0.10.1-unstable.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/bundled-realms/pretui/README.md +49 -0
- package/bundled-realms/pretui/color/LICENSE +21 -0
- package/bundled-realms/pretui/color/README.md +155 -0
- package/bundled-realms/pretui/color/index.js +78 -0
- package/bundled-realms/pretui/color-engine.ts +1243 -0
- package/bundled-realms/pretui/components/accordion.gts +58 -0
- package/bundled-realms/pretui/components/accordion.md +60 -0
- package/bundled-realms/pretui/components/accordion.usage.gts +129 -0
- package/bundled-realms/pretui/components/action-bar.gts +407 -0
- package/bundled-realms/pretui/components/action-bar.md +48 -0
- package/bundled-realms/pretui/components/action-bar.usage.gts +213 -0
- package/bundled-realms/pretui/components/affix.gts +116 -0
- package/bundled-realms/pretui/components/affix.md +54 -0
- package/bundled-realms/pretui/components/affix.usage.gts +73 -0
- package/bundled-realms/pretui/components/agent-question.gts +116 -0
- package/bundled-realms/pretui/components/agent-question.md +50 -0
- package/bundled-realms/pretui/components/agent-question.usage.gts +22 -0
- package/bundled-realms/pretui/components/ai-instructions.gts +378 -0
- package/bundled-realms/pretui/components/ai-instructions.md +49 -0
- package/bundled-realms/pretui/components/ai-instructions.usage.gts +101 -0
- package/bundled-realms/pretui/components/alert-dialog.gts +223 -0
- package/bundled-realms/pretui/components/alert-dialog.md +76 -0
- package/bundled-realms/pretui/components/alert-dialog.usage.gts +128 -0
- package/bundled-realms/pretui/components/alert.gts +163 -0
- package/bundled-realms/pretui/components/alert.md +57 -0
- package/bundled-realms/pretui/components/alert.usage.gts +99 -0
- package/bundled-realms/pretui/components/amount-input.gts +621 -0
- package/bundled-realms/pretui/components/amount-input.md +63 -0
- package/bundled-realms/pretui/components/amount-input.usage.gts +170 -0
- package/bundled-realms/pretui/components/angle-dial.gts +367 -0
- package/bundled-realms/pretui/components/angle-dial.md +56 -0
- package/bundled-realms/pretui/components/angle-dial.usage.gts +166 -0
- package/bundled-realms/pretui/components/animated-image.gts +291 -0
- package/bundled-realms/pretui/components/animated-image.md +49 -0
- package/bundled-realms/pretui/components/animated-image.usage.gts +127 -0
- package/bundled-realms/pretui/components/app-shell.gts +19 -0
- package/bundled-realms/pretui/components/app-shell.md +43 -0
- package/bundled-realms/pretui/components/app-shell.usage.gts +52 -0
- package/bundled-realms/pretui/components/approval-footer.gts +69 -0
- package/bundled-realms/pretui/components/approval-footer.md +49 -0
- package/bundled-realms/pretui/components/approval-footer.usage.gts +22 -0
- package/bundled-realms/pretui/components/aspect-ratio.gts +328 -0
- package/bundled-realms/pretui/components/aspect-ratio.md +72 -0
- package/bundled-realms/pretui/components/aspect-ratio.usage.gts +174 -0
- package/bundled-realms/pretui/components/asset-grid.gts +542 -0
- package/bundled-realms/pretui/components/asset-grid.md +54 -0
- package/bundled-realms/pretui/components/asset-grid.usage.gts +171 -0
- package/bundled-realms/pretui/components/asset-well.gts +731 -0
- package/bundled-realms/pretui/components/asset-well.md +72 -0
- package/bundled-realms/pretui/components/asset-well.usage.gts +264 -0
- package/bundled-realms/pretui/components/audio-player.gts +152 -0
- package/bundled-realms/pretui/components/audio-player.md +51 -0
- package/bundled-realms/pretui/components/audio-player.usage.gts +118 -0
- package/bundled-realms/pretui/components/autocomplete.gts +1150 -0
- package/bundled-realms/pretui/components/autocomplete.md +67 -0
- package/bundled-realms/pretui/components/autocomplete.usage.gts +339 -0
- package/bundled-realms/pretui/components/avatar-group.gts +30 -0
- package/bundled-realms/pretui/components/avatar-group.md +48 -0
- package/bundled-realms/pretui/components/avatar-group.usage.gts +39 -0
- package/bundled-realms/pretui/components/avatar.gts +134 -0
- package/bundled-realms/pretui/components/avatar.md +69 -0
- package/bundled-realms/pretui/components/avatar.usage.gts +101 -0
- package/bundled-realms/pretui/components/backdrop.gts +179 -0
- package/bundled-realms/pretui/components/backdrop.md +56 -0
- package/bundled-realms/pretui/components/backdrop.usage.gts +223 -0
- package/bundled-realms/pretui/components/background-field.gts +743 -0
- package/bundled-realms/pretui/components/background-field.md +62 -0
- package/bundled-realms/pretui/components/background-field.usage.gts +328 -0
- package/bundled-realms/pretui/components/badge.gts +188 -0
- package/bundled-realms/pretui/components/badge.md +62 -0
- package/bundled-realms/pretui/components/badge.usage.gts +73 -0
- package/bundled-realms/pretui/components/bar-list.gts +255 -0
- package/bundled-realms/pretui/components/bar-list.md +49 -0
- package/bundled-realms/pretui/components/bar-list.usage.gts +129 -0
- package/bundled-realms/pretui/components/board.gts +108 -0
- package/bundled-realms/pretui/components/board.md +54 -0
- package/bundled-realms/pretui/components/board.usage.gts +321 -0
- package/bundled-realms/pretui/components/bottom-nav.gts +217 -0
- package/bundled-realms/pretui/components/bottom-nav.md +64 -0
- package/bundled-realms/pretui/components/bottom-nav.usage.gts +68 -0
- package/bundled-realms/pretui/components/breadcrumb.gts +56 -0
- package/bundled-realms/pretui/components/breadcrumb.md +52 -0
- package/bundled-realms/pretui/components/breadcrumb.usage.gts +24 -0
- package/bundled-realms/pretui/components/broken-link.gts +46 -0
- package/bundled-realms/pretui/components/broken-link.md +50 -0
- package/bundled-realms/pretui/components/broken-link.usage.gts +57 -0
- package/bundled-realms/pretui/components/button-group.gts +246 -0
- package/bundled-realms/pretui/components/button-group.md +46 -0
- package/bundled-realms/pretui/components/button-group.usage.gts +137 -0
- package/bundled-realms/pretui/components/button.examples.gts +67 -0
- package/bundled-realms/pretui/components/button.gts +594 -0
- package/bundled-realms/pretui/components/button.md +81 -0
- package/bundled-realms/pretui/components/button.usage.gts +159 -0
- package/bundled-realms/pretui/components/calendar.gts +457 -0
- package/bundled-realms/pretui/components/calendar.md +57 -0
- package/bundled-realms/pretui/components/calendar.usage.gts +161 -0
- package/bundled-realms/pretui/components/callout.gts +2 -0
- package/bundled-realms/pretui/components/callout.md +40 -0
- package/bundled-realms/pretui/components/callout.usage.gts +48 -0
- package/bundled-realms/pretui/components/card.gts +637 -0
- package/bundled-realms/pretui/components/card.md +105 -0
- package/bundled-realms/pretui/components/card.usage.gts +279 -0
- package/bundled-realms/pretui/components/carousel.gts +583 -0
- package/bundled-realms/pretui/components/carousel.md +53 -0
- package/bundled-realms/pretui/components/carousel.usage.gts +220 -0
- package/bundled-realms/pretui/components/cascader.gts +436 -0
- package/bundled-realms/pretui/components/cascader.md +61 -0
- package/bundled-realms/pretui/components/cascader.usage.gts +79 -0
- package/bundled-realms/pretui/components/channel-slider.gts +251 -0
- package/bundled-realms/pretui/components/channel-slider.md +51 -0
- package/bundled-realms/pretui/components/channel-slider.usage.gts +104 -0
- package/bundled-realms/pretui/components/chart.gts +1011 -0
- package/bundled-realms/pretui/components/chart.md +60 -0
- package/bundled-realms/pretui/components/chart.usage.gts +660 -0
- package/bundled-realms/pretui/components/checkbox-card.gts +82 -0
- package/bundled-realms/pretui/components/checkbox-card.md +73 -0
- package/bundled-realms/pretui/components/checkbox-card.usage.gts +114 -0
- package/bundled-realms/pretui/components/checkbox.examples.gts +61 -0
- package/bundled-realms/pretui/components/checkbox.gts +123 -0
- package/bundled-realms/pretui/components/checkbox.md +55 -0
- package/bundled-realms/pretui/components/checkbox.usage.gts +31 -0
- package/bundled-realms/pretui/components/chip.gts +136 -0
- package/bundled-realms/pretui/components/chip.md +54 -0
- package/bundled-realms/pretui/components/chip.usage.gts +97 -0
- package/bundled-realms/pretui/components/code-block.gts +888 -0
- package/bundled-realms/pretui/components/code-block.md +61 -0
- package/bundled-realms/pretui/components/code-block.usage.gts +374 -0
- package/bundled-realms/pretui/components/collapsed-turn.gts +44 -0
- package/bundled-realms/pretui/components/collapsed-turn.md +48 -0
- package/bundled-realms/pretui/components/collapsed-turn.usage.gts +21 -0
- package/bundled-realms/pretui/components/collapsible.gts +283 -0
- package/bundled-realms/pretui/components/collapsible.md +69 -0
- package/bundled-realms/pretui/components/collapsible.usage.gts +173 -0
- package/bundled-realms/pretui/components/color-area.gts +339 -0
- package/bundled-realms/pretui/components/color-area.md +49 -0
- package/bundled-realms/pretui/components/color-area.usage.gts +72 -0
- package/bundled-realms/pretui/components/color-field.gts +179 -0
- package/bundled-realms/pretui/components/color-field.md +47 -0
- package/bundled-realms/pretui/components/color-field.usage.gts +87 -0
- package/bundled-realms/pretui/components/color-palette.gts +198 -0
- package/bundled-realms/pretui/components/color-palette.md +48 -0
- package/bundled-realms/pretui/components/color-picker.gts +721 -0
- package/bundled-realms/pretui/components/color-picker.md +59 -0
- package/bundled-realms/pretui/components/color-picker.usage.gts +122 -0
- package/bundled-realms/pretui/components/color-stop-editor.gts +184 -0
- package/bundled-realms/pretui/components/color-stop-editor.md +46 -0
- package/bundled-realms/pretui/components/color-stop-editor.usage.gts +75 -0
- package/bundled-realms/pretui/components/combobox.gts +333 -0
- package/bundled-realms/pretui/components/combobox.md +49 -0
- package/bundled-realms/pretui/components/combobox.usage.gts +143 -0
- package/bundled-realms/pretui/components/command-palette.gts +982 -0
- package/bundled-realms/pretui/components/command-palette.md +47 -0
- package/bundled-realms/pretui/components/command-palette.usage.gts +95 -0
- package/bundled-realms/pretui/components/command.gts +2 -0
- package/bundled-realms/pretui/components/command.md +45 -0
- package/bundled-realms/pretui/components/command.usage.gts +58 -0
- package/bundled-realms/pretui/components/compaction-chip.gts +273 -0
- package/bundled-realms/pretui/components/compaction-chip.md +45 -0
- package/bundled-realms/pretui/components/compaction-chip.usage.gts +110 -0
- package/bundled-realms/pretui/components/comparison.gts +223 -0
- package/bundled-realms/pretui/components/comparison.md +46 -0
- package/bundled-realms/pretui/components/comparison.usage.gts +148 -0
- package/bundled-realms/pretui/components/composer.gts +566 -0
- package/bundled-realms/pretui/components/composer.md +59 -0
- package/bundled-realms/pretui/components/composer.usage.gts +173 -0
- package/bundled-realms/pretui/components/compound-field.gts +289 -0
- package/bundled-realms/pretui/components/compound-field.md +66 -0
- package/bundled-realms/pretui/components/compound-field.usage.gts +378 -0
- package/bundled-realms/pretui/components/contact-link.gts +583 -0
- package/bundled-realms/pretui/components/contact-link.md +53 -0
- package/bundled-realms/pretui/components/contact-link.usage.gts +273 -0
- package/bundled-realms/pretui/components/context-menu.gts +811 -0
- package/bundled-realms/pretui/components/context-menu.md +74 -0
- package/bundled-realms/pretui/components/context-menu.usage.gts +244 -0
- package/bundled-realms/pretui/components/copy-button.gts +237 -0
- package/bundled-realms/pretui/components/copy-button.md +71 -0
- package/bundled-realms/pretui/components/copy-button.usage.gts +135 -0
- package/bundled-realms/pretui/components/copy-fit.gts +396 -0
- package/bundled-realms/pretui/components/copy-fit.md +60 -0
- package/bundled-realms/pretui/components/copy-fit.usage.gts +200 -0
- package/bundled-realms/pretui/components/cta-band.gts +285 -0
- package/bundled-realms/pretui/components/cta-band.md +50 -0
- package/bundled-realms/pretui/components/cta-band.usage.gts +208 -0
- package/bundled-realms/pretui/components/cue.gts +180 -0
- package/bundled-realms/pretui/components/cue.md +53 -0
- package/bundled-realms/pretui/components/cue.usage.gts +88 -0
- package/bundled-realms/pretui/components/cursor-trail.gts +221 -0
- package/bundled-realms/pretui/components/cursor-trail.md +56 -0
- package/bundled-realms/pretui/components/cursor-trail.usage.gts +218 -0
- package/bundled-realms/pretui/components/dashboard-grid.gts +939 -0
- package/bundled-realms/pretui/components/dashboard-grid.md +60 -0
- package/bundled-realms/pretui/components/dashboard-grid.usage.gts +307 -0
- package/bundled-realms/pretui/components/dashboard-item.gts +286 -0
- package/bundled-realms/pretui/components/dashboard-item.md +52 -0
- package/bundled-realms/pretui/components/dashboard-item.usage.gts +87 -0
- package/bundled-realms/pretui/components/data-grid.gts +263 -0
- package/bundled-realms/pretui/components/data-grid.md +64 -0
- package/bundled-realms/pretui/components/data-grid.usage.gts +50 -0
- package/bundled-realms/pretui/components/data-table.gts +1618 -0
- package/bundled-realms/pretui/components/data-table.md +104 -0
- package/bundled-realms/pretui/components/data-table.usage.gts +324 -0
- package/bundled-realms/pretui/components/date-picker.gts +98 -0
- package/bundled-realms/pretui/components/date-picker.md +59 -0
- package/bundled-realms/pretui/components/date-picker.usage.gts +66 -0
- package/bundled-realms/pretui/components/date-range-picker.gts +131 -0
- package/bundled-realms/pretui/components/date-range-picker.md +55 -0
- package/bundled-realms/pretui/components/date-range-picker.usage.gts +125 -0
- package/bundled-realms/pretui/components/date-time-picker.gts +227 -0
- package/bundled-realms/pretui/components/date-time-picker.md +60 -0
- package/bundled-realms/pretui/components/date-time-picker.usage.gts +64 -0
- package/bundled-realms/pretui/components/defer.gts +374 -0
- package/bundled-realms/pretui/components/defer.md +61 -0
- package/bundled-realms/pretui/components/defer.usage.gts +174 -0
- package/bundled-realms/pretui/components/delta.gts +45 -0
- package/bundled-realms/pretui/components/delta.md +53 -0
- package/bundled-realms/pretui/components/delta.usage.gts +31 -0
- package/bundled-realms/pretui/components/descriptions.gts +365 -0
- package/bundled-realms/pretui/components/descriptions.md +73 -0
- package/bundled-realms/pretui/components/descriptions.usage.gts +123 -0
- package/bundled-realms/pretui/components/dialog.gts +153 -0
- package/bundled-realms/pretui/components/dialog.md +60 -0
- package/bundled-realms/pretui/components/dialog.usage.gts +86 -0
- package/bundled-realms/pretui/components/diff-block.gts +89 -0
- package/bundled-realms/pretui/components/diff-block.md +51 -0
- package/bundled-realms/pretui/components/diff-block.usage.gts +27 -0
- package/bundled-realms/pretui/components/disclosure.gts +2 -0
- package/bundled-realms/pretui/components/disclosure.md +45 -0
- package/bundled-realms/pretui/components/disclosure.usage.gts +47 -0
- package/bundled-realms/pretui/components/divider.gts +75 -0
- package/bundled-realms/pretui/components/divider.md +49 -0
- package/bundled-realms/pretui/components/divider.usage.gts +98 -0
- package/bundled-realms/pretui/components/doc-report.gts +306 -0
- package/bundled-realms/pretui/components/doc-report.md +45 -0
- package/bundled-realms/pretui/components/doc-report.usage.gts +126 -0
- package/bundled-realms/pretui/components/dock.gts +165 -0
- package/bundled-realms/pretui/components/dock.md +42 -0
- package/bundled-realms/pretui/components/dock.usage.gts +114 -0
- package/bundled-realms/pretui/components/drawer.gts +166 -0
- package/bundled-realms/pretui/components/drawer.md +66 -0
- package/bundled-realms/pretui/components/drawer.usage.gts +111 -0
- package/bundled-realms/pretui/components/dropzone.gts +314 -0
- package/bundled-realms/pretui/components/dropzone.md +56 -0
- package/bundled-realms/pretui/components/dropzone.usage.gts +203 -0
- package/bundled-realms/pretui/components/dueling-picklist.gts +991 -0
- package/bundled-realms/pretui/components/dueling-picklist.md +67 -0
- package/bundled-realms/pretui/components/dueling-picklist.usage.gts +182 -0
- package/bundled-realms/pretui/components/dynamic-island.gts +264 -0
- package/bundled-realms/pretui/components/dynamic-island.md +45 -0
- package/bundled-realms/pretui/components/dynamic-island.usage.gts +195 -0
- package/bundled-realms/pretui/components/easing-curve.gts +629 -0
- package/bundled-realms/pretui/components/easing-curve.md +46 -0
- package/bundled-realms/pretui/components/easing-curve.usage.gts +122 -0
- package/bundled-realms/pretui/components/edit-in-place.gts +559 -0
- package/bundled-realms/pretui/components/edit-in-place.md +63 -0
- package/bundled-realms/pretui/components/edit-in-place.usage.gts +209 -0
- package/bundled-realms/pretui/components/editable.gts +299 -0
- package/bundled-realms/pretui/components/editable.md +79 -0
- package/bundled-realms/pretui/components/editable.usage.gts +68 -0
- package/bundled-realms/pretui/components/email-input.gts +83 -0
- package/bundled-realms/pretui/components/email-input.md +52 -0
- package/bundled-realms/pretui/components/email-input.usage.gts +90 -0
- package/bundled-realms/pretui/components/emoji-button.gts +162 -0
- package/bundled-realms/pretui/components/emoji-button.md +46 -0
- package/bundled-realms/pretui/components/emoji-button.usage.gts +174 -0
- package/bundled-realms/pretui/components/emoji-picker.gts +1396 -0
- package/bundled-realms/pretui/components/emoji-picker.md +53 -0
- package/bundled-realms/pretui/components/emoji-picker.usage.gts +235 -0
- package/bundled-realms/pretui/components/empty-state.gts +162 -0
- package/bundled-realms/pretui/components/empty-state.md +63 -0
- package/bundled-realms/pretui/components/empty-state.usage.gts +113 -0
- package/bundled-realms/pretui/components/empty.gts +2 -0
- package/bundled-realms/pretui/components/empty.md +43 -0
- package/bundled-realms/pretui/components/empty.usage.gts +33 -0
- package/bundled-realms/pretui/components/entity-display.gts +126 -0
- package/bundled-realms/pretui/components/entity-display.md +50 -0
- package/bundled-realms/pretui/components/error-summary.gts +321 -0
- package/bundled-realms/pretui/components/error-summary.md +60 -0
- package/bundled-realms/pretui/components/error-summary.usage.gts +155 -0
- package/bundled-realms/pretui/components/expression-builder.gts +1211 -0
- package/bundled-realms/pretui/components/expression-builder.md +60 -0
- package/bundled-realms/pretui/components/expression-builder.usage.gts +246 -0
- package/bundled-realms/pretui/components/fab.gts +2 -0
- package/bundled-realms/pretui/components/fab.md +38 -0
- package/bundled-realms/pretui/components/fab.usage.gts +38 -0
- package/bundled-realms/pretui/components/feature-voting.gts +365 -0
- package/bundled-realms/pretui/components/feature-voting.md +44 -0
- package/bundled-realms/pretui/components/feature-voting.usage.gts +114 -0
- package/bundled-realms/pretui/components/feed.gts +244 -0
- package/bundled-realms/pretui/components/feed.md +56 -0
- package/bundled-realms/pretui/components/feed.usage.gts +250 -0
- package/bundled-realms/pretui/components/field-error.gts +127 -0
- package/bundled-realms/pretui/components/field-error.md +60 -0
- package/bundled-realms/pretui/components/field-error.usage.gts +146 -0
- package/bundled-realms/pretui/components/field.gts +185 -0
- package/bundled-realms/pretui/components/field.md +60 -0
- package/bundled-realms/pretui/components/field.usage.gts +73 -0
- package/bundled-realms/pretui/components/fieldset.gts +124 -0
- package/bundled-realms/pretui/components/fieldset.md +65 -0
- package/bundled-realms/pretui/components/fieldset.usage.gts +105 -0
- package/bundled-realms/pretui/components/file-trigger.gts +185 -0
- package/bundled-realms/pretui/components/file-trigger.md +53 -0
- package/bundled-realms/pretui/components/file-trigger.usage.gts +121 -0
- package/bundled-realms/pretui/components/file-upload.gts +353 -0
- package/bundled-realms/pretui/components/file-upload.md +63 -0
- package/bundled-realms/pretui/components/file-upload.usage.gts +64 -0
- package/bundled-realms/pretui/components/filmstrip.gts +465 -0
- package/bundled-realms/pretui/components/filmstrip.md +53 -0
- package/bundled-realms/pretui/components/filmstrip.usage.gts +115 -0
- package/bundled-realms/pretui/components/filter-chips.gts +236 -0
- package/bundled-realms/pretui/components/filter-chips.md +58 -0
- package/bundled-realms/pretui/components/filter-chips.usage.gts +102 -0
- package/bundled-realms/pretui/components/filter-set.gts +293 -0
- package/bundled-realms/pretui/components/filter-set.md +60 -0
- package/bundled-realms/pretui/components/filter-set.usage.gts +145 -0
- package/bundled-realms/pretui/components/float-button.gts +339 -0
- package/bundled-realms/pretui/components/float-button.md +69 -0
- package/bundled-realms/pretui/components/float-button.usage.gts +134 -0
- package/bundled-realms/pretui/components/fold.gts +86 -0
- package/bundled-realms/pretui/components/fold.md +54 -0
- package/bundled-realms/pretui/components/fold.usage.gts +19 -0
- package/bundled-realms/pretui/components/form-field.gts +609 -0
- package/bundled-realms/pretui/components/form-field.md +77 -0
- package/bundled-realms/pretui/components/form-field.usage.gts +279 -0
- package/bundled-realms/pretui/components/form-footer.gts +246 -0
- package/bundled-realms/pretui/components/form-footer.md +59 -0
- package/bundled-realms/pretui/components/form-footer.usage.gts +217 -0
- package/bundled-realms/pretui/components/form-layout.gts +130 -0
- package/bundled-realms/pretui/components/form-layout.md +52 -0
- package/bundled-realms/pretui/components/form-layout.usage.gts +200 -0
- package/bundled-realms/pretui/components/form-section.gts +434 -0
- package/bundled-realms/pretui/components/form-section.md +67 -0
- package/bundled-realms/pretui/components/form-section.usage.gts +402 -0
- package/bundled-realms/pretui/components/form.gts +315 -0
- package/bundled-realms/pretui/components/form.md +82 -0
- package/bundled-realms/pretui/components/form.usage.gts +306 -0
- package/bundled-realms/pretui/components/format-bytes.gts +212 -0
- package/bundled-realms/pretui/components/format-bytes.md +47 -0
- package/bundled-realms/pretui/components/format-bytes.usage.gts +274 -0
- package/bundled-realms/pretui/components/format-date.gts +249 -0
- package/bundled-realms/pretui/components/format-date.md +55 -0
- package/bundled-realms/pretui/components/format-date.usage.gts +245 -0
- package/bundled-realms/pretui/components/format-number.gts +138 -0
- package/bundled-realms/pretui/components/format-number.md +51 -0
- package/bundled-realms/pretui/components/format-number.usage.gts +261 -0
- package/bundled-realms/pretui/components/formatted-value.gts +65 -0
- package/bundled-realms/pretui/components/freestyle-usage.gts +311 -0
- package/bundled-realms/pretui/components/freestyle-usage.md +49 -0
- package/bundled-realms/pretui/components/gallery.gts +819 -0
- package/bundled-realms/pretui/components/gallery.md +65 -0
- package/bundled-realms/pretui/components/gallery.usage.gts +212 -0
- package/bundled-realms/pretui/components/gradient-editor.gts +682 -0
- package/bundled-realms/pretui/components/gradient-editor.md +43 -0
- package/bundled-realms/pretui/components/gradient-editor.usage.gts +69 -0
- package/bundled-realms/pretui/components/graph-layout.md +54 -0
- package/bundled-realms/pretui/components/graph-layout.usage.gts +343 -0
- package/bundled-realms/pretui/components/graph-outline.gts +553 -0
- package/bundled-realms/pretui/components/graph-outline.md +50 -0
- package/bundled-realms/pretui/components/graph-outline.usage.gts +88 -0
- package/bundled-realms/pretui/components/grid.gts +68 -0
- package/bundled-realms/pretui/components/grid.md +54 -0
- package/bundled-realms/pretui/components/grid.usage.gts +144 -0
- package/bundled-realms/pretui/components/handle.gts +192 -0
- package/bundled-realms/pretui/components/handle.md +55 -0
- package/bundled-realms/pretui/components/handle.usage.gts +174 -0
- package/bundled-realms/pretui/components/hero-split.gts +307 -0
- package/bundled-realms/pretui/components/hero-split.md +50 -0
- package/bundled-realms/pretui/components/hero-split.usage.gts +200 -0
- package/bundled-realms/pretui/components/hover-actions.gts +485 -0
- package/bundled-realms/pretui/components/hover-actions.md +55 -0
- package/bundled-realms/pretui/components/hover-actions.usage.gts +224 -0
- package/bundled-realms/pretui/components/hover-card.gts +347 -0
- package/bundled-realms/pretui/components/hover-card.md +72 -0
- package/bundled-realms/pretui/components/hover-card.usage.gts +174 -0
- package/bundled-realms/pretui/components/hover-video-player.gts +315 -0
- package/bundled-realms/pretui/components/hover-video-player.md +57 -0
- package/bundled-realms/pretui/components/hover-video-player.usage.gts +152 -0
- package/bundled-realms/pretui/components/icon-button.examples.gts +69 -0
- package/bundled-realms/pretui/components/icon-button.gts +153 -0
- package/bundled-realms/pretui/components/icon-button.md +72 -0
- package/bundled-realms/pretui/components/icon-button.usage.gts +208 -0
- package/bundled-realms/pretui/components/image-cropper.gts +693 -0
- package/bundled-realms/pretui/components/image-cropper.md +52 -0
- package/bundled-realms/pretui/components/image-cropper.usage.gts +108 -0
- package/bundled-realms/pretui/components/image-frame.gts +91 -0
- package/bundled-realms/pretui/components/image-frame.md +42 -0
- package/bundled-realms/pretui/components/image-frame.usage.gts +28 -0
- package/bundled-realms/pretui/components/image.gts +326 -0
- package/bundled-realms/pretui/components/image.md +71 -0
- package/bundled-realms/pretui/components/image.usage.gts +126 -0
- package/bundled-realms/pretui/components/in-view.gts +245 -0
- package/bundled-realms/pretui/components/in-view.md +53 -0
- package/bundled-realms/pretui/components/in-view.usage.gts +264 -0
- package/bundled-realms/pretui/components/indicator.gts +137 -0
- package/bundled-realms/pretui/components/indicator.md +60 -0
- package/bundled-realms/pretui/components/indicator.usage.gts +66 -0
- package/bundled-realms/pretui/components/infinite-scroll.gts +163 -0
- package/bundled-realms/pretui/components/infinite-scroll.md +54 -0
- package/bundled-realms/pretui/components/infinite-scroll.usage.gts +73 -0
- package/bundled-realms/pretui/components/input-group.gts +264 -0
- package/bundled-realms/pretui/components/input-group.md +55 -0
- package/bundled-realms/pretui/components/input-group.usage.gts +283 -0
- package/bundled-realms/pretui/components/input.examples.gts +61 -0
- package/bundled-realms/pretui/components/input.gts +202 -0
- package/bundled-realms/pretui/components/input.md +67 -0
- package/bundled-realms/pretui/components/input.usage.gts +208 -0
- package/bundled-realms/pretui/components/interactive-input.gts +343 -0
- package/bundled-realms/pretui/components/interactive-input.md +45 -0
- package/bundled-realms/pretui/components/interactive-input.usage.gts +98 -0
- package/bundled-realms/pretui/components/item.gts +218 -0
- package/bundled-realms/pretui/components/item.md +66 -0
- package/bundled-realms/pretui/components/item.usage.gts +121 -0
- package/bundled-realms/pretui/components/joystick.gts +381 -0
- package/bundled-realms/pretui/components/joystick.md +52 -0
- package/bundled-realms/pretui/components/joystick.usage.gts +140 -0
- package/bundled-realms/pretui/components/json-editor.gts +1016 -0
- package/bundled-realms/pretui/components/json-editor.md +51 -0
- package/bundled-realms/pretui/components/json-editor.usage.gts +230 -0
- package/bundled-realms/pretui/components/json-tree.gts +596 -0
- package/bundled-realms/pretui/components/json-tree.md +52 -0
- package/bundled-realms/pretui/components/json-tree.usage.gts +217 -0
- package/bundled-realms/pretui/components/jump-chip.gts +230 -0
- package/bundled-realms/pretui/components/jump-chip.md +44 -0
- package/bundled-realms/pretui/components/jump-chip.usage.gts +151 -0
- package/bundled-realms/pretui/components/kbd.gts +60 -0
- package/bundled-realms/pretui/components/kbd.md +50 -0
- package/bundled-realms/pretui/components/kbd.usage.gts +98 -0
- package/bundled-realms/pretui/components/key-value.gts +150 -0
- package/bundled-realms/pretui/components/key-value.md +81 -0
- package/bundled-realms/pretui/components/key-value.usage.gts +125 -0
- package/bundled-realms/pretui/components/known-date.gts +770 -0
- package/bundled-realms/pretui/components/known-date.md +56 -0
- package/bundled-realms/pretui/components/known-date.usage.gts +192 -0
- package/bundled-realms/pretui/components/label.gts +60 -0
- package/bundled-realms/pretui/components/label.md +56 -0
- package/bundled-realms/pretui/components/label.usage.gts +63 -0
- package/bundled-realms/pretui/components/layer-manager.gts +1884 -0
- package/bundled-realms/pretui/components/layer-manager.md +59 -0
- package/bundled-realms/pretui/components/layer-manager.usage.gts +233 -0
- package/bundled-realms/pretui/components/lightbox.gts +461 -0
- package/bundled-realms/pretui/components/lightbox.md +57 -0
- package/bundled-realms/pretui/components/lightbox.usage.gts +180 -0
- package/bundled-realms/pretui/components/line-grid.examples.gts +156 -0
- package/bundled-realms/pretui/components/line-grid.gts +523 -0
- package/bundled-realms/pretui/components/line-grid.md +55 -0
- package/bundled-realms/pretui/components/line-grid.usage.gts +181 -0
- package/bundled-realms/pretui/components/list.gts +679 -0
- package/bundled-realms/pretui/components/list.md +90 -0
- package/bundled-realms/pretui/components/list.usage.gts +203 -0
- package/bundled-realms/pretui/components/loader.gts +2 -0
- package/bundled-realms/pretui/components/loader.md +33 -0
- package/bundled-realms/pretui/components/loader.usage.gts +35 -0
- package/bundled-realms/pretui/components/loading-overlay.gts +120 -0
- package/bundled-realms/pretui/components/loading-overlay.md +68 -0
- package/bundled-realms/pretui/components/loading-overlay.usage.gts +102 -0
- package/bundled-realms/pretui/components/loading-state.gts +124 -0
- package/bundled-realms/pretui/components/loading-state.md +48 -0
- package/bundled-realms/pretui/components/loading-state.usage.gts +16 -0
- package/bundled-realms/pretui/components/lookup.gts +451 -0
- package/bundled-realms/pretui/components/lookup.md +59 -0
- package/bundled-realms/pretui/components/lookup.usage.gts +235 -0
- package/bundled-realms/pretui/components/magnetic.gts +158 -0
- package/bundled-realms/pretui/components/magnetic.md +48 -0
- package/bundled-realms/pretui/components/magnetic.usage.gts +125 -0
- package/bundled-realms/pretui/components/marquee.gts +141 -0
- package/bundled-realms/pretui/components/marquee.md +43 -0
- package/bundled-realms/pretui/components/marquee.usage.gts +116 -0
- package/bundled-realms/pretui/components/masonry.gts +95 -0
- package/bundled-realms/pretui/components/masonry.md +59 -0
- package/bundled-realms/pretui/components/masonry.usage.gts +238 -0
- package/bundled-realms/pretui/components/media-inspector.gts +145 -0
- package/bundled-realms/pretui/components/media-inspector.md +46 -0
- package/bundled-realms/pretui/components/media-inspector.usage.gts +83 -0
- package/bundled-realms/pretui/components/media-player.gts +1133 -0
- package/bundled-realms/pretui/components/media-player.md +74 -0
- package/bundled-realms/pretui/components/media-player.usage.gts +265 -0
- package/bundled-realms/pretui/components/media-viewer.gts +136 -0
- package/bundled-realms/pretui/components/media-viewer.md +47 -0
- package/bundled-realms/pretui/components/media-viewer.usage.gts +70 -0
- package/bundled-realms/pretui/components/mentions.gts +340 -0
- package/bundled-realms/pretui/components/mentions.md +65 -0
- package/bundled-realms/pretui/components/mentions.usage.gts +73 -0
- package/bundled-realms/pretui/components/menu-panel.gts +367 -0
- package/bundled-realms/pretui/components/menu.gts +652 -0
- package/bundled-realms/pretui/components/menu.md +69 -0
- package/bundled-realms/pretui/components/menu.usage.gts +116 -0
- package/bundled-realms/pretui/components/menubar.gts +1200 -0
- package/bundled-realms/pretui/components/menubar.md +49 -0
- package/bundled-realms/pretui/components/menubar.usage.gts +220 -0
- package/bundled-realms/pretui/components/meter.gts +113 -0
- package/bundled-realms/pretui/components/meter.md +50 -0
- package/bundled-realms/pretui/components/meter.usage.gts +50 -0
- package/bundled-realms/pretui/components/modal.gts +2 -0
- package/bundled-realms/pretui/components/modal.md +41 -0
- package/bundled-realms/pretui/components/modal.usage.gts +50 -0
- package/bundled-realms/pretui/components/model-viewer.gts +658 -0
- package/bundled-realms/pretui/components/model-viewer.md +57 -0
- package/bundled-realms/pretui/components/model-viewer.usage.gts +123 -0
- package/bundled-realms/pretui/components/money-input.gts +66 -0
- package/bundled-realms/pretui/components/money-input.md +43 -0
- package/bundled-realms/pretui/components/money-input.usage.gts +293 -0
- package/bundled-realms/pretui/components/morphing-dialog.gts +173 -0
- package/bundled-realms/pretui/components/morphing-dialog.md +46 -0
- package/bundled-realms/pretui/components/morphing-dialog.usage.gts +168 -0
- package/bundled-realms/pretui/components/morphing-popover.gts +245 -0
- package/bundled-realms/pretui/components/morphing-popover.md +47 -0
- package/bundled-realms/pretui/components/morphing-popover.usage.gts +176 -0
- package/bundled-realms/pretui/components/multi-select.gts +392 -0
- package/bundled-realms/pretui/components/multi-select.md +57 -0
- package/bundled-realms/pretui/components/multi-select.usage.gts +97 -0
- package/bundled-realms/pretui/components/native-select.gts +212 -0
- package/bundled-realms/pretui/components/native-select.md +77 -0
- package/bundled-realms/pretui/components/native-select.usage.gts +109 -0
- package/bundled-realms/pretui/components/navigation-menu.gts +351 -0
- package/bundled-realms/pretui/components/navigation-menu.md +65 -0
- package/bundled-realms/pretui/components/navigation-menu.usage.gts +61 -0
- package/bundled-realms/pretui/components/node-canvas.gts +1174 -0
- package/bundled-realms/pretui/components/node-canvas.md +57 -0
- package/bundled-realms/pretui/components/node-canvas.usage.gts +548 -0
- package/bundled-realms/pretui/components/node-card.gts +181 -0
- package/bundled-realms/pretui/components/node-card.md +53 -0
- package/bundled-realms/pretui/components/node-card.usage.gts +156 -0
- package/bundled-realms/pretui/components/notification.gts +242 -0
- package/bundled-realms/pretui/components/notification.md +69 -0
- package/bundled-realms/pretui/components/notification.usage.gts +125 -0
- package/bundled-realms/pretui/components/number-input.gts +191 -0
- package/bundled-realms/pretui/components/number-input.md +54 -0
- package/bundled-realms/pretui/components/number-input.usage.gts +132 -0
- package/bundled-realms/pretui/components/odometer.gts +349 -0
- package/bundled-realms/pretui/components/odometer.md +55 -0
- package/bundled-realms/pretui/components/odometer.usage.gts +258 -0
- package/bundled-realms/pretui/components/onboarding.gts +298 -0
- package/bundled-realms/pretui/components/onboarding.md +48 -0
- package/bundled-realms/pretui/components/onboarding.usage.gts +155 -0
- package/bundled-realms/pretui/components/origin-grid.gts +486 -0
- package/bundled-realms/pretui/components/origin-grid.md +47 -0
- package/bundled-realms/pretui/components/origin-grid.usage.gts +87 -0
- package/bundled-realms/pretui/components/otp-input.gts +289 -0
- package/bundled-realms/pretui/components/otp-input.md +47 -0
- package/bundled-realms/pretui/components/otp-input.usage.gts +131 -0
- package/bundled-realms/pretui/components/page-scaffold.gts +343 -0
- package/bundled-realms/pretui/components/page-scaffold.md +57 -0
- package/bundled-realms/pretui/components/page-scaffold.usage.gts +391 -0
- package/bundled-realms/pretui/components/pagination.gts +150 -0
- package/bundled-realms/pretui/components/pagination.md +56 -0
- package/bundled-realms/pretui/components/pagination.usage.gts +33 -0
- package/bundled-realms/pretui/components/panel-section.gts +301 -0
- package/bundled-realms/pretui/components/panel-section.md +48 -0
- package/bundled-realms/pretui/components/panel-section.usage.gts +137 -0
- package/bundled-realms/pretui/components/panel.gts +158 -0
- package/bundled-realms/pretui/components/panel.md +58 -0
- package/bundled-realms/pretui/components/panel.usage.gts +82 -0
- package/bundled-realms/pretui/components/password-input.gts +329 -0
- package/bundled-realms/pretui/components/password-input.md +58 -0
- package/bundled-realms/pretui/components/password-input.usage.gts +156 -0
- package/bundled-realms/pretui/components/password-strength.gts +485 -0
- package/bundled-realms/pretui/components/password-strength.md +50 -0
- package/bundled-realms/pretui/components/password-strength.usage.gts +34 -0
- package/bundled-realms/pretui/components/path-text.gts +288 -0
- package/bundled-realms/pretui/components/path-text.md +58 -0
- package/bundled-realms/pretui/components/path-text.usage.gts +239 -0
- package/bundled-realms/pretui/components/period-input.gts +1100 -0
- package/bundled-realms/pretui/components/period-input.md +54 -0
- package/bundled-realms/pretui/components/period-input.usage.gts +299 -0
- package/bundled-realms/pretui/components/phone-input.gts +80 -0
- package/bundled-realms/pretui/components/phone-input.md +55 -0
- package/bundled-realms/pretui/components/phone-input.usage.gts +91 -0
- package/bundled-realms/pretui/components/pin-input.gts +2 -0
- package/bundled-realms/pretui/components/pin-input.md +45 -0
- package/bundled-realms/pretui/components/pin-input.usage.gts +39 -0
- package/bundled-realms/pretui/components/pip-scale.gts +717 -0
- package/bundled-realms/pretui/components/pip-scale.md +55 -0
- package/bundled-realms/pretui/components/pip-scale.usage.gts +318 -0
- package/bundled-realms/pretui/components/popconfirm.gts +380 -0
- package/bundled-realms/pretui/components/popconfirm.md +78 -0
- package/bundled-realms/pretui/components/popconfirm.usage.gts +171 -0
- package/bundled-realms/pretui/components/popover.gts +198 -0
- package/bundled-realms/pretui/components/popover.md +57 -0
- package/bundled-realms/pretui/components/popover.usage.gts +106 -0
- package/bundled-realms/pretui/components/popup.gts +85 -0
- package/bundled-realms/pretui/components/popup.md +42 -0
- package/bundled-realms/pretui/components/popup.usage.gts +23 -0
- package/bundled-realms/pretui/components/presence.gts +156 -0
- package/bundled-realms/pretui/components/presence.md +55 -0
- package/bundled-realms/pretui/components/presence.usage.gts +204 -0
- package/bundled-realms/pretui/components/progress-bar.gts +177 -0
- package/bundled-realms/pretui/components/progress-bar.md +63 -0
- package/bundled-realms/pretui/components/progress-bar.usage.gts +172 -0
- package/bundled-realms/pretui/components/progress-radial.gts +67 -0
- package/bundled-realms/pretui/components/progress-radial.md +55 -0
- package/bundled-realms/pretui/components/progress-radial.usage.gts +76 -0
- package/bundled-realms/pretui/components/prompt-library.gts +358 -0
- package/bundled-realms/pretui/components/prompt-library.md +45 -0
- package/bundled-realms/pretui/components/prompt-library.usage.gts +117 -0
- package/bundled-realms/pretui/components/property-row.gts +316 -0
- package/bundled-realms/pretui/components/property-row.md +55 -0
- package/bundled-realms/pretui/components/property-row.usage.gts +146 -0
- package/bundled-realms/pretui/components/property-sheet.gts +133 -0
- package/bundled-realms/pretui/components/property-sheet.md +48 -0
- package/bundled-realms/pretui/components/property-sheet.usage.gts +132 -0
- package/bundled-realms/pretui/components/prose.gts +31 -0
- package/bundled-realms/pretui/components/prose.md +57 -0
- package/bundled-realms/pretui/components/prose.usage.gts +15 -0
- package/bundled-realms/pretui/components/pulsing-border.gts +297 -0
- package/bundled-realms/pretui/components/pulsing-border.md +65 -0
- package/bundled-realms/pretui/components/pulsing-border.usage.gts +253 -0
- package/bundled-realms/pretui/components/qr-code.gts +660 -0
- package/bundled-realms/pretui/components/qr-code.md +58 -0
- package/bundled-realms/pretui/components/qr-code.usage.gts +224 -0
- package/bundled-realms/pretui/components/queued-message.gts +83 -0
- package/bundled-realms/pretui/components/queued-message.md +53 -0
- package/bundled-realms/pretui/components/queued-message.usage.gts +21 -0
- package/bundled-realms/pretui/components/radio-card.gts +88 -0
- package/bundled-realms/pretui/components/radio-card.md +72 -0
- package/bundled-realms/pretui/components/radio-card.usage.gts +148 -0
- package/bundled-realms/pretui/components/radio-group.gts +119 -0
- package/bundled-realms/pretui/components/radio-group.md +46 -0
- package/bundled-realms/pretui/components/radio-group.usage.gts +80 -0
- package/bundled-realms/pretui/components/range-slider.gts +34 -0
- package/bundled-realms/pretui/components/range-slider.md +47 -0
- package/bundled-realms/pretui/components/range-slider.usage.gts +46 -0
- package/bundled-realms/pretui/components/rating.examples.gts +67 -0
- package/bundled-realms/pretui/components/rating.gts +266 -0
- package/bundled-realms/pretui/components/rating.md +55 -0
- package/bundled-realms/pretui/components/rating.usage.gts +96 -0
- package/bundled-realms/pretui/components/readiness-panel.gts +856 -0
- package/bundled-realms/pretui/components/readiness-panel.md +64 -0
- package/bundled-realms/pretui/components/readiness-panel.usage.gts +372 -0
- package/bundled-realms/pretui/components/recommendation.gts +316 -0
- package/bundled-realms/pretui/components/recommendation.md +49 -0
- package/bundled-realms/pretui/components/recommendation.usage.gts +103 -0
- package/bundled-realms/pretui/components/record-detail.gts +1170 -0
- package/bundled-realms/pretui/components/record-detail.md +63 -0
- package/bundled-realms/pretui/components/record-detail.usage.gts +533 -0
- package/bundled-realms/pretui/components/record-face.gts +153 -0
- package/bundled-realms/pretui/components/record-pill.gts +116 -0
- package/bundled-realms/pretui/components/record-pill.md +55 -0
- package/bundled-realms/pretui/components/record-pill.usage.gts +108 -0
- package/bundled-realms/pretui/components/relative-time.gts +88 -0
- package/bundled-realms/pretui/components/relative-time.md +58 -0
- package/bundled-realms/pretui/components/relative-time.usage.gts +89 -0
- package/bundled-realms/pretui/components/reorder.gts +620 -0
- package/bundled-realms/pretui/components/reorder.md +47 -0
- package/bundled-realms/pretui/components/reorder.usage.gts +171 -0
- package/bundled-realms/pretui/components/resizable.gts +2 -0
- package/bundled-realms/pretui/components/resizable.md +37 -0
- package/bundled-realms/pretui/components/resizable.usage.gts +53 -0
- package/bundled-realms/pretui/components/result-card.gts +68 -0
- package/bundled-realms/pretui/components/result-card.md +45 -0
- package/bundled-realms/pretui/components/result-card.usage.gts +29 -0
- package/bundled-realms/pretui/components/result.gts +204 -0
- package/bundled-realms/pretui/components/result.md +67 -0
- package/bundled-realms/pretui/components/result.usage.gts +85 -0
- package/bundled-realms/pretui/components/rule-row.gts +462 -0
- package/bundled-realms/pretui/components/rule-row.md +60 -0
- package/bundled-realms/pretui/components/rule-row.usage.gts +157 -0
- package/bundled-realms/pretui/components/scroll-area.gts +121 -0
- package/bundled-realms/pretui/components/scroll-area.md +59 -0
- package/bundled-realms/pretui/components/scroll-area.usage.gts +175 -0
- package/bundled-realms/pretui/components/scroll-progress.gts +222 -0
- package/bundled-realms/pretui/components/scroll-progress.md +48 -0
- package/bundled-realms/pretui/components/scroll-progress.usage.gts +162 -0
- package/bundled-realms/pretui/components/scroller.gts +323 -0
- package/bundled-realms/pretui/components/scroller.md +44 -0
- package/bundled-realms/pretui/components/scroller.usage.gts +184 -0
- package/bundled-realms/pretui/components/scrub-input.gts +691 -0
- package/bundled-realms/pretui/components/scrub-input.md +61 -0
- package/bundled-realms/pretui/components/scrub-input.usage.gts +275 -0
- package/bundled-realms/pretui/components/search-input.gts +141 -0
- package/bundled-realms/pretui/components/search-input.md +56 -0
- package/bundled-realms/pretui/components/search-input.usage.gts +91 -0
- package/bundled-realms/pretui/components/segmented-control.gts +198 -0
- package/bundled-realms/pretui/components/segmented-control.md +39 -0
- package/bundled-realms/pretui/components/segmented-control.usage.gts +66 -0
- package/bundled-realms/pretui/components/select.examples.gts +80 -0
- package/bundled-realms/pretui/components/select.gts +481 -0
- package/bundled-realms/pretui/components/select.md +71 -0
- package/bundled-realms/pretui/components/select.usage.gts +109 -0
- package/bundled-realms/pretui/components/separator.gts +2 -0
- package/bundled-realms/pretui/components/separator.md +36 -0
- package/bundled-realms/pretui/components/separator.usage.gts +32 -0
- package/bundled-realms/pretui/components/session-prep.gts +164 -0
- package/bundled-realms/pretui/components/session-prep.md +48 -0
- package/bundled-realms/pretui/components/session-prep.usage.gts +122 -0
- package/bundled-realms/pretui/components/sheet-toolbar.gts +130 -0
- package/bundled-realms/pretui/components/sheet-toolbar.md +51 -0
- package/bundled-realms/pretui/components/sheet-toolbar.usage.gts +151 -0
- package/bundled-realms/pretui/components/sheet.gts +1166 -0
- package/bundled-realms/pretui/components/sheet.md +78 -0
- package/bundled-realms/pretui/components/sheet.usage.gts +318 -0
- package/bundled-realms/pretui/components/sidebar.gts +1165 -0
- package/bundled-realms/pretui/components/sidebar.md +88 -0
- package/bundled-realms/pretui/components/sidebar.usage.gts +360 -0
- package/bundled-realms/pretui/components/signature-pad.gts +840 -0
- package/bundled-realms/pretui/components/signature-pad.md +57 -0
- package/bundled-realms/pretui/components/signature-pad.usage.gts +222 -0
- package/bundled-realms/pretui/components/skeleton.gts +46 -0
- package/bundled-realms/pretui/components/skeleton.md +56 -0
- package/bundled-realms/pretui/components/skeleton.usage.gts +56 -0
- package/bundled-realms/pretui/components/skip-link.gts +65 -0
- package/bundled-realms/pretui/components/skip-link.md +49 -0
- package/bundled-realms/pretui/components/skip-link.usage.gts +47 -0
- package/bundled-realms/pretui/components/slide-over.gts +2 -0
- package/bundled-realms/pretui/components/slide-over.md +41 -0
- package/bundled-realms/pretui/components/slide-over.usage.gts +50 -0
- package/bundled-realms/pretui/components/slider.examples.gts +61 -0
- package/bundled-realms/pretui/components/slider.gts +331 -0
- package/bundled-realms/pretui/components/slider.md +59 -0
- package/bundled-realms/pretui/components/slider.usage.gts +99 -0
- package/bundled-realms/pretui/components/sliding-highlight.gts +249 -0
- package/bundled-realms/pretui/components/sliding-highlight.md +58 -0
- package/bundled-realms/pretui/components/sliding-highlight.usage.gts +184 -0
- package/bundled-realms/pretui/components/snackbar.gts +2 -0
- package/bundled-realms/pretui/components/snackbar.md +34 -0
- package/bundled-realms/pretui/components/snackbar.usage.gts +31 -0
- package/bundled-realms/pretui/components/sonner.gts +2 -0
- package/bundled-realms/pretui/components/sonner.md +42 -0
- package/bundled-realms/pretui/components/sonner.usage.gts +43 -0
- package/bundled-realms/pretui/components/sparkline.gts +233 -0
- package/bundled-realms/pretui/components/sparkline.md +58 -0
- package/bundled-realms/pretui/components/sparkline.usage.gts +74 -0
- package/bundled-realms/pretui/components/spinner.gts +57 -0
- package/bundled-realms/pretui/components/spinner.md +49 -0
- package/bundled-realms/pretui/components/spinner.usage.gts +65 -0
- package/bundled-realms/pretui/components/split-panes.gts +69 -0
- package/bundled-realms/pretui/components/split-panes.md +54 -0
- package/bundled-realms/pretui/components/split-panes.usage.gts +171 -0
- package/bundled-realms/pretui/components/spotlight.gts +174 -0
- package/bundled-realms/pretui/components/spotlight.md +51 -0
- package/bundled-realms/pretui/components/spotlight.usage.gts +197 -0
- package/bundled-realms/pretui/components/stack-divider.gts +58 -0
- package/bundled-realms/pretui/components/stack.gts +284 -0
- package/bundled-realms/pretui/components/stack.md +81 -0
- package/bundled-realms/pretui/components/stack.usage.gts +228 -0
- package/bundled-realms/pretui/components/stacking-cards.gts +137 -0
- package/bundled-realms/pretui/components/stacking-cards.md +40 -0
- package/bundled-realms/pretui/components/stacking-cards.usage.gts +124 -0
- package/bundled-realms/pretui/components/stat.gts +216 -0
- package/bundled-realms/pretui/components/stat.md +57 -0
- package/bundled-realms/pretui/components/stat.usage.gts +16 -0
- package/bundled-realms/pretui/components/statement-table.examples.gts +185 -0
- package/bundled-realms/pretui/components/statement-table.gts +792 -0
- package/bundled-realms/pretui/components/statement-table.md +58 -0
- package/bundled-realms/pretui/components/statement-table.usage.gts +252 -0
- package/bundled-realms/pretui/components/status-chip.gts +37 -0
- package/bundled-realms/pretui/components/status-chip.md +48 -0
- package/bundled-realms/pretui/components/status-chip.usage.gts +36 -0
- package/bundled-realms/pretui/components/step-list.gts +624 -0
- package/bundled-realms/pretui/components/step-list.md +50 -0
- package/bundled-realms/pretui/components/step-list.usage.gts +166 -0
- package/bundled-realms/pretui/components/stepper.gts +201 -0
- package/bundled-realms/pretui/components/stepper.md +54 -0
- package/bundled-realms/pretui/components/stepper.usage.gts +103 -0
- package/bundled-realms/pretui/components/steps-with-media.gts +254 -0
- package/bundled-realms/pretui/components/steps-with-media.md +54 -0
- package/bundled-realms/pretui/components/steps-with-media.usage.gts +208 -0
- package/bundled-realms/pretui/components/streaming-text.gts +77 -0
- package/bundled-realms/pretui/components/streaming-text.md +55 -0
- package/bundled-realms/pretui/components/streaming-text.usage.gts +15 -0
- package/bundled-realms/pretui/components/swatch-chip.gts +104 -0
- package/bundled-realms/pretui/components/swatch-chip.md +47 -0
- package/bundled-realms/pretui/components/swatch-chip.usage.gts +21 -0
- package/bundled-realms/pretui/components/swatch.gts +141 -0
- package/bundled-realms/pretui/components/swatch.md +50 -0
- package/bundled-realms/pretui/components/swatch.usage.gts +80 -0
- package/bundled-realms/pretui/components/switch.examples.gts +53 -0
- package/bundled-realms/pretui/components/switch.gts +118 -0
- package/bundled-realms/pretui/components/switch.md +62 -0
- package/bundled-realms/pretui/components/switch.usage.gts +59 -0
- package/bundled-realms/pretui/components/table-of-contents.gts +384 -0
- package/bundled-realms/pretui/components/table-of-contents.md +75 -0
- package/bundled-realms/pretui/components/table-of-contents.usage.gts +270 -0
- package/bundled-realms/pretui/components/table.gts +158 -0
- package/bundled-realms/pretui/components/table.md +80 -0
- package/bundled-realms/pretui/components/table.usage.gts +44 -0
- package/bundled-realms/pretui/components/tabs.gts +117 -0
- package/bundled-realms/pretui/components/tabs.md +58 -0
- package/bundled-realms/pretui/components/tabs.usage.gts +94 -0
- package/bundled-realms/pretui/components/tags-input.gts +52 -0
- package/bundled-realms/pretui/components/tags-input.md +48 -0
- package/bundled-realms/pretui/components/tags-input.usage.gts +56 -0
- package/bundled-realms/pretui/components/task-row.gts +483 -0
- package/bundled-realms/pretui/components/task-row.md +48 -0
- package/bundled-realms/pretui/components/task-row.usage.gts +119 -0
- package/bundled-realms/pretui/components/terminal-animation.gts +355 -0
- package/bundled-realms/pretui/components/terminal-animation.md +49 -0
- package/bundled-realms/pretui/components/terminal-animation.usage.gts +110 -0
- package/bundled-realms/pretui/components/text-effects.gts +339 -0
- package/bundled-realms/pretui/components/text-effects.md +49 -0
- package/bundled-realms/pretui/components/text-effects.usage.gts +192 -0
- package/bundled-realms/pretui/components/text-morph.gts +292 -0
- package/bundled-realms/pretui/components/text-morph.md +45 -0
- package/bundled-realms/pretui/components/text-morph.usage.gts +117 -0
- package/bundled-realms/pretui/components/text-rotate.gts +121 -0
- package/bundled-realms/pretui/components/text-rotate.md +44 -0
- package/bundled-realms/pretui/components/text-rotate.usage.gts +73 -0
- package/bundled-realms/pretui/components/text-scramble.gts +189 -0
- package/bundled-realms/pretui/components/text-scramble.md +42 -0
- package/bundled-realms/pretui/components/text-scramble.usage.gts +80 -0
- package/bundled-realms/pretui/components/text-shimmer.gts +89 -0
- package/bundled-realms/pretui/components/text-shimmer.md +42 -0
- package/bundled-realms/pretui/components/text-shimmer.usage.gts +69 -0
- package/bundled-realms/pretui/components/textarea.gts +112 -0
- package/bundled-realms/pretui/components/textarea.md +51 -0
- package/bundled-realms/pretui/components/textarea.usage.gts +100 -0
- package/bundled-realms/pretui/components/theme-frame.gts +272 -0
- package/bundled-realms/pretui/components/theme-frame.md +48 -0
- package/bundled-realms/pretui/components/thinking.gts +431 -0
- package/bundled-realms/pretui/components/thinking.md +47 -0
- package/bundled-realms/pretui/components/thinking.usage.gts +134 -0
- package/bundled-realms/pretui/components/tilt.gts +194 -0
- package/bundled-realms/pretui/components/tilt.md +50 -0
- package/bundled-realms/pretui/components/tilt.usage.gts +174 -0
- package/bundled-realms/pretui/components/time-input.gts +583 -0
- package/bundled-realms/pretui/components/time-input.md +51 -0
- package/bundled-realms/pretui/components/time-input.usage.gts +110 -0
- package/bundled-realms/pretui/components/timeline.gts +269 -0
- package/bundled-realms/pretui/components/timeline.md +63 -0
- package/bundled-realms/pretui/components/timeline.usage.gts +180 -0
- package/bundled-realms/pretui/components/toast.gts +85 -0
- package/bundled-realms/pretui/components/toast.md +57 -0
- package/bundled-realms/pretui/components/toast.usage.gts +18 -0
- package/bundled-realms/pretui/components/toaster.gts +808 -0
- package/bundled-realms/pretui/components/toaster.md +83 -0
- package/bundled-realms/pretui/components/toaster.usage.gts +256 -0
- package/bundled-realms/pretui/components/toggle-group.gts +435 -0
- package/bundled-realms/pretui/components/toggle-group.md +59 -0
- package/bundled-realms/pretui/components/toggle-group.usage.gts +260 -0
- package/bundled-realms/pretui/components/toggle-matrix.gts +994 -0
- package/bundled-realms/pretui/components/toggle-matrix.md +44 -0
- package/bundled-realms/pretui/components/toggle-matrix.usage.gts +243 -0
- package/bundled-realms/pretui/components/toggle.gts +235 -0
- package/bundled-realms/pretui/components/toggle.md +59 -0
- package/bundled-realms/pretui/components/toggle.usage.gts +244 -0
- package/bundled-realms/pretui/components/token-input.gts +483 -0
- package/bundled-realms/pretui/components/token-input.md +50 -0
- package/bundled-realms/pretui/components/token-input.usage.gts +137 -0
- package/bundled-realms/pretui/components/token.gts +197 -0
- package/bundled-realms/pretui/components/token.md +63 -0
- package/bundled-realms/pretui/components/token.usage.gts +128 -0
- package/bundled-realms/pretui/components/toolbar.gts +62 -0
- package/bundled-realms/pretui/components/toolbar.md +50 -0
- package/bundled-realms/pretui/components/toolbar.usage.gts +78 -0
- package/bundled-realms/pretui/components/tooltip.gts +212 -0
- package/bundled-realms/pretui/components/tooltip.md +53 -0
- package/bundled-realms/pretui/components/tooltip.usage.gts +64 -0
- package/bundled-realms/pretui/components/tour.gts +436 -0
- package/bundled-realms/pretui/components/tour.md +62 -0
- package/bundled-realms/pretui/components/tour.usage.gts +70 -0
- package/bundled-realms/pretui/components/transfer.gts +2 -0
- package/bundled-realms/pretui/components/transfer.md +39 -0
- package/bundled-realms/pretui/components/transfer.usage.gts +52 -0
- package/bundled-realms/pretui/components/transmute.gts +103 -0
- package/bundled-realms/pretui/components/transmute.md +49 -0
- package/bundled-realms/pretui/components/transmute.usage.gts +16 -0
- package/bundled-realms/pretui/components/tree-select.gts +596 -0
- package/bundled-realms/pretui/components/tree-select.md +70 -0
- package/bundled-realms/pretui/components/tree-select.usage.gts +75 -0
- package/bundled-realms/pretui/components/tree.gts +532 -0
- package/bundled-realms/pretui/components/tree.md +68 -0
- package/bundled-realms/pretui/components/tree.usage.gts +278 -0
- package/bundled-realms/pretui/components/trim-bar.gts +611 -0
- package/bundled-realms/pretui/components/trim-bar.md +48 -0
- package/bundled-realms/pretui/components/trim-bar.usage.gts +112 -0
- package/bundled-realms/pretui/components/typewriter.gts +122 -0
- package/bundled-realms/pretui/components/typewriter.md +45 -0
- package/bundled-realms/pretui/components/typewriter.usage.gts +105 -0
- package/bundled-realms/pretui/components/typography.gts +379 -0
- package/bundled-realms/pretui/components/typography.md +77 -0
- package/bundled-realms/pretui/components/typography.usage.gts +52 -0
- package/bundled-realms/pretui/components/url-input.gts +130 -0
- package/bundled-realms/pretui/components/url-input.md +58 -0
- package/bundled-realms/pretui/components/url-input.usage.gts +97 -0
- package/bundled-realms/pretui/components/usage-action.gts +16 -0
- package/bundled-realms/pretui/components/usage-argument.gts +109 -0
- package/bundled-realms/pretui/components/usage-argument.md +44 -0
- package/bundled-realms/pretui/components/usage-array.gts +80 -0
- package/bundled-realms/pretui/components/usage-array.md +47 -0
- package/bundled-realms/pretui/components/usage-bool.gts +62 -0
- package/bundled-realms/pretui/components/usage-bool.md +47 -0
- package/bundled-realms/pretui/components/usage-component-arg.gts +16 -0
- package/bundled-realms/pretui/components/usage-css-variable.gts +56 -0
- package/bundled-realms/pretui/components/usage-css-variable.md +48 -0
- package/bundled-realms/pretui/components/usage-number.gts +127 -0
- package/bundled-realms/pretui/components/usage-number.md +48 -0
- package/bundled-realms/pretui/components/usage-object.gts +58 -0
- package/bundled-realms/pretui/components/usage-object.md +48 -0
- package/bundled-realms/pretui/components/usage-string.gts +89 -0
- package/bundled-realms/pretui/components/usage-string.md +46 -0
- package/bundled-realms/pretui/components/usage-yield.gts +16 -0
- package/bundled-realms/pretui/components/value-input.gts +265 -0
- package/bundled-realms/pretui/components/value-input.md +49 -0
- package/bundled-realms/pretui/components/value-input.usage.gts +176 -0
- package/bundled-realms/pretui/components/video-player.gts +80 -0
- package/bundled-realms/pretui/components/video-player.md +46 -0
- package/bundled-realms/pretui/components/video-player.usage.gts +107 -0
- package/bundled-realms/pretui/components/viewport.gts +520 -0
- package/bundled-realms/pretui/components/viewport.md +55 -0
- package/bundled-realms/pretui/components/visually-hidden.gts +49 -0
- package/bundled-realms/pretui/components/visually-hidden.md +47 -0
- package/bundled-realms/pretui/components/visually-hidden.usage.gts +27 -0
- package/bundled-realms/pretui/components/watermark.gts +141 -0
- package/bundled-realms/pretui/components/watermark.md +58 -0
- package/bundled-realms/pretui/components/watermark.usage.gts +63 -0
- package/bundled-realms/pretui/components/waveform.gts +376 -0
- package/bundled-realms/pretui/components/waveform.md +56 -0
- package/bundled-realms/pretui/components/waveform.usage.gts +131 -0
- package/bundled-realms/pretui/components/wizard.gts +677 -0
- package/bundled-realms/pretui/components/wizard.md +58 -0
- package/bundled-realms/pretui/components/wizard.usage.gts +188 -0
- package/bundled-realms/pretui/components/work-item.gts +207 -0
- package/bundled-realms/pretui/components/work-item.md +58 -0
- package/bundled-realms/pretui/components/work-item.usage.gts +103 -0
- package/bundled-realms/pretui/components/zoomable-frame.gts +541 -0
- package/bundled-realms/pretui/components/zoomable-frame.md +50 -0
- package/bundled-realms/pretui/components/zoomable-frame.usage.gts +175 -0
- package/bundled-realms/pretui/cropper/LICENSE +21 -0
- package/bundled-realms/pretui/cropper/README.md +92 -0
- package/bundled-realms/pretui/cropper/index.js +81 -0
- package/bundled-realms/pretui/data-component.gts +1161 -0
- package/bundled-realms/pretui/demo-design-layers.gts +112 -0
- package/bundled-realms/pretui/demo-design-tools.gts +463 -0
- package/bundled-realms/pretui/demo-design-value.gts +9 -0
- package/bundled-realms/pretui/demo-forms-core.gts +82 -0
- package/bundled-realms/pretui/demo-forms-expression.gts +76 -0
- package/bundled-realms/pretui/demo-forms-record.gts +16 -0
- package/bundled-realms/pretui/demo-foundations-more.gts +10 -0
- package/bundled-realms/pretui/demo-foundations.gts +8 -0
- package/bundled-realms/pretui/demo-ink-feedback.gts +12 -0
- package/bundled-realms/pretui/demo-json.gts +17 -0
- package/bundled-realms/pretui/demo-locations.ts +103 -0
- package/bundled-realms/pretui/demo-media-library.gts +101 -0
- package/bundled-realms/pretui/demo-media.gts +6 -0
- package/bundled-realms/pretui/demo-menu.gts +182 -0
- package/bundled-realms/pretui/demo-motion-core.gts +4 -0
- package/bundled-realms/pretui/demo-motion-pointer.gts +21 -0
- package/bundled-realms/pretui/demo-reading-format.gts +10 -0
- package/bundled-realms/pretui/demo-structure-dashboard.gts +212 -0
- package/bundled-realms/pretui/demo-structure-data.gts +4 -0
- package/bundled-realms/pretui/demo-structure-scroll.gts +19 -0
- package/bundled-realms/pretui/demo-structure.gts +21 -0
- package/bundled-realms/pretui/demo-surfaces-grid.gts +104 -0
- package/bundled-realms/pretui/demo-texture.gts +21 -0
- package/bundled-realms/pretui/docs/catalog-taxonomy.md +200 -0
- package/bundled-realms/pretui/docs/composites.md +13 -0
- package/bundled-realms/pretui/docs/reading.md +12 -0
- package/bundled-realms/pretui/docs/structure.md +8 -0
- package/bundled-realms/pretui/emoji-data/LICENSE +202 -0
- package/bundled-realms/pretui/emoji-data/LICENSE.data +202 -0
- package/bundled-realms/pretui/emoji-data/LICENSE.emojibase +21 -0
- package/bundled-realms/pretui/emoji-data/LICENSE.unicode +39 -0
- package/bundled-realms/pretui/emoji-data/README.md +360 -0
- package/bundled-realms/pretui/emoji-data/data.ts +45 -0
- package/bundled-realms/pretui/emoji-data/engine.ts +465 -0
- package/bundled-realms/pretui/example-gallery.gts +129 -0
- package/bundled-realms/pretui/examples-kit.gts +228 -0
- package/bundled-realms/pretui/examples-listing.gts +51 -0
- package/bundled-realms/pretui/examples.gts +584 -0
- package/bundled-realms/pretui/focus.gts +459 -0
- package/bundled-realms/pretui/gridstack/LICENSE +21 -0
- package/bundled-realms/pretui/gridstack/README.md +103 -0
- package/bundled-realms/pretui/gridstack/index.js +169 -0
- package/bundled-realms/pretui/icon-registry.gts +753 -0
- package/bundled-realms/pretui/index.json +11 -0
- package/bundled-realms/pretui/internal/agentic-chat.gts +101 -0
- package/bundled-realms/pretui/internal/blocks.gts +35 -0
- package/bundled-realms/pretui/internal/choice-cards.gts +258 -0
- package/bundled-realms/pretui/internal/color-fixtures.gts +3 -0
- package/bundled-realms/pretui/internal/composites-fixtures.gts +16 -0
- package/bundled-realms/pretui/internal/corner-mark.gts +83 -0
- package/bundled-realms/pretui/internal/design-tools.gts +881 -0
- package/bundled-realms/pretui/internal/extras.gts +31 -0
- package/bundled-realms/pretui/internal/feedback.gts +27 -0
- package/bundled-realms/pretui/internal/file-intake-fixtures.gts +17 -0
- package/bundled-realms/pretui/internal/file-intake.gts +193 -0
- package/bundled-realms/pretui/internal/forms-core.gts +394 -0
- package/bundled-realms/pretui/internal/forms-expression.gts +837 -0
- package/bundled-realms/pretui/internal/forms-picker-fixtures.gts +10 -0
- package/bundled-realms/pretui/internal/forms-picker.gts +129 -0
- package/bundled-realms/pretui/internal/forms-record.gts +173 -0
- package/bundled-realms/pretui/internal/freestyle.gts +117 -0
- package/bundled-realms/pretui/internal/ink.gts +25 -0
- package/bundled-realms/pretui/internal/json-tree.gts +526 -0
- package/bundled-realms/pretui/internal/keep-style.gts +168 -0
- package/bundled-realms/pretui/internal/media-assets.gts +10 -0
- package/bundled-realms/pretui/internal/media-library.gts +14 -0
- package/bundled-realms/pretui/internal/media-viewer.gts +322 -0
- package/bundled-realms/pretui/internal/media-wave.gts +270 -0
- package/bundled-realms/pretui/internal/menu.gts +522 -0
- package/bundled-realms/pretui/internal/money-fixtures.gts +6 -0
- package/bundled-realms/pretui/internal/money.gts +477 -0
- package/bundled-realms/pretui/internal/motion-core.gts +54 -0
- package/bundled-realms/pretui/internal/motion-pointer.gts +234 -0
- package/bundled-realms/pretui/internal/overlay-confirm.gts +35 -0
- package/bundled-realms/pretui/internal/overlay.gts +291 -0
- package/bundled-realms/pretui/internal/reading-extras.gts +56 -0
- package/bundled-realms/pretui/internal/reading-format.gts +232 -0
- package/bundled-realms/pretui/internal/reading-listing.gts +232 -0
- package/bundled-realms/pretui/internal/structure-chart.gts +414 -0
- package/bundled-realms/pretui/internal/structure-dashboard.gts +503 -0
- package/bundled-realms/pretui/internal/structure-flow.gts +48 -0
- package/bundled-realms/pretui/internal/structure-layout-fixtures.gts +36 -0
- package/bundled-realms/pretui/internal/structure-layout.gts +99 -0
- package/bundled-realms/pretui/internal/structure-morph.gts +140 -0
- package/bundled-realms/pretui/internal/structure-scenes.gts +25 -0
- package/bundled-realms/pretui/internal/structure-scroll.gts +72 -0
- package/bundled-realms/pretui/internal/structure-shell-fixtures.gts +25 -0
- package/bundled-realms/pretui/internal/surfaces-canvas-fixtures.gts +5 -0
- package/bundled-realms/pretui/internal/surfaces-canvas.gts +283 -0
- package/bundled-realms/pretui/internal/texture.gts +81 -0
- package/bundled-realms/pretui/internal/toggle-controls-fixtures.gts +7 -0
- package/bundled-realms/pretui/internal/toggle-controls.gts +81 -0
- package/bundled-realms/pretui/json-model.ts +1981 -0
- package/bundled-realms/pretui/media-chrome/LICENSE +19 -0
- package/bundled-realms/pretui/media-chrome/README.md +111 -0
- package/bundled-realms/pretui/media-chrome/index.js +1647 -0
- package/bundled-realms/pretui/media-examples.gts +315 -0
- package/bundled-realms/pretui/model-viewer/LICENSE +202 -0
- package/{LICENSE → bundled-realms/pretui/model-viewer/LICENSE-gainmap-js} +1 -1
- package/bundled-realms/pretui/model-viewer/LICENSE-lit +28 -0
- package/bundled-realms/pretui/model-viewer/LICENSE-three +21 -0
- package/bundled-realms/pretui/model-viewer/NOTICE +67 -0
- package/bundled-realms/pretui/model-viewer/README.md +122 -0
- package/bundled-realms/pretui/model-viewer/index.js +6413 -0
- package/bundled-realms/pretui/package.json +51 -0
- package/bundled-realms/pretui/photoswipe/LICENSE +21 -0
- package/bundled-realms/pretui/photoswipe/README.md +91 -0
- package/bundled-realms/pretui/photoswipe/index.js +149 -0
- package/bundled-realms/pretui/photoswipe/style.ts +465 -0
- package/bundled-realms/pretui/plot/LICENSE +13 -0
- package/bundled-realms/pretui/plot/LICENSE.d3 +13 -0
- package/bundled-realms/pretui/plot/LICENSE.interval-tree-1d +22 -0
- package/bundled-realms/pretui/plot/LICENSE.isoformat +13 -0
- package/bundled-realms/pretui/plot/README.md +35 -0
- package/bundled-realms/pretui/plot/index.d.ts +31 -0
- package/bundled-realms/pretui/plot/index.js +449 -0
- package/bundled-realms/pretui/pretui-component.gts +1336 -0
- package/bundled-realms/pretui/pretui-css.gts +380 -0
- package/bundled-realms/pretui/pretui-primitives.gts +162 -0
- package/bundled-realms/pretui/qrcode/LICENSE +34 -0
- package/bundled-realms/pretui/qrcode/README.md +87 -0
- package/bundled-realms/pretui/qrcode/index.js +35 -0
- package/bundled-realms/pretui/realm.json +16 -0
- package/bundled-realms/pretui/registry.ts +40 -0
- package/bundled-realms/pretui/sigpad/LICENSE +21 -0
- package/bundled-realms/pretui/sigpad/README.md +103 -0
- package/bundled-realms/pretui/sigpad/index.js +30 -0
- package/bundled-realms/pretui/structure-dashboard-css.ts +166 -0
- package/bundled-realms/pretui/surfaces/README.md +37 -0
- package/bundled-realms/pretui/surfaces/canvas/LICENSE.d3 +168 -0
- package/bundled-realms/pretui/surfaces/canvas/LICENSE.xyflow +21 -0
- package/bundled-realms/pretui/surfaces/canvas/index.js +25420 -0
- package/bundled-realms/pretui/surfaces/grid/LICENSE.tanstack +50 -0
- package/bundled-realms/pretui/surfaces/grid/index.js +21478 -0
- package/bundled-realms/pretui/surfaces/layout/index.js +9036 -0
- package/bundled-realms/pretui/surfaces-canvas-css.ts +1640 -0
- package/bundled-realms/pretui/surfaces-canvas-layout.ts +607 -0
- package/bundled-realms/pretui/tsconfig.json +54 -0
- package/bundled-realms/pretui/wavesurfer/LICENSE +29 -0
- package/bundled-realms/pretui/wavesurfer/README.md +85 -0
- package/bundled-realms/pretui/wavesurfer/index.js +184 -0
- package/bundled-realms/pretui/zxcvbn/LICENSE +21 -0
- package/bundled-realms/pretui/zxcvbn/README.md +192 -0
- package/bundled-realms/pretui/zxcvbn/index.d.ts +28 -0
- package/bundled-realms/pretui/zxcvbn/index.js +5931 -0
- package/bundled-test-harness/index.html +1 -1
- package/bundled-test-harness/tests/index.html +1 -1
- package/dist/api.js +1 -1
- package/dist/index.js +33 -33
- package/package.json +1 -1
- package/src/lib/test-engine.ts +14 -4
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
## What it is
|
|
2
|
+
|
|
3
|
+
An infinite pan/zoom node graph: nodes, edges, a patterned background, zoom controls and a minimap. Use it for a flow, a dependency graph, a pipeline, a mind map — anything whose meaning is in the connections. If the arrangement is columnar, **Board**. If it is a hierarchy, **Tree**. If it is a sequence, **Timeline** or **StepList**. A canvas is the most expensive surface in the kit to make usable; reach for a simpler one when the structure allows it.
|
|
4
|
+
|
|
5
|
+
## The contract
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
@label: string (REQUIRED — it is a role="application")
|
|
9
|
+
@nodes?, @edges? — uncontrolled unless @onNodesChange / @onEdgesChange is passed
|
|
10
|
+
@onNodesChange?, @onEdgesChange?, @onConnect?
|
|
11
|
+
@flow? 'horizontal' | 'vertical'
|
|
12
|
+
@nodeBody?, @nodeTypes?
|
|
13
|
+
@pattern? 'dots' | 'lines' | 'cross' | 'none', @gap?, @patternSize?
|
|
14
|
+
@controls? (true), @controlsPosition?, @summary? 'sr-only' | 'visible' | 'off'
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**An uncontrolled canvas seeds from `@nodes` once and then owns its own copy** — later changes to the array are ignored. Pass `@onNodesChange` and keep the array yourself whenever the graph changes from outside.
|
|
18
|
+
|
|
19
|
+
**`@flow` sets the drawn handles _and_ the edge endpoints together**, and it exists because of a real React Flow foot-gun: the engine defaults `sourcePosition`/`targetPosition` to bottom/top, but a custom node component draws its own handles — so every React Flow graph that forgets those two keys renders edges leaving the _bottom_ of a node whose handle is on the _right_. One arg, set once, both sides.
|
|
20
|
+
|
|
21
|
+
## Prior art
|
|
22
|
+
|
|
23
|
+
A **wrap of `@cardstack/boxel-canvas`** — a Glimmer port of **xyflow / React Flow**, vendored from emberflow, shipped as a self-contained ESM bundle copied into this realm.
|
|
24
|
+
|
|
25
|
+
**The stylesheet problem is worth recording**, because it is a realm constraint with no obvious workaround: boxel-canvas needs a companion CSS file, and the npm side-effect `import './styles/canvas.css'` is banned in realm code — it passes parse, remote lint _and_ transpile, then fails at indexing with `Unexpected token (28:0)` because the realm loader fetches the CSS and parses it as JavaScript. A bare `<link>` to the realm-served URL 401s on a private realm. So the sheet ships as a **string module** and a modifier injects it into `document.head`, **refcounted** so N canvases share one `<style>` and the last teardown removes it.
|
|
26
|
+
|
|
27
|
+
That same modifier injects a second sheet for the handful of engine-owned elements no custom property can reach — focus rings the engine explicitly sets to `outline: none`, and the reduced-motion fallback it never wrote. **Every selector in it is anchored under `.pretui-node-canvas`, so it cannot leak past a NodeCanvas.** Everything else is retinted through the engine's own `--xy-*` custom-property channel from `<style scoped>` — no `:global()`, no `:deep()`, no `!important`.
|
|
28
|
+
|
|
29
|
+
Pretui's additions beyond the cloth: `@flow` (above), hairline-plus-shadow depth instead of the stock node border, **restored focus visibility**, **animated edges that stop under `prefers-reduced-motion`**, and `@summary`.
|
|
30
|
+
|
|
31
|
+
## Accessibility
|
|
32
|
+
|
|
33
|
+
**Canvases are the worst surface in UI for screen readers**, and this component's answer is `@summary`: **the whole graph rendered as a real list of nodes and their outgoing links**, `sr-only` by default and available as `visible` for anyone who would rather read it than trace it. Assistive tech reaches it through `aria-describedby` while the visual frame is unchanged. That is the single most valuable thing here, and it is the right answer — a text form of the graph beats any amount of ARIA on the canvas itself.
|
|
34
|
+
|
|
35
|
+
The keyboard contract, **read out of the engine bundle rather than assumed**:
|
|
36
|
+
|
|
37
|
+
- The root is `role="application" tabindex="0"`; every visible node is `tabindex="0"` with `aria-roledescription="node"`.
|
|
38
|
+
- **Tab / Shift-Tab move the selection to the next / previous node.** The engine consumes the key — inside a canvas, Tab is a graph walk, not the browser's tab order.
|
|
39
|
+
- **Enter (or F2) activates** the focused node. **Space does not select** — it is the pan key, held while dragging.
|
|
40
|
+
- **Arrows** move the selection to the nearest node in that direction; in the surface's `change` mode they nudge the selected node by one graph unit, Shift+Arrow by ten.
|
|
41
|
+
- Delete/Backspace delete the selection, Cmd/Ctrl+A selects all, Escape cancels a drag, then an edit, then clears the selection and releases focus.
|
|
42
|
+
- Zoom in / zoom out / fit / lock are real `<button>`s with `aria-label`s inside `Controls`, and are **the only keyboard route to pan or zoom**.
|
|
43
|
+
|
|
44
|
+
**The remaining gaps, stated plainly rather than papered over:**
|
|
45
|
+
|
|
46
|
+
1. **There is no keyboard path to create or reconnect an edge.** Connections are pointer-only here and in React Flow. If your graph is editable, **ship a non-canvas editing path beside it** — this is a WCAG **2.1.1** failure for the connect interaction and it cannot be fixed inside the wrapper.
|
|
47
|
+
2. **The engine registers its key handler on the window in the capture phase**, so while any canvas is mounted those keys are canvas-scoped for the whole page — a Tab pressed outside the graph can be pulled into it (text inputs and activation keys on buttons are exempt). **Give a canvas its own page or panel; do not sit one beside an unrelated form.**
|
|
48
|
+
3. **The MiniMap's accessible name is an SVG `<title>` with a fixed id upstream**, so two canvases on one page share the first one's name. One canvas per page is the shape that behaves.
|
|
49
|
+
4. `@summary` is the answer to what is left.
|
|
50
|
+
|
|
51
|
+
## Theming
|
|
52
|
+
|
|
53
|
+
Retinted through the engine's `--xy-*` custom-property channel from `<style scoped>`: node surfaces, edge strokes, handle fills, background pattern, controls and minimap all map onto Pretui tokens. Node depth uses `--card`, `--border` and the kit's shadow tokens instead of the stock border. `--pretui-canvas-*` and the pattern's `@gap`/`@patternSize` are graph-space args, not tokens.
|
|
54
|
+
|
|
55
|
+
The injected skin sheet covers only what the channel cannot reach — the focus ring and the reduced-motion guard — and is anchored under `.pretui-node-canvas`, so it cannot accidentally restyle another canvas.
|
|
56
|
+
|
|
57
|
+
The styles sit in `@layer PretComponent`, so a caller's unlayered CSS overrides them without a more specific selector.
|
|
@@ -0,0 +1,548 @@
|
|
|
1
|
+
// Pretui — NodeCanvas usage page.
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
4
|
+
import { FreestyleUsage } from './freestyle-usage';
|
|
5
|
+
import { Chip } from './chip';
|
|
6
|
+
import { Token } from './token';
|
|
7
|
+
import { statusHue } from '../internal/ink';
|
|
8
|
+
import { NodeCanvas } from './node-canvas';
|
|
9
|
+
import type { CanvasFlow } from './node-canvas';
|
|
10
|
+
import type { CanvasEdge, CanvasNode } from '../internal/surfaces-canvas';
|
|
11
|
+
import {
|
|
12
|
+
addEdge,
|
|
13
|
+
applyEdgeChanges,
|
|
14
|
+
applyNodeChanges,
|
|
15
|
+
} from '../surfaces/canvas/index.js';
|
|
16
|
+
import { NO_NODES, SUMMARIES } from '../internal/surfaces-canvas-fixtures';
|
|
17
|
+
|
|
18
|
+
// ── NodeCanvas ───────────────────────────────────────────────────────────
|
|
19
|
+
// Stage index and lane are stored rather than raw coordinates so the
|
|
20
|
+
// `@flow` knob can transpose the whole layout without inventing numbers.
|
|
21
|
+
interface GraphSpec {
|
|
22
|
+
id: string;
|
|
23
|
+
stage: number;
|
|
24
|
+
lane: number;
|
|
25
|
+
title: string;
|
|
26
|
+
kind: string;
|
|
27
|
+
meta: string;
|
|
28
|
+
status: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const GRAPH: GraphSpec[] = [
|
|
32
|
+
{
|
|
33
|
+
id: 'sup-wuyi',
|
|
34
|
+
stage: 0,
|
|
35
|
+
lane: 0.4,
|
|
36
|
+
title: 'Wuyi Origins',
|
|
37
|
+
kind: 'SUP-014',
|
|
38
|
+
meta: 'Wuyishan · direct contract',
|
|
39
|
+
status: 'contracted',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: 'sup-uji',
|
|
43
|
+
stage: 0,
|
|
44
|
+
lane: 2.1,
|
|
45
|
+
title: 'Uji Valley Growers',
|
|
46
|
+
kind: 'SUP-031',
|
|
47
|
+
meta: 'Uji · cooperative',
|
|
48
|
+
status: 'sourcing',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: 'lot-dahongpao',
|
|
52
|
+
stage: 1,
|
|
53
|
+
lane: 0,
|
|
54
|
+
title: 'Da Hong Pao',
|
|
55
|
+
kind: 'LOT-1181',
|
|
56
|
+
meta: '96 kg · spring pick',
|
|
57
|
+
status: 'curing',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: 'lot-silverneedle',
|
|
61
|
+
stage: 1,
|
|
62
|
+
lane: 1.2,
|
|
63
|
+
title: 'Silver Needle',
|
|
64
|
+
kind: 'LOT-1213',
|
|
65
|
+
meta: '11.2 kg · first flush',
|
|
66
|
+
status: 'graded',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: 'lot-gyokuro',
|
|
70
|
+
stage: 1,
|
|
71
|
+
lane: 2.4,
|
|
72
|
+
title: 'Gyokuro',
|
|
73
|
+
kind: 'LOT-1207',
|
|
74
|
+
meta: '48 crates · shade grown',
|
|
75
|
+
status: 'cupping',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: 'shp-rotterdam',
|
|
79
|
+
stage: 2,
|
|
80
|
+
lane: 0.5,
|
|
81
|
+
title: 'Rotterdam',
|
|
82
|
+
kind: 'SHP-0447',
|
|
83
|
+
meta: 'ETA 2026-05-07',
|
|
84
|
+
status: 'in transit',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: 'shp-osaka',
|
|
88
|
+
stage: 2,
|
|
89
|
+
lane: 2.2,
|
|
90
|
+
title: 'Osaka',
|
|
91
|
+
kind: 'SHP-0452',
|
|
92
|
+
meta: 'awaiting paperwork',
|
|
93
|
+
status: 'held',
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
const GRAPH_EDGES: CanvasEdge[] = [
|
|
98
|
+
{ id: 'e-wuyi-dhp', source: 'sup-wuyi', target: 'lot-dahongpao' },
|
|
99
|
+
{ id: 'e-wuyi-sn', source: 'sup-wuyi', target: 'lot-silverneedle' },
|
|
100
|
+
{ id: 'e-uji-gyo', source: 'sup-uji', target: 'lot-gyokuro' },
|
|
101
|
+
{
|
|
102
|
+
id: 'e-dhp-rot',
|
|
103
|
+
source: 'lot-dahongpao',
|
|
104
|
+
target: 'shp-rotterdam',
|
|
105
|
+
label: 'sea',
|
|
106
|
+
animated: true,
|
|
107
|
+
},
|
|
108
|
+
{ id: 'e-sn-rot', source: 'lot-silverneedle', target: 'shp-rotterdam' },
|
|
109
|
+
{
|
|
110
|
+
id: 'e-gyo-osa',
|
|
111
|
+
source: 'lot-gyokuro',
|
|
112
|
+
target: 'shp-osaka',
|
|
113
|
+
label: 'air',
|
|
114
|
+
animated: true,
|
|
115
|
+
},
|
|
116
|
+
];
|
|
117
|
+
|
|
118
|
+
function buildNodes(flow: CanvasFlow): CanvasNode[] {
|
|
119
|
+
return GRAPH.map((spec) => ({
|
|
120
|
+
id: spec.id,
|
|
121
|
+
position:
|
|
122
|
+
flow === 'vertical'
|
|
123
|
+
? { x: spec.lane * 235, y: spec.stage * 200 }
|
|
124
|
+
: { x: spec.stage * 285, y: spec.lane * 135 },
|
|
125
|
+
data: {
|
|
126
|
+
title: spec.title,
|
|
127
|
+
kind: spec.kind,
|
|
128
|
+
meta: spec.meta,
|
|
129
|
+
status: spec.status,
|
|
130
|
+
},
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function buildEdges(): CanvasEdge[] {
|
|
135
|
+
return GRAPH_EDGES.map((edge) => ({ ...edge }));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Stable identities for the empty state, so toggling it does not churn
|
|
139
|
+
// the arrays the engine keys its node lookup on.
|
|
140
|
+
|
|
141
|
+
const NO_EDGES: CanvasEdge[] = [];
|
|
142
|
+
|
|
143
|
+
const PATTERNS = ['dots', 'lines', 'cross', 'none'];
|
|
144
|
+
|
|
145
|
+
const CORNERS = ['top-left', 'top-right', 'bottom-left', 'bottom-right'];
|
|
146
|
+
|
|
147
|
+
const FLOWS = ['horizontal', 'vertical'];
|
|
148
|
+
|
|
149
|
+
// Ported from @cardstack/boxel-canvas (a Glimmer port of xyflow / React
|
|
150
|
+
// Flow). Knob set follows the React Flow `<ReactFlow>` prop surface where
|
|
151
|
+
// it maps: nodes/edges, background variant + gap + size, controls and
|
|
152
|
+
// minimap placement, nodesDraggable / nodesConnectable /
|
|
153
|
+
// elementsSelectable, fitView. Dropped from that surface, deliberately:
|
|
154
|
+
// the viewport/translateExtent/snapGrid/zoom-limit family (engine-level
|
|
155
|
+
// tuning that belongs to the caller's `getCanvas`, not to the cloth), the
|
|
156
|
+
// twelve per-element pointer callbacks (onNodeClick, onNodeMouseEnter,
|
|
157
|
+
// …), and `colorMode='dark'` — Pretui never branches on dark, the tokens
|
|
158
|
+
// do it.
|
|
159
|
+
class NodeCanvasUsage extends Component {
|
|
160
|
+
patternOptions = PATTERNS;
|
|
161
|
+
cornerOptions = CORNERS;
|
|
162
|
+
flowOptions = FLOWS;
|
|
163
|
+
summaryOptions = SUMMARIES;
|
|
164
|
+
|
|
165
|
+
@tracked label = 'Spring 2026 tea supply chain';
|
|
166
|
+
@tracked flow = 'horizontal';
|
|
167
|
+
@tracked pattern = 'dots';
|
|
168
|
+
@tracked gap = 22;
|
|
169
|
+
@tracked patternSize = 1.4;
|
|
170
|
+
@tracked controls = true;
|
|
171
|
+
@tracked controlsPosition = 'bottom-left';
|
|
172
|
+
@tracked controlsHorizontal = false;
|
|
173
|
+
@tracked minimap = true;
|
|
174
|
+
@tracked minimapPosition = 'bottom-right';
|
|
175
|
+
@tracked draggable = true;
|
|
176
|
+
@tracked connectable = true;
|
|
177
|
+
@tracked selectable = true;
|
|
178
|
+
@tracked height = '26rem';
|
|
179
|
+
@tracked summary = 'sr-only';
|
|
180
|
+
@tracked emptyState = false;
|
|
181
|
+
|
|
182
|
+
@tracked nodes: CanvasNode[] = buildNodes('horizontal');
|
|
183
|
+
@tracked edges: CanvasEdge[] = buildEdges();
|
|
184
|
+
|
|
185
|
+
// Controlled wiring: the engine reports changes, the page owns the
|
|
186
|
+
// arrays. `applyNodeChanges` / `applyEdgeChanges` / `addEdge` are the
|
|
187
|
+
// engine's own reducers, re-exported from the realm bundle.
|
|
188
|
+
onNodesChange = (changes: unknown[]) => {
|
|
189
|
+
this.nodes = applyNodeChanges(changes, this.nodes);
|
|
190
|
+
};
|
|
191
|
+
onEdgesChange = (changes: unknown[]) => {
|
|
192
|
+
this.edges = applyEdgeChanges(changes, this.edges);
|
|
193
|
+
};
|
|
194
|
+
onConnect = (connection: unknown) => {
|
|
195
|
+
this.edges = addEdge(connection, this.edges);
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
setLabel = (v: string) => (this.label = v);
|
|
199
|
+
setFlow = (v: string) => {
|
|
200
|
+
this.flow = v;
|
|
201
|
+
// Rebuild once, on the knob — never inside a getter, so the array
|
|
202
|
+
// identity the engine keys on stays stable between renders.
|
|
203
|
+
this.nodes = buildNodes(v as CanvasFlow);
|
|
204
|
+
};
|
|
205
|
+
setPattern = (v: string) => (this.pattern = v);
|
|
206
|
+
setGap = (v: number | null) => (this.gap = v ?? 22);
|
|
207
|
+
setPatternSize = (v: number | null) => (this.patternSize = v ?? 1.4);
|
|
208
|
+
setControls = (v: boolean) => (this.controls = v);
|
|
209
|
+
setControlsPosition = (v: string) => (this.controlsPosition = v);
|
|
210
|
+
setControlsHorizontal = (v: boolean) => (this.controlsHorizontal = v);
|
|
211
|
+
setMinimap = (v: boolean) => (this.minimap = v);
|
|
212
|
+
setMinimapPosition = (v: string) => (this.minimapPosition = v);
|
|
213
|
+
setDraggable = (v: boolean) => (this.draggable = v);
|
|
214
|
+
setConnectable = (v: boolean) => (this.connectable = v);
|
|
215
|
+
setSelectable = (v: boolean) => (this.selectable = v);
|
|
216
|
+
setHeight = (v: string) => (this.height = v);
|
|
217
|
+
setSummary = (v: string) => (this.summary = v);
|
|
218
|
+
setEmptyState = (v: boolean) => (this.emptyState = v);
|
|
219
|
+
|
|
220
|
+
get flowVal() {
|
|
221
|
+
return this.flow as CanvasFlow;
|
|
222
|
+
}
|
|
223
|
+
get patternVal() {
|
|
224
|
+
return this.pattern as 'dots' | 'lines' | 'cross' | 'none';
|
|
225
|
+
}
|
|
226
|
+
get controlsPositionVal() {
|
|
227
|
+
return this.controlsPosition as
|
|
228
|
+
| 'top-left'
|
|
229
|
+
| 'top-right'
|
|
230
|
+
| 'bottom-left'
|
|
231
|
+
| 'bottom-right';
|
|
232
|
+
}
|
|
233
|
+
get minimapPositionVal() {
|
|
234
|
+
return this.minimapPosition as
|
|
235
|
+
| 'top-left'
|
|
236
|
+
| 'top-right'
|
|
237
|
+
| 'bottom-left'
|
|
238
|
+
| 'bottom-right';
|
|
239
|
+
}
|
|
240
|
+
get summaryVal() {
|
|
241
|
+
return this.summary as 'sr-only' | 'visible' | 'off';
|
|
242
|
+
}
|
|
243
|
+
get canvasNodes() {
|
|
244
|
+
return this.emptyState ? NO_NODES : this.nodes;
|
|
245
|
+
}
|
|
246
|
+
get canvasEdges() {
|
|
247
|
+
return this.emptyState ? NO_EDGES : this.edges;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/** Hues are derived from the status string, so the key cannot drift. */
|
|
251
|
+
get legend() {
|
|
252
|
+
return ['contracted', 'curing', 'in transit', 'held'].map((status) => ({
|
|
253
|
+
status,
|
|
254
|
+
hue: statusHue(status),
|
|
255
|
+
}));
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
get usage() {
|
|
259
|
+
let bits = [
|
|
260
|
+
`@label='${this.label}'`,
|
|
261
|
+
'@nodes={{this.nodes}}',
|
|
262
|
+
'@edges={{this.edges}}',
|
|
263
|
+
'@onNodesChange={{this.onNodesChange}}',
|
|
264
|
+
'@onEdgesChange={{this.onEdgesChange}}',
|
|
265
|
+
'@onConnect={{this.onConnect}}',
|
|
266
|
+
];
|
|
267
|
+
if (this.flow !== 'horizontal') bits.push(`@flow='${this.flow}'`);
|
|
268
|
+
if (this.pattern !== 'dots') bits.push(`@pattern='${this.pattern}'`);
|
|
269
|
+
if (this.gap !== 22) bits.push(`@gap={{${this.gap}}}`);
|
|
270
|
+
if (!this.controls) bits.push('@controls={{false}}');
|
|
271
|
+
if (!this.minimap) bits.push('@minimap={{false}}');
|
|
272
|
+
if (this.summary !== 'sr-only') bits.push(`@summary='${this.summary}'`);
|
|
273
|
+
if (this.height !== '26rem') bits.push(`@height='${this.height}'`);
|
|
274
|
+
return `<NodeCanvas\n ${bits.join('\n ')}\n>\n <:toolbar>…</:toolbar>\n <:legend>…</:legend>\n <:empty>…</:empty>\n</NodeCanvas>`;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
<template>
|
|
278
|
+
<FreestyleUsage
|
|
279
|
+
@name='NodeCanvas'
|
|
280
|
+
@description="An infinite pan/zoom node graph — drag nodes, draw edges between handles, ride the minimap — for supply chains, pipelines, dependency maps and flow editors. Wraps the boxel-canvas engine (xyflow ported to Glimmer): the engine keeps pointer capture, viewport transforms and edge routing; Pretui supplies the cloth. Node content is a component slot (@nodeBody), never a label string, and the handles are drawn for you. ACCESSIBILITY, honestly: the canvas root is role=application with a real accessible name, every node is focusable, Tab walks the graph, Enter activates, arrows move or nudge the selection, Delete removes it and Escape clears it — but there is NO keyboard path to create or reconnect an edge, pan and zoom are reachable only through the Controls buttons, and the engine listens for those keys on the window, so a canvas takes the page's keys while it is mounted. Give it a page of its own, keep @summary on (the graph rendered as a real list, sr-only by default), and ship a non-canvas editing path if the graph is editable."
|
|
281
|
+
@source={{this.usage}}
|
|
282
|
+
>
|
|
283
|
+
<:example>
|
|
284
|
+
<NodeCanvas
|
|
285
|
+
@label={{this.label}}
|
|
286
|
+
@nodes={{this.canvasNodes}}
|
|
287
|
+
@edges={{this.canvasEdges}}
|
|
288
|
+
@onNodesChange={{this.onNodesChange}}
|
|
289
|
+
@onEdgesChange={{this.onEdgesChange}}
|
|
290
|
+
@onConnect={{this.onConnect}}
|
|
291
|
+
@flow={{this.flowVal}}
|
|
292
|
+
@pattern={{this.patternVal}}
|
|
293
|
+
@gap={{this.gap}}
|
|
294
|
+
@patternSize={{this.patternSize}}
|
|
295
|
+
@controls={{this.controls}}
|
|
296
|
+
@controlsPosition={{this.controlsPositionVal}}
|
|
297
|
+
@controlsHorizontal={{this.controlsHorizontal}}
|
|
298
|
+
@minimap={{this.minimap}}
|
|
299
|
+
@minimapPosition={{this.minimapPositionVal}}
|
|
300
|
+
@draggable={{this.draggable}}
|
|
301
|
+
@connectable={{this.connectable}}
|
|
302
|
+
@selectable={{this.selectable}}
|
|
303
|
+
@height={{this.height}}
|
|
304
|
+
@summary={{this.summaryVal}}
|
|
305
|
+
>
|
|
306
|
+
<:toolbar>
|
|
307
|
+
<span class='canvas-bar-title'>Spring 2026</span>
|
|
308
|
+
<Token @value='7 lots' />
|
|
309
|
+
</:toolbar>
|
|
310
|
+
<:legend>
|
|
311
|
+
{{#each this.legend key='status' as |item|}}
|
|
312
|
+
<Chip @label={{item.status}} @hue={{item.hue}} />
|
|
313
|
+
{{/each}}
|
|
314
|
+
</:legend>
|
|
315
|
+
<:empty>
|
|
316
|
+
<p class='canvas-empty'>No lots booked for this window yet.</p>
|
|
317
|
+
</:empty>
|
|
318
|
+
</NodeCanvas>
|
|
319
|
+
</:example>
|
|
320
|
+
<:api as |Args|>
|
|
321
|
+
<Args.String
|
|
322
|
+
@name='label'
|
|
323
|
+
@required={{true}}
|
|
324
|
+
@value={{this.label}}
|
|
325
|
+
@onInput={{this.setLabel}}
|
|
326
|
+
@description='Accessible name for the canvas. Required — the engine root is a role=application, which is silent without one.'
|
|
327
|
+
/>
|
|
328
|
+
<Args.Object
|
|
329
|
+
@name='nodes'
|
|
330
|
+
@value={{this.canvasNodes}}
|
|
331
|
+
@description='CanvasNode[] — { id, position: {x,y}, data, type?, width?, height?, ariaLabel? }. Uncontrolled canvases SEED from this once and then own their copy; pass @onNodesChange to keep control.'
|
|
332
|
+
/>
|
|
333
|
+
<Args.Object
|
|
334
|
+
@name='edges'
|
|
335
|
+
@value={{this.canvasEdges}}
|
|
336
|
+
@description='CanvasEdge[] — { id, source, target, label?, animated? }. Animated edges dash their stroke, and stop dead under prefers-reduced-motion.'
|
|
337
|
+
/>
|
|
338
|
+
<Args.String
|
|
339
|
+
@name='flow'
|
|
340
|
+
@options={{this.flowOptions}}
|
|
341
|
+
@value={{this.flow}}
|
|
342
|
+
@defaultValue='horizontal'
|
|
343
|
+
@onInput={{this.setFlow}}
|
|
344
|
+
@description='Which sides connectors leave from for nodes that set no position of their own. Sets the DRAWN handles and the ENGINE edge endpoints together — upstream lets those two disagree, which is why stock React Flow graphs with custom nodes sprout edges from the wrong side.'
|
|
345
|
+
/>
|
|
346
|
+
<Args.String
|
|
347
|
+
@name='pattern'
|
|
348
|
+
@options={{this.patternOptions}}
|
|
349
|
+
@value={{this.pattern}}
|
|
350
|
+
@defaultValue='dots'
|
|
351
|
+
@onInput={{this.setPattern}}
|
|
352
|
+
@description='Background pattern: dots, lines, cross, or none. Chrome only — it never carries information (Law 6).'
|
|
353
|
+
/>
|
|
354
|
+
<Args.Number
|
|
355
|
+
@name='gap'
|
|
356
|
+
@min={{8}}
|
|
357
|
+
@max={{64}}
|
|
358
|
+
@step={{1}}
|
|
359
|
+
@value={{this.gap}}
|
|
360
|
+
@defaultValue={{22}}
|
|
361
|
+
@onInput={{this.setGap}}
|
|
362
|
+
@description='Grid spacing of the background pattern, in graph units.'
|
|
363
|
+
/>
|
|
364
|
+
<Args.Number
|
|
365
|
+
@name='patternSize'
|
|
366
|
+
@min={{0.5}}
|
|
367
|
+
@max={{10}}
|
|
368
|
+
@step={{0.5}}
|
|
369
|
+
@value={{this.patternSize}}
|
|
370
|
+
@defaultValue={{1.4}}
|
|
371
|
+
@onInput={{this.setPatternSize}}
|
|
372
|
+
@description='Dot radius, or cross arm length, in graph units. Defaults to 6 for the cross pattern.'
|
|
373
|
+
/>
|
|
374
|
+
<Args.Bool
|
|
375
|
+
@name='controls'
|
|
376
|
+
@value={{this.controls}}
|
|
377
|
+
@defaultValue={{true}}
|
|
378
|
+
@onInput={{this.setControls}}
|
|
379
|
+
@description='Show the zoom / fit / lock cluster. These are real buttons with labels, and the only keyboard route to pan or zoom — turning them off removes it.'
|
|
380
|
+
/>
|
|
381
|
+
<Args.String
|
|
382
|
+
@name='controlsPosition'
|
|
383
|
+
@options={{this.cornerOptions}}
|
|
384
|
+
@value={{this.controlsPosition}}
|
|
385
|
+
@defaultValue='bottom-left'
|
|
386
|
+
@onInput={{this.setControlsPosition}}
|
|
387
|
+
@description='Corner the control cluster docks to.'
|
|
388
|
+
/>
|
|
389
|
+
<Args.Bool
|
|
390
|
+
@name='controlsHorizontal'
|
|
391
|
+
@value={{this.controlsHorizontal}}
|
|
392
|
+
@defaultValue={{false}}
|
|
393
|
+
@onInput={{this.setControlsHorizontal}}
|
|
394
|
+
@description='Lay the control cluster out in a row instead of a column.'
|
|
395
|
+
/>
|
|
396
|
+
<Args.Bool
|
|
397
|
+
@name='minimap'
|
|
398
|
+
@value={{this.minimap}}
|
|
399
|
+
@defaultValue={{true}}
|
|
400
|
+
@onInput={{this.setMinimap}}
|
|
401
|
+
@description='Show the minimap. Pointer-only: it is a click target, never a keyboard one.'
|
|
402
|
+
/>
|
|
403
|
+
<Args.String
|
|
404
|
+
@name='minimapPosition'
|
|
405
|
+
@options={{this.cornerOptions}}
|
|
406
|
+
@value={{this.minimapPosition}}
|
|
407
|
+
@defaultValue='bottom-right'
|
|
408
|
+
@onInput={{this.setMinimapPosition}}
|
|
409
|
+
@description='Corner the minimap docks to.'
|
|
410
|
+
/>
|
|
411
|
+
<Args.Bool
|
|
412
|
+
@name='draggable'
|
|
413
|
+
@value={{this.draggable}}
|
|
414
|
+
@defaultValue={{true}}
|
|
415
|
+
@onInput={{this.setDraggable}}
|
|
416
|
+
@description='Allow dragging nodes with the pointer.'
|
|
417
|
+
/>
|
|
418
|
+
<Args.Bool
|
|
419
|
+
@name='connectable'
|
|
420
|
+
@value={{this.connectable}}
|
|
421
|
+
@defaultValue={{true}}
|
|
422
|
+
@onInput={{this.setConnectable}}
|
|
423
|
+
@description='Allow drawing new edges by dragging from a handle. Pointer-only in this engine — there is no keyboard equivalent.'
|
|
424
|
+
/>
|
|
425
|
+
<Args.Bool
|
|
426
|
+
@name='selectable'
|
|
427
|
+
@value={{this.selectable}}
|
|
428
|
+
@defaultValue={{true}}
|
|
429
|
+
@onInput={{this.setSelectable}}
|
|
430
|
+
@description='Allow selecting nodes and edges.'
|
|
431
|
+
/>
|
|
432
|
+
<Args.String
|
|
433
|
+
@name='height'
|
|
434
|
+
@value={{this.height}}
|
|
435
|
+
@defaultValue='26rem'
|
|
436
|
+
@onInput={{this.setHeight}}
|
|
437
|
+
@description='Height of the canvas frame; any CSS length. The frame never collapses below --pretui-canvas-min-height (12rem).'
|
|
438
|
+
/>
|
|
439
|
+
<Args.String
|
|
440
|
+
@name='summary'
|
|
441
|
+
@options={{this.summaryOptions}}
|
|
442
|
+
@value={{this.summary}}
|
|
443
|
+
@defaultValue='sr-only'
|
|
444
|
+
@onInput={{this.setSummary}}
|
|
445
|
+
@description="The graph as text — one line per node and where its outgoing edges land — wired to the canvas through aria-describedby. 'sr-only' (default) leaves the still frame unchanged, 'visible' draws it as a caption strip and lifts the bottom chrome above it, 'off' removes it. Leave it on."
|
|
446
|
+
/>
|
|
447
|
+
<Args.Bool
|
|
448
|
+
@name='empty state (demo only)'
|
|
449
|
+
@value={{this.emptyState}}
|
|
450
|
+
@defaultValue={{false}}
|
|
451
|
+
@onInput={{this.setEmptyState}}
|
|
452
|
+
@description='Not a component arg — swaps the demo to an empty node array so the <:empty> block is visible.'
|
|
453
|
+
/>
|
|
454
|
+
<Args.Bool
|
|
455
|
+
@name='fitView'
|
|
456
|
+
@defaultValue={{true}}
|
|
457
|
+
@hideControls={{true}}
|
|
458
|
+
@description='Frame the whole graph on first render. Read once at mount; changing it later does nothing — use the fit-view control button instead.'
|
|
459
|
+
/>
|
|
460
|
+
<Args.Component
|
|
461
|
+
@name='nodeBody'
|
|
462
|
+
@defaultValue='NodeCard'
|
|
463
|
+
@hideControls={{true}}
|
|
464
|
+
@description='Component rendered inside every node, receiving @node @id @data @selected @dragging. The shell draws the source and target handles around whatever you pass, so a custom body never has to remember them — the omission that detaches edges in stock React Flow.'
|
|
465
|
+
/>
|
|
466
|
+
<Args.Object
|
|
467
|
+
@name='nodeTypes'
|
|
468
|
+
@hideControls={{true}}
|
|
469
|
+
@description="Extra per-type node components keyed by node.type, for mixed graphs. Pretui's own shell is always registered under the 'pretui' key."
|
|
470
|
+
/>
|
|
471
|
+
<Args.Action
|
|
472
|
+
@name='onNodesChange'
|
|
473
|
+
@hideControls={{true}}
|
|
474
|
+
@description='Takes control of node changes (drag, select, remove). Pass it with applyNodeChanges to own the array; omit it and the canvas drags out of the box.'
|
|
475
|
+
/>
|
|
476
|
+
<Args.Action
|
|
477
|
+
@name='onEdgesChange'
|
|
478
|
+
@hideControls={{true}}
|
|
479
|
+
@description='Takes control of edge changes. Same contract, with applyEdgeChanges.'
|
|
480
|
+
/>
|
|
481
|
+
<Args.Action
|
|
482
|
+
@name='onConnect'
|
|
483
|
+
@hideControls={{true}}
|
|
484
|
+
@description='Fires when a handle drag completes. An uncontrolled canvas adds the edge itself; a controlled one must call addEdge, as this page does.'
|
|
485
|
+
/>
|
|
486
|
+
<Args.Yield
|
|
487
|
+
@name='default'
|
|
488
|
+
@hideControls={{true}}
|
|
489
|
+
@description='Rendered inside the viewport with the engine store yielded — extra Panels, NodeToolbars, overlays.'
|
|
490
|
+
/>
|
|
491
|
+
<Args.Yield
|
|
492
|
+
@name='toolbar'
|
|
493
|
+
@hideControls={{true}}
|
|
494
|
+
@description='A floating top-start panel: a title, filters, a mode switch.'
|
|
495
|
+
/>
|
|
496
|
+
<Args.Yield
|
|
497
|
+
@name='legend'
|
|
498
|
+
@hideControls={{true}}
|
|
499
|
+
@description='A floating top-end panel — here, the status hue key. The hues are derived from the status strings, so the key can never drift from the nodes.'
|
|
500
|
+
/>
|
|
501
|
+
<Args.Yield
|
|
502
|
+
@name='empty'
|
|
503
|
+
@hideControls={{true}}
|
|
504
|
+
@description='Shown centred when there are no nodes at all. Defaults to a plain line of copy.'
|
|
505
|
+
/>
|
|
506
|
+
</:api>
|
|
507
|
+
<:cssVars as |Css|>
|
|
508
|
+
<Css.Basic
|
|
509
|
+
@name='pretui-canvas-height'
|
|
510
|
+
@defaultValue='26rem'
|
|
511
|
+
@description='Frame height, if you would rather set it in CSS than through @height.'
|
|
512
|
+
/>
|
|
513
|
+
<Css.Basic
|
|
514
|
+
@name='pretui-canvas-grid-ink'
|
|
515
|
+
@description='Background pattern colour. Defaults to 22% of the foreground token.'
|
|
516
|
+
/>
|
|
517
|
+
<Css.Basic
|
|
518
|
+
@name='pretui-canvas-edge'
|
|
519
|
+
@description='Resting edge stroke. --pretui-canvas-edge-selected and --pretui-canvas-edge-width tune the rest.'
|
|
520
|
+
/>
|
|
521
|
+
<Css.Basic
|
|
522
|
+
@name='pretui-canvas-chrome-shadow'
|
|
523
|
+
@description='Depth for the controls, minimap and floating panels — hairline plus shadow, one property (Law 1).'
|
|
524
|
+
/>
|
|
525
|
+
<Css.Basic
|
|
526
|
+
@name='pretui-canvas-summary-height'
|
|
527
|
+
@defaultValue='8rem'
|
|
528
|
+
@description="Height of the visible summary strip. The engine's bottom-corner panels lift by exactly this much."
|
|
529
|
+
/>
|
|
530
|
+
</:cssVars>
|
|
531
|
+
</FreestyleUsage>
|
|
532
|
+
<style scoped>
|
|
533
|
+
.canvas-bar-title {
|
|
534
|
+
font-weight: 600;
|
|
535
|
+
color: var(--card-foreground);
|
|
536
|
+
}
|
|
537
|
+
.canvas-empty {
|
|
538
|
+
margin: 0;
|
|
539
|
+
font-size: var(--text-ui-md, 12.5px);
|
|
540
|
+
color: var(--muted-foreground);
|
|
541
|
+
}
|
|
542
|
+
</style>
|
|
543
|
+
</template>
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
export const DEMOS_NODE_CANVAS: Record<string, unknown> = {
|
|
547
|
+
NodeCanvas: NodeCanvasUsage,
|
|
548
|
+
};
|