nishant-design-system
Version:
Sense UI components library
103 lines (91 loc) • 2.81 kB
CSS
@value (colorBackgroundTertiary, colorBackgroundPrimary, colorBackdropFill) from '../../styles/variables/_color.css';
@value (spaceNone, spaceSmall, spaceMedium, spaceXXSmall, spaceHalfFluid, spaceNegHalfFluid) from '../../styles/variables/_space.css';
@value (sizeFluid, size60) from '../../styles/variables/_size.css';
@value (elevationNone, elevationModal, elevationBackdrop) from '../../styles/variables/_elevation.css';
@value (opacity100, opacity0) from '../../styles/variables/_opacity.css';
@value (motionDurationNormal, motionEaseInEaseOut) from '../../styles/variables/_motion.css';
@value (borderRadiusMedium) from '../../styles/variables/_border.css';
.modalContainer {
display: flex;
align-items: center;
justify-content: center;
}
.modal {
position: fixed;
top: spaceHalfFluid;
left: spaceHalfFluid;
transform: translate(spaceNegHalfFluid, spaceNegHalfFluid) scale(0.95);
opacity: opacity0;
composes: boxShadow4 from '../../styles/shadow.module.css';
display: flex;
max-height: sizeFluid;
flex-flow: column;
background: colorBackgroundTertiary;
overflow: auto;
z-index: elevationModal;
transition: opacity motionDurationNormal, transform motionDurationNormal;
border-radius: borderRadiusMedium;
}
.modalContainer.open.in .modal {
opacity: opacity100;
transform: translate(spaceNegHalfFluid, spaceNegHalfFluid) scale(1);
}
.backdrop {
display: flex;
flex-flow: column;
visibility: hidden;
opacity: opacity0;
background-color: transparent;
backdrop-filter: blur(spaceNone);
width: sizeFluid;
height: sizeFluid;
top: spaceNone;
left: spaceNone;
position: fixed;
pointer-events: none;
z-index: elevationNone;
transition: visibility motionDurationNormal,
backdrop-filter motionDurationNormal;
}
.modalContainer.open.in .backdrop {
visibility: visible;
opacity: opacity100;
pointer-events: auto;
z-index: elevationBackdrop;
}
.modalContainer.open.in .darkBackdrop {
backdrop-filter: blur(spaceXXSmall);
background-color: colorBackdropFill;
}
.modalHeader {
composes: borderBottomPrimary from '../../styles/border.module.css';
composes: subTitleLarge from '../../styles/typography.module.css';
padding: spaceNone spaceSmall spaceNone spaceMedium;
min-height: size60;
display: flex;
justify-content: space-between;
align-items: center;
gap: spaceMedium;
}
.headerContent {
display: flex;
}
.modalBody {
padding: spaceMedium;
height: sizeFluid;
overflow: auto;
}
.modalFooter {
composes: borderTopPrimary from '../../styles/border.module.css';
background-color: colorBackgroundPrimary;
margin-top: auto;
padding: spaceMedium;
display: flex;
justify-content: flex-end;
align-items: center;
gap: spaceMedium;
}
.modalFooterActions {
display: flex;
gap: spaceSmall;
}