@gez/date-time-kit
Version:
77 lines (73 loc) • 2.05 kB
text/typescript
import { closeBarSvg, svg2cssUrl } from '../../assets';
import { css } from '../../utils';
export const styleStr = css`
::slotted([slot='pop']:not(.not-pop-bg)) {
background-color: var(--dt-bg-block-light, #fff);
padding: 10px 5px;
border-radius: var(--dt-pop-border-radius, 6px);
border: 1px solid var(--dt-border-dark, #0000001A);
box-shadow: var(--dt-pop-box-shadow, 0 6px 16px #0003);
}
:host { display: inline-block; }
:host(:not([open])) slot[name='pop'] { display: none; }
:host([open]:not([strategy='none'])) slot[name='pop'] { display: block; }
:host(:not([strategy='none'])) slot[name='pop'] {
position: fixed;
z-index: var(--dt-pop-z-index, 9999);
top: 0;
left: 0;
}
:host([strategy='absolute']) slot[name='pop'] { position: absolute; }
:host([strategy='absolute']) { position: relative; }
@media (max-width: 750px) {
:host([open]) slot[name='pop'] {
width: 100vw;
max-height: min(90vh, 600px);
top: unset;
left: 0;
bottom: 0;
position: fixed;
}
:host([open]) slot[name='pop']::after, :host([open]) slot[name='pop']::before {
content: '';
display: block;
position: absolute;
}
:host([open]) slot[name='pop']::before {
bottom: 100%;
left: 0;
right: 0;
height: 24px;
border-radius: 20px 20px 0 0;
background: var(--dt-bg-block-light, #fff);
}
:host([open]) slot[name='pop']::after {
bottom: calc(100% + (24px - 4px) / 2);
left: 50%;
transform: translateX(-50%);
width: 40px;
height: 4px;
background: var(--dt-border-dark, #0000001A);
mask-image: ${svg2cssUrl(closeBarSvg)};
-webkit-mask-image: ${svg2cssUrl(closeBarSvg)};
cursor: pointer;
}
::slotted([slot='pop']:not(.not-pop-bg)) {
padding: 15px;
border-radius: 0;
border: none;
box-shadow: none;
}
/* for masking */
:host([open]:not([strategy='none']))::before {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #0008;
z-index: var(--dt-pop-z-index, 9999);
}
}
`;