@alaskaairux/auro-interruption
Version:
Auro custom auro-interruption element
373 lines (342 loc) • 6.77 kB
CSS
*, *:before, *:after{
box-sizing:border-box;
}
@media (prefers-reduced-motion: reduce){
*, *:before, *:after{
animation-duration:0.01ms ;
animation-iteration-count:1 ;
transition-duration:0.01ms ;
}
}
*:focus-visible{
outline:0;
}
*:focus-visible{
outline:0;
}
:focus:not(:focus-visible){
outline:3px solid transparent;
}
.js-focus-visible :focus:not(.focus-visible){
outline:3px solid transparent;
}
.heading{
margin:calc(1rem + 0.75rem) 0;
letter-spacing:-0.2px;
font-weight:500;
}
.heading--display{
margin-top:0;
font-size:2.75rem;
font-weight:100;
line-height:3.375rem;
}
@media screen and (min-width: 1024px){
.heading--display{
font-size:3rem;
line-height:3.75rem;
}
}
@media screen and (min-width: 1232px){
.heading--display{
font-size:3.5rem;
line-height:4.25rem;
}
}
.heading--800{
font-size:2rem;
font-weight:500;
line-height:2.375rem;
}
@media screen and (min-width: 1024px){
.heading--800{
font-size:2.25rem;
line-height:2.625rem;
}
}
@media screen and (min-width: 1232px){
.heading--800{
font-size:2.5rem;
line-height:3rem;
}
}
.heading--700{
font-size:1.75rem;
font-weight:500;
line-height:2.125rem;
}
@media screen and (min-width: 1024px){
.heading--700{
font-size:2rem;
line-height:2.375rem;
}
}
@media screen and (min-width: 1232px){
.heading--700{
font-size:2.25rem;
line-height:2.75rem;
}
}
.heading--600{
margin:1rem 0;
font-size:1.625rem;
font-weight:300;
line-height:1.875rem;
}
@media screen and (min-width: 1024px){
.heading--600{
font-size:1.75rem;
line-height:2.125rem;
}
}
@media screen and (min-width: 1232px){
.heading--600{
font-size:1.75rem;
line-height:2.25rem;
}
}
.heading--500{
margin:1rem 0;
font-size:1.375rem;
font-weight:300;
line-height:1.625rem;
}
@media screen and (min-width: 1024px){
.heading--500{
font-size:1.5rem;
line-height:1.875rem;
}
}
@media screen and (min-width: 1232px){
.heading--500{
font-size:1.5rem;
line-height:2rem;
}
}
.heading--400{
margin:0.75rem 0;
font-size:1.25rem;
font-weight:300;
line-height:1.625rem;
}
.heading--300{
margin:0.75rem 0;
font-size:1.125rem;
font-weight:300;
line-height:1.625rem;
}
.util_displayInline{
display:inline;
}
.util_displayInlineBlock{
display:inline-block;
}
.util_displayBlock{
display:block;
}
.util_displayFlex{
display:flex;
}
.util_displayHidden{
display:none;
}
.util_displayHiddenVisually{
position:absolute;
overflow:hidden;
clip:rect(1px, 1px, 1px, 1px);
width:1px;
height:1px;
padding:0;
border:0;
}
.util_stackPaddingNone--top{
padding-top:0;
}
.util_stackPaddingNone--bottom{
padding-bottom:0;
}
.util_stackMarginNone--top{
margin-top:0;
}
.util_stackMarginNone--bottom{
margin-bottom:0;
}
:host{
--insetPaddingXl:0 var(--auro-size-xl) var(--auro-size-xl) var(--auro-size-xl);
--insetPaddingXxl:0 var(--auro-size-xxl) var(--auro-size-xxl) var(--auro-size-xxl);
--insetPaddingXxxl:0 var(--auro-size-xxxl) var(--auro-size-xxxl) var(--auro-size-xxxl);
}
.dialogOverlay{
position:fixed;
z-index:-1;
bottom:0;
left:0;
width:100%;
height:100%;
}
.dialogOverlay--open{
z-index:200;
z-index:var(--auro-depth-overlay);
transition:background 0.3s cubic-bezier(0.4, 0, 0.2, 0);
background:rgba(0, 0, 0, 0.2);
}
.dialogOverlay--modal{
z-index:200;
z-index:var(--auro-depth-overlay);
transition:background 0.3s cubic-bezier(0.4, 0, 0.5, 0);
background:rgba(0, 0, 0, 0.5);
}
.dialog{
position:fixed;
z-index:-1;
right:0;
bottom:0;
left:0;
display:block;
visibility:hidden;
overflow:auto;
width:100%;
max-height:90%;
padding:var(--insetPaddingXl);
transform:translateY(100%);
opacity:0;
border:0;
background:#ffffff;
background:var(--auro-color-background-lightest);
color:#222222;
color:var(--auro-color-text-primary-on-light);
transition:all 0.3s ease-in-out;
}
@media screen and (min-width: 1024px){
.dialog{
top:10%;
bottom:unset;
max-width:80%;
max-height:80%;
margin:auto;
padding:var(--insetPaddingXxxl);
transform:scale(0);
box-shadow:0 10px 20px 0 rgba(0, 0, 0, 0.12), 0 1px 10px 0 rgba(0, 0, 0, 0.1);
}
.dialog--open{
transform:scale(1);
}
}
@media screen and (min-width: 1232px){
.dialog{
max-width:986px;
}
}
.dialog--open{
z-index:400;
z-index:var(--auro-depth-modal);
visibility:visible;
transform:translateY(0%);
opacity:1;
}
.dialog-footer{
padding-top:2rem;
padding-top:var(--auro-size-xl);
}
@media screen and (min-width: 1024px){
.dialog-footer ::slotted(*){
display:flex;
justify-content:flex-end;
}
}
.dialog-header{
display:flex;
align-items:flex-start;
justify-content:space-between;
padding-top:4rem;
padding-top:var(--auro-size-xxxl);
}
.dialog-header svg{
fill:#626b79;
fill:var(--auro-color-text-secondary-on-light);
}
.dialog-header--action{
margin:0;
padding:0;
border:none;
border:2px solid transparent;
border-radius:0.375rem;
border-radius:var(--auro-border-radius);
background-color:transparent;
}
.dialog-header--action:hover{
cursor:pointer;
}
:host(.focus-visible) .dialog:focus{
outline:3px solid #0074c8;
outline:3px solid var(--auro-color-border-active-on-light);
outline-offset:-3px;
}
:host(.focus-visible) .dialog-header--action:focus{
border-color:#0074c8;
border-color:var(--auro-color-border-active-on-light);
}
:host([unformatted]) .dialog-header--action{
position:absolute;
top:2rem;
top:var(--auro-size-xl);
right:2rem;
right:var(--auro-size-xl);
}
@media screen and (min-width: 1024px){
:host([unformatted]) .dialog-header--action{
top:4rem;
top:var(--auro-size-xxxl);
right:4rem;
right:var(--auro-size-xxxl);
}
}
:host([unformatted][onDark]) .dialog-header--action{
color:#ffffff;
color:var(--auro-color-base-white);
}
:host([sm]) .dialog{
max-height:30%;
}
@media screen and (min-width: 1024px){
:host([sm]) .dialog{
top:10%;
max-width:40%;
max-height:80%;
padding:var(--insetPaddingXxl);
}
}
@media screen and (min-width: 1232px){
:host([sm]) .dialog{
max-width:740px;
}
}
:host([md]) .dialog{
max-height:50%;
}
@media screen and (min-width: 1024px){
:host([md]) .dialog{
top:10%;
max-width:70%;
max-height:80%;
}
}
@media screen and (min-width: 1232px){
:host([md]) .dialog{
top:10%;
max-width:986px;
}
}
@media screen and (min-width: 1024px){
:host([sm][lg]) .dialog,
:host([md][lg]) .dialog{
max-height:80%;
}
}
:host([sm][lg]) .dialog,
:host([md][lg]) .dialog{
max-height:90%;
}
:host([unformatted]) .dialog{
padding:0;
}