UNPKG

@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/).

153 lines (150 loc) 4.18 kB
.mt-modal[data-v-16210e70] { height: auto; position: fixed; top: 50%; left: 50%; translate: -50% -50%; z-index: 1000; background-color: var(--color-elevation-surface-raised); border-radius: var(--border-radius-card); overflow: hidden; width: min(var(--mt-modal-width), calc(100vw - 2rem)); border: 1px solid var(--color-border-secondary-default); max-height: calc(100dvh - 2rem); display: flex; flex-direction: column; } .mt-modal--width-s[data-v-16210e70] { --mt-modal-width: 27.5rem; } .mt-modal--width-m[data-v-16210e70] { --mt-modal-width: 45rem; } .mt-modal--width-l[data-v-16210e70] { --mt-modal-width: 64rem; } .mt-modal--width-xl[data-v-16210e70] { --mt-modal-width: 90rem; } .mt-modal--width-full[data-v-16210e70] { --mt-modal-width: 100%; } .modal-enter-active[data-v-16210e70] { transition: opacity 400ms cubic-bezier(0.05, 0.7, 0.1, 1); @media (prefers-reduced-motion: no-preference) { transition: opacity 400ms cubic-bezier(0.05, 0.7, 0.1, 1), scale 400ms cubic-bezier(0.05, 0.7, 0.1, 1); } } .modal-leave-active[data-v-16210e70] { transition: opacity 200ms cubic-bezier(0.3, 0, 0.8, 0.15); @media (prefers-reduced-motion: no-preference) { transition: opacity 200ms cubic-bezier(0.3, 0, 0.8, 0.15), scale 200ms cubic-bezier(0.3, 0, 0.8, 0.15); } } .modal-enter-from[data-v-16210e70], .modal-leave-to[data-v-16210e70] { opacity: 0; @media (prefers-reduced-motion: no-preference) { scale: 0.9; } } .mt-modal__title[data-v-16210e70] { margin-block-end: 0; } .mt-modal__subtitle[data-v-16210e70] { font-size: var(--font-size-s); font-weight: var(--font-weight-regular); line-height: var(--line-height-md); } .mt-modal__content[data-v-16210e70] { position: relative; overflow-y: auto; } .mt-modal__content-inner[data-v-16210e70] { padding: var(--scale-size-24); } .mt-modal__content-inner--no-padding[data-v-16210e70] { padding: 0; } .mt-modal__scroll-shadow[data-v-16210e70] { position: sticky; left: 0; right: 0; height: var(--scale-size-4); margin-top: -0.25rem; filter: blur(3px); background-color: var(--color-elevation-shadow-default); } .mt-modal__scroll-shadow--top[data-v-16210e70] { top: 0; } .mt-modal__scroll-shadow--bottom[data-v-16210e70] { bottom: 0; } .shadow-fade-enter-active[data-v-16210e70] { transition: opacity 400ms cubic-bezier(0.05, 0.7, 0.1, 1); @media (prefers-reduced-motion: no-preference) { transition: opacity 400ms cubic-bezier(0.05, 0.7, 0.1, 1); } } .shadow-fade-leave-active[data-v-16210e70] { transition: opacity 200ms cubic-bezier(0.3, 0, 0.8, 0.15); @media (prefers-reduced-motion: no-preference) { transition: opacity 200ms cubic-bezier(0.3, 0, 0.8, 0.15); } } .shadow-fade-enter-from[data-v-16210e70], .shadow-fade-leave-to[data-v-16210e70] { opacity: 0; @media (prefers-reduced-motion: no-preference) { scale: 0.9; } } .mt-modal__footer[data-v-16210e70] { padding: var(--scale-size-24); border-top: 1px solid var(--color-border-secondary-default); } .mt-modal__header[data-v-16210e70] { padding: var(--scale-size-24); border-bottom: 1px solid var(--color-border-secondary-default); display: flex; flex-direction: row; align-items: center; gap: var(--scale-size-12); } .mt-modal__header-content[data-v-16210e70] { display: flex; flex-direction: column; gap: var(--scale-size-2); flex: 1; min-width: 0; /* allow content to shrink within flex container */ } .mt-modal__header-content-title[data-v-16210e70] { display: flex; flex-direction: row; align-items: center; column-gap: var(--scale-size-8); } .mt-modal__close-button { &[data-v-16210e70] { cursor: pointer; color: var(--color-icon-primary-default); border-radius: var(--border-radius-xs); width: var(--scale-size-32); height: var(--scale-size-32); /* prevents hover styles from being applied to non-hoverable devices */ } @media (hover: hover) { &[data-v-16210e70]:hover { background-color: var(--color-interaction-secondary-hover); } } &[data-v-16210e70]:focus-visible { outline: 2px solid var(--color-border-brand-default); box-shadow: 0 0 4px 0 rgba(24, 158, 255, 0.3); } }