@prijsvrijtechsupport/ui 0.0.47 → 0.0.49
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.
- package/dist/.storybook/preview.d.ts +5 -0
- package/dist/components/priceBox/styles.css +3 -0
- package/dist/components/priceCheck/styles.css +6 -1
- package/dist/components/slider/styles.css +3 -0
- package/dist/dist/index.css +24 -1
- package/dist/dist/index.css.map +1 -1
- package/dist/index.cjs +390 -1369
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +393 -1354
- package/dist/index.js.map +1 -1
- package/dist/src/components/accordion/Accordion.stories.d.ts +23 -0
- package/dist/src/components/blogWidget/BlogWidget.stories.d.ts +35 -0
- package/dist/src/components/button/Button.stories.d.ts +289 -0
- package/dist/src/components/calendar/Calendar.stories.d.ts +19 -0
- package/dist/src/components/categoryFilter/CategoryFilter.stories.d.ts +21 -0
- package/dist/src/components/chatbot/Chatbot.stories.d.ts +16 -0
- package/dist/src/components/checkbox/Checkbox.stories.d.ts +142 -0
- package/dist/src/components/collection/Collection.stories.d.ts +23 -0
- package/dist/src/components/counterIcon/CounterIcon.stories.d.ts +20 -0
- package/dist/src/components/coupon/Coupon.stories.d.ts +23 -0
- package/dist/src/components/divider/Divider.stories.d.ts +15 -0
- package/dist/src/components/dropdown/Dropdown.stories.d.ts +31 -0
- package/dist/src/components/filterButton/FilterButton.stories.d.ts +42 -0
- package/dist/src/components/filters/FilterButton.stories.d.ts +36 -0
- package/dist/src/components/filters/FilterItem.stories.d.ts +32 -0
- package/dist/src/components/flightSwitch/FlightSwitch.stories.d.ts +18 -0
- package/dist/src/components/footer/Footer.stories.d.ts +46 -0
- package/dist/src/components/giftCard/GiftCard.stories.d.ts +23 -0
- package/dist/{components → src/components}/giftCard/index.d.ts +2 -2
- package/dist/src/components/hamburgerMenuButton/HamburgerMenuButton.stories.d.ts +12 -0
- package/dist/src/components/header/Header.stories.d.ts +15 -0
- package/dist/{components → src/components}/header/index.d.ts +1 -1
- package/dist/src/components/hero/Hero.stories.d.ts +54 -0
- package/dist/{components → src/components}/hero/index.d.ts +3 -1
- package/dist/src/components/hotelAccomodationResults/HotelAccomodationResults.stories.d.ts +45 -0
- package/dist/src/components/hotelWidget/HotelWidget.stories.d.ts +43 -0
- package/dist/src/components/label/Label.stories.d.ts +17 -0
- package/dist/src/components/linkBox/LinkBox.stories.d.ts +20 -0
- package/dist/src/components/loading/Loading.stories.d.ts +17 -0
- package/dist/src/components/logo/Logo.stories.d.ts +14 -0
- package/dist/src/components/map/Map.stories.d.ts +15 -0
- package/dist/src/components/matrixTable/MatrixTable.stories.d.ts +55 -0
- package/dist/src/components/menu/Menu.stories.d.ts +42 -0
- package/dist/src/components/middleNavigation/MiddleNavigation.stories.d.ts +20 -0
- package/dist/src/components/nominations/Nominations.stories.d.ts +15 -0
- package/dist/src/components/numberField/NumberField.stories.d.ts +25 -0
- package/dist/src/components/pageNavigation/PageNavigation.stories.d.ts +19 -0
- package/dist/src/components/pageRating/PageRating.stories.d.ts +19 -0
- package/dist/src/components/phoneNumberInput/PhoneNumberInput.stories.d.ts +19 -0
- package/dist/src/components/photoCardsRotated/PhotoCardsRotated.stories.d.ts +21 -0
- package/dist/{components → src/components}/priceBox/index.d.ts +4 -1
- package/dist/src/components/priceCheck/Pricecheck.stories.d.ts +39 -0
- package/dist/src/components/profileMenu/ProfileMenu.stories.d.ts +92 -0
- package/dist/src/components/progressBar/ProgressBar.stories.d.ts +18 -0
- package/dist/src/components/pvPopup/PvPopup.stories.d.ts +38 -0
- package/dist/src/components/quantityButtons/QuantityButtons.stories.d.ts +19 -0
- package/dist/src/components/radioButton/RadioButton.stories.d.ts +18 -0
- package/dist/src/components/rangeSlider/RangeSlider.stories.d.ts +292 -0
- package/dist/src/components/rangeSlider/index.d.ts +16 -0
- package/dist/src/components/rating/Rating.stories.d.ts +16 -0
- package/dist/src/components/regionSelector/RegionSelector.stories.d.ts +15 -0
- package/dist/src/components/resultPageFilterBox/resultPageFilterBox.stories.d.ts +46 -0
- package/dist/src/components/review/Review.stories.d.ts +18 -0
- package/dist/src/components/reviewSmall/ReviewSmall.stories.d.ts +16 -0
- package/dist/src/components/reviews/Reviews.stories.d.ts +27 -0
- package/dist/src/components/scrollToTop/ScrollToTop.stories.d.ts +16 -0
- package/dist/src/components/searchBlock/SearchBlock.stories.d.ts +18 -0
- package/dist/src/components/searchBox/SearchBox.stories.d.ts +81 -0
- package/dist/src/components/searchBoxResults/SearchBoxResults.stories.d.ts +35 -0
- package/dist/src/components/searchInput/SearchInput.stories.d.ts +112 -0
- package/dist/src/components/skeleton/Skeleton.stories.d.ts +15 -0
- package/dist/src/components/slider/Slider.stories.d.ts +136 -0
- package/dist/{components → src/components}/slider/index.d.ts +5 -2
- package/dist/src/components/spotlights/Spotlights.stories.d.ts +19 -0
- package/dist/src/components/stepper/Stepper.stories.d.ts +15 -0
- package/dist/src/components/stickyFooter/StickyFooter.stories.d.ts +15 -0
- package/dist/src/components/stickyMobileButton/StickyMobileButtonWrapper.stories.d.ts +13 -0
- package/dist/src/components/table/Table.stories.d.ts +13 -0
- package/dist/src/components/table/tableCell/TableCell.stories.d.ts +16 -0
- package/dist/src/components/table/tableRow/TableRow.stories.d.ts +13 -0
- package/dist/src/components/temp/Temp.stories.d.ts +15 -0
- package/dist/src/components/textArea/Textarea.stories.d.ts +19 -0
- package/dist/src/components/textInput/TextInput.stories.d.ts +166 -0
- package/dist/src/components/timeInput/TimeInput.stories.d.ts +89 -0
- package/dist/src/components/toggle/Toggle.stories.d.ts +156 -0
- package/dist/src/components/topHeaderMenu/TopHeaderMenu.stories.d.ts +31 -0
- package/dist/src/components/topMenu/TopMenu.stories.d.ts +15 -0
- package/dist/src/components/truncatedText/TruncatedText.stories.d.ts +28 -0
- package/dist/src/components/unorderedList/UnorderedList.stories.d.ts +30 -0
- package/dist/src/components/unorderedListItem/UnorderedListItem.stories.d.ts +30 -0
- package/dist/src/components/usp/Usp.stories.d.ts +29 -0
- package/dist/src/components/viewedAccomodations/ViewedAccomodations.stories.d.ts +45 -0
- package/dist/src/components/warningText/WarningText.stories.d.ts +16 -0
- package/dist/src/components/weather/Weather.stories.d.ts +43 -0
- package/dist/src/icons/IconImage.d.ts +2 -0
- package/dist/src/icons/Icons.stories.d.ts +36 -0
- package/dist/{icons → src/icons}/index.d.ts +1 -0
- package/dist/{index.d.ts → src/index.d.ts} +0 -19
- package/dist/styles/utilities.css +2 -0
- package/dist/styles/variables.css +11 -1
- package/package.json +3 -1
- package/dist/components/actionIcon/ActionIcon.test.d.ts +0 -1
- package/dist/components/actionIcon/index.d.ts +0 -24
- package/dist/components/alert/Alert.test.d.ts +0 -1
- package/dist/components/alert/index.d.ts +0 -17
- package/dist/components/autoCompleteInput/autoCompleteInput.test.d.ts +0 -1
- package/dist/components/autoCompleteInput/index.d.ts +0 -17
- package/dist/components/avatar/avatar.test.d.ts +0 -1
- package/dist/components/avatar/index.d.ts +0 -22
- package/dist/components/avatarIndicator/avatarIndicator.test.d.ts +0 -1
- package/dist/components/avatarIndicator/index.d.ts +0 -6
- package/dist/components/badge/badge.test.d.ts +0 -1
- package/dist/components/badge/index.d.ts +0 -27
- package/dist/components/bigBadge/bigBadge.test.d.ts +0 -1
- package/dist/components/bigBadge/index.d.ts +0 -9
- package/dist/components/breadCrumb/breadCrumb.test.d.ts +0 -1
- package/dist/components/breadCrumb/index.d.ts +0 -13
- package/dist/components/datePickerInput/DatePickerInput.dropdown.test.d.ts +0 -1
- package/dist/components/datePickerInput/DatePickerInput.test.d.ts +0 -1
- package/dist/components/datePickerInput/index.d.ts +0 -20
- package/dist/components/favouriteButton/FavouriteButton.test.d.ts +0 -1
- package/dist/components/favouriteButton/index.d.ts +0 -19
- package/dist/components/island/index.d.ts +0 -12
- package/dist/components/island/island.test.d.ts +0 -1
- package/dist/components/modal/index.d.ts +0 -19
- package/dist/components/modal/modal.test.d.ts +0 -1
- package/dist/components/passwordInput/index.d.ts +0 -1
- package/dist/components/passwordInput/passwordInput.test.d.ts +0 -1
- package/dist/components/popover/index.d.ts +0 -6
- package/dist/components/popover/popover.test.d.ts +0 -1
- package/dist/components/rangeSlider/index.d.ts +0 -16
- package/dist/components/select/index.d.ts +0 -1
- package/dist/components/select/select.test.d.ts +0 -1
- package/dist/components/skillPill/index.d.ts +0 -6
- package/dist/components/skillPill/skillPill.test.d.ts +0 -1
- package/dist/components/tabs/Tab.d.ts +0 -11
- package/dist/components/tabs/Tab.test.d.ts +0 -1
- package/dist/components/tabs/TabsBadge.d.ts +0 -7
- package/dist/components/tabs/TabsBadge.test.d.ts +0 -1
- package/dist/components/tabs/TabsWrapper.d.ts +0 -17
- package/dist/components/tabs/TabsWrapper.test.d.ts +0 -1
- package/dist/components/tabs/index.d.ts +0 -3
- package/dist/components/tabs/tabs.test.d.ts +0 -1
- package/dist/components/unstyledButton/index.d.ts +0 -1
- package/dist/components/unstyledButton/unstyledButton.test.d.ts +0 -1
- /package/dist/{components → src/components}/accordion/AccordionItem.d.ts +0 -0
- /package/dist/{components → src/components}/accordion/accordion.test.d.ts +0 -0
- /package/dist/{components → src/components}/accordion/index.d.ts +0 -0
- /package/dist/{components → src/components}/blogWidget/BlogWidget.test.d.ts +0 -0
- /package/dist/{components → src/components}/blogWidget/index.d.ts +0 -0
- /package/dist/{components → src/components}/button/Button.test.d.ts +0 -0
- /package/dist/{components → src/components}/button/buttonVariants.d.ts +0 -0
- /package/dist/{components → src/components}/button/index.d.ts +0 -0
- /package/dist/{components → src/components}/calendar/Calendar.test.d.ts +0 -0
- /package/dist/{components → src/components}/calendar/index.d.ts +0 -0
- /package/dist/{components → src/components}/categoryFilter/CategoryFilter.test.d.ts +0 -0
- /package/dist/{components → src/components}/categoryFilter/index.d.ts +0 -0
- /package/dist/{components → src/components}/chatbot/index.d.ts +0 -0
- /package/dist/{components → src/components}/checkbox/checkbox.test.d.ts +0 -0
- /package/dist/{components → src/components}/checkbox/index.d.ts +0 -0
- /package/dist/{components → src/components}/collection/Collection.test.d.ts +0 -0
- /package/dist/{components → src/components}/collection/index.d.ts +0 -0
- /package/dist/{components → src/components}/colorScheme/index.d.ts +0 -0
- /package/dist/{components → src/components}/counterIcon/counterIcon.test.d.ts +0 -0
- /package/dist/{components → src/components}/counterIcon/index.d.ts +0 -0
- /package/dist/{components → src/components}/coupon/coupon.test.d.ts +0 -0
- /package/dist/{components → src/components}/coupon/index.d.ts +0 -0
- /package/dist/{components → src/components}/divider/divider.test.d.ts +0 -0
- /package/dist/{components → src/components}/divider/index.d.ts +0 -0
- /package/dist/{components → src/components}/dropdown/dropdown.test.d.ts +0 -0
- /package/dist/{components → src/components}/dropdown/index.d.ts +0 -0
- /package/dist/{components → src/components}/filterButton/filterButton.test.d.ts +0 -0
- /package/dist/{components → src/components}/filterButton/index.d.ts +0 -0
- /package/dist/{components → src/components}/filters/FilterButton.d.ts +0 -0
- /package/dist/{components → src/components}/filters/FilterButton.test.d.ts +0 -0
- /package/dist/{components → src/components}/filters/FilterItem.d.ts +0 -0
- /package/dist/{components → src/components}/filters/FilterItem.test.d.ts +0 -0
- /package/dist/{components → src/components}/filters/filters.test.d.ts +0 -0
- /package/dist/{components → src/components}/filters/index.d.ts +0 -0
- /package/dist/{components → src/components}/flightSwitch/flightSwitch.test.d.ts +0 -0
- /package/dist/{components → src/components}/flightSwitch/index.d.ts +0 -0
- /package/dist/{components → src/components}/footer/Footer.test.d.ts +0 -0
- /package/dist/{components → src/components}/footer/FooterBar.d.ts +0 -0
- /package/dist/{components → src/components}/footer/FooterBar.test.d.ts +0 -0
- /package/dist/{components → src/components}/footer/FooterNavigation.d.ts +0 -0
- /package/dist/{components → src/components}/footer/FooterNavigation.test.d.ts +0 -0
- /package/dist/{components → src/components}/footer/index.d.ts +0 -0
- /package/dist/{components → src/components}/footer/mockData.d.ts +0 -0
- /package/dist/{components → src/components}/giftCard/GiftCard.test.d.ts +0 -0
- /package/dist/{components → src/components}/hamburgerMenuButton/hamburgerMenuButton.test.d.ts +0 -0
- /package/dist/{components → src/components}/hamburgerMenuButton/index.d.ts +0 -0
- /package/dist/{components → src/components}/header/divider.test.d.ts +0 -0
- /package/dist/{components → src/components}/header/header.test.d.ts +0 -0
- /package/dist/{components → src/components}/hero/hero.test.d.ts +0 -0
- /package/dist/{components → src/components}/hotelAccomodationResults/HotelAccomodationResults.test.d.ts +0 -0
- /package/dist/{components → src/components}/hotelAccomodationResults/index.d.ts +0 -0
- /package/dist/{components → src/components}/hotelWidget/HotelWidget.test.d.ts +0 -0
- /package/dist/{components → src/components}/hotelWidget/index.d.ts +0 -0
- /package/dist/{components → src/components}/label/index.d.ts +0 -0
- /package/dist/{components → src/components}/label/label.test.d.ts +0 -0
- /package/dist/{components → src/components}/linkBox/index.d.ts +0 -0
- /package/dist/{components → src/components}/loading/Loading.test.d.ts +0 -0
- /package/dist/{components → src/components}/loading/cloud.d.ts +0 -0
- /package/dist/{components → src/components}/loading/d-reizen-sign.d.ts +0 -0
- /package/dist/{components → src/components}/loading/dollar.d.ts +0 -0
- /package/dist/{components → src/components}/loading/index.d.ts +0 -0
- /package/dist/{components → src/components}/loading/plane.d.ts +0 -0
- /package/dist/{components → src/components}/logo/Logo.test.d.ts +0 -0
- /package/dist/{components → src/components}/logo/index.d.ts +0 -0
- /package/dist/{components → src/components}/map/index.d.ts +0 -0
- /package/dist/{components → src/components}/matrixTable/MatrixTable.test.d.ts +0 -0
- /package/dist/{components → src/components}/matrixTable/index.d.ts +0 -0
- /package/dist/{components → src/components}/menu/index.d.ts +0 -0
- /package/dist/{components → src/components}/menu/menu.test.d.ts +0 -0
- /package/dist/{components → src/components}/menu/mockdata.d.ts +0 -0
- /package/dist/{components → src/components}/middleNavigation/divider.test.d.ts +0 -0
- /package/dist/{components → src/components}/middleNavigation/index.d.ts +0 -0
- /package/dist/{components → src/components}/middleNavigation/middleNavigation.test.d.ts +0 -0
- /package/dist/{components → src/components}/nominations/index.d.ts +0 -0
- /package/dist/{components → src/components}/nominations/nominations.test.d.ts +0 -0
- /package/dist/{components → src/components}/numberField/index.d.ts +0 -0
- /package/dist/{components → src/components}/numberField/numberField.test.d.ts +0 -0
- /package/dist/{components → src/components}/pageNavigation/index.d.ts +0 -0
- /package/dist/{components → src/components}/pageNavigation/pageNavigation.test.d.ts +0 -0
- /package/dist/{components → src/components}/pageRating/dynamic-rating.d.ts +0 -0
- /package/dist/{components → src/components}/pageRating/example.d.ts +0 -0
- /package/dist/{components → src/components}/pageRating/index.d.ts +0 -0
- /package/dist/{components → src/components}/pageRating/pageRating.test.d.ts +0 -0
- /package/dist/{components → src/components}/phoneNumberInput/PhoneNumberInput.edge.test.d.ts +0 -0
- /package/dist/{components → src/components}/phoneNumberInput/PhoneNumberInput.test.d.ts +0 -0
- /package/dist/{components → src/components}/phoneNumberInput/index.d.ts +0 -0
- /package/dist/{components → src/components}/photoCardsRotated/PhotoCardsRotated.test.d.ts +0 -0
- /package/dist/{components → src/components}/photoCardsRotated/index.d.ts +0 -0
- /package/dist/{components → src/components}/priceBox/priceBox.test.d.ts +0 -0
- /package/dist/{components → src/components}/priceCheck/Pricecheck.test.d.ts +0 -0
- /package/dist/{components → src/components}/priceCheck/index.d.ts +0 -0
- /package/dist/{components → src/components}/profileMenu/ProfileMenu.test.d.ts +0 -0
- /package/dist/{components → src/components}/profileMenu/index.d.ts +0 -0
- /package/dist/{components → src/components}/progressBar/index.d.ts +0 -0
- /package/dist/{components → src/components}/progressBar/progressBar.test.d.ts +0 -0
- /package/dist/{components → src/components}/pvPopup/PvPopup.test.d.ts +0 -0
- /package/dist/{components → src/components}/pvPopup/index.d.ts +0 -0
- /package/dist/{components → src/components}/quantityButtons/index.d.ts +0 -0
- /package/dist/{components → src/components}/quantityButtons/quantityButtons.test.d.ts +0 -0
- /package/dist/{components → src/components}/radioButton/index.d.ts +0 -0
- /package/dist/{components → src/components}/radioButton/radioButton.test.d.ts +0 -0
- /package/dist/{components → src/components}/rangeSlider/rangeSlider.test.d.ts +0 -0
- /package/dist/{components → src/components}/rating/index.d.ts +0 -0
- /package/dist/{components → src/components}/rating/rating.test.d.ts +0 -0
- /package/dist/{components → src/components}/regionSelector/index.d.ts +0 -0
- /package/dist/{components → src/components}/regionSelector/regionSelector.test.d.ts +0 -0
- /package/dist/{components → src/components}/resultPageFilterBox/index.d.ts +0 -0
- /package/dist/{components → src/components}/review/Review.test.d.ts +0 -0
- /package/dist/{components → src/components}/review/index.d.ts +0 -0
- /package/dist/{components → src/components}/reviewSmall/ReviewSmall.test.d.ts +0 -0
- /package/dist/{components → src/components}/reviewSmall/index.d.ts +0 -0
- /package/dist/{components → src/components}/reviews/index.d.ts +0 -0
- /package/dist/{components → src/components}/reviews/reviews.test.d.ts +0 -0
- /package/dist/{components → src/components}/scrollToTop/index.d.ts +0 -0
- /package/dist/{components → src/components}/scrollToTop/scrollToTop.test.d.ts +0 -0
- /package/dist/{components → src/components}/searchBlock/SearchBlock.test.d.ts +0 -0
- /package/dist/{components → src/components}/searchBlock/index.d.ts +0 -0
- /package/dist/{components → src/components}/searchBox/index.d.ts +0 -0
- /package/dist/{components → src/components}/searchBox/searchBox.test.d.ts +0 -0
- /package/dist/{components → src/components}/searchBoxResults/index.d.ts +0 -0
- /package/dist/{components → src/components}/searchBoxResults/searchBoxResults.test.d.ts +0 -0
- /package/dist/{components → src/components}/searchInput/index.d.ts +0 -0
- /package/dist/{components → src/components}/searchInput/searchInput.test.d.ts +0 -0
- /package/dist/{components → src/components}/skeleton/index.d.ts +0 -0
- /package/dist/{components → src/components}/skeleton/skeleton.test.d.ts +0 -0
- /package/dist/{components → src/components}/slider/slider.test.d.ts +0 -0
- /package/dist/{components → src/components}/spotlights/Spotlights.test.d.ts +0 -0
- /package/dist/{components → src/components}/spotlights/index.d.ts +0 -0
- /package/dist/{components → src/components}/stepper/Stepper.test.d.ts +0 -0
- /package/dist/{components → src/components}/stepper/index.d.ts +0 -0
- /package/dist/{components → src/components}/stickyFooter/index.d.ts +0 -0
- /package/dist/{components → src/components}/stickyMobileButton/index.d.ts +0 -0
- /package/dist/{components → src/components}/stickyMobileButton/stickyMobileButton.test.d.ts +0 -0
- /package/dist/{components → src/components}/table/index.d.ts +0 -0
- /package/dist/{components → src/components}/table/table.test.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableCell/index.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableCell/tableCell.test.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableHeader/index.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableHeader/tableHeader.test.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableHeaderItem/index.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableHeaderItem/tableHeaderItem.test.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableHeaderRow/index.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableHeaderRow/tableHeaderRow.test.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableRow/index.d.ts +0 -0
- /package/dist/{components → src/components}/table/tableRow/tableRow.test.d.ts +0 -0
- /package/dist/{components → src/components}/temp/index.d.ts +0 -0
- /package/dist/{components → src/components}/textArea/index.d.ts +0 -0
- /package/dist/{components → src/components}/textArea/textArea.test.d.ts +0 -0
- /package/dist/{components → src/components}/textInput/index.d.ts +0 -0
- /package/dist/{components → src/components}/textInput/textInput.test.d.ts +0 -0
- /package/dist/{components → src/components}/timeInput/TimeInput.test.d.ts +0 -0
- /package/dist/{components → src/components}/timeInput/index.d.ts +0 -0
- /package/dist/{components → src/components}/toggle/index.d.ts +0 -0
- /package/dist/{components → src/components}/toggle/toggle.test.d.ts +0 -0
- /package/dist/{components → src/components}/topHeaderMenu/index.d.ts +0 -0
- /package/dist/{components → src/components}/topHeaderMenu/topHeaderMenu.test.d.ts +0 -0
- /package/dist/{components → src/components}/topMenu/index.d.ts +0 -0
- /package/dist/{components → src/components}/topMenu/topMenu.test.d.ts +0 -0
- /package/dist/{components → src/components}/truncatedText/index.d.ts +0 -0
- /package/dist/{components → src/components}/truncatedText/truncatedText.test.d.ts +0 -0
- /package/dist/{components → src/components}/unorderedList/index.d.ts +0 -0
- /package/dist/{components → src/components}/unorderedList/unorderedList.test.d.ts +0 -0
- /package/dist/{components → src/components}/unorderedListItem/index.d.ts +0 -0
- /package/dist/{components → src/components}/unorderedListItem/unorderedListItem.test.d.ts +0 -0
- /package/dist/{components → src/components}/usp/Usp.test.d.ts +0 -0
- /package/dist/{components → src/components}/usp/index.d.ts +0 -0
- /package/dist/{components → src/components}/viewedAccomodations/ViewedAccomodations.test.d.ts +0 -0
- /package/dist/{components → src/components}/viewedAccomodations/ViewedAccomodationsImage.d.ts +0 -0
- /package/dist/{components → src/components}/viewedAccomodations/index.d.ts +0 -0
- /package/dist/{components → src/components}/warningText/index.d.ts +0 -0
- /package/dist/{components → src/components}/warningText/warningText.test.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_lightning.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_moon.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_off.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_raining_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_raining_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_raining_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_raining_04.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_raining_05.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_raining_06.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_snowing_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_snowing_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_sun_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_sun_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/cloud_sun_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/droplets_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/droplets_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/droplets_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/hurricane_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/hurricane_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/hurricane_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/lightning_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/lightning_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/moon_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/moon_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/moon_eclipse.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/moon_star.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/snowflake_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/snowflake_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/stars_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/stars_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/stars_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/sun.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/sun_setting_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/sun_setting_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/sun_setting_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/sunrise.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/sunset.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/thermometer_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/thermometer_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/thermometer_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/thermometer_cold.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/thermometer_warm.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/umbrella_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/umbrella_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/umbrella_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/waves.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/wind_01.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/wind_02.d.ts +0 -0
- /package/dist/{components → src/components}/weather/icons/wind_03.d.ts +0 -0
- /package/dist/{components → src/components}/weather/index.d.ts +0 -0
- /package/dist/{components → src/components}/weather/weather.test.d.ts +0 -0
- /package/dist/{components → src/components}/withPvUi.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconAlert.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconArrival.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconArrowDown.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconArrowLeft.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconArrowRight.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconArrowUp.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconBeach.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconBed.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconBlog.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconBus.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconCalendar.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconCancel.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconCar.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconCarSun.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconCheck.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconChevronRight.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconCity.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconClock.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconCocktail.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconDelete.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconDeparture.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconDollar.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconEdit.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconExpand.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconFacebook.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconFavorite.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconFilter.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconFood.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconHeart.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconHeartFilled.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconHot.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconHotel.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconHouse.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconIce.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconInfo.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconInstagram.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconLuggage.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconMail.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconMap.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconMinus.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconParty.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconPhone.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconPhoto.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconPinterest.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconPlane.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconPlus.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconPresent.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconPresent.test.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconQuestion.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconRating.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconSearch.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconSeat.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconShare.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconSplash.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconStar.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconSuccess.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconSun.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconSupport.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconTemperature.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconTiktok.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconTransfer.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconTree.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconTwitter.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconUser.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconView.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconWarning.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconWatched.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconWhatsapp.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconWinterSport.d.ts +0 -0
- /package/dist/{icons → src/icons}/IconWinterSun.d.ts +0 -0
- /package/dist/{icons → src/icons}/icons.test.d.ts +0 -0
- /package/dist/{jsx-runtime-shim.d.ts → src/jsx-runtime-shim.d.ts} +0 -0
- /package/dist/{styles → src/styles}/index.d.ts +0 -0
- /package/dist/{theme → src/theme}/brand.d.ts +0 -0
- /package/dist/{theme → src/theme}/brand.test.d.ts +0 -0
- /package/dist/{theme → src/theme}/index.d.ts +0 -0
- /package/dist/{theme → src/theme}/variables.d.ts +0 -0
- /package/dist/{theme → src/theme}/variables.test.d.ts +0 -0
- /package/dist/{utils → src/utils}/ANVR.d.ts +0 -0
- /package/dist/{utils → src/utils}/Calamiteitenfonds.d.ts +0 -0
- /package/dist/{utils → src/utils}/SGR.d.ts +0 -0
- /package/dist/{utils → src/utils}/cn.d.ts +0 -0
- /package/dist/{utils → src/utils}/countries.d.ts +0 -0
- /package/dist/{utils → src/utils}/d-reizen_logo.d.ts +0 -0
- /package/dist/{utils → src/utils}/enums.d.ts +0 -0
- /package/dist/{utils → src/utils}/formatIcon.d.ts +0 -0
- /package/dist/{utils → src/utils}/formatIcon.test.d.ts +0 -0
- /package/dist/{utils → src/utils}/logos.test.d.ts +0 -0
- /package/dist/{utils → src/utils}/prijsvrij_logo.d.ts +0 -0
- /package/dist/{utils → src/utils}/ssr.d.ts +0 -0
- /package/dist/{utils → src/utils}/storybookIcons.d.ts +0 -0
package/dist/index.cjs
CHANGED
|
@@ -31,12 +31,9 @@ const tailwind_merge = __toESM(require("tailwind-merge"));
|
|
|
31
31
|
const react_intersection_observer = __toESM(require("react-intersection-observer"));
|
|
32
32
|
const moment = __toESM(require("moment"));
|
|
33
33
|
const embla_carousel_react = __toESM(require("embla-carousel-react"));
|
|
34
|
-
const
|
|
34
|
+
const embla_carousel_auto_height = __toESM(require("embla-carousel-auto-height"));
|
|
35
35
|
const date_fns = __toESM(require("date-fns"));
|
|
36
36
|
const date_fns_locale = __toESM(require("date-fns/locale"));
|
|
37
|
-
const __floating_ui_react = __toESM(require("@floating-ui/react"));
|
|
38
|
-
const react_dom = __toESM(require("react-dom"));
|
|
39
|
-
const react_select = __toESM(require("react-select"));
|
|
40
37
|
|
|
41
38
|
//#region src/jsx-runtime-shim.ts
|
|
42
39
|
const jsx = react.createElement;
|
|
@@ -53,118 +50,126 @@ var variables_default = {};
|
|
|
53
50
|
|
|
54
51
|
//#endregion
|
|
55
52
|
//#region src/components/topMenu/styles.css
|
|
56
|
-
var styles_default$
|
|
53
|
+
var styles_default$30 = {};
|
|
57
54
|
|
|
58
55
|
//#endregion
|
|
59
56
|
//#region src/components/button/styles.css
|
|
60
|
-
var styles_default$
|
|
57
|
+
var styles_default$29 = {};
|
|
61
58
|
|
|
62
59
|
//#endregion
|
|
63
60
|
//#region src/components/priceCheck/styles.css
|
|
64
|
-
var styles_default$
|
|
61
|
+
var styles_default$28 = {};
|
|
65
62
|
|
|
66
63
|
//#endregion
|
|
67
64
|
//#region src/components/toggle/styles.css
|
|
68
|
-
var styles_default$
|
|
65
|
+
var styles_default$27 = {};
|
|
69
66
|
|
|
70
67
|
//#endregion
|
|
71
68
|
//#region src/components/topHeaderMenu/styles.css
|
|
72
|
-
var styles_default$
|
|
69
|
+
var styles_default$26 = {};
|
|
73
70
|
|
|
74
71
|
//#endregion
|
|
75
72
|
//#region src/components/filterButton/styles.css
|
|
76
|
-
var styles_default$
|
|
73
|
+
var styles_default$25 = {};
|
|
77
74
|
|
|
78
75
|
//#endregion
|
|
79
76
|
//#region src/components/searchBox/styles.css
|
|
80
|
-
var styles_default$
|
|
77
|
+
var styles_default$24 = {};
|
|
81
78
|
|
|
82
79
|
//#endregion
|
|
83
80
|
//#region src/components/dropdown/styles.css
|
|
84
|
-
var styles_default$
|
|
81
|
+
var styles_default$23 = {};
|
|
85
82
|
|
|
86
83
|
//#endregion
|
|
87
84
|
//#region src/components/counterIcon/styles.css
|
|
88
|
-
var styles_default$
|
|
85
|
+
var styles_default$22 = {};
|
|
89
86
|
|
|
90
87
|
//#endregion
|
|
91
88
|
//#region src/components/usp/styles.css
|
|
92
|
-
var styles_default$
|
|
89
|
+
var styles_default$21 = {};
|
|
93
90
|
|
|
94
91
|
//#endregion
|
|
95
92
|
//#region src/components/middleNavigation/styles.css
|
|
96
|
-
var styles_default$
|
|
93
|
+
var styles_default$20 = {};
|
|
97
94
|
|
|
98
95
|
//#endregion
|
|
99
96
|
//#region src/components/menu/styles.css
|
|
100
|
-
var styles_default$
|
|
97
|
+
var styles_default$19 = {};
|
|
101
98
|
|
|
102
99
|
//#endregion
|
|
103
100
|
//#region src/components/footer/styles.css
|
|
104
|
-
var styles_default$
|
|
101
|
+
var styles_default$18 = {};
|
|
105
102
|
|
|
106
103
|
//#endregion
|
|
107
104
|
//#region src/components/blogWidget/styles.css
|
|
108
|
-
var styles_default$
|
|
105
|
+
var styles_default$17 = {};
|
|
109
106
|
|
|
110
107
|
//#endregion
|
|
111
108
|
//#region src/components/searchBlock/styles.css
|
|
112
|
-
var styles_default$
|
|
109
|
+
var styles_default$16 = {};
|
|
113
110
|
|
|
114
111
|
//#endregion
|
|
115
112
|
//#region src/components/categoryFilter/styles.css
|
|
116
|
-
var styles_default$
|
|
113
|
+
var styles_default$15 = {};
|
|
117
114
|
|
|
118
115
|
//#endregion
|
|
119
116
|
//#region src/components/collection/styles.css
|
|
120
|
-
var styles_default$
|
|
117
|
+
var styles_default$14 = {};
|
|
121
118
|
|
|
122
119
|
//#endregion
|
|
123
120
|
//#region src/components/review/styles.css
|
|
124
|
-
var styles_default$
|
|
121
|
+
var styles_default$13 = {};
|
|
125
122
|
|
|
126
123
|
//#endregion
|
|
127
124
|
//#region src/components/hotelAccomodationResults/styles.css
|
|
128
|
-
var styles_default$
|
|
125
|
+
var styles_default$12 = {};
|
|
129
126
|
|
|
130
127
|
//#endregion
|
|
131
128
|
//#region src/components/coupon/styles.css
|
|
132
|
-
var styles_default$
|
|
129
|
+
var styles_default$11 = {};
|
|
133
130
|
|
|
134
131
|
//#endregion
|
|
135
132
|
//#region src/components/giftCard/styles.css
|
|
136
|
-
var styles_default$
|
|
133
|
+
var styles_default$10 = {};
|
|
137
134
|
|
|
138
135
|
//#endregion
|
|
139
136
|
//#region src/components/pvPopup/styles.css
|
|
140
|
-
var styles_default$
|
|
137
|
+
var styles_default$9 = {};
|
|
141
138
|
|
|
142
139
|
//#endregion
|
|
143
140
|
//#region src/components/photoCardsRotated/styles.css
|
|
144
|
-
var styles_default$
|
|
141
|
+
var styles_default$8 = {};
|
|
145
142
|
|
|
146
143
|
//#endregion
|
|
147
144
|
//#region src/components/spotlights/styles.css
|
|
148
|
-
var styles_default$
|
|
145
|
+
var styles_default$7 = {};
|
|
149
146
|
|
|
150
147
|
//#endregion
|
|
151
148
|
//#region src/components/viewedAccomodations/styles.css
|
|
152
|
-
var styles_default$
|
|
149
|
+
var styles_default$6 = {};
|
|
153
150
|
|
|
154
151
|
//#endregion
|
|
155
152
|
//#region src/components/quantityButtons/styles.css
|
|
156
|
-
var styles_default$
|
|
153
|
+
var styles_default$5 = {};
|
|
157
154
|
|
|
158
155
|
//#endregion
|
|
159
156
|
//#region src/components/matrixTable/styles.css
|
|
160
|
-
var styles_default$
|
|
157
|
+
var styles_default$4 = {};
|
|
161
158
|
|
|
162
159
|
//#endregion
|
|
163
160
|
//#region src/components/pageNavigation/styles.css
|
|
164
|
-
var styles_default$
|
|
161
|
+
var styles_default$3 = {};
|
|
165
162
|
|
|
166
163
|
//#endregion
|
|
167
164
|
//#region src/components/calendar/styles.css
|
|
165
|
+
var styles_default$2 = {};
|
|
166
|
+
|
|
167
|
+
//#endregion
|
|
168
|
+
//#region src/components/slider/styles.css
|
|
169
|
+
var styles_default$1 = {};
|
|
170
|
+
|
|
171
|
+
//#endregion
|
|
172
|
+
//#region src/components/priceBox/styles.css
|
|
168
173
|
var styles_default = {};
|
|
169
174
|
|
|
170
175
|
//#endregion
|
|
@@ -1777,6 +1782,27 @@ const IconCocktail = ({ className,...props }) => /* @__PURE__ */ (0, react_jsx_r
|
|
|
1777
1782
|
})
|
|
1778
1783
|
});
|
|
1779
1784
|
|
|
1785
|
+
//#endregion
|
|
1786
|
+
//#region src/icons/IconImage.tsx
|
|
1787
|
+
const IconImage = ({ className,...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
1788
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1789
|
+
className,
|
|
1790
|
+
width: "24",
|
|
1791
|
+
height: "24",
|
|
1792
|
+
viewBox: "0 0 24 24",
|
|
1793
|
+
fill: "none",
|
|
1794
|
+
...props,
|
|
1795
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1796
|
+
d: "M18 10C19.1046 10 20 9.10457 20 8C20 6.89543 19.1046 6 18 6C16.8954 6 16 6.89543 16 8C16 9.10457 16.8954 10 18 10Z",
|
|
1797
|
+
fill: "currentColor"
|
|
1798
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1799
|
+
"fill-rule": "evenodd",
|
|
1800
|
+
"clip-rule": "evenodd",
|
|
1801
|
+
d: "M3 3H21C22.6569 3 24 4.34315 24 6V18C24 19.6569 22.6569 21 21 21H3C1.34315 21 0 19.6569 0 18V6C0 4.34315 1.34314 3 3 3ZM3 5C2.44772 5 2 5.44772 2 6V14.1922L7.48523 8.70694C7.87585 8.31644 8.50891 8.31644 8.89954 8.70694L15.1924 14.9999L17.4852 12.7069C17.8759 12.3164 18.5089 12.3164 18.8995 12.7069L22 15.8075V6C22 5.44772 21.5523 5 21 5H3Z",
|
|
1802
|
+
fill: "currentColor"
|
|
1803
|
+
})]
|
|
1804
|
+
});
|
|
1805
|
+
|
|
1780
1806
|
//#endregion
|
|
1781
1807
|
//#region src/theme/variables.ts
|
|
1782
1808
|
const CSS_VARIABLE_KEYS = [
|
|
@@ -4221,7 +4247,7 @@ const PriceCheck = ({ className, price, text, disabled = false, "data-testid": t
|
|
|
4221
4247
|
children: text
|
|
4222
4248
|
}),
|
|
4223
4249
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
4224
|
-
className: `price-check-price-padding${price && price > 999 ? "-large" : ""} text-start price-check-color-price price-check-fontFamily-price font-bold
|
|
4250
|
+
className: `price-check-price-padding${price && price > 999 ? "-large" : ""} text-start price-check-color-price price-check-fontFamily-price font-bold price-check-font-size-price whitespace-nowrap price-check-price-margin-top`,
|
|
4225
4251
|
children: [
|
|
4226
4252
|
price,
|
|
4227
4253
|
",",
|
|
@@ -5161,11 +5187,12 @@ const QuantityButtons = ({ className, value, setValue, minValue = 0, maxValue =
|
|
|
5161
5187
|
//#endregion
|
|
5162
5188
|
//#region src/components/slider/index.tsx
|
|
5163
5189
|
const LAZY_LOAD_PLACEHOLDER_SRC = "data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D";
|
|
5164
|
-
function Slider({ slides, options, plugins, lazyLoad = false, showArrows = true, showDots = true, dotsPlacement = "outside", overlay, overlayClassName, className, viewportClassName, containerClassName, slideClassName,...props }) {
|
|
5190
|
+
function Slider({ slides = [], options, plugins, lazyLoad = false, showArrows = true, showDots = true, roundedFull = false, showLike = true, dotsPlacement = "outside", overlay, overlayClassName, className, viewportClassName, containerClassName, slideClassName, square = true,...props }) {
|
|
5165
5191
|
const [emblaRef, emblaApi] = (0, embla_carousel_react.default)(options, plugins);
|
|
5166
5192
|
const [selectedIndex, setSelectedIndex] = (0, react.useState)(0);
|
|
5167
5193
|
const [scrollSnaps, setScrollSnaps] = (0, react.useState)([]);
|
|
5168
5194
|
const [slidesInView, setSlidesInView] = (0, react.useState)([]);
|
|
5195
|
+
const [loadedImages, setLoadedImages] = (0, react.useState)(new Set());
|
|
5169
5196
|
const canScrollPrev = (0, react.useMemo)(() => emblaApi?.canScrollPrev() ?? false, [emblaApi, selectedIndex]);
|
|
5170
5197
|
const canScrollNext = (0, react.useMemo)(() => emblaApi?.canScrollNext() ?? false, [emblaApi, selectedIndex]);
|
|
5171
5198
|
const scrollPrev = (0, react.useCallback)(() => {
|
|
@@ -5220,6 +5247,17 @@ function Slider({ slides, options, plugins, lazyLoad = false, showArrows = true,
|
|
|
5220
5247
|
lazyLoad,
|
|
5221
5248
|
updateSlidesInView
|
|
5222
5249
|
]);
|
|
5250
|
+
(0, react.useEffect)(() => {
|
|
5251
|
+
if (!emblaApi) return;
|
|
5252
|
+
const imageSlides = slides.filter((slide) => (0, react.isValidElement)(slide) && slide.type === "img");
|
|
5253
|
+
if (imageSlides.length > 0 && loadedImages.size === imageSlides.length) {
|
|
5254
|
+
emblaApi.reInit();
|
|
5255
|
+
}
|
|
5256
|
+
}, [
|
|
5257
|
+
emblaApi,
|
|
5258
|
+
loadedImages,
|
|
5259
|
+
slides
|
|
5260
|
+
]);
|
|
5223
5261
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
5224
5262
|
"data-component": "slider",
|
|
5225
5263
|
className: cn("relative", className),
|
|
@@ -5229,9 +5267,9 @@ function Slider({ slides, options, plugins, lazyLoad = false, showArrows = true,
|
|
|
5229
5267
|
ref: emblaRef,
|
|
5230
5268
|
className: cn("overflow-hidden", viewportClassName),
|
|
5231
5269
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
5232
|
-
className: cn("flex touch-pan-y", containerClassName),
|
|
5270
|
+
className: cn("flex touch-pan-y items-start", containerClassName),
|
|
5233
5271
|
children: slides.map((slide, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
5234
|
-
className: cn("min-w-0 shrink-0 grow-0 basis-full", slideClassName),
|
|
5272
|
+
className: cn("min-w-0 shrink-0 grow-0 basis-full h-auto", square && "aspect-square", slideClassName),
|
|
5235
5273
|
children: lazyLoad && (0, react.isValidElement)(slide) && slide.type === "img" ? (() => {
|
|
5236
5274
|
const hasBeenInView = slidesInView.includes(index);
|
|
5237
5275
|
const originalSrc = slide.props.src;
|
|
@@ -5239,16 +5277,20 @@ function Slider({ slides, options, plugins, lazyLoad = false, showArrows = true,
|
|
|
5239
5277
|
return (0, react.cloneElement)(slide, {
|
|
5240
5278
|
src,
|
|
5241
5279
|
"data-src": originalSrc,
|
|
5242
|
-
className: cn(slide.props.className, "h-auto")
|
|
5280
|
+
className: cn(slide.props.className, "h-auto"),
|
|
5281
|
+
onLoad: () => setLoadedImages((prev) => new Set(prev).add(index))
|
|
5243
5282
|
});
|
|
5244
|
-
})() : (0, react.isValidElement)(slide) ? (0, react.cloneElement)(slide, {
|
|
5283
|
+
})() : (0, react.isValidElement)(slide) && slide.type === "img" ? (0, react.cloneElement)(slide, {
|
|
5284
|
+
className: cn(slide.props.className, "h-auto"),
|
|
5285
|
+
onLoad: () => setLoadedImages((prev) => new Set(prev).add(index))
|
|
5286
|
+
}) : (0, react.isValidElement)(slide) ? (0, react.cloneElement)(slide, { className: cn(slide.props.className, "h-auto") }) : slide
|
|
5245
5287
|
}, index))
|
|
5246
5288
|
}), showDots && dotsPlacement === "inside" && scrollSnaps.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
5247
5289
|
className: "pointer-events-none absolute inset-x-0 bottom-3 z-20 flex items-center justify-center gap-2 rounded-2xl bg-black/40 w-fit mx-auto p-1.5",
|
|
5248
5290
|
children: scrollSnaps.map((_, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
5249
5291
|
type: "button",
|
|
5250
5292
|
"aria-label": `Go to slide ${index + 1}`,
|
|
5251
|
-
className: cn("pointer-events-auto cursor-pointer h-2 w-2 rounded-full
|
|
5293
|
+
className: cn("pointer-events-auto cursor-pointer h-2 w-2 bg-transparent rounded-full border-2 border-white", index === selectedIndex && "selectedIndexBg"),
|
|
5252
5294
|
onClick: () => scrollTo(index)
|
|
5253
5295
|
}, index))
|
|
5254
5296
|
})]
|
|
@@ -5260,12 +5302,25 @@ function Slider({ slides, options, plugins, lazyLoad = false, showArrows = true,
|
|
|
5260
5302
|
children: overlay
|
|
5261
5303
|
})
|
|
5262
5304
|
}),
|
|
5305
|
+
showLike && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
5306
|
+
className: "pointer-events-none absolute top-4 right-4 z-20",
|
|
5307
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
5308
|
+
type: "button",
|
|
5309
|
+
"aria-label": "Like",
|
|
5310
|
+
onClick: () => console.log("Like clicked"),
|
|
5311
|
+
className: cn("pointer-events-auto cursor-pointer inline-flex size-5 items-center justify-center"),
|
|
5312
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
5313
|
+
"aria-hidden": "true",
|
|
5314
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHeart, { className: "size-6 text-white hover:text-red-500" })
|
|
5315
|
+
})
|
|
5316
|
+
})
|
|
5317
|
+
}),
|
|
5263
5318
|
showArrows && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
5264
5319
|
className: "pointer-events-none absolute inset-y-0 left-0 right-0 z-20 flex items-center justify-between",
|
|
5265
5320
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
5266
5321
|
type: "button",
|
|
5267
5322
|
"aria-label": "Previous slide",
|
|
5268
|
-
className: cn("pointer-events-auto cursor-pointer ml-2 inline-flex size-9 items-center justify-center
|
|
5323
|
+
className: cn("pointer-events-auto cursor-pointer ml-2 inline-flex size-9 items-center justify-center bg-primary-dark-50/50 text-white shadow", roundedFull === true ? "rounded-full" : "rounded-sm", !canScrollPrev && "opacity-50"),
|
|
5269
5324
|
onClick: scrollPrev,
|
|
5270
5325
|
disabled: !canScrollPrev,
|
|
5271
5326
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -5275,7 +5330,7 @@ function Slider({ slides, options, plugins, lazyLoad = false, showArrows = true,
|
|
|
5275
5330
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
5276
5331
|
type: "button",
|
|
5277
5332
|
"aria-label": "Next slide",
|
|
5278
|
-
className: cn("pointer-events-auto cursor-pointer mr-2 inline-flex size-9 items-center justify-center
|
|
5333
|
+
className: cn("pointer-events-auto cursor-pointer mr-2 inline-flex size-9 items-center justify-center bg-primary-dark-50/50 text-white shadow", roundedFull === true ? "rounded-full" : "rounded-sm", !canScrollNext && "opacity-50"),
|
|
5279
5334
|
onClick: scrollNext,
|
|
5280
5335
|
disabled: !canScrollNext,
|
|
5281
5336
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -6982,7 +7037,7 @@ const Chatbot = ({ className,...props }) => /* @__PURE__ */ (0, react_jsx_runtim
|
|
|
6982
7037
|
|
|
6983
7038
|
//#endregion
|
|
6984
7039
|
//#region src/components/priceBox/index.tsx
|
|
6985
|
-
const PriceBox = ({ className, hotel, brand, noBorder = false, noHover = false, hidePrice = false, onClick, "data-testid": dataTestId }) => {
|
|
7040
|
+
const PriceBox = ({ className, hotel, brand, noBorder = false, noHover = false, hidePrice = false, warnText, buttonText = "Bekijk vakantie", showButtonIcon, onClick, "data-testid": dataTestId }) => {
|
|
6986
7041
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
6987
7042
|
"data-testid": dataTestId,
|
|
6988
7043
|
"data-component": "price-box",
|
|
@@ -6996,6 +7051,10 @@ const PriceBox = ({ className, hotel, brand, noBorder = false, noHover = false,
|
|
|
6996
7051
|
text: hotel.PriceInfo
|
|
6997
7052
|
})
|
|
6998
7053
|
}),
|
|
7054
|
+
warnText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7055
|
+
className: "text-[9px] mb-2 order-4 md:order-2 priceBox-warnText",
|
|
7056
|
+
children: warnText
|
|
7057
|
+
}),
|
|
6999
7058
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7000
7059
|
className: "text-sm flex flex-col gap-3 order-2",
|
|
7001
7060
|
children: [
|
|
@@ -7009,7 +7068,11 @@ const PriceBox = ({ className, hotel, brand, noBorder = false, noHover = false,
|
|
|
7009
7068
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: hotel.DepartureDate.split(",")[0] }),
|
|
7010
7069
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
7011
7070
|
className: "text-gray-400 ml-2",
|
|
7012
|
-
children: [
|
|
7071
|
+
children: [
|
|
7072
|
+
"(",
|
|
7073
|
+
hotel.Duration,
|
|
7074
|
+
" dagen)"
|
|
7075
|
+
]
|
|
7013
7076
|
})
|
|
7014
7077
|
]
|
|
7015
7078
|
}),
|
|
@@ -7039,10 +7102,11 @@ const PriceBox = ({ className, hotel, brand, noBorder = false, noHover = false,
|
|
|
7039
7102
|
className: "w-4/12 md:w-full order-3",
|
|
7040
7103
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Button, {
|
|
7041
7104
|
variant: brand === "prijsvrij" ? "primaryGlow" : "secondary",
|
|
7042
|
-
className: "whitespace-nowrap w-full
|
|
7105
|
+
className: "whitespace-nowrap w-full",
|
|
7043
7106
|
iconRight: true,
|
|
7044
|
-
|
|
7045
|
-
|
|
7107
|
+
onClick,
|
|
7108
|
+
icon: showButtonIcon ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowRight, { className: "w-4 h-4" }) : undefined,
|
|
7109
|
+
children: buttonText
|
|
7046
7110
|
})
|
|
7047
7111
|
})
|
|
7048
7112
|
]
|
|
@@ -7050,959 +7114,148 @@ const PriceBox = ({ className, hotel, brand, noBorder = false, noHover = false,
|
|
|
7050
7114
|
};
|
|
7051
7115
|
|
|
7052
7116
|
//#endregion
|
|
7053
|
-
//#region src/
|
|
7054
|
-
|
|
7055
|
-
|
|
7056
|
-
|
|
7057
|
-
|
|
7058
|
-
ACTION_ICON_STYLE_VARIANT$1["ROUND"] = "round";
|
|
7059
|
-
return ACTION_ICON_STYLE_VARIANT$1;
|
|
7060
|
-
}({});
|
|
7061
|
-
let THEME_ICON_STYLE_VARIANT = /* @__PURE__ */ function(THEME_ICON_STYLE_VARIANT$1) {
|
|
7062
|
-
THEME_ICON_STYLE_VARIANT$1["PINK_WITH_BACKGROUND"] = "pink-with-background";
|
|
7063
|
-
return THEME_ICON_STYLE_VARIANT$1;
|
|
7064
|
-
}({});
|
|
7065
|
-
let COLOR = /* @__PURE__ */ function(COLOR$1) {
|
|
7066
|
-
COLOR$1["PRIMARY"] = "primary";
|
|
7067
|
-
COLOR$1["BLACK"] = "black";
|
|
7068
|
-
COLOR$1["LIGHT_BLUE"] = "light-blue";
|
|
7069
|
-
COLOR$1["LIGHT_BLUE_DISABLED"] = "light-blue-disabled";
|
|
7070
|
-
COLOR$1["GREEN"] = "green";
|
|
7071
|
-
COLOR$1["GREEN_LIGHT"] = "green-light";
|
|
7072
|
-
COLOR$1["PINK"] = "pink";
|
|
7073
|
-
COLOR$1["PINK_LIGHT"] = "pink-light";
|
|
7074
|
-
COLOR$1["ORANGE"] = "orange";
|
|
7075
|
-
COLOR$1["ORANGE_LIGHT"] = "orange-light";
|
|
7076
|
-
COLOR$1["ACCENT_BLUE"] = "accent-blue";
|
|
7077
|
-
COLOR$1["ACCENT_BLUE_LIGHT"] = "accent-blue-light";
|
|
7078
|
-
COLOR$1["YELLOW"] = "yellow";
|
|
7079
|
-
COLOR$1["CHECK"] = "check";
|
|
7080
|
-
COLOR$1["WARNING"] = "warning";
|
|
7081
|
-
COLOR$1["ERROR"] = "error";
|
|
7082
|
-
COLOR$1["SUCCESS"] = "success";
|
|
7083
|
-
COLOR$1["WARNING_LIGHT"] = "warning-light";
|
|
7084
|
-
COLOR$1["ULTRA_LIGHT_BLUE"] = "ultra-light-blue";
|
|
7085
|
-
COLOR$1["ULTRA_LIGHT_GRAY"] = "ultra-light-gray";
|
|
7086
|
-
COLOR$1["TURQUOISE"] = "turquoise";
|
|
7087
|
-
COLOR$1["RED"] = "red";
|
|
7088
|
-
COLOR$1["GRAY"] = "gray";
|
|
7089
|
-
COLOR$1["WHITE"] = "white";
|
|
7090
|
-
COLOR$1["PURPLE"] = "purple";
|
|
7091
|
-
COLOR$1["PURPLE_LIGHT"] = "purple-light";
|
|
7092
|
-
return COLOR$1;
|
|
7093
|
-
}({});
|
|
7094
|
-
let REGION = /* @__PURE__ */ function(REGION$1) {
|
|
7095
|
-
REGION$1["NETHERLANDS"] = "nl";
|
|
7096
|
-
REGION$1["BELGIUM"] = "nl-BE";
|
|
7097
|
-
REGION$1["UNITED_KINGDOM"] = "gb";
|
|
7098
|
-
return REGION$1;
|
|
7099
|
-
}({});
|
|
7100
|
-
let TOOLTIP_COLOR = /* @__PURE__ */ function(TOOLTIP_COLOR$1) {
|
|
7101
|
-
TOOLTIP_COLOR$1["DEFAULT"] = "default";
|
|
7102
|
-
TOOLTIP_COLOR$1["WHITE"] = "white";
|
|
7103
|
-
return TOOLTIP_COLOR$1;
|
|
7104
|
-
}({});
|
|
7105
|
-
|
|
7106
|
-
//#endregion
|
|
7107
|
-
//#region src/components/actionIcon/index.tsx
|
|
7108
|
-
const ActionIcon = (0, react.forwardRef)(({ title, disabled = false, styleVariant = "default", icon, type = "button", "data-testid": testId, iconSize = 20, strokeWidth = 1, onClick, className,...props }, ref) => {
|
|
7109
|
-
const variantClassNames = (0, clsx.default)({
|
|
7110
|
-
"active:translate-y-[1px] content-center flex items-center justify-center rounded-[4px] border border-gray-200 hover:border-black text-black child:p-10 w-[36px] h-[36px] disabled:text-gray-500": styleVariant === ACTION_ICON_STYLE_VARIANT.DEFAULT,
|
|
7111
|
-
"active:translate-y-[1px] border-none content-center flex items-center justify-center rounded-[4px] border text-black child:p-10 w-[36px] h-[36px] disabled:text-gray-500": styleVariant === ACTION_ICON_STYLE_VARIANT.TRANSPARENT,
|
|
7112
|
-
"active:translate-y-[1px] content-center flex items-center justify-center rounded-[4px] child:p-10 w-[37px] h-[37px] text-black rounded-full bg-primary hover:bg-turquoise-700 disabled:turquoise-50 disabled:text-gray-800": styleVariant === ACTION_ICON_STYLE_VARIANT.ROUND,
|
|
7113
|
-
"w-7 h-7 active:translate-y-[1px] content-center flex items-center justify-center rounded-[4px] border border-gray-200 hover:border-black text-black hover:bg-gray-50 disabled:text-gray-500": styleVariant === ACTION_ICON_STYLE_VARIANT.SMALL
|
|
7114
|
-
});
|
|
7115
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7116
|
-
title,
|
|
7117
|
-
type,
|
|
7118
|
-
disabled,
|
|
7119
|
-
"data-testid": testId,
|
|
7120
|
-
"data-component": "ActionIcon",
|
|
7121
|
-
className: cn(variantClassNames, { "hover:bg-transparant cursor-not-allowed hover:border-gray-200": disabled }, className),
|
|
7117
|
+
//#region src/components/filters/FilterButton.tsx
|
|
7118
|
+
const FilterButton$1 = ({ onClick, hasFilters, reset, filtersText, resetText }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7119
|
+
className: "flex gap-3",
|
|
7120
|
+
"data-testid": "filterButton",
|
|
7121
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Button, {
|
|
7122
7122
|
onClick,
|
|
7123
|
-
|
|
7124
|
-
"
|
|
7125
|
-
"
|
|
7126
|
-
|
|
7127
|
-
|
|
7128
|
-
|
|
7129
|
-
|
|
7130
|
-
|
|
7131
|
-
|
|
7123
|
+
variant: "secondary",
|
|
7124
|
+
className: "font-normal md:font-normal",
|
|
7125
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {}),
|
|
7126
|
+
children: filtersText
|
|
7127
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Button, {
|
|
7128
|
+
className: "text-sm font-normal disabled:text-gray-500",
|
|
7129
|
+
onClick: reset,
|
|
7130
|
+
disabled: !hasFilters,
|
|
7131
|
+
children: resetText
|
|
7132
|
+
})]
|
|
7132
7133
|
});
|
|
7133
|
-
|
|
7134
|
-
|
|
7135
|
-
//#
|
|
7136
|
-
|
|
7137
|
-
|
|
7138
|
-
|
|
7139
|
-
|
|
7140
|
-
|
|
7141
|
-
|
|
7142
|
-
|
|
7143
|
-
|
|
7144
|
-
|
|
7145
|
-
|
|
7146
|
-
|
|
7147
|
-
|
|
7148
|
-
|
|
7149
|
-
|
|
7150
|
-
|
|
7151
|
-
|
|
7152
|
-
|
|
7153
|
-
|
|
7154
|
-
}
|
|
7134
|
+
|
|
7135
|
+
//#endregion
|
|
7136
|
+
//#region src/components/filters/FilterItem.tsx
|
|
7137
|
+
const FilterItem = ({ title, isActive = false, onClick }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
7138
|
+
className: cn("has-checked:border-primary has-checked:bg-turquoise-100 flex cursor-pointer items-center gap-3 rounded-full border border-gray-200 px-7 py-1.5 text-sm leading-6 font-normal transition-all duration-300 ease-in-out hover:bg-gray-50"),
|
|
7139
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
7140
|
+
type: "checkbox",
|
|
7141
|
+
className: "hidden",
|
|
7142
|
+
onChange: onClick,
|
|
7143
|
+
checked: isActive
|
|
7144
|
+
}), title]
|
|
7145
|
+
});
|
|
7146
|
+
|
|
7147
|
+
//#endregion
|
|
7148
|
+
//#region src/components/filters/index.tsx
|
|
7149
|
+
const Filters = ({ filters, setFilters, selectedFilters, selectedFiltersText, filtersText, resetText }) => {
|
|
7150
|
+
const content = (0, react.useRef)(null);
|
|
7151
|
+
const [showFilters, setShowFilters] = (0, react.useState)(false);
|
|
7152
|
+
const onFilter = (filter) => {
|
|
7153
|
+
if (selectedFilters.includes(filter)) setFilters(selectedFilters.filter((f) => f !== filter));
|
|
7154
|
+
else setFilters([...selectedFilters, filter]);
|
|
7155
7155
|
};
|
|
7156
7156
|
(0, react.useEffect)(() => {
|
|
7157
|
-
|
|
7158
|
-
}, [
|
|
7159
|
-
|
|
7160
|
-
|
|
7161
|
-
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
|
|
7168
|
-
|
|
7169
|
-
|
|
7170
|
-
|
|
7171
|
-
|
|
7172
|
-
|
|
7173
|
-
|
|
7174
|
-
|
|
7175
|
-
|
|
7157
|
+
setShowFilters(selectedFilters.length > 0);
|
|
7158
|
+
}, [selectedFilters]);
|
|
7159
|
+
const onReset = () => {
|
|
7160
|
+
setFilters([]);
|
|
7161
|
+
};
|
|
7162
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7163
|
+
className: "grid justify-end gap-3",
|
|
7164
|
+
"data-testid": "filters-component",
|
|
7165
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7166
|
+
className: "flex items-center justify-end gap-3",
|
|
7167
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7168
|
+
className: "text-sm font-medium",
|
|
7169
|
+
"data-testid": "filters-title",
|
|
7170
|
+
children: selectedFiltersText
|
|
7171
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterButton$1, {
|
|
7172
|
+
onClick: () => setShowFilters(!showFilters),
|
|
7173
|
+
hasFilters: selectedFilters.length > 0,
|
|
7174
|
+
reset: () => onReset(),
|
|
7175
|
+
filtersText,
|
|
7176
|
+
resetText
|
|
7176
7177
|
})]
|
|
7177
|
-
})
|
|
7178
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7179
|
+
ref: content,
|
|
7180
|
+
"data-testid": "filters-items-container",
|
|
7181
|
+
"data-visible": showFilters,
|
|
7182
|
+
className: cn("flex flex-wrap justify-end gap-2 overflow-hidden opacity-0 ease-in-out [transition:max-height_0.4s,opacity_0.3s]", showFilters && "opacity-100"),
|
|
7183
|
+
style: { maxHeight: showFilters ? `${content?.current?.scrollHeight}px` : "0px" },
|
|
7184
|
+
children: filters.map((filter) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterItem, {
|
|
7185
|
+
title: filter,
|
|
7186
|
+
isActive: selectedFilters.includes(filter),
|
|
7187
|
+
onClick: () => onFilter(filter)
|
|
7188
|
+
}, filter))
|
|
7189
|
+
})]
|
|
7178
7190
|
});
|
|
7179
7191
|
};
|
|
7180
|
-
Alert.displayName = "Alert";
|
|
7181
7192
|
|
|
7182
7193
|
//#endregion
|
|
7183
|
-
//#region src/components/
|
|
7184
|
-
const
|
|
7185
|
-
const [
|
|
7194
|
+
//#region src/components/hamburgerMenuButton/index.tsx
|
|
7195
|
+
const HamburgerMenuButton = (0, react.forwardRef)(({ menuState, setMenuState }, ref) => {
|
|
7196
|
+
const defaultClasses = cn("absolute h-[2px] bg-white duration-150");
|
|
7197
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Button, {
|
|
7198
|
+
onClick: setMenuState,
|
|
7199
|
+
variant: "textButton",
|
|
7200
|
+
className: "relative h-4 w-6",
|
|
7201
|
+
name: "hamburgerMenuButton",
|
|
7202
|
+
"data-component": "hamburgerMenuButton",
|
|
7203
|
+
"aria-label": "Mobile Menu button",
|
|
7204
|
+
ref,
|
|
7205
|
+
children: [
|
|
7206
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7207
|
+
"data-testid": "hamburger-line-top",
|
|
7208
|
+
className: cn(defaultClasses, "top-0 left-0 w-6", { "translation top-1/2 translate-y-[-50%] rotate-45 transform duration-150 ease-in": menuState })
|
|
7209
|
+
}),
|
|
7210
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7211
|
+
"data-testid": "hamburger-line-middle",
|
|
7212
|
+
className: cn(defaultClasses, "top-1/2 right-0 w-4 translate-y-[-50%]", { "translation opacity-0 ease-in": menuState })
|
|
7213
|
+
}),
|
|
7214
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7215
|
+
"data-testid": "hamburger-line-bottom",
|
|
7216
|
+
className: cn(defaultClasses, "bottom-0 left-0 w-6", { "translation top-1/2 translate-y-[-50%] -rotate-45 transform duration-150 ease-in": menuState })
|
|
7217
|
+
})
|
|
7218
|
+
]
|
|
7219
|
+
});
|
|
7220
|
+
});
|
|
7221
|
+
HamburgerMenuButton.displayName = "HamburgerMenuButton";
|
|
7222
|
+
|
|
7223
|
+
//#endregion
|
|
7224
|
+
//#region src/components/numberField/index.tsx
|
|
7225
|
+
const NumberField = ({ name, value = 0, max, min = 0, isDisabled, id, className = "", label, error, onChange }) => {
|
|
7226
|
+
const handleChange = (e) => {
|
|
7227
|
+
const newValue = parseInt(e.target.value, 10);
|
|
7228
|
+
onChange?.(newValue);
|
|
7229
|
+
};
|
|
7230
|
+
const handleIncrement = () => {
|
|
7231
|
+
onChange?.(value + 1);
|
|
7232
|
+
};
|
|
7233
|
+
const handleDecrement = () => {
|
|
7234
|
+
if (value > 0) onChange?.(value - 1);
|
|
7235
|
+
};
|
|
7186
7236
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7187
|
-
"data-
|
|
7188
|
-
|
|
7189
|
-
className: (0, clsx.default)("relative", wrapperClassName),
|
|
7237
|
+
"data-testid": "number-field-container",
|
|
7238
|
+
className: `inline-flex flex-col ${className}`,
|
|
7190
7239
|
children: [
|
|
7191
|
-
|
|
7192
|
-
htmlFor:
|
|
7193
|
-
className: "mb-
|
|
7240
|
+
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
|
|
7241
|
+
htmlFor: id,
|
|
7242
|
+
className: "mb-1 text-sm font-medium text-gray-700",
|
|
7194
7243
|
children: label
|
|
7195
|
-
})
|
|
7244
|
+
}),
|
|
7196
7245
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7197
|
-
className:
|
|
7246
|
+
className: `has-focus:border-primary group relative flex w-[108px] items-center rounded-md border border-gray-300 ${error ? "border-red-300" : "border-gray-300"}`,
|
|
7198
7247
|
children: [
|
|
7199
|
-
|
|
7200
|
-
|
|
7201
|
-
|
|
7248
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7249
|
+
type: "button",
|
|
7250
|
+
onClick: handleDecrement,
|
|
7251
|
+
disabled: isDisabled,
|
|
7252
|
+
className: "absolute left-0 flex h-full w-8 items-center justify-center rounded-l-md border-r-0 bg-gray-50 text-gray-500 hover:bg-gray-100",
|
|
7253
|
+
children: "-"
|
|
7202
7254
|
}),
|
|
7203
7255
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
7204
|
-
|
|
7205
|
-
|
|
7206
|
-
|
|
7207
|
-
min,
|
|
7208
|
-
max,
|
|
7209
|
-
autoFocus,
|
|
7210
|
-
disabled,
|
|
7211
|
-
step,
|
|
7212
|
-
maxLength,
|
|
7213
|
-
className: (0, clsx.default)(`${loadingState ? "cursor-not-allowed" : ""}`, `${disabled ? "text-gray-500" : "text-gray-900"} selection:bg-turquoise-200 focus:border-turquoise-500 focus:ring-turquoise-500 active:border-turquoise-500 active:ring-turquoise-500 h-10 w-full rounded-[4px] border border-gray-200 bg-gray-50 px-3 text-sm font-normal outline-hidden ${rightSection && "pr-12"} ${leftSection && "pl-12"} ${error && "border-red-500 text-red-500 selection:bg-red-200 focus:border-red-500 focus:ring-red-500 focus:placeholder:text-red-500 active:border-red-500 active:ring-red-500"}`, className),
|
|
7214
|
-
"aria-busy": loadingState || undefined,
|
|
7215
|
-
"data-lpignore": enablePasswordManagerAutofill ? undefined : "true",
|
|
7216
|
-
"data-1p-ignore": enablePasswordManagerAutofill ? undefined : "true",
|
|
7217
|
-
ref,
|
|
7218
|
-
...props,
|
|
7219
|
-
type: password ? showPassword ? "text" : "password" : "text"
|
|
7220
|
-
}),
|
|
7221
|
-
loadingState ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7222
|
-
className: "absolute inset-y-0 right-0 flex h-10 w-12 content-center items-center justify-center align-middle text-sm font-medium text-black",
|
|
7223
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconAlert, {
|
|
7224
|
-
className: "h-4 w-4 animate-spin text-gray-500",
|
|
7225
|
-
"aria-label": "Loading"
|
|
7226
|
-
})
|
|
7227
|
-
}) : rightSection && showRightSection && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7228
|
-
className: "absolute inset-y-0 right-0 flex h-10 w-12 content-center items-center justify-center align-middle text-sm font-medium text-black",
|
|
7229
|
-
children: rightSection
|
|
7230
|
-
}),
|
|
7231
|
-
password && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7232
|
-
className: "absolute inset-y-0 right-4 flex content-center items-center justify-center align-middle text-sm font-medium text-black",
|
|
7233
|
-
children: showPassword ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
7234
|
-
"data-testid": "password-visibility-toggle",
|
|
7235
|
-
className: "cursor-pointer text-gray-500",
|
|
7236
|
-
onClick: () => setShowPassword(false)
|
|
7237
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
7238
|
-
"data-testid": "password-visibility-toggle",
|
|
7239
|
-
className: "cursor-pointer text-gray-500",
|
|
7240
|
-
onClick: () => setShowPassword(true)
|
|
7241
|
-
})
|
|
7242
|
-
})
|
|
7243
|
-
]
|
|
7244
|
-
}),
|
|
7245
|
-
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7246
|
-
className: "mt-2 text-xs font-normal text-red-500",
|
|
7247
|
-
children: error
|
|
7248
|
-
})
|
|
7249
|
-
]
|
|
7250
|
-
});
|
|
7251
|
-
});
|
|
7252
|
-
|
|
7253
|
-
//#endregion
|
|
7254
|
-
//#region src/components/autoCompleteInput/index.tsx
|
|
7255
|
-
const AutoCompleteInput = ({ label, onChange, onFocus, inputValue, showSuggestions, handleOnKeyDown, children, error, rightSection, inputRef }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7256
|
-
className: "relative mb-8",
|
|
7257
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TextInput, {
|
|
7258
|
-
ref: inputRef,
|
|
7259
|
-
label,
|
|
7260
|
-
id: "search",
|
|
7261
|
-
type: "text",
|
|
7262
|
-
name: "searchField",
|
|
7263
|
-
onChange,
|
|
7264
|
-
onFocus,
|
|
7265
|
-
onKeyDown: handleOnKeyDown,
|
|
7266
|
-
value: inputValue,
|
|
7267
|
-
error,
|
|
7268
|
-
rightSection,
|
|
7269
|
-
"aria-autocomplete": "list",
|
|
7270
|
-
"aria-controls": "suggestions-googlemaps-location-list"
|
|
7271
|
-
}), showSuggestions && inputValue && children]
|
|
7272
|
-
});
|
|
7273
|
-
|
|
7274
|
-
//#endregion
|
|
7275
|
-
//#region src/components/avatar/index.tsx
|
|
7276
|
-
const radiusFormatter = {
|
|
7277
|
-
0: "rounded-none",
|
|
7278
|
-
2: "rounded-sm",
|
|
7279
|
-
4: "rounded",
|
|
7280
|
-
6: "rounded-lg",
|
|
7281
|
-
8: "rounded-xl",
|
|
7282
|
-
10: "rounded-2xl",
|
|
7283
|
-
12: "rounded-3xl",
|
|
7284
|
-
100: "rounded-full"
|
|
7285
|
-
};
|
|
7286
|
-
const Avatar = ({ src, alt = "", size = 50, radius = 100, "data-testid": dataTestId = "avatar" }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7287
|
-
"data-component": "Avatar",
|
|
7288
|
-
"data-testid": dataTestId,
|
|
7289
|
-
children: src && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
7290
|
-
src,
|
|
7291
|
-
className: cn("aspect-square appearance-none object-cover", radiusFormatter[radius]),
|
|
7292
|
-
alt,
|
|
7293
|
-
width: size,
|
|
7294
|
-
height: size,
|
|
7295
|
-
"data-testid": "avatar-img"
|
|
7296
|
-
})
|
|
7297
|
-
});
|
|
7298
|
-
Avatar.displayName = "Avatar";
|
|
7299
|
-
|
|
7300
|
-
//#endregion
|
|
7301
|
-
//#region src/components/avatarIndicator/index.tsx
|
|
7302
|
-
const AvatarIndicator = ({ indicatorCount, className }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7303
|
-
className: cn("inline-flex h-5 min-w-5 flex-col items-center justify-center gap-2.5 rounded border-2 border-solid border-white bg-blue-950 px-1.5", className),
|
|
7304
|
-
"data-component": "AvatarIndicator",
|
|
7305
|
-
"data-testid": "AvatarIndicator",
|
|
7306
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7307
|
-
className: "font-['Gotham'] text-[10px] leading-[10px] font-bold text-white",
|
|
7308
|
-
children: `+${indicatorCount}`
|
|
7309
|
-
})
|
|
7310
|
-
});
|
|
7311
|
-
|
|
7312
|
-
//#endregion
|
|
7313
|
-
//#region src/components/badge/index.tsx
|
|
7314
|
-
const Badge = ({ styleVariant = COLOR.ACCENT_BLUE, className, favorite, mobile = false, badgeBorder = false, fullWidth = false, leftSection, rightSection, children,...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
7315
|
-
"data-testid": "badge",
|
|
7316
|
-
"data-component": "Badge",
|
|
7317
|
-
className: (0, clsx.default)("inline-flex h-[1.375rem] max-w-full place-content-center items-center p-[10px] align-middle text-xs leading-[20px] font-medium tracking-wide text-wrap whitespace-normal normal-case", mobile ? "rounded-s" : "rounded-[2rem]", fullWidth && "w-full", badgeBorder && {
|
|
7318
|
-
"border-accent-blue": styleVariant === COLOR.ACCENT_BLUE,
|
|
7319
|
-
"border-green-light": styleVariant === COLOR.GREEN_LIGHT,
|
|
7320
|
-
"border-red-500": styleVariant === COLOR.RED,
|
|
7321
|
-
"border-purple": styleVariant === COLOR.PURPLE,
|
|
7322
|
-
"border-warning": styleVariant === COLOR.WARNING,
|
|
7323
|
-
"border-black": styleVariant === COLOR.BLACK,
|
|
7324
|
-
"border-gray-800": styleVariant === COLOR.GRAY,
|
|
7325
|
-
"border-pink": styleVariant === COLOR.PINK_LIGHT || styleVariant === COLOR.PINK,
|
|
7326
|
-
"border-gray-200 bg-white text-black": styleVariant === COLOR.WHITE
|
|
7327
|
-
}, {
|
|
7328
|
-
"bg-accent-blue-light text-accent-blue": styleVariant === COLOR.ACCENT_BLUE,
|
|
7329
|
-
"bg-green-light text-green": styleVariant === COLOR.GREEN_LIGHT,
|
|
7330
|
-
"bg-red-50 text-red-500": styleVariant === COLOR.RED,
|
|
7331
|
-
"bg-purple-light text-purple": styleVariant === COLOR.PURPLE,
|
|
7332
|
-
"bg-warning-light text-warning": styleVariant === COLOR.WARNING,
|
|
7333
|
-
"bg-gray-50 text-black": styleVariant === COLOR.BLACK,
|
|
7334
|
-
"bg-gray-50 text-gray-800": styleVariant === COLOR.GRAY,
|
|
7335
|
-
"bg-pink-light text-pink": styleVariant === COLOR.PINK_LIGHT,
|
|
7336
|
-
"bg-pink text-white": styleVariant === COLOR.PINK,
|
|
7337
|
-
"bg-white text-black": styleVariant === COLOR.WHITE
|
|
7338
|
-
}, className),
|
|
7339
|
-
...props,
|
|
7340
|
-
children: [
|
|
7341
|
-
leftSection && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7342
|
-
"data-testid": "left-section",
|
|
7343
|
-
children: leftSection
|
|
7344
|
-
}),
|
|
7345
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7346
|
-
"data-testid": "badge-content",
|
|
7347
|
-
className: cn("block h-5 overflow-hidden text-ellipsis whitespace-nowrap", { "flex items-center": favorite }),
|
|
7348
|
-
children
|
|
7349
|
-
}),
|
|
7350
|
-
rightSection && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7351
|
-
"data-testid": "right-section",
|
|
7352
|
-
children: rightSection
|
|
7353
|
-
})
|
|
7354
|
-
]
|
|
7355
|
-
});
|
|
7356
|
-
Badge.displayName = "Badge";
|
|
7357
|
-
|
|
7358
|
-
//#endregion
|
|
7359
|
-
//#region src/components/bigBadge/index.tsx
|
|
7360
|
-
const BigBadge = ({ styleVariant = COLOR.GREEN, className, children,...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7361
|
-
"data-component": "BigBadge",
|
|
7362
|
-
"data-testid": "big-badge",
|
|
7363
|
-
className: cn("grid h-9 max-w-full min-w-[140px] place-content-center rounded-full border border-solid px-6 py-1 text-sm font-medium whitespace-nowrap lowercase", {
|
|
7364
|
-
"border-green text-green bg-white": styleVariant === COLOR.GREEN,
|
|
7365
|
-
"border-accent-blue text-accent-blue bg-white": styleVariant === COLOR.ACCENT_BLUE,
|
|
7366
|
-
"border-orange text-orange bg-white": styleVariant === COLOR.ORANGE,
|
|
7367
|
-
"group-hover:bg-green-light": styleVariant === COLOR.GREEN,
|
|
7368
|
-
"border-red-500 bg-white text-red-500": styleVariant === COLOR.RED,
|
|
7369
|
-
"group-hover:bg-red-50": styleVariant === COLOR.RED,
|
|
7370
|
-
"border-gray-200 bg-white text-black": styleVariant === COLOR.WHITE,
|
|
7371
|
-
"": styleVariant === COLOR.WHITE
|
|
7372
|
-
}, className),
|
|
7373
|
-
...props,
|
|
7374
|
-
children
|
|
7375
|
-
});
|
|
7376
|
-
|
|
7377
|
-
//#endregion
|
|
7378
|
-
//#region src/components/breadCrumb/index.tsx
|
|
7379
|
-
const BreadCrumb = ({ children, LinkText }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LinkText, {
|
|
7380
|
-
"data-component": "BreadCrumb",
|
|
7381
|
-
classNames: "flex items-center",
|
|
7382
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", { role: "img" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7383
|
-
className: "flex items-center gap-5",
|
|
7384
|
-
children
|
|
7385
|
-
})] })
|
|
7386
|
-
});
|
|
7387
|
-
BreadCrumb.displayName = "BreadCrumb";
|
|
7388
|
-
|
|
7389
|
-
//#endregion
|
|
7390
|
-
//#region src/components/popover/index.tsx
|
|
7391
|
-
const Popover = (0, react.forwardRef)(({ content, children, hoverEnabled = false, passedOpen = false, placement = "right", style = "card", isMobile = false, className }, ref) => {
|
|
7392
|
-
const [isOpen, setIsOpen] = (0, react.useState)(passedOpen);
|
|
7393
|
-
const mobileStyles = { width: `${style === "card" && "100%"}` };
|
|
7394
|
-
const { refs, floatingStyles, context } = (0, __floating_ui_react.useFloating)({
|
|
7395
|
-
open: isOpen,
|
|
7396
|
-
onOpenChange: setIsOpen,
|
|
7397
|
-
placement: !isMobile ? placement : "bottom-start",
|
|
7398
|
-
middleware: [
|
|
7399
|
-
!isMobile && (0, __floating_ui_react.flip)(),
|
|
7400
|
-
!isMobile && (0, __floating_ui_react.shift)(),
|
|
7401
|
-
(0, __floating_ui_react.offset)(() => ({
|
|
7402
|
-
mainAxis: 15,
|
|
7403
|
-
crossAxis: !isMobile ? 0 : 78
|
|
7404
|
-
}))
|
|
7405
|
-
],
|
|
7406
|
-
whileElementsMounted: __floating_ui_react.autoUpdate
|
|
7407
|
-
});
|
|
7408
|
-
const click = (0, __floating_ui_react.useClick)(context, {
|
|
7409
|
-
event: "click",
|
|
7410
|
-
keyboardHandlers: true
|
|
7411
|
-
});
|
|
7412
|
-
const focus = (0, __floating_ui_react.useFocus)(context);
|
|
7413
|
-
const hover = (0, __floating_ui_react.useHover)(context, { enabled: hoverEnabled });
|
|
7414
|
-
const dismiss = (0, __floating_ui_react.useDismiss)(context);
|
|
7415
|
-
const role = (0, __floating_ui_react.useRole)(context, { role: "tooltip" });
|
|
7416
|
-
const interactions = [
|
|
7417
|
-
click,
|
|
7418
|
-
focus,
|
|
7419
|
-
dismiss,
|
|
7420
|
-
role,
|
|
7421
|
-
hover
|
|
7422
|
-
];
|
|
7423
|
-
const { getReferenceProps, getFloatingProps } = (0, __floating_ui_react.useInteractions)(interactions);
|
|
7424
|
-
(0, react.useImperativeHandle)(ref, () => ({
|
|
7425
|
-
closePopover: () => setIsOpen(false),
|
|
7426
|
-
openPopover: () => setIsOpen(true),
|
|
7427
|
-
togglePopover: () => setIsOpen((prev) => !prev)
|
|
7428
|
-
}));
|
|
7429
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7430
|
-
className: cn("", { "[&>div]:border-navyBlue": isOpen }, className),
|
|
7431
|
-
children: [(0, react.isValidElement)(children) && (0, react.cloneElement)(children, getReferenceProps({
|
|
7432
|
-
ref: refs.setReference,
|
|
7433
|
-
...getReferenceProps()
|
|
7434
|
-
})), isOpen && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7435
|
-
ref: refs.setFloating,
|
|
7436
|
-
style: {
|
|
7437
|
-
...floatingStyles,
|
|
7438
|
-
...isMobile && { ...mobileStyles }
|
|
7439
|
-
},
|
|
7440
|
-
...getFloatingProps(),
|
|
7441
|
-
className: (0, clsx.default)("z-60", {
|
|
7442
|
-
"w-fit rounded border border-gray-200! bg-white p-5": style === "minimal",
|
|
7443
|
-
"card w-[489px] drop-shadow-xl": style === "card"
|
|
7444
|
-
}),
|
|
7445
|
-
"data-testid": "popover-container",
|
|
7446
|
-
"data-component": "Popover",
|
|
7447
|
-
children: [style === "minimal" && content, style === "card" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7448
|
-
className: "bg-linear-gradient-x pt-[3px]",
|
|
7449
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7450
|
-
className: "relative overflow-hidden bg-white p-5",
|
|
7451
|
-
children: [!hoverEnabled && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ActionIcon, {
|
|
7452
|
-
onClick: () => setIsOpen(false),
|
|
7453
|
-
title: "",
|
|
7454
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {}),
|
|
7455
|
-
styleVariant: "small",
|
|
7456
|
-
className: "absolute top-5 right-5"
|
|
7457
|
-
}), content]
|
|
7458
|
-
})
|
|
7459
|
-
})]
|
|
7460
|
-
})]
|
|
7461
|
-
});
|
|
7462
|
-
});
|
|
7463
|
-
|
|
7464
|
-
//#endregion
|
|
7465
|
-
//#region src/components/datePickerInput/index.tsx
|
|
7466
|
-
const DatePickerInput = ({ lang, todayText, value, disabledFrom, disabledUntil, className, error, onChange, placeholder, label, disabled, minimalDropdownYears = 4 }) => {
|
|
7467
|
-
const [selected, setSelected] = (0, react.useState)(value);
|
|
7468
|
-
const today = new Date();
|
|
7469
|
-
const [newMonth, setNewMonth] = (0, react.useState)(selected || today);
|
|
7470
|
-
const [dropdownOpened, setDropdownOpened] = (0, react.useState)({
|
|
7471
|
-
month: false,
|
|
7472
|
-
year: false
|
|
7473
|
-
});
|
|
7474
|
-
const locales = {
|
|
7475
|
-
fr: date_fns_locale.fr,
|
|
7476
|
-
enGB: date_fns_locale.enGB,
|
|
7477
|
-
nl: date_fns_locale.nl,
|
|
7478
|
-
nlBE: date_fns_locale.nlBE
|
|
7479
|
-
};
|
|
7480
|
-
const dropdownRef = (0, react.useRef)(null);
|
|
7481
|
-
const popoverRef = (0, react.useRef)(null);
|
|
7482
|
-
const renderLocale = () => {
|
|
7483
|
-
switch (lang) {
|
|
7484
|
-
case "fr-FR": return locales.fr;
|
|
7485
|
-
case "nl-BE": return locales.nlBE;
|
|
7486
|
-
case "nl-NL": return locales.nl;
|
|
7487
|
-
case "en-GB": return locales.enGB;
|
|
7488
|
-
default: return locales.enGB;
|
|
7489
|
-
}
|
|
7490
|
-
};
|
|
7491
|
-
/* istanbul ignore next - relies on dropdown DOM not rendered in tests */
|
|
7492
|
-
const handleClickOutside = (event) => {
|
|
7493
|
-
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) setDropdownOpened({
|
|
7494
|
-
month: false,
|
|
7495
|
-
year: false
|
|
7496
|
-
});
|
|
7497
|
-
};
|
|
7498
|
-
/* istanbul ignore next - environment differences make listener attach hard to test */
|
|
7499
|
-
(0, react.useEffect)(() => {
|
|
7500
|
-
if (dropdownOpened.month || dropdownOpened.year) document.addEventListener("mousedown", handleClickOutside);
|
|
7501
|
-
else document.removeEventListener("mousedown", handleClickOutside);
|
|
7502
|
-
return () => {
|
|
7503
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
7504
|
-
};
|
|
7505
|
-
}, [dropdownOpened]);
|
|
7506
|
-
const handleDayClick = (date) => {
|
|
7507
|
-
/* istanbul ignore next - react-day-picker rarely calls onSelect(undefined) in our configuration */
|
|
7508
|
-
if (!date) return;
|
|
7509
|
-
handleClosePopover();
|
|
7510
|
-
setNewMonth(date);
|
|
7511
|
-
setSelected(date);
|
|
7512
|
-
onChange?.(date);
|
|
7513
|
-
};
|
|
7514
|
-
const isDateSelected = (day) => {
|
|
7515
|
-
/* istanbul ignore next - defensive null guard */
|
|
7516
|
-
if (!selected || !day) return false;
|
|
7517
|
-
const d1 = new Date(day?.date);
|
|
7518
|
-
const d2 = new Date(selected);
|
|
7519
|
-
d1.setHours(0, 0, 0, 0);
|
|
7520
|
-
d2.setHours(0, 0, 0, 0);
|
|
7521
|
-
return d1.getTime() === d2.getTime();
|
|
7522
|
-
};
|
|
7523
|
-
const handleClosePopover = () => {
|
|
7524
|
-
popoverRef.current?.closePopover();
|
|
7525
|
-
};
|
|
7526
|
-
const isDateToday = (day) => {
|
|
7527
|
-
/* istanbul ignore next - defensive null guard */
|
|
7528
|
-
if (!day) return false;
|
|
7529
|
-
const d1 = new Date(day?.date);
|
|
7530
|
-
const d2 = new Date(today);
|
|
7531
|
-
d1.setHours(0, 0, 0, 0);
|
|
7532
|
-
d2.setHours(0, 0, 0, 0);
|
|
7533
|
-
return d1.getTime() === d2.getTime();
|
|
7534
|
-
};
|
|
7535
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Popover, {
|
|
7536
|
-
style: "minimal",
|
|
7537
|
-
className: "w-full",
|
|
7538
|
-
ref: popoverRef,
|
|
7539
|
-
content: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_day_picker.DayPicker, {
|
|
7540
|
-
...className && { className },
|
|
7541
|
-
mode: "single",
|
|
7542
|
-
selected,
|
|
7543
|
-
onSelect: handleDayClick,
|
|
7544
|
-
locale: renderLocale(),
|
|
7545
|
-
fixedWeeks: true,
|
|
7546
|
-
endMonth: (0, date_fns.addMonths)(today, 13),
|
|
7547
|
-
captionLayout: "dropdown",
|
|
7548
|
-
onMonthChange: (newMonth$1) => setNewMonth(newMonth$1),
|
|
7549
|
-
showOutsideDays: true,
|
|
7550
|
-
disabled: disabledFrom ? { before: disabledFrom } : disabledUntil ? { after: disabledUntil } : undefined,
|
|
7551
|
-
classNames: {
|
|
7552
|
-
month_grid: "mt-3 max-w-[400px] border-t border-gray-100",
|
|
7553
|
-
month_caption: "text-sm font-bold",
|
|
7554
|
-
dropdowns: "flex items-center w-[190px] gap-1 left-0 justify-center h-8",
|
|
7555
|
-
caption_label: "text-sm font-medium flex items-center justify-center w-[190px]",
|
|
7556
|
-
chevron: "w-4 h-4 z-50",
|
|
7557
|
-
nav: "absolute w-[190px] justify-between flex h-8 items-center",
|
|
7558
|
-
nav_button: "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 cursor-pointer",
|
|
7559
|
-
nav_button_previous: "absolute left-1",
|
|
7560
|
-
nav_button_next: "absolute right-1",
|
|
7561
|
-
day: "h-8 w-8 p-0 aria-selected:opacity-100 font-normal text-sm",
|
|
7562
|
-
weekdays: "pt-12",
|
|
7563
|
-
weekday: "text-gray-300 text-sm font-normal pt-4 pb-2",
|
|
7564
|
-
day_today: "bg-accent text-accent-foreground",
|
|
7565
|
-
day_outside: "day-outside text-gray-800 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",
|
|
7566
|
-
day_disabled: "text-gray-800",
|
|
7567
|
-
day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
|
|
7568
|
-
day_hidden: "invisible"
|
|
7569
|
-
},
|
|
7570
|
-
components: {
|
|
7571
|
-
DayButton: (props) => {
|
|
7572
|
-
const { day,...buttonProps } = props;
|
|
7573
|
-
const { goToMonth } = (0, react_day_picker.useDayPicker)();
|
|
7574
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7575
|
-
type: "button",
|
|
7576
|
-
...buttonProps,
|
|
7577
|
-
className: (0, clsx.default)("m-1 size-8 text-black transition-all duration-100 ease-in-out", "md:hover:bg-gradient-calendar hover:rounded md:hover:text-white", isDateSelected(day) && "bg-gradient-calendar rounded text-sm font-normal text-white", isDateToday(day) && "border-b-primary border border-transparent", "translate-y-0 active:translate-y-0.5"),
|
|
7578
|
-
onClick: () => {
|
|
7579
|
-
goToMonth(day.date);
|
|
7580
|
-
handleDayClick(day.date);
|
|
7581
|
-
}
|
|
7582
|
-
});
|
|
7583
|
-
},
|
|
7584
|
-
Dropdown: (props) => {
|
|
7585
|
-
const { goToMonth, months } = (0, react_day_picker.useDayPicker)();
|
|
7586
|
-
const { className: dropdownClassName } = props;
|
|
7587
|
-
const today$1 = new Date();
|
|
7588
|
-
/* istanbul ignore next - react-day-picker may not pass this className in our test env */
|
|
7589
|
-
if (dropdownClassName === "rdp-months_dropdown") {
|
|
7590
|
-
const selectedYear = newMonth.getFullYear();
|
|
7591
|
-
const selectItems = Array.from({ length: 12 }, (_, i) => {
|
|
7592
|
-
const monthDate = (0, date_fns.setMonth)(new Date(selectedYear, i), i);
|
|
7593
|
-
return {
|
|
7594
|
-
value: i.toString(),
|
|
7595
|
-
label: (0, date_fns.format)(monthDate, "MMMM", { locale: renderLocale() })
|
|
7596
|
-
};
|
|
7597
|
-
});
|
|
7598
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7599
|
-
className: "relative",
|
|
7600
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7601
|
-
className: "cursor-pointer",
|
|
7602
|
-
onClick: () => setDropdownOpened({
|
|
7603
|
-
...dropdownOpened,
|
|
7604
|
-
month: !dropdownOpened.month,
|
|
7605
|
-
year: false
|
|
7606
|
-
}),
|
|
7607
|
-
children: (0, date_fns.format)(newMonth, "MMMM", { locale: renderLocale() })
|
|
7608
|
-
}), dropdownOpened.month && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7609
|
-
ref: dropdownRef,
|
|
7610
|
-
className: "shadow-dropdown absolute z-70 rounded-md border border-gray-50 bg-white",
|
|
7611
|
-
children: selectItems.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7612
|
-
onClick: () => {
|
|
7613
|
-
const newDate = new Date(selectedYear, parseInt(item.value));
|
|
7614
|
-
goToMonth(newDate);
|
|
7615
|
-
setDropdownOpened({
|
|
7616
|
-
month: false,
|
|
7617
|
-
year: false
|
|
7618
|
-
});
|
|
7619
|
-
},
|
|
7620
|
-
className: "z-70 cursor-pointer border-b border-gray-50 bg-white px-4 py-1 font-normal text-black transition duration-200 ease-out hover:bg-gray-50",
|
|
7621
|
-
children: item.label
|
|
7622
|
-
}, item.value))
|
|
7623
|
-
})]
|
|
7624
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Button, {
|
|
7625
|
-
variant: "secondary",
|
|
7626
|
-
type: "button",
|
|
7627
|
-
className: "absolute top-4 right-4 z-10 h-8 px-3 text-xs font-normal",
|
|
7628
|
-
onClick: () => {
|
|
7629
|
-
goToMonth(today$1);
|
|
7630
|
-
handleDayClick(today$1);
|
|
7631
|
-
},
|
|
7632
|
-
children: todayText
|
|
7633
|
-
})] });
|
|
7634
|
-
} else if (dropdownClassName === "rdp-years_dropdown") {
|
|
7635
|
-
const earliestYear = new Date().getFullYear() - minimalDropdownYears;
|
|
7636
|
-
const latestYear = new Date().getFullYear() + 1;
|
|
7637
|
-
/* istanbul ignore else - defensive guard will always be truthy */
|
|
7638
|
-
if (earliestYear && latestYear) {
|
|
7639
|
-
const years = Array.from({ length: latestYear - earliestYear + 1 }, (_, i) => earliestYear + i).reverse();
|
|
7640
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7641
|
-
className: "relative",
|
|
7642
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7643
|
-
className: "cursor-pointer",
|
|
7644
|
-
onClick: () => setDropdownOpened({
|
|
7645
|
-
...dropdownOpened,
|
|
7646
|
-
year: !dropdownOpened.year,
|
|
7647
|
-
month: false
|
|
7648
|
-
}),
|
|
7649
|
-
children: (0, date_fns.format)(newMonth, "yyyy", { locale: renderLocale() })
|
|
7650
|
-
}), dropdownOpened.year && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7651
|
-
ref: dropdownRef,
|
|
7652
|
-
className: "shadow-dropdown absolute z-70 rounded-md border border-gray-50 bg-white max-h-64 overflow-y-auto",
|
|
7653
|
-
children: years.map((year) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7654
|
-
onClick: () => {
|
|
7655
|
-
const newDate = months?.[0]?.date || new Date();
|
|
7656
|
-
newDate.setFullYear(year);
|
|
7657
|
-
goToMonth(newDate);
|
|
7658
|
-
setDropdownOpened({
|
|
7659
|
-
month: false,
|
|
7660
|
-
year: false
|
|
7661
|
-
});
|
|
7662
|
-
},
|
|
7663
|
-
className: "z-70 cursor-pointer border-b border-gray-50 px-4 py-1 font-normal text-black transition duration-200 ease-out hover:bg-gray-50",
|
|
7664
|
-
children: year
|
|
7665
|
-
}, year))
|
|
7666
|
-
})]
|
|
7667
|
-
});
|
|
7668
|
-
}
|
|
7669
|
-
}
|
|
7670
|
-
/* istanbul ignore next - fallback path only when react-day-picker passes unknown className */
|
|
7671
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, {});
|
|
7672
|
-
}
|
|
7673
|
-
}
|
|
7674
|
-
}) }),
|
|
7675
|
-
placement: "bottom-start",
|
|
7676
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7677
|
-
"data-component": "datePickerInput",
|
|
7678
|
-
className: cn("relative", className),
|
|
7679
|
-
children: [
|
|
7680
|
-
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
|
|
7681
|
-
className: "mb-2 flex items-center gap-1 text-xs font-medium",
|
|
7682
|
-
children: label
|
|
7683
|
-
}),
|
|
7684
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Button, {
|
|
7685
|
-
variant: "outline",
|
|
7686
|
-
type: "button",
|
|
7687
|
-
disabled,
|
|
7688
|
-
className: cn(
|
|
7689
|
-
"flex h-10 w-full items-center justify-start bg-gray-50 px-3 text-black",
|
|
7690
|
-
/* istanbul ignore next - cosmetic class toggle */
|
|
7691
|
-
{ "border-red-500 text-red-500": error }
|
|
7692
|
-
),
|
|
7693
|
-
onClick: () => setNewMonth(today),
|
|
7694
|
-
children: [
|
|
7695
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {}),
|
|
7696
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7697
|
-
className: "text-sm font-normal text-nowrap text-black",
|
|
7698
|
-
children: selected ? selected.toLocaleDateString() : placeholder
|
|
7699
|
-
}),
|
|
7700
|
-
selected !== undefined && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7701
|
-
className: "cursor-pointer text-sm font-normal text-gray-800",
|
|
7702
|
-
onClick: () => {
|
|
7703
|
-
setSelected(undefined);
|
|
7704
|
-
onChange?.(undefined);
|
|
7705
|
-
},
|
|
7706
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {})
|
|
7707
|
-
}) })
|
|
7708
|
-
]
|
|
7709
|
-
}),
|
|
7710
|
-
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
|
|
7711
|
-
className: "text-xs font-normal text-red-500",
|
|
7712
|
-
children: error
|
|
7713
|
-
})
|
|
7714
|
-
]
|
|
7715
|
-
})
|
|
7716
|
-
});
|
|
7717
|
-
};
|
|
7718
|
-
|
|
7719
|
-
//#endregion
|
|
7720
|
-
//#region src/components/favouriteButton/index.tsx
|
|
7721
|
-
const FavouriteButton = (0, react.forwardRef)((props, ref) => {
|
|
7722
|
-
const { onClick, favourite, iconFilled, iconOutline, favouriteTitle, iconColorSelected = "text-pink", iconColor = "text-gray-800", iconSize, className = "", styleVariant = "transparent", children,...rest } = props;
|
|
7723
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ActionIcon, {
|
|
7724
|
-
onClick,
|
|
7725
|
-
"data-component": "favouriteButton",
|
|
7726
|
-
title: favouriteTitle || "Favorite",
|
|
7727
|
-
styleVariant,
|
|
7728
|
-
className: `${favourite ? iconColorSelected : iconColor} ${className}`.trim(),
|
|
7729
|
-
iconSize,
|
|
7730
|
-
ref,
|
|
7731
|
-
icon: favourite ? iconFilled ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {}) : iconOutline ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {}),
|
|
7732
|
-
...rest,
|
|
7733
|
-
children
|
|
7734
|
-
});
|
|
7735
|
-
});
|
|
7736
|
-
|
|
7737
|
-
//#endregion
|
|
7738
|
-
//#region src/components/unstyledButton/index.tsx
|
|
7739
|
-
const UnstyledButton = (0, react.forwardRef)(({ className,...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7740
|
-
type: "button",
|
|
7741
|
-
"data-component": "unstyledButton",
|
|
7742
|
-
className: cn("appearance-none", className),
|
|
7743
|
-
ref,
|
|
7744
|
-
...props
|
|
7745
|
-
}));
|
|
7746
|
-
UnstyledButton.displayName = "UnstyledButton";
|
|
7747
|
-
|
|
7748
|
-
//#endregion
|
|
7749
|
-
//#region src/components/filters/FilterButton.tsx
|
|
7750
|
-
const FilterButton$1 = ({ onClick, hasFilters, reset, filtersText, resetText }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7751
|
-
className: "flex gap-3",
|
|
7752
|
-
"data-testid": "filterButton",
|
|
7753
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Button, {
|
|
7754
|
-
onClick,
|
|
7755
|
-
variant: "secondary",
|
|
7756
|
-
className: "font-normal md:font-normal",
|
|
7757
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {}),
|
|
7758
|
-
children: filtersText
|
|
7759
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(UnstyledButton, {
|
|
7760
|
-
className: "text-sm font-normal disabled:text-gray-500",
|
|
7761
|
-
onClick: reset,
|
|
7762
|
-
disabled: !hasFilters,
|
|
7763
|
-
children: resetText
|
|
7764
|
-
})]
|
|
7765
|
-
});
|
|
7766
|
-
|
|
7767
|
-
//#endregion
|
|
7768
|
-
//#region src/components/filters/FilterItem.tsx
|
|
7769
|
-
const FilterItem = ({ title, isActive = false, onClick }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
7770
|
-
className: cn("has-checked:border-primary has-checked:bg-turquoise-100 flex cursor-pointer items-center gap-3 rounded-full border border-gray-200 px-7 py-1.5 text-sm leading-6 font-normal transition-all duration-300 ease-in-out hover:bg-gray-50"),
|
|
7771
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
7772
|
-
type: "checkbox",
|
|
7773
|
-
className: "hidden",
|
|
7774
|
-
onChange: onClick,
|
|
7775
|
-
checked: isActive
|
|
7776
|
-
}), title]
|
|
7777
|
-
});
|
|
7778
|
-
|
|
7779
|
-
//#endregion
|
|
7780
|
-
//#region src/components/filters/index.tsx
|
|
7781
|
-
const Filters = ({ filters, setFilters, selectedFilters, selectedFiltersText, filtersText, resetText }) => {
|
|
7782
|
-
const content = (0, react.useRef)(null);
|
|
7783
|
-
const [showFilters, setShowFilters] = (0, react.useState)(false);
|
|
7784
|
-
const onFilter = (filter) => {
|
|
7785
|
-
if (selectedFilters.includes(filter)) setFilters(selectedFilters.filter((f) => f !== filter));
|
|
7786
|
-
else setFilters([...selectedFilters, filter]);
|
|
7787
|
-
};
|
|
7788
|
-
(0, react.useEffect)(() => {
|
|
7789
|
-
setShowFilters(selectedFilters.length > 0);
|
|
7790
|
-
}, [selectedFilters]);
|
|
7791
|
-
const onReset = () => {
|
|
7792
|
-
setFilters([]);
|
|
7793
|
-
};
|
|
7794
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7795
|
-
className: "grid justify-end gap-3",
|
|
7796
|
-
"data-testid": "filters-component",
|
|
7797
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7798
|
-
className: "flex items-center justify-end gap-3",
|
|
7799
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7800
|
-
className: "text-sm font-medium",
|
|
7801
|
-
"data-testid": "filters-title",
|
|
7802
|
-
children: selectedFiltersText
|
|
7803
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterButton$1, {
|
|
7804
|
-
onClick: () => setShowFilters(!showFilters),
|
|
7805
|
-
hasFilters: selectedFilters.length > 0,
|
|
7806
|
-
reset: () => onReset(),
|
|
7807
|
-
filtersText,
|
|
7808
|
-
resetText
|
|
7809
|
-
})]
|
|
7810
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7811
|
-
ref: content,
|
|
7812
|
-
"data-testid": "filters-items-container",
|
|
7813
|
-
"data-visible": showFilters,
|
|
7814
|
-
className: cn("flex flex-wrap justify-end gap-2 overflow-hidden opacity-0 ease-in-out [transition:max-height_0.4s,opacity_0.3s]", showFilters && "opacity-100"),
|
|
7815
|
-
style: { maxHeight: showFilters ? `${content?.current?.scrollHeight}px` : "0px" },
|
|
7816
|
-
children: filters.map((filter) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterItem, {
|
|
7817
|
-
title: filter,
|
|
7818
|
-
isActive: selectedFilters.includes(filter),
|
|
7819
|
-
onClick: () => onFilter(filter)
|
|
7820
|
-
}, filter))
|
|
7821
|
-
})]
|
|
7822
|
-
});
|
|
7823
|
-
};
|
|
7824
|
-
|
|
7825
|
-
//#endregion
|
|
7826
|
-
//#region src/components/hamburgerMenuButton/index.tsx
|
|
7827
|
-
const HamburgerMenuButton = (0, react.forwardRef)(({ menuState, setMenuState }, ref) => {
|
|
7828
|
-
const defaultClasses = cn("absolute h-[2px] bg-white duration-150");
|
|
7829
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(UnstyledButton, {
|
|
7830
|
-
onClick: setMenuState,
|
|
7831
|
-
className: "relative h-4 w-6",
|
|
7832
|
-
name: "hamburgerMenuButton",
|
|
7833
|
-
"data-component": "hamburgerMenuButton",
|
|
7834
|
-
"aria-label": "Mobile Menu button",
|
|
7835
|
-
ref,
|
|
7836
|
-
children: [
|
|
7837
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7838
|
-
"data-testid": "hamburger-line-top",
|
|
7839
|
-
className: cn(defaultClasses, "top-0 left-0 w-6", { "translation top-1/2 translate-y-[-50%] rotate-45 transform duration-150 ease-in": menuState })
|
|
7840
|
-
}),
|
|
7841
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7842
|
-
"data-testid": "hamburger-line-middle",
|
|
7843
|
-
className: cn(defaultClasses, "top-1/2 right-0 w-4 translate-y-[-50%]", { "translation opacity-0 ease-in": menuState })
|
|
7844
|
-
}),
|
|
7845
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
7846
|
-
"data-testid": "hamburger-line-bottom",
|
|
7847
|
-
className: cn(defaultClasses, "bottom-0 left-0 w-6", { "translation top-1/2 translate-y-[-50%] -rotate-45 transform duration-150 ease-in": menuState })
|
|
7848
|
-
})
|
|
7849
|
-
]
|
|
7850
|
-
});
|
|
7851
|
-
});
|
|
7852
|
-
HamburgerMenuButton.displayName = "HamburgerMenuButton";
|
|
7853
|
-
|
|
7854
|
-
//#endregion
|
|
7855
|
-
//#region src/components/island/index.tsx
|
|
7856
|
-
const Island = ({ children, className, noShadow = false, noPadding = false,...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7857
|
-
"data-testid": "island",
|
|
7858
|
-
"data-component": "island",
|
|
7859
|
-
className: cn("relative bg-white px-5 py-5 md:px-10 md:py-9", {
|
|
7860
|
-
"shadow-[0_-0.5rem_2rem_rgba(38,41,92,0.04)]": !noShadow,
|
|
7861
|
-
"drop-shadow-none": noShadow,
|
|
7862
|
-
"md:px-0 md:py-0": noPadding
|
|
7863
|
-
}, className),
|
|
7864
|
-
...props,
|
|
7865
|
-
children
|
|
7866
|
-
});
|
|
7867
|
-
Island.displayName = "Island";
|
|
7868
|
-
|
|
7869
|
-
//#endregion
|
|
7870
|
-
//#region src/components/modal/index.tsx
|
|
7871
|
-
const Modal = ({ title, children, withCloseButton = true, opened, additionalClassNames, closeModalWithConfirmation = false, gradient = true, uncloseAble = false, confirmText = "Are you sure you want to close this modal?", dataTestId, onClose, size }) => {
|
|
7872
|
-
const ref = (0, react.useRef)(null);
|
|
7873
|
-
const refContainer = (0, react.useRef)(null);
|
|
7874
|
-
const [isOpen, setIsOpen] = (0, react.useState)(false);
|
|
7875
|
-
(0, react.useEffect)(() => {
|
|
7876
|
-
setIsOpen(opened);
|
|
7877
|
-
}, [opened]);
|
|
7878
|
-
const handleClose = (0, react.useCallback)(() => {
|
|
7879
|
-
if (uncloseAble) return;
|
|
7880
|
-
if (closeModalWithConfirmation) {
|
|
7881
|
-
if (window.confirm(confirmText)) {
|
|
7882
|
-
setIsOpen(false);
|
|
7883
|
-
onClose();
|
|
7884
|
-
}
|
|
7885
|
-
} else {
|
|
7886
|
-
setIsOpen(false);
|
|
7887
|
-
onClose();
|
|
7888
|
-
}
|
|
7889
|
-
}, [
|
|
7890
|
-
closeModalWithConfirmation,
|
|
7891
|
-
onClose,
|
|
7892
|
-
uncloseAble
|
|
7893
|
-
]);
|
|
7894
|
-
const handleClickOutside = (0, react.useCallback)((event) => {
|
|
7895
|
-
if (refContainer.current && refContainer.current.contains(event.target)) {
|
|
7896
|
-
if (ref.current && !ref.current.contains(event.target)) handleClose();
|
|
7897
|
-
}
|
|
7898
|
-
}, [handleClose]);
|
|
7899
|
-
const handleEscapeKey = (0, react.useCallback)((event) => {
|
|
7900
|
-
if (event.code === "Escape") handleClose();
|
|
7901
|
-
}, [handleClose]);
|
|
7902
|
-
(0, react.useEffect)(() => {
|
|
7903
|
-
if (isOpen) {
|
|
7904
|
-
document.addEventListener("mousedown", handleClickOutside);
|
|
7905
|
-
window.addEventListener("keydown", handleEscapeKey);
|
|
7906
|
-
}
|
|
7907
|
-
return () => {
|
|
7908
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
7909
|
-
window.removeEventListener("keydown", handleEscapeKey);
|
|
7910
|
-
};
|
|
7911
|
-
}, [
|
|
7912
|
-
handleClickOutside,
|
|
7913
|
-
handleClose,
|
|
7914
|
-
handleEscapeKey,
|
|
7915
|
-
isOpen,
|
|
7916
|
-
onClose,
|
|
7917
|
-
opened,
|
|
7918
|
-
ref
|
|
7919
|
-
]);
|
|
7920
|
-
if (!isOpen) return null;
|
|
7921
|
-
return (0, react_dom.createPortal)(/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7922
|
-
className: cn("fixed top-0 left-0 z-999 grid h-full w-full items-center overflow-y-scroll overscroll-contain px-4 py-10 md:py-20"),
|
|
7923
|
-
"data-testid": dataTestId,
|
|
7924
|
-
"data-component": "modal",
|
|
7925
|
-
ref: refContainer,
|
|
7926
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7927
|
-
className: "bg-navy-blue/40 fixed top-0 left-0 z-[-1] size-full",
|
|
7928
|
-
"data-testid": "modalBg"
|
|
7929
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7930
|
-
className: "relative flex w-full justify-center",
|
|
7931
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
7932
|
-
className: cn("relative h-full w-full max-w-[1000px] bg-white px-5 py-8 shadow-xl md:px-10 md:py-10", additionalClassNames, size),
|
|
7933
|
-
ref,
|
|
7934
|
-
role: "dialog",
|
|
7935
|
-
tabIndex: -1,
|
|
7936
|
-
"aria-modal": isOpen,
|
|
7937
|
-
"aria-label": title,
|
|
7938
|
-
children: [
|
|
7939
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7940
|
-
className: "relative z-10 w-full",
|
|
7941
|
-
children: withCloseButton && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ActionIcon, {
|
|
7942
|
-
onClick: handleClose,
|
|
7943
|
-
"aria-label": "close modal",
|
|
7944
|
-
className: "absolute top-0 right-0",
|
|
7945
|
-
"data-testid": "close-modal",
|
|
7946
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {}),
|
|
7947
|
-
title: "close Modal"
|
|
7948
|
-
})
|
|
7949
|
-
}),
|
|
7950
|
-
title && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7951
|
-
className: "relative w-full pt-14",
|
|
7952
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
|
|
7953
|
-
className: "mt-0 mb-8 text-left text-3xl font-bold",
|
|
7954
|
-
children: title
|
|
7955
|
-
})
|
|
7956
|
-
}),
|
|
7957
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children }),
|
|
7958
|
-
gradient && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("hr", {
|
|
7959
|
-
"data-testid": "modal-gradient",
|
|
7960
|
-
className: "absolute bottom-0 left-0 mt-8 mb-0 h-2! w-full border-none",
|
|
7961
|
-
style: { backgroundImage: "linear-gradient(90deg, var(--color-light-blue) 0%, var(--color-primary) 50.52%, var(--color-pink) 100%)" }
|
|
7962
|
-
})
|
|
7963
|
-
]
|
|
7964
|
-
})
|
|
7965
|
-
})]
|
|
7966
|
-
}), document.body);
|
|
7967
|
-
};
|
|
7968
|
-
Modal.displayName = "Modal";
|
|
7969
|
-
|
|
7970
|
-
//#endregion
|
|
7971
|
-
//#region src/components/numberField/index.tsx
|
|
7972
|
-
const NumberField = ({ name, value = 0, max, min = 0, isDisabled, id, className = "", label, error, onChange }) => {
|
|
7973
|
-
const handleChange = (e) => {
|
|
7974
|
-
const newValue = parseInt(e.target.value, 10);
|
|
7975
|
-
onChange?.(newValue);
|
|
7976
|
-
};
|
|
7977
|
-
const handleIncrement = () => {
|
|
7978
|
-
onChange?.(value + 1);
|
|
7979
|
-
};
|
|
7980
|
-
const handleDecrement = () => {
|
|
7981
|
-
if (value > 0) onChange?.(value - 1);
|
|
7982
|
-
};
|
|
7983
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7984
|
-
"data-testid": "number-field-container",
|
|
7985
|
-
className: `inline-flex flex-col ${className}`,
|
|
7986
|
-
children: [
|
|
7987
|
-
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
|
|
7988
|
-
htmlFor: id,
|
|
7989
|
-
className: "mb-1 text-sm font-medium text-gray-700",
|
|
7990
|
-
children: label
|
|
7991
|
-
}),
|
|
7992
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7993
|
-
className: `has-focus:border-primary group relative flex w-[108px] items-center rounded-md border border-gray-300 ${error ? "border-red-300" : "border-gray-300"}`,
|
|
7994
|
-
children: [
|
|
7995
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
7996
|
-
type: "button",
|
|
7997
|
-
onClick: handleDecrement,
|
|
7998
|
-
disabled: isDisabled,
|
|
7999
|
-
className: "absolute left-0 flex h-full w-8 items-center justify-center rounded-l-md border-r-0 bg-gray-50 text-gray-500 hover:bg-gray-100",
|
|
8000
|
-
children: "-"
|
|
8001
|
-
}),
|
|
8002
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
8003
|
-
type: "number",
|
|
8004
|
-
id,
|
|
8005
|
-
name,
|
|
7256
|
+
type: "number",
|
|
7257
|
+
id,
|
|
7258
|
+
name,
|
|
8006
7259
|
min,
|
|
8007
7260
|
max,
|
|
8008
7261
|
disabled: isDisabled,
|
|
@@ -8027,17 +7280,6 @@ const NumberField = ({ name, value = 0, max, min = 0, isDisabled, id, className
|
|
|
8027
7280
|
});
|
|
8028
7281
|
};
|
|
8029
7282
|
|
|
8030
|
-
//#endregion
|
|
8031
|
-
//#region src/components/passwordInput/index.tsx
|
|
8032
|
-
const PasswordInput = react.default.forwardRef((props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TextInput, {
|
|
8033
|
-
password: true,
|
|
8034
|
-
enablePasswordManagerAutofill: true,
|
|
8035
|
-
type: "password",
|
|
8036
|
-
...props,
|
|
8037
|
-
ref
|
|
8038
|
-
}));
|
|
8039
|
-
PasswordInput.displayName = "PasswordInput";
|
|
8040
|
-
|
|
8041
7283
|
//#endregion
|
|
8042
7284
|
//#region src/components/progressBar/index.tsx
|
|
8043
7285
|
const ProgressBar = ({ value, maxValue = 100, className }) => {
|
|
@@ -8211,195 +7453,91 @@ const ScrollToTop = ({ scrollToTopTitle }) => {
|
|
|
8211
7453
|
onClick: scrollToTop,
|
|
8212
7454
|
"data-tooltip-id": scrollToTopTitle,
|
|
8213
7455
|
"data-tooltip-content": scrollToTopTitle,
|
|
8214
|
-
children:
|
|
7456
|
+
children: "scroll to top"
|
|
8215
7457
|
}) });
|
|
8216
7458
|
};
|
|
8217
7459
|
|
|
8218
7460
|
//#endregion
|
|
8219
|
-
//#region src/components/
|
|
8220
|
-
const
|
|
8221
|
-
|
|
8222
|
-
className: className || "w-full lg:w-auto lg:min-w-[23.75rem]",
|
|
8223
|
-
rightSection: rightSection || /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, {}),
|
|
8224
|
-
value,
|
|
8225
|
-
onChange,
|
|
8226
|
-
...props
|
|
8227
|
-
});
|
|
8228
|
-
|
|
8229
|
-
//#endregion
|
|
8230
|
-
//#region src/components/select/index.tsx
|
|
8231
|
-
const LANGUAGE_FLAGS = [
|
|
8232
|
-
{
|
|
8233
|
-
value: "nl-NL",
|
|
8234
|
-
altValue: "nl_NL",
|
|
8235
|
-
label: "nl"
|
|
8236
|
-
},
|
|
8237
|
-
{
|
|
8238
|
-
value: "nl-BE",
|
|
8239
|
-
altValue: "nl_BE",
|
|
8240
|
-
label: "be"
|
|
8241
|
-
},
|
|
8242
|
-
{
|
|
8243
|
-
value: "en-GB",
|
|
8244
|
-
altValue: "en_GB",
|
|
8245
|
-
label: "gb"
|
|
8246
|
-
},
|
|
8247
|
-
{
|
|
8248
|
-
value: "fr-FR",
|
|
8249
|
-
altValue: "fr_FR",
|
|
8250
|
-
label: "fr"
|
|
8251
|
-
}
|
|
8252
|
-
];
|
|
8253
|
-
const selectStyles = {
|
|
8254
|
-
singleValue: (provided) => ({
|
|
8255
|
-
...provided,
|
|
8256
|
-
fontSize: "14px"
|
|
8257
|
-
}),
|
|
8258
|
-
placeholder: (provided) => ({
|
|
8259
|
-
...provided,
|
|
8260
|
-
color: "#838383",
|
|
8261
|
-
fontSize: "14px",
|
|
8262
|
-
textWrap: "nowrap"
|
|
8263
|
-
}),
|
|
8264
|
-
dropdownIndicator: (provided) => ({
|
|
8265
|
-
...provided,
|
|
8266
|
-
color: "black"
|
|
8267
|
-
}),
|
|
8268
|
-
option: (base, { isFocused, isSelected }) => ({
|
|
8269
|
-
...base,
|
|
8270
|
-
color: "black",
|
|
8271
|
-
marginLeft: "4px",
|
|
8272
|
-
marginRight: "4px",
|
|
8273
|
-
backgroundColor: isSelected ? "#f8f8f8" : isFocused ? "#f8f8f8" : "transparent",
|
|
8274
|
-
width: "calc(100% - 8px)",
|
|
8275
|
-
cursor: "pointer"
|
|
8276
|
-
}),
|
|
8277
|
-
menuList: (provided) => ({
|
|
8278
|
-
...provided,
|
|
8279
|
-
fontSize: "14px"
|
|
8280
|
-
})
|
|
8281
|
-
};
|
|
8282
|
-
const selectTheme = (theme) => ({
|
|
8283
|
-
...theme,
|
|
8284
|
-
borderRadius: 4,
|
|
8285
|
-
colors: {
|
|
8286
|
-
...theme.colors,
|
|
8287
|
-
primary25: "#f8f8f8",
|
|
8288
|
-
primary: "#f8f8f8"
|
|
8289
|
-
}
|
|
8290
|
-
});
|
|
8291
|
-
const Select = (0, react.forwardRef)(({ options, placeholder, defaultValue, label, id, icon, error, className, labelClassNames, showLangFlags = false, hideErrorText = false, isClearable = true, fullWidth = true, width, isDisabled,...props }, ref) => {
|
|
8292
|
-
const DropdownIndicator = (props$1) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_select.components.DropdownIndicator, {
|
|
8293
|
-
...props$1,
|
|
8294
|
-
children: props$1.hasValue && isClearable ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
8295
|
-
"data-testid": "icon-x",
|
|
8296
|
-
className: "cursor-pointer",
|
|
8297
|
-
color: "black",
|
|
8298
|
-
onClick: () => props$1.clearValue()
|
|
8299
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", { color: "black" })
|
|
8300
|
-
});
|
|
8301
|
-
const GroupHeading = ({ children }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8302
|
-
className: "flex items-stretch px-4 py-2 font-normal text-[#838383] capitalize",
|
|
8303
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8304
|
-
className: "flex-nowrap whitespace-nowrap",
|
|
8305
|
-
children
|
|
8306
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8307
|
-
className: "ml-2 flex w-full flex-1 items-center justify-center",
|
|
8308
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-px w-full bg-[#838383]" })
|
|
8309
|
-
})]
|
|
8310
|
-
});
|
|
8311
|
-
const LanguageControl = (props$1) => {
|
|
8312
|
-
const getSelectedFlag = () => {
|
|
8313
|
-
const selectValue = props$1.selectProps.value;
|
|
8314
|
-
const findFlag = (value) => LANGUAGE_FLAGS.find((e) => e.value === value || e.altValue === value)?.label || "";
|
|
8315
|
-
if (typeof selectValue === "string") return findFlag(selectValue);
|
|
8316
|
-
if (typeof selectValue === "object" && selectValue !== null && "value" in selectValue) return findFlag(selectValue.value);
|
|
8317
|
-
return null;
|
|
8318
|
-
};
|
|
8319
|
-
const selectedFlag = getSelectedFlag();
|
|
8320
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_select.components.Control, {
|
|
8321
|
-
...props$1,
|
|
8322
|
-
children: [selectedFlag && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8323
|
-
className: "flex h-[39px] items-center border-r border-gray-200 p-3",
|
|
8324
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
8325
|
-
src: `/images/countries/${selectedFlag.toUpperCase()}_flag.svg`,
|
|
8326
|
-
alt: "",
|
|
8327
|
-
width: 24,
|
|
8328
|
-
height: 24
|
|
8329
|
-
})
|
|
8330
|
-
}), props$1.children]
|
|
8331
|
-
});
|
|
8332
|
-
};
|
|
8333
|
-
const NoOptionsMessage = (props$1) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_select.components.NoOptionsMessage, {
|
|
8334
|
-
...props$1,
|
|
8335
|
-
children: "noOptionsMessage"
|
|
8336
|
-
});
|
|
8337
|
-
const SingleValue = (props$1) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_select.components.SingleValue, {
|
|
8338
|
-
...props$1,
|
|
8339
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
8340
|
-
className: "flex items-center",
|
|
8341
|
-
children: [icon && icon, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8342
|
-
className: "mx-2",
|
|
8343
|
-
children: props$1.children
|
|
8344
|
-
})]
|
|
8345
|
-
})
|
|
8346
|
-
});
|
|
7461
|
+
//#region src/components/textInput/index.tsx
|
|
7462
|
+
const TextInput = react.default.forwardRef(({ rightSection, leftSection, className, error, autoFocus, label, maxLength, enablePasswordManagerAutofill = false, onBlur, disabled, loadingState, onKeyDown, min = "0", max, autoComplete, showRightSection = true, step, wrapperClassName, password = false,...props }, ref) => {
|
|
7463
|
+
const [showPassword, setShowPassword] = react.default.useState(false);
|
|
8347
7464
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8348
|
-
"data-component": "
|
|
8349
|
-
"data-testid": "
|
|
8350
|
-
|
|
8351
|
-
className: (0, clsx.default)("m-0 grid gap-2 p-0", width ? width : fullWidth && "w-full", className),
|
|
7465
|
+
"data-component": "TextInput",
|
|
7466
|
+
"data-testid": "TextInput",
|
|
7467
|
+
className: (0, clsx.default)("relative", wrapperClassName),
|
|
8352
7468
|
children: [
|
|
8353
|
-
label
|
|
8354
|
-
|
|
7469
|
+
typeof label === "string" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
|
|
7470
|
+
htmlFor: props["id"],
|
|
7471
|
+
className: "mb-2 flex items-center gap-1 text-xs font-medium text-black",
|
|
8355
7472
|
children: label
|
|
8356
|
-
}),
|
|
8357
|
-
/* @__PURE__ */ (0, react_jsx_runtime.
|
|
8358
|
-
|
|
8359
|
-
|
|
8360
|
-
|
|
8361
|
-
|
|
8362
|
-
|
|
8363
|
-
|
|
8364
|
-
|
|
8365
|
-
|
|
8366
|
-
|
|
8367
|
-
|
|
8368
|
-
|
|
8369
|
-
|
|
8370
|
-
|
|
8371
|
-
|
|
8372
|
-
|
|
8373
|
-
|
|
8374
|
-
|
|
8375
|
-
|
|
8376
|
-
|
|
7473
|
+
}) : label,
|
|
7474
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
7475
|
+
className: "relative",
|
|
7476
|
+
children: [
|
|
7477
|
+
leftSection && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7478
|
+
className: (0, clsx.default)("absolute top-0 left-0 flex h-10 w-12 content-center items-center justify-center align-middle text-sm font-medium text-black"),
|
|
7479
|
+
children: leftSection
|
|
7480
|
+
}),
|
|
7481
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
7482
|
+
onBlur,
|
|
7483
|
+
onKeyDown,
|
|
7484
|
+
autoComplete,
|
|
7485
|
+
min,
|
|
7486
|
+
max,
|
|
7487
|
+
autoFocus,
|
|
7488
|
+
disabled,
|
|
7489
|
+
step,
|
|
7490
|
+
maxLength,
|
|
7491
|
+
className: (0, clsx.default)(`${loadingState ? "cursor-not-allowed" : ""}`, `${disabled ? "text-gray-500" : "text-gray-900"} selection:bg-turquoise-200 focus:border-turquoise-500 focus:ring-turquoise-500 active:border-turquoise-500 active:ring-turquoise-500 h-10 w-full rounded-[4px] border border-gray-200 bg-gray-50 px-3 text-sm font-normal outline-hidden ${rightSection && "pr-12"} ${leftSection && "pl-12"} ${error && "border-red-500 text-red-500 selection:bg-red-200 focus:border-red-500 focus:ring-red-500 focus:placeholder:text-red-500 active:border-red-500 active:ring-red-500"}`, className),
|
|
7492
|
+
"aria-busy": loadingState || undefined,
|
|
7493
|
+
"data-lpignore": enablePasswordManagerAutofill ? undefined : "true",
|
|
7494
|
+
"data-1p-ignore": enablePasswordManagerAutofill ? undefined : "true",
|
|
7495
|
+
ref,
|
|
7496
|
+
...props,
|
|
7497
|
+
type: password ? showPassword ? "text" : "password" : "text"
|
|
7498
|
+
}),
|
|
7499
|
+
loadingState ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7500
|
+
className: "absolute inset-y-0 right-0 flex h-10 w-12 content-center items-center justify-center align-middle text-sm font-medium text-black",
|
|
7501
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconAlert, {
|
|
7502
|
+
className: "h-4 w-4 animate-spin text-gray-500",
|
|
7503
|
+
"aria-label": "Loading"
|
|
7504
|
+
})
|
|
7505
|
+
}) : rightSection && showRightSection && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7506
|
+
className: "absolute inset-y-0 right-0 flex h-10 w-12 content-center items-center justify-center align-middle text-sm font-medium text-black",
|
|
7507
|
+
children: rightSection
|
|
8377
7508
|
}),
|
|
8378
|
-
|
|
8379
|
-
|
|
8380
|
-
|
|
7509
|
+
password && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7510
|
+
className: "absolute inset-y-0 right-4 flex content-center items-center justify-center align-middle text-sm font-medium text-black",
|
|
7511
|
+
children: showPassword ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
7512
|
+
"data-testid": "password-visibility-toggle",
|
|
7513
|
+
className: "cursor-pointer text-gray-500",
|
|
7514
|
+
onClick: () => setShowPassword(false)
|
|
7515
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
7516
|
+
"data-testid": "password-visibility-toggle",
|
|
7517
|
+
className: "cursor-pointer text-gray-500",
|
|
7518
|
+
onClick: () => setShowPassword(true)
|
|
7519
|
+
})
|
|
8381
7520
|
})
|
|
8382
|
-
|
|
8383
|
-
|
|
8384
|
-
|
|
8385
|
-
|
|
8386
|
-
DropdownIndicator,
|
|
8387
|
-
GroupHeading,
|
|
8388
|
-
Control: showLangFlags ? LanguageControl : react_select.components.Control,
|
|
8389
|
-
SingleValue,
|
|
8390
|
-
NoOptionsMessage
|
|
8391
|
-
},
|
|
8392
|
-
...props
|
|
8393
|
-
}, id),
|
|
8394
|
-
!hideErrorText && error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
|
|
8395
|
-
className: "text-xs font-normal text-red-500",
|
|
8396
|
-
role: "alert",
|
|
7521
|
+
]
|
|
7522
|
+
}),
|
|
7523
|
+
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
7524
|
+
className: "mt-2 text-xs font-normal text-red-500",
|
|
8397
7525
|
children: error
|
|
8398
7526
|
})
|
|
8399
7527
|
]
|
|
8400
7528
|
});
|
|
8401
7529
|
});
|
|
8402
|
-
|
|
7530
|
+
|
|
7531
|
+
//#endregion
|
|
7532
|
+
//#region src/components/searchInput/index.tsx
|
|
7533
|
+
const SearchInput = ({ placeholder, value, onChange, className, rightSection,...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TextInput, {
|
|
7534
|
+
placeholder,
|
|
7535
|
+
className: className || "w-full lg:w-auto lg:min-w-[23.75rem]",
|
|
7536
|
+
rightSection: rightSection || /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, {}),
|
|
7537
|
+
value,
|
|
7538
|
+
onChange,
|
|
7539
|
+
...props
|
|
7540
|
+
});
|
|
8403
7541
|
|
|
8404
7542
|
//#endregion
|
|
8405
7543
|
//#region src/components/skeleton/index.tsx
|
|
@@ -8409,21 +7547,6 @@ const Skeleton = ({ className, "data-testid": dataTestId }) => /* @__PURE__ */ (
|
|
|
8409
7547
|
className: cn("inline-block rounded-md", "animate-pulse bg-gray-100/50", className)
|
|
8410
7548
|
});
|
|
8411
7549
|
|
|
8412
|
-
//#endregion
|
|
8413
|
-
//#region src/components/skillPill/index.tsx
|
|
8414
|
-
const SkillPill = ({ name, number }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8415
|
-
"data-testid": "skill-pill-container",
|
|
8416
|
-
className: "flex items-center rounded-full border border-gray-200 p-[3px]",
|
|
8417
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8418
|
-
className: "pr-4 pl-3",
|
|
8419
|
-
children: name
|
|
8420
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8421
|
-
"data-testid": "skill-pill-number",
|
|
8422
|
-
className: "bg-turquoise-200 grid h-[30px] min-w-[30px] place-content-center rounded-full px-2.5",
|
|
8423
|
-
children: number
|
|
8424
|
-
})]
|
|
8425
|
-
});
|
|
8426
|
-
|
|
8427
7550
|
//#endregion
|
|
8428
7551
|
//#region src/components/stickyMobileButton/index.tsx
|
|
8429
7552
|
const StickyMobileButtonWrapper = ({ children }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -8496,99 +7619,6 @@ function TableRow({ children, className, header,...props }) {
|
|
|
8496
7619
|
});
|
|
8497
7620
|
}
|
|
8498
7621
|
|
|
8499
|
-
//#endregion
|
|
8500
|
-
//#region src/components/tabs/Tab.tsx
|
|
8501
|
-
const Tab = (0, react.forwardRef)(({ tabId, activeTab, tabContent, clickFnc, rightSection }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
8502
|
-
ref,
|
|
8503
|
-
"data-testid": `tab-${tabId}`,
|
|
8504
|
-
className: `${activeTab && "text-light-blue bg-[#F0F0F6]"} bg-ultra-light-blue px-5 py-[10px] text-xs font-normal whitespace-nowrap text-black transition-colors duration-100 hover:border-black hover:bg-[#F0F0F6] data-active:border-black data-active:bg-[#F0F0F6] data-active:font-medium data-active:text-black`,
|
|
8505
|
-
onClick: () => clickFnc(tabId),
|
|
8506
|
-
children: [tabContent, rightSection && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
8507
|
-
className: "ml-2 inline-flex",
|
|
8508
|
-
children: rightSection
|
|
8509
|
-
})]
|
|
8510
|
-
}));
|
|
8511
|
-
|
|
8512
|
-
//#endregion
|
|
8513
|
-
//#region src/components/tabs/TabsBadge.tsx
|
|
8514
|
-
const TabsBadge = ({ children }) => {
|
|
8515
|
-
const isCircular = typeof children === "number" && children <= 9 || typeof children === "string" && children.length === 1 || false;
|
|
8516
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8517
|
-
"data-testid": "tabs-badge",
|
|
8518
|
-
className: (0, clsx.default)("bg-pink h-5 rounded-full text-xs leading-5 font-medium text-white", {
|
|
8519
|
-
"w-5 text-center": isCircular,
|
|
8520
|
-
"px-2": !isCircular
|
|
8521
|
-
}),
|
|
8522
|
-
children
|
|
8523
|
-
});
|
|
8524
|
-
};
|
|
8525
|
-
TabsBadge.displayName = "TabsBadge";
|
|
8526
|
-
|
|
8527
|
-
//#endregion
|
|
8528
|
-
//#region src/components/tabs/TabsWrapper.tsx
|
|
8529
|
-
const TabsWrapper = ({ setActiveTab, activeTab, tabs }) => {
|
|
8530
|
-
const tabRefs = (0, react.useMemo)(() => {
|
|
8531
|
-
const refs = {};
|
|
8532
|
-
tabs?.forEach((tab) => {
|
|
8533
|
-
refs[tab.value] = (0, react.createRef)();
|
|
8534
|
-
});
|
|
8535
|
-
return refs;
|
|
8536
|
-
}, [tabs]);
|
|
8537
|
-
const [underlineStyle, setUnderlineStyle] = (0, react.useState)({
|
|
8538
|
-
width: 0,
|
|
8539
|
-
left: 0
|
|
8540
|
-
});
|
|
8541
|
-
(0, react.useEffect)(() => {
|
|
8542
|
-
if (activeTab && tabRefs[activeTab]?.current) {
|
|
8543
|
-
const activeTabElement = tabRefs[activeTab].current;
|
|
8544
|
-
setUnderlineStyle({
|
|
8545
|
-
width: activeTabElement?.offsetWidth || 0,
|
|
8546
|
-
left: activeTabElement?.offsetLeft || 0
|
|
8547
|
-
});
|
|
8548
|
-
}
|
|
8549
|
-
}, [activeTab, tabRefs]);
|
|
8550
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8551
|
-
className: "w-full",
|
|
8552
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
8553
|
-
className: "relative inline-block w-auto border-b-[3px] border-gray-200",
|
|
8554
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8555
|
-
className: "flex",
|
|
8556
|
-
children: tabs && tabs?.map((tab) => tab.requiredPermissions ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TabContent, {
|
|
8557
|
-
tab,
|
|
8558
|
-
ref: tabRefs[tab.value],
|
|
8559
|
-
setActiveTab,
|
|
8560
|
-
activeTab
|
|
8561
|
-
}, tab.value) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TabContent, {
|
|
8562
|
-
tab,
|
|
8563
|
-
ref: tabRefs[tab.value],
|
|
8564
|
-
setActiveTab,
|
|
8565
|
-
activeTab
|
|
8566
|
-
}, tab.value))
|
|
8567
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
8568
|
-
className: "absolute h-[3px] bg-gray-900 transition-all duration-300",
|
|
8569
|
-
style: {
|
|
8570
|
-
width: underlineStyle.width,
|
|
8571
|
-
left: underlineStyle.left,
|
|
8572
|
-
bottom: "-3px"
|
|
8573
|
-
}
|
|
8574
|
-
})]
|
|
8575
|
-
})
|
|
8576
|
-
});
|
|
8577
|
-
};
|
|
8578
|
-
const TabContent = (0, react.forwardRef)(({ tab, setActiveTab, activeTab }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Tab, {
|
|
8579
|
-
ref,
|
|
8580
|
-
tabId: tab.value,
|
|
8581
|
-
setActiveTab,
|
|
8582
|
-
activeTab: activeTab === tab.value,
|
|
8583
|
-
tabContent: tab.name,
|
|
8584
|
-
rightSection: tab?.rightSection || undefined,
|
|
8585
|
-
clickFnc: () => {
|
|
8586
|
-
tab.clickFnc(tab.value);
|
|
8587
|
-
setActiveTab(tab.value);
|
|
8588
|
-
}
|
|
8589
|
-
}));
|
|
8590
|
-
TabContent.displayName = "TabContent";
|
|
8591
|
-
|
|
8592
7622
|
//#endregion
|
|
8593
7623
|
//#region src/components/textArea/index.tsx
|
|
8594
7624
|
const Textarea = (0, react.forwardRef)(({ className, label, error, rows = 8,...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -8794,14 +7824,15 @@ const ProfileMenu = ({ title, metaTitle, icon, content, disabled = false, classN
|
|
|
8794
7824
|
ref: menuRef,
|
|
8795
7825
|
"data-context-menu-id": metaTitle,
|
|
8796
7826
|
"data-context-menu-content": metaTitle,
|
|
8797
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(
|
|
7827
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Button, {
|
|
8798
7828
|
ref: buttonRef,
|
|
8799
7829
|
id: buttonId,
|
|
8800
7830
|
"aria-label": "Toggle profile menu",
|
|
8801
7831
|
"aria-expanded": isOpen,
|
|
8802
7832
|
"aria-haspopup": "menu",
|
|
8803
7833
|
"aria-controls": isOpen ? menuId : undefined,
|
|
8804
|
-
|
|
7834
|
+
variant: "secondary",
|
|
7835
|
+
className: cn(defaultStyling, classNames?.button),
|
|
8805
7836
|
disabled,
|
|
8806
7837
|
onClick: handleToggle,
|
|
8807
7838
|
children: [title && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -8815,13 +7846,14 @@ const ProfileMenu = ({ title, metaTitle, icon, content, disabled = false, classN
|
|
|
8815
7846
|
className: cn("absolute right-0 z-10 mt-2 w-auto min-w-[200px] rounded-md border-[0.0625rem] border-gray-200 bg-white p-1 shadow-md", classNames?.menu),
|
|
8816
7847
|
children: content.map(
|
|
8817
7848
|
/* istanbul ignore next - render callback not meaningful for unit coverage */
|
|
8818
|
-
(c, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
7849
|
+
(c, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Button, {
|
|
8819
7850
|
ref: (el) => {
|
|
8820
7851
|
menuItemRefs.current[index] = el;
|
|
8821
7852
|
},
|
|
8822
7853
|
role: "menuitem",
|
|
8823
7854
|
tabIndex: -1,
|
|
8824
7855
|
onClick: () => handleItemClick(c.onClick),
|
|
7856
|
+
variant: "unstyled",
|
|
8825
7857
|
className: cn("w-full rounded-md px-4 py-2 text-left text-sm font-normal whitespace-nowrap transition-colors", "focus:ring-primary hover:bg-gray-50 focus:bg-gray-50 focus:ring focus:outline-none focus:ring-inset", c.disabled && "cursor-not-allowed opacity-50", focusedIndex === index && "bg-gray-50"),
|
|
8826
7858
|
"aria-label": c.title,
|
|
8827
7859
|
disabled: c.disabled,
|
|
@@ -9902,7 +8934,7 @@ const Loading = ({ className, plane = true, size = "small",...props }) => {
|
|
|
9902
8934
|
let cloud3Height = 45;
|
|
9903
8935
|
let cloud3Position = "bottom-32";
|
|
9904
8936
|
if (size === "small") {
|
|
9905
|
-
dollarSize = "size-[30px]";
|
|
8937
|
+
dollarSize = "size-[30px] p-1";
|
|
9906
8938
|
planeSize = "w-16 h-16";
|
|
9907
8939
|
cloud1Width = 60;
|
|
9908
8940
|
cloud1Height = 27;
|
|
@@ -9914,7 +8946,7 @@ const Loading = ({ className, plane = true, size = "small",...props }) => {
|
|
|
9914
8946
|
cloud3Height = 16;
|
|
9915
8947
|
cloud3Position = "bottom-4";
|
|
9916
8948
|
} else if (size === "medium") {
|
|
9917
|
-
dollarSize = "size-[45px]";
|
|
8949
|
+
dollarSize = "size-[45px] p-2";
|
|
9918
8950
|
planeSize = "w-24 h-24";
|
|
9919
8951
|
cloud1Width = 140;
|
|
9920
8952
|
cloud1Height = 63;
|
|
@@ -9926,7 +8958,7 @@ const Loading = ({ className, plane = true, size = "small",...props }) => {
|
|
|
9926
8958
|
cloud3Height = 32;
|
|
9927
8959
|
cloud3Position = "bottom-10";
|
|
9928
8960
|
} else if (size === "large") {
|
|
9929
|
-
dollarSize = "size-[75px]";
|
|
8961
|
+
dollarSize = "size-[75px] p-2";
|
|
9930
8962
|
}
|
|
9931
8963
|
const brand = useBrand();
|
|
9932
8964
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -9957,7 +8989,7 @@ const Loading = ({ className, plane = true, size = "small",...props }) => {
|
|
|
9957
8989
|
className: "relative overflow-hidden w-full h-full",
|
|
9958
8990
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9959
8991
|
className: `${brand === "prijsvrij" ? "bg-primary" : "bg-secondary"} rounded-full ${dollarSize} flex items-center justify-center`,
|
|
9960
|
-
children: brand === "prijsvrij" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Dollar, { className: "animate-spin-slow w-full h-full
|
|
8992
|
+
children: brand === "prijsvrij" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Dollar, { className: "animate-spin-slow w-full h-full" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DReizenSign, { className: " w-full h-full animate-spin-slow" })
|
|
9961
8993
|
})
|
|
9962
8994
|
})
|
|
9963
8995
|
});
|
|
@@ -10024,74 +9056,81 @@ const ReviewSmall = ({ className, rating, showArrow = true, "data-testid": dataT
|
|
|
10024
9056
|
|
|
10025
9057
|
//#endregion
|
|
10026
9058
|
//#region src/components/hero/index.tsx
|
|
10027
|
-
const Hero = ({ className, sliderImages, topRightImage, bottomLeftImage, bottomRightImage, bottomRightOverlay, hotel, priceBoxPosition = "end",...props }) =>
|
|
10028
|
-
|
|
10029
|
-
|
|
10030
|
-
|
|
10031
|
-
|
|
10032
|
-
|
|
10033
|
-
children:
|
|
10034
|
-
className:
|
|
10035
|
-
children: [
|
|
10036
|
-
|
|
10037
|
-
|
|
10038
|
-
|
|
10039
|
-
className: "
|
|
10040
|
-
|
|
10041
|
-
|
|
10042
|
-
|
|
10043
|
-
|
|
10044
|
-
|
|
10045
|
-
|
|
10046
|
-
|
|
10047
|
-
|
|
10048
|
-
|
|
10049
|
-
|
|
10050
|
-
|
|
10051
|
-
|
|
10052
|
-
|
|
10053
|
-
|
|
10054
|
-
|
|
10055
|
-
|
|
10056
|
-
|
|
10057
|
-
|
|
10058
|
-
|
|
10059
|
-
className: "
|
|
10060
|
-
})
|
|
10061
|
-
}),
|
|
10062
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
10063
|
-
className: "hidden md:grid col-span-1 row-span-1 grid-cols-2 gap-1",
|
|
10064
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
10065
|
-
className: "overflow-hidden",
|
|
9059
|
+
const Hero = ({ className, sliderImages, topRightImage, bottomLeftImage, bottomRightImage, bottomRightOverlay, warnText, hotel, buttonText = "Bekijk vakantie", priceBoxPosition = "end",...props }) => {
|
|
9060
|
+
const brand = useBrand("prijsvrij");
|
|
9061
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9062
|
+
"data-component": "hero",
|
|
9063
|
+
className: (0, clsx.default)(className, "bg-white p-1 rounded-sm hero-shadow"),
|
|
9064
|
+
...props,
|
|
9065
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9066
|
+
className: "flex flex-col md:flex-row",
|
|
9067
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9068
|
+
className: (0, clsx.default)("grid gap-1 md:aspect-[16/6] md:grid-cols-3 md:grid-rows-[2fr_1fr]", priceBoxPosition === "start" ? "order-2 md:order-2" : "order-1 md:order-1"),
|
|
9069
|
+
children: [
|
|
9070
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9071
|
+
className: "md:col-span-2 md:row-span-2 overflow-hidden rounded-l-sm relative",
|
|
9072
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ReviewSmall, {
|
|
9073
|
+
className: "absolute right-4 top-4 z-50",
|
|
9074
|
+
rating: 9.3
|
|
9075
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Slider, {
|
|
9076
|
+
className: "rounded-l-sm",
|
|
9077
|
+
slides: sliderImages.map((src, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
9078
|
+
src,
|
|
9079
|
+
alt: `Hero slide ${index + 1}`,
|
|
9080
|
+
className: "h-full w-full object-cover rounded-l-sm"
|
|
9081
|
+
}, index)),
|
|
9082
|
+
showArrows: false,
|
|
9083
|
+
dotsPlacement: "inside",
|
|
9084
|
+
showDots: false,
|
|
9085
|
+
options: { loop: true },
|
|
9086
|
+
plugins: [(0, embla_carousel_auto_height.default)()],
|
|
9087
|
+
lazyLoad: true
|
|
9088
|
+
})]
|
|
9089
|
+
}),
|
|
9090
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9091
|
+
className: "hidden md:flex col-span-1 row-span-1 overflow-hidden",
|
|
10066
9092
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
10067
|
-
src:
|
|
10068
|
-
alt: "Hero image
|
|
10069
|
-
className: "h-full w-full object-cover"
|
|
9093
|
+
src: topRightImage,
|
|
9094
|
+
alt: "Hero image 1",
|
|
9095
|
+
className: "h-full w-full object-cover rounded-tr-sm"
|
|
10070
9096
|
})
|
|
10071
|
-
}),
|
|
10072
|
-
|
|
10073
|
-
|
|
10074
|
-
|
|
10075
|
-
|
|
10076
|
-
|
|
10077
|
-
|
|
10078
|
-
|
|
10079
|
-
|
|
9097
|
+
}),
|
|
9098
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9099
|
+
className: "hidden md:grid col-span-1 row-span-1 grid-cols-2 gap-1",
|
|
9100
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9101
|
+
className: "overflow-hidden",
|
|
9102
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
9103
|
+
src: bottomLeftImage,
|
|
9104
|
+
alt: "Hero image 2",
|
|
9105
|
+
className: "h-full w-full object-cover"
|
|
9106
|
+
})
|
|
9107
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9108
|
+
className: "relative overflow-hidden ",
|
|
9109
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
9110
|
+
src: bottomRightImage,
|
|
9111
|
+
alt: "Hero image 3",
|
|
9112
|
+
className: "h-full w-full object-cover"
|
|
9113
|
+
}), bottomRightOverlay && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9114
|
+
className: "absolute inset-0",
|
|
9115
|
+
children: bottomRightOverlay
|
|
9116
|
+
})]
|
|
10080
9117
|
})]
|
|
10081
|
-
})
|
|
9118
|
+
})
|
|
9119
|
+
]
|
|
9120
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9121
|
+
className: (0, clsx.default)(priceBoxPosition === "start" ? "order-1 md:order-1" : "order-2 md:order-2"),
|
|
9122
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PriceBox, {
|
|
9123
|
+
noHover: true,
|
|
9124
|
+
noBorder: true,
|
|
9125
|
+
hotel,
|
|
9126
|
+
brand,
|
|
9127
|
+
warnText: warnText || "",
|
|
9128
|
+
buttonText
|
|
10082
9129
|
})
|
|
10083
|
-
]
|
|
10084
|
-
})
|
|
10085
|
-
|
|
10086
|
-
|
|
10087
|
-
noHover: true,
|
|
10088
|
-
noBorder: true,
|
|
10089
|
-
hotel,
|
|
10090
|
-
brand: "prijsvrij"
|
|
10091
|
-
})
|
|
10092
|
-
})]
|
|
10093
|
-
})
|
|
10094
|
-
});
|
|
9130
|
+
})]
|
|
9131
|
+
})
|
|
9132
|
+
});
|
|
9133
|
+
};
|
|
10095
9134
|
|
|
10096
9135
|
//#endregion
|
|
10097
9136
|
//#region src/components/review/index.tsx
|
|
@@ -10513,10 +9552,10 @@ const GiftCard = ({ className, amount, amountTotal, cardNumber, validUntilDate,.
|
|
|
10513
9552
|
children: [
|
|
10514
9553
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
10515
9554
|
className: "font-bold gift-card-amount",
|
|
10516
|
-
children: setCurrencyValue(amount || "0")
|
|
9555
|
+
children: setCurrencyValue(String(amount || "0"))
|
|
10517
9556
|
}),
|
|
10518
9557
|
" / ",
|
|
10519
|
-
setCurrencyValue(amountTotal || "0", false)
|
|
9558
|
+
setCurrencyValue(String(amountTotal || "0"), false)
|
|
10520
9559
|
]
|
|
10521
9560
|
}),
|
|
10522
9561
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -11562,17 +10601,9 @@ RangeSlider.displayName = "RangeSlider";
|
|
|
11562
10601
|
|
|
11563
10602
|
//#endregion
|
|
11564
10603
|
exports.Accordion = Accordion;
|
|
11565
|
-
exports.ActionIcon = ActionIcon;
|
|
11566
|
-
exports.Alert = Alert;
|
|
11567
|
-
exports.AutoCompleteInput = AutoCompleteInput;
|
|
11568
|
-
exports.Avatar = Avatar;
|
|
11569
|
-
exports.AvatarIndicator = AvatarIndicator;
|
|
11570
|
-
exports.Badge = Badge;
|
|
11571
|
-
exports.BigBadge = BigBadge;
|
|
11572
10604
|
exports.BlogWidget = BlogWidget;
|
|
11573
10605
|
exports.BrandProvider = BrandProvider;
|
|
11574
10606
|
exports.BrandTopMenu = BrandTopMenu;
|
|
11575
|
-
exports.BreadCrumb = BreadCrumb;
|
|
11576
10607
|
exports.Button = Button;
|
|
11577
10608
|
exports.CSS_VARIABLE_KEYS = CSS_VARIABLE_KEYS;
|
|
11578
10609
|
exports.Calendar = Calendar;
|
|
@@ -11582,10 +10613,8 @@ exports.Checkbox = Checkbox;
|
|
|
11582
10613
|
exports.Collection = Collection;
|
|
11583
10614
|
exports.CounterIcon = CounterIcon;
|
|
11584
10615
|
exports.Coupon = Coupon;
|
|
11585
|
-
exports.DatePickerInput = DatePickerInput;
|
|
11586
10616
|
exports.Divider = Divider;
|
|
11587
10617
|
exports.Dropdown = Dropdown;
|
|
11588
|
-
exports.FavouriteButton = FavouriteButton;
|
|
11589
10618
|
exports.FilterButton = FilterButton;
|
|
11590
10619
|
exports.Filters = Filters;
|
|
11591
10620
|
exports.FlightSwitch = FlightSwitch;
|
|
@@ -11630,6 +10659,7 @@ exports.IconHot = IconHot;
|
|
|
11630
10659
|
exports.IconHotel = IconHotel;
|
|
11631
10660
|
exports.IconHouse = IconHouse;
|
|
11632
10661
|
exports.IconIce = IconIce;
|
|
10662
|
+
exports.IconImage = IconImage;
|
|
11633
10663
|
exports.IconInfo = IconInfo;
|
|
11634
10664
|
exports.IconInstagram = IconInstagram;
|
|
11635
10665
|
exports.IconLuggage = IconLuggage;
|
|
@@ -11665,7 +10695,6 @@ exports.IconWatched = IconWatched;
|
|
|
11665
10695
|
exports.IconWhatsapp = IconWhatsapp;
|
|
11666
10696
|
exports.IconWinterSport = IconWinterSport;
|
|
11667
10697
|
exports.IconWinterSun = IconWinterSun;
|
|
11668
|
-
exports.Island = Island;
|
|
11669
10698
|
exports.Label = Label;
|
|
11670
10699
|
exports.LinkBox = LinkBox;
|
|
11671
10700
|
exports.Loading = Loading;
|
|
@@ -11674,15 +10703,12 @@ exports.Map = Map;
|
|
|
11674
10703
|
exports.MatrixTable = MatrixTable;
|
|
11675
10704
|
exports.Menu = Menu;
|
|
11676
10705
|
exports.MiddleNavigation = MiddleNavigation;
|
|
11677
|
-
exports.Modal = Modal;
|
|
11678
10706
|
exports.Nominations = Nominations;
|
|
11679
10707
|
exports.NumberField = NumberField;
|
|
11680
10708
|
exports.PageNavigation = PageNavigation;
|
|
11681
10709
|
exports.PageRating = PageRating;
|
|
11682
|
-
exports.PasswordInput = PasswordInput;
|
|
11683
10710
|
exports.PhoneNumberInput = PhoneNumberInput;
|
|
11684
10711
|
exports.PhotoCardsRotated = PhotoCardsRotated;
|
|
11685
|
-
exports.Popover = Popover;
|
|
11686
10712
|
exports.PriceBox = PriceBox;
|
|
11687
10713
|
exports.PriceCheck = PriceCheck;
|
|
11688
10714
|
exports.ProfileMenu = ProfileMenu;
|
|
@@ -11702,9 +10728,7 @@ exports.SearchBlock = SearchBlock;
|
|
|
11702
10728
|
exports.SearchBox = SearchBox;
|
|
11703
10729
|
exports.SearchBoxResults = SearchBoxResults;
|
|
11704
10730
|
exports.SearchInput = SearchInput;
|
|
11705
|
-
exports.Select = Select;
|
|
11706
10731
|
exports.Skeleton = Skeleton;
|
|
11707
|
-
exports.SkillPill = SkillPill;
|
|
11708
10732
|
exports.Slider = Slider;
|
|
11709
10733
|
exports.Spotlights = Spotlights;
|
|
11710
10734
|
exports.Stepper = Stepper;
|
|
@@ -11716,8 +10740,6 @@ exports.TableHeader = TableHeader;
|
|
|
11716
10740
|
exports.TableHeaderItem = TableHeaderItem;
|
|
11717
10741
|
exports.TableHeaderRow = TableHeaderRow;
|
|
11718
10742
|
exports.TableRow = TableRow;
|
|
11719
|
-
exports.TabsBadge = TabsBadge;
|
|
11720
|
-
exports.TabsWrapper = TabsWrapper;
|
|
11721
10743
|
exports.TextInput = TextInput;
|
|
11722
10744
|
exports.Textarea = Textarea;
|
|
11723
10745
|
exports.TimeInput = TimeInput;
|
|
@@ -11728,7 +10750,6 @@ exports.TransportToggle = TransportToggle;
|
|
|
11728
10750
|
exports.TruncatedText = TruncatedText;
|
|
11729
10751
|
exports.UnorderedList = UnorderedList;
|
|
11730
10752
|
exports.UnorderedListItem = UnorderedListItem;
|
|
11731
|
-
exports.UnstyledButton = UnstyledButton;
|
|
11732
10753
|
exports.Usp = Usp;
|
|
11733
10754
|
exports.ViewedAccomodations = ViewedAccomodations;
|
|
11734
10755
|
exports.WarningText = WarningText;
|