Fix/book 149 incorrect onfocus behaviour booking widget * fix(BOOK-149): fixed labels shifting * fix(BOOK-149): reintroduced sticky position * fix(BOOK-149): added missing border to "where" text field * added overflow to datepicker * comment fixes * removed separate typography declaration * changed to onPress * fix(BOOK-149): moved components to separate files * fix(BOOK-149): removed desktop & mobile specific css classes * fix(BOOK-149): new implementation of date and room modals * dependencies update * fix(BOOK-149): fixed child age dropdown issue, related error message, and Rooms & Guests container height * updated info button to new variant * fix(BOOK-149): prevent scrolling of background when modals are open in Tablet mode * fixed overlay issue and added focus indicator on mobile * fixed missing space in css * rebase and fixed icon buttons after update * simplified to use explicit boolean * PR comments fixes * more PR comment fixes * PR comment fixes * fixed setIsOpen((prev) => !prev) * fixed issues with room error not showing properly on mobile * fixing pr comments * fixed flickering on GuestRoomModal Approved-by: Erik Tiekstra
185 lines
4.0 KiB
CSS
185 lines
4.0 KiB
CSS
.container {
|
|
--header-height: 72px;
|
|
--sticky-button-height: 124px;
|
|
|
|
display: grid;
|
|
grid-template-areas:
|
|
"header"
|
|
"content";
|
|
grid-template-rows: var(--header-height) calc(100dvh - var(--header-height));
|
|
position: relative;
|
|
}
|
|
|
|
.container.noHeader {
|
|
grid-template-areas: "content";
|
|
grid-template-rows: auto;
|
|
}
|
|
|
|
.root {
|
|
display: grid;
|
|
grid-area: content;
|
|
}
|
|
|
|
.header {
|
|
align-self: flex-end;
|
|
background-color: var(--Main-Grey-White);
|
|
grid-area: header;
|
|
padding: 0 var(--Space-x2) 0;
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 10;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.select {
|
|
justify-self: center;
|
|
min-width: 100px;
|
|
transform: translateX(24px);
|
|
}
|
|
|
|
.close {
|
|
align-items: center;
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
display: flex;
|
|
justify-self: flex-end;
|
|
}
|
|
|
|
div.months {
|
|
display: grid;
|
|
overflow-y: scroll;
|
|
scroll-snap-type: y mandatory;
|
|
}
|
|
|
|
.month {
|
|
display: grid;
|
|
justify-items: center;
|
|
padding-top: var(--Space-x3);
|
|
scroll-snap-align: start;
|
|
}
|
|
|
|
.month:last-of-type {
|
|
padding-bottom: calc(var(--sticky-button-height) + var(--Space-x2));
|
|
}
|
|
|
|
.monthCaption {
|
|
justify-content: center;
|
|
color: var(--Text-Default);
|
|
}
|
|
|
|
.captionLabel {
|
|
text-transform: capitalize;
|
|
}
|
|
|
|
.footer {
|
|
align-self: flex-start;
|
|
background: linear-gradient(
|
|
180deg,
|
|
rgba(255, 255, 255, 0) 7.5%,
|
|
#ffffff 82.5%
|
|
);
|
|
display: flex;
|
|
grid-area: content;
|
|
padding: var(--Space-x1) var(--Space-x2) var(--Space-x7);
|
|
position: fixed;
|
|
bottom: 0;
|
|
right: 0;
|
|
left: 0;
|
|
z-index: 10;
|
|
}
|
|
|
|
.footer .button {
|
|
width: 100%;
|
|
color: var(--UI-Opacity-White-100);
|
|
}
|
|
|
|
td.day,
|
|
td.rangeEnd,
|
|
td.rangeStart {
|
|
font-family: var(--typography-Body-Bold-fontFamily);
|
|
font-size: var(--typography-Body-Bold-fontSize);
|
|
font-weight: 500;
|
|
letter-spacing: var(--typography-Body-Bold-letterSpacing);
|
|
line-height: var(--typography-Body-Bold-lineHeight);
|
|
text-decoration: var(--typography-Body-Bold-textDecoration);
|
|
}
|
|
|
|
td.rangeEnd,
|
|
td.rangeStart {
|
|
background: var(--Background-Primary);
|
|
}
|
|
|
|
td.rangeEnd[aria-selected="true"]:not([data-outside="true"]) {
|
|
border-radius: 0 50% 50% 0;
|
|
}
|
|
|
|
td.rangeStart[aria-selected="true"] {
|
|
border-radius: 50% 0 0 50%;
|
|
}
|
|
|
|
td.rangeEnd[aria-selected="true"] button.dayButton:hover,
|
|
td.rangeStart[aria-selected="true"] button.dayButton:hover {
|
|
background: var(--Primary-Light-On-Surface-Accent);
|
|
border-radius: 50%;
|
|
}
|
|
|
|
td.rangeEnd[aria-selected="true"]:not([data-outside="true"]) button.dayButton,
|
|
td.rangeStart[aria-selected="true"]:not([data-outside="true"]) button.dayButton,
|
|
td.day[aria-selected="true"] button.dayButton {
|
|
background: var(--Primary-Light-On-Surface-Accent);
|
|
border: none;
|
|
color: var(--Base-Button-Inverted-Fill-Normal);
|
|
}
|
|
|
|
td.day,
|
|
td.day[data-today="true"] {
|
|
color: var(--UI-Text-High-contrast);
|
|
height: 40px;
|
|
padding: var(--Space-x05);
|
|
width: 40px;
|
|
}
|
|
|
|
td.day[data-outside="true"] button.dayButton {
|
|
border: none;
|
|
}
|
|
|
|
td.day.rangeMiddle[aria-selected="true"],
|
|
td.rangeMiddle[aria-selected="true"] button.dayButton {
|
|
background: var(--Background-Primary);
|
|
border: none;
|
|
border-radius: 0;
|
|
color: var(--UI-Text-High-contrast);
|
|
}
|
|
|
|
td.day[data-disabled="true"],
|
|
td.day[data-disabled="true"] button.dayButton,
|
|
td.day[data-outside="true"] ~ td.day[data-disabled="true"],
|
|
td.day[data-outside="true"] ~ td.day[data-disabled="true"] button.dayButton,
|
|
.week:has(td.day[data-outside="true"] ~ td.day[data-disabled="true"])
|
|
td.day[data-outside="true"]
|
|
button.dayButton {
|
|
background: none;
|
|
color: var(--Base-Text-Disabled);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.weekDay {
|
|
color: var(--Base-Text-Medium-contrast);
|
|
opacity: 1;
|
|
font-family: var(--typography-Caption-Labels-fontFamily);
|
|
font-size: var(--typography-Caption-Labels-fontSize);
|
|
font-weight: var(--typography-Caption-Labels-fontWeight);
|
|
letter-spacing: var(--typography-Caption-Labels-letterSpacing);
|
|
line-height: var(--typography-Caption-Labels-lineHeight);
|
|
text-decoration: var(--typography-Caption-Labels-textDecoration);
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
@media screen and (min-width: 1367px) {
|
|
.container {
|
|
display: none;
|
|
}
|
|
}
|