@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
@@ -9,7 +9,9 @@
9
9
  * the inverse pair); count --primary12; rail --role-hairline; railThumb
10
10
  * --primary12. Colors are role variables only; local custom properties
11
11
  * carry dimensions only (--carousel-slide, --carousel-bleed,
12
- * --carousel-ratio, a unitless ratio).
12
+ * --carousel-ratio, a unitless ratio). The component writes only custom
13
+ * properties inline (--carousel-bleed on the root, --carousel-ratio on a
14
+ * slide); these rules map them to real properties [D205].
13
15
  */
14
16
 
15
17
  /* Composition sits in top-level rules, outside the layers: Lightning CSS
@@ -45,7 +47,7 @@
45
47
  --carousel-slide: 88%;
46
48
 
47
49
  display: flex;
48
- gap: var(--ds-space-12);
50
+ gap: var(--size-px-2-5);
49
51
  margin: 0;
50
52
  padding: 0;
51
53
  list-style: none;
@@ -56,7 +58,7 @@
56
58
  content: '';
57
59
  flex: none;
58
60
  inline-size: var(--carousel-bleed, 0px);
59
- margin-inline-start: calc(-1 * var(--ds-space-12));
61
+ margin-inline-start: calc(-1 * var(--size-px-2-5));
60
62
  }
61
63
 
62
64
  .slide {
@@ -82,7 +84,7 @@
82
84
 
83
85
  .pager {
84
86
  display: flex;
85
- gap: var(--ds-space-12);
87
+ gap: var(--size-px-2-5);
86
88
  }
87
89
 
88
90
  .printSummary {
@@ -92,6 +94,11 @@
92
94
  .photo {
93
95
  margin: 0;
94
96
  }
97
+
98
+ /* The photo at its own ratio, from the slide's --carousel-ratio, so the strip never crops it. */
99
+ .photo img {
100
+ aspect-ratio: var(--carousel-ratio);
101
+ }
95
102
  }
96
103
 
97
104
  @layer variants {
@@ -102,6 +109,9 @@
102
109
  * --carousel-bleed, which the component measures [D186].
103
110
  */
104
111
  .viewport {
112
+ /* A vertical wheel passes to the page: the track never holds vertical scroll chaining [D186]. */
113
+ --scroll-area-overscroll-y: auto;
114
+
105
115
  max-inline-size: none;
106
116
  margin-inline-end: calc(-1 * var(--carousel-bleed, 0px));
107
117
  }
@@ -115,7 +125,7 @@
115
125
  * post 3 + peek, photos the 480 px strip [D186].
116
126
  */
117
127
  .cards .list {
118
- --carousel-slide: calc((88% - var(--ds-space-12)) / 2);
128
+ --carousel-slide: calc((88% - var(--size-px-2-5)) / 2);
119
129
  }
120
130
 
121
131
  .post .list {
@@ -140,7 +150,7 @@
140
150
 
141
151
  @container carousel (width >= 360px) {
142
152
  .cards .list {
143
- --carousel-slide: calc((88cqi - var(--ds-space-12)) / 2);
153
+ --carousel-slide: calc((88cqi - var(--size-px-2-5)) / 2);
144
154
  }
145
155
 
146
156
  .post .list {
@@ -154,13 +164,13 @@
154
164
 
155
165
  @container carousel (width >= 768px) {
156
166
  .post .list {
157
- --carousel-slide: calc((88cqi - var(--ds-space-12)) / 2);
167
+ --carousel-slide: calc((88cqi - var(--size-px-2-5)) / 2);
158
168
  }
159
169
  }
160
170
 
161
171
  @container carousel (width >= 1024px) {
162
172
  .post .list {
163
- --carousel-slide: calc((88cqi - 2 * var(--ds-space-12)) / 3);
173
+ --carousel-slide: calc((88cqi - 2 * var(--size-px-2-5)) / 3);
164
174
  }
165
175
 
166
176
  /*
@@ -176,7 +186,7 @@
176
186
  /*
177
187
  * A slide's figure runs its photo and caption across its full width and
178
188
  * never takes the side caption, so the Figure's 12-track gutters go:
179
- * eleven of them would floor a portrait slide at 11 × --ds-space-margin
189
+ * eleven of them would floor a portrait slide at 11 × --fgd-space-margin
180
190
  * and push its photo past the slide into the next.
181
191
  */
182
192
  .photo {
@@ -0,0 +1,34 @@
1
+ import * as React from 'react';
2
+ import type { UseCodeResult } from '@fairgarden/docs/useCode';
3
+ export type CodeActionsMenuProps = {
4
+ /** The inline row (one named file) instead of the menu (several files, or a nameless one). */
5
+ inline: boolean;
6
+ /** `useCode().selectedFileName`, for the action labels. */
7
+ fileName: string | undefined;
8
+ /** `useCode().copy`. */
9
+ onCopy?: UseCodeResult['copy'];
10
+ /** Copies the selected file's deep link (`useCopier`); omitted without a slug. */
11
+ onCopyLink?: (event: React.MouseEvent<Element>) => void;
12
+ /** `useCode().selectedFileUrl`. Hidden for `file://` URLs, as in the source. */
13
+ fileUrl?: string;
14
+ /** `useCode().copyMarkdown`, offered with several files only. */
15
+ onCopyMarkdown?: UseCodeResult['copyMarkdown'];
16
+ /** `useCode().reset`: defined only with a `CodeControllerContext`. */
17
+ onReset?: UseCodeResult['reset'];
18
+ /** The TS | JS switch; `anchor` is the inline switch or the ⋮ trigger, for scroll anchoring. */
19
+ jsTransform?: {
20
+ enabled: boolean;
21
+ onToggle: (enabled: boolean, anchor: HTMLElement | null) => void;
22
+ };
23
+ /** Two or more variants; `anchor` is the Select or the ⋮ trigger. */
24
+ variants?: {
25
+ items: readonly {
26
+ value: string;
27
+ label: string;
28
+ }[];
29
+ selected: string | undefined;
30
+ onChange: (value: string, anchor: HTMLElement | null) => void;
31
+ };
32
+ };
33
+ export declare function CodeActionsMenu(props: CodeActionsMenuProps): React.JSX.Element;
34
+ //# sourceMappingURL=CodeActionsMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeActionsMenu.d.ts","sourceRoot":"","sources":["../../src/content/code-block/CodeActionsMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAgD7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,8FAA8F;IAC9F,MAAM,EAAE,OAAO,CAAA;IACf,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,wBAAwB;IACxB,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,kFAAkF;IAClF,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IACvD,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,cAAc,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC9C,sEAAsE;IACtE,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAChC,gGAAgG;IAChG,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;KAAE,CAAA;IACpG,qEAAqE;IACrE,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,SAAS;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;QAClD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;KAC9D,CAAA;CACF,CAAA;AAwCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,qBAsL1D"}
@@ -0,0 +1,102 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { Button } from '../../actions/button';
4
+ import { Toggle } from '../../actions/toggle';
5
+ import { ToggleGroup } from '../../actions/toggle-group';
6
+ import { Select } from '../../forms/select';
7
+ import { Menu, MenuCheckboxItem, MenuItem, MenuPopup, MenuRadioGroup, MenuRadioItem, MenuSeparator, } from '../../overlays/menu';
8
+ import { MenuMorphTrigger } from '../../overlays/menu/morph';
9
+ import { Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger } from '../../overlays/tooltip';
10
+ import { Icon } from '../../foundations/icon';
11
+ import { FileTabsControl } from '../../navigation/file-tabs';
12
+ import { actionLabels, openableUrl } from './CodeBlockFrame';
13
+ import styles from './code-block.module.css';
14
+ const TRANSFORM_LABELS = { off: 'TS', on: 'JS', menu: 'Transpile to JavaScript' };
15
+ /** One icon-only action: a small quiet (`text`) Button named by its Tooltip; File Tabs draws its edge on hover and focus. */
16
+ function IconAction({ icon, label, onClick, href, }) {
17
+ const button = href ? (React.createElement(Button, { variant: "text", iconOnly: true, size: "sm", icon: icon, nativeButton: false, render: React.createElement("a", { href: href, target: "_blank", rel: "noreferrer noopener" }) }, label)) : (React.createElement(Button, { variant: "text", iconOnly: true, size: "sm", icon: icon, onClick: onClick }, label));
18
+ return (React.createElement(Tooltip, null,
19
+ React.createElement(TooltipTrigger, { render: button }),
20
+ React.createElement(TooltipPopup, null, label)));
21
+ }
22
+ export function CodeActionsMenu(props) {
23
+ const { inline, fileName, onCopy, onCopyLink, fileUrl, onCopyMarkdown, onReset, jsTransform, variants, } = props;
24
+ // Scroll anchors: the inline switch's and Select's wrappers stay mounted
25
+ // across a swap; in the menu, the items unmount on close, so the trigger
26
+ // anchors instead.
27
+ const switchRef = React.useRef(null);
28
+ const selectRef = React.useRef(null);
29
+ const triggerRef = React.useRef(null);
30
+ // A `file://` URL means the build-time rewrite was skipped; it wouldn't open from the browser.
31
+ const sourceUrl = openableUrl(fileUrl);
32
+ const { copy: copyLabel, link: linkLabel, source: sourceLabel } = actionLabels(fileName);
33
+ const markdownLabel = 'Copy all files as Markdown';
34
+ const resetLabel = 'Reset edits';
35
+ if (inline) {
36
+ // End-aligned, and late controls first: Reset (a code controller's) and
37
+ // the TS | JS switch join after hydration (the loading state can't know
38
+ // them), so they enter at the row's start, taking room from the label,
39
+ // and the Select and Buttons painted from the first frame keep their
40
+ // places.
41
+ return (React.createElement(TooltipProvider, null,
42
+ onReset ? React.createElement(IconAction, { icon: "restart_alt", label: resetLabel, onClick: onReset }) : null,
43
+ jsTransform ? (React.createElement("span", { ref: switchRef, className: styles.transformSwitch },
44
+ React.createElement(ToggleGroup, { variant: "segmented", className: styles.transformGroup, "aria-label": TRANSFORM_LABELS.menu, value: [jsTransform.enabled ? 'on' : 'off'], onValueChange: (value) => {
45
+ // Pressing the pressed cell would empty a single group; keep one side on.
46
+ if (value.length === 0)
47
+ return;
48
+ const enabled = value[value.length - 1] === 'on';
49
+ if (enabled !== jsTransform.enabled)
50
+ jsTransform.onToggle(enabled, switchRef.current);
51
+ } },
52
+ React.createElement(Toggle, { value: "off", size: "sm", className: styles.transformToggle }, TRANSFORM_LABELS.off),
53
+ React.createElement(Toggle, { value: "on", size: "sm", className: styles.transformToggle }, TRANSFORM_LABELS.on)))) : null,
54
+ variants ? (React.createElement("span", { ref: selectRef, className: styles.variantSelect },
55
+ React.createElement(Select, { "aria-label": "Variant", items: variants.items, value: variants.selected ?? null, onValueChange: (value) => {
56
+ if (value != null)
57
+ variants.onChange(value, selectRef.current);
58
+ } }))) : null,
59
+ onCopy ? React.createElement(IconAction, { icon: "content_copy", label: copyLabel, onClick: onCopy }) : null,
60
+ onCopyLink ? React.createElement(IconAction, { icon: "link", label: linkLabel, onClick: onCopyLink }) : null,
61
+ sourceUrl ? React.createElement(IconAction, { icon: "open_in_new", label: sourceLabel, href: sourceUrl }) : null,
62
+ onCopyMarkdown ? (React.createElement(IconAction, { icon: "content_copy", label: markdownLabel, onClick: onCopyMarkdown })) : null));
63
+ }
64
+ // A nameless file whose one action is copy: that action hangs by itself,
65
+ // one click, in the ⋮'s slot and geometry (a FileTabsControl: the same
66
+ // ear, hit area, hover outline and corner wrap). If another action joins
67
+ // later (a TS | JS transform worked out in the browser), the ⋮ takes the
68
+ // slot instead: the same box, only the glyph changes. (Several files
69
+ // always offer copy Markdown too, so they never land here.)
70
+ const copyOnly = onCopy !== undefined &&
71
+ !onCopyLink &&
72
+ !sourceUrl &&
73
+ !onCopyMarkdown &&
74
+ !onReset &&
75
+ !jsTransform &&
76
+ !variants;
77
+ if (copyOnly) {
78
+ return (React.createElement(Tooltip, null,
79
+ React.createElement(TooltipTrigger, { render: React.createElement(FileTabsControl, { "aria-label": copyLabel, onClick: onCopy },
80
+ React.createElement(Icon, { name: "content_copy", size: "inline", weight: "interactive" })) }),
81
+ React.createElement(TooltipPopup, null, copyLabel)));
82
+ }
83
+ const moreLabel = 'More actions';
84
+ return (React.createElement(Menu, null,
85
+ React.createElement(Tooltip, null,
86
+ React.createElement(TooltipTrigger, { render: React.createElement(MenuMorphTrigger, { ref: triggerRef, "aria-label": moreLabel, render: React.createElement(FileTabsControl, null) },
87
+ React.createElement(Icon, { name: "more_vert", size: "tag", weight: "interactive" })) }),
88
+ React.createElement(TooltipPopup, null, moreLabel)),
89
+ React.createElement(MenuPopup, { align: "end" },
90
+ onCopy ? (React.createElement(MenuItem, { icon: "content_copy", onClick: onCopy }, copyLabel)) : null,
91
+ onCopyLink ? (React.createElement(MenuItem, { icon: "link", onClick: onCopyLink }, linkLabel)) : null,
92
+ sourceUrl ? (React.createElement(MenuItem, { icon: "open_in_new", closeOnClick: true, render: React.createElement("a", { href: sourceUrl, target: "_blank", rel: "noreferrer noopener" }) }, sourceLabel)) : null,
93
+ onCopyMarkdown ? (React.createElement(MenuItem, { icon: "content_copy", onClick: onCopyMarkdown }, markdownLabel)) : null,
94
+ jsTransform ? (React.createElement(React.Fragment, null,
95
+ React.createElement(MenuSeparator, null),
96
+ React.createElement(MenuCheckboxItem, { checked: jsTransform.enabled, closeOnClick: false, onCheckedChange: (enabled) => jsTransform.onToggle(enabled, triggerRef.current) }, TRANSFORM_LABELS.menu))) : null,
97
+ variants ? (React.createElement(React.Fragment, null,
98
+ React.createElement(MenuSeparator, null),
99
+ React.createElement(MenuRadioGroup, { value: variants.selected, onValueChange: (value) => variants.onChange(String(value), triggerRef.current) }, variants.items.map((item) => (React.createElement(MenuRadioItem, { key: item.value, value: item.value, closeOnClick: true }, item.label)))))) : null,
100
+ onReset ? (React.createElement(MenuItem, { icon: "restart_alt", onClick: onReset }, resetLabel)) : null)));
101
+ }
102
+ //# sourceMappingURL=CodeActionsMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeActionsMenu.js","sourceRoot":"","sources":["../../src/content/code-block/CodeActionsMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import * as React from 'react';
2
+ import type { ContentProps } from '@fairgarden/docs/CodeHighlighter/types';
3
+ import type { PrimaryScale, RadixScale } from '../../utils/scales';
4
+ export { codeBlock } from './CodeBlockFrame';
5
+ /** Code Block's own content props: JSON, so a fence's `data-content-props` or a demo's props can carry them. */
6
+ export type CodeBlockOptions = {
7
+ /**
8
+ * Collapses the code to its window (`@focus`, emphasis) with the "Show all {n} lines" toggle,
9
+ * where the code has one. A fence flag (` ```tsx collapse `) arrives as the string `'true'`,
10
+ * which counts. Not `collapsible`: the engine hands a ContentLoading its own `collapsible`
11
+ * (whether a file has a window), which would shadow it. Default `false`.
12
+ */
13
+ collapse?: boolean | 'true';
14
+ };
15
+ /** Props for CodeBlock: the content props CodeHighlighter hands its `Content`, plus the block's scales. */
16
+ export type CodeBlockProps = ContentProps<CodeBlockOptions> & {
17
+ /** Primary scale: frame, labels, syntax inks, highlight fills, focus ring. Never defaulted [D133]. */
18
+ primary?: PrimaryScale;
19
+ /** Secondary scale: highlight accent bar (`--role-accent`), keywords (`--secondary12`), the selected file tab. Never defaulted. */
20
+ secondary?: RadixScale;
21
+ className?: string;
22
+ };
23
+ /**
24
+ * A code block: the file tabs (or the one file's name), the busy label and
25
+ * the actions in the header, the selected file's highlighted source, and,
26
+ * with `collapse`, the window's toggle under a long block. Tabs are links
27
+ * to each file's `#slug`; a modifier click opens the link instead of
28
+ * switching. Copy writes the selected file; "Copy link" its deep link. Each
29
+ * copy confirms with a toast (a danger toast if the clipboard refuses)
30
+ * through the design system's ToastProvider, where one is mounted above;
31
+ * without one, copying is silent. A nameless snippet has no header row.
32
+ * With several files, or none named, the "More actions" ⋮ hangs outside
33
+ * the frame's inline-end edge: leave `--fgd-size-file-tabs-control`
34
+ * (24 px) free past the block, unclipped.
35
+ */
36
+ export declare function CodeBlock(props: CodeBlockProps): React.JSX.Element;
37
+ //# sourceMappingURL=CodeBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/content/code-block/CodeBlock.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAI1E,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAKlE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AA+C5C,gHAAgH;AAChH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,2GAA2G;AAC3G,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG;IAC5D,sGAAsG;IACtG,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,mIAAmI;IACnI,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAkB9C"}
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { useCode } from '@fairgarden/docs/useCode';
4
+ import { useCodeWindow } from '@fairgarden/docs/useCodeWindow';
5
+ import { isOn } from './CodeBlockFrame';
6
+ import { CodeBlockSection, useCodeBlockOptions } from './CodeBlockSection';
7
+ import { useCopyToasts } from './CodeBlockToasts';
8
+ export { codeBlock } from './CodeBlockFrame';
9
+ /**
10
+ * A code block: the file tabs (or the one file's name), the busy label and
11
+ * the actions in the header, the selected file's highlighted source, and,
12
+ * with `collapse`, the window's toggle under a long block. Tabs are links
13
+ * to each file's `#slug`; a modifier click opens the link instead of
14
+ * switching. Copy writes the selected file; "Copy link" its deep link. Each
15
+ * copy confirms with a toast (a danger toast if the clipboard refuses)
16
+ * through the design system's ToastProvider, where one is mounted above;
17
+ * without one, copying is silent. A nameless snippet has no header row.
18
+ * With several files, or none named, the "More actions" ⋮ hangs outside
19
+ * the frame's inline-end edge: leave `--fgd-size-file-tabs-control`
20
+ * (24 px) free past the block, unclipped.
21
+ */
22
+ export function CodeBlock(props) {
23
+ const { primary, secondary, className, ...contentProps } = props;
24
+ const collapsible = isOn(contentProps.collapse);
25
+ const codeWindow = useCodeWindow();
26
+ const toasts = useCopyToasts();
27
+ const code = useCode(contentProps, useCodeBlockOptions(collapsible, codeWindow, toasts));
28
+ return (React.createElement(CodeBlockSection, { code: code, codeWindow: codeWindow, collapsible: collapsible, toasts: toasts, primary: primary, secondary: secondary, className: className }));
29
+ }
30
+ //# sourceMappingURL=CodeBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../src/content/code-block/CodeBlock.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAG9D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAmE5C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAA;IAChE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,aAAa,EAAoB,CAAA;IACpD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;IAExF,OAAO,CACL,oBAAC,gBAAgB,IACf,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,54 @@
1
+ import * as React from 'react';
2
+ /** Code Block's CVA function. `embedded` is the Demo's code section. */
3
+ export declare const codeBlock: (props?: ({
4
+ embedded?: 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
+ /** A variant Select's items from variant keys (`useCode().variants`, or a fallback's). */
9
+ export declare function variantItems(variants: readonly string[]): {
10
+ value: string;
11
+ label: string;
12
+ }[];
13
+ /**
14
+ * The one-file actions' names, shared by the loaded row (CodeActionsMenu)
15
+ * and the loading state's stand-ins, so both read the same. A nameless
16
+ * file's copy is "Copy code" (its toast says "Code copied").
17
+ */
18
+ export declare function actionLabels(fileName: string | undefined): {
19
+ copy: string;
20
+ link: string;
21
+ source: string;
22
+ };
23
+ /**
24
+ * A source URL the browser can open, for "View source": not a `file://`
25
+ * URL, which means the build-time rewrite was skipped.
26
+ */
27
+ export declare function openableUrl(url: string | undefined): string | undefined;
28
+ /**
29
+ * A content prop that arrives from JSON: `true`, or a fence's flag (the
30
+ * pipeline passes a bare ` ```tsx collapse ` as the string `'true'`).
31
+ */
32
+ export declare function isOn(value: unknown): value is true | "true" | "";
33
+ export type CodeBlockToggleProps = {
34
+ /** The hidden checkbox's id (the label's `htmlFor`). */
35
+ id: string;
36
+ /** The file's line count, for "Show all {n} lines". */
37
+ lines: number | undefined;
38
+ /** Controlled by useCode's `expanded` once loaded. */
39
+ checked?: boolean;
40
+ /** Uncontrolled in the loading state: `initialExpanded`. */
41
+ defaultChecked?: boolean;
42
+ /** A fallback that carries only the window has nothing to expand into yet. */
43
+ disabled?: boolean;
44
+ onChange?: (expanded: boolean) => void;
45
+ /** `useCodeWindow().toggleRef`. */
46
+ toggleRef?: React.Ref<HTMLLabelElement>;
47
+ };
48
+ /**
49
+ * The window's control: a visually hidden checkbox (the state, which works
50
+ * before hydration) and its label, a full-width row with the disclosure
51
+ * glyph [D109].
52
+ */
53
+ export declare function CodeBlockToggle(props: CodeBlockToggleProps): React.JSX.Element;
54
+ //# sourceMappingURL=CodeBlockFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockFrame.d.ts","sourceRoot":"","sources":["../../src/content/code-block/CodeBlockFrame.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAgB9B,wEAAwE;AACxE,eAAO,MAAM,SAAS;;;;8EAYpB,CAAA;AAKF,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE;;;IAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;;;;EAMxD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,sBAElD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,+BAElC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAA;IACV,uDAAuD;IACvD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,mCAAmC;IACnC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;CACxC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,qBAmC1D"}
@@ -0,0 +1,80 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { cva } from 'class-variance-authority';
4
+ import { DisclosureGlyph } from '../../disclosure/collapsible';
5
+ import { cx } from '../../utils/className';
6
+ import { primaryScaleVariants, secondaryScaleVariants } from '../../utils/scales';
7
+ import styles from './code-block.module.css';
8
+ /*
9
+ * Internal to Code Block and Demo: the frame parts the loaded block and its
10
+ * loading state share: the CVA function and the window's toggle (the
11
+ * header, with its hanging actions, is File Tabs'). No docs engine runtime
12
+ * here, so the loading path (CodeBlockLoading, DemoLoading) stays light.
13
+ * Not exported from the index; `codeBlock` is re-exported by CodeBlock.
14
+ */
15
+ /** Code Block's CVA function. `embedded` is the Demo's code section. */
16
+ export const codeBlock = cva(styles.base, {
17
+ variants: {
18
+ embedded: {
19
+ true: styles.embedded,
20
+ },
21
+ // Color axes: never defaulted, so an omitted prop inherits the scope [D133].
22
+ primary: primaryScaleVariants,
23
+ secondary: secondaryScaleVariants,
24
+ },
25
+ defaultVariants: {
26
+ embedded: false,
27
+ },
28
+ });
29
+ /** Display names for variant keys, as in the source. */
30
+ const VARIANT_LABELS = { CssModules: 'CSS Modules' };
31
+ /** A variant Select's items from variant keys (`useCode().variants`, or a fallback's). */
32
+ export function variantItems(variants) {
33
+ return variants.map((value) => ({ value, label: VARIANT_LABELS[value] ?? value }));
34
+ }
35
+ /**
36
+ * The one-file actions' names, shared by the loaded row (CodeActionsMenu)
37
+ * and the loading state's stand-ins, so both read the same. A nameless
38
+ * file's copy is "Copy code" (its toast says "Code copied").
39
+ */
40
+ export function actionLabels(fileName) {
41
+ return {
42
+ copy: fileName ? `Copy ${fileName} source` : 'Copy code',
43
+ link: fileName ? `Copy ${fileName} link` : 'Copy link',
44
+ source: fileName ? `View ${fileName} source` : 'View source',
45
+ };
46
+ }
47
+ /**
48
+ * A source URL the browser can open, for "View source": not a `file://`
49
+ * URL, which means the build-time rewrite was skipped.
50
+ */
51
+ export function openableUrl(url) {
52
+ return url && !url.startsWith('file://') ? url : undefined;
53
+ }
54
+ /**
55
+ * A content prop that arrives from JSON: `true`, or a fence's flag (the
56
+ * pipeline passes a bare ` ```tsx collapse ` as the string `'true'`).
57
+ */
58
+ export function isOn(value) {
59
+ return value === true || value === 'true' || value === '';
60
+ }
61
+ /**
62
+ * The window's control: a visually hidden checkbox (the state, which works
63
+ * before hydration) and its label, a full-width row with the disclosure
64
+ * glyph [D109].
65
+ */
66
+ export function CodeBlockToggle(props) {
67
+ const { id, lines, checked, defaultChecked, disabled, onChange, toggleRef } = props;
68
+ // As the source: a pointer press never leaves the hidden checkbox focused.
69
+ const blurPointerFocus = (event) => {
70
+ if (!event.currentTarget.matches(':focus-visible'))
71
+ event.currentTarget.blur();
72
+ };
73
+ return (React.createElement(React.Fragment, null,
74
+ React.createElement("input", { type: "checkbox", id: id, className: styles.checkbox, checked: checked, defaultChecked: defaultChecked, disabled: disabled, onFocus: blurPointerFocus, onChange: onChange ? (event) => onChange(event.target.checked) : undefined }),
75
+ React.createElement("label", { ref: toggleRef, htmlFor: id, className: styles.toggle, "data-panel-open": (checked ?? defaultChecked) ? '' : undefined },
76
+ React.createElement(DisclosureGlyph, { size: "chrome" }),
77
+ React.createElement("span", { className: cx(styles.toggleLabel, styles.showAll) }, lines != null ? `Show all ${lines} lines` : 'Show all lines'),
78
+ React.createElement("span", { className: cx(styles.toggleLabel, styles.showFewer) }, "Show fewer lines"))));
79
+ }
80
+ //# sourceMappingURL=CodeBlockFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockFrame.js","sourceRoot":"","sources":["../../src/content/code-block/CodeBlockFrame.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import type { UseCodeResult } from '@fairgarden/docs/useCode';
3
+ import { type FileTab } from '../../navigation/file-tabs';
4
+ import type { PrimaryScale, RadixScale } from '../../utils/scales';
5
+ export type CodeBlockHeaderProps = {
6
+ /** The files as tabs (one: its label; none, a nameless file: no header row). */
7
+ tabs: readonly FileTab[];
8
+ /** The selected file's name. */
9
+ value: string | undefined;
10
+ /** `useCode().selectFileName`; omitted while loading. */
11
+ onValueChange?: (id: string) => void;
12
+ /** The loading state's tabs. */
13
+ disabled?: boolean;
14
+ /** The Demo's code section: the header joins the preview with a rule. */
15
+ embedded: boolean;
16
+ /** The actions (`CodeActionsMenu`, or the loading state's disabled stand-ins). */
17
+ actions: React.ReactNode;
18
+ /** `useCode().pendingTransform`: `undefined` is idle; `null` is a swap back to the original (TS). */
19
+ pending: UseCodeResult['pendingTransform'];
20
+ primary?: PrimaryScale;
21
+ secondary?: RadixScale;
22
+ /** The panel's content: the selected file's source. */
23
+ children: React.ReactNode;
24
+ };
25
+ export declare function CodeBlockHeader(props: CodeBlockHeaderProps): React.JSX.Element;
26
+ //# sourceMappingURL=CodeBlockHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockHeader.d.ts","sourceRoot":"","sources":["../../src/content/code-block/CodeBlockHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,EAAyC,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAChG,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAmBlE,MAAM,MAAM,oBAAoB,GAAG;IACjC,gFAAgF;IAChF,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;IACxB,gCAAgC;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,yDAAyD;IACzD,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAA;IACjB,kFAAkF;IAClF,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,qGAAqG;IACrG,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,uDAAuD;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,qBAgC1D"}
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { FileTabs, FileTabsList, FileTabsPanel } from '../../navigation/file-tabs';
3
+ /** The busy label's target: TS for the original, JS for the `js` transform, else its name. */
4
+ function pendingLabel(pending) {
5
+ if (pending === null)
6
+ return 'TS';
7
+ return pending === 'js' ? 'JS' : pending;
8
+ }
9
+ export function CodeBlockHeader(props) {
10
+ const { tabs, value, onValueChange, disabled, embedded, actions, pending, primary, secondary, children, } = props;
11
+ const status = pending !== undefined ? `Switching to ${pendingLabel(pending)}…` : '';
12
+ return (React.createElement(FileTabs, { tabs: tabs, value: value, onValueChange: onValueChange, disabled: disabled, frame: embedded ? 'joined' : 'top', mono: true, controls: actions, status: status, primary: primary, secondary: secondary },
13
+ React.createElement(FileTabsList, { "aria-label": "Files" }),
14
+ React.createElement(FileTabsPanel, null, children)));
15
+ }
16
+ //# sourceMappingURL=CodeBlockHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockHeader.js","sourceRoot":"","sources":["../../src/content/code-block/CodeBlockHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAgB,MAAM,4BAA4B,CAAA;AAyChG,8FAA8F;AAC9F,SAAS,YAAY,CAAC,OAAsB;IAC1C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,GACT,GAAG,KAAK,CAAA;IACT,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEpF,OAAO,CACL,oBAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAClC,IAAI,QACJ,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS;QAEpB,oBAAC,YAAY,kBAAY,OAAO,GAAG;QACnC,oBAAC,aAAa,QAAE,QAAQ,CAAiB,CAChC,CACZ,CAAA;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import type { CodeBlockProps } from './CodeBlock';
3
+ /**
4
+ * Code Block, code-split: CodeHighlighter's `Content` that loads CodeBlock
5
+ * (`useCode`, the tabs, the menus) in its own chunk, as fg-docs'
6
+ * CodeContentLazy. Pair it with `ContentLoading={CodeBlockLoading}`, which
7
+ * shows while the chunk loads. The import lives in this client module
8
+ * because a function can't cross from a server component as a prop.
9
+ */
10
+ export declare function CodeBlockLazy(props: CodeBlockProps): React.JSX.Element;
11
+ //# sourceMappingURL=CodeBlockLazy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockLazy.d.ts","sourceRoot":"","sources":["../../src/content/code-block/CodeBlockLazy.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,qBAOlD"}
@@ -0,0 +1,14 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { LazyContent } from '@fairgarden/docs/CoordinatedLazy';
4
+ /**
5
+ * Code Block, code-split: CodeHighlighter's `Content` that loads CodeBlock
6
+ * (`useCode`, the tabs, the menus) in its own chunk, as fg-docs'
7
+ * CodeContentLazy. Pair it with `ContentLoading={CodeBlockLoading}`, which
8
+ * shows while the chunk loads. The import lives in this client module
9
+ * because a function can't cross from a server component as a prop.
10
+ */
11
+ export function CodeBlockLazy(props) {
12
+ return (React.createElement(LazyContent, { content: () => import('./CodeBlock').then((mod) => ({ default: mod.CodeBlock })), props: props }));
13
+ }
14
+ //# sourceMappingURL=CodeBlockLazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockLazy.js","sourceRoot":"","sources":["../../src/content/code-block/CodeBlockLazy.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAI9D;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAqB;IACjD,OAAO,CACL,oBAAC,WAAW,IACV,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAChF,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ import type { ContentLoadingProps } from '@fairgarden/docs/CodeHighlighter/types';
3
+ import type { PrimaryScale, RadixScale } from '../../utils/scales';
4
+ import type { CodeBlockOptions } from './CodeBlock';
5
+ /** Props for CodeBlockLoading: what CodeHighlighter hands its `ContentLoading`, plus the block's scales. */
6
+ export type CodeBlockLoadingProps = ContentLoadingProps<CodeBlockOptions> & {
7
+ primary?: PrimaryScale;
8
+ secondary?: RadixScale;
9
+ className?: string;
10
+ };
11
+ export type CodeBlockSectionLoadingProps = {
12
+ /** The ContentLoading props (the fallback). */
13
+ fallback: ContentLoadingProps<object>;
14
+ collapsible: boolean;
15
+ /** The Demo's code section (the Demo renders the scroll targets). */
16
+ embedded?: boolean;
17
+ primary?: PrimaryScale;
18
+ secondary?: RadixScale;
19
+ className?: string;
20
+ };
21
+ /** Every scroll target the fallback knows: the initial variant's files, and other variants' when it carries them. */
22
+ export declare function fallbackSlugs(fallback: ContentLoadingProps<object>, fileNames: readonly string[]): string[];
23
+ /** Internal to Code Block and Demo: the code section from the fallback. Not exported from the index. */
24
+ export declare function CodeBlockSectionLoading(props: CodeBlockSectionLoadingProps): React.JSX.Element;
25
+ /**
26
+ * The loading state of a code block: the precomputed fallback in the
27
+ * loaded block's frame, with its tabs and actions disabled until the
28
+ * content loads. Pass it as CodeHighlighter's `ContentLoading`.
29
+ */
30
+ export declare function CodeBlockLoading(props: CodeBlockLoadingProps): React.JSX.Element;
31
+ //# sourceMappingURL=CodeBlockLoading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockLoading.d.ts","sourceRoot":"","sources":["../../src/content/code-block/CodeBlockLoading.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAQjF,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAyBnD,4GAA4G;AAC5G,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IAC1E,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,+CAA+C;IAC/C,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACrC,WAAW,EAAE,OAAO,CAAA;IACpB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,qHAAqH;AACrH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,YAYhG;AAED,wGAAwG;AACxG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,qBA8G1E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,qBAW5D"}