@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/).
248 lines (246 loc) • 8.26 kB
CSS
.mt-button {
&[data-v-a32d308c] {
transition-property: color, background-color, border-color;
transition-duration: 0.15s;
transition-timing-function: ease-out;
display: inline-grid;
place-items: center;
width: max-content;
border-radius: var(--border-radius-button);
padding: var(--scale-size-2) var(--scale-size-24);
font-size: var(--font-size-xs);
border: 1px solid transparent;
outline: none;
font-weight: var(--font-weight-semibold);
font-family: var(--font-family-body);
white-space: nowrap;
text-overflow: ellipsis;
vertical-align: middle;
text-decoration: none;
cursor: pointer;
user-select: none;
position: relative;
}
&[data-v-a32d308c]:focus-visible {
outline: var(--scale-size-2) solid var(--color-border-brand-default);
outline-offset: var(--scale-size-2);
}
}
.mt-button[data-v-a32d308c]:disabled,
.mt-button.mt-button--disabled[data-v-a32d308c] {
cursor: not-allowed;
}
.mt-button__content[data-v-a32d308c] {
display: grid;
grid-auto-flow: column;
align-items: center;
column-gap: var(--scale-size-8);
}
.mt-button__content--hidden[data-v-a32d308c] {
visibility: hidden;
}
.mt-button--primary[data-v-a32d308c] {
background: var(--color-interaction-primary-default);
color: var(--color-static-white);
border-color: var(--color-interaction-primary-default);
}
.mt-button--primary .mt-icon[data-v-a32d308c] {
color: var(--color-static-white);
}
.mt-button--primary[data-v-a32d308c]:hover,
.mt-button--primary[data-v-a32d308c]:active {
background: var(--color-interaction-primary-hover);
border-color: var(--color-interaction-primary-hover);
}
.mt-button--primary[data-v-a32d308c]:disabled,
.mt-button--primary.mt-button--disabled[data-v-a32d308c] {
background: var(--color-interaction-primary-disabled);
border-color: var(--color-interaction-primary-disabled);
}
.mt-button--primary:disabled .mt-button__content[data-v-a32d308c],
.mt-button--primary.mt-button--disabled .mt-button__content[data-v-a32d308c] {
opacity: 0.4;
}
.mt-button--primary-ghost[data-v-a32d308c] {
background: transparent;
border: 1px solid var(--color-border-brand-default);
border-color: var(--color-border-brand-default);
color: var(--color-text-brand-default);
}
.mt-button--primary-ghost[data-v-a32d308c]:is(:hover, :active):not(:disabled) {
background: var(--color-background-brand-default);
}
.mt-button--primary-ghost[data-v-a32d308c]:disabled,
.mt-button--primary-ghost.mt-button--disabled[data-v-a32d308c] {
color: var(--color-text-brand-disabled);
border-color: var(--color-border-brand-disabled);
background: transparent;
}
.mt-button--primary-ghost:disabled .mt-icon[data-v-a32d308c],
.mt-button--primary-ghost.mt-button--disabled .mt-icon[data-v-a32d308c] {
color: var(--color-icon-brand-disabled);
}
.mt-button--primary-ghost .mt-icon[data-v-a32d308c] {
color: var(--color-icon-brand-default);
}
.mt-button--secondary[data-v-a32d308c] {
background: var(--color-interaction-secondary-default);
border: 1px solid var(--color-border-primary-default);
color: var(--color-text-primary-default);
}
.mt-button--secondary[data-v-a32d308c]:is(:hover, :active) {
background: var(--color-interaction-secondary-hover);
}
.mt-button--secondary[data-v-a32d308c]:disabled,
.mt-button--secondary.mt-button--disabled[data-v-a32d308c] {
color: var(--color-text-primary-disabled);
background: var(--color-interaction-secondary-disabled);
}
.mt-button--secondary:disabled .mt-icon[data-v-a32d308c],
.mt-button--secondary.mt-button--disabled .mt-icon[data-v-a32d308c] {
color: var(--color-icon-primary-disabled);
}
.mt-button--secondary .mt-icon[data-v-a32d308c] {
color: var(--color-icon-primary-default);
}
.mt-button--tertiary[data-v-a32d308c] {
background: transparent;
border: 1px solid transparent;
color: var(--color-text-primary-default);
}
.mt-button--tertiary[data-v-a32d308c]:hover {
background: var(--color-interaction-secondary-hover);
}
.mt-button--tertiary[data-v-a32d308c]:active {
background: var(--color-interaction-secondary-pressed);
}
.mt-button--tertiary[data-v-a32d308c]:disabled,
.mt-button--tertiary.mt-button--disabled[data-v-a32d308c] {
color: var(--color-text-primary-disabled);
background: transparent;
}
.mt-button--tertiary:disabled .mt-icon[data-v-a32d308c],
.mt-button--tertiary.mt-button--disabled .mt-icon[data-v-a32d308c] {
color: var(--color-icon-primary-disabled);
}
.mt-button--tertiary .mt-icon[data-v-a32d308c] {
color: var(--color-icon-primary-default);
}
.mt-button--critical[data-v-a32d308c] {
background: var(--color-interaction-critical-default);
color: var(--color-static-white);
border: 1px solid var(--color-interaction-critical-default);
}
.mt-button--critical[data-v-a32d308c]:is(:hover, :active) {
background: var(--color-interaction-critical-hover);
border-color: var(--color-interaction-critical-hover);
}
.mt-button--critical[data-v-a32d308c]:disabled,
.mt-button--critical.mt-button--disabled[data-v-a32d308c] {
background: var(--color-interaction-critical-disabled);
border-color: var(--color-interaction-critical-disabled);
}
.mt-button--critical:disabled .mt-icon[data-v-a32d308c],
.mt-button--critical.mt-button--disabled .mt-icon[data-v-a32d308c],
.mt-button--critical .mt-icon[data-v-a32d308c] {
color: var(--color-static-white);
}
.mt-button--critical:disabled .mt-button__content[data-v-a32d308c],
.mt-button--critical.mt-button--disabled .mt-button__content[data-v-a32d308c] {
opacity: 0.4;
}
.mt-button--critical-ghost[data-v-a32d308c] {
background: transparent;
border: 1px solid var(--color-border-critical-default);
color: var(--color-text-critical-default);
}
.mt-button--critical-ghost[data-v-a32d308c]:is(:hover, :active):not(:disabled) {
background-color: var(--color-background-critical-default);
}
.mt-button--critical-ghost[data-v-a32d308c]:disabled,
.mt-button--critical-ghost.mt-button--disabled[data-v-a32d308c] {
color: var(--color-text-critical-disabled);
border-color: var(--color-border-critical-disabled);
}
.mt-button--critical-ghost:disabled .mt-icon[data-v-a32d308c],
.mt-button--critical-ghost.mt-button--disabled .mt-icon[data-v-a32d308c] {
color: var(--color-icon-critical-disabled);
}
.mt-button--critical-ghost .mt-icon[data-v-a32d308c] {
color: var(--color-icon-critical-default);
}
.mt-button--action[data-v-a32d308c] {
border: 1px solid #e2e8f0;
background-color: #ffffff;
color: #000000;
}
.mt-button--action .mt-icon[data-v-a32d308c] {
color: #1a202c;
}
.mt-button--action[data-v-a32d308c]:hover {
background-color: #edf2f7;
color: #4a5568;
}
.mt-button--action[data-v-a32d308c]:disabled {
background-color: #f7fafc;
color: #a0aec0;
}
.mt-button--block[data-v-a32d308c] {
display: block;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.mt-button--x-small[data-v-a32d308c] {
padding-left: var(--scale-size-10);
padding-right: var(--scale-size-10);
font-size: var(--font-size-2xs);
min-height: 24px;
}
.mt-button--x-small.mt-button--square[data-v-a32d308c] {
width: var(--scale-size-24);
height: var(--scale-size-24);
}
.mt-button--small[data-v-a32d308c] {
padding-left: 15px;
padding-right: 15px;
font-size: var(--font-size-2xs);
min-height: 32px;
}
.mt-button--small.mt-button--square[data-v-a32d308c] {
width: var(--scale-size-32);
height: var(--scale-size-32);
}
.mt-button--default[data-v-a32d308c] {
padding-inline: var(--scale-size-16);
font-size: var(--font-size-xs);
min-height: 2.5rem;
}
.mt-button--default.mt-button-square[data-v-a32d308c] {
width: var(--scale-size-40);
height: var(--scale-size-40);
}
.mt-button--large[data-v-a32d308c] {
padding-left: var(--scale-size-28);
padding-right: var(--scale-size-28);
min-height: 3rem;
font-size: var(--font-size-xs);
}
.mt-button--large.mt-button--square[data-v-a32d308c] {
width: var(--scale-size-48);
height: var(--scale-size-48);
}
.mt-button--square[data-v-a32d308c] {
width: var(--scale-size-40);
height: var(--scale-size-40);
padding-left: 0;
padding-right: 0;
text-align: center;
}
.mt-button--square .mt-button__content[data-v-a32d308c] {
display: inline;
}
.mt-button__loader[data-v-a32d308c] {
border-radius: var(--border-radius-xs);
}