130 lines
4.2 KiB
Sass
130 lines
4.2 KiB
Sass
button:not(.m3-fab, .m3-icon-button)
|
|
width: min-content
|
|
height: min-content
|
|
max-height: 40px
|
|
box-sizing: border-box
|
|
white-space: nowrap
|
|
font-size: var(--md-sys-typescale-label-large-font-size)
|
|
font-weight: var(--md-sys-typescale-label-large-font-weight)
|
|
line-height: var(--md-sys-typescale-label-large-line-height)
|
|
font-family: var(--md-sys-typescale-label-large-font-family-name)
|
|
transition: background-color, box-shadow, .2s cubic-bezier(0.2, 0, 0, 1) !important
|
|
|
|
&.m3
|
|
gap: 8px
|
|
border: none
|
|
contain: content
|
|
text-align: center
|
|
padding: 10px 24px
|
|
align-items: center
|
|
flex-direction: row
|
|
display: inline-flex
|
|
border-radius: 100px
|
|
box-sizing: border-box
|
|
justify-content: center
|
|
|
|
&.filled
|
|
background-color: var(--md-sys-color-primary)
|
|
&, & > svg.m3-svg-icon
|
|
fill: var(--md-sys-color-on-primary)
|
|
color: var(--md-sys-color-on-primary)
|
|
|
|
&.outlined
|
|
outline-offset: -1px
|
|
background-color: #00000000
|
|
color: var(--md-sys-color-primary)
|
|
outline: 1px solid var(--md-sys-color-outline) !important
|
|
|
|
& > svg.m3-svg-icon
|
|
fill: var(--md-sys-color-primary)
|
|
|
|
&.text
|
|
background-color: #00000000
|
|
padding: 10px 12px !important
|
|
color: var(--md-sys-color-primary)
|
|
|
|
& > svg.m3-svg-icon
|
|
fill: var(--md-sys-color-primary)
|
|
|
|
&.elevated
|
|
@include elevation-1(false)
|
|
color: var(--md-sys-color-primary)
|
|
background-color: var(--md-sys-color-surface-container-low)
|
|
|
|
& > svg.m3-svg-icon
|
|
fill: var(--md-sys-color-primary)
|
|
|
|
&.tonal
|
|
color: var(--md-sys-color-on-secondary-container)
|
|
background-color: var(--md-sys-color-secondary-container)
|
|
|
|
& > svg.m3-svg-icon
|
|
fill: var(--md-sys-color-on-secondary-container)
|
|
|
|
&::before
|
|
@include state-layer
|
|
|
|
&.filled > .m3.m3-ripple-domain > .m3.ripple
|
|
background: color-mix(in srgb, var(--md-sys-color-on-primary) 12%, transparent)
|
|
|
|
&:is(.outlined, .text, .elevated)
|
|
& > .m3.m3-ripple-domain > .m3.ripple
|
|
background: color-mix(in srgb, var(--md-sys-color-primary) 12%, transparent)
|
|
|
|
&.tonal > .m3.m3-ripple-domain > .m3.ripple
|
|
background: color-mix(in srgb, var(--md-sys-color-on-secondary-container) 12%, transparent)
|
|
|
|
&:active
|
|
&:is(.filled, .tonal)
|
|
@include elevation-0(true)
|
|
|
|
&.elevated
|
|
@include elevation-1(true)
|
|
|
|
&.tonal::before
|
|
background-color: color-mix(in srgb, var(--md-sys-color-on-secondary-container) 12%, transparent)
|
|
|
|
&:focus-visible
|
|
&.outlined
|
|
border-color: var(--md-sys-color-primary) !important
|
|
|
|
&.filled::before
|
|
background-color: color-mix(in srgb, var(--md-sys-color-on-primary) 12%, transparent)
|
|
|
|
&:is(.outlined, .text, .elevated)::before
|
|
background-color: color-mix(in srgb, var(--md-sys-color-primary) 12%, transparent)
|
|
|
|
&.tonal::before
|
|
background-color: color-mix(in srgb, var(--md-sys-color-on-secondary-container) 12%, transparent)
|
|
|
|
&:hover
|
|
&:is(.filled, .tonal)
|
|
@include elevation-1(false)
|
|
|
|
&.elevated
|
|
@include elevation-2(false)
|
|
|
|
&.filled::before
|
|
background-color: color-mix(in srgb, var(--md-sys-color-on-primary) 8%, transparent)
|
|
|
|
&:is(.outlined, .text, .elevated)::before
|
|
background-color: color-mix(in srgb, var(--md-sys-color-primary) 8%, transparent)
|
|
|
|
&.tonal::before
|
|
background-color: color-mix(in srgb, var(--md-sys-color-on-secondary-container) 8%, transparent)
|
|
|
|
&:disabled
|
|
pointer-events: none
|
|
|
|
&:is(.filled, .elevated, .tonal, .outlined, .text)
|
|
color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent)
|
|
|
|
&:is(.filled, .elevated, .tonal)
|
|
background: color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent)
|
|
|
|
&.elevated
|
|
box-shadow: none
|
|
|
|
&.outlined
|
|
outline: 1px solid color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent) !important
|