@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.
Files changed (1070) hide show
  1. package/bundled-realms/pretui/README.md +49 -0
  2. package/bundled-realms/pretui/color/LICENSE +21 -0
  3. package/bundled-realms/pretui/color/README.md +155 -0
  4. package/bundled-realms/pretui/color/index.js +78 -0
  5. package/bundled-realms/pretui/color-engine.ts +1243 -0
  6. package/bundled-realms/pretui/components/accordion.gts +58 -0
  7. package/bundled-realms/pretui/components/accordion.md +60 -0
  8. package/bundled-realms/pretui/components/accordion.usage.gts +129 -0
  9. package/bundled-realms/pretui/components/action-bar.gts +407 -0
  10. package/bundled-realms/pretui/components/action-bar.md +48 -0
  11. package/bundled-realms/pretui/components/action-bar.usage.gts +213 -0
  12. package/bundled-realms/pretui/components/affix.gts +116 -0
  13. package/bundled-realms/pretui/components/affix.md +54 -0
  14. package/bundled-realms/pretui/components/affix.usage.gts +73 -0
  15. package/bundled-realms/pretui/components/agent-question.gts +116 -0
  16. package/bundled-realms/pretui/components/agent-question.md +50 -0
  17. package/bundled-realms/pretui/components/agent-question.usage.gts +22 -0
  18. package/bundled-realms/pretui/components/ai-instructions.gts +378 -0
  19. package/bundled-realms/pretui/components/ai-instructions.md +49 -0
  20. package/bundled-realms/pretui/components/ai-instructions.usage.gts +101 -0
  21. package/bundled-realms/pretui/components/alert-dialog.gts +223 -0
  22. package/bundled-realms/pretui/components/alert-dialog.md +76 -0
  23. package/bundled-realms/pretui/components/alert-dialog.usage.gts +128 -0
  24. package/bundled-realms/pretui/components/alert.gts +163 -0
  25. package/bundled-realms/pretui/components/alert.md +57 -0
  26. package/bundled-realms/pretui/components/alert.usage.gts +99 -0
  27. package/bundled-realms/pretui/components/amount-input.gts +621 -0
  28. package/bundled-realms/pretui/components/amount-input.md +63 -0
  29. package/bundled-realms/pretui/components/amount-input.usage.gts +170 -0
  30. package/bundled-realms/pretui/components/angle-dial.gts +367 -0
  31. package/bundled-realms/pretui/components/angle-dial.md +56 -0
  32. package/bundled-realms/pretui/components/angle-dial.usage.gts +166 -0
  33. package/bundled-realms/pretui/components/animated-image.gts +291 -0
  34. package/bundled-realms/pretui/components/animated-image.md +49 -0
  35. package/bundled-realms/pretui/components/animated-image.usage.gts +127 -0
  36. package/bundled-realms/pretui/components/app-shell.gts +19 -0
  37. package/bundled-realms/pretui/components/app-shell.md +43 -0
  38. package/bundled-realms/pretui/components/app-shell.usage.gts +52 -0
  39. package/bundled-realms/pretui/components/approval-footer.gts +69 -0
  40. package/bundled-realms/pretui/components/approval-footer.md +49 -0
  41. package/bundled-realms/pretui/components/approval-footer.usage.gts +22 -0
  42. package/bundled-realms/pretui/components/aspect-ratio.gts +328 -0
  43. package/bundled-realms/pretui/components/aspect-ratio.md +72 -0
  44. package/bundled-realms/pretui/components/aspect-ratio.usage.gts +174 -0
  45. package/bundled-realms/pretui/components/asset-grid.gts +542 -0
  46. package/bundled-realms/pretui/components/asset-grid.md +54 -0
  47. package/bundled-realms/pretui/components/asset-grid.usage.gts +171 -0
  48. package/bundled-realms/pretui/components/asset-well.gts +731 -0
  49. package/bundled-realms/pretui/components/asset-well.md +72 -0
  50. package/bundled-realms/pretui/components/asset-well.usage.gts +264 -0
  51. package/bundled-realms/pretui/components/audio-player.gts +152 -0
  52. package/bundled-realms/pretui/components/audio-player.md +51 -0
  53. package/bundled-realms/pretui/components/audio-player.usage.gts +118 -0
  54. package/bundled-realms/pretui/components/autocomplete.gts +1150 -0
  55. package/bundled-realms/pretui/components/autocomplete.md +67 -0
  56. package/bundled-realms/pretui/components/autocomplete.usage.gts +339 -0
  57. package/bundled-realms/pretui/components/avatar-group.gts +30 -0
  58. package/bundled-realms/pretui/components/avatar-group.md +48 -0
  59. package/bundled-realms/pretui/components/avatar-group.usage.gts +39 -0
  60. package/bundled-realms/pretui/components/avatar.gts +134 -0
  61. package/bundled-realms/pretui/components/avatar.md +69 -0
  62. package/bundled-realms/pretui/components/avatar.usage.gts +101 -0
  63. package/bundled-realms/pretui/components/backdrop.gts +179 -0
  64. package/bundled-realms/pretui/components/backdrop.md +56 -0
  65. package/bundled-realms/pretui/components/backdrop.usage.gts +223 -0
  66. package/bundled-realms/pretui/components/background-field.gts +743 -0
  67. package/bundled-realms/pretui/components/background-field.md +62 -0
  68. package/bundled-realms/pretui/components/background-field.usage.gts +328 -0
  69. package/bundled-realms/pretui/components/badge.gts +188 -0
  70. package/bundled-realms/pretui/components/badge.md +62 -0
  71. package/bundled-realms/pretui/components/badge.usage.gts +73 -0
  72. package/bundled-realms/pretui/components/bar-list.gts +255 -0
  73. package/bundled-realms/pretui/components/bar-list.md +49 -0
  74. package/bundled-realms/pretui/components/bar-list.usage.gts +129 -0
  75. package/bundled-realms/pretui/components/board.gts +108 -0
  76. package/bundled-realms/pretui/components/board.md +54 -0
  77. package/bundled-realms/pretui/components/board.usage.gts +321 -0
  78. package/bundled-realms/pretui/components/bottom-nav.gts +217 -0
  79. package/bundled-realms/pretui/components/bottom-nav.md +64 -0
  80. package/bundled-realms/pretui/components/bottom-nav.usage.gts +68 -0
  81. package/bundled-realms/pretui/components/breadcrumb.gts +56 -0
  82. package/bundled-realms/pretui/components/breadcrumb.md +52 -0
  83. package/bundled-realms/pretui/components/breadcrumb.usage.gts +24 -0
  84. package/bundled-realms/pretui/components/broken-link.gts +46 -0
  85. package/bundled-realms/pretui/components/broken-link.md +50 -0
  86. package/bundled-realms/pretui/components/broken-link.usage.gts +57 -0
  87. package/bundled-realms/pretui/components/button-group.gts +246 -0
  88. package/bundled-realms/pretui/components/button-group.md +46 -0
  89. package/bundled-realms/pretui/components/button-group.usage.gts +137 -0
  90. package/bundled-realms/pretui/components/button.examples.gts +67 -0
  91. package/bundled-realms/pretui/components/button.gts +594 -0
  92. package/bundled-realms/pretui/components/button.md +81 -0
  93. package/bundled-realms/pretui/components/button.usage.gts +159 -0
  94. package/bundled-realms/pretui/components/calendar.gts +457 -0
  95. package/bundled-realms/pretui/components/calendar.md +57 -0
  96. package/bundled-realms/pretui/components/calendar.usage.gts +161 -0
  97. package/bundled-realms/pretui/components/callout.gts +2 -0
  98. package/bundled-realms/pretui/components/callout.md +40 -0
  99. package/bundled-realms/pretui/components/callout.usage.gts +48 -0
  100. package/bundled-realms/pretui/components/card.gts +637 -0
  101. package/bundled-realms/pretui/components/card.md +105 -0
  102. package/bundled-realms/pretui/components/card.usage.gts +279 -0
  103. package/bundled-realms/pretui/components/carousel.gts +583 -0
  104. package/bundled-realms/pretui/components/carousel.md +53 -0
  105. package/bundled-realms/pretui/components/carousel.usage.gts +220 -0
  106. package/bundled-realms/pretui/components/cascader.gts +436 -0
  107. package/bundled-realms/pretui/components/cascader.md +61 -0
  108. package/bundled-realms/pretui/components/cascader.usage.gts +79 -0
  109. package/bundled-realms/pretui/components/channel-slider.gts +251 -0
  110. package/bundled-realms/pretui/components/channel-slider.md +51 -0
  111. package/bundled-realms/pretui/components/channel-slider.usage.gts +104 -0
  112. package/bundled-realms/pretui/components/chart.gts +1011 -0
  113. package/bundled-realms/pretui/components/chart.md +60 -0
  114. package/bundled-realms/pretui/components/chart.usage.gts +660 -0
  115. package/bundled-realms/pretui/components/checkbox-card.gts +82 -0
  116. package/bundled-realms/pretui/components/checkbox-card.md +73 -0
  117. package/bundled-realms/pretui/components/checkbox-card.usage.gts +114 -0
  118. package/bundled-realms/pretui/components/checkbox.examples.gts +61 -0
  119. package/bundled-realms/pretui/components/checkbox.gts +123 -0
  120. package/bundled-realms/pretui/components/checkbox.md +55 -0
  121. package/bundled-realms/pretui/components/checkbox.usage.gts +31 -0
  122. package/bundled-realms/pretui/components/chip.gts +136 -0
  123. package/bundled-realms/pretui/components/chip.md +54 -0
  124. package/bundled-realms/pretui/components/chip.usage.gts +97 -0
  125. package/bundled-realms/pretui/components/code-block.gts +888 -0
  126. package/bundled-realms/pretui/components/code-block.md +61 -0
  127. package/bundled-realms/pretui/components/code-block.usage.gts +374 -0
  128. package/bundled-realms/pretui/components/collapsed-turn.gts +44 -0
  129. package/bundled-realms/pretui/components/collapsed-turn.md +48 -0
  130. package/bundled-realms/pretui/components/collapsed-turn.usage.gts +21 -0
  131. package/bundled-realms/pretui/components/collapsible.gts +283 -0
  132. package/bundled-realms/pretui/components/collapsible.md +69 -0
  133. package/bundled-realms/pretui/components/collapsible.usage.gts +173 -0
  134. package/bundled-realms/pretui/components/color-area.gts +339 -0
  135. package/bundled-realms/pretui/components/color-area.md +49 -0
  136. package/bundled-realms/pretui/components/color-area.usage.gts +72 -0
  137. package/bundled-realms/pretui/components/color-field.gts +179 -0
  138. package/bundled-realms/pretui/components/color-field.md +47 -0
  139. package/bundled-realms/pretui/components/color-field.usage.gts +87 -0
  140. package/bundled-realms/pretui/components/color-palette.gts +198 -0
  141. package/bundled-realms/pretui/components/color-palette.md +48 -0
  142. package/bundled-realms/pretui/components/color-picker.gts +721 -0
  143. package/bundled-realms/pretui/components/color-picker.md +59 -0
  144. package/bundled-realms/pretui/components/color-picker.usage.gts +122 -0
  145. package/bundled-realms/pretui/components/color-stop-editor.gts +184 -0
  146. package/bundled-realms/pretui/components/color-stop-editor.md +46 -0
  147. package/bundled-realms/pretui/components/color-stop-editor.usage.gts +75 -0
  148. package/bundled-realms/pretui/components/combobox.gts +333 -0
  149. package/bundled-realms/pretui/components/combobox.md +49 -0
  150. package/bundled-realms/pretui/components/combobox.usage.gts +143 -0
  151. package/bundled-realms/pretui/components/command-palette.gts +982 -0
  152. package/bundled-realms/pretui/components/command-palette.md +47 -0
  153. package/bundled-realms/pretui/components/command-palette.usage.gts +95 -0
  154. package/bundled-realms/pretui/components/command.gts +2 -0
  155. package/bundled-realms/pretui/components/command.md +45 -0
  156. package/bundled-realms/pretui/components/command.usage.gts +58 -0
  157. package/bundled-realms/pretui/components/compaction-chip.gts +273 -0
  158. package/bundled-realms/pretui/components/compaction-chip.md +45 -0
  159. package/bundled-realms/pretui/components/compaction-chip.usage.gts +110 -0
  160. package/bundled-realms/pretui/components/comparison.gts +223 -0
  161. package/bundled-realms/pretui/components/comparison.md +46 -0
  162. package/bundled-realms/pretui/components/comparison.usage.gts +148 -0
  163. package/bundled-realms/pretui/components/composer.gts +566 -0
  164. package/bundled-realms/pretui/components/composer.md +59 -0
  165. package/bundled-realms/pretui/components/composer.usage.gts +173 -0
  166. package/bundled-realms/pretui/components/compound-field.gts +289 -0
  167. package/bundled-realms/pretui/components/compound-field.md +66 -0
  168. package/bundled-realms/pretui/components/compound-field.usage.gts +378 -0
  169. package/bundled-realms/pretui/components/contact-link.gts +583 -0
  170. package/bundled-realms/pretui/components/contact-link.md +53 -0
  171. package/bundled-realms/pretui/components/contact-link.usage.gts +273 -0
  172. package/bundled-realms/pretui/components/context-menu.gts +811 -0
  173. package/bundled-realms/pretui/components/context-menu.md +74 -0
  174. package/bundled-realms/pretui/components/context-menu.usage.gts +244 -0
  175. package/bundled-realms/pretui/components/copy-button.gts +237 -0
  176. package/bundled-realms/pretui/components/copy-button.md +71 -0
  177. package/bundled-realms/pretui/components/copy-button.usage.gts +135 -0
  178. package/bundled-realms/pretui/components/copy-fit.gts +396 -0
  179. package/bundled-realms/pretui/components/copy-fit.md +60 -0
  180. package/bundled-realms/pretui/components/copy-fit.usage.gts +200 -0
  181. package/bundled-realms/pretui/components/cta-band.gts +285 -0
  182. package/bundled-realms/pretui/components/cta-band.md +50 -0
  183. package/bundled-realms/pretui/components/cta-band.usage.gts +208 -0
  184. package/bundled-realms/pretui/components/cue.gts +180 -0
  185. package/bundled-realms/pretui/components/cue.md +53 -0
  186. package/bundled-realms/pretui/components/cue.usage.gts +88 -0
  187. package/bundled-realms/pretui/components/cursor-trail.gts +221 -0
  188. package/bundled-realms/pretui/components/cursor-trail.md +56 -0
  189. package/bundled-realms/pretui/components/cursor-trail.usage.gts +218 -0
  190. package/bundled-realms/pretui/components/dashboard-grid.gts +939 -0
  191. package/bundled-realms/pretui/components/dashboard-grid.md +60 -0
  192. package/bundled-realms/pretui/components/dashboard-grid.usage.gts +307 -0
  193. package/bundled-realms/pretui/components/dashboard-item.gts +286 -0
  194. package/bundled-realms/pretui/components/dashboard-item.md +52 -0
  195. package/bundled-realms/pretui/components/dashboard-item.usage.gts +87 -0
  196. package/bundled-realms/pretui/components/data-grid.gts +263 -0
  197. package/bundled-realms/pretui/components/data-grid.md +64 -0
  198. package/bundled-realms/pretui/components/data-grid.usage.gts +50 -0
  199. package/bundled-realms/pretui/components/data-table.gts +1618 -0
  200. package/bundled-realms/pretui/components/data-table.md +104 -0
  201. package/bundled-realms/pretui/components/data-table.usage.gts +324 -0
  202. package/bundled-realms/pretui/components/date-picker.gts +98 -0
  203. package/bundled-realms/pretui/components/date-picker.md +59 -0
  204. package/bundled-realms/pretui/components/date-picker.usage.gts +66 -0
  205. package/bundled-realms/pretui/components/date-range-picker.gts +131 -0
  206. package/bundled-realms/pretui/components/date-range-picker.md +55 -0
  207. package/bundled-realms/pretui/components/date-range-picker.usage.gts +125 -0
  208. package/bundled-realms/pretui/components/date-time-picker.gts +227 -0
  209. package/bundled-realms/pretui/components/date-time-picker.md +60 -0
  210. package/bundled-realms/pretui/components/date-time-picker.usage.gts +64 -0
  211. package/bundled-realms/pretui/components/defer.gts +374 -0
  212. package/bundled-realms/pretui/components/defer.md +61 -0
  213. package/bundled-realms/pretui/components/defer.usage.gts +174 -0
  214. package/bundled-realms/pretui/components/delta.gts +45 -0
  215. package/bundled-realms/pretui/components/delta.md +53 -0
  216. package/bundled-realms/pretui/components/delta.usage.gts +31 -0
  217. package/bundled-realms/pretui/components/descriptions.gts +365 -0
  218. package/bundled-realms/pretui/components/descriptions.md +73 -0
  219. package/bundled-realms/pretui/components/descriptions.usage.gts +123 -0
  220. package/bundled-realms/pretui/components/dialog.gts +153 -0
  221. package/bundled-realms/pretui/components/dialog.md +60 -0
  222. package/bundled-realms/pretui/components/dialog.usage.gts +86 -0
  223. package/bundled-realms/pretui/components/diff-block.gts +89 -0
  224. package/bundled-realms/pretui/components/diff-block.md +51 -0
  225. package/bundled-realms/pretui/components/diff-block.usage.gts +27 -0
  226. package/bundled-realms/pretui/components/disclosure.gts +2 -0
  227. package/bundled-realms/pretui/components/disclosure.md +45 -0
  228. package/bundled-realms/pretui/components/disclosure.usage.gts +47 -0
  229. package/bundled-realms/pretui/components/divider.gts +75 -0
  230. package/bundled-realms/pretui/components/divider.md +49 -0
  231. package/bundled-realms/pretui/components/divider.usage.gts +98 -0
  232. package/bundled-realms/pretui/components/doc-report.gts +306 -0
  233. package/bundled-realms/pretui/components/doc-report.md +45 -0
  234. package/bundled-realms/pretui/components/doc-report.usage.gts +126 -0
  235. package/bundled-realms/pretui/components/dock.gts +165 -0
  236. package/bundled-realms/pretui/components/dock.md +42 -0
  237. package/bundled-realms/pretui/components/dock.usage.gts +114 -0
  238. package/bundled-realms/pretui/components/drawer.gts +166 -0
  239. package/bundled-realms/pretui/components/drawer.md +66 -0
  240. package/bundled-realms/pretui/components/drawer.usage.gts +111 -0
  241. package/bundled-realms/pretui/components/dropzone.gts +314 -0
  242. package/bundled-realms/pretui/components/dropzone.md +56 -0
  243. package/bundled-realms/pretui/components/dropzone.usage.gts +203 -0
  244. package/bundled-realms/pretui/components/dueling-picklist.gts +991 -0
  245. package/bundled-realms/pretui/components/dueling-picklist.md +67 -0
  246. package/bundled-realms/pretui/components/dueling-picklist.usage.gts +182 -0
  247. package/bundled-realms/pretui/components/dynamic-island.gts +264 -0
  248. package/bundled-realms/pretui/components/dynamic-island.md +45 -0
  249. package/bundled-realms/pretui/components/dynamic-island.usage.gts +195 -0
  250. package/bundled-realms/pretui/components/easing-curve.gts +629 -0
  251. package/bundled-realms/pretui/components/easing-curve.md +46 -0
  252. package/bundled-realms/pretui/components/easing-curve.usage.gts +122 -0
  253. package/bundled-realms/pretui/components/edit-in-place.gts +559 -0
  254. package/bundled-realms/pretui/components/edit-in-place.md +63 -0
  255. package/bundled-realms/pretui/components/edit-in-place.usage.gts +209 -0
  256. package/bundled-realms/pretui/components/editable.gts +299 -0
  257. package/bundled-realms/pretui/components/editable.md +79 -0
  258. package/bundled-realms/pretui/components/editable.usage.gts +68 -0
  259. package/bundled-realms/pretui/components/email-input.gts +83 -0
  260. package/bundled-realms/pretui/components/email-input.md +52 -0
  261. package/bundled-realms/pretui/components/email-input.usage.gts +90 -0
  262. package/bundled-realms/pretui/components/emoji-button.gts +162 -0
  263. package/bundled-realms/pretui/components/emoji-button.md +46 -0
  264. package/bundled-realms/pretui/components/emoji-button.usage.gts +174 -0
  265. package/bundled-realms/pretui/components/emoji-picker.gts +1396 -0
  266. package/bundled-realms/pretui/components/emoji-picker.md +53 -0
  267. package/bundled-realms/pretui/components/emoji-picker.usage.gts +235 -0
  268. package/bundled-realms/pretui/components/empty-state.gts +162 -0
  269. package/bundled-realms/pretui/components/empty-state.md +63 -0
  270. package/bundled-realms/pretui/components/empty-state.usage.gts +113 -0
  271. package/bundled-realms/pretui/components/empty.gts +2 -0
  272. package/bundled-realms/pretui/components/empty.md +43 -0
  273. package/bundled-realms/pretui/components/empty.usage.gts +33 -0
  274. package/bundled-realms/pretui/components/entity-display.gts +126 -0
  275. package/bundled-realms/pretui/components/entity-display.md +50 -0
  276. package/bundled-realms/pretui/components/error-summary.gts +321 -0
  277. package/bundled-realms/pretui/components/error-summary.md +60 -0
  278. package/bundled-realms/pretui/components/error-summary.usage.gts +155 -0
  279. package/bundled-realms/pretui/components/expression-builder.gts +1211 -0
  280. package/bundled-realms/pretui/components/expression-builder.md +60 -0
  281. package/bundled-realms/pretui/components/expression-builder.usage.gts +246 -0
  282. package/bundled-realms/pretui/components/fab.gts +2 -0
  283. package/bundled-realms/pretui/components/fab.md +38 -0
  284. package/bundled-realms/pretui/components/fab.usage.gts +38 -0
  285. package/bundled-realms/pretui/components/feature-voting.gts +365 -0
  286. package/bundled-realms/pretui/components/feature-voting.md +44 -0
  287. package/bundled-realms/pretui/components/feature-voting.usage.gts +114 -0
  288. package/bundled-realms/pretui/components/feed.gts +244 -0
  289. package/bundled-realms/pretui/components/feed.md +56 -0
  290. package/bundled-realms/pretui/components/feed.usage.gts +250 -0
  291. package/bundled-realms/pretui/components/field-error.gts +127 -0
  292. package/bundled-realms/pretui/components/field-error.md +60 -0
  293. package/bundled-realms/pretui/components/field-error.usage.gts +146 -0
  294. package/bundled-realms/pretui/components/field.gts +185 -0
  295. package/bundled-realms/pretui/components/field.md +60 -0
  296. package/bundled-realms/pretui/components/field.usage.gts +73 -0
  297. package/bundled-realms/pretui/components/fieldset.gts +124 -0
  298. package/bundled-realms/pretui/components/fieldset.md +65 -0
  299. package/bundled-realms/pretui/components/fieldset.usage.gts +105 -0
  300. package/bundled-realms/pretui/components/file-trigger.gts +185 -0
  301. package/bundled-realms/pretui/components/file-trigger.md +53 -0
  302. package/bundled-realms/pretui/components/file-trigger.usage.gts +121 -0
  303. package/bundled-realms/pretui/components/file-upload.gts +353 -0
  304. package/bundled-realms/pretui/components/file-upload.md +63 -0
  305. package/bundled-realms/pretui/components/file-upload.usage.gts +64 -0
  306. package/bundled-realms/pretui/components/filmstrip.gts +465 -0
  307. package/bundled-realms/pretui/components/filmstrip.md +53 -0
  308. package/bundled-realms/pretui/components/filmstrip.usage.gts +115 -0
  309. package/bundled-realms/pretui/components/filter-chips.gts +236 -0
  310. package/bundled-realms/pretui/components/filter-chips.md +58 -0
  311. package/bundled-realms/pretui/components/filter-chips.usage.gts +102 -0
  312. package/bundled-realms/pretui/components/filter-set.gts +293 -0
  313. package/bundled-realms/pretui/components/filter-set.md +60 -0
  314. package/bundled-realms/pretui/components/filter-set.usage.gts +145 -0
  315. package/bundled-realms/pretui/components/float-button.gts +339 -0
  316. package/bundled-realms/pretui/components/float-button.md +69 -0
  317. package/bundled-realms/pretui/components/float-button.usage.gts +134 -0
  318. package/bundled-realms/pretui/components/fold.gts +86 -0
  319. package/bundled-realms/pretui/components/fold.md +54 -0
  320. package/bundled-realms/pretui/components/fold.usage.gts +19 -0
  321. package/bundled-realms/pretui/components/form-field.gts +609 -0
  322. package/bundled-realms/pretui/components/form-field.md +77 -0
  323. package/bundled-realms/pretui/components/form-field.usage.gts +279 -0
  324. package/bundled-realms/pretui/components/form-footer.gts +246 -0
  325. package/bundled-realms/pretui/components/form-footer.md +59 -0
  326. package/bundled-realms/pretui/components/form-footer.usage.gts +217 -0
  327. package/bundled-realms/pretui/components/form-layout.gts +130 -0
  328. package/bundled-realms/pretui/components/form-layout.md +52 -0
  329. package/bundled-realms/pretui/components/form-layout.usage.gts +200 -0
  330. package/bundled-realms/pretui/components/form-section.gts +434 -0
  331. package/bundled-realms/pretui/components/form-section.md +67 -0
  332. package/bundled-realms/pretui/components/form-section.usage.gts +402 -0
  333. package/bundled-realms/pretui/components/form.gts +315 -0
  334. package/bundled-realms/pretui/components/form.md +82 -0
  335. package/bundled-realms/pretui/components/form.usage.gts +306 -0
  336. package/bundled-realms/pretui/components/format-bytes.gts +212 -0
  337. package/bundled-realms/pretui/components/format-bytes.md +47 -0
  338. package/bundled-realms/pretui/components/format-bytes.usage.gts +274 -0
  339. package/bundled-realms/pretui/components/format-date.gts +249 -0
  340. package/bundled-realms/pretui/components/format-date.md +55 -0
  341. package/bundled-realms/pretui/components/format-date.usage.gts +245 -0
  342. package/bundled-realms/pretui/components/format-number.gts +138 -0
  343. package/bundled-realms/pretui/components/format-number.md +51 -0
  344. package/bundled-realms/pretui/components/format-number.usage.gts +261 -0
  345. package/bundled-realms/pretui/components/formatted-value.gts +65 -0
  346. package/bundled-realms/pretui/components/freestyle-usage.gts +311 -0
  347. package/bundled-realms/pretui/components/freestyle-usage.md +49 -0
  348. package/bundled-realms/pretui/components/gallery.gts +819 -0
  349. package/bundled-realms/pretui/components/gallery.md +65 -0
  350. package/bundled-realms/pretui/components/gallery.usage.gts +212 -0
  351. package/bundled-realms/pretui/components/gradient-editor.gts +682 -0
  352. package/bundled-realms/pretui/components/gradient-editor.md +43 -0
  353. package/bundled-realms/pretui/components/gradient-editor.usage.gts +69 -0
  354. package/bundled-realms/pretui/components/graph-layout.md +54 -0
  355. package/bundled-realms/pretui/components/graph-layout.usage.gts +343 -0
  356. package/bundled-realms/pretui/components/graph-outline.gts +553 -0
  357. package/bundled-realms/pretui/components/graph-outline.md +50 -0
  358. package/bundled-realms/pretui/components/graph-outline.usage.gts +88 -0
  359. package/bundled-realms/pretui/components/grid.gts +68 -0
  360. package/bundled-realms/pretui/components/grid.md +54 -0
  361. package/bundled-realms/pretui/components/grid.usage.gts +144 -0
  362. package/bundled-realms/pretui/components/handle.gts +192 -0
  363. package/bundled-realms/pretui/components/handle.md +55 -0
  364. package/bundled-realms/pretui/components/handle.usage.gts +174 -0
  365. package/bundled-realms/pretui/components/hero-split.gts +307 -0
  366. package/bundled-realms/pretui/components/hero-split.md +50 -0
  367. package/bundled-realms/pretui/components/hero-split.usage.gts +200 -0
  368. package/bundled-realms/pretui/components/hover-actions.gts +485 -0
  369. package/bundled-realms/pretui/components/hover-actions.md +55 -0
  370. package/bundled-realms/pretui/components/hover-actions.usage.gts +224 -0
  371. package/bundled-realms/pretui/components/hover-card.gts +347 -0
  372. package/bundled-realms/pretui/components/hover-card.md +72 -0
  373. package/bundled-realms/pretui/components/hover-card.usage.gts +174 -0
  374. package/bundled-realms/pretui/components/hover-video-player.gts +315 -0
  375. package/bundled-realms/pretui/components/hover-video-player.md +57 -0
  376. package/bundled-realms/pretui/components/hover-video-player.usage.gts +152 -0
  377. package/bundled-realms/pretui/components/icon-button.examples.gts +69 -0
  378. package/bundled-realms/pretui/components/icon-button.gts +153 -0
  379. package/bundled-realms/pretui/components/icon-button.md +72 -0
  380. package/bundled-realms/pretui/components/icon-button.usage.gts +208 -0
  381. package/bundled-realms/pretui/components/image-cropper.gts +693 -0
  382. package/bundled-realms/pretui/components/image-cropper.md +52 -0
  383. package/bundled-realms/pretui/components/image-cropper.usage.gts +108 -0
  384. package/bundled-realms/pretui/components/image-frame.gts +91 -0
  385. package/bundled-realms/pretui/components/image-frame.md +42 -0
  386. package/bundled-realms/pretui/components/image-frame.usage.gts +28 -0
  387. package/bundled-realms/pretui/components/image.gts +326 -0
  388. package/bundled-realms/pretui/components/image.md +71 -0
  389. package/bundled-realms/pretui/components/image.usage.gts +126 -0
  390. package/bundled-realms/pretui/components/in-view.gts +245 -0
  391. package/bundled-realms/pretui/components/in-view.md +53 -0
  392. package/bundled-realms/pretui/components/in-view.usage.gts +264 -0
  393. package/bundled-realms/pretui/components/indicator.gts +137 -0
  394. package/bundled-realms/pretui/components/indicator.md +60 -0
  395. package/bundled-realms/pretui/components/indicator.usage.gts +66 -0
  396. package/bundled-realms/pretui/components/infinite-scroll.gts +163 -0
  397. package/bundled-realms/pretui/components/infinite-scroll.md +54 -0
  398. package/bundled-realms/pretui/components/infinite-scroll.usage.gts +73 -0
  399. package/bundled-realms/pretui/components/input-group.gts +264 -0
  400. package/bundled-realms/pretui/components/input-group.md +55 -0
  401. package/bundled-realms/pretui/components/input-group.usage.gts +283 -0
  402. package/bundled-realms/pretui/components/input.examples.gts +61 -0
  403. package/bundled-realms/pretui/components/input.gts +202 -0
  404. package/bundled-realms/pretui/components/input.md +67 -0
  405. package/bundled-realms/pretui/components/input.usage.gts +208 -0
  406. package/bundled-realms/pretui/components/interactive-input.gts +343 -0
  407. package/bundled-realms/pretui/components/interactive-input.md +45 -0
  408. package/bundled-realms/pretui/components/interactive-input.usage.gts +98 -0
  409. package/bundled-realms/pretui/components/item.gts +218 -0
  410. package/bundled-realms/pretui/components/item.md +66 -0
  411. package/bundled-realms/pretui/components/item.usage.gts +121 -0
  412. package/bundled-realms/pretui/components/joystick.gts +381 -0
  413. package/bundled-realms/pretui/components/joystick.md +52 -0
  414. package/bundled-realms/pretui/components/joystick.usage.gts +140 -0
  415. package/bundled-realms/pretui/components/json-editor.gts +1016 -0
  416. package/bundled-realms/pretui/components/json-editor.md +51 -0
  417. package/bundled-realms/pretui/components/json-editor.usage.gts +230 -0
  418. package/bundled-realms/pretui/components/json-tree.gts +596 -0
  419. package/bundled-realms/pretui/components/json-tree.md +52 -0
  420. package/bundled-realms/pretui/components/json-tree.usage.gts +217 -0
  421. package/bundled-realms/pretui/components/jump-chip.gts +230 -0
  422. package/bundled-realms/pretui/components/jump-chip.md +44 -0
  423. package/bundled-realms/pretui/components/jump-chip.usage.gts +151 -0
  424. package/bundled-realms/pretui/components/kbd.gts +60 -0
  425. package/bundled-realms/pretui/components/kbd.md +50 -0
  426. package/bundled-realms/pretui/components/kbd.usage.gts +98 -0
  427. package/bundled-realms/pretui/components/key-value.gts +150 -0
  428. package/bundled-realms/pretui/components/key-value.md +81 -0
  429. package/bundled-realms/pretui/components/key-value.usage.gts +125 -0
  430. package/bundled-realms/pretui/components/known-date.gts +770 -0
  431. package/bundled-realms/pretui/components/known-date.md +56 -0
  432. package/bundled-realms/pretui/components/known-date.usage.gts +192 -0
  433. package/bundled-realms/pretui/components/label.gts +60 -0
  434. package/bundled-realms/pretui/components/label.md +56 -0
  435. package/bundled-realms/pretui/components/label.usage.gts +63 -0
  436. package/bundled-realms/pretui/components/layer-manager.gts +1884 -0
  437. package/bundled-realms/pretui/components/layer-manager.md +59 -0
  438. package/bundled-realms/pretui/components/layer-manager.usage.gts +233 -0
  439. package/bundled-realms/pretui/components/lightbox.gts +461 -0
  440. package/bundled-realms/pretui/components/lightbox.md +57 -0
  441. package/bundled-realms/pretui/components/lightbox.usage.gts +180 -0
  442. package/bundled-realms/pretui/components/line-grid.examples.gts +156 -0
  443. package/bundled-realms/pretui/components/line-grid.gts +523 -0
  444. package/bundled-realms/pretui/components/line-grid.md +55 -0
  445. package/bundled-realms/pretui/components/line-grid.usage.gts +181 -0
  446. package/bundled-realms/pretui/components/list.gts +679 -0
  447. package/bundled-realms/pretui/components/list.md +90 -0
  448. package/bundled-realms/pretui/components/list.usage.gts +203 -0
  449. package/bundled-realms/pretui/components/loader.gts +2 -0
  450. package/bundled-realms/pretui/components/loader.md +33 -0
  451. package/bundled-realms/pretui/components/loader.usage.gts +35 -0
  452. package/bundled-realms/pretui/components/loading-overlay.gts +120 -0
  453. package/bundled-realms/pretui/components/loading-overlay.md +68 -0
  454. package/bundled-realms/pretui/components/loading-overlay.usage.gts +102 -0
  455. package/bundled-realms/pretui/components/loading-state.gts +124 -0
  456. package/bundled-realms/pretui/components/loading-state.md +48 -0
  457. package/bundled-realms/pretui/components/loading-state.usage.gts +16 -0
  458. package/bundled-realms/pretui/components/lookup.gts +451 -0
  459. package/bundled-realms/pretui/components/lookup.md +59 -0
  460. package/bundled-realms/pretui/components/lookup.usage.gts +235 -0
  461. package/bundled-realms/pretui/components/magnetic.gts +158 -0
  462. package/bundled-realms/pretui/components/magnetic.md +48 -0
  463. package/bundled-realms/pretui/components/magnetic.usage.gts +125 -0
  464. package/bundled-realms/pretui/components/marquee.gts +141 -0
  465. package/bundled-realms/pretui/components/marquee.md +43 -0
  466. package/bundled-realms/pretui/components/marquee.usage.gts +116 -0
  467. package/bundled-realms/pretui/components/masonry.gts +95 -0
  468. package/bundled-realms/pretui/components/masonry.md +59 -0
  469. package/bundled-realms/pretui/components/masonry.usage.gts +238 -0
  470. package/bundled-realms/pretui/components/media-inspector.gts +145 -0
  471. package/bundled-realms/pretui/components/media-inspector.md +46 -0
  472. package/bundled-realms/pretui/components/media-inspector.usage.gts +83 -0
  473. package/bundled-realms/pretui/components/media-player.gts +1133 -0
  474. package/bundled-realms/pretui/components/media-player.md +74 -0
  475. package/bundled-realms/pretui/components/media-player.usage.gts +265 -0
  476. package/bundled-realms/pretui/components/media-viewer.gts +136 -0
  477. package/bundled-realms/pretui/components/media-viewer.md +47 -0
  478. package/bundled-realms/pretui/components/media-viewer.usage.gts +70 -0
  479. package/bundled-realms/pretui/components/mentions.gts +340 -0
  480. package/bundled-realms/pretui/components/mentions.md +65 -0
  481. package/bundled-realms/pretui/components/mentions.usage.gts +73 -0
  482. package/bundled-realms/pretui/components/menu-panel.gts +367 -0
  483. package/bundled-realms/pretui/components/menu.gts +652 -0
  484. package/bundled-realms/pretui/components/menu.md +69 -0
  485. package/bundled-realms/pretui/components/menu.usage.gts +116 -0
  486. package/bundled-realms/pretui/components/menubar.gts +1200 -0
  487. package/bundled-realms/pretui/components/menubar.md +49 -0
  488. package/bundled-realms/pretui/components/menubar.usage.gts +220 -0
  489. package/bundled-realms/pretui/components/meter.gts +113 -0
  490. package/bundled-realms/pretui/components/meter.md +50 -0
  491. package/bundled-realms/pretui/components/meter.usage.gts +50 -0
  492. package/bundled-realms/pretui/components/modal.gts +2 -0
  493. package/bundled-realms/pretui/components/modal.md +41 -0
  494. package/bundled-realms/pretui/components/modal.usage.gts +50 -0
  495. package/bundled-realms/pretui/components/model-viewer.gts +658 -0
  496. package/bundled-realms/pretui/components/model-viewer.md +57 -0
  497. package/bundled-realms/pretui/components/model-viewer.usage.gts +123 -0
  498. package/bundled-realms/pretui/components/money-input.gts +66 -0
  499. package/bundled-realms/pretui/components/money-input.md +43 -0
  500. package/bundled-realms/pretui/components/money-input.usage.gts +293 -0
  501. package/bundled-realms/pretui/components/morphing-dialog.gts +173 -0
  502. package/bundled-realms/pretui/components/morphing-dialog.md +46 -0
  503. package/bundled-realms/pretui/components/morphing-dialog.usage.gts +168 -0
  504. package/bundled-realms/pretui/components/morphing-popover.gts +245 -0
  505. package/bundled-realms/pretui/components/morphing-popover.md +47 -0
  506. package/bundled-realms/pretui/components/morphing-popover.usage.gts +176 -0
  507. package/bundled-realms/pretui/components/multi-select.gts +392 -0
  508. package/bundled-realms/pretui/components/multi-select.md +57 -0
  509. package/bundled-realms/pretui/components/multi-select.usage.gts +97 -0
  510. package/bundled-realms/pretui/components/native-select.gts +212 -0
  511. package/bundled-realms/pretui/components/native-select.md +77 -0
  512. package/bundled-realms/pretui/components/native-select.usage.gts +109 -0
  513. package/bundled-realms/pretui/components/navigation-menu.gts +351 -0
  514. package/bundled-realms/pretui/components/navigation-menu.md +65 -0
  515. package/bundled-realms/pretui/components/navigation-menu.usage.gts +61 -0
  516. package/bundled-realms/pretui/components/node-canvas.gts +1174 -0
  517. package/bundled-realms/pretui/components/node-canvas.md +57 -0
  518. package/bundled-realms/pretui/components/node-canvas.usage.gts +548 -0
  519. package/bundled-realms/pretui/components/node-card.gts +181 -0
  520. package/bundled-realms/pretui/components/node-card.md +53 -0
  521. package/bundled-realms/pretui/components/node-card.usage.gts +156 -0
  522. package/bundled-realms/pretui/components/notification.gts +242 -0
  523. package/bundled-realms/pretui/components/notification.md +69 -0
  524. package/bundled-realms/pretui/components/notification.usage.gts +125 -0
  525. package/bundled-realms/pretui/components/number-input.gts +191 -0
  526. package/bundled-realms/pretui/components/number-input.md +54 -0
  527. package/bundled-realms/pretui/components/number-input.usage.gts +132 -0
  528. package/bundled-realms/pretui/components/odometer.gts +349 -0
  529. package/bundled-realms/pretui/components/odometer.md +55 -0
  530. package/bundled-realms/pretui/components/odometer.usage.gts +258 -0
  531. package/bundled-realms/pretui/components/onboarding.gts +298 -0
  532. package/bundled-realms/pretui/components/onboarding.md +48 -0
  533. package/bundled-realms/pretui/components/onboarding.usage.gts +155 -0
  534. package/bundled-realms/pretui/components/origin-grid.gts +486 -0
  535. package/bundled-realms/pretui/components/origin-grid.md +47 -0
  536. package/bundled-realms/pretui/components/origin-grid.usage.gts +87 -0
  537. package/bundled-realms/pretui/components/otp-input.gts +289 -0
  538. package/bundled-realms/pretui/components/otp-input.md +47 -0
  539. package/bundled-realms/pretui/components/otp-input.usage.gts +131 -0
  540. package/bundled-realms/pretui/components/page-scaffold.gts +343 -0
  541. package/bundled-realms/pretui/components/page-scaffold.md +57 -0
  542. package/bundled-realms/pretui/components/page-scaffold.usage.gts +391 -0
  543. package/bundled-realms/pretui/components/pagination.gts +150 -0
  544. package/bundled-realms/pretui/components/pagination.md +56 -0
  545. package/bundled-realms/pretui/components/pagination.usage.gts +33 -0
  546. package/bundled-realms/pretui/components/panel-section.gts +301 -0
  547. package/bundled-realms/pretui/components/panel-section.md +48 -0
  548. package/bundled-realms/pretui/components/panel-section.usage.gts +137 -0
  549. package/bundled-realms/pretui/components/panel.gts +158 -0
  550. package/bundled-realms/pretui/components/panel.md +58 -0
  551. package/bundled-realms/pretui/components/panel.usage.gts +82 -0
  552. package/bundled-realms/pretui/components/password-input.gts +329 -0
  553. package/bundled-realms/pretui/components/password-input.md +58 -0
  554. package/bundled-realms/pretui/components/password-input.usage.gts +156 -0
  555. package/bundled-realms/pretui/components/password-strength.gts +485 -0
  556. package/bundled-realms/pretui/components/password-strength.md +50 -0
  557. package/bundled-realms/pretui/components/password-strength.usage.gts +34 -0
  558. package/bundled-realms/pretui/components/path-text.gts +288 -0
  559. package/bundled-realms/pretui/components/path-text.md +58 -0
  560. package/bundled-realms/pretui/components/path-text.usage.gts +239 -0
  561. package/bundled-realms/pretui/components/period-input.gts +1100 -0
  562. package/bundled-realms/pretui/components/period-input.md +54 -0
  563. package/bundled-realms/pretui/components/period-input.usage.gts +299 -0
  564. package/bundled-realms/pretui/components/phone-input.gts +80 -0
  565. package/bundled-realms/pretui/components/phone-input.md +55 -0
  566. package/bundled-realms/pretui/components/phone-input.usage.gts +91 -0
  567. package/bundled-realms/pretui/components/pin-input.gts +2 -0
  568. package/bundled-realms/pretui/components/pin-input.md +45 -0
  569. package/bundled-realms/pretui/components/pin-input.usage.gts +39 -0
  570. package/bundled-realms/pretui/components/pip-scale.gts +717 -0
  571. package/bundled-realms/pretui/components/pip-scale.md +55 -0
  572. package/bundled-realms/pretui/components/pip-scale.usage.gts +318 -0
  573. package/bundled-realms/pretui/components/popconfirm.gts +380 -0
  574. package/bundled-realms/pretui/components/popconfirm.md +78 -0
  575. package/bundled-realms/pretui/components/popconfirm.usage.gts +171 -0
  576. package/bundled-realms/pretui/components/popover.gts +198 -0
  577. package/bundled-realms/pretui/components/popover.md +57 -0
  578. package/bundled-realms/pretui/components/popover.usage.gts +106 -0
  579. package/bundled-realms/pretui/components/popup.gts +85 -0
  580. package/bundled-realms/pretui/components/popup.md +42 -0
  581. package/bundled-realms/pretui/components/popup.usage.gts +23 -0
  582. package/bundled-realms/pretui/components/presence.gts +156 -0
  583. package/bundled-realms/pretui/components/presence.md +55 -0
  584. package/bundled-realms/pretui/components/presence.usage.gts +204 -0
  585. package/bundled-realms/pretui/components/progress-bar.gts +177 -0
  586. package/bundled-realms/pretui/components/progress-bar.md +63 -0
  587. package/bundled-realms/pretui/components/progress-bar.usage.gts +172 -0
  588. package/bundled-realms/pretui/components/progress-radial.gts +67 -0
  589. package/bundled-realms/pretui/components/progress-radial.md +55 -0
  590. package/bundled-realms/pretui/components/progress-radial.usage.gts +76 -0
  591. package/bundled-realms/pretui/components/prompt-library.gts +358 -0
  592. package/bundled-realms/pretui/components/prompt-library.md +45 -0
  593. package/bundled-realms/pretui/components/prompt-library.usage.gts +117 -0
  594. package/bundled-realms/pretui/components/property-row.gts +316 -0
  595. package/bundled-realms/pretui/components/property-row.md +55 -0
  596. package/bundled-realms/pretui/components/property-row.usage.gts +146 -0
  597. package/bundled-realms/pretui/components/property-sheet.gts +133 -0
  598. package/bundled-realms/pretui/components/property-sheet.md +48 -0
  599. package/bundled-realms/pretui/components/property-sheet.usage.gts +132 -0
  600. package/bundled-realms/pretui/components/prose.gts +31 -0
  601. package/bundled-realms/pretui/components/prose.md +57 -0
  602. package/bundled-realms/pretui/components/prose.usage.gts +15 -0
  603. package/bundled-realms/pretui/components/pulsing-border.gts +297 -0
  604. package/bundled-realms/pretui/components/pulsing-border.md +65 -0
  605. package/bundled-realms/pretui/components/pulsing-border.usage.gts +253 -0
  606. package/bundled-realms/pretui/components/qr-code.gts +660 -0
  607. package/bundled-realms/pretui/components/qr-code.md +58 -0
  608. package/bundled-realms/pretui/components/qr-code.usage.gts +224 -0
  609. package/bundled-realms/pretui/components/queued-message.gts +83 -0
  610. package/bundled-realms/pretui/components/queued-message.md +53 -0
  611. package/bundled-realms/pretui/components/queued-message.usage.gts +21 -0
  612. package/bundled-realms/pretui/components/radio-card.gts +88 -0
  613. package/bundled-realms/pretui/components/radio-card.md +72 -0
  614. package/bundled-realms/pretui/components/radio-card.usage.gts +148 -0
  615. package/bundled-realms/pretui/components/radio-group.gts +119 -0
  616. package/bundled-realms/pretui/components/radio-group.md +46 -0
  617. package/bundled-realms/pretui/components/radio-group.usage.gts +80 -0
  618. package/bundled-realms/pretui/components/range-slider.gts +34 -0
  619. package/bundled-realms/pretui/components/range-slider.md +47 -0
  620. package/bundled-realms/pretui/components/range-slider.usage.gts +46 -0
  621. package/bundled-realms/pretui/components/rating.examples.gts +67 -0
  622. package/bundled-realms/pretui/components/rating.gts +266 -0
  623. package/bundled-realms/pretui/components/rating.md +55 -0
  624. package/bundled-realms/pretui/components/rating.usage.gts +96 -0
  625. package/bundled-realms/pretui/components/readiness-panel.gts +856 -0
  626. package/bundled-realms/pretui/components/readiness-panel.md +64 -0
  627. package/bundled-realms/pretui/components/readiness-panel.usage.gts +372 -0
  628. package/bundled-realms/pretui/components/recommendation.gts +316 -0
  629. package/bundled-realms/pretui/components/recommendation.md +49 -0
  630. package/bundled-realms/pretui/components/recommendation.usage.gts +103 -0
  631. package/bundled-realms/pretui/components/record-detail.gts +1170 -0
  632. package/bundled-realms/pretui/components/record-detail.md +63 -0
  633. package/bundled-realms/pretui/components/record-detail.usage.gts +533 -0
  634. package/bundled-realms/pretui/components/record-face.gts +153 -0
  635. package/bundled-realms/pretui/components/record-pill.gts +116 -0
  636. package/bundled-realms/pretui/components/record-pill.md +55 -0
  637. package/bundled-realms/pretui/components/record-pill.usage.gts +108 -0
  638. package/bundled-realms/pretui/components/relative-time.gts +88 -0
  639. package/bundled-realms/pretui/components/relative-time.md +58 -0
  640. package/bundled-realms/pretui/components/relative-time.usage.gts +89 -0
  641. package/bundled-realms/pretui/components/reorder.gts +620 -0
  642. package/bundled-realms/pretui/components/reorder.md +47 -0
  643. package/bundled-realms/pretui/components/reorder.usage.gts +171 -0
  644. package/bundled-realms/pretui/components/resizable.gts +2 -0
  645. package/bundled-realms/pretui/components/resizable.md +37 -0
  646. package/bundled-realms/pretui/components/resizable.usage.gts +53 -0
  647. package/bundled-realms/pretui/components/result-card.gts +68 -0
  648. package/bundled-realms/pretui/components/result-card.md +45 -0
  649. package/bundled-realms/pretui/components/result-card.usage.gts +29 -0
  650. package/bundled-realms/pretui/components/result.gts +204 -0
  651. package/bundled-realms/pretui/components/result.md +67 -0
  652. package/bundled-realms/pretui/components/result.usage.gts +85 -0
  653. package/bundled-realms/pretui/components/rule-row.gts +462 -0
  654. package/bundled-realms/pretui/components/rule-row.md +60 -0
  655. package/bundled-realms/pretui/components/rule-row.usage.gts +157 -0
  656. package/bundled-realms/pretui/components/scroll-area.gts +121 -0
  657. package/bundled-realms/pretui/components/scroll-area.md +59 -0
  658. package/bundled-realms/pretui/components/scroll-area.usage.gts +175 -0
  659. package/bundled-realms/pretui/components/scroll-progress.gts +222 -0
  660. package/bundled-realms/pretui/components/scroll-progress.md +48 -0
  661. package/bundled-realms/pretui/components/scroll-progress.usage.gts +162 -0
  662. package/bundled-realms/pretui/components/scroller.gts +323 -0
  663. package/bundled-realms/pretui/components/scroller.md +44 -0
  664. package/bundled-realms/pretui/components/scroller.usage.gts +184 -0
  665. package/bundled-realms/pretui/components/scrub-input.gts +691 -0
  666. package/bundled-realms/pretui/components/scrub-input.md +61 -0
  667. package/bundled-realms/pretui/components/scrub-input.usage.gts +275 -0
  668. package/bundled-realms/pretui/components/search-input.gts +141 -0
  669. package/bundled-realms/pretui/components/search-input.md +56 -0
  670. package/bundled-realms/pretui/components/search-input.usage.gts +91 -0
  671. package/bundled-realms/pretui/components/segmented-control.gts +198 -0
  672. package/bundled-realms/pretui/components/segmented-control.md +39 -0
  673. package/bundled-realms/pretui/components/segmented-control.usage.gts +66 -0
  674. package/bundled-realms/pretui/components/select.examples.gts +80 -0
  675. package/bundled-realms/pretui/components/select.gts +481 -0
  676. package/bundled-realms/pretui/components/select.md +71 -0
  677. package/bundled-realms/pretui/components/select.usage.gts +109 -0
  678. package/bundled-realms/pretui/components/separator.gts +2 -0
  679. package/bundled-realms/pretui/components/separator.md +36 -0
  680. package/bundled-realms/pretui/components/separator.usage.gts +32 -0
  681. package/bundled-realms/pretui/components/session-prep.gts +164 -0
  682. package/bundled-realms/pretui/components/session-prep.md +48 -0
  683. package/bundled-realms/pretui/components/session-prep.usage.gts +122 -0
  684. package/bundled-realms/pretui/components/sheet-toolbar.gts +130 -0
  685. package/bundled-realms/pretui/components/sheet-toolbar.md +51 -0
  686. package/bundled-realms/pretui/components/sheet-toolbar.usage.gts +151 -0
  687. package/bundled-realms/pretui/components/sheet.gts +1166 -0
  688. package/bundled-realms/pretui/components/sheet.md +78 -0
  689. package/bundled-realms/pretui/components/sheet.usage.gts +318 -0
  690. package/bundled-realms/pretui/components/sidebar.gts +1165 -0
  691. package/bundled-realms/pretui/components/sidebar.md +88 -0
  692. package/bundled-realms/pretui/components/sidebar.usage.gts +360 -0
  693. package/bundled-realms/pretui/components/signature-pad.gts +840 -0
  694. package/bundled-realms/pretui/components/signature-pad.md +57 -0
  695. package/bundled-realms/pretui/components/signature-pad.usage.gts +222 -0
  696. package/bundled-realms/pretui/components/skeleton.gts +46 -0
  697. package/bundled-realms/pretui/components/skeleton.md +56 -0
  698. package/bundled-realms/pretui/components/skeleton.usage.gts +56 -0
  699. package/bundled-realms/pretui/components/skip-link.gts +65 -0
  700. package/bundled-realms/pretui/components/skip-link.md +49 -0
  701. package/bundled-realms/pretui/components/skip-link.usage.gts +47 -0
  702. package/bundled-realms/pretui/components/slide-over.gts +2 -0
  703. package/bundled-realms/pretui/components/slide-over.md +41 -0
  704. package/bundled-realms/pretui/components/slide-over.usage.gts +50 -0
  705. package/bundled-realms/pretui/components/slider.examples.gts +61 -0
  706. package/bundled-realms/pretui/components/slider.gts +331 -0
  707. package/bundled-realms/pretui/components/slider.md +59 -0
  708. package/bundled-realms/pretui/components/slider.usage.gts +99 -0
  709. package/bundled-realms/pretui/components/sliding-highlight.gts +249 -0
  710. package/bundled-realms/pretui/components/sliding-highlight.md +58 -0
  711. package/bundled-realms/pretui/components/sliding-highlight.usage.gts +184 -0
  712. package/bundled-realms/pretui/components/snackbar.gts +2 -0
  713. package/bundled-realms/pretui/components/snackbar.md +34 -0
  714. package/bundled-realms/pretui/components/snackbar.usage.gts +31 -0
  715. package/bundled-realms/pretui/components/sonner.gts +2 -0
  716. package/bundled-realms/pretui/components/sonner.md +42 -0
  717. package/bundled-realms/pretui/components/sonner.usage.gts +43 -0
  718. package/bundled-realms/pretui/components/sparkline.gts +233 -0
  719. package/bundled-realms/pretui/components/sparkline.md +58 -0
  720. package/bundled-realms/pretui/components/sparkline.usage.gts +74 -0
  721. package/bundled-realms/pretui/components/spinner.gts +57 -0
  722. package/bundled-realms/pretui/components/spinner.md +49 -0
  723. package/bundled-realms/pretui/components/spinner.usage.gts +65 -0
  724. package/bundled-realms/pretui/components/split-panes.gts +69 -0
  725. package/bundled-realms/pretui/components/split-panes.md +54 -0
  726. package/bundled-realms/pretui/components/split-panes.usage.gts +171 -0
  727. package/bundled-realms/pretui/components/spotlight.gts +174 -0
  728. package/bundled-realms/pretui/components/spotlight.md +51 -0
  729. package/bundled-realms/pretui/components/spotlight.usage.gts +197 -0
  730. package/bundled-realms/pretui/components/stack-divider.gts +58 -0
  731. package/bundled-realms/pretui/components/stack.gts +284 -0
  732. package/bundled-realms/pretui/components/stack.md +81 -0
  733. package/bundled-realms/pretui/components/stack.usage.gts +228 -0
  734. package/bundled-realms/pretui/components/stacking-cards.gts +137 -0
  735. package/bundled-realms/pretui/components/stacking-cards.md +40 -0
  736. package/bundled-realms/pretui/components/stacking-cards.usage.gts +124 -0
  737. package/bundled-realms/pretui/components/stat.gts +216 -0
  738. package/bundled-realms/pretui/components/stat.md +57 -0
  739. package/bundled-realms/pretui/components/stat.usage.gts +16 -0
  740. package/bundled-realms/pretui/components/statement-table.examples.gts +185 -0
  741. package/bundled-realms/pretui/components/statement-table.gts +792 -0
  742. package/bundled-realms/pretui/components/statement-table.md +58 -0
  743. package/bundled-realms/pretui/components/statement-table.usage.gts +252 -0
  744. package/bundled-realms/pretui/components/status-chip.gts +37 -0
  745. package/bundled-realms/pretui/components/status-chip.md +48 -0
  746. package/bundled-realms/pretui/components/status-chip.usage.gts +36 -0
  747. package/bundled-realms/pretui/components/step-list.gts +624 -0
  748. package/bundled-realms/pretui/components/step-list.md +50 -0
  749. package/bundled-realms/pretui/components/step-list.usage.gts +166 -0
  750. package/bundled-realms/pretui/components/stepper.gts +201 -0
  751. package/bundled-realms/pretui/components/stepper.md +54 -0
  752. package/bundled-realms/pretui/components/stepper.usage.gts +103 -0
  753. package/bundled-realms/pretui/components/steps-with-media.gts +254 -0
  754. package/bundled-realms/pretui/components/steps-with-media.md +54 -0
  755. package/bundled-realms/pretui/components/steps-with-media.usage.gts +208 -0
  756. package/bundled-realms/pretui/components/streaming-text.gts +77 -0
  757. package/bundled-realms/pretui/components/streaming-text.md +55 -0
  758. package/bundled-realms/pretui/components/streaming-text.usage.gts +15 -0
  759. package/bundled-realms/pretui/components/swatch-chip.gts +104 -0
  760. package/bundled-realms/pretui/components/swatch-chip.md +47 -0
  761. package/bundled-realms/pretui/components/swatch-chip.usage.gts +21 -0
  762. package/bundled-realms/pretui/components/swatch.gts +141 -0
  763. package/bundled-realms/pretui/components/swatch.md +50 -0
  764. package/bundled-realms/pretui/components/swatch.usage.gts +80 -0
  765. package/bundled-realms/pretui/components/switch.examples.gts +53 -0
  766. package/bundled-realms/pretui/components/switch.gts +118 -0
  767. package/bundled-realms/pretui/components/switch.md +62 -0
  768. package/bundled-realms/pretui/components/switch.usage.gts +59 -0
  769. package/bundled-realms/pretui/components/table-of-contents.gts +384 -0
  770. package/bundled-realms/pretui/components/table-of-contents.md +75 -0
  771. package/bundled-realms/pretui/components/table-of-contents.usage.gts +270 -0
  772. package/bundled-realms/pretui/components/table.gts +158 -0
  773. package/bundled-realms/pretui/components/table.md +80 -0
  774. package/bundled-realms/pretui/components/table.usage.gts +44 -0
  775. package/bundled-realms/pretui/components/tabs.gts +117 -0
  776. package/bundled-realms/pretui/components/tabs.md +58 -0
  777. package/bundled-realms/pretui/components/tabs.usage.gts +94 -0
  778. package/bundled-realms/pretui/components/tags-input.gts +52 -0
  779. package/bundled-realms/pretui/components/tags-input.md +48 -0
  780. package/bundled-realms/pretui/components/tags-input.usage.gts +56 -0
  781. package/bundled-realms/pretui/components/task-row.gts +483 -0
  782. package/bundled-realms/pretui/components/task-row.md +48 -0
  783. package/bundled-realms/pretui/components/task-row.usage.gts +119 -0
  784. package/bundled-realms/pretui/components/terminal-animation.gts +355 -0
  785. package/bundled-realms/pretui/components/terminal-animation.md +49 -0
  786. package/bundled-realms/pretui/components/terminal-animation.usage.gts +110 -0
  787. package/bundled-realms/pretui/components/text-effects.gts +339 -0
  788. package/bundled-realms/pretui/components/text-effects.md +49 -0
  789. package/bundled-realms/pretui/components/text-effects.usage.gts +192 -0
  790. package/bundled-realms/pretui/components/text-morph.gts +292 -0
  791. package/bundled-realms/pretui/components/text-morph.md +45 -0
  792. package/bundled-realms/pretui/components/text-morph.usage.gts +117 -0
  793. package/bundled-realms/pretui/components/text-rotate.gts +121 -0
  794. package/bundled-realms/pretui/components/text-rotate.md +44 -0
  795. package/bundled-realms/pretui/components/text-rotate.usage.gts +73 -0
  796. package/bundled-realms/pretui/components/text-scramble.gts +189 -0
  797. package/bundled-realms/pretui/components/text-scramble.md +42 -0
  798. package/bundled-realms/pretui/components/text-scramble.usage.gts +80 -0
  799. package/bundled-realms/pretui/components/text-shimmer.gts +89 -0
  800. package/bundled-realms/pretui/components/text-shimmer.md +42 -0
  801. package/bundled-realms/pretui/components/text-shimmer.usage.gts +69 -0
  802. package/bundled-realms/pretui/components/textarea.gts +112 -0
  803. package/bundled-realms/pretui/components/textarea.md +51 -0
  804. package/bundled-realms/pretui/components/textarea.usage.gts +100 -0
  805. package/bundled-realms/pretui/components/theme-frame.gts +272 -0
  806. package/bundled-realms/pretui/components/theme-frame.md +48 -0
  807. package/bundled-realms/pretui/components/thinking.gts +431 -0
  808. package/bundled-realms/pretui/components/thinking.md +47 -0
  809. package/bundled-realms/pretui/components/thinking.usage.gts +134 -0
  810. package/bundled-realms/pretui/components/tilt.gts +194 -0
  811. package/bundled-realms/pretui/components/tilt.md +50 -0
  812. package/bundled-realms/pretui/components/tilt.usage.gts +174 -0
  813. package/bundled-realms/pretui/components/time-input.gts +583 -0
  814. package/bundled-realms/pretui/components/time-input.md +51 -0
  815. package/bundled-realms/pretui/components/time-input.usage.gts +110 -0
  816. package/bundled-realms/pretui/components/timeline.gts +269 -0
  817. package/bundled-realms/pretui/components/timeline.md +63 -0
  818. package/bundled-realms/pretui/components/timeline.usage.gts +180 -0
  819. package/bundled-realms/pretui/components/toast.gts +85 -0
  820. package/bundled-realms/pretui/components/toast.md +57 -0
  821. package/bundled-realms/pretui/components/toast.usage.gts +18 -0
  822. package/bundled-realms/pretui/components/toaster.gts +808 -0
  823. package/bundled-realms/pretui/components/toaster.md +83 -0
  824. package/bundled-realms/pretui/components/toaster.usage.gts +256 -0
  825. package/bundled-realms/pretui/components/toggle-group.gts +435 -0
  826. package/bundled-realms/pretui/components/toggle-group.md +59 -0
  827. package/bundled-realms/pretui/components/toggle-group.usage.gts +260 -0
  828. package/bundled-realms/pretui/components/toggle-matrix.gts +994 -0
  829. package/bundled-realms/pretui/components/toggle-matrix.md +44 -0
  830. package/bundled-realms/pretui/components/toggle-matrix.usage.gts +243 -0
  831. package/bundled-realms/pretui/components/toggle.gts +235 -0
  832. package/bundled-realms/pretui/components/toggle.md +59 -0
  833. package/bundled-realms/pretui/components/toggle.usage.gts +244 -0
  834. package/bundled-realms/pretui/components/token-input.gts +483 -0
  835. package/bundled-realms/pretui/components/token-input.md +50 -0
  836. package/bundled-realms/pretui/components/token-input.usage.gts +137 -0
  837. package/bundled-realms/pretui/components/token.gts +197 -0
  838. package/bundled-realms/pretui/components/token.md +63 -0
  839. package/bundled-realms/pretui/components/token.usage.gts +128 -0
  840. package/bundled-realms/pretui/components/toolbar.gts +62 -0
  841. package/bundled-realms/pretui/components/toolbar.md +50 -0
  842. package/bundled-realms/pretui/components/toolbar.usage.gts +78 -0
  843. package/bundled-realms/pretui/components/tooltip.gts +212 -0
  844. package/bundled-realms/pretui/components/tooltip.md +53 -0
  845. package/bundled-realms/pretui/components/tooltip.usage.gts +64 -0
  846. package/bundled-realms/pretui/components/tour.gts +436 -0
  847. package/bundled-realms/pretui/components/tour.md +62 -0
  848. package/bundled-realms/pretui/components/tour.usage.gts +70 -0
  849. package/bundled-realms/pretui/components/transfer.gts +2 -0
  850. package/bundled-realms/pretui/components/transfer.md +39 -0
  851. package/bundled-realms/pretui/components/transfer.usage.gts +52 -0
  852. package/bundled-realms/pretui/components/transmute.gts +103 -0
  853. package/bundled-realms/pretui/components/transmute.md +49 -0
  854. package/bundled-realms/pretui/components/transmute.usage.gts +16 -0
  855. package/bundled-realms/pretui/components/tree-select.gts +596 -0
  856. package/bundled-realms/pretui/components/tree-select.md +70 -0
  857. package/bundled-realms/pretui/components/tree-select.usage.gts +75 -0
  858. package/bundled-realms/pretui/components/tree.gts +532 -0
  859. package/bundled-realms/pretui/components/tree.md +68 -0
  860. package/bundled-realms/pretui/components/tree.usage.gts +278 -0
  861. package/bundled-realms/pretui/components/trim-bar.gts +611 -0
  862. package/bundled-realms/pretui/components/trim-bar.md +48 -0
  863. package/bundled-realms/pretui/components/trim-bar.usage.gts +112 -0
  864. package/bundled-realms/pretui/components/typewriter.gts +122 -0
  865. package/bundled-realms/pretui/components/typewriter.md +45 -0
  866. package/bundled-realms/pretui/components/typewriter.usage.gts +105 -0
  867. package/bundled-realms/pretui/components/typography.gts +379 -0
  868. package/bundled-realms/pretui/components/typography.md +77 -0
  869. package/bundled-realms/pretui/components/typography.usage.gts +52 -0
  870. package/bundled-realms/pretui/components/url-input.gts +130 -0
  871. package/bundled-realms/pretui/components/url-input.md +58 -0
  872. package/bundled-realms/pretui/components/url-input.usage.gts +97 -0
  873. package/bundled-realms/pretui/components/usage-action.gts +16 -0
  874. package/bundled-realms/pretui/components/usage-argument.gts +109 -0
  875. package/bundled-realms/pretui/components/usage-argument.md +44 -0
  876. package/bundled-realms/pretui/components/usage-array.gts +80 -0
  877. package/bundled-realms/pretui/components/usage-array.md +47 -0
  878. package/bundled-realms/pretui/components/usage-bool.gts +62 -0
  879. package/bundled-realms/pretui/components/usage-bool.md +47 -0
  880. package/bundled-realms/pretui/components/usage-component-arg.gts +16 -0
  881. package/bundled-realms/pretui/components/usage-css-variable.gts +56 -0
  882. package/bundled-realms/pretui/components/usage-css-variable.md +48 -0
  883. package/bundled-realms/pretui/components/usage-number.gts +127 -0
  884. package/bundled-realms/pretui/components/usage-number.md +48 -0
  885. package/bundled-realms/pretui/components/usage-object.gts +58 -0
  886. package/bundled-realms/pretui/components/usage-object.md +48 -0
  887. package/bundled-realms/pretui/components/usage-string.gts +89 -0
  888. package/bundled-realms/pretui/components/usage-string.md +46 -0
  889. package/bundled-realms/pretui/components/usage-yield.gts +16 -0
  890. package/bundled-realms/pretui/components/value-input.gts +265 -0
  891. package/bundled-realms/pretui/components/value-input.md +49 -0
  892. package/bundled-realms/pretui/components/value-input.usage.gts +176 -0
  893. package/bundled-realms/pretui/components/video-player.gts +80 -0
  894. package/bundled-realms/pretui/components/video-player.md +46 -0
  895. package/bundled-realms/pretui/components/video-player.usage.gts +107 -0
  896. package/bundled-realms/pretui/components/viewport.gts +520 -0
  897. package/bundled-realms/pretui/components/viewport.md +55 -0
  898. package/bundled-realms/pretui/components/visually-hidden.gts +49 -0
  899. package/bundled-realms/pretui/components/visually-hidden.md +47 -0
  900. package/bundled-realms/pretui/components/visually-hidden.usage.gts +27 -0
  901. package/bundled-realms/pretui/components/watermark.gts +141 -0
  902. package/bundled-realms/pretui/components/watermark.md +58 -0
  903. package/bundled-realms/pretui/components/watermark.usage.gts +63 -0
  904. package/bundled-realms/pretui/components/waveform.gts +376 -0
  905. package/bundled-realms/pretui/components/waveform.md +56 -0
  906. package/bundled-realms/pretui/components/waveform.usage.gts +131 -0
  907. package/bundled-realms/pretui/components/wizard.gts +677 -0
  908. package/bundled-realms/pretui/components/wizard.md +58 -0
  909. package/bundled-realms/pretui/components/wizard.usage.gts +188 -0
  910. package/bundled-realms/pretui/components/work-item.gts +207 -0
  911. package/bundled-realms/pretui/components/work-item.md +58 -0
  912. package/bundled-realms/pretui/components/work-item.usage.gts +103 -0
  913. package/bundled-realms/pretui/components/zoomable-frame.gts +541 -0
  914. package/bundled-realms/pretui/components/zoomable-frame.md +50 -0
  915. package/bundled-realms/pretui/components/zoomable-frame.usage.gts +175 -0
  916. package/bundled-realms/pretui/cropper/LICENSE +21 -0
  917. package/bundled-realms/pretui/cropper/README.md +92 -0
  918. package/bundled-realms/pretui/cropper/index.js +81 -0
  919. package/bundled-realms/pretui/data-component.gts +1161 -0
  920. package/bundled-realms/pretui/demo-design-layers.gts +112 -0
  921. package/bundled-realms/pretui/demo-design-tools.gts +463 -0
  922. package/bundled-realms/pretui/demo-design-value.gts +9 -0
  923. package/bundled-realms/pretui/demo-forms-core.gts +82 -0
  924. package/bundled-realms/pretui/demo-forms-expression.gts +76 -0
  925. package/bundled-realms/pretui/demo-forms-record.gts +16 -0
  926. package/bundled-realms/pretui/demo-foundations-more.gts +10 -0
  927. package/bundled-realms/pretui/demo-foundations.gts +8 -0
  928. package/bundled-realms/pretui/demo-ink-feedback.gts +12 -0
  929. package/bundled-realms/pretui/demo-json.gts +17 -0
  930. package/bundled-realms/pretui/demo-locations.ts +103 -0
  931. package/bundled-realms/pretui/demo-media-library.gts +101 -0
  932. package/bundled-realms/pretui/demo-media.gts +6 -0
  933. package/bundled-realms/pretui/demo-menu.gts +182 -0
  934. package/bundled-realms/pretui/demo-motion-core.gts +4 -0
  935. package/bundled-realms/pretui/demo-motion-pointer.gts +21 -0
  936. package/bundled-realms/pretui/demo-reading-format.gts +10 -0
  937. package/bundled-realms/pretui/demo-structure-dashboard.gts +212 -0
  938. package/bundled-realms/pretui/demo-structure-data.gts +4 -0
  939. package/bundled-realms/pretui/demo-structure-scroll.gts +19 -0
  940. package/bundled-realms/pretui/demo-structure.gts +21 -0
  941. package/bundled-realms/pretui/demo-surfaces-grid.gts +104 -0
  942. package/bundled-realms/pretui/demo-texture.gts +21 -0
  943. package/bundled-realms/pretui/docs/catalog-taxonomy.md +200 -0
  944. package/bundled-realms/pretui/docs/composites.md +13 -0
  945. package/bundled-realms/pretui/docs/reading.md +12 -0
  946. package/bundled-realms/pretui/docs/structure.md +8 -0
  947. package/bundled-realms/pretui/emoji-data/LICENSE +202 -0
  948. package/bundled-realms/pretui/emoji-data/LICENSE.data +202 -0
  949. package/bundled-realms/pretui/emoji-data/LICENSE.emojibase +21 -0
  950. package/bundled-realms/pretui/emoji-data/LICENSE.unicode +39 -0
  951. package/bundled-realms/pretui/emoji-data/README.md +360 -0
  952. package/bundled-realms/pretui/emoji-data/data.ts +45 -0
  953. package/bundled-realms/pretui/emoji-data/engine.ts +465 -0
  954. package/bundled-realms/pretui/example-gallery.gts +129 -0
  955. package/bundled-realms/pretui/examples-kit.gts +228 -0
  956. package/bundled-realms/pretui/examples-listing.gts +51 -0
  957. package/bundled-realms/pretui/examples.gts +584 -0
  958. package/bundled-realms/pretui/focus.gts +459 -0
  959. package/bundled-realms/pretui/gridstack/LICENSE +21 -0
  960. package/bundled-realms/pretui/gridstack/README.md +103 -0
  961. package/bundled-realms/pretui/gridstack/index.js +169 -0
  962. package/bundled-realms/pretui/icon-registry.gts +753 -0
  963. package/bundled-realms/pretui/index.json +11 -0
  964. package/bundled-realms/pretui/internal/agentic-chat.gts +101 -0
  965. package/bundled-realms/pretui/internal/blocks.gts +35 -0
  966. package/bundled-realms/pretui/internal/choice-cards.gts +258 -0
  967. package/bundled-realms/pretui/internal/color-fixtures.gts +3 -0
  968. package/bundled-realms/pretui/internal/composites-fixtures.gts +16 -0
  969. package/bundled-realms/pretui/internal/corner-mark.gts +83 -0
  970. package/bundled-realms/pretui/internal/design-tools.gts +881 -0
  971. package/bundled-realms/pretui/internal/extras.gts +31 -0
  972. package/bundled-realms/pretui/internal/feedback.gts +27 -0
  973. package/bundled-realms/pretui/internal/file-intake-fixtures.gts +17 -0
  974. package/bundled-realms/pretui/internal/file-intake.gts +193 -0
  975. package/bundled-realms/pretui/internal/forms-core.gts +394 -0
  976. package/bundled-realms/pretui/internal/forms-expression.gts +837 -0
  977. package/bundled-realms/pretui/internal/forms-picker-fixtures.gts +10 -0
  978. package/bundled-realms/pretui/internal/forms-picker.gts +129 -0
  979. package/bundled-realms/pretui/internal/forms-record.gts +173 -0
  980. package/bundled-realms/pretui/internal/freestyle.gts +117 -0
  981. package/bundled-realms/pretui/internal/ink.gts +25 -0
  982. package/bundled-realms/pretui/internal/json-tree.gts +526 -0
  983. package/bundled-realms/pretui/internal/keep-style.gts +168 -0
  984. package/bundled-realms/pretui/internal/media-assets.gts +10 -0
  985. package/bundled-realms/pretui/internal/media-library.gts +14 -0
  986. package/bundled-realms/pretui/internal/media-viewer.gts +322 -0
  987. package/bundled-realms/pretui/internal/media-wave.gts +270 -0
  988. package/bundled-realms/pretui/internal/menu.gts +522 -0
  989. package/bundled-realms/pretui/internal/money-fixtures.gts +6 -0
  990. package/bundled-realms/pretui/internal/money.gts +477 -0
  991. package/bundled-realms/pretui/internal/motion-core.gts +54 -0
  992. package/bundled-realms/pretui/internal/motion-pointer.gts +234 -0
  993. package/bundled-realms/pretui/internal/overlay-confirm.gts +35 -0
  994. package/bundled-realms/pretui/internal/overlay.gts +291 -0
  995. package/bundled-realms/pretui/internal/reading-extras.gts +56 -0
  996. package/bundled-realms/pretui/internal/reading-format.gts +232 -0
  997. package/bundled-realms/pretui/internal/reading-listing.gts +232 -0
  998. package/bundled-realms/pretui/internal/structure-chart.gts +414 -0
  999. package/bundled-realms/pretui/internal/structure-dashboard.gts +503 -0
  1000. package/bundled-realms/pretui/internal/structure-flow.gts +48 -0
  1001. package/bundled-realms/pretui/internal/structure-layout-fixtures.gts +36 -0
  1002. package/bundled-realms/pretui/internal/structure-layout.gts +99 -0
  1003. package/bundled-realms/pretui/internal/structure-morph.gts +140 -0
  1004. package/bundled-realms/pretui/internal/structure-scenes.gts +25 -0
  1005. package/bundled-realms/pretui/internal/structure-scroll.gts +72 -0
  1006. package/bundled-realms/pretui/internal/structure-shell-fixtures.gts +25 -0
  1007. package/bundled-realms/pretui/internal/surfaces-canvas-fixtures.gts +5 -0
  1008. package/bundled-realms/pretui/internal/surfaces-canvas.gts +283 -0
  1009. package/bundled-realms/pretui/internal/texture.gts +81 -0
  1010. package/bundled-realms/pretui/internal/toggle-controls-fixtures.gts +7 -0
  1011. package/bundled-realms/pretui/internal/toggle-controls.gts +81 -0
  1012. package/bundled-realms/pretui/json-model.ts +1981 -0
  1013. package/bundled-realms/pretui/media-chrome/LICENSE +19 -0
  1014. package/bundled-realms/pretui/media-chrome/README.md +111 -0
  1015. package/bundled-realms/pretui/media-chrome/index.js +1647 -0
  1016. package/bundled-realms/pretui/media-examples.gts +315 -0
  1017. package/bundled-realms/pretui/model-viewer/LICENSE +202 -0
  1018. package/{LICENSE → bundled-realms/pretui/model-viewer/LICENSE-gainmap-js} +1 -1
  1019. package/bundled-realms/pretui/model-viewer/LICENSE-lit +28 -0
  1020. package/bundled-realms/pretui/model-viewer/LICENSE-three +21 -0
  1021. package/bundled-realms/pretui/model-viewer/NOTICE +67 -0
  1022. package/bundled-realms/pretui/model-viewer/README.md +122 -0
  1023. package/bundled-realms/pretui/model-viewer/index.js +6413 -0
  1024. package/bundled-realms/pretui/package.json +51 -0
  1025. package/bundled-realms/pretui/photoswipe/LICENSE +21 -0
  1026. package/bundled-realms/pretui/photoswipe/README.md +91 -0
  1027. package/bundled-realms/pretui/photoswipe/index.js +149 -0
  1028. package/bundled-realms/pretui/photoswipe/style.ts +465 -0
  1029. package/bundled-realms/pretui/plot/LICENSE +13 -0
  1030. package/bundled-realms/pretui/plot/LICENSE.d3 +13 -0
  1031. package/bundled-realms/pretui/plot/LICENSE.interval-tree-1d +22 -0
  1032. package/bundled-realms/pretui/plot/LICENSE.isoformat +13 -0
  1033. package/bundled-realms/pretui/plot/README.md +35 -0
  1034. package/bundled-realms/pretui/plot/index.d.ts +31 -0
  1035. package/bundled-realms/pretui/plot/index.js +449 -0
  1036. package/bundled-realms/pretui/pretui-component.gts +1336 -0
  1037. package/bundled-realms/pretui/pretui-css.gts +380 -0
  1038. package/bundled-realms/pretui/pretui-primitives.gts +162 -0
  1039. package/bundled-realms/pretui/qrcode/LICENSE +34 -0
  1040. package/bundled-realms/pretui/qrcode/README.md +87 -0
  1041. package/bundled-realms/pretui/qrcode/index.js +35 -0
  1042. package/bundled-realms/pretui/realm.json +16 -0
  1043. package/bundled-realms/pretui/registry.ts +40 -0
  1044. package/bundled-realms/pretui/sigpad/LICENSE +21 -0
  1045. package/bundled-realms/pretui/sigpad/README.md +103 -0
  1046. package/bundled-realms/pretui/sigpad/index.js +30 -0
  1047. package/bundled-realms/pretui/structure-dashboard-css.ts +166 -0
  1048. package/bundled-realms/pretui/surfaces/README.md +37 -0
  1049. package/bundled-realms/pretui/surfaces/canvas/LICENSE.d3 +168 -0
  1050. package/bundled-realms/pretui/surfaces/canvas/LICENSE.xyflow +21 -0
  1051. package/bundled-realms/pretui/surfaces/canvas/index.js +25420 -0
  1052. package/bundled-realms/pretui/surfaces/grid/LICENSE.tanstack +50 -0
  1053. package/bundled-realms/pretui/surfaces/grid/index.js +21478 -0
  1054. package/bundled-realms/pretui/surfaces/layout/index.js +9036 -0
  1055. package/bundled-realms/pretui/surfaces-canvas-css.ts +1640 -0
  1056. package/bundled-realms/pretui/surfaces-canvas-layout.ts +607 -0
  1057. package/bundled-realms/pretui/tsconfig.json +54 -0
  1058. package/bundled-realms/pretui/wavesurfer/LICENSE +29 -0
  1059. package/bundled-realms/pretui/wavesurfer/README.md +85 -0
  1060. package/bundled-realms/pretui/wavesurfer/index.js +184 -0
  1061. package/bundled-realms/pretui/zxcvbn/LICENSE +21 -0
  1062. package/bundled-realms/pretui/zxcvbn/README.md +192 -0
  1063. package/bundled-realms/pretui/zxcvbn/index.d.ts +28 -0
  1064. package/bundled-realms/pretui/zxcvbn/index.js +5931 -0
  1065. package/bundled-test-harness/index.html +1 -1
  1066. package/bundled-test-harness/tests/index.html +1 -1
  1067. package/dist/api.js +1 -1
  1068. package/dist/index.js +33 -33
  1069. package/package.json +1 -1
  1070. package/src/lib/test-engine.ts +14 -4
@@ -0,0 +1,57 @@
1
+ ## What it is
2
+
3
+ A signature capture surface with a typed-name alternative beside it.
4
+
5
+ The alternative is not a convenience — it is the only path for anyone who cannot draw with a pointer, and it is the reason this component is usable at all.
6
+
7
+ ## The contract
8
+
9
+ ```
10
+ @label? — the visible label. Defaults to 'Signature'
11
+ @description? — helper text under the surface, wired via aria-describedby
12
+ @signerName? — who is signing; used in the image alt text and as the typed default
13
+ @defaultStrokes?, @defaultTypedName? — rehydration from a previous @onChange payload
14
+ @defaultMode? — which method is offered first. 'draw' by default
15
+ @hideTypedAlternative? — strongly discouraged; see below
16
+ @penColor? — opaque hex or rgb(); defaults to the resolved token ink
17
+ @minWidth? — thinnest stroke in px, clamped to [0.1, 10]
18
+ @maxWidth? — thickest stroke in px, clamped to [0.5, 30]
19
+ @dotSize? — radius of a single tap dot in px, clamped to [0, 20]
20
+ @height? — surface height in px, clamped to [80, 600]. Default 180
21
+ @required? — marks the control required and says so in the label
22
+ @onChange? — fires on every stroke, clear, typed keystroke and mode change
23
+
24
+ <:default> — receives an api: clear, toSVG, toPNG, isEmpty, value
25
+ ```
26
+
27
+ **`@hideTypedAlternative` is documented as discouraged in the signature itself.** It exists so a caller with a genuinely different fallback can say so out loud, rather than being unable to express that. Using it without one leaves a control that a large group of people simply cannot complete.
28
+
29
+ **Every numeric arg is clamped**, so a caller cannot produce an unusable pen or a surface too small to sign on.
30
+
31
+ **`@onChange` fires on everything** — strokes, clears, typed keystrokes, mode changes — so a form always holds the current state rather than needing to poll.
32
+
33
+ **The block yields an imperative api** because export is inherently imperative: `toSVG` and `toPNG` are called when a form submits, not rendered.
34
+
35
+ ## Prior art
36
+
37
+ The signature-pad libraries that wrap a canvas. The comparison worth making is not with their drawing quality but with their scope: a canvas with strokes on it is not a signature control, because it has exactly one input method.
38
+
39
+ Where Pretui is better: the typed alternative is part of the component, with the mode change reported like any other change, rather than being something each product bolts on beside it.
40
+
41
+ Where it is thinner: no pressure or tilt input, no stroke smoothing options beyond the width range, no timestamp or audit metadata in the payload, and no verification of any kind — this captures a mark, it does not attest to anything.
42
+
43
+ ## Accessibility
44
+
45
+ - **The typed alternative is the accessibility story.** Drawing is a fine-motor pointer gesture with no keyboard equivalent that means anything; the typed name is the equal path, and it is why hiding it is called out in the contract.
46
+ - **The rendered signature carries `role='img'` with alt text built from `@signerName`**, so an exported mark is described rather than being an unlabelled graphic.
47
+ - **`@description` is wired through `aria-describedby`**, giving a place for "sign with your mouse or type your name" that is not a placeholder.
48
+ - **`@required` says so in the label** rather than only setting an attribute — the asterisk is `aria-hidden` and the word is in the name.
49
+ - **Mode changes are reported through `@onChange`**, so a form knows which method produced the value.
50
+
51
+ ## Theming
52
+
53
+ `--pretui-sigpad-paper` (the surface), `--pretui-sigpad-ink` (the default pen), `--pretui-sigpad-radius`, `--pretui-sigpad-script` (the typeface the typed name renders in), over `--pretui-shadow-control`.
54
+
55
+ `--pretui-sigpad-script` is the one that matters for the typed path: a typed signature set in the interface font reads as a text field, and set in a script face it reads as a signature. A theme that leaves it unset makes the alternative feel like a lesser option, which is exactly what it must not be.
56
+
57
+ The styles sit in `@layer PretComponent`, so a caller's unlayered CSS overrides them without a more specific selector.
@@ -0,0 +1,222 @@
1
+ // Pretui — SignaturePad usage page.
2
+ import Component from '@glimmer/component';
3
+ import { tracked } from '@glimmer/tracking';
4
+ import { FreestyleUsage } from './freestyle-usage';
5
+ import { SignaturePad } from './signature-pad';
6
+ import type { SignatureValue } from './signature-pad';
7
+ import { Token } from './token';
8
+
9
+ const MODES: string[] = ['draw', 'type'];
10
+
11
+ // ── SignaturePad ─────────────────────────────────────────────────────────
12
+
13
+ class SignaturePadUsage extends Component {
14
+ modes = MODES;
15
+
16
+ @tracked label = 'Contractor signature';
17
+ @tracked description =
18
+ 'Sign with a pointer, or switch to Type and enter your full name.';
19
+ @tracked signerName = '';
20
+ @tracked defaultMode = 'draw';
21
+ @tracked hideTypedAlternative = false;
22
+ @tracked penColor = '';
23
+ @tracked minWidth = 0.7;
24
+ @tracked maxWidth = 2.4;
25
+ @tracked dotSize = 1.6;
26
+ @tracked height = 180;
27
+ @tracked required = false;
28
+ @tracked last: SignatureValue | undefined;
29
+
30
+ setLabel = (v: string) => (this.label = v);
31
+ setDescription = (v: string) => (this.description = v);
32
+ setSignerName = (v: string) => (this.signerName = v);
33
+ setDefaultMode = (v: string) => (this.defaultMode = v);
34
+ setHideTyped = (v: boolean) => (this.hideTypedAlternative = v);
35
+ setPenColor = (v: string) => (this.penColor = v);
36
+ setMinWidth = (v: number | null) => (this.minWidth = v ?? 0.7);
37
+ setMaxWidth = (v: number | null) => (this.maxWidth = v ?? 2.4);
38
+ setDotSize = (v: number | null) => (this.dotSize = v ?? 1.6);
39
+ setHeight = (v: number | null) => (this.height = v ?? 180);
40
+ setRequired = (v: boolean) => (this.required = v);
41
+ noteChange = (value: SignatureValue) => (this.last = value);
42
+
43
+ get defaultModeValue(): 'draw' | 'type' {
44
+ return this.defaultMode === 'type' ? 'type' : 'draw';
45
+ }
46
+ get penColorValue(): string | undefined {
47
+ return this.penColor.trim() === '' ? undefined : this.penColor;
48
+ }
49
+ get signerNameValue(): string | undefined {
50
+ return this.signerName.trim() === '' ? undefined : this.signerName;
51
+ }
52
+ get modeText(): string {
53
+ return this.last?.mode ?? '—';
54
+ }
55
+ get emptyText(): string {
56
+ return this.last ? String(this.last.isEmpty) : '—';
57
+ }
58
+ get strokeText(): string {
59
+ return this.last ? this.last.strokes.length + ' strokes' : '—';
60
+ }
61
+ get usage(): string {
62
+ return [
63
+ '<SignaturePad',
64
+ " @label='" + this.label + "'",
65
+ " @defaultMode='" + this.defaultMode + "'",
66
+ ' @height={{' + this.height + '}}',
67
+ ' @onChange={{this.persist}}',
68
+ ' as |sig|',
69
+ '>',
70
+ ' <button type="button" disabled={{sig.isEmpty}}>Save</button>',
71
+ '</SignaturePad>',
72
+ ].join('\n');
73
+ }
74
+
75
+ <template>
76
+ <FreestyleUsage
77
+ @name='SignaturePad'
78
+ @description="Variable-width Bézier capture over pointer events, on a vendored signature_pad. Four things here are the reason most signature pads are bad. The backing store is scaled by devicePixelRatio, so strokes are not soft on a retina screen. A resize replays the stroke data instead of losing it — drag the height knob mid-signature and watch it survive the wipe that changing canvas.width always causes. The engine runs with throttle 0, which means it schedules no timer at all, so nothing here can outlive the element or hang a test run. And the typed-name alternative is a full peer of drawing, not a courtesy: same onChange payload, same isEmpty semantics, same SVG and PNG output, reachable by Tab alone — because a pointer-only input is not an input for everyone. @onChange emits the STROKE DATA, never a picture; the block yields toSVG() and toPNG() for when you actually want one, SVG first."
79
+ @source={{this.usage}}
80
+ >
81
+ <:example>
82
+ <SignaturePad
83
+ @label={{this.label}}
84
+ @description={{this.description}}
85
+ @signerName={{this.signerNameValue}}
86
+ @defaultMode={{this.defaultModeValue}}
87
+ @hideTypedAlternative={{this.hideTypedAlternative}}
88
+ @penColor={{this.penColorValue}}
89
+ @minWidth={{this.minWidth}}
90
+ @maxWidth={{this.maxWidth}}
91
+ @dotSize={{this.dotSize}}
92
+ @height={{this.height}}
93
+ @required={{this.required}}
94
+ @onChange={{this.noteChange}}
95
+ >
96
+ <p class='cap-readout'>
97
+ <span class='cap-readoutLabel'>@onChange</span>
98
+ <Token @value={{this.modeText}} />
99
+ <Token @value={{this.emptyText}} />
100
+ <Token @value={{this.strokeText}} />
101
+ </p>
102
+ </SignaturePad>
103
+ </:example>
104
+
105
+ <:api as |Args|>
106
+ <Args.String
107
+ @name='label'
108
+ @value={{this.label}}
109
+ @defaultValue='Signature'
110
+ @description='The visible label, and the stem of the canvas accessible name.'
111
+ @onInput={{this.setLabel}}
112
+ />
113
+ <Args.String
114
+ @name='description'
115
+ @value={{this.description}}
116
+ @description='Helper text under the surface, wired through aria-describedby to whichever input is active.'
117
+ @onInput={{this.setDescription}}
118
+ />
119
+ <Args.String
120
+ @name='signerName'
121
+ @value={{this.signerName}}
122
+ @description='Who is signing. Used in the exported image alt text, and as the initial typed name.'
123
+ @onInput={{this.setSignerName}}
124
+ />
125
+ <Args.String
126
+ @name='defaultMode'
127
+ @value={{this.defaultMode}}
128
+ @options={{this.modes}}
129
+ @defaultValue='draw'
130
+ @description='Which signing method is offered first.'
131
+ @onInput={{this.setDefaultMode}}
132
+ />
133
+ <Args.Bool
134
+ @name='hideTypedAlternative'
135
+ @value={{this.hideTypedAlternative}}
136
+ @defaultValue={{false}}
137
+ @description='Strongly discouraged — it removes the only path for anyone who cannot draw with a pointer. It exists so a caller with a genuinely different fallback has to say so out loud.'
138
+ @onInput={{this.setHideTyped}}
139
+ />
140
+ <Args.String
141
+ @name='penColor'
142
+ @value={{this.penColor}}
143
+ @description='Ink colour. Opaque hex or rgb() only; anything else falls back to the ink resolved from the theme token, which is also what happens when this is left empty.'
144
+ @onInput={{this.setPenColor}}
145
+ />
146
+ <Args.Number
147
+ @name='minWidth'
148
+ @value={{this.minWidth}}
149
+ @min={{0.1}}
150
+ @max={{10}}
151
+ @step={{0.1}}
152
+ @defaultValue={{0.7}}
153
+ @description='Thinnest stroke in px — the fast end of the velocity taper.'
154
+ @onInput={{this.setMinWidth}}
155
+ />
156
+ <Args.Number
157
+ @name='maxWidth'
158
+ @value={{this.maxWidth}}
159
+ @min={{0.5}}
160
+ @max={{30}}
161
+ @step={{0.1}}
162
+ @defaultValue={{2.4}}
163
+ @description='Thickest stroke in px — the slow end. Widen the gap for a more calligraphic line.'
164
+ @onInput={{this.setMaxWidth}}
165
+ />
166
+ <Args.Number
167
+ @name='dotSize'
168
+ @value={{this.dotSize}}
169
+ @min={{0}}
170
+ @max={{20}}
171
+ @step={{0.1}}
172
+ @defaultValue={{1.6}}
173
+ @description='Radius of a single tap dot, so a full stop is not invisible.'
174
+ @onInput={{this.setDotSize}}
175
+ />
176
+ <Args.Number
177
+ @name='height'
178
+ @value={{this.height}}
179
+ @min={{60}}
180
+ @max={{700}}
181
+ @defaultValue={{180}}
182
+ @description='Surface height in px, clamped to [80, 600]. Change it mid-signature: the strokes are replayed onto the new backing store rather than wiped.'
183
+ @onInput={{this.setHeight}}
184
+ />
185
+ <Args.Bool
186
+ @name='required'
187
+ @value={{this.required}}
188
+ @defaultValue={{false}}
189
+ @description='Marks the control required, with a visually-hidden "(required)" inside the label so it reaches AT.'
190
+ @onInput={{this.setRequired}}
191
+ />
192
+ <Args.Object
193
+ @name='onChange'
194
+ @value={{this.last}}
195
+ @description='Receives { mode, strokes, typedName, isEmpty } on every stroke, clear, typed keystroke and method change. Stroke data, not an image — the caller decides what to persist.'
196
+ />
197
+ <Args.Yield
198
+ @name='default'
199
+ @description='Receives the handle: mode, isEmpty, value, clear(), toSVG(), toPNG(), altText.'
200
+ />
201
+ </:api>
202
+ </FreestyleUsage>
203
+
204
+ <style scoped>
205
+ .cap-readout {
206
+ display: flex;
207
+ align-items: center;
208
+ gap: 8px;
209
+ margin: 10px 0 0;
210
+ font-size: var(--text-ui-sm, 11.5px);
211
+ color: var(--muted-foreground);
212
+ }
213
+ .cap-readoutLabel {
214
+ font-family: var(--font-mono);
215
+ }
216
+ </style>
217
+ </template>
218
+ }
219
+
220
+ export const DEMOS_SIGNATURE_PAD: Record<string, unknown> = {
221
+ SignaturePad: SignaturePadUsage,
222
+ };
@@ -0,0 +1,46 @@
1
+ // Pretui — Skeleton: a placeholder shape shown while content loads.
2
+ import Component from '@glimmer/component';
3
+ import { cssDeclaration, cssStyleFrom } from '../pretui-css';
4
+
5
+ export interface SkeletonSignature {
6
+ Args: { width?: string; height?: string };
7
+ Element: HTMLSpanElement;
8
+ }
9
+
10
+ export class Skeleton extends Component<SkeletonSignature> {
11
+ get style() {
12
+ return cssStyleFrom([
13
+ cssDeclaration('--_w', this.args.width ?? '100%'),
14
+ cssDeclaration('--_h', this.args.height ?? '12px'),
15
+ ]);
16
+ }
17
+ <template>
18
+ <span class='pretui-skeleton' style={{this.style}} aria-hidden='true' data-test-pretui-skeleton ...attributes></span>
19
+ <style scoped>
20
+ @layer PretComponent {
21
+ @keyframes pretui-shimmer {
22
+ from {
23
+ background-position: 200% 0;
24
+ }
25
+ to {
26
+ background-position: -200% 0;
27
+ }
28
+ }
29
+ .pretui-skeleton {
30
+ display: block;
31
+ width: var(--_w, 100%);
32
+ height: var(--_h, 12px);
33
+ border-radius: 6px;
34
+ background: linear-gradient(90deg, var(--inset, var(--boxel-100)) 40%, var(--hover, var(--boxel-100)) 50%, var(--inset, var(--boxel-100)) 60%);
35
+ background-size: 200% 100%;
36
+ animation: pretui-shimmer 1.6s linear infinite;
37
+ }
38
+ @media (prefers-reduced-motion: reduce) {
39
+ .pretui-skeleton {
40
+ animation: none;
41
+ }
42
+ }
43
+ }
44
+ </style>
45
+ </template>
46
+ }
@@ -0,0 +1,56 @@
1
+ ## What it is
2
+
3
+ A shimmering grey rectangle standing in for content that has not arrived. Use it when you know the _shape_ of what is coming — a title line, three rows, an avatar — because a skeleton that matches the eventual layout prevents the reflow jolt that a spinner does not. If you do not know the shape, use **Spinner** or **LoadingState**. If the content will never arrive, **EmptyState**. If a specific reference is gone, **BrokenLink**.
4
+
5
+ ## The contract
6
+
7
+ ```
8
+ @width? (default '100%'), @height? (default '12px')
9
+ Element: HTMLSpanElement
10
+ ```
11
+
12
+ Two args, both CSS length strings. Compose several to sketch a layout; there is no variant system, no `count`, no `circle` mode.
13
+
14
+ **Both dimensions go through the kit's CSS guard.** `get style()` builds each declaration with `cssDeclaration`, so a value that fails the allowlist is dropped whole and the stylesheet's own `100%` / `12px` paints instead — the caller loses their override, never the component's rendering.
15
+
16
+ That guard is the load-bearing part, and it is worth being precise about why the shape alone is not enough. Writing the value into a custom property the component chose (`--_w`, never a caller-supplied property name) stops the value becoming a _property_; it does not stop it becoming a second _declaration_. Unguarded, a `@width` of `0px; background: red` renders as `--_w: 0px; background: red; --_h: 12px` — a live declaration the caller chose. `components/skeleton.test.gts` pins the refusal: that input renders `--_h: 12px`, the width dropped whole and the stylesheet's own `var(--_w, 100%)` painting in its place. A chosen property name plus a validated value is the pattern to copy anywhere caller data reaches CSS; the property name on its own is half of it.
17
+
18
+ The shimmer is a 200%-wide three-stop `linear-gradient` scrolled by `background-position` — one animation, no pseudo-element, no overlay.
19
+
20
+ ## Prior art
21
+
22
+ **Web Awesome `wa-skeleton`** takes `effect` (`none | sheen | pulse`) and exposes `--color` and `--sheen-color`; you size it with CSS. **shadcn `Skeleton`** is a `<div>` with `animate-pulse` and a rounded background — you size it with Tailwind classes. **React Spectrum** has no skeleton; it uses `ProgressCircle` and content-shift avoidance instead.
23
+
24
+ Pretui sits between the two: args rather than classes for size (so a call site does not need a styling system), and no effect axis. The improvement over shadcn is that **sizing is part of the API**, which means a skeleton is one self-describing element rather than an element plus a class soup. The improvement over Web Awesome is smaller — really just that the default 12px height matches the kit's body line box, so a bare `<Skeleton />` already looks like a line of text.
25
+
26
+ Where it is behind: **no `pulse` alternative and no shape variants.** Web Awesome's `pulse` is the calmer effect and the one to prefer for large areas; a circular skeleton for avatars needs `border-radius` passed through `...attributes`, which works but is undiscoverable. The 6px radius is fixed.
27
+
28
+ ## Accessibility
29
+
30
+ No APG pattern. Relevant criteria: WCAG **2.2.2 Pause, Stop, Hide**, **4.1.3 Status Messages**, **1.4.1**.
31
+
32
+ What is right, and it is the important call:
33
+
34
+ - **`aria-hidden="true"`.** Skeletons are pure decoration and are correctly removed from the accessibility tree. A page of twenty skeletons announces nothing, which is exactly right — the alternative (each one announced as an unlabelled region) is the common mistake.
35
+ - **`prefers-reduced-motion: reduce` stops the animation entirely**, leaving a static grey block. That is the correct treatment for a decorative shimmer: unlike **Spinner**, where stopping the motion removes the meaning, a skeleton conveys everything it needs to by being there.
36
+
37
+ Gaps — all of them at the composition level, which is where they belong:
38
+
39
+ - **Nothing announces that content is loading, or that it has arrived.** Because the skeletons are `aria-hidden`, a screen-reader user gets _silence_ during the wait and then content appearing with no transition signal. The caller must supply a `role="status"` region — and it must exist in the DOM before the change, which is the usual live-region requirement. This is the single thing to get right when using Skeleton.
40
+ - **`aria-busy="true"`** on the region being replaced is the other half, and nothing here sets or suggests it.
41
+ - **The animation runs indefinitely.** WCAG 2.2.2 governs motion that starts automatically, lasts more than five seconds and runs in parallel with other content. A slow load with a screenful of skeletons qualifies, and there is no pause control — only the reduced-motion branch, which covers users who have set the preference and no one else.
42
+ - **`role="presentation"` semantics via `aria-hidden` also hide any real content** placed inside a Skeleton. Do not nest content in one; it is meant to be empty.
43
+ - The gray-on-gray gradient (`--inset` → `--hover` → `--inset`) is intentionally low contrast and carries no information, so **1.4.11** does not apply — but a theme that raises the contrast turns skeletons into visual noise.
44
+
45
+ ## Theming
46
+
47
+ `--inset` (base) and `--hover` (the sheen's bright stop). That is the entire palette, and the two are adjacent by design — the shimmer should be barely perceptible.
48
+
49
+ The 6px radius, 1.6s duration, `linear` easing and 200% gradient width are fixed. A theme cannot slow the shimmer or change its shape; retuning `--inset` and `--hover` closer together or further apart is the only available adjustment, and a theme that makes them very different will produce a distractingly strobing page. If you need circular skeletons for avatars, pass `style="border-radius: 50%"` through `...attributes` at the call site.
50
+
51
+ The styles sit in `@layer PretComponent`, so a caller's unlayered CSS overrides them without a more specific selector.
52
+
53
+ ## React ecosystem
54
+
55
+ Accept `width` / `height` / `radius` / `count`. Law 8: the skeleton
56
+ must match the shape of the real content (AspectRatio for media).
@@ -0,0 +1,56 @@
1
+ // Pretui — Skeleton usage page.
2
+ import GlimmerComponent from '@glimmer/component';
3
+ import { tracked } from '@glimmer/tracking';
4
+ import { FreestyleUsage } from './freestyle-usage';
5
+ import { Skeleton } from './skeleton';
6
+
7
+ // ── Skeleton ← skeleton-placeholder/usage.gts ────────────────────────────
8
+ // Dropped knobs: animation (wave/pulse/none — Pretui ships one shimmer;
9
+ // reduced-motion turns it off in CSS).
10
+ class SkeletonUsage extends GlimmerComponent {
11
+ @tracked width = '200px';
12
+ @tracked height = '20px';
13
+ setWidth = (v: string) => (this.width = v);
14
+ setHeight = (v: string) => (this.height = v);
15
+ <template>
16
+ <FreestyleUsage
17
+ @name='Skeleton'
18
+ @description='A skeleton placeholder component to show loading states'
19
+ >
20
+ <:example>
21
+ <div class='skeleton-stack'>
22
+ <Skeleton @width={{this.width}} @height={{this.height}} />
23
+ <Skeleton @width='140px' @height='12px' />
24
+ <Skeleton @width='80px' @height='12px' />
25
+ </div>
26
+ </:example>
27
+ <:api as |Args|>
28
+ <Args.String
29
+ @name='width'
30
+ @description='Width of the skeleton (px or %)'
31
+ @defaultValue='100%'
32
+ @value={{this.width}}
33
+ @onInput={{this.setWidth}}
34
+ />
35
+ <Args.String
36
+ @name='height'
37
+ @description='Height of the skeleton (px or %)'
38
+ @defaultValue='12px'
39
+ @value={{this.height}}
40
+ @onInput={{this.setHeight}}
41
+ />
42
+ </:api>
43
+ </FreestyleUsage>
44
+ <style scoped>
45
+ .skeleton-stack {
46
+ width: 240px;
47
+ display: grid;
48
+ gap: var(--space-3, 8px);
49
+ }
50
+ </style>
51
+ </template>
52
+ }
53
+
54
+ export const DEMOS_SKELETON: Record<string, unknown> = {
55
+ Skeleton: SkeletonUsage,
56
+ };
@@ -0,0 +1,65 @@
1
+ // Pretui — SkipLink: the first focusable control, a way past the chrome to the main content.
2
+ import Component from '@glimmer/component';
3
+
4
+ export interface SkipLinkSignature {
5
+ Args: {
6
+ /** The in-page target (default '#main'). Give that element the matching id. */
7
+ href?: string;
8
+ /** The link text (default 'Skip to content'). */
9
+ label?: string;
10
+ };
11
+ Element: HTMLAnchorElement;
12
+ }
13
+
14
+ /**
15
+ * WCAG 2.4.1 Bypass Blocks. Put it first in the pane, before the header and
16
+ * navigation. It is off screen until it receives focus, then appears at the
17
+ * top start corner of the nearest positioned ancestor so the keyboard user can see where they are. It is a plain
18
+ * in-page anchor, so it needs no router. The target should be focusable
19
+ * (`tabindex='-1'` on a `<main>`) so focus actually moves there, not only the
20
+ * scroll position.
21
+ */
22
+ export class SkipLink extends Component<SkipLinkSignature> {
23
+ get href(): string {
24
+ return this.args.href ?? '#main';
25
+ }
26
+ get label(): string {
27
+ return this.args.label ?? 'Skip to content';
28
+ }
29
+ <template>
30
+ <a class='pretui-skip-link' href={{this.href}} data-test-pretui-skip-link ...attributes>{{this.label}}</a>
31
+ <style scoped>
32
+ @layer PretComponent {
33
+ .pretui-skip-link {
34
+ position: absolute;
35
+ inset-block-start: var(--space-3, 0.5rem);
36
+ inset-inline-start: var(--space-3, 0.5rem);
37
+ z-index: var(--pretui-z-toast, 100);
38
+ padding: var(--space-2, 0.375rem) var(--space-4, 0.6875rem);
39
+ border-radius: var(--radius-control, 6px);
40
+ background: var(--primary);
41
+ color: var(--primary-foreground);
42
+ font-family: var(--font-sans);
43
+ font-size: var(--text-ui-md, 0.78rem);
44
+ font-weight: 600;
45
+ text-decoration: none;
46
+ box-shadow: var(--pretui-shadow-raised, 0 0 0 1px var(--border));
47
+ }
48
+ /* Off screen but in the tab order and the accessibility tree until it
49
+ has focus: the clip pattern, not display: none. */
50
+ .pretui-skip-link:not(:focus) {
51
+ inline-size: 1px;
52
+ block-size: 1px;
53
+ padding: 0;
54
+ overflow: hidden;
55
+ clip-path: inset(50%);
56
+ white-space: nowrap;
57
+ }
58
+ .pretui-skip-link:focus-visible {
59
+ outline: 2px solid var(--ring);
60
+ outline-offset: 2px;
61
+ }
62
+ }
63
+ </style>
64
+ </template>
65
+ }
@@ -0,0 +1,49 @@
1
+ ## What it is
2
+
3
+ **The first focusable control in a pane**: a link past the header and navigation to the main content. It satisfies WCAG 2.4.1 Bypass Blocks. It is off screen until it receives focus, then appears in the top start corner, so a keyboard user sees where the first Tab took them.
4
+
5
+ Put exactly one SkipLink first in the pane, before any header or navigation. For other screen-reader-only text, use **VisuallyHidden**.
6
+
7
+ ## The contract
8
+
9
+ ```
10
+ @href? (default '#main')
11
+ @label? (default 'Skip to content')
12
+ Element: HTMLAnchorElement
13
+ ```
14
+
15
+ **A plain in-page anchor.** It needs no router and no script: following it moves the document to the element with the matching id. Give the target `tabindex='-1'`, for example `<main id='main' tabindex='-1'>`, so focus moves there too, not only the scroll position. Without it, the next Tab starts from the top again in some browsers.
16
+
17
+ **Hidden with the clip pattern until focused.** Unfocused, it is 1px and clipped, but it stays in the tab order and the accessibility tree. Focused, it is a solid primary-toned pill, absolutely positioned in the top start corner of the nearest positioned ancestor.
18
+
19
+ ## Prior art
20
+
21
+ **Chakra `SkipNavLink` / `SkipNavContent`** pairs the link with a target component that carries the id. **Gov.uk and USWDS** ship a skip link as a class on an anchor. Most other React kits (Radix, MUI, Ant, Mantine) have none, and agents hand-roll an `sr-only focus:not-sr-only` anchor.
22
+
23
+ Where Pretui is better: the hidden state keeps the link reachable. Hand-rolled versions often use `display: none` until focus, which never receives focus at all. Where it is thinner: **no target component**. Chakra's `SkipNavContent` sets the id and `tabindex` for you; here you put them on your `<main>`.
24
+
25
+ ## Accessibility
26
+
27
+ No APG pattern. WCAG 2.4.1 and the conventions around it.
28
+
29
+ - **It is a real link.** `<a href>`, in the natural tab order with no `tabindex` and no `aria-hidden`. The tests assert the tag, the default `href` and label, and that it can take focus.
30
+ - **It must come first.** A skip link after the navigation skips nothing. Render it before the header.
31
+ - **The target must accept focus.** Put `tabindex='-1'` on it so focus moves with the scroll.
32
+ - **The label says where it goes.** "Skip to content" is the convention. Use "Skip to results" or similar when the main region has a more specific job.
33
+ - **The focus ring is always shown** on `:focus-visible`.
34
+
35
+ ## Theming
36
+
37
+ `--primary` and `--primary-foreground` (the revealed pill), `--radius-control`, `--pretui-shadow-raised`, `--ring` (focus ring), `--font-sans`, `--text-ui-md`, `--space-2`, `--space-3` and `--space-4`, and `--pretui-z-toast`, so it sits above page chrome while it is visible.
38
+
39
+ The corner position and the clip-until-focus behaviour are fixed.
40
+
41
+ The styles sit in `@layer PretComponent`, so a caller's unlayered CSS overrides them without a more specific selector.
42
+
43
+ ## React ecosystem
44
+
45
+ | Agent types | Give them |
46
+ | ------------------------------------------- | ------------------------------------------ |
47
+ | Chakra `<SkipNavLink>` | `<SkipLink />` |
48
+ | Chakra `<SkipNavContent>` | `id='main' tabindex='-1'` on your `<main>` |
49
+ | `<a className="sr-only focus:not-sr-only">` | `<SkipLink @href @label />` |
@@ -0,0 +1,47 @@
1
+ // Pretui — SkipLink usage page.
2
+ import type { TemplateOnlyComponent } from '@ember/component/template-only';
3
+ import { FreestyleUsage } from './freestyle-usage';
4
+ import { SkipLink } from './skip-link';
5
+
6
+ const SOURCE = "<SkipLink @href='#main' />\n<header>…</header>\n<main id='main' tabindex='-1'>…</main>";
7
+
8
+ const SkipLinkUsage: TemplateOnlyComponent = <template>
9
+ <FreestyleUsage
10
+ @name='SkipLink'
11
+ @description='The first focusable control in a pane: a way past the header and navigation to the main content (WCAG 2.4.1). It is off screen until it has focus. Tab into the demo frame to see it.'
12
+ @source={{SOURCE}}
13
+ >
14
+ <:example>
15
+ <div class='sk-demo'>
16
+ <SkipLink @href='#sk-demo-main' />
17
+ <nav class='sk-demo-nav'><a href='#sk-demo-main'>Lots</a> <a href='#sk-demo-main'>Roasts</a> <a href='#sk-demo-main'>Orders</a></nav>
18
+ <main id='sk-demo-main' class='sk-demo-main' tabindex='-1'>Main content</main>
19
+ </div>
20
+ </:example>
21
+ <:api as |Args|>
22
+ <Args.String @name='href' @defaultValue='#main' @description='The in-page target. Give it the matching id and tabindex=-1.' />
23
+ <Args.String @name='label' @defaultValue='Skip to content' />
24
+ </:api>
25
+ </FreestyleUsage>
26
+ <style scoped>
27
+ .sk-demo {
28
+ position: relative;
29
+ padding: var(--space-6, 1.25rem) var(--space-4, 0.6875rem) var(--space-4, 0.6875rem);
30
+ border-radius: var(--radius-surface, 10px);
31
+ box-shadow: 0 0 0 1px var(--border);
32
+ }
33
+ .sk-demo-nav {
34
+ display: flex;
35
+ gap: var(--space-4, 0.6875rem);
36
+ font-size: var(--text-ui-md, 0.78rem);
37
+ }
38
+ .sk-demo-main {
39
+ margin-block-start: var(--space-4, 0.6875rem);
40
+ color: var(--muted-foreground);
41
+ }
42
+ </style>
43
+ </template>;
44
+
45
+ export const DEMOS_SKIP_LINK: Record<string, unknown> = {
46
+ SkipLink: SkipLinkUsage,
47
+ };
@@ -0,0 +1,2 @@
1
+ // Pretui — SlideOver: What shadcn calls Sheet: Drawer under a name that cannot collide.
2
+ export { Drawer as SlideOver } from './drawer';
@@ -0,0 +1,41 @@
1
+ ## What it is
2
+
3
+ **SlideOver** is **Drawer** under a name that cannot collide. shadcn calls this edge-anchored panel `Sheet`, but **Pretui `Sheet` is a spreadsheet**, so an agent that types Sheet for a slide-over gets the wrong component. SlideOver is the same export as Drawer, and the **Drawer** writeup carries the depth. A centred overlay is **Dialog**.
4
+
5
+ ## The contract
6
+
7
+ ```
8
+ @open?, @onClose?, @onOpenChange?
9
+ @label? — the accessible name
10
+ @placement? ('start' | 'end' | 'bottom'; default 'end'; the React spellings map)
11
+ @dismissible? (default true)
12
+ <:title> <:default> <:footer>
13
+ Element: HTMLDialogElement
14
+ ```
15
+
16
+ Identical to Drawer: a native `<dialog>` opened with `showModal()` and placed against one edge.
17
+
18
+ ## Prior art
19
+
20
+ **shadcn `Sheet`** is Radix Dialog with a `side` of `top | right | bottom | left`. **MUI `Drawer`** takes `anchor`, `open`, `onClose` and `variant` (`temporary | persistent | permanent`). **Ant `Drawer`** takes `placement`, `open`, `onClose`, `size`, `extra` and `footer`. **Web Awesome `wa-drawer`** takes `placement` and `open`.
21
+
22
+ Drawer's placements are logical, so `end` is on the left in RTL. It has no `top` placement and no persistent or permanent mode. A panel that stays in the layout is **SplitPanes** or a sidebar, not a modal drawer.
23
+
24
+ ## Accessibility
25
+
26
+ Identical to Drawer: APG **Dialog (Modal)**. A drawer is a dialog with geometry. `showModal()` supplies the focus trap, Escape, `::backdrop`, inert background and stacking. `@label` is the only labelling route, so pass it as well as any `<:title>`.
27
+
28
+ ## Theming
29
+
30
+ Identical to Drawer: `--pretui-drawer-size`, `--card`, `--foreground`, `--muted-foreground`, `--border`, `--radius-surface`, `--pretui-shadow-overlay`, `--pretui-overlay-scrim`, `--text-heading`, `--weight-heading`, `--track-heading`, `--text-body`, `--leading-body`, `--space-3`, `--space-4` and `--space-6`.
31
+
32
+ ## React ecosystem
33
+
34
+ | shadcn / MUI / Ant | Pretui |
35
+ | ----------------------------- | ------------------------------ |
36
+ | shadcn `<Sheet side="right">` | `<SlideOver @placement='end'>` |
37
+ | MUI `anchor="left"` | `@placement='start'` |
38
+ | Ant `placement="bottom"` | `@placement='bottom'` |
39
+ | `open` / `onClose` | `@open` / `@onClose` |
40
+ | `SheetTitle` | `<:title>` plus `@label` |
41
+ | MUI `variant="permanent"` | **SplitPanes**, not a drawer |