@shortfuse/materialdesignweb 0.8.0 → 0.9.1
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/README.md +50 -198
- package/bin/mdw-css.js +1 -1
- package/components/Badge.js +15 -5
- package/components/Body.js +7 -0
- package/components/BottomAppBar.js +7 -10
- package/components/BottomSheet.js +472 -0
- package/components/Box.js +11 -49
- package/components/Button.js +81 -82
- package/components/Card.js +74 -62
- package/components/Checkbox.js +15 -25
- package/components/CheckboxIcon.js +19 -31
- package/components/Chip.js +18 -13
- package/components/Dialog.js +70 -100
- package/components/DialogActions.js +4 -0
- package/components/Display.js +64 -0
- package/components/Divider.js +5 -0
- package/components/Fab.js +94 -17
- package/components/FabContainer.js +57 -0
- package/components/FilterChip.js +43 -32
- package/components/Grid.js +187 -0
- package/components/Headline.js +9 -28
- package/components/Icon.js +80 -71
- package/components/IconButton.js +77 -120
- package/components/Input.js +745 -86
- package/components/InputChip.js +193 -0
- package/components/Label.js +7 -0
- package/components/List.js +11 -5
- package/components/ListItem.js +92 -23
- package/components/ListOption.js +143 -65
- package/components/Listbox.js +57 -17
- package/components/Menu.js +39 -27
- package/components/MenuItem.js +49 -36
- package/components/NavBar.js +66 -21
- package/components/NavBarItem.js +5 -0
- package/components/NavDrawer.js +33 -16
- package/components/NavDrawerItem.js +7 -4
- package/components/NavItem.js +61 -34
- package/components/NavRail.js +32 -21
- package/components/NavRailItem.js +10 -2
- package/components/Page.js +119 -0
- package/components/Pane.js +24 -0
- package/components/Popup.js +23 -8
- package/components/Progress.js +25 -5
- package/components/Radio.js +8 -7
- package/components/RadioIcon.js +24 -15
- package/components/Ripple.js +25 -7
- package/components/Root.js +225 -0
- package/components/Scrim.js +95 -0
- package/components/Search.js +30 -25
- package/components/SegmentedButton.js +53 -40
- package/components/SegmentedButtonGroup.js +15 -12
- package/components/Select.js +19 -10
- package/components/Shape.js +10 -66
- package/components/SideSheet.js +337 -0
- package/components/Slider.js +93 -36
- package/components/Snackbar.js +52 -20
- package/components/SnackbarContainer.js +51 -0
- package/components/Surface.js +20 -10
- package/components/Switch.js +21 -18
- package/components/SwitchIcon.js +62 -33
- package/components/Tab.js +78 -38
- package/components/TabContent.js +33 -12
- package/components/TabList.js +95 -34
- package/components/TabPanel.js +10 -1
- package/components/Table.js +151 -0
- package/components/TextArea.js +48 -16
- package/components/Title.js +8 -9
- package/components/Tooltip.js +51 -22
- package/components/TopAppBar.js +71 -78
- package/constants/shapes.js +36 -0
- package/constants/typography.js +127 -0
- package/core/Composition.js +391 -201
- package/core/CompositionAdapter.js +35 -18
- package/core/CustomElement.js +634 -254
- package/core/css.js +117 -12
- package/core/customTypes.js +161 -49
- package/core/dom.js +18 -11
- package/core/jsonMergePatch.js +27 -11
- package/core/observe.js +308 -256
- package/core/optimizations.js +9 -9
- package/core/template.js +14 -57
- package/dist/CustomElement.min.js +2 -0
- package/dist/CustomElement.min.js.map +7 -0
- package/dist/core/CustomElement.min.js +2 -0
- package/dist/core/CustomElement.min.js.map +7 -0
- package/dist/index.min.js +85 -115
- package/dist/index.min.js.map +4 -4
- package/dist/meta.json +1 -1
- package/dom/HTMLOptionsCollectionProxy.js +108 -0
- package/{theming/themableMixinLoader.js → loaders/palette.js} +4 -3
- package/loaders/theme.js +12 -0
- package/mixins/AriaReflectorMixin.js +64 -15
- package/mixins/AriaToolbarMixin.js +6 -0
- package/mixins/ControlMixin.js +79 -33
- package/mixins/DelegatesFocusMixin.js +62 -0
- package/mixins/DensityMixin.js +7 -3
- package/mixins/ElevationMixin.js +61 -0
- package/mixins/FlexableMixin.js +87 -39
- package/mixins/FormAssociatedMixin.js +76 -10
- package/mixins/HyperlinkMixin.js +76 -0
- package/mixins/InputMixin.js +227 -32
- package/mixins/KeyboardNavMixin.js +11 -7
- package/mixins/NavigationListenerMixin.js +33 -0
- package/mixins/PopupMixin.js +216 -219
- package/mixins/RTLObserverMixin.js +2 -0
- package/mixins/ResizeObserverMixin.js +18 -4
- package/mixins/RippleMixin.js +11 -7
- package/mixins/ScrollListenerMixin.js +14 -2
- package/mixins/SemiStickyMixin.js +51 -98
- package/mixins/ShapeMaskedMixin.js +125 -0
- package/mixins/ShapeMixin.js +30 -203
- package/mixins/StateMixin.js +74 -34
- package/mixins/TextFieldMixin.js +128 -145
- package/mixins/ThemableMixin.js +57 -56
- package/mixins/TooltipTriggerMixin.js +305 -359
- package/mixins/TouchTargetMixin.js +5 -2
- package/mixins/TypographyMixin.js +128 -0
- package/package.json +125 -81
- package/services/rtl.js +10 -0
- package/services/svgAlias.js +17 -0
- package/{theming/index.js → services/theme.js} +25 -176
- package/types/bin/mdw-css.d.ts +3 -0
- package/types/bin/mdw-css.d.ts.map +1 -0
- package/types/components/Badge.d.ts +39 -0
- package/types/components/Badge.d.ts.map +1 -0
- package/types/components/Body.d.ts +29 -0
- package/types/components/Body.d.ts.map +1 -0
- package/types/components/BottomAppBar.d.ts +72 -0
- package/types/components/BottomAppBar.d.ts.map +1 -0
- package/types/components/BottomSheet.d.ts +135 -0
- package/types/components/BottomSheet.d.ts.map +1 -0
- package/types/components/Box.d.ts +16 -0
- package/types/components/Box.d.ts.map +1 -0
- package/types/components/Button.d.ts +245 -0
- package/types/components/Button.d.ts.map +1 -0
- package/types/components/Card.d.ts +147 -0
- package/types/components/Card.d.ts.map +1 -0
- package/types/components/Checkbox.d.ts +207 -0
- package/types/components/Checkbox.d.ts.map +1 -0
- package/types/components/CheckboxIcon.d.ts +44 -0
- package/types/components/CheckboxIcon.d.ts.map +1 -0
- package/types/components/Chip.d.ts +248 -0
- package/types/components/Chip.d.ts.map +1 -0
- package/types/components/Dialog.d.ts +103 -0
- package/types/components/Dialog.d.ts.map +1 -0
- package/types/components/DialogActions.d.ts +4 -0
- package/types/components/DialogActions.d.ts.map +1 -0
- package/types/components/Display.d.ts +46 -0
- package/types/components/Display.d.ts.map +1 -0
- package/types/components/Divider.d.ts +10 -0
- package/types/components/Divider.d.ts.map +1 -0
- package/types/components/Fab.d.ts +273 -0
- package/types/components/Fab.d.ts.map +1 -0
- package/types/components/FabContainer.d.ts +10 -0
- package/types/components/FabContainer.d.ts.map +1 -0
- package/types/components/FilterChip.d.ts +256 -0
- package/types/components/FilterChip.d.ts.map +1 -0
- package/types/components/Grid.d.ts +38 -0
- package/types/components/Grid.d.ts.map +1 -0
- package/types/components/Headline.d.ts +46 -0
- package/types/components/Headline.d.ts.map +1 -0
- package/types/components/Icon.d.ts +55 -0
- package/types/components/Icon.d.ts.map +1 -0
- package/types/components/IconButton.d.ts +284 -0
- package/types/components/IconButton.d.ts.map +1 -0
- package/types/components/Input.d.ts +2528 -0
- package/types/components/Input.d.ts.map +1 -0
- package/types/components/InputChip.d.ts +85 -0
- package/types/components/InputChip.d.ts.map +1 -0
- package/types/components/Label.d.ts +29 -0
- package/types/components/Label.d.ts.map +1 -0
- package/types/components/List.d.ts +35 -0
- package/types/components/List.d.ts.map +1 -0
- package/types/components/ListItem.d.ts +124 -0
- package/types/components/ListItem.d.ts.map +1 -0
- package/types/components/ListOption.d.ts +158 -0
- package/types/components/ListOption.d.ts.map +1 -0
- package/types/components/Listbox.d.ts +763 -0
- package/types/components/Listbox.d.ts.map +1 -0
- package/types/components/Menu.d.ts +130 -0
- package/types/components/Menu.d.ts.map +1 -0
- package/types/components/MenuItem.d.ts +232 -0
- package/types/components/MenuItem.d.ts.map +1 -0
- package/types/components/NavBar.d.ts +20 -0
- package/types/components/NavBar.d.ts.map +1 -0
- package/types/components/NavBarItem.d.ts +97 -0
- package/types/components/NavBarItem.d.ts.map +1 -0
- package/types/components/NavDrawer.d.ts +107 -0
- package/types/components/NavDrawer.d.ts.map +1 -0
- package/types/components/NavDrawerItem.d.ts +97 -0
- package/types/components/NavDrawerItem.d.ts.map +1 -0
- package/types/components/NavItem.d.ts +99 -0
- package/types/components/NavItem.d.ts.map +1 -0
- package/types/components/NavRail.d.ts +108 -0
- package/types/components/NavRail.d.ts.map +1 -0
- package/types/components/NavRailItem.d.ts +97 -0
- package/types/components/NavRailItem.d.ts.map +1 -0
- package/types/components/Page.d.ts +25 -0
- package/types/components/Page.d.ts.map +1 -0
- package/types/components/Pane.d.ts +44 -0
- package/types/components/Pane.d.ts.map +1 -0
- package/types/components/Popup.d.ts +78 -0
- package/types/components/Popup.d.ts.map +1 -0
- package/types/components/Progress.d.ts +21 -0
- package/types/components/Progress.d.ts.map +1 -0
- package/types/components/Radio.d.ts +201 -0
- package/types/components/Radio.d.ts.map +1 -0
- package/types/components/RadioIcon.d.ts +46 -0
- package/types/components/RadioIcon.d.ts.map +1 -0
- package/types/components/Ripple.d.ts +35 -0
- package/types/components/Ripple.d.ts.map +1 -0
- package/types/components/Root.d.ts +68 -0
- package/types/components/Root.d.ts.map +1 -0
- package/types/components/Scrim.d.ts +6 -0
- package/types/components/Scrim.d.ts.map +1 -0
- package/types/components/Search.d.ts +516 -0
- package/types/components/Search.d.ts.map +1 -0
- package/types/components/SegmentedButton.d.ts +252 -0
- package/types/components/SegmentedButton.d.ts.map +1 -0
- package/types/components/SegmentedButtonGroup.d.ts +43 -0
- package/types/components/SegmentedButtonGroup.d.ts.map +1 -0
- package/types/components/Select.d.ts +158 -0
- package/types/components/Select.d.ts.map +1 -0
- package/types/components/Shape.d.ts +10 -0
- package/types/components/Shape.d.ts.map +1 -0
- package/types/components/SideSheet.d.ts +111 -0
- package/types/components/SideSheet.d.ts.map +1 -0
- package/types/components/Slider.d.ts +203 -0
- package/types/components/Slider.d.ts.map +1 -0
- package/types/components/Snackbar.d.ts +73 -0
- package/types/components/Snackbar.d.ts.map +1 -0
- package/types/components/SnackbarContainer.d.ts +6 -0
- package/types/components/SnackbarContainer.d.ts.map +1 -0
- package/types/components/Surface.d.ts +45 -0
- package/types/components/Surface.d.ts.map +1 -0
- package/types/components/Switch.d.ts +187 -0
- package/types/components/Switch.d.ts.map +1 -0
- package/types/components/SwitchIcon.d.ts +61 -0
- package/types/components/SwitchIcon.d.ts.map +1 -0
- package/types/components/Tab.d.ts +139 -0
- package/types/components/Tab.d.ts.map +1 -0
- package/types/components/TabContent.d.ts +124 -0
- package/types/components/TabContent.d.ts.map +1 -0
- package/types/components/TabList.d.ts +1111 -0
- package/types/components/TabList.d.ts.map +1 -0
- package/types/components/TabPanel.d.ts +28 -0
- package/types/components/TabPanel.d.ts.map +1 -0
- package/types/components/Table.d.ts +25 -0
- package/types/components/Table.d.ts.map +1 -0
- package/types/components/TextArea.d.ts +201 -0
- package/types/components/TextArea.d.ts.map +1 -0
- package/types/components/Title.d.ts +46 -0
- package/types/components/Title.d.ts.map +1 -0
- package/types/components/Tooltip.d.ts +49 -0
- package/types/components/Tooltip.d.ts.map +1 -0
- package/types/components/TopAppBar.d.ts +129 -0
- package/types/components/TopAppBar.d.ts.map +1 -0
- package/types/constants/colorKeywords.d.ts +2 -0
- package/types/constants/colorKeywords.d.ts.map +1 -0
- package/types/constants/shapes.d.ts +38 -0
- package/types/constants/shapes.d.ts.map +1 -0
- package/types/constants/typography.d.ts +212 -0
- package/types/constants/typography.d.ts.map +1 -0
- package/types/core/Composition.d.ts +260 -0
- package/types/core/Composition.d.ts.map +1 -0
- package/types/core/CompositionAdapter.d.ts +114 -0
- package/types/core/CompositionAdapter.d.ts.map +1 -0
- package/types/core/CustomElement.d.ts +304 -0
- package/types/core/CustomElement.d.ts.map +1 -0
- package/types/core/css.d.ts +44 -0
- package/types/core/css.d.ts.map +1 -0
- package/types/core/customTypes.d.ts +22 -0
- package/types/core/customTypes.d.ts.map +1 -0
- package/types/core/dom.d.ts +32 -0
- package/types/core/dom.d.ts.map +1 -0
- package/types/core/jsonMergePatch.d.ts +31 -0
- package/types/core/jsonMergePatch.d.ts.map +1 -0
- package/types/core/observe.d.ts +114 -0
- package/types/core/observe.d.ts.map +1 -0
- package/types/core/optimizations.d.ts +7 -0
- package/types/core/optimizations.d.ts.map +1 -0
- package/types/core/template.d.ts +47 -0
- package/types/core/template.d.ts.map +1 -0
- package/types/core/uid.d.ts +6 -0
- package/types/core/uid.d.ts.map +1 -0
- package/types/dom/HTMLOptionsCollectionProxy.d.ts +18 -0
- package/types/dom/HTMLOptionsCollectionProxy.d.ts.map +1 -0
- package/types/index.d.ts +88 -0
- package/types/index.d.ts.map +1 -0
- package/types/loaders/palette.d.ts +2 -0
- package/types/loaders/palette.d.ts.map +1 -0
- package/types/loaders/theme.d.ts +2 -0
- package/types/loaders/theme.d.ts.map +1 -0
- package/types/mixins/AriaReflectorMixin.d.ts +31 -0
- package/types/mixins/AriaReflectorMixin.d.ts.map +1 -0
- package/types/mixins/AriaToolbarMixin.d.ts +34 -0
- package/types/mixins/AriaToolbarMixin.d.ts.map +1 -0
- package/types/mixins/ControlMixin.d.ts +124 -0
- package/types/mixins/ControlMixin.d.ts.map +1 -0
- package/types/mixins/DelegatesFocusMixin.d.ts +13 -0
- package/types/mixins/DelegatesFocusMixin.d.ts.map +1 -0
- package/types/mixins/DensityMixin.d.ts +8 -0
- package/types/mixins/DensityMixin.d.ts.map +1 -0
- package/types/mixins/ElevationMixin.d.ts +32 -0
- package/types/mixins/ElevationMixin.d.ts.map +1 -0
- package/types/mixins/FlexableMixin.d.ts +14 -0
- package/types/mixins/FlexableMixin.d.ts.map +1 -0
- package/types/mixins/FormAssociatedMixin.d.ts +123 -0
- package/types/mixins/FormAssociatedMixin.d.ts.map +1 -0
- package/types/mixins/HyperlinkMixin.d.ts +25 -0
- package/types/mixins/HyperlinkMixin.d.ts.map +1 -0
- package/types/mixins/InputMixin.d.ts +173 -0
- package/types/mixins/InputMixin.d.ts.map +1 -0
- package/types/mixins/KeyboardNavMixin.d.ts +46 -0
- package/types/mixins/KeyboardNavMixin.d.ts.map +1 -0
- package/types/mixins/NavigationListenerMixin.d.ts +8 -0
- package/types/mixins/NavigationListenerMixin.d.ts.map +1 -0
- package/types/mixins/PopupMixin.d.ts +98 -0
- package/types/mixins/PopupMixin.d.ts.map +1 -0
- package/types/mixins/RTLObserverMixin.d.ts +8 -0
- package/types/mixins/RTLObserverMixin.d.ts.map +1 -0
- package/types/mixins/ResizeObserverMixin.d.ts +13 -0
- package/types/mixins/ResizeObserverMixin.d.ts.map +1 -0
- package/types/mixins/RippleMixin.d.ts +94 -0
- package/types/mixins/RippleMixin.d.ts.map +1 -0
- package/types/mixins/ScrollListenerMixin.d.ts +46 -0
- package/types/mixins/ScrollListenerMixin.d.ts.map +1 -0
- package/types/mixins/SemiStickyMixin.d.ts +50 -0
- package/types/mixins/SemiStickyMixin.d.ts.map +1 -0
- package/types/mixins/ShapeMaskedMixin.d.ts +12 -0
- package/types/mixins/ShapeMaskedMixin.d.ts.map +1 -0
- package/types/mixins/ShapeMixin.d.ts +39 -0
- package/types/mixins/ShapeMixin.d.ts.map +1 -0
- package/types/mixins/StateMixin.d.ts +29 -0
- package/types/mixins/StateMixin.d.ts.map +1 -0
- package/types/mixins/TextFieldMixin.d.ts +153 -0
- package/types/mixins/TextFieldMixin.d.ts.map +1 -0
- package/types/mixins/ThemableMixin.d.ts +10 -0
- package/types/mixins/ThemableMixin.d.ts.map +1 -0
- package/types/mixins/TooltipTriggerMixin.d.ts +114 -0
- package/types/mixins/TooltipTriggerMixin.d.ts.map +1 -0
- package/types/mixins/TouchTargetMixin.d.ts +6 -0
- package/types/mixins/TouchTargetMixin.d.ts.map +1 -0
- package/types/mixins/TypographyMixin.d.ts +20 -0
- package/types/mixins/TypographyMixin.d.ts.map +1 -0
- package/types/services/rtl.d.ts +3 -0
- package/types/services/rtl.d.ts.map +1 -0
- package/types/services/svgAlias.d.ts +13 -0
- package/types/services/svgAlias.d.ts.map +1 -0
- package/types/services/theme.d.ts +45 -0
- package/types/services/theme.d.ts.map +1 -0
- package/types/utils/cli.d.ts +3 -0
- package/types/utils/cli.d.ts.map +1 -0
- package/types/utils/function.d.ts +3 -0
- package/types/utils/function.d.ts.map +1 -0
- package/types/utils/jsx-runtime.d.ts +20 -0
- package/types/utils/jsx-runtime.d.ts.map +1 -0
- package/types/utils/material-color/blend.d.ts +34 -0
- package/types/utils/material-color/blend.d.ts.map +1 -0
- package/types/utils/material-color/hct/Cam16.d.ts +142 -0
- package/types/utils/material-color/hct/Cam16.d.ts.map +1 -0
- package/types/utils/material-color/hct/Hct.d.ts +93 -0
- package/types/utils/material-color/hct/Hct.d.ts.map +1 -0
- package/types/utils/material-color/hct/ViewingConditions.d.ts +69 -0
- package/types/utils/material-color/hct/ViewingConditions.d.ts.map +1 -0
- package/types/utils/material-color/hct/hctSolver.d.ts +30 -0
- package/types/utils/material-color/hct/hctSolver.d.ts.map +1 -0
- package/types/utils/material-color/helper.d.ts +8 -0
- package/types/utils/material-color/helper.d.ts.map +1 -0
- package/types/utils/material-color/palettes/CorePalette.d.ts +75 -0
- package/types/utils/material-color/palettes/CorePalette.d.ts.map +1 -0
- package/types/utils/material-color/palettes/TonalPalette.d.ts +38 -0
- package/types/utils/material-color/palettes/TonalPalette.d.ts.map +1 -0
- package/types/utils/material-color/scheme/Scheme.d.ts +264 -0
- package/types/utils/material-color/scheme/Scheme.d.ts.map +1 -0
- package/types/utils/material-color/utils/color.d.ts +172 -0
- package/types/utils/material-color/utils/color.d.ts.map +1 -0
- package/types/utils/material-color/utils/math.d.ts +94 -0
- package/types/utils/material-color/utils/math.d.ts.map +1 -0
- package/types/utils/pixelmatch.d.ts +22 -0
- package/types/utils/pixelmatch.d.ts.map +1 -0
- package/types/utils/popup.d.ts +106 -0
- package/types/utils/popup.d.ts.map +1 -0
- package/types/utils/searchParams.d.ts +3 -0
- package/types/utils/searchParams.d.ts.map +1 -0
- package/types/utils/svg.d.ts +7 -0
- package/types/utils/svg.d.ts.map +1 -0
- package/utils/jsx-runtime.js +9 -4
- package/utils/material-color/scheme/Scheme.js +1 -1
- package/utils/pixelmatch.js +363 -0
- package/utils/popup.js +86 -10
- package/utils/searchParams.js +22 -0
- package/components/Button.md +0 -61
- package/components/ExtendedFab.js +0 -32
- package/components/Layout.js +0 -504
- package/components/Nav.js +0 -38
- package/core/DomAdapter.js +0 -586
- package/core/ICustomElement.d.ts +0 -291
- package/core/ICustomElement.js +0 -1
- package/core/test.js +0 -126
- package/core/typings.d.ts +0 -142
- package/core/typings.js +0 -1
- package/mixins/SurfaceMixin.js +0 -127
- package/theming/loader.js +0 -22
- /package/{utils/color_keywords.js → constants/colorKeywords.js} +0 -0
package/components/Snackbar.js
CHANGED
|
@@ -1,34 +1,58 @@
|
|
|
1
1
|
// https://w3c.github.io/aria/#status
|
|
2
2
|
|
|
3
|
+
import CustomElement from '../core/CustomElement.js';
|
|
3
4
|
import { EVENT_HANDLER_TYPE } from '../core/customTypes.js';
|
|
4
5
|
import AriaReflectorMixin from '../mixins/AriaReflectorMixin.js';
|
|
5
6
|
import DensityMixin from '../mixins/DensityMixin.js';
|
|
7
|
+
import ElevationMixin from '../mixins/ElevationMixin.js';
|
|
8
|
+
import ShapeMixin from '../mixins/ShapeMixin.js';
|
|
9
|
+
import ThemableMixin from '../mixins/ThemableMixin.js';
|
|
6
10
|
|
|
7
11
|
import './Button.js';
|
|
8
12
|
import './IconButton.js';
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Snackbars provide brief messages about app processes and optional actions.
|
|
16
|
+
* @see https://m3.material.io/components/snackbar/specs
|
|
17
|
+
*/
|
|
18
|
+
export default CustomElement
|
|
13
19
|
.extend()
|
|
20
|
+
.mixin(ThemableMixin)
|
|
21
|
+
.mixin(ShapeMixin)
|
|
14
22
|
.mixin(DensityMixin)
|
|
15
23
|
.mixin(AriaReflectorMixin)
|
|
24
|
+
.mixin(ElevationMixin)
|
|
16
25
|
.set({
|
|
17
26
|
_ariaRole: 'status',
|
|
18
27
|
elevated: true,
|
|
19
28
|
})
|
|
20
29
|
.observe({
|
|
30
|
+
/** Whether the snackbar is visible. */
|
|
21
31
|
open: 'boolean',
|
|
32
|
+
/** When true the snackbar does not auto-dismiss. */
|
|
22
33
|
persistent: 'boolean',
|
|
34
|
+
/** Optional action label to display as a button. */
|
|
23
35
|
action: 'string',
|
|
36
|
+
/** Ink token used for the action button (defaults to inverse-primary). */
|
|
24
37
|
actionInk: { empty: 'inverse-primary' },
|
|
38
|
+
/** Typographic style used for the action (e.g. 'label-large'). */
|
|
25
39
|
actionTypeStyle: { empty: 'label-large' },
|
|
40
|
+
/** Render a close icon button when true. */
|
|
26
41
|
closeButton: 'boolean',
|
|
42
|
+
/** Icon name used for the close button. */
|
|
27
43
|
closeIcon: { empty: 'close' },
|
|
44
|
+
/** Ink token used for the close icon. */
|
|
28
45
|
closeInk: { empty: 'inherit' },
|
|
46
|
+
/** Event handler invoked when the action is triggered. */
|
|
29
47
|
onaction: EVENT_HANDLER_TYPE,
|
|
48
|
+
/** Event handler invoked when the snackbar toggles open/closed. */
|
|
49
|
+
ontoggle: EVENT_HANDLER_TYPE,
|
|
30
50
|
})
|
|
31
51
|
.methods({
|
|
52
|
+
/**
|
|
53
|
+
* Close the snackbar. Dispatches a cancelable `close` event; if not
|
|
54
|
+
* prevented the snackbar will hide and await the closing transition.
|
|
55
|
+
*/
|
|
32
56
|
async close() {
|
|
33
57
|
if (!this.dispatchEvent(new Event('close', { cancelable: true }))) return;
|
|
34
58
|
if (!this.open) return;
|
|
@@ -38,25 +62,23 @@ export default Surface
|
|
|
38
62
|
this.addEventListener('transitionend', resolve, { once: true });
|
|
39
63
|
});
|
|
40
64
|
},
|
|
65
|
+
/** Show the snackbar (set `open` true). */
|
|
41
66
|
show() {
|
|
42
67
|
this.open = true;
|
|
43
68
|
},
|
|
44
|
-
/**
|
|
69
|
+
/**
|
|
70
|
+
* Update the snackbar text content.
|
|
71
|
+
* @param {string} text
|
|
72
|
+
*/
|
|
45
73
|
update(text) {
|
|
46
74
|
this.textContent = text;
|
|
47
75
|
},
|
|
48
76
|
})
|
|
49
77
|
.html`
|
|
50
|
-
<div id=content></div>
|
|
78
|
+
<div id=content><slot id=slot></div>
|
|
51
79
|
<mdw-button mdw-if={action} id=action class=button ink={actionInk} type-style={actionTypeStyle}>{action}</mdw-button>
|
|
52
|
-
<mdw-icon-button mdw-if={closeButton} id=close class=button icon={closeIcon} ink={closeInk}>Close</mdw-button>
|
|
80
|
+
<mdw-icon-button mdw-if={closeButton} id=close class=button icon={closeIcon} ink={closeInk}>Close</mdw-icon-button>
|
|
53
81
|
`
|
|
54
|
-
.on({
|
|
55
|
-
composed() {
|
|
56
|
-
const { content, slot } = this.refs;
|
|
57
|
-
content.append(slot);
|
|
58
|
-
},
|
|
59
|
-
})
|
|
60
82
|
.childEvents({
|
|
61
83
|
action: {
|
|
62
84
|
'~click'() {
|
|
@@ -70,26 +92,36 @@ export default Surface
|
|
|
70
92
|
},
|
|
71
93
|
},
|
|
72
94
|
})
|
|
95
|
+
.on({
|
|
96
|
+
openChanged() {
|
|
97
|
+
this.dispatchEvent(new Event('toggle'));
|
|
98
|
+
},
|
|
99
|
+
})
|
|
73
100
|
.css`
|
|
74
|
-
/* https://m3.material.io/components/snackbar/specs */
|
|
75
|
-
|
|
76
101
|
:host {
|
|
77
102
|
--mdw-shape__size: var(--mdw-shape__small);
|
|
78
|
-
--mdw-
|
|
79
|
-
--mdw-shape__bg: rgb(var(--mdw-color__inverse-surface));
|
|
103
|
+
--mdw-bg: var(--mdw-color__inverse-surface);
|
|
80
104
|
--mdw-ink: var(--mdw-color__inverse-on-surface);
|
|
81
|
-
|
|
82
105
|
--mdw-type__line-height: var(--mdw-typescale__body-medium__line-height);
|
|
106
|
+
|
|
83
107
|
display: flex;
|
|
84
108
|
align-items: center;
|
|
85
109
|
|
|
86
|
-
|
|
110
|
+
grid-area: snackbar;
|
|
87
111
|
|
|
112
|
+
padding-inline: 16px;
|
|
113
|
+
|
|
114
|
+
pointer-events: auto;
|
|
115
|
+
|
|
116
|
+
filter: var(--mdw-elevation__drop-shadow__3);
|
|
88
117
|
opacity: 0;
|
|
89
118
|
transform: translateY(25%) scaleY(0.25);
|
|
90
119
|
transform-origin: bottom center;
|
|
91
120
|
visibility: hidden; /* Remove from tab order */
|
|
92
|
-
z-index:
|
|
121
|
+
z-index: 22;
|
|
122
|
+
|
|
123
|
+
background-color: rgb(var(--mdw-bg));
|
|
124
|
+
color: rgb(var(--mdw-ink));
|
|
93
125
|
|
|
94
126
|
font: var(--mdw-typescale__body-medium__font);
|
|
95
127
|
letter-spacing: var(--mdw-typescale__body-medium__letter-spacing);
|
|
@@ -112,7 +144,7 @@ export default Surface
|
|
|
112
144
|
:host([open]) {
|
|
113
145
|
opacity: 1;
|
|
114
146
|
transform: scale(1);
|
|
115
|
-
visibility:
|
|
147
|
+
visibility: inherit;
|
|
116
148
|
}
|
|
117
149
|
|
|
118
150
|
#content {
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import CustomElement from '../core/CustomElement.js';
|
|
2
|
+
import DelegatesFocusMixin from '../mixins/DelegatesFocusMixin.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Snackbar container positions snackbars within the app window and manages
|
|
6
|
+
* layout and pointer-events for stacked snackbars.
|
|
7
|
+
* @see https://m3.material.io/components/snackbar/specs
|
|
8
|
+
*/
|
|
9
|
+
export default CustomElement
|
|
10
|
+
.extend()
|
|
11
|
+
.mixin(DelegatesFocusMixin)
|
|
12
|
+
.html`
|
|
13
|
+
<slot id=slot></slot>
|
|
14
|
+
`
|
|
15
|
+
.css`
|
|
16
|
+
:host {
|
|
17
|
+
display: grid;
|
|
18
|
+
align-items: flex-end;
|
|
19
|
+
grid-template:
|
|
20
|
+
"snackbar" auto
|
|
21
|
+
/ minmax(auto, 60ch);
|
|
22
|
+
|
|
23
|
+
justify-content: center;
|
|
24
|
+
|
|
25
|
+
margin: 16px;
|
|
26
|
+
|
|
27
|
+
pointer-events: none;
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@media (min-width: 648px) {
|
|
32
|
+
:host {
|
|
33
|
+
grid-template-columns: minmax(auto, 1fr);
|
|
34
|
+
|
|
35
|
+
margin: 24px;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@media (min-width: 1248px) {
|
|
40
|
+
:host {
|
|
41
|
+
grid-template-columns: minmax(auto, 60ch);
|
|
42
|
+
justify-content: flex-start;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
#slot {
|
|
47
|
+
pointer-events: auto;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
`
|
|
51
|
+
.autoRegister('mdw-snackbar-container');
|
package/components/Surface.js
CHANGED
|
@@ -1,32 +1,42 @@
|
|
|
1
1
|
import CustomElement from '../core/CustomElement.js';
|
|
2
|
+
import ElevationMixin from '../mixins/ElevationMixin.js';
|
|
2
3
|
import FlexableMixin from '../mixins/FlexableMixin.js';
|
|
3
4
|
import ShapeMixin from '../mixins/ShapeMixin.js';
|
|
4
|
-
import SurfaceMixin from '../mixins/SurfaceMixin.js';
|
|
5
5
|
import ThemableMixin from '../mixins/ThemableMixin.js';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Surface represents a themed elevated surface used to display content with
|
|
9
|
+
* elevation, shape, and color tokens applied.
|
|
10
|
+
* @see https://m3.material.io/styles/elevation/overview
|
|
11
|
+
*/
|
|
7
12
|
export default CustomElement
|
|
8
13
|
.extend()
|
|
9
14
|
.mixin(ThemableMixin)
|
|
10
15
|
.mixin(FlexableMixin)
|
|
11
|
-
.mixin(
|
|
16
|
+
.mixin(ElevationMixin)
|
|
12
17
|
.mixin(ShapeMixin)
|
|
13
18
|
.html`<slot id=slot></slot>`
|
|
14
|
-
.on({
|
|
15
|
-
composed() {
|
|
16
|
-
const { surface, shape } = this.refs;
|
|
17
|
-
surface.append(shape);
|
|
18
|
-
},
|
|
19
|
-
})
|
|
20
19
|
.css`
|
|
21
20
|
:host {
|
|
22
|
-
--mdw-
|
|
21
|
+
--mdw-bg: var(--mdw-color__surface);
|
|
23
22
|
--mdw-ink: var(--mdw-color__on-surface);
|
|
24
23
|
position: relative;
|
|
24
|
+
|
|
25
|
+
filter: var(--mdw-elevation__drop-shadow__0);
|
|
25
26
|
|
|
27
|
+
background-color: rgb(var(--mdw-bg));
|
|
26
28
|
color: rgb(var(--mdw-ink));
|
|
27
29
|
|
|
28
30
|
font: var(--mdw-type__font);
|
|
29
31
|
letter-spacing: var(--mdw-type__letter-spacing);
|
|
30
|
-
|
|
32
|
+
|
|
33
|
+
transition: filter 200ms;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:host(:where([elevation="1"])) { filter: var(--mdw-elevation__drop-shadow__1); }
|
|
37
|
+
:host(:where([elevation="2"])) { filter: var(--mdw-elevation__drop-shadow__2); }
|
|
38
|
+
:host(:where([elevation="3"])) { filter: var(--mdw-elevation__drop-shadow__3); }
|
|
39
|
+
:host(:where([elevation="4"])) { filter: var(--mdw-elevation__drop-shadow__4); }
|
|
40
|
+
:host(:where([elevation="5"])) { filter: var(--mdw-elevation__drop-shadow__5); }
|
|
31
41
|
`
|
|
32
42
|
.autoRegister('mdw-surface');
|
package/components/Switch.js
CHANGED
|
@@ -5,6 +5,10 @@ import StateMixin from '../mixins/StateMixin.js';
|
|
|
5
5
|
import ThemableMixin from '../mixins/ThemableMixin.js';
|
|
6
6
|
import TouchTargetMixin from '../mixins/TouchTargetMixin.js';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Switch is a binary control that toggles between on and off states.
|
|
10
|
+
* @see https://m3.material.io/components/switch/specs
|
|
11
|
+
*/
|
|
8
12
|
export default CustomElement
|
|
9
13
|
.extend()
|
|
10
14
|
.mixin(ThemableMixin)
|
|
@@ -13,15 +17,23 @@ export default CustomElement
|
|
|
13
17
|
.mixin(TouchTargetMixin)
|
|
14
18
|
// Switches have their own pressed animation (No ripple)
|
|
15
19
|
.set({
|
|
20
|
+
/** The control `type` used for the underlying input element (always 'checkbox'). */
|
|
16
21
|
type: 'checkbox',
|
|
22
|
+
/** Enables the state-layer visual treatment for pressed/hover states. */
|
|
17
23
|
stateLayer: true,
|
|
18
24
|
})
|
|
19
25
|
.observe({
|
|
26
|
+
/** The icon name to show inside the thumb when provided. */
|
|
20
27
|
icon: 'string',
|
|
28
|
+
/** The icon name to show when the switch is selected/on. */
|
|
21
29
|
selectedIcon: 'string',
|
|
30
|
+
/** The icon name to show when the switch is unselected/off. */
|
|
22
31
|
unselectedIcon: 'string',
|
|
32
|
+
/** The image `src` to show inside the thumb when provided. */
|
|
23
33
|
src: 'string',
|
|
34
|
+
/** The image `src` to show when the switch is selected/on. */
|
|
24
35
|
selectedSrc: 'string',
|
|
36
|
+
/** The image `src` to show when the switch is unselected/off. */
|
|
25
37
|
unselectedSrc: 'string',
|
|
26
38
|
})
|
|
27
39
|
.html`
|
|
@@ -38,25 +50,14 @@ export default CustomElement
|
|
|
38
50
|
</mdw-switch-icon>
|
|
39
51
|
<slot id=slot></slot>
|
|
40
52
|
`
|
|
41
|
-
.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (event.target !== control) {
|
|
45
|
-
// Label-like click
|
|
46
|
-
event.stopPropagation();
|
|
47
|
-
control.click();
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
})
|
|
51
|
-
.on({
|
|
52
|
-
composed() {
|
|
53
|
-
const { switch: switchEl, state, control } = this.refs;
|
|
54
|
-
switchEl.append(state, control);
|
|
55
|
-
control.setAttribute('role', 'switch');
|
|
56
|
-
},
|
|
53
|
+
.recompose(({ refs: { switch: switchEl, state, control } }) => {
|
|
54
|
+
switchEl.append(state, control);
|
|
55
|
+
control.setAttribute('role', 'switch');
|
|
57
56
|
})
|
|
58
57
|
.methods({
|
|
59
58
|
/**
|
|
59
|
+
* Handle pointer/touch input on the native control to compute dragging
|
|
60
|
+
* position and update the thumb drag state.
|
|
60
61
|
* @param {(MouseEvent|TouchEvent) & {currentTarget:HTMLInputElement}} event
|
|
61
62
|
* @return {void}
|
|
62
63
|
*/
|
|
@@ -110,12 +111,14 @@ export default CustomElement
|
|
|
110
111
|
|
|
111
112
|
// this._isHoveringThumb = true;
|
|
112
113
|
|
|
113
|
-
|
|
114
|
+
const switchIcon = /** @type {InstanceType<import('./SwitchIcon.js').default>} */ (this.refs.switch);
|
|
115
|
+
|
|
116
|
+
let currentValue = switchIcon.dragValue;
|
|
114
117
|
if (currentValue == null) {
|
|
115
118
|
currentValue = this.checked ? 1 : 0;
|
|
116
119
|
}
|
|
117
120
|
const pixels = offsetX - (clientWidth / 2);
|
|
118
|
-
const currentPixels =
|
|
121
|
+
const currentPixels = switchIcon.clientWidth - (switchIcon.clientHeight);
|
|
119
122
|
// console.log(pixels, currentPixels, currentPixels * currentValue, pixels / currentPixels);
|
|
120
123
|
const newRatio = pixels / currentPixels;
|
|
121
124
|
const newValue = Math.max(Math.min(currentValue + newRatio, 1), 0);
|
package/components/SwitchIcon.js
CHANGED
|
@@ -3,43 +3,67 @@ import './Shape.js';
|
|
|
3
3
|
import CustomElement from '../core/CustomElement.js';
|
|
4
4
|
import ShapeMixin from '../mixins/ShapeMixin.js';
|
|
5
5
|
import ThemableMixin from '../mixins/ThemableMixin.js';
|
|
6
|
+
import { loadGlobalStyles } from '../services/rtl.js';
|
|
6
7
|
|
|
8
|
+
loadGlobalStyles();
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Visual helper that renders the switch thumb and related visual states.
|
|
12
|
+
* @see https://m3.material.io/components/switch/specs
|
|
13
|
+
*/
|
|
7
14
|
export default CustomElement
|
|
8
15
|
.extend()
|
|
9
16
|
.mixin(ThemableMixin)
|
|
10
17
|
.mixin(ShapeMixin)
|
|
11
18
|
.observe({
|
|
19
|
+
/** Whether the switch is selected/on. */
|
|
12
20
|
selected: 'boolean',
|
|
21
|
+
/** Named icon to render inside the thumb. */
|
|
13
22
|
icon: 'string',
|
|
23
|
+
/** Whether the control is visually in an errored state. */
|
|
14
24
|
errored: 'boolean',
|
|
25
|
+
/** Whether the control is disabled. */
|
|
15
26
|
disabled: 'boolean',
|
|
27
|
+
/** Icon name to show when selected/on. */
|
|
16
28
|
selectedIcon: 'string',
|
|
29
|
+
/** Icon name to show when unselected/off. */
|
|
17
30
|
unselectedIcon: 'string',
|
|
31
|
+
/** Image `src` to render inside the thumb. */
|
|
18
32
|
src: 'string',
|
|
33
|
+
/** Image `src` to render when selected/on. */
|
|
19
34
|
selectedSrc: 'string',
|
|
35
|
+
/** Image `src` to render when unselected/off. */
|
|
20
36
|
unselectedSrc: 'string',
|
|
37
|
+
/** Hover state for the thumb. */
|
|
21
38
|
hovered: 'boolean',
|
|
39
|
+
/** Pressed state for the thumb. */
|
|
22
40
|
pressed: 'boolean',
|
|
41
|
+
/** Focused state for the thumb. */
|
|
23
42
|
focused: 'boolean',
|
|
43
|
+
/** Temporary drag position value (0..1) while the thumb is being dragged. */
|
|
24
44
|
dragValue: 'float',
|
|
45
|
+
/** Color token to use for the thumb (defaults to primary). */
|
|
25
46
|
color: { empty: 'primary' },
|
|
26
47
|
})
|
|
27
48
|
.observe({
|
|
28
|
-
/** Alias for
|
|
49
|
+
/** Alias for `selected` to match common control naming. */
|
|
29
50
|
checked: {
|
|
30
51
|
type: 'boolean',
|
|
31
52
|
get({ selected }) { return selected; },
|
|
32
53
|
/** @param {boolean} value */
|
|
33
54
|
set(value) { this.selected = value; },
|
|
34
55
|
},
|
|
56
|
+
/** Whether the thumb is in an active interactive state (not disabled). */
|
|
35
57
|
_active({ disabled, pressed, focused, hovered }) {
|
|
36
58
|
return !disabled && (pressed || focused || hovered);
|
|
37
59
|
},
|
|
38
60
|
})
|
|
39
61
|
.observe({
|
|
62
|
+
/** Thumb fill token (e.g. "primary-container") when active. */
|
|
40
63
|
_thumbColor({ color, _active }) {
|
|
41
64
|
return _active ? `${color}-container` : '';
|
|
42
65
|
},
|
|
66
|
+
/** Ink token used for icons inside the thumb based on state. */
|
|
43
67
|
_iconInk({ disabled, selected, color }) {
|
|
44
68
|
if (!selected) return 'surface-container-highest';
|
|
45
69
|
if (disabled) return 'on-surface';
|
|
@@ -50,28 +74,29 @@ export default CustomElement
|
|
|
50
74
|
hasIcon({ icon, src, unselectedIcon, unselectedSrc }) {
|
|
51
75
|
return Boolean(icon || src || unselectedIcon || unselectedSrc);
|
|
52
76
|
},
|
|
77
|
+
iconVariation({ selected }) {
|
|
78
|
+
return selected ? 'filled' : null;
|
|
79
|
+
},
|
|
53
80
|
})
|
|
54
81
|
.html`
|
|
55
|
-
<div id=
|
|
56
|
-
<
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
82
|
+
<div id=track selected={checked} disabled={disabled}>
|
|
83
|
+
<div id=thumb selected={checked} pressed={pressed} disabled={disabled}>
|
|
84
|
+
<mdw-box block id=thumb-shape selected={checked} pressed={pressed} hovered={hovered} focused={focused} icon={hasIcon}
|
|
85
|
+
color={_thumbColor} active={_active} ink={_thumbInk} disabled={disabled}></mdw-box>
|
|
86
|
+
<mdw-icon ink={_iconInk} class=icon id=icon src={src} selected={checked} icon={icon} variation={iconVariation}></mdw-icon>
|
|
87
|
+
<mdw-icon ink={_iconInk} class=icon id=selected-icon src={selectedIconSrc} selected={checked} icon={selectedIcon} variation=filled></mdw-icon>
|
|
88
|
+
<mdw-icon ink={_iconInk} class=icon id=unselected-icon src={unselectedIconSrc} selected={checked} icon={unselectedIcon}></mdw-icon>
|
|
89
|
+
<slot id=slot selected={checked}></slot>
|
|
90
|
+
</div>
|
|
62
91
|
</div>
|
|
63
92
|
`
|
|
93
|
+
.recompose(({ refs: { outline } }) => {
|
|
94
|
+
outline.removeAttribute('mdw-if');
|
|
95
|
+
outline.setAttribute('selected', '{checked}');
|
|
96
|
+
outline.setAttribute('errored', '{errored}');
|
|
97
|
+
outline.setAttribute('disabled', '{disabled}');
|
|
98
|
+
})
|
|
64
99
|
.on({
|
|
65
|
-
composed() {
|
|
66
|
-
const { outline, shape: track } = this.refs;
|
|
67
|
-
track.id = 'track';
|
|
68
|
-
track.setAttribute('selected', '{checked}');
|
|
69
|
-
track.setAttribute('disabled', '{disabled}');
|
|
70
|
-
outline.removeAttribute('mdw-if');
|
|
71
|
-
outline.setAttribute('selected', '{checked}');
|
|
72
|
-
outline.setAttribute('errored', '{errored}');
|
|
73
|
-
outline.setAttribute('disabled', '{disabled}');
|
|
74
|
-
},
|
|
75
100
|
dragValueChanged(oldValue, newValue) {
|
|
76
101
|
if (newValue == null) {
|
|
77
102
|
this.refs.thumb.style.removeProperty('--mdw-switch__value');
|
|
@@ -116,6 +141,7 @@ export default CustomElement
|
|
|
116
141
|
inset: 0;
|
|
117
142
|
|
|
118
143
|
background-color: rgb(var(--mdw-color__surface-container-highest));
|
|
144
|
+
border-radius: inherit;
|
|
119
145
|
}
|
|
120
146
|
|
|
121
147
|
#track[selected] {
|
|
@@ -123,19 +149,17 @@ export default CustomElement
|
|
|
123
149
|
}
|
|
124
150
|
|
|
125
151
|
#track[disabled] {
|
|
126
|
-
|
|
152
|
+
background-color: rgba(var(--mdw-color__surface-container-highest), calc(0.12/0.38));
|
|
127
153
|
}
|
|
128
154
|
|
|
129
155
|
#track[disabled][selected] {
|
|
130
|
-
background-color:
|
|
156
|
+
background-color: rgba(var(--mdw-color__on-surface), calc(0.12/0.38));
|
|
131
157
|
}
|
|
132
158
|
|
|
133
159
|
#outline {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
drop-shadow(-1px 0px 0px currentColor)
|
|
138
|
-
drop-shadow(0px -1px 0px currentColor);
|
|
160
|
+
border-width: 2px;
|
|
161
|
+
|
|
162
|
+
z-index: 1;
|
|
139
163
|
|
|
140
164
|
color: rgb(var(--mdw-color__outline));
|
|
141
165
|
}
|
|
@@ -145,7 +169,7 @@ export default CustomElement
|
|
|
145
169
|
}
|
|
146
170
|
|
|
147
171
|
#outline[disabled] {
|
|
148
|
-
color:
|
|
172
|
+
color: rgba(var(--mdw-color__on-surface), calc(0.12/0.38));
|
|
149
173
|
}
|
|
150
174
|
|
|
151
175
|
#outline[selected] {
|
|
@@ -166,6 +190,7 @@ export default CustomElement
|
|
|
166
190
|
|
|
167
191
|
transform: translateX(calc(var(--mdw-dir, 1) * var(--mdw-switch__value) * (52px - 100%)));
|
|
168
192
|
|
|
193
|
+
border-radius: inherit;
|
|
169
194
|
aspect-ratio: 1/1;
|
|
170
195
|
}
|
|
171
196
|
|
|
@@ -198,6 +223,8 @@ export default CustomElement
|
|
|
198
223
|
|
|
199
224
|
transform: scale(calc(16/28));
|
|
200
225
|
z-index: 0;
|
|
226
|
+
|
|
227
|
+
border-radius:inherit;
|
|
201
228
|
}
|
|
202
229
|
|
|
203
230
|
#thumb-shape[icon] {
|
|
@@ -221,6 +248,14 @@ export default CustomElement
|
|
|
221
248
|
transform: scale(1);
|
|
222
249
|
}
|
|
223
250
|
|
|
251
|
+
#thumb-shape[disabled] {
|
|
252
|
+
background-color: rgb(var(--mdw-color__on-surface));
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
#thumb-shape[disabled][selected] {
|
|
256
|
+
background-color: rgb(var(--mdw-color__surface));
|
|
257
|
+
}
|
|
258
|
+
|
|
224
259
|
/** Thumb Icons **/
|
|
225
260
|
|
|
226
261
|
.icon {
|
|
@@ -239,13 +274,11 @@ export default CustomElement
|
|
|
239
274
|
}
|
|
240
275
|
|
|
241
276
|
.icon:not([src]):empty {
|
|
242
|
-
display: none;
|
|
277
|
+
/* display: none; */
|
|
243
278
|
}
|
|
244
279
|
|
|
245
280
|
#icon, #unselected-icon {
|
|
246
281
|
opacity: 1;
|
|
247
|
-
|
|
248
|
-
font-variation-settings: 'FILL' 0;
|
|
249
282
|
}
|
|
250
283
|
|
|
251
284
|
#unselected-icon[selected] {
|
|
@@ -256,10 +289,6 @@ export default CustomElement
|
|
|
256
289
|
opacity: 1;
|
|
257
290
|
}
|
|
258
291
|
|
|
259
|
-
#icon[selected] {
|
|
260
|
-
font-variation-settings: 'FILL' 1;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
292
|
#thumb[disabled] {
|
|
264
293
|
color: rgb(var(--mdw-color__on-surface));
|
|
265
294
|
}
|