feat(SW-2708): Meeting package widget mobile UI

Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-05-14 11:31:02 +00:00
parent 4f7edf6ad2
commit a66b632875
9 changed files with 282 additions and 63 deletions

View File

@@ -1,16 +1,125 @@
.widget {
width: 100%;
max-width: var(--max-width-page);
margin: 0 auto;
.buttonWrapper {
padding: var(--Space-x15) var(--Space-x2);
display: flex;
background-color: var(--Component-Button-Brand-Primary-On-fill-Default);
color: var(--Text-Default);
}
.widget.isLoading {
display: none;
.button {
display: flex;
border-width: 0;
padding: 0;
gap: var(--Space-x1);
align-items: center;
background-color: transparent;
width: 100%;
cursor: pointer;
&:hover .fakeButton {
background-color: var(--Component-Button-Brand-Primary-Fill-Hover);
border-color: var(--Component-Button-Brand-Primary-Border-Hover);
color: var(--Component-Button-Brand-Primary-On-fill-Hover);
}
}
.fakeInput {
display: grid;
justify-items: start;
padding: var(--Space-x1) var(--Space-x15);
background-color: var(--Surface-Primary-OnSurface-Default);
border-radius: var(--Corner-radius-md);
flex-grow: 1;
}
.fakePlaceholder {
color: var(--Text-Interactive-Placeholder);
}
.fakeButton {
border-radius: var(--Corner-radius-rounded);
border-width: 2px;
border-style: solid;
display: flex;
align-items: center;
justify-content: center;
gap: var(--Space-x05);
padding: 10px var(--Space-x2);
background-color: var(--Component-Button-Brand-Primary-Fill-Default);
border-color: var(--Component-Button-Brand-Primary-Border-Default);
color: var(--Component-Button-Brand-Primary-On-fill-Default);
}
.overlay {
position: fixed;
inset: 0;
background-color: var(--Overlay-40);
&[data-entering] {
animation: overlay-fade 200ms;
}
&[data-exiting] {
animation: overlay-fade 150ms reverse ease-in;
}
}
.modal {
position: fixed;
bottom: 0;
left: 0;
right: 0;
border-radius: var(--Corner-radius-md) var(--Corner-radius-md) 0 0;
background-color: var(--Surface-Primary-Default);
box-shadow: 0px 0px 14px 6px rgba(0, 0, 0, 0.1);
&[data-entering] {
animation: modal-anim 200ms;
}
&[data-exiting] {
animation: modal-anim 150ms reverse ease-in;
}
}
.dialog {
display: grid;
align-content: start;
gap: var(--Space-x2);
overflow-y: auto;
height: 95dvh;
padding: var(--Space-x3) 0;
}
.closeButtonWrapper {
display: flex;
justify-content: flex-end;
width: var(--max-width-page);
margin: 0 auto;
}
/* Meeting booking widget changes design at 948px */
@media screen and (min-width: 948px) {
.widget {
background-color: var(--Base-Surface-Primary-light-Normal);
.overlay {
display: none;
}
}
@keyframes overlay-fade {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes modal-anim {
from {
transform: translateY(100%);
}
to {
transform: translateY(0);
}
}