@maicol07/material-web 2.2.0 → 2.5.0
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/button/internal/_shared.scss +2 -2
- package/button/internal/_touch-target.scss +1 -1
- package/labs/gb/components/appbar/_app-bar-tokens.scss +136 -0
- package/labs/gb/components/appbar/app-bar.scss +167 -0
- package/labs/gb/components/badge/_badge-tokens.scss +18 -0
- package/labs/gb/components/badge/badge.scss +49 -0
- package/labs/gb/components/button/_button-tokens.scss +200 -0
- package/labs/gb/components/button/button.scss +130 -0
- package/labs/gb/components/card/_card-tokens.scss +56 -0
- package/labs/gb/components/card/card.scss +74 -0
- package/labs/gb/components/checkbox/_checkbox-tokens.scss +66 -0
- package/labs/gb/components/checkbox/checkbox.scss +105 -0
- package/labs/gb/components/chip/_chip-tokens.scss +167 -0
- package/labs/gb/components/chip/chip.scss +99 -0
- package/labs/gb/components/divider/_divider-tokens.scss +11 -0
- package/labs/gb/components/divider/divider.scss +31 -0
- package/labs/gb/components/fab/_fab-tokens.scss +89 -0
- package/labs/gb/components/fab/fab.scss +78 -0
- package/labs/gb/components/focus/focus-ring.scss +91 -0
- package/labs/gb/components/iconbutton/_icon-button-tokens.scss +213 -0
- package/labs/gb/components/iconbutton/icon-button.scss +160 -0
- package/labs/gb/components/list/_list-tokens.scss +103 -0
- package/labs/gb/components/list/list.scss +217 -0
- package/labs/gb/components/menu/_menu-tokens.scss +161 -0
- package/labs/gb/components/menu/menu.scss +174 -0
- package/labs/gb/components/radio/_radio-tokens.scss +39 -0
- package/labs/gb/components/radio/radio.scss +74 -0
- package/labs/gb/components/ripple/ripple.scss +103 -0
- package/labs/gb/components/splitbutton/_split-button-tokens.scss +139 -0
- package/labs/gb/components/splitbutton/split-button.scss +164 -0
- package/labs/gb/components/switch/_switch-tokens.scss +58 -0
- package/labs/gb/components/switch/switch.scss +109 -0
- package/labs/gb/styles/color/internal/_color-tokens.scss +95 -0
- package/labs/gb/styles/color/md-color-tokens-full.scss +17 -0
- package/labs/gb/styles/color/md-color-tokens.scss +15 -0
- package/labs/gb/styles/elevation/md-elevation-tokens.scss +25 -0
- package/labs/gb/styles/icon/md-icon.scss +63 -0
- package/labs/gb/styles/m3.scss +14 -0
- package/labs/gb/styles/motion/md-motion-tokens-easing.scss +35 -0
- package/labs/gb/styles/shape/md-shape-tokens.scss +23 -0
- package/labs/gb/styles/space/md-space-tokens.scss +28 -0
- package/labs/gb/styles/tailwind.scss +349 -0
- package/labs/gb/styles/typography/internal/_typography-tokens.scss +149 -0
- package/labs/gb/styles/typography/md-typography-tokens.scss +14 -0
- package/list/internal/listitem/_list-item.scss +3 -0
- package/menu/internal/menuitem/_menu-item.scss +4 -1
- package/package.json +145 -27
- package/sass/ext/_assert.scss +82 -0
- package/sass/ext/_list_ext.scss +114 -0
- package/sass/ext/_map_ext.scss +222 -0
- package/sass/ext/_string_ext.scss +153 -0
- package/sass/ext/_throw.scss +83 -0
- package/sass/ext/_type.scss +66 -0
- package/{internal/sass → sass/ext}/_var.scss +86 -96
- package/sass/ext/tests.scss +18 -0
- package/slider/internal/_slider.scss +1 -0
- package/switch/internal/_switch.scss +1 -0
- package/tabs/internal/_tab.scss +0 -1
- package/tokens/_index.scss +57 -57
- package/tokens/_md-comp-assist-chip.scss +8 -8
- package/tokens/_md-comp-badge.scss +4 -4
- package/tokens/_md-comp-checkbox.scss +6 -6
- package/tokens/_md-comp-circular-progress.scss +4 -4
- package/tokens/_md-comp-dialog.scss +8 -8
- package/tokens/_md-comp-divider.scss +3 -3
- package/tokens/_md-comp-elevated-button.scss +8 -8
- package/tokens/_md-comp-elevated-card.scss +6 -6
- package/tokens/_md-comp-elevation.scss +3 -3
- package/tokens/_md-comp-fab-branded.scss +10 -10
- package/tokens/_md-comp-fab.scss +17 -17
- package/tokens/_md-comp-filled-button.scss +8 -8
- package/tokens/_md-comp-filled-card.scss +6 -6
- package/tokens/_md-comp-filled-field.scss +7 -7
- package/tokens/_md-comp-filled-icon-button.scss +6 -6
- package/tokens/_md-comp-filled-select.scss +8 -8
- package/tokens/_md-comp-filled-text-field.scss +7 -7
- package/tokens/_md-comp-filled-tonal-button.scss +8 -8
- package/tokens/_md-comp-filled-tonal-icon-button.scss +6 -6
- package/tokens/_md-comp-filter-chip.scss +8 -8
- package/tokens/_md-comp-focus-ring.scss +5 -5
- package/tokens/_md-comp-full-screen-dialog.scss +6 -6
- package/tokens/_md-comp-icon-button.scss +5 -5
- package/tokens/_md-comp-icon.scss +1 -1
- package/tokens/_md-comp-input-chip.scss +8 -8
- package/tokens/_md-comp-item.scss +4 -4
- package/tokens/_md-comp-linear-progress.scss +4 -4
- package/tokens/_md-comp-list-item.scss +5 -5
- package/tokens/_md-comp-list.scss +3 -3
- package/tokens/_md-comp-menu-item.scss +8 -8
- package/tokens/_md-comp-menu.scss +5 -5
- package/tokens/_md-comp-navigation-bar.scss +6 -6
- package/tokens/_md-comp-navigation-drawer.scss +6 -6
- package/tokens/_md-comp-outlined-button.scss +7 -7
- package/tokens/_md-comp-outlined-card.scss +6 -6
- package/tokens/_md-comp-outlined-field.scss +7 -7
- package/tokens/_md-comp-outlined-icon-button.scss +6 -6
- package/tokens/_md-comp-outlined-segmented-button.scss +7 -7
- package/tokens/_md-comp-outlined-select.scss +8 -8
- package/tokens/_md-comp-outlined-text-field.scss +6 -6
- package/tokens/_md-comp-primary-tab.scss +8 -8
- package/tokens/_md-comp-radio.scss +4 -4
- package/tokens/_md-comp-ripple.scss +4 -4
- package/tokens/_md-comp-secondary-tab.scss +8 -8
- package/tokens/_md-comp-slider.scss +7 -7
- package/tokens/_md-comp-suggestion-chip.scss +8 -8
- package/tokens/_md-comp-switch.scss +6 -6
- package/tokens/_md-comp-test-table.scss +2 -2
- package/tokens/_md-comp-text-button.scss +7 -7
- package/tokens/_md-ref-palette.scss +2 -2
- package/tokens/_md-ref-typeface.scss +2 -2
- package/tokens/_md-sys-color.scss +3 -3
- package/tokens/_md-sys-elevation.scss +1 -1
- package/tokens/_md-sys-motion.scss +1 -1
- package/tokens/_md-sys-shape.scss +2 -2
- package/tokens/_md-sys-state.scss +1 -1
- package/tokens/_md-sys-typescale.scss +3 -3
- package/tokens/v0_192/_index.scss +3 -102
- package/tokens/v0_192/_md-comp-assist-chip.scss +1 -106
- package/tokens/v0_192/_md-comp-badge.scss +1 -56
- package/tokens/v0_192/_md-comp-banner.scss +1 -71
- package/tokens/v0_192/_md-comp-bottom-app-bar.scss +1 -31
- package/tokens/v0_192/_md-comp-carousel-item.scss +1 -61
- package/tokens/v0_192/_md-comp-checkbox.scss +1 -124
- package/tokens/v0_192/_md-comp-circular-progress-indicator.scss +1 -36
- package/tokens/v0_192/_md-comp-data-table.scss +1 -94
- package/tokens/v0_192/_md-comp-date-input-modal.scss +1 -85
- package/tokens/v0_192/_md-comp-date-picker-docked.scss +1 -242
- package/tokens/v0_192/_md-comp-date-picker-modal.scss +1 -301
- package/tokens/v0_192/_md-comp-dialog.scss +1 -119
- package/tokens/v0_192/_md-comp-divider.scss +1 -23
- package/tokens/v0_192/_md-comp-elevated-button.scss +1 -87
- package/tokens/v0_192/_md-comp-elevated-card.scss +1 -55
- package/tokens/v0_192/_md-comp-extended-fab-branded.scss +1 -84
- package/tokens/v0_192/_md-comp-extended-fab-primary.scss +1 -92
- package/tokens/v0_192/_md-comp-extended-fab-secondary.scss +1 -93
- package/tokens/v0_192/_md-comp-extended-fab-surface.scss +1 -88
- package/tokens/v0_192/_md-comp-extended-fab-tertiary.scss +1 -93
- package/tokens/v0_192/_md-comp-fab-branded-large.scss +1 -58
- package/tokens/v0_192/_md-comp-fab-branded.scss +1 -58
- package/tokens/v0_192/_md-comp-fab-primary-large.scss +1 -63
- package/tokens/v0_192/_md-comp-fab-primary-small.scss +1 -63
- package/tokens/v0_192/_md-comp-fab-primary.scss +1 -63
- package/tokens/v0_192/_md-comp-fab-secondary-large.scss +1 -64
- package/tokens/v0_192/_md-comp-fab-secondary-small.scss +1 -64
- package/tokens/v0_192/_md-comp-fab-secondary.scss +1 -64
- package/tokens/v0_192/_md-comp-fab-surface-large.scss +1 -62
- package/tokens/v0_192/_md-comp-fab-surface-small.scss +1 -62
- package/tokens/v0_192/_md-comp-fab-surface.scss +1 -62
- package/tokens/v0_192/_md-comp-fab-tertiary-large.scss +1 -64
- package/tokens/v0_192/_md-comp-fab-tertiary-small.scss +1 -64
- package/tokens/v0_192/_md-comp-fab-tertiary.scss +1 -64
- package/tokens/v0_192/_md-comp-filled-autocomplete.scss +1 -234
- package/tokens/v0_192/_md-comp-filled-button.scss +1 -87
- package/tokens/v0_192/_md-comp-filled-card.scss +1 -57
- package/tokens/v0_192/_md-comp-filled-icon-button.scss +1 -78
- package/tokens/v0_192/_md-comp-filled-menu-button.scss +1 -96
- package/tokens/v0_192/_md-comp-filled-select.scss +1 -268
- package/tokens/v0_192/_md-comp-filled-text-field.scss +1 -188
- package/tokens/v0_192/_md-comp-filled-tonal-button.scss +1 -97
- package/tokens/v0_192/_md-comp-filled-tonal-icon-button.scss +1 -85
- package/tokens/v0_192/_md-comp-filter-chip.scss +1 -205
- package/tokens/v0_192/_md-comp-full-screen-dialog.scss +1 -109
- package/tokens/v0_192/_md-comp-icon-button.scss +1 -69
- package/tokens/v0_192/_md-comp-input-chip.scss +1 -182
- package/tokens/v0_192/_md-comp-linear-progress-indicator.scss +1 -38
- package/tokens/v0_192/_md-comp-list.scss +1 -250
- package/tokens/v0_192/_md-comp-menu.scss +1 -39
- package/tokens/v0_192/_md-comp-navigation-bar.scss +1 -110
- package/tokens/v0_192/_md-comp-navigation-drawer.scss +1 -160
- package/tokens/v0_192/_md-comp-navigation-rail.scss +1 -114
- package/tokens/v0_192/_md-comp-outlined-autocomplete.scss +1 -224
- package/tokens/v0_192/_md-comp-outlined-button.scss +1 -82
- package/tokens/v0_192/_md-comp-outlined-card.scss +1 -61
- package/tokens/v0_192/_md-comp-outlined-icon-button.scss +1 -78
- package/tokens/v0_192/_md-comp-outlined-menu-button.scss +1 -92
- package/tokens/v0_192/_md-comp-outlined-segmented-button.scss +1 -110
- package/tokens/v0_192/_md-comp-outlined-select.scss +1 -258
- package/tokens/v0_192/_md-comp-outlined-text-field.scss +1 -169
- package/tokens/v0_192/_md-comp-plain-tooltip.scss +1 -53
- package/tokens/v0_192/_md-comp-primary-navigation-tab.scss +1 -119
- package/tokens/v0_192/_md-comp-radio-button.scss +1 -66
- package/tokens/v0_192/_md-comp-rich-tooltip.scss +1 -117
- package/tokens/v0_192/_md-comp-scrim.scss +1 -23
- package/tokens/v0_192/_md-comp-search-bar.scss +1 -95
- package/tokens/v0_192/_md-comp-search-view.scss +1 -89
- package/tokens/v0_192/_md-comp-secondary-navigation-tab.scss +1 -82
- package/tokens/v0_192/_md-comp-sheet-bottom.scss +1 -41
- package/tokens/v0_192/_md-comp-sheet-floating.scss +1 -30
- package/tokens/v0_192/_md-comp-sheet-side.scss +1 -89
- package/tokens/v0_192/_md-comp-slider.scss +1 -113
- package/tokens/v0_192/_md-comp-snackbar.scss +1 -125
- package/tokens/v0_192/_md-comp-standard-menu-button.scss +1 -96
- package/tokens/v0_192/_md-comp-suggestion-chip.scss +1 -122
- package/tokens/v0_192/_md-comp-switch.scss +1 -136
- package/tokens/v0_192/_md-comp-text-button.scss +1 -75
- package/tokens/v0_192/_md-comp-time-input.scss +1 -215
- package/tokens/v0_192/_md-comp-time-picker.scss +1 -262
- package/tokens/v0_192/_md-comp-top-app-bar-large.scss +1 -59
- package/tokens/v0_192/_md-comp-top-app-bar-medium.scss +1 -59
- package/tokens/v0_192/_md-comp-top-app-bar-small-centered.scss +1 -66
- package/tokens/v0_192/_md-comp-top-app-bar-small.scss +1 -62
- package/tokens/v0_192/_md-ref-palette.scss +1 -104
- package/tokens/v0_192/_md-ref-typeface.scss +1 -18
- package/tokens/v0_192/_md-sys-color.scss +1 -130
- package/tokens/v0_192/_md-sys-elevation.scss +1 -19
- package/tokens/v0_192/_md-sys-motion.scss +1 -50
- package/tokens/v0_192/_md-sys-shape.scss +1 -28
- package/tokens/v0_192/_md-sys-state.scss +1 -17
- package/tokens/v0_192/_md-sys-typescale.scss +1 -281
- package/tokens/versions/latest/sass/_index.scss +241 -0
- package/tokens/versions/latest/sass/_md-comp-app-bar-large-flexible.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-app-bar-large.scss +35 -0
- package/tokens/versions/latest/sass/_md-comp-app-bar-medium-flexible.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-app-bar-medium.scss +35 -0
- package/tokens/versions/latest/sass/_md-comp-app-bar-small.scss +42 -0
- package/tokens/versions/latest/sass/_md-comp-app-bar.scss +59 -0
- package/tokens/versions/latest/sass/_md-comp-assist-chip.scss +134 -0
- package/tokens/versions/latest/sass/_md-comp-badge.scss +53 -0
- package/tokens/versions/latest/sass/_md-comp-banner.scss +147 -0
- package/tokens/versions/latest/sass/_md-comp-banners-basic.scss +86 -0
- package/tokens/versions/latest/sass/_md-comp-banners-rich.scss +89 -0
- package/tokens/versions/latest/sass/_md-comp-banners.scss +43 -0
- package/tokens/versions/latest/sass/_md-comp-bottom-app-bar.scss +37 -0
- package/tokens/versions/latest/sass/_md-comp-button-elevated.scss +125 -0
- package/tokens/versions/latest/sass/_md-comp-button-filled.scss +125 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-connected-large.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-connected-medium.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-connected-small.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-connected-xlarge.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-connected-xsmall.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-standard-large.scss +29 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-standard-medium.scss +29 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-standard-small.scss +29 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-standard-xlarge.scss +29 -0
- package/tokens/versions/latest/sass/_md-comp-button-group-standard-xsmall.scss +29 -0
- package/tokens/versions/latest/sass/_md-comp-button-large.scss +51 -0
- package/tokens/versions/latest/sass/_md-comp-button-medium.scss +51 -0
- package/tokens/versions/latest/sass/_md-comp-button-outlined.scss +124 -0
- package/tokens/versions/latest/sass/_md-comp-button-small.scss +51 -0
- package/tokens/versions/latest/sass/_md-comp-button-text.scss +60 -0
- package/tokens/versions/latest/sass/_md-comp-button-tonal.scss +125 -0
- package/tokens/versions/latest/sass/_md-comp-button-xlarge.scss +51 -0
- package/tokens/versions/latest/sass/_md-comp-button-xsmall.scss +51 -0
- package/tokens/versions/latest/sass/_md-comp-button.scss +163 -0
- package/tokens/versions/latest/sass/_md-comp-carousel-item.scss +79 -0
- package/tokens/versions/latest/sass/_md-comp-checkbox.scss +216 -0
- package/tokens/versions/latest/sass/_md-comp-circular-progress-indicator.scss +52 -0
- package/tokens/versions/latest/sass/_md-comp-data-table.scss +110 -0
- package/tokens/versions/latest/sass/_md-comp-date-input-modal.scss +80 -0
- package/tokens/versions/latest/sass/_md-comp-date-picker-docked.scss +241 -0
- package/tokens/versions/latest/sass/_md-comp-date-picker-modal.scss +295 -0
- package/tokens/versions/latest/sass/_md-comp-dialog.scss +157 -0
- package/tokens/versions/latest/sass/_md-comp-divider.scss +23 -0
- package/tokens/versions/latest/sass/_md-comp-drag-handle.scss +54 -0
- package/tokens/versions/latest/sass/_md-comp-elevated-button.scss +190 -0
- package/tokens/versions/latest/sass/_md-comp-elevated-card.scss +75 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-branded.scss +100 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-large.scss +36 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-medium.scss +36 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-primary-container.scss +61 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-primary.scss +174 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-secondary-container.scss +61 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-secondary.scss +174 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-small.scss +36 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-surface.scss +108 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-tertiary-container.scss +61 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab-tertiary.scss +174 -0
- package/tokens/versions/latest/sass/_md-comp-extended-fab.scss +36 -0
- package/tokens/versions/latest/sass/_md-comp-fab-branded-large.scss +127 -0
- package/tokens/versions/latest/sass/_md-comp-fab-branded.scss +75 -0
- package/tokens/versions/latest/sass/_md-comp-fab-large.scss +27 -0
- package/tokens/versions/latest/sass/_md-comp-fab-medium.scss +27 -0
- package/tokens/versions/latest/sass/_md-comp-fab-menu-primary-close-button.scss +51 -0
- package/tokens/versions/latest/sass/_md-comp-fab-menu-primary-container.scss +59 -0
- package/tokens/versions/latest/sass/_md-comp-fab-menu-secondary-close-button.scss +51 -0
- package/tokens/versions/latest/sass/_md-comp-fab-menu-secondary-container.scss +59 -0
- package/tokens/versions/latest/sass/_md-comp-fab-menu-tertiary-close-button.scss +51 -0
- package/tokens/versions/latest/sass/_md-comp-fab-menu-tertiary-container.scss +59 -0
- package/tokens/versions/latest/sass/_md-comp-fab-menu.scss +53 -0
- package/tokens/versions/latest/sass/_md-comp-fab-primary-container.scss +53 -0
- package/tokens/versions/latest/sass/_md-comp-fab-primary-large.scss +131 -0
- package/tokens/versions/latest/sass/_md-comp-fab-primary-small.scss +131 -0
- package/tokens/versions/latest/sass/_md-comp-fab-primary.scss +131 -0
- package/tokens/versions/latest/sass/_md-comp-fab-secondary-container.scss +53 -0
- package/tokens/versions/latest/sass/_md-comp-fab-secondary-large.scss +131 -0
- package/tokens/versions/latest/sass/_md-comp-fab-secondary-small.scss +131 -0
- package/tokens/versions/latest/sass/_md-comp-fab-secondary.scss +131 -0
- package/tokens/versions/latest/sass/_md-comp-fab-small.scss +27 -0
- package/tokens/versions/latest/sass/_md-comp-fab-surface-large.scss +139 -0
- package/tokens/versions/latest/sass/_md-comp-fab-surface.scss +83 -0
- package/tokens/versions/latest/sass/_md-comp-fab-tertiary-container.scss +53 -0
- package/tokens/versions/latest/sass/_md-comp-fab-tertiary-large.scss +131 -0
- package/tokens/versions/latest/sass/_md-comp-fab-tertiary-small.scss +131 -0
- package/tokens/versions/latest/sass/_md-comp-fab-tertiary.scss +131 -0
- package/tokens/versions/latest/sass/_md-comp-fab.scss +27 -0
- package/tokens/versions/latest/sass/_md-comp-filled-autocomplete.scss +279 -0
- package/tokens/versions/latest/sass/_md-comp-filled-button.scss +206 -0
- package/tokens/versions/latest/sass/_md-comp-filled-card.scss +75 -0
- package/tokens/versions/latest/sass/_md-comp-filled-icon-button.scss +178 -0
- package/tokens/versions/latest/sass/_md-comp-filled-menu-button.scss +118 -0
- package/tokens/versions/latest/sass/_md-comp-filled-select.scss +269 -0
- package/tokens/versions/latest/sass/_md-comp-filled-text-field.scss +221 -0
- package/tokens/versions/latest/sass/_md-comp-filled-tonal-button.scss +186 -0
- package/tokens/versions/latest/sass/_md-comp-filled-tonal-icon-button.scss +178 -0
- package/tokens/versions/latest/sass/_md-comp-filter-chip.scss +276 -0
- package/tokens/versions/latest/sass/_md-comp-full-screen-dialog.scss +199 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button-filled.scss +82 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button-large.scss +52 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button-medium.scss +52 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button-outlined.scss +86 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button-small.scss +52 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button-standard.scss +72 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button-tonal.scss +82 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button-xlarge.scss +52 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button-xsmall.scss +52 -0
- package/tokens/versions/latest/sass/_md-comp-icon-button.scss +193 -0
- package/tokens/versions/latest/sass/_md-comp-input-chip.scss +300 -0
- package/tokens/versions/latest/sass/_md-comp-linear-progress-indicator.scss +60 -0
- package/tokens/versions/latest/sass/_md-comp-list-expand.scss +36 -0
- package/tokens/versions/latest/sass/_md-comp-list-reorder.scss +45 -0
- package/tokens/versions/latest/sass/_md-comp-list-reveal.scss +50 -0
- package/tokens/versions/latest/sass/_md-comp-list.scss +408 -0
- package/tokens/versions/latest/sass/_md-comp-loading-indicator.scss +38 -0
- package/tokens/versions/latest/sass/_md-comp-menu.scss +218 -0
- package/tokens/versions/latest/sass/_md-comp-menus-standard.scss +188 -0
- package/tokens/versions/latest/sass/_md-comp-menus-vibrant.scss +160 -0
- package/tokens/versions/latest/sass/_md-comp-menus.scss +141 -0
- package/tokens/versions/latest/sass/_md-comp-nav-bar-item-horizontal.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-nav-bar-item-vertical.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-nav-bar.scss +68 -0
- package/tokens/versions/latest/sass/_md-comp-nav-rail-collapsed.scss +35 -0
- package/tokens/versions/latest/sass/_md-comp-nav-rail-expanded.scss +47 -0
- package/tokens/versions/latest/sass/_md-comp-nav-rail-item-horizontal.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-nav-rail-item-vertical.scss +33 -0
- package/tokens/versions/latest/sass/_md-comp-nav-rail-item.scss +39 -0
- package/tokens/versions/latest/sass/_md-comp-nav-rail.scss +48 -0
- package/tokens/versions/latest/sass/_md-comp-navigation-bar.scss +150 -0
- package/tokens/versions/latest/sass/_md-comp-navigation-drawer.scss +187 -0
- package/tokens/versions/latest/sass/_md-comp-navigation-rail.scss +233 -0
- package/tokens/versions/latest/sass/_md-comp-outlined-autocomplete.scss +275 -0
- package/tokens/versions/latest/sass/_md-comp-outlined-button.scss +182 -0
- package/tokens/versions/latest/sass/_md-comp-outlined-card.scss +87 -0
- package/tokens/versions/latest/sass/_md-comp-outlined-menu-button.scss +117 -0
- package/tokens/versions/latest/sass/_md-comp-outlined-segmented-button.scss +121 -0
- package/tokens/versions/latest/sass/_md-comp-outlined-select.scss +266 -0
- package/tokens/versions/latest/sass/_md-comp-outlined-text-field.scss +216 -0
- package/tokens/versions/latest/sass/_md-comp-plain-tooltip.scss +45 -0
- package/tokens/versions/latest/sass/_md-comp-primary-navigation-tab.scss +130 -0
- package/tokens/versions/latest/sass/_md-comp-progress-indicator-circular.scss +47 -0
- package/tokens/versions/latest/sass/_md-comp-progress-indicator-linear.scss +65 -0
- package/tokens/versions/latest/sass/_md-comp-progress-indicator.scss +48 -0
- package/tokens/versions/latest/sass/_md-comp-radio-button.scss +72 -0
- package/tokens/versions/latest/sass/_md-comp-rich-tooltip.scss +113 -0
- package/tokens/versions/latest/sass/_md-comp-scrim.scss +23 -0
- package/tokens/versions/latest/sass/_md-comp-search-bar.scss +137 -0
- package/tokens/versions/latest/sass/_md-comp-search-view.scss +108 -0
- package/tokens/versions/latest/sass/_md-comp-secondary-navigation-tab.scss +104 -0
- package/tokens/versions/latest/sass/_md-comp-sheet-bottom.scss +52 -0
- package/tokens/versions/latest/sass/_md-comp-sheet-floating.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-sheet-side.scss +96 -0
- package/tokens/versions/latest/sass/_md-comp-slider-large.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-slider-medium.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-slider-small.scss +27 -0
- package/tokens/versions/latest/sass/_md-comp-slider-xlarge.scss +31 -0
- package/tokens/versions/latest/sass/_md-comp-slider-xsmall.scss +27 -0
- package/tokens/versions/latest/sass/_md-comp-slider.scss +307 -0
- package/tokens/versions/latest/sass/_md-comp-snackbar.scss +115 -0
- package/tokens/versions/latest/sass/_md-comp-split-button-large.scss +43 -0
- package/tokens/versions/latest/sass/_md-comp-split-button-medium.scss +43 -0
- package/tokens/versions/latest/sass/_md-comp-split-button-small.scss +43 -0
- package/tokens/versions/latest/sass/_md-comp-split-button-xlarge.scss +43 -0
- package/tokens/versions/latest/sass/_md-comp-split-button-xsmall.scss +45 -0
- package/tokens/versions/latest/sass/_md-comp-standard-menu-button.scss +103 -0
- package/tokens/versions/latest/sass/_md-comp-suggestion-chip.scss +134 -0
- package/tokens/versions/latest/sass/_md-comp-switch.scss +191 -0
- package/tokens/versions/latest/sass/_md-comp-text-button.scss +154 -0
- package/tokens/versions/latest/sass/_md-comp-time-input.scss +206 -0
- package/tokens/versions/latest/sass/_md-comp-time-picker.scss +257 -0
- package/tokens/versions/latest/sass/_md-comp-toolbar-docked.scss +36 -0
- package/tokens/versions/latest/sass/_md-comp-toolbar-floating-fab.scss +51 -0
- package/tokens/versions/latest/sass/_md-comp-toolbar-floating.scss +75 -0
- package/tokens/versions/latest/sass/_md-comp-toolbar-standard.scss +87 -0
- package/tokens/versions/latest/sass/_md-comp-toolbar-vibrant.scss +87 -0
- package/tokens/versions/latest/sass/_md-comp-top-app-bar-large.scss +92 -0
- package/tokens/versions/latest/sass/_md-comp-top-app-bar-medium.scss +92 -0
- package/tokens/versions/latest/sass/_md-comp-top-app-bar-small-centered.scss +112 -0
- package/tokens/versions/latest/sass/_md-comp-top-app-bar-small.scss +104 -0
- package/tokens/versions/latest/sass/_md-fab-surface-small.scss +139 -0
- package/tokens/versions/latest/sass/_md-outlined-icon-button.scss +166 -0
- package/tokens/versions/latest/sass/_md-ref-palette.scss +495 -0
- package/tokens/versions/latest/sass/_md-ref-typeface.scss +27 -0
- package/tokens/versions/latest/sass/_md-sys-color.scss +209 -0
- package/tokens/versions/latest/sass/_md-sys-color__dark.scss +209 -0
- package/tokens/versions/latest/sass/_md-sys-color__dark__high-contrast.scss +209 -0
- package/tokens/versions/latest/sass/_md-sys-color__dark__medium-contrast.scss +209 -0
- package/tokens/versions/latest/sass/_md-sys-color__high-contrast.scss +209 -0
- package/tokens/versions/latest/sass/_md-sys-color__medium-contrast.scss +209 -0
- package/tokens/versions/latest/sass/_md-sys-elevation.scss +35 -0
- package/tokens/versions/latest/sass/_md-sys-motion.scss +107 -0
- package/tokens/versions/latest/sass/_md-sys-shape.scss +67 -0
- package/tokens/versions/latest/sass/_md-sys-state-focus-indicator.scss +23 -0
- package/tokens/versions/latest/sass/_md-sys-state.scss +27 -0
- package/tokens/versions/latest/sass/_md-sys-typescale-emphasized.scss +559 -0
- package/tokens/versions/latest/sass/_md-sys-typescale.scss +571 -0
- package/tokens/versions/v0_192/_index.scss +107 -0
- package/tokens/versions/v0_192/_md-comp-assist-chip.scss +111 -0
- package/tokens/versions/v0_192/_md-comp-badge.scss +61 -0
- package/tokens/versions/v0_192/_md-comp-banner.scss +76 -0
- package/tokens/versions/v0_192/_md-comp-bottom-app-bar.scss +36 -0
- package/tokens/versions/v0_192/_md-comp-carousel-item.scss +66 -0
- package/tokens/versions/v0_192/_md-comp-checkbox.scss +129 -0
- package/tokens/versions/v0_192/_md-comp-circular-progress-indicator.scss +41 -0
- package/tokens/versions/v0_192/_md-comp-data-table.scss +99 -0
- package/tokens/versions/v0_192/_md-comp-date-input-modal.scss +90 -0
- package/tokens/versions/v0_192/_md-comp-date-picker-docked.scss +247 -0
- package/tokens/versions/v0_192/_md-comp-date-picker-modal.scss +306 -0
- package/tokens/versions/v0_192/_md-comp-dialog.scss +124 -0
- package/tokens/versions/v0_192/_md-comp-divider.scss +28 -0
- package/tokens/versions/v0_192/_md-comp-elevated-button.scss +92 -0
- package/tokens/versions/v0_192/_md-comp-elevated-card.scss +60 -0
- package/tokens/versions/v0_192/_md-comp-extended-fab-branded.scss +89 -0
- package/tokens/versions/v0_192/_md-comp-extended-fab-primary.scss +97 -0
- package/tokens/versions/v0_192/_md-comp-extended-fab-secondary.scss +98 -0
- package/tokens/versions/v0_192/_md-comp-extended-fab-surface.scss +93 -0
- package/tokens/versions/v0_192/_md-comp-extended-fab-tertiary.scss +98 -0
- package/tokens/versions/v0_192/_md-comp-fab-branded-large.scss +63 -0
- package/tokens/versions/v0_192/_md-comp-fab-branded.scss +63 -0
- package/tokens/versions/v0_192/_md-comp-fab-primary-large.scss +68 -0
- package/tokens/versions/v0_192/_md-comp-fab-primary-small.scss +68 -0
- package/tokens/versions/v0_192/_md-comp-fab-primary.scss +68 -0
- package/tokens/versions/v0_192/_md-comp-fab-secondary-large.scss +69 -0
- package/tokens/versions/v0_192/_md-comp-fab-secondary-small.scss +69 -0
- package/tokens/versions/v0_192/_md-comp-fab-secondary.scss +69 -0
- package/tokens/versions/v0_192/_md-comp-fab-surface-large.scss +67 -0
- package/tokens/versions/v0_192/_md-comp-fab-surface-small.scss +67 -0
- package/tokens/versions/v0_192/_md-comp-fab-surface.scss +67 -0
- package/tokens/versions/v0_192/_md-comp-fab-tertiary-large.scss +69 -0
- package/tokens/versions/v0_192/_md-comp-fab-tertiary-small.scss +69 -0
- package/tokens/versions/v0_192/_md-comp-fab-tertiary.scss +69 -0
- package/tokens/versions/v0_192/_md-comp-filled-autocomplete.scss +239 -0
- package/tokens/versions/v0_192/_md-comp-filled-button.scss +92 -0
- package/tokens/versions/v0_192/_md-comp-filled-card.scss +62 -0
- package/tokens/versions/v0_192/_md-comp-filled-icon-button.scss +83 -0
- package/tokens/versions/v0_192/_md-comp-filled-menu-button.scss +101 -0
- package/tokens/versions/v0_192/_md-comp-filled-select.scss +273 -0
- package/tokens/versions/v0_192/_md-comp-filled-text-field.scss +193 -0
- package/tokens/versions/v0_192/_md-comp-filled-tonal-button.scss +102 -0
- package/tokens/versions/v0_192/_md-comp-filled-tonal-icon-button.scss +90 -0
- package/tokens/versions/v0_192/_md-comp-filter-chip.scss +210 -0
- package/tokens/versions/v0_192/_md-comp-full-screen-dialog.scss +114 -0
- package/tokens/versions/v0_192/_md-comp-icon-button.scss +74 -0
- package/tokens/versions/v0_192/_md-comp-input-chip.scss +187 -0
- package/tokens/versions/v0_192/_md-comp-linear-progress-indicator.scss +43 -0
- package/tokens/versions/v0_192/_md-comp-list.scss +255 -0
- package/tokens/versions/v0_192/_md-comp-menu.scss +44 -0
- package/tokens/versions/v0_192/_md-comp-navigation-bar.scss +115 -0
- package/tokens/versions/v0_192/_md-comp-navigation-drawer.scss +165 -0
- package/tokens/versions/v0_192/_md-comp-navigation-rail.scss +119 -0
- package/tokens/versions/v0_192/_md-comp-outlined-autocomplete.scss +229 -0
- package/tokens/versions/v0_192/_md-comp-outlined-button.scss +87 -0
- package/tokens/versions/v0_192/_md-comp-outlined-card.scss +66 -0
- package/tokens/versions/v0_192/_md-comp-outlined-icon-button.scss +83 -0
- package/tokens/versions/v0_192/_md-comp-outlined-menu-button.scss +97 -0
- package/tokens/versions/v0_192/_md-comp-outlined-segmented-button.scss +115 -0
- package/tokens/versions/v0_192/_md-comp-outlined-select.scss +263 -0
- package/tokens/versions/v0_192/_md-comp-outlined-text-field.scss +174 -0
- package/tokens/versions/v0_192/_md-comp-plain-tooltip.scss +58 -0
- package/tokens/versions/v0_192/_md-comp-primary-navigation-tab.scss +124 -0
- package/tokens/versions/v0_192/_md-comp-radio-button.scss +71 -0
- package/tokens/versions/v0_192/_md-comp-rich-tooltip.scss +122 -0
- package/tokens/versions/v0_192/_md-comp-scrim.scss +28 -0
- package/tokens/versions/v0_192/_md-comp-search-bar.scss +100 -0
- package/tokens/versions/v0_192/_md-comp-search-view.scss +94 -0
- package/tokens/versions/v0_192/_md-comp-secondary-navigation-tab.scss +87 -0
- package/tokens/versions/v0_192/_md-comp-sheet-bottom.scss +46 -0
- package/tokens/versions/v0_192/_md-comp-sheet-floating.scss +35 -0
- package/tokens/versions/v0_192/_md-comp-sheet-side.scss +94 -0
- package/tokens/versions/v0_192/_md-comp-slider.scss +118 -0
- package/tokens/versions/v0_192/_md-comp-snackbar.scss +130 -0
- package/tokens/versions/v0_192/_md-comp-standard-menu-button.scss +101 -0
- package/tokens/versions/v0_192/_md-comp-suggestion-chip.scss +127 -0
- package/tokens/versions/v0_192/_md-comp-switch.scss +141 -0
- package/tokens/versions/v0_192/_md-comp-text-button.scss +80 -0
- package/tokens/versions/v0_192/_md-comp-time-input.scss +220 -0
- package/tokens/versions/v0_192/_md-comp-time-picker.scss +267 -0
- package/tokens/versions/v0_192/_md-comp-top-app-bar-large.scss +64 -0
- package/tokens/versions/v0_192/_md-comp-top-app-bar-medium.scss +64 -0
- package/tokens/versions/v0_192/_md-comp-top-app-bar-small-centered.scss +71 -0
- package/tokens/versions/v0_192/_md-comp-top-app-bar-small.scss +67 -0
- package/tokens/versions/v0_192/_md-ref-palette.scss +109 -0
- package/tokens/versions/v0_192/_md-ref-typeface.scss +23 -0
- package/tokens/versions/v0_192/_md-sys-color.scss +135 -0
- package/tokens/versions/v0_192/_md-sys-elevation.scss +24 -0
- package/tokens/versions/v0_192/_md-sys-motion.scss +55 -0
- package/tokens/versions/v0_192/_md-sys-shape.scss +33 -0
- package/tokens/versions/v0_192/_md-sys-state.scss +22 -0
- package/tokens/versions/v0_192/_md-sys-typescale.scss +286 -0
- package/tokens/versions/v0_192/index.test.scss +584 -0
- package/tokens/versions/v0_192/lib.test.scss +663 -0
- package/types/command-event.d.ts +22 -0
- package/types/css-imports.d.ts +12 -0
- package/types/popover.d.ts +22 -0
- package/internal/sass/_string-ext.scss +0 -195
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2026 Google LLC
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// go/keep-sorted start by_regex='(.+) prefix_order=sass:
|
|
7
|
+
@use 'radio-tokens';
|
|
8
|
+
// go/keep-sorted end
|
|
9
|
+
|
|
10
|
+
@layer md.sys, md.comp.ripple, md.comp.focus-ring;
|
|
11
|
+
@layer md.comp.radio {
|
|
12
|
+
.radio {
|
|
13
|
+
& {
|
|
14
|
+
@include radio-tokens.root;
|
|
15
|
+
|
|
16
|
+
&:where(:hover, .hover) {
|
|
17
|
+
@include radio-tokens.hovered;
|
|
18
|
+
}
|
|
19
|
+
&:where(:focus-within, .focus) {
|
|
20
|
+
@include radio-tokens.focused;
|
|
21
|
+
}
|
|
22
|
+
&:where(:active, .active) {
|
|
23
|
+
@include radio-tokens.pressed;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
&:is(:checked, .checked) {
|
|
27
|
+
@include radio-tokens.selected;
|
|
28
|
+
|
|
29
|
+
&:where(:active, .active) {
|
|
30
|
+
@include radio-tokens.selected-pressed;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
&:is(:disabled, .disabled) {
|
|
34
|
+
@include radio-tokens.disabled;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
& {
|
|
38
|
+
appearance: none;
|
|
39
|
+
position: relative;
|
|
40
|
+
display: inline-flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
justify-content: center;
|
|
43
|
+
width: 48px;
|
|
44
|
+
height: 48px;
|
|
45
|
+
background-image: none;
|
|
46
|
+
outline: none;
|
|
47
|
+
--icon: 'radio_button_unchecked';
|
|
48
|
+
|
|
49
|
+
&::before {
|
|
50
|
+
content: var(--icon);
|
|
51
|
+
color: var(--icon-color);
|
|
52
|
+
font: var(--icon-size) / 1 var(--md-icon-font);
|
|
53
|
+
width: var(--icon-size);
|
|
54
|
+
aspect-ratio: 1;
|
|
55
|
+
}
|
|
56
|
+
&:is(:checked, .checked)::before {
|
|
57
|
+
--icon: 'radio_button_checked';
|
|
58
|
+
}
|
|
59
|
+
&::after {
|
|
60
|
+
content: '';
|
|
61
|
+
position: absolute;
|
|
62
|
+
aspect-ratio: 1;
|
|
63
|
+
background-image: var(--ripple);
|
|
64
|
+
color: var(--state-layer-color);
|
|
65
|
+
width: var(--state-layer-size);
|
|
66
|
+
border-radius: var(--state-layer-shape);
|
|
67
|
+
outline: var(--focus-ring-outline);
|
|
68
|
+
outline-offset: var(--focus-ring-offset);
|
|
69
|
+
transition: var(--ripple-transition);
|
|
70
|
+
animation: var(--ripple-animation), var(--focus-ring-animation);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2026 Google LLC
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@layer md.sys;
|
|
7
|
+
@layer md.comp.ripple {
|
|
8
|
+
@property --ripple-scale {
|
|
9
|
+
syntax: '<percentage>';
|
|
10
|
+
inherits: false;
|
|
11
|
+
initial-value: 0%;
|
|
12
|
+
}
|
|
13
|
+
@property --ripple-hover-opacity {
|
|
14
|
+
syntax: '<percentage>';
|
|
15
|
+
inherits: false;
|
|
16
|
+
initial-value: 0%;
|
|
17
|
+
}
|
|
18
|
+
@property --ripple-press-opacity {
|
|
19
|
+
syntax: '<percentage>';
|
|
20
|
+
inherits: false;
|
|
21
|
+
initial-value: 0%;
|
|
22
|
+
}
|
|
23
|
+
@property --ripple-x {
|
|
24
|
+
syntax: '<percentage>';
|
|
25
|
+
inherits: false;
|
|
26
|
+
initial-value: 50%;
|
|
27
|
+
}
|
|
28
|
+
@property --ripple-y {
|
|
29
|
+
syntax: '<percentage>';
|
|
30
|
+
inherits: false;
|
|
31
|
+
initial-value: 50%;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ripple {
|
|
35
|
+
--ripple-color: currentColor;
|
|
36
|
+
--ripple-press-transition: --ripple-press-opacity 375ms linear;
|
|
37
|
+
--ripple-transition: --ripple-hover-opacity 15ms linear,
|
|
38
|
+
var(--ripple-press-transition);
|
|
39
|
+
--ripple-animation: ripple-release 375ms linear;
|
|
40
|
+
--ripple: radial-gradient(
|
|
41
|
+
hsl(from var(--ripple-color) h s l / var(--ripple-hover-opacity))
|
|
42
|
+
),
|
|
43
|
+
radial-gradient(
|
|
44
|
+
circle at var(--ripple-x) var(--ripple-y),
|
|
45
|
+
hsl(from var(--ripple-color) h s l / var(--ripple-press-opacity))
|
|
46
|
+
var(--ripple-scale),
|
|
47
|
+
transparent calc(var(--ripple-scale) * 1.35)
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
background-image: var(--ripple);
|
|
51
|
+
transition: var(--ripple-transition);
|
|
52
|
+
animation: var(--ripple-animation), var(--focus-ring-animation, none);
|
|
53
|
+
|
|
54
|
+
// Ripples support the following DOM use cases:
|
|
55
|
+
// 1. `.ripple` and interactive element are the same.
|
|
56
|
+
// 2. `.ripple` is a parent of a child interactive `.ripple-target`.
|
|
57
|
+
// 3. `.ripple` is a child of a parent interactive `.ripple-target`.
|
|
58
|
+
// 4. `.ripple.ripple-host` is a within an interactive shadow DOM host.
|
|
59
|
+
//
|
|
60
|
+
// Pseudo class emulation is only needed for the `.ripple` element, not for
|
|
61
|
+
// the target or host elements.
|
|
62
|
+
|
|
63
|
+
&:is(:hover, .hover),
|
|
64
|
+
&:has(.ripple-target:hover),
|
|
65
|
+
.ripple-target:hover &,
|
|
66
|
+
:host(:hover) &.ripple-host {
|
|
67
|
+
--ripple-hover-opacity: 8%;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&:is(:active, .active),
|
|
71
|
+
&:has(.ripple-target:active),
|
|
72
|
+
.ripple-target:active &,
|
|
73
|
+
:host(:active) &.ripple-host {
|
|
74
|
+
--ripple-press-opacity: 10%;
|
|
75
|
+
--ripple-press-transition: --ripple-press-opacity 100ms linear;
|
|
76
|
+
--ripple-animation: ripple-press forwards 450ms cubic-bezier(0.2, 0, 0, 1);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&:is(:disabled, .disabled) {
|
|
80
|
+
--ripple: none;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@keyframes ripple-press {
|
|
85
|
+
from {
|
|
86
|
+
--ripple-scale: 20%;
|
|
87
|
+
}
|
|
88
|
+
to {
|
|
89
|
+
--ripple-scale: 100%;
|
|
90
|
+
--ripple-x: 50%;
|
|
91
|
+
--ripple-y: 50%;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
@keyframes ripple-release {
|
|
96
|
+
from {
|
|
97
|
+
--ripple-scale: 100%;
|
|
98
|
+
}
|
|
99
|
+
to {
|
|
100
|
+
--ripple-scale: 100%;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2026 Google LLC
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
@mixin root {
|
|
7
|
+
// LINT.IfChange
|
|
8
|
+
--between-space: 2px;
|
|
9
|
+
// LINT.ThenChange(md-split-button.ts) keep in sync with `@cssprop` jsdoc tags
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@mixin button {
|
|
13
|
+
// LINT.IfChange
|
|
14
|
+
--icon-size: 0;
|
|
15
|
+
--inner-corner-size: 0;
|
|
16
|
+
--outer-corner-size: calc(var(--container-height) / 2);
|
|
17
|
+
--leading-space: 0;
|
|
18
|
+
--trailing-space: 0;
|
|
19
|
+
// LINT.ThenChange(md-split-button.ts) keep in sync with `@cssprop` jsdoc tags
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@mixin button-xs {
|
|
23
|
+
--icon-size: 22px;
|
|
24
|
+
--inner-corner-size: var(--md-sys-shape-corner-xs);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@mixin button-xs-leading {
|
|
28
|
+
--leading-space: 12px;
|
|
29
|
+
--trailing-space: 10px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@mixin button-xs-trailing {
|
|
33
|
+
--leading-space: 13px;
|
|
34
|
+
--trailing-space: 13px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@mixin button-xs-hovered {
|
|
38
|
+
--inner-corner-size: var(--md-sys-shape-corner-sm);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@mixin button-xs-pressed {
|
|
42
|
+
--inner-corner-size: var(--md-sys-shape-corner-sm);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@mixin button-sm {
|
|
46
|
+
--icon-size: 22px;
|
|
47
|
+
--inner-corner-size: var(--md-sys-shape-corner-xs);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@mixin button-sm-leading {
|
|
51
|
+
--leading-space: 16px;
|
|
52
|
+
--trailing-space: 12px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@mixin button-sm-trailing {
|
|
56
|
+
--leading-space: 13px;
|
|
57
|
+
--trailing-space: 13px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@mixin button-sm-hovered {
|
|
61
|
+
--inner-corner-size: var(--md-sys-shape-corner-md);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@mixin button-sm-pressed {
|
|
65
|
+
--inner-corner-size: var(--md-sys-shape-corner-md);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@mixin button-md {
|
|
69
|
+
--icon-size: 26px;
|
|
70
|
+
--inner-corner-size: var(--md-sys-shape-corner-xs);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
@mixin button-md-leading {
|
|
74
|
+
--leading-space: 24px;
|
|
75
|
+
--trailing-space: 24px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@mixin button-md-trailing {
|
|
79
|
+
--leading-space: 15px;
|
|
80
|
+
--trailing-space: 15px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@mixin button-md-hovered {
|
|
84
|
+
--inner-corner-size: var(--md-sys-shape-corner-md);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@mixin button-md-pressed {
|
|
88
|
+
--inner-corner-size: var(--md-sys-shape-corner-md);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@mixin button-lg {
|
|
92
|
+
--icon-size: 38px;
|
|
93
|
+
--inner-corner-size: var(--md-sys-shape-corner-sm);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@mixin button-lg-leading {
|
|
97
|
+
--leading-space: 48px;
|
|
98
|
+
--trailing-space: 48px;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@mixin button-lg-trailing {
|
|
102
|
+
--leading-space: 29px;
|
|
103
|
+
--trailing-space: 29px;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@mixin button-lg-hovered {
|
|
107
|
+
--inner-corner-size: var(--md-sys-shape-corner-lg-increased);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@mixin button-lg-pressed {
|
|
111
|
+
--inner-corner-size: var(--md-sys-shape-corner-lg-increased);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@mixin button-xl {
|
|
115
|
+
--icon-size: 50px;
|
|
116
|
+
--inner-corner-size: var(--md-sys-shape-corner-md);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@mixin button-xl-leading {
|
|
120
|
+
--leading-space: 64px;
|
|
121
|
+
--trailing-space: 64px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
@mixin button-xl-trailing {
|
|
125
|
+
--leading-space: 43px;
|
|
126
|
+
--trailing-space: 43px;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@mixin button-xl-hovered {
|
|
130
|
+
--inner-corner-size: var(--md-sys-shape-corner-lg-increased);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@mixin button-xl-pressed {
|
|
134
|
+
--inner-corner-size: var(--md-sys-shape-corner-lg-increased);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
@mixin button-trailing-selected {
|
|
138
|
+
--inner-corner-size: calc(var(--container-height) / 2);
|
|
139
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2026 Google LLC
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// go/keep-sorted start by_regex='(.+) prefix_order=sass:
|
|
7
|
+
@use 'split-button-tokens';
|
|
8
|
+
// go/keep-sorted end
|
|
9
|
+
|
|
10
|
+
@layer md.sys, md.comp.ripple, md.comp.focus-ring, md.comp.button;
|
|
11
|
+
@layer md.comp.split-button {
|
|
12
|
+
.split-btn {
|
|
13
|
+
@include split-button-tokens.root;
|
|
14
|
+
|
|
15
|
+
.btn {
|
|
16
|
+
@include split-button-tokens.button;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.btn-xs {
|
|
20
|
+
@include split-button-tokens.button-xs;
|
|
21
|
+
|
|
22
|
+
&:where(:nth-child(1 of .btn)) {
|
|
23
|
+
@include split-button-tokens.button-xs-leading;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&:where(:nth-last-child(1 of .btn)) {
|
|
27
|
+
@include split-button-tokens.button-xs-trailing;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:where(:hover, .hover) {
|
|
31
|
+
@include split-button-tokens.button-xs-hovered;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&:where(:active, .active) {
|
|
35
|
+
@include split-button-tokens.button-xs-pressed;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.btn-sm {
|
|
40
|
+
@include split-button-tokens.button-sm;
|
|
41
|
+
|
|
42
|
+
&:where(:nth-child(1 of .btn)) {
|
|
43
|
+
@include split-button-tokens.button-sm-leading;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&:where(:nth-last-child(1 of .btn)) {
|
|
47
|
+
@include split-button-tokens.button-sm-trailing;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&:where(:hover, .hover) {
|
|
51
|
+
@include split-button-tokens.button-sm-hovered;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&:where(:active, .active) {
|
|
55
|
+
@include split-button-tokens.button-sm-pressed;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.btn-md {
|
|
60
|
+
@include split-button-tokens.button-md;
|
|
61
|
+
|
|
62
|
+
&:where(:nth-child(1 of .btn)) {
|
|
63
|
+
@include split-button-tokens.button-md-leading;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&:where(:nth-last-child(1 of .btn)) {
|
|
67
|
+
@include split-button-tokens.button-md-trailing;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&:where(:hover, .hover) {
|
|
71
|
+
@include split-button-tokens.button-md-hovered;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&:where(:active, .active) {
|
|
75
|
+
@include split-button-tokens.button-md-pressed;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.btn-lg {
|
|
80
|
+
@include split-button-tokens.button-lg;
|
|
81
|
+
|
|
82
|
+
&:where(:nth-child(1 of .btn)) {
|
|
83
|
+
@include split-button-tokens.button-lg-leading;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
&:where(:nth-last-child(1 of .btn)) {
|
|
87
|
+
@include split-button-tokens.button-lg-trailing;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
&:where(:hover, .hover) {
|
|
91
|
+
@include split-button-tokens.button-lg-hovered;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&:where(:active, .active) {
|
|
95
|
+
@include split-button-tokens.button-lg-pressed;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.btn-xl {
|
|
100
|
+
@include split-button-tokens.button-xl;
|
|
101
|
+
|
|
102
|
+
&:where(:nth-child(1 of .btn)) {
|
|
103
|
+
@include split-button-tokens.button-xl-leading;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&:where(:nth-last-child(1 of .btn)) {
|
|
107
|
+
@include split-button-tokens.button-xl-trailing;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
&:where(:hover, .hover) {
|
|
111
|
+
@include split-button-tokens.button-xl-hovered;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&:where(:active, .active) {
|
|
115
|
+
@include split-button-tokens.button-xl-pressed;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&:is(.split-btn-selected, :has(:popover-open)) {
|
|
120
|
+
:nth-last-child(1 of .btn) {
|
|
121
|
+
@include split-button-tokens.button-trailing-selected;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.split-btn {
|
|
127
|
+
& {
|
|
128
|
+
display: inline-flex;
|
|
129
|
+
align-items: center;
|
|
130
|
+
gap: var(--between-space);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
:nth-child(1 of .btn) {
|
|
134
|
+
border-start-start-radius: var(--outer-corner-size);
|
|
135
|
+
border-end-start-radius: var(--outer-corner-size);
|
|
136
|
+
border-start-end-radius: var(--inner-corner-size);
|
|
137
|
+
border-end-end-radius: var(--inner-corner-size);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
:nth-last-child(1 of .btn) {
|
|
141
|
+
border-start-start-radius: var(--inner-corner-size);
|
|
142
|
+
border-end-start-radius: var(--inner-corner-size);
|
|
143
|
+
border-start-end-radius: var(--outer-corner-size);
|
|
144
|
+
border-end-end-radius: var(--outer-corner-size);
|
|
145
|
+
|
|
146
|
+
&::before {
|
|
147
|
+
content: 'arrow_drop_down';
|
|
148
|
+
font: var(--md-icon-size) var(--md-icon-font);
|
|
149
|
+
display: flex;
|
|
150
|
+
align-items: center;
|
|
151
|
+
aspect-ratio: 1;
|
|
152
|
+
width: var(--md-icon-size);
|
|
153
|
+
overflow: hidden;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
&:is(.split-btn-selected, :has(:popover-open))
|
|
158
|
+
:nth-last-child(1 of .btn)::before {
|
|
159
|
+
transform: rotate(180deg);
|
|
160
|
+
transition: transform var(--md-sys-motion-duration-short4)
|
|
161
|
+
var(--md-sys-motion-easing-standard);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2026 Google LLC
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
@mixin root {
|
|
7
|
+
// LINT.IfChange
|
|
8
|
+
--handle-color: var(--md-sys-color-outline);
|
|
9
|
+
--handle-size: 16px;
|
|
10
|
+
--with-icon-handle-size: 24px;
|
|
11
|
+
--icon-color: var(--md-sys-color-surface-container-highest);
|
|
12
|
+
--icon-size: 18px;
|
|
13
|
+
--state-layer-color: var(--md-sys-color-on-surface);
|
|
14
|
+
--state-layer-size: 40px;
|
|
15
|
+
--track-color: var(--md-sys-color-surface-container-highest);
|
|
16
|
+
--track-height: 32px;
|
|
17
|
+
--track-outline-color: var(--md-sys-color-outline);
|
|
18
|
+
--track-outline-width: 2px;
|
|
19
|
+
--track-width: 52px;
|
|
20
|
+
// LINT.ThenChange(md-switch.ts) keep in sync with `@cssprop` jsdoc tags
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@mixin hovered {
|
|
24
|
+
--handle-color: var(--md-sys-color-on-surface-variant);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@mixin selected {
|
|
28
|
+
--track-color: var(--md-sys-color-primary);
|
|
29
|
+
--track-outline-color: transparent;
|
|
30
|
+
--handle-color: var(--md-sys-color-on-primary);
|
|
31
|
+
--handle-size: 24px;
|
|
32
|
+
--icon-color: var(--md-sys-color-on-primary-container);
|
|
33
|
+
--state-layer-color: var(--md-sys-color-primary);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@mixin selected-hovered {
|
|
37
|
+
--handle-color: var(--md-sys-color-primary-container);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@mixin pressed {
|
|
41
|
+
--handle-size: 28px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@mixin disabled {
|
|
45
|
+
--handle-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);
|
|
46
|
+
--track-color: hsl(
|
|
47
|
+
from var(--md-sys-color-surface-container-highest) h s l / 12%
|
|
48
|
+
);
|
|
49
|
+
--track-outline-color: hsl(
|
|
50
|
+
from var(--md-sys-color-on-surface) h s l / 12%
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@mixin disabled-selected {
|
|
55
|
+
--handle-color: var(--md-sys-color-surface);
|
|
56
|
+
--icon-color: hsl(from var(--md-sys-color-on-surface) h s l / 38%);
|
|
57
|
+
--track-color: hsl(from var(--md-sys-color-on-surface) h s l / 12%);
|
|
58
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2026 Google LLC
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// go/keep-sorted start by_regex='(.+) prefix_order=sass:
|
|
7
|
+
@use 'switch-tokens';
|
|
8
|
+
// go/keep-sorted end
|
|
9
|
+
|
|
10
|
+
@layer md.sys, md.comp.ripple, md.comp.focus-ring;
|
|
11
|
+
@layer md.comp.switch {
|
|
12
|
+
.switch {
|
|
13
|
+
& {
|
|
14
|
+
@include switch-tokens.root;
|
|
15
|
+
}
|
|
16
|
+
&:is(:hover, .hover) {
|
|
17
|
+
@include switch-tokens.hovered;
|
|
18
|
+
}
|
|
19
|
+
&:is(:checked, .checked, [aria-checked='true']) {
|
|
20
|
+
@include switch-tokens.selected;
|
|
21
|
+
&:where(:hover, .hover) {
|
|
22
|
+
@include switch-tokens.selected-hovered;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
&:is(:active, .active):where(:not(:disabled, .disabled)) {
|
|
26
|
+
@include switch-tokens.pressed;
|
|
27
|
+
}
|
|
28
|
+
&:is(:disabled, .disabled) {
|
|
29
|
+
@include switch-tokens.disabled;
|
|
30
|
+
&:where(:checked, .checked, [aria-checked='true']) {
|
|
31
|
+
@include switch-tokens.disabled-selected;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
& {
|
|
36
|
+
display: inline-grid;
|
|
37
|
+
grid-template: '. handle .' 1fr / 0fr min-content 1fr;
|
|
38
|
+
place-items: center;
|
|
39
|
+
appearance: none;
|
|
40
|
+
background: var(--track-color);
|
|
41
|
+
border: var(--track-outline-width) solid var(--track-outline-color);
|
|
42
|
+
border-radius: calc(var(--track-height) / 2);
|
|
43
|
+
width: var(--track-width);
|
|
44
|
+
height: var(--track-height);
|
|
45
|
+
margin: 0;
|
|
46
|
+
padding: 0;
|
|
47
|
+
transition: grid-template-columns 75ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
48
|
+
isolation: isolate;
|
|
49
|
+
position: relative;
|
|
50
|
+
color: var(--icon-color);
|
|
51
|
+
--md-icon-size: var(--icon-size);
|
|
52
|
+
--icon: '';
|
|
53
|
+
|
|
54
|
+
&:is(:checked, .checked, [aria-checked='true']) {
|
|
55
|
+
grid-template-columns: 1fr min-content 0fr;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&::before {
|
|
59
|
+
--_handle-size: if(
|
|
60
|
+
style(--icon: ''): var(--handle-size);
|
|
61
|
+
else: max(var(--handle-size), var(--with-icon-handle-size));
|
|
62
|
+
);
|
|
63
|
+
content: var(--icon);
|
|
64
|
+
font: var(--md-icon-size) var(--md-icon-font);
|
|
65
|
+
display: grid;
|
|
66
|
+
place-items: center;
|
|
67
|
+
z-index: -1;
|
|
68
|
+
grid-area: handle;
|
|
69
|
+
aspect-ratio: 1;
|
|
70
|
+
height: 100%;
|
|
71
|
+
clip-path: circle(calc(var(--_handle-size) / 2));
|
|
72
|
+
transition: clip-path 75ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
73
|
+
border-radius: 50%;
|
|
74
|
+
background: var(--handle-color);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&::after {
|
|
78
|
+
content: '';
|
|
79
|
+
z-index: -1;
|
|
80
|
+
position: absolute;
|
|
81
|
+
grid-area: handle;
|
|
82
|
+
background-image: var(--ripple);
|
|
83
|
+
aspect-ratio: 1;
|
|
84
|
+
width: var(--state-layer-size);
|
|
85
|
+
border-radius: 50%;
|
|
86
|
+
color: var(--state-layer-color);
|
|
87
|
+
transition: var(--ripple-transition);
|
|
88
|
+
animation: var(--ripple-animation);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&:has(.switch-icon-off:not(slot), .switch-icon-off.has-slotted) {
|
|
93
|
+
--icon: ' '; // Use space to clear CSS icon and update the handle size.
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.switch-icon-off,
|
|
97
|
+
.switch-icon-on {
|
|
98
|
+
&:not(slot),
|
|
99
|
+
&::slotted(*) {
|
|
100
|
+
grid-area: handle;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
&:is(:checked, .checked, [aria-checked='true']) .switch-icon-off,
|
|
105
|
+
&:not(:checked, .checked, [aria-checked='true']) .switch-icon-on {
|
|
106
|
+
display: none;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|