@flowstack-ui/brick 0.1.9 → 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 (540) 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/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 +32 -3
  126. package/dist/agents/surface.md +9 -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/avatar.css +1 -1
  408. package/dist/styles/avatar.css.map +1 -1
  409. package/dist/styles/badge.css +1 -1
  410. package/dist/styles/badge.css.map +1 -1
  411. package/dist/styles/bleed.css +2 -0
  412. package/dist/styles/bleed.css.map +1 -0
  413. package/dist/styles/bottom-navigation.css +1 -1
  414. package/dist/styles/bottom-navigation.css.map +1 -1
  415. package/dist/styles/button.css +1 -1
  416. package/dist/styles/button.css.map +1 -1
  417. package/dist/styles/card.css +1 -1
  418. package/dist/styles/card.css.map +1 -1
  419. package/dist/styles/checkbox-group.css +1 -1
  420. package/dist/styles/checkbox-group.css.map +1 -1
  421. package/dist/styles/checkbox.css +1 -1
  422. package/dist/styles/checkbox.css.map +1 -1
  423. package/dist/styles/code-block.css +1 -1
  424. package/dist/styles/code-block.css.map +1 -1
  425. package/dist/styles/collapsible.css +1 -1
  426. package/dist/styles/collapsible.css.map +1 -1
  427. package/dist/styles/color-picker.css +2 -0
  428. package/dist/styles/color-picker.css.map +1 -0
  429. package/dist/styles/color-swatch.css +2 -0
  430. package/dist/styles/color-swatch.css.map +1 -0
  431. package/dist/styles/combobox.css +1 -1
  432. package/dist/styles/combobox.css.map +1 -1
  433. package/dist/styles/context-menu.css +1 -1
  434. package/dist/styles/context-menu.css.map +1 -1
  435. package/dist/styles/core.css +1 -1
  436. package/dist/styles/core.css.map +1 -1
  437. package/dist/styles/data-grid.css +1 -1
  438. package/dist/styles/data-grid.css.map +1 -1
  439. package/dist/styles/data-list.css +2 -0
  440. package/dist/styles/data-list.css.map +1 -0
  441. package/dist/styles/dialog.css +1 -1
  442. package/dist/styles/dialog.css.map +1 -1
  443. package/dist/styles/divider.css +1 -1
  444. package/dist/styles/divider.css.map +1 -1
  445. package/dist/styles/drawer.css +1 -1
  446. package/dist/styles/drawer.css.map +1 -1
  447. package/dist/styles/dropdown-menu.css +1 -1
  448. package/dist/styles/dropdown-menu.css.map +1 -1
  449. package/dist/styles/feed.css +1 -1
  450. package/dist/styles/feed.css.map +1 -1
  451. package/dist/styles/grid.css +1 -1
  452. package/dist/styles/grid.css.map +1 -1
  453. package/dist/styles/group.css +2 -0
  454. package/dist/styles/group.css.map +1 -0
  455. package/dist/styles/hide.css +1 -1
  456. package/dist/styles/hide.css.map +1 -1
  457. package/dist/styles/icon-button.css +1 -1
  458. package/dist/styles/icon-button.css.map +1 -1
  459. package/dist/styles/input.css +1 -1
  460. package/dist/styles/input.css.map +1 -1
  461. package/dist/styles/link-box.css +2 -0
  462. package/dist/styles/link-box.css.map +1 -0
  463. package/dist/styles/link.css +1 -1
  464. package/dist/styles/link.css.map +1 -1
  465. package/dist/styles/list.css +1 -1
  466. package/dist/styles/list.css.map +1 -1
  467. package/dist/styles/menubar.css +1 -1
  468. package/dist/styles/menubar.css.map +1 -1
  469. package/dist/styles/multi-select.css +1 -1
  470. package/dist/styles/multi-select.css.map +1 -1
  471. package/dist/styles/nav-list.css +1 -1
  472. package/dist/styles/nav-list.css.map +1 -1
  473. package/dist/styles/navigation-menu.css +1 -1
  474. package/dist/styles/navigation-menu.css.map +1 -1
  475. package/dist/styles/pagination.css +1 -1
  476. package/dist/styles/pagination.css.map +1 -1
  477. package/dist/styles/password-toggle-field.css +1 -1
  478. package/dist/styles/password-toggle-field.css.map +1 -1
  479. package/dist/styles/popover.css +1 -1
  480. package/dist/styles/popover.css.map +1 -1
  481. package/dist/styles/rating.css +1 -1
  482. package/dist/styles/rating.css.map +1 -1
  483. package/dist/styles/reorderable-list.css +2 -0
  484. package/dist/styles/reorderable-list.css.map +1 -0
  485. package/dist/styles/segment-group.css +2 -0
  486. package/dist/styles/segment-group.css.map +1 -0
  487. package/dist/styles/select.css +1 -1
  488. package/dist/styles/select.css.map +1 -1
  489. package/dist/styles/show.css +1 -1
  490. package/dist/styles/show.css.map +1 -1
  491. package/dist/styles/sidebar.css +1 -1
  492. package/dist/styles/sidebar.css.map +1 -1
  493. package/dist/styles/skeleton.css +1 -1
  494. package/dist/styles/skeleton.css.map +1 -1
  495. package/dist/styles/slider.css +1 -1
  496. package/dist/styles/slider.css.map +1 -1
  497. package/dist/styles/stack.css +1 -1
  498. package/dist/styles/stack.css.map +1 -1
  499. package/dist/styles/status.css +2 -0
  500. package/dist/styles/status.css.map +1 -0
  501. package/dist/styles/surface.css +1 -1
  502. package/dist/styles/surface.css.map +1 -1
  503. package/dist/styles/table.css +1 -1
  504. package/dist/styles/table.css.map +1 -1
  505. package/dist/styles/tabs.css +1 -1
  506. package/dist/styles/tabs.css.map +1 -1
  507. package/dist/styles/text.css +1 -1
  508. package/dist/styles/text.css.map +1 -1
  509. package/dist/styles/toggle-group.css +1 -1
  510. package/dist/styles/toggle-group.css.map +1 -1
  511. package/dist/styles/toggle.css +1 -1
  512. package/dist/styles/toggle.css.map +1 -1
  513. package/dist/styles/toolbar.css +1 -1
  514. package/dist/styles/toolbar.css.map +1 -1
  515. package/dist/styles/z-stack.css +1 -1
  516. package/dist/styles/z-stack.css.map +1 -1
  517. package/dist/styles.css +1 -1
  518. package/dist/styles.css.map +1 -1
  519. package/dist/surface.d.ts +1 -1
  520. package/dist/surface.d.ts.map +1 -1
  521. package/dist/surface.js.map +1 -1
  522. package/dist/text.d.ts +1 -1
  523. package/dist/text.d.ts.map +1 -1
  524. package/dist/text.js +1 -1
  525. package/dist/text.js.map +1 -1
  526. package/dist/theme-contract.json +5288 -2105
  527. package/dist/toggle.d.ts +1 -1
  528. package/dist/toggle.d.ts.map +1 -1
  529. package/dist/toggle.js.map +1 -1
  530. package/dist/tokens.css +1 -1
  531. package/dist/tokens.css.map +1 -1
  532. package/dist/toolbar.d.ts +1 -1
  533. package/dist/toolbar.d.ts.map +1 -1
  534. package/docs/guides/agent-knowledge.md +19 -0
  535. package/docs/guides/appearance-and-tokens.md +5 -0
  536. package/docs/guides/browser-support.md +21 -0
  537. package/docs/guides/control-sizing.md +55 -0
  538. package/docs/guides/installation.md +5 -2
  539. package/docs/guides/theme-contract.md +26 -12
  540. package/package.json +45 -6
@@ -0,0 +1,47 @@
1
+ # Toggle agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present one persistent pressed or unpressed command with Brick recipes and Atom-owned button behavior.
6
+
7
+ ## Use when
8
+
9
+ - One command such as Favorite, Pin, Bold, or Show completed needs a persistent pressed state.
10
+
11
+ ## Choose something else when
12
+
13
+ - Related pressed commands need shared selection and arrow navigation. Use ToggleGroup.
14
+ - A momentary action, submitted choice, boolean setting, or panel switch is required. Use Button, Checkbox, Switch, or Tabs according to the job.
15
+
16
+ ## Required composition
17
+
18
+ - Keep one stable visible or accessible name across pressed states; use iconOnly only with a complete accessible name.
19
+ - Choose variant for the selected-state treatment and accent or neutral tone for its emphasis before applying local customization.
20
+
21
+ ## Rules
22
+
23
+ - **MUST:** Use Toggle only when the same command meaning remains valid in pressed and unpressed states.
24
+ - **MUST:** Use accent or neutral tone for selection emphasis; do not use semantic status colors to imply error, success, warning, or danger.
25
+ - **MUST:** Preserve Atom-owned native button semantics, aria-pressed state, activation, disabled behavior, and composition.
26
+ - **MUST:** Use pressed with onPressedChange for controlled state or defaultPressed for uncontrolled state, and keep one stable command name across both aria-pressed states.
27
+ - **MUST:** When using asChild or render, preserve one element with Atom props, handlers, refs, tab stop, Enter and Space activation, button semantics, and disabled exposure.
28
+ - **MUST:** Load styles.css or core.css plus toggle.css.
29
+
30
+ ## Common mistakes
31
+
32
+ - **Avoid:** Using Toggle as Checkbox, Switch, Button, or a visual tab, or changing its accessible name with state. **Instead:** Select the component matching the interaction and keep Toggle's command name stable.
33
+
34
+ ## Validation checklist
35
+
36
+ - Check pointer and keyboard activation, controlled and uncontrolled state, stable naming, disabled state, and complete icon-only names.
37
+ - Check every adopted variant and accent/neutral tone in light, dark, forced colors, narrow layouts, zoom, and RTL.
38
+
39
+ ## Related guidance
40
+
41
+ - `@flowstack-ui/atom/agents/toggle`
42
+ - `toggle-group`
43
+ - `toolbar`
44
+ - `button`
45
+ - `checkbox`
46
+ - `switch`
47
+ - `tabs`
@@ -16,7 +16,7 @@
16
16
  }
17
17
  ],
18
18
  "composition": [
19
- "Compose Button, Link, Separator, and ToggleGroup/ToggleItem parts inside a named Root; use Brick icons and concise visible or accessible labels."
19
+ "Compose Button, Link, Separator, and ToggleGroup/ToggleItem parts inside a named Root; configure Toggle selection through its shared variant and accent/neutral tone, and use Brick icons with concise visible or accessible labels."
20
20
  ],
21
21
  "rules": [
22
22
  {
@@ -29,6 +29,16 @@
29
29
  "level": "must",
30
30
  "statement": "Define a deliberate narrow-width wrap, scroll, or alternative composition without breaking roving focus order."
31
31
  },
32
+ {
33
+ "id": "toolbar-toggle-recipes",
34
+ "level": "must",
35
+ "statement": "Configure Toolbar ToggleItems through their ToggleGroup variant and tone; do not replace Toolbar behavior with a standalone ToggleGroup or style Items independently."
36
+ },
37
+ {
38
+ "id": "toolbar-neutral-recipe",
39
+ "level": "must",
40
+ "statement": "Treat neutral as non-accent intent and let Toolbar own its layered selected-surface recipe; do not copy a neutral solid Button fill into ToggleItems."
41
+ },
32
42
  {
33
43
  "id": "toolbar-css",
34
44
  "level": "must",
@@ -14,12 +14,14 @@ Style one logical group of related commands with Atom toolbar semantics and rovi
14
14
 
15
15
  ## Required composition
16
16
 
17
- - Compose Button, Link, Separator, and ToggleGroup/ToggleItem parts inside a named Root; use Brick icons and concise visible or accessible labels.
17
+ - Compose Button, Link, Separator, and ToggleGroup/ToggleItem parts inside a named Root; configure Toggle selection through its shared variant and accent/neutral tone, and use Brick icons with concise visible or accessible labels.
18
18
 
19
19
  ## Rules
20
20
 
21
21
  - **MUST:** Use Toolbar rather than adding manual arrow-key handlers or role=toolbar to an AppBar row.
22
22
  - **MUST:** Define a deliberate narrow-width wrap, scroll, or alternative composition without breaking roving focus order.
23
+ - **MUST:** Configure Toolbar ToggleItems through their ToggleGroup variant and tone; do not replace Toolbar behavior with a standalone ToggleGroup or style Items independently.
24
+ - **MUST:** Treat neutral as non-accent intent and let Toolbar own its layered selected-surface recipe; do not copy a neutral solid Button fill into ToggleItems.
23
25
  - **MUST:** Load styles.css or core.css plus toolbar.css and any composed Icon stylesheet.
24
26
 
25
27
  ## Common mistakes
@@ -0,0 +1,96 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "tooltip",
4
+ "name": "Tooltip",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Present a finished brief supplemental text description for an already named trigger while Atom owns the description relationship, hover, focus-visible, touch hold, dismissal, portal, and positioning behavior.",
9
+ "useWhen": [
10
+ "A control, especially an unfamiliar IconButton, abbreviation, or compact trigger, needs a short non-interactive hint in addition to its complete accessible name."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "The information is required or lengthy, is a richer passive preview, or contains links, buttons, inputs, settings, or other interaction.",
15
+ "useInstead": "Visible text, HoverCard, or Popover"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Compose Tooltip.Root with Tooltip.Trigger asChild around one already named focusable control, plus Tooltip.Portal and Tooltip.Content; add Tooltip.Arrow only when the styled hint needs a pointer. Use Tooltip.Provider when a coherent region shares timing policy.",
20
+ "Use plain Content for one short hint or Root variant=rich with presentational Tooltip.Title and Tooltip.Description for a concise title and supporting text. Both recipes remain non-interactive descriptions. Reproduce any local Appearance scope on portalled Content."
21
+ ],
22
+ "rules": [
23
+ {
24
+ "id": "tooltip-trigger-name",
25
+ "level": "must",
26
+ "statement": "Give Trigger a complete accessible name independently; Tooltip supplies only a supplemental aria-describedby description while open and never replaces the control name."
27
+ },
28
+ {
29
+ "id": "tooltip-noninteractive",
30
+ "level": "must",
31
+ "statement": "Keep plain and rich Content free of links, buttons, inputs, and every other focusable control; use Popover for interaction."
32
+ },
33
+ {
34
+ "id": "tooltip-brief-content",
35
+ "level": "should",
36
+ "statement": "Keep plain Content to one short hint and rich Content to a concise Title and Description; render essential instructions, errors, warnings, recovery, and full truncated text visibly."
37
+ },
38
+ {
39
+ "id": "tooltip-owned-input",
40
+ "level": "must",
41
+ "statement": "Preserve Atom's hover, focus-visible, Escape, shared delay, and stationary 700 ms touch long-press behavior, including movement, scroll, second-touch, cancellation, disabled, unmount, compatibility-event, and finite dismissal handling."
42
+ },
43
+ {
44
+ "id": "tooltip-composition",
45
+ "level": "must",
46
+ "statement": "When Trigger uses asChild or render, preserve its native semantics, action, complete name, Atom handlers and refs, and generated description relationship."
47
+ },
48
+ {
49
+ "id": "tooltip-provider",
50
+ "level": "should",
51
+ "statement": "Use one Provider around a coherent region when tooltips should share open, close, and skip-delay timing; nest providers only for an intentional timing boundary."
52
+ },
53
+ {
54
+ "id": "tooltip-shape-arrow",
55
+ "level": "must",
56
+ "statement": "Use rounded by default and pill only for deliberately compact labels; keep optional Arrow decorative and aligned to the collision-resolved side without independently recoloring its surface seam."
57
+ },
58
+ {
59
+ "id": "tooltip-theme-scope",
60
+ "level": "must",
61
+ "statement": "When Portal leaves a local Appearance scope, reproduce that scope on Content or target a portal container inside it."
62
+ },
63
+ {
64
+ "id": "tooltip-css",
65
+ "level": "must",
66
+ "statement": "Load styles.css or core.css plus tooltip.css and every composed trigger component stylesheet."
67
+ }
68
+ ],
69
+ "commonMistakes": [
70
+ {
71
+ "mistake": "Using Tooltip as an IconButton's only name, placing interactive or essential help in rich Content, or hand-positioning a text bubble.",
72
+ "correction": "Name Trigger directly, keep Content supplemental and non-interactive, show required information visibly, and use complete Tooltip anatomy."
73
+ },
74
+ {
75
+ "mistake": "Adding another touch-hold timer, assuming portalled Content inherits Appearance, or using Tooltip for a resource preview.",
76
+ "correction": "Rely on Atom input handling, make the portal scope explicit, and choose HoverCard for a redundant passive preview."
77
+ }
78
+ ],
79
+ "validation": [
80
+ "Verify Trigger's independent name, role=tooltip Content, aria-describedby only while open, controlled and disabled state, Provider and local delays, pointer hover, focus-visible opening, Trigger-to-Content hover bridge, focus leave, top-layer Escape, and stable focus.",
81
+ "Verify stationary touch hold, early release, movement tolerance, scrolling, outside touch, second touch, touchcancel, compatibility events, disabled changes, unmount cleanup, and plain and rich finite dismissal without blocking ordinary activation or scrolling.",
82
+ "Verify plain and rich brevity with no interactive descendants, rounded and pill shapes, optional Arrow on every resolved side, collision placement, narrow wrapping, zoom, LTR and RTL, reduced motion, forced colors, portalled appearance, and complete CSS."
83
+ ],
84
+ "related": [
85
+ {
86
+ "kind": "package",
87
+ "package": "@flowstack-ui/atom",
88
+ "id": "tooltip",
89
+ "versionPolicy": "installed-exact"
90
+ },
91
+ "icon-button",
92
+ "hover-card",
93
+ "popover",
94
+ "appearance"
95
+ ]
96
+ }
@@ -0,0 +1,49 @@
1
+ # Tooltip agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present a finished brief supplemental text description for an already named trigger while Atom owns the description relationship, hover, focus-visible, touch hold, dismissal, portal, and positioning behavior.
6
+
7
+ ## Use when
8
+
9
+ - A control, especially an unfamiliar IconButton, abbreviation, or compact trigger, needs a short non-interactive hint in addition to its complete accessible name.
10
+
11
+ ## Choose something else when
12
+
13
+ - The information is required or lengthy, is a richer passive preview, or contains links, buttons, inputs, settings, or other interaction. Use Visible text, HoverCard, or Popover.
14
+
15
+ ## Required composition
16
+
17
+ - Compose Tooltip.Root with Tooltip.Trigger asChild around one already named focusable control, plus Tooltip.Portal and Tooltip.Content; add Tooltip.Arrow only when the styled hint needs a pointer. Use Tooltip.Provider when a coherent region shares timing policy.
18
+ - Use plain Content for one short hint or Root variant=rich with presentational Tooltip.Title and Tooltip.Description for a concise title and supporting text. Both recipes remain non-interactive descriptions. Reproduce any local Appearance scope on portalled Content.
19
+
20
+ ## Rules
21
+
22
+ - **MUST:** Give Trigger a complete accessible name independently; Tooltip supplies only a supplemental aria-describedby description while open and never replaces the control name.
23
+ - **MUST:** Keep plain and rich Content free of links, buttons, inputs, and every other focusable control; use Popover for interaction.
24
+ - **SHOULD:** Keep plain Content to one short hint and rich Content to a concise Title and Description; render essential instructions, errors, warnings, recovery, and full truncated text visibly.
25
+ - **MUST:** Preserve Atom's hover, focus-visible, Escape, shared delay, and stationary 700 ms touch long-press behavior, including movement, scroll, second-touch, cancellation, disabled, unmount, compatibility-event, and finite dismissal handling.
26
+ - **MUST:** When Trigger uses asChild or render, preserve its native semantics, action, complete name, Atom handlers and refs, and generated description relationship.
27
+ - **SHOULD:** Use one Provider around a coherent region when tooltips should share open, close, and skip-delay timing; nest providers only for an intentional timing boundary.
28
+ - **MUST:** Use rounded by default and pill only for deliberately compact labels; keep optional Arrow decorative and aligned to the collision-resolved side without independently recoloring its surface seam.
29
+ - **MUST:** When Portal leaves a local Appearance scope, reproduce that scope on Content or target a portal container inside it.
30
+ - **MUST:** Load styles.css or core.css plus tooltip.css and every composed trigger component stylesheet.
31
+
32
+ ## Common mistakes
33
+
34
+ - **Avoid:** Using Tooltip as an IconButton's only name, placing interactive or essential help in rich Content, or hand-positioning a text bubble. **Instead:** Name Trigger directly, keep Content supplemental and non-interactive, show required information visibly, and use complete Tooltip anatomy.
35
+ - **Avoid:** Adding another touch-hold timer, assuming portalled Content inherits Appearance, or using Tooltip for a resource preview. **Instead:** Rely on Atom input handling, make the portal scope explicit, and choose HoverCard for a redundant passive preview.
36
+
37
+ ## Validation checklist
38
+
39
+ - Verify Trigger's independent name, role=tooltip Content, aria-describedby only while open, controlled and disabled state, Provider and local delays, pointer hover, focus-visible opening, Trigger-to-Content hover bridge, focus leave, top-layer Escape, and stable focus.
40
+ - Verify stationary touch hold, early release, movement tolerance, scrolling, outside touch, second touch, touchcancel, compatibility events, disabled changes, unmount cleanup, and plain and rich finite dismissal without blocking ordinary activation or scrolling.
41
+ - Verify plain and rich brevity with no interactive descendants, rounded and pill shapes, optional Arrow on every resolved side, collision placement, narrow wrapping, zoom, LTR and RTL, reduced motion, forced colors, portalled appearance, and complete CSS.
42
+
43
+ ## Related guidance
44
+
45
+ - `@flowstack-ui/atom/agents/tooltip`
46
+ - `icon-button`
47
+ - `hover-card`
48
+ - `popover`
49
+ - `appearance`
@@ -0,0 +1,98 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "tree-grid",
4
+ "name": "TreeGrid",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Present finished hierarchical multi-column rows while Atom owns treegrid relationships, active-cell navigation, expansion, row selection, logical coordinates, and actionable-header semantics.",
9
+ "useWhen": [
10
+ "Parent-child rows expand and each visible row exposes several independently navigable columns, such as a structured file browser."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "The hierarchy has one primary column, rows are flat, people only read native tabular relationships, or cells require editing or independent controls.",
15
+ "useInstead": "Tree, DataGrid, Table, or an application-owned data tool"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Compose explicit TreeGrid.Container for horizontal overflow, then one named Root with truthful rowCount and columnCount, optional Caption, Header and Body rowgroups, optional Footer summaries, and uniquely valued indexed Rows. Give every data Row stable parentValue and level metadata, one column-one RowHeader with decorative Indicator, then indexed Cells.",
20
+ "For application sorting, give an indexed ColumnHeader onAction, update records and sortDirection outside TreeGrid, and keep SortIndicator decorative. Compose Toolbar, filters, Pagination, status, and detail surfaces outside Root."
21
+ ],
22
+ "rules": [
23
+ {
24
+ "id": "tree-grid-name-relationships",
25
+ "level": "must",
26
+ "statement": "Name Root and preserve treegrid, rowgroup, row, rowheader, columnheader, and gridcell relationships with durable Row values, stable parentValue and level, one-based logical indexes, and truthful full totals."
27
+ },
28
+ {
29
+ "id": "tree-grid-focus",
30
+ "level": "must",
31
+ "statement": "Keep Root as the sole Tab stop and preserve active-descendant navigation across visible cells, vertical row movement, Home/End and whole-grid movement, disabled skipping, loop policy, and RTL-aware expansion and collapse in the tree column."
32
+ },
33
+ {
34
+ "id": "tree-grid-expansion",
35
+ "level": "must",
36
+ "statement": "Mark only real parent Rows expandable, keep descendants hidden from navigation while any ancestor is collapsed, and let Atom relocate an active descendant to the collapsed ancestor's RowHeader cell."
37
+ },
38
+ {
39
+ "id": "tree-grid-selection",
40
+ "level": "must",
41
+ "statement": "Align scalar, array, or null value with selectionMode, use stable unique Row values, keep active cell independent from selected rows, and distinguish selectable=false from disabled for headers, parents, and summaries."
42
+ },
43
+ {
44
+ "id": "tree-grid-actions",
45
+ "level": "must",
46
+ "statement": "Use ColumnHeader onAction for equivalent pointer and active-header Enter activation, keep sortDirection truthful, and keep sorting, filtering, editing, resizing, data mutation, fetching, pagination, and persistence application-owned."
47
+ },
48
+ {
49
+ "id": "tree-grid-cell-boundary",
50
+ "level": "must",
51
+ "statement": "Keep v1 cells free of independent links, buttons, inputs, menus, and editing; keep hierarchy and sort indicators decorative and preserve RowHeader as the tree-column semantic owner."
52
+ },
53
+ {
54
+ "id": "tree-grid-virtualization",
55
+ "level": "must",
56
+ "statement": "If an application windows hierarchical rows, preserve logical totals, indexes, levels, parent visibility, and durable identities while keeping the active cell and collapse destination mounted; geometry utilities do not own treegrid focus or semantics."
57
+ },
58
+ {
59
+ "id": "tree-grid-responsive",
60
+ "level": "must",
61
+ "statement": "Use Container for honest overflow, preserve the content-aware minimum width and all columns at narrow sizes, let the outline Root own one rounded boundary, and keep logical indentation and alignment correct in RTL."
62
+ },
63
+ {
64
+ "id": "tree-grid-css",
65
+ "level": "must",
66
+ "statement": "Load styles.css or core.css plus tree-grid.css and every stylesheet for external composed controls."
67
+ }
68
+ ],
69
+ "commonMistakes": [
70
+ {
71
+ "mistake": "Using TreeGrid for a one-column tree or read-only table, deriving parent/level/index identity from a rendered page, or inserting arbitrary controls into cells.",
72
+ "correction": "Choose Tree or Table when simpler semantics fit, supply stable full-collection hierarchy and coordinates, and use an application-owned data tool for interactive cells."
73
+ },
74
+ {
75
+ "mistake": "Expecting sortDirection to reorder rows, hiding columns on mobile, or adding a second framed clipping wrapper around outline.",
76
+ "correction": "Keep sorting application-owned, preserve honest overflow, and let Root own its complete border and corner paint."
77
+ }
78
+ ],
79
+ "validation": [
80
+ "Verify Root naming and complete treegrid relationships, unique Row values, parentValue/level metadata, RowHeader ownership, one-based logical indexes, full totals, active descendant, selection metadata, disabled/read-only state, and sort direction.",
81
+ "Exercise LTR/RTL expansion, collapse and parent movement, next-cell arrows, vertical movement, Home/End, whole-grid movement, loop boundaries, disabled cells, collapse relocation, none/single/multiple selection, nonselectable Rows, and header pointer/Enter parity.",
82
+ "Verify controlled/uncontrolled expansion and active-cell state; both variants, sizes, densities, captions, numeric/logical alignment, Container overflow, deep hierarchy, 320px, zoom, RTL, long content, light/dark appearance, forced colors, reduced motion, and any windowed active target."
83
+ ],
84
+ "related": [
85
+ {
86
+ "kind": "package",
87
+ "package": "@flowstack-ui/atom",
88
+ "id": "tree-grid",
89
+ "versionPolicy": "installed-exact"
90
+ },
91
+ "tree",
92
+ "data-grid",
93
+ "table",
94
+ "toolbar",
95
+ "pagination",
96
+ "scroll-area"
97
+ ]
98
+ }
@@ -0,0 +1,51 @@
1
+ # TreeGrid agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present finished hierarchical multi-column rows while Atom owns treegrid relationships, active-cell navigation, expansion, row selection, logical coordinates, and actionable-header semantics.
6
+
7
+ ## Use when
8
+
9
+ - Parent-child rows expand and each visible row exposes several independently navigable columns, such as a structured file browser.
10
+
11
+ ## Choose something else when
12
+
13
+ - The hierarchy has one primary column, rows are flat, people only read native tabular relationships, or cells require editing or independent controls. Use Tree, DataGrid, Table, or an application-owned data tool.
14
+
15
+ ## Required composition
16
+
17
+ - Compose explicit TreeGrid.Container for horizontal overflow, then one named Root with truthful rowCount and columnCount, optional Caption, Header and Body rowgroups, optional Footer summaries, and uniquely valued indexed Rows. Give every data Row stable parentValue and level metadata, one column-one RowHeader with decorative Indicator, then indexed Cells.
18
+ - For application sorting, give an indexed ColumnHeader onAction, update records and sortDirection outside TreeGrid, and keep SortIndicator decorative. Compose Toolbar, filters, Pagination, status, and detail surfaces outside Root.
19
+
20
+ ## Rules
21
+
22
+ - **MUST:** Name Root and preserve treegrid, rowgroup, row, rowheader, columnheader, and gridcell relationships with durable Row values, stable parentValue and level, one-based logical indexes, and truthful full totals.
23
+ - **MUST:** Keep Root as the sole Tab stop and preserve active-descendant navigation across visible cells, vertical row movement, Home/End and whole-grid movement, disabled skipping, loop policy, and RTL-aware expansion and collapse in the tree column.
24
+ - **MUST:** Mark only real parent Rows expandable, keep descendants hidden from navigation while any ancestor is collapsed, and let Atom relocate an active descendant to the collapsed ancestor's RowHeader cell.
25
+ - **MUST:** Align scalar, array, or null value with selectionMode, use stable unique Row values, keep active cell independent from selected rows, and distinguish selectable=false from disabled for headers, parents, and summaries.
26
+ - **MUST:** Use ColumnHeader onAction for equivalent pointer and active-header Enter activation, keep sortDirection truthful, and keep sorting, filtering, editing, resizing, data mutation, fetching, pagination, and persistence application-owned.
27
+ - **MUST:** Keep v1 cells free of independent links, buttons, inputs, menus, and editing; keep hierarchy and sort indicators decorative and preserve RowHeader as the tree-column semantic owner.
28
+ - **MUST:** If an application windows hierarchical rows, preserve logical totals, indexes, levels, parent visibility, and durable identities while keeping the active cell and collapse destination mounted; geometry utilities do not own treegrid focus or semantics.
29
+ - **MUST:** Use Container for honest overflow, preserve the content-aware minimum width and all columns at narrow sizes, let the outline Root own one rounded boundary, and keep logical indentation and alignment correct in RTL.
30
+ - **MUST:** Load styles.css or core.css plus tree-grid.css and every stylesheet for external composed controls.
31
+
32
+ ## Common mistakes
33
+
34
+ - **Avoid:** Using TreeGrid for a one-column tree or read-only table, deriving parent/level/index identity from a rendered page, or inserting arbitrary controls into cells. **Instead:** Choose Tree or Table when simpler semantics fit, supply stable full-collection hierarchy and coordinates, and use an application-owned data tool for interactive cells.
35
+ - **Avoid:** Expecting sortDirection to reorder rows, hiding columns on mobile, or adding a second framed clipping wrapper around outline. **Instead:** Keep sorting application-owned, preserve honest overflow, and let Root own its complete border and corner paint.
36
+
37
+ ## Validation checklist
38
+
39
+ - Verify Root naming and complete treegrid relationships, unique Row values, parentValue/level metadata, RowHeader ownership, one-based logical indexes, full totals, active descendant, selection metadata, disabled/read-only state, and sort direction.
40
+ - Exercise LTR/RTL expansion, collapse and parent movement, next-cell arrows, vertical movement, Home/End, whole-grid movement, loop boundaries, disabled cells, collapse relocation, none/single/multiple selection, nonselectable Rows, and header pointer/Enter parity.
41
+ - Verify controlled/uncontrolled expansion and active-cell state; both variants, sizes, densities, captions, numeric/logical alignment, Container overflow, deep hierarchy, 320px, zoom, RTL, long content, light/dark appearance, forced colors, reduced motion, and any windowed active target.
42
+
43
+ ## Related guidance
44
+
45
+ - `@flowstack-ui/atom/agents/tree-grid`
46
+ - `tree`
47
+ - `data-grid`
48
+ - `table`
49
+ - `toolbar`
50
+ - `pagination`
51
+ - `scroll-area`
@@ -0,0 +1,94 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "tree",
4
+ "name": "Tree",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Present a finished one-column hierarchy while Atom owns tree semantics, active-descendant focus, selection, expansion, typeahead, direction, Field state, and form submission.",
9
+ "useWhen": [
10
+ "People browse or optionally select expandable parent-child items with one primary content column, such as nested files, categories, or component groups."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "Hierarchical rows have several navigable columns, sections contain arbitrary disclosure content, data is flat and tabular, or the hierarchy is static reading content.",
15
+ "useInstead": "TreeGrid, Accordion or Collapsible, DataGrid, or List"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Give Tree.Root a stable accessible name and deliberate selection, expansion, direction, and form state. Compose uniquely valued Items containing required Brick ItemContent with decorative Indicator and reliable ItemText; place each nested Group as a sibling of ItemContent inside its actual parent Item.",
20
+ "Choose plain, soft, or outline plus sm or md and optional showGuide on Root. Keep links, commands, loading, filtering, routing, rename, drag and drop, virtualization, and persistence outside Tree."
21
+ ],
22
+ "rules": [
23
+ {
24
+ "id": "tree-name-anatomy",
25
+ "level": "must",
26
+ "statement": "Name Root and preserve tree, treeitem, and group relationships, automatic levels, ItemText labeling, and parent-child nesting; use Brick ItemContent as the one finished row paint owner."
27
+ },
28
+ {
29
+ "id": "tree-identity-state",
30
+ "level": "must",
31
+ "statement": "Give every Item a durable unique value, align scalar or array selection with multiple, and keep selection and expandedValue controlled or uncontrolled without mixing ownership."
32
+ },
33
+ {
34
+ "id": "tree-focus-keyboard",
35
+ "level": "must",
36
+ "statement": "Keep Root as the sole Tab stop and preserve active-descendant focus, visible-item Up/Down, Home/End, direction-aware expand/collapse and parent movement, typeahead, disabled skipping, bounded or looped policy, and scroll reveal."
37
+ },
38
+ {
39
+ "id": "tree-visible-state",
40
+ "level": "must",
41
+ "statement": "Mark only actual parent Items expandable, hide collapsed descendants from navigation, and allow Atom to relocate active state to a visible ancestor or reset when controlled expansion hides it."
42
+ },
43
+ {
44
+ "id": "tree-form-state",
45
+ "level": "must",
46
+ "statement": "Preserve Field naming and descriptions, disabled, read-only, required, invalid, and named submission; read-only may navigate but must not mutate selection or expansion through selection keys."
47
+ },
48
+ {
49
+ "id": "tree-content-boundary",
50
+ "level": "must",
51
+ "statement": "Keep Indicator decorative, ItemText reliable for naming and typeahead, active focus distinct from selected fill, and interactive descendants outside Tree; use application-owned adjacent controls instead of turning Item rows into mixed widgets."
52
+ },
53
+ {
54
+ "id": "tree-virtualization",
55
+ "level": "must",
56
+ "statement": "If an application windows a large tree, it must retain complete logical parent and level metadata and keep the active descendant and expansion target mounted; geometry utilities do not reconstruct tree semantics."
57
+ },
58
+ {
59
+ "id": "tree-css",
60
+ "level": "must",
61
+ "statement": "Load styles.css or core.css plus tree.css and every stylesheet for adjacent composed controls."
62
+ }
63
+ ],
64
+ "commonMistakes": [
65
+ {
66
+ "mistake": "Using Tree for arbitrary disclosures, marking leaves expandable for an icon, placing Group outside its parent, or giving every Item a Tab stop.",
67
+ "correction": "Choose Accordion or Collapsible for content, mark only real parents, keep nested Group inside its Item, and preserve Root-owned composite focus."
68
+ },
69
+ {
70
+ "mistake": "Omitting ItemText for complex rows, using duplicate or visual-index values, or inserting buttons and links into ItemContent.",
71
+ "correction": "Register complete searchable text, use durable identities, and keep row actions in separately owned application UI."
72
+ }
73
+ ],
74
+ "validation": [
75
+ "Verify Root naming; tree/treeitem/group relationships; automatic levels; ItemText names; unique values; parent nesting; collapsed visibility; controlled and uncontrolled single/multiple selection and expansion; read-only; Field state; form submission; and collapse of the active branch.",
76
+ "Exercise initial focus, LTR/RTL expand and parent keys, Up/Down, Home/End, loop boundaries, typeahead cycling and prefixes, pointer selection, disabled Items, scroll reveal, force-mounted hidden Groups, native props, refs, and composition.",
77
+ "Verify all recipes and sizes, showGuide, long wrapping labels, deep indentation, narrow width, zoom, RTL, active versus selected paint, touch density, light/dark appearance, forced colors, reduced motion, and any windowed active target."
78
+ ],
79
+ "related": [
80
+ {
81
+ "kind": "package",
82
+ "package": "@flowstack-ui/atom",
83
+ "id": "tree",
84
+ "versionPolicy": "installed-exact"
85
+ },
86
+ "tree-grid",
87
+ "accordion",
88
+ "collapsible",
89
+ "data-grid",
90
+ "list",
91
+ "field",
92
+ "form"
93
+ ]
94
+ }
@@ -0,0 +1,51 @@
1
+ # Tree agent guide
2
+
3
+ ## Purpose
4
+
5
+ Present a finished one-column hierarchy while Atom owns tree semantics, active-descendant focus, selection, expansion, typeahead, direction, Field state, and form submission.
6
+
7
+ ## Use when
8
+
9
+ - People browse or optionally select expandable parent-child items with one primary content column, such as nested files, categories, or component groups.
10
+
11
+ ## Choose something else when
12
+
13
+ - Hierarchical rows have several navigable columns, sections contain arbitrary disclosure content, data is flat and tabular, or the hierarchy is static reading content. Use TreeGrid, Accordion or Collapsible, DataGrid, or List.
14
+
15
+ ## Required composition
16
+
17
+ - Give Tree.Root a stable accessible name and deliberate selection, expansion, direction, and form state. Compose uniquely valued Items containing required Brick ItemContent with decorative Indicator and reliable ItemText; place each nested Group as a sibling of ItemContent inside its actual parent Item.
18
+ - Choose plain, soft, or outline plus sm or md and optional showGuide on Root. Keep links, commands, loading, filtering, routing, rename, drag and drop, virtualization, and persistence outside Tree.
19
+
20
+ ## Rules
21
+
22
+ - **MUST:** Name Root and preserve tree, treeitem, and group relationships, automatic levels, ItemText labeling, and parent-child nesting; use Brick ItemContent as the one finished row paint owner.
23
+ - **MUST:** Give every Item a durable unique value, align scalar or array selection with multiple, and keep selection and expandedValue controlled or uncontrolled without mixing ownership.
24
+ - **MUST:** Keep Root as the sole Tab stop and preserve active-descendant focus, visible-item Up/Down, Home/End, direction-aware expand/collapse and parent movement, typeahead, disabled skipping, bounded or looped policy, and scroll reveal.
25
+ - **MUST:** Mark only actual parent Items expandable, hide collapsed descendants from navigation, and allow Atom to relocate active state to a visible ancestor or reset when controlled expansion hides it.
26
+ - **MUST:** Preserve Field naming and descriptions, disabled, read-only, required, invalid, and named submission; read-only may navigate but must not mutate selection or expansion through selection keys.
27
+ - **MUST:** Keep Indicator decorative, ItemText reliable for naming and typeahead, active focus distinct from selected fill, and interactive descendants outside Tree; use application-owned adjacent controls instead of turning Item rows into mixed widgets.
28
+ - **MUST:** If an application windows a large tree, it must retain complete logical parent and level metadata and keep the active descendant and expansion target mounted; geometry utilities do not reconstruct tree semantics.
29
+ - **MUST:** Load styles.css or core.css plus tree.css and every stylesheet for adjacent composed controls.
30
+
31
+ ## Common mistakes
32
+
33
+ - **Avoid:** Using Tree for arbitrary disclosures, marking leaves expandable for an icon, placing Group outside its parent, or giving every Item a Tab stop. **Instead:** Choose Accordion or Collapsible for content, mark only real parents, keep nested Group inside its Item, and preserve Root-owned composite focus.
34
+ - **Avoid:** Omitting ItemText for complex rows, using duplicate or visual-index values, or inserting buttons and links into ItemContent. **Instead:** Register complete searchable text, use durable identities, and keep row actions in separately owned application UI.
35
+
36
+ ## Validation checklist
37
+
38
+ - Verify Root naming; tree/treeitem/group relationships; automatic levels; ItemText names; unique values; parent nesting; collapsed visibility; controlled and uncontrolled single/multiple selection and expansion; read-only; Field state; form submission; and collapse of the active branch.
39
+ - Exercise initial focus, LTR/RTL expand and parent keys, Up/Down, Home/End, loop boundaries, typeahead cycling and prefixes, pointer selection, disabled Items, scroll reveal, force-mounted hidden Groups, native props, refs, and composition.
40
+ - Verify all recipes and sizes, showGuide, long wrapping labels, deep indentation, narrow width, zoom, RTL, active versus selected paint, touch density, light/dark appearance, forced colors, reduced motion, and any windowed active target.
41
+
42
+ ## Related guidance
43
+
44
+ - `@flowstack-ui/atom/agents/tree`
45
+ - `tree-grid`
46
+ - `accordion`
47
+ - `collapsible`
48
+ - `data-grid`
49
+ - `list`
50
+ - `field`
51
+ - `form`
@@ -0,0 +1,70 @@
1
+ {
2
+ "schema": "flowstack.agent-component.v1",
3
+ "id": "visually-hidden",
4
+ "name": "VisuallyHidden",
5
+ "package": "@flowstack-ui/brick",
6
+ "layer": "brick",
7
+ "kind": "component",
8
+ "purpose": "Keep a short authored name or equivalent context available to assistive technology without adding a visible layout footprint.",
9
+ "useWhen": [
10
+ "A nearby visual already communicates the same short meaning but a control, state, or relationship still needs an accessible text equivalent."
11
+ ],
12
+ "avoidWhen": [
13
+ {
14
+ "condition": "The text is an essential instruction, visible state, error, focusable control, or asynchronous announcement.",
15
+ "useInstead": "visible Text or the application-owned feedback and live-region pattern"
16
+ }
17
+ ],
18
+ "composition": [
19
+ "Place a short equivalent phrase in VisuallyHidden.Root inside the semantic owner whose accessible name or reading context it extends; keep the focusable control itself visible and keep live-region policy outside Root."
20
+ ],
21
+ "rules": [
22
+ {
23
+ "id": "visually-hidden-equivalent",
24
+ "level": "must",
25
+ "statement": "Keep hidden text short, specific, correctly ordered, and equivalent to nearby visual meaning; prefer visible Text whenever information benefits everyone."
26
+ },
27
+ {
28
+ "id": "visually-hidden-no-focus",
29
+ "level": "must",
30
+ "statement": "Do not visually hide keyboard-focusable or interactive content; keep an icon-only Button visible and place VisuallyHidden text inside it."
31
+ },
32
+ {
33
+ "id": "visually-hidden-no-live",
34
+ "level": "must",
35
+ "statement": "Do not use VisuallyHidden as a substitute for visible feedback or deliberate application-owned live-region behavior."
36
+ },
37
+ {
38
+ "id": "visually-hidden-contract",
39
+ "level": "must",
40
+ "statement": "Do not override Atom's authoritative hiding geometry or confuse visually hidden accessible content with aria-hidden decorative content."
41
+ },
42
+ {
43
+ "id": "visually-hidden-css",
44
+ "level": "must",
45
+ "statement": "Load styles.css or core.css plus visually-hidden.css."
46
+ }
47
+ ],
48
+ "commonMistakes": [
49
+ {
50
+ "mistake": "Hiding essential instructions, wrapping a focusable control in Root, using it for decoration, or duplicating an existing name.",
51
+ "correction": "Keep essential content and controls visible, use aria-hidden for decoration, and add concise hidden text once inside the semantic owner."
52
+ }
53
+ ],
54
+ "validation": [
55
+ "Inspect the accessibility tree and computed name or description to confirm hidden wording is present exactly once in the intended reading order.",
56
+ "Confirm Root has no layout footprint, no visually absent focus target, authoritative hiding survives consumer style and composition, decorative content uses aria-hidden, and behavior remains stable across zoom, direction, and appearance."
57
+ ],
58
+ "related": [
59
+ {
60
+ "kind": "package",
61
+ "package": "@flowstack-ui/atom",
62
+ "id": "visually-hidden",
63
+ "versionPolicy": "installed-exact"
64
+ },
65
+ "icon",
66
+ "icon-button",
67
+ "text",
68
+ "status"
69
+ ]
70
+ }