@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,140 @@
|
|
|
1
|
+
// Pretui — structure/morph: surfaces whose motion IS the state change.
|
|
2
|
+
//
|
|
3
|
+
// AnimatedImage animated GIF/WEBP with a real pause control
|
|
4
|
+
// DynamicIsland a status capsule that morphs between three views
|
|
5
|
+
// MorphingDialog a card that grows into its own modal dialog
|
|
6
|
+
// MorphingPopover a trigger that grows into its own anchored panel
|
|
7
|
+
//
|
|
8
|
+
// ── Law 5 is the entrance exam for this whole file ───────────────────────
|
|
9
|
+
//
|
|
10
|
+
// "Motion is allowed where it encodes a state transition the reader would
|
|
11
|
+
// otherwise have to infer; forbidden where it merely decorates." Every
|
|
12
|
+
// animation here is the visible form of a state change and nothing here
|
|
13
|
+
// animates at rest:
|
|
14
|
+
//
|
|
15
|
+
// AnimatedImage the motion IS the content; the component's own job is
|
|
16
|
+
// to make it STOPPABLE (WCAG 2.2.2) and to start stopped
|
|
17
|
+
// when the reader asked for less motion.
|
|
18
|
+
// DynamicIsland idle → compact → expanded. The capsule growing is what
|
|
19
|
+
// tells you the same object gained detail rather than a
|
|
20
|
+
// second object appearing.
|
|
21
|
+
// Morphing* this surface came FROM that trigger. Without the morph
|
|
22
|
+
// the reader has to work out which of six cards opened.
|
|
23
|
+
//
|
|
24
|
+
// And every one of them lands on the END STATE under
|
|
25
|
+
// `prefers-reduced-motion: reduce` — the dialog is simply open, the island
|
|
26
|
+
// is simply expanded, the image is simply paused. Never a frozen midpoint.
|
|
27
|
+
//
|
|
28
|
+
// ── Reuse, not a second Dialog ───────────────────────────────────────────
|
|
29
|
+
//
|
|
30
|
+
// `MorphingDialog` wraps `Dialog` from overlay.gts and `MorphingPopover`
|
|
31
|
+
// wraps `Popup`. The focus trap, Escape, the top layer, `::backdrop` and
|
|
32
|
+
// focus RETURN all come from the native `<dialog>` element that `Dialog`
|
|
33
|
+
// already drives correctly; the anchored placement, flip and shift come from
|
|
34
|
+
// `anchorTo`. Nothing about either of those was re-implemented — the only
|
|
35
|
+
// thing added is the morph, and it is added through ONE shared primitive
|
|
36
|
+
// (`morphFrom`) rather than twice.
|
|
37
|
+
//
|
|
38
|
+
// Pretui — shared motion helpers for the morphing components (morphFrom and friends).
|
|
39
|
+
import { cancel, scheduleOnce } from '@ember/runloop';
|
|
40
|
+
import { modifier } from 'ember-modifier';
|
|
41
|
+
|
|
42
|
+
// ── Shared ───────────────────────────────────────────────────────────────
|
|
43
|
+
|
|
44
|
+
export function prefersReducedMotion(): boolean {
|
|
45
|
+
return (
|
|
46
|
+
typeof window !== 'undefined' &&
|
|
47
|
+
typeof window.matchMedia === 'function' &&
|
|
48
|
+
window.matchMedia('(prefers-reduced-motion: reduce)').matches
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function clamp(value: number, low: number, high: number): number {
|
|
53
|
+
return Math.min(high, Math.max(low, value));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* THE morph primitive, and the reusable artifact of this file.
|
|
58
|
+
*
|
|
59
|
+
* Given the rectangle a surface came FROM, it animates the surface from that
|
|
60
|
+
* rectangle's position and size to its own. This is a FLIP: the surface is
|
|
61
|
+
* already laid out at its final geometry when the animation starts, so the
|
|
62
|
+
* end state is the truth and the start state is the inversion of it. Nothing
|
|
63
|
+
* is measured twice and no layout is faked.
|
|
64
|
+
*
|
|
65
|
+
* Three deliberate mechanism choices, each of which is the reason the
|
|
66
|
+
* alternative was rejected:
|
|
67
|
+
*
|
|
68
|
+
* * **`element.animate()` (WAAPI), not a CSS transition.** The exact
|
|
69
|
+
* translate/scale pair is only knowable at open time, and it must
|
|
70
|
+
* OUTRANK the transition the wrapped component already declares on the
|
|
71
|
+
* same element. A web animation wins that by cascade rank, so no
|
|
72
|
+
* specificity game — no doubled class, no `!important` — is needed to
|
|
73
|
+
* take over an element another component styles.
|
|
74
|
+
* * **`@starting-style` was not enough.** It cannot read a geometry that
|
|
75
|
+
* is only known once both boxes exist, and the wrapped `Dialog` already
|
|
76
|
+
* owns a `@starting-style` rule on the same element.
|
|
77
|
+
* * **`scheduleOnce('afterRender')`, not `requestAnimationFrame`.** The
|
|
78
|
+
* measurement cannot happen in the modifier body: a modal `<dialog>` is
|
|
79
|
+
* `display: none` until the component's own modifier calls `showModal()`,
|
|
80
|
+
* and modifier ordering between a wrapper and the component it wraps is
|
|
81
|
+
* not something to bet an animation on. The `afterRender` queue runs once
|
|
82
|
+
* every modifier in the transaction has, so the element is always laid
|
|
83
|
+
* out by then — and unlike a rAF it is INSIDE the runloop, so
|
|
84
|
+
* `await settled()` waits for it and a test can never race it. The token
|
|
85
|
+
* is cancelled in the destructor.
|
|
86
|
+
*
|
|
87
|
+
* Passing `undefined` (or running under reduced motion) does nothing at all,
|
|
88
|
+
* which is how the reduced-motion path lands on the end state: the surface
|
|
89
|
+
* is simply there.
|
|
90
|
+
*/
|
|
91
|
+
export const morphFrom = modifier(
|
|
92
|
+
(element: HTMLElement, [origin]: [DOMRect | undefined]) => {
|
|
93
|
+
if (!origin || prefersReducedMotion()) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
let animation: Animation | undefined;
|
|
97
|
+
// Hoisted rather than inlined: `scheduleOnce` dedupes on the identity of
|
|
98
|
+
// (target, method), and an inline function expression is a fresh
|
|
99
|
+
// identity every call — which is why the lint rule rejects one.
|
|
100
|
+
let start = () => {
|
|
101
|
+
// Forces layout, which is what makes the measurement true even on the
|
|
102
|
+
// frame the dialog was promoted to the top layer.
|
|
103
|
+
let rect = element.getBoundingClientRect();
|
|
104
|
+
if (rect.width < 1 || rect.height < 1) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
let sx = clamp(origin.width / rect.width, 0.04, 1);
|
|
108
|
+
let sy = clamp(origin.height / rect.height, 0.04, 1);
|
|
109
|
+
let dx = origin.left + origin.width / 2 - (rect.left + rect.width / 2);
|
|
110
|
+
let dy = origin.top + origin.height / 2 - (rect.top + rect.height / 2);
|
|
111
|
+
animation = element.animate(
|
|
112
|
+
[
|
|
113
|
+
{
|
|
114
|
+
transform:
|
|
115
|
+
'translate(' +
|
|
116
|
+
dx.toFixed(1) +
|
|
117
|
+
'px, ' +
|
|
118
|
+
dy.toFixed(1) +
|
|
119
|
+
'px) scale(' +
|
|
120
|
+
sx.toFixed(4) +
|
|
121
|
+
', ' +
|
|
122
|
+
sy.toFixed(4) +
|
|
123
|
+
')',
|
|
124
|
+
opacity: 0.2,
|
|
125
|
+
},
|
|
126
|
+
// The content is legible well before the box stops moving, which
|
|
127
|
+
// is what stops a non-uniform scale from reading as a squash.
|
|
128
|
+
{ opacity: 1, offset: 0.4 },
|
|
129
|
+
{ transform: 'translate(0px, 0px) scale(1, 1)', opacity: 1 },
|
|
130
|
+
],
|
|
131
|
+
{ duration: 300, easing: 'cubic-bezier(0.23, 1, 0.32, 1)' },
|
|
132
|
+
);
|
|
133
|
+
};
|
|
134
|
+
let scheduled = scheduleOnce('afterRender', element, start);
|
|
135
|
+
return () => {
|
|
136
|
+
cancel(scheduled);
|
|
137
|
+
animation?.cancel();
|
|
138
|
+
};
|
|
139
|
+
},
|
|
140
|
+
);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Pretui — structure territory, scenes wave: four scene-setting layout
|
|
2
|
+
// pieces TRANSCRIBED (not wrapped — no boxel-ui engine exists for these)
|
|
3
|
+
// from their JS-motion originals into CSS-first Glimmer:
|
|
4
|
+
// Marquee ← fancy SimpleMarquee (rAF motion-value engine → pure
|
|
5
|
+
// CSS keyframe loop; TIMER LAW: no JS timers)
|
|
6
|
+
// Comparison ← webawesome wa-comparison semantics (role=slider seam,
|
|
7
|
+
// arrow/Home/End keys) + motion-primitives
|
|
8
|
+
// ImageComparison layer-clip idea, drag via the
|
|
9
|
+
// pointer-capture modifier pattern (freestyle Viewport)
|
|
10
|
+
// StackingCards ← fancy StackingCards (scroll-progress transforms →
|
|
11
|
+
// pure position:sticky pinning + static nth-child scale)
|
|
12
|
+
// Dock ← motion-primitives Dock (cursor-distance spring
|
|
13
|
+
// magnification → :hover/:has sibling falloff)
|
|
14
|
+
// Theming contract: no dark-mode branches; every color is
|
|
15
|
+
// var(--token, lightFallback); prefers-reduced-motion honored wherever
|
|
16
|
+
// anything moves. Per-component delta notes sit on each section.
|
|
17
|
+
//
|
|
18
|
+
// Pretui — shared helpers for the scene components.
|
|
19
|
+
|
|
20
|
+
export function clamp01to100(v: number): number {
|
|
21
|
+
return Math.min(100, Math.max(0, v));
|
|
22
|
+
}
|
|
23
|
+
export function styleVar(name: string, value: string): string {
|
|
24
|
+
return `${name}: ${value}`;
|
|
25
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// Pretui — structure/scroll: the viewport family.
|
|
2
|
+
//
|
|
3
|
+
// Three components, in dependency order:
|
|
4
|
+
//
|
|
5
|
+
// Scroller a scroll container that TELLS you it is clipped
|
|
6
|
+
// Carousel a scroll-snap track with keyboard, dots and a status
|
|
7
|
+
// line — composed ON Scroller, not beside it
|
|
8
|
+
// ZoomableFrame a zoom-and-pan viewport around framed content
|
|
9
|
+
//
|
|
10
|
+
// `Scroller` is deliberately first and deliberately small: "content
|
|
11
|
+
// continues past this edge" is a fact half the kit's collections need, and
|
|
12
|
+
// before this it was re-solved (or skipped) per component. `Carousel`
|
|
13
|
+
// consumes it rather than reimplementing edge detection: the primitive is
|
|
14
|
+
// built before its consumers.
|
|
15
|
+
//
|
|
16
|
+
// ── The realm's timer law, and how the whole file obeys it ───────────────
|
|
17
|
+
//
|
|
18
|
+
// No `setTimeout`, no `setInterval`, no rAF loop, no `Date.now()`, no
|
|
19
|
+
// `Math.random()`. Everything reactive here is either an EVENT LISTENER or
|
|
20
|
+
// an OBSERVER, every one owned by an `ember-modifier` that removes or
|
|
21
|
+
// disconnects it in the destructor:
|
|
22
|
+
//
|
|
23
|
+
// scroll / pointer* / wheel / keydown listeners (removed on teardown)
|
|
24
|
+
// ResizeObserver overflow + geometry (disconnected)
|
|
25
|
+
// IntersectionObserver which slide is showing (disconnected)
|
|
26
|
+
//
|
|
27
|
+
// The one place a timer would be idiomatic — carousel auto-advance — is
|
|
28
|
+
// therefore NOT SHIPPED, and that is a deliberate, stated decision rather
|
|
29
|
+
// than an omission: a re-arming timer blocks `await settled()` and hangs the
|
|
30
|
+
// test suite for every agent working in this realm. The accessibility
|
|
31
|
+
// guidance ("must not auto-advance without consent, and `prefers-
|
|
32
|
+
// reduced-motion` suppresses it entirely") is satisfied by construction, and
|
|
33
|
+
// `@onIndexChange` is the seam a host outside the realm can drive.
|
|
34
|
+
//
|
|
35
|
+
// Pretui — shared helpers for Scroller, Carousel and ZoomableFrame: reduced motion, scroll behaviour, clamp.
|
|
36
|
+
|
|
37
|
+
// ── Shared helpers ───────────────────────────────────────────────────────
|
|
38
|
+
|
|
39
|
+
/** True when the reader has asked the platform for less motion. */
|
|
40
|
+
function prefersReducedMotion(): boolean {
|
|
41
|
+
return (
|
|
42
|
+
typeof window !== 'undefined' &&
|
|
43
|
+
typeof window.matchMedia === 'function' &&
|
|
44
|
+
window.matchMedia('(prefers-reduced-motion: reduce)').matches
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** Reduced motion lands on the END STATE — an instant jump, never a frozen
|
|
49
|
+
* midpoint (Law 5). */
|
|
50
|
+
export function scrollBehavior(): ScrollBehavior {
|
|
51
|
+
return prefersReducedMotion() ? 'auto' : 'smooth';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function clamp(value: number, low: number, high: number): number {
|
|
55
|
+
return Math.min(high, Math.max(low, value));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** The nearest ancestor that scrolls, or null for the viewport — what a
|
|
59
|
+
* pane-local observer or sticky element measures against. */
|
|
60
|
+
export function scrollParent(el: HTMLElement): HTMLElement | null {
|
|
61
|
+
let node = el.parentElement;
|
|
62
|
+
while (node) {
|
|
63
|
+
let style = getComputedStyle(node);
|
|
64
|
+
if (SCROLLS.test(style.overflowY + ' ' + style.overflowX)) {
|
|
65
|
+
return node;
|
|
66
|
+
}
|
|
67
|
+
node = node.parentElement;
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const SCROLLS = /(auto|scroll|overlay)/;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Pretui — fixtures shared by the structure-shell usage pages.
|
|
2
|
+
import { PLACES, TEAS, seedFrom, take } from '../examples';
|
|
3
|
+
|
|
4
|
+
export
|
|
5
|
+
const SHELL_SEED = seedFrom('pretui-shell-demo');
|
|
6
|
+
|
|
7
|
+
export
|
|
8
|
+
interface NavRow {
|
|
9
|
+
id: string;
|
|
10
|
+
label: string;
|
|
11
|
+
badge?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export
|
|
15
|
+
const LIBRARY: NavRow[] = take(SHELL_SEED, 0, 4, TEAS).map((tea, i) => ({
|
|
16
|
+
id: 'lib-' + i,
|
|
17
|
+
label: tea,
|
|
18
|
+
badge: String(4 + (seedFrom('nav#' + tea) % 40)),
|
|
19
|
+
}));
|
|
20
|
+
|
|
21
|
+
export
|
|
22
|
+
const ORIGINS: NavRow[] = take(SHELL_SEED, 1, 3, PLACES).map((place, i) => ({
|
|
23
|
+
id: 'org-' + i,
|
|
24
|
+
label: place,
|
|
25
|
+
}));
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
// Pretui — surfaces territory: the two components that only Boxel can
|
|
2
|
+
// ship, because only Boxel has the `surfaces` packages sitting under the
|
|
3
|
+
// wardrobe. Both are wraps: the engine stays the library's, only the cloth
|
|
4
|
+
// changes.
|
|
5
|
+
//
|
|
6
|
+
// NodeCanvas ← @cardstack/boxel-canvas (a Glimmer port of xyflow /
|
|
7
|
+
// React Flow, vendored from emberflow). Infinite
|
|
8
|
+
// pan/zoom node graph: nodes, edges, dot/line/cross
|
|
9
|
+
// background, zoom controls, minimap.
|
|
10
|
+
// PageScaffold ← @cardstack/boxel-layout (`Layout` + its four presets
|
|
11
|
+
// bare / page / notebook / tools). Application frame with
|
|
12
|
+
// named landmark regions. Upstream reference: wa-page.
|
|
13
|
+
//
|
|
14
|
+
// Both import the surfaces realm bundle copied into this realm at
|
|
15
|
+
// ./surfaces/ (self-contained ESM — xyflow is inlined; only host-provided
|
|
16
|
+
// modules are external). Relative in-realm imports, not cross-realm
|
|
17
|
+
// common-libs URLs: local `boxel parse` can resolve mirror-local files but
|
|
18
|
+
// not authed remote ones.
|
|
19
|
+
//
|
|
20
|
+
// ── The canvas stylesheet problem, and how this module solves it ────────
|
|
21
|
+
// boxel-canvas is the one surfaces package that needs a companion
|
|
22
|
+
// stylesheet (surfaces/canvas/styles/canvas.css). The npm package pulls it
|
|
23
|
+
// in with a side-effect `import './styles/canvas.css'`, which is BANNED in
|
|
24
|
+
// realm code: it passes parse, remote lint AND transpile, then fails at
|
|
25
|
+
// indexing with `Unexpected token (28:0)` because the realm loader fetches
|
|
26
|
+
// the CSS and parses it as JavaScript. A bare <link> to the realm-served
|
|
27
|
+
// URL 401s (private realm, header auth). So the sheet ships as a string
|
|
28
|
+
// module (surfaces-canvas-css.ts) and the `canvasStylesheet` modifier
|
|
29
|
+
// below injects it into document.head, refcounted so N canvases share one
|
|
30
|
+
// <style> and the last teardown removes it.
|
|
31
|
+
//
|
|
32
|
+
// That same modifier injects a SECOND sheet, PRETUI_CANVAS_SKIN, for the
|
|
33
|
+
// handful of engine-owned elements that no custom property can reach
|
|
34
|
+
// (focus rings the engine explicitly sets to `outline: none`, the
|
|
35
|
+
// reduced-motion fallback the engine never wrote). Every selector in it is
|
|
36
|
+
// anchored under `.pretui-node-canvas`, so it cannot leak past a
|
|
37
|
+
// NodeCanvas. Everything else is retinted through the engine's own
|
|
38
|
+
// `--xy-*` custom-property channel from `<style scoped>` — no :global(),
|
|
39
|
+
// no :deep(), no !important.
|
|
40
|
+
//
|
|
41
|
+
// Pretui — the canvas stylesheet primitive and the data shapes NodeCard and NodeCanvas share.
|
|
42
|
+
import { modifier } from 'ember-modifier';
|
|
43
|
+
import { CANVAS_CSS } from '../surfaces-canvas-css';
|
|
44
|
+
|
|
45
|
+
// ── canvasStylesheet — exported primitive ────────────────────────────────
|
|
46
|
+
// Any sibling that mounts a boxel-canvas needs this; it is exported rather
|
|
47
|
+
// than buried so the next canvas-shaped component reuses it instead of
|
|
48
|
+
// re-deriving the injection dance. A `data-refs` attribute on the <style>
|
|
49
|
+
// counts the mounted canvases, so the last teardown is the one that removes
|
|
50
|
+
// it.
|
|
51
|
+
|
|
52
|
+
const ENGINE_SHEET_ID = 'pretui-surfaces-canvas-css';
|
|
53
|
+
const SKIN_SHEET_ID = 'pretui-surfaces-canvas-skin';
|
|
54
|
+
|
|
55
|
+
// Engine-owned elements that custom properties cannot reach. Each rule is
|
|
56
|
+
// anchored under .pretui-node-canvas so nothing escapes the component.
|
|
57
|
+
// What upstream got wrong, itemised:
|
|
58
|
+
// 1. `.boxel-canvas__node.selectable:focus-visible { outline: none }`
|
|
59
|
+
// and the same on `__edge` and `__selection` — a keyboard user
|
|
60
|
+
// tabbing through the graph sees nothing at all. Restored, using the
|
|
61
|
+
// Pretui --ring token.
|
|
62
|
+
// 2. The controls buttons have no focus style either, and the container
|
|
63
|
+
// has square corners with the engine's fixed shadow.
|
|
64
|
+
// 3. `animation: dashdraw .5s linear infinite` on animated edges has no
|
|
65
|
+
// `prefers-reduced-motion` fallback anywhere in canvas.css. Restored
|
|
66
|
+
// with the END state (dashoffset 0), never a frozen midpoint.
|
|
67
|
+
// 4. Every engine panel is pinned to `bottom: 0`, so the Controls and
|
|
68
|
+
// the MiniMap sit UNDER the caption strip that `@summary='visible'`
|
|
69
|
+
// draws. The strip's height is a knob and the bottom panels lift by
|
|
70
|
+
// exactly that much.
|
|
71
|
+
// The one `outline: none` below is a REPLACEMENT, not a removal: an SVG
|
|
72
|
+
// edge cannot show an outline usefully, so the focused edge is redrawn in
|
|
73
|
+
// the ring colour at a heavier stroke on the line after it.
|
|
74
|
+
const PRETUI_CANVAS_SKIN = `
|
|
75
|
+
.pretui-node-canvas .boxel-canvas__node:focus-visible,
|
|
76
|
+
.pretui-node-canvas .boxel-canvas__node.selectable:focus-visible {
|
|
77
|
+
outline: 2px solid var(--ring);
|
|
78
|
+
outline-offset: 3px;
|
|
79
|
+
border-radius: var(--pretui-node-radius, var(--radius-surface, 10px));
|
|
80
|
+
}
|
|
81
|
+
.pretui-node-canvas .boxel-canvas__edge:focus-visible {
|
|
82
|
+
outline: none;
|
|
83
|
+
}
|
|
84
|
+
.pretui-node-canvas .boxel-canvas__edge:focus-visible .boxel-canvas__edge-path {
|
|
85
|
+
stroke: var(--ring);
|
|
86
|
+
stroke-width: 2.5;
|
|
87
|
+
}
|
|
88
|
+
.pretui-node-canvas .boxel-canvas__controls {
|
|
89
|
+
border-radius: var(--pretui-canvas-chrome-radius, 8px);
|
|
90
|
+
overflow: hidden;
|
|
91
|
+
}
|
|
92
|
+
.pretui-node-canvas .boxel-canvas__controls-button {
|
|
93
|
+
height: var(--pretui-canvas-chrome-size, 26px);
|
|
94
|
+
width: var(--pretui-canvas-chrome-size, 26px);
|
|
95
|
+
}
|
|
96
|
+
.pretui-node-canvas .boxel-canvas__controls-button:focus-visible {
|
|
97
|
+
outline: 2px solid var(--ring);
|
|
98
|
+
outline-offset: -2px;
|
|
99
|
+
position: relative;
|
|
100
|
+
z-index: 1;
|
|
101
|
+
}
|
|
102
|
+
.pretui-node-canvas .boxel-canvas__minimap {
|
|
103
|
+
border-radius: var(--pretui-canvas-chrome-radius, 8px);
|
|
104
|
+
overflow: hidden;
|
|
105
|
+
box-shadow: var(--pretui-canvas-chrome-shadow,
|
|
106
|
+
0 0 0 1px var(--border), 0 1px 2px rgb(0 0 0 / 0.12));
|
|
107
|
+
}
|
|
108
|
+
.pretui-node-canvas .boxel-canvas__handle {
|
|
109
|
+
width: var(--pretui-handle-size, 8px);
|
|
110
|
+
height: var(--pretui-handle-size, 8px);
|
|
111
|
+
transition: box-shadow 140ms ease, background-color 140ms ease;
|
|
112
|
+
}
|
|
113
|
+
.pretui-node-canvas .boxel-canvas__handle.connectionindicator:hover {
|
|
114
|
+
box-shadow: 0 0 0 4px color-mix(in oklch,
|
|
115
|
+
var(--primary) 22%, transparent);
|
|
116
|
+
}
|
|
117
|
+
.pretui-node-canvas[data-summary='visible'] .boxel-canvas__panel.bottom {
|
|
118
|
+
bottom: var(--pretui-canvas-summary-height, 8rem);
|
|
119
|
+
}
|
|
120
|
+
@media (prefers-reduced-motion: reduce) {
|
|
121
|
+
.pretui-node-canvas .boxel-canvas__edge.animated .boxel-canvas__edge-path {
|
|
122
|
+
animation: none;
|
|
123
|
+
stroke-dashoffset: 0;
|
|
124
|
+
}
|
|
125
|
+
.pretui-node-canvas .boxel-canvas__connection .animated {
|
|
126
|
+
animation: none;
|
|
127
|
+
stroke-dashoffset: 0;
|
|
128
|
+
}
|
|
129
|
+
.pretui-node-canvas .boxel-canvas__handle {
|
|
130
|
+
transition: none;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
`;
|
|
134
|
+
|
|
135
|
+
// ── The arrowhead bug this fixes ─────────────────────────────────────────
|
|
136
|
+
// boxel-canvas emits `marker-end="url('#1__type=arrowclosed')"` on any edge
|
|
137
|
+
// carrying `markerEnd` — and there is not ONE `<marker>` element anywhere
|
|
138
|
+
// in the package. React Flow renders a `<MarkerDefinitions>` component into
|
|
139
|
+
// its flow SVG; the Ember port never ported it, so `markerEnd` resolves to
|
|
140
|
+
// a dangling fragment reference and draws NOTHING, silently. A directed
|
|
141
|
+
// graph with no arrowheads is ambiguous — you cannot tell which way an
|
|
142
|
+
// edge runs — so the defs are supplied here.
|
|
143
|
+
//
|
|
144
|
+
// The engine hard-codes the `1__` prefix (a flow-id placeholder that was
|
|
145
|
+
// never wired), which means the ids are document-global whether we like it
|
|
146
|
+
// or not. So they are injected ONCE per document, refcounted alongside the
|
|
147
|
+
// stylesheets, rather than per canvas. `context-stroke` makes each
|
|
148
|
+
// arrowhead take the colour of the edge that references it, so a selected
|
|
149
|
+
// edge gets a selected arrowhead for free and no token has to be resolved
|
|
150
|
+
// from outside the canvas's own subtree.
|
|
151
|
+
const MARKERS_ID = 'pretui-surfaces-canvas-markers';
|
|
152
|
+
const MARKER_SVG = `<defs>
|
|
153
|
+
<marker id="1__type=arrowclosed" markerWidth="12.5" markerHeight="12.5" viewBox="-10 -10 20 20" markerUnits="strokeWidth" orient="auto-start-reverse" refX="0" refY="0">
|
|
154
|
+
<polyline points="-5,-4 0,0 -5,4 -5,-4" fill="context-stroke" stroke="context-stroke" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"></polyline>
|
|
155
|
+
</marker>
|
|
156
|
+
<marker id="1__type=arrow" markerWidth="12.5" markerHeight="12.5" viewBox="-10 -10 20 20" markerUnits="strokeWidth" orient="auto-start-reverse" refX="0" refY="0">
|
|
157
|
+
<polyline points="-5,-4 0,0 -5,4" fill="none" stroke="context-stroke" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"></polyline>
|
|
158
|
+
</marker>
|
|
159
|
+
</defs>`;
|
|
160
|
+
|
|
161
|
+
function retainMarkers() {
|
|
162
|
+
let el = document.getElementById(MARKERS_ID);
|
|
163
|
+
if (!el) {
|
|
164
|
+
let svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
165
|
+
svg.id = MARKERS_ID;
|
|
166
|
+
svg.setAttribute('aria-hidden', 'true');
|
|
167
|
+
svg.setAttribute('width', '0');
|
|
168
|
+
svg.setAttribute('height', '0');
|
|
169
|
+
svg.style.position = 'absolute';
|
|
170
|
+
svg.innerHTML = MARKER_SVG;
|
|
171
|
+
document.body.appendChild(svg);
|
|
172
|
+
el = svg as unknown as HTMLElement;
|
|
173
|
+
}
|
|
174
|
+
el.dataset['refs'] = String(Number(el.dataset['refs'] ?? '0') + 1);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
function releaseMarkers() {
|
|
178
|
+
let el = document.getElementById(MARKERS_ID);
|
|
179
|
+
if (!el) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
let remaining = Number(el.dataset['refs'] ?? '1') - 1;
|
|
183
|
+
if (remaining <= 0) {
|
|
184
|
+
el.remove();
|
|
185
|
+
} else {
|
|
186
|
+
el.dataset['refs'] = String(remaining);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function retainSheet(id: string, css: string) {
|
|
191
|
+
let el: HTMLElement | null = document.getElementById(id);
|
|
192
|
+
if (!el) {
|
|
193
|
+
let style = document.createElement('style');
|
|
194
|
+
style.id = id;
|
|
195
|
+
style.textContent = css;
|
|
196
|
+
document.head.appendChild(style);
|
|
197
|
+
el = style;
|
|
198
|
+
}
|
|
199
|
+
el.dataset['refs'] = String(Number(el.dataset['refs'] ?? '0') + 1);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
function releaseSheet(id: string) {
|
|
203
|
+
let el: HTMLElement | null = document.getElementById(id);
|
|
204
|
+
if (!el) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
let remaining = Number(el.dataset['refs'] ?? '1') - 1;
|
|
208
|
+
if (remaining <= 0) {
|
|
209
|
+
el.remove();
|
|
210
|
+
} else {
|
|
211
|
+
el.dataset['refs'] = String(remaining);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Mounts the boxel-canvas engine stylesheet, the Pretui skin, and the
|
|
217
|
+
* arrowhead marker defs the engine references but never ships, for as long
|
|
218
|
+
* as the modified element is alive. Refcounted: many canvases share one set
|
|
219
|
+
* and the last teardown removes it. Use it on any element that hosts a
|
|
220
|
+
* `<Canvas>` from `./surfaces/canvas/index.js`.
|
|
221
|
+
*/
|
|
222
|
+
export const canvasStylesheet = modifier(() => {
|
|
223
|
+
retainSheet(ENGINE_SHEET_ID, CANVAS_CSS);
|
|
224
|
+
retainSheet(SKIN_SHEET_ID, PRETUI_CANVAS_SKIN);
|
|
225
|
+
retainMarkers();
|
|
226
|
+
return () => {
|
|
227
|
+
releaseMarkers();
|
|
228
|
+
releaseSheet(SKIN_SHEET_ID);
|
|
229
|
+
releaseSheet(ENGINE_SHEET_ID);
|
|
230
|
+
};
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
// ── Shared data shapes ───────────────────────────────────────────────────
|
|
234
|
+
|
|
235
|
+
/** Payload a NodeCard reads. Any extra keys are yours to use in a custom body. */
|
|
236
|
+
export interface NodeCardData {
|
|
237
|
+
/** headline line — the one thing a reader scans for */
|
|
238
|
+
title?: string;
|
|
239
|
+
/** machine value (id / version / enum) set as a Token, per Law 3 */
|
|
240
|
+
kind?: string;
|
|
241
|
+
/** one supporting line under the title */
|
|
242
|
+
meta?: string;
|
|
243
|
+
/** short state word; its hue is DERIVED from the string, per Law 2 */
|
|
244
|
+
status?: string;
|
|
245
|
+
/** override the derived hue with an explicit color/`var()` */
|
|
246
|
+
hue?: string;
|
|
247
|
+
/** engine fallback: bare label when no title is given */
|
|
248
|
+
label?: string;
|
|
249
|
+
[key: string]: unknown;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/** One node. `position` is graph space; the engine owns it after a drag. */
|
|
253
|
+
export interface CanvasNode {
|
|
254
|
+
id: string;
|
|
255
|
+
position: { x: number; y: number };
|
|
256
|
+
data?: NodeCardData;
|
|
257
|
+
/** node-type key into `@nodeTypes`; defaults to Pretui's own shell */
|
|
258
|
+
type?: string;
|
|
259
|
+
width?: number;
|
|
260
|
+
height?: number;
|
|
261
|
+
sourcePosition?: 'left' | 'right' | 'top' | 'bottom';
|
|
262
|
+
targetPosition?: 'left' | 'right' | 'top' | 'bottom';
|
|
263
|
+
selected?: boolean;
|
|
264
|
+
draggable?: boolean;
|
|
265
|
+
selectable?: boolean;
|
|
266
|
+
focusable?: boolean;
|
|
267
|
+
hidden?: boolean;
|
|
268
|
+
/** screen-reader name; NodeCanvas fills it from data.title when absent */
|
|
269
|
+
ariaLabel?: string;
|
|
270
|
+
[key: string]: unknown;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/** One edge. `animated` dashes the stroke (and is silenced under reduced motion). */
|
|
274
|
+
export interface CanvasEdge {
|
|
275
|
+
id: string;
|
|
276
|
+
source: string;
|
|
277
|
+
target: string;
|
|
278
|
+
label?: string;
|
|
279
|
+
animated?: boolean;
|
|
280
|
+
selected?: boolean;
|
|
281
|
+
type?: string;
|
|
282
|
+
[key: string]: unknown;
|
|
283
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// Pretui — TEXTURE territory. Three components: BackgroundField (the
|
|
2
|
+
// consolidated ambient-field catalogue), Backdrop (the scrim under layered
|
|
3
|
+
// surfaces), PulsingBorder (the "this is live" boundary, shipped WITH its
|
|
4
|
+
// text affordance).
|
|
5
|
+
//
|
|
6
|
+
// Law 6 governs this whole file: texture never carries information. Every
|
|
7
|
+
// painted layer here is `aria-hidden`, `pointer-events: none`, and never the
|
|
8
|
+
// sole carrier of meaning. The one borderline case the matrix calls out —
|
|
9
|
+
// "pulsing border" = "this is live" — ships the affordance in the component
|
|
10
|
+
// rather than trusting the caller to bolt one on.
|
|
11
|
+
//
|
|
12
|
+
// Law 9 governs the implementation: `pretui/texture` vendors NO engine. No
|
|
13
|
+
// WebGL, no ogl, no three, no paper-shaders, no canvas paint loop, no
|
|
14
|
+
// requestAnimationFrame. Everything below is gradients, masks, transforms
|
|
15
|
+
// and @keyframes. A card rendering an invoice pays for nothing.
|
|
16
|
+
//
|
|
17
|
+
// What the inspiration got wrong, and what this file does instead:
|
|
18
|
+
//
|
|
19
|
+
// * react-bits ships **55 separate background components** (Aurora, Beams,
|
|
20
|
+
// DotGrid, GradientWaves, Grainient, LightRays, Plasma, Waves, …), most
|
|
21
|
+
// of them dragging in ogl/WebGL; cult-ui ships a parallel `bg-*` /
|
|
22
|
+
// `hero-*` family; fancy ships AnimatedGradientWithSvg. Fifty-five import
|
|
23
|
+
// paths, fifty-five prop surfaces, fifty-five bundles. Pretui ships ONE
|
|
24
|
+
// component with a `@variant` knob naming a compiled catalogue. The
|
|
25
|
+
// consolidation IS the improvement: one signature to learn, one set of
|
|
26
|
+
// knobs (scale / opacity / hue / speed / fade) that means the same thing
|
|
27
|
+
// in every field, and one place where the reduced-motion and token rules
|
|
28
|
+
// are enforced.
|
|
29
|
+
// * Upstream backgrounds hardcode their palettes (`#7cff67`, `rgba(255,
|
|
30
|
+
// 255,255,.08)`) or fork on `dark:`. Every field here rides theme tokens
|
|
31
|
+
// (`--chart-1…5`, `--foreground`, `--background`) through
|
|
32
|
+
// `color-mix()`, so a field re-tints with the theme and with light/dark
|
|
33
|
+
// automatically. There is not one dark branch in this file.
|
|
34
|
+
// * Upstream animates `background-position` (a full repaint of a
|
|
35
|
+
// viewport-sized layer, every frame). Here the painted layer is
|
|
36
|
+
// oversized and only `transform` / `opacity` are animated — compositor
|
|
37
|
+
// work, no repaint. Tile-drift translations are exactly one tile, so the
|
|
38
|
+
// loop is seamless.
|
|
39
|
+
// * Upstream's "reduced motion" story is usually nothing at all. Here the
|
|
40
|
+
// base rule IS the resting state and the keyframes only supply the
|
|
41
|
+
// choreography, so `animation: none` is a complete, deliberate-looking
|
|
42
|
+
// kill switch (Law 5).
|
|
43
|
+
// * Deliberately NOT ported: everything that needs a shader or a particle
|
|
44
|
+
// integrator (Galaxy, Plasma, Iridescence, Dither, Particles, Lightfall,
|
|
45
|
+
// GridDistortion, Balatro…). Those are not expressible in honest CSS and
|
|
46
|
+
// Law 9 forbids the engine that would make them possible. They are named
|
|
47
|
+
// here rather than hidden (Law 7).
|
|
48
|
+
//
|
|
49
|
+
// Pretui — shared style helpers for the texture components (BackgroundField, Backdrop, PulsingBorder).
|
|
50
|
+
import { htmlSafe } from '@ember/template';
|
|
51
|
+
import { cssValue as sharedCssValue } from '../pretui-css';
|
|
52
|
+
|
|
53
|
+
// ── shared helpers ───────────────────────────────────────────────────────
|
|
54
|
+
|
|
55
|
+
// Args flow into inline custom properties, so caller strings go through the
|
|
56
|
+
// kit-wide allowlist (pretui-css.gts) before they reach htmlSafe.
|
|
57
|
+
//
|
|
58
|
+
// This replaced a local strip-and-continue sanitiser that removed `;{}<>`
|
|
59
|
+
// and kept whatever was left — which let `url(https://evil/x)` through
|
|
60
|
+
// untouched, since it contains none of those characters. Validate-or-drop is
|
|
61
|
+
// the only version of this that holds. `@hue='var(--chart-4)'` (the useful
|
|
62
|
+
// case) is unaffected.
|
|
63
|
+
export function cssValue(value: string | undefined): string | undefined {
|
|
64
|
+
return sharedCssValue(value);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function clampNum(
|
|
68
|
+
value: number | undefined,
|
|
69
|
+
min: number,
|
|
70
|
+
max: number,
|
|
71
|
+
): number | undefined {
|
|
72
|
+
if (value === undefined || value === null) return undefined;
|
|
73
|
+
if (!Number.isFinite(value)) return undefined;
|
|
74
|
+
return Math.min(Math.max(value, min), max);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function styleFrom(
|
|
78
|
+
parts: string[],
|
|
79
|
+
): ReturnType<typeof htmlSafe> | undefined {
|
|
80
|
+
return parts.length > 0 ? htmlSafe(parts.join('; ')) : undefined;
|
|
81
|
+
}
|