@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,74 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "reorderable-list",
4
+ "name": "Reorderable List",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Provide a finished list for deliberate manual ordering while Atom owns drag, touch, keyboard, focus, announcements, cancellation, and reorder state behavior.",
9
+ "useWhen": [
10
+ "A person needs to arrange a small linear collection into a meaningful saved order."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "The application is sorting data automatically or changing a table sort key.",
15
+ "useInstead": "DataGrid or an application-owned sort control"
16
+ },
17
+ {
18
+ "condition": "Items move between columns, tree parents, freeform coordinates, or external applications.",
19
+ "useInstead": "A dedicated Kanban, tree, spatial, or file-transfer composition over Atom DragDrop"
20
+ },
21
+ {
22
+ "condition": "The content is static and has no manual ordering job.",
23
+ "useInstead": "List"
24
+ }
25
+ ],
26
+ "composition": [
27
+ "Compose Root > Item > Handle + Content + optional Actions containing direct Move controls + DropIndicator.",
28
+ "Keep application data keyed by each Item value and update that data from Root onItemsChange; persistence, Undo, conflicts, and validation remain application-owned.",
29
+ "Let Brick move direct Actions below Content when a vertical list's own container is narrow; do not add viewport logic or duplicate the item tree for this relationship."
30
+ ],
31
+ "rules": [
32
+ {
33
+ "id": "reorderable-list-stable-identity",
34
+ "level": "must",
35
+ "statement": "Use stable unique values for Root items and matching Item values; never use visual indexes as identity."
36
+ },
37
+ {
38
+ "id": "reorderable-list-labels",
39
+ "level": "must",
40
+ "statement": "Provide getItemLabel plus localized aria-label values for every Handle and direct Move control."
41
+ },
42
+ {
43
+ "id": "reorderable-list-alternative",
44
+ "level": "must",
45
+ "statement": "Provide direct movement controls when drag precision, switch access, voice access, or discoverability requires a visible non-drag path."
46
+ },
47
+ {
48
+ "id": "reorderable-list-ownership",
49
+ "level": "must",
50
+ "statement": "Keep persistence, Undo, optimistic updates, server conflicts, validation, and automatic sorting outside ReorderableList."
51
+ },
52
+ {
53
+ "id": "reorderable-list-css",
54
+ "level": "must",
55
+ "statement": "Load styles.css or core.css plus reorderable-list.css."
56
+ }
57
+ ],
58
+ "commonMistakes": [
59
+ {
60
+ "mistake": "Using ReorderableList as a sortable table, persisting inside the component, omitting accessible movement names, or making drag the only usable path.",
61
+ "correction": "Choose the component by user job, keep workflow state in the application, label every control, and expose direct movement where needed."
62
+ }
63
+ ],
64
+ "validation": [
65
+ "Check direct movement, keyboard lift/move/drop/cancel, mouse and touch movement, focus preservation, disabled and read-only states, and announcement copy.",
66
+ "Check that narrow vertical lists preserve a useful content measure by moving direct Actions below Content, then check horizontal overflow, RTL, zoom, reduced motion, forced colors, light and dark appearance, focus-ring containment, and insertion feedback."
67
+ ],
68
+ "related": [
69
+ "list",
70
+ "data-grid",
71
+ "tree",
72
+ "swipeable-item"
73
+ ]
74
+ }
@@ -0,0 +1,45 @@
1
+ # Reorderable List agent guide
2
+
3
+ ## Purpose
4
+
5
+ Provide a finished list for deliberate manual ordering while Atom owns drag, touch, keyboard, focus, announcements, cancellation, and reorder state behavior.
6
+
7
+ ## Use when
8
+
9
+ - A person needs to arrange a small linear collection into a meaningful saved order.
10
+
11
+ ## Choose something else when
12
+
13
+ - The application is sorting data automatically or changing a table sort key. Use DataGrid or an application-owned sort control.
14
+ - Items move between columns, tree parents, freeform coordinates, or external applications. Use A dedicated Kanban, tree, spatial, or file-transfer composition over Atom DragDrop.
15
+ - The content is static and has no manual ordering job. Use List.
16
+
17
+ ## Required composition
18
+
19
+ - Compose Root > Item > Handle + Content + optional Actions containing direct Move controls + DropIndicator.
20
+ - Keep application data keyed by each Item value and update that data from Root onItemsChange; persistence, Undo, conflicts, and validation remain application-owned.
21
+ - Let Brick move direct Actions below Content when a vertical list's own container is narrow; do not add viewport logic or duplicate the item tree for this relationship.
22
+
23
+ ## Rules
24
+
25
+ - **MUST:** Use stable unique values for Root items and matching Item values; never use visual indexes as identity.
26
+ - **MUST:** Provide getItemLabel plus localized aria-label values for every Handle and direct Move control.
27
+ - **MUST:** Provide direct movement controls when drag precision, switch access, voice access, or discoverability requires a visible non-drag path.
28
+ - **MUST:** Keep persistence, Undo, optimistic updates, server conflicts, validation, and automatic sorting outside ReorderableList.
29
+ - **MUST:** Load styles.css or core.css plus reorderable-list.css.
30
+
31
+ ## Common mistakes
32
+
33
+ - **Avoid:** Using ReorderableList as a sortable table, persisting inside the component, omitting accessible movement names, or making drag the only usable path. **Instead:** Choose the component by user job, keep workflow state in the application, label every control, and expose direct movement where needed.
34
+
35
+ ## Validation checklist
36
+
37
+ - Check direct movement, keyboard lift/move/drop/cancel, mouse and touch movement, focus preservation, disabled and read-only states, and announcement copy.
38
+ - Check that narrow vertical lists preserve a useful content measure by moving direct Actions below Content, then check horizontal overflow, RTL, zoom, reduced motion, forced colors, light and dark appearance, focus-ring containment, and insertion feedback.
39
+
40
+ ## Related guidance
41
+
42
+ - `list`
43
+ - `data-grid`
44
+ - `tree`
45
+ - `swipeable-item`
@@ -0,0 +1,62 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "segment-group",
4
+ "name": "SegmentGroup",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Present one mutually exclusive immediate mode in a compact segmented surface with radio semantics and a moving visual indicator.",
9
+ "useWhen": [
10
+ "A small visible set such as list/grid, density, or appearance must keep exactly one immediate mode selected."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "Commands may be independently pressed, the choices select paired panels, or an ordinary form choice is needed.",
15
+ "useInstead": "ToggleGroup, Tabs, or RadioGroup according to the interaction"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Compose Root with one Indicator and directly owned Items; give Root a complete accessible name and every icon-only Item its own complete name.",
20
+ "Choose one shared size on Root so adjacent Button, Select, and other named-size controls align through Brick's control contract."
21
+ ],
22
+ "rules": [
23
+ {
24
+ "id": "segment-group-single-choice",
25
+ "level": "must",
26
+ "statement": "Use SegmentGroup only for one mutually exclusive value and preserve Atom Radio Group semantics and keyboard behavior."
27
+ },
28
+ {
29
+ "id": "segment-group-indicator",
30
+ "level": "must",
31
+ "statement": "Render one decorative Indicator for the canonical moving-selection recipe; selection and naming must remain on Items."
32
+ },
33
+ {
34
+ "id": "segment-group-not-tabs",
35
+ "level": "must",
36
+ "statement": "Do not use SegmentGroup for paired content panels or route navigation; use Tabs or navigation destinations."
37
+ },
38
+ {
39
+ "id": "segment-group-css",
40
+ "level": "must",
41
+ "statement": "Load styles.css or core.css plus segment-group.css."
42
+ }
43
+ ],
44
+ "commonMistakes": [
45
+ {
46
+ "mistake": "Using ToggleGroup single mode for a required one-of-many mode or using SegmentGroup as visual tabs.",
47
+ "correction": "Choose SegmentGroup for one compact radio-semantic mode and Tabs only when panels are paired."
48
+ }
49
+ ],
50
+ "validation": [
51
+ "Check click, Space, arrows, Home/End, looping, controlled state, disabled/read-only state, and complete accessible naming.",
52
+ "Check indicator movement after selection and resize, exact shared outer sizes, inset Root boundary, shallow selected elevation, focus containment, light/dark themes, reduced motion, forced colors, zoom, and RTL."
53
+ ],
54
+ "related": [
55
+ "radio-group",
56
+ "toggle-group",
57
+ "tabs",
58
+ "button",
59
+ "select",
60
+ "toolbar"
61
+ ]
62
+ }
@@ -0,0 +1,43 @@
1
+ # SegmentGroup agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present one mutually exclusive immediate mode in a compact segmented surface with radio semantics and a moving visual indicator.
6
+
7
+ ## Use when
8
+
9
+ - A small visible set such as list/grid, density, or appearance must keep exactly one immediate mode selected.
10
+
11
+ ## Choose something else when
12
+
13
+ - Commands may be independently pressed, the choices select paired panels, or an ordinary form choice is needed. Use ToggleGroup, Tabs, or RadioGroup according to the interaction.
14
+
15
+ ## Required composition
16
+
17
+ - Compose Root with one Indicator and directly owned Items; give Root a complete accessible name and every icon-only Item its own complete name.
18
+ - Choose one shared size on Root so adjacent Button, Select, and other named-size controls align through Brick's control contract.
19
+
20
+ ## Rules
21
+
22
+ - **MUST:** Use SegmentGroup only for one mutually exclusive value and preserve Atom Radio Group semantics and keyboard behavior.
23
+ - **MUST:** Render one decorative Indicator for the canonical moving-selection recipe; selection and naming must remain on Items.
24
+ - **MUST:** Do not use SegmentGroup for paired content panels or route navigation; use Tabs or navigation destinations.
25
+ - **MUST:** Load styles.css or core.css plus segment-group.css.
26
+
27
+ ## Common mistakes
28
+
29
+ - **Avoid:** Using ToggleGroup single mode for a required one-of-many mode or using SegmentGroup as visual tabs. **Instead:** Choose SegmentGroup for one compact radio-semantic mode and Tabs only when panels are paired.
30
+
31
+ ## Validation checklist
32
+
33
+ - Check click, Space, arrows, Home/End, looping, controlled state, disabled/read-only state, and complete accessible naming.
34
+ - Check indicator movement after selection and resize, exact shared outer sizes, inset Root boundary, shallow selected elevation, focus containment, light/dark themes, reduced motion, forced colors, zoom, and RTL.
35
+
36
+ ## Related guidance
37
+
38
+ - `radio-group`
39
+ - `toggle-group`
40
+ - `tabs`
41
+ - `button`
42
+ - `select`
43
+ - `toolbar`
@@ -0,0 +1,95 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "select",
4
+ "name": "Select",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Present one compact finished choice from a predefined list while Atom owns selection, trigger and listbox semantics, keyboard behavior, positioning, dismissal, validation, and native select form behavior.",
9
+ "useWhen": [
10
+ "A person chooses exactly one value from a predefined list whose options should stay collapsed until opened."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "A short set should remain visible, several values may be selected, editable filtering or free-form entry is required, or rows are commands or destinations.",
15
+ "useInstead": "RadioGroup, MultiSelect, Combobox, DropdownMenu, or Link"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Compose Select.Root with a named Select.Trigger containing Select.Value and optional Select.Icon, then exactly one Select.Content or Select.Listbox. Place stable uniquely valued Items with ItemText inside optional Viewport and Group with Label; add indicators, separators, scroll buttons, Portal, and a direct popup Arrow only when required.",
20
+ "Use the same sm, md, or lg size as adjacent button-like controls. Keep locale loading, routing, persistence, analytics, and every other effect in onValueChange at the application boundary."
21
+ ],
22
+ "rules": [
23
+ {
24
+ "id": "select-single-value",
25
+ "level": "must",
26
+ "statement": "Use Select only for one predefined value and keep controlled value and open state aligned with their matching callbacks."
27
+ },
28
+ {
29
+ "id": "select-trigger-name",
30
+ "level": "must",
31
+ "statement": "Give Trigger a visible Field label or equivalent accessible name; placeholder and selected value are not the control name, and Trigger must retain combobox, expanded, controls, active-descendant, required, read-only, invalid, and disabled relationships."
32
+ },
33
+ {
34
+ "id": "select-item-text",
35
+ "level": "must",
36
+ "statement": "Give every Item a stable unique value and ItemText or label, keep interactive descendants out, and preserve that text for closed display, option naming, typeahead, and the hidden native select."
37
+ },
38
+ {
39
+ "id": "select-keyboard-form",
40
+ "level": "must",
41
+ "statement": "Preserve Trigger-owned opening, Arrow/Home/End, typeahead, Enter/Space selection, Tab, Escape, disabled skipping, focus restoration, native select options and submission, required validity, external form association, and reset."
42
+ },
43
+ {
44
+ "id": "select-popup-anatomy",
45
+ "level": "must",
46
+ "statement": "Render Content or Listbox once, keep Arrow directly inside it, and keep scroll buttons outside the registered Viewport so Atom owns positioning, collision, dismissal, and overflow state."
47
+ },
48
+ {
49
+ "id": "select-application-effect",
50
+ "level": "must",
51
+ "statement": "Keep translation loading, locale detection, persistence, navigation, analytics, and other effects in the application callback rather than inside Select."
52
+ },
53
+ {
54
+ "id": "select-css",
55
+ "level": "must",
56
+ "statement": "Load styles.css or core.css plus select.css and Field CSS when composed."
57
+ }
58
+ ],
59
+ "commonMistakes": [
60
+ {
61
+ "mistake": "Using placeholder or a selected code as the only name, omitting ItemText, rendering both popup owners, or rebuilding options as clickable rows.",
62
+ "correction": "Name Trigger separately and preserve one Atom-owned popup with registered stable Items and ItemText."
63
+ },
64
+ {
65
+ "mistake": "Using Select for multiple or editable choice, commands, navigation rows, or hidden application state and effects.",
66
+ "correction": "Choose MultiSelect, Combobox, DropdownMenu, or Link and connect legitimate value effects through onValueChange."
67
+ }
68
+ ],
69
+ "validation": [
70
+ "Verify Trigger naming and Field relationships, controlled and uncontrolled value and open state, placeholder and closed selected label, pointer/touch and keyboard opening, active descendant, Home/End, typeahead, selection, disabled Items, Tab, Escape, outside activation, and focus return.",
71
+ "Verify hidden native options and submission, required inline/native validity, external form, reset, groups and labels, Viewport and scroll buttons, Portal and non-Portal paths, Arrow placement, direction, collision handling, and nested modal ownership.",
72
+ "Verify all sizes, long localized labels, narrow widths, zoom, RTL, touch targets, light and dark appearance, forced colors, and alignment with adjacent button-like controls."
73
+ ],
74
+ "related": [
75
+ {
76
+ "kind": "package",
77
+ "package": "@flowstack-ui/atom",
78
+ "id": "select",
79
+ "versionPolicy": "installed-exact"
80
+ },
81
+ {
82
+ "kind": "package",
83
+ "package": "@flowstack-ui/atom",
84
+ "id": "listbox",
85
+ "versionPolicy": "installed-exact"
86
+ },
87
+ "field",
88
+ "form",
89
+ "radio-group",
90
+ "combobox",
91
+ "multi-select",
92
+ "dropdown-menu",
93
+ "link"
94
+ ]
95
+ }
@@ -0,0 +1,51 @@
1
+ # Select agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present one compact finished choice from a predefined list while Atom owns selection, trigger and listbox semantics, keyboard behavior, positioning, dismissal, validation, and native select form behavior.
6
+
7
+ ## Use when
8
+
9
+ - A person chooses exactly one value from a predefined list whose options should stay collapsed until opened.
10
+
11
+ ## Choose something else when
12
+
13
+ - A short set should remain visible, several values may be selected, editable filtering or free-form entry is required, or rows are commands or destinations. Use RadioGroup, MultiSelect, Combobox, DropdownMenu, or Link.
14
+
15
+ ## Required composition
16
+
17
+ - Compose Select.Root with a named Select.Trigger containing Select.Value and optional Select.Icon, then exactly one Select.Content or Select.Listbox. Place stable uniquely valued Items with ItemText inside optional Viewport and Group with Label; add indicators, separators, scroll buttons, Portal, and a direct popup Arrow only when required.
18
+ - Use the same sm, md, or lg size as adjacent button-like controls. Keep locale loading, routing, persistence, analytics, and every other effect in onValueChange at the application boundary.
19
+
20
+ ## Rules
21
+
22
+ - **MUST:** Use Select only for one predefined value and keep controlled value and open state aligned with their matching callbacks.
23
+ - **MUST:** Give Trigger a visible Field label or equivalent accessible name; placeholder and selected value are not the control name, and Trigger must retain combobox, expanded, controls, active-descendant, required, read-only, invalid, and disabled relationships.
24
+ - **MUST:** Give every Item a stable unique value and ItemText or label, keep interactive descendants out, and preserve that text for closed display, option naming, typeahead, and the hidden native select.
25
+ - **MUST:** Preserve Trigger-owned opening, Arrow/Home/End, typeahead, Enter/Space selection, Tab, Escape, disabled skipping, focus restoration, native select options and submission, required validity, external form association, and reset.
26
+ - **MUST:** Render Content or Listbox once, keep Arrow directly inside it, and keep scroll buttons outside the registered Viewport so Atom owns positioning, collision, dismissal, and overflow state.
27
+ - **MUST:** Keep translation loading, locale detection, persistence, navigation, analytics, and other effects in the application callback rather than inside Select.
28
+ - **MUST:** Load styles.css or core.css plus select.css and Field CSS when composed.
29
+
30
+ ## Common mistakes
31
+
32
+ - **Avoid:** Using placeholder or a selected code as the only name, omitting ItemText, rendering both popup owners, or rebuilding options as clickable rows. **Instead:** Name Trigger separately and preserve one Atom-owned popup with registered stable Items and ItemText.
33
+ - **Avoid:** Using Select for multiple or editable choice, commands, navigation rows, or hidden application state and effects. **Instead:** Choose MultiSelect, Combobox, DropdownMenu, or Link and connect legitimate value effects through onValueChange.
34
+
35
+ ## Validation checklist
36
+
37
+ - Verify Trigger naming and Field relationships, controlled and uncontrolled value and open state, placeholder and closed selected label, pointer/touch and keyboard opening, active descendant, Home/End, typeahead, selection, disabled Items, Tab, Escape, outside activation, and focus return.
38
+ - Verify hidden native options and submission, required inline/native validity, external form, reset, groups and labels, Viewport and scroll buttons, Portal and non-Portal paths, Arrow placement, direction, collision handling, and nested modal ownership.
39
+ - Verify all sizes, long localized labels, narrow widths, zoom, RTL, touch targets, light and dark appearance, forced colors, and alignment with adjacent button-like controls.
40
+
41
+ ## Related guidance
42
+
43
+ - `@flowstack-ui/atom/agents/select`
44
+ - `@flowstack-ui/atom/agents/listbox`
45
+ - `field`
46
+ - `form`
47
+ - `radio-group`
48
+ - `combobox`
49
+ - `multi-select`
50
+ - `dropdown-menu`
51
+ - `link`
@@ -29,6 +29,16 @@
29
29
  "level": "must",
30
30
  "statement": "Keep IDs, landmarks, form relationships, and focus order valid in every visible alternative."
31
31
  },
32
+ {
33
+ "id": "show-transparent-layout",
34
+ "level": "must",
35
+ "statement": "Rely on Show's layout-transparent visible state inside parent layouts and put paint or geometry on a child layout component."
36
+ },
37
+ {
38
+ "id": "show-default-props",
39
+ "level": "must",
40
+ "statement": "Omit default-valued props such as as=div; use as only for deliberate HTML semantics or valid document structure."
41
+ },
32
42
  {
33
43
  "id": "show-css",
34
44
  "level": "must",
@@ -36,6 +46,10 @@
36
46
  }
37
47
  ],
38
48
  "commonMistakes": [
49
+ {
50
+ "mistake": "Adding application CSS to repair Show spacing or writing as=div even though div is the default.",
51
+ "correction": "Rely on Show's layout-transparent default and specify as only when semantics require another host."
52
+ },
39
53
  {
40
54
  "mistake": "Forgetting show.css or rendering duplicate visible navigation because Show and Hide use the wrong thresholds.",
41
55
  "correction": "Load the modular CSS and verify exact breakpoint boundaries."
@@ -20,10 +20,13 @@ Show content only at selected Brick breakpoints through CSS, avoiding JavaScript
20
20
 
21
21
  - **MUST:** Use Show's CSS breakpoint contract rather than client viewport detection for responsive first paint.
22
22
  - **MUST:** Keep IDs, landmarks, form relationships, and focus order valid in every visible alternative.
23
+ - **MUST:** Rely on Show's layout-transparent visible state inside parent layouts and put paint or geometry on a child layout component.
24
+ - **MUST:** Omit default-valued props such as as=div; use as only for deliberate HTML semantics or valid document structure.
23
25
  - **MUST:** Load styles.css or core.css plus show.css.
24
26
 
25
27
  ## Common mistakes
26
28
 
29
+ - **Avoid:** Adding application CSS to repair Show spacing or writing as=div even though div is the default. **Instead:** Rely on Show's layout-transparent default and specify as only when semantics require another host.
27
30
  - **Avoid:** Forgetting show.css or rendering duplicate visible navigation because Show and Hide use the wrong thresholds. **Instead:** Load the modular CSS and verify exact breakpoint boundaries.
28
31
 
29
32
  ## Validation checklist
@@ -16,7 +16,8 @@
16
16
  }
17
17
  ],
18
18
  "composition": [
19
- "Compose Root with Trigger, Panel, and Main; place NavList and other Brick content inside Panel and keep one page-level main landmark."
19
+ "Compose Root with Trigger, Panel, and Main; place NavList and other Brick content inside Panel and keep one page-level main landmark.",
20
+ "When Panel content can exceed its constrained block size, place ScrollArea.Root and ScrollArea.Viewport inside Sidebar.Content; Sidebar.Content is a flexible region, not a scroll owner."
20
21
  ],
21
22
  "rules": [
22
23
  {
@@ -29,6 +30,16 @@
29
30
  "level": "must",
30
31
  "statement": "Avoid duplicate main landmarks when composing Sidebar.Main into an existing shell."
31
32
  },
33
+ {
34
+ "id": "sidebar-surface",
35
+ "level": "must",
36
+ "statement": "Choose panel paint with surface; use transparent when an ancestor Surface owns the shell background instead of overriding Sidebar background selectors."
37
+ },
38
+ {
39
+ "id": "sidebar-scroll-ownership",
40
+ "level": "must",
41
+ "statement": "Keep Sidebar.Content flexible and compose a bounded ScrollArea when long panel content must remain reachable; do not clip or assign ad hoc overflow to navigation children."
42
+ },
32
43
  {
33
44
  "id": "sidebar-css",
34
45
  "level": "must",
@@ -37,16 +48,18 @@
37
48
  ],
38
49
  "commonMistakes": [
39
50
  {
40
- "mistake": "Using Sidebar as a modal drawer or letting highlighted rail items overflow into Main.",
41
- "correction": "Use Drawer for modal use and validate Sidebar's expanded, rail, and offcanvas geometry."
51
+ "mistake": "Using Sidebar as a modal drawer, overriding panel background selectors, letting highlighted rail items overflow into Main, or assuming Sidebar.Content scrolls automatically.",
52
+ "correction": "Use Drawer for modal use, choose the public surface recipe, compose ScrollArea for bounded long content, and validate Sidebar's expanded, rail, and offcanvas geometry."
42
53
  }
43
54
  ],
44
55
  "validation": [
45
56
  "Check every state, both sides, current navigation item, long labels, icons, counts, trigger, focus, inert offcanvas state, zoom, narrow widths, and RTL.",
57
+ "When content can overflow, verify the composed ScrollArea reaches the first and last panel destinations without moving Sidebar.Main.",
46
58
  "Confirm landmark names and CSS delivery."
47
59
  ],
48
60
  "related": [
49
61
  "nav-list",
62
+ "scroll-area",
50
63
  "drawer",
51
64
  "app-bar",
52
65
  "container",
@@ -15,25 +15,30 @@ Provide a finished application-shell side region with expanded, rail, and offcan
15
15
  ## Required composition
16
16
 
17
17
  - Compose Root with Trigger, Panel, and Main; place NavList and other Brick content inside Panel and keep one page-level main landmark.
18
+ - When Panel content can exceed its constrained block size, place ScrollArea.Root and ScrollArea.Viewport inside Sidebar.Content; Sidebar.Content is a flexible region, not a scroll owner.
18
19
 
19
20
  ## Rules
20
21
 
21
22
  - **MUST:** Use Sidebar state and public layout hooks instead of manually translating a generic aside and overlapping its active items.
22
23
  - **MUST:** Avoid duplicate main landmarks when composing Sidebar.Main into an existing shell.
24
+ - **MUST:** Choose panel paint with surface; use transparent when an ancestor Surface owns the shell background instead of overriding Sidebar background selectors.
25
+ - **MUST:** Keep Sidebar.Content flexible and compose a bounded ScrollArea when long panel content must remain reachable; do not clip or assign ad hoc overflow to navigation children.
23
26
  - **MUST:** Load styles.css or core.css plus sidebar.css and every composed child stylesheet.
24
27
 
25
28
  ## Common mistakes
26
29
 
27
- - **Avoid:** Using Sidebar as a modal drawer or letting highlighted rail items overflow into Main. **Instead:** Use Drawer for modal use and validate Sidebar's expanded, rail, and offcanvas geometry.
30
+ - **Avoid:** Using Sidebar as a modal drawer, overriding panel background selectors, letting highlighted rail items overflow into Main, or assuming Sidebar.Content scrolls automatically. **Instead:** Use Drawer for modal use, choose the public surface recipe, compose ScrollArea for bounded long content, and validate Sidebar's expanded, rail, and offcanvas geometry.
28
31
 
29
32
  ## Validation checklist
30
33
 
31
34
  - Check every state, both sides, current navigation item, long labels, icons, counts, trigger, focus, inert offcanvas state, zoom, narrow widths, and RTL.
35
+ - When content can overflow, verify the composed ScrollArea reaches the first and last panel destinations without moving Sidebar.Main.
32
36
  - Confirm landmark names and CSS delivery.
33
37
 
34
38
  ## Related guidance
35
39
 
36
40
  - `nav-list`
41
+ - `scroll-area`
37
42
  - `drawer`
38
43
  - `app-bar`
39
44
  - `container`
@@ -0,0 +1,73 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "skeleton",
4
+ "name": "Skeleton",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Preserve expected content geometry during a short application-owned load without exposing placeholder content as meaningful UI.",
9
+ "useWhen": [
10
+ "The final geometry is known and a short loading operation would otherwise cause disruptive layout shift."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "Progress duration is known, the operation failed, or the layout is not yet predictable.",
15
+ "useInstead": "Progress, an error recovery state, or a stable generic loading message according to the state"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Match each Skeleton shape and dimension to the expected final content, mark the owning region busy, and keep any required application status copy outside the aria-hidden placeholder."
20
+ ],
21
+ "rules": [
22
+ {
23
+ "id": "skeleton-geometry",
24
+ "level": "must",
25
+ "statement": "Use supported shape, line, width, and height inputs to preserve the expected final geometry rather than decorating an arbitrary empty region."
26
+ },
27
+ {
28
+ "id": "skeleton-busy-owner",
29
+ "level": "must",
30
+ "statement": "Mark the owning region aria-busy while loading; Skeleton is aria-hidden and is not a status or live region."
31
+ },
32
+ {
33
+ "id": "skeleton-no-fake-content",
34
+ "level": "must",
35
+ "statement": "Do not place fake names, notifications, controls, or other meaningful placeholder content in the accessibility tree."
36
+ },
37
+ {
38
+ "id": "skeleton-appearance",
39
+ "level": "must",
40
+ "statement": "Keep the contextual default paint or another semantic Theme role visibly distinct from the actual containing surface in light and dark appearance."
41
+ },
42
+ {
43
+ "id": "skeleton-motion",
44
+ "level": "must",
45
+ "statement": "Preserve reduced-motion and forced-colors behavior and avoid application animation overrides."
46
+ },
47
+ {
48
+ "id": "skeleton-css",
49
+ "level": "must",
50
+ "statement": "Load styles.css or core.css plus skeleton.css."
51
+ }
52
+ ],
53
+ "commonMistakes": [
54
+ {
55
+ "mistake": "Using Skeleton as generic decoration or relying on its animation as the only loading announcement.",
56
+ "correction": "Use Skeleton only for known geometry, mark the owning region busy, and provide application-owned status text only when an announcement is actually required."
57
+ },
58
+ {
59
+ "mistake": "Selecting a semantic surface token that resolves to the same paint as the containing overlay in one appearance.",
60
+ "correction": "Keep the contextual primary-text tint or verify any semantic override against every containing surface in both appearances."
61
+ }
62
+ ],
63
+ "validation": [
64
+ "Check stable geometry before and after load, aria-hidden placeholder output, owning-region busy state, and absence of focusable fake content.",
65
+ "Check placeholder visibility on base, raised, and overlay surfaces across light/dark appearance, narrow widths, zoom, increased text size, reduced motion, and forced colors."
66
+ ],
67
+ "related": [
68
+ "progress",
69
+ "frame",
70
+ "stack",
71
+ "feed"
72
+ ]
73
+ }
@@ -0,0 +1,43 @@
1
+ # Skeleton agent guide
2
+
3
+ ## Purpose
4
+
5
+ Preserve expected content geometry during a short application-owned load without exposing placeholder content as meaningful UI.
6
+
7
+ ## Use when
8
+
9
+ - The final geometry is known and a short loading operation would otherwise cause disruptive layout shift.
10
+
11
+ ## Choose something else when
12
+
13
+ - Progress duration is known, the operation failed, or the layout is not yet predictable. Use Progress, an error recovery state, or a stable generic loading message according to the state.
14
+
15
+ ## Required composition
16
+
17
+ - Match each Skeleton shape and dimension to the expected final content, mark the owning region busy, and keep any required application status copy outside the aria-hidden placeholder.
18
+
19
+ ## Rules
20
+
21
+ - **MUST:** Use supported shape, line, width, and height inputs to preserve the expected final geometry rather than decorating an arbitrary empty region.
22
+ - **MUST:** Mark the owning region aria-busy while loading; Skeleton is aria-hidden and is not a status or live region.
23
+ - **MUST:** Do not place fake names, notifications, controls, or other meaningful placeholder content in the accessibility tree.
24
+ - **MUST:** Keep the contextual default paint or another semantic Theme role visibly distinct from the actual containing surface in light and dark appearance.
25
+ - **MUST:** Preserve reduced-motion and forced-colors behavior and avoid application animation overrides.
26
+ - **MUST:** Load styles.css or core.css plus skeleton.css.
27
+
28
+ ## Common mistakes
29
+
30
+ - **Avoid:** Using Skeleton as generic decoration or relying on its animation as the only loading announcement. **Instead:** Use Skeleton only for known geometry, mark the owning region busy, and provide application-owned status text only when an announcement is actually required.
31
+ - **Avoid:** Selecting a semantic surface token that resolves to the same paint as the containing overlay in one appearance. **Instead:** Keep the contextual primary-text tint or verify any semantic override against every containing surface in both appearances.
32
+
33
+ ## Validation checklist
34
+
35
+ - Check stable geometry before and after load, aria-hidden placeholder output, owning-region busy state, and absence of focusable fake content.
36
+ - Check placeholder visibility on base, raised, and overlay surfaces across light/dark appearance, narrow widths, zoom, increased text size, reduced motion, and forced colors.
37
+
38
+ ## Related guidance
39
+
40
+ - `progress`
41
+ - `frame`
42
+ - `stack`
43
+ - `feed`