UNPKG

@vtmn/css-modal

Version:

Decathlon Design System - Vitamin specific CSS styles for modal component

277 lines (248 loc) 5.14 kB
@keyframes fade-in{ from{ opacity:0; } to{ opacity:1; } } @keyframes slide-left{ from{ transform:translateX(120%); } to{ transform:translateX(0); } } @keyframes slide-right{ from{ transform:translateX(0); } to{ transform:translateX(120%); } } @keyframes slide-down{ from{ transform:translateY(0); } to{ transform:translateY(120%); } } @keyframes slide-up{ from{ transform:translateY(120%); } to{ transform:translateY(0); } } @keyframes show-up{ from{ bottom:0; } to{ bottom:15px; } } @keyframes fade-out{ from{ opacity:1; } to{ opacity:0; } } @keyframes vanish{ from{ bottom:15px; } to{ bottom:0; } } @keyframes linear-indeterminate{ 0%{ transform:translateX(-100%); } 60%{ transform:translateX(105%); } 100%{ transform:translateX(105%); } } @keyframes circle-indeterminate{ 0%{ stroke-dashoffset:400; transform:rotate(-0.25turn); } 50%{ transform:rotate(0.75turn); stroke-dashoffset:0; } 100%{ stroke-dashoffset:400; transform:rotate(2.75turn); } } @keyframes circle-indeterminate-small{ 0%{ stroke-dashoffset:200; transform:rotate(-0.25turn); } 50%{ transform:rotate(0.75turn); stroke-dashoffset:0; } 100%{ stroke-dashoffset:200; transform:rotate(2.75turn); } } @keyframes shimmer{ from{ transform:translateX(-100%); } to{ transform:translateX(100%); } } .vtmn-modal_background-overlay{ background:hsl( var(--vtmn-semantic-color_background-primary-reversed--h) var(--vtmn-semantic-color_background-primary-reversed--s) var(--vtmn-semantic-color_background-primary-reversed--l) / 80% ); position:fixed; inset:0; z-index:calc(var(--vtmn-z-index_modal) - 1); } .vtmn-modal_content{ box-sizing:border-box; background-color:var(--vtmn-semantic-color_background-primary); border-radius:var(--vtmn-radius_200); padding:2rem; font-family:var(--vtmn-typo_font-family); inline-size:37.5rem; max-block-size:90vh; block-size:-moz-fit-content; block-size:fit-content; position:fixed; inset-block-end:50%; inset-inline-start:50%; transform:translate(-50%, 50%); box-shadow:var(--vtmn-shadow_300); color:var(--vtmn-semantic-color_content-primary); z-index:var(--vtmn-z-index_modal); display:flex; flex-direction:column; } .vtmn-modal_content_title{ display:flex; inline-size:100%; flex-direction:row; justify-content:space-between; align-items:center; } .vtmn-modal_content_title--text{ font-weight:var(--vtmn-typo_font-weight--bold); font-size:1.625rem; line-height:2rem; flex:auto; margin:0; } .vtmn-modal_content_title .vtmn-btn{ -webkit-margin-start:0.75rem; margin-inline-start:0.75rem; -webkit-margin-before:-0.375rem; margin-block-start:-0.375rem; -webkit-margin-after:-0.375rem; margin-block-end:-0.375rem; } .vtmn-modal_content_title .vtmn-btn span[class^='vtmx-']{ font-size:var(--vtmn-typo_text-2-font-size); } .vtmn-modal_content_title > button:focus-visible{ outline:none; box-shadow:var(--vtmn-shadow_focus-visible); } .vtmn-modal_content_body{ margin:1rem 0; overflow-y:auto; flex:auto; } .vtmn-modal_content_body--text{ -webkit-padding-after:1.875rem; padding-block-end:1.875rem; font-weight:var(--vtmn-typo_font-weight--normal); font-size:var(--vtmn-typo_text-3-font-size); line-height:1.5rem; align-self:flex-start; text-align:start; margin:0; } .vtmn-modal_content_actions{ white-space:nowrap; margin:0; display:flex; justify-content:flex-end; inline-size:100%; } .vtmn-modal_content_actions > *{ margin-inline:0.75rem; margin-block:0; } @media screen and (min-width: 600px) and (max-width: 899px){ } @media screen and (min-width: 900px) and (max-width: 1199px){ } @media screen and (min-width: 1200px) and (max-width: 1799px){ } @media screen and (min-width: 1800px){ } @media screen and (max-width: 599px){ .vtmn-modal_content{ inline-size:100%; padding-block:1.5rem; -webkit-padding-start:1.5rem; padding-inline-start:1.5rem; -webkit-padding-end:0; padding-inline-end:0; max-block-size:60%; inset-block-end:0; inset-inline-start:0; transform:translate(0, 0); border-radius:var(--vtmn-radius_200) var(--vtmn-radius_200) 0 0; } .vtmn-modal_content_actions{ flex-direction:column; -webkit-padding-end:1.5rem; padding-inline-end:1.5rem; } .vtmn-modal_content_actions > *{ margin-block:0.375rem; margin-inline:0; inline-size:100%; } .vtmn-modal_content_body--overflow-indicator{ inset-block-end:10rem; inset-inline-start:1.5rem; inset-inline-end:1.5rem; block-size:4rem; } .vtmn-modal_content_body{ -webkit-padding-end:1.5rem; padding-inline-end:1.5rem; } .vtmn-modal_content_title{ -webkit-padding-end:1.5rem; padding-inline-end:1.5rem; } } @media screen and (min-width: 1200px){ .vtmn-modal_content{ inline-size:56.25rem; } }