fix(BOOK-711): Added isFloating prop to decide when the booking widget should have a border radius

Approved-by: Bianca Widstam
This commit is contained in:
Erik Tiekstra
2026-01-28 12:02:42 +00:00
parent 70838060e5
commit ead34c07ee
9 changed files with 74 additions and 45 deletions

View File

@@ -1,3 +1,8 @@
.formContent {
display: flex;
flex-direction: column;
}
.vouchersHeader {
display: flex;
gap: var(--Space-x15);
@@ -100,25 +105,25 @@
height: fit-content;
}
.input {
display: flex;
flex-direction: column;
@media screen and (min-width: 768px) and (max-width: 1366px) {
.formContent.floating .voucherContainer {
border-bottom-left-radius: var(--Corner-Radius-lg);
border-bottom-right-radius: var(--Corner-Radius-lg);
}
}
@media screen and (min-width: 768px) {
.input {
.formContent {
display: flex;
align-items: center;
flex-direction: row;
}
.inputContainer {
display: flex;
flex: 2;
gap: var(--Space-x15);
}
.voucherContainer {
border-radius: 0 0 var(--Corner-Radius-md) var(--Corner-Radius-md);
}
.rooms,
.when,
@@ -154,7 +159,7 @@
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.input {
.formContent {
flex-wrap: wrap;
}
.inputRow {
@@ -197,8 +202,8 @@
.inputContainer {
margin-left: calc(-1 * var(--Space-x15));
}
.input {
gap: var(--Space-x15);
.formContent {
gap: var(--Space-x2);
}
.inputRow {
flex: 1;

View File

@@ -31,11 +31,13 @@ type BookingWidgetFormContentProps = {
formId: string
onSubmit: () => void
isSearching: boolean
isFloating: boolean
}
export default function FormContent({
formId,
onSubmit,
isSearching,
isFloating,
}: BookingWidgetFormContentProps) {
const intl = useIntl()
const {
@@ -61,7 +63,7 @@ export default function FormContent({
const nights = dt(selectedDate.toDate).diff(dt(selectedDate.fromDate), "days")
return (
<div className={styles.input}>
<div className={cx(styles.formContent, { [styles.floating]: isFloating })}>
<div className={styles.inputRow}>
<div className={styles.inputContainer}>
<div className={styles.where}>
@@ -170,7 +172,7 @@ export function BookingWidgetFormContentSkeleton() {
const intl = useIntl()
return (
<div className={styles.input}>
<div className={styles.formContent}>
<div className={styles.inputRow}>
<div className={styles.inputContainer}>
<div className={styles.where}>