@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
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
* field is the Input's box (§10.1), the submit a `solid` Button butted to
|
|
9
9
|
* it, and the clear and header trigger icon-only Buttons: their parts are
|
|
10
10
|
* left to their own modules (§1.11.1). Colors are role variables only.
|
|
11
|
+
* The popup opens and closes by the outline morph (it answers
|
|
12
|
+
* `data-outline-morph`, foundations/outline-morph) or at once [D205].
|
|
11
13
|
*/
|
|
12
14
|
|
|
13
15
|
/* Composition sits in top-level rules, outside the layers: Lightning CSS
|
|
@@ -55,7 +57,7 @@
|
|
|
55
57
|
|
|
56
58
|
/*
|
|
57
59
|
* Rule-bounded: no box; the field sits between two --border-size-2
|
|
58
|
-
* --primary12 rules the width of the container
|
|
60
|
+
* --primary12 rules the width of the container.
|
|
59
61
|
*/
|
|
60
62
|
.rules {
|
|
61
63
|
position: relative;
|
|
@@ -65,7 +67,7 @@
|
|
|
65
67
|
box-sizing: border-box;
|
|
66
68
|
inline-size: 100%;
|
|
67
69
|
block-size: var(--size-px-8);
|
|
68
|
-
padding-inline: var(--
|
|
70
|
+
padding-inline: var(--size-px-2-5);
|
|
69
71
|
border-block: var(--border-size-2) solid var(--primary12);
|
|
70
72
|
color: var(--primary12);
|
|
71
73
|
cursor: text;
|
|
@@ -93,14 +95,11 @@
|
|
|
93
95
|
|
|
94
96
|
/* The §9.1 panel at field width: the white scope's face, the --border-size-2 --primary12 frame. */
|
|
95
97
|
.popup {
|
|
96
|
-
/* The clip reveal starts from the trigger side. */
|
|
97
|
-
--search-reveal-from: inset(0 0 100% 0);
|
|
98
|
-
|
|
99
98
|
box-sizing: border-box;
|
|
100
99
|
inline-size: var(--anchor-width);
|
|
101
|
-
max-inline-size: calc(100vw - 2 * var(--
|
|
100
|
+
max-inline-size: calc(100vw - 2 * var(--fgd-space-margin));
|
|
102
101
|
border: var(--border-size-2) solid var(--primary12);
|
|
103
|
-
border-radius: var(--
|
|
102
|
+
border-radius: var(--radius-2-25);
|
|
104
103
|
background-color: var(--primary1);
|
|
105
104
|
color: var(--primary12);
|
|
106
105
|
clip-path: inset(0);
|
|
@@ -112,7 +111,7 @@
|
|
|
112
111
|
box-sizing: border-box;
|
|
113
112
|
max-block-size: min(
|
|
114
113
|
var(--available-height, 100vh),
|
|
115
|
-
calc(8 * var(--
|
|
114
|
+
calc(8 * var(--fgd-size-hit) + 2 * var(--size-px-1))
|
|
116
115
|
);
|
|
117
116
|
padding: var(--size-px-1);
|
|
118
117
|
overflow-y: auto;
|
|
@@ -142,15 +141,15 @@
|
|
|
142
141
|
color: var(--role-muted);
|
|
143
142
|
}
|
|
144
143
|
|
|
145
|
-
/* Suggestion rows: --
|
|
144
|
+
/* Suggestion rows: --fgd-size-hit, type-body-ui; an optional type icon; highlight radius 8 − 4 [D40]. */
|
|
146
145
|
.item {
|
|
147
146
|
position: relative;
|
|
148
147
|
display: flex;
|
|
149
148
|
align-items: center;
|
|
150
149
|
gap: var(--size-px-2);
|
|
151
|
-
min-block-size: var(--
|
|
150
|
+
min-block-size: var(--fgd-size-hit);
|
|
152
151
|
padding-inline: var(--size-px-3);
|
|
153
|
-
border-radius: calc(var(--
|
|
152
|
+
border-radius: calc(var(--radius-2-25) - var(--size-px-1));
|
|
154
153
|
color: var(--primary12);
|
|
155
154
|
text-decoration-line: none;
|
|
156
155
|
cursor: default;
|
|
@@ -164,7 +163,7 @@
|
|
|
164
163
|
position: absolute;
|
|
165
164
|
inset-block: 0;
|
|
166
165
|
inset-inline-start: 0;
|
|
167
|
-
border-inline-start: var(--
|
|
166
|
+
border-inline-start: var(--border-size-2-25) solid var(--primary12);
|
|
168
167
|
}
|
|
169
168
|
|
|
170
169
|
.itemIcon {
|
|
@@ -187,7 +186,7 @@
|
|
|
187
186
|
font-weight: var(--font-weight-7);
|
|
188
187
|
}
|
|
189
188
|
|
|
190
|
-
/* The secondary name: italic type-caption in --role-muted
|
|
189
|
+
/* The secondary name: italic type-caption in --role-muted. */
|
|
191
190
|
.secondaryName {
|
|
192
191
|
font-style: italic;
|
|
193
192
|
}
|
|
@@ -196,7 +195,7 @@
|
|
|
196
195
|
.seeAll {
|
|
197
196
|
display: flex;
|
|
198
197
|
align-items: center;
|
|
199
|
-
min-block-size: var(--
|
|
198
|
+
min-block-size: var(--fgd-size-hit);
|
|
200
199
|
padding-inline: var(--size-px-3);
|
|
201
200
|
border-block-start: var(--border-size-1) solid var(--role-rule);
|
|
202
201
|
}
|
|
@@ -210,14 +209,14 @@
|
|
|
210
209
|
padding: var(--size-px-2) var(--size-px-3);
|
|
211
210
|
}
|
|
212
211
|
|
|
213
|
-
/* Docked: a full-width opaque bar at least --
|
|
212
|
+
/* Docked: a full-width opaque bar at least --fgd-size-hit tall, a --border-size-1 rule on its content side. */
|
|
214
213
|
.bar {
|
|
215
214
|
display: flex;
|
|
216
215
|
align-items: center;
|
|
217
216
|
box-sizing: border-box;
|
|
218
|
-
min-block-size: var(--
|
|
217
|
+
min-block-size: var(--fgd-size-hit);
|
|
219
218
|
padding-block: var(--size-px-2);
|
|
220
|
-
padding-inline: var(--
|
|
219
|
+
padding-inline: var(--fgd-space-margin);
|
|
221
220
|
border-block-end: var(--border-size-1) solid var(--role-rule);
|
|
222
221
|
background-color: var(--role-ground);
|
|
223
222
|
}
|
|
@@ -233,12 +232,6 @@
|
|
|
233
232
|
}
|
|
234
233
|
}
|
|
235
234
|
|
|
236
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
237
|
-
/* The clip reveal (the edge wipes open), never a fade [D91]. */
|
|
238
|
-
.popup {
|
|
239
|
-
transition: clip-path var(--ds-duration-disclosure) var(--ease-out-3);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
235
|
}
|
|
243
236
|
|
|
244
237
|
@layer variants {
|
|
@@ -285,7 +278,7 @@
|
|
|
285
278
|
display: block;
|
|
286
279
|
}
|
|
287
280
|
|
|
288
|
-
/* Highlighted: --primary4 plus a --
|
|
281
|
+
/* Highlighted: --primary4 plus a --border-size-2-25 start bar, as Menu [D145]. */
|
|
289
282
|
.item[data-highlighted] {
|
|
290
283
|
background-color: var(--primary4);
|
|
291
284
|
}
|
|
@@ -303,15 +296,14 @@
|
|
|
303
296
|
display: none;
|
|
304
297
|
}
|
|
305
298
|
|
|
306
|
-
/*
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
clip-path: var(--search-reveal-from);
|
|
299
|
+
/*
|
|
300
|
+
* Outline morph [D204]: while the overlay draws the frame, the popup's own
|
|
301
|
+
* edge takes its face and its own transitions stay off. Without the morph
|
|
302
|
+
* the popup opens and closes at once (no reveal of its own) [D205].
|
|
303
|
+
*/
|
|
304
|
+
.popup[data-outline-morph] {
|
|
305
|
+
border-color: var(--primary1);
|
|
306
|
+
transition: none;
|
|
315
307
|
}
|
|
316
308
|
}
|
|
317
309
|
|
package/forms/select/Select.d.ts
CHANGED
|
@@ -54,6 +54,14 @@ export type SelectProps<Value = string> = RootProps<Value> & {
|
|
|
54
54
|
* scale while invalid.
|
|
55
55
|
*/
|
|
56
56
|
secondary?: SelectVariants['secondary'];
|
|
57
|
+
/**
|
|
58
|
+
* The outline morph: the focus ring grows into the popup's frame as it
|
|
59
|
+
* opens and shrinks back as it closes; opened by pointer (no ring), the
|
|
60
|
+
* field edge grows instead. Instant under reduced motion; off in forced
|
|
61
|
+
* colors and print, and wherever `--fgd-outline-morph: none` applies.
|
|
62
|
+
* Default `true`; `false` opens and closes the popup at once.
|
|
63
|
+
*/
|
|
64
|
+
morph?: boolean;
|
|
57
65
|
} & ({
|
|
58
66
|
/**
|
|
59
67
|
* `outline` (default) is the boxed field; `underline` is the trigger
|
|
@@ -81,8 +89,8 @@ export type SelectItemProps = Omit<BaseSelect.Item.Props, 'className'> & {
|
|
|
81
89
|
swatch?: string;
|
|
82
90
|
};
|
|
83
91
|
/**
|
|
84
|
-
* One option: a `--
|
|
85
|
-
* soft fill and the `--
|
|
92
|
+
* One option: a `--fgd-size-hit` row. Highlighted rows take the `--primary4`
|
|
93
|
+
* soft fill and the `--border-size-2-25` start bar; the chosen row a leading ✓
|
|
86
94
|
* and `--font-weight-6` [D145].
|
|
87
95
|
*/
|
|
88
96
|
export declare function SelectItem(props: SelectItemProps): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/forms/select/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/forms/select/Select.tsx"],"names":[],"mappings":"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"}
|
package/forms/select/Select.js
CHANGED
|
@@ -5,6 +5,8 @@ import { cva } from 'class-variance-authority';
|
|
|
5
5
|
import { dangerScale, useFieldInvalid } from '../field';
|
|
6
6
|
import { Ground } from '../../foundations/ground';
|
|
7
7
|
import { Icon, iconHost } from '../../foundations/icon';
|
|
8
|
+
import { OutlineMorphFrame } from '../../foundations/outline-morph';
|
|
9
|
+
import { useOutlineMorphRoot } from '../../foundations/outline-morph/useOutlineMorphRoot';
|
|
8
10
|
import { cx } from '../../utils/className';
|
|
9
11
|
import { primaryScaleVariants, secondaryScaleVariants } from '../../utils/scales';
|
|
10
12
|
import { useScopeAttributes } from '../../utils/scope';
|
|
@@ -16,7 +18,7 @@ import styles from './select.module.css';
|
|
|
16
18
|
* Implementation (CSS Modules + CVA)
|
|
17
19
|
* - Module: select.module.css; CVA function `select`.
|
|
18
20
|
* - Axes: `variant` → outline (boxed trigger), underline (trigger text over
|
|
19
|
-
* a --border-size-2 --role-accent underline
|
|
21
|
+
* a --border-size-2 --role-accent underline); `plate` → plate;
|
|
20
22
|
* `primary`, `secondary` → scales module classes.
|
|
21
23
|
* - Compound variants: none. Excluded in the types: `plate` with underline.
|
|
22
24
|
* - Defaults: variant outline, plate false; color axes none.
|
|
@@ -26,13 +28,13 @@ import styles from './select.module.css';
|
|
|
26
28
|
* - States: trigger `:hover` (not disabled) → boxed edge → --primary12
|
|
27
29
|
* [D140], underline --role-accent → --primary12 at the same weight
|
|
28
30
|
* [D181]; `data-popup-open` → boxed edge
|
|
29
|
-
* --primary12, underline --
|
|
31
|
+
* --primary12, underline --border-size-2-25, chevron rotated; `:focus-visible`
|
|
30
32
|
* → ring; `data-disabled` → dotted edge, --role-muted; `data-invalid` →
|
|
31
33
|
* error edge or danger underline. Item `data-highlighted` → --primary4
|
|
32
|
-
* plus the --
|
|
34
|
+
* plus the --border-size-2-25 start bar [D145]; `data-selected` → leading ✓
|
|
33
35
|
* plus --font-weight-6; `data-disabled` → --role-muted, never
|
|
34
|
-
* highlighted. Popup
|
|
35
|
-
*
|
|
36
|
+
* highlighted. Popup: the outline morph or nothing; it opens and closes
|
|
37
|
+
* at once [D205].
|
|
36
38
|
* - Parts: base (the trigger), value, icon, swatch, popup, list, item,
|
|
37
39
|
* itemText, itemIndicator, group, groupLabel, separator.
|
|
38
40
|
* - Scope: `popup` renders in its Base UI Portal and declares a nested
|
|
@@ -40,6 +42,11 @@ import styles from './select.module.css';
|
|
|
40
42
|
* [D92] overlay frame [D139, D156]. `plate` → the trigger is a nested
|
|
41
43
|
* `white` Ground.
|
|
42
44
|
* - Container: none; inherits its context.
|
|
45
|
+
* - Outline morph [D204]: on by default (`morph={false}` opts out), the
|
|
46
|
+
* trigger's focus ring (or, opened by pointer, its edge) grows into the
|
|
47
|
+
* popup's frame and back (foundations/outline-morph). The frame renders
|
|
48
|
+
* beside the popup in its Positioner; while it draws, the popup carries
|
|
49
|
+
* `data-outline-morph` (its edge takes the face). No trigger style changes.
|
|
43
50
|
*/
|
|
44
51
|
export const select = cva(styles.base, {
|
|
45
52
|
variants: {
|
|
@@ -79,12 +86,19 @@ function Swatch({ color }) {
|
|
|
79
86
|
* searchable lists and Radio for 2–4 visible options.
|
|
80
87
|
*/
|
|
81
88
|
export function Select(props) {
|
|
82
|
-
const { items, children, placeholder, variant, plate, primary, secondary, className, 'aria-label': ariaLabel, ...rootProps } = props;
|
|
89
|
+
const { items, children, placeholder, variant, plate, primary, secondary, className, 'aria-label': ariaLabel, morph = true, onOpenChange, ...rootProps } = props;
|
|
83
90
|
const scope = useScopeAttributes();
|
|
84
91
|
const invalid = useFieldInvalid();
|
|
85
92
|
const resolvedSecondary = invalid ? dangerScale : secondary;
|
|
86
93
|
const options = flatten(items);
|
|
87
94
|
const hasSwatch = options.some((option) => option.swatch);
|
|
95
|
+
// The outline morph follows the root's open state [D204].
|
|
96
|
+
const outline = useOutlineMorphRoot({
|
|
97
|
+
open: rootProps.open,
|
|
98
|
+
defaultOpen: rootProps.defaultOpen,
|
|
99
|
+
onOpenChange,
|
|
100
|
+
morph,
|
|
101
|
+
});
|
|
88
102
|
const triggerClassName = select({
|
|
89
103
|
variant,
|
|
90
104
|
plate,
|
|
@@ -103,17 +117,18 @@ export function Select(props) {
|
|
|
103
117
|
option.label));
|
|
104
118
|
}
|
|
105
119
|
: undefined;
|
|
106
|
-
return (React.createElement(BaseSelect.Root, { ...rootProps, items: items },
|
|
107
|
-
React.createElement(BaseSelect.Trigger, { ...(plate ? null : scope), "aria-label": ariaLabel, className: triggerClassName, render: plate ? (React.createElement(Ground, { preset: "white", kind: "face", primary: primary ?? undefined, secondary: resolvedSecondary ?? undefined, render: React.createElement("button", { type: "button" }) })) : undefined },
|
|
120
|
+
return (React.createElement(BaseSelect.Root, { ...rootProps, onOpenChange: outline.onOpenChange, items: items },
|
|
121
|
+
React.createElement(BaseSelect.Trigger, { ref: outline.refs?.sourceRef, ...(plate ? null : scope), "aria-label": ariaLabel, className: triggerClassName, render: plate ? (React.createElement(Ground, { preset: "white", kind: "face", primary: primary ?? undefined, secondary: resolvedSecondary ?? undefined, render: React.createElement("button", { type: "button" }) })) : undefined },
|
|
108
122
|
React.createElement(BaseSelect.Value, { className: styles.value, placeholder: placeholder }, renderValue),
|
|
109
123
|
React.createElement(BaseSelect.Icon, { className: styles.icon },
|
|
110
124
|
React.createElement(Icon, { name: "expand_more", weight: "interactive" })),
|
|
111
125
|
React.createElement("svg", { className: styles.edge, "aria-hidden": "true", focusable: "false" }, variant === 'underline' ? (React.createElement("line", { className: styles.edgeLine, x1: "0", y1: "100%", x2: "100%", y2: "100%" })) : (React.createElement("rect", { className: styles.edgeLine, width: "100%", height: "100%" })))),
|
|
112
126
|
React.createElement(BaseSelect.Portal, null,
|
|
113
127
|
React.createElement(BaseSelect.Positioner, { className: styles.positioner, alignItemWithTrigger: false, side: "bottom", align: variant === 'underline' ? 'end' : 'start', sideOffset: 8, collisionPadding: 16 },
|
|
114
|
-
React.createElement(BaseSelect.Popup, { ...overlayAttributes, className: [styles.popup, overlayScaleClassName].join(' ') },
|
|
128
|
+
React.createElement(BaseSelect.Popup, { ref: outline.refs?.targetRef, ...overlayAttributes, className: [styles.popup, overlayScaleClassName].join(' ') },
|
|
115
129
|
React.createElement(OverlayScope, null,
|
|
116
|
-
React.createElement(BaseSelect.List, { className: styles.list }, children ?? (items ? renderItems(items) : null))))
|
|
130
|
+
React.createElement(BaseSelect.List, { className: styles.list }, children ?? (items ? renderItems(items) : null)))),
|
|
131
|
+
outline.refs ? React.createElement(OutlineMorphFrame, { ref: outline.refs.frameRef }) : null))));
|
|
117
132
|
}
|
|
118
133
|
function renderOption(option, index) {
|
|
119
134
|
return (React.createElement(SelectItem, { key: `${String(option.value)}-${index}`, value: option.value, label: option.label, disabled: option.disabled, swatch: option.swatch }, option.label));
|
|
@@ -126,8 +141,8 @@ function renderItems(items) {
|
|
|
126
141
|
React.createElement(SelectGroup, { label: group.label }, group.items.map(renderOption)))));
|
|
127
142
|
}
|
|
128
143
|
/**
|
|
129
|
-
* One option: a `--
|
|
130
|
-
* soft fill and the `--
|
|
144
|
+
* One option: a `--fgd-size-hit` row. Highlighted rows take the `--primary4`
|
|
145
|
+
* soft fill and the `--border-size-2-25` start bar; the chosen row a leading ✓
|
|
131
146
|
* and `--font-weight-6` [D145].
|
|
132
147
|
*/
|
|
133
148
|
export function SelectItem(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/forms/select/Select.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,MAAM,MAAM,qBAAqB,CAAA;AAExC
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/forms/select/Select.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAA;AACzF,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,MAAM,MAAM,qBAAqB,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;IACrC,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC,KAAK;SACnB;QACD,sCAAsC;QACtC,OAAO,EAAE,oBAAoB;QAC7B,SAAS,EAAE,sBAAsB;KAClC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,KAAK;KACb;CACF,CAAC,CAAA;AA2BF,SAAS,QAAQ,CAAQ,KAAyB;IAChD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,OAAO,CAAQ,KAAqC;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACxE,CAAC;AAkDD,4EAA4E;AAC5E,SAAS,MAAM,CAAC,EAAE,KAAK,EAAqB;IAC1C,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAC,WAAW,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO;QACrF,gCAAQ,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAE,KAAK,GAAI,CACvE,CACP,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAiB,KAAyB;IAC9D,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,KAAK,GAAG,IAAI,EACZ,YAAY,EACZ,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;IAET,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IACjC,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAEzD,0DAA0D;IAC1D,MAAM,OAAO,GAAG,mBAAmB,CAAC;QAClC,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,YAAY;QACZ,KAAK;KACN,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC;QAC9B,OAAO;QACP,KAAK;QACL,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACpC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB;QAChD,oEAAoE;QACpE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ;KAC7D,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,SAAS;QAC3B,CAAC,CAAC,CAAC,KAAmB,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;YAC7E,IAAI,CAAC,MAAM;gBAAE,OAAO,WAAW,IAAI,IAAI,CAAA;YACvC,OAAO,CACL;gBACG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAC,MAAM,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAI,CAAC,CAAC,CAAC,IAAI;gBACvD,MAAM,CAAC,KAAK,CACZ,CACJ,CAAA;QACH,CAAC;QACH,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO,CACL,oBAAC,UAAU,CAAC,IAAI,OAAmB,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK;QAC5F,oBAAC,UAAU,CAAC,OAAO,IACjB,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,KACxB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,gBACd,SAAS,EACrB,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EACJ,KAAK,CAAC,CAAC,CAAC,CACN,oBAAC,MAAM,IACL,MAAM,EAAC,OAAO,EACd,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,OAAO,IAAI,SAAS,EAC7B,SAAS,EAAE,iBAAiB,IAAI,SAAS,EACzC,MAAM,EAAE,gCAAQ,IAAI,EAAC,QAAQ,GAAG,GAChC,CACH,CAAC,CAAC,CAAC,SAAS;YAGf,oBAAC,UAAU,CAAC,KAAK,IAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,IAChE,WAAW,CACK;YACnB,oBAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAE,MAAM,CAAC,IAAI;gBACrC,oBAAC,IAAI,IAAC,IAAI,EAAC,aAAa,EAAC,MAAM,EAAC,aAAa,GAAG,CAChC;YAClB,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,iBAAc,MAAM,EAAC,SAAS,EAAC,OAAO,IAC9D,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,CACzB,8BAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,GAAG,CAC1E,CAAC,CAAC,CAAC,CACF,8BAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,GAAG,CAChE,CACG,CACa;QACrB,oBAAC,UAAU,CAAC,MAAM;YAChB,oBAAC,UAAU,CAAC,UAAU,IACpB,SAAS,EAAE,MAAM,CAAC,UAAU,EAC5B,oBAAoB,EAAE,KAAK,EAC3B,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAChD,UAAU,EAAE,CAAC,EACb,gBAAgB,EAAE,EAAE;gBAEpB,oBAAC,UAAU,CAAC,KAAK,IACf,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,KACxB,iBAAiB,EACrB,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBAE1D,oBAAC,YAAY;wBACX,oBAAC,UAAU,CAAC,IAAI,IAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IACpC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAChC,CACL,CACE;gBAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAC,iBAAiB,IAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,CAClD,CACN,CACJ,CACnB,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAQ,MAA2B,EAAE,KAAa;IACrE,OAAO,CACL,oBAAC,UAAU,IACT,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,EACvC,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,IAEpB,MAAM,CAAC,KAAK,CACF,CACd,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAQ,KAAyB;IACnD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACpD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACjC,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,KAAK,CAAC,KAAK;QAC7B,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAC,eAAe,OAAG,CAAC,CAAC,CAAC,IAAI;QACvC,oBAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAe,CAC/D,CAClB,CAAC,CAAA;AACJ,CAAC;AAUD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IACtD,OAAO,CACL,oBAAC,UAAU,CAAC,IAAI,OAAK,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;QAC9D,oBAAC,UAAU,CAAC,aAAa,IAAC,SAAS,EAAE,MAAM,CAAC,aAAa;YACvD,oBAAC,IAAI,IAAC,IAAI,EAAC,OAAO,GAAG,CACI;QAC3B,oBAAC,UAAU,CAAC,QAAQ,IAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,IAC5C,MAAM,CAAC,CAAC,CAAC,CACR,8BAAM,SAAS,EAAE,MAAM,CAAC,KAAK;YAC3B,oBAAC,MAAM,IAAC,KAAK,EAAE,MAAM,GAAI;YACxB,QAAQ,CACJ,CACR,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CACmB,CACN,CACnB,CAAA;AACH,CAAC;AASD,+BAA+B;AAC/B,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IACrD,OAAO,CACL,oBAAC,UAAU,CAAC,KAAK,OAAK,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;QAChE,oBAAC,UAAU,CAAC,UAAU,IAAC,SAAS,EAAE,MAAM,CAAC,UAAU,IAAG,KAAK,CAAyB;QACnF,QAAQ,CACQ,CACpB,CAAA;AACH,CAAC;AAOD,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IACpC,OAAO,CACL,oBAAC,UAAU,CAAC,SAAS,OACf,IAAI,EACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAC1C,CACH,CAAA;AACH,CAAC"}
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
* `edgeLine` draw the disabled `line-dotted-fine` edge as true dots
|
|
7
7
|
* [D36, D68]. Colors are role variables only; local custom properties carry
|
|
8
8
|
* dimensions only. The popup is a portaled `white` page scope framed by
|
|
9
|
-
* --border-size-2 --primary12 [D92, D139, D156].
|
|
9
|
+
* --border-size-2 --primary12 [D92, D139, D156]. It opens and closes by
|
|
10
|
+
* the outline morph (the popup answers `data-outline-morph`,
|
|
11
|
+
* foundations/outline-morph) or at once [D205].
|
|
10
12
|
*/
|
|
11
13
|
|
|
12
14
|
/* Composition sits in top-level rules, outside the layers: Lightning CSS
|
|
@@ -46,7 +48,7 @@
|
|
|
46
48
|
block-size: var(--size-px-8);
|
|
47
49
|
margin: 0;
|
|
48
50
|
padding-block: 0;
|
|
49
|
-
padding-inline: calc(var(--
|
|
51
|
+
padding-inline: calc(var(--size-px-2-5) + var(--border-size-1) - var(--select-edge));
|
|
50
52
|
border: var(--select-edge) solid var(--role-rule);
|
|
51
53
|
border-radius: var(--select-radius);
|
|
52
54
|
background: none;
|
|
@@ -75,12 +77,12 @@
|
|
|
75
77
|
color: inherit;
|
|
76
78
|
}
|
|
77
79
|
|
|
78
|
-
/* The swatch: a --
|
|
80
|
+
/* The swatch: a --size-px-2-5 disc of the product's color (content), ringed in --primary12. */
|
|
79
81
|
.swatch {
|
|
80
82
|
flex: none;
|
|
81
83
|
display: block;
|
|
82
|
-
inline-size: var(--
|
|
83
|
-
block-size: var(--
|
|
84
|
+
inline-size: var(--size-px-2-5);
|
|
85
|
+
block-size: var(--size-px-2-5);
|
|
84
86
|
overflow: visible;
|
|
85
87
|
}
|
|
86
88
|
|
|
@@ -92,10 +94,10 @@
|
|
|
92
94
|
.edge {
|
|
93
95
|
display: none;
|
|
94
96
|
position: absolute;
|
|
95
|
-
inset-block-start: calc(var(--
|
|
96
|
-
inset-inline-start: calc(var(--
|
|
97
|
-
inline-size: calc(100% - var(--
|
|
98
|
-
block-size: calc(100% - var(--
|
|
97
|
+
inset-block-start: calc(var(--fgd-dot-fine) / 2);
|
|
98
|
+
inset-inline-start: calc(var(--fgd-dot-fine) / 2);
|
|
99
|
+
inline-size: calc(100% - var(--fgd-dot-fine));
|
|
100
|
+
block-size: calc(100% - var(--fgd-dot-fine));
|
|
99
101
|
overflow: visible;
|
|
100
102
|
pointer-events: none;
|
|
101
103
|
}
|
|
@@ -103,7 +105,7 @@
|
|
|
103
105
|
.edgeLine {
|
|
104
106
|
fill: none;
|
|
105
107
|
stroke: var(--role-disabled-edge);
|
|
106
|
-
rx: calc(var(--select-radius) - var(--
|
|
108
|
+
rx: calc(var(--select-radius) - var(--fgd-dot-fine) / 2);
|
|
107
109
|
}
|
|
108
110
|
|
|
109
111
|
/* The popup sits --size-px-2 below its trigger on --layer-3. */
|
|
@@ -114,18 +116,15 @@
|
|
|
114
116
|
|
|
115
117
|
/*
|
|
116
118
|
* The overlay face: the white scope's --primary1, the --border-size-2
|
|
117
|
-
* --primary12 frame in both modes, --
|
|
119
|
+
* --primary12 frame in both modes, --radius-2-25; at least the trigger's
|
|
118
120
|
* width, and never wider than the viewport minus the page margins.
|
|
119
121
|
*/
|
|
120
122
|
.popup {
|
|
121
|
-
/* The clip reveal starts from the trigger side. */
|
|
122
|
-
--select-reveal-from: inset(0 0 100% 0);
|
|
123
|
-
|
|
124
123
|
box-sizing: border-box;
|
|
125
124
|
min-inline-size: var(--anchor-width);
|
|
126
|
-
max-inline-size: calc(100vw - 2 * var(--
|
|
125
|
+
max-inline-size: calc(100vw - 2 * var(--fgd-space-margin));
|
|
127
126
|
border: var(--border-size-2) solid var(--primary12);
|
|
128
|
-
border-radius: var(--
|
|
127
|
+
border-radius: var(--radius-2-25);
|
|
129
128
|
background-color: var(--primary1);
|
|
130
129
|
color: var(--primary12);
|
|
131
130
|
clip-path: inset(0);
|
|
@@ -137,7 +136,7 @@
|
|
|
137
136
|
box-sizing: border-box;
|
|
138
137
|
max-block-size: min(
|
|
139
138
|
var(--available-height, 100vh),
|
|
140
|
-
calc(8 * var(--
|
|
139
|
+
calc(8 * var(--fgd-size-hit) + 2 * var(--size-px-1))
|
|
141
140
|
);
|
|
142
141
|
padding: var(--size-px-1);
|
|
143
142
|
overflow-y: auto;
|
|
@@ -146,30 +145,30 @@
|
|
|
146
145
|
outline: 0;
|
|
147
146
|
}
|
|
148
147
|
|
|
149
|
-
/* Items: --
|
|
148
|
+
/* Items: --fgd-size-hit rows at every width, --size-px-3 padding; highlight radius 8 − 4 [D40]. */
|
|
150
149
|
.item {
|
|
151
150
|
position: relative;
|
|
152
151
|
display: grid;
|
|
153
152
|
grid-template-columns: var(--size-px-3) minmax(0, 1fr);
|
|
154
153
|
align-items: center;
|
|
155
154
|
column-gap: var(--size-px-2);
|
|
156
|
-
min-block-size: var(--
|
|
155
|
+
min-block-size: var(--fgd-size-hit);
|
|
157
156
|
padding-inline: var(--size-px-3);
|
|
158
|
-
border-radius: calc(var(--
|
|
157
|
+
border-radius: calc(var(--radius-2-25) - var(--size-px-1));
|
|
159
158
|
color: var(--primary12);
|
|
160
159
|
cursor: default;
|
|
161
160
|
outline: 0;
|
|
162
161
|
user-select: none;
|
|
163
162
|
}
|
|
164
163
|
|
|
165
|
-
/* The highlight bar: a --
|
|
164
|
+
/* The highlight bar: a --border-size-2-25 start edge in --primary12, drawn as a border so it survives forced colors. */
|
|
166
165
|
.item::before {
|
|
167
166
|
content: '';
|
|
168
167
|
display: none;
|
|
169
168
|
position: absolute;
|
|
170
169
|
inset-block: 0;
|
|
171
170
|
inset-inline-start: 0;
|
|
172
|
-
border-inline-start: var(--
|
|
171
|
+
border-inline-start: var(--border-size-2-25) solid var(--primary12);
|
|
173
172
|
}
|
|
174
173
|
|
|
175
174
|
.itemIndicator {
|
|
@@ -203,7 +202,7 @@
|
|
|
203
202
|
@media (min-width: 768px) {
|
|
204
203
|
/* From --md-n-above the popup is the trigger's width, up to 360 px. */
|
|
205
204
|
.popup {
|
|
206
|
-
max-inline-size: max(var(--anchor-width), var(--
|
|
205
|
+
max-inline-size: max(var(--anchor-width), var(--fgd-size-overlay-max));
|
|
207
206
|
}
|
|
208
207
|
}
|
|
209
208
|
|
|
@@ -215,19 +214,15 @@
|
|
|
215
214
|
|
|
216
215
|
@media (prefers-reduced-motion: no-preference) {
|
|
217
216
|
.base {
|
|
218
|
-
transition-property: border-color
|
|
219
|
-
transition-duration: var(--
|
|
217
|
+
transition-property: border-color;
|
|
218
|
+
transition-duration: var(--fgd-duration-quick);
|
|
220
219
|
transition-timing-function: var(--ease-out-3);
|
|
221
220
|
}
|
|
222
221
|
|
|
223
222
|
.icon {
|
|
224
|
-
transition: rotate var(--
|
|
223
|
+
transition: rotate var(--fgd-duration-quick) var(--ease-out-3);
|
|
225
224
|
}
|
|
226
225
|
|
|
227
|
-
/* The clip reveal (the edge wipes open), never a fade [D91]. */
|
|
228
|
-
.popup {
|
|
229
|
-
transition: clip-path var(--ds-duration-disclosure) var(--ease-out-3);
|
|
230
|
-
}
|
|
231
226
|
}
|
|
232
227
|
}
|
|
233
228
|
|
|
@@ -240,16 +235,16 @@
|
|
|
240
235
|
/*
|
|
241
236
|
* Underline: no box; the trigger's text and chevron over a --border-size-2
|
|
242
237
|
* --role-accent underline the width of the trigger only; it hugs its
|
|
243
|
-
* content and keeps a --
|
|
238
|
+
* content and keeps a --fgd-size-hit target.
|
|
244
239
|
*/
|
|
245
240
|
.underline {
|
|
246
|
-
--select-radius: var(--
|
|
241
|
+
--select-radius: var(--radius-0);
|
|
247
242
|
|
|
248
243
|
display: inline-flex;
|
|
249
244
|
inline-size: auto;
|
|
250
245
|
max-inline-size: 100%;
|
|
251
246
|
block-size: auto;
|
|
252
|
-
min-block-size: var(--
|
|
247
|
+
min-block-size: var(--fgd-size-hit);
|
|
253
248
|
padding-inline: 0;
|
|
254
249
|
border-width: 0 0 var(--select-underline);
|
|
255
250
|
border-color: var(--role-accent);
|
|
@@ -274,7 +269,7 @@
|
|
|
274
269
|
color: var(--role-muted);
|
|
275
270
|
font-weight: max(
|
|
276
271
|
var(--type-weight-floor, 400),
|
|
277
|
-
calc(var(--type-weight, 400) - var(--
|
|
272
|
+
calc(var(--type-weight, 400) - var(--fgd-muted-weight-step))
|
|
278
273
|
);
|
|
279
274
|
}
|
|
280
275
|
|
|
@@ -282,19 +277,19 @@
|
|
|
282
277
|
* Hover (not disabled, invalid or read-only): the boxed edge steps
|
|
283
278
|
* --role-rule → --primary12 [D140]; the underline steps --role-accent →
|
|
284
279
|
* --primary12 at the same --border-size-2 weight (derived), so only the
|
|
285
|
-
* open state takes --
|
|
280
|
+
* open state takes --border-size-2-25 and hover never reads as open [D181].
|
|
286
281
|
*/
|
|
287
282
|
.base:hover:not([data-disabled], [data-invalid], [data-readonly]) {
|
|
288
283
|
border-color: var(--primary12);
|
|
289
284
|
}
|
|
290
285
|
|
|
291
|
-
/* Open: the boxed edge goes to --primary12, the underline to --
|
|
286
|
+
/* Open: the boxed edge goes to --primary12, the underline to --border-size-2-25, the chevron turns. */
|
|
292
287
|
.base[data-popup-open] {
|
|
293
288
|
border-color: var(--primary12);
|
|
294
289
|
}
|
|
295
290
|
|
|
296
291
|
.base.underline[data-popup-open] {
|
|
297
|
-
--select-underline: var(--
|
|
292
|
+
--select-underline: var(--border-size-2-25);
|
|
298
293
|
|
|
299
294
|
border-color: var(--role-accent);
|
|
300
295
|
}
|
|
@@ -336,7 +331,7 @@
|
|
|
336
331
|
}
|
|
337
332
|
|
|
338
333
|
.base[data-disabled] .swatchRing {
|
|
339
|
-
stroke-dasharray: 0 var(--
|
|
334
|
+
stroke-dasharray: 0 var(--fgd-dot-fine-pitch);
|
|
340
335
|
stroke-linecap: round;
|
|
341
336
|
}
|
|
342
337
|
|
|
@@ -344,7 +339,7 @@
|
|
|
344
339
|
.base[data-readonly] {
|
|
345
340
|
border-width: 0 0 var(--border-size-1);
|
|
346
341
|
border-color: var(--role-rule);
|
|
347
|
-
border-radius: var(--
|
|
342
|
+
border-radius: var(--radius-0);
|
|
348
343
|
background: none;
|
|
349
344
|
}
|
|
350
345
|
|
|
@@ -372,15 +367,14 @@
|
|
|
372
367
|
display: none;
|
|
373
368
|
}
|
|
374
369
|
|
|
375
|
-
/*
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
clip-path: var(--select-reveal-from);
|
|
370
|
+
/*
|
|
371
|
+
* Outline morph [D204]: while the overlay draws the frame, the popup's own
|
|
372
|
+
* edge takes its face and its own transitions stay off. Without the morph
|
|
373
|
+
* the popup opens and closes at once (no reveal of its own) [D205].
|
|
374
|
+
*/
|
|
375
|
+
.popup[data-outline-morph] {
|
|
376
|
+
border-color: var(--primary1);
|
|
377
|
+
transition: none;
|
|
384
378
|
}
|
|
385
379
|
}
|
|
386
380
|
|
package/forms/slider/Slider.js
CHANGED
|
@@ -13,7 +13,7 @@ import styles from './slider.module.css';
|
|
|
13
13
|
* Implementation (CSS Modules + CVA)
|
|
14
14
|
* - Module: slider.module.css; CVA function `slider`.
|
|
15
15
|
* - Axes: `stepped` → `stepped` (the tick scale: minor ticks half the
|
|
16
|
-
* --
|
|
16
|
+
* --size-px-2-5 major ticks, with major labels); `primary`, `secondary`
|
|
17
17
|
* → scales module classes.
|
|
18
18
|
* - Compound variants: none.
|
|
19
19
|
* - Defaults: stepped false; color axes none [D133]. The range form is
|
|
@@ -23,7 +23,7 @@ import styles from './slider.module.css';
|
|
|
23
23
|
* - States: :hover (not disabled) → thumb face --role-soft-hover-face
|
|
24
24
|
* (--primary3 where soft fills apply, unchanged where they drop), edge
|
|
25
25
|
* unchanged [D181];
|
|
26
|
-
* data-dragging → thumb edge --
|
|
26
|
+
* data-dragging → thumb edge --border-size-2-25 and the `chip`; :focus-visible on
|
|
27
27
|
* each thumb's input → ring on the thumb; data-orientation → track
|
|
28
28
|
* direction; data-disabled → dotted track and thumb edges, indicator
|
|
29
29
|
* removed, value kept.
|