@roomstay/frontend 2.1.4 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -84,17 +84,17 @@ const BookingWizardDateSelector = (props) => {
84
84
  const _checkInDate = (date, disabledClass) => {
85
85
  return (react_1.default.createElement("div", { className: disabledClass ? '' : BookingWizard_module_scss_1.default.item, onClick: _toggleInlineDatePicker },
86
86
  react_1.default.createElement("label", { className: BookingWizardDateSelector_module_scss_1.default.label }, "Check-in"),
87
- react_1.default.createElement(Text_1.default, { className: BookingWizardDateSelector_module_scss_1.default.date }, (date === null || date === void 0 ? void 0 : date.format('MMM DD')) || '-')));
87
+ react_1.default.createElement(Text_1.default, { className: BookingWizardDateSelector_module_scss_1.default.date, bold: true }, (date === null || date === void 0 ? void 0 : date.format('MMM DD')) || '-')));
88
88
  };
89
89
  const _checkOutDate = (date) => {
90
90
  return (react_1.default.createElement("div", { className: BookingWizard_module_scss_1.default.item, onClick: _toggleInlineDatePicker },
91
91
  react_1.default.createElement("label", { className: BookingWizardDateSelector_module_scss_1.default.label }, "Check-out"),
92
- react_1.default.createElement(Text_1.default, { className: BookingWizardDateSelector_module_scss_1.default.date }, (date === null || date === void 0 ? void 0 : date.format('MMM DD')) || '-')));
92
+ react_1.default.createElement(Text_1.default, { className: BookingWizardDateSelector_module_scss_1.default.date, bold: true }, (date === null || date === void 0 ? void 0 : date.format('MMM DD')) || '-')));
93
93
  };
94
94
  const _combineDates = (checkIn, checkOut) => {
95
95
  return (react_1.default.createElement("div", { onClick: _toggleInlineDatePicker },
96
96
  react_1.default.createElement("label", { className: BookingWizardDateSelector_module_scss_1.default.label }, "Dates"),
97
- react_1.default.createElement(Text_1.default, { className: BookingWizardDateSelector_module_scss_1.default.date }, `${(checkIn === null || checkIn === void 0 ? void 0 : checkIn.format('MMM DD')) || ''} - ${(checkOut === null || checkOut === void 0 ? void 0 : checkOut.format('MMM DD')) || ''}`)));
97
+ react_1.default.createElement(Text_1.default, { className: BookingWizardDateSelector_module_scss_1.default.date, bold: true }, `${(checkIn === null || checkIn === void 0 ? void 0 : checkIn.format('MMM DD')) || ''} - ${(checkOut === null || checkOut === void 0 ? void 0 : checkOut.format('MMM DD')) || ''}`)));
98
98
  };
99
99
  const showMultipleMonths = layout === 'horizontal' && !isMobile;
100
100
  if (overlayType === 'inline') {
@@ -1 +1 @@
1
- {"version":3,"file":"BookingWizardDateSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport dayjs from 'dayjs';\nimport React, { useState } from 'react';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport DateRangePicker from '@/components/generic/DateRangePicker/DateRangePicker';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { useWindowSize } from '@/hooks/WindowSize';\nimport FloatingDateRangePicker, { FloatingDateRangePickerHandle } from '../../DateRangePicker/FloatingDateRangePicker';\nimport Text from '../../Text';\nimport bookingWizardStyles from '../BookingWizard.module.scss';\nimport BookingWizardBottomSheet from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardDateSelector.module.scss';\nimport { EBookingWizardTheme } from '../BookingWizard';\n\nexport interface BookingWizardDateSelectorProps {\n open?: boolean;\n onChange?: (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => void;\n}\n\nexport const BookingWizardDateSelector: React.FC<BookingWizardDateSelectorProps> = (props) => {\n const { overlay, theme, layout, type: overlayType } = useBookingWizard();\n\n const checkOutDatePickerRef = React.useRef<FloatingDateRangePickerHandle>(null);\n\n const [startDate, setStartDate] = useState<dayjs.Dayjs | null>(dayjs());\n const [endDate, setEndDate] = useState<dayjs.Dayjs | null>(dayjs().add(1, 'days'));\n const [selectingStartDate, setSelectingStartDate] = useState<dayjs.Dayjs | null>(startDate);\n const [selectingEndDate, setSelectingEndDate] = useState<dayjs.Dayjs | null>(endDate);\n const [isOpen, setIsOpen] = useState(false);\n const [checkInWrapperRef, setCheckInWrapperRef] = React.useState(null);\n\n const { isMobile } = useWindowSize();\n\n let RowWrapper: any = React.Fragment;\n const rowWrapperProps = {} as any;\n if (layout === 'button' || isMobile) {\n RowWrapper = 'div';\n rowWrapperProps.className = bookingWizardStyles.itemGroup;\n rowWrapperProps.ref = (ref: any) => {\n if (layout === 'button') {\n setCheckInWrapperRef(ref);\n }\n };\n }\n\n const setDate = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => {\n setStartDate(startDate);\n setEndDate(endDate);\n\n setIsOpen(false);\n\n props.onChange(startDate, endDate);\n };\n\n const _onCheckoutDateChange = (newEndDate: dayjs.Dayjs) => {\n props?.onChange(startDate, newEndDate);\n\n setEndDate(newEndDate);\n if (newEndDate) {\n setIsOpen(false);\n }\n };\n\n const _toggleInlineDatePicker = () => {\n checkOutDatePickerRef?.current?.toggle();\n setIsOpen(!isOpen);\n };\n\n const _checkInDate = (date?: dayjs.Dayjs, disabledClass?: boolean) => {\n return (\n <div className={disabledClass ? '' : bookingWizardStyles.item} onClick={_toggleInlineDatePicker}>\n <label className={styles.label}>Check-in</label>\n <Text className={styles.date}>{date?.format('MMM DD') || '-'}</Text>\n </div>\n );\n };\n\n const _checkOutDate = (date?: dayjs.Dayjs) => {\n return (\n <div className={bookingWizardStyles.item} onClick={_toggleInlineDatePicker}>\n <label className={styles.label}>Check-out</label>\n <Text className={styles.date}>{date?.format('MMM DD') || '-'}</Text>\n </div>\n );\n };\n\n const _combineDates = (checkIn?: dayjs.Dayjs, checkOut?: dayjs.Dayjs) => {\n return (\n <div onClick={_toggleInlineDatePicker}>\n <label className={styles.label}>Dates</label>\n <Text className={styles.date}>{`${checkIn?.format('MMM DD') || ''} - ${checkOut?.format('MMM DD') || ''}`}</Text>\n </div>\n );\n };\n\n const showMultipleMonths = layout === 'horizontal' && !isMobile;\n\n if (overlayType === 'inline') {\n return (\n <div className={classNames(styles.container, { [styles['--open']]: isOpen })}>\n <RowWrapper {...rowWrapperProps}>\n {_checkInDate(startDate)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate)}\n </RowWrapper>\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={isOpen}>\n <div className={styles['inline-box']}>\n <DateRangePicker\n selectedStartDate={startDate}\n selectedEndDate={endDate}\n onStartDateChanged={setStartDate}\n onEndDateChanged={_onCheckoutDateChange}\n theme={theme}\n />\n </div>\n </AutoAutoHeight>\n </div>\n </div>\n );\n }\n\n if (overlayType === 'bottom-sheet') {\n return (\n <>\n <RowWrapper {...rowWrapperProps}>\n {!isMobile && layout === 'horizontal' ? (\n <div className={bookingWizardStyles.item}>{_combineDates(startDate, endDate)}</div>\n ) : (\n <>\n {_checkInDate(startDate)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate)}\n </>\n )}\n </RowWrapper>\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['bottom-sheet-container'])}\n open={isOpen}\n onDismiss={() => setIsOpen(false)}\n header={\n <div className={styles.header}>\n <Text>Choose dates</Text> <Icon icon={IconType.Close} onClick={() => setIsOpen(false)} />\n </div>\n }\n >\n <div className={styles['bottom-sheet-container-box']}>\n <DateRangePicker\n selectedStartDate={startDate}\n selectedEndDate={endDate}\n onStartDateChanged={setSelectingStartDate}\n onEndDateChanged={setSelectingEndDate}\n theme={theme}\n />\n <BEButton\n wide\n className={styles.applyBtn}\n primary={true}\n filled={true}\n onClick={() => {\n setDate(selectingStartDate, selectingEndDate);\n }}\n >\n Apply\n </BEButton>\n </div>\n </BookingWizardBottomSheet>\n </>\n );\n }\n\n if (layout === 'horizontal' && theme === EBookingWizardTheme.Specific && !isMobile) {\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate}\n endDate={endDate}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n className={bookingWizardStyles.item}\n theme={theme}\n showMultipleMonths={showMultipleMonths}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n >\n {_combineDates(startDate, endDate)}\n </FloatingDateRangePicker>\n </RowWrapper>\n );\n }\n\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate}\n endDate={endDate}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n theme={theme}\n showMultipleMonths={showMultipleMonths}\n className={bookingWizardStyles.item}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n >\n {_checkInDate(startDate, true)}\n </FloatingDateRangePicker>\n <div className={layout !== 'button' && !isMobile ? bookingWizardStyles.divider : ''} />\n {_checkOutDate(endDate)}\n </RowWrapper>\n );\n};\n"]}
1
+ {"version":3,"file":"BookingWizardDateSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport dayjs from 'dayjs';\nimport React, { useState } from 'react';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport DateRangePicker from '@/components/generic/DateRangePicker/DateRangePicker';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { useWindowSize } from '@/hooks/WindowSize';\nimport FloatingDateRangePicker, { FloatingDateRangePickerHandle } from '../../DateRangePicker/FloatingDateRangePicker';\nimport Text from '../../Text';\nimport bookingWizardStyles from '../BookingWizard.module.scss';\nimport BookingWizardBottomSheet from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardDateSelector.module.scss';\nimport { EBookingWizardTheme } from '../BookingWizard';\n\nexport interface BookingWizardDateSelectorProps {\n open?: boolean;\n onChange?: (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => void;\n}\n\nexport const BookingWizardDateSelector: React.FC<BookingWizardDateSelectorProps> = (props) => {\n const { overlay, theme, layout, type: overlayType } = useBookingWizard();\n\n const checkOutDatePickerRef = React.useRef<FloatingDateRangePickerHandle>(null);\n\n const [startDate, setStartDate] = useState<dayjs.Dayjs | null>(dayjs());\n const [endDate, setEndDate] = useState<dayjs.Dayjs | null>(dayjs().add(1, 'days'));\n const [selectingStartDate, setSelectingStartDate] = useState<dayjs.Dayjs | null>(startDate);\n const [selectingEndDate, setSelectingEndDate] = useState<dayjs.Dayjs | null>(endDate);\n const [isOpen, setIsOpen] = useState(false);\n const [checkInWrapperRef, setCheckInWrapperRef] = React.useState(null);\n\n const { isMobile } = useWindowSize();\n\n let RowWrapper: any = React.Fragment;\n const rowWrapperProps = {} as any;\n if (layout === 'button' || isMobile) {\n RowWrapper = 'div';\n rowWrapperProps.className = bookingWizardStyles.itemGroup;\n rowWrapperProps.ref = (ref: any) => {\n if (layout === 'button') {\n setCheckInWrapperRef(ref);\n }\n };\n }\n\n const setDate = (startDate: dayjs.Dayjs, endDate: dayjs.Dayjs) => {\n setStartDate(startDate);\n setEndDate(endDate);\n\n setIsOpen(false);\n\n props.onChange(startDate, endDate);\n };\n\n const _onCheckoutDateChange = (newEndDate: dayjs.Dayjs) => {\n props?.onChange(startDate, newEndDate);\n\n setEndDate(newEndDate);\n if (newEndDate) {\n setIsOpen(false);\n }\n };\n\n const _toggleInlineDatePicker = () => {\n checkOutDatePickerRef?.current?.toggle();\n setIsOpen(!isOpen);\n };\n\n const _checkInDate = (date?: dayjs.Dayjs, disabledClass?: boolean) => {\n return (\n <div className={disabledClass ? '' : bookingWizardStyles.item} onClick={_toggleInlineDatePicker}>\n <label className={styles.label}>Check-in</label>\n <Text className={styles.date} bold={true}>\n {date?.format('MMM DD') || '-'}\n </Text>\n </div>\n );\n };\n\n const _checkOutDate = (date?: dayjs.Dayjs) => {\n return (\n <div className={bookingWizardStyles.item} onClick={_toggleInlineDatePicker}>\n <label className={styles.label}>Check-out</label>\n <Text className={styles.date} bold={true}>\n {date?.format('MMM DD') || '-'}\n </Text>\n </div>\n );\n };\n\n const _combineDates = (checkIn?: dayjs.Dayjs, checkOut?: dayjs.Dayjs) => {\n return (\n <div onClick={_toggleInlineDatePicker}>\n <label className={styles.label}>Dates</label>\n <Text className={styles.date} bold={true}>{`${checkIn?.format('MMM DD') || ''} - ${checkOut?.format('MMM DD') || ''}`}</Text>\n </div>\n );\n };\n\n const showMultipleMonths = layout === 'horizontal' && !isMobile;\n\n if (overlayType === 'inline') {\n return (\n <div className={classNames(styles.container, { [styles['--open']]: isOpen })}>\n <RowWrapper {...rowWrapperProps}>\n {_checkInDate(startDate)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate)}\n </RowWrapper>\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={isOpen}>\n <div className={styles['inline-box']}>\n <DateRangePicker\n selectedStartDate={startDate}\n selectedEndDate={endDate}\n onStartDateChanged={setStartDate}\n onEndDateChanged={_onCheckoutDateChange}\n theme={theme}\n />\n </div>\n </AutoAutoHeight>\n </div>\n </div>\n );\n }\n\n if (overlayType === 'bottom-sheet') {\n return (\n <>\n <RowWrapper {...rowWrapperProps}>\n {!isMobile && layout === 'horizontal' ? (\n <div className={bookingWizardStyles.item}>{_combineDates(startDate, endDate)}</div>\n ) : (\n <>\n {_checkInDate(startDate)}\n <div className={bookingWizardStyles.divider} />\n {_checkOutDate(endDate)}\n </>\n )}\n </RowWrapper>\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['bottom-sheet-container'])}\n open={isOpen}\n onDismiss={() => setIsOpen(false)}\n header={\n <div className={styles.header}>\n <Text>Choose dates</Text> <Icon icon={IconType.Close} onClick={() => setIsOpen(false)} />\n </div>\n }\n >\n <div className={styles['bottom-sheet-container-box']}>\n <DateRangePicker\n selectedStartDate={startDate}\n selectedEndDate={endDate}\n onStartDateChanged={setSelectingStartDate}\n onEndDateChanged={setSelectingEndDate}\n theme={theme}\n />\n <BEButton\n wide\n className={styles.applyBtn}\n primary={true}\n filled={true}\n onClick={() => {\n setDate(selectingStartDate, selectingEndDate);\n }}\n >\n Apply\n </BEButton>\n </div>\n </BookingWizardBottomSheet>\n </>\n );\n }\n\n if (layout === 'horizontal' && theme === EBookingWizardTheme.Specific && !isMobile) {\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate}\n endDate={endDate}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n className={bookingWizardStyles.item}\n theme={theme}\n showMultipleMonths={showMultipleMonths}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n >\n {_combineDates(startDate, endDate)}\n </FloatingDateRangePicker>\n </RowWrapper>\n );\n }\n\n return (\n <RowWrapper {...rowWrapperProps}>\n <FloatingDateRangePicker\n ref={checkOutDatePickerRef}\n container={checkInWrapperRef}\n startDate={startDate}\n endDate={endDate}\n selectedDateChanged={setDate}\n overlayOffset={overlay?.dateOffset}\n theme={theme}\n showMultipleMonths={showMultipleMonths}\n className={bookingWizardStyles.item}\n overlay={{\n placement: overlay?.placement,\n fallbackPlacements: overlay?.fallbackPlacements,\n }}\n >\n {_checkInDate(startDate, true)}\n </FloatingDateRangePicker>\n <div className={layout !== 'button' && !isMobile ? bookingWizardStyles.divider : ''} />\n {_checkOutDate(endDate)}\n </RowWrapper>\n );\n};\n"]}
@@ -103,7 +103,7 @@ const BookingWizardGuestSelector = ({ onChange }) => {
103
103
  };
104
104
  return (react_1.default.createElement("div", { ref: targetRef, className: (0, classnames_1.default)(BookingWizardGuestSelector_module_scss_1.default.container, { [BookingWizardGuestSelector_module_scss_1.default['--inline']]: overlayType === 'inline', [BookingWizardGuestSelector_module_scss_1.default['--open']]: open }) },
105
105
  react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizardGuestSelector_module_scss_1.default['container--search']), onClick: () => setOpen === null || setOpen === void 0 ? void 0 : setOpen(!open) },
106
- react_1.default.createElement(Text_1.default, { className: BookingWizardGuestSelector_module_scss_1.default['text-display'] }, getValueAsText()),
106
+ react_1.default.createElement(Text_1.default, { className: BookingWizardGuestSelector_module_scss_1.default['text-display'], bold: true }, getValueAsText()),
107
107
  react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.Dropdown })),
108
108
  content()));
109
109
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BookingWizardGuestSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport React, { FC, useEffect, useRef, useState } from 'react';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport NumberIncrement from '@/components/generic/NumberIncrement';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardGuestSelector.module.scss';\nimport BookingWizardBottomSheet from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport StringHelper from '@/util/StringHelper';\n\nexport interface BookingWizardGuestSelectorProps {\n onChange?: ({ adults, children, room }: { adults: number; children: number; room: number }) => void;\n}\n\nexport const BookingWizardGuestSelector: FC<BookingWizardGuestSelectorProps> = ({ onChange }) => {\n const { overlay, type: overlayType, theme } = useBookingWizard();\n\n const ref = useRef(null);\n const targetRef = useRef(null);\n\n const [adults, setAdults] = useState(1);\n const [children, setChildren] = useState(0);\n const [room, setRoom] = useState(1);\n const [editingAdults, setEditingAdults] = useState(adults);\n const [editingChildren, setEditingChildren] = useState(children);\n const [editingRoom, setEditingRoom] = useState(room);\n\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n setEditingAdults(adults);\n }, [adults]);\n\n useEffect(() => {\n setEditingChildren(children);\n }, [children]);\n\n const onApply = () => {\n setAdults(editingAdults);\n setChildren(editingChildren);\n setRoom(editingRoom);\n setOpen(false);\n onChange?.({ adults: editingAdults, children: editingChildren, room: editingRoom });\n };\n\n const getValueAsText = () => {\n const parts = [StringHelper.pluralWithCount(adults, 'Adult')];\n\n if (children > 0) {\n parts.push(StringHelper.pluralWithCount(children, 'Child'));\n }\n\n return parts.join(' - ');\n };\n\n const inner = (applyButton = true) => {\n return (\n <div className={styles['popper--box']}>\n <div className={styles['popper--content']} ref={ref}>\n <div className={styles.row}>\n <Text type={TextType.Small}>{StringHelper.plural(editingAdults, 'Adult')}</Text>\n <NumberIncrement number={editingAdults} min={1} max={10} onChange={applyButton ? setEditingAdults : setAdults} textSize={TextType.Small} />\n </div>\n <div className={styles.row}>\n <Text type={TextType.Small}>{StringHelper.plural(editingChildren, 'Child')}</Text>\n <NumberIncrement number={editingChildren} min={0} max={10} onChange={applyButton ? setEditingChildren : setChildren} textSize={TextType.Small} />\n </div>\n <div className={styles.row}>\n <Text type={TextType.Small}>{StringHelper.plural(editingRoom, 'Room')}</Text>\n <NumberIncrement number={editingRoom} min={1} max={10} onChange={applyButton ? setEditingRoom : setRoom} textSize={TextType.Small} />\n </div>\n {applyButton ? (\n <div className={styles['popper--action']}>\n <BEButton wide={overlayType === 'bottom-sheet'} className={styles.applyBtn} onClick={onApply}>\n Apply\n </BEButton>\n </div>\n ) : null}\n </div>\n </div>\n );\n };\n\n const content = () => {\n if (overlayType === 'inline') {\n return (\n <div className={styles.popper}>\n <AutoAutoHeight open={open}>{inner(false)}</AutoAutoHeight>\n </div>\n );\n }\n\n if (overlayType === 'bottom-sheet') {\n return (\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['--bottom-sheet'])}\n open={open}\n onDismiss={() => setOpen(false)}\n header={\n <div className={styles.header}>\n <Text>How many guests?</Text> <Icon icon={IconType.Close} onClick={() => setOpen(false)} />\n </div>\n }\n >\n <div className={styles.popper}>{inner()} </div>\n </BookingWizardBottomSheet>\n );\n }\n\n return (\n <Overlay\n offset={overlay?.offset}\n usePortal={false}\n followElement={targetRef.current}\n placement={overlay?.placement}\n fallbackPlacements={overlay?.fallbackPlacements}\n strategy={'absolute'}\n open={open}\n onClose={() => setOpen?.(!open)}\n className={styles.popper}\n containerClassName={styles['custom-overlay']}\n >\n {inner()}\n </Overlay>\n );\n };\n\n return (\n <div ref={targetRef} className={classNames(styles.container, { [styles['--inline']]: overlayType === 'inline', [styles['--open']]: open })}>\n <div className={classNames(styles['container--search'])} onClick={() => setOpen?.(!open)}>\n <Text className={styles['text-display']}>{getValueAsText()}</Text>\n\n <Icon icon={IconType.Dropdown} />\n </div>\n\n {content()}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"BookingWizardGuestSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport React, { FC, useEffect, useRef, useState } from 'react';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport BEButton from '@/components/generic/BEButton';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport NumberIncrement from '@/components/generic/NumberIncrement';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardGuestSelector.module.scss';\nimport BookingWizardBottomSheet from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport StringHelper from '@/util/StringHelper';\n\nexport interface BookingWizardGuestSelectorProps {\n onChange?: ({ adults, children, room }: { adults: number; children: number; room: number }) => void;\n}\n\nexport const BookingWizardGuestSelector: FC<BookingWizardGuestSelectorProps> = ({ onChange }) => {\n const { overlay, type: overlayType, theme } = useBookingWizard();\n\n const ref = useRef(null);\n const targetRef = useRef(null);\n\n const [adults, setAdults] = useState(1);\n const [children, setChildren] = useState(0);\n const [room, setRoom] = useState(1);\n const [editingAdults, setEditingAdults] = useState(adults);\n const [editingChildren, setEditingChildren] = useState(children);\n const [editingRoom, setEditingRoom] = useState(room);\n\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n setEditingAdults(adults);\n }, [adults]);\n\n useEffect(() => {\n setEditingChildren(children);\n }, [children]);\n\n const onApply = () => {\n setAdults(editingAdults);\n setChildren(editingChildren);\n setRoom(editingRoom);\n setOpen(false);\n onChange?.({ adults: editingAdults, children: editingChildren, room: editingRoom });\n };\n\n const getValueAsText = () => {\n const parts = [StringHelper.pluralWithCount(adults, 'Adult')];\n\n if (children > 0) {\n parts.push(StringHelper.pluralWithCount(children, 'Child'));\n }\n\n return parts.join(' - ');\n };\n\n const inner = (applyButton = true) => {\n return (\n <div className={styles['popper--box']}>\n <div className={styles['popper--content']} ref={ref}>\n <div className={styles.row}>\n <Text type={TextType.Small}>{StringHelper.plural(editingAdults, 'Adult')}</Text>\n <NumberIncrement number={editingAdults} min={1} max={10} onChange={applyButton ? setEditingAdults : setAdults} textSize={TextType.Small} />\n </div>\n <div className={styles.row}>\n <Text type={TextType.Small}>{StringHelper.plural(editingChildren, 'Child')}</Text>\n <NumberIncrement number={editingChildren} min={0} max={10} onChange={applyButton ? setEditingChildren : setChildren} textSize={TextType.Small} />\n </div>\n <div className={styles.row}>\n <Text type={TextType.Small}>{StringHelper.plural(editingRoom, 'Room')}</Text>\n <NumberIncrement number={editingRoom} min={1} max={10} onChange={applyButton ? setEditingRoom : setRoom} textSize={TextType.Small} />\n </div>\n {applyButton ? (\n <div className={styles['popper--action']}>\n <BEButton wide={overlayType === 'bottom-sheet'} className={styles.applyBtn} onClick={onApply}>\n Apply\n </BEButton>\n </div>\n ) : null}\n </div>\n </div>\n );\n };\n\n const content = () => {\n if (overlayType === 'inline') {\n return (\n <div className={styles.popper}>\n <AutoAutoHeight open={open}>{inner(false)}</AutoAutoHeight>\n </div>\n );\n }\n\n if (overlayType === 'bottom-sheet') {\n return (\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['--bottom-sheet'])}\n open={open}\n onDismiss={() => setOpen(false)}\n header={\n <div className={styles.header}>\n <Text>How many guests?</Text> <Icon icon={IconType.Close} onClick={() => setOpen(false)} />\n </div>\n }\n >\n <div className={styles.popper}>{inner()} </div>\n </BookingWizardBottomSheet>\n );\n }\n\n return (\n <Overlay\n offset={overlay?.offset}\n usePortal={false}\n followElement={targetRef.current}\n placement={overlay?.placement}\n fallbackPlacements={overlay?.fallbackPlacements}\n strategy={'absolute'}\n open={open}\n onClose={() => setOpen?.(!open)}\n className={styles.popper}\n containerClassName={styles['custom-overlay']}\n >\n {inner()}\n </Overlay>\n );\n };\n\n return (\n <div ref={targetRef} className={classNames(styles.container, { [styles['--inline']]: overlayType === 'inline', [styles['--open']]: open })}>\n <div className={classNames(styles['container--search'])} onClick={() => setOpen?.(!open)}>\n <Text className={styles['text-display']} bold={true}>\n {getValueAsText()}\n </Text>\n\n <Icon icon={IconType.Dropdown} />\n </div>\n\n {content()}\n </div>\n );\n};\n"]}
@@ -121,7 +121,7 @@ const BookingWizardHotelSelector = (props) => {
121
121
  if (type === 'bottom-sheet') {
122
122
  return (react_1.default.createElement(react_1.default.Fragment, null,
123
123
  react_1.default.createElement("div", { onClick: onOpenDrawer },
124
- react_1.default.createElement(Text_1.default, null, selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name)),
124
+ react_1.default.createElement(Text_1.default, { className: BookingWizardHotelSelector_module_scss_1.default.optionLabel, bold: true }, selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name)),
125
125
  react_1.default.createElement(BookingWizardBottomSheet_1.default, { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default.container, BookingWizardHotelSelector_module_scss_1.default['--bottom-sheet']), open: open, onDismiss: () => setOpen(false), header: react_1.default.createElement("div", { className: BookingWizardHotelSelector_module_scss_1.default.header },
126
126
  react_1.default.createElement(Text_1.default, null, "Choose hotel"),
127
127
  " ",
@@ -137,7 +137,7 @@ const BookingWizardHotelSelector = (props) => {
137
137
  }, renderOption: (property) => (react_1.default.createElement("div", { className: (0, classnames_1.default)(BookingWizardHotelSelector_module_scss_1.default['container--suggest-list-hotel'], { [BookingWizardHotelSelector_module_scss_1.default['--selected']]: (selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.id) === property.id }) },
138
138
  react_1.default.createElement("div", { className: BookingWizardHotelSelector_module_scss_1.default['container--suggest-list-hotel-name'] }, property.name),
139
139
  react_1.default.createElement("div", { className: BookingWizardHotelSelector_module_scss_1.default.check }))), renderLabel: (option) => {
140
- return react_1.default.createElement(Text_1.default, null, (option === null || option === void 0 ? void 0 : option.name) || react_1.default.createElement("span", { className: BookingWizardHotelSelector_module_scss_1.default['hotel-dropdown-label'] }, "Please Select"));
140
+ return (react_1.default.createElement(Text_1.default, { className: BookingWizardHotelSelector_module_scss_1.default.optionLabel, bold: true }, (option === null || option === void 0 ? void 0 : option.name) || react_1.default.createElement("span", { className: BookingWizardHotelSelector_module_scss_1.default['hotel-dropdown-label'] }, "Please Select")));
141
141
  } }));
142
142
  };
143
143
  exports.BookingWizardHotelSelector = BookingWizardHotelSelector;
@@ -1 +1 @@
1
- {"version":3,"file":"BookingWizardHotelSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport React, { useMemo, useState } from 'react';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { Color } from '@/util/Color';\nimport { Select } from '../../Select/Select';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardHotelSelector.module.scss';\nimport BookingWizardBottomSheet from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport ColorProfile from '@/models/Client/Hotel/ColorProfile';\n\ninterface BookingWizardHotelSelectorProps {\n disabled?: boolean;\n\n selectedProperty?: BookingWizardProperty;\n properties: TBookingWizardProperties;\n\n onChange?: (hotel: BookingWizardProperty | null) => void;\n}\n\ninterface TOptionedProperties extends BookingWizardProperty {\n options?: BookingWizardProperty[];\n}\n\nexport const BookingWizardHotelSelector = (props: BookingWizardHotelSelectorProps) => {\n const { overlay, type } = useBookingWizard();\n\n const [open, setOpen] = useState(false);\n const [isOnlyProperty, setIsOnlyProperty] = useState(false);\n\n const { selectedProperty, properties } = props;\n\n const optionedProperties = useMemo(() => {\n let isOnly = false;\n\n const options: TOptionedProperties[] = [];\n\n // Here we group each key as a new TOption Group to order hotels better.\n const propertyKeys = Object.keys(properties);\n if (propertyKeys.length > 1) {\n propertyKeys.forEach((propertyKey: string) => {\n const option: TOptionedProperties = {\n name: propertyKey,\n id: '',\n options: [],\n colors: {} as ColorProfile,\n };\n\n for (const property of properties[propertyKey]) {\n option.options.push(property);\n }\n\n options.push(option);\n });\n } else if (propertyKeys.length === 1) {\n properties[propertyKeys[0]].forEach((option) => {\n options.push(option);\n });\n\n if (properties[propertyKeys[0]].length == 1 && properties[propertyKeys[0]][0].id === selectedProperty?.id) {\n isOnly = true;\n }\n }\n\n setIsOnlyProperty(isOnly);\n\n return options;\n }, [properties]);\n\n const onPropertyClick = (property: BookingWizardProperty): void => {\n props.onChange?.(property);\n setOpen(false);\n };\n\n const getOption = (key: BookingWizardProperty['id']): BookingWizardProperty => {\n const indexes = Object.keys(properties);\n\n for (const index of indexes) {\n for (const property of properties[index]) {\n if (key === property.id) {\n return property;\n }\n }\n }\n };\n\n const renderOptions = (): any => {\n const indexes = Object.keys(properties);\n\n if (indexes.length > 1) {\n return indexes.map((indexName) => renderGroup(indexName, properties[indexName]));\n } else if (indexes.length === 1) {\n return properties[indexes[0]].map((property) => renderOption(property));\n }\n };\n\n const renderGroup = (name: string, options: BookingWizardProperty[]) => {\n return (\n <>\n <div className={classNames(styles['container--suggest-list-hotel'], styles['--group-title'])}>\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {name}\n </Text>\n </div>\n {options.map((option) => renderOption(option))}\n </>\n );\n };\n\n const renderOption = (property: BookingWizardProperty) => {\n return (\n <div\n key={property.id}\n className={classNames(styles['container--suggest-list-hotel'], { [styles['--selected']]: selectedProperty?.id === property.id })}\n onClick={() => onPropertyClick(property)}\n >\n <div className={styles['container--suggest-list-hotel-name']}>{property.name}</div>\n <div className={styles.check}></div>\n </div>\n );\n };\n\n const onOpenDrawer = () => {\n setOpen(true);\n };\n\n if (isOnlyProperty) {\n return <Text>{selectedProperty.name}</Text>;\n }\n\n if (type === 'inline') {\n return (\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={open}>\n <div className={styles['inline-box']}>{renderOptions()}</div>\n </AutoAutoHeight>\n </div>\n );\n }\n\n if (type === 'bottom-sheet') {\n return (\n <>\n <div onClick={onOpenDrawer}>\n <Text>{selectedProperty?.name}</Text>\n </div>\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['--bottom-sheet'])}\n open={open}\n onDismiss={() => setOpen(false)}\n header={\n <div className={styles.header}>\n <Text>Choose hotel</Text> <Icon icon={IconType.Close} onClick={() => setOpen(false)} />\n </div>\n }\n >\n <div className={styles.content}>{renderOptions()}</div>\n </BookingWizardBottomSheet>\n </>\n );\n }\n\n return (\n <Select<BookingWizardProperty, 'id'>\n offset={overlay?.offset}\n options={optionedProperties}\n value={selectedProperty?.id}\n onChange={(value) => onPropertyClick(getOption(value))}\n keyName=\"id\"\n labelName=\"name\"\n overlay={{\n containerClassName: styles['custom-overlay'],\n strategy: 'absolute',\n usePortal: false,\n placement: overlay?.placement || 'bottom',\n fallbackPlacements: overlay?.fallbackPlacements || 'bottom',\n }}\n renderOption={(property) => (\n <div className={classNames(styles['container--suggest-list-hotel'], { [styles['--selected']]: selectedProperty?.id === property.id })}>\n <div className={styles['container--suggest-list-hotel-name']}>{property.name}</div>\n <div className={styles.check}></div>\n </div>\n )}\n renderLabel={(option) => {\n return <Text>{option?.name || <span className={styles['hotel-dropdown-label']}>Please Select</span>}</Text>;\n }}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"BookingWizardHotelSelector.js","sourceRoot":"/","sources":["src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames';\nimport React, { useMemo, useState } from 'react';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { Color } from '@/util/Color';\nimport { Select } from '../../Select/Select';\nimport { useBookingWizard } from '../BookingWizardContext';\nimport styles from './BookingWizardHotelSelector.module.scss';\nimport BookingWizardBottomSheet from '../BookingWizardBottomSheet/BookingWizardBottomSheet';\nimport { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport ColorProfile from '@/models/Client/Hotel/ColorProfile';\n\ninterface BookingWizardHotelSelectorProps {\n disabled?: boolean;\n\n selectedProperty?: BookingWizardProperty;\n properties: TBookingWizardProperties;\n\n onChange?: (hotel: BookingWizardProperty | null) => void;\n}\n\ninterface TOptionedProperties extends BookingWizardProperty {\n options?: BookingWizardProperty[];\n}\n\nexport const BookingWizardHotelSelector = (props: BookingWizardHotelSelectorProps) => {\n const { overlay, type } = useBookingWizard();\n\n const [open, setOpen] = useState(false);\n const [isOnlyProperty, setIsOnlyProperty] = useState(false);\n\n const { selectedProperty, properties } = props;\n\n const optionedProperties = useMemo(() => {\n let isOnly = false;\n\n const options: TOptionedProperties[] = [];\n\n // Here we group each key as a new TOption Group to order hotels better.\n const propertyKeys = Object.keys(properties);\n if (propertyKeys.length > 1) {\n propertyKeys.forEach((propertyKey: string) => {\n const option: TOptionedProperties = {\n name: propertyKey,\n id: '',\n options: [],\n colors: {} as ColorProfile,\n };\n\n for (const property of properties[propertyKey]) {\n option.options.push(property);\n }\n\n options.push(option);\n });\n } else if (propertyKeys.length === 1) {\n properties[propertyKeys[0]].forEach((option) => {\n options.push(option);\n });\n\n if (properties[propertyKeys[0]].length == 1 && properties[propertyKeys[0]][0].id === selectedProperty?.id) {\n isOnly = true;\n }\n }\n\n setIsOnlyProperty(isOnly);\n\n return options;\n }, [properties]);\n\n const onPropertyClick = (property: BookingWizardProperty): void => {\n props.onChange?.(property);\n setOpen(false);\n };\n\n const getOption = (key: BookingWizardProperty['id']): BookingWizardProperty => {\n const indexes = Object.keys(properties);\n\n for (const index of indexes) {\n for (const property of properties[index]) {\n if (key === property.id) {\n return property;\n }\n }\n }\n };\n\n const renderOptions = (): any => {\n const indexes = Object.keys(properties);\n\n if (indexes.length > 1) {\n return indexes.map((indexName) => renderGroup(indexName, properties[indexName]));\n } else if (indexes.length === 1) {\n return properties[indexes[0]].map((property) => renderOption(property));\n }\n };\n\n const renderGroup = (name: string, options: BookingWizardProperty[]) => {\n return (\n <>\n <div className={classNames(styles['container--suggest-list-hotel'], styles['--group-title'])}>\n <Text type={TextType.Small} color={Color.DarkGrey}>\n {name}\n </Text>\n </div>\n {options.map((option) => renderOption(option))}\n </>\n );\n };\n\n const renderOption = (property: BookingWizardProperty) => {\n return (\n <div\n key={property.id}\n className={classNames(styles['container--suggest-list-hotel'], { [styles['--selected']]: selectedProperty?.id === property.id })}\n onClick={() => onPropertyClick(property)}\n >\n <div className={styles['container--suggest-list-hotel-name']}>{property.name}</div>\n <div className={styles.check}></div>\n </div>\n );\n };\n\n const onOpenDrawer = () => {\n setOpen(true);\n };\n\n if (isOnlyProperty) {\n return <Text>{selectedProperty.name}</Text>;\n }\n\n if (type === 'inline') {\n return (\n <div className={styles['inline-container']}>\n <AutoAutoHeight open={open}>\n <div className={styles['inline-box']}>{renderOptions()}</div>\n </AutoAutoHeight>\n </div>\n );\n }\n\n if (type === 'bottom-sheet') {\n return (\n <>\n <div onClick={onOpenDrawer}>\n <Text className={styles.optionLabel} bold={true}>\n {selectedProperty?.name}\n </Text>\n </div>\n <BookingWizardBottomSheet\n className={classNames(styles.container, styles['--bottom-sheet'])}\n open={open}\n onDismiss={() => setOpen(false)}\n header={\n <div className={styles.header}>\n <Text>Choose hotel</Text> <Icon icon={IconType.Close} onClick={() => setOpen(false)} />\n </div>\n }\n >\n <div className={styles.content}>{renderOptions()}</div>\n </BookingWizardBottomSheet>\n </>\n );\n }\n\n return (\n <Select<BookingWizardProperty, 'id'>\n offset={overlay?.offset}\n options={optionedProperties}\n value={selectedProperty?.id}\n onChange={(value) => onPropertyClick(getOption(value))}\n keyName=\"id\"\n labelName=\"name\"\n overlay={{\n containerClassName: styles['custom-overlay'],\n strategy: 'absolute',\n usePortal: false,\n placement: overlay?.placement || 'bottom',\n fallbackPlacements: overlay?.fallbackPlacements || 'bottom',\n }}\n renderOption={(property) => (\n <div className={classNames(styles['container--suggest-list-hotel'], { [styles['--selected']]: selectedProperty?.id === property.id })}>\n <div className={styles['container--suggest-list-hotel-name']}>{property.name}</div>\n <div className={styles.check}></div>\n </div>\n )}\n renderLabel={(option) => {\n return (\n <Text className={styles.optionLabel} bold={true}>\n {option?.name || <span className={styles['hotel-dropdown-label']}>Please Select</span>}\n </Text>\n );\n }}\n />\n );\n};\n"]}
@@ -20,6 +20,8 @@ class BookingWizardEngine extends BaseEngine_1.BaseEngine {
20
20
  constructor(bookingContainer, config) {
21
21
  super(bookingContainer, config);
22
22
  this.source = BaseEngine_1.BookingEngineSource.BookingWizard;
23
+ // TODO: Make this a more permanent solution
24
+ RoomstayThemeEngine_1.default.EngineContainer.classList.add('--transparent-bg');
23
25
  }
24
26
  render() {
25
27
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"BookingWizardEngine.js","sourceRoot":"/","sources":["src/engines/BookingWizardEngine/BookingWizardEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,qDAAyF;AAGzF,0FAAkE;AAClE,6EAAmE;AAcnE,MAAa,mBAAoB,SAAQ,uBAAqC;IAC1E,YAAmB,gBAA6B,EAAE,MAAkC;QAChF,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,aAAa,CAAC;IACpD,CAAC;IAEe,MAAM;;YAClB,IAAA,gDAAmB,EAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;QACzG,CAAC;KAAA;CACJ;AATD,kDASC","sourcesContent":["import type { BookingWizardContextType } from '@/components/generic/BookingWizard/BookingWizardContext';\nimport { BaseEngine, BaseEngineConfig, BookingEngineSource } from '@/engines/BaseEngine';\nimport type { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport type { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { renderBookingWizard } from './BookingWizardEngineElement';\n\nexport interface BookingWizardEngineConfig extends BaseEngineConfig {\n widgetType: 'property' | 'group';\n theme: 'specific' | 'default';\n layout: 'horizontal' | 'vertical' | 'button';\n\n properties: TBookingWizardProperties;\n selectedProperty?: BookingWizardProperty;\n defaultColors: BookingWizardProperty['colors'];\n\n onSubmit?: BookingWizardContextType['onSubmit'];\n}\n\nexport class BookingWizardEngine extends BaseEngine<BookingWizardEngineConfig> {\n public constructor(bookingContainer: HTMLElement, config?: BookingWizardEngineConfig) {\n super(bookingContainer, config);\n this.source = BookingEngineSource.BookingWizard;\n }\n\n protected async render() {\n renderBookingWizard(RoomstayThemeEngine.createElementOrReuseExisting('div', 'booking-wizard'), this);\n }\n}\n"]}
1
+ {"version":3,"file":"BookingWizardEngine.js","sourceRoot":"/","sources":["src/engines/BookingWizardEngine/BookingWizardEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,qDAAyF;AAGzF,0FAAkE;AAClE,6EAAmE;AAcnE,MAAa,mBAAoB,SAAQ,uBAAqC;IAC1E,YAAmB,gBAA6B,EAAE,MAAkC;QAChF,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,gCAAmB,CAAC,aAAa,CAAC;QAEhD,4CAA4C;QAC5C,6BAAmB,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAEe,MAAM;;YAClB,IAAA,gDAAmB,EAAC,6BAAmB,CAAC,4BAA4B,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;QACzG,CAAC;KAAA;CACJ;AAZD,kDAYC","sourcesContent":["import type { BookingWizardContextType } from '@/components/generic/BookingWizard/BookingWizardContext';\nimport { BaseEngine, BaseEngineConfig, BookingEngineSource } from '@/engines/BaseEngine';\nimport type { BookingWizardProperty } from '@/models/BookingWizard/BookingWizardProperty';\nimport type { TBookingWizardProperties } from '@/models/BookingWizard/BookingWizardTypes';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { renderBookingWizard } from './BookingWizardEngineElement';\n\nexport interface BookingWizardEngineConfig extends BaseEngineConfig {\n widgetType: 'property' | 'group';\n theme: 'specific' | 'default';\n layout: 'horizontal' | 'vertical' | 'button';\n\n properties: TBookingWizardProperties;\n selectedProperty?: BookingWizardProperty;\n defaultColors: BookingWizardProperty['colors'];\n\n onSubmit?: BookingWizardContextType['onSubmit'];\n}\n\nexport class BookingWizardEngine extends BaseEngine<BookingWizardEngineConfig> {\n public constructor(bookingContainer: HTMLElement, config?: BookingWizardEngineConfig) {\n super(bookingContainer, config);\n this.source = BookingEngineSource.BookingWizard;\n\n // TODO: Make this a more permanent solution\n RoomstayThemeEngine.EngineContainer.classList.add('--transparent-bg');\n }\n\n protected async render() {\n renderBookingWizard(RoomstayThemeEngine.createElementOrReuseExisting('div', 'booking-wizard'), this);\n }\n}\n"]}