@flowstack-ui/agent-tools 0.1.0-bootstrap.0

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 (239) hide show
  1. package/.codex-plugin/plugin.json +37 -0
  2. package/CHANGELOG.md +21 -0
  3. package/LICENSE +21 -0
  4. package/README.md +125 -0
  5. package/docs/architecture.md +77 -0
  6. package/docs/releasing.md +26 -0
  7. package/docs/testing.md +32 -0
  8. package/package.json +63 -0
  9. package/public/index.json +2073 -0
  10. package/public/llms.txt +19 -0
  11. package/public/packages/atom/0.24.0/components/accordion.txt +131 -0
  12. package/public/packages/atom/0.24.0/components/alert-dialog.txt +112 -0
  13. package/public/packages/atom/0.24.0/components/app-bar.txt +96 -0
  14. package/public/packages/atom/0.24.0/components/aspect-ratio.txt +111 -0
  15. package/public/packages/atom/0.24.0/components/avatar.txt +119 -0
  16. package/public/packages/atom/0.24.0/components/badge.txt +123 -0
  17. package/public/packages/atom/0.24.0/components/bottom-navigation.txt +96 -0
  18. package/public/packages/atom/0.24.0/components/breadcrumb.txt +96 -0
  19. package/public/packages/atom/0.24.0/components/button.txt +98 -0
  20. package/public/packages/atom/0.24.0/components/carousel.txt +128 -0
  21. package/public/packages/atom/0.24.0/components/checkbox-group.txt +118 -0
  22. package/public/packages/atom/0.24.0/components/checkbox.txt +100 -0
  23. package/public/packages/atom/0.24.0/components/clipboard.txt +112 -0
  24. package/public/packages/atom/0.24.0/components/collapsible.txt +112 -0
  25. package/public/packages/atom/0.24.0/components/color-picker.txt +117 -0
  26. package/public/packages/atom/0.24.0/components/combobox.txt +126 -0
  27. package/public/packages/atom/0.24.0/components/context-menu.txt +114 -0
  28. package/public/packages/atom/0.24.0/components/data-grid.txt +136 -0
  29. package/public/packages/atom/0.24.0/components/dialog.txt +116 -0
  30. package/public/packages/atom/0.24.0/components/direction.txt +132 -0
  31. package/public/packages/atom/0.24.0/components/divider.txt +94 -0
  32. package/public/packages/atom/0.24.0/components/drag-drop.txt +141 -0
  33. package/public/packages/atom/0.24.0/components/drawer.txt +96 -0
  34. package/public/packages/atom/0.24.0/components/dropdown-menu.txt +112 -0
  35. package/public/packages/atom/0.24.0/components/feed.txt +132 -0
  36. package/public/packages/atom/0.24.0/components/field.txt +108 -0
  37. package/public/packages/atom/0.24.0/components/fieldset.txt +96 -0
  38. package/public/packages/atom/0.24.0/components/file-upload.txt +120 -0
  39. package/public/packages/atom/0.24.0/components/form.txt +98 -0
  40. package/public/packages/atom/0.24.0/components/hover-card.txt +114 -0
  41. package/public/packages/atom/0.24.0/components/image.txt +94 -0
  42. package/public/packages/atom/0.24.0/components/input.txt +96 -0
  43. package/public/packages/atom/0.24.0/components/label.txt +121 -0
  44. package/public/packages/atom/0.24.0/components/link.txt +100 -0
  45. package/public/packages/atom/0.24.0/components/list.txt +131 -0
  46. package/public/packages/atom/0.24.0/components/listbox.txt +120 -0
  47. package/public/packages/atom/0.24.0/components/menu.txt +126 -0
  48. package/public/packages/atom/0.24.0/components/menubar.txt +120 -0
  49. package/public/packages/atom/0.24.0/components/modal.txt +118 -0
  50. package/public/packages/atom/0.24.0/components/multi-select.txt +120 -0
  51. package/public/packages/atom/0.24.0/components/nav-list.txt +104 -0
  52. package/public/packages/atom/0.24.0/components/navigation-menu.txt +104 -0
  53. package/public/packages/atom/0.24.0/components/number-input.txt +124 -0
  54. package/public/packages/atom/0.24.0/components/otp-field.txt +122 -0
  55. package/public/packages/atom/0.24.0/components/pagination.txt +111 -0
  56. package/public/packages/atom/0.24.0/components/password-toggle-field.txt +116 -0
  57. package/public/packages/atom/0.24.0/components/popover.txt +122 -0
  58. package/public/packages/atom/0.24.0/components/pressable.txt +94 -0
  59. package/public/packages/atom/0.24.0/components/progress.txt +130 -0
  60. package/public/packages/atom/0.24.0/components/radio-group.txt +118 -0
  61. package/public/packages/atom/0.24.0/components/rating.txt +122 -0
  62. package/public/packages/atom/0.24.0/components/reorder.txt +141 -0
  63. package/public/packages/atom/0.24.0/components/scroll-area.txt +96 -0
  64. package/public/packages/atom/0.24.0/components/select.txt +126 -0
  65. package/public/packages/atom/0.24.0/components/sidebar.txt +96 -0
  66. package/public/packages/atom/0.24.0/components/skip-link.txt +96 -0
  67. package/public/packages/atom/0.24.0/components/slider.txt +124 -0
  68. package/public/packages/atom/0.24.0/components/swipeable-item.txt +118 -0
  69. package/public/packages/atom/0.24.0/components/switch.txt +116 -0
  70. package/public/packages/atom/0.24.0/components/table.txt +128 -0
  71. package/public/packages/atom/0.24.0/components/tabs.txt +96 -0
  72. package/public/packages/atom/0.24.0/components/textarea.txt +96 -0
  73. package/public/packages/atom/0.24.0/components/toast.txt +124 -0
  74. package/public/packages/atom/0.24.0/components/toggle-group.txt +118 -0
  75. package/public/packages/atom/0.24.0/components/toggle.txt +110 -0
  76. package/public/packages/atom/0.24.0/components/toolbar.txt +98 -0
  77. package/public/packages/atom/0.24.0/components/tooltip.txt +112 -0
  78. package/public/packages/atom/0.24.0/components/tree-grid.txt +138 -0
  79. package/public/packages/atom/0.24.0/components/tree.txt +138 -0
  80. package/public/packages/atom/0.24.0/components/visually-hidden.txt +119 -0
  81. package/public/packages/atom/0.24.0/docs/guides/agent-knowledge.txt +55 -0
  82. package/public/packages/atom/0.24.0/docs/guides/getting-started.txt +65 -0
  83. package/public/packages/atom/0.24.0/docs/guides/imports.txt +26 -0
  84. package/public/packages/atom/0.24.0/docs/guides/public-api.txt +100 -0
  85. package/public/packages/atom/0.24.0/guides/behavior-composition.txt +277 -0
  86. package/public/packages/atom/0.24.0/guides/layer-selection.txt +807 -0
  87. package/public/packages/atom/0.24.0/index.txt +89 -0
  88. package/public/packages/brick/0.1.11/components/accordion.txt +158 -0
  89. package/public/packages/brick/0.1.11/components/alert-dialog.txt +175 -0
  90. package/public/packages/brick/0.1.11/components/app-bar.txt +134 -0
  91. package/public/packages/brick/0.1.11/components/appearance.txt +143 -0
  92. package/public/packages/brick/0.1.11/components/aspect-ratio.txt +136 -0
  93. package/public/packages/brick/0.1.11/components/avatar.txt +152 -0
  94. package/public/packages/brick/0.1.11/components/badge.txt +139 -0
  95. package/public/packages/brick/0.1.11/components/bleed.txt +104 -0
  96. package/public/packages/brick/0.1.11/components/bottom-navigation.txt +106 -0
  97. package/public/packages/brick/0.1.11/components/breadcrumb.txt +96 -0
  98. package/public/packages/brick/0.1.11/components/button.txt +103 -0
  99. package/public/packages/brick/0.1.11/components/card.txt +132 -0
  100. package/public/packages/brick/0.1.11/components/carousel.txt +206 -0
  101. package/public/packages/brick/0.1.11/components/checkbox-group.txt +175 -0
  102. package/public/packages/brick/0.1.11/components/checkbox.txt +103 -0
  103. package/public/packages/brick/0.1.11/components/chip.txt +128 -0
  104. package/public/packages/brick/0.1.11/components/code-block.txt +134 -0
  105. package/public/packages/brick/0.1.11/components/code.txt +120 -0
  106. package/public/packages/brick/0.1.11/components/collapsible.txt +179 -0
  107. package/public/packages/brick/0.1.11/components/color-picker.txt +135 -0
  108. package/public/packages/brick/0.1.11/components/color-swatch.txt +98 -0
  109. package/public/packages/brick/0.1.11/components/combobox.txt +157 -0
  110. package/public/packages/brick/0.1.11/components/container.txt +112 -0
  111. package/public/packages/brick/0.1.11/components/context-menu.txt +174 -0
  112. package/public/packages/brick/0.1.11/components/data-grid.txt +199 -0
  113. package/public/packages/brick/0.1.11/components/data-list.txt +115 -0
  114. package/public/packages/brick/0.1.11/components/dialog.txt +176 -0
  115. package/public/packages/brick/0.1.11/components/divider.txt +104 -0
  116. package/public/packages/brick/0.1.11/components/drawer.txt +146 -0
  117. package/public/packages/brick/0.1.11/components/dropdown-menu.txt +179 -0
  118. package/public/packages/brick/0.1.11/components/feed.txt +143 -0
  119. package/public/packages/brick/0.1.11/components/field.txt +115 -0
  120. package/public/packages/brick/0.1.11/components/fieldset.txt +103 -0
  121. package/public/packages/brick/0.1.11/components/file-upload.txt +154 -0
  122. package/public/packages/brick/0.1.11/components/form.txt +108 -0
  123. package/public/packages/brick/0.1.11/components/frame.txt +132 -0
  124. package/public/packages/brick/0.1.11/components/grid.txt +141 -0
  125. package/public/packages/brick/0.1.11/components/group.txt +136 -0
  126. package/public/packages/brick/0.1.11/components/hide.txt +121 -0
  127. package/public/packages/brick/0.1.11/components/hover-card.txt +156 -0
  128. package/public/packages/brick/0.1.11/components/icon-button.txt +119 -0
  129. package/public/packages/brick/0.1.11/components/icon.txt +160 -0
  130. package/public/packages/brick/0.1.11/components/image.txt +163 -0
  131. package/public/packages/brick/0.1.11/components/input.txt +101 -0
  132. package/public/packages/brick/0.1.11/components/link-box.txt +161 -0
  133. package/public/packages/brick/0.1.11/components/link.txt +133 -0
  134. package/public/packages/brick/0.1.11/components/list.txt +139 -0
  135. package/public/packages/brick/0.1.11/components/menubar.txt +174 -0
  136. package/public/packages/brick/0.1.11/components/multi-select.txt +153 -0
  137. package/public/packages/brick/0.1.11/components/nav-list.txt +130 -0
  138. package/public/packages/brick/0.1.11/components/navigation-menu.txt +150 -0
  139. package/public/packages/brick/0.1.11/components/notification-badge.txt +148 -0
  140. package/public/packages/brick/0.1.11/components/number-input.txt +150 -0
  141. package/public/packages/brick/0.1.11/components/otp-field.txt +146 -0
  142. package/public/packages/brick/0.1.11/components/pagination.txt +124 -0
  143. package/public/packages/brick/0.1.11/components/password-toggle-field.txt +146 -0
  144. package/public/packages/brick/0.1.11/components/popover.txt +181 -0
  145. package/public/packages/brick/0.1.11/components/progress-circle.txt +142 -0
  146. package/public/packages/brick/0.1.11/components/progress.txt +150 -0
  147. package/public/packages/brick/0.1.11/components/radio-group.txt +152 -0
  148. package/public/packages/brick/0.1.11/components/rating.txt +151 -0
  149. package/public/packages/brick/0.1.11/components/reorderable-list.txt +130 -0
  150. package/public/packages/brick/0.1.11/components/scroll-area.txt +110 -0
  151. package/public/packages/brick/0.1.11/components/section.txt +118 -0
  152. package/public/packages/brick/0.1.11/components/segment-group.txt +116 -0
  153. package/public/packages/brick/0.1.11/components/select.txt +157 -0
  154. package/public/packages/brick/0.1.11/components/show.txt +121 -0
  155. package/public/packages/brick/0.1.11/components/sidebar.txt +126 -0
  156. package/public/packages/brick/0.1.11/components/skeleton.txt +127 -0
  157. package/public/packages/brick/0.1.11/components/skip-link.txt +102 -0
  158. package/public/packages/brick/0.1.11/components/slider.txt +147 -0
  159. package/public/packages/brick/0.1.11/components/stack.txt +155 -0
  160. package/public/packages/brick/0.1.11/components/status.txt +110 -0
  161. package/public/packages/brick/0.1.11/components/surface.txt +194 -0
  162. package/public/packages/brick/0.1.11/components/swipeable-item.txt +154 -0
  163. package/public/packages/brick/0.1.11/components/switch.txt +152 -0
  164. package/public/packages/brick/0.1.11/components/table.txt +183 -0
  165. package/public/packages/brick/0.1.11/components/tabs.txt +136 -0
  166. package/public/packages/brick/0.1.11/components/text.txt +148 -0
  167. package/public/packages/brick/0.1.11/components/textarea.txt +101 -0
  168. package/public/packages/brick/0.1.11/components/toast.txt +150 -0
  169. package/public/packages/brick/0.1.11/components/toggle-group.txt +149 -0
  170. package/public/packages/brick/0.1.11/components/toggle.txt +140 -0
  171. package/public/packages/brick/0.1.11/components/toolbar.txt +118 -0
  172. package/public/packages/brick/0.1.11/components/tooltip.txt +156 -0
  173. package/public/packages/brick/0.1.11/components/tree-grid.txt +160 -0
  174. package/public/packages/brick/0.1.11/components/tree.txt +156 -0
  175. package/public/packages/brick/0.1.11/components/visually-hidden.txt +123 -0
  176. package/public/packages/brick/0.1.11/components/z-stack.txt +143 -0
  177. package/public/packages/brick/0.1.11/docs/guides/agent-knowledge.txt +67 -0
  178. package/public/packages/brick/0.1.11/docs/guides/appearance-and-tokens.txt +179 -0
  179. package/public/packages/brick/0.1.11/docs/guides/browser-support.txt +25 -0
  180. package/public/packages/brick/0.1.11/docs/guides/control-sizing.txt +59 -0
  181. package/public/packages/brick/0.1.11/docs/guides/installation.txt +79 -0
  182. package/public/packages/brick/0.1.11/docs/guides/theme-contract.txt +90 -0
  183. package/public/packages/brick/0.1.11/guides/interface-composition.txt +665 -0
  184. package/public/packages/brick/0.1.11/guides/layer-selection.txt +1437 -0
  185. package/public/packages/brick/0.1.11/index.txt +110 -0
  186. package/public/packages/colors/0.1.1/docs/agent-knowledge.txt +63 -0
  187. package/public/packages/colors/0.1.1/docs/architecture.txt +74 -0
  188. package/public/packages/colors/0.1.1/docs/color-foundations.txt +128 -0
  189. package/public/packages/colors/0.1.1/docs/compatibility.txt +75 -0
  190. package/public/packages/colors/0.1.1/docs/dependency-qualification.txt +117 -0
  191. package/public/packages/colors/0.1.1/docs/installation.txt +48 -0
  192. package/public/packages/colors/0.1.1/docs/palette-generation.txt +151 -0
  193. package/public/packages/colors/0.1.1/docs/releasing.txt +34 -0
  194. package/public/packages/colors/0.1.1/docs/testing.txt +51 -0
  195. package/public/packages/colors/0.1.1/guides/colors-system.txt +282 -0
  196. package/public/packages/colors/0.1.1/index.txt +29 -0
  197. package/public/packages/colors/0.1.1/operations/color-conversion.txt +14 -0
  198. package/public/packages/colors/0.1.1/operations/color-inspection.txt +23 -0
  199. package/public/packages/colors/0.1.1/operations/color-measurement.txt +18 -0
  200. package/public/packages/colors/0.1.1/operations/color-provenance.txt +14 -0
  201. package/public/packages/colors/0.1.1/operations/named-palette-reference.txt +15 -0
  202. package/public/packages/colors/0.1.1/operations/palette-candidate.txt +37 -0
  203. package/public/packages/theme/0.1.1/docs/agent-knowledge.txt +44 -0
  204. package/public/packages/theme/0.1.1/docs/appearances-and-portals.txt +41 -0
  205. package/public/packages/theme/0.1.1/docs/architecture.txt +121 -0
  206. package/public/packages/theme/0.1.1/docs/authoring.txt +141 -0
  207. package/public/packages/theme/0.1.1/docs/colors-interchange.txt +82 -0
  208. package/public/packages/theme/0.1.1/docs/fonts.txt +40 -0
  209. package/public/packages/theme/0.1.1/docs/installation.txt +45 -0
  210. package/public/packages/theme/0.1.1/docs/migration.txt +40 -0
  211. package/public/packages/theme/0.1.1/docs/testing.txt +64 -0
  212. package/public/packages/theme/0.1.1/docs/troubleshooting.txt +53 -0
  213. package/public/packages/theme/0.1.1/guides/theme-system.txt +340 -0
  214. package/public/packages/theme/0.1.1/index.txt +31 -0
  215. package/public/packages/theme/0.1.1/operations/brick-contract-compatibility.txt +35 -0
  216. package/public/packages/theme/0.1.1/operations/colors-interchange.txt +35 -0
  217. package/public/packages/theme/0.1.1/operations/theme-artifacts.txt +19 -0
  218. package/public/packages/theme/0.1.1/operations/theme-cli.txt +10 -0
  219. package/public/packages/theme/0.1.1/operations/theme-compilation.txt +23 -0
  220. package/public/packages/theme/0.1.1/operations/theme-definition.txt +36 -0
  221. package/public/packages/theme/0.1.1/operations/theme-validation.txt +19 -0
  222. package/public/tasks/data.txt +39 -0
  223. package/public/tasks/forms.txt +65 -0
  224. package/public/tasks/layout.txt +37 -0
  225. package/public/tasks/navigation.txt +51 -0
  226. package/public/tasks/overlays.txt +39 -0
  227. package/public/tasks/theming.txt +37 -0
  228. package/skills/flowstack-ui-builder/SKILL.md +35 -0
  229. package/skills/flowstack-ui-builder/agents/openai.yaml +4 -0
  230. package/skills/flowstack-ui-builder/scripts/resolve-agent-knowledge.mjs +399 -0
  231. package/skills/flowstack-ui-compose/SKILL.md +32 -0
  232. package/skills/flowstack-ui-compose/agents/openai.yaml +4 -0
  233. package/skills/flowstack-ui-compose/scripts/resolve-agent-knowledge.mjs +399 -0
  234. package/skills/flowstack-ui-maintainer/SKILL.md +40 -0
  235. package/skills/flowstack-ui-maintainer/agents/openai.yaml +4 -0
  236. package/skills/flowstack-ui-maintainer/scripts/resolve-agent-knowledge.mjs +399 -0
  237. package/skills/flowstack-ui-review/SKILL.md +29 -0
  238. package/skills/flowstack-ui-review/agents/openai.yaml +4 -0
  239. package/skills/flowstack-ui-review/scripts/resolve-agent-knowledge.mjs +399 -0
@@ -0,0 +1,110 @@
1
+ # @flowstack-ui/brick@0.1.11
2
+
3
+ Archive SHA-256: `2ef92c69dad840583a6b47a854650734e1f18b902cf4a712174a0d95dcab4f1f`
4
+ Coverage: 2594/2594 public surfaces; zero failures.
5
+
6
+ ## component
7
+
8
+ - [Accordion](/packages/brick/0.1.11/components/accordion.txt)
9
+ - [AlertDialog](/packages/brick/0.1.11/components/alert-dialog.txt)
10
+ - [AppBar](/packages/brick/0.1.11/components/app-bar.txt)
11
+ - [Appearance](/packages/brick/0.1.11/components/appearance.txt)
12
+ - [AspectRatio](/packages/brick/0.1.11/components/aspect-ratio.txt)
13
+ - [Avatar](/packages/brick/0.1.11/components/avatar.txt)
14
+ - [Badge](/packages/brick/0.1.11/components/badge.txt)
15
+ - [Bleed](/packages/brick/0.1.11/components/bleed.txt)
16
+ - [BottomNavigation](/packages/brick/0.1.11/components/bottom-navigation.txt)
17
+ - [Breadcrumb](/packages/brick/0.1.11/components/breadcrumb.txt)
18
+ - [Button](/packages/brick/0.1.11/components/button.txt)
19
+ - [Card](/packages/brick/0.1.11/components/card.txt)
20
+ - [Carousel](/packages/brick/0.1.11/components/carousel.txt)
21
+ - [Checkbox](/packages/brick/0.1.11/components/checkbox.txt)
22
+ - [Checkbox Group](/packages/brick/0.1.11/components/checkbox-group.txt)
23
+ - [Chip](/packages/brick/0.1.11/components/chip.txt)
24
+ - [Code](/packages/brick/0.1.11/components/code.txt)
25
+ - [Code Block](/packages/brick/0.1.11/components/code-block.txt)
26
+ - [Collapsible](/packages/brick/0.1.11/components/collapsible.txt)
27
+ - [Color Picker](/packages/brick/0.1.11/components/color-picker.txt)
28
+ - [Color Swatch](/packages/brick/0.1.11/components/color-swatch.txt)
29
+ - [Combobox](/packages/brick/0.1.11/components/combobox.txt)
30
+ - [Container](/packages/brick/0.1.11/components/container.txt)
31
+ - [ContextMenu](/packages/brick/0.1.11/components/context-menu.txt)
32
+ - [Data Grid](/packages/brick/0.1.11/components/data-grid.txt)
33
+ - [Data List](/packages/brick/0.1.11/components/data-list.txt)
34
+ - [Dialog](/packages/brick/0.1.11/components/dialog.txt)
35
+ - [Divider](/packages/brick/0.1.11/components/divider.txt)
36
+ - [Drawer](/packages/brick/0.1.11/components/drawer.txt)
37
+ - [DropdownMenu](/packages/brick/0.1.11/components/dropdown-menu.txt)
38
+ - [Feed](/packages/brick/0.1.11/components/feed.txt)
39
+ - [Field](/packages/brick/0.1.11/components/field.txt)
40
+ - [Fieldset](/packages/brick/0.1.11/components/fieldset.txt)
41
+ - [FileUpload](/packages/brick/0.1.11/components/file-upload.txt)
42
+ - [Form](/packages/brick/0.1.11/components/form.txt)
43
+ - [Frame](/packages/brick/0.1.11/components/frame.txt)
44
+ - [Grid](/packages/brick/0.1.11/components/grid.txt)
45
+ - [Group](/packages/brick/0.1.11/components/group.txt)
46
+ - [Hide](/packages/brick/0.1.11/components/hide.txt)
47
+ - [HoverCard](/packages/brick/0.1.11/components/hover-card.txt)
48
+ - [Icon](/packages/brick/0.1.11/components/icon.txt)
49
+ - [IconButton](/packages/brick/0.1.11/components/icon-button.txt)
50
+ - [Image](/packages/brick/0.1.11/components/image.txt)
51
+ - [Input](/packages/brick/0.1.11/components/input.txt)
52
+ - [Link](/packages/brick/0.1.11/components/link.txt)
53
+ - [Link Box](/packages/brick/0.1.11/components/link-box.txt)
54
+ - [List](/packages/brick/0.1.11/components/list.txt)
55
+ - [Menubar](/packages/brick/0.1.11/components/menubar.txt)
56
+ - [MultiSelect](/packages/brick/0.1.11/components/multi-select.txt)
57
+ - [NavList](/packages/brick/0.1.11/components/nav-list.txt)
58
+ - [NavigationMenu](/packages/brick/0.1.11/components/navigation-menu.txt)
59
+ - [NotificationBadge](/packages/brick/0.1.11/components/notification-badge.txt)
60
+ - [NumberInput](/packages/brick/0.1.11/components/number-input.txt)
61
+ - [OTPField](/packages/brick/0.1.11/components/otp-field.txt)
62
+ - [Pagination](/packages/brick/0.1.11/components/pagination.txt)
63
+ - [PasswordToggleField](/packages/brick/0.1.11/components/password-toggle-field.txt)
64
+ - [Popover](/packages/brick/0.1.11/components/popover.txt)
65
+ - [Progress](/packages/brick/0.1.11/components/progress.txt)
66
+ - [ProgressCircle](/packages/brick/0.1.11/components/progress-circle.txt)
67
+ - [RadioGroup](/packages/brick/0.1.11/components/radio-group.txt)
68
+ - [Rating](/packages/brick/0.1.11/components/rating.txt)
69
+ - [Reorderable List](/packages/brick/0.1.11/components/reorderable-list.txt)
70
+ - [ScrollArea](/packages/brick/0.1.11/components/scroll-area.txt)
71
+ - [Section](/packages/brick/0.1.11/components/section.txt)
72
+ - [SegmentGroup](/packages/brick/0.1.11/components/segment-group.txt)
73
+ - [Select](/packages/brick/0.1.11/components/select.txt)
74
+ - [Show](/packages/brick/0.1.11/components/show.txt)
75
+ - [Sidebar](/packages/brick/0.1.11/components/sidebar.txt)
76
+ - [Skeleton](/packages/brick/0.1.11/components/skeleton.txt)
77
+ - [SkipLink](/packages/brick/0.1.11/components/skip-link.txt)
78
+ - [Slider](/packages/brick/0.1.11/components/slider.txt)
79
+ - [Stack](/packages/brick/0.1.11/components/stack.txt)
80
+ - [Status](/packages/brick/0.1.11/components/status.txt)
81
+ - [Surface](/packages/brick/0.1.11/components/surface.txt)
82
+ - [SwipeableItem](/packages/brick/0.1.11/components/swipeable-item.txt)
83
+ - [Switch](/packages/brick/0.1.11/components/switch.txt)
84
+ - [Table](/packages/brick/0.1.11/components/table.txt)
85
+ - [Tabs](/packages/brick/0.1.11/components/tabs.txt)
86
+ - [Text](/packages/brick/0.1.11/components/text.txt)
87
+ - [Textarea](/packages/brick/0.1.11/components/textarea.txt)
88
+ - [Toast](/packages/brick/0.1.11/components/toast.txt)
89
+ - [Toggle](/packages/brick/0.1.11/components/toggle.txt)
90
+ - [ToggleGroup](/packages/brick/0.1.11/components/toggle-group.txt)
91
+ - [Toolbar](/packages/brick/0.1.11/components/toolbar.txt)
92
+ - [Tooltip](/packages/brick/0.1.11/components/tooltip.txt)
93
+ - [Tree](/packages/brick/0.1.11/components/tree.txt)
94
+ - [TreeGrid](/packages/brick/0.1.11/components/tree-grid.txt)
95
+ - [VisuallyHidden](/packages/brick/0.1.11/components/visually-hidden.txt)
96
+ - [ZStack](/packages/brick/0.1.11/components/z-stack.txt)
97
+
98
+ ## document
99
+
100
+ - [guides/agent-knowledge](/packages/brick/0.1.11/docs/guides/agent-knowledge.txt)
101
+ - [guides/appearance-and-tokens](/packages/brick/0.1.11/docs/guides/appearance-and-tokens.txt)
102
+ - [guides/browser-support](/packages/brick/0.1.11/docs/guides/browser-support.txt)
103
+ - [guides/control-sizing](/packages/brick/0.1.11/docs/guides/control-sizing.txt)
104
+ - [guides/installation](/packages/brick/0.1.11/docs/guides/installation.txt)
105
+ - [guides/theme-contract](/packages/brick/0.1.11/docs/guides/theme-contract.txt)
106
+
107
+ ## guide
108
+
109
+ - [Brick interface composition](/packages/brick/0.1.11/guides/interface-composition.txt)
110
+ - [Brick layer selection](/packages/brick/0.1.11/guides/layer-selection.txt)
@@ -0,0 +1,63 @@
1
+ # Public document: agent-knowledge
2
+
3
+ Source: @flowstack-ui/colors@0.1.1
4
+
5
+ # Colors Agent Knowledge
6
+
7
+ Colors publishes deterministic, versioned guidance for agents that need to
8
+ choose and use its color operations. The guidance describes operations, not UI
9
+ components: Colors has no component, DOM, Theme, or application ownership.
10
+
11
+ ## Discovery
12
+
13
+ Start with these package exports:
14
+
15
+ - `@flowstack-ui/colors/agents/manifest.json` lists the package guide, all six
16
+ operation owners, and the coverage report.
17
+ - `@flowstack-ui/colors/agents/coverage.json` proves that all 76 named public
18
+ API surfaces are classified and all six operation owners are routed.
19
+ - `@flowstack-ui/colors/agents/colors-system.json` is the structured selection,
20
+ boundary, and validation guide.
21
+ - `@flowstack-ui/colors/agents/colors-system.md` is deterministic Markdown
22
+ generated from that same JSON guide.
23
+
24
+ The two direct `colors-system` subpaths remain stable compatibility routes.
25
+ Wildcard `agents/*.json` and `agents/*.md` exports let consumers follow future
26
+ manifest entries without adding a package export for every artifact.
27
+
28
+ ## Operation owners
29
+
30
+ The manifest routes these six public operation families:
31
+
32
+ 1. `color-inspection` parses, validates, and normalizes color input.
33
+ 2. `color-conversion` converts color spaces and maps output gamut explicitly.
34
+ 3. `color-measurement` calculates contrast and perceptual color difference.
35
+ 4. `named-palette-reference` reads the shipped raw reference palettes.
36
+ 5. `palette-candidate` generates and reviews deterministic palette candidates.
37
+ 6. `color-provenance` records serializable engine and operation provenance.
38
+
39
+ The package catalog at `agents/catalog.json` is the source classification used
40
+ to build the published reports. It must exactly match `src/index.ts`: stale,
41
+ missing, duplicate, or extra classifications fail the repository gate.
42
+
43
+ ## Boundaries
44
+
45
+ Agent guidance must preserve the same public boundary as the runtime:
46
+
47
+ - Colors produces deterministic color records, measurements, references, and
48
+ candidate data. It does not assign semantic Theme roles.
49
+ - A generated candidate is not an approved palette. Human review remains
50
+ explicit, and Theme mapping and application/brand approval happen later.
51
+ - Native CSS color handling is appropriate when no parsing, normalization,
52
+ conversion, measurement, provenance, or candidate artifact is required.
53
+ - Component selection, rendering, focus, interaction, and accessibility remain
54
+ outside this package.
55
+
56
+ ## Verification
57
+
58
+ Run `npm run agents:check` after editing source guidance or routing. Run
59
+ `npm run agents:build` to regenerate Markdown and `dist/agents`, then run the
60
+ complete `npm run check:repository` gate. The release gate packs the package,
61
+ installs that exact archive in a clean consumer, resolves every manifest
62
+ artifact, compares the installed 76-surface report with the installed type and
63
+ runtime exports, and exercises all six operation families.
@@ -0,0 +1,74 @@
1
+ # Public document: architecture
2
+
3
+ Source: @flowstack-ui/colors@0.1.1
4
+
5
+ # Colors Architecture
6
+
7
+ Status: **Batch 7.4 candidate interchange qualified**
8
+
9
+ Colors owns framework-independent color science and deterministic palette
10
+ candidate generation. Theme owns semantic mapping, exact editable theme
11
+ definitions, Brick contract validation, and final static artifacts.
12
+
13
+ ## Dependency direction
14
+
15
+ ```text
16
+ Creative or human intent
17
+ -> @flowstack-ui/colors candidate
18
+ -> @flowstack-ui/theme definition
19
+ -> @flowstack-ui/brick semantic contract
20
+ ```
21
+
22
+ The arrows describe artifact flow, not runtime dependencies. Colors does not
23
+ import Theme or Brick. A deployed application does not require Colors merely
24
+ because its CSS originated from a candidate.
25
+
26
+ The qualified color engine is pinned exactly. Its version is part of every
27
+ provenance record, so a consumer install cannot silently change math while
28
+ claiming the same engine evidence.
29
+
30
+ ## Candidate rules
31
+
32
+ - Inputs and outputs are serializable and deterministic.
33
+ - Multiple named seeds are first-class.
34
+ - A seed has an explicit interface, neutral, or decorative profile.
35
+ - Exact preservation is the default; adaptation requires an explicit bounded
36
+ policy and complete diagnostics.
37
+ - Light and dark are generated and validated independently.
38
+ - Every accessibility claim names and measures the exact pair.
39
+ - Existing named palettes and requested 12-step scales remain available as
40
+ raw/reference output without automatic Theme qualification.
41
+
42
+ `flowstack.colors-candidate.v1` is the finalized serialized interchange
43
+ boundary for the first release. Generation produces an `unreviewed` result;
44
+ `reviewPaletteCandidate()` records an explicit human `accepted`, `edited`, or
45
+ `rejected` decision without changing its measurements. An accepted family has
46
+ passed only its declared Colors measurements, carries no semantic Brick
47
+ mapping, and cannot be called a theme. See
48
+ `palette-generation.md` [source reference: palette-generation.md].
49
+
50
+ Batch 7.4 proved the boundary without coupling the packages: Theme reads the
51
+ candidate JSON, imports selected families as project palettes, expands explicit
52
+ semantic assignments against the installed Brick contract, and produces an
53
+ ordinary editable Theme. One seven-family candidate passed all 152 compiled
54
+ Brick contrast evaluations and the complete 80-route, four-profile rendered
55
+ catalog. That evidence validates the interchange; it does not preapprove future
56
+ candidates.
57
+
58
+ ## Color record
59
+
60
+ `flowstack.color-record.v1` is the stable Batch 7.2 evidence envelope. It
61
+ preserves the exact source, a structured supported-space color, an sRGB
62
+ fallback with explicit gamut diagnostics, and deterministic provenance.
63
+
64
+ Conversions do not silently map gamut. Gamut mapping is a separate named
65
+ operation. Contrast maps to exact sRGB and rejects alpha without a backdrop.
66
+ See `color-foundations.md` [source reference: color-foundations.md] for the API contract.
67
+
68
+ ## Reference palettes
69
+
70
+ Thirty-one standalone FLOWSTACK named families are available through
71
+ `getNamedPalette()`. They use FLOWSTACK seeds and the same deterministic
72
+ decorative generator exposed to consumers, with no external palette package.
73
+ Every result is marked `raw-reference`, preserving useful light/dark 12-step
74
+ output without claiming that its values satisfy Theme or Brick.
@@ -0,0 +1,128 @@
1
+ # Public document: color-foundations
2
+
3
+ Source: @flowstack-ui/colors@0.1.1
4
+
5
+ # Color Foundations
6
+
7
+ Status: **Batch 7.2 implemented; achromatic qualification extended in Batch 7.3**
8
+
9
+ ## Inputs
10
+
11
+ Every operation accepts either a CSS color string, a direct Design Tokens
12
+ color value, or a wrapped Design Tokens token:
13
+
14
+ ```ts
15
+ "oklch(70% 0.2 45)"
16
+
17
+ {
18
+ colorSpace: "display-p3",
19
+ components: [1, 0.5, 0],
20
+ alpha: 1,
21
+ hex: "#ff7600",
22
+ }
23
+
24
+ {
25
+ $type: "color",
26
+ $value: {
27
+ colorSpace: "oklch",
28
+ components: [0.7, 0.2, 45],
29
+ },
30
+ }
31
+ ```
32
+
33
+ Supported structured spaces are sRGB, linear sRGB, Display P3, A98 RGB,
34
+ ProPhoto RGB, Rec. 2020, XYZ D50 and D65, Lab, LCH, Oklab, and OKLCH. Common
35
+ CSS formats such as named colors, hex, RGB, HSL, and HWB normalize into one of
36
+ those spaces.
37
+
38
+ When an achromatic color is converted to LCH or OKLCH, its physically
39
+ meaningless missing hue is serialized canonically as `0`. This keeps black,
40
+ white, and gray outputs finite and deterministic without changing the color.
41
+
42
+ The Design Tokens `none` component is rejected because it requires a separate
43
+ interpolation context. Non-finite components, invalid alpha, invalid optional
44
+ hex fallback, unsupported spaces, and malformed CSS produce stable diagnostic
45
+ codes.
46
+
47
+ ## Operations
48
+
49
+ ### Parse and validate
50
+
51
+ `parseColor(input)` returns a plain `StructuredColor` or throws a
52
+ `FlowstackColorError`. `validateColor(input)` accepts unknown input and returns
53
+ the same structured color or serializable diagnostics without throwing for
54
+ expected input errors.
55
+
56
+ ### Normalize
57
+
58
+ `normalizeColor(input)` returns `flowstack.color-record.v1` with:
59
+
60
+ - a cloned exact source representation;
61
+ - the parsed color in its supported source space;
62
+ - a bounded sRGB color and six- or eight-digit lowercase hex fallback;
63
+ - whether gamut mapping occurred, its method, and deltaEOK change; and
64
+ - deterministic package, engine, operation, version, and parameter provenance.
65
+
66
+ The optional Design Tokens `hex` field is retained as source metadata. It is
67
+ not treated as authoritative over the structured color components, so the
68
+ record may produce a different qualified sRGB fallback.
69
+
70
+ ### Convert
71
+
72
+ `convertColor(input, targetSpace)` converts coordinates without gamut mapping.
73
+ Out-of-gamut components remain out of range so the caller cannot confuse
74
+ conversion with adaptation. The result includes source, target, converted
75
+ color, and provenance.
76
+
77
+ ### Map gamut
78
+
79
+ `mapColorToGamut(input, targetGamut)` supports sRGB, Display P3, and Rec. 2020.
80
+ It leaves in-gamut values unchanged and otherwise uses CSS Color 4 OKLCH local
81
+ MINDE mapping with a deltaEOK just-noticeable threshold of `0.02`. The result
82
+ states whether mapping occurred and how far the mapped color moved.
83
+
84
+ Floating-point noise up to `1 × 10⁻¹²` at a gamut boundary is clamped before
85
+ public components are returned. Larger out-of-range values remain visible.
86
+
87
+ ### Contrast
88
+
89
+ `calculateContrast(foreground, background)` maps both colors to sRGB and
90
+ returns the unrounded WCAG 2 relative-luminance ratio plus named 4.5:1 and 3:1
91
+ pass gates. `contrastRatio()` returns only that exact ratio.
92
+
93
+ Contrast currently requires two opaque colors. A translucent foreground or
94
+ background fails with `alpha-requires-backdrop`; Colors will not invent a
95
+ background and publish a misleading accessibility result.
96
+
97
+ ### Difference
98
+
99
+ `calculateColorDifference(first, second, method)` supports deltaEOK by default
100
+ and CIEDE2000 when explicitly requested. `colorDifference()` returns only the
101
+ number. DeltaEOK reports the current `0.02` just-noticeable threshold;
102
+ CIEDE2000 does not claim one package-wide threshold.
103
+
104
+ Difference currently requires opaque colors because alpha is not a color-space
105
+ coordinate and its visual effect depends on a backdrop.
106
+
107
+ ## Provenance and determinism
108
+
109
+ Every report uses `flowstack.color-provenance.v1`. It records:
110
+
111
+ - `@flowstack-ui/colors` and its version;
112
+ - Culori and its qualified version;
113
+ - the named operation and operation-contract version; and
114
+ - sorted serializable parameters.
115
+
116
+ No timestamp, environment path, random value, mutable class instance, or
117
+ private workspace data enters a record. The same input and dependency version
118
+ therefore produce byte-stable JSON.
119
+
120
+ ## What this does not prove
121
+
122
+ These functions prove color math and declared pair relationships. They do not
123
+ prove that a color has the right semantic meaning, that a palette is visually
124
+ coherent, or that a complete Brick theme passes. Batch 7.3 candidate generation
125
+ is documented in `palette-generation.md` [source reference: palette-generation.md]. Batch 7.4
126
+ qualified the serialized Colors-to-Theme boundary and one complete generated
127
+ fixture; every future candidate still needs its own semantic and rendered
128
+ qualification.
@@ -0,0 +1,75 @@
1
+ # Public document: compatibility
2
+
3
+ Source: @flowstack-ui/colors@0.1.1
4
+
5
+ # Compatibility and upgrades
6
+
7
+ Colors has three separate compatibility boundaries. Keeping them separate
8
+ prevents a package upgrade from silently changing an accepted product theme.
9
+
10
+ ## Package API
11
+
12
+ The npm package follows semantic versioning. Version `0.1.0` requires Node.js
13
+ 22 or newer and exposes ESM JavaScript and TypeScript declarations from the
14
+ root package entry point.
15
+
16
+ Before `1.0.0`, a minor version may contain a breaking API or candidate-shape
17
+ change when the changelog and migration guidance identify it. Patch releases
18
+ must remain compatible with the documented 0.1 API unless they close a safety
19
+ or correctness defect that cannot be fixed compatibly.
20
+
21
+ ## Serialized schemas
22
+
23
+ These identifiers version serialized meaning independently of npm:
24
+
25
+ - `flowstack.colors-request.v1`;
26
+ - `flowstack.colors-candidate.v1`;
27
+ - `flowstack.color-record.v1`; and
28
+ - `flowstack.color-provenance.v1`.
29
+
30
+ Additive optional evidence may remain within version 1. Removing required
31
+ fields, changing existing field meaning, or making a formerly valid document
32
+ invalid requires a new schema identifier or an explicit migration.
33
+
34
+ Theme consumes the candidate JSON shape, not Colors package code. A reviewed
35
+ 0.1 candidate therefore remains editable and compilable without rerunning its
36
+ generator merely because Colors is upgraded.
37
+
38
+ ## Algorithm and exact values
39
+
40
+ Candidate provenance records the Colors producer version, exact color-engine
41
+ version, operation contract, and `flowstack-palette-v1` algorithm. Version
42
+ 0.1.0 pins the qualified engine to `4.0.2`; consumer installation cannot
43
+ silently substitute another engine while claiming that provenance.
44
+
45
+ Identical normalized input, package version, engine version, and algorithm
46
+ parameters produce byte-identical output. A future intentional generation
47
+ model receives a new algorithm identifier. A correctness fix may change exact
48
+ candidate values only with a package version change, changelog entry, golden
49
+ fixture update, Theme contract requalification, and rendered evidence when the
50
+ change affects UI output.
51
+
52
+ Do not automatically regenerate an accepted project theme during dependency
53
+ installation. Review the candidate diff, record a new human decision, scaffold
54
+ an ordinary Theme again, and repeat the relevant contract and product gates.
55
+
56
+ Version `0.1.1` adds `textHover` and `textPressed` to generated interface
57
+ appearances and adjusts the default generated text values. Existing reviewed
58
+ candidate files remain valid inputs because serialized consumers must accept
59
+ additive role evidence. Regenerating the same request intentionally produces
60
+ different exact interface text values under producer version `0.1.1`, so
61
+ review that candidate diff and repeat Theme qualification before adopting it.
62
+
63
+ ## Moving from qualification builds
64
+
65
+ `0.1.0` is the first public release. Private `0.0.0` qualification checkouts
66
+ should replace Git or workspace references with the exact registry version:
67
+
68
+ ```bash
69
+ npm install --save-dev @flowstack-ui/colors@0.1.0
70
+ ```
71
+
72
+ The finalized candidate uses `review`, plural `referenceBackgrounds`, and the
73
+ neutral `textInverse` role. Regenerate experimental pre-0.1 candidate files,
74
+ review them explicitly, and qualify their resulting Theme rather than editing
75
+ old experimental envelopes in place.
@@ -0,0 +1,117 @@
1
+ # Public document: dependency-qualification
2
+
3
+ Source: @flowstack-ui/colors@0.1.1
4
+
5
+ # Color-Science Dependency Qualification
6
+
7
+ Status: **Culori adopted for implementation**
8
+
9
+ Date: August 12, 2026
10
+
11
+ ## Decision
12
+
13
+ Use Culori as the focused color-science implementation dependency. Batch 7.2
14
+ now imports it from shipped color-foundation source, so it is a runtime package
15
+ dependency while its separate declarations remain development-only.
16
+
17
+ Color.js remains a high-quality reference implementation and comparison tool,
18
+ not a package dependency.
19
+
20
+ The package must not restore the archived handwritten sRGB, OKLab, OKLCH, and
21
+ gamut implementation. FLOWSTACK owns its contracts and tests; the qualified
22
+ library owns the underlying conversion machinery.
23
+
24
+ ## Candidates
25
+
26
+ | Candidate | Version | License | Transitive runtime dependencies | Installed size in the proof |
27
+ | --- | ---: | --- | ---: | ---: |
28
+ | Culori | 4.0.2 | MIT | 0 | 1,584 KiB |
29
+ | Color.js | 0.7.1 | MIT | 0 | 16,628 KiB |
30
+
31
+ Culori does not bundle TypeScript declarations. `@types/culori` 4.0.1, also
32
+ MIT with no dependencies, adds 796 KiB during development. Colors exposes its
33
+ own public types and does not leak Culori types through its API. Its type
34
+ declarations require the otherwise optional `mode` argument to `toGamut`, so
35
+ the adapter supplies that argument explicitly and retains a compilation gate
36
+ for declaration drift.
37
+
38
+ ## Method
39
+
40
+ The temporary comparison used Node.js 22.23.1 and npm 10.9.8. It evaluated:
41
+
42
+ - common CSS inputs: hex, modern RGB with alpha, HSL, OKLCH, Display P3, and
43
+ `transparent`;
44
+ - an 11 × 11 × 11 sRGB grid round-tripped through OKLCH;
45
+ - difficult high-chroma OKLCH colors and Display P3 primaries/mixtures;
46
+ - a 3,672-color OKLCH sweep with lightness `0.10–0.95`, chroma `0.05–0.45`,
47
+ and hue every 15 degrees;
48
+ - exact WCAG 2 relative-luminance contrast vectors used by Theme; and
49
+ - 10,000 deterministic OKLCH-to-sRGB gamut mappings as a directional timing
50
+ check.
51
+
52
+ Color.js's `css` method served as the independent JavaScript comparison for
53
+ gamut mapping. CSS Color 4 identifies Color.js as an experimental
54
+ implementation of binary-search local-MINDE mapping and specifies deltaEOK
55
+ `0.02` as one just-noticeable difference in OKLCH.
56
+
57
+ ## Results
58
+
59
+ - Both candidates parsed every required input format.
60
+ - Culori's maximum sRGB → OKLCH → sRGB channel error was
61
+ `4.16 × 10⁻¹⁴`; Color.js measured `3.62 × 10⁻¹⁴`.
62
+ - The focused difficult-color corpus produced 10 identical 8-bit hex results
63
+ out of 11. Its maximum difference was deltaEOK `0.0000913`.
64
+ - Culori may return destination channels a few floating-point units outside
65
+ `[0, 1]` (for example `-2.8 × 10⁻¹⁴`) at an exact gamut boundary. Colors must
66
+ normalize this numerical epsilon before exposing exact sRGB components; its
67
+ qualified hex serializer already produces the expected bounded value.
68
+ - Across the 3,672-color sweep, 3,586 outputs (97.7%) serialized to the same
69
+ 8-bit hex. The maximum deltaEOK was `0.000284`, about 70 times smaller than
70
+ the `0.02` just-noticeable threshold. The maximum individual sRGB channel
71
+ difference was `0.00270`; the two cases with the largest numeric differences
72
+ still serialized to the same hex.
73
+ - Culori exactly reproduced the tested WCAG values used by Theme, including
74
+ `21:1` for black/white, `4.478089453577214:1` for `#777777`/white, and
75
+ `3.9984767707539985:1` for red/white. Color.js showed small implementation
76
+ differences on saturated red and orange.
77
+ - In the non-authoritative 10,000-map timing run, Culori completed in about
78
+ 110 ms and Color.js in about 246 ms on the same machine and process model.
79
+ Performance was not the deciding gate, but it did not expose a Culori cost.
80
+
81
+ ## Why Culori
82
+
83
+ Culori meets the required parsing, conversion, round-trip, gamut, contrast,
84
+ determinism, and licensing boundary with materially less package weight. Its
85
+ plain-object functional API also fits a serializable build-time library better
86
+ than exposing mutable color class instances.
87
+
88
+ The small gamut differences are far below the current just-noticeable
89
+ threshold and are covered by permanent difficult-hue fixtures. Color.js would
90
+ be the fallback if later evidence exposes a Culori defect or if FLOWSTACK needs
91
+ an algorithm Culori cannot qualify.
92
+
93
+ ## Permanent gates
94
+
95
+ The repository retains tests for:
96
+
97
+ - required parser formats;
98
+ - sRGB/OKLCH round-trip precision;
99
+ - difficult hue and Display P3 gamut mapping;
100
+ - deterministic repeated results;
101
+ - exact WCAG contrast values; and
102
+ - TypeScript declaration compatibility.
103
+
104
+ Requalify this decision before accepting:
105
+
106
+ - a Culori major version;
107
+ - a material CSS Color 4 gamut-algorithm change;
108
+ - a new output gamut or HDR color space;
109
+ - a change in the Theme contrast authority; or
110
+ - any fixture drift not explained by an explicitly adopted algorithm change.
111
+
112
+ ## Sources
113
+
114
+ - [CSS Color Module Level 4](https://www.w3.org/TR/css-color-4/)
115
+ - [WCAG 2.2](https://www.w3.org/TR/WCAG22/)
116
+ - [Culori API](https://culorijs.org/api/)
117
+ - [Color.js gamut mapping](https://colorjs.io/docs/gamut-mapping)
@@ -0,0 +1,48 @@
1
+ # Public document: installation
2
+
3
+ Source: @flowstack-ui/colors@0.1.1
4
+
5
+ # Installation
6
+
7
+ Colors is build-time tooling for generating and reviewing palette candidates.
8
+ Install it as a development dependency:
9
+
10
+ ```bash
11
+ npm install --save-dev @flowstack-ui/colors
12
+ ```
13
+
14
+ Version 0.1 requires Node.js 22 or newer and ships ESM JavaScript plus strict
15
+ TypeScript declarations.
16
+
17
+ ```ts
18
+ import {
19
+ COLOR_GENERATION_REQUEST_SCHEMA,
20
+ generatePaletteCandidate,
21
+ reviewPaletteCandidate,
22
+ } from "@flowstack-ui/colors";
23
+
24
+ const candidate = generatePaletteCandidate({
25
+ $schema: COLOR_GENERATION_REQUEST_SCHEMA,
26
+ seeds: [{ id: "brand", color: "#3157d5", profile: "interface" }],
27
+ });
28
+
29
+ const reviewed = reviewPaletteCandidate(candidate, {
30
+ status: "accepted",
31
+ notes: "Approved for Theme mapping.",
32
+ });
33
+ ```
34
+
35
+ Write the reviewed object as JSON when passing it to Theme. The candidate file
36
+ is the integration boundary; neither package depends on the other.
37
+
38
+ ## Runtime boundary
39
+
40
+ Colors does not import React, access the DOM, inject CSS, load fonts, or depend
41
+ on Brick or Theme. Its only runtime dependency is the exactly qualified color
42
+ engine used by its functions.
43
+
44
+ Applications should generate candidates during development or a build step and
45
+ ship Theme's compiled CSS. Do not import Colors from application client code
46
+ unless the application deliberately intends to bundle a color editor or other
47
+ future runtime tool. Installing Colors does not itself add code to a browser
48
+ bundle.