@usefragments/ui 1.7.0 → 2.0.1

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 (551) hide show
  1. package/README.md +54 -66
  2. package/dist/assets/nav-glyph.cjs +139 -0
  3. package/dist/assets/nav-glyph.d.ts +28 -0
  4. package/dist/assets/nav-glyph.d.ts.map +1 -0
  5. package/dist/assets/nav-glyph.js +139 -0
  6. package/dist/assets/nav-glyph.module.scss.cjs +71 -0
  7. package/dist/assets/nav-glyph.module.scss.js +71 -0
  8. package/dist/assets/ui.css +4975 -4959
  9. package/dist/blocks/components/StatsCard.d.ts +1 -1
  10. package/dist/blocks/components/StatsCard.d.ts.map +1 -1
  11. package/dist/codeblock.cjs +23 -16
  12. package/dist/codeblock.js +16 -9
  13. package/dist/colorpicker.cjs +1 -0
  14. package/dist/colorpicker.js +1 -0
  15. package/dist/components/Accordion/Accordion.module.scss.cjs +8 -8
  16. package/dist/components/Accordion/Accordion.module.scss.js +8 -8
  17. package/dist/components/Alert/Alert.module.scss.cjs +21 -21
  18. package/dist/components/Alert/Alert.module.scss.js +21 -21
  19. package/dist/components/Alert/index.cjs +14 -8
  20. package/dist/components/Alert/index.d.ts +9 -9
  21. package/dist/components/Alert/index.d.ts.map +1 -1
  22. package/dist/components/Alert/index.js +14 -8
  23. package/dist/components/AppShell/AppShell.module.scss.cjs +14 -14
  24. package/dist/components/AppShell/AppShell.module.scss.js +14 -14
  25. package/dist/components/AppShell/index.cjs +2 -2
  26. package/dist/components/AppShell/index.js +2 -2
  27. package/dist/components/Avatar/Avatar.module.scss.cjs +14 -14
  28. package/dist/components/Avatar/Avatar.module.scss.js +14 -14
  29. package/dist/components/Badge/Badge.module.scss.cjs +33 -31
  30. package/dist/components/Badge/Badge.module.scss.js +33 -31
  31. package/dist/components/Badge/index.cjs +13 -3
  32. package/dist/components/Badge/index.d.ts +18 -13
  33. package/dist/components/Badge/index.d.ts.map +1 -1
  34. package/dist/components/Badge/index.js +13 -3
  35. package/dist/components/BentoGrid/BentoGrid.module.scss.cjs +14 -14
  36. package/dist/components/BentoGrid/BentoGrid.module.scss.js +14 -14
  37. package/dist/components/Box/Box.module.scss.cjs +152 -152
  38. package/dist/components/Box/Box.module.scss.js +152 -152
  39. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.cjs +11 -8
  40. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.js +11 -8
  41. package/dist/components/Breadcrumbs/index.cjs +1 -1
  42. package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
  43. package/dist/components/Breadcrumbs/index.js +1 -1
  44. package/dist/components/Button/Button.module.scss.cjs +36 -27
  45. package/dist/components/Button/Button.module.scss.js +36 -27
  46. package/dist/components/Button/index.cjs +20 -4
  47. package/dist/components/Button/index.d.ts +18 -10
  48. package/dist/components/Button/index.d.ts.map +1 -1
  49. package/dist/components/Button/index.js +20 -4
  50. package/dist/components/ButtonGroup/ButtonGroup.module.scss.cjs +15 -15
  51. package/dist/components/ButtonGroup/ButtonGroup.module.scss.js +15 -15
  52. package/dist/components/Card/Card.module.scss.cjs +27 -34
  53. package/dist/components/Card/Card.module.scss.js +27 -34
  54. package/dist/components/Card/index.cjs +13 -8
  55. package/dist/components/Card/index.d.ts +23 -25
  56. package/dist/components/Card/index.d.ts.map +1 -1
  57. package/dist/components/Card/index.js +13 -8
  58. package/dist/components/Chart/Chart.module.scss.cjs +15 -15
  59. package/dist/components/Chart/Chart.module.scss.js +15 -15
  60. package/dist/components/Checkbox/Checkbox.module.scss.cjs +11 -11
  61. package/dist/components/Checkbox/Checkbox.module.scss.js +11 -11
  62. package/dist/components/Checkbox/index.cjs +2 -2
  63. package/dist/components/Checkbox/index.d.ts +4 -6
  64. package/dist/components/Checkbox/index.d.ts.map +1 -1
  65. package/dist/components/Checkbox/index.js +2 -2
  66. package/dist/components/Chip/Chip.module.scss.cjs +19 -19
  67. package/dist/components/Chip/Chip.module.scss.js +19 -19
  68. package/dist/components/Chip/index.cjs +1 -2
  69. package/dist/components/Chip/index.d.ts +8 -3
  70. package/dist/components/Chip/index.d.ts.map +1 -1
  71. package/dist/components/Chip/index.js +1 -2
  72. package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +22 -22
  73. package/dist/components/CodeBlock/CodeBlock.module.scss.js +22 -22
  74. package/dist/components/CodeBlock/index.d.ts +3 -2
  75. package/dist/components/CodeBlock/index.d.ts.map +1 -1
  76. package/dist/components/Collapsible/Collapsible.module.scss.cjs +9 -9
  77. package/dist/components/Collapsible/Collapsible.module.scss.js +9 -9
  78. package/dist/components/ColorPicker/ColorPicker.module.scss.cjs +14 -14
  79. package/dist/components/ColorPicker/ColorPicker.module.scss.js +14 -14
  80. package/dist/components/ColorPicker/index.d.ts.map +1 -1
  81. package/dist/components/Combobox/Combobox.module.scss.cjs +21 -21
  82. package/dist/components/Combobox/Combobox.module.scss.js +21 -21
  83. package/dist/components/Combobox/index.cjs +9 -5
  84. package/dist/components/Combobox/index.d.ts.map +1 -1
  85. package/dist/components/Combobox/index.js +9 -5
  86. package/dist/components/Command/Command.module.scss.cjs +14 -11
  87. package/dist/components/Command/Command.module.scss.js +14 -11
  88. package/dist/components/Command/index.cjs +2 -1
  89. package/dist/components/Command/index.d.ts +6 -1
  90. package/dist/components/Command/index.d.ts.map +1 -1
  91. package/dist/components/Command/index.js +2 -1
  92. package/dist/components/ConversationList/ConversationList.module.scss.cjs +10 -10
  93. package/dist/components/ConversationList/ConversationList.module.scss.js +10 -10
  94. package/dist/components/ConversationList/index.cjs +2 -2
  95. package/dist/components/ConversationList/index.js +2 -2
  96. package/dist/components/DataTable/DataTable.module.scss.cjs +31 -28
  97. package/dist/components/DataTable/DataTable.module.scss.js +31 -28
  98. package/dist/components/DataTable/DataTable.virtual.d.ts.map +1 -1
  99. package/dist/components/DatePicker/DatePicker.module.scss.cjs +33 -33
  100. package/dist/components/DatePicker/DatePicker.module.scss.js +33 -33
  101. package/dist/components/DatePicker/index.d.ts.map +1 -1
  102. package/dist/components/Dialog/Dialog.module.scss.cjs +14 -14
  103. package/dist/components/Dialog/Dialog.module.scss.js +14 -14
  104. package/dist/components/Dialog/index.cjs +2 -2
  105. package/dist/components/Dialog/index.d.ts +5 -4
  106. package/dist/components/Dialog/index.d.ts.map +1 -1
  107. package/dist/components/Dialog/index.js +2 -2
  108. package/dist/components/Drawer/Drawer.module.scss.cjs +39 -39
  109. package/dist/components/Drawer/Drawer.module.scss.js +40 -40
  110. package/dist/components/Drawer/index.cjs +2 -2
  111. package/dist/components/Drawer/index.d.ts +5 -4
  112. package/dist/components/Drawer/index.d.ts.map +1 -1
  113. package/dist/components/Drawer/index.js +2 -2
  114. package/dist/components/Editor/Editor.module.scss.cjs +17 -17
  115. package/dist/components/Editor/Editor.module.scss.js +17 -17
  116. package/dist/components/EmptyState/EmptyState.module.scss.cjs +11 -11
  117. package/dist/components/EmptyState/EmptyState.module.scss.js +11 -11
  118. package/dist/components/EmptyState/index.cjs +9 -4
  119. package/dist/components/EmptyState/index.d.ts +8 -5
  120. package/dist/components/EmptyState/index.d.ts.map +1 -1
  121. package/dist/components/EmptyState/index.js +9 -4
  122. package/dist/components/Field/Field.module.scss.cjs +5 -5
  123. package/dist/components/Field/Field.module.scss.js +5 -5
  124. package/dist/components/Fieldset/Fieldset.module.scss.cjs +3 -3
  125. package/dist/components/Fieldset/Fieldset.module.scss.js +3 -3
  126. package/dist/components/Grid/Grid.module.scss.cjs +54 -54
  127. package/dist/components/Grid/Grid.module.scss.js +54 -54
  128. package/dist/components/Header/Header.module.scss.cjs +33 -33
  129. package/dist/components/Header/Header.module.scss.js +33 -33
  130. package/dist/components/Icon/Icon.module.scss.cjs +30 -33
  131. package/dist/components/Icon/Icon.module.scss.js +30 -33
  132. package/dist/components/Icon/index.cjs +15 -14
  133. package/dist/components/Icon/index.d.ts +23 -12
  134. package/dist/components/Icon/index.d.ts.map +1 -1
  135. package/dist/components/Icon/index.js +15 -14
  136. package/dist/components/IconButton/IconButton.module.scss.cjs +12 -12
  137. package/dist/components/IconButton/IconButton.module.scss.js +12 -12
  138. package/dist/components/IconButton/index.d.ts +4 -4
  139. package/dist/components/IconButton/index.d.ts.map +1 -1
  140. package/dist/components/Input/Input.module.scss.cjs +15 -21
  141. package/dist/components/Input/Input.module.scss.js +15 -21
  142. package/dist/components/Input/index.cjs +2 -14
  143. package/dist/components/Input/index.d.ts +0 -2
  144. package/dist/components/Input/index.d.ts.map +1 -1
  145. package/dist/components/Input/index.js +2 -14
  146. package/dist/components/Link/Link.module.scss.cjs +24 -16
  147. package/dist/components/Link/Link.module.scss.js +24 -16
  148. package/dist/components/Link/index.cjs +13 -2
  149. package/dist/components/Link/index.d.ts +10 -3
  150. package/dist/components/Link/index.d.ts.map +1 -1
  151. package/dist/components/Link/index.js +13 -2
  152. package/dist/components/List/List.module.scss.cjs +23 -19
  153. package/dist/components/List/List.module.scss.js +23 -19
  154. package/dist/components/List/index.cjs +7 -7
  155. package/dist/components/List/index.d.ts +10 -7
  156. package/dist/components/List/index.d.ts.map +1 -1
  157. package/dist/components/List/index.js +7 -7
  158. package/dist/components/Listbox/Listbox.module.scss.cjs +8 -8
  159. package/dist/components/Listbox/Listbox.module.scss.js +8 -8
  160. package/dist/components/Loading/Loading.module.scss.cjs +30 -30
  161. package/dist/components/Loading/Loading.module.scss.js +30 -30
  162. package/dist/components/Loading/index.cjs +5 -5
  163. package/dist/components/Loading/index.d.ts +8 -7
  164. package/dist/components/Loading/index.d.ts.map +1 -1
  165. package/dist/components/Loading/index.js +5 -5
  166. package/dist/components/Markdown/Markdown.module.scss.cjs +1 -1
  167. package/dist/components/Markdown/Markdown.module.scss.js +1 -1
  168. package/dist/components/Menu/Menu.module.scss.cjs +14 -14
  169. package/dist/components/Menu/Menu.module.scss.js +14 -14
  170. package/dist/components/Message/Message.module.scss.cjs +20 -20
  171. package/dist/components/Message/Message.module.scss.js +20 -20
  172. package/dist/components/Message/index.cjs +1 -1
  173. package/dist/components/Message/index.d.ts +1 -1
  174. package/dist/components/Message/index.js +1 -1
  175. package/dist/components/NavigationMenu/NavigationMenu.module.scss.cjs +29 -29
  176. package/dist/components/NavigationMenu/NavigationMenu.module.scss.js +29 -29
  177. package/dist/components/Pagination/Pagination.module.scss.cjs +10 -10
  178. package/dist/components/Pagination/Pagination.module.scss.js +10 -10
  179. package/dist/components/Popover/Popover.module.scss.cjs +10 -10
  180. package/dist/components/Popover/Popover.module.scss.js +10 -10
  181. package/dist/components/Progress/Progress.module.scss.cjs +28 -25
  182. package/dist/components/Progress/Progress.module.scss.js +28 -25
  183. package/dist/components/Progress/index.cjs +21 -12
  184. package/dist/components/Progress/index.d.ts +10 -6
  185. package/dist/components/Progress/index.d.ts.map +1 -1
  186. package/dist/components/Progress/index.js +21 -12
  187. package/dist/components/Prompt/Prompt.module.scss.cjs +30 -30
  188. package/dist/components/Prompt/Prompt.module.scss.js +30 -30
  189. package/dist/components/Prompt/index.cjs +7 -7
  190. package/dist/components/Prompt/index.d.ts +11 -9
  191. package/dist/components/Prompt/index.d.ts.map +1 -1
  192. package/dist/components/Prompt/index.js +7 -7
  193. package/dist/components/RadioGroup/RadioGroup.module.scss.cjs +20 -17
  194. package/dist/components/RadioGroup/RadioGroup.module.scss.js +20 -17
  195. package/dist/components/RadioGroup/index.cjs +10 -5
  196. package/dist/components/RadioGroup/index.d.ts +11 -7
  197. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  198. package/dist/components/RadioGroup/index.js +10 -5
  199. package/dist/components/ScrollArea/ScrollArea.module.scss.cjs +5 -5
  200. package/dist/components/ScrollArea/ScrollArea.module.scss.js +5 -5
  201. package/dist/components/Select/Select.module.scss.cjs +21 -21
  202. package/dist/components/Select/Select.module.scss.js +21 -21
  203. package/dist/components/Select/index.cjs +26 -20
  204. package/dist/components/Select/index.d.ts +5 -5
  205. package/dist/components/Select/index.d.ts.map +1 -1
  206. package/dist/components/Select/index.js +26 -20
  207. package/dist/components/Separator/Separator.module.scss.cjs +25 -19
  208. package/dist/components/Separator/Separator.module.scss.js +25 -19
  209. package/dist/components/Separator/index.cjs +10 -8
  210. package/dist/components/Separator/index.d.ts +4 -2
  211. package/dist/components/Separator/index.d.ts.map +1 -1
  212. package/dist/components/Separator/index.js +10 -8
  213. package/dist/components/Sidebar/Sidebar.module.scss.cjs +43 -43
  214. package/dist/components/Sidebar/Sidebar.module.scss.js +43 -43
  215. package/dist/components/Sidebar/index.cjs +3 -3
  216. package/dist/components/Sidebar/index.js +3 -3
  217. package/dist/components/Skeleton/Skeleton.module.scss.cjs +46 -46
  218. package/dist/components/Skeleton/Skeleton.module.scss.js +46 -46
  219. package/dist/components/Skeleton/index.cjs +7 -7
  220. package/dist/components/Skeleton/index.d.ts +8 -7
  221. package/dist/components/Skeleton/index.d.ts.map +1 -1
  222. package/dist/components/Skeleton/index.js +7 -7
  223. package/dist/components/Slider/Slider.module.scss.cjs +12 -12
  224. package/dist/components/Slider/Slider.module.scss.js +12 -12
  225. package/dist/components/Switch/Switch.module.scss.cjs +9 -9
  226. package/dist/components/Switch/Switch.module.scss.js +9 -9
  227. package/dist/components/Table/Table.module.scss.cjs +15 -15
  228. package/dist/components/Table/Table.module.scss.js +15 -15
  229. package/dist/components/TableOfContents/TableOfContents.module.scss.cjs +15 -15
  230. package/dist/components/TableOfContents/TableOfContents.module.scss.js +15 -15
  231. package/dist/components/TableOfContents/index.cjs +1 -1
  232. package/dist/components/TableOfContents/index.js +1 -1
  233. package/dist/components/Tabs/Tabs.module.scss.cjs +18 -18
  234. package/dist/components/Tabs/Tabs.module.scss.js +18 -18
  235. package/dist/components/Tabs/index.cjs +5 -6
  236. package/dist/components/Tabs/index.d.ts +8 -6
  237. package/dist/components/Tabs/index.d.ts.map +1 -1
  238. package/dist/components/Tabs/index.js +5 -6
  239. package/dist/components/Text/Text.module.scss.cjs +105 -105
  240. package/dist/components/Text/Text.module.scss.js +105 -105
  241. package/dist/components/Text/index.cjs +5 -9
  242. package/dist/components/Text/index.d.ts +15 -11
  243. package/dist/components/Text/index.d.ts.map +1 -1
  244. package/dist/components/Text/index.js +5 -9
  245. package/dist/components/Textarea/Textarea.module.scss.cjs +22 -28
  246. package/dist/components/Textarea/Textarea.module.scss.js +22 -28
  247. package/dist/components/Textarea/index.cjs +3 -10
  248. package/dist/components/Textarea/index.d.ts +0 -2
  249. package/dist/components/Textarea/index.d.ts.map +1 -1
  250. package/dist/components/Textarea/index.js +3 -10
  251. package/dist/components/Theme/index.cjs +20 -4
  252. package/dist/components/Theme/index.d.ts +6 -12
  253. package/dist/components/Theme/index.d.ts.map +1 -1
  254. package/dist/components/Theme/index.js +20 -4
  255. package/dist/components/ThemeToggle/ThemeButton.cjs +51 -0
  256. package/dist/components/ThemeToggle/ThemeButton.d.ts +16 -0
  257. package/dist/components/ThemeToggle/ThemeButton.d.ts.map +1 -0
  258. package/dist/components/ThemeToggle/ThemeButton.js +34 -0
  259. package/dist/components/ThemeToggle/ThemeToggle.module.scss.cjs +6 -9
  260. package/dist/components/ThemeToggle/ThemeToggle.module.scss.js +6 -9
  261. package/dist/components/ThemeToggle/icons.cjs +48 -0
  262. package/dist/components/ThemeToggle/icons.d.ts +10 -0
  263. package/dist/components/ThemeToggle/icons.d.ts.map +1 -0
  264. package/dist/components/ThemeToggle/icons.js +48 -0
  265. package/dist/components/ThemeToggle/index.cjs +5 -74
  266. package/dist/components/ThemeToggle/index.d.ts +5 -8
  267. package/dist/components/ThemeToggle/index.d.ts.map +1 -1
  268. package/dist/components/ThemeToggle/index.js +3 -72
  269. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +18 -15
  270. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +18 -15
  271. package/dist/components/ThinkingIndicator/index.cjs +7 -8
  272. package/dist/components/ThinkingIndicator/index.d.ts +6 -5
  273. package/dist/components/ThinkingIndicator/index.d.ts.map +1 -1
  274. package/dist/components/ThinkingIndicator/index.js +7 -8
  275. package/dist/components/Toast/Toast.module.scss.cjs +28 -29
  276. package/dist/components/Toast/Toast.module.scss.js +29 -30
  277. package/dist/components/Toast/index.cjs +28 -30
  278. package/dist/components/Toast/index.d.ts +9 -8
  279. package/dist/components/Toast/index.d.ts.map +1 -1
  280. package/dist/components/Toast/index.js +28 -30
  281. package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +21 -19
  282. package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +22 -20
  283. package/dist/components/ToggleGroup/index.cjs +4 -5
  284. package/dist/components/ToggleGroup/index.d.ts +7 -6
  285. package/dist/components/ToggleGroup/index.d.ts.map +1 -1
  286. package/dist/components/ToggleGroup/index.js +4 -5
  287. package/dist/components/Tooltip/Tooltip.module.scss.cjs +3 -3
  288. package/dist/components/Tooltip/Tooltip.module.scss.js +3 -3
  289. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.cjs +1 -1
  290. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.js +1 -1
  291. package/dist/data-table-virtual.cjs +3 -2
  292. package/dist/data-table-virtual.js +3 -2
  293. package/dist/data-table.cjs +1 -1
  294. package/dist/data-table.js +1 -1
  295. package/dist/datepicker.cjs +23 -11
  296. package/dist/datepicker.js +23 -11
  297. package/dist/index.cjs +5 -1
  298. package/dist/index.d.ts +8 -8
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +6 -2
  301. package/dist/measurements/generated.cjs +37 -93
  302. package/dist/measurements/generated.d.ts +37 -92
  303. package/dist/measurements/generated.d.ts.map +1 -1
  304. package/dist/measurements/generated.js +37 -93
  305. package/dist/measurements/index.d.ts +1 -1
  306. package/dist/measurements/index.d.ts.map +1 -1
  307. package/dist/utils/seed-derivation.cjs +0 -1
  308. package/dist/utils/seed-derivation.d.ts +1 -3
  309. package/dist/utils/seed-derivation.d.ts.map +1 -1
  310. package/dist/utils/seed-derivation.js +0 -1
  311. package/dist/utils/theme-presets.cjs +5 -10
  312. package/dist/utils/theme-presets.d.ts +1 -2
  313. package/dist/utils/theme-presets.d.ts.map +1 -1
  314. package/dist/utils/theme-presets.js +5 -10
  315. package/fragments.json +1 -1
  316. package/package.json +5 -8
  317. package/src/assets/nav-glyph.module.scss +166 -0
  318. package/src/assets/nav-glyph.tsx +188 -0
  319. package/src/components/Accordion/Accordion.module.scss +5 -3
  320. package/src/components/Alert/Alert.contract.json +18 -18
  321. package/src/components/Alert/Alert.module.scss +50 -64
  322. package/src/components/Alert/index.tsx +24 -17
  323. package/src/components/AppShell/AppShell.contract.json +7 -7
  324. package/src/components/AppShell/AppShell.module.scss +49 -17
  325. package/src/components/AppShell/index.tsx +2 -2
  326. package/src/components/Avatar/Avatar.module.scss +0 -1
  327. package/src/components/Badge/Badge.contract.json +58 -22
  328. package/src/components/Badge/Badge.module.scss +72 -47
  329. package/src/components/Badge/index.tsx +34 -17
  330. package/src/components/BentoGrid/BentoGrid.module.scss +4 -8
  331. package/src/components/Box/Box.module.scss +7 -6
  332. package/src/components/Breadcrumbs/Breadcrumbs.module.scss +15 -5
  333. package/src/components/Breadcrumbs/index.tsx +5 -1
  334. package/src/components/Button/Button.module.scss +261 -186
  335. package/src/components/Button/index.tsx +41 -28
  336. package/src/components/ButtonGroup/ButtonGroup.contract.json +5 -5
  337. package/src/components/ButtonGroup/ButtonGroup.module.scss +8 -6
  338. package/src/components/Card/Card.consumer-fixture.module.scss +5 -2
  339. package/src/components/Card/Card.module.scss +73 -133
  340. package/src/components/Card/index.tsx +41 -36
  341. package/src/components/Chart/Chart.module.scss +6 -5
  342. package/src/components/Checkbox/Checkbox.contract.json +4 -3
  343. package/src/components/Checkbox/Checkbox.module.scss +16 -32
  344. package/src/components/Checkbox/index.tsx +6 -8
  345. package/src/components/Chip/Chip.contract.json +10 -10
  346. package/src/components/Chip/Chip.module.scss +23 -22
  347. package/src/components/Chip/index.tsx +10 -6
  348. package/src/components/CodeBlock/CodeBlock.module.scss +47 -70
  349. package/src/components/CodeBlock/index.tsx +23 -16
  350. package/src/components/Collapsible/Collapsible.module.scss +1 -7
  351. package/src/components/ColorPicker/ColorPicker.module.scss +20 -13
  352. package/src/components/ColorPicker/index.tsx +1 -0
  353. package/src/components/Combobox/Combobox.module.scss +16 -19
  354. package/src/components/Combobox/index.tsx +10 -1
  355. package/src/components/Command/Command.contract.json +7 -1
  356. package/src/components/Command/Command.module.scss +19 -21
  357. package/src/components/Command/index.tsx +7 -1
  358. package/src/components/ComponentDefaults/ComponentDefaults.contract.json +91 -0
  359. package/src/components/ConversationList/ConversationList.module.scss +2 -3
  360. package/src/components/ConversationList/index.tsx +2 -2
  361. package/src/components/DataTable/DataTable.module.scss +12 -9
  362. package/src/components/DataTable/DataTable.virtual.tsx +3 -2
  363. package/src/components/DataTable/index.tsx +1 -1
  364. package/src/components/DatePicker/DatePicker.module.scss +32 -42
  365. package/src/components/DatePicker/index.tsx +18 -7
  366. package/src/components/Dialog/Dialog.module.scss +23 -29
  367. package/src/components/Dialog/index.tsx +7 -5
  368. package/src/components/Drawer/Drawer.contract.json +6 -6
  369. package/src/components/Drawer/Drawer.module.scss +123 -64
  370. package/src/components/Drawer/index.tsx +7 -5
  371. package/src/components/Editor/Editor.contract.json +1 -1
  372. package/src/components/Editor/Editor.module.scss +26 -13
  373. package/src/components/EmptyState/EmptyState.contract.json +6 -6
  374. package/src/components/EmptyState/EmptyState.module.scss +31 -23
  375. package/src/components/EmptyState/index.tsx +17 -9
  376. package/src/components/Field/Field.module.scss +2 -1
  377. package/src/components/Fieldset/Fieldset.module.scss +5 -4
  378. package/src/components/Form/Form.contract.json +4 -4
  379. package/src/components/Grid/Grid.module.scss +2 -2
  380. package/src/components/Header/Header.contract.json +2 -2
  381. package/src/components/Header/Header.module.scss +24 -36
  382. package/src/components/Icon/Icon.contract.json +19 -23
  383. package/src/components/Icon/Icon.module.scss +13 -12
  384. package/src/components/Icon/index.tsx +31 -31
  385. package/src/components/IconButton/IconButton.contract.json +8 -8
  386. package/src/components/IconButton/IconButton.module.scss +13 -4
  387. package/src/components/IconButton/index.tsx +4 -4
  388. package/src/components/Input/Input.contract.json +0 -13
  389. package/src/components/Input/Input.module.scss +4 -54
  390. package/src/components/Input/index.tsx +2 -18
  391. package/src/components/Link/Link.contract.json +19 -11
  392. package/src/components/Link/Link.module.scss +24 -10
  393. package/src/components/Link/index.tsx +26 -5
  394. package/src/components/List/List.contract.json +11 -11
  395. package/src/components/List/List.module.scss +10 -5
  396. package/src/components/List/index.tsx +17 -13
  397. package/src/components/Listbox/Listbox.module.scss +14 -20
  398. package/src/components/Loading/Loading.contract.json +6 -6
  399. package/src/components/Loading/Loading.module.scss +29 -26
  400. package/src/components/Loading/index.tsx +13 -12
  401. package/src/components/Markdown/Markdown.module.scss +2 -1
  402. package/src/components/Menu/Menu.contract.json +5 -5
  403. package/src/components/Menu/Menu.module.scss +11 -10
  404. package/src/components/Message/Message.contract.json +5 -5
  405. package/src/components/Message/Message.module.scss +8 -6
  406. package/src/components/Message/index.tsx +2 -2
  407. package/src/components/NavigationMenu/NavigationMenu.module.scss +22 -67
  408. package/src/components/Pagination/Pagination.module.scss +7 -14
  409. package/src/components/Popover/Popover.contract.json +4 -4
  410. package/src/components/Popover/Popover.module.scss +24 -23
  411. package/src/components/Progress/Progress.contract.json +11 -11
  412. package/src/components/Progress/Progress.module.scss +13 -8
  413. package/src/components/Progress/index.tsx +34 -16
  414. package/src/components/Prompt/Prompt.contract.json +12 -12
  415. package/src/components/Prompt/Prompt.module.scss +40 -47
  416. package/src/components/Prompt/index.tsx +17 -15
  417. package/src/components/RadioGroup/RadioGroup.contract.json +6 -4
  418. package/src/components/RadioGroup/RadioGroup.module.scss +38 -32
  419. package/src/components/RadioGroup/index.tsx +23 -10
  420. package/src/components/ScrollArea/ScrollArea.module.scss +30 -33
  421. package/src/components/Select/Select.module.scss +19 -18
  422. package/src/components/Select/index.tsx +26 -24
  423. package/src/components/Separator/Separator.contract.json +10 -10
  424. package/src/components/Separator/Separator.module.scss +24 -40
  425. package/src/components/Separator/index.tsx +16 -11
  426. package/src/components/Sidebar/Sidebar.contract.json +1 -1
  427. package/src/components/Sidebar/Sidebar.module.scss +92 -95
  428. package/src/components/Sidebar/index.tsx +3 -3
  429. package/src/components/Skeleton/Skeleton.contract.json +9 -9
  430. package/src/components/Skeleton/Skeleton.module.scss +23 -16
  431. package/src/components/Skeleton/index.tsx +16 -15
  432. package/src/components/Slider/Slider.module.scss +6 -19
  433. package/src/components/Stack/Stack.contract.json +1 -1
  434. package/src/components/Stack/Stack.module.scss +13 -12
  435. package/src/components/Switch/Switch.module.scss +44 -35
  436. package/src/components/Table/Table.module.scss +9 -13
  437. package/src/components/TableOfContents/TableOfContents.module.scss +12 -18
  438. package/src/components/TableOfContents/index.tsx +1 -1
  439. package/src/components/Tabs/Tabs.contract.json +14 -14
  440. package/src/components/Tabs/Tabs.module.scss +27 -31
  441. package/src/components/Tabs/index.tsx +15 -12
  442. package/src/components/Text/Text.contract.json +36 -14
  443. package/src/components/Text/Text.module.scss +19 -20
  444. package/src/components/Text/index.tsx +23 -21
  445. package/src/components/Textarea/Textarea.contract.json +0 -13
  446. package/src/components/Textarea/Textarea.module.scss +24 -52
  447. package/src/components/Textarea/index.tsx +3 -14
  448. package/src/components/Theme/Theme.contract.json +9 -8
  449. package/src/components/Theme/index.tsx +39 -12
  450. package/src/components/ThemeToggle/ThemeButton.tsx +49 -0
  451. package/src/components/ThemeToggle/ThemeToggle.module.scss +21 -44
  452. package/src/components/ThemeToggle/icons.tsx +46 -0
  453. package/src/components/ThemeToggle/index.tsx +8 -90
  454. package/src/components/ThinkingIndicator/ThinkingIndicator.contract.json +11 -10
  455. package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +9 -7
  456. package/src/components/ThinkingIndicator/index.tsx +12 -14
  457. package/src/components/Toast/Toast.contract.json +29 -13
  458. package/src/components/Toast/Toast.module.scss +49 -104
  459. package/src/components/Toast/index.tsx +39 -34
  460. package/src/components/ToggleGroup/ToggleGroup.contract.json +13 -13
  461. package/src/components/ToggleGroup/ToggleGroup.module.scss +16 -46
  462. package/src/components/ToggleGroup/index.tsx +11 -11
  463. package/src/components/Tooltip/Tooltip.contract.json +3 -3
  464. package/src/components/Tooltip/Tooltip.module.scss +16 -10
  465. package/src/components/VisuallyHidden/VisuallyHidden.module.scss +4 -14
  466. package/src/index.ts +14 -10
  467. package/src/measurements/MeasurementTargets.module.scss +6 -7
  468. package/src/measurements/generated.ts +38 -96
  469. package/src/measurements/index.ts +0 -1
  470. package/src/measurements/measurements.json +37 -116
  471. package/src/recipes/_action.scss +4 -4
  472. package/src/recipes/_boolean-range.scss +9 -5
  473. package/src/recipes/_feedback.scss +17 -16
  474. package/src/recipes/_field.scss +28 -20
  475. package/src/recipes/_navigation.scss +84 -29
  476. package/src/recipes/_overlay.scss +143 -43
  477. package/src/recipes/_popup.scss +46 -36
  478. package/src/recipes/_prose.scss +35 -23
  479. package/src/recipes/_representation.scss +10 -9
  480. package/src/recipes/_segmented.scss +1 -1
  481. package/src/recipes/_table-chrome.scss +27 -16
  482. package/src/recipes/_target.scss +2 -4
  483. package/src/recipes/_typography.scss +10 -0
  484. package/src/styles/globals.scss +14 -9
  485. package/src/tokens/_component-properties.scss +19 -1
  486. package/src/tokens/_computed.scss +27 -33
  487. package/src/tokens/_measurements.catalog.generated.css +58 -45
  488. package/src/tokens/_measurements.generated.scss +107 -250
  489. package/src/tokens/_mixins.scss +42 -40
  490. package/src/tokens/_palettes.scss +1 -1
  491. package/src/tokens/_property-registrations.scss +9 -0
  492. package/src/tokens/_seeds.scss +1 -12
  493. package/src/tokens/_variables.scss +71 -59
  494. package/src/utils/seed-derivation.ts +1 -8
  495. package/src/utils/theme-presets.ts +5 -12
  496. package/dist/blocks/AccountSettings.block.d.ts +0 -3
  497. package/dist/blocks/AccountSettings.block.d.ts.map +0 -1
  498. package/dist/blocks/ActivityFeedSkeleton.block.d.ts +0 -3
  499. package/dist/blocks/ActivityFeedSkeleton.block.d.ts.map +0 -1
  500. package/dist/blocks/BlogEditor.block.d.ts +0 -3
  501. package/dist/blocks/BlogEditor.block.d.ts.map +0 -1
  502. package/dist/blocks/ChatInterface.block.d.ts +0 -3
  503. package/dist/blocks/ChatInterface.block.d.ts.map +0 -1
  504. package/dist/blocks/ChatMessages.block.d.ts +0 -3
  505. package/dist/blocks/ChatMessages.block.d.ts.map +0 -1
  506. package/dist/blocks/CheckoutForm.block.d.ts +0 -3
  507. package/dist/blocks/CheckoutForm.block.d.ts.map +0 -1
  508. package/dist/blocks/CommandPalette.block.d.ts +0 -3
  509. package/dist/blocks/CommandPalette.block.d.ts.map +0 -1
  510. package/dist/blocks/ContactForm.block.d.ts +0 -3
  511. package/dist/blocks/ContactForm.block.d.ts.map +0 -1
  512. package/dist/blocks/DashboardPage.block.d.ts +0 -3
  513. package/dist/blocks/DashboardPage.block.d.ts.map +0 -1
  514. package/dist/blocks/DashboardSkeleton.block.d.ts +0 -3
  515. package/dist/blocks/DashboardSkeleton.block.d.ts.map +0 -1
  516. package/dist/blocks/DataTable.block.d.ts +0 -3
  517. package/dist/blocks/DataTable.block.d.ts.map +0 -1
  518. package/dist/blocks/EmptyState.block.d.ts +0 -3
  519. package/dist/blocks/EmptyState.block.d.ts.map +0 -1
  520. package/dist/blocks/FAQSection.block.d.ts +0 -3
  521. package/dist/blocks/FAQSection.block.d.ts.map +0 -1
  522. package/dist/blocks/FeatureGrid.block.d.ts +0 -3
  523. package/dist/blocks/FeatureGrid.block.d.ts.map +0 -1
  524. package/dist/blocks/HeroSection.block.d.ts +0 -3
  525. package/dist/blocks/HeroSection.block.d.ts.map +0 -1
  526. package/dist/blocks/NavigationHeader.block.d.ts +0 -3
  527. package/dist/blocks/NavigationHeader.block.d.ts.map +0 -1
  528. package/dist/blocks/PaginatedTable.block.d.ts +0 -3
  529. package/dist/blocks/PaginatedTable.block.d.ts.map +0 -1
  530. package/dist/blocks/PricingComparison.block.d.ts +0 -3
  531. package/dist/blocks/PricingComparison.block.d.ts.map +0 -1
  532. package/dist/blocks/ProductCard.block.d.ts +0 -3
  533. package/dist/blocks/ProductCard.block.d.ts.map +0 -1
  534. package/dist/blocks/RegistrationForm.block.d.ts +0 -3
  535. package/dist/blocks/RegistrationForm.block.d.ts.map +0 -1
  536. package/dist/blocks/SettingsDrawer.block.d.ts +0 -3
  537. package/dist/blocks/SettingsDrawer.block.d.ts.map +0 -1
  538. package/dist/blocks/SettingsPanel.block.d.ts +0 -3
  539. package/dist/blocks/SettingsPanel.block.d.ts.map +0 -1
  540. package/dist/blocks/ShoppingCart.block.d.ts +0 -3
  541. package/dist/blocks/ShoppingCart.block.d.ts.map +0 -1
  542. package/dist/blocks/StatsCardSkeleton.block.d.ts +0 -3
  543. package/dist/blocks/StatsCardSkeleton.block.d.ts.map +0 -1
  544. package/dist/blocks/TableSkeleton.block.d.ts +0 -3
  545. package/dist/blocks/TableSkeleton.block.d.ts.map +0 -1
  546. package/dist/blocks/ThinkingStates.block.d.ts +0 -3
  547. package/dist/blocks/ThinkingStates.block.d.ts.map +0 -1
  548. package/dist/components/Toggle/index.d.ts +0 -3
  549. package/dist/components/Toggle/index.d.ts.map +0 -1
  550. package/src/components/Toggle/index.ts +0 -7
  551. package/src/tokens/_density.scss +0 -85
package/README.md CHANGED
@@ -148,9 +148,9 @@ All fragment and block previews are authored source snippets, not runtime-serial
148
148
 
149
149
  ## Design Tokens
150
150
 
151
- ### Seed-Based Configuration (Recommended)
151
+ ### Seeds
152
152
 
153
- Configure ~5 seeds and everything derives automatically using the SCSS `@use ... with()` syntax:
153
+ Seven seeds drive every derived token. Set them with the SCSS `@use ... with()` syntax on the styles entry point:
154
154
 
155
155
  ```scss
156
156
  // styles/globals.scss
@@ -165,8 +165,6 @@ Configure ~5 seeds and everything derives automatically using the SCSS `@use ...
165
165
  // Full customization
166
166
  @use "@usefragments/ui/styles" with (
167
167
  $fui-brand: #0066ff,
168
- $fui-neutral: "ice",
169
- $fui-density: "compact",
170
168
  $fui-radius-style: "rounded",
171
169
  $fui-danger: #dc2626,
172
170
  $fui-success: #16a34a
@@ -175,37 +173,17 @@ Configure ~5 seeds and everything derives automatically using the SCSS `@use ...
175
173
 
176
174
  #### Available Seeds
177
175
 
178
- | Seed | Type | Default | Description |
179
- | ------------------- | ------ | ----------- | ------------------------------------------------------- |
180
- | `$fui-brand` | Color | `#006b57` | Primary brand color - derives accent, focus rings, etc. |
181
- | `$fui-neutral` | String | `"carbon"` | Neutral palette for surfaces, text, borders |
182
- | `$fui-density` | String | `"default"` | Spacing density scale |
183
- | `$fui-radius-style` | String | `"default"` | Corner radius style |
184
- | `$fui-danger` | Color | `#c44732` | Error/danger semantic color |
185
- | `$fui-success` | Color | `#2c8c5f` | Success semantic color |
186
- | `$fui-warning` | Color | `#c4922a` | Warning semantic color |
187
- | `$fui-info` | Color | `#3d7aa8` | Info semantic color |
188
-
189
- #### Neutral Palettes
190
-
191
- | Name | Description |
192
- | ----------- | --------------------------------------------- |
193
- | `carbon` | Near-black product chrome — default |
194
- | `stone` | Cool gray neutrals (balanced, professional) |
195
- | `mono` | Strict grayscale neutrals |
196
- | `ice` | Cool blue-tinted grays (crisp, technical) |
197
- | `earth` | Warm brown-tinted grays (natural, grounded) |
198
- | `sand` | Warm tan-tinted grays (organic, approachable) |
199
- | `fire` | Warm red-tinted grays (bold, energetic) |
200
- | `fragments` | Fragments' original neutral palette |
201
-
202
- #### Density Presets
203
-
204
- | Name | Base Unit | Feel |
205
- | --------- | --------- | ----------------------------------- |
206
- | `compact` | 6px | Tighter spacing, smaller elements |
207
- | `default` | 7px | Balanced, current visual appearance |
208
- | `relaxed` | 8px | More spacious layout |
176
+ | Seed | Type | Default | Description |
177
+ | ------------------- | ------ | ----------- | --------------------------------------------------------------------------- |
178
+ | `$fui-brand` | Color | `#f56138` | Brand color derives the accent ramp, focus rings and the dark-mode accent |
179
+ | `$fui-neutral` | String | `"paper"` | The neutral ramp: warm cream canvas, white cards, warm charcoal dark mode |
180
+ | `$fui-radius-style` | String | `"default"` | Corner radius style |
181
+ | `$fui-danger` | Color | `#c44732` | Danger semantic color |
182
+ | `$fui-success` | Color | `#2c8c5f` | Success semantic color |
183
+ | `$fui-warning` | Color | `#c4922a` | Warning semantic color |
184
+ | `$fui-info` | Color | `#3d7aa8` | Info semantic color |
185
+
186
+ `"paper"` is the only neutral ramp that ships: one light theme, one dark theme. Any other `$fui-neutral` value fails the build.
209
187
 
210
188
  #### Radius Styles
211
189
 
@@ -217,7 +195,32 @@ Configure ~5 seeds and everything derives automatically using the SCSS `@use ...
217
195
  | `rounded` | More prominent (friendly) |
218
196
  | `pill` | Maximum rounding (playful, soft) |
219
197
 
220
- ### Individual Token Overrides (Backward Compatible)
198
+ ### Runtime attributes
199
+
200
+ The compiled stylesheet also answers two attributes on `<html>` (or any ancestor), so a page can switch without a rebuild:
201
+
202
+ | Attribute | Values | Effect |
203
+ | ----------------------- | --------------------------------------- | --------------------------------------- |
204
+ | `data-theme` | `light` · `dark` | Colour scheme (`ThemeProvider` sets it) |
205
+ | `data-fui-radius-style` | `sharp` · `subtle` · `rounded` · `pill` | Radius profile; absent = `default` |
206
+
207
+ ### Shared state tokens
208
+
209
+ Every component reads these instead of carrying its own literal, so one override changes the whole kit:
210
+
211
+ | Token | Default | Purpose |
212
+ | ------------------------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
213
+ | `--fui-opacity-faint` | `0.3` | Faint decoration: pulse rings and glow tracks |
214
+ | `--fui-opacity-disabled` | `0.5` | Disabled controls (`@include disabled-state` in SCSS) |
215
+ | `--fui-opacity-muted` | `0.7` | Dimmed but live: collapsed rails, secondary glyphs, decorative rules |
216
+ | `--fui-radius-none` | `0` | Square corners: joined segments, skeleton blocks, code gutters |
217
+ | `--fui-radius-l1` | `--fui-radius-lg` | Outermost surface level: cards, dialogs, panels |
218
+ | `--fui-radius-l2` | `--fui-radius-md` | Control level: buttons, inputs, menus |
219
+ | `--fui-radius-l3` | `--fui-radius-sm` | Inner level: checkboxes, badges, nested chips |
220
+ | `--fui-scale` | `1` | Multiplies the spacing scale (`--fui-space-*`) and the measurement-catalog lengths (control and field tracks, insets, overlay widths, navigation); radius, strokes and type stay fixed |
221
+ | `--fui-stroke-default` | measurement target | Stroke used by `@include high-contrast-outline` under `prefers-contrast` |
222
+
223
+ ### Individual Token Overrides
221
224
 
222
225
  You can still override individual tokens directly:
223
226
 
@@ -253,35 +256,22 @@ You can still override individual tokens directly:
253
256
  | `$fui-breakpoint-lg` | 1024px |
254
257
  | `$fui-breakpoint-xl` | 1280px |
255
258
 
256
- ### Migration Guide
257
-
258
- **Existing code continues to work.** The seed system is fully backward compatible:
259
+ ### Migrating token overrides to seeds
259
260
 
260
- - Existing `@use '@usefragments/ui/tokens'` imports work unchanged
261
- - Individual variable overrides (`$fui-color-accent: #blue`) still work
262
- - CSS variable usage (`var(--fui-color-accent)`) works
263
- - Component APIs remain the same
264
- - Visual appearance is unchanged with default seeds
261
+ Instead of overriding many individual tokens, set seed values; dark mode, hover states and derived colors are computed automatically:
265
262
 
266
- **To migrate to seeds (optional):**
267
-
268
- 1. Instead of overriding many individual tokens, set seed values:
269
-
270
- ```scss
271
- // Before: many individual overrides
272
- $fui-color-accent: #0066ff;
273
- $fui-color-accent-hover: #0052cc;
274
- $fui-bg-secondary: #f1f5f9;
275
- // ...many more
276
-
277
- // After: just seeds
278
- @use "@usefragments/ui/styles" with (
279
- $fui-brand: #0066ff,
280
- $fui-neutral: "ice"
281
- );
282
- ```
263
+ ```scss
264
+ // Before: many individual overrides
265
+ $fui-color-accent: #0066ff;
266
+ $fui-color-accent-hover: #0052cc;
267
+ $fui-bg-secondary: #f1f5f9;
268
+ // ...many more
283
269
 
284
- 2. Dark mode, hover states, and derived colors are computed automatically
270
+ // After: just seeds
271
+ @use "@usefragments/ui/styles" with (
272
+ $fui-brand: #0066ff
273
+ );
274
+ ```
285
275
 
286
276
  ## AI Agent Support
287
277
 
@@ -313,11 +303,9 @@ API-key header. There is no MCP npm package or local stdio process to install.
313
303
  The library includes composition blocks — named patterns showing how components wire together for common use cases:
314
304
 
315
305
  - **Login Form** — Email/password authentication form
316
- - **Confirm Dialog** — Destructive action confirmation
317
- - **Card Grid** — Responsive auto-fill card layout
318
- - **Form Layout** — Two-column form with Grid
319
306
  - **Dashboard Layout** — Featured card with metrics grid
320
- - **Settings Page** — Settings sections with cards and controls
307
+ - **Stats Card** — Metric tile with delta badge
308
+ - **Activity Feed** — Avatar-led activity list
321
309
 
322
310
  Access blocks through the Fragments docs or context generated by the CLI.
323
311
 
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const navGlyph_module = require("./nav-glyph.module.scss.cjs");
5
+ function part(verb, index, vars) {
6
+ const style = index === void 0 && !vars ? void 0 : { ...index === void 0 ? {} : { "--i": index }, ...vars };
7
+ return { className: [navGlyph_module.default.motion, navGlyph_module.default[verb]].join(" "), style };
8
+ }
9
+ function stroke(verb, index) {
10
+ return { ...part(verb, index), pathLength: 1 };
11
+ }
12
+ const GLYPHS = {
13
+ // Four tiles; the first is inked — the place you are standing.
14
+ overview: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
15
+ /* @__PURE__ */ jsxRuntime.jsx(
16
+ "rect",
17
+ {
18
+ x: "2.5",
19
+ y: "2.5",
20
+ width: "4.5",
21
+ height: "4.5",
22
+ rx: "1",
23
+ fill: "currentColor",
24
+ stroke: "none",
25
+ ...part("tile", 0)
26
+ }
27
+ ),
28
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "9", y: "2.5", width: "4.5", height: "4.5", rx: "1", ...part("tile", 1) }),
29
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "9", y: "9", width: "4.5", height: "4.5", rx: "1", ...part("tile", 2) }),
30
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "2.5", y: "9", width: "4.5", height: "4.5", rx: "1", ...part("tile", 3) })
31
+ ] }),
32
+ // A bound volume with its spine.
33
+ repository: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
34
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "2.5", width: "10", height: "11", rx: "1.5" }),
35
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 2.5v11", ...part("spine") })
36
+ ] }),
37
+ // Two commits on the base branch, one on the branch merging in.
38
+ pullRequest: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
39
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "4.5", cy: "4", r: "1.75" }),
40
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "4.5", cy: "12", r: "1.75" }),
41
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.5 5.75v4.5" }),
42
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 4h1.75A1.75 1.75 0 0 1 11.5 5.75v4.5", ...stroke("branch") }),
43
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "11.5", cy: "12", r: "1.75", ...part("head", 4) })
44
+ ] }),
45
+ // A planted flag with a notched fly.
46
+ finding: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
47
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 14V2.5" }),
48
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 3h7.5l-1.75 2.5L11.5 8H4", ...part("fly") })
49
+ ] }),
50
+ // A signed sheet with a folded corner.
51
+ contract: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
52
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.5 2.5h5l3 3v7.5a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1z" }),
53
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9.5 2.5v3h3" }),
54
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.5 8.5h3", ...stroke("line", 0) }),
55
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.5 11h3.5", ...stroke("line", 2) })
56
+ ] }),
57
+ // Three bars climbing.
58
+ adoption: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
59
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.25 13.5h11.5" }),
60
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 13.5V9.5", ...part("bar", 0) }),
61
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 13.5V6", ...part("bar", 1) }),
62
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 13.5V2.75", ...part("bar", 2) })
63
+ ] }),
64
+ // The isometric cube from the card art.
65
+ component: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
66
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 1.75l5.5 3.15v6.2L8 14.25l-5.5-3.15v-6.2z" }),
67
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 8.05l5.5-3.15", ...stroke("edge", 0) }),
68
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 8.05L2.5 4.9", ...stroke("edge", 1) }),
69
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 8.05v6.2", ...stroke("edge", 2) })
70
+ ] }),
71
+ // A terminal with its prompt.
72
+ setup: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
73
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "2", y: "3", width: "12", height: "10", rx: "1.5" }),
74
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 6.75l2 1.5-2 1.5", ...part("caret") }),
75
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8.75 10.25h2.5", ...part("cursor") })
76
+ ] }),
77
+ // Three sliders, each knob somewhere different.
78
+ settings: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
79
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.5 4.5h11" }),
80
+ /* @__PURE__ */ jsxRuntime.jsx(
81
+ "circle",
82
+ {
83
+ cx: "10",
84
+ cy: "4.5",
85
+ r: "1.5",
86
+ fill: "currentColor",
87
+ stroke: "none",
88
+ ...part("knob", 0, { "--dx": "2px" })
89
+ }
90
+ ),
91
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.5 8h11" }),
92
+ /* @__PURE__ */ jsxRuntime.jsx(
93
+ "circle",
94
+ {
95
+ cx: "6",
96
+ cy: "8",
97
+ r: "1.5",
98
+ fill: "currentColor",
99
+ stroke: "none",
100
+ ...part("knob", 1, { "--dx": "-2px" })
101
+ }
102
+ ),
103
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.5 11.5h11" }),
104
+ /* @__PURE__ */ jsxRuntime.jsx(
105
+ "circle",
106
+ {
107
+ cx: "9.5",
108
+ cy: "11.5",
109
+ r: "1.5",
110
+ fill: "currentColor",
111
+ stroke: "none",
112
+ ...part("knob", 2, { "--dx": "1.5px" })
113
+ }
114
+ )
115
+ ] })
116
+ };
117
+ const NAV_GLYPH_NAMES = Object.keys(GLYPHS);
118
+ function NavGlyph({ name, size = 16, className, ...rest }) {
119
+ return /* @__PURE__ */ jsxRuntime.jsx(
120
+ "svg",
121
+ {
122
+ width: size,
123
+ height: size,
124
+ viewBox: "0 0 16 16",
125
+ fill: "none",
126
+ stroke: "currentColor",
127
+ strokeWidth: 1.5,
128
+ strokeLinecap: "round",
129
+ strokeLinejoin: "round",
130
+ "aria-hidden": "true",
131
+ focusable: "false",
132
+ className: [navGlyph_module.default.glyph, className].filter(Boolean).join(" "),
133
+ ...rest,
134
+ children: GLYPHS[name]
135
+ }
136
+ );
137
+ }
138
+ exports.NAV_GLYPH_NAMES = NAV_GLYPH_NAMES;
139
+ exports.NavGlyph = NavGlyph;
@@ -0,0 +1,28 @@
1
+ import * as React from "react";
2
+ /**
3
+ * The navigation glyph set: one 16px stroke glyph per governance destination.
4
+ * Drawn on a 16-unit grid with a 1.5 stroke, round caps and joins, and
5
+ * `currentColor` ink, so a glyph takes the colour of the row it sits in. The
6
+ * component glyph is the isometric cube the illustrated cards use, so the
7
+ * sidebar and the cards share one object language.
8
+ *
9
+ * Each glyph has one motion verb (see the module stylesheet) that plays when
10
+ * the link or button it sits in is hovered or focused. Parts that move carry
11
+ * `motion` plus their verb class; `--i` staggers siblings.
12
+ */
13
+ export type NavGlyphName = "overview" | "repository" | "pullRequest" | "finding" | "contract" | "adoption" | "component" | "setup" | "settings";
14
+ export declare const NAV_GLYPH_NAMES: NavGlyphName[];
15
+ export interface NavGlyphProps extends Omit<React.SVGAttributes<SVGSVGElement>, "name"> {
16
+ /** Which glyph to draw. */
17
+ name: NavGlyphName;
18
+ /** Rendered box in px; the glyph inherits `currentColor`. */
19
+ size?: number | string;
20
+ }
21
+ /**
22
+ * A navigation glyph. Decorative by default (`aria-hidden`): the label beside
23
+ * it names the destination. Pass `aria-label` and `role="img"` when the glyph
24
+ * stands alone. Its verb plays when the enclosing link or button is hovered
25
+ * or focused, and never under `prefers-reduced-motion: reduce`.
26
+ */
27
+ export declare function NavGlyph({ name, size, className, ...rest }: NavGlyphProps): import("react/jsx-runtime").JSX.Element;
28
+ //# sourceMappingURL=nav-glyph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-glyph.d.ts","sourceRoot":"","sources":["../../src/assets/nav-glyph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,YAAY,GACZ,aAAa,GACb,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,GACP,UAAU,CAAC;AAkIf,eAAO,MAAM,eAAe,EAA0B,YAAY,EAAE,CAAC;AAErE,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACrF,2BAA2B;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAS,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,2CAmB9E"}
@@ -0,0 +1,139 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import styles from "./nav-glyph.module.scss.js";
3
+ function part(verb, index, vars) {
4
+ const style = index === void 0 && !vars ? void 0 : { ...index === void 0 ? {} : { "--i": index }, ...vars };
5
+ return { className: [styles.motion, styles[verb]].join(" "), style };
6
+ }
7
+ function stroke(verb, index) {
8
+ return { ...part(verb, index), pathLength: 1 };
9
+ }
10
+ const GLYPHS = {
11
+ // Four tiles; the first is inked — the place you are standing.
12
+ overview: /* @__PURE__ */ jsxs(Fragment, { children: [
13
+ /* @__PURE__ */ jsx(
14
+ "rect",
15
+ {
16
+ x: "2.5",
17
+ y: "2.5",
18
+ width: "4.5",
19
+ height: "4.5",
20
+ rx: "1",
21
+ fill: "currentColor",
22
+ stroke: "none",
23
+ ...part("tile", 0)
24
+ }
25
+ ),
26
+ /* @__PURE__ */ jsx("rect", { x: "9", y: "2.5", width: "4.5", height: "4.5", rx: "1", ...part("tile", 1) }),
27
+ /* @__PURE__ */ jsx("rect", { x: "9", y: "9", width: "4.5", height: "4.5", rx: "1", ...part("tile", 2) }),
28
+ /* @__PURE__ */ jsx("rect", { x: "2.5", y: "9", width: "4.5", height: "4.5", rx: "1", ...part("tile", 3) })
29
+ ] }),
30
+ // A bound volume with its spine.
31
+ repository: /* @__PURE__ */ jsxs(Fragment, { children: [
32
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "2.5", width: "10", height: "11", rx: "1.5" }),
33
+ /* @__PURE__ */ jsx("path", { d: "M6 2.5v11", ...part("spine") })
34
+ ] }),
35
+ // Two commits on the base branch, one on the branch merging in.
36
+ pullRequest: /* @__PURE__ */ jsxs(Fragment, { children: [
37
+ /* @__PURE__ */ jsx("circle", { cx: "4.5", cy: "4", r: "1.75" }),
38
+ /* @__PURE__ */ jsx("circle", { cx: "4.5", cy: "12", r: "1.75" }),
39
+ /* @__PURE__ */ jsx("path", { d: "M4.5 5.75v4.5" }),
40
+ /* @__PURE__ */ jsx("path", { d: "M8 4h1.75A1.75 1.75 0 0 1 11.5 5.75v4.5", ...stroke("branch") }),
41
+ /* @__PURE__ */ jsx("circle", { cx: "11.5", cy: "12", r: "1.75", ...part("head", 4) })
42
+ ] }),
43
+ // A planted flag with a notched fly.
44
+ finding: /* @__PURE__ */ jsxs(Fragment, { children: [
45
+ /* @__PURE__ */ jsx("path", { d: "M4 14V2.5" }),
46
+ /* @__PURE__ */ jsx("path", { d: "M4 3h7.5l-1.75 2.5L11.5 8H4", ...part("fly") })
47
+ ] }),
48
+ // A signed sheet with a folded corner.
49
+ contract: /* @__PURE__ */ jsxs(Fragment, { children: [
50
+ /* @__PURE__ */ jsx("path", { d: "M4.5 2.5h5l3 3v7.5a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1z" }),
51
+ /* @__PURE__ */ jsx("path", { d: "M9.5 2.5v3h3" }),
52
+ /* @__PURE__ */ jsx("path", { d: "M6.5 8.5h3", ...stroke("line", 0) }),
53
+ /* @__PURE__ */ jsx("path", { d: "M6.5 11h3.5", ...stroke("line", 2) })
54
+ ] }),
55
+ // Three bars climbing.
56
+ adoption: /* @__PURE__ */ jsxs(Fragment, { children: [
57
+ /* @__PURE__ */ jsx("path", { d: "M2.25 13.5h11.5" }),
58
+ /* @__PURE__ */ jsx("path", { d: "M4 13.5V9.5", ...part("bar", 0) }),
59
+ /* @__PURE__ */ jsx("path", { d: "M8 13.5V6", ...part("bar", 1) }),
60
+ /* @__PURE__ */ jsx("path", { d: "M12 13.5V2.75", ...part("bar", 2) })
61
+ ] }),
62
+ // The isometric cube from the card art.
63
+ component: /* @__PURE__ */ jsxs(Fragment, { children: [
64
+ /* @__PURE__ */ jsx("path", { d: "M8 1.75l5.5 3.15v6.2L8 14.25l-5.5-3.15v-6.2z" }),
65
+ /* @__PURE__ */ jsx("path", { d: "M8 8.05l5.5-3.15", ...stroke("edge", 0) }),
66
+ /* @__PURE__ */ jsx("path", { d: "M8 8.05L2.5 4.9", ...stroke("edge", 1) }),
67
+ /* @__PURE__ */ jsx("path", { d: "M8 8.05v6.2", ...stroke("edge", 2) })
68
+ ] }),
69
+ // A terminal with its prompt.
70
+ setup: /* @__PURE__ */ jsxs(Fragment, { children: [
71
+ /* @__PURE__ */ jsx("rect", { x: "2", y: "3", width: "12", height: "10", rx: "1.5" }),
72
+ /* @__PURE__ */ jsx("path", { d: "M5 6.75l2 1.5-2 1.5", ...part("caret") }),
73
+ /* @__PURE__ */ jsx("path", { d: "M8.75 10.25h2.5", ...part("cursor") })
74
+ ] }),
75
+ // Three sliders, each knob somewhere different.
76
+ settings: /* @__PURE__ */ jsxs(Fragment, { children: [
77
+ /* @__PURE__ */ jsx("path", { d: "M2.5 4.5h11" }),
78
+ /* @__PURE__ */ jsx(
79
+ "circle",
80
+ {
81
+ cx: "10",
82
+ cy: "4.5",
83
+ r: "1.5",
84
+ fill: "currentColor",
85
+ stroke: "none",
86
+ ...part("knob", 0, { "--dx": "2px" })
87
+ }
88
+ ),
89
+ /* @__PURE__ */ jsx("path", { d: "M2.5 8h11" }),
90
+ /* @__PURE__ */ jsx(
91
+ "circle",
92
+ {
93
+ cx: "6",
94
+ cy: "8",
95
+ r: "1.5",
96
+ fill: "currentColor",
97
+ stroke: "none",
98
+ ...part("knob", 1, { "--dx": "-2px" })
99
+ }
100
+ ),
101
+ /* @__PURE__ */ jsx("path", { d: "M2.5 11.5h11" }),
102
+ /* @__PURE__ */ jsx(
103
+ "circle",
104
+ {
105
+ cx: "9.5",
106
+ cy: "11.5",
107
+ r: "1.5",
108
+ fill: "currentColor",
109
+ stroke: "none",
110
+ ...part("knob", 2, { "--dx": "1.5px" })
111
+ }
112
+ )
113
+ ] })
114
+ };
115
+ const NAV_GLYPH_NAMES = Object.keys(GLYPHS);
116
+ function NavGlyph({ name, size = 16, className, ...rest }) {
117
+ return /* @__PURE__ */ jsx(
118
+ "svg",
119
+ {
120
+ width: size,
121
+ height: size,
122
+ viewBox: "0 0 16 16",
123
+ fill: "none",
124
+ stroke: "currentColor",
125
+ strokeWidth: 1.5,
126
+ strokeLinecap: "round",
127
+ strokeLinejoin: "round",
128
+ "aria-hidden": "true",
129
+ focusable: "false",
130
+ className: [styles.glyph, className].filter(Boolean).join(" "),
131
+ ...rest,
132
+ children: GLYPHS[name]
133
+ }
134
+ );
135
+ }
136
+ export {
137
+ NAV_GLYPH_NAMES,
138
+ NavGlyph
139
+ };
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const glyph = "_glyph_1g87d_1";
4
+ const motion = "_motion_1g87d_7";
5
+ const tile = "_tile_1g87d_11";
6
+ const hop = "_hop_1g87d_1";
7
+ const spine = "_spine_1g87d_17";
8
+ const open = "_open_1g87d_1";
9
+ const branch = "_branch_1g87d_23";
10
+ const draw = "_draw_1g87d_1";
11
+ const head = "_head_1g87d_29";
12
+ const pop = "_pop_1g87d_1";
13
+ const fly = "_fly_1g87d_35";
14
+ const wave = "_wave_1g87d_1";
15
+ const line = "_line_1g87d_44";
16
+ const bar = "_bar_1g87d_50";
17
+ const rise = "_rise_1g87d_1";
18
+ const edge = "_edge_1g87d_59";
19
+ const caret = "_caret_1g87d_65";
20
+ const nudge = "_nudge_1g87d_1";
21
+ const cursor = "_cursor_1g87d_71";
22
+ const blink = "_blink_1g87d_1";
23
+ const knob = "_knob_1g87d_77";
24
+ const slide = "_slide_1g87d_1";
25
+ const styles = {
26
+ glyph,
27
+ motion,
28
+ tile,
29
+ hop,
30
+ spine,
31
+ open,
32
+ branch,
33
+ draw,
34
+ head,
35
+ pop,
36
+ fly,
37
+ wave,
38
+ line,
39
+ bar,
40
+ rise,
41
+ edge,
42
+ caret,
43
+ nudge,
44
+ cursor,
45
+ blink,
46
+ knob,
47
+ slide
48
+ };
49
+ exports.bar = bar;
50
+ exports.blink = blink;
51
+ exports.branch = branch;
52
+ exports.caret = caret;
53
+ exports.cursor = cursor;
54
+ exports.default = styles;
55
+ exports.draw = draw;
56
+ exports.edge = edge;
57
+ exports.fly = fly;
58
+ exports.glyph = glyph;
59
+ exports.head = head;
60
+ exports.hop = hop;
61
+ exports.knob = knob;
62
+ exports.line = line;
63
+ exports.motion = motion;
64
+ exports.nudge = nudge;
65
+ exports.open = open;
66
+ exports.pop = pop;
67
+ exports.rise = rise;
68
+ exports.slide = slide;
69
+ exports.spine = spine;
70
+ exports.tile = tile;
71
+ exports.wave = wave;
@@ -0,0 +1,71 @@
1
+ const glyph = "_glyph_1g87d_1";
2
+ const motion = "_motion_1g87d_7";
3
+ const tile = "_tile_1g87d_11";
4
+ const hop = "_hop_1g87d_1";
5
+ const spine = "_spine_1g87d_17";
6
+ const open = "_open_1g87d_1";
7
+ const branch = "_branch_1g87d_23";
8
+ const draw = "_draw_1g87d_1";
9
+ const head = "_head_1g87d_29";
10
+ const pop = "_pop_1g87d_1";
11
+ const fly = "_fly_1g87d_35";
12
+ const wave = "_wave_1g87d_1";
13
+ const line = "_line_1g87d_44";
14
+ const bar = "_bar_1g87d_50";
15
+ const rise = "_rise_1g87d_1";
16
+ const edge = "_edge_1g87d_59";
17
+ const caret = "_caret_1g87d_65";
18
+ const nudge = "_nudge_1g87d_1";
19
+ const cursor = "_cursor_1g87d_71";
20
+ const blink = "_blink_1g87d_1";
21
+ const knob = "_knob_1g87d_77";
22
+ const slide = "_slide_1g87d_1";
23
+ const styles = {
24
+ glyph,
25
+ motion,
26
+ tile,
27
+ hop,
28
+ spine,
29
+ open,
30
+ branch,
31
+ draw,
32
+ head,
33
+ pop,
34
+ fly,
35
+ wave,
36
+ line,
37
+ bar,
38
+ rise,
39
+ edge,
40
+ caret,
41
+ nudge,
42
+ cursor,
43
+ blink,
44
+ knob,
45
+ slide
46
+ };
47
+ export {
48
+ bar,
49
+ blink,
50
+ branch,
51
+ caret,
52
+ cursor,
53
+ styles as default,
54
+ draw,
55
+ edge,
56
+ fly,
57
+ glyph,
58
+ head,
59
+ hop,
60
+ knob,
61
+ line,
62
+ motion,
63
+ nudge,
64
+ open,
65
+ pop,
66
+ rise,
67
+ slide,
68
+ spine,
69
+ tile,
70
+ wave
71
+ };