@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
package/utils/global.css
CHANGED
|
@@ -26,13 +26,20 @@
|
|
|
26
26
|
margin: 0;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
/*
|
|
30
|
+
* The page's scrollbar gutter is always reserved [D201], so the content
|
|
31
|
+
* never moves sideways when the scrollbar comes or goes: a popup's scroll
|
|
32
|
+
* lock hiding it, a popup or a filter changing the page's height. With
|
|
33
|
+
* overlay scrollbars nothing is reserved.
|
|
34
|
+
*/
|
|
29
35
|
:where(html) {
|
|
36
|
+
scrollbar-gutter: stable;
|
|
30
37
|
-webkit-text-size-adjust: none;
|
|
31
38
|
text-size-adjust: none;
|
|
32
39
|
block-size: 100%;
|
|
33
40
|
color: var(--primary12);
|
|
34
41
|
background-color: var(--role-ground);
|
|
35
|
-
font-family: var(--
|
|
42
|
+
font-family: var(--fgd-font-ui);
|
|
36
43
|
font-size: 100%;
|
|
37
44
|
line-height: var(--font-lineheight-3);
|
|
38
45
|
tab-size: 2;
|
|
@@ -111,7 +118,7 @@
|
|
|
111
118
|
color: inherit;
|
|
112
119
|
text-decoration-line: underline;
|
|
113
120
|
text-decoration-color: var(--role-accent);
|
|
114
|
-
text-decoration-thickness: var(--
|
|
121
|
+
text-decoration-thickness: var(--border-size-1-5);
|
|
115
122
|
text-underline-offset: 0.15em;
|
|
116
123
|
}
|
|
117
124
|
|
|
@@ -140,10 +147,13 @@
|
|
|
140
147
|
}
|
|
141
148
|
}
|
|
142
149
|
/*
|
|
143
|
-
* Tokens (§1.5): Open Props non-color primitives, used as shipped, plus
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
150
|
+
* Tokens (§1.5): Open Props non-color primitives, used as shipped, plus the
|
|
151
|
+
* system's own [D193]. A step between two Open Props steps joins its scale,
|
|
152
|
+
* named by its position to the nearest quarter: --size-px-2-5 (12 px) sits
|
|
153
|
+
* halfway between --size-px-2 (8 px) and --size-px-3 (16 px). Every other
|
|
154
|
+
* FairGarden-only token takes --fgd-, and none holds a color [D112].
|
|
155
|
+
* Units [D123]: text rem, tracking em, leading unitless; spacing, strokes,
|
|
156
|
+
* radii and sizes px; measure ch; print pt and mm (print values: print.css).
|
|
147
157
|
*/
|
|
148
158
|
@layer tokens{
|
|
149
159
|
:where(html){--size-000:-.5rem;--size-00:-.25rem;--size-1:.25rem;--size-2:.5rem;--size-3:1rem;--size-4:1.25rem;--size-5:1.5rem;--size-6:1.75rem;--size-7:2rem;--size-8:3rem;--size-9:4rem;--size-10:5rem;--size-11:7.5rem;--size-12:10rem;--size-13:15rem;--size-14:20rem;--size-15:30rem;--size-px-000:-8px;--size-px-00:-4px;--size-px-1:4px;--size-px-2:8px;--size-px-3:16px;--size-px-4:20px;--size-px-5:24px;--size-px-6:28px;--size-px-7:32px;--size-px-8:48px;--size-px-9:64px;--size-px-10:80px;--size-px-11:120px;--size-px-12:160px;--size-px-13:240px;--size-px-14:320px;--size-px-15:480px;--size-fluid-1:max(.5rem,min(1vw,1rem));--size-fluid-2:max(1rem,min(2vw,1.5rem));--size-fluid-3:max(1.5rem,min(3vw,2rem));--size-fluid-4:max(2rem,min(4vw,3rem));--size-fluid-5:max(4rem,min(5vw,5rem));--size-fluid-6:max(5rem,min(7vw,7.5rem));--size-fluid-7:max(7.5rem,min(10vw,10rem));--size-fluid-8:max(10rem,min(20vw,15rem));--size-fluid-9:max(15rem,min(30vw,20rem));--size-fluid-10:max(20rem,min(40vw,30rem));--size-content-1:20ch;--size-content-2:45ch;--size-content-3:60ch;--size-header-1:20ch;--size-header-2:25ch;--size-header-3:35ch;--size-xxs:240px;--size-xs:360px;--size-sm:480px;--size-md:768px;--size-lg:1024px;--size-xl:1440px;--size-xxl:1920px;--size-relative-000:-.5ch;--size-relative-00:-.25ch;--size-relative-1:.25ch;--size-relative-2:.5ch;--size-relative-3:1ch;--size-relative-4:1.25ch;--size-relative-5:1.5ch;--size-relative-6:1.75ch;--size-relative-7:2ch;--size-relative-8:3ch;--size-relative-9:4ch;--size-relative-10:5ch;--size-relative-11:7.5ch;--size-relative-12:10ch;--size-relative-13:15ch;--size-relative-14:20ch;--size-relative-15:30ch}
|
|
@@ -165,270 +175,337 @@
|
|
|
165
175
|
}
|
|
166
176
|
@layer tokens {
|
|
167
177
|
:root {
|
|
168
|
-
/* Spacing (§1.5.10): Open Props --size-px-* plus the
|
|
169
|
-
--
|
|
170
|
-
--
|
|
171
|
-
--
|
|
172
|
-
--
|
|
173
|
-
--
|
|
174
|
-
--
|
|
175
|
-
--
|
|
176
|
-
--
|
|
177
|
-
--
|
|
178
|
-
|
|
179
|
-
/* Strokes (§1.5.7):
|
|
180
|
-
--
|
|
181
|
-
--
|
|
182
|
-
--
|
|
183
|
-
--
|
|
184
|
-
--
|
|
185
|
-
--
|
|
178
|
+
/* Spacing (§1.5.10): Open Props --size-px-* plus the in-between steps. */
|
|
179
|
+
--size-px-2-5: 12px;
|
|
180
|
+
--size-px-7-5: 40px;
|
|
181
|
+
--size-px-8-5: 56px;
|
|
182
|
+
--fgd-space-stack: 36px; /* named exception: H2 baseline → chapter hairline */
|
|
183
|
+
--fgd-space-eyebrow-rule: 14px; /* named exception [D100] */
|
|
184
|
+
--fgd-space-eyebrow-content: 19px; /* named exception [D100] */
|
|
185
|
+
--fgd-space-halo: var(--size-px-2);
|
|
186
|
+
--fgd-space-section: var(--size-px-8-5);
|
|
187
|
+
--fgd-space-margin: var(--size-px-3);
|
|
188
|
+
|
|
189
|
+
/* Strokes and borders (§1.5.7): Open Props --border-size-* plus the in-between steps. */
|
|
190
|
+
--border-size-0-75: 0.75px;
|
|
191
|
+
--border-size-1-25: 1.25px;
|
|
192
|
+
--border-size-1-5: 1.5px;
|
|
193
|
+
--border-size-2-25: 3px;
|
|
194
|
+
--border-size-2-75: 4px;
|
|
195
|
+
--border-size-3-5: 8px;
|
|
186
196
|
|
|
187
197
|
/* Line geometry (§1.5.8, §4.6–§4.8). */
|
|
188
|
-
--
|
|
189
|
-
--
|
|
190
|
-
--
|
|
191
|
-
--
|
|
192
|
-
--
|
|
193
|
-
--
|
|
194
|
-
--
|
|
195
|
-
--
|
|
196
|
-
--
|
|
197
|
-
--
|
|
198
|
-
--
|
|
199
|
-
--
|
|
198
|
+
--fgd-dot-fine: 1px;
|
|
199
|
+
--fgd-dot-fine-pitch: 3px;
|
|
200
|
+
--fgd-dot: 2px;
|
|
201
|
+
--fgd-dot-pitch: 5px;
|
|
202
|
+
--fgd-dot-bold: 4px;
|
|
203
|
+
--fgd-dot-bold-pitch: 9px;
|
|
204
|
+
--fgd-dash-fine: 4px;
|
|
205
|
+
--fgd-dash-fine-gap: 3px;
|
|
206
|
+
--fgd-dash: 5px;
|
|
207
|
+
--fgd-dash-gap: 4px;
|
|
208
|
+
--fgd-double-gap: 4px;
|
|
209
|
+
--fgd-double-hair-gap: 3px;
|
|
200
210
|
|
|
201
211
|
/* Pattern geometry (§1.5.9). */
|
|
202
|
-
--
|
|
203
|
-
--
|
|
204
|
-
--
|
|
205
|
-
--
|
|
206
|
-
--
|
|
207
|
-
--
|
|
208
|
-
--
|
|
209
|
-
--
|
|
210
|
-
--
|
|
211
|
-
--
|
|
212
|
-
--
|
|
213
|
-
--
|
|
214
|
-
--
|
|
215
|
-
--
|
|
216
|
-
--
|
|
217
|
-
--
|
|
218
|
-
--
|
|
219
|
-
--
|
|
220
|
-
--
|
|
212
|
+
--fgd-speckle-grid: 16px;
|
|
213
|
+
--fgd-speckle-dot: 2px;
|
|
214
|
+
--fgd-sunburst-dot: 2.5px;
|
|
215
|
+
--fgd-sunburst-radius: 290px;
|
|
216
|
+
--fgd-sunburst-pitch: 6.5px;
|
|
217
|
+
--fgd-awning-stripe: 24px;
|
|
218
|
+
--fgd-dotgrid-dot: 1.5px;
|
|
219
|
+
--fgd-dotgrid-pitch: 16px;
|
|
220
|
+
--fgd-dotgrid-fine-dot: 1px;
|
|
221
|
+
--fgd-dotgrid-fine-pitch: 8px;
|
|
222
|
+
--fgd-graph-pitch: 16px;
|
|
223
|
+
--fgd-ruled-pitch: 27px;
|
|
224
|
+
--fgd-hatch-pitch: 6px;
|
|
225
|
+
--fgd-hatch-tile: 8px;
|
|
226
|
+
--fgd-dotscreen-dot: 1.25px;
|
|
227
|
+
--fgd-dotscreen-dot-heavy: 2px;
|
|
228
|
+
--fgd-dotscreen-pitch-1: 6px;
|
|
229
|
+
--fgd-dotscreen-pitch-2: 5px;
|
|
230
|
+
--fgd-dotscreen-pitch-3: 4px;
|
|
221
231
|
|
|
222
232
|
/* Ornaments, terminals and markers (§1.5.16). */
|
|
223
|
-
--
|
|
224
|
-
--
|
|
225
|
-
--
|
|
226
|
-
--
|
|
227
|
-
--
|
|
228
|
-
--
|
|
229
|
-
--
|
|
233
|
+
--fgd-ornament-dot: 5px;
|
|
234
|
+
--fgd-ornament-dot-gap: 10px;
|
|
235
|
+
--fgd-ornament-star: 9px;
|
|
236
|
+
--fgd-zigzag-amplitude: 6px;
|
|
237
|
+
--fgd-zigzag-period: 12px;
|
|
238
|
+
--fgd-fringe-tick: 6px;
|
|
239
|
+
--fgd-fringe-pitch: 4px;
|
|
230
240
|
/*
|
|
231
241
|
* The hill [D189]: amplitude 4.6% of the band's width, clamped between
|
|
232
242
|
* these (the max is reached at about 1391 px); crest at 0.667 × width,
|
|
233
243
|
* the right end falling 30% of the rise; no horizon rule on screen.
|
|
234
244
|
*/
|
|
235
|
-
--
|
|
236
|
-
--
|
|
237
|
-
--
|
|
238
|
-
--
|
|
239
|
-
--
|
|
240
|
-
--
|
|
241
|
-
--
|
|
242
|
-
--
|
|
243
|
-
--
|
|
244
|
-
--
|
|
245
|
-
|
|
246
|
-
/* Radii (§1.5.11):
|
|
247
|
-
--
|
|
248
|
-
--
|
|
249
|
-
--
|
|
245
|
+
--fgd-edge-hill-min: 12px;
|
|
246
|
+
--fgd-edge-hill-max: var(--size-px-9); /* 64 px */
|
|
247
|
+
--fgd-arrow-head: 6px;
|
|
248
|
+
--fgd-arrow-tick: 8px;
|
|
249
|
+
--fgd-mark-arm: 12px;
|
|
250
|
+
--fgd-mark-overhang: 6px;
|
|
251
|
+
--fgd-marker-trail: 5px;
|
|
252
|
+
--fgd-marker-timeline: 8px;
|
|
253
|
+
--fgd-marker-waypoint: 9px;
|
|
254
|
+
--fgd-marker-current: 10px;
|
|
255
|
+
|
|
256
|
+
/* Radii (§1.5.11): Open Props --radius-1 (2 px) and --radius-round plus these steps. */
|
|
257
|
+
--radius-0: 0;
|
|
258
|
+
--radius-2-25: 8px;
|
|
259
|
+
/* File Tabs' folder tabs, shaped as paper tabs (the source's 12 px tab radius); frames keep --radius-2-25. */
|
|
260
|
+
--radius-2-75: 12px;
|
|
261
|
+
--radius-3-25: 20px;
|
|
250
262
|
/* ≈ 1/7 of the frame's width, max 64 px; the frame's parent is its container. */
|
|
251
|
-
--
|
|
252
|
-
/* Conditional radii [D171]: full radius while narrower than the viewport, 0 when full-bleed. */
|
|
253
|
-
--
|
|
254
|
-
--
|
|
255
|
-
|
|
256
|
-
/* Type families (§1.5.5) [D159]; --
|
|
257
|
-
--
|
|
258
|
-
--
|
|
259
|
-
--
|
|
260
|
-
--
|
|
261
|
-
--
|
|
262
|
-
--
|
|
263
|
+
--fgd-radius-feature: min(calc(100cqi / 7), var(--size-px-9));
|
|
264
|
+
/* Conditional radii [D171], Open Props' --radius-conditional-* pattern: full radius while narrower than the viewport, 0 when full-bleed. */
|
|
265
|
+
--radius-conditional-2-25: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-2-25));
|
|
266
|
+
--radius-conditional-3-25: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-3-25));
|
|
267
|
+
|
|
268
|
+
/* Type families (§1.5.5) [D159]; --fgd-font-fine is set per mode (theme.css). Each webfont's metric-matched fallback follows it (utils/font-fallbacks.css) [D201]. */
|
|
269
|
+
--fgd-font-display: 'Fraunces Variable', 'Fraunces Fallback', 'Source Serif 4 Variable', var(--font-old-style);
|
|
270
|
+
--fgd-font-text: 'Source Serif 4 Variable', 'Source Serif 4 Fallback', var(--font-transitional);
|
|
271
|
+
--fgd-font-ui: 'Figtree Variable', 'Figtree Fallback', var(--font-geometric-humanist);
|
|
272
|
+
--fgd-font-mono: 'IBM Plex Mono', 'IBM Plex Mono Fallback', var(--font-mono);
|
|
273
|
+
--fgd-font-display-settings: 'SOFT' 0, 'WONK' 0;
|
|
274
|
+
--fgd-font-accent-settings: 'SOFT' 100, 'WONK' 1;
|
|
263
275
|
|
|
264
276
|
/* Type sizes (§1.5.6): rem, fluid from 360 px to 1024 px. */
|
|
265
|
-
--
|
|
266
|
-
--
|
|
267
|
-
--
|
|
268
|
-
--
|
|
269
|
-
--
|
|
270
|
-
--
|
|
271
|
-
--
|
|
272
|
-
--
|
|
273
|
-
--
|
|
274
|
-
--
|
|
275
|
-
--
|
|
276
|
-
--
|
|
277
|
-
--
|
|
278
|
-
--
|
|
279
|
-
--
|
|
280
|
-
--
|
|
281
|
-
--
|
|
282
|
-
--
|
|
277
|
+
--fgd-font-size-display-xl: clamp(2.5625rem, calc(2.5625rem + 1.125 * (100vw - 22.5rem) / 41.5), 3.6875rem); /* 41 → 59 px */
|
|
278
|
+
--fgd-font-size-display: clamp(2.125rem, calc(2.125rem + 0.9375 * (100vw - 22.5rem) / 41.5), 3.0625rem); /* 34 → 49 px */
|
|
279
|
+
--fgd-font-size-h2: clamp(1.75rem, calc(1.75rem + 0.375 * (100vw - 22.5rem) / 41.5), 2.125rem); /* 28 → 34 px */
|
|
280
|
+
--fgd-font-size-itemhead: clamp(1.375rem, calc(1.375rem + 0.125 * (100vw - 22.5rem) / 41.5), var(--font-size-4)); /* 22 → 24 px */
|
|
281
|
+
--fgd-font-size-kicker: clamp(1.125rem, calc(1.125rem + 0.125 * (100vw - 22.5rem) / 41.5), var(--font-size-3)); /* 18 → 20 px */
|
|
282
|
+
--fgd-font-size-subhead: clamp(1.125rem, calc(1.125rem + 0.0625 * (100vw - 22.5rem) / 41.5), 1.1875rem); /* 18 → 19 px */
|
|
283
|
+
--fgd-font-size-lead: clamp(var(--font-size-3), calc(1.25rem + 0.125 * (100vw - 22.5rem) / 41.5), 1.375rem); /* 20 → 22 px */
|
|
284
|
+
--fgd-font-size-quote: clamp(var(--font-size-4), calc(1.5rem + 0.5 * (100vw - 22.5rem) / 41.5), var(--font-size-5)); /* 24 → 32 px */
|
|
285
|
+
--fgd-font-size-body: clamp(1.0625rem, calc(1.0625rem + 0.0625 * (100vw - 22.5rem) / 41.5), 1.125rem); /* 17 → 18 px */
|
|
286
|
+
--fgd-font-size-body-ui: clamp(var(--font-size-1), calc(1rem + 0.0625 * (100vw - 22.5rem) / 41.5), 1.0625rem); /* 16 → 17 px */
|
|
287
|
+
--fgd-font-size-marquee: clamp(1.375rem, calc(1.375rem + 0.25 * (100vw - 22.5rem) / 41.5), 1.625rem); /* 22 → 26 px */
|
|
288
|
+
--fgd-font-size-button-lg: 1.0625rem; /* 17 px */
|
|
289
|
+
--fgd-font-size-button: clamp(0.875rem, calc(0.875rem + 0.0625 * (100vw - 22.5rem) / 41.5), 0.9375rem); /* 14 → 15 px */
|
|
290
|
+
--fgd-font-size-footnote: 0.9375rem; /* 15 px */
|
|
291
|
+
--fgd-font-size-caption: 0.875rem; /* 14 px */
|
|
292
|
+
--fgd-font-size-eyebrow: clamp(0.8125rem, calc(0.8125rem + 0.0625 * (100vw - 22.5rem) / 41.5), 0.875rem); /* 13 → 14 px */
|
|
293
|
+
--fgd-font-size-label: 0.8125rem; /* 13 px */
|
|
294
|
+
--fgd-font-size-url: 8pt; /* print only */
|
|
283
295
|
/* type-stat: display-xl on screen, 24 pt in print (§1.5.6, §8.8), where display-xl prints 26 pt (print.css). */
|
|
284
|
-
--
|
|
285
|
-
--
|
|
296
|
+
--fgd-font-size-stat: var(--fgd-font-size-display-xl);
|
|
297
|
+
--fgd-lockup-accent-factor: 1.45; /* provisional: compute from font metrics [D64] */
|
|
286
298
|
|
|
287
299
|
/* Leading, tracking, numerals, measure (§1.5.6). */
|
|
288
|
-
--
|
|
289
|
-
--
|
|
290
|
-
--
|
|
291
|
-
--
|
|
292
|
-
--
|
|
293
|
-
--
|
|
294
|
-
--
|
|
295
|
-
--
|
|
300
|
+
--fgd-leading-display: 1;
|
|
301
|
+
--fgd-leading-compact: 1.4;
|
|
302
|
+
--fgd-leading-reading: 1.6;
|
|
303
|
+
--font-letterspacing-0-5: -0.01em; /* between Open Props' --font-letterspacing-0 (-0.05em) and --font-letterspacing-1 (0.025em) */
|
|
304
|
+
--fgd-numerals-prose: oldstyle-nums proportional-nums;
|
|
305
|
+
--fgd-numerals-data: lining-nums tabular-nums;
|
|
306
|
+
--fgd-measure-reading: 66ch;
|
|
307
|
+
--fgd-measure-print: 66ch;
|
|
296
308
|
|
|
297
309
|
/* Sizing and hit targets (§1.5.12). */
|
|
298
|
-
--
|
|
299
|
-
--
|
|
300
|
-
--
|
|
301
|
-
|
|
310
|
+
--fgd-size-control-md: 40px;
|
|
311
|
+
--fgd-size-control-xl: 56px;
|
|
312
|
+
--fgd-size-hit: 44px;
|
|
313
|
+
/* The room a hanging File Tabs control (the code block's ⋮) needs past its host's edge: its 20 px ear and clearance; hosts leave it free and unclipped (§9.13). */
|
|
314
|
+
--fgd-size-file-tabs-control: var(--size-px-5);
|
|
315
|
+
--fgd-size-icon-block: 36px;
|
|
302
316
|
/* The logo mark in a lockup, a prominent mark sized to the header bar: 40 px, 48 px from --lg-n-above, 32 px below --xs-n-below (§1.5.12). */
|
|
303
|
-
--
|
|
304
|
-
--
|
|
305
|
-
--
|
|
306
|
-
--
|
|
307
|
-
--
|
|
308
|
-
--
|
|
309
|
-
--
|
|
310
|
-
--
|
|
311
|
-
--
|
|
312
|
-
--
|
|
317
|
+
--fgd-size-logo: var(--fgd-size-control-md);
|
|
318
|
+
--fgd-size-bar-utility: 36px;
|
|
319
|
+
--fgd-size-art-s: 152px;
|
|
320
|
+
--fgd-size-art-l: 312px;
|
|
321
|
+
--fgd-size-art-plate-wide: 640px;
|
|
322
|
+
--fgd-size-thumb: 72px;
|
|
323
|
+
--fgd-size-avatar-xl: 128px;
|
|
324
|
+
--fgd-size-tick-minor: 6px; /* slider minor tick */
|
|
325
|
+
--fgd-size-pager-dot: 10px; /* step pager position dot, outlined (§9.9) */
|
|
326
|
+
--fgd-size-pager-dot-current: 12px; /* the current dot, solid (§9.9) */
|
|
313
327
|
|
|
314
328
|
/* Overlay panels (§10.1, §9.7, §10.16). JS mirrors: utils/tokens.ts. */
|
|
315
|
-
--
|
|
316
|
-
--
|
|
317
|
-
--
|
|
318
|
-
--
|
|
319
|
-
--
|
|
329
|
+
--fgd-size-tooltip: 280px; /* tooltip max width */
|
|
330
|
+
--fgd-size-overlay-max: 360px; /* anchored panel max width (popover, preview card, select list) */
|
|
331
|
+
--fgd-size-menu-min: 200px; /* menu min width */
|
|
332
|
+
--fgd-popup-offset: var(--size-px-2); /* 8 px, panel to trigger */
|
|
333
|
+
--fgd-popup-clearance: var(--size-px-3); /* 16 px, panel to viewport edge (base --fgd-space-margin) */
|
|
320
334
|
|
|
321
335
|
/*
|
|
322
336
|
* Table density (§8.2, §1.5.16) [D83, D169]: cell padding, the minimum
|
|
323
337
|
* row pitch and the row-rule switch, so a Ground's data-density reaches
|
|
324
|
-
* every Table inside it (the density sets below). --
|
|
338
|
+
* every Table inside it (the density sets below). --fgd-table-row-rule is
|
|
325
339
|
* the width of the --role-rule row rule that replaces the --role-hairline
|
|
326
|
-
* one: 0 while padding holds --
|
|
340
|
+
* one: 0 while padding holds --size-px-2-5, --border-size-1 when compact.
|
|
327
341
|
*/
|
|
328
|
-
--
|
|
329
|
-
--
|
|
330
|
-
--
|
|
331
|
-
--
|
|
342
|
+
--fgd-table-pad-block: var(--size-px-2-5);
|
|
343
|
+
--fgd-table-pad-inline: var(--size-px-3);
|
|
344
|
+
--fgd-table-row-min: 0px;
|
|
345
|
+
--fgd-table-row-rule: 0px;
|
|
332
346
|
|
|
333
347
|
/* Containers (§1.5.13): with --size-sm (480 px) and --size-content-2. */
|
|
334
|
-
--
|
|
335
|
-
--
|
|
348
|
+
--fgd-container-content: 1120px;
|
|
349
|
+
--fgd-container-wide: 1360px;
|
|
336
350
|
|
|
337
351
|
/* Focus (§1.5.14): 2 px ring at a 2 px offset, color --primary12. */
|
|
338
|
-
--
|
|
339
|
-
--
|
|
352
|
+
--fgd-focus-width: var(--border-size-2);
|
|
353
|
+
--fgd-focus-offset: var(--border-size-2);
|
|
340
354
|
|
|
341
355
|
/* Motion (§1.5.15): with --ease-out-3. */
|
|
342
|
-
--
|
|
343
|
-
--
|
|
344
|
-
--
|
|
345
|
-
--
|
|
346
|
-
--
|
|
356
|
+
--fgd-duration-instant: 0ms;
|
|
357
|
+
--fgd-duration-quick: 120ms;
|
|
358
|
+
--fgd-duration-disclosure: 200ms;
|
|
359
|
+
--fgd-delay-tooltip: 500ms;
|
|
360
|
+
--fgd-duration-toast: 6s;
|
|
361
|
+
/*
|
|
362
|
+
* The expanding box's View Transitions morph (a field-like trigger into
|
|
363
|
+
* its dialog). Open runs --fgd-duration-expand on --fgd-ease-expand;
|
|
364
|
+
* close runs --fgd-duration-disclosure, so it stays the faster. The ease
|
|
365
|
+
* is a critically damped spring (stiffness 0.3, damping 1) sampled as
|
|
366
|
+
* linear() stops, its one undershoot stop clipped to 0 so the curve
|
|
367
|
+
* never leaves [0, 1]: no overshoot. JS mirror: utils/tokens.ts.
|
|
368
|
+
*/
|
|
369
|
+
--fgd-duration-expand: 333ms;
|
|
370
|
+
/*
|
|
371
|
+
* The anchored morph's close (the outline morph, §9.17) [D204]: an alias
|
|
372
|
+
* of --fgd-duration-disclosure (200 ms), so the Morph tier owns its own
|
|
373
|
+
* name and a close is never slower than its open. The outline morph reads
|
|
374
|
+
* it, --fgd-duration-expand and --fgd-ease-expand from the trigger at each
|
|
375
|
+
* open and close; 0ms turns the morph off. JS mirror: utils/tokens.ts.
|
|
376
|
+
*/
|
|
377
|
+
--fgd-duration-collapse: var(--fgd-duration-disclosure);
|
|
378
|
+
/*
|
|
379
|
+
* The modal morph (the outline morph on Dialog, Alert Dialog and the
|
|
380
|
+
* drawer's sheets, §9.17) [D206]: the same curve, stretched for the
|
|
381
|
+
* longer travel from a trigger to a panel or a full sheet; the close is
|
|
382
|
+
* 0.6 × the open, the ratio of 333 to 200. 0ms turns that morph off.
|
|
383
|
+
* JS mirror: SURFACE_DURATION_MS in utils/tokens.ts.
|
|
384
|
+
*/
|
|
385
|
+
--fgd-duration-expand-surface: 400ms;
|
|
386
|
+
--fgd-duration-collapse-surface: 240ms;
|
|
387
|
+
--fgd-ease-expand: linear(
|
|
388
|
+
0,
|
|
389
|
+
0,
|
|
390
|
+
0.294,
|
|
391
|
+
0.401,
|
|
392
|
+
0.58,
|
|
393
|
+
0.706,
|
|
394
|
+
0.75,
|
|
395
|
+
0.825,
|
|
396
|
+
0.878,
|
|
397
|
+
0.896,
|
|
398
|
+
0.927,
|
|
399
|
+
0.949,
|
|
400
|
+
0.957,
|
|
401
|
+
0.97,
|
|
402
|
+
0.979,
|
|
403
|
+
0.982,
|
|
404
|
+
0.987,
|
|
405
|
+
0.991,
|
|
406
|
+
0.992,
|
|
407
|
+
0.995,
|
|
408
|
+
0.996,
|
|
409
|
+
0.998,
|
|
410
|
+
0.999,
|
|
411
|
+
0.999,
|
|
412
|
+
1
|
|
413
|
+
);
|
|
414
|
+
/*
|
|
415
|
+
* The code block's variant and JS/TS swap: the rendered code swaps after
|
|
416
|
+
* this delay while its changed lines grow or shrink over it. JS mirror
|
|
417
|
+
* (useCode's transformDelay / variantSwapDelay): utils/tokens.ts.
|
|
418
|
+
*/
|
|
419
|
+
--fgd-duration-swap: 350ms;
|
|
347
420
|
/* Desktop Navigation Menu hover intent [D182]; JS mirror: utils/tokens.ts. */
|
|
348
|
-
--
|
|
349
|
-
--
|
|
421
|
+
--fgd-delay-nav-open: 150ms;
|
|
422
|
+
--fgd-delay-nav-close: 300ms;
|
|
350
423
|
|
|
351
|
-
/* Media (§1.5.16):
|
|
352
|
-
--
|
|
424
|
+
/* Media (§1.5.16): joins Open Props' --ratio-widescreen, --ratio-portrait and --ratio-square. */
|
|
425
|
+
--ratio-photo: 3 / 2;
|
|
353
426
|
|
|
354
427
|
/* Print (§1.5.13, §1.5.16). */
|
|
355
|
-
--
|
|
356
|
-
--
|
|
357
|
-
--
|
|
358
|
-
--
|
|
359
|
-
--
|
|
360
|
-
--
|
|
428
|
+
--fgd-print-margin-inline: 18mm;
|
|
429
|
+
--fgd-print-margin-block: 20mm;
|
|
430
|
+
--fgd-print-live-width: 174mm;
|
|
431
|
+
--fgd-print-figure-max: 100mm;
|
|
432
|
+
--fgd-print-hero-max: 60mm;
|
|
433
|
+
--fgd-print-qr: 22mm;
|
|
361
434
|
/* The trail and timeline spines in print: 0.75 pt, 3 pt dash, 2.5 pt gap (§1.5.8, §4.7.1) [D142]. */
|
|
362
|
-
--
|
|
363
|
-
--
|
|
364
|
-
--
|
|
435
|
+
--fgd-print-trail-stroke: 0.75pt;
|
|
436
|
+
--fgd-print-trail-dash: 3pt;
|
|
437
|
+
--fgd-print-trail-gap: 2.5pt;
|
|
365
438
|
}
|
|
366
439
|
|
|
367
440
|
@media (min-width: 480px) {
|
|
368
441
|
:root {
|
|
369
|
-
--
|
|
442
|
+
--fgd-space-margin: var(--size-px-5);
|
|
370
443
|
}
|
|
371
444
|
}
|
|
372
445
|
|
|
373
446
|
@media (min-width: 768px) {
|
|
374
447
|
:root {
|
|
375
|
-
--
|
|
448
|
+
--fgd-space-margin: var(--size-px-7);
|
|
376
449
|
}
|
|
377
450
|
}
|
|
378
451
|
|
|
379
452
|
@media (max-width: 359.98px) {
|
|
380
453
|
:root {
|
|
381
|
-
--
|
|
454
|
+
--fgd-size-logo: var(--size-px-7);
|
|
382
455
|
}
|
|
383
456
|
}
|
|
384
457
|
|
|
385
458
|
@media (min-width: 1024px) {
|
|
386
459
|
:root {
|
|
387
|
-
--
|
|
388
|
-
--
|
|
389
|
-
--
|
|
390
|
-
--
|
|
460
|
+
--fgd-size-logo: var(--size-px-8);
|
|
461
|
+
--fgd-space-margin: var(--size-px-7-5);
|
|
462
|
+
--fgd-space-section: var(--size-px-10);
|
|
463
|
+
--fgd-ruled-pitch: 29px;
|
|
391
464
|
}
|
|
392
465
|
}
|
|
393
466
|
|
|
394
467
|
/* Reduced motion: every duration is instant (§1.5.15). */
|
|
395
468
|
@media (prefers-reduced-motion: reduce) {
|
|
396
469
|
:root {
|
|
397
|
-
--
|
|
398
|
-
--
|
|
470
|
+
--fgd-duration-quick: var(--fgd-duration-instant);
|
|
471
|
+
--fgd-duration-disclosure: var(--fgd-duration-instant);
|
|
472
|
+
--fgd-duration-expand: var(--fgd-duration-instant);
|
|
473
|
+
--fgd-duration-expand-surface: var(--fgd-duration-instant);
|
|
474
|
+
--fgd-duration-collapse-surface: var(--fgd-duration-instant);
|
|
475
|
+
--fgd-duration-swap: var(--fgd-duration-instant);
|
|
399
476
|
}
|
|
400
477
|
}
|
|
401
478
|
|
|
402
479
|
/* Density sets (§1.5.16), set per module, never by breakpoint (§5.8). */
|
|
403
480
|
[data-density='spacious'] {
|
|
404
|
-
--
|
|
481
|
+
--fgd-space-section: var(--size-px-10);
|
|
405
482
|
}
|
|
406
483
|
|
|
407
484
|
/* Default and spacious keep the default table; restated so a nested module resets a compact parent. */
|
|
408
485
|
[data-density='default'],
|
|
409
486
|
[data-density='spacious'] {
|
|
410
|
-
--
|
|
411
|
-
--
|
|
412
|
-
--
|
|
413
|
-
--
|
|
487
|
+
--fgd-table-pad-block: var(--size-px-2-5);
|
|
488
|
+
--fgd-table-pad-inline: var(--size-px-3);
|
|
489
|
+
--fgd-table-row-min: 0px;
|
|
490
|
+
--fgd-table-row-rule: 0px;
|
|
414
491
|
}
|
|
415
492
|
|
|
416
|
-
/* Compact: cells --size-px-2 × --
|
|
493
|
+
/* Compact: cells --size-px-2 × --size-px-2-5, rows ≥ 32 px, --role-rule row rules [D83]. */
|
|
417
494
|
[data-density='compact'] {
|
|
418
|
-
--
|
|
419
|
-
--
|
|
420
|
-
--
|
|
421
|
-
--
|
|
422
|
-
--
|
|
495
|
+
--fgd-space-section: var(--size-px-7);
|
|
496
|
+
--fgd-table-pad-block: var(--size-px-2);
|
|
497
|
+
--fgd-table-pad-inline: var(--size-px-2-5);
|
|
498
|
+
--fgd-table-row-min: var(--size-px-7);
|
|
499
|
+
--fgd-table-row-rule: var(--border-size-1);
|
|
423
500
|
}
|
|
424
501
|
|
|
425
502
|
@media (min-width: 1024px) {
|
|
426
503
|
[data-density='spacious'] {
|
|
427
|
-
--
|
|
504
|
+
--fgd-space-section: var(--size-px-11);
|
|
428
505
|
}
|
|
429
506
|
|
|
430
507
|
[data-density='compact'] {
|
|
431
|
-
--
|
|
508
|
+
--fgd-space-section: var(--size-px-7-5);
|
|
432
509
|
}
|
|
433
510
|
}
|
|
434
511
|
}
|
|
@@ -444,31 +521,31 @@
|
|
|
444
521
|
* every other scope, and on the night band wherever its --role-seam turns
|
|
445
522
|
* visible (dark mode), so the band shows its straight seam rule instead.
|
|
446
523
|
*/
|
|
447
|
-
--
|
|
524
|
+
--fgd-edge-shaped: block;
|
|
448
525
|
|
|
449
526
|
/*
|
|
450
527
|
* Hover underline switches [D181], `none` or `underline`, set per scope
|
|
451
|
-
* by the role maps (roles.css), like --
|
|
452
|
-
* - --
|
|
528
|
+
* by the role maps (roles.css), like --fgd-edge-shaped:
|
|
529
|
+
* - --fgd-link-hover-line: `underline` where --role-link-hover is
|
|
453
530
|
* --primary12 (saturated fields, royal, brick, dark rose and heather),
|
|
454
531
|
* so a hover that would change only an ink also underlines;
|
|
455
|
-
* - --
|
|
532
|
+
* - --fgd-soft-hover-line: `underline` where soft fills drop (the
|
|
456
533
|
* pastels, forest, the solid fields), so the outline Button's hover
|
|
457
534
|
* takes the bare-text underline instead of its --primary3 fill.
|
|
458
535
|
*/
|
|
459
|
-
--
|
|
460
|
-
--
|
|
536
|
+
--fgd-link-hover-line: none;
|
|
537
|
+
--fgd-soft-hover-line: none;
|
|
461
538
|
|
|
462
539
|
/*
|
|
463
540
|
* Chart sequential-cell switches (§8.7) [D125, D167], `display` values
|
|
464
|
-
* set per scope by the role maps (roles.css), like --
|
|
541
|
+
* set per scope by the role maps (roles.css), like --fgd-edge-shaped: a
|
|
465
542
|
* light base ground (and a `white` plate) shows the flat screen fills
|
|
466
|
-
* (--
|
|
467
|
-
* patterns on screen (--
|
|
543
|
+
* (--fgd-series-fill: inline); every other ground shows the one-ink
|
|
544
|
+
* patterns on screen (--fgd-series-pattern: inline). The odd-slot ink is
|
|
468
545
|
* the --role-series-odd alias.
|
|
469
546
|
*/
|
|
470
|
-
--
|
|
471
|
-
--
|
|
547
|
+
--fgd-series-fill: inline;
|
|
548
|
+
--fgd-series-pattern: none;
|
|
472
549
|
}
|
|
473
550
|
}
|
|
474
551
|
/* Generated by scripts/build-colors.js. Do not edit. */
|
|
@@ -2922,21 +2999,21 @@
|
|
|
2922
2999
|
:root,
|
|
2923
3000
|
[data-theme='light'] {
|
|
2924
3001
|
color-scheme: light;
|
|
2925
|
-
--
|
|
2926
|
-
--
|
|
3002
|
+
--fgd-font-fine: var(--fgd-font-text);
|
|
3003
|
+
--fgd-muted-weight-step: 0;
|
|
2927
3004
|
}
|
|
2928
3005
|
|
|
2929
3006
|
[data-theme='dark'] {
|
|
2930
3007
|
color-scheme: dark;
|
|
2931
|
-
--
|
|
2932
|
-
--
|
|
3008
|
+
--fgd-font-fine: var(--fgd-font-ui);
|
|
3009
|
+
--fgd-muted-weight-step: 100;
|
|
2933
3010
|
}
|
|
2934
3011
|
|
|
2935
3012
|
@media only screen and (prefers-color-scheme: dark) {
|
|
2936
3013
|
:root:not([data-theme='light']) {
|
|
2937
3014
|
color-scheme: dark;
|
|
2938
|
-
--
|
|
2939
|
-
--
|
|
3015
|
+
--fgd-font-fine: var(--fgd-font-ui);
|
|
3016
|
+
--fgd-muted-weight-step: 100;
|
|
2940
3017
|
}
|
|
2941
3018
|
}
|
|
2942
3019
|
}
|
|
@@ -2998,7 +3075,7 @@
|
|
|
2998
3075
|
*
|
|
2999
3076
|
* Charts [D125]: --role-series-odd is the odd series slots' ink,
|
|
3000
3077
|
* --secondary11 on light base grounds (and a `white` plate) and --primary12
|
|
3001
|
-
* elsewhere (§8.7); the --
|
|
3078
|
+
* elsewhere (§8.7); the --fgd-series-fill / --fgd-series-pattern switches
|
|
3002
3079
|
* (tokens.css) pick the sequential cells' screen fill or one-ink pattern.
|
|
3003
3080
|
*/
|
|
3004
3081
|
@layer roles {
|
|
@@ -3114,11 +3191,11 @@
|
|
|
3114
3191
|
--role-danger-hover: var(--danger12);
|
|
3115
3192
|
--role-danger-text: var(--danger11);
|
|
3116
3193
|
/* Switches (tokens.css): shaped edges only on the night band in light mode [D179]. */
|
|
3117
|
-
--
|
|
3118
|
-
--
|
|
3119
|
-
--
|
|
3120
|
-
--
|
|
3121
|
-
--
|
|
3194
|
+
--fgd-edge-shaped: none;
|
|
3195
|
+
--fgd-link-hover-line: none;
|
|
3196
|
+
--fgd-soft-hover-line: none;
|
|
3197
|
+
--fgd-series-fill: none;
|
|
3198
|
+
--fgd-series-pattern: inline;
|
|
3122
3199
|
}
|
|
3123
3200
|
|
|
3124
3201
|
/* Tone-resolved aliases [D155, D141]. */
|
|
@@ -3128,8 +3205,8 @@
|
|
|
3128
3205
|
--role-status-fill: var(--secondary4);
|
|
3129
3206
|
/* Two-ink charts: odd slots --secondary11 and the sequential screen fills, in both modes (§8.7). */
|
|
3130
3207
|
--role-series-odd: var(--secondary11);
|
|
3131
|
-
--
|
|
3132
|
-
--
|
|
3208
|
+
--fgd-series-fill: inline;
|
|
3209
|
+
--fgd-series-pattern: none;
|
|
3133
3210
|
}
|
|
3134
3211
|
|
|
3135
3212
|
[data-tone='tinted'] {
|
|
@@ -3148,7 +3225,7 @@
|
|
|
3148
3225
|
[data-tone='solid-dark'] {
|
|
3149
3226
|
--role-soft-hover: var(--role-ground);
|
|
3150
3227
|
--role-soft-hover-face: var(--role-halo);
|
|
3151
|
-
--
|
|
3228
|
+
--fgd-soft-hover-line: underline;
|
|
3152
3229
|
}
|
|
3153
3230
|
|
|
3154
3231
|
/* Dark fixed scopes: a pill fill that reaches 3:1 is its own edge. */
|
|
@@ -3169,7 +3246,7 @@
|
|
|
3169
3246
|
/* One ink [D14]: link hover is that ink plus the underline; selection hovers the inverse pair [D181]. */
|
|
3170
3247
|
--role-link-hover: var(--primary12);
|
|
3171
3248
|
--role-select-hover: var(--primary11);
|
|
3172
|
-
--
|
|
3249
|
+
--fgd-link-hover-line: underline;
|
|
3173
3250
|
/* The ink pill. */
|
|
3174
3251
|
--role-pill: var(--primary12);
|
|
3175
3252
|
--role-pill-label: var(--role-inverse);
|
|
@@ -3240,7 +3317,7 @@
|
|
|
3240
3317
|
--role-grain-light: var(--primary4);
|
|
3241
3318
|
--role-grain-dark: var(--primary1);
|
|
3242
3319
|
/* The one seam tone separates (from a light page ground): the shaped edge may sit here [D179]. */
|
|
3243
|
-
--
|
|
3320
|
+
--fgd-edge-shaped: block;
|
|
3244
3321
|
}
|
|
3245
3322
|
|
|
3246
3323
|
[data-ground='forest'] {
|
|
@@ -3262,7 +3339,7 @@
|
|
|
3262
3339
|
--role-grain-light: var(--primary8);
|
|
3263
3340
|
--role-grain-dark: var(--primary6);
|
|
3264
3341
|
--role-disabled-edge: var(--primary12); /* one text ink [D85, D115] */
|
|
3265
|
-
--
|
|
3342
|
+
--fgd-muted-weight-step: 0; /* no muted tier [D175] */
|
|
3266
3343
|
}
|
|
3267
3344
|
|
|
3268
3345
|
[data-ground='leaf'] {
|
|
@@ -3281,7 +3358,7 @@
|
|
|
3281
3358
|
--role-action-edge: var(--primary12);
|
|
3282
3359
|
--role-grain-light: var(--secondary8);
|
|
3283
3360
|
--role-grain-dark: var(--secondary10);
|
|
3284
|
-
--
|
|
3361
|
+
--fgd-muted-weight-step: 0; /* no muted tier [D175] */
|
|
3285
3362
|
}
|
|
3286
3363
|
|
|
3287
3364
|
[data-ground='amber'] {
|
|
@@ -3300,7 +3377,7 @@
|
|
|
3300
3377
|
--role-action-edge: var(--primary12);
|
|
3301
3378
|
--role-grain-light: var(--secondary6);
|
|
3302
3379
|
--role-grain-dark: var(--secondary8);
|
|
3303
|
-
--
|
|
3380
|
+
--fgd-muted-weight-step: 0; /* no muted tier [D175] */
|
|
3304
3381
|
}
|
|
3305
3382
|
|
|
3306
3383
|
[data-ground='clay'] {
|
|
@@ -3319,7 +3396,7 @@
|
|
|
3319
3396
|
--role-action-edge: var(--primary12);
|
|
3320
3397
|
--role-grain-light: var(--secondary8);
|
|
3321
3398
|
--role-grain-dark: var(--secondary10);
|
|
3322
|
-
--
|
|
3399
|
+
--fgd-muted-weight-step: 0; /* no muted tier [D175] */
|
|
3323
3400
|
}
|
|
3324
3401
|
|
|
3325
3402
|
[data-ground='pink'] {
|
|
@@ -3337,7 +3414,7 @@
|
|
|
3337
3414
|
--role-action-label: var(--primary1);
|
|
3338
3415
|
--role-action-edge: var(--primary12);
|
|
3339
3416
|
--role-grain-light: var(--secondary7);
|
|
3340
|
-
--
|
|
3417
|
+
--fgd-muted-weight-step: 0; /* no muted tier [D175] */
|
|
3341
3418
|
}
|
|
3342
3419
|
|
|
3343
3420
|
[data-ground='royal'] {
|
|
@@ -3355,7 +3432,7 @@
|
|
|
3355
3432
|
--role-action-label: var(--secondary-contrast);
|
|
3356
3433
|
--role-action-edge: var(--secondary9);
|
|
3357
3434
|
--role-grain-dark: var(--secondary7);
|
|
3358
|
-
--
|
|
3435
|
+
--fgd-muted-weight-step: 0; /* no muted tier [D175] */
|
|
3359
3436
|
}
|
|
3360
3437
|
|
|
3361
3438
|
[data-ground='brick'] {
|
|
@@ -3376,7 +3453,7 @@
|
|
|
3376
3453
|
--role-status-text: var(--secondary12);
|
|
3377
3454
|
--role-grain-light: var(--secondary8);
|
|
3378
3455
|
--role-grain-dark: var(--secondary6);
|
|
3379
|
-
--
|
|
3456
|
+
--fgd-muted-weight-step: 0; /* no muted tier [D175] */
|
|
3380
3457
|
}
|
|
3381
3458
|
|
|
3382
3459
|
/*
|
|
@@ -3425,7 +3502,7 @@
|
|
|
3425
3502
|
*/
|
|
3426
3503
|
[data-theme='dark']:not([data-ground]) [data-ground='night'] {
|
|
3427
3504
|
--role-seam: var(--primary12);
|
|
3428
|
-
--
|
|
3505
|
+
--fgd-edge-shaped: none;
|
|
3429
3506
|
}
|
|
3430
3507
|
|
|
3431
3508
|
/*
|
|
@@ -3456,7 +3533,7 @@
|
|
|
3456
3533
|
--role-pill: var(--secondary9);
|
|
3457
3534
|
--role-pill-label: var(--secondary-contrast);
|
|
3458
3535
|
--role-pill-edge: var(--secondary9);
|
|
3459
|
-
--
|
|
3536
|
+
--fgd-link-hover-line: none;
|
|
3460
3537
|
}
|
|
3461
3538
|
|
|
3462
3539
|
[data-theme='dark'] [data-ground='white'][data-scheme='page'] {
|
|
@@ -3492,14 +3569,14 @@
|
|
|
3492
3569
|
--role-select-text-label: var(--role-select-mark);
|
|
3493
3570
|
--role-select-text-edge: var(--role-select-edge);
|
|
3494
3571
|
--role-select-text-hover: var(--role-select-hover);
|
|
3495
|
-
--
|
|
3572
|
+
--fgd-link-hover-line: none;
|
|
3496
3573
|
}
|
|
3497
3574
|
|
|
3498
3575
|
[data-theme='dark'] [data-ground='rose'][data-scheme='page'],
|
|
3499
3576
|
[data-theme='dark'] [data-ground='heather'][data-scheme='page'] {
|
|
3500
3577
|
/* No text-safe accent (--red9 4.17, --purple10 3.55): links stay ink, and hover adds the underline [D176, D181]. */
|
|
3501
3578
|
--role-link-hover: var(--primary12);
|
|
3502
|
-
--
|
|
3579
|
+
--fgd-link-hover-line: underline;
|
|
3503
3580
|
}
|
|
3504
3581
|
|
|
3505
3582
|
[data-theme='dark'] [data-ground='heather'][data-scheme='page'] {
|
|
@@ -3561,7 +3638,7 @@
|
|
|
3561
3638
|
--role-pill: var(--secondary9);
|
|
3562
3639
|
--role-pill-label: var(--secondary-contrast);
|
|
3563
3640
|
--role-pill-edge: var(--secondary9);
|
|
3564
|
-
--
|
|
3641
|
+
--fgd-link-hover-line: none;
|
|
3565
3642
|
}
|
|
3566
3643
|
|
|
3567
3644
|
:root:not([data-theme='light']) [data-ground='white'][data-scheme='page'] {
|
|
@@ -3596,14 +3673,14 @@
|
|
|
3596
3673
|
--role-select-text-label: var(--role-select-mark);
|
|
3597
3674
|
--role-select-text-edge: var(--role-select-edge);
|
|
3598
3675
|
--role-select-text-hover: var(--role-select-hover);
|
|
3599
|
-
--
|
|
3676
|
+
--fgd-link-hover-line: none;
|
|
3600
3677
|
}
|
|
3601
3678
|
|
|
3602
3679
|
:root:not([data-theme='light']) [data-ground='rose'][data-scheme='page'],
|
|
3603
3680
|
:root:not([data-theme='light']) [data-ground='heather'][data-scheme='page'] {
|
|
3604
3681
|
/* No text-safe accent (--red9 4.17, --purple10 3.55): links stay ink, and hover adds the underline [D176, D181]. */
|
|
3605
3682
|
--role-link-hover: var(--primary12);
|
|
3606
|
-
--
|
|
3683
|
+
--fgd-link-hover-line: underline;
|
|
3607
3684
|
}
|
|
3608
3685
|
|
|
3609
3686
|
:root:not([data-theme='light']) [data-ground='heather'][data-scheme='page'] {
|
|
@@ -3620,7 +3697,7 @@
|
|
|
3620
3697
|
|
|
3621
3698
|
:root:not([data-theme='light']) [data-ground='night'] {
|
|
3622
3699
|
--role-seam: var(--primary12);
|
|
3623
|
-
--
|
|
3700
|
+
--fgd-edge-shaped: none;
|
|
3624
3701
|
}
|
|
3625
3702
|
}
|
|
3626
3703
|
|
|
@@ -3654,7 +3731,7 @@
|
|
|
3654
3731
|
--role-pill: var(--secondary9);
|
|
3655
3732
|
--role-pill-label: var(--secondary-contrast);
|
|
3656
3733
|
--role-pill-edge: var(--secondary11);
|
|
3657
|
-
--
|
|
3734
|
+
--fgd-link-hover-line: none;
|
|
3658
3735
|
}
|
|
3659
3736
|
|
|
3660
3737
|
[data-ground='white'],
|
|
@@ -3693,7 +3770,7 @@
|
|
|
3693
3770
|
--role-pill: var(--secondary9);
|
|
3694
3771
|
--role-pill-label: var(--secondary-contrast);
|
|
3695
3772
|
--role-pill-edge: var(--secondary11);
|
|
3696
|
-
--
|
|
3773
|
+
--fgd-link-hover-line: none;
|
|
3697
3774
|
}
|
|
3698
3775
|
|
|
3699
3776
|
[data-ground='rose'],
|
|
@@ -3736,58 +3813,182 @@
|
|
|
3736
3813
|
*/
|
|
3737
3814
|
:root [data-theme='light']:not([data-ground]) [data-ground='night'] {
|
|
3738
3815
|
--role-seam: var(--role-ground);
|
|
3739
|
-
--
|
|
3816
|
+
--fgd-edge-shaped: block;
|
|
3740
3817
|
}
|
|
3741
3818
|
}
|
|
3819
|
+
/*
|
|
3820
|
+
* View Transitions: the expanding box's morph (foundations/expanding-box),
|
|
3821
|
+
* a field-like trigger growing into its dialog and back. The
|
|
3822
|
+
* `::view-transition-*` pseudo-elements carry no local class, so their rules
|
|
3823
|
+
* cannot live in a CSS Module; they live here, imported once by global.css.
|
|
3824
|
+
*
|
|
3825
|
+
* ExpandingBox sets each piece's view-transition-name per instance (never
|
|
3826
|
+
* in CSS) and gives every piece the class `fgd-xb` plus its kind
|
|
3827
|
+
* (`fgd-xb-corner`, `-edge`, `-face`, `-content`, `-main`, `-end`,
|
|
3828
|
+
* `-extra`, `-focus`), so these rules select by class only.
|
|
3829
|
+
* startExpandingTransition marks the running morph on the root element,
|
|
3830
|
+
* <html data-fgd-expanding="open|close">, and the pieces add `closing`
|
|
3831
|
+
* while it reads `close`.
|
|
3832
|
+
*
|
|
3833
|
+
* Only group geometry animates, never opacity: the pieces' images take no
|
|
3834
|
+
* animation and their old images are hidden, so each piece shows its new
|
|
3835
|
+
* state from the first frame while its group travels; while the flag is
|
|
3836
|
+
* set, no image in the transition (the root snapshot included) crossfades.
|
|
3837
|
+
* Timing: --fgd-duration-expand on --fgd-ease-expand to open,
|
|
3838
|
+
* --fgd-duration-collapse (an alias of --fgd-duration-disclosure) to close,
|
|
3839
|
+
* so the close stays the faster; startExpandingTransition reads the same
|
|
3840
|
+
* tokens on the trigger, and a 0 duration there applies the change at once. The
|
|
3841
|
+
* focus ring's new image is held hidden for --fgd-duration-disclosure (a
|
|
3842
|
+
* discrete visibility hold, not a fade), so the ring shows once the frame
|
|
3843
|
+
* has landed. Under reduced motion the morph never starts.
|
|
3844
|
+
*/
|
|
3845
|
+
@layer base {
|
|
3846
|
+
/*
|
|
3847
|
+
* Groups: geometry only, stacked as the box paints: the face (and the
|
|
3848
|
+
* ring's piece) lowest, the corners and the four edges over it, the
|
|
3849
|
+
* content on top. Left to document order, the face would paint over the
|
|
3850
|
+
* head corners' straight run.
|
|
3851
|
+
*/
|
|
3852
|
+
::view-transition-group(*.fgd-xb) {
|
|
3853
|
+
z-index: var(--layer-1);
|
|
3854
|
+
animation-duration: var(--fgd-duration-expand);
|
|
3855
|
+
animation-timing-function: var(--fgd-ease-expand);
|
|
3856
|
+
}
|
|
3857
|
+
|
|
3858
|
+
::view-transition-group(*.fgd-xb-corner),
|
|
3859
|
+
::view-transition-group(*.fgd-xb-edge) {
|
|
3860
|
+
z-index: var(--layer-2);
|
|
3861
|
+
}
|
|
3862
|
+
|
|
3863
|
+
::view-transition-group(*.fgd-xb-content),
|
|
3864
|
+
::view-transition-group(*.fgd-xb-main),
|
|
3865
|
+
::view-transition-group(*.fgd-xb-end),
|
|
3866
|
+
::view-transition-group(*.fgd-xb-extra) {
|
|
3867
|
+
z-index: var(--layer-3);
|
|
3868
|
+
}
|
|
3869
|
+
|
|
3870
|
+
::view-transition-group(*.fgd-xb.closing) {
|
|
3871
|
+
animation-duration: var(--fgd-duration-collapse);
|
|
3872
|
+
}
|
|
3873
|
+
|
|
3874
|
+
/* Images: no crossfade. The old image is hidden; the new one shows at once. */
|
|
3875
|
+
::view-transition-old(*.fgd-xb),
|
|
3876
|
+
::view-transition-new(*.fgd-xb) {
|
|
3877
|
+
animation: none;
|
|
3878
|
+
}
|
|
3879
|
+
|
|
3880
|
+
::view-transition-old(*.fgd-xb) {
|
|
3881
|
+
display: none;
|
|
3882
|
+
}
|
|
3883
|
+
|
|
3884
|
+
/* Content and main keep their proportions and hug the left edge. */
|
|
3885
|
+
::view-transition-new(*.fgd-xb-content),
|
|
3886
|
+
::view-transition-new(*.fgd-xb-main) {
|
|
3887
|
+
block-size: 100%;
|
|
3888
|
+
inline-size: fit-content;
|
|
3889
|
+
object-position: left;
|
|
3890
|
+
}
|
|
3891
|
+
|
|
3892
|
+
/* The end piece keeps its size and rides the right edge. */
|
|
3893
|
+
::view-transition-new(*.fgd-xb-end) {
|
|
3894
|
+
inline-size: fit-content;
|
|
3895
|
+
object-position: right;
|
|
3896
|
+
}
|
|
3897
|
+
|
|
3898
|
+
/* The extra grows from the main piece's foot. */
|
|
3899
|
+
::view-transition-new(*.fgd-xb-extra) {
|
|
3900
|
+
block-size: 100%;
|
|
3901
|
+
object-position: left;
|
|
3902
|
+
}
|
|
3903
|
+
|
|
3904
|
+
/*
|
|
3905
|
+
* The four edges fill their groups, which change only in length (an edge
|
|
3906
|
+
* strip keeps its thickness), so they stretch along it at a constant
|
|
3907
|
+
* weight; the borderless face fills freely; corners keep their size.
|
|
3908
|
+
*/
|
|
3909
|
+
::view-transition-new(*.fgd-xb-face),
|
|
3910
|
+
::view-transition-new(*.fgd-xb-edge) {
|
|
3911
|
+
block-size: 100%;
|
|
3912
|
+
}
|
|
3913
|
+
|
|
3914
|
+
/* While the morph runs, nothing else crossfades either: not the root snapshot, not a stray name. */
|
|
3915
|
+
:root[data-fgd-expanding]::view-transition-old(*),
|
|
3916
|
+
:root[data-fgd-expanding]::view-transition-new(*) {
|
|
3917
|
+
animation: none;
|
|
3918
|
+
}
|
|
3919
|
+
|
|
3920
|
+
:root[data-fgd-expanding]::view-transition-old(*) {
|
|
3921
|
+
display: none;
|
|
3922
|
+
}
|
|
3923
|
+
|
|
3924
|
+
/* The root does not move; its group adds no time to the morph. */
|
|
3925
|
+
:root[data-fgd-expanding]::view-transition-group(root) {
|
|
3926
|
+
animation: none;
|
|
3927
|
+
}
|
|
3928
|
+
|
|
3929
|
+
/* The ring hand-off: hidden while the frame travels, then shown (after the rules above, and as specific). */
|
|
3930
|
+
:root[data-fgd-expanding]::view-transition-new(*.fgd-xb-focus) {
|
|
3931
|
+
animation: fgd-xb-hold var(--fgd-duration-disclosure) linear;
|
|
3932
|
+
}
|
|
3933
|
+
}
|
|
3934
|
+
|
|
3935
|
+
@keyframes fgd-xb-hold {
|
|
3936
|
+
from,
|
|
3937
|
+
to {
|
|
3938
|
+
visibility: hidden;
|
|
3939
|
+
}
|
|
3940
|
+
}
|
|
3941
|
+
|
|
3742
3942
|
/*
|
|
3743
3943
|
* The print remap (§1.11.6, §1.4.5). Print always renders light, whatever
|
|
3744
3944
|
* the screen mode, including inside a data-theme="dark" band: steps 1–5 of
|
|
3745
|
-
* the role scales go white and 6–12 black
|
|
3746
|
-
* black;
|
|
3747
|
-
*
|
|
3748
|
-
*
|
|
3945
|
+
* the role scales (danger included) go white and 6–12 black, so the danger
|
|
3946
|
+
* roles print black; contrast inks and label aliases black; halo, grounds,
|
|
3947
|
+
* tints and grain white; the seam black. Browsers drop backgrounds by
|
|
3948
|
+
* default, so fills and decorative patterns vanish; borders and inline SVG
|
|
3949
|
+
* print. Modules add structural print rules only.
|
|
3749
3950
|
*/
|
|
3750
3951
|
@layer print {
|
|
3751
3952
|
@media print {
|
|
3752
3953
|
@page {
|
|
3753
|
-
margin: var(--
|
|
3954
|
+
margin: var(--fgd-print-margin-block) var(--fgd-print-margin-inline);
|
|
3754
3955
|
}
|
|
3755
3956
|
|
|
3756
3957
|
:root {
|
|
3757
3958
|
color-scheme: light;
|
|
3758
|
-
--
|
|
3759
|
-
--
|
|
3959
|
+
--fgd-font-fine: var(--fgd-font-text);
|
|
3960
|
+
--fgd-muted-weight-step: 0;
|
|
3760
3961
|
|
|
3761
3962
|
/* Print values of the tokens (§1.5). 1 px = 0.75 pt, so most px values already map exactly. */
|
|
3762
|
-
--
|
|
3763
|
-
--
|
|
3764
|
-
--
|
|
3765
|
-
--
|
|
3766
|
-
--
|
|
3767
|
-
--
|
|
3768
|
-
--
|
|
3769
|
-
--
|
|
3770
|
-
--
|
|
3771
|
-
--
|
|
3772
|
-
--
|
|
3773
|
-
--
|
|
3774
|
-
--
|
|
3775
|
-
--
|
|
3776
|
-
--
|
|
3777
|
-
--
|
|
3778
|
-
--
|
|
3779
|
-
--
|
|
3780
|
-
--
|
|
3781
|
-
--
|
|
3782
|
-
--
|
|
3963
|
+
--fgd-font-size-display-xl: 26pt;
|
|
3964
|
+
--fgd-font-size-stat: 24pt; /* type-stat (§1.5.6, §8.8); type-display-xl keeps 26 pt */
|
|
3965
|
+
--fgd-font-size-display: 22pt;
|
|
3966
|
+
--fgd-font-size-h2: 17pt;
|
|
3967
|
+
--fgd-font-size-itemhead: 13pt;
|
|
3968
|
+
--fgd-font-size-kicker: 10.5pt;
|
|
3969
|
+
--fgd-font-size-subhead: 11pt;
|
|
3970
|
+
--fgd-font-size-lead: 12pt;
|
|
3971
|
+
--fgd-font-size-quote: 14pt;
|
|
3972
|
+
--fgd-font-size-body: 10.5pt;
|
|
3973
|
+
--fgd-font-size-body-ui: 10pt;
|
|
3974
|
+
--fgd-font-size-marquee: 11pt;
|
|
3975
|
+
--fgd-font-size-button-lg: 10pt;
|
|
3976
|
+
--fgd-font-size-button: 9pt;
|
|
3977
|
+
--fgd-font-size-footnote: 8.5pt;
|
|
3978
|
+
--fgd-font-size-caption: 8.5pt;
|
|
3979
|
+
--fgd-font-size-eyebrow: 8pt;
|
|
3980
|
+
--fgd-font-size-label: 8pt;
|
|
3981
|
+
--fgd-leading-reading: var(--fgd-leading-compact);
|
|
3982
|
+
--size-px-8-5: 36pt;
|
|
3983
|
+
--fgd-space-section: 36pt;
|
|
3783
3984
|
--size-px-10: 36pt;
|
|
3784
3985
|
--size-px-11: 48pt;
|
|
3785
|
-
--
|
|
3786
|
-
--
|
|
3787
|
-
--
|
|
3788
|
-
--
|
|
3789
|
-
--
|
|
3790
|
-
--
|
|
3986
|
+
--fgd-space-margin: 0;
|
|
3987
|
+
--border-size-0-75: 0.75pt;
|
|
3988
|
+
--border-size-1-25: 1pt;
|
|
3989
|
+
--border-size-1-5: 1.1pt;
|
|
3990
|
+
--border-size-3-5: 4pt;
|
|
3991
|
+
--fgd-measure-reading: var(--fgd-measure-print);
|
|
3791
3992
|
}
|
|
3792
3993
|
|
|
3793
3994
|
:root,
|
|
@@ -3828,12 +4029,25 @@
|
|
|
3828
4029
|
--action10: #000;
|
|
3829
4030
|
--action11: #000;
|
|
3830
4031
|
--action12: #000;
|
|
4032
|
+
--danger1: #fff;
|
|
4033
|
+
--danger2: #fff;
|
|
4034
|
+
--danger3: #fff;
|
|
4035
|
+
--danger4: #fff;
|
|
4036
|
+
--danger5: #fff;
|
|
4037
|
+
--danger6: #000;
|
|
4038
|
+
--danger7: #000;
|
|
4039
|
+
--danger8: #000;
|
|
4040
|
+
--danger9: #000;
|
|
4041
|
+
--danger10: #000;
|
|
4042
|
+
--danger11: #000;
|
|
4043
|
+
--danger12: #000;
|
|
3831
4044
|
--primary-contrast: #000;
|
|
3832
4045
|
--secondary-contrast: #000;
|
|
3833
4046
|
--action-contrast: #000;
|
|
3834
4047
|
--role-inverse: #000;
|
|
3835
4048
|
--role-action-label: #000;
|
|
3836
4049
|
--role-action-pressed-label: #000;
|
|
4050
|
+
--role-danger-label: #000;
|
|
3837
4051
|
--role-select-mark: #000;
|
|
3838
4052
|
--role-status-text: #000;
|
|
3839
4053
|
--role-halo: #fff;
|