@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,110 @@
|
|
|
1
|
+
// Pretui — TimeInput usage page.
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
4
|
+
import { FreestyleUsage } from './freestyle-usage';
|
|
5
|
+
import { TimeInput } from './time-input';
|
|
6
|
+
|
|
7
|
+
const HOUR_CYCLES = ['24', '12'];
|
|
8
|
+
|
|
9
|
+
// ── TimeInput ← wa-time-input ────────────────────────────────────────────
|
|
10
|
+
// Dropped knobs: the popup column picker + @withNow (wa-popup machinery
|
|
11
|
+
// stays upstream), @min/@max/@step constraints, @placement, locale-aware
|
|
12
|
+
// segment order (fixed hour:minute[:second] then AM/PM), @required/form
|
|
13
|
+
// association, @size. Kept: the segmented spinbutton grammar itself —
|
|
14
|
+
// arrows wrap with no carry, empty segments seed from now, two-digit
|
|
15
|
+
// type-through, a/p keys, Backspace clears a segment.
|
|
16
|
+
class TimeInputUsage extends Component {
|
|
17
|
+
cycleOptions = HOUR_CYCLES;
|
|
18
|
+
@tracked value = '09:41';
|
|
19
|
+
@tracked hourCycle = '24';
|
|
20
|
+
@tracked withSeconds = false;
|
|
21
|
+
@tracked disabled = false;
|
|
22
|
+
setValue = (v: string) => (this.value = v);
|
|
23
|
+
setHourCycle = (v: string) => (this.hourCycle = v);
|
|
24
|
+
setWithSeconds = (v: boolean) => (this.withSeconds = v);
|
|
25
|
+
setDisabled = (v: boolean) => (this.disabled = v);
|
|
26
|
+
get cycleVal() {
|
|
27
|
+
return this.hourCycle as '24' | '12';
|
|
28
|
+
}
|
|
29
|
+
get usage() {
|
|
30
|
+
let bits = [`@value='${this.value}'`];
|
|
31
|
+
if (this.hourCycle !== '24') bits.push(`@hourCycle='${this.hourCycle}'`);
|
|
32
|
+
if (this.withSeconds) bits.push('@withSeconds={{true}}');
|
|
33
|
+
bits.push('@onValueChange={{this.setValue}}');
|
|
34
|
+
return `<TimeInput ${bits.join(' ')} />`;
|
|
35
|
+
}
|
|
36
|
+
<template>
|
|
37
|
+
<FreestyleUsage
|
|
38
|
+
@name='TimeInput'
|
|
39
|
+
@description="The Calendar family's clock: segmented HH:MM entry (optional seconds, AM/PM in 12-hour mode) speaking the same spinbutton grammar as the date pickers. Arrow keys wrap a segment with no carry into its neighbors, digits type through with the two-digit buffer rule, a/p set the day period, Backspace clears. Transcribed from wa-time-input's segmented field; the popup column picker stayed upstream."
|
|
40
|
+
@source={{this.usage}}
|
|
41
|
+
>
|
|
42
|
+
<:example>
|
|
43
|
+
<TimeInput
|
|
44
|
+
@value={{this.value}}
|
|
45
|
+
@hourCycle={{this.cycleVal}}
|
|
46
|
+
@withSeconds={{this.withSeconds}}
|
|
47
|
+
@disabled={{this.disabled}}
|
|
48
|
+
@onValueChange={{this.setValue}}
|
|
49
|
+
/>
|
|
50
|
+
<p class='pretui-demo-readout' data-test-time-readout>
|
|
51
|
+
value = “{{this.value}}”
|
|
52
|
+
</p>
|
|
53
|
+
</:example>
|
|
54
|
+
<:api as |Args|>
|
|
55
|
+
<Args.String
|
|
56
|
+
@name='value'
|
|
57
|
+
@value={{this.value}}
|
|
58
|
+
@description="Wire value — 'HH:MM', or 'HH:MM:SS' with @withSeconds (native input[type=time] format). Omit and seed @defaultValue for uncontrolled use."
|
|
59
|
+
@onInput={{this.setValue}}
|
|
60
|
+
/>
|
|
61
|
+
<Args.String
|
|
62
|
+
@name='hourCycle'
|
|
63
|
+
@defaultValue='24'
|
|
64
|
+
@value={{this.hourCycle}}
|
|
65
|
+
@options={{this.cycleOptions}}
|
|
66
|
+
@description="'12' adds the AM/PM segment and re-displays hours as 1–12; the wire value stays 24-hour."
|
|
67
|
+
@onInput={{this.setHourCycle}}
|
|
68
|
+
/>
|
|
69
|
+
<Args.Bool
|
|
70
|
+
@name='withSeconds'
|
|
71
|
+
@defaultValue={{false}}
|
|
72
|
+
@value={{this.withSeconds}}
|
|
73
|
+
@description='Adds the seconds segment and the :SS wire suffix.'
|
|
74
|
+
@onInput={{this.setWithSeconds}}
|
|
75
|
+
/>
|
|
76
|
+
<Args.Bool
|
|
77
|
+
@name='disabled'
|
|
78
|
+
@defaultValue={{false}}
|
|
79
|
+
@value={{this.disabled}}
|
|
80
|
+
@onInput={{this.setDisabled}}
|
|
81
|
+
/>
|
|
82
|
+
<Args.String
|
|
83
|
+
@name='label'
|
|
84
|
+
@defaultValue='Time'
|
|
85
|
+
@description='Group label announced by assistive tech; each segment carries its own spinbutton label (Hour / Minute / Second / AM-PM).'
|
|
86
|
+
/>
|
|
87
|
+
<Args.String
|
|
88
|
+
@name='defaultValue'
|
|
89
|
+
@description='Uncontrolled seed for the internal segments.'
|
|
90
|
+
/>
|
|
91
|
+
<Args.Action
|
|
92
|
+
@name='onValueChange'
|
|
93
|
+
@description="Receives the wire string once all segments are filled, and '' when an edit makes the value incomplete."
|
|
94
|
+
/>
|
|
95
|
+
</:api>
|
|
96
|
+
</FreestyleUsage>
|
|
97
|
+
<style scoped>
|
|
98
|
+
.pretui-demo-readout {
|
|
99
|
+
margin: 8px 0 0;
|
|
100
|
+
font-family: var(--font-mono);
|
|
101
|
+
font-size: var(--text-ui-xs, 11px);
|
|
102
|
+
color: var(--muted-foreground);
|
|
103
|
+
}
|
|
104
|
+
</style>
|
|
105
|
+
</template>
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export const DEMOS_TIME_INPUT: Record<string, unknown> = {
|
|
109
|
+
TimeInput: TimeInputUsage,
|
|
110
|
+
};
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
// Pretui — Timeline: an ordered list of events with a decorative rail.
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { Avatar } from './avatar';
|
|
4
|
+
import { StatusChip } from './status-chip';
|
|
5
|
+
import { Token } from './token';
|
|
6
|
+
import { RelativeTime } from './relative-time';
|
|
7
|
+
import { iconFor } from '../icon-registry';
|
|
8
|
+
|
|
9
|
+
// ── Timeline ─────────────────────────────────────────────────────────────
|
|
10
|
+
// A chronological sequence, semantically an ordered list.
|
|
11
|
+
//
|
|
12
|
+
// The rail and the markers are pure chrome: the rail is a CSS pseudo-element
|
|
13
|
+
// (invisible to assistive tech by construction) and the marker span carries
|
|
14
|
+
// aria-hidden, so a screen reader reads "1. Lot B-1181 cupped — 3 days ago"
|
|
15
|
+
// and not a stream of bullet noise. Everything with meaning is composed from
|
|
16
|
+
// the kit: StatusChip (hue derived from the value, Law 2), Token (machine
|
|
17
|
+
// values as jewelry, Law 3), RelativeTime (timer-free, @now supplied by the
|
|
18
|
+
// caller), Avatar.
|
|
19
|
+
//
|
|
20
|
+
// Dropped from the upstream surfaces: left/right alternating layout (MUI's
|
|
21
|
+
// signature look — it doubles the CSS, halves the line length, and reads as
|
|
22
|
+
// two unrelated columns at narrow widths), the "opposite content" slot that
|
|
23
|
+
// exists only to feed that layout, and per-event duration bars (that is
|
|
24
|
+
// <Meter> or <ProgressBar> composed into the <:default> block).
|
|
25
|
+
|
|
26
|
+
export interface TimelineEvent {
|
|
27
|
+
/** stable id — the {{#each}} key */
|
|
28
|
+
id: string;
|
|
29
|
+
/** the headline for this moment */
|
|
30
|
+
title: string;
|
|
31
|
+
/** ISO date/time → RelativeTime, rendered against @now */
|
|
32
|
+
at?: string;
|
|
33
|
+
/** status value → StatusChip */
|
|
34
|
+
status?: string;
|
|
35
|
+
/** machine value (lot id, version, batch) → Token */
|
|
36
|
+
token?: string;
|
|
37
|
+
/** person's name → Avatar + name */
|
|
38
|
+
person?: string;
|
|
39
|
+
/** one paragraph of detail; the <:default> block replaces it */
|
|
40
|
+
body?: string;
|
|
41
|
+
/** icon-registry name for the marker; omitted markers are a dot */
|
|
42
|
+
icon?: string;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface TimelineSignature {
|
|
46
|
+
Args: {
|
|
47
|
+
/** the events, oldest or newest first — the order you pass is the order
|
|
48
|
+
* rendered and numbered */
|
|
49
|
+
events: TimelineEvent[];
|
|
50
|
+
/** 'expanded' (default) gives each event a body block and a large marker;
|
|
51
|
+
* 'compact' collapses to one line per event */
|
|
52
|
+
density?: 'compact' | 'expanded';
|
|
53
|
+
/** the instant relative times are measured against; the realm forbids
|
|
54
|
+
* timers, so nothing ticks — pass a fresh @now to re-derive */
|
|
55
|
+
now?: string | Date;
|
|
56
|
+
/** accessible name for the list */
|
|
57
|
+
label?: string;
|
|
58
|
+
};
|
|
59
|
+
Blocks: {
|
|
60
|
+
/** replaces @body — receives the event */
|
|
61
|
+
default?: [event: TimelineEvent];
|
|
62
|
+
/** replaces the marker glyph — receives the event */
|
|
63
|
+
marker?: [event: TimelineEvent];
|
|
64
|
+
};
|
|
65
|
+
Element: HTMLElement;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export class Timeline extends Component<TimelineSignature> {
|
|
69
|
+
get density(): 'compact' | 'expanded' {
|
|
70
|
+
return this.args.density ?? 'expanded';
|
|
71
|
+
}
|
|
72
|
+
get label(): string {
|
|
73
|
+
return this.args.label ?? 'Timeline';
|
|
74
|
+
}
|
|
75
|
+
iconOf = (event: TimelineEvent) => iconFor(event.icon);
|
|
76
|
+
|
|
77
|
+
<template>
|
|
78
|
+
{{! role='list' is not redundant: list-style:none strips list semantics
|
|
79
|
+
in Safari/VoiceOver, and the lint rule allows ol+list }}
|
|
80
|
+
<ol
|
|
81
|
+
class='pretui-timeline'
|
|
82
|
+
role='list'
|
|
83
|
+
data-density={{this.density}}
|
|
84
|
+
aria-label={{this.label}}
|
|
85
|
+
data-test-pretui-timeline
|
|
86
|
+
...attributes
|
|
87
|
+
>
|
|
88
|
+
{{#each @events key='id' as |event|}}
|
|
89
|
+
<li class='pretui-timeline-event'>
|
|
90
|
+
<span class='pretui-timeline-marker' aria-hidden='true'>
|
|
91
|
+
{{#if (has-block 'marker')}}
|
|
92
|
+
{{yield event to='marker'}}
|
|
93
|
+
{{else}}
|
|
94
|
+
{{#let (this.iconOf event) as |EventIcon|}}
|
|
95
|
+
{{#if EventIcon}}
|
|
96
|
+
<EventIcon class='pretui-timeline-glyph' />
|
|
97
|
+
{{else}}
|
|
98
|
+
<span class='pretui-timeline-dot'></span>
|
|
99
|
+
{{/if}}
|
|
100
|
+
{{/let}}
|
|
101
|
+
{{/if}}
|
|
102
|
+
</span>
|
|
103
|
+
<div class='pretui-timeline-body'>
|
|
104
|
+
<div class='pretui-timeline-head'>
|
|
105
|
+
<span class='pretui-timeline-title'>{{event.title}}</span>
|
|
106
|
+
{{#if event.token}}<Token @value={{event.token}} />{{/if}}
|
|
107
|
+
{{#if event.status}}<StatusChip @value={{event.status}} />{{/if}}
|
|
108
|
+
{{#if event.at}}
|
|
109
|
+
<RelativeTime
|
|
110
|
+
class='pretui-timeline-when'
|
|
111
|
+
@date={{event.at}}
|
|
112
|
+
@now={{@now}}
|
|
113
|
+
/>
|
|
114
|
+
{{/if}}
|
|
115
|
+
</div>
|
|
116
|
+
{{#if (has-block)}}
|
|
117
|
+
<div class='pretui-timeline-detail'>{{yield event}}</div>
|
|
118
|
+
{{else if event.body}}
|
|
119
|
+
<p class='pretui-timeline-detail'>{{event.body}}</p>
|
|
120
|
+
{{/if}}
|
|
121
|
+
{{#if event.person}}
|
|
122
|
+
<span class='pretui-timeline-person'>
|
|
123
|
+
<Avatar @name={{event.person}} @size={{18}} />
|
|
124
|
+
{{event.person}}
|
|
125
|
+
</span>
|
|
126
|
+
{{/if}}
|
|
127
|
+
</div>
|
|
128
|
+
</li>
|
|
129
|
+
{{/each}}
|
|
130
|
+
</ol>
|
|
131
|
+
<style scoped>
|
|
132
|
+
/* above RelativeTime's layer, so these win by layer order, not file order */
|
|
133
|
+
@layer PretComponent, PretComposite;
|
|
134
|
+
@layer PretComposite {
|
|
135
|
+
.pretui-timeline {
|
|
136
|
+
/* one gap and one rail width, resolved once on the root so the
|
|
137
|
+
pseudo-element rail can never drift from the row spacing */
|
|
138
|
+
--_gap: var(--pretui-timeline-gap, 14px);
|
|
139
|
+
--_rail: var(--pretui-timeline-rail, 24px);
|
|
140
|
+
container-type: inline-size;
|
|
141
|
+
list-style: none;
|
|
142
|
+
margin: 0;
|
|
143
|
+
padding: 0;
|
|
144
|
+
display: grid;
|
|
145
|
+
gap: var(--_gap);
|
|
146
|
+
min-width: 0;
|
|
147
|
+
}
|
|
148
|
+
.pretui-timeline[data-density='compact'] {
|
|
149
|
+
--_gap: var(--pretui-timeline-gap, 4px);
|
|
150
|
+
--_rail: var(--pretui-timeline-rail, 16px);
|
|
151
|
+
}
|
|
152
|
+
.pretui-timeline-event {
|
|
153
|
+
position: relative;
|
|
154
|
+
display: grid;
|
|
155
|
+
grid-template-columns: var(--_rail) 1fr;
|
|
156
|
+
gap: var(--space-3, 8px);
|
|
157
|
+
min-width: 0;
|
|
158
|
+
}
|
|
159
|
+
/* the rail: chrome only, drawn by a pseudo-element so assistive tech
|
|
160
|
+
never sees it (Law 1 — a hairline, never a contrast block) */
|
|
161
|
+
.pretui-timeline-event::before {
|
|
162
|
+
content: '';
|
|
163
|
+
position: absolute;
|
|
164
|
+
left: calc(var(--_rail) / 2);
|
|
165
|
+
top: 0;
|
|
166
|
+
bottom: calc(var(--_gap) * -1);
|
|
167
|
+
width: 1px;
|
|
168
|
+
background: var(--border);
|
|
169
|
+
}
|
|
170
|
+
.pretui-timeline-event:last-child::before {
|
|
171
|
+
display: none;
|
|
172
|
+
}
|
|
173
|
+
.pretui-timeline-marker {
|
|
174
|
+
position: relative;
|
|
175
|
+
z-index: 1;
|
|
176
|
+
display: inline-flex;
|
|
177
|
+
align-items: center;
|
|
178
|
+
justify-content: center;
|
|
179
|
+
width: var(--_rail);
|
|
180
|
+
height: var(--_rail);
|
|
181
|
+
border-radius: 50%;
|
|
182
|
+
background: var(--card);
|
|
183
|
+
color: var(--muted-foreground);
|
|
184
|
+
box-shadow: var(
|
|
185
|
+
--pretui-shadow-hairline,
|
|
186
|
+
0 0 0 1px var(--border)
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
.pretui-timeline-glyph {
|
|
190
|
+
width: 13px;
|
|
191
|
+
height: 13px;
|
|
192
|
+
}
|
|
193
|
+
.pretui-timeline-dot {
|
|
194
|
+
width: 6px;
|
|
195
|
+
height: 6px;
|
|
196
|
+
border-radius: 50%;
|
|
197
|
+
background: var(--pretui-primary-ink, var(--primary));
|
|
198
|
+
}
|
|
199
|
+
.pretui-timeline-body {
|
|
200
|
+
display: grid;
|
|
201
|
+
gap: 4px;
|
|
202
|
+
min-width: 0;
|
|
203
|
+
padding-bottom: 2px;
|
|
204
|
+
}
|
|
205
|
+
.pretui-timeline-head {
|
|
206
|
+
display: flex;
|
|
207
|
+
align-items: center;
|
|
208
|
+
flex-wrap: wrap;
|
|
209
|
+
gap: 6px;
|
|
210
|
+
min-width: 0;
|
|
211
|
+
}
|
|
212
|
+
.pretui-timeline-title {
|
|
213
|
+
font-size: var(--text-ui-md, 12.5px);
|
|
214
|
+
font-weight: 600;
|
|
215
|
+
color: var(--foreground);
|
|
216
|
+
min-width: 0;
|
|
217
|
+
}
|
|
218
|
+
.pretui-timeline-when {
|
|
219
|
+
margin-left: auto;
|
|
220
|
+
font-size: var(--text-ui-sm, 11.5px);
|
|
221
|
+
color: var(--muted-foreground);
|
|
222
|
+
}
|
|
223
|
+
.pretui-timeline-detail {
|
|
224
|
+
margin: 0;
|
|
225
|
+
font-size: var(--text-ui-md, 12.5px);
|
|
226
|
+
color: var(--muted-foreground);
|
|
227
|
+
line-height: 1.5;
|
|
228
|
+
max-width: 62ch;
|
|
229
|
+
}
|
|
230
|
+
.pretui-timeline-person {
|
|
231
|
+
display: inline-flex;
|
|
232
|
+
align-items: center;
|
|
233
|
+
gap: 6px;
|
|
234
|
+
font-size: var(--text-ui-sm, 11.5px);
|
|
235
|
+
color: var(--muted-foreground);
|
|
236
|
+
}
|
|
237
|
+
/* compact: one line per event, small marker, no marker chrome */
|
|
238
|
+
.pretui-timeline[data-density='compact'] .pretui-timeline-event {
|
|
239
|
+
align-items: center;
|
|
240
|
+
}
|
|
241
|
+
.pretui-timeline[data-density='compact'] .pretui-timeline-marker {
|
|
242
|
+
/* no hairline ring at this size — the dot alone punches the rail */
|
|
243
|
+
box-shadow: none;
|
|
244
|
+
}
|
|
245
|
+
.pretui-timeline[data-density='compact'] .pretui-timeline-glyph {
|
|
246
|
+
width: 11px;
|
|
247
|
+
height: 11px;
|
|
248
|
+
}
|
|
249
|
+
.pretui-timeline[data-density='compact'] .pretui-timeline-body {
|
|
250
|
+
gap: 2px;
|
|
251
|
+
padding: 3px 0;
|
|
252
|
+
}
|
|
253
|
+
.pretui-timeline[data-density='compact'] .pretui-timeline-detail {
|
|
254
|
+
font-size: var(--text-ui-sm, 11.5px);
|
|
255
|
+
}
|
|
256
|
+
/* unnamed container query — resolves against the .pretui-timeline
|
|
257
|
+
ancestor container, so it may only style descendants */
|
|
258
|
+
@container (max-width: 26rem) {
|
|
259
|
+
.pretui-timeline-when {
|
|
260
|
+
margin-left: 0;
|
|
261
|
+
}
|
|
262
|
+
.pretui-timeline-detail {
|
|
263
|
+
max-width: none;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
</style>
|
|
268
|
+
</template>
|
|
269
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
## What it is
|
|
2
|
+
|
|
3
|
+
A chronological sequence rendered as an ordered list with a vertical rail: audit trails, order history, a record's lifecycle, a batch's journey. Use it when the _order_ and the _when_ are both load-bearing. If items arrive continuously and the reader pages through them, **Feed** is the right pattern (and has the ARIA for it). If the sequence is a process the user is completing, **StepList**. If it is just a list, a list.
|
|
4
|
+
|
|
5
|
+
## The contract
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
@events: TimelineEvent[] { id, title, at?, status?, token?, person?, body?, icon? }
|
|
9
|
+
@label?, @density? ('expanded' | 'compact'), @now?
|
|
10
|
+
<:default> — replaces the body
|
|
11
|
+
Element: an <ol>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**The order you pass is the order rendered and numbered.** No sorting, no reversing. Newest-first and oldest-first are both legitimate and the component refuses to guess.
|
|
15
|
+
|
|
16
|
+
**The event fields map onto kit components rather than to strings:** `status` → **StatusChip** (hue derived from the value, Law 2), `token` → **Token** (machine values as jewelry, Law 3), `at` → **RelativeTime** (timer-free, `@now` supplied by the caller), `person` → **Avatar** plus name. That is the interesting design decision: the data shape is declarative, and the visual vocabulary is the kit's, so every timeline in a product looks the same and none of them invent their own status colours.
|
|
17
|
+
|
|
18
|
+
`@density='compact'` collapses each event to one line with a smaller marker and no marker ring; `expanded` gives each a body block.
|
|
19
|
+
|
|
20
|
+
## Prior art
|
|
21
|
+
|
|
22
|
+
**MUI `Timeline`** and the shadcn-community timelines are the references, and the criticism the source makes of them is specific and correct: **their rail is real DOM content** — connector `<span>`s and dot `<span>`s that a screen reader dutifully reads out as noise between every pair of items.
|
|
23
|
+
|
|
24
|
+
Pretui's departures:
|
|
25
|
+
|
|
26
|
+
- **The rail is a CSS pseudo-element** and therefore invisible to assistive tech by construction; the marker span carries `aria-hidden`. A screen reader reads "1. Lot B-1181 cupped — 3 days ago" and no bullet noise. This is the single best thing about the component.
|
|
27
|
+
- **It is a real `<ol>`**, so items are numbered and counted by the reader.
|
|
28
|
+
- **No left/right alternating layout.** MUI's signature look is dropped deliberately: it doubles the CSS, halves the line length, and reads as two unrelated columns at narrow widths. The "opposite content" slot that exists only to feed that layout goes with it.
|
|
29
|
+
- **No per-event duration bars** — compose **Meter** or **ProgressBar** into the default block.
|
|
30
|
+
|
|
31
|
+
Where it is behind MUI: no alternating layout (if you want that look, you cannot have it), no horizontal orientation, and no built-in grouping by day.
|
|
32
|
+
|
|
33
|
+
The narrow-container behaviour uses an **unnamed container query** — named ones are forbidden in realm code, because the scoped-CSS transpiler silently drops every rule after one — so the timeline reflows against its pane rather than the viewport. Same constraint and same payoff as **FormLayout**.
|
|
34
|
+
|
|
35
|
+
## Accessibility
|
|
36
|
+
|
|
37
|
+
No APG pattern; a timeline is a list, governed by WCAG **1.3.1** and **1.3.2 Meaningful Sequence**.
|
|
38
|
+
|
|
39
|
+
What is right:
|
|
40
|
+
|
|
41
|
+
- **`<ol>` with `role="list"` set explicitly.** The explicit role is not redundant: `list-style: none` strips list semantics in Safari/VoiceOver, so an unstyled list silently stops being announced as a list. The source calls this out, and most kits ship the bug.
|
|
42
|
+
- **All chrome is `aria-hidden` or a pseudo-element** (above). The reading experience is the content and nothing else.
|
|
43
|
+
- **`aria-label` on the list** gives the sequence a name.
|
|
44
|
+
- **Composed components carry their own semantics**: `RelativeTime` supplies a machine-readable timestamp, `StatusChip` supplies text, `Avatar` supplies a name.
|
|
45
|
+
|
|
46
|
+
Gaps:
|
|
47
|
+
|
|
48
|
+
- **Timestamps are relative, and relative time is ambiguous.** "3 days ago" is what **RelativeTime** renders; it renders a `<time datetime>` carrying the exact timestamp, but screen readers announce the relative text, not the attribute. For an audit trail, where the exact timestamp is often what a user needs, put the absolute date in the item's own text.
|
|
49
|
+
- **`@now` is caller-supplied** (realm components own no timers), so a stale `@now` produces stale relative times with no indication. On a long-lived page "3 days ago" can quietly become wrong.
|
|
50
|
+
- **Event `title` is not a heading.** A long timeline has no structure to navigate by; a screen-reader user reads it linearly or not at all.
|
|
51
|
+
- **The status is announced as a bare word** ("Cupped") with no indication that it is a status rather than part of the title. **StatusChip**'s own note applies: a chip has no accessible relationship to the property it is the value of.
|
|
52
|
+
- **No `aria-current`** for a "you are here" event, if the timeline shows one.
|
|
53
|
+
- **Icons come from the icon registry via `@icon`** and are inside the `aria-hidden` marker, so a meaningful icon (error, warning) conveys nothing to assistive tech. Put the meaning in `status` or `title`.
|
|
54
|
+
|
|
55
|
+
## Theming
|
|
56
|
+
|
|
57
|
+
Rail and markers: `--border` (rail), `--card` (marker fill), `--pretui-shadow-hairline` (the marker ring, removed at compact density), plus the marker glyph's ink. Content: `--foreground`, `--muted-foreground`, `--text-ui-md`, `--text-ui-sm`. Composed components bring their own — **StatusChip**'s `--chart-*` palette, **Token**'s `--pretui-token-hue`, **Avatar**'s hash palette.
|
|
58
|
+
|
|
59
|
+
The 11px compact glyph, the marker sizes and the rail width are fixed; density is an arg, not a token.
|
|
60
|
+
|
|
61
|
+
Because the rail is a pseudo-element behind opaque markers, a theme must keep `--card` (the marker fill) opaque and distinct from `--border` — a transparent or near-border marker fill lets the rail show through and the sequence stops reading as discrete moments.
|
|
62
|
+
|
|
63
|
+
The styles sit in `@layer PretComposite`, above RelativeTime's `PretComponent` layer, so what this component sets on RelativeTime wins by layer order. A caller's unlayered CSS overrides both without a more specific selector.
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
// Pretui — Timeline usage page.
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
4
|
+
import { FreestyleUsage } from './freestyle-usage';
|
|
5
|
+
import { Timeline } from './timeline';
|
|
6
|
+
import type { TimelineEvent } from './timeline';
|
|
7
|
+
import { NOW } from '../demo-structure-data';
|
|
8
|
+
|
|
9
|
+
// ── Timeline ← MUI Timeline / shadcn-community timelines ─────────────────
|
|
10
|
+
const NOW_OPTIONS = [
|
|
11
|
+
'2026-04-03T10:00:00Z',
|
|
12
|
+
'2026-05-20T10:00:00Z',
|
|
13
|
+
'2026-08-12T10:00:00Z',
|
|
14
|
+
'2027-01-09T10:00:00Z',
|
|
15
|
+
];
|
|
16
|
+
|
|
17
|
+
// Lot B-1181's life, from booking to the curing room. The events carry
|
|
18
|
+
// exactly the four composed pieces the component knows how to place: a
|
|
19
|
+
// StatusChip (hue derived from the value), a Token (the machine value), a
|
|
20
|
+
// RelativeTime (measured against @now), and an Avatar for the person.
|
|
21
|
+
const SHIPMENT: TimelineEvent[] = [
|
|
22
|
+
{
|
|
23
|
+
id: 'booked',
|
|
24
|
+
title: 'Spring lot booked',
|
|
25
|
+
at: '2026-03-14T09:20:00Z',
|
|
26
|
+
status: 'confirmed',
|
|
27
|
+
token: 'B-1181',
|
|
28
|
+
person: 'Mei-Lin Chua',
|
|
29
|
+
icon: 'check',
|
|
30
|
+
body: 'Wuyi Origins confirmed 48 crates of Da Hong Pao against the spring booking. The deposit cleared the same afternoon and the pick window was fixed at two weeks either side of 12 April.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: 'picked',
|
|
34
|
+
title: 'Leaf picked at Wuyishan',
|
|
35
|
+
at: '2026-04-02T23:40:00Z',
|
|
36
|
+
status: 'complete',
|
|
37
|
+
person: 'Ryo Katagiri',
|
|
38
|
+
icon: 'sparkles',
|
|
39
|
+
body: 'Four days early — the estate called the weather and moved. Yield came in at 51 crates, three over the booking, which the desk took at the quoted rate.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: 'cupped',
|
|
43
|
+
title: 'Cupping notes filed',
|
|
44
|
+
at: '2026-04-19T08:05:00Z',
|
|
45
|
+
status: 'approved',
|
|
46
|
+
token: 'score 93',
|
|
47
|
+
person: 'Ingrid Halvorsen',
|
|
48
|
+
icon: 'star',
|
|
49
|
+
body: 'Blind against the selling sample, three cups. Above the ninety band, so the lot goes to the ceremonial menu rather than the house blend.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: 'shipped',
|
|
53
|
+
title: 'Container left Fuzhou',
|
|
54
|
+
at: '2026-05-07T16:00:00Z',
|
|
55
|
+
status: 'in transit',
|
|
56
|
+
token: 'MSKU-4471290',
|
|
57
|
+
icon: 'send',
|
|
58
|
+
body: 'Sea freight, paperwork sent ahead of the vessel with the cupping certificate attached.',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: 'held',
|
|
62
|
+
title: 'Held for customs paperwork',
|
|
63
|
+
at: '2026-06-11T11:30:00Z',
|
|
64
|
+
status: 'blocked',
|
|
65
|
+
person: 'Yusuf Demirci',
|
|
66
|
+
icon: 'triangle-alert',
|
|
67
|
+
body: 'Phytosanitary certificate named the cultivar but not the estate. Re-issued and cleared in nine days.',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
id: 'received',
|
|
71
|
+
title: 'Received at the curing room',
|
|
72
|
+
at: '2026-06-30T07:15:00Z',
|
|
73
|
+
status: 'complete',
|
|
74
|
+
token: '51 crates',
|
|
75
|
+
person: 'Zanele Mokoena',
|
|
76
|
+
icon: 'folder',
|
|
77
|
+
body: 'Logged at 58% relative humidity. Re-weighed against the bill of lading with no discrepancy.',
|
|
78
|
+
},
|
|
79
|
+
];
|
|
80
|
+
|
|
81
|
+
const TIMELINE_DENSITIES = ['expanded', 'compact'];
|
|
82
|
+
|
|
83
|
+
class TimelineUsage extends Component {
|
|
84
|
+
events = SHIPMENT;
|
|
85
|
+
densityOptions = TIMELINE_DENSITIES;
|
|
86
|
+
nowOptions = NOW_OPTIONS;
|
|
87
|
+
|
|
88
|
+
@tracked density = 'expanded';
|
|
89
|
+
@tracked label = 'Lot B-1181 — shipment history';
|
|
90
|
+
@tracked now = NOW;
|
|
91
|
+
|
|
92
|
+
setDensity = (v: string) => (this.density = v);
|
|
93
|
+
setLabel = (v: string) => (this.label = v);
|
|
94
|
+
setNow = (v: string) => (this.now = v);
|
|
95
|
+
|
|
96
|
+
get densityVal() {
|
|
97
|
+
return this.density as 'compact' | 'expanded';
|
|
98
|
+
}
|
|
99
|
+
get usage() {
|
|
100
|
+
let bits = ['@events={{this.events}}', `@label='${this.label}'`];
|
|
101
|
+
if (this.density !== 'expanded') bits.push(`@density='${this.density}'`);
|
|
102
|
+
bits.push(`@now='${this.now}'`);
|
|
103
|
+
return `<Timeline\n ${bits.join('\n ')}\n/>`;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
<template>
|
|
107
|
+
<FreestyleUsage
|
|
108
|
+
@name='Timeline'
|
|
109
|
+
@description="A chronological sequence — a shipment's life, an audit trail, a release history. Semantically it is an ordered list and nothing else: role='list' is stamped explicitly because list-style:none strips list semantics in Safari/VoiceOver, and the rail is a CSS pseudo-element while the marker span carries aria-hidden, so a screen reader hears '1. Spring lot booked, confirmed, B-1181, 5 months ago' and not a stream of bullet noise. Everything with meaning is composed from the kit rather than hand-drawn: StatusChip (hue derived from the value, never picked), Token for machine values, RelativeTime for the when, Avatar for the who. Relative times are timer-free — pass a fresh @now to re-derive them, which is what the 'now' knob below does. Honest limits: no left/right alternating layout and no opposite-content slot (they double the CSS, halve the line length, and read as two unrelated columns at narrow widths), and no per-event duration bars — compose a <Meter> or <ProgressBar> into the default block instead."
|
|
110
|
+
@source={{this.usage}}
|
|
111
|
+
>
|
|
112
|
+
<:example>
|
|
113
|
+
<div class='sd-pad'>
|
|
114
|
+
<Timeline
|
|
115
|
+
@events={{this.events}}
|
|
116
|
+
@density={{this.densityVal}}
|
|
117
|
+
@label={{this.label}}
|
|
118
|
+
@now={{this.now}}
|
|
119
|
+
/>
|
|
120
|
+
</div>
|
|
121
|
+
</:example>
|
|
122
|
+
<:api as |Args|>
|
|
123
|
+
<Args.Object
|
|
124
|
+
@name='events'
|
|
125
|
+
@required={{true}}
|
|
126
|
+
@value={{this.events}}
|
|
127
|
+
@description='The events, in the order you want them rendered and numbered — oldest-first or newest-first, the component does not sort. Each TimelineEvent is { id, title, at?, status?, token?, person?, body?, icon? }.'
|
|
128
|
+
/>
|
|
129
|
+
<Args.String
|
|
130
|
+
@name='density'
|
|
131
|
+
@value={{this.density}}
|
|
132
|
+
@options={{this.densityOptions}}
|
|
133
|
+
@defaultValue='expanded'
|
|
134
|
+
@description="'expanded' gives each event a body and a ringed marker; 'compact' tightens the rail to 16px, drops the marker ring and collapses each event toward a single line."
|
|
135
|
+
@onInput={{this.setDensity}}
|
|
136
|
+
/>
|
|
137
|
+
<Args.String
|
|
138
|
+
@name='now'
|
|
139
|
+
@value={{this.now}}
|
|
140
|
+
@options={{this.nowOptions}}
|
|
141
|
+
@description='The instant relative times are measured against. Nothing ticks — the realm forbids timers — so move this to re-derive every phrase at once.'
|
|
142
|
+
@onInput={{this.setNow}}
|
|
143
|
+
/>
|
|
144
|
+
<Args.String
|
|
145
|
+
@name='label'
|
|
146
|
+
@value={{this.label}}
|
|
147
|
+
@defaultValue='Timeline'
|
|
148
|
+
@description='Accessible name for the list.'
|
|
149
|
+
@onInput={{this.setLabel}}
|
|
150
|
+
/>
|
|
151
|
+
<Args.Yield
|
|
152
|
+
@name=':default'
|
|
153
|
+
@description='Replaces the event body. Receives the event, so a caller can render a diff, a card, or a Meter where the paragraph would go.'
|
|
154
|
+
@hideControls={{true}}
|
|
155
|
+
/>
|
|
156
|
+
<Args.Yield
|
|
157
|
+
@name=':marker'
|
|
158
|
+
@description='Replaces the marker glyph. Receives the event. The marker stays aria-hidden whatever you put in it — it is chrome by construction, so put nothing in it that a reader must parse.'
|
|
159
|
+
@hideControls={{true}}
|
|
160
|
+
/>
|
|
161
|
+
</:api>
|
|
162
|
+
</FreestyleUsage>
|
|
163
|
+
<style scoped>
|
|
164
|
+
.sd-pad {
|
|
165
|
+
padding: var(--space-4, 11px);
|
|
166
|
+
border-radius: var(--radius-surface, 10px);
|
|
167
|
+
background: var(--card);
|
|
168
|
+
box-shadow: var(
|
|
169
|
+
--pretui-shadow-hairline,
|
|
170
|
+
0 0 0 1px var(--border)
|
|
171
|
+
);
|
|
172
|
+
min-width: 0;
|
|
173
|
+
}
|
|
174
|
+
</style>
|
|
175
|
+
</template>
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export const DEMOS_TIMELINE: Record<string, unknown> = {
|
|
179
|
+
Timeline: TimelineUsage,
|
|
180
|
+
};
|