@shopware-ag/meteor-component-library
Version:
The meteor component library is a Vue component library developed by Shopware. It is based on the [Meteor Design System](https://shopware.design/).
144 lines (142 loc) • 4.09 kB
CSS
.mt-segmented-control {
display: flex;
gap: var(--scale-size-2);
width: max-content;
background-color: var(--color-interaction-secondary-default);
border: 1px solid var(--color-border-primary-default);
border-radius: var(--border-radius-button);
padding: var(--scale-size-2);
& .mt-floating-ui {
display: flex;
}
& .mt-floating-ui__trigger {
display: flex;
}
& .mt-field__label,
& .mt-field__label label {
cursor: pointer;
font-family: inherit;
font-size: inherit;
font-weight: inherit;
color: inherit;
}
& .mt-field--checkbox__container .mt-field__label {
margin-left: var(--scale-size-8);
}
}
.mt-segmented-control__action {
display: flex;
align-items: center;
gap: var(--scale-size-8);
position: relative;
cursor: pointer;
border: none;
border-radius: var(--border-radius-button);
padding: var(--scale-size-6) var(--scale-size-12);
font-family: var(--font-family-body);
font-size: var(--font-size-2xs);
line-height: var(--font-line-height-2xs);
font-weight: var(--font-weight-semibold);
color: var(--color-text-primary-default);
transition:
0.15s background ease,
0.15s color ease;
justify-content: center;
text-align: center;
&:focus-visible {
outline: 2px solid var(--color-border-brand-default);
box-shadow: 0px 0px 4px 0px rgba(24, 158, 255, 0.3);
}
&:hover,
&:focus-visible {
background-color: var(--color-interaction-secondary-hover);
}
&:active {
background-color: var(--color-interaction-secondary-pressed);
}
& .mt-field--checkbox {
margin-bottom: 0;
}
& .mt-field__checkbox #meteor-icon-kit__regular-checkmark-xxs {
width: var(--scale-size-8) ;
height: var(--scale-size-6) ;
}
}
.mt-segmented-control__action-icon.mt-icon {
width: var(--scale-size-12);
height: var(--scale-size-12);
& > svg {
width: 100% ;
height: 100% ;
}
}
.mt-segmented-control__action-options-icon.mt-icon {
margin-top: 1px;
width: var(--scale-size-8);
height: 5px;
}
.mt-segmented-control__action--pressed:not(.mt-segmented-control__action--critical) {
color: var(--color-static-white);
background-color: var(--color-interaction-primary-default);
&:hover,
&:focus-visible {
background-color: var(--color-interaction-primary-hover);
}
&:active {
background-color: var(--color-interaction-primary-pressed);
}
}
.mt-segmented-control__action--critical {
color: var(--color-text-critical-default);
&:hover,
&:focus-visible {
background-color: var(--color-background-critical-default);
}
&:active {
color: var(--color-static-white);
background-color: var(--color-interaction-critical-pressed);
}
}
.mt-segmented-control__action--critical.mt-segmented-control__action--pressed {
color: var(--color-static-white);
background-color: var(--color-interaction-critical-default);
&:hover,
&:focus-visible {
background-color: var(--color-interaction-critical-hover);
}
&:active {
background-color: var(--color-interaction-critical-pressed);
}
}
.mt-segmented-control__action--disabled {
color: var(--color-text-primary-disabled);
cursor: default;
pointer-events: none;
}
.mt-segmented-control__action--min-square {
min-width: 30px;
}
.mt-segmented-control__divider {
background-color: var(--color-border-primary-default);
width: 1px;
margin-top: var(--scale-size-4);
margin-bottom: var(--scale-size-4);
}
.mt-segmented-control--disabled-context {
padding: 0px;
gap: 0;
& .mt-floating-ui .mt-segmented-control__action {
border-radius: var(--border-radius-none);
border-right: 1px solid var(--color-border-primary-default);
}
& .mt-floating-ui:first-child .mt-segmented-control__action {
border-top-left-radius: calc(var(--border-radius-xs) - 1px);
border-bottom-left-radius: calc(var(--border-radius-xs) - 1px);
border-left: none;
}
& .mt-floating-ui:last-child .mt-segmented-control__action {
border-top-right-radius: calc(var(--border-radius-xs) - 1px);
border-bottom-right-radius: calc(var(--border-radius-xs) - 1px);
border-right: none;
}
}