@usefragments/ui 1.6.0 → 2.0.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 (685) hide show
  1. package/README.md +54 -66
  2. package/dist/assets/fragments-wordmark.cjs +2 -2
  3. package/dist/assets/fragments-wordmark.d.ts.map +1 -1
  4. package/dist/assets/fragments-wordmark.js +2 -2
  5. package/dist/assets/nav-glyph.cjs +139 -0
  6. package/dist/assets/nav-glyph.d.ts +28 -0
  7. package/dist/assets/nav-glyph.d.ts.map +1 -0
  8. package/dist/assets/nav-glyph.js +139 -0
  9. package/dist/assets/nav-glyph.module.scss.cjs +71 -0
  10. package/dist/assets/nav-glyph.module.scss.js +71 -0
  11. package/dist/assets/ui.css +6885 -6308
  12. package/dist/blocks/components/StatsCard.d.ts +1 -1
  13. package/dist/blocks/components/StatsCard.d.ts.map +1 -1
  14. package/dist/chart.cjs +24 -6
  15. package/dist/chart.js +24 -6
  16. package/dist/codeblock.cjs +76 -43
  17. package/dist/codeblock.js +71 -38
  18. package/dist/colorpicker.cjs +4 -1
  19. package/dist/colorpicker.js +4 -1
  20. package/dist/components/Accordion/Accordion.module.scss.cjs +8 -8
  21. package/dist/components/Accordion/Accordion.module.scss.js +8 -8
  22. package/dist/components/Alert/Alert.module.scss.cjs +23 -20
  23. package/dist/components/Alert/Alert.module.scss.js +23 -20
  24. package/dist/components/Alert/index.cjs +20 -8
  25. package/dist/components/Alert/index.d.ts +17 -11
  26. package/dist/components/Alert/index.d.ts.map +1 -1
  27. package/dist/components/Alert/index.js +20 -8
  28. package/dist/components/AppShell/AppShell.module.scss.cjs +14 -14
  29. package/dist/components/AppShell/AppShell.module.scss.js +14 -14
  30. package/dist/components/AppShell/index.cjs +2 -2
  31. package/dist/components/AppShell/index.js +2 -2
  32. package/dist/components/Avatar/Avatar.module.scss.cjs +14 -14
  33. package/dist/components/Avatar/Avatar.module.scss.js +14 -14
  34. package/dist/components/Badge/Badge.module.scss.cjs +33 -31
  35. package/dist/components/Badge/Badge.module.scss.js +33 -31
  36. package/dist/components/Badge/index.cjs +13 -3
  37. package/dist/components/Badge/index.d.ts +18 -13
  38. package/dist/components/Badge/index.d.ts.map +1 -1
  39. package/dist/components/Badge/index.js +13 -3
  40. package/dist/components/BentoGrid/BentoGrid.module.scss.cjs +14 -14
  41. package/dist/components/BentoGrid/BentoGrid.module.scss.js +14 -14
  42. package/dist/components/Box/Box.module.scss.cjs +152 -152
  43. package/dist/components/Box/Box.module.scss.js +152 -152
  44. package/dist/components/Box/index.cjs +64 -75
  45. package/dist/components/Box/index.d.ts +16 -16
  46. package/dist/components/Box/index.d.ts.map +1 -1
  47. package/dist/components/Box/index.js +64 -75
  48. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.cjs +11 -8
  49. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.js +11 -8
  50. package/dist/components/Breadcrumbs/index.cjs +1 -1
  51. package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
  52. package/dist/components/Breadcrumbs/index.js +1 -1
  53. package/dist/components/Button/Button.module.scss.cjs +36 -27
  54. package/dist/components/Button/Button.module.scss.js +36 -27
  55. package/dist/components/Button/index.cjs +20 -4
  56. package/dist/components/Button/index.d.ts +18 -10
  57. package/dist/components/Button/index.d.ts.map +1 -1
  58. package/dist/components/Button/index.js +20 -4
  59. package/dist/components/ButtonGroup/ButtonGroup.module.scss.cjs +15 -15
  60. package/dist/components/ButtonGroup/ButtonGroup.module.scss.js +15 -15
  61. package/dist/components/Card/Card.module.scss.cjs +31 -26
  62. package/dist/components/Card/Card.module.scss.js +32 -27
  63. package/dist/components/Card/index.cjs +16 -3
  64. package/dist/components/Card/index.d.ts +23 -15
  65. package/dist/components/Card/index.d.ts.map +1 -1
  66. package/dist/components/Card/index.js +16 -3
  67. package/dist/components/Chart/Chart.module.scss.cjs +15 -15
  68. package/dist/components/Chart/Chart.module.scss.js +15 -15
  69. package/dist/components/Chart/index.d.ts.map +1 -1
  70. package/dist/components/Checkbox/Checkbox.module.scss.cjs +11 -11
  71. package/dist/components/Checkbox/Checkbox.module.scss.js +11 -11
  72. package/dist/components/Checkbox/index.cjs +4 -4
  73. package/dist/components/Checkbox/index.d.ts +4 -6
  74. package/dist/components/Checkbox/index.d.ts.map +1 -1
  75. package/dist/components/Checkbox/index.js +4 -4
  76. package/dist/components/Chip/Chip.module.scss.cjs +19 -19
  77. package/dist/components/Chip/Chip.module.scss.js +19 -19
  78. package/dist/components/Chip/index.cjs +3 -3
  79. package/dist/components/Chip/index.d.ts +8 -3
  80. package/dist/components/Chip/index.d.ts.map +1 -1
  81. package/dist/components/Chip/index.js +3 -3
  82. package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +26 -23
  83. package/dist/components/CodeBlock/CodeBlock.module.scss.js +26 -23
  84. package/dist/components/CodeBlock/css-variables-theme.cjs +98 -0
  85. package/dist/components/CodeBlock/css-variables-theme.d.ts +27 -0
  86. package/dist/components/CodeBlock/css-variables-theme.d.ts.map +1 -0
  87. package/dist/components/CodeBlock/css-variables-theme.js +98 -0
  88. package/dist/components/CodeBlock/index.d.ts +20 -5
  89. package/dist/components/CodeBlock/index.d.ts.map +1 -1
  90. package/dist/components/Collapsible/Collapsible.module.scss.cjs +9 -9
  91. package/dist/components/Collapsible/Collapsible.module.scss.js +9 -9
  92. package/dist/components/ColorPicker/ColorPicker.module.scss.cjs +14 -14
  93. package/dist/components/ColorPicker/ColorPicker.module.scss.js +14 -14
  94. package/dist/components/ColorPicker/index.d.ts.map +1 -1
  95. package/dist/components/Combobox/Combobox.module.scss.cjs +21 -21
  96. package/dist/components/Combobox/Combobox.module.scss.js +21 -21
  97. package/dist/components/Combobox/index.cjs +26 -6
  98. package/dist/components/Combobox/index.d.ts.map +1 -1
  99. package/dist/components/Combobox/index.js +26 -6
  100. package/dist/components/Command/Command.module.scss.cjs +14 -11
  101. package/dist/components/Command/Command.module.scss.js +14 -11
  102. package/dist/components/Command/index.cjs +28 -16
  103. package/dist/components/Command/index.d.ts +8 -3
  104. package/dist/components/Command/index.d.ts.map +1 -1
  105. package/dist/components/Command/index.js +28 -16
  106. package/dist/components/ConversationList/ConversationList.module.scss.cjs +10 -10
  107. package/dist/components/ConversationList/ConversationList.module.scss.js +10 -10
  108. package/dist/components/ConversationList/index.cjs +2 -2
  109. package/dist/components/ConversationList/index.js +2 -2
  110. package/dist/components/DataTable/DataTable.icons.cjs +6 -33
  111. package/dist/components/DataTable/DataTable.icons.d.ts.map +1 -1
  112. package/dist/components/DataTable/DataTable.icons.js +6 -33
  113. package/dist/components/DataTable/DataTable.module.scss.cjs +31 -28
  114. package/dist/components/DataTable/DataTable.module.scss.js +31 -28
  115. package/dist/components/DataTable/DataTable.virtual.d.ts.map +1 -1
  116. package/dist/components/DataTable/index.d.ts.map +1 -1
  117. package/dist/components/DatePicker/DatePicker.module.scss.cjs +33 -33
  118. package/dist/components/DatePicker/DatePicker.module.scss.js +33 -33
  119. package/dist/components/DatePicker/index.d.ts.map +1 -1
  120. package/dist/components/Dialog/Dialog.module.scss.cjs +14 -14
  121. package/dist/components/Dialog/Dialog.module.scss.js +14 -14
  122. package/dist/components/Dialog/index.cjs +13 -16
  123. package/dist/components/Dialog/index.d.ts +11 -10
  124. package/dist/components/Dialog/index.d.ts.map +1 -1
  125. package/dist/components/Dialog/index.js +13 -16
  126. package/dist/components/Drawer/Drawer.module.scss.cjs +39 -39
  127. package/dist/components/Drawer/Drawer.module.scss.js +40 -40
  128. package/dist/components/Drawer/index.cjs +2 -2
  129. package/dist/components/Drawer/index.d.ts +5 -4
  130. package/dist/components/Drawer/index.d.ts.map +1 -1
  131. package/dist/components/Drawer/index.js +2 -2
  132. package/dist/components/Editor/Editor.module.scss.cjs +17 -17
  133. package/dist/components/Editor/Editor.module.scss.js +17 -17
  134. package/dist/components/Editor/index.d.ts +10 -10
  135. package/dist/components/Editor/index.d.ts.map +1 -1
  136. package/dist/components/EmptyState/EmptyState.module.scss.cjs +11 -8
  137. package/dist/components/EmptyState/EmptyState.module.scss.js +11 -8
  138. package/dist/components/EmptyState/index.cjs +13 -6
  139. package/dist/components/EmptyState/index.d.ts +13 -5
  140. package/dist/components/EmptyState/index.d.ts.map +1 -1
  141. package/dist/components/EmptyState/index.js +13 -6
  142. package/dist/components/Field/Field.module.scss.cjs +5 -5
  143. package/dist/components/Field/Field.module.scss.js +5 -5
  144. package/dist/components/Field/index.cjs +9 -1
  145. package/dist/components/Field/index.d.ts.map +1 -1
  146. package/dist/components/Field/index.js +9 -1
  147. package/dist/components/Fieldset/Fieldset.module.scss.cjs +3 -3
  148. package/dist/components/Fieldset/Fieldset.module.scss.js +3 -3
  149. package/dist/components/Grid/Grid.module.scss.cjs +54 -54
  150. package/dist/components/Grid/Grid.module.scss.js +54 -54
  151. package/dist/components/Grid/index.cjs +1 -1
  152. package/dist/components/Grid/index.js +1 -1
  153. package/dist/components/Header/Header.module.scss.cjs +33 -33
  154. package/dist/components/Header/Header.module.scss.js +33 -33
  155. package/dist/components/Header/index.cjs +17 -38
  156. package/dist/components/Header/index.d.ts +15 -11
  157. package/dist/components/Header/index.d.ts.map +1 -1
  158. package/dist/components/Header/index.js +17 -38
  159. package/dist/components/Icon/Icon.module.scss.cjs +30 -33
  160. package/dist/components/Icon/Icon.module.scss.js +30 -33
  161. package/dist/components/Icon/index.cjs +15 -14
  162. package/dist/components/Icon/index.d.ts +23 -12
  163. package/dist/components/Icon/index.d.ts.map +1 -1
  164. package/dist/components/Icon/index.js +15 -14
  165. package/dist/components/IconButton/IconButton.module.scss.cjs +12 -12
  166. package/dist/components/IconButton/IconButton.module.scss.js +12 -12
  167. package/dist/components/IconButton/index.cjs +2 -1
  168. package/dist/components/IconButton/index.d.ts +4 -4
  169. package/dist/components/IconButton/index.d.ts.map +1 -1
  170. package/dist/components/IconButton/index.js +2 -1
  171. package/dist/components/Image/Image.module.scss.cjs +27 -27
  172. package/dist/components/Image/Image.module.scss.js +27 -27
  173. package/dist/components/Input/Input.module.scss.cjs +15 -21
  174. package/dist/components/Input/Input.module.scss.js +15 -21
  175. package/dist/components/Input/index.cjs +2 -14
  176. package/dist/components/Input/index.d.ts +0 -2
  177. package/dist/components/Input/index.d.ts.map +1 -1
  178. package/dist/components/Input/index.js +2 -14
  179. package/dist/components/Link/Link.module.scss.cjs +26 -14
  180. package/dist/components/Link/Link.module.scss.js +26 -14
  181. package/dist/components/Link/index.cjs +13 -2
  182. package/dist/components/Link/index.d.ts +11 -4
  183. package/dist/components/Link/index.d.ts.map +1 -1
  184. package/dist/components/Link/index.js +13 -2
  185. package/dist/components/List/List.module.scss.cjs +23 -19
  186. package/dist/components/List/List.module.scss.js +23 -19
  187. package/dist/components/List/index.cjs +7 -7
  188. package/dist/components/List/index.d.ts +10 -7
  189. package/dist/components/List/index.d.ts.map +1 -1
  190. package/dist/components/List/index.js +7 -7
  191. package/dist/components/Listbox/Listbox.module.scss.cjs +8 -8
  192. package/dist/components/Listbox/Listbox.module.scss.js +8 -8
  193. package/dist/components/Loading/Loading.module.scss.cjs +34 -34
  194. package/dist/components/Loading/Loading.module.scss.js +34 -34
  195. package/dist/components/Loading/index.cjs +5 -5
  196. package/dist/components/Loading/index.d.ts +8 -7
  197. package/dist/components/Loading/index.d.ts.map +1 -1
  198. package/dist/components/Loading/index.js +5 -5
  199. package/dist/components/Markdown/Markdown.module.scss.cjs +1 -1
  200. package/dist/components/Markdown/Markdown.module.scss.js +1 -1
  201. package/dist/components/Markdown/index.d.ts +2 -2
  202. package/dist/components/Markdown/index.d.ts.map +1 -1
  203. package/dist/components/Menu/Menu.module.scss.cjs +14 -14
  204. package/dist/components/Menu/Menu.module.scss.js +14 -14
  205. package/dist/components/Message/Message.module.scss.cjs +20 -20
  206. package/dist/components/Message/Message.module.scss.js +20 -20
  207. package/dist/components/Message/index.cjs +1 -1
  208. package/dist/components/Message/index.d.ts +1 -1
  209. package/dist/components/Message/index.js +1 -1
  210. package/dist/components/NavigationMenu/NavigationMenu.module.scss.cjs +34 -31
  211. package/dist/components/NavigationMenu/NavigationMenu.module.scss.js +34 -31
  212. package/dist/components/NavigationMenu/index.cjs +32 -15
  213. package/dist/components/NavigationMenu/index.d.ts +12 -6
  214. package/dist/components/NavigationMenu/index.d.ts.map +1 -1
  215. package/dist/components/NavigationMenu/index.js +32 -15
  216. package/dist/components/Pagination/Pagination.module.scss.cjs +10 -10
  217. package/dist/components/Pagination/Pagination.module.scss.js +10 -10
  218. package/dist/components/Popover/Popover.module.scss.cjs +10 -10
  219. package/dist/components/Popover/Popover.module.scss.js +10 -10
  220. package/dist/components/Progress/Progress.module.scss.cjs +28 -25
  221. package/dist/components/Progress/Progress.module.scss.js +28 -25
  222. package/dist/components/Progress/index.cjs +21 -12
  223. package/dist/components/Progress/index.d.ts +10 -6
  224. package/dist/components/Progress/index.d.ts.map +1 -1
  225. package/dist/components/Progress/index.js +21 -12
  226. package/dist/components/Prompt/Prompt.module.scss.cjs +30 -30
  227. package/dist/components/Prompt/Prompt.module.scss.js +30 -30
  228. package/dist/components/Prompt/index.cjs +7 -7
  229. package/dist/components/Prompt/index.d.ts +11 -9
  230. package/dist/components/Prompt/index.d.ts.map +1 -1
  231. package/dist/components/Prompt/index.js +7 -7
  232. package/dist/components/RadioGroup/RadioGroup.module.scss.cjs +20 -17
  233. package/dist/components/RadioGroup/RadioGroup.module.scss.js +20 -17
  234. package/dist/components/RadioGroup/index.cjs +10 -5
  235. package/dist/components/RadioGroup/index.d.ts +11 -7
  236. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  237. package/dist/components/RadioGroup/index.js +10 -5
  238. package/dist/components/ScrollArea/ScrollArea.module.scss.cjs +5 -5
  239. package/dist/components/ScrollArea/ScrollArea.module.scss.js +5 -5
  240. package/dist/components/ScrollArea/index.d.ts +4 -4
  241. package/dist/components/ScrollArea/index.d.ts.map +1 -1
  242. package/dist/components/ScrollArea/scroll-state.d.ts +5 -5
  243. package/dist/components/Select/Select.module.scss.cjs +21 -21
  244. package/dist/components/Select/Select.module.scss.js +21 -21
  245. package/dist/components/Select/index.cjs +26 -20
  246. package/dist/components/Select/index.d.ts +5 -5
  247. package/dist/components/Select/index.d.ts.map +1 -1
  248. package/dist/components/Select/index.js +26 -20
  249. package/dist/components/Separator/Separator.module.scss.cjs +25 -19
  250. package/dist/components/Separator/Separator.module.scss.js +25 -19
  251. package/dist/components/Separator/index.cjs +10 -8
  252. package/dist/components/Separator/index.d.ts +4 -2
  253. package/dist/components/Separator/index.d.ts.map +1 -1
  254. package/dist/components/Separator/index.js +10 -8
  255. package/dist/components/Sidebar/Sidebar.module.scss.cjs +43 -43
  256. package/dist/components/Sidebar/Sidebar.module.scss.js +43 -43
  257. package/dist/components/Sidebar/index.cjs +15 -38
  258. package/dist/components/Sidebar/index.d.ts +19 -19
  259. package/dist/components/Sidebar/index.d.ts.map +1 -1
  260. package/dist/components/Sidebar/index.js +15 -38
  261. package/dist/components/Skeleton/Skeleton.module.scss.cjs +50 -46
  262. package/dist/components/Skeleton/Skeleton.module.scss.js +50 -46
  263. package/dist/components/Skeleton/index.cjs +7 -7
  264. package/dist/components/Skeleton/index.d.ts +8 -7
  265. package/dist/components/Skeleton/index.d.ts.map +1 -1
  266. package/dist/components/Skeleton/index.js +7 -7
  267. package/dist/components/Slider/Slider.module.scss.cjs +12 -12
  268. package/dist/components/Slider/Slider.module.scss.js +12 -12
  269. package/dist/components/Stack/Stack.module.scss.cjs +25 -25
  270. package/dist/components/Stack/Stack.module.scss.js +25 -25
  271. package/dist/components/Stack/index.cjs +1 -1
  272. package/dist/components/Stack/index.js +1 -1
  273. package/dist/components/Switch/Switch.module.scss.cjs +9 -9
  274. package/dist/components/Switch/Switch.module.scss.js +9 -9
  275. package/dist/components/Table/Table.module.scss.cjs +19 -19
  276. package/dist/components/Table/Table.module.scss.js +19 -19
  277. package/dist/components/TableOfContents/TableOfContents.module.scss.cjs +15 -15
  278. package/dist/components/TableOfContents/TableOfContents.module.scss.js +15 -15
  279. package/dist/components/TableOfContents/index.cjs +14 -10
  280. package/dist/components/TableOfContents/index.d.ts +5 -3
  281. package/dist/components/TableOfContents/index.d.ts.map +1 -1
  282. package/dist/components/TableOfContents/index.js +14 -10
  283. package/dist/components/Tabs/Tabs.module.scss.cjs +18 -18
  284. package/dist/components/Tabs/Tabs.module.scss.js +18 -18
  285. package/dist/components/Tabs/index.cjs +30 -11
  286. package/dist/components/Tabs/index.d.ts +8 -6
  287. package/dist/components/Tabs/index.d.ts.map +1 -1
  288. package/dist/components/Tabs/index.js +30 -11
  289. package/dist/components/Text/Text.module.scss.cjs +109 -97
  290. package/dist/components/Text/Text.module.scss.js +109 -97
  291. package/dist/components/Text/index.cjs +45 -41
  292. package/dist/components/Text/index.d.ts +24 -19
  293. package/dist/components/Text/index.d.ts.map +1 -1
  294. package/dist/components/Text/index.js +45 -41
  295. package/dist/components/Textarea/Textarea.module.scss.cjs +22 -28
  296. package/dist/components/Textarea/Textarea.module.scss.js +22 -28
  297. package/dist/components/Textarea/index.cjs +3 -10
  298. package/dist/components/Textarea/index.d.ts +0 -2
  299. package/dist/components/Textarea/index.d.ts.map +1 -1
  300. package/dist/components/Textarea/index.js +3 -10
  301. package/dist/components/Theme/index.cjs +22 -5
  302. package/dist/components/Theme/index.d.ts +6 -12
  303. package/dist/components/Theme/index.d.ts.map +1 -1
  304. package/dist/components/Theme/index.js +22 -5
  305. package/dist/components/ThemeToggle/ThemeButton.cjs +51 -0
  306. package/dist/components/ThemeToggle/ThemeButton.d.ts +16 -0
  307. package/dist/components/ThemeToggle/ThemeButton.d.ts.map +1 -0
  308. package/dist/components/ThemeToggle/ThemeButton.js +34 -0
  309. package/dist/components/ThemeToggle/ThemeToggle.module.scss.cjs +6 -6
  310. package/dist/components/ThemeToggle/ThemeToggle.module.scss.js +6 -6
  311. package/dist/components/ThemeToggle/icons.cjs +48 -0
  312. package/dist/components/ThemeToggle/icons.d.ts +10 -0
  313. package/dist/components/ThemeToggle/icons.d.ts.map +1 -0
  314. package/dist/components/ThemeToggle/icons.js +48 -0
  315. package/dist/components/ThemeToggle/index.cjs +6 -50
  316. package/dist/components/ThemeToggle/index.d.ts +5 -3
  317. package/dist/components/ThemeToggle/index.d.ts.map +1 -1
  318. package/dist/components/ThemeToggle/index.js +3 -47
  319. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +18 -15
  320. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +18 -15
  321. package/dist/components/ThinkingIndicator/index.cjs +7 -8
  322. package/dist/components/ThinkingIndicator/index.d.ts +6 -5
  323. package/dist/components/ThinkingIndicator/index.d.ts.map +1 -1
  324. package/dist/components/ThinkingIndicator/index.js +7 -8
  325. package/dist/components/Toast/Toast.module.scss.cjs +28 -29
  326. package/dist/components/Toast/Toast.module.scss.js +29 -30
  327. package/dist/components/Toast/index.cjs +28 -30
  328. package/dist/components/Toast/index.d.ts +9 -8
  329. package/dist/components/Toast/index.d.ts.map +1 -1
  330. package/dist/components/Toast/index.js +28 -30
  331. package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +21 -19
  332. package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +22 -20
  333. package/dist/components/ToggleGroup/index.cjs +4 -5
  334. package/dist/components/ToggleGroup/index.d.ts +7 -6
  335. package/dist/components/ToggleGroup/index.d.ts.map +1 -1
  336. package/dist/components/ToggleGroup/index.js +4 -5
  337. package/dist/components/Tooltip/Tooltip.module.scss.cjs +3 -3
  338. package/dist/components/Tooltip/Tooltip.module.scss.js +3 -3
  339. package/dist/components/Tooltip/index.cjs +24 -40
  340. package/dist/components/Tooltip/index.d.ts +4 -4
  341. package/dist/components/Tooltip/index.d.ts.map +1 -1
  342. package/dist/components/Tooltip/index.js +24 -40
  343. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.cjs +1 -1
  344. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.js +1 -1
  345. package/dist/components/VisuallyHidden/index.d.ts +2 -2
  346. package/dist/data-table-virtual.cjs +3 -2
  347. package/dist/data-table-virtual.js +3 -2
  348. package/dist/data-table.cjs +3 -2
  349. package/dist/data-table.js +3 -2
  350. package/dist/datepicker.cjs +26 -13
  351. package/dist/datepicker.js +26 -13
  352. package/dist/editor.cjs +68 -28
  353. package/dist/editor.js +68 -28
  354. package/dist/index.cjs +6 -2
  355. package/dist/index.d.ts +9 -9
  356. package/dist/index.d.ts.map +1 -1
  357. package/dist/index.js +8 -4
  358. package/dist/markdown.cjs +21 -29
  359. package/dist/markdown.js +21 -29
  360. package/dist/measurements/generated.cjs +46 -94
  361. package/dist/measurements/generated.d.ts +44 -92
  362. package/dist/measurements/generated.d.ts.map +1 -1
  363. package/dist/measurements/generated.js +46 -94
  364. package/dist/measurements/index.d.ts +1 -1
  365. package/dist/measurements/index.d.ts.map +1 -1
  366. package/dist/utils/a11y.cjs +5 -2
  367. package/dist/utils/a11y.d.ts +5 -5
  368. package/dist/utils/a11y.d.ts.map +1 -1
  369. package/dist/utils/a11y.js +5 -2
  370. package/dist/utils/canonical-stamp.cjs +2 -8
  371. package/dist/utils/canonical-stamp.d.ts.map +1 -1
  372. package/dist/utils/canonical-stamp.js +1 -7
  373. package/dist/utils/css-warning.cjs +1 -1
  374. package/dist/utils/css-warning.js +1 -1
  375. package/dist/utils/env.cjs +17 -0
  376. package/dist/utils/env.d.ts +3 -0
  377. package/dist/utils/env.d.ts.map +1 -0
  378. package/dist/utils/env.js +17 -0
  379. package/dist/utils/keyboard-shortcuts.cjs +3 -10
  380. package/dist/utils/keyboard-shortcuts.d.ts +4 -4
  381. package/dist/utils/keyboard-shortcuts.d.ts.map +1 -1
  382. package/dist/utils/keyboard-shortcuts.js +3 -10
  383. package/dist/utils/seed-derivation.cjs +10 -7
  384. package/dist/utils/seed-derivation.d.ts +1 -3
  385. package/dist/utils/seed-derivation.d.ts.map +1 -1
  386. package/dist/utils/seed-derivation.js +10 -7
  387. package/dist/utils/theme-presets.cjs +5 -10
  388. package/dist/utils/theme-presets.d.ts +1 -2
  389. package/dist/utils/theme-presets.d.ts.map +1 -1
  390. package/dist/utils/theme-presets.js +5 -10
  391. package/fragments.json +1 -1
  392. package/package.json +9 -10
  393. package/src/assets/fragments-logo.tsx +2 -2
  394. package/src/assets/fragments-wordmark.tsx +4 -2
  395. package/src/assets/nav-glyph.module.scss +166 -0
  396. package/src/assets/nav-glyph.tsx +188 -0
  397. package/src/components/Accordion/Accordion.contract.json +24 -48
  398. package/src/components/Accordion/Accordion.module.scss +5 -3
  399. package/src/components/Alert/Alert.contract.json +49 -65
  400. package/src/components/Alert/Alert.module.scss +57 -47
  401. package/src/components/Alert/index.tsx +72 -39
  402. package/src/components/AppShell/AppShell.contract.json +34 -51
  403. package/src/components/AppShell/AppShell.module.scss +99 -54
  404. package/src/components/AppShell/index.tsx +2 -2
  405. package/src/components/Avatar/Avatar.contract.json +31 -48
  406. package/src/components/Avatar/Avatar.module.scss +4 -2
  407. package/src/components/Badge/Badge.contract.json +86 -55
  408. package/src/components/Badge/Badge.module.scss +80 -48
  409. package/src/components/Badge/index.tsx +34 -17
  410. package/src/components/BentoGrid/BentoGrid.contract.json +21 -45
  411. package/src/components/BentoGrid/BentoGrid.module.scss +4 -8
  412. package/src/components/Box/Box.contract.json +40 -148
  413. package/src/components/Box/Box.module.scss +7 -6
  414. package/src/components/Box/index.tsx +92 -99
  415. package/src/components/Breadcrumbs/Breadcrumbs.contract.json +21 -34
  416. package/src/components/Breadcrumbs/Breadcrumbs.module.scss +27 -12
  417. package/src/components/Breadcrumbs/index.tsx +5 -1
  418. package/src/components/Button/Button.module.scss +261 -185
  419. package/src/components/Button/index.tsx +41 -28
  420. package/src/components/ButtonGroup/ButtonGroup.contract.json +34 -49
  421. package/src/components/ButtonGroup/ButtonGroup.module.scss +8 -6
  422. package/src/components/Card/Card.consumer-fixture.module.scss +5 -2
  423. package/src/components/Card/Card.module.scss +97 -76
  424. package/src/components/Card/index.tsx +44 -20
  425. package/src/components/Chart/Chart.contract.json +21 -29
  426. package/src/components/Chart/Chart.module.scss +6 -5
  427. package/src/components/Chart/index.tsx +36 -6
  428. package/src/components/Checkbox/Checkbox.contract.json +28 -27
  429. package/src/components/Checkbox/Checkbox.module.scss +47 -54
  430. package/src/components/Checkbox/index.tsx +10 -10
  431. package/src/components/Chip/Chip.contract.json +38 -45
  432. package/src/components/Chip/Chip.module.scss +24 -23
  433. package/src/components/Chip/index.tsx +12 -7
  434. package/src/components/CodeBlock/CodeBlock.contract.json +46 -76
  435. package/src/components/CodeBlock/CodeBlock.module.scss +75 -73
  436. package/src/components/CodeBlock/css-variables-theme.ts +102 -0
  437. package/src/components/CodeBlock/index.tsx +114 -51
  438. package/src/components/Collapsible/Collapsible.contract.json +21 -36
  439. package/src/components/Collapsible/Collapsible.module.scss +1 -7
  440. package/src/components/ColorPicker/ColorPicker.contract.json +29 -48
  441. package/src/components/ColorPicker/ColorPicker.module.scss +34 -24
  442. package/src/components/ColorPicker/index.tsx +6 -1
  443. package/src/components/Combobox/Combobox.contract.json +36 -37
  444. package/src/components/Combobox/Combobox.module.scss +16 -19
  445. package/src/components/Combobox/index.tsx +41 -6
  446. package/src/components/Command/Command.contract.json +28 -44
  447. package/src/components/Command/Command.module.scss +19 -21
  448. package/src/components/Command/index.tsx +64 -47
  449. package/src/components/ComponentDefaults/ComponentDefaults.contract.json +91 -0
  450. package/src/components/ConversationList/ConversationList.contract.json +27 -32
  451. package/src/components/ConversationList/ConversationList.module.scss +2 -3
  452. package/src/components/ConversationList/index.tsx +2 -2
  453. package/src/components/DataTable/DataTable.icons.tsx +4 -21
  454. package/src/components/DataTable/DataTable.module.scss +24 -17
  455. package/src/components/DataTable/DataTable.virtual.tsx +3 -2
  456. package/src/components/DataTable/index.tsx +9 -8
  457. package/src/components/DatePicker/DatePicker.contract.json +27 -28
  458. package/src/components/DatePicker/DatePicker.module.scss +41 -44
  459. package/src/components/DatePicker/index.tsx +23 -9
  460. package/src/components/Dialog/Dialog.module.scss +26 -32
  461. package/src/components/Dialog/index.tsx +51 -39
  462. package/src/components/Drawer/Drawer.contract.json +28 -42
  463. package/src/components/Drawer/Drawer.module.scss +123 -64
  464. package/src/components/Drawer/index.tsx +7 -5
  465. package/src/components/Editor/Editor.contract.json +32 -49
  466. package/src/components/Editor/Editor.module.scss +60 -25
  467. package/src/components/Editor/index.tsx +240 -179
  468. package/src/components/EmptyState/EmptyState.contract.json +33 -45
  469. package/src/components/EmptyState/EmptyState.module.scss +37 -21
  470. package/src/components/EmptyState/index.tsx +56 -23
  471. package/src/components/Field/Field.contract.json +28 -46
  472. package/src/components/Field/Field.module.scss +2 -1
  473. package/src/components/Field/index.tsx +5 -1
  474. package/src/components/Fieldset/Fieldset.contract.json +21 -38
  475. package/src/components/Fieldset/Fieldset.module.scss +15 -7
  476. package/src/components/Form/Form.contract.json +23 -23
  477. package/src/components/Grid/Grid.contract.json +28 -64
  478. package/src/components/Grid/Grid.module.scss +2 -2
  479. package/src/components/Grid/index.tsx +10 -10
  480. package/src/components/Header/Header.contract.json +31 -67
  481. package/src/components/Header/Header.module.scss +57 -54
  482. package/src/components/Header/index.tsx +134 -122
  483. package/src/components/Icon/Icon.contract.json +37 -81
  484. package/src/components/Icon/Icon.module.scss +13 -12
  485. package/src/components/Icon/index.tsx +31 -31
  486. package/src/components/IconButton/IconButton.contract.json +37 -21
  487. package/src/components/IconButton/IconButton.module.scss +19 -11
  488. package/src/components/IconButton/index.tsx +6 -5
  489. package/src/components/Image/Image.contract.json +23 -56
  490. package/src/components/Input/Input.contract.json +25 -44
  491. package/src/components/Input/Input.module.scss +6 -55
  492. package/src/components/Input/index.tsx +2 -18
  493. package/src/components/Link/Link.contract.json +46 -58
  494. package/src/components/Link/Link.module.scss +41 -10
  495. package/src/components/Link/index.tsx +27 -6
  496. package/src/components/List/List.contract.json +33 -62
  497. package/src/components/List/List.module.scss +10 -5
  498. package/src/components/List/index.tsx +17 -13
  499. package/src/components/Listbox/Listbox.contract.json +21 -37
  500. package/src/components/Listbox/Listbox.module.scss +14 -20
  501. package/src/components/Loading/Loading.contract.json +41 -65
  502. package/src/components/Loading/Loading.module.scss +37 -31
  503. package/src/components/Loading/index.tsx +15 -14
  504. package/src/components/Main/Main.contract.json +17 -9
  505. package/src/components/Markdown/Markdown.contract.json +22 -43
  506. package/src/components/Markdown/Markdown.module.scss +45 -6
  507. package/src/components/Markdown/index.tsx +48 -49
  508. package/src/components/Menu/Menu.contract.json +30 -46
  509. package/src/components/Menu/Menu.module.scss +32 -16
  510. package/src/components/Message/Message.contract.json +31 -54
  511. package/src/components/Message/Message.module.scss +18 -9
  512. package/src/components/Message/index.tsx +2 -2
  513. package/src/components/NavigationMenu/NavigationMenu.contract.json +36 -45
  514. package/src/components/NavigationMenu/NavigationMenu.module.scss +66 -66
  515. package/src/components/NavigationMenu/index.tsx +105 -81
  516. package/src/components/Pagination/Pagination.contract.json +22 -40
  517. package/src/components/Pagination/Pagination.module.scss +9 -16
  518. package/src/components/Popover/Popover.contract.json +28 -50
  519. package/src/components/Popover/Popover.module.scss +30 -28
  520. package/src/components/Progress/Progress.contract.json +39 -35
  521. package/src/components/Progress/Progress.module.scss +16 -10
  522. package/src/components/Progress/index.tsx +34 -16
  523. package/src/components/Prompt/Prompt.contract.json +40 -56
  524. package/src/components/Prompt/Prompt.module.scss +49 -48
  525. package/src/components/Prompt/index.tsx +17 -15
  526. package/src/components/RadioGroup/RadioGroup.contract.json +29 -28
  527. package/src/components/RadioGroup/RadioGroup.module.scss +50 -45
  528. package/src/components/RadioGroup/index.tsx +23 -10
  529. package/src/components/ScrollArea/ScrollArea.contract.json +18 -19
  530. package/src/components/ScrollArea/ScrollArea.module.scss +45 -48
  531. package/src/components/ScrollArea/index.tsx +16 -16
  532. package/src/components/ScrollArea/scroll-state.ts +24 -24
  533. package/src/components/Select/Select.module.scss +20 -19
  534. package/src/components/Select/index.tsx +26 -24
  535. package/src/components/Separator/Separator.contract.json +29 -53
  536. package/src/components/Separator/Separator.module.scss +24 -40
  537. package/src/components/Separator/index.tsx +16 -11
  538. package/src/components/Sidebar/Sidebar.contract.json +35 -67
  539. package/src/components/Sidebar/Sidebar.module.scss +94 -88
  540. package/src/components/Sidebar/index.tsx +167 -167
  541. package/src/components/Skeleton/Skeleton.contract.json +34 -60
  542. package/src/components/Skeleton/Skeleton.module.scss +50 -26
  543. package/src/components/Skeleton/index.tsx +16 -15
  544. package/src/components/Slider/Slider.contract.json +27 -39
  545. package/src/components/Slider/Slider.module.scss +9 -22
  546. package/src/components/Stack/Stack.contract.json +30 -57
  547. package/src/components/Stack/Stack.module.scss +26 -24
  548. package/src/components/Stack/index.tsx +3 -3
  549. package/src/components/Switch/Switch.contract.json +33 -46
  550. package/src/components/Switch/Switch.module.scss +106 -59
  551. package/src/components/Table/Table.contract.json +28 -46
  552. package/src/components/Table/Table.module.scss +24 -16
  553. package/src/components/TableOfContents/TableOfContents.contract.json +34 -21
  554. package/src/components/TableOfContents/TableOfContents.module.scss +17 -13
  555. package/src/components/TableOfContents/index.tsx +27 -10
  556. package/src/components/Tabs/Tabs.contract.json +35 -56
  557. package/src/components/Tabs/Tabs.module.scss +27 -31
  558. package/src/components/Tabs/index.tsx +30 -15
  559. package/src/components/Text/Text.contract.json +52 -72
  560. package/src/components/Text/Text.module.scss +34 -18
  561. package/src/components/Text/index.tsx +123 -83
  562. package/src/components/Textarea/Textarea.contract.json +24 -55
  563. package/src/components/Textarea/Textarea.module.scss +22 -52
  564. package/src/components/Textarea/index.tsx +3 -14
  565. package/src/components/Theme/Theme.contract.json +35 -53
  566. package/src/components/Theme/index.tsx +41 -13
  567. package/src/components/ThemeToggle/ThemeButton.tsx +49 -0
  568. package/src/components/ThemeToggle/ThemeToggle.module.scss +20 -27
  569. package/src/components/ThemeToggle/icons.tsx +46 -0
  570. package/src/components/ThemeToggle/index.tsx +9 -55
  571. package/src/components/ThinkingIndicator/ThinkingIndicator.contract.json +34 -50
  572. package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +9 -7
  573. package/src/components/ThinkingIndicator/index.tsx +12 -14
  574. package/src/components/Toast/Toast.contract.json +55 -49
  575. package/src/components/Toast/Toast.module.scss +50 -105
  576. package/src/components/Toast/index.tsx +39 -34
  577. package/src/components/ToggleGroup/ToggleGroup.contract.json +39 -40
  578. package/src/components/ToggleGroup/ToggleGroup.module.scss +30 -27
  579. package/src/components/ToggleGroup/index.tsx +11 -11
  580. package/src/components/Tooltip/Tooltip.contract.json +31 -52
  581. package/src/components/Tooltip/Tooltip.module.scss +16 -10
  582. package/src/components/Tooltip/index.tsx +19 -24
  583. package/src/components/VisuallyHidden/VisuallyHidden.contract.json +22 -44
  584. package/src/components/VisuallyHidden/VisuallyHidden.module.scss +4 -14
  585. package/src/components/VisuallyHidden/index.tsx +5 -5
  586. package/src/index.ts +16 -12
  587. package/src/measurements/MeasurementTargets.module.scss +6 -7
  588. package/src/measurements/generated.ts +46 -97
  589. package/src/measurements/index.ts +0 -1
  590. package/src/measurements/measurements.json +44 -116
  591. package/src/recipes/_action.scss +4 -4
  592. package/src/recipes/_boolean-range.scss +12 -16
  593. package/src/recipes/_feedback.scss +17 -16
  594. package/src/recipes/_field.scss +28 -16
  595. package/src/recipes/_layout.scss +14 -7
  596. package/src/recipes/_navigation.scss +84 -29
  597. package/src/recipes/_overlay.scss +143 -43
  598. package/src/recipes/_popup.scss +54 -34
  599. package/src/recipes/_prose.scss +48 -28
  600. package/src/recipes/_representation.scss +10 -9
  601. package/src/recipes/_segmented.scss +1 -1
  602. package/src/recipes/_table-chrome.scss +42 -17
  603. package/src/recipes/_target.scss +2 -4
  604. package/src/recipes/_typography.scss +10 -0
  605. package/src/scss.d.ts +1 -1
  606. package/src/styles/globals.scss +31 -25
  607. package/src/tokens/_component-properties.scss +19 -1
  608. package/src/tokens/_computed.scss +32 -49
  609. package/src/tokens/_derive.scss +112 -210
  610. package/src/tokens/_measurements.catalog.generated.css +62 -44
  611. package/src/tokens/_measurements.generated.scss +119 -249
  612. package/src/tokens/_mixins.scss +49 -48
  613. package/src/tokens/_palettes.scss +39 -167
  614. package/src/tokens/_property-registrations.scss +9 -0
  615. package/src/tokens/_seeds.scss +20 -31
  616. package/src/tokens/_variables.scss +251 -94
  617. package/src/utils/a11y.tsx +69 -69
  618. package/src/utils/aria.ts +3 -3
  619. package/src/utils/canonical-stamp.ts +2 -12
  620. package/src/utils/css-warning.ts +7 -7
  621. package/src/utils/env.ts +25 -0
  622. package/src/utils/keyboard-shortcuts.ts +131 -126
  623. package/src/utils/seed-derivation.ts +11 -14
  624. package/src/utils/theme-presets.ts +5 -12
  625. package/dist/blocks/AccountSettings.block.d.ts +0 -3
  626. package/dist/blocks/AccountSettings.block.d.ts.map +0 -1
  627. package/dist/blocks/ActivityFeedSkeleton.block.d.ts +0 -3
  628. package/dist/blocks/ActivityFeedSkeleton.block.d.ts.map +0 -1
  629. package/dist/blocks/BlogEditor.block.d.ts +0 -3
  630. package/dist/blocks/BlogEditor.block.d.ts.map +0 -1
  631. package/dist/blocks/ChatInterface.block.d.ts +0 -3
  632. package/dist/blocks/ChatInterface.block.d.ts.map +0 -1
  633. package/dist/blocks/ChatMessages.block.d.ts +0 -3
  634. package/dist/blocks/ChatMessages.block.d.ts.map +0 -1
  635. package/dist/blocks/CheckoutForm.block.d.ts +0 -3
  636. package/dist/blocks/CheckoutForm.block.d.ts.map +0 -1
  637. package/dist/blocks/CommandPalette.block.d.ts +0 -3
  638. package/dist/blocks/CommandPalette.block.d.ts.map +0 -1
  639. package/dist/blocks/ContactForm.block.d.ts +0 -3
  640. package/dist/blocks/ContactForm.block.d.ts.map +0 -1
  641. package/dist/blocks/DashboardPage.block.d.ts +0 -3
  642. package/dist/blocks/DashboardPage.block.d.ts.map +0 -1
  643. package/dist/blocks/DashboardSkeleton.block.d.ts +0 -3
  644. package/dist/blocks/DashboardSkeleton.block.d.ts.map +0 -1
  645. package/dist/blocks/DataTable.block.d.ts +0 -3
  646. package/dist/blocks/DataTable.block.d.ts.map +0 -1
  647. package/dist/blocks/EmptyState.block.d.ts +0 -3
  648. package/dist/blocks/EmptyState.block.d.ts.map +0 -1
  649. package/dist/blocks/FAQSection.block.d.ts +0 -3
  650. package/dist/blocks/FAQSection.block.d.ts.map +0 -1
  651. package/dist/blocks/FeatureGrid.block.d.ts +0 -3
  652. package/dist/blocks/FeatureGrid.block.d.ts.map +0 -1
  653. package/dist/blocks/HeroSection.block.d.ts +0 -3
  654. package/dist/blocks/HeroSection.block.d.ts.map +0 -1
  655. package/dist/blocks/NavigationHeader.block.d.ts +0 -3
  656. package/dist/blocks/NavigationHeader.block.d.ts.map +0 -1
  657. package/dist/blocks/PaginatedTable.block.d.ts +0 -3
  658. package/dist/blocks/PaginatedTable.block.d.ts.map +0 -1
  659. package/dist/blocks/PricingComparison.block.d.ts +0 -3
  660. package/dist/blocks/PricingComparison.block.d.ts.map +0 -1
  661. package/dist/blocks/ProductCard.block.d.ts +0 -3
  662. package/dist/blocks/ProductCard.block.d.ts.map +0 -1
  663. package/dist/blocks/RegistrationForm.block.d.ts +0 -3
  664. package/dist/blocks/RegistrationForm.block.d.ts.map +0 -1
  665. package/dist/blocks/SettingsDrawer.block.d.ts +0 -3
  666. package/dist/blocks/SettingsDrawer.block.d.ts.map +0 -1
  667. package/dist/blocks/SettingsPanel.block.d.ts +0 -3
  668. package/dist/blocks/SettingsPanel.block.d.ts.map +0 -1
  669. package/dist/blocks/ShoppingCart.block.d.ts +0 -3
  670. package/dist/blocks/ShoppingCart.block.d.ts.map +0 -1
  671. package/dist/blocks/StatsCardSkeleton.block.d.ts +0 -3
  672. package/dist/blocks/StatsCardSkeleton.block.d.ts.map +0 -1
  673. package/dist/blocks/TableSkeleton.block.d.ts +0 -3
  674. package/dist/blocks/TableSkeleton.block.d.ts.map +0 -1
  675. package/dist/blocks/ThinkingStates.block.d.ts +0 -3
  676. package/dist/blocks/ThinkingStates.block.d.ts.map +0 -1
  677. package/dist/components/Toggle/index.d.ts +0 -3
  678. package/dist/components/Toggle/index.d.ts.map +0 -1
  679. package/src/components/Button/Button.contract.json +0 -218
  680. package/src/components/Card/Card.contract.json +0 -175
  681. package/src/components/DataTable/DataTable.contract.json +0 -302
  682. package/src/components/Dialog/Dialog.contract.json +0 -159
  683. package/src/components/Select/Select.contract.json +0 -259
  684. package/src/components/Toggle/index.ts +0 -7
  685. 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 | `#a54f46` | Error/danger semantic color |
185
- | `$fui-success` | Color | `#7fc9b3` | Success semantic color |
186
- | `$fui-warning` | Color | `#e0aa5c` | Warning semantic color |
187
- | `$fui-info` | Color | `#7fa6c4` | 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
 
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const WORDMARK_MASK = "data:image/png;base64,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";
5
- const WORDMARK_ASPECT = 4;
4
+ const WORDMARK_MASK = "data:image/png;base64,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";
5
+ const WORDMARK_ASPECT = 4.7812;
6
6
  function FragmentsWordmark({ height = 20, className }) {
7
7
  return /* @__PURE__ */ jsxRuntime.jsx(
8
8
  "span",
@@ -1 +1 @@
1
- {"version":3,"file":"fragments-wordmark.d.ts","sourceRoot":"","sources":["../../src/assets/fragments-wordmark.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,MAAW,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CAsBnF"}
1
+ {"version":3,"file":"fragments-wordmark.d.ts","sourceRoot":"","sources":["../../src/assets/fragments-wordmark.tsx"],"names":[],"mappings":"AAcA,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,MAAW,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CAsBnF"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- const WORDMARK_MASK = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYAAAABgCAYAAAAU9KWJAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAgAElEQVR42u1dCbxd47W/Z7hX0tBITLeCpC9IXgipUiXUlJiJGiu0UlrDK9JnprT1UFNpa4hIzEqoiia0eCpFtaHB0xCtGFqPqrlSyr3nOHt3f7K++Gfdtff59nCGe85av9/3O3c4Z5+9v2HN6786OlqQfN/P0+s6wbgrGIPo91yHkpKSklJrkmHyIADm+ktpV/q9oDOkpKSk1LoCoEivZ/mf0B1oGSgpKSkptR7zL9DrPobre573EQmAnmCMUiGgpKSk1Np+/9HBeIsYfyUYZfr5DLQQlJSUlJRaxO9PrwMDrf8PTPuv0Oufzf81GKykpKTUmq6fq4nZl/3lyQqBfdIEg42VoYFkJSUlpeYL+h7DNP9lBH+7K24cgLKKiho7UFJSUmpOzX+rYJQMr6fRRwbQa6+JEbgIAdL2i+xvY4NxdjC61ZWkpKSk1Pigb3cwXgzT/oGsW+jsMDeQpO2bIrJgHBCM++jzLwdjgAoAJSUlpQYWe5nXgOn/KsTv74fEAYywWIkFjyVt32QTnUcMH4XLg8r8lZSUlBrv9/+BI/PnsYADzeeD31dg2v4AqiG4h1xK9LGPP9dDv1+vVcVKSkpKjWX++4Nm78UUAPcwN9K6xjUU/P+vEDPwSLBUmJD5H60nUFJSUmqQ3z9g1P8ZjHeYa8dJBtCr0e43C8bEYNwN2v3H2n6VTKKD1QJQUlJSakyx14rBeMwh6BslBAyj/wcID67tR8UQtlIBoKSkpNSYlM/r4vj9Q7T4R4LxLFgDnovlEHz+g+DlPxRTSElJSan+fv+pSZk/aPB/D8aWzN/v+tmXFU5CSUmp3VIuC5QfX7Dpl/VigFbzDxj2NlTI5cq0w5j4ztQoxk8gAObrjlBSUmo733sUNk6thANk6XwmEAB/SRD05UVg59D19ox5Lfv5m9T/r6Sk1E6VttsHzPdG434JXvcOXjcJxhrB6HIBTiPhsJyASNDZ6+4Urh/7mbkQRzg65vW4ANEUUCUlpbYQAMZdsoS5S5YQvPL9wZgZCIaTCS7hC8FY00IlpBEO4Pc/O4Og7wvBWB0yiS5KWEB2iFoASkpK7ZZ5Mw3A1KrR+8F4zkAmBONa04glYKAHBa9bkDAZ6KD5d9HP+wID9hKkexr6MBjj6XqdHdArOEYaqXUVbasCQElJqd0EwHhgqhV4LdvhyKQ/NL78YPwuGD8Nfv9+MKYEY+tgfJZy/K3lsQEUe3kptP8judsm+PmJGAIABcm6rZoCKgT7rVW23NBToaTUnsJgvgPTtBAKFXqfEQ4lR+HQE7zv/6nI6/pgLMog6DvTCjJw/wwNvuf1BBlArwbjU62WAqpNbpSUlFysgCNSVN+GCYdyRAWul1LzfwQZNlgWo+C6XozrPdqKawuCsZuyo4xVNj0YtwZjNo3byW12lQHQ0zoIJaX2g2BYlYqokmrlLgIChUOS77CfMU3h12PBbCvIdkqYAnpLK/n/YT4MEN41wfhnhFC0ldB/a0UrSElJyY1ZXJYiHbPW5AFT36ujr9/fZhUdmTAF9PxWSQGF9dwPGT8J35IwbPD/JRUASkrtmxK6eRr3TI3JMuozJUYNAuD8hALg0FawAID57wVrWbLWV4iLTy0AJSV1BX38+mDKWEAtmf+csCwdYHy/SJgCun1/FwDo7ydmjvNQYaB3r1D9hBnPU4B+vmIhKSnFjrPZeqdiK2iOU1Lk5teCLINebIq9qqVpBv9bkCAF1LhA1u/vKaCwhmcywVmhOfkDVXsPM20zDbNnY4AeaSWl9rYABpN2WKtgcNJir82jmr3T65CYgWz7ntdMjUJ/1nztfVMbTAuFXQFBeBsICNXulZSySbE+NxizgnFzMC7s12cLGMRPmiEYDMzriI6IAC3EMNZjTWBcr/9YC8VxPicIuDcM4B79v9MC+klDj7WSkrOyvBLUHPkEaFnst0oW3Pw4y/wxp59+rtQpSGyFz5XVfPMguCYkTAG9rQX8/3btJrN1M3SDgtwpKWWubI0gaBx7zv4E/8v1J4iAIvq+TSZIMJ6uYgV4tRIOoJnPdylMAub3jYQZQD/s7wwS5uAYeDb7fFNVACgpZd7D5ItM4Xyu3wgA8l8V8UZNM/bg9wuoM5ZhxK8H49uUW29aNf6agrFLqjD5MOFQcRAONmD5Oi/2cmB+P0giAILv+mYLCYDj7bOBIJ3SH56vUe6oZnKF1eI+Gvl8zTCvWd8DeBwmQdvZmgiATNcOAMG4tm9QOe8Fxola/PMQgLVC4zPB2DQYXw7GSQQtYD7/Z9aMPYlwsJ+d5Mq0YEF+HlMA2O/asb+5gADQ7eMBltKJggCwMNdd/HNs5GGPFPheidiceX6tmNZnwQHALl8jYLx8FQUpX+UakfMkzE0uwXcVuLIWQ8ErVLuvGimWYc+aS/I8YfveIT0zV2Xtco57BccABmXfCwKgk82BNHKO35d3eL58Im2fAqZnU/UnMv1ySCD1jGpdxOh71qBA5CTSRi8PGNGvgtdngte3o4QDMKzvxdFYISjzSJIUUGP5tEAKqLUAjrVaCczDwVkKOGk/pQWoo40/lJSL1Qg5Nid8Lp8B41/uupQ5tSrt3aEWVrzWgHrS8wj3UhQOfj7m3HbStcw1V7HKAmeqGSgkeeFvK1OvjtUo9TgX53kSurP5dwyie1id76uwPeHAa4aScowK5+KkFoC9D+HvA2jduulsDBXmOXx/socdQIz5LsT+B43cC9GS7QMa4LDBTJssujADekCzCTYKxu7kWrqU7mUBNHGfHYcZQ/rjp23xk2MQ2BZFGYtl1f7kAqK5NAHvfWg996Kfd6AeDT5YVoZ+FIyJVAOwlzDMNfY33eBoHvemvxnLcCupi5udL6op2Jx6MU8iq3APc+ikg8AA6szGPtjgMAXjSUrH/adRFKgw7XECrTvOwIdL10jCoOgcTKAUvntJc3uT9oK5h2eCcSdZU2PhfvEaq7B5Gh/CKDan/+9Ja7SGAGNiFKYzgvFLYiJvGKh0coM+TSmGBqxxnShBiE2XTF0LKQNm/haRO/cdyghbHPz8m+D1YrO++HxphBjNj/EMnGISK4Lv+KNB2aXvfYtcywsIDdjUG3XHZcKmYJPmcS+a0xWF+xhI+/DyYPzWKLm0p3BfGXysfc1+l+YUM33YWTHXPZaezWdu7VdhT0Sds/XZd+C9D6b9cgUV5T5P+9K43ZfQOprvnkM8dBS7Tk6atBGEAvlihLZfjVmWQMptAgwgF+ESKLqaKeSKGg0LkksQkS/F7C9gn920pFyl2YUALHQnVfBmUqsBlsI1JKDxb09yLYPahs4kSO/3BauqR4rfwOeH0eF812G9PNCyjLKwaVwhAEG7T5NVujgOXLjpb2EEKGs6NImZ//P4oabXOTAnhr4G97URWceeo7X6HjHtwcLcFgH8bxZ8n8vcmtjeZnGFAGq7xIznO86pfY9Z/xnm3EetKeMxi9j+3AL25wBqB/tCjGc3QulocKHm2esY4TN+wj4mVpE+FfgnMv7vESx9nGuba95neq6Ic0iHGi9YidD2XYOmH2D7REcGHyoc2ALnY/o6LVPZNiGOkWWgL5qoviTYmlAAFKll5zJXD+D8VEKY2EdhA5jYVaTx4lobjWllMKWnCXDbHttXRiiMZAepSEx4b3IFcoC6Xhol9nsv268e1al0uSgKwBi3BZMd7zcMHM/eiwfW4k+hGv04OAuG7gsRALPxfcHrd+jvJ4DCUgmZgzKDVq9AC9Rx3H1j8KzgfqyCx6/Jr1uBtTjZ1fqG71yfBAhXLPkaLncPDGnA/O0se+6ivh807x666b3hPh5hBZCRz87Oi/nsMEEjHw33az9TCnMzVzln9p7tPHdB2v0Lwr33kIsa46Rl+F+J8brzkdd2gEYwDya6klZbhIe/DDSiQgZujXwC094e8EMy6C3cA0VnhWaLCTABsDjDau0yWABjWTbWB8FYiyy0h5nLsJftKazcHsktBzJZfWZ9ll33HKttuLNaijAwqaPgc/Z7Kw6xImRmZUBMXYeqPlGz/3WIALiDve9SYv5+CHMPWx8PLXESohvBs57EFLxylefD58eU4XNi1N3sQ1bJsqSDCMBB6czx+7wbXTIh372QWV5H0Hq8xp6l7LCuHghf690YzvjK6DjFpY7n7BR4npGAXlBynT9UoNi5uKbPmSDmeoGw8GkgGuwXGqawdqPcJ7BQZ6asXsZ5mQGR/kKbCgDc7OMgw6o3woKUBEAnYkwhA4Z7X0JuuHNMHYNJyzWasvlOqq7k7Urt4b/WARzwJJYV5aH2Sf7VBykOcQW5tn5Onet6hMw1n3zo/8dSAKsJgDK4PT6Ea1bgOgvIfXMF+ckfAAaL82Wv9ZTV/IW59cCCm0vPdaUBSxTmlMf6pkTArth5PdAKJWleyZUxl9B5T6S4wDSa63fZvCITfigKlgUEgL3XWbRWvmBZGKFwD83lNIqlPArrWmHz71M72xVgHaMEQCoXEF3/Lvb9H4FrajqtrbFeNw7G5ynWdjS5Fj9kcQg7h6cvWyvmu90fJXaGEu018JEW65xnbJ9tVgYopjiJC4CJNZVLiAT6CAoAmWyu9aiGwwTZzxPSQE+kgOto+3421iVf50pQ3OLBdX4jwEmXaBMeTQHV9dn1OlHLIUbLD10P1W50hx14OowHEyPzBSb4Vc6sWD8EBDb04P6NyX2YTQAICW6OpPv7JwusVxgDqyoA2L5cxqTp74YxbxjC8Ezmx1ng2qmw6/3M1u0wJeYJCkgOCsks2c0yU4YYa5l3t+B/t8+0FQlhjz2HT8z4KxCnkJ7J7MVvQQZimTHBG3mMQRAAlZBmU9ZKOxpclzxOafqT/5i7+OD7vwN7oIudlfVpX2xg96T9XkpkGUX7f72QMQqSTrZkDNzex4VhSRRsj5nzfL8QjDb7dUSf9CgIaizMSgjA4aqgD7FemjNskntBQ/WysG7IzN6dB2yaOQ0U3CxSGmjRQZBuKWg3/ICZbJWxDhXa9prTuQuSMra+wNx/RTYwY2gVyujgQmQRuoLg/esATguvMbkAYa9Dcr3xWsPt/uJCIIEAwPv4l/9JcyOxBgOZLsROKsJzIRO+HmMkYbUIxNxuZ/dnmfG5bA1zkKyxkAtW+twp8L6wNc0z8EZeu9PHCqkiALhgvwETSaRnhzndERRiZMBvhiklDHTxhSRpoMCLzxWUtcsEmOllewH+XoB9cy/cR4m7maQvNsG8m4R0QT8D98nPYAGK9RIApAFnLdgqrAlNrllcQrAh7OiC4GJUIVg+ZHQKAsAT1vcCoaCnIF3TarCUBugzzX9LuKdqhTGdAlPHQ7+nEBCdyQ6nfZbDXIurLAPjCRWozSe0ADxW7NhZpZCsExiWqIDh+atWq8EUwq4QwfoSY6R2Xs8ImdfJoCgVHda0CHM1jZ85clOtLGQ79bEA4NmvdKlTYXO6W4jy99+o+CEDhlTTF9lcPAeB7ELEWSuGuAd9DO478IBOyMqrMNf8vKr50OYhhQ2UhftkEWiINXefwEYaRH4+P0Xf4bAaCOOrG9qsqaJVoCC+mtAC8NgBu821cCgkOF9iWk5njOfrFBiQXZvp7D1jMBsGTPSTERE1Zg2B1SbvDnHFOAkAeP8VMYsd7XxeESFQjCt2zRiZPPaaX4D1Rl6wK3vfqlBrg+87zUWYV6khuFcAMZwq1EwsFKwgn+pIBsasIepEC5W5OB9ysAAkAeBiAdj3zGWfXwK1HnEL0x5j13rVuuE6qmgA28KiZhkXeA+0gppn1LDNdByYp+UMA94vgtui2eICtRIAVgi8Y/2Krmm/4MMeRz7uDennIXGrJWFtNxSY6Xw2B+cIc/BAkjRjYX5GQe1D3BgA5vOPjMms7PXGcu0b7uH0uAoKPNedAgM+1zI7ev0mV66oRiKfFKcGvn+0ndcomHYmANBK3SVFHcNYIQ7yHhbeZSwA7D69TuC728YRprDfNvCXFsltHdzbNhSnGeDKNIZRoC8TzZlJ0h/CIhc66oBsCnnfr9ZAsJkYw+HNlipaQwFQZlp7MWOAq7zjWGZ626pxFvSzWVs5m6HD3Hi7pt2DMMfThDmuKgDgvb9Ici9w7YcFoVJKAmkidQKE+5zLnnuu4KrZO+2+gOtfLrhENmXzuZC7JY0QSgrAFjKnds9MEBIMshQAxwo812RBrSRhVtVE4UTm7C+tMvRj5qK6uE/mQUOSeriE7ASvWUPBNgP87oUWFgB2zrZLyrRYAKsrg5qRBaxY7W2o5B4JBTcfwcEckBalEeZo64QWgD0PxyRhmrDGFwma+B8TMkCseOVurSfgfYOtQsWyXlasxbzCXB3H3rNQ4C/HJxVCcN0LBdfiUYILKksX0GchJbbCYKUnc8wmDgInFNDGBmTsEIp1DmKpopnkmJOb6Ut1FAIo2C7KULDh5lwuVbQFBQCmBQ5Jc9B5NofZ3FRgthG5hsY6jjHk70VG9A/I2thZYBDXZVWsSK8rQtvUOHUAdj53SChM7Rp/S2BWN6W0KoZS9ovPUmU/1dG305z9zpsznteBkFlj5/WWMAsArJ/xKbCM7Jx+XYhVnV4LAcDgSU6G5/VYDcdfyCran1w8XWHoqFm7T8ZazI0s3Se0sabWq2ECcx1MroVg85eCXO3R6LhALQQAfP7hlMw/z6DHb6OD/i+26eMMDujXLRxkrkUWM0w4eJhVpLoWgpl73jAJ+iys0ZcFq+LihFYFMrTFgtI2FLGPeLEXFU79gQqsEg+6xnyrEUtWCAoA+P+7AM+RJgaxB4PlEBtFZSUA2F6Z7lDFXabrm7MzlUD3BmSFlCtNyEqEJJhJqihuVlPokYVJ3mjBxubl+41MFa2RBWA39q1p0CLpdS+GxZMFoQCwLsYjBQFweIYCoMAYe1wBUAHws6QCYEdBAFyQRgAQA1koZJKswmMEfn2oApXM6BPn9/gKWClpBMAOguV4aS0FANsnR1IWEFrfvRGV9x5ZCFfaxJSkSLnVMmpOEApN0ixqqRFNWKBQ6tNUPVmLVNG5jUIVrbEAuCqhe8HuofMESIVSBvPfRwCwTBV7//9VAwEwu4ECYKIgAM6vsQD4ekgNRI8A+pZmlNlzvcFgoxcKVkrWAsDyqEvqIAByDCWXozYjn+kl+Ide4X9zLDZUVkIANecdGNiSl+bA0gOMrncTFobnfmLGNRBl8JvWPVW02QQAXG8qq0yuCEzf87NzAR0oWJzfrYEL6KE2EwCT62wBeICiOrxBAqDmFkBILwcD1bGTvxT19rdQ/MjnxwrNCpz572TKV0FzXgsqBpNqbh5I9ZUb0TyZCbYJgMRXzrCZfQ9UnLadAGBZDkt43jbd1x3EVDahAJfL2JDy8B8XgsC20cp44f5nZ3EoWJOQV9nhb3UBsKNQFX43CdzDg/GNrAdZc1NsppEEBtcqAoDzJvb3IXQuTfD/6mA8hb1PGKospmzna5FRc4mQthSXQT5Rrb2ki6TMiGGuDdpcFi4hzCK4NQoUq4UFQIH1TMV0xbchCyaXgFEVbLCSCQAbCOy20BPw/79loXBwBsyYYasKgKG8AA/+f0u906BD7rFZBMDiGFlAUg1MzqVnMb13A0JafZMF50uYwlqrjJqvUQZH3ICenag5aXzKQm9axKNJ0kymSOZW0lRRT4jcf0j1D3VxdTVpDOBxIVj+FYBjKMYoBLPPtxGHASABsFrHJymmvxHW8isZFCzZObpeuH6rCoAhkMH1ElPkXqP+xTlYz6Sjk1KDlxtC18FmEgAvCGmzhawVPo67xdZtFeg6h0r5y3btauU+GZcAk94u2o8S+JQ//m4CfVvdUcL2EQ4hjcZRsL0fwyVUYc06bHGM6W60bju6gGBjdlv0SlaQNTCh5Wddkd/l6YhcAIQA4j1ucd4TMgo7v5sK5ncrC4CV4b23C5by5CxrAfqLBUAC71nB0hzkaAEMJEj3dWiMsNlOMRTyIljF9wtKyb61YjZdgokfRwAclQQIy4DXQQzhGeqnOo2Y3iQqVumudrAE4VCEZ9oY2y2GpF9xK8E81//6S/HnP5V5bm7/EgCW8Q0HQLYy65sbl/HZa66OYGQRAmA49B9AJn1+EmhvmNsBlLceGwyuRQTAFMGiewwQMNNAMZheFgfQGdqPuo1NhvTeXDMIAPbZR9keMAHZUVU6mtnv28XWMcBePS2BYmwB7XYXshIvqHWV7a0xBABWlu4Wg6HgAlVrzebRZD5LDHkGYZSb4qPNKM2q6MBohjCzypO0fQogX2wLe5Bh1BsjqAktgGEQAC5j7CcBYqS9txsEbP3lBEAIXAIy7JOZEtDHMmQ9AopQ/cvRG9tNAAyF5jOeAELXmWBti8LaVkDRW6PZBAB85hbhrH09Cum2yjm7MwGYXx4UV4/NzR01ZTqEBOiaGoZN6ce4HACArV6Ldd/BBiVYOedV+X7TKecF8hFfazYuZTFsQWZYF9tsR2FbQNj45rkPsXjpLhjkbSgAugQXoQfgXl0ReO3LMV/622VhMMhMANgDsSoE6bi2foMEbSHgq+TA3blQqIRtGwHAXXCsstmz7gbHfgB5VJL8T9BbS9g8PaBjI+CgGykAiizFGV1ij0ODIjHWQf9b2VqzrMve52OigVqeta+wJ66oJfb+QNQGYgiAtyC1LOeAGGkYwX0xBU1c4eBTUPslygi6ifz4u9DmLNF9TydLAplEUyCCNmkW0C2CX3K+0LFpuY5RApz0bBaXqUQIgByvmBVaMPqUW23W9nMhoFtDaP1n2Vx/qY6hjQRAHgop/yx0BDNn5DTGrKWOYDnWv2NmSEey30oB1SYRAHmABv9Q8HDMjuJx8J0zBAGyENxeeaFDXkE4KytCPwB0AR1SyxaMI7DpRowU0Ccx3Skm8mHawpIkwqGXMIQ2Zp242qEfQFoBsFtIz9lFZHkNDmm6UaB4zmUMG6Yi9ILtIwDYPRzBhRBb8woJ/gUUSHuQkDXfEjreIfpoT5sJgBzrCdwT0RN4n6gMFIrTHc2ziphwHhWS+dcUMQCYi5sZeB26r6YTxIMdR9BzH2i7GDIeit3YDpIUE2HdNiUcJZ4F9KZ1n9XK//+lOGmg2E+2GjMBc/MgyeyuYeVhhRVVYHHFt9Dk6miPjmBpKoFzIZg5FVYQaGItl/pLUQ+nU+e1Z9HFIEADzAlLA+XWGb0ehj1nQZhUy/SqCPvgaWNZQJvLcrsIAHYPk5lw9Ng5fYu6fE0nKJDzye36KPbh5fnrZl6D8UWpH3GTCoD1OYBdBL+yzPkZwEI7UUADrUADqmtNdS8pTDuTUnWoyaQkEL2P2LnqDe0JnHFl8EEJM4AuiWImsCAbk8/erwPzdypea5Z+wP1MAKxGc7fsnhxrLSxTKMHBeofaF27HqkFFAcCeazO4D2x2I42S/wlWEQb9byNze20hw6ktBADba/uBC6RshYGLqxbeV2ZpwhtW4Q/NlAVkP7sT7gd8NjZ6oXcD9kS+BNczZi1ShX2fTy7sXK0ZzZkJBcDUCKlqJ2QwTVI9sUeqIhNKHYKaUAAcB3AUVhs42MHq4gKgDMG4GSnB4FYDAD6EgyjRd/DRyzN9SOsfznrYIiT3qg4+1y5KZVzgULuCuFXGKtkerjdSEAD3hQiA22E9LHMZlVIATIB7s2t0XloBYDupwTVfDqughnvZBD7nwTNGDiGYfiNUHUft0yeZRflyRgJge9DE7fP/JIbiZPbkn3jSA1N4SuDnL7LPHyP0sUaQvBJTUMKQQi/Cjnu1tABujCkA7KRMCltkmIybMsTt9zPE/r+hHwgAyQKYEmMjbyVYANekgING3/H21Hu2p1o6r/9Jk+xfAHSEvc6aYB2GxQBybCAQoPn98/5S5MV7DFMxGRnmOuR/fpoY9ym2zSKm9lExYpntjbnsHu3rHG4BJGndyNZoZ8ECuCgDC+Apdq9/j2oEhIKVcHuedbTY7f/fp4Dp+Ki6Gbami4R4waAMBMBEIYjq1AYV25WSn//3tHe9CBdQp5C0YIrBfgzxJ9d5LJO7bYvM0EBd0RBjpoD6Yc0wgIGd2GTMnwcbhzcCxC7GugwPxq6kJU6gTJbPuGRd2fQ0yp6ZCJ8fk7IhTI411jYgcQdQSuHVVNBnYDN+aYRNME6lZ+gOgSgvUOPrHWls5xKbiQre0+Fdg7JcJMiRAhzU7QRmcTXbxzlwZe5Cc2nndFDCamgs/98Z1tjM1Xpp96XxvRMK5QR6/ZIL84MMoRVoPUx7xftNVTz59N8m993LJmBJyqOpuh8WF8eeUrb5PRYyODdD6XoTYU5Hx2juwlOIu8kqmAjD3vMWIYkPeC/7U/zk9+Qae8XOI6XEm1jKLCqOHZNpPwDH7kEvxYCB8ATQrlxIo4sK87v6zWQFQCFR08YDmjhOUUhSBZy01R9LmysI6bvFiIrNPP+/ZGWBADitGVqDNkr5kAQr8Yk1aHRbGJAs1reJ56GQpnNeiGckR1hMq9E8DmjIPIIGtjZg5sRJAX1KyPPGa74SE1uoEXGAp7iW16SbsBCFKBjz8/laAAtiPrNQExD5vWENsGE/zSQl5SlyGxj3xOfCXC/cZVRl/88TqlbF+JDUrDvtvqnVGqVqLN4XtKza2iWqlk97j/Wa05DrOd0zg6rJ1WIe06aAjk+YAnoPO0g5eNh5KVw/Hkvvq9QqTdRvQDczpUSxkHMFLf3iqDJ9x+tuJygFrzSqv0U/0IhzNQ1K6jzW14Sn1wNiZujwoEqBvV6ckvlXQnCBeMFXKvcSPO+senczU4ptpW4mFHB9ELfUniU+rMCKbsR9raTU6trVGQlTQI9DjIyOvi38vITB2bcJo/1Bf2nj8feq8/JlaVmYd+tVERD27+b6I1UINK/GRK93Ca6aFzELB819Ngqs3L7TprIyKOoPkmb1KCn1VwFwXRwBAJrzlxmA0caAGOmlSM88FHKZVyAkSqMB7m+CtoS5cT9hmLzrKBzKTDhUWGrk6S4C0BcAAANRSURBVO0a9OtHVsDmUGHpQeWwyUg5xrU3QfD/bW0RGQPuMnSWav9K7aZZzUuYAmrxdHIm3S5lsRevLO50QBftpCj6uOA796Zsjssph/ZpKO93+d6mDgbrXl3KkEkBEEvtKZ3uMqpo3ZjAvUyK6mhK2zuVisY8Bltgi5Du1z2g1G7Mv9O2QouTAkqaN+Z135zC728/86AA4ZyLm1ECbimTZjU2GHsE41hqE3kXCao3GYCYof1U++sXlsAlIWX6nEqECltyKLd/qF79npWUmkkADIvptlmGAAk42SelYP4VqFIcEcf3yoRDIYZwyBM88Bgq6jk8GFcCXrn6fpvcEqDGQBUB5K0UEn+qYPk98/vfmKb6VEmpPx+kzXlLPkf/v20HuBPCyPoJIZ1NJWSWPvgQ4VBU7b41inNg794j4Ax5DASuFNJ4xliCe9S73aeSUjMJgH0TpoBeQjADf09R7GWvdWo9A7ARwkG1v37mDrIAZoS58gzgEoUhLf6VsKn2BPyWgq69UrtmAJ2aMAX0eIuMmDLoe6v63ZVSVLrmWdzHAHBt7S9tYnIUxX4OJtz1sVh2j9aEklK7CoCZjgLAg1ZnFdK2krh9UGA8HYVOqKQUA5OoGPP9yviVNAjs0J+Xd1ryyO1TTpjrj9Cxm6j2r5Sxa4+79ZbLHFNFQ0kPyvKY4YslHz6rpvWpqcevyHc6yOb8x/X9x+lqpaSkpKRUOwHQTZDOvK0eZgS9Qv0/RzPX0QkJ/P/WzfQj1fyVlJSUGltQs6nQbcoy9Qf8pY2iV2RBt05oVPJejPoBy/wfsFkXao4rKSkpNS4FdA+mxb9BpfTjBCzrvPD5WY5WAMLsrqPFVkpKSkqNzwA6nRj476gH6FDHdntS381q8M7mdaK6fpSUlJSawwU0yVTyJk2RI+vgsSpCwLp+TtCgr5KSklI/6QHq2FTj2xF1BPZvN6vbR0lJSan5KikLKRvKrwWY/J7UN9hARWuxl5KSklJrBpOvZUzfCoIlNqCsfn8lJSWl1mzSsQ3WElhBELwepH5/JSUlpRYnaK5t0Rh/qJq/kpKSUnuklB4Lwd/7tNhLSUlJqX1gJVYnn/8bJjDcoVk/SkpKSm0VDJ4RjAPU9aOkpKSUPf0bpUz0aIAR5P0AAAAASUVORK5CYII=";
3
- const WORDMARK_ASPECT = 4;
2
+ const WORDMARK_MASK = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcsAAABgCAYAAAByrlneAABBf0lEQVR42u19eZikVXX+e6qql5mehdmZYRs2WQRxQ0VBUSBCosZE1GhwIzHRaEyicY3+1LhAiBtGTSIioqiJxqhBxQVcoiJRdpEdhm0GBoaZnqW32t7fH/e9zOFSa3d1T/dwz/PUUzU9Vd93v7uc/bwHyJQpU6ZMmTJlypQpU6ZMmaZCtrs+GMmHns3MmJc6U6ZMmTJlypQpU6ZMmTJlypQpU6ZMyG5Y9M4F2wdgoV6jAB40szpJyy7ZTJkyZcrULRV2tzglyaKZVQCcAOBDAJ4AoLS7x2gzZcqUKVOmTgWl6fO+JC9koM+RXOwszkyZMmXKlOlRKyxLeu8neQ7J7SRrJB8keVj8vzxTmTJlypSpWyrtRoKSJOcDeDmA5wNYAKCKELd8Esl1ACZy3PIRpTWG9u7pep6zTJkyZZr7jH9A78eRvFnu1x0k6ySrcskeQbIQLdAOr1sg2be7uG/d8wx0Mw+ZMmXKlC3L3cCqNLMJkkcA+BsABwOoY2fyUgHA8QAea2bXkSx0YHEVANDM6rrW7mBFFsys5p9HczEfwCCAfjdnlLVZkHW+xczG8nHJlClTFpZzUACYGc2sSnIRgDcCeBGAETH/eQAq+voCAEeS/KaYf1OSu7Hm7rNM19toZtW5OFfxmSQ0FwFYDGAFgP0ArAKwFMFd3SchWZOg7AMwDOAbAK7JLuxMmTJlmpsuxZj9+gmSE0roKcv9SrlgK/r8M5Inut+Yy6ItkCymVifJo0h+meR3XEZtaY7NU9F9fjLJz5O8j+SwkqBGSI5r/uJrzH1eT/LU9FqZMmXKlC3LuZHQUwNgJF8J4CUIbsQRBLei4eF1pBUATwJwipldLKFYlMCsyT0Zr/0YAH8A4ERZXUcCuNJZpDaXYrlyUa8CcCaAxyO4qYea/UTPV3V7YzDXp2bKlCkLyzkaf0OIvR0N4C0A9gQwLoHpGbs5YTkE4HCSS8xsSxK72w/AUQAeq/djAeyl/56QsCzPNYtSgvIwAH8H4NVOII5IIFYAFBHcrUWXGVuVMtKn56/no5IpU6YsLOcWFc2sLAvwrwEcIQEAMfdm1lINwFoAzyd5AUJMc18ABwA4SdbkQe53mxDiexsA3ObuwbkQywVQJ7kCwNskKMsI0H8DUirmt7AY+5xVHgVppkyZMj1qOz3NRWFZIzmIUE/5p7KCiOAuRBP82wFZR4dKcNyCAIMXs2fj9yr6XlHCtF8C5h5nXXEOQBjWzIwk/15zFMe8yCkOUYkoA9ioV8x4rWlvDAB4QK+58OyZMmXCLk0kzJblbEjoCethNZJ/g5D9WhfDb2f5RMEwAmBvABcguGVXue/Ea5X0Hhd+O4B754JlKc2urs/7ADhGluEOPW9V/y4BuBjAuQBu1t/HXRawLx2pRGGpUppMmTJlQnbDdi64HhIc061RKP5W0+cXAng9gGVOCLRKQKlLCPQDuAjALxCSXQYR4nE1Cduii9vRWZLbAdznnpGz3EVdFazfHwF4TOKGhizI7wD4vJldmo9ApkyZphLykTxYBmCJ+GxFfPN+8aPdouSsNElzu97AorEG1tyUzfOk1OMwAO9GqA8cR3CVthKUMYO1H8B1AP4NwI0AXitBUm9xjfi3EeeGxBzpIrMQwEsBrNQ69OlZ+wH8BMCHzGydNvmAryttNo/ZqsyUKVOjkA9C/sNLEZIj54k33wjgPAAPuu89Krt7lNoh4UwDQPp+JC9QTWBNtYCtKNZcUr85Xdd5BslR/X2kyW/r7voXJLWKNovXpl/vawUgH2H/qvq8leQr4rzO1BpmypRpt5QFkd+sJnlFwkN/QXLt7tTAojQJV+g8AM8EMEryDjVWHukk3oiHg3bTvRq6dJ1VOQTgDwG8WNbRhCyiVjSBnUk/7wHwn/q8t7PArEl8k25uNjsX8Kx1J/h4pVwicfxl7Kyr/BaAX2MnOHq2FjNlyjRV6kNwwXrasbtZk924YX2XisciFO0X1MljAsAWhHjYBoSEmE0A7tf7sC/8b8Hsi06wRuFZJvkyAG+SoKy5JJxmNK7vlAH8D4CvmNkIySUAVjd4pkbCsojge9+UfH82+95rLuu1nvwNEpR3aI5zZmumTJl6QYMIoZ+6eG4RbWBFd3dhWZdAi0X6b0kEDyRc7pPQfNALS5LDEqg7EOKA8d/DALab2XijCSb5bAnKA/XbwRbjjoKupu9dCuCfAdwrV+pCjblT9+N2jQ9zLHW7v4kiMCyggux+zZQpU68o1m0XXEXBwO6G/FXqJqmHZEFg4j8h+XME1+hWTVS/rrePXs2E2YiE5DqEYv/bAawnuVGCdQSh3m+7LKSzADzZJfQU2pSIRLSeWwGca2a/0bhrJBcigBAU21iW0V18v4Q+5lidYTHxBESqxmSs3ckF2yyOPFtc5rN9fLNhzI3ul9dv9o41CfsMOd5Ym2le2SqPpJfPPZU6yx8j4K3uL9O74KDSYiZqwTHr6DpdoNfeAJ6uCa87ixBy465D6IxxOCaHJPM5AF+M7l3dYykCCEHBCRU0y+JFACNYj7mZpdZ085Dc3ZpXN1R83INyphlbkiFujb9C2xVjm8Kc9nTM7RqQz5X129WCs4NG7tOx10zexn4ZIIXZdv57vYe6FZZ0A/0fAMchuEfZIA5YbFDvCFfsbi3ufzB2Iusg6U/ZjEYRXK8DCK7Xc1Xj462sRdjpOmaLa5oT2htnaScRS+Ko5rS9iSbCv6bs4lIXWb11eRUsqUONG7DWIqmrkChMaVJXy2s0uWZR16zIOmYXcxYB+GvTpGnHWt26mVW6GFvJKXTVRmNz8/mItWmDoWyt5joZd1X/z+maT/2uqLFUOrVCNEeFtPFBj9cv3qPjeXAVAv1TLbPqZo313cg/K5p/drHXap20HHT7o1FN9wTJvRDQ1AZdA4ZYp14kOaD3egeypd5qH01277jf97kylq55QGmSMTEzs3tJXgXgT1wfRC8ki00AAqKp7i1KJpNW0jXZRmOCy3yNE3EJgE+b2SbXdcOcu2Bxm0n2f9+I4IrFLItNtkuWGmiicZV0QKqTjIdWOxVo2sz1XjKy9JpCKdoXwHKEbLx52lvj2Onu3whgg8Dza778qRdC0zGTmp9bZXDvDWCNxrfACZcxhFj4fQDuNLPNfm4bja3bRuRpX9ZW3XuSca9y494DO+PfZY15A4A7zGyTm89CDHW0EwS6V83t030Q6qaXI4Rzivr/HQghngcA3K37+XH3JJs72a8V9/dFCM0UViNkl8939coTCGGiBwCsN7O7fKMFjY/dCvVO1jiZx7Kb/3013lUyCuJYxwBsEx9bp3ms+pZ7rcbZ4txXSR4K4FUAnu34er/zBO4ws4leGQfJ3unT3lmlvbNU5x+uCmAbQhhto559LGnxWOhmjSbrhjUt2nUAbpKrtO7g1DpxDxbbZHVGN24712u87xCAawG8C8A92rCV5LuLZHnSxSZbWZabAGzVpNZ3saulIAtvAMDj5KKGQyAqSUAMATjFrYPHzH0OyR2u9KaZNlp3c38bgBt0v6Pd/1UQ4s23ORQP+gNPcqmUk4USFjE5q4idGccbzezyZqU57m8VCaa9xcD2A/A0hELo/fW3ebruDjH29Qix69+RvAnA3QDuMrP7HcOYdDmQ+2281nIJmb0AHIIA8n+4xrpUjKQqIXAfAtTglSSvkxDaYGYbosbv48tSDB7nztio5v7ORs+huT9Y61bWve80s9+678f7rERoMrBWYz4KAQBklQPtGNOYr9eYrwdwJ4DbzexB7xprsIaFuC9Iztd87I3QuOAoBJzm/XU+YyblFheOuYbk1dqLd5nZjl6Ucun3fr+u1rj20tiO0DruK8VhQGMbE29YB+A6GQ3rtIb3mFm51Xw02UMgeYBcmgMOfvNmM7s1yTWo67ztq9dBCK0Ej9CaL3fX2Kqx3grgCo31Lu2FLY3GkfCbxQjhMnNjMikPv4+QtzLk+FDknfsAeAHJGzSeZop2RXxhB4ArzWxrg70TBeSg2zsHI1RlHKJ9uyZpPViRgnCX9s2vNZaNWqMtM+ovJrknyQ+6QtR2QAG9Jg8ecCvJ17uxFdMGyCTf1qApdEr+7385Wxo+uwLgPUn+wDW4rkzDvE64z59QY+xTknnfSvKj0vCipgcHePAUku8l+SOS97rxxt9HwIjvpQAUTfZaieSxJL+ejK/eAThFTZ+3kfwkycNi0+8enYMCyUNJnknyni7nuubAI75A8vF+bA6U4/UOYIMk7yD5Rr/fvWud5DM19xGMgrp+v2+eTvJgzcloMp5W441zvp3kGQIMsWbJFu78LSL5ZyR/l1yr3uaMxzHdQPK1stp7AhCiOTA1ej9Xz9TJPDAZe53kT0j+EckFne6vhE+9jeT9ul48H+9L15dkH8kTxAfKjqd1ss+o5u/vIbmy2bpJKQfJJ7rfTjRYq3qHc9WM4nzfSPJJKaSqW5/FJE8jeZUbQ61LWUGSd4kv7dUtD5gs3B3FHDciwKe9y8UiZ4rqiZvpmwC+pLHF4LOZGZUJOy9xwbKNVQlZapjp4HWXda+laSoy9nukntzHZAWsARDdGRVt7mMBvE+x7CFZVMUGY+9rNbdaw3650fcHcLYsqz2dqye6xKJ7Ju1lGi3ufgcD+CppxD8C8EFlYj8E0t+F667fzMbl/no/gGc4F1jqIak2cK/FGFmMkw0BOBUhD+BHAD4ia4ASDiuStRlEZyn9/rvL5VK8V/9+n+JNK50Li7Kc0phdKel7CnkL/gqhvd2XAfxT5A1mFj0BEa/4+QA+rHutdGtfdt1+0rXrS2qqHwPgQwDeQPKNZvYL59Fgt83j9ZunITRleJrWb8iNrerwo+uJh6zo1i/OybEa4zCAs8zs/C7dxnRrFs/bAueGpM7XmzTe1e57caxMxlpqkBy5CsCbZRV+meQndO3+aBUna1FI9lOjPBRMMW8mrXQoMjBwknwVgNfJ+7DS3c/vnTTe6/MZYilLURbv32rf/wsCBGq9k300FUZb0IOsA3CNGFlBfuIBN/jCNNXbVHXdQQBfAnCOme3wD51oS8v1ikys0KJsBIp7bZ+FQrIOYLPcKwXX9DplkoM++Ud/H9PmYhsh7HF3d7j2ZRV3ncjAY1x4FQJ4+2kSHHCJV5UkoarmGMPWJlluBV33JIRWan+QKDET2r9DSayikZtnm+ZtUMJskQ7NQpL/JqZrHrC/VYakmN64BMBrAZzshFhZY6tofPMS91CjUqpYyB1Lm14FYC+S3zazzwEYkfsyPssizdtEm/OxXb/ZKjdiWbGmeQD+AcBfOCG8Vb8ZaNGcoKz9AHfGF8kF+CZd9yM6h5HxVkm+RgLpCJdjMKrnn99ifsY0P6a9UtR4VwA4g+RZZnahhEmtE7dsHJc8FX+vkMXTHS8cdfPaamxwMcEJzcUCKZBrALxTSt5/mNmNnewvnbut2jOxdM43kXg1gNcgIKjFNd6s+Zmn8aLFusVWhgXthydJ+Cwk+Vkzu49kzGtg4s6cr2ftcy7ZgkuqbBRKG22gxKJBLfsechWXHVpcRXP25xLsh7ln3uFcwYPovGa+prHuodffA1hM8nNmtlHelqZu89JUamykMW2S1n+mNJaFbnLqiYRnA+0fDaDw2lHFaeRXSIu7OSb0NPnNCscY2GLzR4a+XnGT2VZfWZRGudhZS51YoFF7m9fBPbx1tCxpBB2ZXVFW3rj2wUsBvENjG9XBH9Rrfot7rWmWnELymQhQhcfpII01EECjihVt13fqjnks1Z5c7PZNFE6LEXp9LiP5DwCu6gDw+aH6VJInA3ivGE4UTNFiXpgIrfs0HxMugS2inizGwyHCJvS35wF4Msn7FRterWsP6r1dKVXBWRUxOWUfWRMLEZqC9zlG6MexRUJ53Clfi13c1SurkQmv0XysJ/k1M9sqIfYnAP5RcaZh11/Ww6M9oPt5BXiphM+8RMHarvdjAfSTrJjZ9zu1KCUoV0ghOcMJqRHNZ7pf75dAGkvGt0D8ZMjtxRGnTBwihWQ1yY+Z2U1yBRZaWJglt7ZxnecJeewQAP9P1lU8X/M1T5FHbdQYKk6hWdRg3eAEzj4A3in40s87EJaCu8ZK50nohk8t7OB7ix0fGIgKqXjK4+X92EvrXtec7OGUqds05rHEAxA9E0PiU3u5fbRDPGA/AG+Vd+wjZjbWCt2sNAWkmLgg20j+QDddooEscNmpjcz2tITAGvy7GSQdXZLDegBvMLPr9JCVFsNe5jZWM2u37lL4b5qlwrIqN9qDGmvZaXt0Wvi8Bpal15pbQfd5XN1NLcps+rVxHy8rZU9t3AE319HK8m69mJTVn9Sx+mSHgwB8SlbLFlefW3CMaSNCX84fSaAMO0G+WuM6FqGv5xqXYDSk3/fJKrwPwJliaNasdMOV0JwI4AsSxJsThhmfb0RrdDmA3ziAi9ilYblc1c+U625Azzekg18Xk/owQgeHtcl56GRP0ik5REg2OtMxvYrWqeSE+Y0INdQ3a+1Na3wogJMQEiui8K3pWhXtw5IY7zDJb8li+4wY9hYxz6LLWN4mJeXncjmPaH1XSAl5hoTDfOcOXKjfbwHwFAAfIHmDmd0ZE82aCSO5gwcRWvy931mG/U5BrLoM0msUZrpae23Uje8A3f84KQLRwzGoud6mufkzAHuQfKeZ3S4Fot6BghsVob0AnA7g97SHa3otcQJjEwKq2i91nrZpDCu0t56j9Yt8ISZExn06T3Oy1czOSfbZhJ59wK1xIalcmNdAllQTy7LZft2hNY0ZxQWt00HyRqxwfNlD6t2rc/8NhETTB5Ns1ziufRGydV8l63TAnddhZ2FeL09OtY1C03EgvJh2qyC5B8nXkNxI8nskTyf5cZK/1N86TXKoKFlnG8lhBX5HFVQuJ4kQNQVq3+ASTIot+m5CweHrXTC8UXB41AXXP6l4VMNrYxcVHstVsFJJFWtJ7qvPByhofQDJv9U8keQW93xv1/f30W/3a/LaV/+/VpmSUOJCmsh1J8l/IHmZm7/tLph+rxLA/kCJKwe7Me/rr58kMa0geXFyv7JLbrmR5Iv0vItiMkKD/TpIcqmSov5K44nB/orrTDNO8oMNWsKlNVogeTTJB1yyTVWvHW68l5D8PXVjWEpyiOSAzk5JCRqDJBdqLQ8j+U6X7DChjjjxXIzrvZoktL2uRYLPsSQvcklglQaJbL7rzhlaoxVxTt14+5W0spLk40h+OknUiudpwiUSvYrkT5NEjvj/65TMcoDmZ77uEe83IL6ykuRzSP6wwRkdd2P4qsZsjTpcxCQRfT7DrVXVzWlMkLlOfOUAkss1tmLKV7R+i7S3nkjys+75RhzfivzkA9oP6Tr5BJ+/I7nerU/N8cTIA0fcWO8i+SaS+2se5zWYx4V6jiNIfig5UzFBaZv+9gOSa5Jz0O94jD+3B5JcQ/Ll4gN0e5Qkf60OT2tIHtSC10RetEbjjefsVLfG5SSp7+NKqFvUSfKl1mqFZMAVTRJSb9c62qS6pGhT9PlMR3cwT1Y25PdJ3qaF/A7JJ+mhjxaTPFXC9A1irB8n+WUdpJvFeModCNSKDtyIvv8ZpTU/glE0EZZv16aodyAsx0i+S6UAmGtYqiSPdxmQ97vne94Urvkid52ym6e7HYOPG/oazd8J8fB1qIzF/XaKu9a2JHv5fJLHdZuhLGb/PGWIjjshFNf8esUgG+2dghOUlySZ2FU31t+Q/EuST5jE/C7TeTnXCbHtiZCrTUFYVt01Jtw9bhfDW9PFWPcj+ddOuI+7NapLSb7ZMfhR9wzfJPkCuRY7vd9RJD+iLM64/+ruuptIPtVn+Sa8Kq7fi5VF7Od2xAnOf9S8LZzE+u0vPveTREGI876B5F802FuthGW9SeboCMlPkTxJ9aCdjnG11vqeRFiMOkPko7K+kfL9Jtd8ostunnDj/t4k57Egof9ut1+3uQz8c2R1NvpdQetdTPeBE/wvJHmp25tb3Tyf1orfl9rV9bkapD6Z8kfq/dlycXmXz+OVqfVFM7ukSRbaMpnWq+W2WyJX0EpXWDokF8YiF7sYcu6jbwH4vOIi1g75wbkzFrq4A1p07aiqnizGXTjLYN5KLTJ0mcRc/PeGIqJGm3l4GECEmY02+b9BuaDGXWbgjwGcA+DrPpnBIbBYA4SSisua3F8uk2oSGysC+BqAD5vZTc4SZRNwC3Ouuz7V5n1HdaYf116NRdTjCLVqp5H8jvaSJXXFAwhZtM+Re2nAoQkV9dyfNLNvu3UacO5nNoklx0zcBwF8V/WgmwG8RC6kqsbX16Os7BiXny9X65lm9pUGCCdskhVZUG3nvyhL9106V2XXFShmvNbcOo4DuAwhY/YyVzeX5jWkGadlM7tG2NElJbgMJDkRCwG8jOSdSlIp+tiz3OdLAbxB+3XM1SHOl4v835T7MOJKJ5rtrRSJDGa2DsA6kvdoLo7XtSt69tUAXkPyCjO7ogslvKZrxHjqvQD+A8BHzWx9B/NoDvXmXgBfIblA+QX7u6YT4+KxLwHwSYQa2pgk2d8kY74q/l1owBuKAFaRrOi75RY85qHsVq3VGjc2OlfuMICPqe603yUeMs1k9Z44xwPGAHxLiWjnSNaMOtf5ESRXqg57UlJ+udwzp5H8r8QKrEgr2ZH8fSPJP5HpG6V822bDsi6WkHyM6sRernqgz0hTuZnk1SSP76SpaKLBfcVZA7UmtV3b3fupc6Hhc6MxykLZ6rTuSC/p1q3sXKMvSuow624+owb9fySPdHtnIFo87ebQuV9e3sSzcHvUKOXWtG6biLuaxbclXoZhfb5Khelx/F7rP0HekKpzC0dX2c0kD3Paa98kxld0tW0LSb7DWT3lZL4n64atu72/1dURD3a6J7SWfa528nwXLqm7/RGt7mi1XKkOQnEt+rrgQXEPHi6Xq/cE1Zzl9pxkL8UxDpB8pQtJbEvqhT/g9+Fkwi76XdxfR8rCrDreGC2ZLyZr1s4N6z0DNVl+yyczVt0vzuVbNQ+1xMLaQvKP3dxZm/P6LNW/ppblD10Yq79L/vV0kt91ez/y5avlFi9MxlWqfVBQzebNDeq0ryb5+6nrvqVlqUUfUAD7dAX2lzgMybLTWOY1qG1ZCeB8AJ+W5np/J+jd0gy2ANhC8pak9KRPGk5EaEGDmqB08umeZ8hpIs3axwy4urTXkrzdzK4Ulmp1NneJaJJI1QrKDz2o86RL4b5aVsNv3XpOTGLMeyfB/wVKjHk/AgIPAIxPYi08fNz5StD4S6e9xkSWp5C8SFmT/c5COV3JHHXtw1GN7ToAp5vZDZgCNqis8JrS5reT/KISOl6jvVtpg47VyXpV3Bn6DIBvxySOTudTSTT+LHxMlt0LHepWv9tr8UxdAuCn3TYe1/fKYs43ADgPIcMWrufsgCy3fRpkZNbkCXuzy6L0XYc+DuCj7n6VSSY9VqJybma/Jfkp7Y8nagwjuv/jlNh1q+q/S23WrOpqnX8N4L8E5Vnsdqy6X5z3/9RZ++ukGmEIwPOVeLVulvSmLLpkw5qsz8nwsvjbcQDf1/PPc96WQ+XNQUv4ucTqOwTAvwL4KkIK+ypX51RLXRANXEuxhu7PAHyW5EkCB6C0WHMxqkIjKR7BBMysYmZlMxsxsy1mNix3nXWBZbvUZXeyTYFsdCE8E8B5JE/XGDhZrXM3pbqbs4LckBe5vcRJXu8bAJ4rBe15+vxHAL4RcX4nA6TtsmxLZrYRIesTzn0Muf2PTsoVINdw7FYTM1UHELJov2Fmv3GWDKfuJGDJzDbIHXZ/j+qUfVnUOIDvyGU50K3i4eayDwFi8goHssDERQoA/6WwCafgpYlZytcC+Lqr+as4hWY/uRiryZ46WEIKzu1WkfC5UMpJXw88SP75LkJoNlFwwAVQucKpLp5XbBMGqTre+lFB1hWn0vNWa36XFBgPblLT+8lO8dgV+RpjDhDG3Pou0RwXu+xAlYbZKlKS/lCv50lBOBXAD5z8YTPLkkkB5+WStEfrb5u1ORe0GKglqeGLNJhlJNcCuEC1LA0RLZq0XWkECF7rUnvfw2nlxQ6tpUEdsLep4P7zYrKICCWPYkFprnynoL3yXV+nNFkGbGa3IdROTVd/uqiYPeCwdGNpxULt+UGENPqarMsTpTD65uIDCM3Fv+zaOU0ZP1iab1FKwa0k/0PW5UpXp4lJlhwN6ho/kdUwZe+/mO/1svr3SSyR6Bn6uZnd4M7NZJ6hqr01DOCLCPkSq929iFBes9rMbnFddpbpHPtSiPniT58FcJPjR+xF83U95yjJ70rZO0b3nNAeOw3AVxU/L7ZZs5LerwLwE3k8BnoBUI5QbnWjlIl+eQznIeSSLNuF/CW2RqwlwnJvACea2fe0tgOutrItz3E8pq79v25SfQ+TDgd3mdknAfy5XCfbZZ0NNQn+NzKbh1xd37Gq73odyX3MrBpr1rw2F6W5QMvrsiyrelXcq97ps0kLORIhqagdgLoXyhW5AQ9BqHV7k2Im5tAldqtO4JPU0kweiCvkGqpPEdy6qNjCgOJ/8b3oPBEF553o6uX2xv0ISQzendcn16dXIocQEnv2dB6TqBBeKsZc7DHQvu8Kca5cvVNxh5kLnWxGSBDZmhSpT8pa1ZzeJD5B5+4tOEv8/h5klEdGN45Q/ziKRwKarPWuWK3HkXKfx7Pf58AGvq/EL4tWYS9eYuR9EkTnYGeyUgQ+OAzASo2vFS+LdY0PALhAACDWrptMJ2dX17kfASZ03IXXokW+uE1Ip9edlOgSSx9wLmBzyuweAN6iLOCFZjYRZUn0WrTyVjbgM33uFXMNCl03CZYr6Fq5wM5DiCUWGuA4tqLYcmdMD/oxAGeqtsamOQboW4YdIE3JmmSMoUm215A2Uh0h6+9sAMdLKHAOxTB7TUzc8LeY2fZeuGykIE3oVXbvNadE1Z1i1dXL9UPchlBszUR7XdRAWD7RZc1GvNJ1AG6JsfFeKk5OA66Z2e0ICEVIcFIn6zbfDuCqmPU5RWYY5/QehJg1k8bvlNdhXTe9R1vMSdEhDI0l2MWQpbky+ekhAJ7sFODYxu3XDq2GU9lTDV51jXlUis54wpOq2AkyUelAId0A4AcKRbEHAiwqdsNan5EEJang4rv1GeYt8ezd5CA9Bxz4ynMA/DuAV8U6S9/dJeUPbfiMN8DK7QyxQruFMrNhhOSKNyCgRPiegewwONvvFuJUabYneR86pi+mVpH2dBN2JhyMdbgJYtp0/O6zEJBb/mGq2XOY+/HKuKnvQojdoZcYwLHnpDS+Qg8FUd3Frhr2/EzOhYekKzuG/TMAN0TmNQ2Kkx/Tbc7ynQx4dS1xQ27oVf2wGNV2uc2YWKt18Yx7e8x4J9w1S85qXJJANQIhYWOB/j+u3zoA34wKQydNkCeT8KOP6ySYY6lVjB0fqTKFWgeJLWNymUbc1HovYqtKkLzdoXr5OPMCkoO96Bk6SY/VzxGgLuNe9+d1rWTSzxGSSE9WaVDTDGAH1lCYqhRvFgiO2V2bSX5d7oDXICC2QxpJqQmQ7iPqfBxA99MBfJDkEQDOM7MtclvUe9UF3Wl3BHAryfeofu80WbxlLcy8Dl3VEbh7X3U9WINQl3W7S3aoPkqszVibVUOoRx3ucRlMUfV8vhnvk+RS29fV43ISgiO6CfdCiE9ag64qSLArLTnIkCvwnmm23qMwukPCaO0UBE4xgXODayI8lWSRomK72xrkP9QRYpnbejknet/gMKIj8HcKO+jxTKtuDgYBPFFZkXXXpxI97twzpr3al2ArFxB6Me7ZoLm8JVByALB5GnIkzMHy1dy46DwqMbaLGfAE+ozdgmK+F8hl/TopQtvcvCzVK3oO7iC5XbzoFmVO32xm96Rua+Uh1Ltt/l7qINnAXAeBi0nepQE/Fzubenp80lb3KklDKCIkDq0FsJzkBWZ2vc+k7OXCyKX8C3VIGUZIcz/ICcF2Bd/RFTAhBWElQtlBgeS5AK5wcczCLtDGdlUm7IQs9h29shxctmtNWahHIiQgHIOAF7oW05uenlpN85rgsW5RQpNNdyyH5L0I8dWpPHshaRvWK4ogBmNNhNvYNAgiOhzgoaQVUynJ8C+55+537tpXAjgBOzGOaz0eY8E1Wd+vQbLi/gmYfDOcagLYOA3CquBwVtnA0xibIGAX1Y0XZUSdJaXoha6so+4E53yFSZ7ofr4ZIWv6OpK3Ktxyr5Tbdb7ksBt+XeowVlCOSAjq7vEKmcGvcwte77Ad13wH4LsEAXj5cWqXc+s0uUSqEvjrAbxV3cLfIa2l6JA62pnoA65LfRGhPdNRCHHYHyhGwZnSwmaBsKxIwx/vRR1nnDdlJ+4P4O0AXu0EGRv0FpyKZl1sA0zeqhNOtQNA+l7RdmedWY+sM/S4dV61yT3q0zQ/5Q7aP/U7a86SPIZVes1knN/3XVyO1u2/6LweI9PIT2pN9sRkyzN64hWMCTpmdgeAvyF5g9yyCyRDFjkX9UTSaWcPBASl491l70UoC/k2ycsh4PVuDJtCNw8QBZkW7gyEOsrfuLjeaIcHI8JtReZ3sh7kBSlCRA/JuzG+jlDY/E2XNNGpBlyQtdEnIXE0QneMdztUif7dPFOWiYZX6YEmWXCtef4AoQbslS4eFd2HY7Ev4wwyuI4s0RmY77m+X2bLfWNIaBghiWTbNL226zWifTvumpUPdggy0U3rwl7ud+7KfdcgQec8AE9FCAP+0I1znoND7XP9Loexs59r9Cb8CQIgyS9lNK1wiFKFKVuWLRrgjqmO6EEAr5CV2acB9reJY3psxdhwdl8AHxYI9Tkqmu2Zr9wVRJv8/9eTfLfciG9xrZEm2mh8aR1o7OX3FwAOIvlhM7s6woI9CuKY7N35sBrJU6SI7aNrTzgGs3gGsqcfgVbTJKlmsMN2S72g2J5sdxCcM+0BqTc5t7vUzYhQyrZssntzhmqpZwuMZ0F1pfcoJHETApbvfgjewcfGcpwGCkhsfF13rdgWSV49h+SFAD4ha7ZlCLA0yRRuujjmpSRjD7WX6gHoEmJaaeDR1B93ad5vArAnyfNV9M1exQHd2IvOpXyWLOKXIcTH4EoE2gEYxDhmXRv/xQD6SH4WwCUqIO6kQzrmOEDBlF2vEpTHIDQlPkxrEjf4oEuhvwYh0awySesylj+tllfAN4VtpF2OuL/7Z10FYLGS32yamUUElp41TGyOUDXZIxFIY4cS0+5wtbP1GVAomZRd3ZaXqCOeXYuoPZI5v9MLJPdDyGk4UGdklYThMp3ttU7RLGMnuM5qvQ4Tzz7PzDYqe7ZhdntpCg9R1gOYuhC8neTdYnarXceFTmKBEfV9q8zqP9dDnqYHKPQ64yoiQKg+8AySN0tQH+0apNY6iMMOOOWghhCIPhLAe0n+UAW2tUdJ4s+ks/K0l16LADM4KgZWcAkkNyEgt3w9ZiBPUQg9FgFObi9XZ9nXBM2qkpQpGEIG3n4kt0xT3NIcQs5B8rzUdhH82JxltCTLTkkqu6bxZyOEYXwD65lWLkezx6lrnl3wfEGy506EJvAP9ViW4HwCAiDOE1y3q6UaW3SNr5Qnax7Js6X8FhslfJV68AA+3f8zCDHMD6l41Fy5iHWwiRYjFBz3y8pcDWCjrI6eJ804rFEC+G+Ewuq3ImS6Fp11XOpg7AMuK/BAzcUFcsuu1/WysGzcBg4IHd3XJkkHdCDcr5RFaT3IsqtJA13pkiisRXLNXQ5fOFonxyGUnlwdIfR6vD/9tQ4Ucxhtk5CU6ZHzMua8WOUksaUs3jK8qxTZDrxOMxmz7OUacLqSf9rxUWEDXEXyWinYgwAOR8AKeLHLORmQfBpEqJ2/AyE2yikl+HTgKoroCf+HgGT/YW3U+Yl2jg5S+GNCx2a3oTidri65Am9DyPJ9o5vEchcaYNFBMy1STef5JJ/1KMeSRQeQhM+VO4XOmiwC+BGAN5rZxgiB2ACIv5OXSSstumzbg1xsy1qAOl+GEGaICQQVhGzG/WPvyx6XOvkWTke4lPksILunDTq/Ba1fTaGiU2RNWLbWe6agFJxwnzTalIBeBhyYwEAzoPtGTTkSlJ6qme0ws19LIL4YAeC+P6nRLQJ4s3ImOm/RNYVYYJ8gg24g+S+qb3ktdsYCa23igHXXPmuLXr6Wq20gONn4TLQcNsDBpWPYdTO7l+Q5EpKvdA2uxxzUWTsrc7vGuwShlmut6jE/bmbjHp4pu2ABzesxsvbqru51HMCPzewW18rIA/CzS4WornhEleRKh6jCJnWW0Zr7vjwlC7Qv4h57pppFX+sAPHphoZSkXNVIvg4hrlJLEHwydUa3IsQnn6SzG5scPwPAoJntmCac50YWoXmeNMfPP5tkjNMhn9kU0Y/QRWeptPGzb/4OJVreg5AktEXGzNMkb2LnmiMAHGtmFzXaD72OBVYk3ftkCfwLgj/4GgeuXG9T8xPjQhu7KRROWnrFVzXBFKUD3E21kbrcaf3CCTxHVuaF2BlL9Z25UyFfdc+4SIKyjoAmUUUomi3mJI2mFvka13IpaqZ3ArhNWcU1dN9t5hHdRiQoj0BIQ2cb+Lg+lUv9CsEFXHCg2FUEJKrTnTu5MFWm6+Mlygx/EUKspdor5fZR5OY3BCSXXzjmGYvwlwM4xu0t6yE2LF0jCP/y/Ii7URLVWAJ0AIQY4aTanqlhxbNJPlWvZ6uhdl8XsqDu5YGuO08ANZcitDtbJ55TdrxgVYRfTVvKFabDp5wIza8iZJpekxSWN9NUIjr/bXh4+51OJrmf5EoB7D6sW0WjGp4GoNz1iO6gSb0YIcX4s9oQxQZF8UwQROpi+KMI2bwfAXC8mb04unN3s8PSK3fsvAYoQBsQiocrPS4feg1C/zrfRorN3MRmdj8CIHZdVkm0ehfKnXeiQgXVHihC0QI+UG6jJU5bz0pWl0qYStAud+sZLZ4FAP4KwMFSdIrTIKyXkTyM5MF6HUjyEJKHkhzcTeZ4RIZN3ZUCAqH0ayiGKTrAgfbfeb/6435Nrx+r/+SaBu0cu7FAx13Hle8BuLnBeV8J4EDHb6ynbtgOgrx3IgBPH4SQxDPeBJM1MsphhGBrW2HpsqMGAfwpAurLVoTU4vUSunepPmeTmO94B9q96f0+AGchNLg9W67CKnbW/qXYuNchAMX/Svd+0MzGstu17V4pN1CcFiquNKXSG+/ClTX4bJcwM7/FHvN/Oxch1vVcB2NW1p7+d+29Sx32ZLVTK9iFEEpKOluDEDd/vvZX2UG1ZUJX2NdVuWJjv815bv1OUJjl+l4kabl1rCPExN+M0M93wrn6SxrLy5Q41t8EKnCuuGGHEcDYay7jeL6UkeUJcDvbKLEpGtQaJxP2QkB6W+/uVZuEshy9QD5T2jct3xOhS9X1Pc2G7USLlzCbLw150MGMNTPpBxBifve1syg1wX1iMCcjZLLGerQjdJ0tWtAdYo4jAtzdJNfaZn2+FwHU+EEz25YsxCYA/0lyEwIY+ynaCAOuWelFEtDXALjWzDY3KKytZf7VdN03uph1tN4PBnComX03Au13c0Ck7JSU9UiSjwfwj8piHXcCqBXSS7zOFQjIISe5+s94aNcC+AjJfwfwFeed6G8Q32kU06q61PjjELKxn+vuUZwhWD3spj1XbwLweYSytpi0F6Er30Ryuzxgcc1q3Z7V6CKUV20eQpLjK/DILihA6HE5vItaYPVaWG4UDmslEToG4IUkf6c8kHkSTs2et+DqG+92gBI18e09AbzYzC50mL+1KWCFV5N9UnBIb5WegBJ0617T5pkP4CkuoaLUQc+9DR2WHUyQPFqb80AJx0FpkEvQGqw4CtMHdL/7AGwiuRkh+3FEQnYbgGEzu0T/twgh4eNGhJjI/wG40MzuThj1Q27bLChbHriq5vE4hFhHjP8uBvAskv+p4Dyc0GyUnm5JjWLNxf+eCeD1WjdImy90Oc6LEWrzTnUHq6b3Y6RA7U3yZwCuFFZwpwf4QIR6sNcC+D3n4hrIscopNTkumNkwyS8hwJ0d4s5lFQH95W1ShC/xYZhGyYFNlB26uNgaBDzjV4pPbHbAKwsBfBfAB501VcXcrGGty+MzTvL6pFFz5OV/DOBGkudE71qL/e9DU1cixBP3c3HmPQCcRPJ4M/up+P4jeEFqvTqL1eS5Katp+RGuUTidcL7PtXOcUWEJB2i8yjGYvjbZkVsBrG+U6eRLVVwB6gcRitlHtEHNgQp48G26uEVRroKFCKn5T0Lz0oF1ADaQ/F9pPfchJA18UMHiRu6+LCC7w5j9XwC/74RlZFZPk/Z/hpltaZMpxwbu18UImY9/L2E84TAl2QkYuhhDv5n9luQHtNdWurFHcP2DtRdvAPAxkr+UMlZ2TdPpkoT6EWKgB4uRn57UBs7voA40U2sqkqRcnv8lpXqR5rhf6/Z4AF8C8FdSdIY7aOiQ7rV5APZGiIe/EztBB5ZKUC6W1+nrict2rifm1cQT10kRGXRJequ1p4dJXgRgu+/40SSrFeKt3xVITNWdz+Vq7fhmAFc3u1aLbNmoCO2JAHF6pP7e52KuGwHc6dzGnClhWXexp6GkO0mrus8dcn02KzQuyWJdCOCfxbyQwOsVWrh707RnNmihY46pHi7X3TFO4/+ymKKv06xm3tTd/nAlHRcjxKmPcu7YCkIm6OsFgXiWmV3XhVvsJIS40VNd/02PztFNgX8U0r9FiEN9AyGmskVCbb7b74cC+IQO+gaE+McGBBzlupS0lRKSB+jfA0mXjqipx9/s0SHwdqZHZuib3j+IEGN+qTv7EWhiFUIB+48RkJ0u7sIrsBAhEfC1Urzrrq1f2fHZC+SZ8L0bi7uBm/sBBBCWt+lMjIjn13SeP4OQZPU5kpdJeSgmSZ2m38VG4r+SsCwkIY9jAHwBwJlar0YWpD/XDyvRUdu/9wB4ic7sROI+vt1XTPjflqY5bTsyj0UdaFE+lrlD1mWzOBS1QV+qItNBaYqDXeKWslH9UzLpBfceBf4QQtzysySH1WWknBN4Jp2dGtuo/TdCTeHBrrE4JExOBXAYyTsRYiS/dK76WNe1GsEV/1gxxb0luOC6EcwTE7tSvz/F4cUWO0wOuIzkKxHKoo7WntnhGtMOuL2yWM8z5hI9ShrHYIOwQHQ5FRFi4O8BcKKYcX2SDa8zvmh4H1cTeMqSrzhoxXiuTwZwAMk7lLhyGUKC0LCYfEH7cW9ZJo9z+2xPt9dGk+bTbwdwvvb57tLCr64zMU7yywhJS3trn/o+wQsRkur2k2D1rdUqDuzjUoRa9I0kf6rz9U59d6vOBcQj3kfyjxFyCX6mtdqchj5UFbEPQojjWfIgHukS+8oOtvRLCEhu6Ck2bBeTWZT5bB0c8sishlMXpttgMQ76NAB/I2ZUTXoToouuIZ24CmuulnJErsJDoQ7dSSbnbgV0PlPXlMv0IoSst3eLcVVc27f5mu8nS3icoINHFytZjhCH2Mddety53GLXku8iJFkMISTSFHWvdoXUdJ0JLiH5foT41AnYGRuPjHLCuVoHxDAWJlp5bDcWXbkL3f99D8AXzOybJA91afmcYoG87SYdK6zb8yws6FtInqn5fpFrtTeidZgvZeux+tmz5cKNiozpOyvldlyBh5dRRDjEKCTXI0CofdrMRlwDisk836xat0TZ3UzyE5qbo9zZi6GwAXlRDmhxyXG5zc3M7iN5thTNUyUod7gwxv56HS8heA+ArUreLDuwkwVSYh6DhzeIHtXY5uucXgXgM2Z2ezMc79L0KnRWV3LPXu2YUIOYZdoQ2Jxb5XAEsPUj3Abun8YNVHRQdkWnEf0hgKvM7HfNwHex6/EZqy2SFKaSkJNa4lPS+vX5AZJfkXb6IrnGYjxh3Lm0FmKn6x1NGgOXXdbqEpfVfBOA95nZ5SSf6p6r6t7bIVUZyUFl6f4KoZH4KbJslyYttWLsvJzMVcFZmJG2yO36v2ob9FspEXtNYv2Y7IFaixrn6dpz09kTseaSMqouO7LV/coSmNeQfIOUpadof5hriDDi2ngdoVervphlxx+iR2FCFukXzeysmGnbRlD6sFDNlaHUZpBX1LtZuyhUVFP/tRAexockyAbdWlUdspmnCXkeK1IsKq4B/P3yrAAh6W1R4iWqixec0OFzTjgeMuiUyGsQcg2ubuUWL82AlrJYmn6hg8UqaKNuTZBXPCxdv/M5j3YI0o4e127RaaYXyl0229xi5hKdrMdrWnXXZ480q6qy6+4k+VYBlL9HeyeWFEUw+rEWDCQqNwMOEQjSPP9JrrDtTqjWE3d7rZ1yEQucpchtJvl2xShfgpDQcGSHZ6yeJBacp3jMzQ4QoUqy0mVj6lQBrTnXV20amzKne85mIF5m7tlagmxr3SZkOWwk+XwAfysP1d4uVtzvspw7gV4baAC1+d/ab9c6pb/cRVio5lqHTbeCU3DrVk/CUt3EhksSmNcjgLGc6HIEBpy7NVUaB1ytfMFVUlRJ3oSdSVPvSn5TS3C7U4g7JqGLGP/sc1UZlyLkNfw6CbXsEmEZ26UUWqAGecix9Xh42UiM8cRNe5YsOnTheq04Jmo9QJupuWSRw0gukJDHLIlHDDgtbI37+/wprONg0ssR0sgX9TCrr66DN0ryqwglOU9DiIUcP0nvwcUIyTiXIwTvt7umzWX3fAtdUXKpG7eU1nuD8H8v0pwfihAfiT32VktxrEsZvNv15bsRIZtwvZltcmUPHju30Z5uBa4xzxWFL3B/X9ljIWYu472Y7Ll+zet0JLEsdR6DRe45F3fqIREzPgcBrP/ZCIlkj0nmu9bAYo3Jg+m+fwABkOQ7AH6nbkPdoM0s1j5B4rJfOc3K/zK39+H4dt8kz+91wjQ+HCHJ7hS5rAsNzvCAe1+ZQoLqbO0g+TEAP0AAkfhznau+BoonE+OrGZ73T6WYXgpgXbPKi5kuHdkDO+tl2AFjvSsRlqXYexLAHyGAAsyTcJrfweJVXSeQcoNMSC9ErYP+lak2eyyAp5jZjzspQ5juJAbR9bLKBjRPQ65+qdtC6OiWvFquCsiyi0goP3flGPUeJfwUzGwHgGulpd6EEG9YLoayRJ+XuCzUMYQkjPvlbt2KADRxDYDfxBi43DsFZSJuQMjgW+b25ia5Qr31EhneI5QtuZ2oUqHtGutNKhv5MUJMa5HOwZDrpfdgVAzNbEuD+9CNeX46Hj3v1kZNAUS3IWQhHugYfr8s7FoPC+Kr7n7/mCAj1ZP9wR5l19cBfEvPMuhyFmoI7dzQzjOgeS6Z2VYA15C8VUkiR0rY76u529edH0/DCCVkdyHgP9+n319qZnd00YLLr8GPxaOG3BoVAfy6yfencs7idbYBeJ8rcYl9ZC9zwAkdoY+52sua5uAOkr+TYNpbZ6A/kQFV5zG6WeN5aF/F82BmDwL4X5K/RahCOEyKxf5apxXac4MNeobeLV5wt/bMBvGEn6d1+62eczo7vJekuZ2MAAe2r/PFlxocuOjG+CKAM83sBu/nJ/kMHf7DXVJHqY32aB2Uq7TqaJ6WlVjioiiIaX3KzN7RoEdjpqkBipfMbCL5+5AOxp7SRBdoLSIq0wZZaGmC2KSQWbppqeXikOwwiSNFGopg8XSx+gJCycHLJGSpZ/4ZgLerJV7ed1NLLCv49ZJycrheh8gzUHJ8ZERK2Z0SlFeb2UiK5iNkJj5KAez7pEBWp3Gd5mFnMtZessYj1F7sMLNJAvIOALea2S0NxtkR9vRMWJYLE9dIoY1guw8hfhO1lTLJQwD8GUKadkxWGOwgBhprdy7VJB4src1bkb6TRJpV52MgHnDbHJj2kDALF5nZNmlXu9QV61rUPOK/Jjuu6bhmh53RUyVlNGqtbYCZi0mtVbkFtnDDpIUGAq2vgbJUc9f2iEHWJqORbv5qqRXr5nQflzLvwQmGpSmjBXCHtUrKmO17bibuF5l5ss/GzOxyB8CODoDAi66FXGUuzGGrMzCVe+p35Qbz2ta70GxvJusUxzvezTq5Z7V2fGFXCculLqZQ6yB+sQnAFvdQdfmoX+bS8QfQHgl/SNrfmQjIHbF+bVDvy+Ru2Q8hnflAaZCLXYZiXxO/fU2Ccrur7zuW5A/E+HYpjmeKPDFbr9llr9SOFRB9r9bJb1oJjuT3j4NqPeXSqWjv/ArAWZEpxOv5+fKIUx26tQpykxUR0uIPSkqrqMzZ+5rFyWd6veb6/WTFT0qR6Ga/zdIzVp/mWuqeCfzoQp6CIJ+0MVOaASizRYnwaOb6jd/ZljCatyEAEg9KWLaKKdK5dMcQMlXPM7NhB/rrtbiYELCHXgvd32LyyjK5/ZbrfaXzj8dYUgTovgwBC7I0y2svMVcLyxOkjlbJG73WxmsSlC9AiIeOS9laQfKCuLdaCC502VqqJoF5GkIIo+wsWwNwb3a7Tuse66R203sHmEFJOsqn2BXrhFb4sbNBWNblu1+UlBu0wlg0Z74XEGpr/k4W344kq69VndJ8hKzEfxeIcp8LItPhtm7X654mlsWgLOOVEpqr9NpHjDImF+wlC3OFEH0yE5v+g8cZdmvfgZCQU9SejuUFjwHwl2b23lj47hJaJnOvPgBV3fNEBKi+2IknYsX+DiFTONNuYCVnmhvrVJoOxhK1LJLLXFpyvUW8suC092gFPkFlIntKIA12oPlHF+09AD5rZr9RsezD6qVcs9HUn26JFjJhZhvQpAOK4hRDCG7clbGQeDeDtMqCOazpNpI3uCbgJqG4AgHo/YcAfhUTkrpdf/f9qs7OkQiZugPJGSkA+B8Av8x7LFMmzPlMqPj5KJJfZ6AxkmU+kqru840kn0ByKcnzSNbcb9vRCMm6fvNiksUmgetpeWaShZm6X6YZ39MFt5+/pj1WJ7nD7b/LST5d3+uP+6+TGju3f0r691qSn3b7f1znpK5/vzDpl5kpU6a5ylj0+USSP9EBL5OsNBBykRE8QPITJPcj+RcktzphWm0jKLeLsYySfJdSin3LrKkIQf8qJK8MZv3o2dd9EoJ/rD1XTxQ0krxWxdgPOw/67UCDV18Kr0Xy90leSHKLE45bnYD+J5LLe7G/M2XKNHuE5Z+SvN4JvXj4ayQnZDF67fynJM8meaX7Ta2NoCzrOqMk/0P9LUGyNN3CLBGixSw8d29hqfdlJM93+y8KsrhPbyd5BsmXkzy0Q8tyL5LPJ/lukpcmiuQOnRWS/DnJfV0IIFOmTJijMcuE9sFO+CY6tAbg4bBHowjJE6sREHGKbZpE+7hirLm8BMDZSugpTHdtErBrkk0y7TKqqvD/QWHB7okA4DzoUGzKCIgi70DIiv42AurIvQgJahUHnRYB4ZcgdFJ5IUIBPBzeZb97vxIBf3a9K6vKlCnTbmJZfkoacUUW4Gjiiq3rb+cqVvlCubI6iVNWE23+FY3ippkyTdPefgLJ7zt37Ljzcoy18IJsIblZ32/0/xPO6xK/czXJl7QpIs+UKdMcTvD5igTapiS5p0LyWyRfQ/JokmtcYsSX9Z0JMaJ6E8Yz4WKZf01yKAvJTDO81w8m+a9uT47JLbtVn6vsjGoSjNtIDisGH+lrJJ+hMqZMmTJhN3HDuoLREkJdWAE7y0d+gVAfdjMCRNG1HjtQ0HaXAjgOoY6x1gSEwIODnw3gK2qs2tdhS51MmXpRHnULyY8ghBCehVAXOehKpUax00VbT9oH1ZNzOB8PR6b6PwRQjQvN7FqPt5xXIFOm3ctNtTfJH5LcSPJHJP+N5HPTdHdZk/0uSeZwJepEt1S1gUU5Luv0JyRXJODFmTLNyF73e5nks7THf0ryBrlmu6EJkreR/CXJL6nX4kP1vDnzNVOm3bMezUgeoVKQ96hThGcyDWvQYoYfybe4DMNUWG7T+2Uknx6zUHN2YKZdKDSL7t+LVV7yeWWCb5Jrdav27na9ost1C8lbSH6V5KtjSMIJyRyfzJRpFtB0tuiKbqWyb1/TrlWRMDFPBPAxhNYrhaTLuyE0yv0IgM8JGDe3J8o028pM5iMA8sf3eQjZrzF7dgcCGtCoPo+q28VEnsFMmR7FMZ5OEE2cZbqM5AdcIfaILMyYJPRekksT6LpMmXa5hdmLvZgtykyZHn0CstQtOIBzxR7vAAu2OjfsBSQPzHHKTLNcMexz8fg+nYNC8p2S/v8hNJ+s+GXKlKlTZtMvZrJWaCZlV292Dcn9My5mpjkqRB/xyjOTKVOmSbug9L6A5N+SvFWu2OtJHpMLszNlypQpUxaWO7FWjeQ+JO9QxuCrs6DMlClTpkzYDbFhMRlQA5fdejfJKxC60H/DIQRlLNZMmTJlypStS5dheCLJx2aLMlOmTJkyZcqUKVOmTJkyZcqUKVOmTJkwjcXeOcU+U6ZMmTJlypQpU6ZMmTJlypQpU6ZMc5T+PwQZavbLXv8HAAAAAElFTkSuQmCC";
3
+ const WORDMARK_ASPECT = 4.7812;
4
4
  function FragmentsWordmark({ height = 20, className }) {
5
5
  return /* @__PURE__ */ jsx(
6
6
  "span",
@@ -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"}