@flowstack-ui/brick 0.1.6 → 0.1.11

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 (602) hide show
  1. package/README.md +13 -7
  2. package/dist/agents/accordion.json +17 -2
  3. package/dist/agents/accordion.md +5 -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/button.json +7 -2
  17. package/dist/agents/button.md +1 -1
  18. package/dist/agents/card.json +21 -1
  19. package/dist/agents/card.md +7 -1
  20. package/dist/agents/checkbox-group.json +108 -0
  21. package/dist/agents/checkbox-group.md +56 -0
  22. package/dist/agents/checkbox.json +6 -1
  23. package/dist/agents/chip.json +73 -0
  24. package/dist/agents/chip.md +44 -0
  25. package/dist/agents/code-block.json +76 -0
  26. package/dist/agents/code-block.md +47 -0
  27. package/dist/agents/code.json +67 -0
  28. package/dist/agents/code.md +42 -0
  29. package/dist/agents/collapsible.json +34 -3
  30. package/dist/agents/collapsible.md +10 -3
  31. package/dist/agents/color-picker.json +78 -0
  32. package/dist/agents/color-picker.md +46 -0
  33. package/dist/agents/color-swatch.json +51 -0
  34. package/dist/agents/color-swatch.md +36 -0
  35. package/dist/agents/combobox.json +95 -0
  36. package/dist/agents/combobox.md +51 -0
  37. package/dist/agents/context-menu.json +109 -0
  38. package/dist/agents/context-menu.md +54 -0
  39. package/dist/agents/coverage.json +24579 -0
  40. package/dist/agents/data-grid.json +127 -0
  41. package/dist/agents/data-grid.md +61 -0
  42. package/dist/agents/data-list.json +63 -0
  43. package/dist/agents/data-list.md +41 -0
  44. package/dist/agents/dialog.json +112 -0
  45. package/dist/agents/dialog.md +53 -0
  46. package/dist/agents/dropdown-menu.json +112 -0
  47. package/dist/agents/dropdown-menu.md +56 -0
  48. package/dist/agents/feed.json +84 -0
  49. package/dist/agents/feed.md +48 -0
  50. package/dist/agents/field.json +6 -1
  51. package/dist/agents/fieldset.json +6 -1
  52. package/dist/agents/file-upload.json +93 -0
  53. package/dist/agents/file-upload.md +50 -0
  54. package/dist/agents/form.json +11 -2
  55. package/dist/agents/form.md +2 -1
  56. package/dist/agents/grid.json +18 -1
  57. package/dist/agents/grid.md +6 -0
  58. package/dist/agents/group.json +77 -0
  59. package/dist/agents/group.md +48 -0
  60. package/dist/agents/hide.json +14 -0
  61. package/dist/agents/hide.md +3 -0
  62. package/dist/agents/hover-card.json +94 -0
  63. package/dist/agents/hover-card.md +51 -0
  64. package/dist/agents/icon-button.json +23 -12
  65. package/dist/agents/icon-button.md +12 -8
  66. package/dist/agents/image.json +33 -7
  67. package/dist/agents/image.md +11 -4
  68. package/dist/agents/input.json +7 -2
  69. package/dist/agents/input.md +1 -1
  70. package/dist/agents/interface-composition.json +216 -17
  71. package/dist/agents/interface-composition.md +7 -0
  72. package/dist/agents/layer-selection.json +1174 -11
  73. package/dist/agents/layer-selection.md +84 -1
  74. package/dist/agents/link-box.json +97 -0
  75. package/dist/agents/link-box.md +53 -0
  76. package/dist/agents/link.json +34 -5
  77. package/dist/agents/link.md +12 -2
  78. package/dist/agents/list.json +1 -1
  79. package/dist/agents/list.md +1 -1
  80. package/dist/agents/manifest.json +291 -2
  81. package/dist/agents/menubar.json +109 -0
  82. package/dist/agents/menubar.md +54 -0
  83. package/dist/agents/multi-select.json +93 -0
  84. package/dist/agents/multi-select.md +49 -0
  85. package/dist/agents/nav-list.json +15 -5
  86. package/dist/agents/nav-list.md +6 -4
  87. package/dist/agents/notification-badge.json +88 -0
  88. package/dist/agents/notification-badge.md +49 -0
  89. package/dist/agents/number-input.json +89 -0
  90. package/dist/agents/number-input.md +50 -0
  91. package/dist/agents/otp-field.json +87 -0
  92. package/dist/agents/otp-field.md +48 -0
  93. package/dist/agents/pagination.json +26 -5
  94. package/dist/agents/pagination.md +11 -4
  95. package/dist/agents/password-toggle-field.json +87 -0
  96. package/dist/agents/password-toggle-field.md +48 -0
  97. package/dist/agents/popover.json +114 -0
  98. package/dist/agents/popover.md +56 -0
  99. package/dist/agents/progress-circle.json +85 -0
  100. package/dist/agents/progress-circle.md +46 -0
  101. package/dist/agents/progress.json +91 -0
  102. package/dist/agents/progress.md +48 -0
  103. package/dist/agents/radio-group.json +92 -0
  104. package/dist/agents/radio-group.md +49 -0
  105. package/dist/agents/rating.json +91 -0
  106. package/dist/agents/rating.md +49 -0
  107. package/dist/agents/reorderable-list.json +74 -0
  108. package/dist/agents/reorderable-list.md +45 -0
  109. package/dist/agents/segment-group.json +62 -0
  110. package/dist/agents/segment-group.md +43 -0
  111. package/dist/agents/select.json +95 -0
  112. package/dist/agents/select.md +51 -0
  113. package/dist/agents/show.json +14 -0
  114. package/dist/agents/show.md +3 -0
  115. package/dist/agents/sidebar.json +16 -3
  116. package/dist/agents/sidebar.md +6 -1
  117. package/dist/agents/skeleton.json +73 -0
  118. package/dist/agents/skeleton.md +43 -0
  119. package/dist/agents/slider.json +88 -0
  120. package/dist/agents/slider.md +48 -0
  121. package/dist/agents/stack.json +19 -1
  122. package/dist/agents/stack.md +7 -0
  123. package/dist/agents/status.json +59 -0
  124. package/dist/agents/status.md +40 -0
  125. package/dist/agents/surface.json +42 -3
  126. package/dist/agents/surface.md +12 -2
  127. package/dist/agents/swipeable-item.json +93 -0
  128. package/dist/agents/swipeable-item.md +50 -0
  129. package/dist/agents/switch.json +92 -0
  130. package/dist/agents/switch.md +49 -0
  131. package/dist/agents/table.json +113 -0
  132. package/dist/agents/table.md +59 -0
  133. package/dist/agents/tabs.json +9 -2
  134. package/dist/agents/tabs.md +4 -1
  135. package/dist/agents/text.json +23 -8
  136. package/dist/agents/text.md +10 -7
  137. package/dist/agents/textarea.json +6 -1
  138. package/dist/agents/toast.json +91 -0
  139. package/dist/agents/toast.md +48 -0
  140. package/dist/agents/toggle-group.json +89 -0
  141. package/dist/agents/toggle-group.md +49 -0
  142. package/dist/agents/toggle.json +82 -0
  143. package/dist/agents/toggle.md +47 -0
  144. package/dist/agents/toolbar.json +11 -1
  145. package/dist/agents/toolbar.md +3 -1
  146. package/dist/agents/tooltip.json +96 -0
  147. package/dist/agents/tooltip.md +49 -0
  148. package/dist/agents/tree-grid.json +98 -0
  149. package/dist/agents/tree-grid.md +51 -0
  150. package/dist/agents/tree.json +94 -0
  151. package/dist/agents/tree.md +51 -0
  152. package/dist/agents/visually-hidden.json +70 -0
  153. package/dist/agents/visually-hidden.md +42 -0
  154. package/dist/agents/z-stack.json +21 -1
  155. package/dist/agents/z-stack.md +5 -0
  156. package/dist/bleed.d.ts +2 -0
  157. package/dist/bleed.d.ts.map +1 -0
  158. package/dist/bleed.js +2 -0
  159. package/dist/bleed.js.map +1 -0
  160. package/dist/color-picker.d.ts +2 -0
  161. package/dist/color-picker.d.ts.map +1 -0
  162. package/dist/color-picker.js +2 -0
  163. package/dist/color-picker.js.map +1 -0
  164. package/dist/color-swatch.d.ts +2 -0
  165. package/dist/color-swatch.d.ts.map +1 -0
  166. package/dist/color-swatch.js +2 -0
  167. package/dist/color-swatch.js.map +1 -0
  168. package/dist/components/_responsive-value/ResponsiveValue.d.ts.map +1 -1
  169. package/dist/components/_responsive-value/ResponsiveValue.js +3 -1
  170. package/dist/components/_responsive-value/ResponsiveValue.js.map +1 -1
  171. package/dist/components/_spacing-value/SpacingValue.d.ts +8 -0
  172. package/dist/components/_spacing-value/SpacingValue.d.ts.map +1 -0
  173. package/dist/components/_spacing-value/SpacingValue.js +46 -0
  174. package/dist/components/_spacing-value/SpacingValue.js.map +1 -0
  175. package/dist/components/accordion/Accordion.js +1 -1
  176. package/dist/components/app-bar/AppBar.d.ts +7 -3
  177. package/dist/components/app-bar/AppBar.d.ts.map +1 -1
  178. package/dist/components/app-bar/AppBar.js +2 -2
  179. package/dist/components/app-bar/AppBar.js.map +1 -1
  180. package/dist/components/app-bar/index.d.ts +1 -1
  181. package/dist/components/app-bar/index.d.ts.map +1 -1
  182. package/dist/components/app-bar/index.js.map +1 -1
  183. package/dist/components/avatar/Avatar.d.ts +1 -1
  184. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  185. package/dist/components/avatar/Avatar.js.map +1 -1
  186. package/dist/components/badge/Badge.d.ts +2 -2
  187. package/dist/components/badge/Badge.d.ts.map +1 -1
  188. package/dist/components/bleed/Bleed.d.ts +28 -0
  189. package/dist/components/bleed/Bleed.d.ts.map +1 -0
  190. package/dist/components/bleed/Bleed.js +92 -0
  191. package/dist/components/bleed/Bleed.js.map +1 -0
  192. package/dist/components/bleed/index.d.ts +2 -0
  193. package/dist/components/bleed/index.d.ts.map +1 -0
  194. package/dist/components/bleed/index.js +2 -0
  195. package/dist/components/bleed/index.js.map +1 -0
  196. package/dist/components/collapsible/Collapsible.d.ts +9 -3
  197. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  198. package/dist/components/collapsible/Collapsible.js +3 -3
  199. package/dist/components/collapsible/Collapsible.js.map +1 -1
  200. package/dist/components/color-picker/ColorPicker.d.ts +42 -0
  201. package/dist/components/color-picker/ColorPicker.d.ts.map +1 -0
  202. package/dist/components/color-picker/ColorPicker.js +52 -0
  203. package/dist/components/color-picker/ColorPicker.js.map +1 -0
  204. package/dist/components/color-picker/index.d.ts +2 -0
  205. package/dist/components/color-picker/index.d.ts.map +1 -0
  206. package/dist/components/color-picker/index.js +2 -0
  207. package/dist/components/color-picker/index.js.map +1 -0
  208. package/dist/components/color-swatch/ColorSwatch.d.ts +21 -0
  209. package/dist/components/color-swatch/ColorSwatch.d.ts.map +1 -0
  210. package/dist/components/color-swatch/ColorSwatch.js +25 -0
  211. package/dist/components/color-swatch/ColorSwatch.js.map +1 -0
  212. package/dist/components/color-swatch/index.d.ts +2 -0
  213. package/dist/components/color-swatch/index.d.ts.map +1 -0
  214. package/dist/components/color-swatch/index.js +2 -0
  215. package/dist/components/color-swatch/index.js.map +1 -0
  216. package/dist/components/data-list/DataList.d.ts +48 -0
  217. package/dist/components/data-list/DataList.d.ts.map +1 -0
  218. package/dist/components/data-list/DataList.js +31 -0
  219. package/dist/components/data-list/DataList.js.map +1 -0
  220. package/dist/components/data-list/index.d.ts +2 -0
  221. package/dist/components/data-list/index.d.ts.map +1 -0
  222. package/dist/components/data-list/index.js +2 -0
  223. package/dist/components/data-list/index.js.map +1 -0
  224. package/dist/components/feed/Feed.d.ts +2 -0
  225. package/dist/components/feed/Feed.d.ts.map +1 -1
  226. package/dist/components/feed/Feed.js +2 -2
  227. package/dist/components/feed/Feed.js.map +1 -1
  228. package/dist/components/feed/index.d.ts +1 -1
  229. package/dist/components/feed/index.d.ts.map +1 -1
  230. package/dist/components/grid/Grid.d.ts +3 -1
  231. package/dist/components/grid/Grid.d.ts.map +1 -1
  232. package/dist/components/grid/Grid.js +11 -1
  233. package/dist/components/grid/Grid.js.map +1 -1
  234. package/dist/components/grid/index.d.ts +1 -1
  235. package/dist/components/grid/index.d.ts.map +1 -1
  236. package/dist/components/grid/index.js.map +1 -1
  237. package/dist/components/group/Group.d.ts +19 -0
  238. package/dist/components/group/Group.d.ts.map +1 -0
  239. package/dist/components/group/Group.js +23 -0
  240. package/dist/components/group/Group.js.map +1 -0
  241. package/dist/components/group/index.d.ts +2 -0
  242. package/dist/components/group/index.d.ts.map +1 -0
  243. package/dist/components/group/index.js +2 -0
  244. package/dist/components/group/index.js.map +1 -0
  245. package/dist/components/link/Link.d.ts +1 -1
  246. package/dist/components/link/Link.d.ts.map +1 -1
  247. package/dist/components/link/Link.js +1 -1
  248. package/dist/components/link/Link.js.map +1 -1
  249. package/dist/components/link-box/LinkBox.d.ts +22 -0
  250. package/dist/components/link-box/LinkBox.d.ts.map +1 -0
  251. package/dist/components/link-box/LinkBox.js +30 -0
  252. package/dist/components/link-box/LinkBox.js.map +1 -0
  253. package/dist/components/link-box/index.d.ts +2 -0
  254. package/dist/components/link-box/index.d.ts.map +1 -0
  255. package/dist/components/link-box/index.js +2 -0
  256. package/dist/components/link-box/index.js.map +1 -0
  257. package/dist/components/nav-list/NavList.d.ts +15 -2
  258. package/dist/components/nav-list/NavList.d.ts.map +1 -1
  259. package/dist/components/nav-list/NavList.js +4 -3
  260. package/dist/components/nav-list/NavList.js.map +1 -1
  261. package/dist/components/pagination/Pagination.d.ts +9 -6
  262. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  263. package/dist/components/pagination/Pagination.js +2 -2
  264. package/dist/components/pagination/Pagination.js.map +1 -1
  265. package/dist/components/pagination/index.d.ts +1 -1
  266. package/dist/components/pagination/index.d.ts.map +1 -1
  267. package/dist/components/pagination/index.js.map +1 -1
  268. package/dist/components/popover/Popover.d.ts +3 -0
  269. package/dist/components/popover/Popover.d.ts.map +1 -1
  270. package/dist/components/popover/Popover.js +2 -2
  271. package/dist/components/popover/Popover.js.map +1 -1
  272. package/dist/components/popover/index.d.ts +1 -1
  273. package/dist/components/popover/index.d.ts.map +1 -1
  274. package/dist/components/popover/index.js.map +1 -1
  275. package/dist/components/rating/Rating.d.ts +37 -1
  276. package/dist/components/rating/Rating.d.ts.map +1 -1
  277. package/dist/components/rating/Rating.js +25 -2
  278. package/dist/components/rating/Rating.js.map +1 -1
  279. package/dist/components/rating/index.d.ts +1 -1
  280. package/dist/components/rating/index.d.ts.map +1 -1
  281. package/dist/components/rating/index.js +1 -1
  282. package/dist/components/rating/index.js.map +1 -1
  283. package/dist/components/reorderable-list/ReorderableList.d.ts +89 -0
  284. package/dist/components/reorderable-list/ReorderableList.d.ts.map +1 -0
  285. package/dist/components/reorderable-list/ReorderableList.js +54 -0
  286. package/dist/components/reorderable-list/ReorderableList.js.map +1 -0
  287. package/dist/components/reorderable-list/index.d.ts +2 -0
  288. package/dist/components/reorderable-list/index.d.ts.map +1 -0
  289. package/dist/components/reorderable-list/index.js +2 -0
  290. package/dist/components/reorderable-list/index.js.map +1 -0
  291. package/dist/components/segment-group/SegmentGroup.d.ts +30 -0
  292. package/dist/components/segment-group/SegmentGroup.d.ts.map +1 -0
  293. package/dist/components/segment-group/SegmentGroup.js +67 -0
  294. package/dist/components/segment-group/SegmentGroup.js.map +1 -0
  295. package/dist/components/segment-group/index.d.ts +2 -0
  296. package/dist/components/segment-group/index.d.ts.map +1 -0
  297. package/dist/components/segment-group/index.js +2 -0
  298. package/dist/components/segment-group/index.js.map +1 -0
  299. package/dist/components/show/Show.d.ts.map +1 -1
  300. package/dist/components/show/Show.js +7 -1
  301. package/dist/components/show/Show.js.map +1 -1
  302. package/dist/components/sidebar/Sidebar.d.ts +4 -0
  303. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  304. package/dist/components/sidebar/Sidebar.js +3 -2
  305. package/dist/components/sidebar/Sidebar.js.map +1 -1
  306. package/dist/components/slider/Slider.d.ts.map +1 -1
  307. package/dist/components/slider/Slider.js +3 -1
  308. package/dist/components/slider/Slider.js.map +1 -1
  309. package/dist/components/stack/Stack.d.ts +3 -1
  310. package/dist/components/stack/Stack.d.ts.map +1 -1
  311. package/dist/components/stack/Stack.js +9 -1
  312. package/dist/components/stack/Stack.js.map +1 -1
  313. package/dist/components/stack/index.d.ts +1 -1
  314. package/dist/components/stack/index.d.ts.map +1 -1
  315. package/dist/components/stack/index.js.map +1 -1
  316. package/dist/components/status/Status.d.ts +22 -0
  317. package/dist/components/status/Status.d.ts.map +1 -0
  318. package/dist/components/status/Status.js +23 -0
  319. package/dist/components/status/Status.js.map +1 -0
  320. package/dist/components/status/index.d.ts +2 -0
  321. package/dist/components/status/index.d.ts.map +1 -0
  322. package/dist/components/status/index.js +2 -0
  323. package/dist/components/status/index.js.map +1 -0
  324. package/dist/components/surface/Surface.d.ts +5 -2
  325. package/dist/components/surface/Surface.d.ts.map +1 -1
  326. package/dist/components/surface/Surface.js +4 -2
  327. package/dist/components/surface/Surface.js.map +1 -1
  328. package/dist/components/surface/index.d.ts +1 -1
  329. package/dist/components/surface/index.d.ts.map +1 -1
  330. package/dist/components/surface/index.js.map +1 -1
  331. package/dist/components/text/Text.d.ts +25 -4
  332. package/dist/components/text/Text.d.ts.map +1 -1
  333. package/dist/components/text/Text.js +22 -3
  334. package/dist/components/text/Text.js.map +1 -1
  335. package/dist/components/text/index.d.ts +1 -1
  336. package/dist/components/text/index.d.ts.map +1 -1
  337. package/dist/components/text/index.js +1 -1
  338. package/dist/components/text/index.js.map +1 -1
  339. package/dist/components/toggle/Toggle.d.ts +5 -0
  340. package/dist/components/toggle/Toggle.d.ts.map +1 -1
  341. package/dist/components/toggle/Toggle.js +2 -2
  342. package/dist/components/toggle/Toggle.js.map +1 -1
  343. package/dist/components/toggle/index.d.ts +1 -1
  344. package/dist/components/toggle/index.d.ts.map +1 -1
  345. package/dist/components/toggle/index.js.map +1 -1
  346. package/dist/components/toggle-group/ToggleGroup.d.ts +3 -1
  347. package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
  348. package/dist/components/toggle-group/ToggleGroup.js +2 -1
  349. package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
  350. package/dist/components/toolbar/Toolbar.d.ts +9 -2
  351. package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
  352. package/dist/components/toolbar/Toolbar.js +2 -2
  353. package/dist/components/toolbar/Toolbar.js.map +1 -1
  354. package/dist/components/toolbar/index.d.ts +1 -1
  355. package/dist/components/toolbar/index.d.ts.map +1 -1
  356. package/dist/components/z-stack/ZStack.d.ts +7 -0
  357. package/dist/components/z-stack/ZStack.d.ts.map +1 -1
  358. package/dist/components/z-stack/ZStack.js +14 -3
  359. package/dist/components/z-stack/ZStack.js.map +1 -1
  360. package/dist/components/z-stack/index.d.ts +1 -1
  361. package/dist/components/z-stack/index.d.ts.map +1 -1
  362. package/dist/components/z-stack/index.js.map +1 -1
  363. package/dist/data-list.d.ts +2 -0
  364. package/dist/data-list.d.ts.map +1 -0
  365. package/dist/data-list.js +2 -0
  366. package/dist/data-list.js.map +1 -0
  367. package/dist/feed.d.ts +1 -1
  368. package/dist/feed.d.ts.map +1 -1
  369. package/dist/grid.d.ts +1 -1
  370. package/dist/grid.d.ts.map +1 -1
  371. package/dist/grid.js.map +1 -1
  372. package/dist/group.d.ts +2 -0
  373. package/dist/group.d.ts.map +1 -0
  374. package/dist/group.js +2 -0
  375. package/dist/group.js.map +1 -0
  376. package/dist/index.d.ts +18 -8
  377. package/dist/index.d.ts.map +1 -1
  378. package/dist/index.js +10 -1
  379. package/dist/index.js.map +1 -1
  380. package/dist/link-box.d.ts +2 -0
  381. package/dist/link-box.d.ts.map +1 -0
  382. package/dist/link-box.js +2 -0
  383. package/dist/link-box.js.map +1 -0
  384. package/dist/reorderable-list.d.ts +2 -0
  385. package/dist/reorderable-list.d.ts.map +1 -0
  386. package/dist/reorderable-list.js +2 -0
  387. package/dist/reorderable-list.js.map +1 -0
  388. package/dist/reset.css +1 -1
  389. package/dist/reset.css.map +1 -1
  390. package/dist/segment-group.d.ts +2 -0
  391. package/dist/segment-group.d.ts.map +1 -0
  392. package/dist/segment-group.js +2 -0
  393. package/dist/segment-group.js.map +1 -0
  394. package/dist/stack.d.ts +1 -1
  395. package/dist/stack.d.ts.map +1 -1
  396. package/dist/stack.js.map +1 -1
  397. package/dist/status.d.ts +2 -0
  398. package/dist/status.d.ts.map +1 -0
  399. package/dist/status.js +2 -0
  400. package/dist/status.js.map +1 -0
  401. package/dist/styles/accordion.css +1 -1
  402. package/dist/styles/accordion.css.map +1 -1
  403. package/dist/styles/alert-dialog.css +1 -1
  404. package/dist/styles/alert-dialog.css.map +1 -1
  405. package/dist/styles/app-bar.css +1 -1
  406. package/dist/styles/app-bar.css.map +1 -1
  407. package/dist/styles/appearance.css +1 -1
  408. package/dist/styles/appearance.css.map +1 -1
  409. package/dist/styles/aspect-ratio.css +1 -1
  410. package/dist/styles/aspect-ratio.css.map +1 -1
  411. package/dist/styles/avatar.css +1 -1
  412. package/dist/styles/avatar.css.map +1 -1
  413. package/dist/styles/badge.css +1 -1
  414. package/dist/styles/badge.css.map +1 -1
  415. package/dist/styles/bleed.css +2 -0
  416. package/dist/styles/bleed.css.map +1 -0
  417. package/dist/styles/bottom-navigation.css +1 -1
  418. package/dist/styles/bottom-navigation.css.map +1 -1
  419. package/dist/styles/breadcrumb.css +1 -1
  420. package/dist/styles/breadcrumb.css.map +1 -1
  421. package/dist/styles/button.css +1 -1
  422. package/dist/styles/button.css.map +1 -1
  423. package/dist/styles/card.css +1 -1
  424. package/dist/styles/card.css.map +1 -1
  425. package/dist/styles/carousel.css +1 -1
  426. package/dist/styles/carousel.css.map +1 -1
  427. package/dist/styles/checkbox-group.css +1 -1
  428. package/dist/styles/checkbox-group.css.map +1 -1
  429. package/dist/styles/checkbox.css +1 -1
  430. package/dist/styles/checkbox.css.map +1 -1
  431. package/dist/styles/chip.css +1 -1
  432. package/dist/styles/chip.css.map +1 -1
  433. package/dist/styles/code-block.css +1 -1
  434. package/dist/styles/code-block.css.map +1 -1
  435. package/dist/styles/code.css +1 -1
  436. package/dist/styles/code.css.map +1 -1
  437. package/dist/styles/collapsible.css +1 -1
  438. package/dist/styles/collapsible.css.map +1 -1
  439. package/dist/styles/color-picker.css +2 -0
  440. package/dist/styles/color-picker.css.map +1 -0
  441. package/dist/styles/color-swatch.css +2 -0
  442. package/dist/styles/color-swatch.css.map +1 -0
  443. package/dist/styles/combobox.css +1 -1
  444. package/dist/styles/combobox.css.map +1 -1
  445. package/dist/styles/container.css +1 -1
  446. package/dist/styles/container.css.map +1 -1
  447. package/dist/styles/context-menu.css +1 -1
  448. package/dist/styles/context-menu.css.map +1 -1
  449. package/dist/styles/core.css +1 -1
  450. package/dist/styles/core.css.map +1 -1
  451. package/dist/styles/data-grid.css +1 -1
  452. package/dist/styles/data-grid.css.map +1 -1
  453. package/dist/styles/data-list.css +2 -0
  454. package/dist/styles/data-list.css.map +1 -0
  455. package/dist/styles/dialog.css +1 -1
  456. package/dist/styles/dialog.css.map +1 -1
  457. package/dist/styles/divider.css +1 -1
  458. package/dist/styles/divider.css.map +1 -1
  459. package/dist/styles/drawer.css +1 -1
  460. package/dist/styles/drawer.css.map +1 -1
  461. package/dist/styles/dropdown-menu.css +1 -1
  462. package/dist/styles/dropdown-menu.css.map +1 -1
  463. package/dist/styles/feed.css +1 -1
  464. package/dist/styles/feed.css.map +1 -1
  465. package/dist/styles/field.css +1 -1
  466. package/dist/styles/field.css.map +1 -1
  467. package/dist/styles/fieldset.css +1 -1
  468. package/dist/styles/fieldset.css.map +1 -1
  469. package/dist/styles/file-upload.css +1 -1
  470. package/dist/styles/file-upload.css.map +1 -1
  471. package/dist/styles/form.css +1 -1
  472. package/dist/styles/form.css.map +1 -1
  473. package/dist/styles/frame.css +1 -1
  474. package/dist/styles/frame.css.map +1 -1
  475. package/dist/styles/grid.css +1 -1
  476. package/dist/styles/grid.css.map +1 -1
  477. package/dist/styles/group.css +2 -0
  478. package/dist/styles/group.css.map +1 -0
  479. package/dist/styles/hide.css +1 -1
  480. package/dist/styles/hide.css.map +1 -1
  481. package/dist/styles/hover-card.css +1 -1
  482. package/dist/styles/hover-card.css.map +1 -1
  483. package/dist/styles/icon-button.css +1 -1
  484. package/dist/styles/icon-button.css.map +1 -1
  485. package/dist/styles/icon.css +1 -1
  486. package/dist/styles/icon.css.map +1 -1
  487. package/dist/styles/image.css +1 -1
  488. package/dist/styles/image.css.map +1 -1
  489. package/dist/styles/input.css +1 -1
  490. package/dist/styles/input.css.map +1 -1
  491. package/dist/styles/link-box.css +2 -0
  492. package/dist/styles/link-box.css.map +1 -0
  493. package/dist/styles/link.css +1 -1
  494. package/dist/styles/link.css.map +1 -1
  495. package/dist/styles/list.css +1 -1
  496. package/dist/styles/list.css.map +1 -1
  497. package/dist/styles/menubar.css +1 -1
  498. package/dist/styles/menubar.css.map +1 -1
  499. package/dist/styles/multi-select.css +1 -1
  500. package/dist/styles/multi-select.css.map +1 -1
  501. package/dist/styles/nav-list.css +1 -1
  502. package/dist/styles/nav-list.css.map +1 -1
  503. package/dist/styles/navigation-menu.css +1 -1
  504. package/dist/styles/navigation-menu.css.map +1 -1
  505. package/dist/styles/number-input.css +1 -1
  506. package/dist/styles/number-input.css.map +1 -1
  507. package/dist/styles/otp-field.css +1 -1
  508. package/dist/styles/otp-field.css.map +1 -1
  509. package/dist/styles/pagination.css +1 -1
  510. package/dist/styles/pagination.css.map +1 -1
  511. package/dist/styles/password-toggle-field.css +1 -1
  512. package/dist/styles/password-toggle-field.css.map +1 -1
  513. package/dist/styles/popover.css +1 -1
  514. package/dist/styles/popover.css.map +1 -1
  515. package/dist/styles/progress-circle.css +1 -1
  516. package/dist/styles/progress-circle.css.map +1 -1
  517. package/dist/styles/progress.css +1 -1
  518. package/dist/styles/progress.css.map +1 -1
  519. package/dist/styles/radio-group.css +1 -1
  520. package/dist/styles/radio-group.css.map +1 -1
  521. package/dist/styles/rating.css +1 -1
  522. package/dist/styles/rating.css.map +1 -1
  523. package/dist/styles/reorderable-list.css +2 -0
  524. package/dist/styles/reorderable-list.css.map +1 -0
  525. package/dist/styles/scroll-area.css +1 -1
  526. package/dist/styles/scroll-area.css.map +1 -1
  527. package/dist/styles/section.css +1 -1
  528. package/dist/styles/section.css.map +1 -1
  529. package/dist/styles/segment-group.css +2 -0
  530. package/dist/styles/segment-group.css.map +1 -0
  531. package/dist/styles/select.css +1 -1
  532. package/dist/styles/select.css.map +1 -1
  533. package/dist/styles/show.css +1 -1
  534. package/dist/styles/show.css.map +1 -1
  535. package/dist/styles/sidebar.css +1 -1
  536. package/dist/styles/sidebar.css.map +1 -1
  537. package/dist/styles/skeleton.css +1 -1
  538. package/dist/styles/skeleton.css.map +1 -1
  539. package/dist/styles/skip-link.css +1 -1
  540. package/dist/styles/skip-link.css.map +1 -1
  541. package/dist/styles/slider.css +1 -1
  542. package/dist/styles/slider.css.map +1 -1
  543. package/dist/styles/stack.css +1 -1
  544. package/dist/styles/stack.css.map +1 -1
  545. package/dist/styles/status.css +2 -0
  546. package/dist/styles/status.css.map +1 -0
  547. package/dist/styles/surface.css +1 -1
  548. package/dist/styles/surface.css.map +1 -1
  549. package/dist/styles/swipeable-item.css +1 -1
  550. package/dist/styles/swipeable-item.css.map +1 -1
  551. package/dist/styles/switch.css +1 -1
  552. package/dist/styles/switch.css.map +1 -1
  553. package/dist/styles/table.css +1 -1
  554. package/dist/styles/table.css.map +1 -1
  555. package/dist/styles/tabs.css +1 -1
  556. package/dist/styles/tabs.css.map +1 -1
  557. package/dist/styles/text.css +1 -1
  558. package/dist/styles/text.css.map +1 -1
  559. package/dist/styles/textarea.css +1 -1
  560. package/dist/styles/textarea.css.map +1 -1
  561. package/dist/styles/toast.css +1 -1
  562. package/dist/styles/toast.css.map +1 -1
  563. package/dist/styles/toggle-group.css +1 -1
  564. package/dist/styles/toggle-group.css.map +1 -1
  565. package/dist/styles/toggle.css +1 -1
  566. package/dist/styles/toggle.css.map +1 -1
  567. package/dist/styles/toolbar.css +1 -1
  568. package/dist/styles/toolbar.css.map +1 -1
  569. package/dist/styles/tooltip.css +1 -1
  570. package/dist/styles/tooltip.css.map +1 -1
  571. package/dist/styles/tree-grid.css +1 -1
  572. package/dist/styles/tree-grid.css.map +1 -1
  573. package/dist/styles/tree.css +1 -1
  574. package/dist/styles/tree.css.map +1 -1
  575. package/dist/styles/visually-hidden.css +1 -1
  576. package/dist/styles/visually-hidden.css.map +1 -1
  577. package/dist/styles/z-stack.css +1 -1
  578. package/dist/styles/z-stack.css.map +1 -1
  579. package/dist/styles.css +1 -1
  580. package/dist/styles.css.map +1 -1
  581. package/dist/surface.d.ts +1 -1
  582. package/dist/surface.d.ts.map +1 -1
  583. package/dist/surface.js.map +1 -1
  584. package/dist/text.d.ts +1 -1
  585. package/dist/text.d.ts.map +1 -1
  586. package/dist/text.js +1 -1
  587. package/dist/text.js.map +1 -1
  588. package/dist/theme-contract.json +26846 -0
  589. package/dist/toggle.d.ts +1 -1
  590. package/dist/toggle.d.ts.map +1 -1
  591. package/dist/toggle.js.map +1 -1
  592. package/dist/tokens.css +1 -1
  593. package/dist/tokens.css.map +1 -1
  594. package/dist/toolbar.d.ts +1 -1
  595. package/dist/toolbar.d.ts.map +1 -1
  596. package/docs/guides/agent-knowledge.md +19 -0
  597. package/docs/guides/appearance-and-tokens.md +16 -5
  598. package/docs/guides/browser-support.md +21 -0
  599. package/docs/guides/control-sizing.md +55 -0
  600. package/docs/guides/installation.md +5 -2
  601. package/docs/guides/theme-contract.md +86 -0
  602. package/package.json +51 -7
@@ -0,0 +1,44 @@
1
+ # Chip agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present one compact authored or selected value with an optional, explicitly named remove action.
6
+
7
+ ## Use when
8
+
9
+ - An applied filter, recipient, assignee, category, or other value already in application state needs compact presentation and may be removable.
10
+
11
+ ## Choose something else when
12
+
13
+ - The content is passive metadata or status with no removal action. Use Badge.
14
+ - The user is choosing or toggling a value rather than removing an existing one. Use Toggle, ToggleGroup, CheckboxGroup, or another matching selection control.
15
+
16
+ ## Required composition
17
+
18
+ - Compose Root with Label and include RemoveTrigger only when the surrounding application can remove that value; give every RemoveTrigger a value-specific ariaLabel and onPress handler.
19
+
20
+ ## Rules
21
+
22
+ - **MUST:** Keep Root noninteractive; RemoveTrigger is the only removal control, so clicking the label does not silently perform the action.
23
+ - **MUST:** Name every RemoveTrigger with the value and action, such as ariaLabel="Remove Men filter"; never expose an unlabeled close icon.
24
+ - **MUST:** Treat onPress as a removal request; the parent owns state mutation, URL synchronization, focus recovery, and announcements.
25
+ - **MUST:** Keep the only removal action visible and operable at narrow widths, zoom, and increased text size.
26
+ - **MUST:** Load styles.css or core.css plus chip.css.
27
+
28
+ ## Common mistakes
29
+
30
+ - **Avoid:** Using one Button for the complete chip so selecting the label removes the value, or adding a decorative x with no accessible action name. **Instead:** Use passive Chip.Root and Chip.Label with a separately named Chip.RemoveTrigger.
31
+ - **Avoid:** Using Chip as a complete editable token-entry system with automatic keyboard deletion and focus movement. **Instead:** Keep standalone Chip parent-controlled and use an Atom-backed collection owner when token-entry behavior is required.
32
+
33
+ ## Validation checklist
34
+
35
+ - Check visible label, value-specific removal name, mouse and keyboard activation, disabled treatment, focus visibility, and parent-owned removal.
36
+ - Check narrow widths, zoom, long labels, RTL, forced colors, touch targeting, and CSS delivery.
37
+
38
+ ## Related guidance
39
+
40
+ - `badge`
41
+ - `button`
42
+ - `toggle`
43
+ - `toggle-group`
44
+ - `checkbox-group`
@@ -0,0 +1,76 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "code-block",
4
+ "name": "Code Block",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Present preserved multi-line technical source with native scrolling, explicit metadata, optional copy behavior, and consumer-owned syntax highlighting.",
9
+ "useWhen": [
10
+ "Source examples, configuration, commands, generated markup, or other preserved multi-line technical content need a finished readable surface."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "A short technical literal belongs inside prose.",
15
+ "useInstead": "Code"
16
+ },
17
+ {
18
+ "condition": "The source must be edited, executed, or behave like a terminal.",
19
+ "useInstead": "an application-owned editor, sandbox, or terminal"
20
+ }
21
+ ],
22
+ "composition": [
23
+ "Pass the exact plain-text source to Root value, then place Content inside Root and give focusable Content a specific accessible label.",
24
+ "Author Header, Title, Language, Actions, CopyTrigger, CopyStatus, and CopyIndicator only when the interface needs those optional parts.",
25
+ "For syntax highlighting, generate trusted React token nodes outside Brick and pass them to Content while keeping Root value identical to the plain text that must be copied.",
26
+ "Give the Code Block a bounded parent when vertical page or panel layout requires a fixed scrolling region; Content owns the code's horizontal overflow."
27
+ ],
28
+ "rules": [
29
+ {
30
+ "id": "code-block-copy-source",
31
+ "level": "must",
32
+ "statement": "Keep Root value authoritative and exactly aligned with rendered highlighted content so copy behavior never depends on rendered textContent."
33
+ },
34
+ {
35
+ "id": "code-block-highlighting-owner",
36
+ "level": "must",
37
+ "statement": "Keep tokenization, language loading, and syntax palettes in a consumer adapter; Brick accepts trusted React nodes and does not bundle a highlighter or unsafe HTML path."
38
+ },
39
+ {
40
+ "id": "code-block-scroll-owner",
41
+ "level": "must",
42
+ "statement": "Let Content own canonical pre, code, focus, and horizontal scrolling instead of rebuilding them with a separate ScrollArea or native pre element."
43
+ },
44
+ {
45
+ "id": "code-block-accessible-name",
46
+ "level": "must",
47
+ "statement": "Give every focusable Content region a specific aria-label or aria-labelledby, especially when several examples share one page."
48
+ },
49
+ {
50
+ "id": "code-block-css",
51
+ "level": "must",
52
+ "statement": "Load styles.css or core.css plus code-block.css and its documented component dependencies."
53
+ }
54
+ ],
55
+ "commonMistakes": [
56
+ {
57
+ "mistake": "Rendering highlighted HTML with dangerouslySetInnerHTML, copying from token text, or nesting another pre and ScrollArea inside Content.",
58
+ "correction": "Render trusted React token spans, preserve the original string in Root value, and let Content own the canonical code viewport."
59
+ },
60
+ {
61
+ "mistake": "Adding a header, language label, copy action, or status region merely because those parts exist.",
62
+ "correction": "Author only the optional anatomy required by the surrounding interface."
63
+ }
64
+ ],
65
+ "validation": [
66
+ "Confirm the rendered tokens and copied plain text match exactly, unsafe HTML is absent, and copy success, failure, concurrency, and status wording remain truthful when copy anatomy is present.",
67
+ "Check keyboard focus, uniquely named overflow landmarks, long-line scrolling or wrapping, mobile text sizing, zoom, selection, RTL/LTR, light and dark syntax contrast, and CSS delivery."
68
+ ],
69
+ "related": [
70
+ "code",
71
+ "scroll-area",
72
+ "button",
73
+ "tabs",
74
+ "interface-composition"
75
+ ]
76
+ }
@@ -0,0 +1,47 @@
1
+ # Code Block agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present preserved multi-line technical source with native scrolling, explicit metadata, optional copy behavior, and consumer-owned syntax highlighting.
6
+
7
+ ## Use when
8
+
9
+ - Source examples, configuration, commands, generated markup, or other preserved multi-line technical content need a finished readable surface.
10
+
11
+ ## Choose something else when
12
+
13
+ - A short technical literal belongs inside prose. Use Code.
14
+ - The source must be edited, executed, or behave like a terminal. Use an application-owned editor, sandbox, or terminal.
15
+
16
+ ## Required composition
17
+
18
+ - Pass the exact plain-text source to Root value, then place Content inside Root and give focusable Content a specific accessible label.
19
+ - Author Header, Title, Language, Actions, CopyTrigger, CopyStatus, and CopyIndicator only when the interface needs those optional parts.
20
+ - For syntax highlighting, generate trusted React token nodes outside Brick and pass them to Content while keeping Root value identical to the plain text that must be copied.
21
+ - Give the Code Block a bounded parent when vertical page or panel layout requires a fixed scrolling region; Content owns the code's horizontal overflow.
22
+
23
+ ## Rules
24
+
25
+ - **MUST:** Keep Root value authoritative and exactly aligned with rendered highlighted content so copy behavior never depends on rendered textContent.
26
+ - **MUST:** Keep tokenization, language loading, and syntax palettes in a consumer adapter; Brick accepts trusted React nodes and does not bundle a highlighter or unsafe HTML path.
27
+ - **MUST:** Let Content own canonical pre, code, focus, and horizontal scrolling instead of rebuilding them with a separate ScrollArea or native pre element.
28
+ - **MUST:** Give every focusable Content region a specific aria-label or aria-labelledby, especially when several examples share one page.
29
+ - **MUST:** Load styles.css or core.css plus code-block.css and its documented component dependencies.
30
+
31
+ ## Common mistakes
32
+
33
+ - **Avoid:** Rendering highlighted HTML with dangerouslySetInnerHTML, copying from token text, or nesting another pre and ScrollArea inside Content. **Instead:** Render trusted React token spans, preserve the original string in Root value, and let Content own the canonical code viewport.
34
+ - **Avoid:** Adding a header, language label, copy action, or status region merely because those parts exist. **Instead:** Author only the optional anatomy required by the surrounding interface.
35
+
36
+ ## Validation checklist
37
+
38
+ - Confirm the rendered tokens and copied plain text match exactly, unsafe HTML is absent, and copy success, failure, concurrency, and status wording remain truthful when copy anatomy is present.
39
+ - Check keyboard focus, uniquely named overflow landmarks, long-line scrolling or wrapping, mobile text sizing, zoom, selection, RTL/LTR, light and dark syntax contrast, and CSS delivery.
40
+
41
+ ## Related guidance
42
+
43
+ - `code`
44
+ - `scroll-area`
45
+ - `button`
46
+ - `tabs`
47
+ - `interface-composition`
@@ -0,0 +1,67 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "code",
4
+ "name": "Code",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Present a short inline technical literal with native code semantics and a finished Brick technical-text recipe.",
9
+ "useWhen": [
10
+ "A short identifier, attribute, command, filename, value, or API name belongs inside prose or a compact label."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "The source is multi-line, preserves whitespace, needs language metadata, or may scroll.",
15
+ "useInstead": "Code Block"
16
+ },
17
+ {
18
+ "condition": "The content represents keyboard input, computer output, a variable, editable source, or executable source.",
19
+ "useInstead": "the correct native semantic element or an application-owned editor, terminal, or sandbox"
20
+ }
21
+ ],
22
+ "composition": [
23
+ "Keep Code inside the surrounding Text or component content owner when the literal completes that sentence or label.",
24
+ "Choose subtle for an independently visible inline token and plain with tone inherit when the surrounding component already owns paint and foreground."
25
+ ],
26
+ "rules": [
27
+ {
28
+ "id": "code-native-semantics",
29
+ "level": "must",
30
+ "statement": "Use Code only for a short computer-code fragment and preserve its one native code host; do not select it merely to obtain monospace typography."
31
+ },
32
+ {
33
+ "id": "code-inline-boundary",
34
+ "level": "must",
35
+ "statement": "Keep Code inline with the prose or compact label it completes and use Code Block for multi-line or overflow-owned technical source."
36
+ },
37
+ {
38
+ "id": "code-recipe-selection",
39
+ "level": "must",
40
+ "statement": "Choose variant, tone, and size through the closed Code recipes before overriding public variables; use tone inherit when a parent intentionally owns foreground contrast."
41
+ },
42
+ {
43
+ "id": "code-css",
44
+ "level": "must",
45
+ "statement": "Load styles.css or core.css plus code.css."
46
+ }
47
+ ],
48
+ "commonMistakes": [
49
+ {
50
+ "mistake": "Using generic Text or a native span with monospace CSS for a real technical literal.",
51
+ "correction": "Use Code so the literal keeps native code semantics and the shared Brick technical recipe."
52
+ },
53
+ {
54
+ "mistake": "Putting a complete diff, command transcript, or configuration example inside Code.",
55
+ "correction": "Use Code Block so preserved whitespace, naming, focus, and overflow have one explicit owner."
56
+ }
57
+ ],
58
+ "validation": [
59
+ "Confirm one native code element, correct surrounding sentence flow, safe wrapping of long tokens, and no unintended block or scroll behavior.",
60
+ "Check inherited typography, subtle and plain recipes, light and dark appearances, forced colors, zoom, localization, RTL/bidi content, and CSS delivery."
61
+ ],
62
+ "related": [
63
+ "code-block",
64
+ "text",
65
+ "interface-composition"
66
+ ]
67
+ }
@@ -0,0 +1,42 @@
1
+ # Code agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present a short inline technical literal with native code semantics and a finished Brick technical-text recipe.
6
+
7
+ ## Use when
8
+
9
+ - A short identifier, attribute, command, filename, value, or API name belongs inside prose or a compact label.
10
+
11
+ ## Choose something else when
12
+
13
+ - The source is multi-line, preserves whitespace, needs language metadata, or may scroll. Use Code Block.
14
+ - The content represents keyboard input, computer output, a variable, editable source, or executable source. Use the correct native semantic element or an application-owned editor, terminal, or sandbox.
15
+
16
+ ## Required composition
17
+
18
+ - Keep Code inside the surrounding Text or component content owner when the literal completes that sentence or label.
19
+ - Choose subtle for an independently visible inline token and plain with tone inherit when the surrounding component already owns paint and foreground.
20
+
21
+ ## Rules
22
+
23
+ - **MUST:** Use Code only for a short computer-code fragment and preserve its one native code host; do not select it merely to obtain monospace typography.
24
+ - **MUST:** Keep Code inline with the prose or compact label it completes and use Code Block for multi-line or overflow-owned technical source.
25
+ - **MUST:** Choose variant, tone, and size through the closed Code recipes before overriding public variables; use tone inherit when a parent intentionally owns foreground contrast.
26
+ - **MUST:** Load styles.css or core.css plus code.css.
27
+
28
+ ## Common mistakes
29
+
30
+ - **Avoid:** Using generic Text or a native span with monospace CSS for a real technical literal. **Instead:** Use Code so the literal keeps native code semantics and the shared Brick technical recipe.
31
+ - **Avoid:** Putting a complete diff, command transcript, or configuration example inside Code. **Instead:** Use Code Block so preserved whitespace, naming, focus, and overflow have one explicit owner.
32
+
33
+ ## Validation checklist
34
+
35
+ - Confirm one native code element, correct surrounding sentence flow, safe wrapping of long tokens, and no unintended block or scroll behavior.
36
+ - Check inherited typography, subtle and plain recipes, light and dark appearances, forced colors, zoom, localization, RTL/bidi content, and CSS delivery.
37
+
38
+ ## Related guidance
39
+
40
+ - `code-block`
41
+ - `text`
42
+ - `interface-composition`
@@ -21,7 +21,8 @@
21
21
  ],
22
22
  "composition": [
23
23
  "Compose Root with one Trigger and one Content; put ContentInner inside Content so visible padding does not corrupt measured animation geometry.",
24
- "Use Indicator inside Trigger for the canonical decorative state cue; normal Brick layout and content components belong inside ContentInner."
24
+ "Use Indicator inside Trigger for the canonical decorative state cue; the default points down while closed and up while open, and normal Brick layout and content components belong inside ContentInner.",
25
+ "Use Trigger iconOnly for a square, centered disclosure control; give it a complete accessible name and let the Root size own its target."
25
26
  ],
26
27
  "rules": [
27
28
  {
@@ -44,10 +45,30 @@
44
45
  "level": "must",
45
46
  "statement": "Use Collapsible for in-flow disclosure, not as a substitute for modal Drawer behavior or responsive Show/Hide policy."
46
47
  },
48
+ {
49
+ "id": "collapsible-presence",
50
+ "level": "must",
51
+ "statement": "Leave keepMounted false unless retained DOM or exit animation is required; when enabled, preserve Atom's closed hidden state and never expose retained descendants to interaction."
52
+ },
53
+ {
54
+ "id": "collapsible-live-measurement",
55
+ "level": "must",
56
+ "statement": "Consume Atom's live content width and height variables for Brick motion across responsive reflow and intrinsic content changes; never hard-code a stale measured dimension or animate a competing wrapper."
57
+ },
47
58
  {
48
59
  "id": "collapsible-css",
49
60
  "level": "must",
50
61
  "statement": "Load styles.css or core.css plus collapsible.css."
62
+ },
63
+ {
64
+ "id": "collapsible-indicator-direction",
65
+ "level": "must",
66
+ "statement": "Keep the default Indicator pointing down while closed and up while open in both LTR and RTL; use custom decorative artwork only for a deliberate alternate state language."
67
+ },
68
+ {
69
+ "id": "collapsible-icon-only",
70
+ "level": "must",
71
+ "statement": "Use Trigger iconOnly instead of sizing a general Trigger with layout wrappers when the disclosure control contains only artwork."
51
72
  }
52
73
  ],
53
74
  "commonMistakes": [
@@ -55,6 +76,10 @@
55
76
  "mistake": "Using Collapsible Trigger asChild around a finished Button or Icon Button.",
56
77
  "correction": "Use Trigger as the only visual control owner and author its label, icon, and optional Indicator directly."
57
78
  },
79
+ {
80
+ "mistake": "Forcing a normal Trigger into a square with Frame or local alignment CSS.",
81
+ "correction": "Use Trigger iconOnly so its Root size supplies square geometry and centered artwork."
82
+ },
58
83
  {
59
84
  "mistake": "Putting padding on Content or animating an application wrapper independently.",
60
85
  "correction": "Keep Content as the measured motion boundary and put visible spacing in ContentInner."
@@ -65,11 +90,17 @@
65
90
  }
66
91
  ],
67
92
  "validation": [
68
- "Test the accessible Trigger name, aria-expanded/aria-controls relationship, Enter and Space, controlled and uncontrolled state, disabled behavior, and focus retention.",
69
- "Test open/close measurement, dynamic content, reduced motion, long labels, narrow widths, RTL, and horizontal overflow.",
93
+ "Test the accessible Trigger name, aria-expanded/aria-controls relationship, Enter and Space, controlled and uncontrolled state, disabled behavior, focus retention, the default down/up Indicator state, and icon-only centering.",
94
+ "Test default unmount, keepMounted hidden descendants, initial-open state, open/close measurement, dynamic and responsive width/height changes, exit presence, reduced motion, long labels, narrow widths, RTL, and horizontal overflow without unintended page-load entrance motion.",
70
95
  "When adapting Collapsible inside another surface, report any Root geometry override instead of silently treating plain as a behavior-only recipe."
71
96
  ],
72
97
  "related": [
98
+ {
99
+ "kind": "package",
100
+ "package": "@flowstack-ui/atom",
101
+ "id": "collapsible",
102
+ "versionPolicy": "installed-exact"
103
+ },
73
104
  "accordion",
74
105
  "drawer",
75
106
  "app-bar",
@@ -16,7 +16,8 @@ Reveal one independent in-flow region while Atom owns disclosure state, relation
16
16
  ## Required composition
17
17
 
18
18
  - Compose Root with one Trigger and one Content; put ContentInner inside Content so visible padding does not corrupt measured animation geometry.
19
- - Use Indicator inside Trigger for the canonical decorative state cue; normal Brick layout and content components belong inside ContentInner.
19
+ - Use Indicator inside Trigger for the canonical decorative state cue; the default points down while closed and up while open, and normal Brick layout and content components belong inside ContentInner.
20
+ - Use Trigger iconOnly for a square, centered disclosure control; give it a complete accessible name and let the Root size own its target.
20
21
 
21
22
  ## Rules
22
23
 
@@ -24,22 +25,28 @@ Reveal one independent in-flow region while Atom owns disclosure state, relation
24
25
  - **MUST:** Let Collapsible Trigger own its finished control recipe; do not compose Button or Icon Button into Trigger because competing visual recipes would own one element.
25
26
  - **MUST:** Keep visible padding in ContentInner rather than Content so Atom can measure and animate the region accurately.
26
27
  - **MUST:** Use Collapsible for in-flow disclosure, not as a substitute for modal Drawer behavior or responsive Show/Hide policy.
28
+ - **MUST:** Leave keepMounted false unless retained DOM or exit animation is required; when enabled, preserve Atom's closed hidden state and never expose retained descendants to interaction.
29
+ - **MUST:** Consume Atom's live content width and height variables for Brick motion across responsive reflow and intrinsic content changes; never hard-code a stale measured dimension or animate a competing wrapper.
27
30
  - **MUST:** Load styles.css or core.css plus collapsible.css.
31
+ - **MUST:** Keep the default Indicator pointing down while closed and up while open in both LTR and RTL; use custom decorative artwork only for a deliberate alternate state language.
32
+ - **MUST:** Use Trigger iconOnly instead of sizing a general Trigger with layout wrappers when the disclosure control contains only artwork.
28
33
 
29
34
  ## Common mistakes
30
35
 
31
36
  - **Avoid:** Using Collapsible Trigger asChild around a finished Button or Icon Button. **Instead:** Use Trigger as the only visual control owner and author its label, icon, and optional Indicator directly.
37
+ - **Avoid:** Forcing a normal Trigger into a square with Frame or local alignment CSS. **Instead:** Use Trigger iconOnly so its Root size supplies square geometry and centered artwork.
32
38
  - **Avoid:** Putting padding on Content or animating an application wrapper independently. **Instead:** Keep Content as the measured motion boundary and put visible spacing in ContentInner.
33
39
  - **Avoid:** Choosing Collapsible when the page must be inert behind the open panel. **Instead:** Use Drawer or Dialog so Atom can own modal isolation, focus, dismissal, and scroll locking.
34
40
 
35
41
  ## Validation checklist
36
42
 
37
- - Test the accessible Trigger name, aria-expanded/aria-controls relationship, Enter and Space, controlled and uncontrolled state, disabled behavior, and focus retention.
38
- - Test open/close measurement, dynamic content, reduced motion, long labels, narrow widths, RTL, and horizontal overflow.
43
+ - Test the accessible Trigger name, aria-expanded/aria-controls relationship, Enter and Space, controlled and uncontrolled state, disabled behavior, focus retention, the default down/up Indicator state, and icon-only centering.
44
+ - Test default unmount, keepMounted hidden descendants, initial-open state, open/close measurement, dynamic and responsive width/height changes, exit presence, reduced motion, long labels, narrow widths, RTL, and horizontal overflow without unintended page-load entrance motion.
39
45
  - When adapting Collapsible inside another surface, report any Root geometry override instead of silently treating plain as a behavior-only recipe.
40
46
 
41
47
  ## Related guidance
42
48
 
49
+ - `@flowstack-ui/atom/agents/collapsible`
43
50
  - `accordion`
44
51
  - `drawer`
45
52
  - `app-bar`
@@ -0,0 +1,78 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "color-picker",
4
+ "name": "Color Picker",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Edit, choose, and submit an opaque hexadecimal color through a finished text, native chooser, preset, or optional floating composition.",
9
+ "useWhen": [
10
+ "A form needs one #rrggbb color value selected through editable text, the browser chooser, named presets, or a popover that combines them."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "The interface only previews a color.",
15
+ "useInstead": "Color Swatch"
16
+ },
17
+ {
18
+ "condition": "The task requires alpha, gradients, color-space conversion, channels, an eyedropper, or contrast analysis.",
19
+ "useInstead": "an application-owned specialist until Atom releases that behavior"
20
+ }
21
+ ],
22
+ "composition": [
23
+ "Place Label and Control inside Root; include HiddenInput when the value participates in native form submission.",
24
+ "Compose Trigger with Content for a floating picker, or omit both for inline editing.",
25
+ "Put ColorSwatch.Root inside Trigger and SwatchTrigger for finished previews while the surrounding control carries the accessible name and selected state."
26
+ ],
27
+ "rules": [
28
+ {
29
+ "id": "color-picker-label",
30
+ "level": "must",
31
+ "statement": "Give Input and NativeInput accessible names through Label or explicit aria-label values."
32
+ },
33
+ {
34
+ "id": "color-picker-form",
35
+ "level": "must",
36
+ "statement": "Provide name to Root and render exactly one HiddenInput when the color must submit."
37
+ },
38
+ {
39
+ "id": "color-picker-hex",
40
+ "level": "must",
41
+ "statement": "Use #rgb or #rrggbb; this release intentionally supports opaque hexadecimal values only."
42
+ },
43
+ {
44
+ "id": "color-picker-css",
45
+ "level": "must",
46
+ "statement": "Load styles.css, or core.css plus both color-picker.css and color-swatch.css when swatches are composed."
47
+ },
48
+ {
49
+ "id": "color-picker-preset-name",
50
+ "level": "should",
51
+ "statement": "Give presets human-readable names; do not rely on color alone or a raw hex string when a product name exists."
52
+ }
53
+ ],
54
+ "commonMistakes": [
55
+ {
56
+ "mistake": "Reimplementing color parsing, picker state, or Popover behavior in Brick or application code.",
57
+ "correction": "Use the Atom-backed ColorPicker parts and controlled props."
58
+ },
59
+ {
60
+ "mistake": "Naming both Input and HiddenInput for form submission.",
61
+ "correction": "Put name on Root and render one HiddenInput."
62
+ },
63
+ {
64
+ "mistake": "Assuming Chakra's area, alpha, channel, format, or eyedropper parts exist.",
65
+ "correction": "Stay within the released Brick anatomy and treat richer behavior as Atom-first future work."
66
+ }
67
+ ],
68
+ "validation": [
69
+ "Test text, native, preset, controlled, disabled, read-only, invalid, form submit/reset, Escape/focus restoration, light/dark, forced-colors, narrow/zoom, RTL, and non-color selection cues."
70
+ ],
71
+ "related": [
72
+ "color-swatch",
73
+ "field",
74
+ "form",
75
+ "input",
76
+ "popover"
77
+ ]
78
+ }
@@ -0,0 +1,46 @@
1
+ # Color Picker agent guide
2
+
3
+ ## Purpose
4
+
5
+ Edit, choose, and submit an opaque hexadecimal color through a finished text, native chooser, preset, or optional floating composition.
6
+
7
+ ## Use when
8
+
9
+ - A form needs one #rrggbb color value selected through editable text, the browser chooser, named presets, or a popover that combines them.
10
+
11
+ ## Choose something else when
12
+
13
+ - The interface only previews a color. Use Color Swatch.
14
+ - The task requires alpha, gradients, color-space conversion, channels, an eyedropper, or contrast analysis. Use an application-owned specialist until Atom releases that behavior.
15
+
16
+ ## Required composition
17
+
18
+ - Place Label and Control inside Root; include HiddenInput when the value participates in native form submission.
19
+ - Compose Trigger with Content for a floating picker, or omit both for inline editing.
20
+ - Put ColorSwatch.Root inside Trigger and SwatchTrigger for finished previews while the surrounding control carries the accessible name and selected state.
21
+
22
+ ## Rules
23
+
24
+ - **MUST:** Give Input and NativeInput accessible names through Label or explicit aria-label values.
25
+ - **MUST:** Provide name to Root and render exactly one HiddenInput when the color must submit.
26
+ - **MUST:** Use #rgb or #rrggbb; this release intentionally supports opaque hexadecimal values only.
27
+ - **MUST:** Load styles.css, or core.css plus both color-picker.css and color-swatch.css when swatches are composed.
28
+ - **SHOULD:** Give presets human-readable names; do not rely on color alone or a raw hex string when a product name exists.
29
+
30
+ ## Common mistakes
31
+
32
+ - **Avoid:** Reimplementing color parsing, picker state, or Popover behavior in Brick or application code. **Instead:** Use the Atom-backed ColorPicker parts and controlled props.
33
+ - **Avoid:** Naming both Input and HiddenInput for form submission. **Instead:** Put name on Root and render one HiddenInput.
34
+ - **Avoid:** Assuming Chakra's area, alpha, channel, format, or eyedropper parts exist. **Instead:** Stay within the released Brick anatomy and treat richer behavior as Atom-first future work.
35
+
36
+ ## Validation checklist
37
+
38
+ - Test text, native, preset, controlled, disabled, read-only, invalid, form submit/reset, Escape/focus restoration, light/dark, forced-colors, narrow/zoom, RTL, and non-color selection cues.
39
+
40
+ ## Related guidance
41
+
42
+ - `color-swatch`
43
+ - `field`
44
+ - `form`
45
+ - `input`
46
+ - `popover`
@@ -0,0 +1,51 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "color-swatch",
4
+ "name": "Color Swatch",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Preview one color or a compact mix of colors with a finished alpha-aware visual treatment.",
9
+ "useWhen": [
10
+ "A selected, available, saved, or documented color needs a compact visual preview."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "The user must choose or edit a color.",
15
+ "useInstead": "Color Picker"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Render Root for one color and Mix for two or more colors; place the swatch inside the owning control when it represents a selectable option."
20
+ ],
21
+ "rules": [
22
+ {
23
+ "id": "color-swatch-meaning",
24
+ "level": "must",
25
+ "statement": "Do not use the swatch as the only carrier of a color name, selection state, validation state, or action."
26
+ },
27
+ {
28
+ "id": "color-swatch-semantics",
29
+ "level": "must",
30
+ "statement": "Leave decorative swatches unlabeled, or provide label when the swatch itself must be exposed as an image."
31
+ },
32
+ {
33
+ "id": "color-swatch-css",
34
+ "level": "must",
35
+ "statement": "Load styles.css or core.css plus color-swatch.css."
36
+ }
37
+ ],
38
+ "commonMistakes": [
39
+ {
40
+ "mistake": "Adding click handlers directly to ColorSwatch.",
41
+ "correction": "Place the passive swatch inside Button, Color Picker preset behavior, or another semantic control."
42
+ }
43
+ ],
44
+ "validation": [
45
+ "Check solid, alpha, mixed, size, light/dark, forced-color, zoom, RTL, and decorative versus labeled semantics."
46
+ ],
47
+ "related": [
48
+ "badge",
49
+ "input"
50
+ ]
51
+ }
@@ -0,0 +1,36 @@
1
+ # Color Swatch agent guide
2
+
3
+ ## Purpose
4
+
5
+ Preview one color or a compact mix of colors with a finished alpha-aware visual treatment.
6
+
7
+ ## Use when
8
+
9
+ - A selected, available, saved, or documented color needs a compact visual preview.
10
+
11
+ ## Choose something else when
12
+
13
+ - The user must choose or edit a color. Use Color Picker.
14
+
15
+ ## Required composition
16
+
17
+ - Render Root for one color and Mix for two or more colors; place the swatch inside the owning control when it represents a selectable option.
18
+
19
+ ## Rules
20
+
21
+ - **MUST:** Do not use the swatch as the only carrier of a color name, selection state, validation state, or action.
22
+ - **MUST:** Leave decorative swatches unlabeled, or provide label when the swatch itself must be exposed as an image.
23
+ - **MUST:** Load styles.css or core.css plus color-swatch.css.
24
+
25
+ ## Common mistakes
26
+
27
+ - **Avoid:** Adding click handlers directly to ColorSwatch. **Instead:** Place the passive swatch inside Button, Color Picker preset behavior, or another semantic control.
28
+
29
+ ## Validation checklist
30
+
31
+ - Check solid, alpha, mixed, size, light/dark, forced-color, zoom, RTL, and decorative versus labeled semantics.
32
+
33
+ ## Related guidance
34
+
35
+ - `badge`
36
+ - `input`