@fairgarden/design 0.1.0-alpha.1 → 0.1.0-alpha.2

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 (517) hide show
  1. package/LICENSE +21 -0
  2. package/Readme.md +51 -27
  3. package/actions/button/Button.d.ts.map +1 -1
  4. package/actions/button/Button.js +13 -1
  5. package/actions/button/Button.js.map +1 -1
  6. package/actions/button/button.module.css +85 -25
  7. package/actions/chip/Chip.d.ts +2 -2
  8. package/actions/chip/Chip.js +2 -2
  9. package/actions/chip/chip.module.css +12 -18
  10. package/actions/link/Link.d.ts +1 -1
  11. package/actions/link/link.module.css +22 -19
  12. package/actions/toggle/Toggle.js +1 -1
  13. package/actions/toggle/toggle.module.css +27 -23
  14. package/content/card/card.module.css +27 -27
  15. package/content/card-grid/CardGrid.js +1 -1
  16. package/content/card-grid/card-grid.module.css +3 -3
  17. package/content/carousel/Carousel.d.ts.map +1 -1
  18. package/content/carousel/Carousel.js +1 -4
  19. package/content/carousel/Carousel.js.map +1 -1
  20. package/content/carousel/carousel.module.css +19 -9
  21. package/content/code-block/CodeActionsMenu.d.ts +34 -0
  22. package/content/code-block/CodeActionsMenu.d.ts.map +1 -0
  23. package/content/code-block/CodeActionsMenu.js +102 -0
  24. package/content/code-block/CodeActionsMenu.js.map +1 -0
  25. package/content/code-block/CodeBlock.d.ts +37 -0
  26. package/content/code-block/CodeBlock.d.ts.map +1 -0
  27. package/content/code-block/CodeBlock.js +30 -0
  28. package/content/code-block/CodeBlock.js.map +1 -0
  29. package/content/code-block/CodeBlockFrame.d.ts +54 -0
  30. package/content/code-block/CodeBlockFrame.d.ts.map +1 -0
  31. package/content/code-block/CodeBlockFrame.js +80 -0
  32. package/content/code-block/CodeBlockFrame.js.map +1 -0
  33. package/content/code-block/CodeBlockHeader.d.ts +26 -0
  34. package/content/code-block/CodeBlockHeader.d.ts.map +1 -0
  35. package/content/code-block/CodeBlockHeader.js +16 -0
  36. package/content/code-block/CodeBlockHeader.js.map +1 -0
  37. package/content/code-block/CodeBlockLazy.d.ts +11 -0
  38. package/content/code-block/CodeBlockLazy.d.ts.map +1 -0
  39. package/content/code-block/CodeBlockLazy.js +14 -0
  40. package/content/code-block/CodeBlockLazy.js.map +1 -0
  41. package/content/code-block/CodeBlockLoading.d.ts +31 -0
  42. package/content/code-block/CodeBlockLoading.d.ts.map +1 -0
  43. package/content/code-block/CodeBlockLoading.js +90 -0
  44. package/content/code-block/CodeBlockLoading.js.map +1 -0
  45. package/content/code-block/CodeBlockSection.d.ts +40 -0
  46. package/content/code-block/CodeBlockSection.d.ts.map +1 -0
  47. package/content/code-block/CodeBlockSection.js +105 -0
  48. package/content/code-block/CodeBlockSection.js.map +1 -0
  49. package/content/code-block/CodeBlockToasts.d.ts +26 -0
  50. package/content/code-block/CodeBlockToasts.d.ts.map +1 -0
  51. package/content/code-block/CodeBlockToasts.js +88 -0
  52. package/content/code-block/CodeBlockToasts.js.map +1 -0
  53. package/content/code-block/code-block.module.css +949 -0
  54. package/content/code-block/index.d.ts +4 -0
  55. package/content/code-block/index.d.ts.map +1 -0
  56. package/content/code-block/index.js +4 -0
  57. package/content/code-block/index.js.map +1 -0
  58. package/content/demo/DemoContent.d.ts +32 -0
  59. package/content/demo/DemoContent.d.ts.map +1 -0
  60. package/content/demo/DemoContent.js +87 -0
  61. package/content/demo/DemoContent.js.map +1 -0
  62. package/content/demo/DemoFrame.d.ts +6 -0
  63. package/content/demo/DemoFrame.d.ts.map +1 -0
  64. package/content/demo/DemoFrame.js +17 -0
  65. package/content/demo/DemoFrame.js.map +1 -0
  66. package/content/demo/DemoLazy.d.ts +11 -0
  67. package/content/demo/DemoLazy.d.ts.map +1 -0
  68. package/content/demo/DemoLazy.js +14 -0
  69. package/content/demo/DemoLazy.js.map +1 -0
  70. package/content/demo/DemoLoading.d.ts +23 -0
  71. package/content/demo/DemoLoading.d.ts.map +1 -0
  72. package/content/demo/DemoLoading.js +26 -0
  73. package/content/demo/DemoLoading.js.map +1 -0
  74. package/content/demo/demo.module.css +163 -0
  75. package/content/demo/index.d.ts +4 -0
  76. package/content/demo/index.d.ts.map +1 -0
  77. package/content/demo/index.js +4 -0
  78. package/content/demo/index.js.map +1 -0
  79. package/content/empty-state/EmptyState.d.ts +1 -1
  80. package/content/empty-state/EmptyState.js +1 -1
  81. package/content/empty-state/empty-state.module.css +11 -11
  82. package/content/feature-grid/feature-grid.module.css +22 -22
  83. package/content/index-rows/IndexRows.d.ts +2 -2
  84. package/content/index-rows/IndexRows.d.ts.map +1 -1
  85. package/content/index-rows/IndexRows.js +1 -1
  86. package/content/index-rows/index-rows.module.css +29 -29
  87. package/content/pricing/Pricing.d.ts +4 -4
  88. package/content/pricing/Pricing.d.ts.map +1 -1
  89. package/content/pricing/Pricing.js +4 -4
  90. package/content/pricing/Pricing.js.map +1 -1
  91. package/content/pricing/pricing.module.css +22 -22
  92. package/content/profile/Profile.d.ts +1 -1
  93. package/content/profile/Profile.js +2 -2
  94. package/content/profile/profile.module.css +13 -13
  95. package/content/quote/Quote.d.ts +1 -1
  96. package/content/quote/quote.module.css +9 -9
  97. package/content/timeline/Timeline.d.ts +1 -1
  98. package/content/timeline/Timeline.d.ts.map +1 -1
  99. package/content/timeline/Timeline.js +5 -5
  100. package/content/timeline/Timeline.js.map +1 -1
  101. package/content/timeline/timeline.module.css +12 -12
  102. package/content/types-table/TypePre.d.ts +11 -0
  103. package/content/types-table/TypePre.d.ts.map +1 -0
  104. package/content/types-table/TypePre.js +13 -0
  105. package/content/types-table/TypePre.js.map +1 -0
  106. package/content/types-table/TypesTable.d.ts +22 -0
  107. package/content/types-table/TypesTable.d.ts.map +1 -0
  108. package/content/types-table/TypesTable.js +124 -0
  109. package/content/types-table/TypesTable.js.map +1 -0
  110. package/content/types-table/index.d.ts +3 -0
  111. package/content/types-table/index.d.ts.map +1 -0
  112. package/content/types-table/index.js +3 -0
  113. package/content/types-table/index.js.map +1 -0
  114. package/content/types-table/types-table.module.css +160 -0
  115. package/data/chart/Chart.d.ts +8 -1
  116. package/data/chart/Chart.d.ts.map +1 -1
  117. package/data/chart/Chart.js +28 -15
  118. package/data/chart/Chart.js.map +1 -1
  119. package/data/chart/chart.module.css +20 -6
  120. package/data/figure/Figure.d.ts +1 -1
  121. package/data/figure/Figure.js +1 -1
  122. package/data/figure/figure.module.css +7 -7
  123. package/data/map/Map.d.ts +3 -3
  124. package/data/map/Map.d.ts.map +1 -1
  125. package/data/map/Map.js +10 -8
  126. package/data/map/Map.js.map +1 -1
  127. package/data/map/MapCanvas.d.ts.map +1 -1
  128. package/data/map/MapCanvas.js +5 -9
  129. package/data/map/MapCanvas.js.map +1 -1
  130. package/data/map/map.module.css +39 -14
  131. package/data/map/mapStyle.d.ts +2 -2
  132. package/data/map/mapStyle.d.ts.map +1 -1
  133. package/data/map/mapStyle.js +5 -5
  134. package/data/map/mapStyle.js.map +1 -1
  135. package/data/scroll-area/ScrollArea.d.ts.map +1 -1
  136. package/data/scroll-area/ScrollArea.js +8 -4
  137. package/data/scroll-area/ScrollArea.js.map +1 -1
  138. package/data/scroll-area/scroll-area.module.css +28 -9
  139. package/data/spec-grid/spec-grid.module.css +8 -8
  140. package/data/spec-list/spec-list.module.css +3 -3
  141. package/data/spec-sheet/SpecSheet.d.ts +2 -2
  142. package/data/spec-sheet/SpecSheet.js +1 -1
  143. package/data/spec-sheet/spec-sheet.module.css +9 -9
  144. package/data/stat/Stat.d.ts +1 -1
  145. package/data/stat/Stat.d.ts.map +1 -1
  146. package/data/stat/stat.module.css +4 -4
  147. package/data/table/Table.d.ts +6 -5
  148. package/data/table/Table.d.ts.map +1 -1
  149. package/data/table/Table.js.map +1 -1
  150. package/data/table/table.module.css +43 -46
  151. package/disclosure/accordion/Accordion.d.ts +1 -1
  152. package/disclosure/accordion/Accordion.js +1 -1
  153. package/disclosure/accordion/accordion.module.css +12 -12
  154. package/disclosure/collapsible/Collapsible.d.ts +4 -4
  155. package/disclosure/collapsible/Collapsible.js +4 -4
  156. package/disclosure/collapsible/collapsible.module.css +10 -10
  157. package/disclosure/faq/FAQ.d.ts +3 -3
  158. package/disclosure/faq/FAQ.d.ts.map +1 -1
  159. package/disclosure/faq/FAQ.js +3 -3
  160. package/disclosure/faq/FAQ.js.map +1 -1
  161. package/disclosure/faq/faq.module.css +20 -20
  162. package/feedback/alert/alert.module.css +4 -4
  163. package/feedback/avatar/avatar-group.module.css +2 -2
  164. package/feedback/avatar/avatar.module.css +9 -9
  165. package/feedback/badge/Badge.d.ts +1 -1
  166. package/feedback/badge/badge.module.css +7 -7
  167. package/feedback/meter/Meter.d.ts +2 -2
  168. package/feedback/meter/meter.module.css +14 -14
  169. package/feedback/progress/Progress.d.ts +1 -1
  170. package/feedback/progress/progress.module.css +7 -7
  171. package/feedback/tag/tag.module.css +7 -7
  172. package/feedback/toast/Toast.d.ts +3 -3
  173. package/feedback/toast/Toast.d.ts.map +1 -1
  174. package/feedback/toast/Toast.js +17 -7
  175. package/feedback/toast/Toast.js.map +1 -1
  176. package/feedback/toast/toast.module.css +31 -20
  177. package/forms/autocomplete/Autocomplete.d.ts +11 -0
  178. package/forms/autocomplete/Autocomplete.d.ts.map +1 -1
  179. package/forms/autocomplete/Autocomplete.js +27 -6
  180. package/forms/autocomplete/Autocomplete.js.map +1 -1
  181. package/forms/autocomplete/autocomplete.module.css +35 -41
  182. package/forms/checkbox/Checkbox.js +1 -1
  183. package/forms/checkbox/checkbox.module.css +29 -25
  184. package/forms/checkbox-group/checkbox-group.module.css +4 -4
  185. package/forms/combobox/Combobox.d.ts +10 -0
  186. package/forms/combobox/Combobox.d.ts.map +1 -1
  187. package/forms/combobox/Combobox.js +28 -7
  188. package/forms/combobox/Combobox.js.map +1 -1
  189. package/forms/combobox/combobox.module.css +34 -41
  190. package/forms/field/field.module.css +1 -1
  191. package/forms/fieldset/Fieldset.d.ts +1 -1
  192. package/forms/fieldset/Fieldset.js +2 -2
  193. package/forms/fieldset/fieldset.module.css +14 -14
  194. package/forms/form/form.module.css +2 -2
  195. package/forms/input/Input.d.ts +10 -3
  196. package/forms/input/Input.d.ts.map +1 -1
  197. package/forms/input/Input.js +10 -4
  198. package/forms/input/Input.js.map +1 -1
  199. package/forms/input/input.module.css +38 -21
  200. package/forms/number-field/number-field.module.css +24 -23
  201. package/forms/radio/Radio.d.ts +1 -1
  202. package/forms/radio/Radio.d.ts.map +1 -1
  203. package/forms/radio/Radio.js +5 -3
  204. package/forms/radio/Radio.js.map +1 -1
  205. package/forms/radio/radio.module.css +38 -30
  206. package/forms/radio-group/RadioGroup.d.ts +1 -1
  207. package/forms/radio-group/radio-group.module.css +3 -3
  208. package/forms/search/Search.d.ts +10 -0
  209. package/forms/search/Search.d.ts.map +1 -1
  210. package/forms/search/Search.js +25 -6
  211. package/forms/search/Search.js.map +1 -1
  212. package/forms/search/search.module.css +25 -33
  213. package/forms/select/Select.d.ts +10 -2
  214. package/forms/select/Select.d.ts.map +1 -1
  215. package/forms/select/Select.js +27 -12
  216. package/forms/select/Select.js.map +1 -1
  217. package/forms/select/select.module.css +42 -48
  218. package/forms/slider/Slider.js +2 -2
  219. package/forms/slider/slider.module.css +23 -23
  220. package/forms/switch/Switch.js +1 -1
  221. package/forms/switch/switch.module.css +23 -19
  222. package/foundations/expanding-box/ExpandingBox.d.ts +86 -0
  223. package/foundations/expanding-box/ExpandingBox.d.ts.map +1 -0
  224. package/foundations/expanding-box/ExpandingBox.js +179 -0
  225. package/foundations/expanding-box/ExpandingBox.js.map +1 -0
  226. package/foundations/expanding-box/expanding-box.module.css +415 -0
  227. package/foundations/expanding-box/index.d.ts +3 -0
  228. package/foundations/expanding-box/index.d.ts.map +1 -0
  229. package/foundations/expanding-box/index.js +3 -0
  230. package/foundations/expanding-box/index.js.map +1 -0
  231. package/foundations/expanding-box/startExpandingTransition.d.ts +33 -0
  232. package/foundations/expanding-box/startExpandingTransition.d.ts.map +1 -0
  233. package/foundations/expanding-box/startExpandingTransition.js +82 -0
  234. package/foundations/expanding-box/startExpandingTransition.js.map +1 -0
  235. package/foundations/ground/Ground.d.ts +1 -1
  236. package/foundations/ground/ground.module.css +4 -4
  237. package/foundations/icon/Icon.d.ts +1 -1
  238. package/foundations/icon/Icon.js +1 -1
  239. package/foundations/icon/icon.module.css +1 -1
  240. package/foundations/outline-morph/OutlineMorph.d.ts +112 -0
  241. package/foundations/outline-morph/OutlineMorph.d.ts.map +1 -0
  242. package/foundations/outline-morph/OutlineMorph.js +83 -0
  243. package/foundations/outline-morph/OutlineMorph.js.map +1 -0
  244. package/foundations/outline-morph/index.d.ts +3 -0
  245. package/foundations/outline-morph/index.d.ts.map +1 -0
  246. package/foundations/outline-morph/index.js +3 -0
  247. package/foundations/outline-morph/index.js.map +1 -0
  248. package/foundations/outline-morph/morphEngine.d.ts +219 -0
  249. package/foundations/outline-morph/morphEngine.d.ts.map +1 -0
  250. package/foundations/outline-morph/morphEngine.js +1331 -0
  251. package/foundations/outline-morph/morphEngine.js.map +1 -0
  252. package/foundations/outline-morph/outline-morph.module.css +113 -0
  253. package/foundations/outline-morph/useOutlineMorphRoot.d.ts +50 -0
  254. package/foundations/outline-morph/useOutlineMorphRoot.d.ts.map +1 -0
  255. package/foundations/outline-morph/useOutlineMorphRoot.js +55 -0
  256. package/foundations/outline-morph/useOutlineMorphRoot.js.map +1 -0
  257. package/foundations/separator/separator.module.css +10 -10
  258. package/foundations/sticker/Sticker.d.ts +4 -4
  259. package/foundations/sticker/Sticker.d.ts.map +1 -1
  260. package/foundations/sticker/Sticker.js +3 -3
  261. package/foundations/sticker/sticker.module.css +10 -10
  262. package/icons/paths.d.ts +1 -1
  263. package/icons/paths.d.ts.map +1 -1
  264. package/icons/paths.js +50 -0
  265. package/icons/paths.js.map +1 -1
  266. package/navigation/breadcrumb/Breadcrumb.d.ts +7 -1
  267. package/navigation/breadcrumb/Breadcrumb.d.ts.map +1 -1
  268. package/navigation/breadcrumb/Breadcrumb.js +8 -8
  269. package/navigation/breadcrumb/Breadcrumb.js.map +1 -1
  270. package/navigation/breadcrumb/breadcrumb.module.css +14 -14
  271. package/navigation/file-tabs/FileTabs.d.ts +169 -0
  272. package/navigation/file-tabs/FileTabs.d.ts.map +1 -0
  273. package/navigation/file-tabs/FileTabs.js +253 -0
  274. package/navigation/file-tabs/FileTabs.js.map +1 -0
  275. package/navigation/file-tabs/file-tabs.module.css +868 -0
  276. package/navigation/file-tabs/index.d.ts +2 -0
  277. package/navigation/file-tabs/index.d.ts.map +1 -0
  278. package/navigation/file-tabs/index.js +2 -0
  279. package/navigation/file-tabs/index.js.map +1 -0
  280. package/navigation/nav-drawer/NavDrawer.d.ts +32 -6
  281. package/navigation/nav-drawer/NavDrawer.d.ts.map +1 -1
  282. package/navigation/nav-drawer/NavDrawer.js +94 -28
  283. package/navigation/nav-drawer/NavDrawer.js.map +1 -1
  284. package/navigation/nav-drawer/nav-drawer.module.css +78 -55
  285. package/navigation/navigation-bar/NavigationBar.d.ts +31 -11
  286. package/navigation/navigation-bar/NavigationBar.d.ts.map +1 -1
  287. package/navigation/navigation-bar/NavigationBar.js +40 -17
  288. package/navigation/navigation-bar/NavigationBar.js.map +1 -1
  289. package/navigation/navigation-bar/navigation-bar.module.css +58 -27
  290. package/navigation/navigation-menu/NavigationMenu.d.ts +9 -9
  291. package/navigation/navigation-menu/NavigationMenu.d.ts.map +1 -1
  292. package/navigation/navigation-menu/NavigationMenu.js +15 -15
  293. package/navigation/navigation-menu/navigation-menu.module.css +39 -53
  294. package/navigation/pagination/Pagination.js +1 -1
  295. package/navigation/pagination/pagination.module.css +24 -24
  296. package/navigation/sidebar-nav/SidebarNav.d.ts +71 -0
  297. package/navigation/sidebar-nav/SidebarNav.d.ts.map +1 -0
  298. package/navigation/sidebar-nav/SidebarNav.js +169 -0
  299. package/navigation/sidebar-nav/SidebarNav.js.map +1 -0
  300. package/navigation/sidebar-nav/index.d.ts +2 -0
  301. package/navigation/sidebar-nav/index.d.ts.map +1 -0
  302. package/navigation/sidebar-nav/index.js +2 -0
  303. package/navigation/sidebar-nav/index.js.map +1 -0
  304. package/navigation/sidebar-nav/sidebar-nav.module.css +270 -0
  305. package/navigation/table-of-contents/TableOfContents.d.ts +92 -0
  306. package/navigation/table-of-contents/TableOfContents.d.ts.map +1 -0
  307. package/navigation/table-of-contents/TableOfContents.js +211 -0
  308. package/navigation/table-of-contents/TableOfContents.js.map +1 -0
  309. package/navigation/table-of-contents/index.d.ts +3 -0
  310. package/navigation/table-of-contents/index.d.ts.map +1 -0
  311. package/navigation/table-of-contents/index.js +3 -0
  312. package/navigation/table-of-contents/index.js.map +1 -0
  313. package/navigation/table-of-contents/table-of-contents.module.css +322 -0
  314. package/navigation/table-of-contents/useActiveHeading.d.ts +37 -0
  315. package/navigation/table-of-contents/useActiveHeading.d.ts.map +1 -0
  316. package/navigation/table-of-contents/useActiveHeading.js +111 -0
  317. package/navigation/table-of-contents/useActiveHeading.js.map +1 -0
  318. package/navigation/tabs/Tabs.d.ts +2 -2
  319. package/navigation/tabs/Tabs.js +3 -3
  320. package/navigation/tabs/tabs.module.css +22 -19
  321. package/navigation/toolbar/Toolbar.d.ts +7 -1
  322. package/navigation/toolbar/Toolbar.d.ts.map +1 -1
  323. package/navigation/toolbar/Toolbar.js +3 -3
  324. package/navigation/toolbar/Toolbar.js.map +1 -1
  325. package/navigation/toolbar/toolbar.module.css +6 -6
  326. package/overlays/alert-dialog/AlertDialog.d.ts +14 -4
  327. package/overlays/alert-dialog/AlertDialog.d.ts.map +1 -1
  328. package/overlays/alert-dialog/AlertDialog.js +15 -5
  329. package/overlays/alert-dialog/AlertDialog.js.map +1 -1
  330. package/overlays/alert-dialog/alert-dialog.module.css +4 -4
  331. package/overlays/context-menu/ContextMenu.d.ts +1 -1
  332. package/overlays/context-menu/ContextMenu.js +1 -1
  333. package/overlays/dialog/Dialog.d.ts +26 -11
  334. package/overlays/dialog/Dialog.d.ts.map +1 -1
  335. package/overlays/dialog/Dialog.js +36 -17
  336. package/overlays/dialog/Dialog.js.map +1 -1
  337. package/overlays/dialog/dialog.module.css +32 -31
  338. package/overlays/dialog/morph.d.ts +17 -0
  339. package/overlays/dialog/morph.d.ts.map +1 -0
  340. package/overlays/dialog/morph.js +44 -0
  341. package/overlays/dialog/morph.js.map +1 -0
  342. package/overlays/menu/Menu.d.ts +18 -7
  343. package/overlays/menu/Menu.d.ts.map +1 -1
  344. package/overlays/menu/Menu.js +35 -12
  345. package/overlays/menu/Menu.js.map +1 -1
  346. package/overlays/menu/menu.module.css +26 -50
  347. package/overlays/menu/morph.d.ts +16 -0
  348. package/overlays/menu/morph.d.ts.map +1 -0
  349. package/overlays/menu/morph.js +36 -0
  350. package/overlays/menu/morph.js.map +1 -0
  351. package/overlays/menu/popup.d.ts +2 -0
  352. package/overlays/menu/popup.d.ts.map +1 -1
  353. package/overlays/menu/popup.js +11 -3
  354. package/overlays/menu/popup.js.map +1 -1
  355. package/overlays/menubar/Menubar.d.ts +10 -1
  356. package/overlays/menubar/Menubar.d.ts.map +1 -1
  357. package/overlays/menubar/Menubar.js +22 -12
  358. package/overlays/menubar/Menubar.js.map +1 -1
  359. package/overlays/menubar/menubar.module.css +13 -13
  360. package/overlays/popover/Popover.d.ts +22 -8
  361. package/overlays/popover/Popover.d.ts.map +1 -1
  362. package/overlays/popover/Popover.js +51 -16
  363. package/overlays/popover/Popover.js.map +1 -1
  364. package/overlays/popover/popover.module.css +73 -47
  365. package/overlays/preview-card/PreviewCard.d.ts +3 -3
  366. package/overlays/preview-card/PreviewCard.d.ts.map +1 -1
  367. package/overlays/preview-card/PreviewCard.js +5 -6
  368. package/overlays/preview-card/PreviewCard.js.map +1 -1
  369. package/overlays/preview-card/preview-card.module.css +19 -54
  370. package/overlays/search-dialog/SearchDialog.d.ts +89 -0
  371. package/overlays/search-dialog/SearchDialog.d.ts.map +1 -0
  372. package/overlays/search-dialog/SearchDialog.js +220 -0
  373. package/overlays/search-dialog/SearchDialog.js.map +1 -0
  374. package/overlays/search-dialog/SearchDialogPopup.d.ts +39 -0
  375. package/overlays/search-dialog/SearchDialogPopup.d.ts.map +1 -0
  376. package/overlays/search-dialog/SearchDialogPopup.js +80 -0
  377. package/overlays/search-dialog/SearchDialogPopup.js.map +1 -0
  378. package/overlays/search-dialog/SearchDialogTrigger.d.ts +24 -0
  379. package/overlays/search-dialog/SearchDialogTrigger.d.ts.map +1 -0
  380. package/overlays/search-dialog/SearchDialogTrigger.js +32 -0
  381. package/overlays/search-dialog/SearchDialogTrigger.js.map +1 -0
  382. package/overlays/search-dialog/index.d.ts +3 -0
  383. package/overlays/search-dialog/index.d.ts.map +1 -0
  384. package/overlays/search-dialog/index.js +3 -0
  385. package/overlays/search-dialog/index.js.map +1 -0
  386. package/overlays/search-dialog/search-dialog.module.css +492 -0
  387. package/overlays/search-dialog/useShortcutLabel.d.ts +13 -0
  388. package/overlays/search-dialog/useShortcutLabel.d.ts.map +1 -0
  389. package/overlays/search-dialog/useShortcutLabel.js +19 -0
  390. package/overlays/search-dialog/useShortcutLabel.js.map +1 -0
  391. package/overlays/search-dialog/variants.d.ts +25 -0
  392. package/overlays/search-dialog/variants.d.ts.map +1 -0
  393. package/overlays/search-dialog/variants.js +31 -0
  394. package/overlays/search-dialog/variants.js.map +1 -0
  395. package/overlays/tooltip/Tooltip.d.ts +3 -3
  396. package/overlays/tooltip/Tooltip.d.ts.map +1 -1
  397. package/overlays/tooltip/Tooltip.js +3 -3
  398. package/overlays/tooltip/Tooltip.js.map +1 -1
  399. package/overlays/tooltip/tooltip.module.css +2 -2
  400. package/package.json +27 -19
  401. package/page/announcement-bar/AnnouncementBar.d.ts +1 -1
  402. package/page/announcement-bar/AnnouncementBar.js +4 -4
  403. package/page/announcement-bar/AnnouncementBar.js.map +1 -1
  404. package/page/announcement-bar/announcement-bar.module.css +11 -17
  405. package/page/cta-block/CTABlock.d.ts +5 -5
  406. package/page/cta-block/CTABlock.d.ts.map +1 -1
  407. package/page/cta-block/CTABlock.js +2 -2
  408. package/page/cta-block/cta-block.module.css +26 -26
  409. package/page/docs-layout/DocsLayout.d.ts +83 -0
  410. package/page/docs-layout/DocsLayout.d.ts.map +1 -0
  411. package/page/docs-layout/DocsLayout.js +108 -0
  412. package/page/docs-layout/DocsLayout.js.map +1 -0
  413. package/page/docs-layout/docs-layout.module.css +266 -0
  414. package/page/docs-layout/index.d.ts +2 -0
  415. package/page/docs-layout/index.d.ts.map +1 -0
  416. package/page/docs-layout/index.js +2 -0
  417. package/page/docs-layout/index.js.map +1 -0
  418. package/page/footer/Footer.d.ts +1 -1
  419. package/page/footer/Footer.js +1 -1
  420. package/page/footer/footer.module.css +31 -31
  421. package/page/hero/Hero.d.ts +3 -3
  422. package/page/hero/Hero.d.ts.map +1 -1
  423. package/page/hero/Hero.js +1 -1
  424. package/page/hero/hero.module.css +36 -36
  425. package/page/marquee/Marquee.d.ts +2 -2
  426. package/page/marquee/Marquee.js +1 -1
  427. package/page/marquee/marquee.module.css +11 -11
  428. package/page/newsletter/Newsletter.d.ts.map +1 -1
  429. package/page/newsletter/Newsletter.js +4 -59
  430. package/page/newsletter/Newsletter.js.map +1 -1
  431. package/page/newsletter/newsletter.module.css +44 -22
  432. package/page/section-bar/SectionBar.d.ts +10 -3
  433. package/page/section-bar/SectionBar.d.ts.map +1 -1
  434. package/page/section-bar/SectionBar.js +21 -11
  435. package/page/section-bar/SectionBar.js.map +1 -1
  436. package/page/section-bar/section-bar.module.css +43 -46
  437. package/page/section-divider/SectionDivider.d.ts +2 -2
  438. package/page/section-divider/SectionDivider.js +4 -4
  439. package/page/section-divider/SectionDivider.js.map +1 -1
  440. package/page/section-divider/section-divider.module.css +18 -18
  441. package/page/section-header/SectionHeader.d.ts +7 -7
  442. package/page/section-header/SectionHeader.d.ts.map +1 -1
  443. package/page/section-header/SectionHeader.js +3 -3
  444. package/page/section-header/SectionHeader.js.map +1 -1
  445. package/page/section-header/section-header.module.css +16 -16
  446. package/utils/Ornament.d.ts +1 -1
  447. package/utils/Ornament.js +2 -2
  448. package/utils/assignRef.d.ts +7 -1
  449. package/utils/assignRef.d.ts.map +1 -1
  450. package/utils/assignRef.js +18 -0
  451. package/utils/assignRef.js.map +1 -1
  452. package/utils/docs/DemoTitle.d.ts +12 -0
  453. package/utils/docs/DemoTitle.d.ts.map +1 -0
  454. package/utils/docs/DemoTitle.js +11 -0
  455. package/utils/docs/DemoTitle.js.map +1 -0
  456. package/utils/docs/Pre.d.ts +39 -0
  457. package/utils/docs/Pre.d.ts.map +1 -0
  458. package/utils/docs/Pre.js +26 -0
  459. package/utils/docs/Pre.js.map +1 -0
  460. package/utils/docs/createDemo.d.ts +89 -0
  461. package/utils/docs/createDemo.d.ts.map +1 -0
  462. package/utils/docs/createDemo.js +51 -0
  463. package/utils/docs/createDemo.js.map +1 -0
  464. package/utils/docs/createMdxComponents.d.ts +52 -0
  465. package/utils/docs/createMdxComponents.d.ts.map +1 -0
  466. package/utils/docs/createMdxComponents.js +59 -0
  467. package/utils/docs/createMdxComponents.js.map +1 -0
  468. package/utils/docs/createTypes.d.ts +23 -0
  469. package/utils/docs/createTypes.d.ts.map +1 -0
  470. package/utils/docs/createTypes.js +27 -0
  471. package/utils/docs/createTypes.js.map +1 -0
  472. package/utils/docs/index.d.ts +8 -0
  473. package/utils/docs/index.d.ts.map +1 -0
  474. package/utils/docs/index.js +16 -0
  475. package/utils/docs/index.js.map +1 -0
  476. package/utils/docs/mdx.module.css +201 -0
  477. package/utils/docs/serverSourceEnhancers.d.ts +26 -0
  478. package/utils/docs/serverSourceEnhancers.d.ts.map +1 -0
  479. package/utils/docs/serverSourceEnhancers.js +32 -0
  480. package/utils/docs/serverSourceEnhancers.js.map +1 -0
  481. package/utils/docs/toSidebarItems.d.ts +23 -0
  482. package/utils/docs/toSidebarItems.d.ts.map +1 -0
  483. package/utils/docs/toSidebarItems.js +36 -0
  484. package/utils/docs/toSidebarItems.js.map +1 -0
  485. package/utils/font-fallbacks.css +176 -0
  486. package/utils/fonts.d.ts +1 -0
  487. package/utils/fonts.d.ts.map +1 -1
  488. package/utils/fonts.js +12 -0
  489. package/utils/fonts.js.map +1 -1
  490. package/utils/frame.d.ts +4 -0
  491. package/utils/frame.d.ts.map +1 -0
  492. package/utils/frame.js +11 -0
  493. package/utils/frame.js.map +1 -0
  494. package/utils/global.css +480 -266
  495. package/utils/line.module.css +17 -17
  496. package/utils/media.css +1 -1
  497. package/utils/ornament.module.css +19 -19
  498. package/utils/overlay.d.ts +4 -4
  499. package/utils/overlay.js +4 -4
  500. package/utils/pattern.module.css +45 -45
  501. package/utils/print.css +48 -34
  502. package/utils/reset.css +9 -2
  503. package/utils/roles.css +29 -29
  504. package/utils/seriesPatterns.js +3 -3
  505. package/utils/syntax.module.css +92 -0
  506. package/utils/theme.css +6 -6
  507. package/utils/tokens.css +262 -192
  508. package/utils/tokens.d.ts +51 -8
  509. package/utils/tokens.d.ts.map +1 -1
  510. package/utils/tokens.js +46 -9
  511. package/utils/tokens.js.map +1 -1
  512. package/utils/type.module.css +87 -87
  513. package/utils/useReleaseMark.d.ts +13 -0
  514. package/utils/useReleaseMark.d.ts.map +1 -0
  515. package/utils/useReleaseMark.js +44 -0
  516. package/utils/useReleaseMark.js.map +1 -0
  517. package/utils/view-transitions.css +122 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Connor Davis
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/Readme.md CHANGED
@@ -2,34 +2,15 @@
2
2
 
3
3
  <!-- fg:version -->
4
4
 
5
- Version **0.1.0-alpha.0**
5
+ Version **0.1.0-alpha.2**
6
6
 
7
7
  <!-- /fg:version -->
8
8
 
9
- <!-- fg:releasing -->
10
-
11
- ## Releasing
12
-
13
- This module releases on its own. `0.1.0-alpha.0` is what main is working towards,
14
- not what is published — the version here is always the next one.
15
-
16
- 1. **Publish it.** Run the *Publish* workflow from the Actions tab, picking the
17
- dist tag. It refuses if that version is already on npm.
18
- 2. **Move it on.** `pnpm release` — opens a pull request bumping this branch
19
- to `0.1.0-alpha.1`, or `pnpm release --id rc` to change
20
- identifier. A prerelease gets no maintenance branch; there is no released
21
- line behind it yet.
22
-
23
- Every push to main publishes `@fairgarden/design@canary`. A canary is not a release and
24
- carries no promise; it is there so main can be tried without a checkout.
25
-
26
- <!-- /fg:releasing -->
27
-
28
9
  ## Stack
29
10
 
30
11
  - **React 19** and **Base UI** (`@base-ui/react`, a peer dependency): unstyled, accessible primitives under every interactive component.
31
12
  - **CSS Modules plus CVA** (`class-variance-authority`): one module per component, one class per variant value, typed variant axes, all in cascade layers (`reset, tokens, theme, roles, base, variants, compounds, scales, states, print`).
32
- - **Open Props** for the non-color tokens, plus the system's own `--ds-*` extensions. Text sizes are in rem, spacing in px.
13
+ - **Open Props** for the non-color tokens. A step the system adds between two Open Props steps is named by its position (`--size-px-2-5` sits halfway between `--size-px-2` and `--size-px-3`); every other FairGarden-only token takes `--fgd-*`. Text sizes are in rem, spacing in px.
33
14
  - **Radix Colors**: the 31 standard scales as one unified `--{scale}{step}` set (no alpha scales). Light and dark swap the values, never the names: `data-theme="light|dark"` on `html` forces a mode, otherwise the OS `prefers-color-scheme` decides. Components read only scale steps and role variables (`--primary1…12`, `--secondary1…12`, `--role-*`) and never see the mode. Every component takes `primary` and `secondary` scale props; grounds (`Ground`: 8 page grounds, the `night` band, 7 fields) set them for a region.
34
15
  - **Material Symbols** (Rounded, FILL 0 by default) compiled to inline SVG paths by `scripts/build-icons.js`; no icon font.
35
16
  - **Recharts** for charts (SVG, role colors, opaque fills, pattern defs, no animation unless motion is allowed).
@@ -43,6 +24,8 @@ carries no promise; it is there so main can be tried without a checkout.
43
24
  pnpm add @fairgarden/design @base-ui/react
44
25
  # only for Map:
45
26
  pnpm add maplibre-gl pmtiles @protomaps/basemaps
27
+ # only for Code Block, Demo, Types Table, Search Dialog and utils/docs:
28
+ pnpm add @fairgarden/docs@^0.13.4-canary.18
46
29
  ```
47
30
 
48
31
  ```tsx
@@ -65,18 +48,32 @@ Each component is imported from its own path, `@fairgarden/design/<category>/<na
65
48
 
66
49
  | Category | Components (import path `@fairgarden/design/<category>/…`) |
67
50
  | --- | --- |
68
- | `foundations` | Ground (`ground`), Icon (`icon`), Separator (`separator`), Sticker (`sticker`) |
51
+ | `foundations` | Ground (`ground`), Icon (`icon`), Separator (`separator`), Sticker (`sticker`), Expanding Box (`expanding-box`) |
69
52
  | `actions` | Button (`button`), Link (`link`), Toggle (`toggle`), Toggle Group (`toggle-group`), Chip (`chip`) |
70
- | `navigation` | Navigation Menu (`navigation-menu`), Navigation Bar (`navigation-bar`), Nav Drawer (`nav-drawer`), Breadcrumb (`breadcrumb`), Pagination (`pagination`), Tabs (`tabs`), Toolbar (`toolbar`) |
53
+ | `navigation` | Navigation Menu (`navigation-menu`), Navigation Bar (`navigation-bar`), Nav Drawer (`nav-drawer`), Breadcrumb (`breadcrumb`), Pagination (`pagination`), Tabs (`tabs`), File Tabs (`file-tabs`: the folder-tab header Code Block and Demo use, with optional `controls` at its end and a busy `status`; no docs engine needed), Toolbar (`toolbar`), Sidebar Nav (`sidebar-nav`: the docs page tree, from plain data, in the Docs Layout's column and drawer), Table of Contents (`table-of-contents`: "On this page" as a list, or with `kind="bar"` the compact bar that names the section in view and opens the list; with the `useActiveHeading` scrollspy hook) |
71
54
  | `forms` | Field (`field`), Fieldset (`fieldset`), Form (`form`), Input (`input`), Number Field (`number-field`), Select (`select`), Combobox (`combobox`), Autocomplete (`autocomplete`), Search (`search`), Checkbox (`checkbox`), Checkbox Group (`checkbox-group`), Radio (`radio`), Radio Group (`radio-group`), Switch (`switch`), Slider (`slider`) |
72
55
  | `feedback` | Alert (`alert`), Badge (`badge`), Tag (`tag`), Avatar (`avatar`), Progress (`progress`), Meter (`meter`), Toast (`toast`) |
73
- | `overlays` | Dialog (`dialog`), Alert Dialog (`alert-dialog`), Popover (`popover`), Preview Card (`preview-card`), Menu (`menu`), Context Menu (`context-menu`), Menubar (`menubar`), Tooltip (`tooltip`) |
56
+ | `overlays` | Dialog (`dialog`), Alert Dialog (`alert-dialog`), Popover (`popover`), Preview Card (`preview-card`), Menu (`menu`), Context Menu (`context-menu`), Menubar (`menubar`), Tooltip (`tooltip`), Search Dialog (`search-dialog`) |
74
57
  | `disclosure` | Accordion (`accordion`), Collapsible (`collapsible`), FAQ (`faq`) |
75
- | `page` | Hero (`hero`), Footer (`footer`), Section Bar (`section-bar`), Section Divider (`section-divider`), Section Header (`section-header`), CTA Block (`cta-block`), Newsletter (`newsletter`), Marquee (`marquee`), Announcement Bar (`announcement-bar`) |
76
- | `content` | Card (`card`), Card Grid (`card-grid`), Feature Grid (`feature-grid`), Carousel (`carousel`), Quote (`quote`), Index Rows (`index-rows`), Profile (`profile`), Pricing (`pricing`), Timeline (`timeline`), Empty State (`empty-state`) |
58
+ | `page` | Hero (`hero`), Footer (`footer`), Section Bar (`section-bar`), Section Divider (`section-divider`), Section Header (`section-header`), CTA Block (`cta-block`), Newsletter (`newsletter`), Marquee (`marquee`), Announcement Bar (`announcement-bar`), Docs Layout (`docs-layout`: the documentation frame, with a sidebar from 1024 px, a drawer below it, and a contents column from 1440 px, the contents bar sticky under the header below it) |
59
+ | `content` | Card (`card`), Card Grid (`card-grid`), Feature Grid (`feature-grid`), Carousel (`carousel`), Quote (`quote`), Index Rows (`index-rows`), Profile (`profile`), Pricing (`pricing`), Timeline (`timeline`), Empty State (`empty-state`), Code Block (`code-block`), Demo (`demo`), Types Table (`types-table`) |
77
60
  | `data` | Table (`table`), Scroll Area (`scroll-area`), Spec Grid (`spec-grid`), Spec List (`spec-list`), Spec Sheet (`spec-sheet`), Figure (`figure`), Stat (`stat`), Chart (`chart`), Map (`map`) |
78
61
 
79
- **Utilities** (`@fairgarden/design/utils/…`): the global stylesheet (`global.css`), the fonts (`fonts`), `ClientProvider`, the pattern tiles (`pattern.module.css`), the type roles (`type.module.css`), the line styles (`line.module.css`), ornaments (`Ornament`) and the navigation data type (`navigation`).
62
+ ### With `@fairgarden/docs`
63
+
64
+ `@fairgarden/docs` is an optional peer dependency (`^0.13.4-canary.18`, the `canary` release; `latest` is still 0.13.3, outside the range). Four components and one utility are built on the docs engine and import it directly; no other module does, so install it only if you use them:
65
+
66
+ | Import path | Exports |
67
+ | --- | --- |
68
+ | `@fairgarden/design/content/code-block` | `CodeBlock`: a Content component for `CodeHighlighter`. It calls `useCode(props)` and renders the engine's highlighted files, variants, TS \| JS transform, copy, swap and window. `CodeBlockLazy` is the same in its own chunk, and `CodeBlockLoading` its light loading state (the precomputed fallback in the same frame). Copies confirm with a toast through a `ToastProvider` (`feedback/toast`) in the app shell; without one they're silent. |
69
+ | `@fairgarden/design/content/demo` | `DemoContent`: the demo factories' content. It calls `useDemo(props)` and renders the live component above the Code Block's code section. `DemoLazy` and `DemoLoading` as above; `renderPreview` wraps the preview (an iframe, say). |
70
+ | `@fairgarden/design/content/types-table` | `TypesTable` and `TypePre`: the types factories' API table (through `useTypes`) and type signatures. |
71
+ | `@fairgarden/design/overlays/search-dialog` | `SearchDialog`: the header search. It calls `useSearch` over your `sitemap` loader and renders the engine's results; a chosen row calls `onNavigate(href, result)` with `buildResultUrl(result)`, so pass your router: `<SearchDialog sitemap={() => import('./sitemap')} onNavigate={(href) => router.push(href)} keyboardShortcut />`. |
72
+ | `@fairgarden/design/utils/docs` | `createDemo`, `createDemoWithVariants`, `createTypes`, `createMultipleTypes` (the engine's factories pre-wired with the components above; `createDemoFactory`, `createDemoWithVariantsFactory`, `createTypesFactory` and `createMultipleTypesFactory` take overrides) and `createMdxComponents({ Link, Image, components, … })` (the MDX map: fenced blocks as Code Blocks, headings, links, prose). `toSidebarItems(sitemap)` maps the engine's sitemap to the Sidebar Nav's page tree. Each also has its own path: `…/utils/docs/createDemo`, `…/createTypes`, `…/createMdxComponents`, `…/toSidebarItems`. |
73
+
74
+ None of them contains framework code: pass navigation in (`onNavigate`, `Link`). Put the engine's `CodeProviderLazy` (`@fairgarden/docs/CodeProvider`) in your root layout, so code the browser produces is highlighted too.
75
+
76
+ **Utilities** (`@fairgarden/design/utils/…`): the global stylesheet (`global.css`), the fonts (`fonts`), `ClientProvider`, the pattern tiles (`pattern.module.css`), the type roles (`type.module.css`), the syntax tiers for code outside a Code Block (`syntax.module.css`), the line styles (`line.module.css`), ornaments (`Ornament`), the navigation data type (`navigation`) and the docs factories (`docs`, above).
80
77
 
81
78
  ## Development
82
79
 
@@ -86,3 +83,30 @@ Each component is imported from its own path, `@fairgarden/design/<category>/<na
86
83
  - Documentation site in `docs/` (`@fairgarden/design-docs`, port 3032): `pnpm --filter @fairgarden/design-docs dev`. It compiles `src/` directly through tsconfig paths, with one section per category (`docs/app/<category>/<name>/`). After changing a component's props or adding a page, run `pnpm validate` in `docs/` to regenerate the `types.md` files and the section indexes.
87
84
 
88
85
  Install dependencies from the monorepo root only. The full specification lives outside this repository (`DESIGN-SYSTEM.md`).
86
+
87
+ <!-- fg:releasing -->
88
+
89
+ ## Releasing
90
+
91
+ This module releases on its own. `0.1.0-alpha.2` is what main is working towards,
92
+ not what is published — the version here is always the next one. Its release
93
+ notes are the top section of `CHANGELOG.md`, where every pull request adds a
94
+ line linking itself.
95
+
96
+ 1. **Publish it.** Run the *Publish* workflow from the Actions tab, picking the
97
+ dist tag. It refuses if that version is already on npm. Once it is out, open
98
+ pull requests are held — their changelog check fails — so nothing is noted
99
+ under a version that has already shipped.
100
+ 2. **Start the next version.** `pnpm next-version` opens a pull request moving
101
+ main to `0.1.0-alpha.3` and starting its section of the
102
+ changelog, or `pnpm next-version --id rc` to change identifier. Merging it
103
+ lifts the hold. A prerelease gets no maintenance branch; there is no
104
+ released line behind it yet.
105
+
106
+ A held pull request goes on once it is brought up to date with main and its
107
+ line is moved into the new version's section.
108
+
109
+ Every push to main publishes `@fairgarden/design@canary`. A canary is not a release and
110
+ carries no promise; it is there so main can be tried without a checkout.
111
+
112
+ <!-- /fg:releasing -->
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/actions/button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAWtE;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;;;;;;8EA4CjB,CAAA;AAEF,KAAK,cAAc,GAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;AAEjD,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;AAIhF,KAAK,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG;IAC1D;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAA;IAC3C;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IACvC,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAEH,KAAK,mBAAmB,GAAG;IACzB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACvB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,kEAAkE;IAClE,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB;;;OAGG;IACH,QAAQ,EAAE,IAAI,CAAA;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5C,yBAAyB;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,4EAA4E;IAC5E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,iBAAiB,GACzC,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,CAAA;AAE7C;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,qBAwHxC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/actions/button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAYtE;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;;;;;;8EA4CjB,CAAA;AAEF,KAAK,cAAc,GAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;AAEjD,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;AAMhF,KAAK,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG;IAC1D;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAA;IAC3C;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IACvC,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAEH,KAAK,mBAAmB,GAAG;IACzB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACvB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,kEAAkE;IAClE,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB;;;OAGG;IACH,QAAQ,EAAE,IAAI,CAAA;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5C,yBAAyB;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,4EAA4E;IAC5E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,iBAAiB,GACzC,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,CAAA;AAE7C;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,qBAsIxC"}
@@ -7,6 +7,7 @@ import { assignRef } from '../../utils/assignRef';
7
7
  import { cx, resolveClassName } from '../../utils/className';
8
8
  import { primaryScaleVariants, secondaryScaleVariants, } from '../../utils/scales';
9
9
  import { useScopeAttributes } from '../../utils/scope';
10
+ import { useReleaseMark } from '../../utils/useReleaseMark';
10
11
  import styles from './button.module.css';
11
12
  /**
12
13
  * Button classes (§9.2, §1.11.10). `primary` and `secondary` are never
@@ -98,6 +99,17 @@ export function Button(props) {
98
99
  node.style.removeProperty('--button-rest-width');
99
100
  };
100
101
  }, [busy]);
102
+ // A `solid` press swaps fill and ink as a pair; the release mark lets the
103
+ // module step the release too, never fading one over the other [D205].
104
+ const releaseMark = useReleaseMark(element);
105
+ const handlePointerDown = (event) => {
106
+ releaseMark.onPointerDown();
107
+ rest.onPointerDown?.(event);
108
+ };
109
+ const handleKeyUp = (event) => {
110
+ releaseMark.onKeyUp(event);
111
+ rest.onKeyUp?.(event);
112
+ };
101
113
  const handleClick = (event) => {
102
114
  if (busy) {
103
115
  event.preventDefault();
@@ -128,7 +140,7 @@ export function Button(props) {
128
140
  const label = children == null ? null : React.createElement("span", { className: styles.label }, children);
129
141
  const edge = disabled && variant !== 'text' ? (React.createElement("svg", { className: styles.edge, "aria-hidden": "true", focusable: "false" },
130
142
  React.createElement("rect", { className: styles.edgeLine, width: "100%", height: "100%" }))) : null;
131
- return (React.createElement(BaseButton, { ...rest, ...linkSemantics, ...scope, ref: setRef, disabled: disabled, className: resolvedClassName, onClick: handleClick },
143
+ return (React.createElement(BaseButton, { ...rest, ...linkSemantics, ...scope, ref: setRef, disabled: disabled, className: resolvedClassName, onClick: handleClick, onPointerDown: handlePointerDown, onKeyUp: handleKeyUp },
132
144
  iconPosition === 'end' ? label : glyph,
133
145
  iconPosition === 'end' ? glyph : label,
134
146
  edge));
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/actions/button/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/actions/button/Button.tsx"],"names":[],"mappings":"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"}
@@ -38,21 +38,21 @@
38
38
  appearance: none;
39
39
  }
40
40
 
41
- /* Every target reaches --ds-size-hit; a smaller control extends it invisibly (§9.1) [D43]. */
41
+ /* Every target reaches --fgd-size-hit; a smaller control extends it invisibly (§9.1) [D43]. */
42
42
  .base::after {
43
43
  content: '';
44
44
  position: absolute;
45
45
  top: 50%;
46
46
  left: 50%;
47
- inline-size: var(--ds-size-hit);
48
- block-size: var(--ds-size-hit);
47
+ inline-size: var(--fgd-size-hit);
48
+ block-size: var(--fgd-size-hit);
49
49
  min-inline-size: 100%;
50
50
  min-block-size: 100%;
51
51
  translate: -50% -50%;
52
52
  }
53
53
 
54
54
  .label {
55
- text-decoration-thickness: var(--ds-stroke-1-5);
55
+ text-decoration-thickness: var(--border-size-1-5);
56
56
  text-underline-offset: 0.15em;
57
57
  }
58
58
 
@@ -64,10 +64,10 @@
64
64
  .edge {
65
65
  display: none;
66
66
  position: absolute;
67
- inset-block-start: calc(var(--ds-dot-fine) / 2);
68
- inset-inline-start: calc(var(--ds-dot-fine) / 2);
69
- inline-size: calc(100% - var(--ds-dot-fine));
70
- block-size: calc(100% - var(--ds-dot-fine));
67
+ inset-block-start: calc(var(--fgd-dot-fine) / 2);
68
+ inset-inline-start: calc(var(--fgd-dot-fine) / 2);
69
+ inline-size: calc(100% - var(--fgd-dot-fine));
70
+ block-size: calc(100% - var(--fgd-dot-fine));
71
71
  overflow: visible;
72
72
  pointer-events: none;
73
73
  }
@@ -75,7 +75,7 @@
75
75
  .edgeLine {
76
76
  fill: none;
77
77
  stroke: var(--role-disabled-edge);
78
- rx: calc(var(--button-edge-radius) - var(--ds-dot-fine) / 2);
78
+ rx: calc(var(--button-edge-radius) - var(--fgd-dot-fine) / 2);
79
79
  }
80
80
 
81
81
  @media (forced-colors: active) {
@@ -84,14 +84,45 @@
84
84
  }
85
85
  }
86
86
 
87
- /* Hover and press transitions [D181]: --ds-duration-quick, --ease-out-3; instant under --motionNotOK. */
87
+ /*
88
+ * Hover and press transitions [D181]: --fgd-duration-quick, --ease-out-3;
89
+ * instant under --motionNotOK. Only opaque-to-opaque changes fade [D205]:
90
+ * ink, edge and underline colors everywhere, and the fill of `solid`,
91
+ * which is opaque at rest, on hover and pressed. An `outline` or media
92
+ * Button's fill and ink change only together, as the inverse pair on
93
+ * press (the outline's fill from none), so both step at once.
94
+ */
88
95
  @media (prefers-reduced-motion: no-preference) {
89
96
  .base,
90
97
  .label {
91
- transition-property: color, background-color, border-color, text-decoration-color;
92
- transition-duration: var(--ds-duration-quick);
98
+ transition-property: color, border-color, text-decoration-color;
99
+ transition-duration: var(--fgd-duration-quick);
93
100
  transition-timing-function: var(--ease-out-3);
94
101
  }
102
+
103
+ .solid {
104
+ transition-property: color, background-color, border-color, text-decoration-color;
105
+ }
106
+
107
+ /*
108
+ * A `solid` press swaps fill and ink as the inverse pair, so the press
109
+ * and its release (marked `data-released` for two frames, since both a
110
+ * release and a hover-in end on :hover) step both at once: no frame shows
111
+ * the ink over a fill of its own tone. Hover in and out still fade.
112
+ */
113
+ .solid:active,
114
+ .solid:active .label,
115
+ .solid[data-released],
116
+ .solid[data-released] .label {
117
+ transition-property: border-color, text-decoration-color;
118
+ }
119
+
120
+ .outline,
121
+ .outline .label,
122
+ .onMedia,
123
+ .onMedia .label {
124
+ transition-property: border-color, text-decoration-color;
125
+ }
95
126
  }
96
127
  }
97
128
 
@@ -118,7 +149,7 @@
118
149
  }
119
150
 
120
151
  .md {
121
- --button-height: var(--ds-size-control-md);
152
+ --button-height: var(--fgd-size-control-md);
122
153
  }
123
154
 
124
155
  .lg {
@@ -126,7 +157,7 @@
126
157
  }
127
158
 
128
159
  .xl {
129
- --button-height: var(--ds-size-control-xl);
160
+ --button-height: var(--fgd-size-control-xl);
130
161
  }
131
162
 
132
163
  /*
@@ -182,8 +213,12 @@
182
213
  block-size: var(--button-height);
183
214
  }
184
215
 
216
+ /* Visually hidden at 1 px (as Toggle's), so a long name never widens the page's scrollable area. */
185
217
  .iconOnly .label {
186
218
  position: absolute;
219
+ inline-size: var(--border-size-1);
220
+ block-size: var(--border-size-1);
221
+ margin: calc(var(--border-size-1) * -1);
187
222
  overflow: hidden;
188
223
  clip-path: inset(50%);
189
224
  white-space: nowrap;
@@ -200,12 +235,12 @@
200
235
  color: var(--primary12);
201
236
  }
202
237
 
203
- /* Butted to a field (§10.3): --radius-1 outside, --ds-radius-none at the seam. */
238
+ /* Butted to a field (§10.3): --radius-1 outside, --radius-0 at the seam. */
204
239
  .buttedStart {
205
240
  --button-edge-radius: var(--radius-1);
206
241
 
207
- border-start-start-radius: var(--ds-radius-none);
208
- border-end-start-radius: var(--ds-radius-none);
242
+ border-start-start-radius: var(--radius-0);
243
+ border-end-start-radius: var(--radius-0);
209
244
  border-start-end-radius: var(--radius-1);
210
245
  border-end-end-radius: var(--radius-1);
211
246
  }
@@ -215,8 +250,8 @@
215
250
 
216
251
  border-start-start-radius: var(--radius-1);
217
252
  border-end-start-radius: var(--radius-1);
218
- border-start-end-radius: var(--ds-radius-none);
219
- border-end-end-radius: var(--ds-radius-none);
253
+ border-start-end-radius: var(--radius-0);
254
+ border-end-end-radius: var(--radius-0);
220
255
  }
221
256
  }
222
257
 
@@ -273,9 +308,9 @@
273
308
  * label and edge unchanged, no underline;
274
309
  * - outline: a --primary3 fill (--role-soft-hover); where soft fills drop
275
310
  * it stays the ground and the label takes the bare-text underline
276
- * (--ds-soft-hover-line);
311
+ * (--fgd-soft-hover-line);
277
312
  * - text: the label takes --role-link-hover, underlined where that is
278
- * --primary12 (--ds-link-hover-line); the glyph swaps to the next tier's
313
+ * --primary12 (--fgd-link-hover-line); the glyph swaps to the next tier's
279
314
  * weight through Icon weight="interactive" (as on icon-only buttons).
280
315
  */
281
316
  .solid:not([data-disabled], [aria-busy='true']):hover {
@@ -287,7 +322,7 @@
287
322
  }
288
323
 
289
324
  .outline:not([data-disabled], [aria-busy='true']):hover .label {
290
- text-decoration-line: var(--ds-soft-hover-line);
325
+ text-decoration-line: var(--fgd-soft-hover-line);
291
326
  text-decoration-color: var(--role-accent);
292
327
  text-decoration-thickness: var(--border-size-2);
293
328
  text-underline-offset: var(--size-px-1);
@@ -295,7 +330,7 @@
295
330
 
296
331
  .text:not([data-disabled], [aria-busy='true']):hover .label {
297
332
  color: var(--role-link-hover);
298
- text-decoration-line: var(--ds-link-hover-line);
333
+ text-decoration-line: var(--fgd-link-hover-line);
299
334
  text-decoration-color: var(--role-accent);
300
335
  }
301
336
 
@@ -357,10 +392,33 @@
357
392
  text-decoration-thickness: var(--border-size-2);
358
393
  }
359
394
 
360
- /* Focus: 2 px --primary12 ring at a 2 px offset, keyboard only [D45]. */
395
+ /*
396
+ * Focus: 2 px --primary12 ring at the ring offset (--fgd-focus-offset,
397
+ * 2 px), keyboard only [D45]. A text Button has no container, so its ring
398
+ * stands off a padded box as tall as its size's contained Button
399
+ * (--button-height, centred on the words) at that 2 px offset: it sits
400
+ * around the words at the height of the other Buttons' rings, never on the
401
+ * glyphs. It is the ring only, an outline: nothing moves, the hit area and
402
+ * the words stay put. The offset is the local ring token, so the outline
403
+ * morph starts and lands on the same box [D204]. Icon-only text Buttons
404
+ * keep the circle's own ring.
405
+ */
406
+ .text:not(.iconOnly) {
407
+ /* Whole pixels, as the browser draws an outline offset. */
408
+ --fgd-focus-offset: max(
409
+ var(--border-size-2),
410
+ round(down, calc((var(--button-height) - 1lh) / 2 + var(--border-size-2)), 1px)
411
+ );
412
+ }
413
+
414
+ /* In running text the ring keeps to the line: --size-px-1 around the words, so it barely reaches the lines above and below. */
415
+ :where(p, li, dd, dt, blockquote, figcaption, td, th) > .text:not(.iconOnly) {
416
+ --fgd-focus-offset: var(--size-px-1);
417
+ }
418
+
361
419
  .base:focus-visible {
362
420
  outline: var(--border-size-2) solid var(--primary12);
363
- outline-offset: var(--border-size-2);
421
+ outline-offset: var(--fgd-focus-offset);
364
422
  }
365
423
 
366
424
  /*
@@ -373,6 +431,8 @@
373
431
  border-style: none;
374
432
  background: none;
375
433
  color: var(--role-muted);
434
+ /* The fill goes to none, so it steps [D205]. */
435
+ transition-property: color, border-color, text-decoration-color;
376
436
  }
377
437
 
378
438
  .base[data-disabled] .edge {
@@ -49,9 +49,9 @@ export type ChipProps = Omit<useRender.ComponentProps<'span'>, 'children'> & {
49
49
  secondary?: ChipVariants['secondary'];
50
50
  };
51
51
  /**
52
- * A removable chip: `--size-px-7` tall, a `--ds-stroke-1-5` `--role-rule`
52
+ * A removable chip: `--size-px-7` tall, a `--border-size-1-5` `--role-rule`
53
53
  * edge, the label in `type-body-ui` and the × (`close`, inline tier) in a
54
- * `--ds-size-hit` target with its own focus ring. It prints as the word.
54
+ * `--fgd-size-hit` target with its own focus ring. It prints as the word.
55
55
  */
56
56
  export declare function Chip(props: ChipProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
57
57
  export {};
@@ -56,9 +56,9 @@ export const chipParts = {
56
56
  edgeLine: styles.edgeLine,
57
57
  };
58
58
  /**
59
- * A removable chip: `--size-px-7` tall, a `--ds-stroke-1-5` `--role-rule`
59
+ * A removable chip: `--size-px-7` tall, a `--border-size-1-5` `--role-rule`
60
60
  * edge, the label in `type-body-ui` and the × (`close`, inline tier) in a
61
- * `--ds-size-hit` target with its own focus ring. It prints as the word.
61
+ * `--fgd-size-hit` target with its own focus ring. It prints as the word.
62
62
  */
63
63
  export function Chip(props) {
64
64
  const { render, ref, className, children, onRemove, removeLabel, removeRender, disabled, primary, secondary, ...rest } = props;
@@ -2,7 +2,7 @@
2
2
  * Chip (§10.11): the removable chip. CVA function `chip`. It matches the
3
3
  * Combobox's chips (combobox.module.css) part for part, so the two read as
4
4
  * one component.
5
- * Color roles (§10.11): edge --role-rule at --ds-stroke-1-5; label and ×
5
+ * Color roles (§10.11): edge --role-rule at --border-size-1-5; label and ×
6
6
  * --primary12; × pressed: the inverse pair; disabled: --role-muted label
7
7
  * and ×, `line-dotted-fine` edge in --role-disabled-edge (--role-rule, or
8
8
  * --primary12 on one-ink grounds [D85]). Colors are role variables only;
@@ -32,7 +32,7 @@
32
32
  max-inline-size: 100%;
33
33
  block-size: var(--chip-height);
34
34
  padding-inline: var(--size-px-3);
35
- border: var(--ds-stroke-1-5) solid var(--role-rule);
35
+ border: var(--border-size-1-5) solid var(--role-rule);
36
36
  border-radius: var(--radius-round);
37
37
  color: var(--primary12);
38
38
  vertical-align: middle;
@@ -50,7 +50,7 @@
50
50
  text-overflow: ellipsis;
51
51
  }
52
52
 
53
- /* The × in its own cell, full chip height, with a --ds-size-hit target. */
53
+ /* The × in its own cell, full chip height, with a --fgd-size-hit target. */
54
54
  .remove {
55
55
  position: relative;
56
56
  flex: none;
@@ -73,8 +73,8 @@
73
73
  position: absolute;
74
74
  inset-block-start: 50%;
75
75
  inset-inline-start: 50%;
76
- inline-size: var(--ds-size-hit);
77
- block-size: var(--ds-size-hit);
76
+ inline-size: var(--fgd-size-hit);
77
+ block-size: var(--fgd-size-hit);
78
78
  translate: -50% -50%;
79
79
  }
80
80
 
@@ -82,10 +82,10 @@
82
82
  .edge {
83
83
  display: none;
84
84
  position: absolute;
85
- inset-block-start: calc(var(--ds-dot-fine) / 2);
86
- inset-inline-start: calc(var(--ds-dot-fine) / 2);
87
- inline-size: calc(100% - var(--ds-dot-fine));
88
- block-size: calc(100% - var(--ds-dot-fine));
85
+ inset-block-start: calc(var(--fgd-dot-fine) / 2);
86
+ inset-inline-start: calc(var(--fgd-dot-fine) / 2);
87
+ inline-size: calc(100% - var(--fgd-dot-fine));
88
+ block-size: calc(100% - var(--fgd-dot-fine));
89
89
  overflow: visible;
90
90
  pointer-events: none;
91
91
  }
@@ -93,7 +93,7 @@
93
93
  .edgeLine {
94
94
  fill: none;
95
95
  stroke: var(--role-disabled-edge);
96
- rx: calc(var(--chip-height) / 2 - var(--ds-dot-fine) / 2);
96
+ rx: calc(var(--chip-height) / 2 - var(--fgd-dot-fine) / 2);
97
97
  }
98
98
 
99
99
  @media (forced-colors: active) {
@@ -102,13 +102,7 @@
102
102
  }
103
103
  }
104
104
 
105
- @media (prefers-reduced-motion: no-preference) {
106
- .remove {
107
- transition-property: color, background-color;
108
- transition-duration: var(--ds-duration-quick);
109
- transition-timing-function: var(--ease-out-3);
110
- }
111
- }
105
+ /* No transition: the × cell's press is the inverse pair from none, which steps at once [D205]. */
112
106
  }
113
107
 
114
108
  @layer states {
@@ -134,7 +128,7 @@
134
128
 
135
129
  /* Disabled: fill none, muted ink, the dotted edge; the solid edge's width moves into the padding. */
136
130
  .base[data-disabled] {
137
- padding-inline-start: calc(var(--size-px-3) + var(--ds-stroke-1-5));
131
+ padding-inline-start: calc(var(--size-px-3) + var(--border-size-1-5));
138
132
  border-style: none;
139
133
  color: var(--role-muted);
140
134
  }
@@ -40,7 +40,7 @@ export interface LinkProps extends Omit<useRender.ComponentProps<'a'>, 'classNam
40
40
  /**
41
41
  * With `kind="nav"`: a list link (nav-panel, footer, drawer and breadcrumb
42
42
  * lists), whose hover is `--role-link-hover` color only, plus the
43
- * `--ds-stroke-1-5` `--role-accent` underline where that ink is
43
+ * `--border-size-1-5` `--role-accent` underline where that ink is
44
44
  * `--primary12`. Without it, `nav` is bare navigation text (bar and
45
45
  * utility items, page numbers, toolbar links), whose hover is the
46
46
  * `--border-size-2` `--role-accent` underline (§9.3) [D181]. Default