@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
@@ -0,0 +1,32 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { ExpandingBox, ExpandingBoxMain, expandingBoxParts, } from '../../foundations/expanding-box';
4
+ import { Icon } from '../../foundations/icon';
5
+ import { cx } from '../../utils/className';
6
+ import { useScopeAttributes } from '../../utils/scope';
7
+ import { useShortcutLabel } from './useShortcutLabel';
8
+ import { searchDialog } from './variants';
9
+ import styles from './search-dialog.module.css';
10
+ /**
11
+ * The field-like trigger holding the collapsed, active-while-closed
12
+ * ExpandingBox: the magnifier, the label in --role-muted and, with
13
+ * `keyboardShortcut`, the ⌘K / Ctrl K hint from --lg-n-above. Mounted
14
+ * always, `visibility: hidden` while open.
15
+ */
16
+ export function SearchDialogTrigger(props) {
17
+ const { ref, name, open, label, keyboardShortcut, onClick, primary, secondary, className } = props;
18
+ const scope = useScopeAttributes();
19
+ const shortcut = useShortcutLabel();
20
+ const hint = keyboardShortcut ? shortcut : null;
21
+ return (React.createElement("button", { ...scope, ref: ref, type: "button", "aria-haspopup": "dialog", "aria-expanded": open, "aria-keyshortcuts": hint?.aria, className: searchDialog({
22
+ primary,
23
+ secondary,
24
+ className: cx(expandingBoxParts.host, styles.trigger, className),
25
+ }), onClick: onClick },
26
+ React.createElement(ExpandingBox, { as: "span", name: name, active: !open, collapsed: true, primary: primary, secondary: secondary, className: styles.triggerBox },
27
+ React.createElement(ExpandingBoxMain, { className: styles.triggerMain },
28
+ React.createElement(Icon, { name: "search", className: styles.magnifier }),
29
+ React.createElement("span", { className: styles.triggerLabel }, label),
30
+ keyboardShortcut ? (React.createElement("kbd", { "aria-hidden": "true", className: cx(expandingBoxParts.end, styles.kbd) }, hint?.label ?? '\u00a0')) : null))));
31
+ }
32
+ //# sourceMappingURL=SearchDialogTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchDialogTrigger.js","sourceRoot":"","sources":["../../src/overlays/search-dialog/SearchDialogTrigger.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,YAAY,EAA6B,MAAM,YAAY,CAAA;AACpE,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAsB/C;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GACxF,KAAK,CAAA;IACP,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAA;IACnC,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;IAE/C,OAAO,CACL,mCACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,mBACC,QAAQ,mBACP,IAAI,uBACA,IAAI,EAAE,IAAI,EAC7B,SAAS,EAAE,YAAY,CAAC;YACtB,OAAO;YACP,SAAS;YACT,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;SACjE,CAAC,EACF,OAAO,EAAE,OAAO;QAEhB,oBAAC,YAAY,IACX,EAAE,EAAC,MAAM,EACT,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,IAAI,EACb,SAAS,QACT,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,CAAC,UAAU;YAE5B,oBAAC,gBAAgB,IAAC,SAAS,EAAE,MAAM,CAAC,WAAW;gBAC7C,oBAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAI;gBACnD,8BAAM,SAAS,EAAE,MAAM,CAAC,YAAY,IAAG,KAAK,CAAQ;gBAMnD,gBAAgB,CAAC,CAAC,CAAC,CAClB,4CAAiB,MAAM,EAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IACrE,IAAI,EAAE,KAAK,IAAI,QAAQ,CACpB,CACP,CAAC,CAAC,CAAC,IAAI,CACS,CACN,CACR,CACV,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './SearchDialog';
2
+ export { searchDialog, searchDialogTypeIcons } from './variants';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/overlays/search-dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './SearchDialog';
2
+ export { searchDialog, searchDialogTypeIcons } from './variants';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/overlays/search-dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,492 @@
1
+ /*
2
+ * Search dialog (§9.10 [D194]). CVA function `searchDialog` in
3
+ * SearchDialog.tsx, on the trigger and on the popup. Parts: base, trigger,
4
+ * triggerBox, triggerMain, magnifier, triggerLabel, kbd, backdrop,
5
+ * viewport, popup, box, inputRow, input, esc, escKey, closeIcon, results,
6
+ * scroll, list, group, groupLabel, item, itemHead, itemIcon, itemTitle,
7
+ * match, sectionTitle, score, description, empty, stats, statsText,
8
+ * visuallyHidden.
9
+ *
10
+ * The frame is the expanding box's: one radius (--xb-radius) and one
11
+ * --border-size-2 edge in both states, --role-rule on the trigger and
12
+ * --primary12 on the dialog. Below --md-n-above the dialog is the sheet:
13
+ * the same panel inset by the page margin and the safe areas; the face
14
+ * is --primary1. Rows, group labels, statuses and matches compose
15
+ * forms/search's parts; the dialog only adds its layout (full-bleed rows
16
+ * of two lines, sticky group labels). The backdrop is colorless: the frame,
17
+ * the inert page and the sheet carry the modal state [D24 → D121]. Motion
18
+ * is the morph, or none: without it the dialog opens and closes at once,
19
+ * never a fade [D91, D204].
20
+ * No view-transition name or class is written here: the box sets them per
21
+ * instance. Colors are role variables only; local custom properties carry
22
+ * dimensions only.
23
+ */
24
+
25
+ /* Composition sits in top-level rules, outside the layers: Lightning CSS
26
+ * (Next.js with Turbopack) rejects `composes` inside @layer or any nesting.
27
+ * The composed classes keep their own layers. */
28
+ .trigger {
29
+ composes: typeBodyUi from '../../utils/type.module.css';
30
+ }
31
+
32
+ .triggerLabel {
33
+ composes: typeBodyUi typeMuted from '../../utils/type.module.css';
34
+ }
35
+
36
+ .kbd,
37
+ .escKey {
38
+ composes: typeData typeMuted from '../../utils/type.module.css';
39
+ }
40
+
41
+ .input {
42
+ composes: typeBodyUi from '../../utils/type.module.css';
43
+ }
44
+
45
+ .groupLabel {
46
+ composes: groupLabel from '../../forms/search/search.module.css';
47
+ }
48
+
49
+ .item {
50
+ composes: item from '../../forms/search/search.module.css';
51
+ }
52
+
53
+ .itemIcon {
54
+ composes: itemIcon from '../../forms/search/search.module.css';
55
+ }
56
+
57
+ .match {
58
+ composes: match from '../../forms/search/search.module.css';
59
+ }
60
+
61
+ .sectionTitle,
62
+ .description {
63
+ composes: typeCaption typeMuted from '../../utils/type.module.css';
64
+ }
65
+
66
+ .score {
67
+ composes: typeData typeMuted from '../../utils/type.module.css';
68
+ }
69
+
70
+ .empty,
71
+ .stats {
72
+ composes: status from '../../forms/search/search.module.css';
73
+ }
74
+
75
+ .statsText {
76
+ composes: typeMuted from '../../utils/type.module.css';
77
+ }
78
+
79
+ @layer base {
80
+ /* Both roots: nothing of their own beyond the scale classes. */
81
+ .base {
82
+ box-sizing: border-box;
83
+ }
84
+
85
+ /*
86
+ * The field-like trigger: --fgd-size-control-md tall, its hit area
87
+ * extended to --fgd-size-hit; the width of the site search field. The
88
+ * box draws its frame, hover edge step and focus ring (the host hands
89
+ * them over).
90
+ */
91
+ .trigger {
92
+ justify-content: center;
93
+ inline-size: min(100%, var(--size-px-14));
94
+ min-block-size: var(--fgd-size-control-md);
95
+ margin: 0;
96
+ color: var(--primary12);
97
+ text-align: start;
98
+ appearance: none;
99
+ }
100
+
101
+ .trigger::after {
102
+ content: '';
103
+ position: absolute;
104
+ inset-inline: 0;
105
+ inset-block: calc((var(--fgd-size-control-md) - var(--fgd-size-hit)) / 2);
106
+ }
107
+
108
+ .triggerBox {
109
+ justify-content: center;
110
+ padding-inline: var(--size-px-3);
111
+ }
112
+
113
+ /*
114
+ * The main piece: as tall as the trigger's content (inside the box's
115
+ * edge), so it rides into the input row at nearly one scale.
116
+ */
117
+ .triggerMain {
118
+ display: flex;
119
+ align-items: center;
120
+ gap: var(--size-px-2);
121
+ min-block-size: calc(var(--fgd-size-control-md) - 2 * var(--xb-edge));
122
+ }
123
+
124
+ /* The magnifier: Material Symbols Rounded `search`, inline tier, decorative, --primary12 [D166]. */
125
+ .magnifier {
126
+ flex: none;
127
+ color: var(--primary12);
128
+ }
129
+
130
+ /*
131
+ * The label reserves --size-px-9 (64 px), more than "Search" takes in
132
+ * the UI face or its fallbacks, so where the trigger sizes to its content
133
+ * (the Navigation Bar's search slot) the web font arriving never changes
134
+ * its width and nothing beside it moves [D201, D203].
135
+ */
136
+ .triggerLabel {
137
+ flex: 1 1 auto;
138
+ min-inline-size: var(--size-px-9);
139
+ overflow: hidden;
140
+ text-overflow: ellipsis;
141
+ white-space: nowrap;
142
+ }
143
+
144
+ /* The shortcut hint: a mono key cap on the field rule, from --lg-n-above; it rides the right edge. */
145
+ /*
146
+ * The hint: mono, so 6ch holds "Ctrl K" exactly; "⌘K" centers in the
147
+ * same box. The box is painted before the label is known, so the trigger
148
+ * keeps one width from the first paint [D201].
149
+ */
150
+ .kbd {
151
+ display: none;
152
+ flex: none;
153
+ box-sizing: content-box;
154
+ min-inline-size: 6ch;
155
+ padding-inline: var(--size-px-1);
156
+ text-align: center;
157
+ border: var(--border-size-1) solid var(--role-rule);
158
+ border-radius: var(--radius-1);
159
+ white-space: nowrap;
160
+ }
161
+
162
+ @media (min-width: 1024px) {
163
+ .kbd {
164
+ display: inline-block;
165
+ }
166
+ }
167
+
168
+ /* Colorless: it only catches outside presses. */
169
+ .backdrop {
170
+ position: fixed;
171
+ inset: 0;
172
+ z-index: var(--layer-4);
173
+ }
174
+
175
+ /* iOS Safari: a fixed backdrop leaves the bottom toolbar area uncovered. */
176
+ @supports (-webkit-touch-callout: none) {
177
+ .backdrop {
178
+ position: absolute;
179
+ }
180
+ }
181
+
182
+ /*
183
+ * The popup's frame of reference. At base, the whole screen less the page
184
+ * margin on every side, plus the safe areas; from --md-n-above,
185
+ * top-aligned.
186
+ */
187
+ .viewport {
188
+ position: fixed;
189
+ inset: 0;
190
+ z-index: var(--layer-4);
191
+ display: flex;
192
+ justify-content: center;
193
+ align-items: stretch;
194
+ box-sizing: border-box;
195
+ padding: calc(var(--fgd-space-margin) + env(safe-area-inset-top, 0px))
196
+ calc(var(--fgd-space-margin) + env(safe-area-inset-right, 0px))
197
+ calc(var(--fgd-space-margin) + env(safe-area-inset-bottom, 0px))
198
+ calc(var(--fgd-space-margin) + env(safe-area-inset-left, 0px));
199
+ overflow: hidden;
200
+ }
201
+
202
+ @media (min-width: 768px) {
203
+ .viewport {
204
+ align-items: flex-start;
205
+ padding-block: var(--size-px-5);
206
+ padding-inline: 0;
207
+ }
208
+ }
209
+
210
+ /*
211
+ * The popup hosts the expanded box. At base, the sheet: the inset panel,
212
+ * filling the viewport inside its padding and scrolling inside; from
213
+ * --md-n-above, the centered panel in the Dialog `wide` width, as tall as
214
+ * its results (it scrolls inside).
215
+ */
216
+ .popup {
217
+ inline-size: 100%;
218
+ block-size: 100%;
219
+ max-block-size: 100%;
220
+ margin: 0;
221
+ color: var(--primary12);
222
+ outline: 0;
223
+ }
224
+
225
+ @media (min-width: 768px) {
226
+ .popup {
227
+ inline-size: min(var(--fgd-measure-reading), calc(100% - 2 * var(--size-px-7-5)));
228
+ block-size: auto;
229
+ }
230
+ }
231
+
232
+ /*
233
+ * The expanded box's content: the input row, the results, the stats row.
234
+ * The box insets it by its frame's edge.
235
+ */
236
+ .box {
237
+ min-block-size: 0;
238
+ }
239
+
240
+ /* The input row: the dialog's main piece; the ring shows round it on any focus of the input [D90]. */
241
+ .inputRow {
242
+ display: flex;
243
+ align-items: center;
244
+ gap: var(--size-px-2);
245
+ box-sizing: border-box;
246
+ min-block-size: var(--fgd-size-hit);
247
+ margin: var(--size-px-2);
248
+ padding-inline: var(--size-px-2-5) var(--size-px-2);
249
+ border-radius: var(--radius-1);
250
+ cursor: text;
251
+ }
252
+
253
+ .input {
254
+ flex: 1 1 auto;
255
+ align-self: stretch;
256
+ min-inline-size: 0;
257
+ margin: 0;
258
+ padding: 0;
259
+ border: 0;
260
+ background: none;
261
+ color: var(--primary12);
262
+ outline: 0;
263
+ appearance: none;
264
+ }
265
+
266
+ .input::placeholder {
267
+ color: var(--role-muted);
268
+ opacity: 1;
269
+ }
270
+
271
+ /* "esc": a key cap that closes, from --lg-n-above with the shortcut; it rides the right edge. */
272
+ .esc {
273
+ display: none;
274
+ position: relative;
275
+ flex: none;
276
+ align-items: center;
277
+ box-sizing: border-box;
278
+ margin: 0;
279
+ padding: var(--size-px-1) var(--size-px-2);
280
+ border: var(--border-size-1) solid var(--role-rule);
281
+ border-radius: var(--radius-1);
282
+ background: none;
283
+ font: inherit;
284
+ cursor: default;
285
+ }
286
+
287
+ /* Every target reaches --fgd-size-hit (§9.1) [D43]. */
288
+ .esc::after {
289
+ content: '';
290
+ position: absolute;
291
+ top: 50%;
292
+ left: 50%;
293
+ inline-size: var(--fgd-size-hit);
294
+ block-size: var(--fgd-size-hit);
295
+ min-inline-size: 100%;
296
+ min-block-size: 100%;
297
+ translate: -50% -50%;
298
+ }
299
+
300
+ @media (min-width: 1024px) {
301
+ .esc {
302
+ display: inline-flex;
303
+ }
304
+ }
305
+
306
+ /* "Close search": an icon-only Button (its hit area reaches --fgd-size-hit); it rides the right edge. */
307
+ .closeIcon {
308
+ flex: none;
309
+ }
310
+
311
+ /* The results: the extra piece, under a --border-size-1 rule, full bleed; the list scrolls inside. */
312
+ .results {
313
+ display: flex;
314
+ flex-direction: column;
315
+ flex: 1 1 auto;
316
+ min-block-size: 0;
317
+ border-block-start: var(--border-size-1) solid var(--role-rule);
318
+ }
319
+
320
+ .scroll {
321
+ flex: 1 1 auto;
322
+ min-block-size: 0;
323
+ }
324
+
325
+ /* The keyboard highlight scrolls clear of the sticky group label. */
326
+ .scroll > :first-child {
327
+ scroll-padding-block: var(--size-px-7-5) var(--size-px-1);
328
+ }
329
+
330
+ .list {
331
+ padding: var(--size-px-1);
332
+ outline: 0;
333
+ }
334
+
335
+ .list:empty {
336
+ padding: 0;
337
+ }
338
+
339
+ .group {
340
+ display: block;
341
+ }
342
+
343
+ /* Group labels stick to the top while their rows scroll under them: the face, and a rule underneath. */
344
+ .list .groupLabel {
345
+ position: sticky;
346
+ inset-block-start: 0;
347
+ z-index: 1;
348
+ margin: 0;
349
+ background-color: var(--primary1);
350
+ border-block-end: var(--border-size-1) solid var(--role-rule);
351
+ }
352
+
353
+ /* Rows: a link of two lines (title row, then a page's description). */
354
+ .list .item {
355
+ flex-direction: column;
356
+ align-items: stretch;
357
+ justify-content: center;
358
+ gap: var(--size-px-1);
359
+ padding-block: var(--size-px-2);
360
+ }
361
+
362
+ .itemHead {
363
+ display: flex;
364
+ align-items: center;
365
+ gap: var(--size-px-2);
366
+ min-inline-size: 0;
367
+ }
368
+
369
+ .itemTitle {
370
+ min-inline-size: 0;
371
+ color: var(--primary12);
372
+ overflow-wrap: anywhere;
373
+ }
374
+
375
+ .sectionTitle {
376
+ text-transform: capitalize;
377
+ }
378
+
379
+ .score {
380
+ margin-inline-start: auto;
381
+ }
382
+
383
+ /* "No results for '[query]'": a plain-word status, never a red error (P10). */
384
+ .scroll .empty:not(:empty) {
385
+ padding: var(--size-px-5) var(--size-px-3);
386
+ text-align: center;
387
+ }
388
+
389
+ /* The stats row: under a rule, end-aligned; hidden (its height kept) while there are no stats. */
390
+ .box .stats:not(:empty) {
391
+ display: flex;
392
+ justify-content: flex-end;
393
+ padding: var(--size-px-1) var(--size-px-3);
394
+ border-block-start: var(--border-size-1) solid var(--role-rule);
395
+ }
396
+
397
+ .visuallyHidden {
398
+ position: absolute;
399
+ inline-size: 1px;
400
+ block-size: 1px;
401
+ margin: -1px;
402
+ padding: 0;
403
+ overflow: hidden;
404
+ clip-path: inset(50%);
405
+ white-space: nowrap;
406
+ border: 0;
407
+ }
408
+
409
+ @media (prefers-reduced-motion: no-preference) {
410
+ .esc {
411
+ transition: border-color var(--fgd-duration-quick) var(--ease-out-3);
412
+ }
413
+ }
414
+ }
415
+
416
+ @layer variants {
417
+ /*
418
+ * One visible close at every width, riding the right edge: the "Close
419
+ * search" button (the sheet, the panel below --lg-n-above, and the panel
420
+ * without the shortcut), or from --lg-n-above with the shortcut the esc
421
+ * key cap in its place.
422
+ */
423
+ @media (min-width: 1024px) {
424
+ .esc ~ .closeIcon {
425
+ display: none;
426
+ }
427
+ }
428
+ }
429
+
430
+ @layer states {
431
+ /* While the dialog is open the trigger keeps its place, hidden; its box keeps its names valid. */
432
+ .trigger[aria-expanded='true'] {
433
+ visibility: hidden;
434
+ }
435
+
436
+ .inputRow:has(.input:focus) {
437
+ outline: var(--fgd-focus-width) solid var(--primary12);
438
+ outline-offset: 0;
439
+ }
440
+
441
+ /*
442
+ * While the expanding box opens, the input row's ring waits and appears
443
+ * in place as the box lands [D196, D205]. The row is the box's main
444
+ * piece, whose image keeps its proportions and hugs the left edge, so
445
+ * while the box is narrower the image runs past its right edge: a ring
446
+ * drawn on it would travel in from the side, outside the frame.
447
+ */
448
+ :global(:root[data-fgd-expanding]) .inputRow:has(.input:focus) {
449
+ outline-style: none;
450
+ }
451
+
452
+ .esc:hover:not(:focus-visible) {
453
+ border-color: var(--primary12);
454
+ }
455
+
456
+ .esc:focus-visible {
457
+ outline: var(--fgd-focus-width) solid var(--primary12);
458
+ outline-offset: var(--fgd-focus-offset);
459
+ }
460
+
461
+ /* Focus parked on the popup itself: the ring sits inside the frame, on the box's radius (the host publishes --xb-radius). */
462
+ .popup:focus-visible {
463
+ outline: var(--fgd-focus-width) solid var(--primary12);
464
+ outline-offset: calc(-2 * var(--fgd-focus-width));
465
+ border-radius: var(--xb-radius);
466
+ }
467
+
468
+ /*
469
+ * The morph owns the motion while it runs; without it the dialog opens and
470
+ * closes at once (no reveal of its own) [D204]. The closing popup hides at
471
+ * once, since the root snapshot does not crossfade.
472
+ */
473
+ :root[data-fgd-expanding] .popup[data-closed],
474
+ :root[data-fgd-expanding] .popup[data-ending-style] {
475
+ visibility: hidden;
476
+ }
477
+
478
+ .statsText[data-hidden] {
479
+ visibility: hidden;
480
+ }
481
+ }
482
+
483
+ @layer print {
484
+ @media print {
485
+ /* Interaction only: neither the trigger nor the dialog prints. */
486
+ .trigger,
487
+ .backdrop,
488
+ .viewport {
489
+ display: none;
490
+ }
491
+ }
492
+ }
@@ -0,0 +1,13 @@
1
+ /** The hint's visible text and its `aria-keyshortcuts` value. */
2
+ export type ShortcutLabel = {
3
+ /** "⌘K" on Apple platforms, "Ctrl K" elsewhere. */
4
+ label: string;
5
+ /** "Meta+K" or "Control+K". */
6
+ aria: string;
7
+ };
8
+ /**
9
+ * The ⌘K / Ctrl K hint. `null` on the server and during hydration, so the
10
+ * server markup never names the wrong platform; the client fills it in.
11
+ */
12
+ export declare function useShortcutLabel(): ShortcutLabel | null;
13
+ //# sourceMappingURL=useShortcutLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useShortcutLabel.d.ts","sourceRoot":"","sources":["../../src/overlays/search-dialog/useShortcutLabel.ts"],"names":[],"mappings":"AASA,iEAAiE;AACjE,MAAM,MAAM,aAAa,GAAG;IAC1B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAgBD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAMvD"}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ const apple = { label: '⌘K', aria: 'Meta+K' };
4
+ const other = { label: 'Ctrl K', aria: 'Control+K' };
5
+ function isApplePlatform() {
6
+ const nav = navigator;
7
+ const platform = nav.userAgentData?.platform || nav.platform || nav.userAgent;
8
+ return /mac|iphone|ipad|ipod/i.test(platform);
9
+ }
10
+ // The platform never changes while the page is open.
11
+ const subscribe = () => () => { };
12
+ /**
13
+ * The ⌘K / Ctrl K hint. `null` on the server and during hydration, so the
14
+ * server markup never names the wrong platform; the client fills it in.
15
+ */
16
+ export function useShortcutLabel() {
17
+ return React.useSyncExternalStore(subscribe, () => (isApplePlatform() ? apple : other), () => null);
18
+ }
19
+ //# sourceMappingURL=useShortcutLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useShortcutLabel.js","sourceRoot":"","sources":["../../src/overlays/search-dialog/useShortcutLabel.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAe9B,MAAM,KAAK,GAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AAC5D,MAAM,KAAK,GAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;AAInE,SAAS,eAAe;IACtB,MAAM,GAAG,GAAG,SAAgC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,EAAE,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAA;IAC7E,OAAO,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC/C,CAAC;AAED,qDAAqD;AACrD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA;AAEhC;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,oBAAoB,CAC/B,SAAS,EACT,GAAG,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EACzC,GAAG,EAAE,CAAC,IAAI,CACX,CAAA;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * On both roots: the trigger (the page scope) and the popup (the overlay
4
+ * scope). Axes: `primary`, `secondary` → scales module classes, never
5
+ * defaulted [D133].
6
+ */
7
+ export declare const searchDialog: (props?: ({
8
+ primary?: "ruby" | "brown" | "crimson" | "gold" | "gray" | "indigo" | "olive" | "pink" | "plum" | "purple" | "red" | "tomato" | "violet" | "bronze" | "iris" | "mauve" | "sage" | "sand" | "slate" | null | undefined;
9
+ 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;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
+ /** The color axes of `searchDialog`. */
12
+ export type SearchDialogVariants = VariantProps<typeof searchDialog>;
13
+ /**
14
+ * Row icons by the engine's result `type`: page `description`, part
15
+ * `widgets`, export `deployed_code`, section `format_h2`, subsection
16
+ * `format_h3`.
17
+ */
18
+ export declare const searchDialogTypeIcons: {
19
+ readonly page: "description";
20
+ readonly part: "widgets";
21
+ readonly export: "deployed_code";
22
+ readonly section: "format_h2";
23
+ readonly subsection: "format_h3";
24
+ };
25
+ //# sourceMappingURL=variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../src/overlays/search-dialog/variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAYjE;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;8EAKvB,CAAA;AAEF,wCAAwC;AACxC,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAA;AAEpE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;CAMmC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { cva } from 'class-variance-authority';
2
+ import { primaryScaleVariants, secondaryScaleVariants } from '../../utils/scales';
3
+ import styles from './search-dialog.module.css';
4
+ /*
5
+ * The search dialog's shared pieces: the CVA function and the row icons.
6
+ * A plain module (not a client one), so a server component reads them too.
7
+ */
8
+ /**
9
+ * On both roots: the trigger (the page scope) and the popup (the overlay
10
+ * scope). Axes: `primary`, `secondary` → scales module classes, never
11
+ * defaulted [D133].
12
+ */
13
+ export const searchDialog = cva(styles.base, {
14
+ variants: {
15
+ primary: primaryScaleVariants,
16
+ secondary: secondaryScaleVariants,
17
+ },
18
+ });
19
+ /**
20
+ * Row icons by the engine's result `type`: page `description`, part
21
+ * `widgets`, export `deployed_code`, section `format_h2`, subsection
22
+ * `format_h3`.
23
+ */
24
+ export const searchDialogTypeIcons = {
25
+ page: 'description',
26
+ part: 'widgets',
27
+ export: 'deployed_code',
28
+ section: 'format_h2',
29
+ subsection: 'format_h3',
30
+ };
31
+ //# sourceMappingURL=variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.js","sourceRoot":"","sources":["../../src/overlays/search-dialog/variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAIjE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAE/C;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;IAC3C,QAAQ,EAAE;QACR,OAAO,EAAE,oBAAoB;QAC7B,SAAS,EAAE,sBAAsB;KAClC;CACF,CAAC,CAAA;AAKF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,WAAW;CAC4C,CAAA"}
@@ -11,13 +11,13 @@ export declare const tooltipTrigger: (props?: ({
11
11
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
12
  type TooltipVariants = VariantProps<typeof tooltip>;
13
13
  export type TooltipTriggerKind = NonNullable<VariantProps<typeof tooltipTrigger>['kind']>;
14
- /** The open delay, mirroring `--ds-delay-tooltip` (500 ms, §1.5.15) [D175]. */
14
+ /** The open delay, mirroring `--fgd-delay-tooltip` (500 ms, §1.5.15) [D175]. */
15
15
  export { TOOLTIP_DELAY_MS };
16
16
  /** Props for TooltipProvider: Base UI Tooltip Provider props. */
17
17
  export type TooltipProviderProps = BaseTooltip.Provider.Props;
18
18
  /**
19
19
  * Shares the open delay across a group of triggers, such as a toolbar: the
20
- * first tooltip opens after `--ds-delay-tooltip` (500 ms), its neighbors
20
+ * first tooltip opens after `--fgd-delay-tooltip` (500 ms), its neighbors
21
21
  * open at once while one is showing.
22
22
  */
23
23
  export declare function TooltipProvider({ delay, ...rest }: TooltipProviderProps): React.JSX.Element;
@@ -63,7 +63,7 @@ export type TooltipPopupProps = BaseTooltip.Popup.Props & Pick<BaseTooltip.Posit
63
63
  };
64
64
  /**
65
65
  * The popup: one short line of `type-caption` (three at most), at most
66
- * `--ds-size-tooltip` (280 px) wide, on the overlay scope's `--primary1` face inside a
66
+ * `--fgd-size-tooltip` (280 px) wide, on the overlay scope's `--primary1` face inside a
67
67
  * `--border-size-2` `--primary12` frame with `--radius-1`. It sits
68
68
  * `--size-px-2` from the trigger (`side`, default `top`) and flips or shifts
69
69
  * to stay inside the viewport.