@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,89 @@
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/command-menu
8
+
9
+ # blocks/command-menu
10
+
11
+ ## Type Aliases
12
+
13
+ ### CommandMenuItem
14
+
15
+ ```ts
16
+ type CommandMenuItem = object;
17
+ ```
18
+
19
+ Caller-provided command menu item data.
20
+
21
+ #### Properties
22
+
23
+ ##### description?
24
+
25
+ ```ts
26
+ optional description?: string;
27
+ ```
28
+
29
+ ##### disabled?
30
+
31
+ ```ts
32
+ optional disabled?: boolean;
33
+ ```
34
+
35
+ ##### id
36
+
37
+ ```ts
38
+ id: string;
39
+ ```
40
+
41
+ ##### label
42
+
43
+ ```ts
44
+ label: string;
45
+ ```
46
+
47
+ ##### shortcut?
48
+
49
+ ```ts
50
+ optional shortcut?: string;
51
+ ```
52
+
53
+ Key hint shown before the label, e.g. `z` in a which-key list.
54
+
55
+ ---
56
+
57
+ ### CommandMenuProps
58
+
59
+ ```ts
60
+ type CommandMenuProps = Omit<
61
+ HTMLAttributes<HTMLUListElement>,
62
+ "children" | "onSelect"
63
+ > &
64
+ object;
65
+ ```
66
+
67
+ Props accepted by CommandMenu.
68
+
69
+ #### Type Declaration
70
+
71
+ | Name | Type | Description |
72
+ | ------------ | ------------------------------------------------ | ---------------------------------------------------------------- |
73
+ | `items` | readonly [`CommandMenuItem`](#commandmenuitem)[] | - |
74
+ | `onSelect()` | (`id`) => `void` | Called after a non-disabled item is selected. |
75
+ | `selected?` | `string` | Caller-owned selected state; distinct from local keyboard focus. |
76
+
77
+ ## Variables
78
+
79
+ ### CommandMenu
80
+
81
+ ```ts
82
+ const CommandMenu: ForwardRefExoticComponent<
83
+ Omit<HTMLAttributes<HTMLUListElement>, "children" | "onSelect"> &
84
+ object &
85
+ RefAttributes<HTMLUListElement>
86
+ >;
87
+ ```
88
+
89
+ A single-focus listbox with local navigation and caller-owned selection.
@@ -0,0 +1,40 @@
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/composer
8
+
9
+ # blocks/composer
10
+
11
+ ## Type Aliases
12
+
13
+ ### ComposerProps
14
+
15
+ ```ts
16
+ type ComposerProps = HTMLAttributes<HTMLDivElement> & object;
17
+ ```
18
+
19
+ Props accepted by Composer.
20
+
21
+ #### Type Declaration
22
+
23
+ | Name | Type | Description |
24
+ | --------------- | ----------- | --------------------------------------------------------------------------------------------- |
25
+ | `input` | `ReactNode` | The caller-owned primary input control. |
26
+ | `action?` | `ReactNode` | The caller-owned action control. Its disabled state and accessible name stay on that control. |
27
+ | `leading?` | `ReactNode` | Optional caller-owned leading slot, such as an avatar. |
28
+ | `rowClassName?` | `string` | Classes for the joined row; useful when the host exposes a busy state. |
29
+
30
+ ## Variables
31
+
32
+ ### Composer
33
+
34
+ ```ts
35
+ const Composer: ForwardRefExoticComponent<
36
+ HTMLAttributes<HTMLDivElement> & object & RefAttributes<HTMLDivElement>
37
+ >;
38
+ ```
39
+
40
+ Layout and slots only. It never assigns action-control semantics.
@@ -0,0 +1,97 @@
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/empty-state
8
+
9
+ # blocks/empty-state
10
+
11
+ ## Type Aliases
12
+
13
+ ### EmptyStateVariant
14
+
15
+ ```ts
16
+ type EmptyStateVariant = "plain" | "panel" | "speech" | "hint" | "quiet";
17
+ ```
18
+
19
+ How an absence presents itself. `plain` leaves layout to the host; `panel` is a
20
+ recessed, centered invitation; `speech` lets the visual (a mascot) say the copy
21
+ from a molded speech bubble; `hint` is a quiet centered footnote under content,
22
+ such as the next thing to try; `quiet` is a left-aligned absence nested under a
23
+ card or section heading, titled below that heading.
24
+
25
+ ---
26
+
27
+ ### EmptyStateHeadingLevel
28
+
29
+ ```ts
30
+ type EmptyStateHeadingLevel = 2 | 3 | 4;
31
+ ```
32
+
33
+ The document heading level of an EmptyState title.
34
+
35
+ ---
36
+
37
+ ### EmptyStateVisualState
38
+
39
+ ```ts
40
+ type EmptyStateVisualState = Readonly<{
41
+ speaking: boolean;
42
+ thinking: boolean;
43
+ }>;
44
+ ```
45
+
46
+ What a visual is told while the EmptyState is on screen.
47
+
48
+ ---
49
+
50
+ ### EmptyStateSuggestion
51
+
52
+ ```ts
53
+ type EmptyStateSuggestion = Readonly<{
54
+ label: string;
55
+ onSelect: () => void;
56
+ }>;
57
+ ```
58
+
59
+ A suggested next step, shown as a chip the host acts on.
60
+
61
+ ---
62
+
63
+ ### EmptyStateProps
64
+
65
+ ```ts
66
+ type EmptyStateProps = Omit<HTMLAttributes<HTMLElement>, "title"> & object;
67
+ ```
68
+
69
+ Props accepted by EmptyState.
70
+
71
+ #### Type Declaration
72
+
73
+ | Name | Type | Description |
74
+ | ----------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------- |
75
+ | `actions?` | `ReactNode` | - |
76
+ | `description` | `ReactNode` | - |
77
+ | `suggestions?` | readonly [`EmptyStateSuggestion`](#emptystatesuggestion)[] | Chips that offer a starting point, such as a prompt to try. |
78
+ | `thinking?` | `boolean` | The host is working on something, such as creating what this state invites. |
79
+ | `title` | `ReactNode` | - |
80
+ | `headingLevel?` | [`EmptyStateHeadingLevel`](#emptystateheadinglevel) | Heading level for the title; use one below the heading it sits under. |
81
+ | `visual?` | `ReactNode` | Static art. |
82
+ | `renderVisual()?` | (`state`) => `ReactNode` | Render a visual from the current speaking and thinking state. |
83
+ | `variant?` | [`EmptyStateVariant`](#emptystatevariant) | - |
84
+
85
+ ## Variables
86
+
87
+ ### EmptyState
88
+
89
+ ```ts
90
+ const EmptyState: ForwardRefExoticComponent<
91
+ Omit<HTMLAttributes<HTMLElement>, "title"> &
92
+ object &
93
+ RefAttributes<HTMLElement>
94
+ >;
95
+ ```
96
+
97
+ Product-neutral absence presentation; hosts supply copy, art, and actions.
@@ -0,0 +1,147 @@
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/faq-chat
8
+
9
+ # blocks/faq-chat
10
+
11
+ ## Type Aliases
12
+
13
+ ### FaqChatEntry
14
+
15
+ ```ts
16
+ type FaqChatEntry = object;
17
+ ```
18
+
19
+ One reviewed question and its fixed answer.
20
+
21
+ #### Properties
22
+
23
+ ##### id
24
+
25
+ ```ts
26
+ id: string;
27
+ ```
28
+
29
+ Stable identity for the entry.
30
+
31
+ ##### question
32
+
33
+ ```ts
34
+ question: string;
35
+ ```
36
+
37
+ The question as a visitor would ask it. Also shown as a suggestion.
38
+
39
+ ##### answer
40
+
41
+ ```ts
42
+ answer: ReactNode;
43
+ ```
44
+
45
+ The reviewed answer. The chat never generates text of its own.
46
+
47
+ ##### keywords?
48
+
49
+ ```ts
50
+ optional keywords?: readonly string[];
51
+ ```
52
+
53
+ Lowercase words or phrases that route a typed question here.
54
+
55
+ ##### actions?
56
+
57
+ ```ts
58
+ optional actions?: ReactNode;
59
+ ```
60
+
61
+ Caller-owned next steps shown under the answer, such as links.
62
+
63
+ ---
64
+
65
+ ### FaqChatFallback
66
+
67
+ ```ts
68
+ type FaqChatFallback = object;
69
+ ```
70
+
71
+ The reply for a typed question that matches no entry.
72
+
73
+ #### Properties
74
+
75
+ ##### answer
76
+
77
+ ```ts
78
+ answer: ReactNode;
79
+ ```
80
+
81
+ ##### actions?
82
+
83
+ ```ts
84
+ optional actions?: ReactNode;
85
+ ```
86
+
87
+ ---
88
+
89
+ ### FaqChatProps
90
+
91
+ ```ts
92
+ type FaqChatProps = Omit<HTMLAttributes<HTMLElement>, "title"> & object;
93
+ ```
94
+
95
+ Props accepted by FaqChat.
96
+
97
+ #### Type Declaration
98
+
99
+ | Name | Type | Description |
100
+ | -------------- | ------------------------------------------ | ----------------------------------------------------- |
101
+ | `entries` | readonly [`FaqChatEntry`](#faqchatentry)[] | - |
102
+ | `greeting` | `ReactNode` | The first agent message, shown before any question. |
103
+ | `fallback` | [`FaqChatFallback`](#faqchatfallback) | - |
104
+ | `title` | `ReactNode` | Visible heading and accessible name of the chat. |
105
+ | `note?` | `ReactNode` | A short honest note about where answers come from. |
106
+ | `avatar?` | `ReactNode` | Optional mark shown beside the title, such as a logo. |
107
+ | `inputLabel?` | `string` | Accessible label of the typed-question field. |
108
+ | `placeholder?` | `string` | - |
109
+ | `submitLabel?` | `string` | - |
110
+
111
+ ## Variables
112
+
113
+ ### FaqChat
114
+
115
+ ```ts
116
+ const FaqChat: ForwardRefExoticComponent<
117
+ Omit<HTMLAttributes<HTMLElement>, "title"> &
118
+ object &
119
+ RefAttributes<HTMLElement>
120
+ >;
121
+ ```
122
+
123
+ A chat-shaped FAQ. Visitors pick or type a question and get the caller's
124
+ reviewed answer with its next steps. Message rows follow Parakeet: the visitor's
125
+ turn sits on the surface with a primary rule, the answer is plain.
126
+
127
+ ## Functions
128
+
129
+ ### matchFaqEntry()
130
+
131
+ ```ts
132
+ function matchFaqEntry(entries, text): FaqChatEntry | undefined;
133
+ ```
134
+
135
+ Routes a typed question to the entry whose keywords it mentions most. Returns
136
+ undefined when nothing matches, so the caller can answer honestly.
137
+
138
+ #### Parameters
139
+
140
+ | Parameter | Type |
141
+ | --------- | ------------------------------------------ |
142
+ | `entries` | readonly [`FaqChatEntry`](#faqchatentry)[] |
143
+ | `text` | `string` |
144
+
145
+ #### Returns
146
+
147
+ [`FaqChatEntry`](#faqchatentry) \| `undefined`
@@ -0,0 +1,40 @@
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/game-share-card
8
+
9
+ # blocks/game-share-card
10
+
11
+ ## Type Aliases
12
+
13
+ ### GameShareCardProps
14
+
15
+ ```ts
16
+ type GameShareCardProps = HTMLAttributes<HTMLDivElement> & object;
17
+ ```
18
+
19
+ Presentation for a published game; fetching and navigation stay with the host.
20
+
21
+ #### Type Declaration
22
+
23
+ | Name | Type | Description |
24
+ | ---------- | -------------- | ------------------------------------------------------------------ |
25
+ | `heading` | `ReactNode` | - |
26
+ | `eyebrow?` | `ReactNode` | - |
27
+ | `cover?` | `ReactNode` | - |
28
+ | `action` | `ReactElement` | A host-owned link or button, presented as the primary play action. |
29
+
30
+ ## Variables
31
+
32
+ ### GameShareCard
33
+
34
+ ```ts
35
+ const GameShareCard: ForwardRefExoticComponent<
36
+ HTMLAttributes<HTMLDivElement> & object & RefAttributes<HTMLDivElement>
37
+ >;
38
+ ```
39
+
40
+ Compose a game's cover, share details and play action in the enclosing theme.
@@ -0,0 +1,86 @@
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/launcher-grid
8
+
9
+ # blocks/launcher-grid
10
+
11
+ ## Type Aliases
12
+
13
+ ### SectionGridProps
14
+
15
+ ```ts
16
+ type SectionGridProps = HTMLAttributes<HTMLDivElement> & object;
17
+ ```
18
+
19
+ SectionGrid props.
20
+
21
+ #### Type Declaration
22
+
23
+ | Name | Type | Description |
24
+ | --------- | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
25
+ | `layout?` | `"split"` \| `"desktop"` | `split` is a page's two-column section grid. `desktop` composes a home screen: it fills and scrolls its region, centers a bounded measure, and lets `span="full"` sections run across both columns. |
26
+
27
+ ---
28
+
29
+ ### AppGridItem
30
+
31
+ ```ts
32
+ type AppGridItem = Readonly<{
33
+ id: string;
34
+ label: string;
35
+ icon: ReactNode;
36
+ status?: ReactNode;
37
+ disabled?: boolean;
38
+ muted?: boolean;
39
+ onSelect: () => void;
40
+ }>;
41
+ ```
42
+
43
+ A caller-owned App launch option.
44
+
45
+ ---
46
+
47
+ ### AppGridProps
48
+
49
+ ```ts
50
+ type AppGridProps = Omit<HTMLAttributes<HTMLUListElement>, "children"> & object;
51
+ ```
52
+
53
+ AppGrid props.
54
+
55
+ #### Type Declaration
56
+
57
+ | Name | Type | Description |
58
+ | ------- | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
59
+ | `items` | readonly [`AppGridItem`](#appgriditem)[] | - |
60
+ | `size?` | `"default"` \| `"lg"` | `default` is a quiet launcher. `lg` gives each mark a larger key and a more spacious label. The theme supplies its material. |
61
+
62
+ ## Variables
63
+
64
+ ### SectionGrid
65
+
66
+ ```ts
67
+ const SectionGrid: ForwardRefExoticComponent<
68
+ HTMLAttributes<HTMLDivElement> & object & RefAttributes<HTMLDivElement>
69
+ >;
70
+ ```
71
+
72
+ A two-column page section grid that stacks at the compact breakpoint.
73
+
74
+ ---
75
+
76
+ ### AppGrid
77
+
78
+ ```ts
79
+ const AppGrid: ForwardRefExoticComponent<
80
+ Omit<HTMLAttributes<HTMLUListElement>, "children"> &
81
+ object &
82
+ RefAttributes<HTMLUListElement>
83
+ >;
84
+ ```
85
+
86
+ A responsive launcher grid with large marks and concise labels.
@@ -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) / blocks/listing-detail
8
+
9
+ # blocks/listing-detail
10
+
11
+ ## Type Aliases
12
+
13
+ ### ListingDetailProps
14
+
15
+ ```ts
16
+ type ListingDetailProps = Readonly<{
17
+ identity: string;
18
+ title: string;
19
+ tagline: string;
20
+ icon?: ReactNode;
21
+ seller?: ReactNode;
22
+ action?: ReactNode;
23
+ back?: ReactNode;
24
+ note?: ReactNode;
25
+ screenshots?: readonly object[];
26
+ description?: readonly string[];
27
+ facts?: readonly object[];
28
+ }>;
29
+ ```
30
+
31
+ Product-neutral listing detail: callers own availability, navigation and facts.
32
+
33
+ ## Functions
34
+
35
+ ### ListingDetail()
36
+
37
+ ```ts
38
+ function ListingDetail(__namedParameters): Element;
39
+ ```
40
+
41
+ A focused detail heading, screenshot strip, readable body and fact sheet.
42
+
43
+ #### Parameters
44
+
45
+ | Parameter | Type |
46
+ | ------------------- | ------------------------------------------- |
47
+ | `__namedParameters` | [`ListingDetailProps`](#listingdetailprops) |
48
+
49
+ #### Returns
50
+
51
+ `Element`
@@ -0,0 +1,21 @@
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/loading-state
8
+
9
+ # blocks/loading-state
10
+
11
+ ## Variables
12
+
13
+ ### LoadingState
14
+
15
+ ```ts
16
+ const LoadingState: ForwardRefExoticComponent<
17
+ HTMLAttributes<HTMLDivElement> & object & RefAttributes<HTMLDivElement>
18
+ >;
19
+ ```
20
+
21
+ A bounded, labelled loading region; the caller owns the message.
@@ -0,0 +1,94 @@
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/mosaic
8
+
9
+ # blocks/mosaic
10
+
11
+ ## Type Aliases
12
+
13
+ ### MosaicItem
14
+
15
+ ```ts
16
+ type MosaicItem = object;
17
+ ```
18
+
19
+ A caller-resolved visual tile.
20
+
21
+ #### Properties
22
+
23
+ ##### alt?
24
+
25
+ ```ts
26
+ optional alt?: string;
27
+ ```
28
+
29
+ ##### height?
30
+
31
+ ```ts
32
+ optional height?: number;
33
+ ```
34
+
35
+ ##### id
36
+
37
+ ```ts
38
+ id: string;
39
+ ```
40
+
41
+ ##### disabled?
42
+
43
+ ```ts
44
+ optional disabled?: boolean;
45
+ ```
46
+
47
+ ##### state?
48
+
49
+ ```ts
50
+ optional state?: "loading" | "ready" | "error";
51
+ ```
52
+
53
+ ##### url?
54
+
55
+ ```ts
56
+ optional url?: string;
57
+ ```
58
+
59
+ ##### width?
60
+
61
+ ```ts
62
+ optional width?: number;
63
+ ```
64
+
65
+ ---
66
+
67
+ ### MosaicProps
68
+
69
+ ```ts
70
+ type MosaicProps = HTMLAttributes<HTMLDivElement> & object;
71
+ ```
72
+
73
+ Props accepted by Mosaic.
74
+
75
+ #### Type Declaration
76
+
77
+ | Name | Type | Description |
78
+ | ----------- | -------------------------------------- | ---------------------------------------------------- |
79
+ | `empty?` | `ReactNode` | - |
80
+ | `items` | readonly [`MosaicItem`](#mosaicitem)[] | - |
81
+ | `label?` | `ReactNode` | Caller-owned accessible copy for the list. |
82
+ | `onOpen()?` | (`item`) => `void` | When absent, tiles are deliberately non-interactive. |
83
+
84
+ ## Variables
85
+
86
+ ### Mosaic
87
+
88
+ ```ts
89
+ const Mosaic: ForwardRefExoticComponent<
90
+ HTMLAttributes<HTMLDivElement> & object & RefAttributes<HTMLDivElement>
91
+ >;
92
+ ```
93
+
94
+ Renders supplied tiles only; callers resolve data, policy, and navigation.