@fungi.computer/caps 0.0.0-stage → 0.0.1

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 (387) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1125 -2
  3. package/dist/blocks/app-bar.d.ts +43 -0
  4. package/dist/blocks/app-bar.js +244 -0
  5. package/dist/blocks/app-status-bar.d.ts +93 -0
  6. package/dist/blocks/app-status-bar.js +42 -0
  7. package/dist/blocks/async-state.d.ts +21 -0
  8. package/dist/blocks/async-state.js +8 -0
  9. package/dist/blocks/card-grid.d.ts +11 -0
  10. package/dist/blocks/card-grid.js +21 -0
  11. package/dist/blocks/command-menu.d.ts +26 -0
  12. package/dist/blocks/command-menu.js +70 -0
  13. package/dist/blocks/composer.d.ts +23 -0
  14. package/dist/blocks/composer.js +13 -0
  15. package/dist/blocks/empty-state.d.ts +59 -0
  16. package/dist/blocks/empty-state.js +35 -0
  17. package/dist/blocks/faq-chat.d.ts +62 -0
  18. package/dist/blocks/faq-chat.js +77 -0
  19. package/dist/blocks/game-share-card.d.ts +17 -0
  20. package/dist/blocks/game-share-card.js +9 -0
  21. package/dist/blocks/launcher-grid.d.ts +50 -0
  22. package/dist/blocks/launcher-grid.js +11 -0
  23. package/dist/blocks/listing-detail.d.ts +23 -0
  24. package/dist/blocks/listing-detail.js +12 -0
  25. package/dist/blocks/loading-state.d.ts +5 -0
  26. package/dist/blocks/loading-state.js +8 -0
  27. package/dist/blocks/mosaic.d.ts +29 -0
  28. package/dist/blocks/mosaic.js +19 -0
  29. package/dist/blocks/permission-grid.d.ts +45 -0
  30. package/dist/blocks/permission-grid.js +14 -0
  31. package/dist/blocks/pricing-card.d.ts +53 -0
  32. package/dist/blocks/pricing-card.js +12 -0
  33. package/dist/blocks/release-tag.d.ts +20 -0
  34. package/dist/blocks/release-tag.js +10 -0
  35. package/dist/blocks/resource-select.d.ts +22 -0
  36. package/dist/blocks/resource-select.js +16 -0
  37. package/dist/blocks/result-state.d.ts +15 -0
  38. package/dist/blocks/result-state.js +8 -0
  39. package/dist/blocks/section-card.d.ts +31 -0
  40. package/dist/blocks/section-card.js +7 -0
  41. package/dist/blocks/section-heading.d.ts +13 -0
  42. package/dist/blocks/section-heading.js +11 -0
  43. package/dist/blocks/spec-sheet.d.ts +125 -0
  44. package/dist/blocks/spec-sheet.js +47 -0
  45. package/dist/blocks/status-tray.d.ts +83 -0
  46. package/dist/blocks/status-tray.js +79 -0
  47. package/dist/blocks/upload-queue.d.ts +48 -0
  48. package/dist/blocks/upload-queue.js +24 -0
  49. package/dist/components/action-row.d.ts +16 -0
  50. package/dist/components/action-row.js +11 -0
  51. package/dist/components/activity-line.d.ts +33 -0
  52. package/dist/components/activity-line.js +69 -0
  53. package/dist/components/alert.d.ts +17 -0
  54. package/dist/components/alert.js +17 -0
  55. package/dist/components/badge.d.ts +19 -0
  56. package/dist/components/badge.js +24 -0
  57. package/dist/components/button.d.ts +55 -0
  58. package/dist/components/button.js +230 -0
  59. package/dist/components/card.d.ts +61 -0
  60. package/dist/components/card.js +48 -0
  61. package/dist/components/chat-bubble.d.ts +34 -0
  62. package/dist/components/chat-bubble.js +10 -0
  63. package/dist/components/checkbox-bead.d.ts +6 -0
  64. package/dist/components/checkbox-bead.js +67 -0
  65. package/dist/components/checkbox.d.ts +21 -0
  66. package/dist/components/checkbox.js +46 -0
  67. package/dist/components/code-input.d.ts +35 -0
  68. package/dist/components/code-input.js +126 -0
  69. package/dist/components/combobox.d.ts +86 -0
  70. package/dist/components/combobox.js +218 -0
  71. package/dist/components/confirm-action.d.ts +23 -0
  72. package/dist/components/confirm-action.js +64 -0
  73. package/dist/components/copy-field.d.ts +53 -0
  74. package/dist/components/copy-field.js +49 -0
  75. package/dist/components/count-badge.d.ts +15 -0
  76. package/dist/components/count-badge.js +9 -0
  77. package/dist/components/cover-pattern.d.ts +19 -0
  78. package/dist/components/cover-pattern.js +74 -0
  79. package/dist/components/data-list.d.ts +25 -0
  80. package/dist/components/data-list.js +16 -0
  81. package/dist/components/dialog.d.ts +39 -0
  82. package/dist/components/dialog.js +73 -0
  83. package/dist/components/diff-view.d.ts +14 -0
  84. package/dist/components/diff-view.js +13 -0
  85. package/dist/components/disclosure.d.ts +29 -0
  86. package/dist/components/disclosure.js +19 -0
  87. package/dist/components/dropdown-menu.d.ts +49 -0
  88. package/dist/components/dropdown-menu.js +98 -0
  89. package/dist/components/field-guide.d.ts +41 -0
  90. package/dist/components/field-guide.js +18 -0
  91. package/dist/components/field.d.ts +164 -0
  92. package/dist/components/field.js +228 -0
  93. package/dist/components/game-feedback.d.ts +84 -0
  94. package/dist/components/game-feedback.js +48 -0
  95. package/dist/components/game-hud.d.ts +126 -0
  96. package/dist/components/game-hud.js +136 -0
  97. package/dist/components/generation-frame.d.ts +36 -0
  98. package/dist/components/generation-frame.js +97 -0
  99. package/dist/components/gooey.d.ts +32 -0
  100. package/dist/components/gooey.js +25 -0
  101. package/dist/components/hold-button.d.ts +26 -0
  102. package/dist/components/hold-button.js +115 -0
  103. package/dist/components/icon-button.d.ts +24 -0
  104. package/dist/components/icon-button.js +18 -0
  105. package/dist/components/icon-checkbox.d.ts +20 -0
  106. package/dist/components/icon-checkbox.js +9 -0
  107. package/dist/components/icon-choice-mark.d.ts +6 -0
  108. package/dist/components/icon-choice-mark.js +5 -0
  109. package/dist/components/icon-lamp.d.ts +42 -0
  110. package/dist/components/icon-lamp.js +15 -0
  111. package/dist/components/icon-radio.d.ts +16 -0
  112. package/dist/components/icon-radio.js +9 -0
  113. package/dist/components/inline-code.d.ts +3 -0
  114. package/dist/components/inline-code.js +7 -0
  115. package/dist/components/input-group.d.ts +9 -0
  116. package/dist/components/input-group.js +15 -0
  117. package/dist/components/input.d.ts +15 -0
  118. package/dist/components/input.js +15 -0
  119. package/dist/components/item-grid.d.ts +110 -0
  120. package/dist/components/item-grid.js +136 -0
  121. package/dist/components/keycap.d.ts +80 -0
  122. package/dist/components/keycap.js +18 -0
  123. package/dist/components/label.d.ts +13 -0
  124. package/dist/components/label.js +7 -0
  125. package/dist/components/listbox.d.ts +50 -0
  126. package/dist/components/listbox.js +134 -0
  127. package/dist/components/loader-blobs.d.ts +5 -0
  128. package/dist/components/loader-blobs.js +128 -0
  129. package/dist/components/loader.d.ts +21 -0
  130. package/dist/components/loader.js +25 -0
  131. package/dist/components/markdown.d.ts +23 -0
  132. package/dist/components/markdown.js +70 -0
  133. package/dist/components/minimap-labels.d.ts +39 -0
  134. package/dist/components/minimap-labels.js +113 -0
  135. package/dist/components/monogram.d.ts +32 -0
  136. package/dist/components/monogram.js +24 -0
  137. package/dist/components/motion-visibility.d.ts +2 -0
  138. package/dist/components/motion-visibility.js +25 -0
  139. package/dist/components/navigation-rail.d.ts +11 -0
  140. package/dist/components/navigation-rail.js +55 -0
  141. package/dist/components/overlay-root.d.ts +16 -0
  142. package/dist/components/overlay-root.js +24 -0
  143. package/dist/components/pixel-number.d.ts +50 -0
  144. package/dist/components/pixel-number.js +113 -0
  145. package/dist/components/popover.d.ts +31 -0
  146. package/dist/components/popover.js +24 -0
  147. package/dist/components/presence.d.ts +59 -0
  148. package/dist/components/presence.js +232 -0
  149. package/dist/components/price-tag.d.ts +11 -0
  150. package/dist/components/price-tag.js +6 -0
  151. package/dist/components/progress.d.ts +25 -0
  152. package/dist/components/progress.js +24 -0
  153. package/dist/components/prose.d.ts +14 -0
  154. package/dist/components/prose.js +10 -0
  155. package/dist/components/quota-meter.d.ts +24 -0
  156. package/dist/components/quota-meter.js +11 -0
  157. package/dist/components/radio-bead.d.ts +4 -0
  158. package/dist/components/radio-bead.js +53 -0
  159. package/dist/components/radio-group.d.ts +54 -0
  160. package/dist/components/radio-group.js +64 -0
  161. package/dist/components/resize-handle.d.ts +23 -0
  162. package/dist/components/resize-handle.js +31 -0
  163. package/dist/components/rough-drawing.d.ts +42 -0
  164. package/dist/components/rough-drawing.js +231 -0
  165. package/dist/components/rough.d.ts +68 -0
  166. package/dist/components/rough.js +33 -0
  167. package/dist/components/scroll-area.d.ts +12 -0
  168. package/dist/components/scroll-area.js +96 -0
  169. package/dist/components/scroll-motion.d.ts +12 -0
  170. package/dist/components/scroll-motion.js +31 -0
  171. package/dist/components/scroll-to-bottom-blob-state.d.ts +40 -0
  172. package/dist/components/scroll-to-bottom-blob-state.js +109 -0
  173. package/dist/components/scroll-to-bottom-blob.d.ts +16 -0
  174. package/dist/components/scroll-to-bottom-blob.js +174 -0
  175. package/dist/components/select.d.ts +9 -0
  176. package/dist/components/select.js +12 -0
  177. package/dist/components/selectable.d.ts +13 -0
  178. package/dist/components/selectable.js +45 -0
  179. package/dist/components/send-action.d.ts +33 -0
  180. package/dist/components/send-action.js +96 -0
  181. package/dist/components/separator.d.ts +11 -0
  182. package/dist/components/separator.js +7 -0
  183. package/dist/components/skeleton.d.ts +5 -0
  184. package/dist/components/skeleton.js +7 -0
  185. package/dist/components/slider.d.ts +18 -0
  186. package/dist/components/slider.js +31 -0
  187. package/dist/components/stat.d.ts +17 -0
  188. package/dist/components/stat.js +7 -0
  189. package/dist/components/status-bead.d.ts +9 -0
  190. package/dist/components/status-bead.js +107 -0
  191. package/dist/components/status-mark.d.ts +12 -0
  192. package/dist/components/status-mark.js +177 -0
  193. package/dist/components/status.d.ts +38 -0
  194. package/dist/components/status.js +28 -0
  195. package/dist/components/store-card.d.ts +21 -0
  196. package/dist/components/store-card.js +10 -0
  197. package/dist/components/surface.d.ts +89 -0
  198. package/dist/components/surface.js +31 -0
  199. package/dist/components/switch-bead.d.ts +4 -0
  200. package/dist/components/switch-bead.js +62 -0
  201. package/dist/components/switch.d.ts +11 -0
  202. package/dist/components/switch.js +36 -0
  203. package/dist/components/tabs.d.ts +55 -0
  204. package/dist/components/tabs.js +81 -0
  205. package/dist/components/technonomicon.d.ts +192 -0
  206. package/dist/components/technonomicon.js +121 -0
  207. package/dist/components/textarea.d.ts +9 -0
  208. package/dist/components/textarea.js +11 -0
  209. package/dist/components/toaster.d.ts +4 -0
  210. package/dist/components/toaster.js +13 -0
  211. package/dist/components/tool-call-chip.d.ts +22 -0
  212. package/dist/components/tool-call-chip.js +100 -0
  213. package/dist/components/tooltip.d.ts +41 -0
  214. package/dist/components/tooltip.js +169 -0
  215. package/dist/components/trading-card.d.ts +60 -0
  216. package/dist/components/trading-card.js +13 -0
  217. package/dist/components/undo-action.d.ts +52 -0
  218. package/dist/components/undo-action.js +100 -0
  219. package/dist/components/undo-toast.d.ts +21 -0
  220. package/dist/components/undo-toast.js +58 -0
  221. package/dist/components/visually-hidden.d.ts +9 -0
  222. package/dist/components/visually-hidden.js +11 -0
  223. package/dist/components/window.d.ts +65 -0
  224. package/dist/components/window.js +31 -0
  225. package/dist/components/wizard.d.ts +17 -0
  226. package/dist/components/wizard.js +19 -0
  227. package/dist/enhance/cigarette-card.d.ts +8 -0
  228. package/dist/enhance/cigarette-card.js +33 -0
  229. package/dist/enhance/sketch.d.ts +16 -0
  230. package/dist/enhance/sketch.js +130 -0
  231. package/dist/form-error.d.ts +7 -0
  232. package/dist/form-error.js +14 -0
  233. package/dist/form-fields.d.ts +15 -0
  234. package/dist/form-fields.js +250 -0
  235. package/dist/form-schema.d.ts +166 -0
  236. package/dist/form-schema.js +398 -0
  237. package/dist/form.d.ts +30 -0
  238. package/dist/form.js +20 -0
  239. package/dist/lib/cn.d.ts +8 -0
  240. package/dist/lib/cn.js +12 -0
  241. package/dist/lib/format-money.d.ts +2 -0
  242. package/dist/lib/format-money.js +22 -0
  243. package/dist/lib/glide.d.ts +12 -0
  244. package/dist/lib/glide.js +143 -0
  245. package/dist/lib/ime.d.ts +3 -0
  246. package/dist/lib/ime.js +8 -0
  247. package/dist/lib/motion-spring.d.ts +27 -0
  248. package/dist/lib/motion-spring.js +36 -0
  249. package/dist/lib/motion.d.ts +51 -0
  250. package/dist/lib/motion.js +161 -0
  251. package/dist/lib/reorder-motion.d.ts +13 -0
  252. package/dist/lib/reorder-motion.js +201 -0
  253. package/dist/lib/seed-hash.d.ts +6 -0
  254. package/dist/lib/seed-hash.js +13 -0
  255. package/dist/lib/tanstack-highlight.d.ts +4 -0
  256. package/dist/lib/tanstack-highlight.js +41 -0
  257. package/dist/schema-form.d.ts +120 -0
  258. package/dist/schema-form.js +129 -0
  259. package/dist/styles.css +18814 -0
  260. package/docs/api/README.md +134 -0
  261. package/docs/api/blocks/app-bar.md +227 -0
  262. package/docs/api/blocks/app-status-bar.md +257 -0
  263. package/docs/api/blocks/async-state.md +53 -0
  264. package/docs/api/blocks/card-grid.md +31 -0
  265. package/docs/api/blocks/command-menu.md +89 -0
  266. package/docs/api/blocks/composer.md +40 -0
  267. package/docs/api/blocks/empty-state.md +97 -0
  268. package/docs/api/blocks/faq-chat.md +147 -0
  269. package/docs/api/blocks/game-share-card.md +40 -0
  270. package/docs/api/blocks/launcher-grid.md +86 -0
  271. package/docs/api/blocks/listing-detail.md +51 -0
  272. package/docs/api/blocks/loading-state.md +21 -0
  273. package/docs/api/blocks/mosaic.md +94 -0
  274. package/docs/api/blocks/permission-grid.md +79 -0
  275. package/docs/api/blocks/pricing-card.md +90 -0
  276. package/docs/api/blocks/release-tag.md +62 -0
  277. package/docs/api/blocks/resource-select.md +126 -0
  278. package/docs/api/blocks/result-state.md +42 -0
  279. package/docs/api/blocks/section-card.md +42 -0
  280. package/docs/api/blocks/section-heading.md +61 -0
  281. package/docs/api/blocks/spec-sheet.md +400 -0
  282. package/docs/api/blocks/status-tray.md +141 -0
  283. package/docs/api/blocks/upload-queue.md +110 -0
  284. package/docs/api/components/action-row.md +51 -0
  285. package/docs/api/components/activity-line.md +103 -0
  286. package/docs/api/components/alert.md +60 -0
  287. package/docs/api/components/badge.md +77 -0
  288. package/docs/api/components/button.md +94 -0
  289. package/docs/api/components/card.md +165 -0
  290. package/docs/api/components/chat-bubble.md +66 -0
  291. package/docs/api/components/checkbox-bead.md +20 -0
  292. package/docs/api/components/checkbox.md +42 -0
  293. package/docs/api/components/code-input.md +61 -0
  294. package/docs/api/components/combobox.md +303 -0
  295. package/docs/api/components/confirm-action.md +58 -0
  296. package/docs/api/components/copy-field.md +106 -0
  297. package/docs/api/components/count-badge.md +39 -0
  298. package/docs/api/components/cover-pattern.md +43 -0
  299. package/docs/api/components/data-list.md +80 -0
  300. package/docs/api/components/dialog.md +235 -0
  301. package/docs/api/components/diff-view.md +59 -0
  302. package/docs/api/components/disclosure.md +71 -0
  303. package/docs/api/components/dropdown-menu.md +269 -0
  304. package/docs/api/components/field-guide.md +174 -0
  305. package/docs/api/components/field.md +252 -0
  306. package/docs/api/components/game-feedback.md +157 -0
  307. package/docs/api/components/game-hud.md +359 -0
  308. package/docs/api/components/generation-frame.md +59 -0
  309. package/docs/api/components/hold-button.md +44 -0
  310. package/docs/api/components/icon-button.md +56 -0
  311. package/docs/api/components/icon-checkbox.md +42 -0
  312. package/docs/api/components/icon-choice-mark.md +31 -0
  313. package/docs/api/components/icon-lamp.md +92 -0
  314. package/docs/api/components/icon-radio.md +42 -0
  315. package/docs/api/components/inline-code.md +21 -0
  316. package/docs/api/components/input-group.md +53 -0
  317. package/docs/api/components/input.md +54 -0
  318. package/docs/api/components/item-grid.md +262 -0
  319. package/docs/api/components/keycap.md +102 -0
  320. package/docs/api/components/label.md +40 -0
  321. package/docs/api/components/listbox.md +131 -0
  322. package/docs/api/components/loader-blobs.md +9 -0
  323. package/docs/api/components/loader.md +51 -0
  324. package/docs/api/components/markdown.md +91 -0
  325. package/docs/api/components/minimap-labels.md +84 -0
  326. package/docs/api/components/monogram.md +96 -0
  327. package/docs/api/components/motion-visibility.md +9 -0
  328. package/docs/api/components/navigation-rail.md +37 -0
  329. package/docs/api/components/overlay-root.md +92 -0
  330. package/docs/api/components/pixel-number.md +120 -0
  331. package/docs/api/components/popover.md +80 -0
  332. package/docs/api/components/presence.md +106 -0
  333. package/docs/api/components/price-tag.md +48 -0
  334. package/docs/api/components/progress.md +90 -0
  335. package/docs/api/components/prose.md +48 -0
  336. package/docs/api/components/quota-meter.md +47 -0
  337. package/docs/api/components/radio-bead.md +9 -0
  338. package/docs/api/components/radio-group.md +126 -0
  339. package/docs/api/components/resize-handle.md +46 -0
  340. package/docs/api/components/rough-drawing.md +122 -0
  341. package/docs/api/components/rough.md +66 -0
  342. package/docs/api/components/scroll-area.md +22 -0
  343. package/docs/api/components/scroll-motion.md +9 -0
  344. package/docs/api/components/scroll-to-bottom-blob-state.md +162 -0
  345. package/docs/api/components/scroll-to-bottom-blob.md +73 -0
  346. package/docs/api/components/select.md +39 -0
  347. package/docs/api/components/send-action.md +58 -0
  348. package/docs/api/components/separator.md +38 -0
  349. package/docs/api/components/skeleton.md +31 -0
  350. package/docs/api/components/slider.md +70 -0
  351. package/docs/api/components/stat.md +42 -0
  352. package/docs/api/components/status-bead.md +19 -0
  353. package/docs/api/components/status-mark.md +19 -0
  354. package/docs/api/components/status.md +105 -0
  355. package/docs/api/components/store-card.md +53 -0
  356. package/docs/api/components/surface.md +161 -0
  357. package/docs/api/components/switch-bead.md +9 -0
  358. package/docs/api/components/switch.md +40 -0
  359. package/docs/api/components/tabs.md +138 -0
  360. package/docs/api/components/technonomicon.md +773 -0
  361. package/docs/api/components/textarea.md +40 -0
  362. package/docs/api/components/toaster.md +29 -0
  363. package/docs/api/components/tool-call-chip.md +68 -0
  364. package/docs/api/components/tooltip.md +113 -0
  365. package/docs/api/components/trading-card.md +95 -0
  366. package/docs/api/components/undo-action.md +117 -0
  367. package/docs/api/components/undo-toast.md +49 -0
  368. package/docs/api/components/visually-hidden.md +37 -0
  369. package/docs/api/components/window.md +291 -0
  370. package/docs/api/components/wizard.md +65 -0
  371. package/docs/api/enhance/cigarette-card.md +52 -0
  372. package/docs/api/enhance/sketch.md +42 -0
  373. package/docs/api/form.md +1623 -0
  374. package/docs/api/lib/cn.md +46 -0
  375. package/docs/api/lib/format-money.md +30 -0
  376. package/docs/api/lib/glide.md +36 -0
  377. package/docs/api/lib/ime.md +29 -0
  378. package/docs/api/lib/motion-spring.md +91 -0
  379. package/docs/api/lib/motion.md +212 -0
  380. package/docs/api/lib/reorder-motion.md +46 -0
  381. package/docs/api/lib/seed-hash.md +31 -0
  382. package/docs/api/lib/tanstack-highlight.md +40 -0
  383. package/package.json +597 -3
  384. package/src/app-status-bar.css +158 -0
  385. package/src/fonts.css +1 -0
  386. package/src/status-tray.css +282 -0
  387. package/src/styles.css +10177 -0
@@ -0,0 +1,400 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/caps**](../README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/caps](../README.md) / blocks/spec-sheet
8
+
9
+ # blocks/spec-sheet
10
+
11
+ ## Type Aliases
12
+
13
+ ### SpecRulerProps
14
+
15
+ ```ts
16
+ type SpecRulerProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & object;
17
+ ```
18
+
19
+ Props accepted by SpecRuler.
20
+
21
+ #### Type Declaration
22
+
23
+ | Name | Type | Description |
24
+ | ------- | ----------- | -------------------------------------------- |
25
+ | `label` | `ReactNode` | A short section label, such as `01 · Plans`. |
26
+
27
+ ---
28
+
29
+ ### SpecFrameProps
30
+
31
+ ```ts
32
+ type SpecFrameProps = Omit<HTMLAttributes<HTMLElement>, "children"> & object;
33
+ ```
34
+
35
+ Props accepted by SpecFrame.
36
+
37
+ #### Type Declaration
38
+
39
+ | Name | Type | Description |
40
+ | ---------- | -------------------------- | --------------------------------------------------------------------- |
41
+ | `children` | `ReactNode` | Caller-owned media, such as an `img` with its own alt text. |
42
+ | `caption?` | `ReactNode` | A short printed caption under the frame. |
43
+ | `surface?` | `"default"` \| `"inverse"` | `inverse` seats dark media, such as a terminal readout, in the frame. |
44
+
45
+ ---
46
+
47
+ ### SpecFact
48
+
49
+ ```ts
50
+ type SpecFact = object;
51
+ ```
52
+
53
+ One fact in a SpecFacts strip.
54
+
55
+ #### Properties
56
+
57
+ ##### id
58
+
59
+ ```ts
60
+ id: string;
61
+ ```
62
+
63
+ ##### value
64
+
65
+ ```ts
66
+ value: ReactNode;
67
+ ```
68
+
69
+ ##### label
70
+
71
+ ```ts
72
+ label: ReactNode;
73
+ ```
74
+
75
+ ---
76
+
77
+ ### SpecFactsProps
78
+
79
+ ```ts
80
+ type SpecFactsProps = Omit<HTMLAttributes<HTMLDListElement>, "children"> &
81
+ object;
82
+ ```
83
+
84
+ Props accepted by SpecFacts.
85
+
86
+ #### Type Declaration
87
+
88
+ | Name | Type |
89
+ | ------- | ---------------------------------- |
90
+ | `facts` | readonly [`SpecFact`](#specfact)[] |
91
+
92
+ ---
93
+
94
+ ### SpecStep
95
+
96
+ ```ts
97
+ type SpecStep = object;
98
+ ```
99
+
100
+ One step in a SpecSteps list.
101
+
102
+ #### Properties
103
+
104
+ ##### id
105
+
106
+ ```ts
107
+ id: string;
108
+ ```
109
+
110
+ ##### title
111
+
112
+ ```ts
113
+ title: ReactNode;
114
+ ```
115
+
116
+ ##### body
117
+
118
+ ```ts
119
+ body: ReactNode;
120
+ ```
121
+
122
+ ---
123
+
124
+ ### SpecStepsProps
125
+
126
+ ```ts
127
+ type SpecStepsProps = Omit<HTMLAttributes<HTMLOListElement>, "children"> &
128
+ object;
129
+ ```
130
+
131
+ Props accepted by SpecSteps.
132
+
133
+ #### Type Declaration
134
+
135
+ | Name | Type |
136
+ | ------- | ---------------------------------- |
137
+ | `steps` | readonly [`SpecStep`](#specstep)[] |
138
+
139
+ ---
140
+
141
+ ### SpecFaqItem
142
+
143
+ ```ts
144
+ type SpecFaqItem = object;
145
+ ```
146
+
147
+ One question in a SpecFaq list.
148
+
149
+ #### Properties
150
+
151
+ ##### id
152
+
153
+ ```ts
154
+ id: string;
155
+ ```
156
+
157
+ ##### question
158
+
159
+ ```ts
160
+ question: ReactNode;
161
+ ```
162
+
163
+ ##### answer
164
+
165
+ ```ts
166
+ answer: ReactNode;
167
+ ```
168
+
169
+ Caller-reviewed answer content.
170
+
171
+ ---
172
+
173
+ ### SpecFaqProps
174
+
175
+ ```ts
176
+ type SpecFaqProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & object;
177
+ ```
178
+
179
+ Props accepted by SpecFaq.
180
+
181
+ #### Type Declaration
182
+
183
+ | Name | Type | Description |
184
+ | -------------- | ---------------------------------------- | --------------------------------- |
185
+ | `items` | readonly [`SpecFaqItem`](#specfaqitem)[] | - |
186
+ | `defaultOpen?` | readonly `string`[] | Ids of the items that start open. |
187
+
188
+ ---
189
+
190
+ ### SpecDiagramMarker
191
+
192
+ ```ts
193
+ type SpecDiagramMarker = object;
194
+ ```
195
+
196
+ One labelled part of a SpecDiagram, placed in percent of the art.
197
+
198
+ #### Properties
199
+
200
+ ##### id
201
+
202
+ ```ts
203
+ id: string;
204
+ ```
205
+
206
+ ##### tag
207
+
208
+ ```ts
209
+ tag: string;
210
+ ```
211
+
212
+ A short tag drawn on the art, such as `A`.
213
+
214
+ ##### x
215
+
216
+ ```ts
217
+ x: number;
218
+ ```
219
+
220
+ Distance from the art's left edge, 0 to 100.
221
+
222
+ ##### y
223
+
224
+ ```ts
225
+ y: number;
226
+ ```
227
+
228
+ Distance from the art's top edge, 0 to 100.
229
+
230
+ ##### label
231
+
232
+ ```ts
233
+ label: ReactNode;
234
+ ```
235
+
236
+ ##### note?
237
+
238
+ ```ts
239
+ optional note?: ReactNode;
240
+ ```
241
+
242
+ ---
243
+
244
+ ### SpecDiagramProps
245
+
246
+ ```ts
247
+ type SpecDiagramProps = Omit<HTMLAttributes<HTMLElement>, "children"> & object;
248
+ ```
249
+
250
+ Props accepted by SpecDiagram.
251
+
252
+ #### Type Declaration
253
+
254
+ | Name | Type | Description |
255
+ | --------- | ---------------------------------------------------- | --------------------------------------------------------- |
256
+ | `art` | `ReactNode` | Caller-owned art, such as an `img` with its own alt text. |
257
+ | `markers` | readonly [`SpecDiagramMarker`](#specdiagrammarker)[] | - |
258
+
259
+ ---
260
+
261
+ ### SpecPrintFilterProps
262
+
263
+ ```ts
264
+ type SpecPrintFilterProps = object;
265
+ ```
266
+
267
+ Props accepted by SpecPrintFilter.
268
+
269
+ #### Properties
270
+
271
+ ##### offset?
272
+
273
+ ```ts
274
+ optional offset?: object;
275
+ ```
276
+
277
+ Misregistration of the second ink, in CSS pixels. Defaults to 2, 1.
278
+
279
+ ###### x
280
+
281
+ ```ts
282
+ x: number;
283
+ ```
284
+
285
+ ###### y
286
+
287
+ ```ts
288
+ y: number;
289
+ ```
290
+
291
+ ## Variables
292
+
293
+ ### SpecRuler
294
+
295
+ ```ts
296
+ const SpecRuler: ForwardRefExoticComponent<
297
+ Omit<HTMLAttributes<HTMLDivElement>, "children"> &
298
+ object &
299
+ RefAttributes<HTMLDivElement>
300
+ >;
301
+ ```
302
+
303
+ A tick-marked rule that separates sections, with crosshairs at both ends. It is
304
+ decorative: the section heading carries the accessible name.
305
+
306
+ ---
307
+
308
+ ### SpecFrame
309
+
310
+ ```ts
311
+ const SpecFrame: ForwardRefExoticComponent<
312
+ Omit<HTMLAttributes<HTMLElement>, "children"> &
313
+ object &
314
+ RefAttributes<HTMLElement>
315
+ >;
316
+ ```
317
+
318
+ A figure seated in a hatched band, like a plate in a printed manual.
319
+
320
+ ---
321
+
322
+ ### SpecFacts
323
+
324
+ ```ts
325
+ const SpecFacts: ForwardRefExoticComponent<
326
+ Omit<HTMLAttributes<HTMLDListElement>, "children"> &
327
+ object &
328
+ RefAttributes<HTMLDListElement>
329
+ >;
330
+ ```
331
+
332
+ A ruled strip of short facts: a big value over a small label.
333
+
334
+ ---
335
+
336
+ ### SpecSteps
337
+
338
+ ```ts
339
+ const SpecSteps: ForwardRefExoticComponent<
340
+ Omit<HTMLAttributes<HTMLOListElement>, "children"> &
341
+ object &
342
+ RefAttributes<HTMLOListElement>
343
+ >;
344
+ ```
345
+
346
+ A numbered row of steps in ruled cells, numbered 01, 02 and on.
347
+
348
+ ---
349
+
350
+ ### SpecFaq
351
+
352
+ ```ts
353
+ const SpecFaq: ForwardRefExoticComponent<
354
+ Omit<HTMLAttributes<HTMLDivElement>, "children"> &
355
+ object &
356
+ RefAttributes<HTMLDivElement>
357
+ >;
358
+ ```
359
+
360
+ Questions and answers as native disclosures. It works without JavaScript, and
361
+ every answer stays in the document for search and find-in-page.
362
+
363
+ ---
364
+
365
+ ### SpecDiagram
366
+
367
+ ```ts
368
+ const SpecDiagram: ForwardRefExoticComponent<
369
+ Omit<HTMLAttributes<HTMLElement>, "children"> &
370
+ object &
371
+ RefAttributes<HTMLElement>
372
+ >;
373
+ ```
374
+
375
+ A manual-style parts diagram: tags drawn on the art and a legend that names each
376
+ part. The legend is the accessible text; tags are decorative.
377
+
378
+ ## Functions
379
+
380
+ ### SpecPrintFilter()
381
+
382
+ ```ts
383
+ function SpecPrintFilter(__namedParameters): Element;
384
+ ```
385
+
386
+ The `#caps-print` SVG filter, rendered once per page. It turns 1-bit art (dark
387
+ ink on light paper) into the theme's ink on a transparent ground, with a second
388
+ ink printed slightly off register underneath, like a two-drum risograph. Art
389
+ opts in through the theme's `--caps-print-filter`; the inks come from
390
+ `--caps-print-ink` and `--caps-print-offset`.
391
+
392
+ #### Parameters
393
+
394
+ | Parameter | Type |
395
+ | ------------------- | ----------------------------------------------- |
396
+ | `__namedParameters` | [`SpecPrintFilterProps`](#specprintfilterprops) |
397
+
398
+ #### Returns
399
+
400
+ `Element`
@@ -0,0 +1,141 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/caps**](../README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/caps](../README.md) / blocks/status-tray
8
+
9
+ # blocks/status-tray
10
+
11
+ ## Type Aliases
12
+
13
+ ### StatusTrayItem
14
+
15
+ ```ts
16
+ type StatusTrayItem = Readonly<{
17
+ id: string;
18
+ label: ReactNode;
19
+ count?: number;
20
+ tone?: StatusTone;
21
+ glyph?: StatusGlyph;
22
+ motion?: StatusMotion;
23
+ accessibleLabel?: string;
24
+ title?: ReactNode;
25
+ actions?: ReactNode;
26
+ content: ReactNode;
27
+ disabled?: boolean;
28
+ after?: ReactNode;
29
+ }>;
30
+ ```
31
+
32
+ One footer readout and the small tray it opens. Semantic data only: the chip's
33
+ finish, the tray's material and the seam between them come from theme tokens
34
+ (`--caps-status-tray-*`), never from a prop.
35
+
36
+ ---
37
+
38
+ ### StatusTrayProps
39
+
40
+ ```ts
41
+ type StatusTrayProps = Omit<HTMLAttributes<HTMLDivElement>, "title"> & object;
42
+ ```
43
+
44
+ Controlled selection and structural slots for a row of footer trays.
45
+
46
+ #### Type Declaration
47
+
48
+ | Name | Type | Description |
49
+ | ---------------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
50
+ | `items` | readonly [`StatusTrayItem`](#statustrayitem)[] | Readouts and their tray contents in display order. |
51
+ | `openId` | `string` \| `null` | Which tray is open. The host owns this state. |
52
+ | `onOpenChange()` | (`id`) => `void` | Requests a selection change or dismissal. |
53
+ | `leading?` | `ReactNode` | Leading readouts that never open a tray (connection state, etc.). |
54
+ | `trailing?` | `ReactNode` | Trailing controls after the chips (Send, Expand, …). |
55
+ | `placement?` | `"housing"` \| `"screen"` \| `"host"` | Structural seat. `housing` sits on the plastic below a screen; `screen` sits inside a Display as flat, screen-native text (the wiki's screen material rule); `host` means a host's own chrome draws the chips, so only the open tray renders here. The look of each seat is theme-owned. |
56
+ | `align?` | `"start"` \| `"end"` | Which edge the tray aligns to. |
57
+ | `hostInset?` | `number` | For `host` placement: where the host's trigger starts, in CSS pixels from this tray's inline start, so the open tray sits above it. |
58
+
59
+ ## Functions
60
+
61
+ ### StatusTray()
62
+
63
+ ```ts
64
+ function StatusTray(__namedParameters): Element;
65
+ ```
66
+
67
+ A footer row of readout chips; one opens its tray above the row at a time.
68
+
69
+ #### Parameters
70
+
71
+ | Parameter | Type |
72
+ | ------------------- | ------------------------------------- |
73
+ | `__namedParameters` | [`StatusTrayProps`](#statustrayprops) |
74
+
75
+ #### Returns
76
+
77
+ `Element`
78
+
79
+ ---
80
+
81
+ ### StatusTrayList()
82
+
83
+ ```ts
84
+ function StatusTrayList(__namedParameters): Element;
85
+ ```
86
+
87
+ A group of tray rows. Precede it with a DataListHeading to label it.
88
+
89
+ #### Parameters
90
+
91
+ | Parameter | Type |
92
+ | ------------------- | ------------------------------------ |
93
+ | `__namedParameters` | `HTMLAttributes`\<`HTMLDivElement`\> |
94
+
95
+ #### Returns
96
+
97
+ `Element`
98
+
99
+ ---
100
+
101
+ ### StatusTrayRow()
102
+
103
+ ```ts
104
+ function StatusTrayRow(__namedParameters): Element;
105
+ ```
106
+
107
+ One line: the host's icon, a title, a muted detail that truncates, and a quiet
108
+ text action (a ghost Button) at the end.
109
+
110
+ #### Parameters
111
+
112
+ | Parameter | Type |
113
+ | ------------------- | ----------------------------------------------------------------------- |
114
+ | `__namedParameters` | `Omit`\<`HTMLAttributes`\<`HTMLDivElement`\>, `"children"`\> & `object` |
115
+
116
+ #### Returns
117
+
118
+ `Element`
119
+
120
+ ---
121
+
122
+ ### StatusTrayNote()
123
+
124
+ ```ts
125
+ function StatusTrayNote(__namedParameters): Element;
126
+ ```
127
+
128
+ A quiet sentence for an empty or unavailable feed. Empty reads "All caught up."
129
+ unless the host says otherwise; unavailable takes a `title`.
130
+
131
+ #### Parameters
132
+
133
+ | Parameter | Type |
134
+ | ----------------------------- | --------------------------------------------------- |
135
+ | `__namedParameters` | \{ `children?`: `ReactNode`; `title?`: `string`; \} |
136
+ | `__namedParameters.children?` | `ReactNode` |
137
+ | `__namedParameters.title?` | `string` |
138
+
139
+ #### Returns
140
+
141
+ `Element`
@@ -0,0 +1,110 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/caps**](../README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/caps](../README.md) / blocks/upload-queue
8
+
9
+ # blocks/upload-queue
10
+
11
+ ## Type Aliases
12
+
13
+ ### UploadQueueAction
14
+
15
+ ```ts
16
+ type UploadQueueAction = Readonly<{
17
+ accessibleLabel: string;
18
+ label: string;
19
+ }>;
20
+ ```
21
+
22
+ LAW — queue thumbnails are decorative. The adjacent filename is the row's
23
+ accessible file fact; lifecycle status, progress, and actions remain named.
24
+
25
+ ---
26
+
27
+ ### UploadQueueActions
28
+
29
+ ```ts
30
+ type UploadQueueActions = Readonly<{
31
+ cancel?: UploadQueueAction;
32
+ remove?: UploadQueueAction;
33
+ retry?: UploadQueueAction;
34
+ }>;
35
+ ```
36
+
37
+ Caller-owned labels for the row actions that may be shown.
38
+
39
+ ---
40
+
41
+ ### UploadQueueItem
42
+
43
+ ```ts
44
+ type UploadQueueItem = Readonly<{
45
+ actions: UploadQueueActions;
46
+ alert?: string;
47
+ id: string;
48
+ name: string;
49
+ preview: UploadQueuePreview;
50
+ progress: number | null;
51
+ progressLabel: string;
52
+ statusLabel: string;
53
+ }>;
54
+ ```
55
+
56
+ Caller-provided upload queue item data.
57
+
58
+ ---
59
+
60
+ ### UploadQueuePreview
61
+
62
+ ```ts
63
+ type UploadQueuePreview =
64
+ | Readonly<{
65
+ kind: "file";
66
+ }>
67
+ | Readonly<{
68
+ kind: "image";
69
+ url: string;
70
+ }>;
71
+ ```
72
+
73
+ A caller-provided file or image preview for one upload row.
74
+
75
+ ---
76
+
77
+ ### UploadQueueProps
78
+
79
+ ```ts
80
+ type UploadQueueProps = Readonly<{
81
+ className?: string;
82
+ items: readonly UploadQueueItem[];
83
+ onCancel: (id) => Promise<void> | void;
84
+ onRemove: (id) => void;
85
+ onRetry: (id) => Promise<void> | void;
86
+ rowClassName?: string;
87
+ }>;
88
+ ```
89
+
90
+ Props accepted by UploadQueue.
91
+
92
+ ## Functions
93
+
94
+ ### UploadQueue()
95
+
96
+ ```ts
97
+ function UploadQueue(__namedParameters): Element | null;
98
+ ```
99
+
100
+ Product-neutral upload facts and affordances; lifecycle stays with the host.
101
+
102
+ #### Parameters
103
+
104
+ | Parameter | Type |
105
+ | ------------------- | --------------------------------------- |
106
+ | `__namedParameters` | [`UploadQueueProps`](#uploadqueueprops) |
107
+
108
+ #### Returns
109
+
110
+ `Element` \| `null`
@@ -0,0 +1,51 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/caps**](../README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/caps](../README.md) / components/action-row
8
+
9
+ # components/action-row
10
+
11
+ ## Type Aliases
12
+
13
+ ### ActionRowProps
14
+
15
+ ```ts
16
+ type ActionRowProps = Omit<ButtonProps, "children"> & object;
17
+ ```
18
+
19
+ A full-width, structured action for a data list.
20
+
21
+ #### Type Declaration
22
+
23
+ | Name | Type | Description |
24
+ | -------------- | -------------------------- | ------------------------------------------------------------------------- |
25
+ | `icon?` | `ReactNode` | - |
26
+ | `label` | `ReactNode` | - |
27
+ | `description?` | `ReactNode` | - |
28
+ | `trailing?` | `ReactNode` | - |
29
+ | `density?` | `"regular"` \| `"compact"` | - |
30
+ | `iconSize?` | `"default"` \| `"lg"` | `lg` gives a character-sized mark (a sprite head) more room than an icon. |
31
+ | `appearance?` | `"plain"` \| `"card"` | `card` molds the row into its own raised plastic card. |
32
+
33
+ ## Functions
34
+
35
+ ### ActionRow()
36
+
37
+ ```ts
38
+ function ActionRow(__namedParameters): Element;
39
+ ```
40
+
41
+ Render a clear label, supporting detail, and optional trailing status.
42
+
43
+ #### Parameters
44
+
45
+ | Parameter | Type |
46
+ | ------------------- | ----------------------------------- |
47
+ | `__namedParameters` | [`ActionRowProps`](#actionrowprops) |
48
+
49
+ #### Returns
50
+
51
+ `Element`