@flowstack-ui/brick 0.1.9 → 0.1.12

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 (647) hide show
  1. package/README.md +9 -6
  2. package/dist/agents/accordion.json +8 -2
  3. package/dist/agents/accordion.md +3 -1
  4. package/dist/agents/alert-dialog.json +111 -0
  5. package/dist/agents/alert-dialog.md +53 -0
  6. package/dist/agents/app-bar.json +5 -4
  7. package/dist/agents/app-bar.md +4 -3
  8. package/dist/agents/aspect-ratio.json +80 -0
  9. package/dist/agents/aspect-ratio.md +45 -0
  10. package/dist/agents/avatar.json +92 -0
  11. package/dist/agents/avatar.md +49 -0
  12. package/dist/agents/badge.json +26 -8
  13. package/dist/agents/badge.md +11 -6
  14. package/dist/agents/bleed.json +54 -0
  15. package/dist/agents/bleed.md +39 -0
  16. package/dist/agents/blockquote.json +68 -0
  17. package/dist/agents/blockquote.md +42 -0
  18. package/dist/agents/button.json +7 -2
  19. package/dist/agents/button.md +1 -1
  20. package/dist/agents/card.json +21 -1
  21. package/dist/agents/card.md +7 -1
  22. package/dist/agents/checkbox-group.json +108 -0
  23. package/dist/agents/checkbox-group.md +56 -0
  24. package/dist/agents/checkbox.json +6 -1
  25. package/dist/agents/chip.json +73 -0
  26. package/dist/agents/chip.md +44 -0
  27. package/dist/agents/code-block.json +92 -0
  28. package/dist/agents/code-block.md +52 -0
  29. package/dist/agents/code.json +67 -0
  30. package/dist/agents/code.md +42 -0
  31. package/dist/agents/collapsible.json +34 -3
  32. package/dist/agents/collapsible.md +10 -3
  33. package/dist/agents/color-picker.json +78 -0
  34. package/dist/agents/color-picker.md +46 -0
  35. package/dist/agents/color-swatch.json +51 -0
  36. package/dist/agents/color-swatch.md +36 -0
  37. package/dist/agents/combobox.json +95 -0
  38. package/dist/agents/combobox.md +51 -0
  39. package/dist/agents/context-menu.json +109 -0
  40. package/dist/agents/context-menu.md +54 -0
  41. package/dist/agents/coverage.json +25591 -0
  42. package/dist/agents/data-grid.json +127 -0
  43. package/dist/agents/data-grid.md +61 -0
  44. package/dist/agents/data-list.json +63 -0
  45. package/dist/agents/data-list.md +41 -0
  46. package/dist/agents/dialog.json +112 -0
  47. package/dist/agents/dialog.md +53 -0
  48. package/dist/agents/dropdown-menu.json +112 -0
  49. package/dist/agents/dropdown-menu.md +56 -0
  50. package/dist/agents/em.json +57 -0
  51. package/dist/agents/em.md +39 -0
  52. package/dist/agents/feed.json +84 -0
  53. package/dist/agents/feed.md +48 -0
  54. package/dist/agents/field.json +6 -1
  55. package/dist/agents/fieldset.json +6 -1
  56. package/dist/agents/file-upload.json +93 -0
  57. package/dist/agents/file-upload.md +50 -0
  58. package/dist/agents/form.json +11 -2
  59. package/dist/agents/form.md +2 -1
  60. package/dist/agents/grid.json +18 -1
  61. package/dist/agents/grid.md +6 -0
  62. package/dist/agents/group.json +77 -0
  63. package/dist/agents/group.md +48 -0
  64. package/dist/agents/hide.json +14 -0
  65. package/dist/agents/hide.md +3 -0
  66. package/dist/agents/highlight.json +73 -0
  67. package/dist/agents/highlight.md +43 -0
  68. package/dist/agents/hover-card.json +94 -0
  69. package/dist/agents/hover-card.md +51 -0
  70. package/dist/agents/icon-button.json +23 -12
  71. package/dist/agents/icon-button.md +12 -8
  72. package/dist/agents/image.json +33 -7
  73. package/dist/agents/image.md +11 -4
  74. package/dist/agents/input.json +7 -2
  75. package/dist/agents/input.md +1 -1
  76. package/dist/agents/interface-composition.json +224 -18
  77. package/dist/agents/interface-composition.md +10 -0
  78. package/dist/agents/kbd.json +62 -0
  79. package/dist/agents/kbd.md +40 -0
  80. package/dist/agents/layer-selection.json +1294 -11
  81. package/dist/agents/layer-selection.md +94 -1
  82. package/dist/agents/link-box.json +97 -0
  83. package/dist/agents/link-box.md +53 -0
  84. package/dist/agents/link.json +34 -5
  85. package/dist/agents/link.md +12 -2
  86. package/dist/agents/list.json +1 -1
  87. package/dist/agents/list.md +1 -1
  88. package/dist/agents/manifest.json +327 -2
  89. package/dist/agents/mark.json +56 -0
  90. package/dist/agents/mark.md +38 -0
  91. package/dist/agents/menubar.json +109 -0
  92. package/dist/agents/menubar.md +54 -0
  93. package/dist/agents/multi-select.json +93 -0
  94. package/dist/agents/multi-select.md +49 -0
  95. package/dist/agents/nav-list.json +15 -5
  96. package/dist/agents/nav-list.md +6 -4
  97. package/dist/agents/notification-badge.json +88 -0
  98. package/dist/agents/notification-badge.md +49 -0
  99. package/dist/agents/number-input.json +89 -0
  100. package/dist/agents/number-input.md +50 -0
  101. package/dist/agents/otp-field.json +87 -0
  102. package/dist/agents/otp-field.md +48 -0
  103. package/dist/agents/pagination.json +26 -5
  104. package/dist/agents/pagination.md +11 -4
  105. package/dist/agents/password-toggle-field.json +87 -0
  106. package/dist/agents/password-toggle-field.md +48 -0
  107. package/dist/agents/popover.json +114 -0
  108. package/dist/agents/popover.md +56 -0
  109. package/dist/agents/progress-circle.json +85 -0
  110. package/dist/agents/progress-circle.md +46 -0
  111. package/dist/agents/progress.json +91 -0
  112. package/dist/agents/progress.md +48 -0
  113. package/dist/agents/prose.json +82 -0
  114. package/dist/agents/prose.md +50 -0
  115. package/dist/agents/radio-group.json +92 -0
  116. package/dist/agents/radio-group.md +49 -0
  117. package/dist/agents/rating.json +91 -0
  118. package/dist/agents/rating.md +49 -0
  119. package/dist/agents/reorderable-list.json +74 -0
  120. package/dist/agents/reorderable-list.md +45 -0
  121. package/dist/agents/segment-group.json +62 -0
  122. package/dist/agents/segment-group.md +43 -0
  123. package/dist/agents/select.json +95 -0
  124. package/dist/agents/select.md +51 -0
  125. package/dist/agents/show.json +14 -0
  126. package/dist/agents/show.md +3 -0
  127. package/dist/agents/sidebar.json +16 -3
  128. package/dist/agents/sidebar.md +6 -1
  129. package/dist/agents/skeleton.json +73 -0
  130. package/dist/agents/skeleton.md +43 -0
  131. package/dist/agents/slider.json +88 -0
  132. package/dist/agents/slider.md +48 -0
  133. package/dist/agents/stack.json +19 -1
  134. package/dist/agents/stack.md +7 -0
  135. package/dist/agents/status.json +59 -0
  136. package/dist/agents/status.md +40 -0
  137. package/dist/agents/surface.json +32 -3
  138. package/dist/agents/surface.md +9 -2
  139. package/dist/agents/swipeable-item.json +93 -0
  140. package/dist/agents/swipeable-item.md +50 -0
  141. package/dist/agents/switch.json +92 -0
  142. package/dist/agents/switch.md +49 -0
  143. package/dist/agents/table.json +113 -0
  144. package/dist/agents/table.md +59 -0
  145. package/dist/agents/tabs.json +9 -2
  146. package/dist/agents/tabs.md +4 -1
  147. package/dist/agents/text.json +23 -8
  148. package/dist/agents/text.md +10 -7
  149. package/dist/agents/textarea.json +6 -1
  150. package/dist/agents/toast.json +91 -0
  151. package/dist/agents/toast.md +48 -0
  152. package/dist/agents/toggle-group.json +89 -0
  153. package/dist/agents/toggle-group.md +49 -0
  154. package/dist/agents/toggle.json +82 -0
  155. package/dist/agents/toggle.md +47 -0
  156. package/dist/agents/toolbar.json +11 -1
  157. package/dist/agents/toolbar.md +3 -1
  158. package/dist/agents/tooltip.json +96 -0
  159. package/dist/agents/tooltip.md +49 -0
  160. package/dist/agents/tree-grid.json +98 -0
  161. package/dist/agents/tree-grid.md +51 -0
  162. package/dist/agents/tree.json +94 -0
  163. package/dist/agents/tree.md +51 -0
  164. package/dist/agents/visually-hidden.json +70 -0
  165. package/dist/agents/visually-hidden.md +42 -0
  166. package/dist/agents/z-stack.json +21 -1
  167. package/dist/agents/z-stack.md +5 -0
  168. package/dist/bleed.d.ts +2 -0
  169. package/dist/bleed.d.ts.map +1 -0
  170. package/dist/bleed.js +2 -0
  171. package/dist/bleed.js.map +1 -0
  172. package/dist/blockquote.d.ts +2 -0
  173. package/dist/blockquote.d.ts.map +1 -0
  174. package/dist/blockquote.js +2 -0
  175. package/dist/blockquote.js.map +1 -0
  176. package/dist/color-picker.d.ts +2 -0
  177. package/dist/color-picker.d.ts.map +1 -0
  178. package/dist/color-picker.js +2 -0
  179. package/dist/color-picker.js.map +1 -0
  180. package/dist/color-swatch.d.ts +2 -0
  181. package/dist/color-swatch.d.ts.map +1 -0
  182. package/dist/color-swatch.js +2 -0
  183. package/dist/color-swatch.js.map +1 -0
  184. package/dist/components/_responsive-value/ResponsiveValue.d.ts.map +1 -1
  185. package/dist/components/_responsive-value/ResponsiveValue.js +3 -1
  186. package/dist/components/_responsive-value/ResponsiveValue.js.map +1 -1
  187. package/dist/components/_spacing-value/SpacingValue.d.ts +8 -0
  188. package/dist/components/_spacing-value/SpacingValue.d.ts.map +1 -0
  189. package/dist/components/_spacing-value/SpacingValue.js +46 -0
  190. package/dist/components/_spacing-value/SpacingValue.js.map +1 -0
  191. package/dist/components/accordion/Accordion.js +1 -1
  192. package/dist/components/app-bar/AppBar.d.ts +7 -3
  193. package/dist/components/app-bar/AppBar.d.ts.map +1 -1
  194. package/dist/components/app-bar/AppBar.js +2 -2
  195. package/dist/components/app-bar/AppBar.js.map +1 -1
  196. package/dist/components/app-bar/index.d.ts +1 -1
  197. package/dist/components/app-bar/index.d.ts.map +1 -1
  198. package/dist/components/app-bar/index.js.map +1 -1
  199. package/dist/components/avatar/Avatar.d.ts +1 -1
  200. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  201. package/dist/components/avatar/Avatar.js.map +1 -1
  202. package/dist/components/badge/Badge.d.ts +2 -2
  203. package/dist/components/badge/Badge.d.ts.map +1 -1
  204. package/dist/components/bleed/Bleed.d.ts +28 -0
  205. package/dist/components/bleed/Bleed.d.ts.map +1 -0
  206. package/dist/components/bleed/Bleed.js +92 -0
  207. package/dist/components/bleed/Bleed.js.map +1 -0
  208. package/dist/components/bleed/index.d.ts +2 -0
  209. package/dist/components/bleed/index.d.ts.map +1 -0
  210. package/dist/components/bleed/index.js +2 -0
  211. package/dist/components/bleed/index.js.map +1 -0
  212. package/dist/components/blockquote/Blockquote.d.ts +33 -0
  213. package/dist/components/blockquote/Blockquote.d.ts.map +1 -0
  214. package/dist/components/blockquote/Blockquote.js +36 -0
  215. package/dist/components/blockquote/Blockquote.js.map +1 -0
  216. package/dist/components/blockquote/index.d.ts +2 -0
  217. package/dist/components/blockquote/index.d.ts.map +1 -0
  218. package/dist/components/blockquote/index.js +2 -0
  219. package/dist/components/blockquote/index.js.map +1 -0
  220. package/dist/components/code-block/CodeBlock.d.ts +33 -0
  221. package/dist/components/code-block/CodeBlock.d.ts.map +1 -1
  222. package/dist/components/code-block/CodeBlock.js +60 -6
  223. package/dist/components/code-block/CodeBlock.js.map +1 -1
  224. package/dist/components/code-block/context.d.ts +2 -0
  225. package/dist/components/code-block/context.d.ts.map +1 -1
  226. package/dist/components/code-block/context.js.map +1 -1
  227. package/dist/components/code-block/index.d.ts +1 -1
  228. package/dist/components/code-block/index.d.ts.map +1 -1
  229. package/dist/components/code-block/index.js +1 -1
  230. package/dist/components/code-block/index.js.map +1 -1
  231. package/dist/components/collapsible/Collapsible.d.ts +9 -3
  232. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  233. package/dist/components/collapsible/Collapsible.js +3 -3
  234. package/dist/components/collapsible/Collapsible.js.map +1 -1
  235. package/dist/components/color-picker/ColorPicker.d.ts +42 -0
  236. package/dist/components/color-picker/ColorPicker.d.ts.map +1 -0
  237. package/dist/components/color-picker/ColorPicker.js +52 -0
  238. package/dist/components/color-picker/ColorPicker.js.map +1 -0
  239. package/dist/components/color-picker/index.d.ts +2 -0
  240. package/dist/components/color-picker/index.d.ts.map +1 -0
  241. package/dist/components/color-picker/index.js +2 -0
  242. package/dist/components/color-picker/index.js.map +1 -0
  243. package/dist/components/color-swatch/ColorSwatch.d.ts +21 -0
  244. package/dist/components/color-swatch/ColorSwatch.d.ts.map +1 -0
  245. package/dist/components/color-swatch/ColorSwatch.js +25 -0
  246. package/dist/components/color-swatch/ColorSwatch.js.map +1 -0
  247. package/dist/components/color-swatch/index.d.ts +2 -0
  248. package/dist/components/color-swatch/index.d.ts.map +1 -0
  249. package/dist/components/color-swatch/index.js +2 -0
  250. package/dist/components/color-swatch/index.js.map +1 -0
  251. package/dist/components/data-list/DataList.d.ts +48 -0
  252. package/dist/components/data-list/DataList.d.ts.map +1 -0
  253. package/dist/components/data-list/DataList.js +31 -0
  254. package/dist/components/data-list/DataList.js.map +1 -0
  255. package/dist/components/data-list/index.d.ts +2 -0
  256. package/dist/components/data-list/index.d.ts.map +1 -0
  257. package/dist/components/data-list/index.js +2 -0
  258. package/dist/components/data-list/index.js.map +1 -0
  259. package/dist/components/em/Em.d.ts +9 -0
  260. package/dist/components/em/Em.d.ts.map +1 -0
  261. package/dist/components/em/Em.js +10 -0
  262. package/dist/components/em/Em.js.map +1 -0
  263. package/dist/components/em/index.d.ts +2 -0
  264. package/dist/components/em/index.d.ts.map +1 -0
  265. package/dist/components/em/index.js +2 -0
  266. package/dist/components/em/index.js.map +1 -0
  267. package/dist/components/feed/Feed.d.ts +2 -0
  268. package/dist/components/feed/Feed.d.ts.map +1 -1
  269. package/dist/components/feed/Feed.js +2 -2
  270. package/dist/components/feed/Feed.js.map +1 -1
  271. package/dist/components/feed/index.d.ts +1 -1
  272. package/dist/components/feed/index.d.ts.map +1 -1
  273. package/dist/components/grid/Grid.d.ts +3 -1
  274. package/dist/components/grid/Grid.d.ts.map +1 -1
  275. package/dist/components/grid/Grid.js +11 -1
  276. package/dist/components/grid/Grid.js.map +1 -1
  277. package/dist/components/grid/index.d.ts +1 -1
  278. package/dist/components/grid/index.d.ts.map +1 -1
  279. package/dist/components/grid/index.js.map +1 -1
  280. package/dist/components/group/Group.d.ts +19 -0
  281. package/dist/components/group/Group.d.ts.map +1 -0
  282. package/dist/components/group/Group.js +23 -0
  283. package/dist/components/group/Group.js.map +1 -0
  284. package/dist/components/group/index.d.ts +2 -0
  285. package/dist/components/group/index.d.ts.map +1 -0
  286. package/dist/components/group/index.js +2 -0
  287. package/dist/components/group/index.js.map +1 -0
  288. package/dist/components/highlight/Highlight.d.ts +9 -0
  289. package/dist/components/highlight/Highlight.d.ts.map +1 -0
  290. package/dist/components/highlight/Highlight.js +10 -0
  291. package/dist/components/highlight/Highlight.js.map +1 -0
  292. package/dist/components/highlight/index.d.ts +2 -0
  293. package/dist/components/highlight/index.d.ts.map +1 -0
  294. package/dist/components/highlight/index.js +2 -0
  295. package/dist/components/highlight/index.js.map +1 -0
  296. package/dist/components/kbd/Kbd.d.ts +13 -0
  297. package/dist/components/kbd/Kbd.d.ts.map +1 -0
  298. package/dist/components/kbd/Kbd.js +8 -0
  299. package/dist/components/kbd/Kbd.js.map +1 -0
  300. package/dist/components/kbd/index.d.ts +2 -0
  301. package/dist/components/kbd/index.d.ts.map +1 -0
  302. package/dist/components/kbd/index.js +2 -0
  303. package/dist/components/kbd/index.js.map +1 -0
  304. package/dist/components/link/Link.d.ts +1 -1
  305. package/dist/components/link/Link.d.ts.map +1 -1
  306. package/dist/components/link/Link.js +1 -1
  307. package/dist/components/link/Link.js.map +1 -1
  308. package/dist/components/link-box/LinkBox.d.ts +22 -0
  309. package/dist/components/link-box/LinkBox.d.ts.map +1 -0
  310. package/dist/components/link-box/LinkBox.js +30 -0
  311. package/dist/components/link-box/LinkBox.js.map +1 -0
  312. package/dist/components/link-box/index.d.ts +2 -0
  313. package/dist/components/link-box/index.d.ts.map +1 -0
  314. package/dist/components/link-box/index.js +2 -0
  315. package/dist/components/link-box/index.js.map +1 -0
  316. package/dist/components/mark/Mark.d.ts +13 -0
  317. package/dist/components/mark/Mark.d.ts.map +1 -0
  318. package/dist/components/mark/Mark.js +8 -0
  319. package/dist/components/mark/Mark.js.map +1 -0
  320. package/dist/components/mark/index.d.ts +2 -0
  321. package/dist/components/mark/index.d.ts.map +1 -0
  322. package/dist/components/mark/index.js +2 -0
  323. package/dist/components/mark/index.js.map +1 -0
  324. package/dist/components/nav-list/NavList.d.ts +15 -2
  325. package/dist/components/nav-list/NavList.d.ts.map +1 -1
  326. package/dist/components/nav-list/NavList.js +4 -3
  327. package/dist/components/nav-list/NavList.js.map +1 -1
  328. package/dist/components/pagination/Pagination.d.ts +9 -6
  329. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  330. package/dist/components/pagination/Pagination.js +2 -2
  331. package/dist/components/pagination/Pagination.js.map +1 -1
  332. package/dist/components/pagination/index.d.ts +1 -1
  333. package/dist/components/pagination/index.d.ts.map +1 -1
  334. package/dist/components/pagination/index.js.map +1 -1
  335. package/dist/components/popover/Popover.d.ts +3 -0
  336. package/dist/components/popover/Popover.d.ts.map +1 -1
  337. package/dist/components/popover/Popover.js +2 -2
  338. package/dist/components/popover/Popover.js.map +1 -1
  339. package/dist/components/popover/index.d.ts +1 -1
  340. package/dist/components/popover/index.d.ts.map +1 -1
  341. package/dist/components/popover/index.js.map +1 -1
  342. package/dist/components/prose/Prose.d.ts +12 -0
  343. package/dist/components/prose/Prose.d.ts.map +1 -0
  344. package/dist/components/prose/Prose.js +19 -0
  345. package/dist/components/prose/Prose.js.map +1 -0
  346. package/dist/components/prose/index.d.ts +2 -0
  347. package/dist/components/prose/index.d.ts.map +1 -0
  348. package/dist/components/prose/index.js +2 -0
  349. package/dist/components/prose/index.js.map +1 -0
  350. package/dist/components/rating/Rating.d.ts +37 -1
  351. package/dist/components/rating/Rating.d.ts.map +1 -1
  352. package/dist/components/rating/Rating.js +25 -2
  353. package/dist/components/rating/Rating.js.map +1 -1
  354. package/dist/components/rating/index.d.ts +1 -1
  355. package/dist/components/rating/index.d.ts.map +1 -1
  356. package/dist/components/rating/index.js +1 -1
  357. package/dist/components/rating/index.js.map +1 -1
  358. package/dist/components/reorderable-list/ReorderableList.d.ts +89 -0
  359. package/dist/components/reorderable-list/ReorderableList.d.ts.map +1 -0
  360. package/dist/components/reorderable-list/ReorderableList.js +54 -0
  361. package/dist/components/reorderable-list/ReorderableList.js.map +1 -0
  362. package/dist/components/reorderable-list/index.d.ts +2 -0
  363. package/dist/components/reorderable-list/index.d.ts.map +1 -0
  364. package/dist/components/reorderable-list/index.js +2 -0
  365. package/dist/components/reorderable-list/index.js.map +1 -0
  366. package/dist/components/segment-group/SegmentGroup.d.ts +30 -0
  367. package/dist/components/segment-group/SegmentGroup.d.ts.map +1 -0
  368. package/dist/components/segment-group/SegmentGroup.js +67 -0
  369. package/dist/components/segment-group/SegmentGroup.js.map +1 -0
  370. package/dist/components/segment-group/index.d.ts +2 -0
  371. package/dist/components/segment-group/index.d.ts.map +1 -0
  372. package/dist/components/segment-group/index.js +2 -0
  373. package/dist/components/segment-group/index.js.map +1 -0
  374. package/dist/components/show/Show.d.ts.map +1 -1
  375. package/dist/components/show/Show.js +7 -1
  376. package/dist/components/show/Show.js.map +1 -1
  377. package/dist/components/sidebar/Sidebar.d.ts +4 -0
  378. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  379. package/dist/components/sidebar/Sidebar.js +3 -2
  380. package/dist/components/sidebar/Sidebar.js.map +1 -1
  381. package/dist/components/slider/Slider.d.ts.map +1 -1
  382. package/dist/components/slider/Slider.js +3 -1
  383. package/dist/components/slider/Slider.js.map +1 -1
  384. package/dist/components/stack/Stack.d.ts +3 -1
  385. package/dist/components/stack/Stack.d.ts.map +1 -1
  386. package/dist/components/stack/Stack.js +9 -1
  387. package/dist/components/stack/Stack.js.map +1 -1
  388. package/dist/components/stack/index.d.ts +1 -1
  389. package/dist/components/stack/index.d.ts.map +1 -1
  390. package/dist/components/stack/index.js.map +1 -1
  391. package/dist/components/status/Status.d.ts +22 -0
  392. package/dist/components/status/Status.d.ts.map +1 -0
  393. package/dist/components/status/Status.js +23 -0
  394. package/dist/components/status/Status.js.map +1 -0
  395. package/dist/components/status/index.d.ts +2 -0
  396. package/dist/components/status/index.d.ts.map +1 -0
  397. package/dist/components/status/index.js +2 -0
  398. package/dist/components/status/index.js.map +1 -0
  399. package/dist/components/surface/Surface.d.ts +5 -2
  400. package/dist/components/surface/Surface.d.ts.map +1 -1
  401. package/dist/components/surface/Surface.js +4 -2
  402. package/dist/components/surface/Surface.js.map +1 -1
  403. package/dist/components/surface/index.d.ts +1 -1
  404. package/dist/components/surface/index.d.ts.map +1 -1
  405. package/dist/components/surface/index.js.map +1 -1
  406. package/dist/components/text/Text.d.ts +25 -4
  407. package/dist/components/text/Text.d.ts.map +1 -1
  408. package/dist/components/text/Text.js +22 -3
  409. package/dist/components/text/Text.js.map +1 -1
  410. package/dist/components/text/index.d.ts +1 -1
  411. package/dist/components/text/index.d.ts.map +1 -1
  412. package/dist/components/text/index.js +1 -1
  413. package/dist/components/text/index.js.map +1 -1
  414. package/dist/components/toggle/Toggle.d.ts +5 -0
  415. package/dist/components/toggle/Toggle.d.ts.map +1 -1
  416. package/dist/components/toggle/Toggle.js +2 -2
  417. package/dist/components/toggle/Toggle.js.map +1 -1
  418. package/dist/components/toggle/index.d.ts +1 -1
  419. package/dist/components/toggle/index.d.ts.map +1 -1
  420. package/dist/components/toggle/index.js.map +1 -1
  421. package/dist/components/toggle-group/ToggleGroup.d.ts +3 -1
  422. package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
  423. package/dist/components/toggle-group/ToggleGroup.js +2 -1
  424. package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
  425. package/dist/components/toolbar/Toolbar.d.ts +9 -2
  426. package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
  427. package/dist/components/toolbar/Toolbar.js +2 -2
  428. package/dist/components/toolbar/Toolbar.js.map +1 -1
  429. package/dist/components/toolbar/index.d.ts +1 -1
  430. package/dist/components/toolbar/index.d.ts.map +1 -1
  431. package/dist/components/z-stack/ZStack.d.ts +7 -0
  432. package/dist/components/z-stack/ZStack.d.ts.map +1 -1
  433. package/dist/components/z-stack/ZStack.js +14 -3
  434. package/dist/components/z-stack/ZStack.js.map +1 -1
  435. package/dist/components/z-stack/index.d.ts +1 -1
  436. package/dist/components/z-stack/index.d.ts.map +1 -1
  437. package/dist/components/z-stack/index.js.map +1 -1
  438. package/dist/data-list.d.ts +2 -0
  439. package/dist/data-list.d.ts.map +1 -0
  440. package/dist/data-list.js +2 -0
  441. package/dist/data-list.js.map +1 -0
  442. package/dist/em.d.ts +2 -0
  443. package/dist/em.d.ts.map +1 -0
  444. package/dist/em.js +2 -0
  445. package/dist/em.js.map +1 -0
  446. package/dist/feed.d.ts +1 -1
  447. package/dist/feed.d.ts.map +1 -1
  448. package/dist/grid.d.ts +1 -1
  449. package/dist/grid.d.ts.map +1 -1
  450. package/dist/grid.js.map +1 -1
  451. package/dist/group.d.ts +2 -0
  452. package/dist/group.d.ts.map +1 -0
  453. package/dist/group.js +2 -0
  454. package/dist/group.js.map +1 -0
  455. package/dist/highlight.d.ts +2 -0
  456. package/dist/highlight.d.ts.map +1 -0
  457. package/dist/highlight.js +2 -0
  458. package/dist/highlight.js.map +1 -0
  459. package/dist/index.d.ts +25 -9
  460. package/dist/index.d.ts.map +1 -1
  461. package/dist/index.js +17 -2
  462. package/dist/index.js.map +1 -1
  463. package/dist/kbd.d.ts +2 -0
  464. package/dist/kbd.d.ts.map +1 -0
  465. package/dist/kbd.js +2 -0
  466. package/dist/kbd.js.map +1 -0
  467. package/dist/link-box.d.ts +2 -0
  468. package/dist/link-box.d.ts.map +1 -0
  469. package/dist/link-box.js +2 -0
  470. package/dist/link-box.js.map +1 -0
  471. package/dist/mark.d.ts +2 -0
  472. package/dist/mark.d.ts.map +1 -0
  473. package/dist/mark.js +2 -0
  474. package/dist/mark.js.map +1 -0
  475. package/dist/prose.d.ts +2 -0
  476. package/dist/prose.d.ts.map +1 -0
  477. package/dist/prose.js +2 -0
  478. package/dist/prose.js.map +1 -0
  479. package/dist/reorderable-list.d.ts +2 -0
  480. package/dist/reorderable-list.d.ts.map +1 -0
  481. package/dist/reorderable-list.js +2 -0
  482. package/dist/reorderable-list.js.map +1 -0
  483. package/dist/reset.css +1 -1
  484. package/dist/reset.css.map +1 -1
  485. package/dist/segment-group.d.ts +2 -0
  486. package/dist/segment-group.d.ts.map +1 -0
  487. package/dist/segment-group.js +2 -0
  488. package/dist/segment-group.js.map +1 -0
  489. package/dist/stack.d.ts +1 -1
  490. package/dist/stack.d.ts.map +1 -1
  491. package/dist/stack.js.map +1 -1
  492. package/dist/status.d.ts +2 -0
  493. package/dist/status.d.ts.map +1 -0
  494. package/dist/status.js +2 -0
  495. package/dist/status.js.map +1 -0
  496. package/dist/styles/accordion.css +1 -1
  497. package/dist/styles/accordion.css.map +1 -1
  498. package/dist/styles/alert-dialog.css +1 -1
  499. package/dist/styles/alert-dialog.css.map +1 -1
  500. package/dist/styles/app-bar.css +1 -1
  501. package/dist/styles/app-bar.css.map +1 -1
  502. package/dist/styles/avatar.css +1 -1
  503. package/dist/styles/avatar.css.map +1 -1
  504. package/dist/styles/badge.css +1 -1
  505. package/dist/styles/badge.css.map +1 -1
  506. package/dist/styles/bleed.css +2 -0
  507. package/dist/styles/bleed.css.map +1 -0
  508. package/dist/styles/blockquote.css +2 -0
  509. package/dist/styles/blockquote.css.map +1 -0
  510. package/dist/styles/bottom-navigation.css +1 -1
  511. package/dist/styles/bottom-navigation.css.map +1 -1
  512. package/dist/styles/button.css +1 -1
  513. package/dist/styles/button.css.map +1 -1
  514. package/dist/styles/card.css +1 -1
  515. package/dist/styles/card.css.map +1 -1
  516. package/dist/styles/checkbox-group.css +1 -1
  517. package/dist/styles/checkbox-group.css.map +1 -1
  518. package/dist/styles/checkbox.css +1 -1
  519. package/dist/styles/checkbox.css.map +1 -1
  520. package/dist/styles/code-block.css +1 -1
  521. package/dist/styles/code-block.css.map +1 -1
  522. package/dist/styles/collapsible.css +1 -1
  523. package/dist/styles/collapsible.css.map +1 -1
  524. package/dist/styles/color-picker.css +2 -0
  525. package/dist/styles/color-picker.css.map +1 -0
  526. package/dist/styles/color-swatch.css +2 -0
  527. package/dist/styles/color-swatch.css.map +1 -0
  528. package/dist/styles/combobox.css +1 -1
  529. package/dist/styles/combobox.css.map +1 -1
  530. package/dist/styles/context-menu.css +1 -1
  531. package/dist/styles/context-menu.css.map +1 -1
  532. package/dist/styles/core.css +1 -1
  533. package/dist/styles/core.css.map +1 -1
  534. package/dist/styles/data-grid.css +1 -1
  535. package/dist/styles/data-grid.css.map +1 -1
  536. package/dist/styles/data-list.css +2 -0
  537. package/dist/styles/data-list.css.map +1 -0
  538. package/dist/styles/dialog.css +1 -1
  539. package/dist/styles/dialog.css.map +1 -1
  540. package/dist/styles/divider.css +1 -1
  541. package/dist/styles/divider.css.map +1 -1
  542. package/dist/styles/drawer.css +1 -1
  543. package/dist/styles/drawer.css.map +1 -1
  544. package/dist/styles/dropdown-menu.css +1 -1
  545. package/dist/styles/dropdown-menu.css.map +1 -1
  546. package/dist/styles/em.css +2 -0
  547. package/dist/styles/em.css.map +1 -0
  548. package/dist/styles/feed.css +1 -1
  549. package/dist/styles/feed.css.map +1 -1
  550. package/dist/styles/grid.css +1 -1
  551. package/dist/styles/grid.css.map +1 -1
  552. package/dist/styles/group.css +2 -0
  553. package/dist/styles/group.css.map +1 -0
  554. package/dist/styles/hide.css +1 -1
  555. package/dist/styles/hide.css.map +1 -1
  556. package/dist/styles/highlight.css +2 -0
  557. package/dist/styles/highlight.css.map +1 -0
  558. package/dist/styles/icon-button.css +1 -1
  559. package/dist/styles/icon-button.css.map +1 -1
  560. package/dist/styles/input.css +1 -1
  561. package/dist/styles/input.css.map +1 -1
  562. package/dist/styles/kbd.css +2 -0
  563. package/dist/styles/kbd.css.map +1 -0
  564. package/dist/styles/link-box.css +2 -0
  565. package/dist/styles/link-box.css.map +1 -0
  566. package/dist/styles/link.css +1 -1
  567. package/dist/styles/link.css.map +1 -1
  568. package/dist/styles/list.css +1 -1
  569. package/dist/styles/list.css.map +1 -1
  570. package/dist/styles/mark.css +2 -0
  571. package/dist/styles/mark.css.map +1 -0
  572. package/dist/styles/menubar.css +1 -1
  573. package/dist/styles/menubar.css.map +1 -1
  574. package/dist/styles/multi-select.css +1 -1
  575. package/dist/styles/multi-select.css.map +1 -1
  576. package/dist/styles/nav-list.css +1 -1
  577. package/dist/styles/nav-list.css.map +1 -1
  578. package/dist/styles/navigation-menu.css +1 -1
  579. package/dist/styles/navigation-menu.css.map +1 -1
  580. package/dist/styles/pagination.css +1 -1
  581. package/dist/styles/pagination.css.map +1 -1
  582. package/dist/styles/password-toggle-field.css +1 -1
  583. package/dist/styles/password-toggle-field.css.map +1 -1
  584. package/dist/styles/popover.css +1 -1
  585. package/dist/styles/popover.css.map +1 -1
  586. package/dist/styles/prose.css +2 -0
  587. package/dist/styles/prose.css.map +1 -0
  588. package/dist/styles/rating.css +1 -1
  589. package/dist/styles/rating.css.map +1 -1
  590. package/dist/styles/reorderable-list.css +2 -0
  591. package/dist/styles/reorderable-list.css.map +1 -0
  592. package/dist/styles/segment-group.css +2 -0
  593. package/dist/styles/segment-group.css.map +1 -0
  594. package/dist/styles/select.css +1 -1
  595. package/dist/styles/select.css.map +1 -1
  596. package/dist/styles/show.css +1 -1
  597. package/dist/styles/show.css.map +1 -1
  598. package/dist/styles/sidebar.css +1 -1
  599. package/dist/styles/sidebar.css.map +1 -1
  600. package/dist/styles/skeleton.css +1 -1
  601. package/dist/styles/skeleton.css.map +1 -1
  602. package/dist/styles/slider.css +1 -1
  603. package/dist/styles/slider.css.map +1 -1
  604. package/dist/styles/stack.css +1 -1
  605. package/dist/styles/stack.css.map +1 -1
  606. package/dist/styles/status.css +2 -0
  607. package/dist/styles/status.css.map +1 -0
  608. package/dist/styles/surface.css +1 -1
  609. package/dist/styles/surface.css.map +1 -1
  610. package/dist/styles/table.css +1 -1
  611. package/dist/styles/table.css.map +1 -1
  612. package/dist/styles/tabs.css +1 -1
  613. package/dist/styles/tabs.css.map +1 -1
  614. package/dist/styles/text.css +1 -1
  615. package/dist/styles/text.css.map +1 -1
  616. package/dist/styles/toggle-group.css +1 -1
  617. package/dist/styles/toggle-group.css.map +1 -1
  618. package/dist/styles/toggle.css +1 -1
  619. package/dist/styles/toggle.css.map +1 -1
  620. package/dist/styles/toolbar.css +1 -1
  621. package/dist/styles/toolbar.css.map +1 -1
  622. package/dist/styles/z-stack.css +1 -1
  623. package/dist/styles/z-stack.css.map +1 -1
  624. package/dist/styles.css +1 -1
  625. package/dist/styles.css.map +1 -1
  626. package/dist/surface.d.ts +1 -1
  627. package/dist/surface.d.ts.map +1 -1
  628. package/dist/surface.js.map +1 -1
  629. package/dist/text.d.ts +1 -1
  630. package/dist/text.d.ts.map +1 -1
  631. package/dist/text.js +1 -1
  632. package/dist/text.js.map +1 -1
  633. package/dist/theme-contract.json +10519 -6018
  634. package/dist/toggle.d.ts +1 -1
  635. package/dist/toggle.d.ts.map +1 -1
  636. package/dist/toggle.js.map +1 -1
  637. package/dist/tokens.css +1 -1
  638. package/dist/tokens.css.map +1 -1
  639. package/dist/toolbar.d.ts +1 -1
  640. package/dist/toolbar.d.ts.map +1 -1
  641. package/docs/guides/agent-knowledge.md +19 -0
  642. package/docs/guides/appearance-and-tokens.md +5 -0
  643. package/docs/guides/browser-support.md +21 -0
  644. package/docs/guides/control-sizing.md +55 -0
  645. package/docs/guides/installation.md +5 -2
  646. package/docs/guides/theme-contract.md +26 -12
  647. package/package.json +79 -7
@@ -0,0 +1,57 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "em",
4
+ "name": "Em",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Apply native stress emphasis while preserving the surrounding Brick typography and foreground.",
9
+ "useWhen": [
10
+ "Words in a sentence need semantic stress emphasis that changes the meaning or cadence when spoken."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "Text only needs an italic visual treatment without stress emphasis.",
15
+ "useInstead": "a deliberate application-owned visual recipe"
16
+ },
17
+ {
18
+ "condition": "Text needs importance rather than stress emphasis.",
19
+ "useInstead": "native strong inside the surrounding text owner"
20
+ }
21
+ ],
22
+ "composition": [
23
+ "Keep Em inside the Text, heading, link, or component content owner whose sentence it completes."
24
+ ],
25
+ "rules": [
26
+ {
27
+ "id": "em-native-semantics",
28
+ "level": "must",
29
+ "statement": "Use Em only for native stress emphasis and preserve its one em host; do not select it merely for italic paint."
30
+ },
31
+ {
32
+ "id": "em-inheritance",
33
+ "level": "must",
34
+ "statement": "Let Em inherit the surrounding typography and foreground rather than introducing a separate size, tone, or weight recipe."
35
+ },
36
+ {
37
+ "id": "em-css",
38
+ "level": "must",
39
+ "statement": "Load styles.css or core.css plus em.css."
40
+ }
41
+ ],
42
+ "commonMistakes": [
43
+ {
44
+ "mistake": "Using Em as a decorative italic label or replacing a sentence-level text owner with Em.",
45
+ "correction": "Keep Em inside meaningful surrounding copy and use it only when stress emphasis is semantically intended."
46
+ }
47
+ ],
48
+ "validation": [
49
+ "Confirm one native em element, inherited metrics and foreground, readable forced colors, normal selection and copy, and no tab stop or role.",
50
+ "Check nested sentence flow, localization, zoom, RTL, and CSS delivery."
51
+ ],
52
+ "related": [
53
+ "text",
54
+ "link",
55
+ "interface-composition"
56
+ ]
57
+ }
@@ -0,0 +1,39 @@
1
+ # Em agent guide
2
+
3
+ ## Purpose
4
+
5
+ Apply native stress emphasis while preserving the surrounding Brick typography and foreground.
6
+
7
+ ## Use when
8
+
9
+ - Words in a sentence need semantic stress emphasis that changes the meaning or cadence when spoken.
10
+
11
+ ## Choose something else when
12
+
13
+ - Text only needs an italic visual treatment without stress emphasis. Use a deliberate application-owned visual recipe.
14
+ - Text needs importance rather than stress emphasis. Use native strong inside the surrounding text owner.
15
+
16
+ ## Required composition
17
+
18
+ - Keep Em inside the Text, heading, link, or component content owner whose sentence it completes.
19
+
20
+ ## Rules
21
+
22
+ - **MUST:** Use Em only for native stress emphasis and preserve its one em host; do not select it merely for italic paint.
23
+ - **MUST:** Let Em inherit the surrounding typography and foreground rather than introducing a separate size, tone, or weight recipe.
24
+ - **MUST:** Load styles.css or core.css plus em.css.
25
+
26
+ ## Common mistakes
27
+
28
+ - **Avoid:** Using Em as a decorative italic label or replacing a sentence-level text owner with Em. **Instead:** Keep Em inside meaningful surrounding copy and use it only when stress emphasis is semantically intended.
29
+
30
+ ## Validation checklist
31
+
32
+ - Confirm one native em element, inherited metrics and foreground, readable forced colors, normal selection and copy, and no tab stop or role.
33
+ - Check nested sentence flow, localization, zoom, RTL, and CSS delivery.
34
+
35
+ ## Related guidance
36
+
37
+ - `text`
38
+ - `link`
39
+ - `interface-composition`
@@ -0,0 +1,84 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "feed",
4
+ "name": "Feed",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Present a styled dynamic stream of rich focusable articles while Atom owns feed semantics, busy state, positions, and keyboard movement.",
9
+ "useWhen": [
10
+ "Activity, news, social posts, or rich notifications may change while a person reads and article-by-article keyboard movement is useful."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "The sequence is static or has tabular, hierarchical, or purely visual relationships.",
15
+ "useInstead": "List, Table/DataGrid, Tree, or Stack/Grid according to the relationship"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Compose direct Feed.Item articles inside one named Feed.Root; give every Item a useful heading or other accessible name, accurate position metadata, and item-local actions that do not turn the article into one whole-row control.",
20
+ "Compose ScrollArea outside Root only when a Frame or another parent supplies a definite bounded size.",
21
+ "Use dividerStrength=default only when a compact utility feed needs clearer row separation; preserve the subtle default for ordinary continuous reading."
22
+ ],
23
+ "rules": [
24
+ {
25
+ "id": "feed-dynamic-owner",
26
+ "level": "must",
27
+ "statement": "Use Feed only for a dynamic rich article stream where feed semantics and article keyboard movement improve the experience."
28
+ },
29
+ {
30
+ "id": "feed-direct-items",
31
+ "level": "must",
32
+ "statement": "Keep Feed.Item articles as direct Root children with useful accessible names and accurate positions and totals."
33
+ },
34
+ {
35
+ "id": "feed-busy",
36
+ "level": "must",
37
+ "statement": "Set busy only while adding or replacing Feed DOM; do not make a passive feed a live region or treat busy paint as an announcement."
38
+ },
39
+ {
40
+ "id": "feed-actions",
41
+ "level": "must",
42
+ "statement": "Keep links, buttons, and menus as independently named descendants; do not make the entire Feed Item a hover or activation target."
43
+ },
44
+ {
45
+ "id": "feed-scroll",
46
+ "level": "must",
47
+ "statement": "When the stream is bounded, let Frame own the definite size and ScrollArea own overflow outside Feed.Root."
48
+ },
49
+ {
50
+ "id": "feed-virtualization",
51
+ "level": "must",
52
+ "statement": "When an application windows articles, preserve stable identities and full logical positions, keep the focused and next keyboard target articles mounted or materialize them before focus moves, and remember that geometry utilities do not own feed loading or semantics."
53
+ },
54
+ {
55
+ "id": "feed-css",
56
+ "level": "must",
57
+ "statement": "Load styles.css or core.css plus feed.css and every composed child stylesheet."
58
+ }
59
+ ],
60
+ "commonMistakes": [
61
+ {
62
+ "mistake": "Using Feed for any repeated row, putting non-article children directly in Root, or adding aria-live to a passive notification tray.",
63
+ "correction": "Choose Feed only for a dynamic article stream, keep direct Item anatomy, and reserve live announcements for application-owned asynchronous feedback."
64
+ }
65
+ ],
66
+ "validation": [
67
+ "Check Root naming, Item headings, direct article children, positions and totals, busy state, PageUp/PageDown, Control/Command+Home/End, nested control focus, and scroll reveal.",
68
+ "Check divided, plain, and outline boundaries at narrow widths, zoom, RTL, forced colors, reduced motion, and light/dark appearance.",
69
+ "For paged or windowed feeds, verify stable keys and full logical metadata and ensure the focused and next PageUp/PageDown target articles exist before focus moves."
70
+ ],
71
+ "related": [
72
+ {
73
+ "kind": "package",
74
+ "package": "@flowstack-ui/atom",
75
+ "id": "feed",
76
+ "versionPolicy": "installed-exact"
77
+ },
78
+ "list",
79
+ "scroll-area",
80
+ "frame",
81
+ "button",
82
+ "dropdown-menu"
83
+ ]
84
+ }
@@ -0,0 +1,48 @@
1
+ # Feed agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present a styled dynamic stream of rich focusable articles while Atom owns feed semantics, busy state, positions, and keyboard movement.
6
+
7
+ ## Use when
8
+
9
+ - Activity, news, social posts, or rich notifications may change while a person reads and article-by-article keyboard movement is useful.
10
+
11
+ ## Choose something else when
12
+
13
+ - The sequence is static or has tabular, hierarchical, or purely visual relationships. Use List, Table/DataGrid, Tree, or Stack/Grid according to the relationship.
14
+
15
+ ## Required composition
16
+
17
+ - Compose direct Feed.Item articles inside one named Feed.Root; give every Item a useful heading or other accessible name, accurate position metadata, and item-local actions that do not turn the article into one whole-row control.
18
+ - Compose ScrollArea outside Root only when a Frame or another parent supplies a definite bounded size.
19
+ - Use dividerStrength=default only when a compact utility feed needs clearer row separation; preserve the subtle default for ordinary continuous reading.
20
+
21
+ ## Rules
22
+
23
+ - **MUST:** Use Feed only for a dynamic rich article stream where feed semantics and article keyboard movement improve the experience.
24
+ - **MUST:** Keep Feed.Item articles as direct Root children with useful accessible names and accurate positions and totals.
25
+ - **MUST:** Set busy only while adding or replacing Feed DOM; do not make a passive feed a live region or treat busy paint as an announcement.
26
+ - **MUST:** Keep links, buttons, and menus as independently named descendants; do not make the entire Feed Item a hover or activation target.
27
+ - **MUST:** When the stream is bounded, let Frame own the definite size and ScrollArea own overflow outside Feed.Root.
28
+ - **MUST:** When an application windows articles, preserve stable identities and full logical positions, keep the focused and next keyboard target articles mounted or materialize them before focus moves, and remember that geometry utilities do not own feed loading or semantics.
29
+ - **MUST:** Load styles.css or core.css plus feed.css and every composed child stylesheet.
30
+
31
+ ## Common mistakes
32
+
33
+ - **Avoid:** Using Feed for any repeated row, putting non-article children directly in Root, or adding aria-live to a passive notification tray. **Instead:** Choose Feed only for a dynamic article stream, keep direct Item anatomy, and reserve live announcements for application-owned asynchronous feedback.
34
+
35
+ ## Validation checklist
36
+
37
+ - Check Root naming, Item headings, direct article children, positions and totals, busy state, PageUp/PageDown, Control/Command+Home/End, nested control focus, and scroll reveal.
38
+ - Check divided, plain, and outline boundaries at narrow widths, zoom, RTL, forced colors, reduced motion, and light/dark appearance.
39
+ - For paged or windowed feeds, verify stable keys and full logical metadata and ensure the focused and next PageUp/PageDown target articles exist before focus moves.
40
+
41
+ ## Related guidance
42
+
43
+ - `@flowstack-ui/atom/agents/feed`
44
+ - `list`
45
+ - `scroll-area`
46
+ - `frame`
47
+ - `button`
48
+ - `dropdown-menu`
@@ -47,7 +47,12 @@
47
47
  "Check vertical and horizontal layouts at narrow widths."
48
48
  ],
49
49
  "related": [
50
- "@flowstack-ui/atom/agents/field",
50
+ {
51
+ "kind": "package",
52
+ "package": "@flowstack-ui/atom",
53
+ "id": "field",
54
+ "versionPolicy": "installed-exact"
55
+ },
51
56
  "form",
52
57
  "fieldset",
53
58
  "input",
@@ -41,7 +41,12 @@
41
41
  "Check group messaging, state propagation, spacing, and responsive layout."
42
42
  ],
43
43
  "related": [
44
- "@flowstack-ui/atom/agents/fieldset",
44
+ {
45
+ "kind": "package",
46
+ "package": "@flowstack-ui/atom",
47
+ "id": "fieldset",
48
+ "versionPolicy": "installed-exact"
49
+ },
45
50
  "form",
46
51
  "field",
47
52
  "checkbox"
@@ -0,0 +1,93 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "file-upload",
4
+ "name": "FileUpload",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Present a finished local-file picker, optional drop target, and removable selected-file list while Atom owns native picking, file state, client acceptance, Field validation, reset, and multipart form participation.",
9
+ "useWhen": [
10
+ "A form needs one or more local files selected through the native picker, optional drag and drop, review, removal, or visible client-side rejection feedback before application processing."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "A native file input is sufficient, the value is a textual path or URL, the asset is already remote, or the job is transfer progress, retry, persistence, preview editing, or server policy.",
15
+ "useInstead": "a native input type=file, Input, Progress, Toast, Image, or an application-owned upload workflow"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Compose one Field with FileUpload.Root, exactly one HiddenInput, and an accessible Trigger. Add Dropzone only as an enhancement; use ItemGroup with one Item per accepted file and optional ItemName, ItemSize, and file-specific ItemDeleteTrigger.",
20
+ "State both browse and drop paths plus material constraints in visible copy. Use Root's outline or soft recipe, size, shape, and width while keeping upload transport, progress, rejection copy, and server policy outside FileUpload."
21
+ ],
22
+ "rules": [
23
+ {
24
+ "id": "file-upload-native-input",
25
+ "level": "must",
26
+ "statement": "Render exactly one HiddenInput whenever picker, Trigger, required validity, name, form, accept, or multiple semantics are needed and keep it aligned with the visible control."
27
+ },
28
+ {
29
+ "id": "file-upload-access-path",
30
+ "level": "must",
31
+ "statement": "Always provide a visible accessible Trigger for keyboard, touch, and pointer selection; Dropzone alone is not an equivalent picker, and Trigger already owns its button recipe rather than nesting Button."
32
+ },
33
+ {
34
+ "id": "file-upload-validation",
35
+ "level": "must",
36
+ "statement": "Use accept, maxFiles, maxSize, and validateFile only for immediate client feedback, show authored localized rejection reasons, and validate type, size, content, authorization, and storage policy again on the server."
37
+ },
38
+ {
39
+ "id": "file-upload-state",
40
+ "level": "must",
41
+ "statement": "Use files with onFilesChange or defaultFiles, choose appendFiles deliberately for multiple selection, and distinguish rejected candidates from the validity of the currently selected files."
42
+ },
43
+ {
44
+ "id": "file-upload-drop-form",
45
+ "level": "must",
46
+ "statement": "Preserve file-only drag state, nested drag handling, document-drop protection, disabled/read-only behavior, native FileList synchronization, required focus, Field relationships, external form, same-file reselection after deletion, and uncontrolled reset."
47
+ },
48
+ {
49
+ "id": "file-upload-items",
50
+ "level": "must",
51
+ "statement": "Keep ItemGroup and Item native list semantics, preserve each complete filename despite visual truncation, give every removal action a file-specific name, and do not nest Brick List or IconButton into the owning parts."
52
+ },
53
+ {
54
+ "id": "file-upload-responsive",
55
+ "level": "must",
56
+ "statement": "Keep drop copy and selected-file metadata contained under long filenames, localization, narrow widths, zoom, and RTL while retaining visible focus, non-color accept/reject cues, and effective action targets."
57
+ },
58
+ {
59
+ "id": "file-upload-css",
60
+ "level": "must",
61
+ "statement": "Load styles.css or core.css plus file-upload.css and Field CSS when composed."
62
+ }
63
+ ],
64
+ "commonMistakes": [
65
+ {
66
+ "mistake": "Using Dropzone as the only picker, treating accept as security, hiding rejection reasons, wrapping Trigger in Button, or forgetting same-file reselection after removal.",
67
+ "correction": "Include HiddenInput and Trigger, validate again on the server, present rejection feedback, preserve the owning interactive parts, and let Atom synchronize native selection."
68
+ },
69
+ {
70
+ "mistake": "Turning local file selection into an upload transport with progress, retry, preview lifecycle, storage, or malware claims.",
71
+ "correction": "Keep FileUpload responsible for local selection and compose application-owned transfer status and durable results beside it."
72
+ }
73
+ ],
74
+ "validation": [
75
+ "Verify picker opening by pointer, touch, Enter, and Space; controlled/uncontrolled files; single replacement and multiple append/replace policy; accept rules; maximum count and size; custom rejection; visible rejection feedback; disabled/read-only state; and same-file reselection.",
76
+ "Verify accepted/rejected and nested drag behavior, non-file drags, document-drop protection, HiddenInput name/form/required/multiple/FileList behavior, Field labels/errors, inline/native focus, reset, ItemGroup metadata, delete labels, native props, refs, and composition.",
77
+ "Verify both recipes, all sizes/shapes/widths, long filenames and localized copy, narrow width, zoom, RTL, touch targets, light/dark appearance, forced colors, focus, invalid, disabled, read-only, accept, and reject paint."
78
+ ],
79
+ "related": [
80
+ {
81
+ "kind": "package",
82
+ "package": "@flowstack-ui/atom",
83
+ "id": "file-upload",
84
+ "versionPolicy": "installed-exact"
85
+ },
86
+ "input",
87
+ "field",
88
+ "form",
89
+ "progress",
90
+ "toast",
91
+ "image"
92
+ ]
93
+ }
@@ -0,0 +1,50 @@
1
+ # FileUpload agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present a finished local-file picker, optional drop target, and removable selected-file list while Atom owns native picking, file state, client acceptance, Field validation, reset, and multipart form participation.
6
+
7
+ ## Use when
8
+
9
+ - A form needs one or more local files selected through the native picker, optional drag and drop, review, removal, or visible client-side rejection feedback before application processing.
10
+
11
+ ## Choose something else when
12
+
13
+ - A native file input is sufficient, the value is a textual path or URL, the asset is already remote, or the job is transfer progress, retry, persistence, preview editing, or server policy. Use a native input type=file, Input, Progress, Toast, Image, or an application-owned upload workflow.
14
+
15
+ ## Required composition
16
+
17
+ - Compose one Field with FileUpload.Root, exactly one HiddenInput, and an accessible Trigger. Add Dropzone only as an enhancement; use ItemGroup with one Item per accepted file and optional ItemName, ItemSize, and file-specific ItemDeleteTrigger.
18
+ - State both browse and drop paths plus material constraints in visible copy. Use Root's outline or soft recipe, size, shape, and width while keeping upload transport, progress, rejection copy, and server policy outside FileUpload.
19
+
20
+ ## Rules
21
+
22
+ - **MUST:** Render exactly one HiddenInput whenever picker, Trigger, required validity, name, form, accept, or multiple semantics are needed and keep it aligned with the visible control.
23
+ - **MUST:** Always provide a visible accessible Trigger for keyboard, touch, and pointer selection; Dropzone alone is not an equivalent picker, and Trigger already owns its button recipe rather than nesting Button.
24
+ - **MUST:** Use accept, maxFiles, maxSize, and validateFile only for immediate client feedback, show authored localized rejection reasons, and validate type, size, content, authorization, and storage policy again on the server.
25
+ - **MUST:** Use files with onFilesChange or defaultFiles, choose appendFiles deliberately for multiple selection, and distinguish rejected candidates from the validity of the currently selected files.
26
+ - **MUST:** Preserve file-only drag state, nested drag handling, document-drop protection, disabled/read-only behavior, native FileList synchronization, required focus, Field relationships, external form, same-file reselection after deletion, and uncontrolled reset.
27
+ - **MUST:** Keep ItemGroup and Item native list semantics, preserve each complete filename despite visual truncation, give every removal action a file-specific name, and do not nest Brick List or IconButton into the owning parts.
28
+ - **MUST:** Keep drop copy and selected-file metadata contained under long filenames, localization, narrow widths, zoom, and RTL while retaining visible focus, non-color accept/reject cues, and effective action targets.
29
+ - **MUST:** Load styles.css or core.css plus file-upload.css and Field CSS when composed.
30
+
31
+ ## Common mistakes
32
+
33
+ - **Avoid:** Using Dropzone as the only picker, treating accept as security, hiding rejection reasons, wrapping Trigger in Button, or forgetting same-file reselection after removal. **Instead:** Include HiddenInput and Trigger, validate again on the server, present rejection feedback, preserve the owning interactive parts, and let Atom synchronize native selection.
34
+ - **Avoid:** Turning local file selection into an upload transport with progress, retry, preview lifecycle, storage, or malware claims. **Instead:** Keep FileUpload responsible for local selection and compose application-owned transfer status and durable results beside it.
35
+
36
+ ## Validation checklist
37
+
38
+ - Verify picker opening by pointer, touch, Enter, and Space; controlled/uncontrolled files; single replacement and multiple append/replace policy; accept rules; maximum count and size; custom rejection; visible rejection feedback; disabled/read-only state; and same-file reselection.
39
+ - Verify accepted/rejected and nested drag behavior, non-file drags, document-drop protection, HiddenInput name/form/required/multiple/FileList behavior, Field labels/errors, inline/native focus, reset, ItemGroup metadata, delete labels, native props, refs, and composition.
40
+ - Verify both recipes, all sizes/shapes/widths, long filenames and localized copy, narrow width, zoom, RTL, touch targets, light/dark appearance, forced colors, focus, invalid, disabled, read-only, accept, and reject paint.
41
+
42
+ ## Related guidance
43
+
44
+ - `@flowstack-ui/atom/agents/file-upload`
45
+ - `input`
46
+ - `field`
47
+ - `form`
48
+ - `progress`
49
+ - `toast`
50
+ - `image`
@@ -16,7 +16,7 @@
16
16
  }
17
17
  ],
18
18
  "composition": [
19
- "Compose Form -> Fieldset for related groups -> Field for each control -> a named submit Button."
19
+ "Compose Form -> Field for each independently labelled control -> a named submit Button; add Fieldset only when multiple controls answer one meaningful group question."
20
20
  ],
21
21
  "rules": [
22
22
  {
@@ -34,6 +34,10 @@
34
34
  {
35
35
  "mistake": "Treating Form as a complete login or contact workflow.",
36
36
  "correction": "Keep business workflow in the application or a future Block; Form owns the generic visual boundary."
37
+ },
38
+ {
39
+ "mistake": "Wrapping the entire form in Fieldset only to obtain spacing, then repeating the page heading as its legend.",
40
+ "correction": "Let Form own ordinary field rhythm and reserve Fieldset for a real labelled subgroup."
37
41
  }
38
42
  ],
39
43
  "validation": [
@@ -41,7 +45,12 @@
41
45
  "Inspect submitted values, invalid relationships, spacing, and narrow-layout behavior."
42
46
  ],
43
47
  "related": [
44
- "@flowstack-ui/atom/agents/form",
48
+ {
49
+ "kind": "package",
50
+ "package": "@flowstack-ui/atom",
51
+ "id": "form",
52
+ "versionPolicy": "installed-exact"
53
+ },
45
54
  "field",
46
55
  "fieldset",
47
56
  "button"
@@ -14,7 +14,7 @@ Provide a finished native submission boundary and consistent form rhythm while A
14
14
 
15
15
  ## Required composition
16
16
 
17
- - Compose Form -> Fieldset for related groups -> Field for each control -> a named submit Button.
17
+ - Compose Form -> Field for each independently labelled control -> a named submit Button; add Fieldset only when multiple controls answer one meaningful group question.
18
18
 
19
19
  ## Rules
20
20
 
@@ -24,6 +24,7 @@ Provide a finished native submission boundary and consistent form rhythm while A
24
24
  ## Common mistakes
25
25
 
26
26
  - **Avoid:** Treating Form as a complete login or contact workflow. **Instead:** Keep business workflow in the application or a future Block; Form owns the generic visual boundary.
27
+ - **Avoid:** Wrapping the entire form in Fieldset only to obtain spacing, then repeating the page heading as its legend. **Instead:** Let Form own ordinary field rhythm and reserve Fieldset for a real labelled subgroup.
27
28
 
28
29
  ## Validation checklist
29
30
 
@@ -16,7 +16,8 @@
16
16
  }
17
17
  ],
18
18
  "composition": [
19
- "Choose Grid tracks from the minimum readable child size; use Grid.Item placement only when source order remains meaningful."
19
+ "Choose Grid tracks from the minimum readable child size; use Grid.Item placement only when source order remains meaningful.",
20
+ "Use as=\"ul\" or as=\"ol\" when the peers form a semantic list; Grid removes native list geometry while preserving the list relationship."
20
21
  ],
21
22
  "rules": [
22
23
  {
@@ -24,6 +25,16 @@
24
25
  "level": "must",
25
26
  "statement": "Keep DOM order meaningful; visual placement must not create a confusing keyboard or reading sequence."
26
27
  },
28
+ {
29
+ "id": "grid-spacing-values",
30
+ "level": "must",
31
+ "statement": "Use non-negative numeric factors for ordinary uniform and axis gaps; reserve explicit CSS values for measured exceptions or application spacing tokens, including inside responsive objects."
32
+ },
33
+ {
34
+ "id": "grid-semantic-list",
35
+ "level": "must",
36
+ "statement": "Use a semantic list host when the Grid children form a real set; do not add Block CSS to cancel native ul or ol margins, padding, or markers because Grid owns that host geometry."
37
+ },
27
38
  {
28
39
  "id": "grid-responsive-relationships",
29
40
  "level": "must",
@@ -45,6 +56,10 @@
45
56
  "mistake": "Keeping too many columns until cards become unreadably narrow.",
46
57
  "correction": "Reduce columns at the content's real minimum width, not at a device-name breakpoint."
47
58
  },
59
+ {
60
+ "mistake": "Adding local CSS only because a gap is outside the legacy zero-through-six token scale.",
61
+ "correction": "Use the supported numeric factor or explicit spacing value on gap, rowGap, or columnGap."
62
+ },
48
63
  {
49
64
  "mistake": "Combining a responsive Item span with explicit line placement.",
50
65
  "correction": "Let the responsive item auto-place, or keep one deliberate static line placement."
@@ -56,6 +71,8 @@
56
71
  ],
57
72
  "validation": [
58
73
  "Test intrinsic sizing, overflow, zoom, narrow widths, source order, and RTL.",
74
+ "Confirm numeric, explicit, axis-specific, and responsive gaps create the intended computed geometry.",
75
+ "For ul and ol hosts, confirm zero native margin and padding, no visual marker, and preserved list semantics.",
59
76
  "Confirm each child remains readable before and after track changes."
60
77
  ],
61
78
  "related": [
@@ -15,10 +15,13 @@ Arrange content on tokenized two-dimensional tracks with public column, row, gap
15
15
  ## Required composition
16
16
 
17
17
  - Choose Grid tracks from the minimum readable child size; use Grid.Item placement only when source order remains meaningful.
18
+ - Use as="ul" or as="ol" when the peers form a semantic list; Grid removes native list geometry while preserving the list relationship.
18
19
 
19
20
  ## Rules
20
21
 
21
22
  - **MUST:** Keep DOM order meaningful; visual placement must not create a confusing keyboard or reading sequence.
23
+ - **MUST:** Use non-negative numeric factors for ordinary uniform and axis gaps; reserve explicit CSS values for measured exceptions or application spacing tokens, including inside responsive objects.
24
+ - **MUST:** Use a semantic list host when the Grid children form a real set; do not add Block CSS to cancel native ul or ol margins, padding, or markers because Grid owns that host geometry.
22
25
  - **MUST:** Use responsive columns, gaps, unanchored spans, and alignment when the same authored Grid changes at Brick breakpoints; keep explicit line starts and ends static.
23
26
  - **MUST:** Use Grid.Item asChild when an existing link, Surface, or component should itself receive placement; provide exactly one element and preserve its native semantics.
24
27
  - **MUST:** Load styles.css or core.css plus grid.css.
@@ -26,12 +29,15 @@ Arrange content on tokenized two-dimensional tracks with public column, row, gap
26
29
  ## Common mistakes
27
30
 
28
31
  - **Avoid:** Keeping too many columns until cards become unreadably narrow. **Instead:** Reduce columns at the content's real minimum width, not at a device-name breakpoint.
32
+ - **Avoid:** Adding local CSS only because a gap is outside the legacy zero-through-six token scale. **Instead:** Use the supported numeric factor or explicit spacing value on gap, rowGap, or columnGap.
29
33
  - **Avoid:** Combining a responsive Item span with explicit line placement. **Instead:** Let the responsive item auto-place, or keep one deliberate static line placement.
30
34
  - **Avoid:** Adding a Grid.Item wrapper and height CSS around an element that should itself stretch as the grid item. **Instead:** Compose that one element with Grid.Item asChild.
31
35
 
32
36
  ## Validation checklist
33
37
 
34
38
  - Test intrinsic sizing, overflow, zoom, narrow widths, source order, and RTL.
39
+ - Confirm numeric, explicit, axis-specific, and responsive gaps create the intended computed geometry.
40
+ - For ul and ol hosts, confirm zero native margin and padding, no visual marker, and preserved list semantics.
35
41
  - Confirm each child remains readable before and after track changes.
36
42
 
37
43
  ## Related guidance
@@ -0,0 +1,77 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "group",
4
+ "name": "Group",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Create a compact inline visual cluster and optionally attach direct children without changing their semantics or keyboard behavior.",
9
+ "useWhen": [
10
+ "Direct children need shared outside corners and joined interior borders.",
11
+ "A small mixed set of controls or fields needs compact inline grouping."
12
+ ],
13
+ "avoidWhen": [
14
+ {
15
+ "condition": "The relationship needs responsive direction, wrapping, distribution, or ordinary block layout.",
16
+ "useInstead": "Stack/HStack/VStack"
17
+ },
18
+ {
19
+ "condition": "Commands need roving focus or items own pressed selection.",
20
+ "useInstead": "Toolbar or ToggleGroup"
21
+ },
22
+ {
23
+ "condition": "Tags, skills, social destinations, profile facts, or responsive actions form a content collection rather than one attached control silhouette.",
24
+ "useInstead": "List, Grid, DataList, or Stack"
25
+ }
26
+ ],
27
+ "composition": [
28
+ "Place the intended bordered elements as direct children. Apply variants, sizes, semantics, accessible names, and events to those children."
29
+ ],
30
+ "rules": [
31
+ {
32
+ "id": "group-attached-chain",
33
+ "level": "must",
34
+ "statement": "Use attached only for one unwrapped row or column whose direct children form one continuous visual silhouette."
35
+ },
36
+ {
37
+ "id": "group-semantics",
38
+ "level": "must",
39
+ "statement": "Author role=group and an accessible name only when the controls form a genuine accessibility relationship; Group adds neither by default."
40
+ },
41
+ {
42
+ "id": "group-no-behavior",
43
+ "level": "must",
44
+ "statement": "Keep keyboard behavior with the composed controls; Group never substitutes for Toolbar, ToggleGroup, or a form group."
45
+ },
46
+ {
47
+ "id": "group-not-content-collection",
48
+ "level": "must",
49
+ "statement": "Do not use Group for tags, skills, social destinations, profile facts, or responsive action rows; use List, Grid, DataList, or Stack unless direct children need one compact attached control silhouette."
50
+ },
51
+ {
52
+ "id": "group-css",
53
+ "level": "must",
54
+ "statement": "Load styles.css or core.css plus group.css and every composed child component stylesheet."
55
+ }
56
+ ],
57
+ "commonMistakes": [
58
+ {
59
+ "mistake": "Using HStack plus local negative margins, using Toolbar merely to join borders, or using Group as a generic wrapper for unrelated content.",
60
+ "correction": "Use Group only for the compact or attached direct-child relationship and select List, DataList, Grid, Stack, Toolbar, or ToggleGroup for the actual content or behavior."
61
+ }
62
+ ],
63
+ "validation": [
64
+ "Check direct-child structure, shared borders, outside logical corners, hover/focus stacking, visible focus rings, RTL, vertical orientation, zoom, forced colors, and narrow containment.",
65
+ "Confirm Group adds no role, name, selection, or keyboard behavior."
66
+ ],
67
+ "related": [
68
+ "stack",
69
+ "data-list",
70
+ "list",
71
+ "grid",
72
+ "button",
73
+ "icon-button",
74
+ "toolbar",
75
+ "toggle-group"
76
+ ]
77
+ }