Fix/STAY-135 & STAY-127 * fix: make quantity and delivery separate steps in mobile * fix: update design for delivery step in ancillary flow * fix: add error state for missing time * fix: only allow points or cash payment for ancillaries * fix: break out stepper to design system * fix: update design of select quantity step in add ancillaries flow * fix: add error states for quantity * fix: handle insufficient points case * fix: update stepper to include optional disabledMessage tooltip * fix: handle validations * fix: change name to camel case Approved-by: Bianca Widstam Approved-by: Chuma Mcphoy (We Ahead)
172 lines
3.3 KiB
CSS
172 lines
3.3 KiB
CSS
.tooltipContainer {
|
|
position: relative;
|
|
display: flex;
|
|
}
|
|
|
|
.tooltip {
|
|
padding: var(--Space-x1);
|
|
background-color: var(--Surface-UI-Fill-Intense);
|
|
border: 0.5px solid var(--Border-Interactive-Focus);
|
|
border-radius: var(--Corner-radius-md);
|
|
color: var(--Text-Inverted);
|
|
position: absolute;
|
|
visibility: hidden;
|
|
z-index: 1000;
|
|
opacity: 0;
|
|
transition: opacity 0.3s;
|
|
max-width: 200px;
|
|
min-width: 150px;
|
|
height: fit-content;
|
|
}
|
|
|
|
.tooltipContainer:hover .tooltip {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
}
|
|
|
|
.left {
|
|
right: 100%;
|
|
}
|
|
|
|
.right {
|
|
left: 100%;
|
|
}
|
|
|
|
.top {
|
|
bottom: calc(100% + 8px);
|
|
}
|
|
|
|
.bottom {
|
|
top: calc(100% + 8px);
|
|
}
|
|
|
|
.bottom.arrowRight {
|
|
right: 0;
|
|
}
|
|
|
|
.top.arrowRight {
|
|
right: 0;
|
|
}
|
|
|
|
.tooltip::before {
|
|
content: '';
|
|
position: absolute;
|
|
border-style: solid;
|
|
}
|
|
|
|
.bottom.arrowLeft::before {
|
|
top: -8px;
|
|
left: 16px;
|
|
border-width: 0 7px 8px 7px;
|
|
border-color: transparent transparent var(--Border-Interactive-Focus)
|
|
transparent;
|
|
}
|
|
|
|
.bottom.arrowCenter::before {
|
|
top: -8px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
border-width: 0 7px 8px 7px;
|
|
border-color: transparent transparent var(--Border-Interactive-Focus)
|
|
transparent;
|
|
}
|
|
|
|
.bottom.arrowRight::before {
|
|
top: -8px;
|
|
right: 16px;
|
|
border-width: 0 7px 8px 7px;
|
|
border-color: transparent transparent var(--Border-Interactive-Focus)
|
|
transparent;
|
|
}
|
|
|
|
.top.arrowLeft::before {
|
|
bottom: -8px;
|
|
left: 16px;
|
|
border-width: 8px 7px 0 7px;
|
|
border-color: var(--Border-Interactive-Focus) transparent transparent
|
|
transparent;
|
|
}
|
|
|
|
.top.arrowCenter::before {
|
|
bottom: -8px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
border-width: 8px 7px 0 7px;
|
|
border-color: var(--Border-Interactive-Focus) transparent transparent
|
|
transparent;
|
|
}
|
|
|
|
.top.arrowRight::before {
|
|
bottom: -8px;
|
|
right: 16px;
|
|
border-width: 8px 7px 0 7px;
|
|
border-color: var(--Border-Interactive-Focus) transparent transparent
|
|
transparent;
|
|
}
|
|
|
|
.left.arrowTop::before {
|
|
top: 16px;
|
|
right: -8px;
|
|
transform: translateY(-50%);
|
|
border-width: 7px 0 7px 8px;
|
|
border-color: transparent transparent transparent
|
|
var(--Border-Interactive-Focus);
|
|
}
|
|
|
|
.left.arrowCenter::before {
|
|
top: 50%;
|
|
right: -8px;
|
|
transform: translateY(-50%);
|
|
border-width: 7px 0 7px 8px;
|
|
border-color: transparent transparent transparent
|
|
var(--Border-Interactive-Focus);
|
|
}
|
|
|
|
.left.arrowBottom::before {
|
|
bottom: 16px;
|
|
right: -8px;
|
|
transform: translateY(50%);
|
|
border-width: 7px 0 7px 8px;
|
|
border-color: transparent transparent transparent
|
|
var(--Border-Interactive-Focus);
|
|
}
|
|
|
|
.right.arrowTop::before {
|
|
top: 16px;
|
|
left: -8px;
|
|
transform: translateY(-50%);
|
|
border-width: 7px 8px 7px 0;
|
|
border-color: transparent var(--Border-Interactive-Focus) transparent
|
|
transparent;
|
|
}
|
|
|
|
.right.arrowCenter::before {
|
|
top: 50%;
|
|
left: -8px;
|
|
transform: translateY(-50%);
|
|
border-width: 7px 8px 7px 0;
|
|
border-color: transparent var(--Border-Interactive-Focus) transparent
|
|
transparent;
|
|
}
|
|
|
|
.right.arrowBottom::before {
|
|
bottom: 16px;
|
|
left: -8px;
|
|
transform: translateY(50%);
|
|
border-width: 7px 8px 7px 0;
|
|
border-color: transparent var(--Border-Interactive-Focus) transparent
|
|
transparent;
|
|
}
|
|
|
|
@media screen and (max-width: 767px) {
|
|
.tooltipContainer[data-active='true'] .tooltip {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
}
|
|
|
|
.tooltipContainer[data-active='false'] .tooltip {
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
}
|
|
}
|