@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.
- package/LICENSE +21 -0
- package/Readme.md +51 -27
- package/actions/button/Button.d.ts.map +1 -1
- package/actions/button/Button.js +13 -1
- package/actions/button/Button.js.map +1 -1
- package/actions/button/button.module.css +85 -25
- package/actions/chip/Chip.d.ts +2 -2
- package/actions/chip/Chip.js +2 -2
- package/actions/chip/chip.module.css +12 -18
- package/actions/link/Link.d.ts +1 -1
- package/actions/link/link.module.css +22 -19
- package/actions/toggle/Toggle.js +1 -1
- package/actions/toggle/toggle.module.css +27 -23
- package/content/card/card.module.css +27 -27
- package/content/card-grid/CardGrid.js +1 -1
- package/content/card-grid/card-grid.module.css +3 -3
- package/content/carousel/Carousel.d.ts.map +1 -1
- package/content/carousel/Carousel.js +1 -4
- package/content/carousel/Carousel.js.map +1 -1
- package/content/carousel/carousel.module.css +19 -9
- package/content/code-block/CodeActionsMenu.d.ts +34 -0
- package/content/code-block/CodeActionsMenu.d.ts.map +1 -0
- package/content/code-block/CodeActionsMenu.js +102 -0
- package/content/code-block/CodeActionsMenu.js.map +1 -0
- package/content/code-block/CodeBlock.d.ts +37 -0
- package/content/code-block/CodeBlock.d.ts.map +1 -0
- package/content/code-block/CodeBlock.js +30 -0
- package/content/code-block/CodeBlock.js.map +1 -0
- package/content/code-block/CodeBlockFrame.d.ts +54 -0
- package/content/code-block/CodeBlockFrame.d.ts.map +1 -0
- package/content/code-block/CodeBlockFrame.js +80 -0
- package/content/code-block/CodeBlockFrame.js.map +1 -0
- package/content/code-block/CodeBlockHeader.d.ts +26 -0
- package/content/code-block/CodeBlockHeader.d.ts.map +1 -0
- package/content/code-block/CodeBlockHeader.js +16 -0
- package/content/code-block/CodeBlockHeader.js.map +1 -0
- package/content/code-block/CodeBlockLazy.d.ts +11 -0
- package/content/code-block/CodeBlockLazy.d.ts.map +1 -0
- package/content/code-block/CodeBlockLazy.js +14 -0
- package/content/code-block/CodeBlockLazy.js.map +1 -0
- package/content/code-block/CodeBlockLoading.d.ts +31 -0
- package/content/code-block/CodeBlockLoading.d.ts.map +1 -0
- package/content/code-block/CodeBlockLoading.js +90 -0
- package/content/code-block/CodeBlockLoading.js.map +1 -0
- package/content/code-block/CodeBlockSection.d.ts +40 -0
- package/content/code-block/CodeBlockSection.d.ts.map +1 -0
- package/content/code-block/CodeBlockSection.js +105 -0
- package/content/code-block/CodeBlockSection.js.map +1 -0
- package/content/code-block/CodeBlockToasts.d.ts +26 -0
- package/content/code-block/CodeBlockToasts.d.ts.map +1 -0
- package/content/code-block/CodeBlockToasts.js +88 -0
- package/content/code-block/CodeBlockToasts.js.map +1 -0
- package/content/code-block/code-block.module.css +949 -0
- package/content/code-block/index.d.ts +4 -0
- package/content/code-block/index.d.ts.map +1 -0
- package/content/code-block/index.js +4 -0
- package/content/code-block/index.js.map +1 -0
- package/content/demo/DemoContent.d.ts +32 -0
- package/content/demo/DemoContent.d.ts.map +1 -0
- package/content/demo/DemoContent.js +87 -0
- package/content/demo/DemoContent.js.map +1 -0
- package/content/demo/DemoFrame.d.ts +6 -0
- package/content/demo/DemoFrame.d.ts.map +1 -0
- package/content/demo/DemoFrame.js +17 -0
- package/content/demo/DemoFrame.js.map +1 -0
- package/content/demo/DemoLazy.d.ts +11 -0
- package/content/demo/DemoLazy.d.ts.map +1 -0
- package/content/demo/DemoLazy.js +14 -0
- package/content/demo/DemoLazy.js.map +1 -0
- package/content/demo/DemoLoading.d.ts +23 -0
- package/content/demo/DemoLoading.d.ts.map +1 -0
- package/content/demo/DemoLoading.js +26 -0
- package/content/demo/DemoLoading.js.map +1 -0
- package/content/demo/demo.module.css +163 -0
- package/content/demo/index.d.ts +4 -0
- package/content/demo/index.d.ts.map +1 -0
- package/content/demo/index.js +4 -0
- package/content/demo/index.js.map +1 -0
- package/content/empty-state/EmptyState.d.ts +1 -1
- package/content/empty-state/EmptyState.js +1 -1
- package/content/empty-state/empty-state.module.css +11 -11
- package/content/feature-grid/feature-grid.module.css +22 -22
- package/content/index-rows/IndexRows.d.ts +2 -2
- package/content/index-rows/IndexRows.d.ts.map +1 -1
- package/content/index-rows/IndexRows.js +1 -1
- package/content/index-rows/index-rows.module.css +29 -29
- package/content/pricing/Pricing.d.ts +4 -4
- package/content/pricing/Pricing.d.ts.map +1 -1
- package/content/pricing/Pricing.js +4 -4
- package/content/pricing/Pricing.js.map +1 -1
- package/content/pricing/pricing.module.css +22 -22
- package/content/profile/Profile.d.ts +1 -1
- package/content/profile/Profile.js +2 -2
- package/content/profile/profile.module.css +13 -13
- package/content/quote/Quote.d.ts +1 -1
- package/content/quote/quote.module.css +9 -9
- package/content/timeline/Timeline.d.ts +1 -1
- package/content/timeline/Timeline.d.ts.map +1 -1
- package/content/timeline/Timeline.js +5 -5
- package/content/timeline/Timeline.js.map +1 -1
- package/content/timeline/timeline.module.css +12 -12
- package/content/types-table/TypePre.d.ts +11 -0
- package/content/types-table/TypePre.d.ts.map +1 -0
- package/content/types-table/TypePre.js +13 -0
- package/content/types-table/TypePre.js.map +1 -0
- package/content/types-table/TypesTable.d.ts +22 -0
- package/content/types-table/TypesTable.d.ts.map +1 -0
- package/content/types-table/TypesTable.js +124 -0
- package/content/types-table/TypesTable.js.map +1 -0
- package/content/types-table/index.d.ts +3 -0
- package/content/types-table/index.d.ts.map +1 -0
- package/content/types-table/index.js +3 -0
- package/content/types-table/index.js.map +1 -0
- package/content/types-table/types-table.module.css +160 -0
- package/data/chart/Chart.d.ts +8 -1
- package/data/chart/Chart.d.ts.map +1 -1
- package/data/chart/Chart.js +28 -15
- package/data/chart/Chart.js.map +1 -1
- package/data/chart/chart.module.css +20 -6
- package/data/figure/Figure.d.ts +1 -1
- package/data/figure/Figure.js +1 -1
- package/data/figure/figure.module.css +7 -7
- package/data/map/Map.d.ts +3 -3
- package/data/map/Map.d.ts.map +1 -1
- package/data/map/Map.js +10 -8
- package/data/map/Map.js.map +1 -1
- package/data/map/MapCanvas.d.ts.map +1 -1
- package/data/map/MapCanvas.js +5 -9
- package/data/map/MapCanvas.js.map +1 -1
- package/data/map/map.module.css +39 -14
- package/data/map/mapStyle.d.ts +2 -2
- package/data/map/mapStyle.d.ts.map +1 -1
- package/data/map/mapStyle.js +5 -5
- package/data/map/mapStyle.js.map +1 -1
- package/data/scroll-area/ScrollArea.d.ts.map +1 -1
- package/data/scroll-area/ScrollArea.js +8 -4
- package/data/scroll-area/ScrollArea.js.map +1 -1
- package/data/scroll-area/scroll-area.module.css +28 -9
- package/data/spec-grid/spec-grid.module.css +8 -8
- package/data/spec-list/spec-list.module.css +3 -3
- package/data/spec-sheet/SpecSheet.d.ts +2 -2
- package/data/spec-sheet/SpecSheet.js +1 -1
- package/data/spec-sheet/spec-sheet.module.css +9 -9
- package/data/stat/Stat.d.ts +1 -1
- package/data/stat/Stat.d.ts.map +1 -1
- package/data/stat/stat.module.css +4 -4
- package/data/table/Table.d.ts +6 -5
- package/data/table/Table.d.ts.map +1 -1
- package/data/table/Table.js.map +1 -1
- package/data/table/table.module.css +43 -46
- package/disclosure/accordion/Accordion.d.ts +1 -1
- package/disclosure/accordion/Accordion.js +1 -1
- package/disclosure/accordion/accordion.module.css +12 -12
- package/disclosure/collapsible/Collapsible.d.ts +4 -4
- package/disclosure/collapsible/Collapsible.js +4 -4
- package/disclosure/collapsible/collapsible.module.css +10 -10
- package/disclosure/faq/FAQ.d.ts +3 -3
- package/disclosure/faq/FAQ.d.ts.map +1 -1
- package/disclosure/faq/FAQ.js +3 -3
- package/disclosure/faq/FAQ.js.map +1 -1
- package/disclosure/faq/faq.module.css +20 -20
- package/feedback/alert/alert.module.css +4 -4
- package/feedback/avatar/avatar-group.module.css +2 -2
- package/feedback/avatar/avatar.module.css +9 -9
- package/feedback/badge/Badge.d.ts +1 -1
- package/feedback/badge/badge.module.css +7 -7
- package/feedback/meter/Meter.d.ts +2 -2
- package/feedback/meter/meter.module.css +14 -14
- package/feedback/progress/Progress.d.ts +1 -1
- package/feedback/progress/progress.module.css +7 -7
- package/feedback/tag/tag.module.css +7 -7
- package/feedback/toast/Toast.d.ts +3 -3
- package/feedback/toast/Toast.d.ts.map +1 -1
- package/feedback/toast/Toast.js +17 -7
- package/feedback/toast/Toast.js.map +1 -1
- package/feedback/toast/toast.module.css +31 -20
- package/forms/autocomplete/Autocomplete.d.ts +11 -0
- package/forms/autocomplete/Autocomplete.d.ts.map +1 -1
- package/forms/autocomplete/Autocomplete.js +27 -6
- package/forms/autocomplete/Autocomplete.js.map +1 -1
- package/forms/autocomplete/autocomplete.module.css +35 -41
- package/forms/checkbox/Checkbox.js +1 -1
- package/forms/checkbox/checkbox.module.css +29 -25
- package/forms/checkbox-group/checkbox-group.module.css +4 -4
- package/forms/combobox/Combobox.d.ts +10 -0
- package/forms/combobox/Combobox.d.ts.map +1 -1
- package/forms/combobox/Combobox.js +28 -7
- package/forms/combobox/Combobox.js.map +1 -1
- package/forms/combobox/combobox.module.css +34 -41
- package/forms/field/field.module.css +1 -1
- package/forms/fieldset/Fieldset.d.ts +1 -1
- package/forms/fieldset/Fieldset.js +2 -2
- package/forms/fieldset/fieldset.module.css +14 -14
- package/forms/form/form.module.css +2 -2
- package/forms/input/Input.d.ts +10 -3
- package/forms/input/Input.d.ts.map +1 -1
- package/forms/input/Input.js +10 -4
- package/forms/input/Input.js.map +1 -1
- package/forms/input/input.module.css +38 -21
- package/forms/number-field/number-field.module.css +24 -23
- package/forms/radio/Radio.d.ts +1 -1
- package/forms/radio/Radio.d.ts.map +1 -1
- package/forms/radio/Radio.js +5 -3
- package/forms/radio/Radio.js.map +1 -1
- package/forms/radio/radio.module.css +38 -30
- package/forms/radio-group/RadioGroup.d.ts +1 -1
- package/forms/radio-group/radio-group.module.css +3 -3
- package/forms/search/Search.d.ts +10 -0
- package/forms/search/Search.d.ts.map +1 -1
- package/forms/search/Search.js +25 -6
- package/forms/search/Search.js.map +1 -1
- package/forms/search/search.module.css +25 -33
- package/forms/select/Select.d.ts +10 -2
- package/forms/select/Select.d.ts.map +1 -1
- package/forms/select/Select.js +27 -12
- package/forms/select/Select.js.map +1 -1
- package/forms/select/select.module.css +42 -48
- package/forms/slider/Slider.js +2 -2
- package/forms/slider/slider.module.css +23 -23
- package/forms/switch/Switch.js +1 -1
- package/forms/switch/switch.module.css +23 -19
- package/foundations/expanding-box/ExpandingBox.d.ts +86 -0
- package/foundations/expanding-box/ExpandingBox.d.ts.map +1 -0
- package/foundations/expanding-box/ExpandingBox.js +179 -0
- package/foundations/expanding-box/ExpandingBox.js.map +1 -0
- package/foundations/expanding-box/expanding-box.module.css +415 -0
- package/foundations/expanding-box/index.d.ts +3 -0
- package/foundations/expanding-box/index.d.ts.map +1 -0
- package/foundations/expanding-box/index.js +3 -0
- package/foundations/expanding-box/index.js.map +1 -0
- package/foundations/expanding-box/startExpandingTransition.d.ts +33 -0
- package/foundations/expanding-box/startExpandingTransition.d.ts.map +1 -0
- package/foundations/expanding-box/startExpandingTransition.js +82 -0
- package/foundations/expanding-box/startExpandingTransition.js.map +1 -0
- package/foundations/ground/Ground.d.ts +1 -1
- package/foundations/ground/ground.module.css +4 -4
- package/foundations/icon/Icon.d.ts +1 -1
- package/foundations/icon/Icon.js +1 -1
- package/foundations/icon/icon.module.css +1 -1
- package/foundations/outline-morph/OutlineMorph.d.ts +112 -0
- package/foundations/outline-morph/OutlineMorph.d.ts.map +1 -0
- package/foundations/outline-morph/OutlineMorph.js +83 -0
- package/foundations/outline-morph/OutlineMorph.js.map +1 -0
- package/foundations/outline-morph/index.d.ts +3 -0
- package/foundations/outline-morph/index.d.ts.map +1 -0
- package/foundations/outline-morph/index.js +3 -0
- package/foundations/outline-morph/index.js.map +1 -0
- package/foundations/outline-morph/morphEngine.d.ts +219 -0
- package/foundations/outline-morph/morphEngine.d.ts.map +1 -0
- package/foundations/outline-morph/morphEngine.js +1331 -0
- package/foundations/outline-morph/morphEngine.js.map +1 -0
- package/foundations/outline-morph/outline-morph.module.css +113 -0
- package/foundations/outline-morph/useOutlineMorphRoot.d.ts +50 -0
- package/foundations/outline-morph/useOutlineMorphRoot.d.ts.map +1 -0
- package/foundations/outline-morph/useOutlineMorphRoot.js +55 -0
- package/foundations/outline-morph/useOutlineMorphRoot.js.map +1 -0
- package/foundations/separator/separator.module.css +10 -10
- package/foundations/sticker/Sticker.d.ts +4 -4
- package/foundations/sticker/Sticker.d.ts.map +1 -1
- package/foundations/sticker/Sticker.js +3 -3
- package/foundations/sticker/sticker.module.css +10 -10
- package/icons/paths.d.ts +1 -1
- package/icons/paths.d.ts.map +1 -1
- package/icons/paths.js +50 -0
- package/icons/paths.js.map +1 -1
- package/navigation/breadcrumb/Breadcrumb.d.ts +7 -1
- package/navigation/breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/navigation/breadcrumb/Breadcrumb.js +8 -8
- package/navigation/breadcrumb/Breadcrumb.js.map +1 -1
- package/navigation/breadcrumb/breadcrumb.module.css +14 -14
- package/navigation/file-tabs/FileTabs.d.ts +169 -0
- package/navigation/file-tabs/FileTabs.d.ts.map +1 -0
- package/navigation/file-tabs/FileTabs.js +253 -0
- package/navigation/file-tabs/FileTabs.js.map +1 -0
- package/navigation/file-tabs/file-tabs.module.css +868 -0
- package/navigation/file-tabs/index.d.ts +2 -0
- package/navigation/file-tabs/index.d.ts.map +1 -0
- package/navigation/file-tabs/index.js +2 -0
- package/navigation/file-tabs/index.js.map +1 -0
- package/navigation/nav-drawer/NavDrawer.d.ts +32 -6
- package/navigation/nav-drawer/NavDrawer.d.ts.map +1 -1
- package/navigation/nav-drawer/NavDrawer.js +94 -28
- package/navigation/nav-drawer/NavDrawer.js.map +1 -1
- package/navigation/nav-drawer/nav-drawer.module.css +78 -55
- package/navigation/navigation-bar/NavigationBar.d.ts +31 -11
- package/navigation/navigation-bar/NavigationBar.d.ts.map +1 -1
- package/navigation/navigation-bar/NavigationBar.js +40 -17
- package/navigation/navigation-bar/NavigationBar.js.map +1 -1
- package/navigation/navigation-bar/navigation-bar.module.css +58 -27
- package/navigation/navigation-menu/NavigationMenu.d.ts +9 -9
- package/navigation/navigation-menu/NavigationMenu.d.ts.map +1 -1
- package/navigation/navigation-menu/NavigationMenu.js +15 -15
- package/navigation/navigation-menu/navigation-menu.module.css +39 -53
- package/navigation/pagination/Pagination.js +1 -1
- package/navigation/pagination/pagination.module.css +24 -24
- package/navigation/sidebar-nav/SidebarNav.d.ts +71 -0
- package/navigation/sidebar-nav/SidebarNav.d.ts.map +1 -0
- package/navigation/sidebar-nav/SidebarNav.js +169 -0
- package/navigation/sidebar-nav/SidebarNav.js.map +1 -0
- package/navigation/sidebar-nav/index.d.ts +2 -0
- package/navigation/sidebar-nav/index.d.ts.map +1 -0
- package/navigation/sidebar-nav/index.js +2 -0
- package/navigation/sidebar-nav/index.js.map +1 -0
- package/navigation/sidebar-nav/sidebar-nav.module.css +270 -0
- package/navigation/table-of-contents/TableOfContents.d.ts +92 -0
- package/navigation/table-of-contents/TableOfContents.d.ts.map +1 -0
- package/navigation/table-of-contents/TableOfContents.js +211 -0
- package/navigation/table-of-contents/TableOfContents.js.map +1 -0
- package/navigation/table-of-contents/index.d.ts +3 -0
- package/navigation/table-of-contents/index.d.ts.map +1 -0
- package/navigation/table-of-contents/index.js +3 -0
- package/navigation/table-of-contents/index.js.map +1 -0
- package/navigation/table-of-contents/table-of-contents.module.css +322 -0
- package/navigation/table-of-contents/useActiveHeading.d.ts +37 -0
- package/navigation/table-of-contents/useActiveHeading.d.ts.map +1 -0
- package/navigation/table-of-contents/useActiveHeading.js +111 -0
- package/navigation/table-of-contents/useActiveHeading.js.map +1 -0
- package/navigation/tabs/Tabs.d.ts +2 -2
- package/navigation/tabs/Tabs.js +3 -3
- package/navigation/tabs/tabs.module.css +22 -19
- package/navigation/toolbar/Toolbar.d.ts +7 -1
- package/navigation/toolbar/Toolbar.d.ts.map +1 -1
- package/navigation/toolbar/Toolbar.js +3 -3
- package/navigation/toolbar/Toolbar.js.map +1 -1
- package/navigation/toolbar/toolbar.module.css +6 -6
- package/overlays/alert-dialog/AlertDialog.d.ts +14 -4
- package/overlays/alert-dialog/AlertDialog.d.ts.map +1 -1
- package/overlays/alert-dialog/AlertDialog.js +15 -5
- package/overlays/alert-dialog/AlertDialog.js.map +1 -1
- package/overlays/alert-dialog/alert-dialog.module.css +4 -4
- package/overlays/context-menu/ContextMenu.d.ts +1 -1
- package/overlays/context-menu/ContextMenu.js +1 -1
- package/overlays/dialog/Dialog.d.ts +26 -11
- package/overlays/dialog/Dialog.d.ts.map +1 -1
- package/overlays/dialog/Dialog.js +36 -17
- package/overlays/dialog/Dialog.js.map +1 -1
- package/overlays/dialog/dialog.module.css +32 -31
- package/overlays/dialog/morph.d.ts +17 -0
- package/overlays/dialog/morph.d.ts.map +1 -0
- package/overlays/dialog/morph.js +44 -0
- package/overlays/dialog/morph.js.map +1 -0
- package/overlays/menu/Menu.d.ts +18 -7
- package/overlays/menu/Menu.d.ts.map +1 -1
- package/overlays/menu/Menu.js +35 -12
- package/overlays/menu/Menu.js.map +1 -1
- package/overlays/menu/menu.module.css +26 -50
- package/overlays/menu/morph.d.ts +16 -0
- package/overlays/menu/morph.d.ts.map +1 -0
- package/overlays/menu/morph.js +36 -0
- package/overlays/menu/morph.js.map +1 -0
- package/overlays/menu/popup.d.ts +2 -0
- package/overlays/menu/popup.d.ts.map +1 -1
- package/overlays/menu/popup.js +11 -3
- package/overlays/menu/popup.js.map +1 -1
- package/overlays/menubar/Menubar.d.ts +10 -1
- package/overlays/menubar/Menubar.d.ts.map +1 -1
- package/overlays/menubar/Menubar.js +22 -12
- package/overlays/menubar/Menubar.js.map +1 -1
- package/overlays/menubar/menubar.module.css +13 -13
- package/overlays/popover/Popover.d.ts +22 -8
- package/overlays/popover/Popover.d.ts.map +1 -1
- package/overlays/popover/Popover.js +51 -16
- package/overlays/popover/Popover.js.map +1 -1
- package/overlays/popover/popover.module.css +73 -47
- package/overlays/preview-card/PreviewCard.d.ts +3 -3
- package/overlays/preview-card/PreviewCard.d.ts.map +1 -1
- package/overlays/preview-card/PreviewCard.js +5 -6
- package/overlays/preview-card/PreviewCard.js.map +1 -1
- package/overlays/preview-card/preview-card.module.css +19 -54
- package/overlays/search-dialog/SearchDialog.d.ts +89 -0
- package/overlays/search-dialog/SearchDialog.d.ts.map +1 -0
- package/overlays/search-dialog/SearchDialog.js +220 -0
- package/overlays/search-dialog/SearchDialog.js.map +1 -0
- package/overlays/search-dialog/SearchDialogPopup.d.ts +39 -0
- package/overlays/search-dialog/SearchDialogPopup.d.ts.map +1 -0
- package/overlays/search-dialog/SearchDialogPopup.js +80 -0
- package/overlays/search-dialog/SearchDialogPopup.js.map +1 -0
- package/overlays/search-dialog/SearchDialogTrigger.d.ts +24 -0
- package/overlays/search-dialog/SearchDialogTrigger.d.ts.map +1 -0
- package/overlays/search-dialog/SearchDialogTrigger.js +32 -0
- package/overlays/search-dialog/SearchDialogTrigger.js.map +1 -0
- package/overlays/search-dialog/index.d.ts +3 -0
- package/overlays/search-dialog/index.d.ts.map +1 -0
- package/overlays/search-dialog/index.js +3 -0
- package/overlays/search-dialog/index.js.map +1 -0
- package/overlays/search-dialog/search-dialog.module.css +492 -0
- package/overlays/search-dialog/useShortcutLabel.d.ts +13 -0
- package/overlays/search-dialog/useShortcutLabel.d.ts.map +1 -0
- package/overlays/search-dialog/useShortcutLabel.js +19 -0
- package/overlays/search-dialog/useShortcutLabel.js.map +1 -0
- package/overlays/search-dialog/variants.d.ts +25 -0
- package/overlays/search-dialog/variants.d.ts.map +1 -0
- package/overlays/search-dialog/variants.js +31 -0
- package/overlays/search-dialog/variants.js.map +1 -0
- package/overlays/tooltip/Tooltip.d.ts +3 -3
- package/overlays/tooltip/Tooltip.d.ts.map +1 -1
- package/overlays/tooltip/Tooltip.js +3 -3
- package/overlays/tooltip/Tooltip.js.map +1 -1
- package/overlays/tooltip/tooltip.module.css +2 -2
- package/package.json +27 -19
- package/page/announcement-bar/AnnouncementBar.d.ts +1 -1
- package/page/announcement-bar/AnnouncementBar.js +4 -4
- package/page/announcement-bar/AnnouncementBar.js.map +1 -1
- package/page/announcement-bar/announcement-bar.module.css +11 -17
- package/page/cta-block/CTABlock.d.ts +5 -5
- package/page/cta-block/CTABlock.d.ts.map +1 -1
- package/page/cta-block/CTABlock.js +2 -2
- package/page/cta-block/cta-block.module.css +26 -26
- package/page/docs-layout/DocsLayout.d.ts +83 -0
- package/page/docs-layout/DocsLayout.d.ts.map +1 -0
- package/page/docs-layout/DocsLayout.js +108 -0
- package/page/docs-layout/DocsLayout.js.map +1 -0
- package/page/docs-layout/docs-layout.module.css +266 -0
- package/page/docs-layout/index.d.ts +2 -0
- package/page/docs-layout/index.d.ts.map +1 -0
- package/page/docs-layout/index.js +2 -0
- package/page/docs-layout/index.js.map +1 -0
- package/page/footer/Footer.d.ts +1 -1
- package/page/footer/Footer.js +1 -1
- package/page/footer/footer.module.css +31 -31
- package/page/hero/Hero.d.ts +3 -3
- package/page/hero/Hero.d.ts.map +1 -1
- package/page/hero/Hero.js +1 -1
- package/page/hero/hero.module.css +36 -36
- package/page/marquee/Marquee.d.ts +2 -2
- package/page/marquee/Marquee.js +1 -1
- package/page/marquee/marquee.module.css +11 -11
- package/page/newsletter/Newsletter.d.ts.map +1 -1
- package/page/newsletter/Newsletter.js +4 -59
- package/page/newsletter/Newsletter.js.map +1 -1
- package/page/newsletter/newsletter.module.css +44 -22
- package/page/section-bar/SectionBar.d.ts +10 -3
- package/page/section-bar/SectionBar.d.ts.map +1 -1
- package/page/section-bar/SectionBar.js +21 -11
- package/page/section-bar/SectionBar.js.map +1 -1
- package/page/section-bar/section-bar.module.css +43 -46
- package/page/section-divider/SectionDivider.d.ts +2 -2
- package/page/section-divider/SectionDivider.js +4 -4
- package/page/section-divider/SectionDivider.js.map +1 -1
- package/page/section-divider/section-divider.module.css +18 -18
- package/page/section-header/SectionHeader.d.ts +7 -7
- package/page/section-header/SectionHeader.d.ts.map +1 -1
- package/page/section-header/SectionHeader.js +3 -3
- package/page/section-header/SectionHeader.js.map +1 -1
- package/page/section-header/section-header.module.css +16 -16
- package/utils/Ornament.d.ts +1 -1
- package/utils/Ornament.js +2 -2
- package/utils/assignRef.d.ts +7 -1
- package/utils/assignRef.d.ts.map +1 -1
- package/utils/assignRef.js +18 -0
- package/utils/assignRef.js.map +1 -1
- package/utils/docs/DemoTitle.d.ts +12 -0
- package/utils/docs/DemoTitle.d.ts.map +1 -0
- package/utils/docs/DemoTitle.js +11 -0
- package/utils/docs/DemoTitle.js.map +1 -0
- package/utils/docs/Pre.d.ts +39 -0
- package/utils/docs/Pre.d.ts.map +1 -0
- package/utils/docs/Pre.js +26 -0
- package/utils/docs/Pre.js.map +1 -0
- package/utils/docs/createDemo.d.ts +89 -0
- package/utils/docs/createDemo.d.ts.map +1 -0
- package/utils/docs/createDemo.js +51 -0
- package/utils/docs/createDemo.js.map +1 -0
- package/utils/docs/createMdxComponents.d.ts +52 -0
- package/utils/docs/createMdxComponents.d.ts.map +1 -0
- package/utils/docs/createMdxComponents.js +59 -0
- package/utils/docs/createMdxComponents.js.map +1 -0
- package/utils/docs/createTypes.d.ts +23 -0
- package/utils/docs/createTypes.d.ts.map +1 -0
- package/utils/docs/createTypes.js +27 -0
- package/utils/docs/createTypes.js.map +1 -0
- package/utils/docs/index.d.ts +8 -0
- package/utils/docs/index.d.ts.map +1 -0
- package/utils/docs/index.js +16 -0
- package/utils/docs/index.js.map +1 -0
- package/utils/docs/mdx.module.css +201 -0
- package/utils/docs/serverSourceEnhancers.d.ts +26 -0
- package/utils/docs/serverSourceEnhancers.d.ts.map +1 -0
- package/utils/docs/serverSourceEnhancers.js +32 -0
- package/utils/docs/serverSourceEnhancers.js.map +1 -0
- package/utils/docs/toSidebarItems.d.ts +23 -0
- package/utils/docs/toSidebarItems.d.ts.map +1 -0
- package/utils/docs/toSidebarItems.js +36 -0
- package/utils/docs/toSidebarItems.js.map +1 -0
- package/utils/font-fallbacks.css +176 -0
- package/utils/fonts.d.ts +1 -0
- package/utils/fonts.d.ts.map +1 -1
- package/utils/fonts.js +12 -0
- package/utils/fonts.js.map +1 -1
- package/utils/frame.d.ts +4 -0
- package/utils/frame.d.ts.map +1 -0
- package/utils/frame.js +11 -0
- package/utils/frame.js.map +1 -0
- package/utils/global.css +480 -266
- package/utils/line.module.css +17 -17
- package/utils/media.css +1 -1
- package/utils/ornament.module.css +19 -19
- package/utils/overlay.d.ts +4 -4
- package/utils/overlay.js +4 -4
- package/utils/pattern.module.css +45 -45
- package/utils/print.css +48 -34
- package/utils/reset.css +9 -2
- package/utils/roles.css +29 -29
- package/utils/seriesPatterns.js +3 -3
- package/utils/syntax.module.css +92 -0
- package/utils/theme.css +6 -6
- package/utils/tokens.css +262 -192
- package/utils/tokens.d.ts +51 -8
- package/utils/tokens.d.ts.map +1 -1
- package/utils/tokens.js +46 -9
- package/utils/tokens.js.map +1 -1
- package/utils/type.module.css +87 -87
- package/utils/useReleaseMark.d.ts +13 -0
- package/utils/useReleaseMark.d.ts.map +1 -0
- package/utils/useReleaseMark.js +44 -0
- package/utils/useReleaseMark.js.map +1 -0
- 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(--
|
|
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(--
|
|
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(--
|
|
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(--
|
|
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(--
|
|
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(--
|
|
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(--
|
|
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 × --
|
|
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"}
|