@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,270 @@
|
|
|
1
|
+
// Pretui — TableOfContents usage page.
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
4
|
+
import { FreestyleUsage } from './freestyle-usage';
|
|
5
|
+
import { TableOfContents } from './table-of-contents';
|
|
6
|
+
import type { TocItem } from './table-of-contents';
|
|
7
|
+
import { Token } from './token';
|
|
8
|
+
|
|
9
|
+
// ── TableOfContents ← docs-site scroll-spy TOCs ──────────────────────────
|
|
10
|
+
// The example needs a real scrolling document for the observer to spy on,
|
|
11
|
+
// so the page ships one: the sourcing manual, in its own scroll pane beside
|
|
12
|
+
// the TOC. The component auto-roots its IntersectionObserver on the nearest
|
|
13
|
+
// scrollable ancestor of the first heading, which is exactly that pane — no
|
|
14
|
+
// wiring from the caller.
|
|
15
|
+
const MANUAL: TocItem[] = [
|
|
16
|
+
{ id: 'sm-season', label: 'Before the season', level: 1 },
|
|
17
|
+
{ id: 'sm-booking', label: 'Booking a lot', level: 1 },
|
|
18
|
+
{ id: 'sm-deposit', label: 'Deposits', level: 2 },
|
|
19
|
+
{ id: 'sm-window', label: 'The pick window', level: 2 },
|
|
20
|
+
{ id: 'sm-cupping', label: 'Cupping', level: 1 },
|
|
21
|
+
{ id: 'sm-scoring', label: 'Scoring', level: 2 },
|
|
22
|
+
{ id: 'sm-customs', label: 'Shipping and customs', level: 1 },
|
|
23
|
+
{ id: 'sm-storage', label: 'Storage', level: 1 },
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
class TableOfContentsUsage extends Component {
|
|
27
|
+
items = MANUAL;
|
|
28
|
+
|
|
29
|
+
@tracked label = 'On this page';
|
|
30
|
+
@tracked spy = true;
|
|
31
|
+
@tracked band: number | null = 38;
|
|
32
|
+
@tracked activeLabel = 'Before the season';
|
|
33
|
+
|
|
34
|
+
setLabel = (v: string) => (this.label = v);
|
|
35
|
+
setSpy = (v: boolean) => (this.spy = v);
|
|
36
|
+
setBand = (v: number | null) => (this.band = v);
|
|
37
|
+
onActiveChange = (id: string) => {
|
|
38
|
+
this.activeLabel = MANUAL.find((i) => i.id === id)?.label ?? id;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
get bandVal() {
|
|
42
|
+
return this.band ?? undefined;
|
|
43
|
+
}
|
|
44
|
+
get usage() {
|
|
45
|
+
let bits = ['@items={{this.items}}', `@label='${this.label}'`];
|
|
46
|
+
if (!this.spy) bits.push('@spy={{false}}');
|
|
47
|
+
if (this.band !== null && this.band !== 38) {
|
|
48
|
+
bits.push(`@band={{${this.band}}}`);
|
|
49
|
+
}
|
|
50
|
+
bits.push('@onActiveChange={{this.onActiveChange}}');
|
|
51
|
+
return `<TableOfContents\n ${bits.join('\n ')}\n/>`;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
<template>
|
|
55
|
+
<FreestyleUsage
|
|
56
|
+
@name='TableOfContents'
|
|
57
|
+
@description="Document navigation that knows where the reader is. It renders a nav landmark around an ordered list of anchors, marks the current section with aria-current='location', and moves a single travelling bar down the rail as you scroll — the marker is a sibling of the list carrying aria-hidden, so assistive tech reads eight links and no chrome. Section tracking is ONE IntersectionObserver created inside a modifier and disconnected on cleanup: no scroll handler, no re-measure per frame, no timer. It auto-roots on the nearest scrollable ancestor of the first heading, so a TOC beside a scrolling panel (like the manual on the right) works with no wiring. Scroll the manual to watch the marker travel; @band sets how far down the pane a heading must reach before it counts as current. Honest limits: no collapsible sub-lists (levels indent instead — an accordion in a TOC hides the thing the reader came for), and activation does not scroll for you; the anchor's href does whatever the caller's scroll-behavior says."
|
|
58
|
+
@source={{this.usage}}
|
|
59
|
+
>
|
|
60
|
+
<:example>
|
|
61
|
+
{{! the query container must be an ANCESTOR of the rule's subject —
|
|
62
|
+
an unnamed @container can never match the container element
|
|
63
|
+
itself, so .toc-layout gets a wrapper rather than the type }}
|
|
64
|
+
<div class='toc-wrap'>
|
|
65
|
+
<div class='toc-layout'>
|
|
66
|
+
<TableOfContents
|
|
67
|
+
class='toc-side'
|
|
68
|
+
@items={{this.items}}
|
|
69
|
+
@label={{this.label}}
|
|
70
|
+
@spy={{this.spy}}
|
|
71
|
+
@band={{this.bandVal}}
|
|
72
|
+
@onActiveChange={{this.onActiveChange}}
|
|
73
|
+
/>
|
|
74
|
+
<div class='toc-doc'>
|
|
75
|
+
<section id='sm-season'>
|
|
76
|
+
<h3 class='toc-h'>Before the season</h3>
|
|
77
|
+
<p class='toc-p'>Every spring the desk re-reads last year's
|
|
78
|
+
scorecards before a single call is placed. Wuyi Origins and Uji
|
|
79
|
+
Valley Growers carry standing bookings; everyone else is quoted
|
|
80
|
+
fresh against the current sheet.</p>
|
|
81
|
+
<p class='toc-p'>The manual exists because the same four mistakes
|
|
82
|
+
repeat: a deposit sent before the pick window is confirmed, a
|
|
83
|
+
cupping filed against the wrong lot id, a container booked
|
|
84
|
+
without the phytosanitary paperwork, and a crate stored above
|
|
85
|
+
the humidity ceiling.</p>
|
|
86
|
+
</section>
|
|
87
|
+
<section id='sm-booking'>
|
|
88
|
+
<h3 class='toc-h'>Booking a lot</h3>
|
|
89
|
+
<p class='toc-p'>A booking is a promise about a harvest that has
|
|
90
|
+
not happened yet. Name the estate, the cultivar, the target
|
|
91
|
+
weight and the pick window, and nothing else.</p>
|
|
92
|
+
</section>
|
|
93
|
+
<section id='sm-deposit'>
|
|
94
|
+
<h4 class='toc-h toc-h-sub'>Deposits</h4>
|
|
95
|
+
<p class='toc-p'>Thirty percent on signature, the balance against
|
|
96
|
+
the bill of lading. Never send a deposit against an unconfirmed
|
|
97
|
+
window — Fujian Maritime Tea will hold it, but Darjeeling First
|
|
98
|
+
Flush Ltd. will not.</p>
|
|
99
|
+
</section>
|
|
100
|
+
<section id='sm-window'>
|
|
101
|
+
<h4 class='toc-h toc-h-sub'>The pick window</h4>
|
|
102
|
+
<p class='toc-p'>Two weeks either side of the estate's own
|
|
103
|
+
estimate. Alishan Cloud Farms quotes narrow and hits it; Kericho
|
|
104
|
+
Leaf Union quotes wide and drifts late.</p>
|
|
105
|
+
</section>
|
|
106
|
+
<section id='sm-cupping'>
|
|
107
|
+
<h3 class='toc-h'>Cupping</h3>
|
|
108
|
+
<p class='toc-p'>Every arriving lot is cupped blind against the
|
|
109
|
+
sample that sold it. Three cups, one taster, notes filed the
|
|
110
|
+
same day against the lot id and nothing else.</p>
|
|
111
|
+
</section>
|
|
112
|
+
<section id='sm-scoring'>
|
|
113
|
+
<h4 class='toc-h toc-h-sub'>Scoring</h4>
|
|
114
|
+
<p class='toc-p'>A hundred-point sheet, but only the band matters:
|
|
115
|
+
above ninety it goes to the ceremonial menu, eighty to ninety to
|
|
116
|
+
the house blend, below eighty back to the supplier with the
|
|
117
|
+
cups photographed.</p>
|
|
118
|
+
</section>
|
|
119
|
+
<section id='sm-customs'>
|
|
120
|
+
<h3 class='toc-h'>Shipping and customs</h3>
|
|
121
|
+
<p class='toc-p'>Sea freight from Fuzhou, air only for first
|
|
122
|
+
flush. The paperwork travels ahead of the container, never with
|
|
123
|
+
it, and the customs broker gets the cupping certificate before
|
|
124
|
+
the vessel sails.</p>
|
|
125
|
+
</section>
|
|
126
|
+
<section id='sm-storage'>
|
|
127
|
+
<h3 class='toc-h'>Storage</h3>
|
|
128
|
+
<p class='toc-p'>Sixty percent relative humidity, no light, no
|
|
129
|
+
neighbours with a smell. Pu-erh is the exception and lives in
|
|
130
|
+
its own room, which is the only reason the humidity logs are
|
|
131
|
+
audited monthly.</p>
|
|
132
|
+
<p class='toc-p'>Anything that fails an audit is re-cupped before
|
|
133
|
+
it is re-priced, not after.</p>
|
|
134
|
+
</section>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
<p class='sd-readout'>
|
|
139
|
+
Current section:
|
|
140
|
+
<Token @value={{this.activeLabel}} />
|
|
141
|
+
</p>
|
|
142
|
+
</:example>
|
|
143
|
+
<:api as |Args|>
|
|
144
|
+
<Args.Object
|
|
145
|
+
@name='items'
|
|
146
|
+
@required={{true}}
|
|
147
|
+
@value={{this.items}}
|
|
148
|
+
@description='Sections in document order. Each TocItem is { id, label, level? } where id is the target element’s DOM id — it becomes the link’s href fragment and the observer’s target.'
|
|
149
|
+
/>
|
|
150
|
+
<Args.String
|
|
151
|
+
@name='label'
|
|
152
|
+
@value={{this.label}}
|
|
153
|
+
@defaultValue='On this page'
|
|
154
|
+
@description='Accessible name for the nav landmark.'
|
|
155
|
+
@onInput={{this.setLabel}}
|
|
156
|
+
/>
|
|
157
|
+
<Args.Bool
|
|
158
|
+
@name='spy'
|
|
159
|
+
@value={{this.spy}}
|
|
160
|
+
@defaultValue={{true}}
|
|
161
|
+
@description='Watch the document and follow the reader’s scroll. Defaults to @links: on for fragment links, off for buttons, whose ids need not be DOM ids. Turn it off to drive the active section entirely from @activeId.'
|
|
162
|
+
@onInput={{this.setSpy}}
|
|
163
|
+
/>
|
|
164
|
+
<Args.Number
|
|
165
|
+
@name='band'
|
|
166
|
+
@value={{this.band}}
|
|
167
|
+
@min={{5}}
|
|
168
|
+
@max={{90}}
|
|
169
|
+
@step={{1}}
|
|
170
|
+
@defaultValue={{38}}
|
|
171
|
+
@description='How far down the scroll pane, as a percentage, a heading must reach before it becomes current. Low values make the TOC eager; high values make it lag behind the reader.'
|
|
172
|
+
@onInput={{this.setBand}}
|
|
173
|
+
/>
|
|
174
|
+
<Args.String
|
|
175
|
+
@name='activeId'
|
|
176
|
+
@description='Controlled active id. Pass it and the component stops owning the active state — the observer still reports through @onActiveChange.'
|
|
177
|
+
@hideControls={{true}}
|
|
178
|
+
/>
|
|
179
|
+
<Args.String
|
|
180
|
+
@name='defaultActiveId'
|
|
181
|
+
@description='Initial active id when uncontrolled. Defaults to the first item.'
|
|
182
|
+
@hideControls={{true}}
|
|
183
|
+
/>
|
|
184
|
+
<Args.Action
|
|
185
|
+
@name='onActiveChange'
|
|
186
|
+
@description='Fires with the id whenever the active section changes, from a click or from the observer.'
|
|
187
|
+
@hideControls={{true}}
|
|
188
|
+
/>
|
|
189
|
+
<Args.Bool
|
|
190
|
+
@name='links'
|
|
191
|
+
@defaultValue={{true}}
|
|
192
|
+
@description='Rows are fragment links (a href="#id"). False renders them as button type=button with no href, and the component does no scrolling: a caller whose sections sit in its own scroll panel scrolls from the @onSelect event’s currentTarget. @spy then defaults off.'
|
|
193
|
+
@hideControls={{true}}
|
|
194
|
+
/>
|
|
195
|
+
<Args.Action
|
|
196
|
+
@name='onSelect'
|
|
197
|
+
@description='Fires with (id, event) when a row is clicked, in either mode. It only reports: passing it never changes what renders, so link-mode rows keep their hrefs.'
|
|
198
|
+
@hideControls={{true}}
|
|
199
|
+
/>
|
|
200
|
+
<Args.Yield
|
|
201
|
+
@name=':item'
|
|
202
|
+
@description='Replaces the row text. Receives (item, active, index) so a caller can render a count, an icon, a progress dot, or a step number beside the label.'
|
|
203
|
+
@hideControls={{true}}
|
|
204
|
+
/>
|
|
205
|
+
</:api>
|
|
206
|
+
</FreestyleUsage>
|
|
207
|
+
<style scoped>
|
|
208
|
+
.toc-wrap {
|
|
209
|
+
container-type: inline-size;
|
|
210
|
+
min-width: 0;
|
|
211
|
+
}
|
|
212
|
+
.toc-layout {
|
|
213
|
+
display: grid;
|
|
214
|
+
grid-template-columns: 13rem 1fr;
|
|
215
|
+
gap: var(--boxel-sp);
|
|
216
|
+
align-items: start;
|
|
217
|
+
min-width: 0;
|
|
218
|
+
}
|
|
219
|
+
.toc-side {
|
|
220
|
+
position: sticky;
|
|
221
|
+
top: 0;
|
|
222
|
+
}
|
|
223
|
+
.toc-doc {
|
|
224
|
+
max-height: 19rem;
|
|
225
|
+
overflow-y: auto;
|
|
226
|
+
padding: var(--boxel-sp-sm) var(--boxel-sp);
|
|
227
|
+
border-radius: var(--boxel-border-radius);
|
|
228
|
+
background-color: var(--card);
|
|
229
|
+
color: var(--card-foreground);
|
|
230
|
+
box-shadow: 0 0 0 1px var(--border);
|
|
231
|
+
min-width: 0;
|
|
232
|
+
}
|
|
233
|
+
.toc-h {
|
|
234
|
+
margin: var(--boxel-sp) 0 var(--boxel-sp-3xs);
|
|
235
|
+
font-size: var(--boxel-font-size-sm);
|
|
236
|
+
font-weight: 600;
|
|
237
|
+
}
|
|
238
|
+
.toc-h-sub {
|
|
239
|
+
font-size: var(--boxel-font-size-xs);
|
|
240
|
+
color: var(--muted-foreground);
|
|
241
|
+
}
|
|
242
|
+
.toc-doc section:first-child .toc-h {
|
|
243
|
+
margin-top: 0;
|
|
244
|
+
}
|
|
245
|
+
.toc-p {
|
|
246
|
+
margin: 0 0 var(--boxel-sp-2xs);
|
|
247
|
+
font-size: var(--boxel-font-size-xs);
|
|
248
|
+
line-height: 1.55;
|
|
249
|
+
color: var(--muted-foreground);
|
|
250
|
+
max-width: 56ch;
|
|
251
|
+
}
|
|
252
|
+
.sd-readout {
|
|
253
|
+
margin: var(--boxel-sp-xs) 0 0;
|
|
254
|
+
font-size: var(--boxel-font-size-2xs);
|
|
255
|
+
color: var(--muted-foreground);
|
|
256
|
+
}
|
|
257
|
+
/* unnamed container query only — the named forms silently delete every
|
|
258
|
+
following rule in the transpiled stylesheet */
|
|
259
|
+
@container (max-width: 34rem) {
|
|
260
|
+
.toc-layout {
|
|
261
|
+
grid-template-columns: 1fr;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
</style>
|
|
265
|
+
</template>
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
export const DEMOS_TABLE_OF_CONTENTS: Record<string, unknown> = {
|
|
269
|
+
TableOfContents: TableOfContentsUsage,
|
|
270
|
+
};
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// Pretui — Table: the DataGrid shell as a yieldable primitive for custom tables.
|
|
2
|
+
import type { TemplateOnlyComponent } from '@ember/component/template-only';
|
|
3
|
+
import { eq } from '@cardstack/boxel-ui/helpers';
|
|
4
|
+
|
|
5
|
+
// Table — the DataGrid shell as a yieldable primitive (added for the
|
|
6
|
+
// freestyle dogfood pass: composite tables that need custom cell content —
|
|
7
|
+
// like the Component API table — wear the same cloth as DataGrid without its
|
|
8
|
+
// data-driven machinery). Yielded rows/cells are styled via :deep().
|
|
9
|
+
export interface TableSignature {
|
|
10
|
+
Args: {
|
|
11
|
+
/** the table's accessible name, rendered as a real `<caption>` */
|
|
12
|
+
caption?: string;
|
|
13
|
+
/** accessible name when no name is on screen; lands as `aria-label` on
|
|
14
|
+
* the `<table>` and is dropped when a caption or `@labelledBy` names it */
|
|
15
|
+
label?: string;
|
|
16
|
+
/** id of an on-screen element (a heading) that names the table; lands as
|
|
17
|
+
* `aria-labelledby` on the `<table>` and is dropped when a caption renders */
|
|
18
|
+
labelledBy?: string;
|
|
19
|
+
/** false drops the table's own radius and hairline, for a table seated
|
|
20
|
+
* inside a panel that already draws them (default true) */
|
|
21
|
+
framed?: boolean;
|
|
22
|
+
};
|
|
23
|
+
Blocks: { caption: []; head: []; body: [] };
|
|
24
|
+
Element: HTMLDivElement;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// The <:caption> block wins over @caption, the way a block wins over its arg
|
|
28
|
+
// on Notification, AlertDialog and Card. A caption is the table's name, so
|
|
29
|
+
// @labelledBy and @label only land when neither renders, and @labelledBy wins
|
|
30
|
+
// over @label, as aria-labelledby does over aria-label.
|
|
31
|
+
export const Table: TemplateOnlyComponent<TableSignature> = <template>
|
|
32
|
+
<div
|
|
33
|
+
class='pretui-tablewrap'
|
|
34
|
+
data-framed={{if (eq @framed false) 'false'}}
|
|
35
|
+
data-test-pretui-table
|
|
36
|
+
...attributes
|
|
37
|
+
>
|
|
38
|
+
<table
|
|
39
|
+
class='pretui-table'
|
|
40
|
+
aria-labelledby={{if
|
|
41
|
+
(has-block 'caption')
|
|
42
|
+
null
|
|
43
|
+
(if @caption null @labelledBy)
|
|
44
|
+
}}
|
|
45
|
+
aria-label={{if
|
|
46
|
+
(has-block 'caption')
|
|
47
|
+
null
|
|
48
|
+
(if @caption null (if @labelledBy null @label))
|
|
49
|
+
}}
|
|
50
|
+
>
|
|
51
|
+
{{#if (has-block 'caption')}}
|
|
52
|
+
<caption class='pretui-table-caption'>{{yield to='caption'}}</caption>
|
|
53
|
+
{{else if @caption}}
|
|
54
|
+
<caption class='pretui-table-caption'>{{@caption}}</caption>
|
|
55
|
+
{{/if}}
|
|
56
|
+
<thead>{{yield to='head'}}</thead>
|
|
57
|
+
<tbody>{{yield to='body'}}</tbody>
|
|
58
|
+
</table>
|
|
59
|
+
</div>
|
|
60
|
+
<style scoped>
|
|
61
|
+
@layer PretComponent {
|
|
62
|
+
/* overflow: auto makes the wrapper the scroll container of the sticky
|
|
63
|
+
header, so the header only sticks once the wrapper itself scrolls
|
|
64
|
+
vertically. A caller bounds it with --pretui-table-max-height; unset,
|
|
65
|
+
the wrapper grows with its rows and the header scrolls away with them. */
|
|
66
|
+
.pretui-tablewrap {
|
|
67
|
+
--pretui-table-head-height: 1.875rem;
|
|
68
|
+
|
|
69
|
+
overflow: auto;
|
|
70
|
+
/* a focused cell scrolls clear of the sticky header */
|
|
71
|
+
scroll-padding-block-start: var(--pretui-table-head-height);
|
|
72
|
+
min-width: 0;
|
|
73
|
+
max-width: 100%;
|
|
74
|
+
max-height: var(--pretui-table-max-height, none);
|
|
75
|
+
border-radius: var(--boxel-border-radius);
|
|
76
|
+
box-shadow: 0 0 0 1px var(--border);
|
|
77
|
+
background-color: var(--card);
|
|
78
|
+
color: var(--card-foreground);
|
|
79
|
+
}
|
|
80
|
+
.pretui-tablewrap[data-framed='false'] {
|
|
81
|
+
border-radius: 0;
|
|
82
|
+
box-shadow: none;
|
|
83
|
+
}
|
|
84
|
+
.pretui-table {
|
|
85
|
+
width: 100%;
|
|
86
|
+
border-collapse: collapse;
|
|
87
|
+
font-size: var(--boxel-font-size-xs);
|
|
88
|
+
}
|
|
89
|
+
.pretui-table-caption {
|
|
90
|
+
padding: var(--boxel-sp-2xs) var(--boxel-sp-xs);
|
|
91
|
+
text-align: start;
|
|
92
|
+
color: var(--muted-foreground);
|
|
93
|
+
font-size: var(--boxel-caption-font-size);
|
|
94
|
+
font-weight: var(--boxel-caption-font-weight);
|
|
95
|
+
line-height: var(--boxel-caption-line-height);
|
|
96
|
+
letter-spacing: var(--boxel-caption-letter-spacing);
|
|
97
|
+
}
|
|
98
|
+
/* The header voice is inherited from thead, so it reaches the column
|
|
99
|
+
headers and never a row header th in the body. */
|
|
100
|
+
.pretui-table thead {
|
|
101
|
+
font-family: var(--font-mono);
|
|
102
|
+
font-size: var(--boxel-ui-label-font-size);
|
|
103
|
+
letter-spacing: var(--boxel-ui-label-letter-spacing);
|
|
104
|
+
text-transform: uppercase;
|
|
105
|
+
white-space: nowrap;
|
|
106
|
+
}
|
|
107
|
+
/* cells wrap, so the body line height clears the 1.4 floor */
|
|
108
|
+
.pretui-table tbody {
|
|
109
|
+
vertical-align: top;
|
|
110
|
+
line-height: var(--boxel-line-height-md);
|
|
111
|
+
}
|
|
112
|
+
/* :deep() only for what the browser's th rule overrides and for what
|
|
113
|
+
doesn't inherit. */
|
|
114
|
+
.pretui-table :deep(thead th) {
|
|
115
|
+
position: sticky;
|
|
116
|
+
top: 0;
|
|
117
|
+
z-index: 2;
|
|
118
|
+
height: var(--pretui-table-head-height);
|
|
119
|
+
padding: 0 var(--boxel-sp-xs);
|
|
120
|
+
text-align: start;
|
|
121
|
+
font-weight: var(--boxel-ui-label-font-weight);
|
|
122
|
+
background-color: var(--inset);
|
|
123
|
+
color: var(--foreground);
|
|
124
|
+
box-shadow: inset 0 -1px 0 var(--border-strong);
|
|
125
|
+
}
|
|
126
|
+
.pretui-table :deep(td),
|
|
127
|
+
.pretui-table :deep(tbody th) {
|
|
128
|
+
padding: var(--boxel-sp-2xs) var(--boxel-sp-xs);
|
|
129
|
+
box-shadow: inset 0 -1px 0 var(--border);
|
|
130
|
+
}
|
|
131
|
+
/* the frame (Table's own ring, or the panel a frameless table sits in)
|
|
132
|
+
already draws the bottom edge */
|
|
133
|
+
.pretui-table :deep(tbody tr:last-child td),
|
|
134
|
+
.pretui-table :deep(tbody tr:last-child th) {
|
|
135
|
+
box-shadow: none;
|
|
136
|
+
}
|
|
137
|
+
/* Kept off td: at this specificity it would beat a layered caller's
|
|
138
|
+
own cell alignment, such as a right-aligned number column. */
|
|
139
|
+
.pretui-table :deep(tbody th) {
|
|
140
|
+
text-align: start;
|
|
141
|
+
}
|
|
142
|
+
/* on the cells, so a caller that repaints a cell replaces the stripe
|
|
143
|
+
or hover instead of stacking a second one over the row's */
|
|
144
|
+
.pretui-table :deep(tbody tr:nth-child(even) td),
|
|
145
|
+
.pretui-table :deep(tbody tr:nth-child(even) th) {
|
|
146
|
+
background-color: var(--stripe);
|
|
147
|
+
color: var(--foreground);
|
|
148
|
+
}
|
|
149
|
+
@media (hover: hover) {
|
|
150
|
+
.pretui-table :deep(tbody tr:hover td),
|
|
151
|
+
.pretui-table :deep(tbody tr:hover th) {
|
|
152
|
+
background-color: var(--hover);
|
|
153
|
+
color: var(--foreground);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
</style>
|
|
158
|
+
</template>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
## What it is
|
|
2
|
+
|
|
3
|
+
**DataGrid's shell without its engine.** You write the `<tr>`/`<th>`/`<td>` markup; the component supplies the surface, an optional `<caption>`, the mono header band over the column headers (sticky inside a height-bounded wrapper, see below), zebra striping, hover, the scroll container and the rounded hairline edge. Reach for it when the cells need arbitrary content and there is no uniform row shape to declare — a component API reference, a comparison matrix, a table whose cells hold controls. If your data _is_ a list of records with known columns, use **DataGrid**, which gives you sorting and selection for free. For key/value pairs about one record, **KeyValue**.
|
|
4
|
+
|
|
5
|
+
It was added for the freestyle dogfood pass, when composite tables like the Component API table needed to wear the same cloth as DataGrid without inheriting its data-driven machinery.
|
|
6
|
+
|
|
7
|
+
## The contract
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
@caption? — the table's name, rendered as a real <caption>
|
|
11
|
+
@labelledBy? — id of an on-screen element that names the table (aria-labelledby on the <table>)
|
|
12
|
+
@label? — the name when it is nowhere on screen (aria-label on the <table>)
|
|
13
|
+
@framed? — false drops the radius and hairline, for a table inside a panel (default true)
|
|
14
|
+
<:caption> — a rich caption; wins over @caption
|
|
15
|
+
<:head> <:body>
|
|
16
|
+
Element: HTMLDivElement
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**The caption.** `@caption` renders a `<caption>` as the table's first child, where HTML requires it, so the table is named by it ("table, Lots in the warehouse"). The `<:caption>` block renders into the same `<caption>` and keeps its markup; if both are given, the block wins, the way a block wins over its arg on Notification, AlertDialog and Card. The caption is set in the caption role in the muted ink, above the header band. When the name is already on screen — a section heading right above the table — give that element an id and pass it as `@labelledBy`, which lands as `aria-labelledby` on the `<table>` itself, so the name can't drift from the heading. Keep `@label` for a name that is nowhere on screen; it lands as `aria-label` on the `<table>`. `...attributes` go on the wrapper `<div>`, so an `aria-label` or `aria-labelledby` passed as an attribute names the wrapper, not the table; use the args. A caption wins over both: with either caption present, neither attribute is set. `@labelledBy` wins over `@label`, as `aria-labelledby` does over `aria-label`, so only one name is ever set.
|
|
20
|
+
|
|
21
|
+
**`@label` and `@labelledBy` name the `<table>`, which deliberately differs from DataTable.** DataTable's `@label` names its scroll region (a `role='region'` box with a tab stop) and sits alongside its caption: the caption names the table, the label names the region. Table has no such region — its wrapper is a plain `<div>` — so the only thing left to name is the `<table>`, and a caption already does that. Hence `@label` and `@labelledBy` here are the caption's stand-ins rather than a second name, and are dropped when a caption renders.
|
|
22
|
+
|
|
23
|
+
The one non-obvious thing: **the yielded cells are styled partly through `:deep()`.** The component renders `<thead>` and `<tbody>` itself, so the inherited properties sit on those two elements and flow into your cells: the mono header voice, its ink and `nowrap` on `thead`, and top alignment on `tbody`. What the browser's `th` rule overrides (weight, alignment) and what doesn't inherit (padding, height, backgrounds, row rules, the sticky position) has to reach into content the component did not render, so `.pretui-table :deep(thead th)`, `:deep(td)`, `:deep(tbody th)`, `:deep(tbody tr:nth-child(even) td)`, `:deep(tbody tr:hover td)` and `:deep(tbody tr:last-child td)` (each with its `th` twin; the last one drops the last row rule where the frame already draws the edge) do that work. Zebra and hover paint the cells, so a caller that repaints a cell replaces them rather than tinting over them. This is a legitimate, narrow use of the escape hatch — the alternative would be a `<Table.Row>`/`<Table.Cell>` component pair, which buys type safety at the cost of the "just write a table" affordance the component exists to provide.
|
|
24
|
+
|
|
25
|
+
**The header band is scoped to `thead`.** Only the column headers in `<:head>` get the sticky mono band; the header voice is set on `thead`, so it never reaches the body. A row header — `<th scope='row'>` in `<:body>` — wears the body-cell rules instead: the cell padding, the row rule, zebra and hover, top alignment and start alignment, keeping the browser's bold `th` weight. So a matrix with row headers needs no override to undo the band.
|
|
26
|
+
|
|
27
|
+
Practical consequence: **your `<th>` and `<td>` get the house styling automatically, and you cannot easily opt out of it.** A cell that needs different padding needs its own class and a higher-specificity rule from the call site.
|
|
28
|
+
|
|
29
|
+
## Prior art
|
|
30
|
+
|
|
31
|
+
**shadcn `Table`** is the closest analogue — `Table`/`TableHeader`/`TableBody`/`TableRow`/`TableHead`/`TableCell`/`TableCaption`, each a styled element, with zero behaviour. **Web Awesome** ships no table at all. **React Aria Components `Table`** is the opposite pole: a full collection API with selection, sorting and resizing, and no way to just hand it markup.
|
|
32
|
+
|
|
33
|
+
Pretui differs from shadcn on one axis and it is the interesting one: **shadcn gives you seven components, Pretui gives you three blocks.** shadcn's approach types every part and lets each be styled independently; Pretui's means a table is `<Table><:head><tr>…</tr></:head><:body>…</:body></Table>`, with `<:caption>` standing in for `TableCaption`, with native elements throughout — nothing to import, nothing to learn, and native table semantics you cannot accidentally lose by nesting a `<div>` in a `<tbody>`.
|
|
34
|
+
|
|
35
|
+
The improvement over both: it **reads the boxel theme contract**, so a hand-built table follows whatever theme the card wears — surface, header band, zebra, hover, type roles and spacing ladder — with no Pret-only tokens and no literal fallbacks. DataGrid still reads Pret's own tokens and fixed metrics for the same parts, so the two differ: Table's header is set in the label role at the label size, DataGrid's in a fixed 10px eyebrow.
|
|
36
|
+
|
|
37
|
+
The cost, stated plainly: no sorting, no selection, no virtualization, no column definitions, and no way to add them without switching components.
|
|
38
|
+
|
|
39
|
+
## Accessibility
|
|
40
|
+
|
|
41
|
+
Governing pattern: APG **Table**, whose keyboard interaction section reads "Not applicable" — every focusable element inside is an ordinary tab stop. That is the correct pattern for this component, and it is the caller's job to honour it.
|
|
42
|
+
|
|
43
|
+
**Almost all of the accessibility here is yours, not the component's.** It renders `<table>`, `<thead>` and `<tbody>` and nothing else, so:
|
|
44
|
+
|
|
45
|
+
- **You must supply `scope="col"` / `scope="row"`** on header cells. The component adds nothing.
|
|
46
|
+
- **You must supply a name** if the table needs one: `@caption` or `<:caption>` for a visible `<caption>`, `@labelledBy` with the id of the heading when the name is already on screen, or `@label` when it is nowhere on screen. Don't write a `<caption>` into `<:head>`: it would land inside `<thead>`, which is invalid.
|
|
47
|
+
- **You must supply `aria-sort`** if you build sortable headers, and the `aria-live` announcement that goes with a sort.
|
|
48
|
+
- **If your cells contain widgets**, you are in APG **Grid** territory, and this component gives you none of it — no roving tabindex, no arrow navigation, no `role="grid"`. That is the point at which you should stop and use a real grid.
|
|
49
|
+
|
|
50
|
+
Component-level gaps:
|
|
51
|
+
|
|
52
|
+
- **The scroll container has no `tabindex="0"`.** `overflow: auto` on a wide table means a keyboard-only user cannot scroll it without tabbing through cells, which fails WCAG **2.1.1** for a table of static text. One attribute fixes it, and it would fix DataGrid too.
|
|
53
|
+
- `vertical-align: top` on the body (inherited by every cell) is a good default for mixed-height content and worth knowing about before you fight it.
|
|
54
|
+
|
|
55
|
+
## Theming
|
|
56
|
+
|
|
57
|
+
Everything comes from the boxel theme contract:
|
|
58
|
+
|
|
59
|
+
- **Surfaces and ink:** `--card` with `--card-foreground` (the wrapper, which cells inherit), `--inset` with `--foreground` (the header band), `--muted-foreground` (the caption), `--stripe` (zebra) and `--hover` (row hover, on devices that hover), each with `--foreground`.
|
|
60
|
+
- **Rules and edge:** `--border` (row rules and the outer hairline), `--border-strong` (header underline), `--boxel-border-radius` (the frame's corner).
|
|
61
|
+
- **Type:** `--boxel-font-size-xs` (the table), the caption role (`--boxel-caption-font-size`, `-font-weight`, `-line-height`, `-letter-spacing`), the label role for the header band (`--boxel-ui-label-font-size`, `-font-weight`, `-letter-spacing`), and `--font-mono` for its family.
|
|
62
|
+
- **Spacing:** `--boxel-sp-2xs` (block padding of the caption and cells) and `--boxel-sp-xs` (inline padding of the caption, header and cells, so their text shares one start edge).
|
|
63
|
+
|
|
64
|
+
The header band's height is `--pretui-table-head-height` (1.875rem), declared on the wrapper so a caller can set it; the wrapper also reads it as `scroll-padding-block-start`, so a focused cell scrolls clear of the sticky header. Body cells take a 1.4 line height (`--boxel-line-height-md`), since they wrap. **The header only sticks inside a wrapper that scrolls vertically.** `overflow: auto` makes the wrapper the header's scroll container, and with no height limit it never scrolls, so the header leaves with the rows. Set `--pretui-table-max-height` on the table (or an ancestor) to bound the wrapper, for example `--pretui-table-max-height: 24rem`; the rows then scroll under a header that stays put. Unset, it is `none` and the table is as tall as its rows. `--stripe` must be distinguishable from both `--card` and `--hover`, or zebra and hover collapse into each other.
|
|
65
|
+
|
|
66
|
+
The styles sit in `@layer PretComponent`, so a caller's unlayered CSS overrides them without a more specific selector.
|
|
67
|
+
|
|
68
|
+
## React ecosystem
|
|
69
|
+
|
|
70
|
+
Four listing surfaces — do not collapse them:
|
|
71
|
+
|
|
72
|
+
| Job | Tile |
|
|
73
|
+
| --------------------------------- | ---------------------------- |
|
|
74
|
+
| Markup `<table>` | **Table** (this) |
|
|
75
|
+
| Read-only structured grid | **DataGrid** |
|
|
76
|
+
| Record listing (sort/select/page) | **DataTable** stub |
|
|
77
|
+
| Spreadsheet editor | **Sheet** — not shadcn Sheet |
|
|
78
|
+
|
|
79
|
+
shadcn `Table` is this tile. shadcn `Data Table` (TanStack recipe) is
|
|
80
|
+
the **DataTable** stub.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Pretui — Table usage page.
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
4
|
+
import { FreestyleUsage } from './freestyle-usage';
|
|
5
|
+
import { Token } from './token';
|
|
6
|
+
import { Table } from './table';
|
|
7
|
+
import { LOT_ROWS } from '../demo-foundations';
|
|
8
|
+
|
|
9
|
+
class TableUsage extends Component {
|
|
10
|
+
rows = LOT_ROWS;
|
|
11
|
+
@tracked framed = true;
|
|
12
|
+
setFramed = (v: boolean) => (this.framed = v);
|
|
13
|
+
<template>
|
|
14
|
+
<FreestyleUsage
|
|
15
|
+
@name='Table'
|
|
16
|
+
@description='A yieldable table shell for custom cells. It shares DataGrid cloth but leaves row data, semantics and interactions with the caller.'
|
|
17
|
+
@source='<Table><:head>…</:head><:body>…</:body></Table>'
|
|
18
|
+
@viewportMode='wide'
|
|
19
|
+
>
|
|
20
|
+
<:example>
|
|
21
|
+
<Table @framed={{this.framed}}>
|
|
22
|
+
<:head><tr><th>Lot</th><th>Tea</th><th>Origin</th><th>Chests</th></tr></:head>
|
|
23
|
+
<:body>{{#each this.rows as |row|}}<tr><td><Token @value={{row.lot}} /></td><td>{{row.tea}}</td><td>{{row.origin}}</td><td>{{row.chests}}</td></tr>{{/each}}</:body>
|
|
24
|
+
</Table>
|
|
25
|
+
</:example>
|
|
26
|
+
<:api as |Args|>
|
|
27
|
+
<Args.Object @name='sample rows' @value={{this.rows}} />
|
|
28
|
+
<Args.Bool
|
|
29
|
+
@name='framed'
|
|
30
|
+
@value={{this.framed}}
|
|
31
|
+
@defaultValue={{true}}
|
|
32
|
+
@description='Off drops the radius and hairline, for a table inside a panel.'
|
|
33
|
+
@onInput={{this.setFramed}}
|
|
34
|
+
/>
|
|
35
|
+
<Args.Yield @name='head' @description='Table header rows.' />
|
|
36
|
+
<Args.Yield @name='body' @description='Table body rows.' />
|
|
37
|
+
</:api>
|
|
38
|
+
</FreestyleUsage>
|
|
39
|
+
</template>
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const DEMOS_TABLE: Record<string, unknown> = {
|
|
43
|
+
Table: TableUsage,
|
|
44
|
+
};
|