@postnord/web-components
Version:
PostNord Web Components
446 lines (445 loc) • 12.7 kB
CSS
/* Global utility variables */
/* Input styles */
/* Transition variables */
pn-date-picker {
position: relative;
display: block;
}
pn-date-picker .pn-date-picker {
width: 100%;
display: flex;
flex-wrap: wrap;
gap: 0.25em;
container-type: inline-size;
/** The calendar dropdown */
/* Month list */
}
@container (max-width: 24em) {
pn-date-picker .pn-date-picker .pn-date-picker-container {
flex: 1 1 20em;
}
pn-date-picker .pn-date-picker .pn-date-picker-range-icon {
display: none;
}
}
pn-date-picker .pn-date-picker-container {
display: block;
flex: 1 1 11em;
}
pn-date-picker .pn-date-picker-container[data-error] > .pn-date-picker-label {
color: #a70707;
}
pn-date-picker .pn-date-picker-container[data-error] > .pn-date-picker-field .pn-date-picker-input {
border-color: #a70707;
}
pn-date-picker .pn-date-picker-container[data-error] > .pn-date-picker-field .pn-date-picker-input:hover {
border-color: #500715;
}
pn-date-picker .pn-date-picker-container[data-error] > .pn-date-picker-field .pn-date-picker-input:focus-visible {
background-color: #ffffff;
border-color: #a70707;
outline-color: #a70707;
}
pn-date-picker .pn-date-picker-label {
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: flex-end;
font-weight: 400;
color: #2d2013;
margin: 0 0 0.25em 0;
gap: 0.5em;
transition-property: color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
-webkit-tap-highlight-color: transparent;
}
pn-date-picker .pn-date-picker-label > span {
font-size: 0.875em;
}
pn-date-picker .pn-date-picker-field {
position: relative;
display: flex;
}
pn-date-picker .pn-date-picker-input {
color: #2d2013;
background-color: #ffffff;
border: 0.0625em solid #969087;
border-radius: 0.5em;
padding: 0.75em;
font-family: inherit;
font-size: 1em;
font-weight: 500;
line-height: 1.5em;
-webkit-font-smoothing: antialiased;
-webkit-tap-highlight-color: transparent;
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
transition-property: outline-color, background-color, border-color, color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
padding-right: 3em;
flex: auto;
width: 100%;
}
pn-date-picker .pn-date-picker-input:-webkit-autofill, pn-date-picker .pn-date-picker-input:-webkit-autofill:hover, pn-date-picker .pn-date-picker-input:-webkit-autofill:focus, pn-date-picker .pn-date-picker-input:-webkit-autofill:active {
-webkit-box-shadow: 0 0 0 10em #e0f8ff inset;
-webkit-text-fill-color: #2d2013;
}
pn-date-picker .pn-date-picker-input:focus-visible {
outline-color: #005d92;
background-color: #ffffff;
border-color: #005d92;
}
pn-date-picker .pn-date-picker-input::placeholder {
color: #5e554a;
font-weight: normal;
}
pn-date-picker .pn-date-picker-input:hover {
border-color: #005d92;
}
pn-date-picker .pn-date-picker-input:disabled {
color: #5e554a;
background-color: #f3f2f2;
border-color: #f3f2f2;
}
pn-date-picker .pn-date-picker-input::-webkit-calendar-picker-indicator {
visibility: hidden;
inline-size: 0;
}
pn-date-picker .pn-date-picker-input::-webkit-textfield-decoration-container, pn-date-picker .pn-date-picker-input::-webkit-search-cancel-button, pn-date-picker .pn-date-picker-input::-webkit-inner-spin-button, pn-date-picker .pn-date-picker-input::-webkit-outer-spin-button, pn-date-picker .pn-date-picker-input::-webkit-search-decoration {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
pn-date-picker .pn-date-picker-input[data-active] {
border-color: #005d92;
}
pn-date-picker .pn-date-picker-input:read-only {
border-color: #ffffff;
}
pn-date-picker .pn-date-picker-range-icon {
width: 1.5em;
margin-bottom: 0.8125em;
align-self: end;
}
pn-date-picker .pn-date-picker-helpertext, pn-date-picker .pn-date-picker-error {
color: #5e554a;
font-weight: 400;
display: block;
margin: 0.25em 0 0 0;
text-align: left;
}
pn-date-picker .pn-date-picker-helpertext > span, pn-date-picker .pn-date-picker-error > span {
display: block;
font-size: 0.875em;
}
pn-date-picker .pn-date-picker-helpertext[hidden], pn-date-picker .pn-date-picker-error[hidden] {
display: none;
}
pn-date-picker .pn-date-picker-error {
color: #a70707;
}
pn-date-picker .pn-date-picker-toggle {
position: absolute;
top: 0.5em;
right: 0.5em;
border-radius: 50%;
}
pn-date-picker .pn-date-picker-button {
cursor: pointer;
font-size: 1em;
background-color: transparent;
border: 0.0625em solid #969087;
border-color: transparent;
padding: 0.25em;
margin: 0;
flex: auto;
border-radius: 3em;
transition-property: outline-color, background-color, border-color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
}
pn-date-picker .pn-date-picker-button:first-child, pn-date-picker .pn-date-picker-button:last-child {
flex: 0 0 auto;
}
pn-date-picker .pn-date-picker-button:focus {
background-color: #ffffff;
outline-color: #005d92;
}
pn-date-picker .pn-date-picker-button:hover {
background-color: #e0f8ff;
}
pn-date-picker .pn-date-picker-button[data-active], pn-date-picker .pn-date-picker-button[data-range] {
background-color: #e0f8ff;
border-color: #005d92;
}
pn-date-picker .pn-date-picker-button:disabled {
cursor: not-allowed;
}
pn-date-picker .pn-date-picker-button:disabled:hover {
background-color: transparent;
}
pn-date-picker .pn-date-picker-month {
text-transform: capitalize;
}
pn-date-picker .pn-date-picker-month[data-full] {
display: none;
}
@media (min-width: 25em) {
pn-date-picker .pn-date-picker-month[data-full] {
display: inline;
}
}
pn-date-picker .pn-date-picker-month[data-abbr] {
display: inline;
}
@media (min-width: 25em) {
pn-date-picker .pn-date-picker-month[data-abbr] {
display: none;
}
}
pn-date-picker .pn-date-picker-sr-only {
position: absolute;
height: 1px;
width: 1px;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
margin: -1px;
white-space: nowrap;
}
pn-date-picker .pn-date-picker-calendar {
position: absolute;
z-index: 4;
top: calc(100% + 0.5em);
left: var(--pn-calendar-offset-left);
width: clamp(100%, 95vw, 20em);
max-width: 20em;
text-align: center;
border-radius: 0.5em;
background-color: #ffffff;
overflow: hidden;
visibility: hidden;
box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.1);
}
pn-date-picker .pn-date-picker-calendar[data-range] {
width: 100%;
max-width: unset;
}
pn-date-picker .pn-date-picker-calendar[data-open], pn-date-picker .pn-date-picker-calendar[data-moving] {
visibility: visible;
}
pn-date-picker .pn-date-picker-calendar[data-direction=top] {
top: unset;
bottom: calc(100% + 0.5em);
transform-origin: bottom left;
}
pn-date-picker .pn-date-picker-calendar pn-button[hidden] {
display: none;
}
pn-date-picker .pn-date-picker-calendar pn-button span {
text-transform: capitalize;
}
pn-date-picker .pn-date-picker-wrapper {
padding: 0.5em;
}
pn-date-picker .pn-date-picker-title {
margin: 0.5em auto 0;
font-size: 0.875em;
font-weight: 500;
color: #2d2013;
}
pn-date-picker .pn-date-picker-nav {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: 1em;
}
pn-date-picker .pn-date-picker-table {
width: 100%;
table-layout: fixed;
border-spacing: 0;
border: 0;
margin: 0 0 0.5em;
}
pn-date-picker .pn-date-picker-th {
font-size: 0.75em;
font-weight: 500;
color: #5e554a;
padding: 0.25em;
border: 0;
text-transform: capitalize;
}
pn-date-picker .pn-date-picker-td {
cursor: pointer;
position: relative;
padding: 0.25em;
outline: 0;
border: 0;
line-height: 0;
width: 2em;
height: 2em;
-webkit-tap-highlight-color: transparent;
}
pn-date-picker .pn-date-picker-td-text {
position: relative;
display: block;
line-height: 1.5em;
border-radius: 0.5em;
color: #2d2013;
padding: 0.25em;
transition-property: color, background-color, outline-color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
}
pn-date-picker .pn-date-picker-td[data-blank] {
cursor: auto;
}
pn-date-picker .pn-date-picker-td[data-blank] .pn-date-picker-td-text {
background-color: transparent;
}
pn-date-picker .pn-date-picker-td-week {
font-size: 0.75em;
color: #5e554a;
display: block;
}
pn-date-picker .pn-date-picker-td:before {
content: "";
position: absolute;
left: 0;
top: 0.25em;
height: calc(100% - 0.5em);
width: 100%;
background-color: transparent;
border: 0.0625em solid transparent;
border-radius: 0.5em;
transition-property: border-color, background-color, width, transform, left;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
pn-date-picker .pn-date-picker-td[aria-disabled=true] {
cursor: not-allowed;
pointer-events: none;
}
pn-date-picker .pn-date-picker-td[aria-disabled=true] > .pn-date-picker-td-text {
color: #5e554a;
background-color: #f3f2f2;
}
pn-date-picker .pn-date-picker-td[aria-disabled=true]:focus > .pn-date-picker-td-text {
outline-color: #a70707;
}
pn-date-picker .pn-date-picker-td[aria-disabled=true]:hover > .pn-date-picker-td-text, pn-date-picker .pn-date-picker-td[aria-disabled=true]:focus > .pn-date-picker-td-text {
background-color: #f3f2f2;
}
pn-date-picker .pn-date-picker-td[aria-selected=true] .pn-date-picker-td-text {
font-weight: 500;
}
pn-date-picker .pn-date-picker-td[aria-selected=true]:before {
border-color: #005d92;
background-color: #effbff;
}
pn-date-picker .pn-date-picker-td[aria-selected=true][data-single]:before {
width: 2em;
left: 50%;
transform: translateX(-50%);
}
pn-date-picker .pn-date-picker-td[aria-selected=true][data-range]:before {
border-radius: 0;
border-left: 0;
border-right: 0;
}
pn-date-picker .pn-date-picker-td[aria-selected=true][data-range-from]:before {
border-radius: 0.5em 0 0 0.5em;
border-right-width: 0;
border-left-width: 0.0625em;
}
pn-date-picker .pn-date-picker-td[aria-selected=true][data-range-to]:before {
border-radius: 0 0.5em 0.5em 0;
border-right-width: 0.0625em;
border-left-width: 0;
}
pn-date-picker .pn-date-picker-td[aria-selected=true][aria-disabled=true]:before {
border-color: #a70707;
background-color: #fdefee;
}
pn-date-picker .pn-date-picker-td[aria-selected=true][aria-disabled=true] > .pn-date-picker-td-text {
background-color: unset;
}
pn-date-picker .pn-date-picker-td[aria-selected=true][aria-disabled=true]:focus > .pn-date-picker-td-text {
background-color: #f3f2f2;
}
pn-date-picker .pn-date-picker-td[aria-selected=false]:hover > .pn-date-picker-td-text {
background-color: #e0f8ff;
}
pn-date-picker .pn-date-picker-td[data-today] > .pn-date-picker-td-text {
font-weight: 500;
}
pn-date-picker .pn-date-picker-td[data-today] > .pn-date-picker-td-text::after {
content: "";
position: absolute;
bottom: 0.25em;
left: calc(50% - 0.125em);
height: 0.25em;
width: 0.25em;
background-color: #005d92;
border-radius: 50%;
}
pn-date-picker .pn-date-picker-td[data-today] > .pn-date-picker-td-text:after {
bottom: 0.15em;
}
pn-date-picker .pn-date-picker-td[data-active][data-today] > .pn-date-picker-td-text:after {
background-color: #005d92;
}
pn-date-picker .pn-date-picker-td:focus-visible > .pn-date-picker-td-text {
outline-color: #005d92;
}
pn-date-picker .pn-date-picker-list {
margin: 0 0 1em;
padding: 0;
list-style: none;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 0.5em;
}
pn-date-picker .pn-date-picker-item > .pn-date-picker-button {
display: block;
width: 100%;
border-radius: 0.5em;
padding: 0.5em 0.25em;
}
pn-date-picker .pn-date-picker-item > .pn-date-picker-button[data-today] {
position: relative;
font-weight: 500;
}
pn-date-picker .pn-date-picker-item > .pn-date-picker-button[data-today]::after {
content: "";
position: absolute;
bottom: 0.25em;
left: calc(50% - 0.125em);
height: 0.25em;
width: 0.25em;
background-color: #005d92;
border-radius: 50%;
}
pn-date-picker .pn-date-picker-chips > [slot=chips] {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
gap: 0.5em;
margin-bottom: 0.5em;
}
pn-date-picker .pn-date-picker-chips > [slot=chips]:empty {
display: none;
}
pn-date-picker .pn-date-picker-bottom {
display: flex;
justify-content: flex-end;
gap: 0.5em;
}
pn-date-picker .pn-date-picker-bottom[hidden] {
display: none;
}