@harvest-profit/npk
Version:
NPK UI Design System
143 lines • 5.06 kB
CSS
.Calendar {
color: var(--control-fg-color);
--control-calendar-width: 275px;
min-width: 275px;
min-width: var(--control-calendar-width);
}
.Calendar > header {
flex-grow: 0;
flex-shrink: 0;
flex-basis: auto;
display: grid;
grid-template-areas: "previous title next";
align-items: center;
align-content: center;
justify-content: space-between;
grid-gap: var(--control-gap);
gap: var(--control-gap);
margin-bottom: var(--control-gap);
}
:is(.Calendar > header) > [data-component="calendar-backwards"] {
grid-row: previous;
grid-column: previous;
display: flex;
flex-direction: row;
justify-content: flex-start;
}
:is(.Calendar > header) > [data-component="calendar-actions"] {
grid-column: 1 / -1;
grid-row: 2;
display: flex;
flex-direction: row;
margin-top: calc(var(--control-gap) * -1);
position: relative;
height: var(--control-small-size);
}
:is(:is(.Calendar > header) > [data-component="calendar-actions"]) > span {
position: absolute;
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
overflow-x: scroll;
}
:is(:is(:is(.Calendar > header) > [data-component="calendar-actions"]) > span)::-webkit-scrollbar {
display: none;
}
:is(.Calendar > header) > [data-component="calendar-title"] {
grid-row: title;
grid-column: title;
font-size: 0.95rem;
margin: 0;
text-align: center;
}
:is(.Calendar > header) > [data-component="calendar-forwards"] {
grid-row: next;
grid-column: next;
display: flex;
flex-direction: row;
justify-content: flex-end;
}
.Calendar > span {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: calc(var(--control-gap) * 2);
}
:is(.Calendar > span) > table {
height: auto;
/* min-height: 290px; */
}
:is(:is(.Calendar > span) > table) td div {
margin-top: calc(var(--control-gap) / 2);
margin-bottom: calc(var(--control-gap) / 2);
}
.Calendar > table {
height: 240px;
max-width: var(--control-calendar-width);
}
.Calendar > table,.Calendar > span > table {
width: 100%;
text-align: center;
border-spacing: 0;
}
:is(.Calendar > table,.Calendar > span > table) th {
font-size: var(--control-font-size);
font-weight: normal;
opacity: 0.5;
}
:is(.Calendar > table,.Calendar > span > table) td {
width: 35px;
height: 25px;
padding: 0;
font-size: var(--control-font-size);
}
[aria-selected="true"]:is(:is(.Calendar > table,.Calendar > span > table) td):last-child div {
border-top-right-radius: var(--control-segment-radius);
border-bottom-right-radius: var(--control-segment-radius);
}
[aria-selected="true"]:is(:is(.Calendar > table,.Calendar > span > table) td):first-child div {
border-top-left-radius: var(--control-segment-radius);
border-bottom-left-radius: var(--control-segment-radius);
}
:is(:is(.Calendar > table,.Calendar > span > table) td) > div {
/* border-radius: var(--control-segment-radius); */
width: 35px;
height: 35px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: 180ms cubic-bezier(0.65, 0, 0.35, 1);
transition-property: color, fill, background-color;
position: relative;
margin: auto;
}
[data-today="true"]:is(:is(:is(.Calendar > table,.Calendar > span > table) td) > div) {
font-weight: bold;
}
[data-state="disabled"]:is(:is(:is(.Calendar > table,.Calendar > span > table) td) > div) {
cursor: not-allowed;
}
[data-selection-in="true"]:is(:is(:is(.Calendar > table,.Calendar > span > table) td) > div) {
background-color: var(--control-bg-color--muted-active-element);
color: var(--control-fg-color--muted-active-element);
--control-bg-color--hover: var(--control-bg-color--muted-hover-element);
}
[data-state="selected"]:is(:is(:is(.Calendar > table,.Calendar > span > table) td) > div) {
background-color: var(--control-bg-color--active-element);
color: var(--control-fg-color--active-element);
border-radius: var(--control-segment-radius);
outline: 0.125rem solid var(--control-focus-color);
outline-offset: -1px;
}
[hidden]:is(:is(:is(.Calendar > table,.Calendar > span > table) td) > div) {
cursor: default;
opacity: 0.25;
}
:is(:is(:is(.Calendar > table,.Calendar > span > table) td) > div):not([data-state="disabled"],[data-state="selected"]):hover {
background-color: var(--control-bg-color--hover);
}
:is(:is(:is(.Calendar > table,.Calendar > span > table) td) > div):not([data-state="disabled"],[data-state="selected"]):active {
background-color: var(--control-bg-color--active);
}