@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
@@ -8,6 +8,8 @@
8
8
  * field is the Input's box (§10.1), the submit a `solid` Button butted to
9
9
  * it, and the clear and header trigger icon-only Buttons: their parts are
10
10
  * left to their own modules (§1.11.1). Colors are role variables only.
11
+ * The popup opens and closes by the outline morph (it answers
12
+ * `data-outline-morph`, foundations/outline-morph) or at once [D205].
11
13
  */
12
14
 
13
15
  /* Composition sits in top-level rules, outside the layers: Lightning CSS
@@ -55,7 +57,7 @@
55
57
 
56
58
  /*
57
59
  * Rule-bounded: no box; the field sits between two --border-size-2
58
- * --primary12 rules the width of the container (Sofar Sounds).
60
+ * --primary12 rules the width of the container.
59
61
  */
60
62
  .rules {
61
63
  position: relative;
@@ -65,7 +67,7 @@
65
67
  box-sizing: border-box;
66
68
  inline-size: 100%;
67
69
  block-size: var(--size-px-8);
68
- padding-inline: var(--ds-space-12);
70
+ padding-inline: var(--size-px-2-5);
69
71
  border-block: var(--border-size-2) solid var(--primary12);
70
72
  color: var(--primary12);
71
73
  cursor: text;
@@ -93,14 +95,11 @@
93
95
 
94
96
  /* The §9.1 panel at field width: the white scope's face, the --border-size-2 --primary12 frame. */
95
97
  .popup {
96
- /* The clip reveal starts from the trigger side. */
97
- --search-reveal-from: inset(0 0 100% 0);
98
-
99
98
  box-sizing: border-box;
100
99
  inline-size: var(--anchor-width);
101
- max-inline-size: calc(100vw - 2 * var(--ds-space-margin));
100
+ max-inline-size: calc(100vw - 2 * var(--fgd-space-margin));
102
101
  border: var(--border-size-2) solid var(--primary12);
103
- border-radius: var(--ds-radius-8);
102
+ border-radius: var(--radius-2-25);
104
103
  background-color: var(--primary1);
105
104
  color: var(--primary12);
106
105
  clip-path: inset(0);
@@ -112,7 +111,7 @@
112
111
  box-sizing: border-box;
113
112
  max-block-size: min(
114
113
  var(--available-height, 100vh),
115
- calc(8 * var(--ds-size-hit) + 2 * var(--size-px-1))
114
+ calc(8 * var(--fgd-size-hit) + 2 * var(--size-px-1))
116
115
  );
117
116
  padding: var(--size-px-1);
118
117
  overflow-y: auto;
@@ -142,15 +141,15 @@
142
141
  color: var(--role-muted);
143
142
  }
144
143
 
145
- /* Suggestion rows: --ds-size-hit, type-body-ui; an optional type icon; highlight radius 8 − 4 [D40]. */
144
+ /* Suggestion rows: --fgd-size-hit, type-body-ui; an optional type icon; highlight radius 8 − 4 [D40]. */
146
145
  .item {
147
146
  position: relative;
148
147
  display: flex;
149
148
  align-items: center;
150
149
  gap: var(--size-px-2);
151
- min-block-size: var(--ds-size-hit);
150
+ min-block-size: var(--fgd-size-hit);
152
151
  padding-inline: var(--size-px-3);
153
- border-radius: calc(var(--ds-radius-8) - var(--size-px-1));
152
+ border-radius: calc(var(--radius-2-25) - var(--size-px-1));
154
153
  color: var(--primary12);
155
154
  text-decoration-line: none;
156
155
  cursor: default;
@@ -164,7 +163,7 @@
164
163
  position: absolute;
165
164
  inset-block: 0;
166
165
  inset-inline-start: 0;
167
- border-inline-start: var(--ds-stroke-3) solid var(--primary12);
166
+ border-inline-start: var(--border-size-2-25) solid var(--primary12);
168
167
  }
169
168
 
170
169
  .itemIcon {
@@ -187,7 +186,7 @@
187
186
  font-weight: var(--font-weight-7);
188
187
  }
189
188
 
190
- /* The secondary name: italic type-caption in --role-muted (Audubon's Latin names). */
189
+ /* The secondary name: italic type-caption in --role-muted. */
191
190
  .secondaryName {
192
191
  font-style: italic;
193
192
  }
@@ -196,7 +195,7 @@
196
195
  .seeAll {
197
196
  display: flex;
198
197
  align-items: center;
199
- min-block-size: var(--ds-size-hit);
198
+ min-block-size: var(--fgd-size-hit);
200
199
  padding-inline: var(--size-px-3);
201
200
  border-block-start: var(--border-size-1) solid var(--role-rule);
202
201
  }
@@ -210,14 +209,14 @@
210
209
  padding: var(--size-px-2) var(--size-px-3);
211
210
  }
212
211
 
213
- /* Docked: a full-width opaque bar at least --ds-size-hit tall, a --border-size-1 rule on its content side. */
212
+ /* Docked: a full-width opaque bar at least --fgd-size-hit tall, a --border-size-1 rule on its content side. */
214
213
  .bar {
215
214
  display: flex;
216
215
  align-items: center;
217
216
  box-sizing: border-box;
218
- min-block-size: var(--ds-size-hit);
217
+ min-block-size: var(--fgd-size-hit);
219
218
  padding-block: var(--size-px-2);
220
- padding-inline: var(--ds-space-margin);
219
+ padding-inline: var(--fgd-space-margin);
221
220
  border-block-end: var(--border-size-1) solid var(--role-rule);
222
221
  background-color: var(--role-ground);
223
222
  }
@@ -233,12 +232,6 @@
233
232
  }
234
233
  }
235
234
 
236
- @media (prefers-reduced-motion: no-preference) {
237
- /* The clip reveal (the edge wipes open), never a fade [D91]. */
238
- .popup {
239
- transition: clip-path var(--ds-duration-disclosure) var(--ease-out-3);
240
- }
241
- }
242
235
  }
243
236
 
244
237
  @layer variants {
@@ -285,7 +278,7 @@
285
278
  display: block;
286
279
  }
287
280
 
288
- /* Highlighted: --primary4 plus a --ds-stroke-3 start bar, as Menu [D145]. */
281
+ /* Highlighted: --primary4 plus a --border-size-2-25 start bar, as Menu [D145]. */
289
282
  .item[data-highlighted] {
290
283
  background-color: var(--primary4);
291
284
  }
@@ -303,15 +296,14 @@
303
296
  display: none;
304
297
  }
305
298
 
306
- /* Placement: a popup above the field reveals from its bottom edge. */
307
- .popup[data-side='top'] {
308
- --search-reveal-from: inset(100% 0 0 0);
309
- }
310
-
311
- /* The clip reveal from the trigger side [D91]; instant under --motionNotOK. */
312
- .popup[data-starting-style],
313
- .popup[data-ending-style] {
314
- clip-path: var(--search-reveal-from);
299
+ /*
300
+ * Outline morph [D204]: while the overlay draws the frame, the popup's own
301
+ * edge takes its face and its own transitions stay off. Without the morph
302
+ * the popup opens and closes at once (no reveal of its own) [D205].
303
+ */
304
+ .popup[data-outline-morph] {
305
+ border-color: var(--primary1);
306
+ transition: none;
315
307
  }
316
308
  }
317
309
 
@@ -54,6 +54,14 @@ export type SelectProps<Value = string> = RootProps<Value> & {
54
54
  * scale while invalid.
55
55
  */
56
56
  secondary?: SelectVariants['secondary'];
57
+ /**
58
+ * The outline morph: the focus ring grows into the popup's frame as it
59
+ * opens and shrinks back as it closes; opened by pointer (no ring), the
60
+ * field edge grows instead. Instant under reduced motion; off in forced
61
+ * colors and print, and wherever `--fgd-outline-morph: none` applies.
62
+ * Default `true`; `false` opens and closes the popup at once.
63
+ */
64
+ morph?: boolean;
57
65
  } & ({
58
66
  /**
59
67
  * `outline` (default) is the boxed field; `underline` is the trigger
@@ -81,8 +89,8 @@ export type SelectItemProps = Omit<BaseSelect.Item.Props, 'className'> & {
81
89
  swatch?: string;
82
90
  };
83
91
  /**
84
- * One option: a `--ds-size-hit` row. Highlighted rows take the `--primary4`
85
- * soft fill and the `--ds-stroke-3` start bar; the chosen row a leading ✓
92
+ * One option: a `--fgd-size-hit` row. Highlighted rows take the `--primary4`
93
+ * soft fill and the `--border-size-2-25` start bar; the chosen row a leading ✓
86
94
  * and `--font-weight-6` [D145].
87
95
  */
88
96
  export declare function SelectItem(props: SelectItemProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/forms/select/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/forms/select/Select.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ import { cva } from 'class-variance-authority';
5
5
  import { dangerScale, useFieldInvalid } from '../field';
6
6
  import { Ground } from '../../foundations/ground';
7
7
  import { Icon, iconHost } from '../../foundations/icon';
8
+ import { OutlineMorphFrame } from '../../foundations/outline-morph';
9
+ import { useOutlineMorphRoot } from '../../foundations/outline-morph/useOutlineMorphRoot';
8
10
  import { cx } from '../../utils/className';
9
11
  import { primaryScaleVariants, secondaryScaleVariants } from '../../utils/scales';
10
12
  import { useScopeAttributes } from '../../utils/scope';
@@ -16,7 +18,7 @@ import styles from './select.module.css';
16
18
  * Implementation (CSS Modules + CVA)
17
19
  * - Module: select.module.css; CVA function `select`.
18
20
  * - Axes: `variant` → outline (boxed trigger), underline (trigger text over
19
- * a --border-size-2 --role-accent underline, LTA); `plate` → plate;
21
+ * a --border-size-2 --role-accent underline); `plate` → plate;
20
22
  * `primary`, `secondary` → scales module classes.
21
23
  * - Compound variants: none. Excluded in the types: `plate` with underline.
22
24
  * - Defaults: variant outline, plate false; color axes none.
@@ -26,13 +28,13 @@ import styles from './select.module.css';
26
28
  * - States: trigger `:hover` (not disabled) → boxed edge → --primary12
27
29
  * [D140], underline --role-accent → --primary12 at the same weight
28
30
  * [D181]; `data-popup-open` → boxed edge
29
- * --primary12, underline --ds-stroke-3, chevron rotated; `:focus-visible`
31
+ * --primary12, underline --border-size-2-25, chevron rotated; `:focus-visible`
30
32
  * → ring; `data-disabled` → dotted edge, --role-muted; `data-invalid` →
31
33
  * error edge or danger underline. Item `data-highlighted` → --primary4
32
- * plus the --ds-stroke-3 start bar [D145]; `data-selected` → leading ✓
34
+ * plus the --border-size-2-25 start bar [D145]; `data-selected` → leading ✓
33
35
  * plus --font-weight-6; `data-disabled` → --role-muted, never
34
- * highlighted. Popup `data-starting-style` / `data-ending-style` → the
35
- * clip reveal from `data-side` [D91].
36
+ * highlighted. Popup: the outline morph or nothing; it opens and closes
37
+ * at once [D205].
36
38
  * - Parts: base (the trigger), value, icon, swatch, popup, list, item,
37
39
  * itemText, itemIndicator, group, groupLabel, separator.
38
40
  * - Scope: `popup` renders in its Base UI Portal and declares a nested
@@ -40,6 +42,11 @@ import styles from './select.module.css';
40
42
  * [D92] overlay frame [D139, D156]. `plate` → the trigger is a nested
41
43
  * `white` Ground.
42
44
  * - Container: none; inherits its context.
45
+ * - Outline morph [D204]: on by default (`morph={false}` opts out), the
46
+ * trigger's focus ring (or, opened by pointer, its edge) grows into the
47
+ * popup's frame and back (foundations/outline-morph). The frame renders
48
+ * beside the popup in its Positioner; while it draws, the popup carries
49
+ * `data-outline-morph` (its edge takes the face). No trigger style changes.
43
50
  */
44
51
  export const select = cva(styles.base, {
45
52
  variants: {
@@ -79,12 +86,19 @@ function Swatch({ color }) {
79
86
  * searchable lists and Radio for 2–4 visible options.
80
87
  */
81
88
  export function Select(props) {
82
- const { items, children, placeholder, variant, plate, primary, secondary, className, 'aria-label': ariaLabel, ...rootProps } = props;
89
+ const { items, children, placeholder, variant, plate, primary, secondary, className, 'aria-label': ariaLabel, morph = true, onOpenChange, ...rootProps } = props;
83
90
  const scope = useScopeAttributes();
84
91
  const invalid = useFieldInvalid();
85
92
  const resolvedSecondary = invalid ? dangerScale : secondary;
86
93
  const options = flatten(items);
87
94
  const hasSwatch = options.some((option) => option.swatch);
95
+ // The outline morph follows the root's open state [D204].
96
+ const outline = useOutlineMorphRoot({
97
+ open: rootProps.open,
98
+ defaultOpen: rootProps.defaultOpen,
99
+ onOpenChange,
100
+ morph,
101
+ });
88
102
  const triggerClassName = select({
89
103
  variant,
90
104
  plate,
@@ -103,17 +117,18 @@ export function Select(props) {
103
117
  option.label));
104
118
  }
105
119
  : undefined;
106
- return (React.createElement(BaseSelect.Root, { ...rootProps, items: items },
107
- React.createElement(BaseSelect.Trigger, { ...(plate ? null : scope), "aria-label": ariaLabel, className: triggerClassName, render: plate ? (React.createElement(Ground, { preset: "white", kind: "face", primary: primary ?? undefined, secondary: resolvedSecondary ?? undefined, render: React.createElement("button", { type: "button" }) })) : undefined },
120
+ return (React.createElement(BaseSelect.Root, { ...rootProps, onOpenChange: outline.onOpenChange, items: items },
121
+ React.createElement(BaseSelect.Trigger, { ref: outline.refs?.sourceRef, ...(plate ? null : scope), "aria-label": ariaLabel, className: triggerClassName, render: plate ? (React.createElement(Ground, { preset: "white", kind: "face", primary: primary ?? undefined, secondary: resolvedSecondary ?? undefined, render: React.createElement("button", { type: "button" }) })) : undefined },
108
122
  React.createElement(BaseSelect.Value, { className: styles.value, placeholder: placeholder }, renderValue),
109
123
  React.createElement(BaseSelect.Icon, { className: styles.icon },
110
124
  React.createElement(Icon, { name: "expand_more", weight: "interactive" })),
111
125
  React.createElement("svg", { className: styles.edge, "aria-hidden": "true", focusable: "false" }, variant === 'underline' ? (React.createElement("line", { className: styles.edgeLine, x1: "0", y1: "100%", x2: "100%", y2: "100%" })) : (React.createElement("rect", { className: styles.edgeLine, width: "100%", height: "100%" })))),
112
126
  React.createElement(BaseSelect.Portal, null,
113
127
  React.createElement(BaseSelect.Positioner, { className: styles.positioner, alignItemWithTrigger: false, side: "bottom", align: variant === 'underline' ? 'end' : 'start', sideOffset: 8, collisionPadding: 16 },
114
- React.createElement(BaseSelect.Popup, { ...overlayAttributes, className: [styles.popup, overlayScaleClassName].join(' ') },
128
+ React.createElement(BaseSelect.Popup, { ref: outline.refs?.targetRef, ...overlayAttributes, className: [styles.popup, overlayScaleClassName].join(' ') },
115
129
  React.createElement(OverlayScope, null,
116
- React.createElement(BaseSelect.List, { className: styles.list }, children ?? (items ? renderItems(items) : null))))))));
130
+ React.createElement(BaseSelect.List, { className: styles.list }, children ?? (items ? renderItems(items) : null)))),
131
+ outline.refs ? React.createElement(OutlineMorphFrame, { ref: outline.refs.frameRef }) : null))));
117
132
  }
118
133
  function renderOption(option, index) {
119
134
  return (React.createElement(SelectItem, { key: `${String(option.value)}-${index}`, value: option.value, label: option.label, disabled: option.disabled, swatch: option.swatch }, option.label));
@@ -126,8 +141,8 @@ function renderItems(items) {
126
141
  React.createElement(SelectGroup, { label: group.label }, group.items.map(renderOption)))));
127
142
  }
128
143
  /**
129
- * One option: a `--ds-size-hit` row. Highlighted rows take the `--primary4`
130
- * soft fill and the `--ds-stroke-3` start bar; the chosen row a leading ✓
144
+ * One option: a `--fgd-size-hit` row. Highlighted rows take the `--primary4`
145
+ * soft fill and the `--border-size-2-25` start bar; the chosen row a leading ✓
131
146
  * and `--font-weight-6` [D145].
132
147
  */
133
148
  export function SelectItem(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/forms/select/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/forms/select/Select.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,9 @@
6
6
  * `edgeLine` draw the disabled `line-dotted-fine` edge as true dots
7
7
  * [D36, D68]. Colors are role variables only; local custom properties carry
8
8
  * dimensions only. The popup is a portaled `white` page scope framed by
9
- * --border-size-2 --primary12 [D92, D139, D156].
9
+ * --border-size-2 --primary12 [D92, D139, D156]. It opens and closes by
10
+ * the outline morph (the popup answers `data-outline-morph`,
11
+ * foundations/outline-morph) or at once [D205].
10
12
  */
11
13
 
12
14
  /* Composition sits in top-level rules, outside the layers: Lightning CSS
@@ -46,7 +48,7 @@
46
48
  block-size: var(--size-px-8);
47
49
  margin: 0;
48
50
  padding-block: 0;
49
- padding-inline: calc(var(--ds-space-12) + var(--border-size-1) - var(--select-edge));
51
+ padding-inline: calc(var(--size-px-2-5) + var(--border-size-1) - var(--select-edge));
50
52
  border: var(--select-edge) solid var(--role-rule);
51
53
  border-radius: var(--select-radius);
52
54
  background: none;
@@ -75,12 +77,12 @@
75
77
  color: inherit;
76
78
  }
77
79
 
78
- /* The swatch: a --ds-space-12 disc of the product's color (content), ringed in --primary12. */
80
+ /* The swatch: a --size-px-2-5 disc of the product's color (content), ringed in --primary12. */
79
81
  .swatch {
80
82
  flex: none;
81
83
  display: block;
82
- inline-size: var(--ds-space-12);
83
- block-size: var(--ds-space-12);
84
+ inline-size: var(--size-px-2-5);
85
+ block-size: var(--size-px-2-5);
84
86
  overflow: visible;
85
87
  }
86
88
 
@@ -92,10 +94,10 @@
92
94
  .edge {
93
95
  display: none;
94
96
  position: absolute;
95
- inset-block-start: calc(var(--ds-dot-fine) / 2);
96
- inset-inline-start: calc(var(--ds-dot-fine) / 2);
97
- inline-size: calc(100% - var(--ds-dot-fine));
98
- block-size: calc(100% - var(--ds-dot-fine));
97
+ inset-block-start: calc(var(--fgd-dot-fine) / 2);
98
+ inset-inline-start: calc(var(--fgd-dot-fine) / 2);
99
+ inline-size: calc(100% - var(--fgd-dot-fine));
100
+ block-size: calc(100% - var(--fgd-dot-fine));
99
101
  overflow: visible;
100
102
  pointer-events: none;
101
103
  }
@@ -103,7 +105,7 @@
103
105
  .edgeLine {
104
106
  fill: none;
105
107
  stroke: var(--role-disabled-edge);
106
- rx: calc(var(--select-radius) - var(--ds-dot-fine) / 2);
108
+ rx: calc(var(--select-radius) - var(--fgd-dot-fine) / 2);
107
109
  }
108
110
 
109
111
  /* The popup sits --size-px-2 below its trigger on --layer-3. */
@@ -114,18 +116,15 @@
114
116
 
115
117
  /*
116
118
  * The overlay face: the white scope's --primary1, the --border-size-2
117
- * --primary12 frame in both modes, --ds-radius-8; at least the trigger's
119
+ * --primary12 frame in both modes, --radius-2-25; at least the trigger's
118
120
  * width, and never wider than the viewport minus the page margins.
119
121
  */
120
122
  .popup {
121
- /* The clip reveal starts from the trigger side. */
122
- --select-reveal-from: inset(0 0 100% 0);
123
-
124
123
  box-sizing: border-box;
125
124
  min-inline-size: var(--anchor-width);
126
- max-inline-size: calc(100vw - 2 * var(--ds-space-margin));
125
+ max-inline-size: calc(100vw - 2 * var(--fgd-space-margin));
127
126
  border: var(--border-size-2) solid var(--primary12);
128
- border-radius: var(--ds-radius-8);
127
+ border-radius: var(--radius-2-25);
129
128
  background-color: var(--primary1);
130
129
  color: var(--primary12);
131
130
  clip-path: inset(0);
@@ -137,7 +136,7 @@
137
136
  box-sizing: border-box;
138
137
  max-block-size: min(
139
138
  var(--available-height, 100vh),
140
- calc(8 * var(--ds-size-hit) + 2 * var(--size-px-1))
139
+ calc(8 * var(--fgd-size-hit) + 2 * var(--size-px-1))
141
140
  );
142
141
  padding: var(--size-px-1);
143
142
  overflow-y: auto;
@@ -146,30 +145,30 @@
146
145
  outline: 0;
147
146
  }
148
147
 
149
- /* Items: --ds-size-hit rows at every width, --size-px-3 padding; highlight radius 8 − 4 [D40]. */
148
+ /* Items: --fgd-size-hit rows at every width, --size-px-3 padding; highlight radius 8 − 4 [D40]. */
150
149
  .item {
151
150
  position: relative;
152
151
  display: grid;
153
152
  grid-template-columns: var(--size-px-3) minmax(0, 1fr);
154
153
  align-items: center;
155
154
  column-gap: var(--size-px-2);
156
- min-block-size: var(--ds-size-hit);
155
+ min-block-size: var(--fgd-size-hit);
157
156
  padding-inline: var(--size-px-3);
158
- border-radius: calc(var(--ds-radius-8) - var(--size-px-1));
157
+ border-radius: calc(var(--radius-2-25) - var(--size-px-1));
159
158
  color: var(--primary12);
160
159
  cursor: default;
161
160
  outline: 0;
162
161
  user-select: none;
163
162
  }
164
163
 
165
- /* The highlight bar: a --ds-stroke-3 start edge in --primary12, drawn as a border so it survives forced colors. */
164
+ /* The highlight bar: a --border-size-2-25 start edge in --primary12, drawn as a border so it survives forced colors. */
166
165
  .item::before {
167
166
  content: '';
168
167
  display: none;
169
168
  position: absolute;
170
169
  inset-block: 0;
171
170
  inset-inline-start: 0;
172
- border-inline-start: var(--ds-stroke-3) solid var(--primary12);
171
+ border-inline-start: var(--border-size-2-25) solid var(--primary12);
173
172
  }
174
173
 
175
174
  .itemIndicator {
@@ -203,7 +202,7 @@
203
202
  @media (min-width: 768px) {
204
203
  /* From --md-n-above the popup is the trigger's width, up to 360 px. */
205
204
  .popup {
206
- max-inline-size: max(var(--anchor-width), var(--ds-size-overlay-max));
205
+ max-inline-size: max(var(--anchor-width), var(--fgd-size-overlay-max));
207
206
  }
208
207
  }
209
208
 
@@ -215,19 +214,15 @@
215
214
 
216
215
  @media (prefers-reduced-motion: no-preference) {
217
216
  .base {
218
- transition-property: border-color, border-width, outline-color;
219
- transition-duration: var(--ds-duration-quick);
217
+ transition-property: border-color;
218
+ transition-duration: var(--fgd-duration-quick);
220
219
  transition-timing-function: var(--ease-out-3);
221
220
  }
222
221
 
223
222
  .icon {
224
- transition: rotate var(--ds-duration-quick) var(--ease-out-3);
223
+ transition: rotate var(--fgd-duration-quick) var(--ease-out-3);
225
224
  }
226
225
 
227
- /* The clip reveal (the edge wipes open), never a fade [D91]. */
228
- .popup {
229
- transition: clip-path var(--ds-duration-disclosure) var(--ease-out-3);
230
- }
231
226
  }
232
227
  }
233
228
 
@@ -240,16 +235,16 @@
240
235
  /*
241
236
  * Underline: no box; the trigger's text and chevron over a --border-size-2
242
237
  * --role-accent underline the width of the trigger only; it hugs its
243
- * content and keeps a --ds-size-hit target.
238
+ * content and keeps a --fgd-size-hit target.
244
239
  */
245
240
  .underline {
246
- --select-radius: var(--ds-radius-none);
241
+ --select-radius: var(--radius-0);
247
242
 
248
243
  display: inline-flex;
249
244
  inline-size: auto;
250
245
  max-inline-size: 100%;
251
246
  block-size: auto;
252
- min-block-size: var(--ds-size-hit);
247
+ min-block-size: var(--fgd-size-hit);
253
248
  padding-inline: 0;
254
249
  border-width: 0 0 var(--select-underline);
255
250
  border-color: var(--role-accent);
@@ -274,7 +269,7 @@
274
269
  color: var(--role-muted);
275
270
  font-weight: max(
276
271
  var(--type-weight-floor, 400),
277
- calc(var(--type-weight, 400) - var(--ds-muted-weight-step))
272
+ calc(var(--type-weight, 400) - var(--fgd-muted-weight-step))
278
273
  );
279
274
  }
280
275
 
@@ -282,19 +277,19 @@
282
277
  * Hover (not disabled, invalid or read-only): the boxed edge steps
283
278
  * --role-rule → --primary12 [D140]; the underline steps --role-accent →
284
279
  * --primary12 at the same --border-size-2 weight (derived), so only the
285
- * open state takes --ds-stroke-3 and hover never reads as open [D181].
280
+ * open state takes --border-size-2-25 and hover never reads as open [D181].
286
281
  */
287
282
  .base:hover:not([data-disabled], [data-invalid], [data-readonly]) {
288
283
  border-color: var(--primary12);
289
284
  }
290
285
 
291
- /* Open: the boxed edge goes to --primary12, the underline to --ds-stroke-3, the chevron turns. */
286
+ /* Open: the boxed edge goes to --primary12, the underline to --border-size-2-25, the chevron turns. */
292
287
  .base[data-popup-open] {
293
288
  border-color: var(--primary12);
294
289
  }
295
290
 
296
291
  .base.underline[data-popup-open] {
297
- --select-underline: var(--ds-stroke-3);
292
+ --select-underline: var(--border-size-2-25);
298
293
 
299
294
  border-color: var(--role-accent);
300
295
  }
@@ -336,7 +331,7 @@
336
331
  }
337
332
 
338
333
  .base[data-disabled] .swatchRing {
339
- stroke-dasharray: 0 var(--ds-dot-fine-pitch);
334
+ stroke-dasharray: 0 var(--fgd-dot-fine-pitch);
340
335
  stroke-linecap: round;
341
336
  }
342
337
 
@@ -344,7 +339,7 @@
344
339
  .base[data-readonly] {
345
340
  border-width: 0 0 var(--border-size-1);
346
341
  border-color: var(--role-rule);
347
- border-radius: var(--ds-radius-none);
342
+ border-radius: var(--radius-0);
348
343
  background: none;
349
344
  }
350
345
 
@@ -372,15 +367,14 @@
372
367
  display: none;
373
368
  }
374
369
 
375
- /* Placement: a popup above its trigger reveals from its bottom edge. */
376
- .popup[data-side='top'] {
377
- --select-reveal-from: inset(100% 0 0 0);
378
- }
379
-
380
- /* The clip reveal from the trigger side [D91]; instant under --motionNotOK. */
381
- .popup[data-starting-style],
382
- .popup[data-ending-style] {
383
- clip-path: var(--select-reveal-from);
370
+ /*
371
+ * Outline morph [D204]: while the overlay draws the frame, the popup's own
372
+ * edge takes its face and its own transitions stay off. Without the morph
373
+ * the popup opens and closes at once (no reveal of its own) [D205].
374
+ */
375
+ .popup[data-outline-morph] {
376
+ border-color: var(--primary1);
377
+ transition: none;
384
378
  }
385
379
  }
386
380
 
@@ -13,7 +13,7 @@ import styles from './slider.module.css';
13
13
  * Implementation (CSS Modules + CVA)
14
14
  * - Module: slider.module.css; CVA function `slider`.
15
15
  * - Axes: `stepped` → `stepped` (the tick scale: minor ticks half the
16
- * --ds-space-12 major ticks, with major labels); `primary`, `secondary`
16
+ * --size-px-2-5 major ticks, with major labels); `primary`, `secondary`
17
17
  * → scales module classes.
18
18
  * - Compound variants: none.
19
19
  * - Defaults: stepped false; color axes none [D133]. The range form is
@@ -23,7 +23,7 @@ import styles from './slider.module.css';
23
23
  * - States: :hover (not disabled) → thumb face --role-soft-hover-face
24
24
  * (--primary3 where soft fills apply, unchanged where they drop), edge
25
25
  * unchanged [D181];
26
- * data-dragging → thumb edge --ds-stroke-3 and the `chip`; :focus-visible on
26
+ * data-dragging → thumb edge --border-size-2-25 and the `chip`; :focus-visible on
27
27
  * each thumb's input → ring on the thumb; data-orientation → track
28
28
  * direction; data-disabled → dotted track and thumb edges, indicator
29
29
  * removed, value kept.