You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Connected.Components/Styles/components/_buttongroup.scss

322 lines
8.5 KiB

2 years ago
@import '../abstracts/variables';
.button-group-root {
border-radius: var(--default-borderradius);
display: inline-flex;
.button-root {
border-radius: var(--default-borderradius);
}
&.button-group-override-styles {
.button {
color: var(--palette-text-primary);
}
.button-root {
background-color: inherit;
box-shadow: none;
border: none;
&:hover, &:focus-visible {
background-color: var(--palette-action-default-hover);
}
}
}
}
.button-group-horizontal {
&:not(.button-group-rtl) {
> .button-root:not(:last-child), > :not(:last-child) .button-root {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
> .button-root:not(:first-child), > :not(:first-child) .button-root {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
margin-left: -1px;
}
}
&.button-group-rtl {
> .button-root:not(:last-child), > :not(:last-child) .button-root {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
margin-left: -1px;
}
> .button-root:not(:first-child), > :not(:first-child) .button-root {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
}
.button-group-vertical {
flex-direction: column;
.icon-button {
width: 100%;
}
> .button-root:not(:last-child), > :not(:last-child) .button-root {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
> .button-root:not(:first-child), > :not(:first-child) .button-root {
border-top-right-radius: 0;
border-top-left-radius: 0;
margin-top: -1px;
}
}
.button-group-text {
&.button-group-override-styles {
.button-root {
padding: 6px 8px;
}
&.button-group-horizontal {
&:not(.button-group-rtl) {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-left: 1px solid var(--palette-text-primary);
}
}
&.button-group-rtl {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-right: 1px solid var(--palette-text-primary);
}
}
}
&.button-group-vertical {
.button-root:not(:last-child), > :not(:last-child) .button-root {
border-bottom: 1px solid var(--palette-text-primary);
}
}
@each $color in $palette-colors {
&.button-group-text-#{$color} {
.button-root {
color: var(--palette-#{$color});
&:hover, &:focus-visible {
background-color: var(--palette-#{$color}-hover);
}
}
&.button-group-horizontal {
&:not(.button-group-rtl) {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-left: 1px solid var(--palette-#{$color});
}
}
&.button-group-rtl {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-right: 1px solid var(--palette-#{$color});
}
}
}
&.button-group-vertical {
.button-root:not(:last-child), > :not(:last-child) .button-root {
border-bottom: 1px solid var(--palette-#{$color});
}
}
}
}
}
}
.button-group-outlined {
&.button-group-override-styles {
.button-root {
padding: 5px 15px;
border: 1px solid var(--palette-text-primary);
}
@each $color in $palette-colors {
&.button-group-outlined-#{$color} .button-root {
color: var(--palette-#{$color});
border: 1px solid var(--palette-#{$color});
&:hover, &:focus-visible {
background-color: var(--palette-#{$color}-hover);
}
}
}
}
}
.button-group-filled {
box-shadow: var(--elevation-2);
.button-root {
box-shadow: none;
&:hover, &:focus-visible {
box-shadow: var(--elevation-4);
}
}
&.button-group-override-styles {
.button-root {
background-color: var(--palette-action-default-hover);
padding: 6px 16px;
}
&.button-group-horizontal {
&:not(.button-group-rtl) {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-left: 1px solid var(--palette-divider);
}
}
&.button-group-rtl {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-right: 1px solid var(--palette-divider);
}
}
}
&.button-group-vertical {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-top: 1px solid var(--palette-divider);
}
}
@each $color in $palette-colors {
&.button-group-filled-#{$color} {
.button-root {
background-color: var(--palette-#{$color});
color: var(--palette-#{$color}-text);
&:hover, &:focus-visible {
background-color: var(--palette-#{$color}-darken);
}
}
&.button-group-horizontal {
&:not(.button-group-rtl) {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-left: 1px solid var(--palette-#{$color}-lighten);
}
}
&.button-group-rtl {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-right: 1px solid var(--palette-#{$color}-lighten);
}
}
}
&.button-group-vertical {
.button-root:not(:first-child), > :not(:first-child) .button-root {
border-top: 1px solid var(--palette-#{$color}-lighten);
}
}
}
}
}
}
.button-group-disable-elevation {
box-shadow: none;
}
.button-group-root {
&.button-group-text-size-small .button-root {
padding: 4px 5px;
font-size: 0.8125rem;
&.icon-button .icon-root {
font-size: 1.422rem;
}
}
&.button-group-text-size-large .button-root {
padding: 8px 11px;
font-size: 0.9375rem;
&.icon-button .icon-root {
font-size: 1.641rem;
}
}
&.button-group-outlined-size-small .button-root {
padding: 3px 9px;
font-size: 0.8125rem;
&.icon-button {
padding: 3px 9px;
.icon-root {
font-size: 1.422rem;
}
}
}
&.button-group-outlined-size-large .button-root {
padding: 7px 21px;
font-size: 0.9375rem;
&.icon-button {
padding: 7px 15px;
.icon-root {
font-size: 1.641rem;
}
}
}
&.button-group-filled-size-small .button-root {
padding: 4px 10px;
font-size: 0.8125rem;
&.icon-button {
padding: 4px 10px;
.icon-root {
font-size: 1.422rem;
}
}
}
&.button-group-filled-size-large .button-root {
padding: 8px 22px;
font-size: 0.9375rem;
&.icon-button {
padding: 8px 16px;
.icon-root {
font-size: 1.641rem;
}
}
}
}
.button-group-root {
.button-root.icon-button {
padding-right: 12px;
padding-left: 12px;
.icon-root {
font-size: 1.516rem;
}
&.ripple-icon {
&:after {
transform: scale(10,10);
}
&:active:after {
transform: scale(0,0);
opacity: 0.1;
transition: 0s;
}
}
}
}