@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,173 @@
|
|
|
1
|
+
// Pretui — Composer usage page.
|
|
2
|
+
import GlimmerComponent from '@glimmer/component';
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
4
|
+
import { on } from '@ember/modifier';
|
|
5
|
+
import { FreestyleUsage } from './freestyle-usage';
|
|
6
|
+
import { Button } from './button';
|
|
7
|
+
import { Composer } from './composer';
|
|
8
|
+
import type { ComposerAttachment } from './composer';
|
|
9
|
+
|
|
10
|
+
// ── Composer ─────────────────────────────────────────────────────────────
|
|
11
|
+
const ATTACHMENTS: ComposerAttachment[] = [
|
|
12
|
+
{ id: 'a1', label: 'Slow Bloom Coffee · Menu', auto: true },
|
|
13
|
+
{ id: 'a2', label: 'Kandy lot 118 · contract.pdf' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
class ComposerUsage extends GlimmerComponent {
|
|
17
|
+
@tracked mode = 'ask';
|
|
18
|
+
@tracked queueCount = 0;
|
|
19
|
+
@tracked busy = false;
|
|
20
|
+
@tracked attachments: ComposerAttachment[] = ATTACHMENTS;
|
|
21
|
+
@tracked sent = '—';
|
|
22
|
+
|
|
23
|
+
setMode = (mode: string) => (this.mode = mode);
|
|
24
|
+
setQueue = (n: number) => (this.queueCount = n);
|
|
25
|
+
bumpQueue = () => (this.queueCount = this.queueCount === 0 ? 2 : 0);
|
|
26
|
+
toggleBusy = (busy: boolean) => (this.busy = busy);
|
|
27
|
+
flipBusy = () => (this.busy = !this.busy);
|
|
28
|
+
|
|
29
|
+
send = (text: string, mode: string) => {
|
|
30
|
+
this.sent = mode.toUpperCase() + ' · ' + text;
|
|
31
|
+
};
|
|
32
|
+
stop = () => {
|
|
33
|
+
this.busy = false;
|
|
34
|
+
this.sent = 'run stopped';
|
|
35
|
+
};
|
|
36
|
+
pin = (attachment: ComposerAttachment) => {
|
|
37
|
+
this.attachments = this.attachments.map((a) =>
|
|
38
|
+
a.id === attachment.id ? { ...a, auto: false } : a,
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
remove = (attachment: ComposerAttachment) => {
|
|
42
|
+
this.attachments = this.attachments.filter((a) => a.id !== attachment.id);
|
|
43
|
+
};
|
|
44
|
+
reset = () => (this.attachments = ATTACHMENTS);
|
|
45
|
+
|
|
46
|
+
<template>
|
|
47
|
+
<FreestyleUsage
|
|
48
|
+
@name='Composer'
|
|
49
|
+
@description='The prompt bar, carrying the four things a bare textarea cannot: the context the agent will actually see, the mode that decides whether it may write, a note stating that mode’s consequence, and a hint that tells the truth while a run is in flight. The field grows with its content through a CSS grid replica — no measurement, no resize observer, no timer. Enter sends and Shift+Enter inserts a newline (Mod+Enter always sends, whichever way you set @submitOnEnter). The hint is deliberately NOT a `placeholder` attribute: a placeholder doubles as the accessible name, so the field would lose its name the moment you typed, and this hint changes with the mode and the queue — the worst possible candidate for a name. `aria-label` names the field permanently and the hint is aria-hidden beside it.'
|
|
50
|
+
>
|
|
51
|
+
<:example>
|
|
52
|
+
<Composer
|
|
53
|
+
@mode={{this.mode}}
|
|
54
|
+
@onModeChange={{this.setMode}}
|
|
55
|
+
@attachments={{this.attachments}}
|
|
56
|
+
@onPin={{this.pin}}
|
|
57
|
+
@onRemove={{this.remove}}
|
|
58
|
+
@queueCount={{this.queueCount}}
|
|
59
|
+
@busy={{this.busy}}
|
|
60
|
+
@onSend={{this.send}}
|
|
61
|
+
@onStop={{this.stop}}
|
|
62
|
+
>
|
|
63
|
+
<:tools>
|
|
64
|
+
<Button @tone='neutral' @appearance='plain' @size='s'>Settings</Button>
|
|
65
|
+
</:tools>
|
|
66
|
+
</Composer>
|
|
67
|
+
<p class='demo-log'>last:
|
|
68
|
+
<strong>{{this.sent}}</strong></p>
|
|
69
|
+
<p class='demo-hint'>Try it: type two lines with Shift+Enter and watch
|
|
70
|
+
the field grow, switch Ask→Act and read the note, then queue two
|
|
71
|
+
messages and see the hint change.</p>
|
|
72
|
+
<span class='demo-row'>
|
|
73
|
+
<Button
|
|
74
|
+
@tone='neutral'
|
|
75
|
+
@appearance='outlined'
|
|
76
|
+
@size='s'
|
|
77
|
+
{{on 'click' this.bumpQueue}}
|
|
78
|
+
>Toggle queue</Button>
|
|
79
|
+
<Button
|
|
80
|
+
@tone='neutral'
|
|
81
|
+
@appearance='outlined'
|
|
82
|
+
@size='s'
|
|
83
|
+
{{on 'click' this.flipBusy}}
|
|
84
|
+
>Toggle run</Button>
|
|
85
|
+
<Button
|
|
86
|
+
@tone='neutral'
|
|
87
|
+
@appearance='outlined'
|
|
88
|
+
@size='s'
|
|
89
|
+
{{on 'click' this.reset}}
|
|
90
|
+
>Reset attachments</Button>
|
|
91
|
+
</span>
|
|
92
|
+
</:example>
|
|
93
|
+
<:api as |Args|>
|
|
94
|
+
<Args.String
|
|
95
|
+
@name='mode'
|
|
96
|
+
@description='Which mode is active. Uncontrolled by default (@defaultMode picks the starting one); pass @mode + @onModeChange to own it.'
|
|
97
|
+
@value={{this.mode}}
|
|
98
|
+
@onInput={{this.setMode}}
|
|
99
|
+
@defaultValue='ask'
|
|
100
|
+
/>
|
|
101
|
+
<Args.Number
|
|
102
|
+
@name='queueCount'
|
|
103
|
+
@description='How many messages are already queued. Non-zero rewrites the hint to say so — a queue the reader cannot see is a message they think was sent.'
|
|
104
|
+
@value={{this.queueCount}}
|
|
105
|
+
@onInput={{this.setQueue}}
|
|
106
|
+
@defaultValue={{0}}
|
|
107
|
+
@min={{0}}
|
|
108
|
+
@max={{5}}
|
|
109
|
+
/>
|
|
110
|
+
<Args.Bool
|
|
111
|
+
@name='busy'
|
|
112
|
+
@description='A run is in flight: Send becomes Stop and fires @onStop instead.'
|
|
113
|
+
@value={{this.busy}}
|
|
114
|
+
@onInput={{this.toggleBusy}}
|
|
115
|
+
@defaultValue={{false}}
|
|
116
|
+
/>
|
|
117
|
+
<Args.Object
|
|
118
|
+
@name='attachments'
|
|
119
|
+
@description='The context chips. { id, label, auto? } — `auto` is context the host attached on the reader’s behalf (the "Viewing" tag), and only those fire @onPin, because pinning is the promotion from incidental to deliberate.'
|
|
120
|
+
@value={{this.attachments}}
|
|
121
|
+
/>
|
|
122
|
+
<Args.Object
|
|
123
|
+
@name='modes'
|
|
124
|
+
@description='The mode segments: { value, label, note?, placeholder? }. Defaults to COMPOSER_MODES — Ask ("reads only") and Act ("may propose changes"). The note is rendered in a role=status, so switching mode announces the consequence rather than leaving it as decoration.'
|
|
125
|
+
@value={{this.attachments}}
|
|
126
|
+
@hideControls={{true}}
|
|
127
|
+
/>
|
|
128
|
+
<Args.Yield
|
|
129
|
+
@name='tools'
|
|
130
|
+
@description='Extra controls in the action bar, left of Send. The extraction spec’s settings popover (autonomy levels + three toggles) lives HERE rather than being baked in: autonomy is a host policy, and a kit component that hard-codes three specific toggles is wrong for every host but one.'
|
|
131
|
+
@hideControls={{true}}
|
|
132
|
+
/>
|
|
133
|
+
<Args.Base
|
|
134
|
+
@name='value / defaultValue / onInput / onSend / onStop'
|
|
135
|
+
@description='The draft channel. Omit @value and the composer holds its own; pass it and you own it. @onSend receives the trimmed draft and the active mode.'
|
|
136
|
+
@hideControls={{true}}
|
|
137
|
+
/>
|
|
138
|
+
<Args.Base
|
|
139
|
+
@name='rows / submitOnEnter / label / disabled / sendLabel / stopLabel'
|
|
140
|
+
@description='Minimum visible rows before the field grows (default 2, capped at 12), whether a plain Enter submits (default true), the field’s permanent accessible name, and the two button faces. Not built: collapse/expand — the auto-growing field is the behaviour collapse was approximating.'
|
|
141
|
+
@hideControls={{true}}
|
|
142
|
+
/>
|
|
143
|
+
</:api>
|
|
144
|
+
</FreestyleUsage>
|
|
145
|
+
<style scoped>
|
|
146
|
+
.demo-log {
|
|
147
|
+
margin: var(--space-4, 11px) 0 0;
|
|
148
|
+
font-size: var(--text-ui-sm, 11.5px);
|
|
149
|
+
color: var(--muted-foreground);
|
|
150
|
+
}
|
|
151
|
+
.demo-log strong {
|
|
152
|
+
color: var(--foreground);
|
|
153
|
+
font-weight: 600;
|
|
154
|
+
}
|
|
155
|
+
.demo-hint {
|
|
156
|
+
margin: var(--space-3, 7px) 0 var(--space-4, 11px);
|
|
157
|
+
max-width: 62ch;
|
|
158
|
+
font-size: var(--text-ui-sm, 11.5px);
|
|
159
|
+
line-height: 1.6;
|
|
160
|
+
color: var(--muted-foreground);
|
|
161
|
+
}
|
|
162
|
+
.demo-row {
|
|
163
|
+
display: inline-flex;
|
|
164
|
+
gap: 8px;
|
|
165
|
+
flex-wrap: wrap;
|
|
166
|
+
}
|
|
167
|
+
</style>
|
|
168
|
+
</template>
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export const DEMOS_COMPOSER: Record<string, unknown> = {
|
|
172
|
+
Composer: ComposerUsage,
|
|
173
|
+
};
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
// Pretui — CompoundField: several values edited as one field, in rows.
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { hash } from '@ember/helper';
|
|
4
|
+
import type { TemplateOnlyComponent } from '@ember/component/template-only';
|
|
5
|
+
import { FieldError } from './field-error';
|
|
6
|
+
import { FormSection } from './form-section';
|
|
7
|
+
import { issuesForPath } from '../internal/forms-core';
|
|
8
|
+
import type { FormIssue, FormContext } from '../internal/forms-core';
|
|
9
|
+
import { tracksStyle } from '../internal/forms-record';
|
|
10
|
+
import type { ContextualComponent } from '../internal/forms-record';
|
|
11
|
+
|
|
12
|
+
// ── CompoundField ────────────────────────────────────────────────────────
|
|
13
|
+
//
|
|
14
|
+
// Ported from SLDS `form-element/compound` + `form-element/address`
|
|
15
|
+
// (`slds-form-element_compound`, `__row`, `__legend`,
|
|
16
|
+
// `slds-form-element_address`).
|
|
17
|
+
//
|
|
18
|
+
// BETTER THAN THE INSPIRATION:
|
|
19
|
+
// • SLDS's legend is `float: left` — a float purely to make room for the
|
|
20
|
+
// help icon, which then needs `clear: left` on the control below to
|
|
21
|
+
// undo. Ours is flow layout with a flex head; nothing floats, nothing
|
|
22
|
+
// clears.
|
|
23
|
+
// • SLDS's rows are `display: flex` with `margin-left/-right: -4px` and a
|
|
24
|
+
// matching +4px padding on every child: the classic negative-margin
|
|
25
|
+
// gutter hack. Ours is `gap`.
|
|
26
|
+
// • The required marker in SLDS's Legend is
|
|
27
|
+
// `<abbr class="slds-required" aria-hidden="true">*</abbr>` and nothing
|
|
28
|
+
// else — a fieldset whose requiredness is invisible to assistive tech.
|
|
29
|
+
// Ours adds the sr-only "(required)".
|
|
30
|
+
// • SLDS's address variant does exactly one thing (`align-items:
|
|
31
|
+
// baseline`) and has NO responsive behaviour: a five-part address row
|
|
32
|
+
// stays five-across at any width. Ours folds sub-fields to one per line
|
|
33
|
+
// on a container query.
|
|
34
|
+
// • `fieldset { min-inline-size: 0 }` — the UA default is
|
|
35
|
+
// `min-inline-size: min-content`, which makes a fieldset refuse to
|
|
36
|
+
// shrink and blows out any grid it sits in. SLDS never resets it.
|
|
37
|
+
// • Nested fields flatten through two inherited custom properties
|
|
38
|
+
// (`--pretui-record-rule`, `--pretui-record-fieldpad`) rather than a
|
|
39
|
+
// descendant selector reaching into another component's markup.
|
|
40
|
+
//
|
|
41
|
+
// DROPPED FROM UPSTREAM (and why): the deprecated `slds-form_compound` fork
|
|
42
|
+
// (`isDeprecated`), and the `slds-form-element_N-col` column classes — the
|
|
43
|
+
// Row's `@columns` track list and the record grid's `@span` cover the same
|
|
44
|
+
// ground without a class per count.
|
|
45
|
+
//
|
|
46
|
+
// BORROWED FROM THE GOV.UK DESIGN SYSTEM (2026-08-13 rebuild). SLDS is the
|
|
47
|
+
// layout ancestor; GOV.UK is the better ancestor for how a grouped field
|
|
48
|
+
// BEHAVES, because its patterns are user-tested on people filling in forms
|
|
49
|
+
// that matter:
|
|
50
|
+
// • Errors render between the legend and the fields, never beneath them. A
|
|
51
|
+
// screen reader then hears the problem as part of the group's
|
|
52
|
+
// introduction, and a sighted user reads it before filling rather than
|
|
53
|
+
// discovering it underneath afterwards.
|
|
54
|
+
// • `@hint` is visible text, not a tooltip. Guidance needed to answer must
|
|
55
|
+
// be readable without hover, which does not exist on touch. `@help` stays
|
|
56
|
+
// for nice-to-know detail only.
|
|
57
|
+
// • The legend is typed as a LABEL, one step stronger than its sub-field
|
|
58
|
+
// labels, because it names a control group. It was an uppercase mono
|
|
59
|
+
// eyebrow, which is section-divider typography.
|
|
60
|
+
//
|
|
61
|
+
// FIXED IN THE SAME PASS (defects, not preferences):
|
|
62
|
+
// • The Row paired `grid-auto-flow: column` with an explicit track list.
|
|
63
|
+
// Children past the last declared track created IMPLICIT columns instead
|
|
64
|
+
// of wrapping, so a row never wrapped at any width. Now `auto-fit` +
|
|
65
|
+
// `minmax`, which reflows through every intermediate count.
|
|
66
|
+
// • The address variant set `align-items: baseline` on the body, aligning
|
|
67
|
+
// the Rows against each other rather than the sub-fields — one level too
|
|
68
|
+
// high, so the variant did nothing. It now travels as an inherited custom
|
|
69
|
+
// property to the Row.
|
|
70
|
+
// • The invalid state added `padding-inline-start`, so every field jumped
|
|
71
|
+
// sideways when validation ran. The bar's gutter is now always reserved
|
|
72
|
+
// and only its colour changes.
|
|
73
|
+
// • `<abbr title='required'>` — a title tooltip does not open on touch and
|
|
74
|
+
// is inconsistently announced. The asterisk is the visual channel; the
|
|
75
|
+
// sr-only text is the real one.
|
|
76
|
+
export interface CompoundFieldSignature {
|
|
77
|
+
Args: {
|
|
78
|
+
/** The group's label, rendered as a real <legend>. Required. */
|
|
79
|
+
label: string;
|
|
80
|
+
/** The compound's OWN BXL label path — e.g. `Billing Address`. An issue
|
|
81
|
+
* may target the compound itself rather than a sub-field; those render
|
|
82
|
+
* here. Matched as a whole string, never split. */
|
|
83
|
+
path?: string;
|
|
84
|
+
/** Issues for the whole form. Only those whose `targetPath` EQUALS
|
|
85
|
+
* @path render here; sub-field issues render on their own fields. */
|
|
86
|
+
issues?: FormIssue[];
|
|
87
|
+
/** The owning form's context. Supplied automatically by `form.Compound`,
|
|
88
|
+
* so a collapsed compound opens when a refused submit focuses into it. */
|
|
89
|
+
form?: FormContext;
|
|
90
|
+
/** Visible description under the title. Guidance a user needs in order to
|
|
91
|
+
* answer must be visible: a hover tooltip does not exist on touch and is
|
|
92
|
+
* missed on desktop. Wired to the fieldset with `aria-describedby` by
|
|
93
|
+
* `FormSection`. */
|
|
94
|
+
hint?: string;
|
|
95
|
+
/** Give the section a disclosure. Available because the presentation is
|
|
96
|
+
* `FormSection`; the hand-rolled version had no such thing. */
|
|
97
|
+
collapsible?: boolean;
|
|
98
|
+
/** Uncontrolled seed for the disclosure. @default true */
|
|
99
|
+
defaultOpen?: boolean;
|
|
100
|
+
/** Controlled disclosure state. Omit and use @defaultOpen. */
|
|
101
|
+
open?: boolean;
|
|
102
|
+
/** Fires with the requested state whenever the disclosure moves. */
|
|
103
|
+
onOpenChange?: (open: boolean) => void;
|
|
104
|
+
/** Native fieldset disabling — every control inside goes dead while the
|
|
105
|
+
* disclosure keeps working. */
|
|
106
|
+
disabled?: boolean;
|
|
107
|
+
/** 'address' aligns sub-fields on their baseline, matching SLDS's
|
|
108
|
+
* `slds-form-element_address`. @default 'default' */
|
|
109
|
+
variant?: 'default' | 'address';
|
|
110
|
+
/** 'full' makes the group span every column of a record grid.
|
|
111
|
+
* @default 'auto' */
|
|
112
|
+
span?: 'auto' | 'full';
|
|
113
|
+
};
|
|
114
|
+
Blocks: {
|
|
115
|
+
/** Yields `{ Row }`. Put the record's own `<R.Field>`s inside a Row —
|
|
116
|
+
* they keep participating in the batch, because a compound is a layout
|
|
117
|
+
* and legend contract, not a second state machine. */
|
|
118
|
+
default: [{ Row: ContextualComponent }];
|
|
119
|
+
};
|
|
120
|
+
Element: HTMLFieldSetElement;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/** One row of sub-fields inside a CompoundField (SLDS
|
|
124
|
+
* `.slds-form-element__row`). */
|
|
125
|
+
export interface CompoundRowSignature {
|
|
126
|
+
Args: {
|
|
127
|
+
/** A `grid-template-columns` track list — `'2fr 1fr 1fr'` for a
|
|
128
|
+
* street/city/state row. Validated before it reaches the style
|
|
129
|
+
* attribute. It travels as a custom property rather than an inline
|
|
130
|
+
* `grid-template-columns` precisely so the narrow container query can
|
|
131
|
+
* still override it without `!important`.
|
|
132
|
+
*
|
|
133
|
+
* **Omit it for the better default.** With no track list the row is
|
|
134
|
+
* `repeat(auto-fit, minmax(9rem, 1fr))`, which reflows through every
|
|
135
|
+
* intermediate count as the container narrows. A fixed track list gives
|
|
136
|
+
* up that ladder and only collapses at the final breakpoint, so reach for
|
|
137
|
+
* it when the proportions genuinely matter (a street that must be twice
|
|
138
|
+
* a city) and not otherwise. The floor is the `--pretui-compound-min`
|
|
139
|
+
* custom property if 9rem is wrong for your controls. */
|
|
140
|
+
columns?: string;
|
|
141
|
+
};
|
|
142
|
+
Blocks: { default: [] };
|
|
143
|
+
Element: HTMLDivElement;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export const CompoundRow: TemplateOnlyComponent<CompoundRowSignature> =
|
|
147
|
+
<template>
|
|
148
|
+
<div
|
|
149
|
+
class='pretui-compound-row'
|
|
150
|
+
style={{tracksStyle @columns}}
|
|
151
|
+
data-test-pretui-compound-row
|
|
152
|
+
...attributes
|
|
153
|
+
>{{yield}}</div>
|
|
154
|
+
<style scoped>
|
|
155
|
+
@layer PretComponent {
|
|
156
|
+
.pretui-compound-row {
|
|
157
|
+
display: grid;
|
|
158
|
+
/* Graceful reflow, not an all-or-nothing fold. `auto-fit` + `minmax`
|
|
159
|
+
lets a five-part address go 5 → 3 → 2 → 1 as the container narrows,
|
|
160
|
+
each sub-field keeping a legible minimum. The previous rule paired
|
|
161
|
+
`grid-auto-flow: column` with an explicit track list, which is a
|
|
162
|
+
contradiction: children past the last declared track silently
|
|
163
|
+
created IMPLICIT columns instead of wrapping, so a row never wrapped
|
|
164
|
+
at any width and six sub-fields rendered six-across and squeezed. */
|
|
165
|
+
grid-template-columns: var(
|
|
166
|
+
--pretui-compound-tracks,
|
|
167
|
+
repeat(auto-fit, minmax(var(--pretui-compound-min, 9rem), 1fr))
|
|
168
|
+
);
|
|
169
|
+
/* Sub-fields align on their own baseline only when the compound asks
|
|
170
|
+
for it. This travels as an inherited custom property because
|
|
171
|
+
.pretui-compound-row belongs to THIS component while the variant is
|
|
172
|
+
set on its parent — a descendant selector would have to reach across
|
|
173
|
+
a scoped-CSS boundary, which does not match. */
|
|
174
|
+
align-items: var(--pretui-compound-align, stretch);
|
|
175
|
+
gap: var(--space-2, 5px) var(--space-4, 11px);
|
|
176
|
+
min-width: 0;
|
|
177
|
+
/* NO flattening. The previous version set --pretui-record-rule to
|
|
178
|
+
transparent and --pretui-record-fieldpad to 0, hiding each
|
|
179
|
+
sub-field's rule and padding so that N peer fields would read as one
|
|
180
|
+
value. That was the cosmetic half of a pretence this component no
|
|
181
|
+
longer makes: these are fields in a section, and they look like it. */
|
|
182
|
+
}
|
|
183
|
+
/* The last step of the ladder: below this, even two columns leave a
|
|
184
|
+
control too narrow to read, so drop to one per line. */
|
|
185
|
+
@container (max-width: 22rem) {
|
|
186
|
+
.pretui-compound-row {
|
|
187
|
+
grid-template-columns: minmax(0, 1fr);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
</style>
|
|
192
|
+
</template>;
|
|
193
|
+
|
|
194
|
+
/** A group of related record fields.
|
|
195
|
+
*
|
|
196
|
+
* THIS IS A SECTION, NOT A FIELD — and that is the whole design. The earlier
|
|
197
|
+
* version rendered a `<fieldset>` with a legend around N `RecordField`s, each
|
|
198
|
+
* of which is a complete inline-edit machine with its own label, its own
|
|
199
|
+
* "press Enter to edit", its own discard control, its own dirty marker and its
|
|
200
|
+
* own entry in the save batch. So one conceptual value like "Mailing Address"
|
|
201
|
+
* presented a legend plus five labels and five independent editors, and the
|
|
202
|
+
* component's only real contribution was CSS that hid the per-field rules to
|
|
203
|
+
* make five peers *look* like one value. That is a section wearing a field's
|
|
204
|
+
* clothes, and no amount of spacing work fixes it.
|
|
205
|
+
*
|
|
206
|
+
* Two honest resolutions existed: collapse the read view to one formatted
|
|
207
|
+
* value and expand to parts on edit (a true compound FIELD), or stop
|
|
208
|
+
* pretending and be a section. This is the second.
|
|
209
|
+
*
|
|
210
|
+
* Consequently the presentation delegates to `FormSection` rather than
|
|
211
|
+
* reimplementing it. `FormSection` already owns the legend, the description,
|
|
212
|
+
* the issue count, native fieldset disabling and a controlled/uncontrolled
|
|
213
|
+
* disclosure — all of which this component lacked, and a second, weaker copy
|
|
214
|
+
* of it is exactly the duplication the house rules forbid. Sections gain
|
|
215
|
+
* collapsibility here for free.
|
|
216
|
+
*
|
|
217
|
+
* The sub-fields stay the record's own `<R.Field>`s, so they keep
|
|
218
|
+
* participating in the same batch, the same undo and the same footer. They now
|
|
219
|
+
* also keep their rules and padding: they ARE fields, and flattening them was
|
|
220
|
+
* the cosmetic half of the original pretence.
|
|
221
|
+
*/
|
|
222
|
+
export class CompoundField extends Component<CompoundFieldSignature> {
|
|
223
|
+
get variant(): string {
|
|
224
|
+
return this.args.variant === 'address' ? 'address' : 'default';
|
|
225
|
+
}
|
|
226
|
+
get issues(): FormIssue[] {
|
|
227
|
+
return issuesForPath(
|
|
228
|
+
this.args.issues ?? this.args.form?.issues ?? [],
|
|
229
|
+
this.args.path,
|
|
230
|
+
);
|
|
231
|
+
}
|
|
232
|
+
/** the compound claims its own path, or FormSection would drop its issues */
|
|
233
|
+
get ownPaths(): string[] | undefined {
|
|
234
|
+
return this.args.path ? [this.args.path] : undefined;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
<template>
|
|
238
|
+
<div
|
|
239
|
+
class='pretui-compound'
|
|
240
|
+
data-variant={{this.variant}}
|
|
241
|
+
data-span={{if @span @span 'auto'}}
|
|
242
|
+
data-test-pretui-compound-field={{@label}}
|
|
243
|
+
...attributes
|
|
244
|
+
>
|
|
245
|
+
<FormSection
|
|
246
|
+
@title={{@label}}
|
|
247
|
+
@description={{@hint}}
|
|
248
|
+
@issues={{this.issues}}
|
|
249
|
+
@paths={{this.ownPaths}}
|
|
250
|
+
@form={{@form}}
|
|
251
|
+
@collapsible={{@collapsible}}
|
|
252
|
+
@defaultOpen={{@defaultOpen}}
|
|
253
|
+
@open={{@open}}
|
|
254
|
+
@onOpenChange={{@onOpenChange}}
|
|
255
|
+
@disabled={{@disabled}}
|
|
256
|
+
>
|
|
257
|
+
{{! FormSection yields its own Field/Layout curried to a Form; a record
|
|
258
|
+
section deliberately does NOT forward them. Its children are the
|
|
259
|
+
record's <R.Field>s, which carry the batch. Only Row is ours. }}
|
|
260
|
+
{{#each this.issues as |issue|}}
|
|
261
|
+
<FieldError class='pretui-compound-issue' @issue={{issue}} />
|
|
262
|
+
{{/each}}
|
|
263
|
+
{{yield (hash Row=CompoundRow)}}
|
|
264
|
+
</FormSection>
|
|
265
|
+
</div>
|
|
266
|
+
<style scoped>
|
|
267
|
+
@layer PretComponent {
|
|
268
|
+
.pretui-compound {
|
|
269
|
+
/* the container the Row's query measures against — that query lives on
|
|
270
|
+
a DESCENDANT (.pretui-compound-row), never on this element */
|
|
271
|
+
container-type: inline-size;
|
|
272
|
+
min-inline-size: 0;
|
|
273
|
+
min-width: 0;
|
|
274
|
+
}
|
|
275
|
+
.pretui-compound[data-span='full'] {
|
|
276
|
+
grid-column: 1 / -1;
|
|
277
|
+
}
|
|
278
|
+
/* Sub-fields align on their own baseline only when the section asks for
|
|
279
|
+
it. Travels as an inherited custom property because the Row belongs to
|
|
280
|
+
this component while the variant is set on its ancestor — a descendant
|
|
281
|
+
selector would have to cross a scoped-CSS boundary, which does not
|
|
282
|
+
match. */
|
|
283
|
+
.pretui-compound[data-variant='address'] {
|
|
284
|
+
--pretui-compound-align: baseline;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
</style>
|
|
288
|
+
</template>
|
|
289
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
## What it is
|
|
2
|
+
|
|
3
|
+
A grouped field: several sub-fields under one legend, laid out in rows — a name, an address, a date range, a money amount with a currency. Use it whenever several inputs are conceptually one answer. If they are independent, they are separate **FormField**s in a **FormLayout**. If they are a repeating set, that is a table or a list, not a compound.
|
|
4
|
+
|
|
5
|
+
## The contract
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
@label: string (required — a real <legend>)
|
|
9
|
+
@path?, @issues?, @hint?
|
|
10
|
+
@collapsible?, @open? / @defaultOpen? (true), @onOpenChange?, @disabled?
|
|
11
|
+
@variant? 'default' | 'address'
|
|
12
|
+
@span? 'auto' | 'full'
|
|
13
|
+
<:default as |{ Row }|>
|
|
14
|
+
Element: HTMLFieldSetElement
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**`R.Field`s go inside a `Row`, and they keep participating in the record's batch** — because a compound is a _layout and legend contract_, not a second state machine. That is the design decision that keeps it composable: a CompoundField inside a **RecordDetail** does not intercept anything.
|
|
18
|
+
|
|
19
|
+
**`@path` is the compound's own BXL label path.** Issues targeting the compound itself (`Billing Address`) render here; issues targeting sub-fields render on their fields. Matched as a whole string, never split — the same rule as **FormField**.
|
|
20
|
+
|
|
21
|
+
**The presentation is `FormSection`**, which is why `@collapsible` exists at all; the earlier hand-rolled version had no disclosure.
|
|
22
|
+
|
|
23
|
+
## Prior art
|
|
24
|
+
|
|
25
|
+
**SLDS is the layout ancestor** (`slds-form-element__row`, `slds-form-element_address`). **GOV.UK is the better ancestor for how a grouped field _behaves_**, because its patterns are user-tested on people filling in forms that matter, and the 2026-08-13 rebuild adopted three of its rules:
|
|
26
|
+
|
|
27
|
+
- **Errors render between the legend and the fields, never beneath them.** A screen reader then hears the problem as part of the group's introduction, and a sighted user reads it _before_ filling rather than discovering it underneath afterwards. This is the single most consequential difference from the SLDS shape.
|
|
28
|
+
- **`@hint` is visible text, not a tooltip.** Guidance needed in order to answer must be readable without hover — which does not exist on touch. `@help` stays for nice-to-know detail only.
|
|
29
|
+
- **The legend is typed as a Label, one step stronger than its sub-field labels**, because it names a control group. It had been an uppercase mono eyebrow, which is section-divider typography and read as chrome rather than as a label.
|
|
30
|
+
|
|
31
|
+
Four defects were fixed in the same pass, and they are worth recording because each is a class of bug:
|
|
32
|
+
|
|
33
|
+
1. **The Row paired `grid-auto-flow: column` with an explicit track list**, so children past the last declared track created _implicit_ columns instead of wrapping — a row never wrapped at any width. Now `auto-fit` + `minmax`, which reflows through every intermediate count.
|
|
34
|
+
2. **The `address` variant set `align-items: baseline` on the body**, aligning the Rows against each other rather than the sub-fields — one level too high, so the variant did nothing. It now travels as an inherited custom property to the Row.
|
|
35
|
+
3. **The invalid state added `padding-inline-start`**, so every field jumped sideways when validation ran. The bar's gutter is now always reserved and only its colour changes — the same reserved-space discipline **Field** applies to its message line.
|
|
36
|
+
4. **`<abbr title='required'>`** — a `title` tooltip does not open on touch and is inconsistently announced. The asterisk is now the visual channel and visually-hidden text is the real one.
|
|
37
|
+
|
|
38
|
+
**`CompoundRow`'s track list travels as a custom property rather than an inline `grid-template-columns`** — precisely so the narrow container query can override it without `!important`. That is a small, exemplary piece of CSS architecture.
|
|
39
|
+
|
|
40
|
+
## Accessibility
|
|
41
|
+
|
|
42
|
+
No APG pattern; a native `<fieldset>`/`<legend>` group, governed by WCAG **1.3.1**, **3.3.1**, **3.3.2** and **3.3.3**.
|
|
43
|
+
|
|
44
|
+
What is right, and most of it is the GOV.UK inheritance:
|
|
45
|
+
|
|
46
|
+
- **A real `<fieldset>` with a real `<legend>`.** The group has a name assistive tech announces on entry — more reliable than a reconstructed `role="group"` + `aria-label`.
|
|
47
|
+
- **Errors before the fields** (above). This is the accessibility argument, not a visual preference: an error announced after the inputs is an error the user has already failed to act on.
|
|
48
|
+
- **`@hint` is visible and wired via `aria-describedby`** by FormSection, so it reaches touch users, hover-less users and screen readers alike.
|
|
49
|
+
- **The required marker is visually-hidden text plus a decorative asterisk**, so required-ness reaches the accessible name — the same fix **FormField** made.
|
|
50
|
+
- **The invalid gutter is always reserved**, so validation causes no layout shift (**WCAG 3.2.x** in spirit, and a real usability win).
|
|
51
|
+
- Native fieldset `@disabled` is announced per control by the platform.
|
|
52
|
+
|
|
53
|
+
Gaps:
|
|
54
|
+
|
|
55
|
+
- **Everything inside the legend contributes to the group's accessible name.** A legend carrying a label plus a required marker plus an issue count can produce a long name; keep it short.
|
|
56
|
+
- **`@collapsible` uses FormSection's disclosure**: the toggle carries `aria-expanded` and an `aria-controls` that points at the body. A collapsed compound holding an error is only discoverable through the legend's issue count, so leave `hideIssueCount` off.
|
|
57
|
+
- **No `aria-level` or heading semantics on the legend**, so a long form's compounds do not appear in a heading list.
|
|
58
|
+
- **Sub-field errors render on their own fields**, so a compound with three failing sub-fields shows three messages plus possibly a compound-level one — verify that reads as a hierarchy rather than as four unrelated errors.
|
|
59
|
+
|
|
60
|
+
## Theming
|
|
61
|
+
|
|
62
|
+
`--border` and `--pretui-shadow-hairline` (the fieldset edge), `--destructive` (the invalid bar, whose gutter is always reserved), `--foreground` (legend), `--muted-foreground` (hint), plus **Label**'s voice for the legend, **FormField**'s tokens for the sub-fields, and **FormSection**'s for the disclosure.
|
|
63
|
+
|
|
64
|
+
The Row's track list is a custom property, so a theme — or a container query — can retune column proportions without fighting an inline style. The `address` variant's baseline alignment likewise travels as an inherited custom property; that indirection is what made it work at all.
|
|
65
|
+
|
|
66
|
+
The styles sit in `@layer PretComponent`, so a caller's unlayered CSS overrides them without a more specific selector.
|