@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
@@ -44,7 +44,7 @@
44
44
  'label value'
45
45
  'control control';
46
46
  align-items: baseline;
47
- column-gap: var(--ds-space-12);
47
+ column-gap: var(--size-px-2-5);
48
48
  min-inline-size: 0;
49
49
  color: var(--primary12);
50
50
  }
@@ -65,13 +65,13 @@
65
65
  --type-weight: var(--font-weight-6);
66
66
  }
67
67
 
68
- /* The control is the --ds-size-hit tall press target; the track sits centered in it. */
68
+ /* The control is the --fgd-size-hit tall press target; the track sits centered in it. */
69
69
  .control {
70
70
  grid-area: control;
71
71
  display: flex;
72
72
  align-items: center;
73
73
  box-sizing: border-box;
74
- block-size: var(--ds-size-hit);
74
+ block-size: var(--fgd-size-hit);
75
75
  touch-action: none;
76
76
  user-select: none;
77
77
  }
@@ -109,14 +109,14 @@
109
109
  background-color: var(--role-halo);
110
110
  }
111
111
 
112
- /* Every thumb reaches --ds-size-hit; the hit area extends invisibly [D43]. */
112
+ /* Every thumb reaches --fgd-size-hit; the hit area extends invisibly [D43]. */
113
113
  .thumb::after {
114
114
  content: '';
115
115
  position: absolute;
116
116
  inset-block-start: 50%;
117
117
  inset-inline-start: 50%;
118
- inline-size: var(--ds-size-hit);
119
- block-size: var(--ds-size-hit);
118
+ inline-size: var(--fgd-size-hit);
119
+ block-size: var(--fgd-size-hit);
120
120
  translate: -50% -50%;
121
121
  }
122
122
 
@@ -141,10 +141,10 @@
141
141
  .edge {
142
142
  display: none;
143
143
  position: absolute;
144
- inset-block-start: calc(var(--ds-dot-fine) / 2);
145
- inset-inline-start: calc(var(--ds-dot-fine) / 2);
146
- inline-size: calc(100% - var(--ds-dot-fine));
147
- block-size: calc(100% - var(--ds-dot-fine));
144
+ inset-block-start: calc(var(--fgd-dot-fine) / 2);
145
+ inset-inline-start: calc(var(--fgd-dot-fine) / 2);
146
+ inline-size: calc(100% - var(--fgd-dot-fine));
147
+ block-size: calc(100% - var(--fgd-dot-fine));
148
148
  overflow: visible;
149
149
  pointer-events: none;
150
150
  }
@@ -152,7 +152,7 @@
152
152
  .edgeLine {
153
153
  fill: none;
154
154
  stroke: var(--role-disabled-edge);
155
- rx: calc(var(--slider-edge-radius) - var(--ds-dot-fine) / 2);
155
+ rx: calc(var(--slider-edge-radius) - var(--fgd-dot-fine) / 2);
156
156
  }
157
157
 
158
158
  /*
@@ -163,8 +163,8 @@
163
163
  .ticks {
164
164
  grid-area: ticks;
165
165
  position: relative;
166
- min-block-size: calc(var(--ds-space-12) + var(--size-px-1) + 1lh);
167
- margin-block-start: calc(var(--size-px-2) - (var(--ds-size-hit) - var(--size-px-2)) / 2);
166
+ min-block-size: calc(var(--size-px-2-5) + var(--size-px-1) + 1lh);
167
+ margin-block-start: calc(var(--size-px-2) - (var(--fgd-size-hit) - var(--size-px-2)) / 2);
168
168
  margin-inline: var(--border-size-1);
169
169
  }
170
170
 
@@ -178,17 +178,17 @@
178
178
  inline-size: 0;
179
179
  }
180
180
 
181
- /* Minor ticks are half the --ds-space-12 major tick (2:1); both --border-size-1 in --primary12. */
181
+ /* Minor ticks are half the --size-px-2-5 major tick (2:1); both --border-size-1 in --primary12. */
182
182
  .tick::before {
183
183
  content: '';
184
184
  display: block;
185
185
  inline-size: 0;
186
- block-size: var(--ds-size-tick-minor);
186
+ block-size: var(--fgd-size-tick-minor);
187
187
  border-inline-start: var(--border-size-1) solid var(--primary12);
188
188
  }
189
189
 
190
190
  .tickMajor::before {
191
- block-size: var(--ds-space-12);
191
+ block-size: var(--size-px-2-5);
192
192
  }
193
193
 
194
194
  .tickStart {
@@ -236,11 +236,11 @@
236
236
  }
237
237
  }
238
238
 
239
- /* Hover and drag transitions [D181]: --ds-duration-quick, --ease-out-3. */
239
+ /* Hover and drag transitions [D181]: --fgd-duration-quick, --ease-out-3. */
240
240
  @media (prefers-reduced-motion: no-preference) {
241
241
  .thumb {
242
242
  transition-property: border-color, background-color;
243
- transition-duration: var(--ds-duration-quick);
243
+ transition-duration: var(--fgd-duration-quick);
244
244
  transition-timing-function: var(--ease-out-3);
245
245
  }
246
246
  }
@@ -260,7 +260,7 @@
260
260
  .control[data-orientation='vertical'] {
261
261
  flex-direction: column;
262
262
  justify-content: center;
263
- inline-size: var(--ds-size-hit);
263
+ inline-size: var(--fgd-size-hit);
264
264
  block-size: 100%;
265
265
  min-block-size: var(--size-px-13);
266
266
  }
@@ -285,14 +285,14 @@
285
285
  * --primary3 fill where soft fills apply and its rest --role-halo where
286
286
  * they drop (--role-soft-hover-face, never the ground color), edge
287
287
  * unchanged (§10.10; derived, flagged) [D181]. Dragging: the edge steps
288
- * to --ds-stroke-3, an active state, and the face returns to rest.
288
+ * to --border-size-2-25, an active state, and the face returns to rest.
289
289
  */
290
290
  .thumb:not([data-disabled]):hover {
291
291
  background-color: var(--role-soft-hover-face);
292
292
  }
293
293
 
294
294
  .thumb[data-dragging]:not([data-disabled]) {
295
- --slider-thumb-edge: var(--ds-stroke-3);
295
+ --slider-thumb-edge: var(--border-size-2-25);
296
296
 
297
297
  background-color: var(--role-halo);
298
298
  }
@@ -311,8 +311,8 @@
311
311
 
312
312
  /* Focus: the ring sits on the thumb when its range input has keyboard focus [D45]. */
313
313
  .thumb:has(:focus-visible) {
314
- outline: var(--ds-focus-width) solid var(--primary12);
315
- outline-offset: var(--ds-focus-offset);
314
+ outline: var(--fgd-focus-width) solid var(--primary12);
315
+ outline-offset: var(--fgd-focus-offset);
316
316
  }
317
317
 
318
318
  /*
@@ -18,7 +18,7 @@ import styles from './switch.module.css';
18
18
  * - Defaults: kind row; color axes none [D133].
19
19
  * - Color fallback: inherits the scope; its secondary drives the on state
20
20
  * through the --role-select aliases.
21
- * - States: data-checked → track fill --role-select, edge --ds-stroke-3
21
+ * - States: data-checked → track fill --role-select, edge --border-size-2-25
22
22
  * --role-select-edge, thumb a --role-select-mark disc at the end;
23
23
  * :hover (not disabled, read-only or busy) [D181] → off track fill
24
24
  * --role-soft-hover (--primary3 where soft fills apply), on track fill
@@ -41,7 +41,7 @@
41
41
  align-items: start;
42
42
  align-content: center;
43
43
  box-sizing: border-box;
44
- min-block-size: var(--ds-size-hit);
44
+ min-block-size: var(--fgd-size-hit);
45
45
  min-inline-size: 0;
46
46
  color: var(--primary12);
47
47
  }
@@ -67,18 +67,18 @@
67
67
  white-space: nowrap;
68
68
  }
69
69
 
70
- /* The track: --ds-size-hit × --size-px-5, --radius-round, a --border-size-2 --primary12 edge. */
70
+ /* The track: --fgd-size-hit × --size-px-5, --radius-round, a --border-size-2 --primary12 edge. */
71
71
  .track {
72
72
  --switch-edge: var(--border-size-2);
73
73
  --switch-edge-radius: calc(var(--size-px-5) / 2);
74
- --switch-travel: calc(var(--ds-size-hit) - var(--size-px-3) - 2 * var(--size-px-1));
74
+ --switch-travel: calc(var(--fgd-size-hit) - var(--size-px-3) - 2 * var(--size-px-1));
75
75
 
76
76
  grid-area: track;
77
77
  align-self: center;
78
78
  position: relative;
79
79
  display: block;
80
80
  box-sizing: border-box;
81
- inline-size: var(--ds-size-hit);
81
+ inline-size: var(--fgd-size-hit);
82
82
  block-size: var(--size-px-5);
83
83
  border: var(--switch-edge) solid var(--primary12);
84
84
  border-radius: var(--radius-round);
@@ -107,10 +107,10 @@
107
107
  .edge {
108
108
  display: none;
109
109
  position: absolute;
110
- inset-block-start: calc(var(--ds-dot-fine) / 2);
111
- inset-inline-start: calc(var(--ds-dot-fine) / 2);
112
- inline-size: calc(100% - var(--ds-dot-fine));
113
- block-size: calc(100% - var(--ds-dot-fine));
110
+ inset-block-start: calc(var(--fgd-dot-fine) / 2);
111
+ inset-inline-start: calc(var(--fgd-dot-fine) / 2);
112
+ inline-size: calc(100% - var(--fgd-dot-fine));
113
+ block-size: calc(100% - var(--fgd-dot-fine));
114
114
  overflow: visible;
115
115
  pointer-events: none;
116
116
  }
@@ -118,7 +118,7 @@
118
118
  .edgeLine {
119
119
  fill: none;
120
120
  stroke: var(--role-disabled-edge);
121
- rx: calc(var(--switch-edge-radius) - var(--ds-dot-fine) / 2);
121
+ rx: calc(var(--switch-edge-radius) - var(--fgd-dot-fine) / 2);
122
122
  }
123
123
 
124
124
  @media (forced-colors: active) {
@@ -127,18 +127,22 @@
127
127
  }
128
128
  }
129
129
 
130
- /* Travel and hover at --ds-duration-quick with --ease-out-3; instant under reduced motion [D181]. */
130
+ /*
131
+ * Travel and hover at --fgd-duration-quick with --ease-out-3; instant under
132
+ * reduced motion [D181]. The thumb travels and edges fade; the track's and
133
+ * thumb's fills rest at none, so they step at once [D205].
134
+ */
131
135
  @media (prefers-reduced-motion: no-preference) {
132
136
  .track,
133
137
  .thumb {
134
- transition-property: inset-inline-start, border-color, background-color;
135
- transition-duration: var(--ds-duration-quick);
138
+ transition-property: inset-inline-start, border-color;
139
+ transition-duration: var(--fgd-duration-quick);
136
140
  transition-timing-function: var(--ease-out-3);
137
141
  }
138
142
 
139
143
  .label {
140
144
  transition-property: text-decoration-color;
141
- transition-duration: var(--ds-duration-quick);
145
+ transition-duration: var(--fgd-duration-quick);
142
146
  transition-timing-function: var(--ease-out-3);
143
147
  }
144
148
  }
@@ -157,7 +161,7 @@
157
161
  }
158
162
 
159
163
  .row .state {
160
- margin-inline: var(--ds-space-12) var(--size-px-2);
164
+ margin-inline: var(--size-px-2-5) var(--size-px-2);
161
165
  }
162
166
 
163
167
  /* Inline: switch, state word (--size-px-2 from the track), then label. */
@@ -170,14 +174,14 @@
170
174
  }
171
175
 
172
176
  .inline .state {
173
- margin-inline: var(--size-px-2) var(--ds-space-12);
177
+ margin-inline: var(--size-px-2) var(--size-px-2-5);
174
178
  }
175
179
  }
176
180
 
177
181
  @layer states {
178
- /* On: --role-select fill, a --ds-stroke-3 --role-select-edge, a solid --role-select-mark disc at the end (§10.1). */
182
+ /* On: --role-select fill, a --border-size-2-25 --role-select-edge, a solid --role-select-mark disc at the end (§10.1). */
179
183
  .track[data-checked] {
180
- --switch-edge: var(--ds-stroke-3);
184
+ --switch-edge: var(--border-size-2-25);
181
185
 
182
186
  border-color: var(--role-select-edge);
183
187
  background-color: var(--role-select);
@@ -210,8 +214,8 @@
210
214
 
211
215
  /* Focus: 2 px --primary12 ring at a 2 px offset outside the track, keyboard only [D45]. */
212
216
  .track:focus-visible {
213
- outline: var(--ds-focus-width) solid var(--primary12);
214
- outline-offset: var(--ds-focus-offset);
217
+ outline: var(--fgd-focus-width) solid var(--primary12);
218
+ outline-offset: var(--fgd-focus-offset);
215
219
  }
216
220
 
217
221
  /* Disabled: dotted track in --role-rule (--primary12 on one-ink grounds [D85]), --role-muted ring. Never dimmed [D16]. */
@@ -0,0 +1,86 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ export declare const expandingBox: (props?: ({
4
+ collapsed?: boolean | null | undefined;
5
+ primary?: "ruby" | "brown" | "crimson" | "gold" | "gray" | "indigo" | "olive" | "pink" | "plum" | "purple" | "red" | "tomato" | "violet" | "bronze" | "iris" | "mauve" | "sage" | "sand" | "slate" | null | undefined;
6
+ secondary?: "ruby" | "blue" | "brown" | "crimson" | "cyan" | "gold" | "gray" | "green" | "indigo" | "lime" | "olive" | "orange" | "pink" | "plum" | "purple" | "red" | "teal" | "tomato" | "violet" | "yellow" | "amber" | "bronze" | "grass" | "iris" | "jade" | "mauve" | "mint" | "sage" | "sand" | "sky" | "slate" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ type ExpandingBoxVariants = VariantProps<typeof expandingBox>;
9
+ /** Class names for the owner's elements. */
10
+ export declare const expandingBoxParts: {
11
+ /**
12
+ * On the owner's element that hosts the rows (the trigger button, the
13
+ * dialog popup): positions the box and hands its focus ring to the box.
14
+ */
15
+ readonly host: string;
16
+ /**
17
+ * On one element inside `ExpandingBoxMain` that rides the right edge (the
18
+ * shortcut hint, the esc or close button). At most one displayed per box.
19
+ */
20
+ readonly end: string;
21
+ };
22
+ /** Props for ExpandingBox. */
23
+ export type ExpandingBoxProps = {
24
+ /**
25
+ * The pair's name base, shared by the two boxes that morph into each other
26
+ * (trigger and dialog). Get it once in the owner with `useExpandingBoxName()`,
27
+ * so two pairs never collide.
28
+ */
29
+ name: string;
30
+ /** This box holds the transition names now. Exactly one box of a pair is active at a time. Default `false`. */
31
+ active?: boolean;
32
+ /** Trigger-sized state: the field edge color (`--role-rule`), hover edge step, focus-ring hand-off. Default `false`. */
33
+ collapsed?: boolean;
34
+ /**
35
+ * The expanded box is the dialog's sheet below `--md-n-above`. The box keeps
36
+ * its radius and frame; the owner insets the host by the page margin (and
37
+ * the safe areas). Marks the rows `data-sheet`. Default `false`.
38
+ */
39
+ sheet?: boolean;
40
+ /** `span` inside phrasing-only hosts such as a `<button>`. Default `'div'`. */
41
+ as?: 'div' | 'span';
42
+ /** On the content wrapper. */
43
+ className?: string;
44
+ /** `ExpandingBoxMain`, then an optional `ExpandingBoxExtra`, then anything else (unnamed, such as a stats row). */
45
+ children: React.ReactNode;
46
+ /**
47
+ * Primary Radix scale: edges (hover and expanded `--primary12`), face
48
+ * (`--primary1`), focus ring. Never defaulted; omitted, it inherits the
49
+ * scope [D133].
50
+ */
51
+ primary?: ExpandingBoxVariants['primary'];
52
+ /** Secondary Radix scale, accepted for the shared color contract; no part draws in it today. Never defaulted. */
53
+ secondary?: ExpandingBoxVariants['secondary'];
54
+ };
55
+ /** Props for ExpandingBoxMain and ExpandingBoxExtra: HTML attributes and a ref. */
56
+ export type ExpandingBoxPartProps = React.HTMLAttributes<HTMLElement> & {
57
+ ref?: React.Ref<HTMLElement>;
58
+ };
59
+ /**
60
+ * A 9-slice frame in three rows (head, content, foot), rendered as direct
61
+ * children of the host (give that element `expandingBoxParts.host`). Each
62
+ * row carries the scope attributes and the scale classes. While `active`,
63
+ * its pieces carry View Transition names, so the owner's
64
+ * `startExpandingTransition` morphs this box into the pair's other box:
65
+ * corners translate, edges stretch, main rides the left edge, `end` the
66
+ * right, and the extra grows.
67
+ */
68
+ export declare function ExpandingBox(props: ExpandingBoxProps): React.JSX.Element;
69
+ /**
70
+ * The main piece (trigger: icon, label and shortcut hint; dialog: the input
71
+ * row). Rides the left edge. Renders the box's `as`.
72
+ */
73
+ export declare function ExpandingBoxMain(props: ExpandingBoxPartProps): React.JSX.Element;
74
+ /**
75
+ * The extra piece (dialog: the results). If omitted, the box renders an
76
+ * empty one, so the trigger's empty extra grows into the dialog's.
77
+ */
78
+ export declare function ExpandingBoxExtra(props: ExpandingBoxPartProps): React.JSX.Element;
79
+ /**
80
+ * A pair name from `useId()`, sanitized to a custom-ident: `fgd-xb-<id>` with
81
+ * `[^A-Za-z0-9_-]` replaced by `-`. Call it once in the owner and pass it to
82
+ * both boxes of the pair.
83
+ */
84
+ export declare function useExpandingBoxName(): string;
85
+ export {};
86
+ //# sourceMappingURL=ExpandingBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpandingBox.d.ts","sourceRoot":"","sources":["../../src/foundations/expanding-box/ExpandingBox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAqCjE,eAAO,MAAM,YAAY;;;;8EAYvB,CAAA;AAEF,KAAK,oBAAoB,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAA;AAE7D,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB;IAC5B;;;OAGG;;IAEH;;;OAGG;;CAEK,CAAA;AAEV,8BAA8B;AAC9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,+GAA+G;IAC/G,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,wHAAwH;IACxH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,+EAA+E;IAC/E,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACnB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mHAAmH;IACnH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAA;IACzC,iHAAiH;IACjH,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAA;CAC9C,CAAA;AAED,mFAAmF;AACnF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG;IACtE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;CAC7B,CAAA;AAUD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsGxE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAIhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAIjF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C"}
@@ -0,0 +1,179 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { cva } from 'class-variance-authority';
4
+ import { cx } from '../../utils/className';
5
+ import { primaryScaleVariants, secondaryScaleVariants } from '../../utils/scales';
6
+ import { useScopeAttributes } from '../../utils/scope';
7
+ import styles from './expanding-box.module.css';
8
+ /*
9
+ * Expanding box: the frame the search trigger morphs out of and into its
10
+ * dialog (§9.10 [D194]). Behavior-free: it only names its pieces for View
11
+ * Transitions while `active`; the owner runs the morph with
12
+ * startExpandingTransition.
13
+ *
14
+ * Implementation (CSS Modules + CVA)
15
+ * - Module: expanding-box.module.css; CVA function `expandingBox`, applied
16
+ * to each of the three rows (head, content, foot), which render as direct
17
+ * children of the owner's host element.
18
+ * - Axes: `collapsed` → `collapsed` (the field edge color, the hover edge
19
+ * step and the focus-ring piece); `primary`, `secondary` → scales module
20
+ * classes. Radius and edge weight are the same in both states.
21
+ * - Compound variants: none. Defaults: `collapsed: false`; color axes: none
22
+ * [D133].
23
+ * - `sheet` draws nothing of its own: the frame is the same in every
24
+ * layout. It marks the rows `data-sheet` for the owner, which insets its
25
+ * host by the page margin below --md-n-above.
26
+ * - Transition names: `${name}-${piece}` for piece ∈ content, face, l, r,
27
+ * main, end, extra, tl, t, tr, bl, b, br, set per instance as inline custom
28
+ * properties on the rows (`none` while not active); `${name}-focus` while
29
+ * `collapsed`. The global rules live in utils/view-transitions.css.
30
+ * - Parts: host and end (exported in `expandingBoxParts`), ExpandingBoxMain,
31
+ * ExpandingBoxExtra.
32
+ * - States: host :hover (collapsed) → the edge step --role-rule →
33
+ * --primary12 [D140]; host :focus-visible (collapsed) → the ring on the
34
+ * box; <html data-fgd-expanding="close"> → the `closing` class; a
35
+ * collapsed box made active during a close → `landing` (its frame stays
36
+ * --primary12 until the morph finishes, then eases to --role-rule).
37
+ */
38
+ export const expandingBox = cva(styles.row, {
39
+ variants: {
40
+ collapsed: {
41
+ true: styles.collapsed,
42
+ },
43
+ // Color axes: never defaulted [D133].
44
+ primary: primaryScaleVariants,
45
+ secondary: secondaryScaleVariants,
46
+ },
47
+ defaultVariants: {
48
+ collapsed: false,
49
+ },
50
+ });
51
+ /** Class names for the owner's elements. */
52
+ export const expandingBoxParts = {
53
+ /**
54
+ * On the owner's element that hosts the rows (the trigger button, the
55
+ * dialog popup): positions the box and hands its focus ring to the box.
56
+ */
57
+ host: styles.host,
58
+ /**
59
+ * On one element inside `ExpandingBoxMain` that rides the right edge (the
60
+ * shortcut hint, the esc or close button). At most one displayed per box.
61
+ */
62
+ end: styles.end,
63
+ };
64
+ const BoxContext = React.createContext({ as: 'div' });
65
+ BoxContext.displayName = 'ExpandingBoxContext';
66
+ /**
67
+ * A 9-slice frame in three rows (head, content, foot), rendered as direct
68
+ * children of the host (give that element `expandingBoxParts.host`). Each
69
+ * row carries the scope attributes and the scale classes. While `active`,
70
+ * its pieces carry View Transition names, so the owner's
71
+ * `startExpandingTransition` morphs this box into the pair's other box:
72
+ * corners translate, edges stretch, main rides the left edge, `end` the
73
+ * right, and the extra grows.
74
+ */
75
+ export function ExpandingBox(props) {
76
+ const { name, active = false, collapsed = false, sheet = false, as = 'div', className, children, primary, secondary, } = props;
77
+ const scope = useScopeAttributes();
78
+ const context = React.useMemo(() => ({ as }), [as]);
79
+ const Element = as;
80
+ // The landing trigger: a collapsed box made active while a close morph runs.
81
+ // It keeps the expanded color in the new snapshot and until the morph ends.
82
+ const [landing, setLanding] = React.useState(false);
83
+ const wasActive = React.useRef(active);
84
+ React.useLayoutEffect(() => {
85
+ const was = wasActive.current;
86
+ wasActive.current = active;
87
+ if (collapsed && active && !was && document.documentElement.dataset.fgdExpanding === 'close') {
88
+ setLanding(true);
89
+ }
90
+ else if (!active) {
91
+ setLanding(false);
92
+ }
93
+ }, [active, collapsed]);
94
+ React.useEffect(() => {
95
+ if (!landing)
96
+ return undefined;
97
+ const root = document.documentElement;
98
+ const settle = () => {
99
+ if (root.dataset.fgdExpanding == null)
100
+ setLanding(false);
101
+ };
102
+ const observer = new MutationObserver(settle);
103
+ observer.observe(root, { attributes: true, attributeFilter: ['data-fgd-expanding'] });
104
+ settle();
105
+ return () => observer.disconnect();
106
+ }, [landing]);
107
+ const piece = (kind) => (active ? `${name}-${kind}` : 'none');
108
+ const rowClassName = cx(expandingBox({ collapsed, primary, secondary }), landing && styles.landing);
109
+ const state = {
110
+ 'data-active': active ? '' : undefined,
111
+ 'data-collapsed': collapsed ? '' : undefined,
112
+ 'data-sheet': sheet ? '' : undefined,
113
+ };
114
+ const headNames = {
115
+ '--xb-tl': piece('tl'),
116
+ '--xb-t': piece('t'),
117
+ '--xb-tr': piece('tr'),
118
+ };
119
+ const footNames = {
120
+ '--xb-bl': piece('bl'),
121
+ '--xb-b': piece('b'),
122
+ '--xb-br': piece('br'),
123
+ };
124
+ const contentNames = {
125
+ '--xb-content': piece('content'),
126
+ '--xb-face': piece('face'),
127
+ '--xb-l': piece('l'),
128
+ '--xb-r': piece('r'),
129
+ '--xb-main': piece('main'),
130
+ '--xb-end': piece('end'),
131
+ '--xb-extra': piece('extra'),
132
+ // The ring's piece lives on the collapsed box whether or not it is active.
133
+ '--xb-focus': collapsed ? `${name}-focus` : 'none',
134
+ };
135
+ return (React.createElement(BoxContext.Provider, { value: context },
136
+ React.createElement(Element, { ...scope, ...state, className: cx(rowClassName, styles.head), style: headNames },
137
+ React.createElement(Element, { className: cx(styles.corner, styles.tl) }),
138
+ React.createElement(Element, { className: cx(styles.edge, styles.t) }),
139
+ React.createElement(Element, { className: cx(styles.corner, styles.tr) })),
140
+ React.createElement(Element, { ...scope, ...state, className: cx(rowClassName, styles.content), style: contentNames },
141
+ React.createElement(Element, { className: styles.face }),
142
+ React.createElement(Element, { className: styles.left }),
143
+ React.createElement(Element, { className: styles.right }),
144
+ React.createElement(Element, { className: cx(styles.inner, className) },
145
+ children,
146
+ React.createElement(Element, { className: styles.extraFallback }))),
147
+ React.createElement(Element, { ...scope, ...state, className: cx(rowClassName, styles.foot), style: footNames },
148
+ React.createElement(Element, { className: cx(styles.corner, styles.bl) }),
149
+ React.createElement(Element, { className: cx(styles.edge, styles.b) }),
150
+ React.createElement(Element, { className: cx(styles.corner, styles.br) }))));
151
+ }
152
+ /**
153
+ * The main piece (trigger: icon, label and shortcut hint; dialog: the input
154
+ * row). Rides the left edge. Renders the box's `as`.
155
+ */
156
+ export function ExpandingBoxMain(props) {
157
+ const { className, ...rest } = props;
158
+ const Element = React.useContext(BoxContext).as;
159
+ return React.createElement(Element, { ...rest, className: cx(styles.main, className) });
160
+ }
161
+ /**
162
+ * The extra piece (dialog: the results). If omitted, the box renders an
163
+ * empty one, so the trigger's empty extra grows into the dialog's.
164
+ */
165
+ export function ExpandingBoxExtra(props) {
166
+ const { className, ...rest } = props;
167
+ const Element = React.useContext(BoxContext).as;
168
+ return React.createElement(Element, { ...rest, className: cx(styles.extra, className) });
169
+ }
170
+ /**
171
+ * A pair name from `useId()`, sanitized to a custom-ident: `fgd-xb-<id>` with
172
+ * `[^A-Za-z0-9_-]` replaced by `-`. Call it once in the owner and pass it to
173
+ * both boxes of the pair.
174
+ */
175
+ export function useExpandingBoxName() {
176
+ const id = React.useId();
177
+ return `fgd-xb-${id.replace(/[^A-Za-z0-9_-]/g, '-')}`;
178
+ }
179
+ //# sourceMappingURL=ExpandingBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpandingBox.js","sourceRoot":"","sources":["../../src/foundations/expanding-box/ExpandingBox.tsx"],"names":[],"mappings":"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"}