@prijsvrijtechsupport/ui 0.0.42 → 0.0.43

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["jsx","React","jsxs","Fragment","Component: T","globalDefaultFormatAttributes: SVGAttributes<SVGElement> &\n HTMLAttributes<SVGElement>","icon: React.ReactNode","defaultFormatAttributes: SVGAttributes<SVGElement> &\n HTMLAttributes<SVGElement> &\n Record<string, unknown>","Button","event: React.MouseEvent<HTMLButtonElement>","CSS_VARIABLE_KEYS: (keyof CSSVariables)[]","variable: keyof CSSVariables","value: string","value: unknown","fallback?: Brand","event: React.KeyboardEvent","item: DropdownItem","brand","event: MouseEvent","e: React.ChangeEvent<HTMLInputElement>","PrijsvrijMenuItems: MenuItemType[]","DreizenMenuItems: MenuItemType[]","MenuItem","node: HTMLDivElement | null","ratingsCount","rating","val: string","value?: string","value: string","optionId: string","resolvedBrand: Brand","footerBarData","index: number","e: React.ChangeEvent<HTMLInputElement>","state: Step[\"state\"]","filtersData: FilterData[]","index: number","api: EmblaCarouselType","countries:Country[]","country: Country","value: string","e: Event","handleTriggerKeyDown: React.KeyboardEventHandler<HTMLButtonElement>","handleListboxKeyDown: React.KeyboardEventHandler<HTMLDivElement>","handleSearchKeyDown: React.KeyboardEventHandler<HTMLInputElement>","ActionIcon: React.ForwardRefExoticComponent<\n ActionIconProps & React.RefAttributes<HTMLButtonElement>\n>","event: MouseEvent","date: Date | undefined","day: IDay","newMonth","today","FilterButton","filter: string","FilterButton","event: MouseEvent","event: KeyboardEvent","e: ChangeEvent<HTMLInputElement>","rating: number","selectStyles: StylesConfig<unknown, false, GroupBase<unknown>>","selectTheme: ThemeConfig","props: DropdownIndicatorProps<unknown, false, GroupBase<unknown>>","props","GroupHeading: React.FC<\n GroupHeadingProps<unknown, false, GroupBase<unknown>>\n >","LanguageControl: React.FC<\n ControlProps<unknown, false, GroupBase<unknown>>\n >","value: string","props: NoticeProps<unknown, false, GroupBase<unknown>>","SingleValue: React.FC<\n SingleValueProps<unknown, false, GroupBase<unknown>>\n >","base: CSSObjectWithLabel","state: { isFocused: boolean }","refs: { [key: string]: RefObject<HTMLButtonElement> }","e: ChangeEvent<HTMLInputElement>","onClick: () => void","event: MouseEvent","event: KeyboardEvent","iconName: string","iconMap: Record<string, React.ReactNode>","iconMap","categoryId: number","date: Date","day: number","dates: string[]","formatRating","rating: number","className","showArrow","formatRating","rating: number","count: number","className","usps: UspItem[]","dateTime: string","departureDt: string","arrivalDt: string","priceInCents: number","minutes: number","stopOvers: StopOver[]","value: string","showCurrencySymbol: boolean","emptyItem: EmptyItem","Review","start: number","RangeSlider","value","event: React.ChangeEvent<HTMLInputElement>"],"sources":["../src/jsx-runtime-shim.ts","../src/styles/fonts.css","../src/styles/variables.css","../src/components/topMenu/styles.css","../src/components/button/styles.css","../src/components/priceCheck/styles.css","../src/components/toggle/styles.css","../src/components/topHeaderMenu/styles.css","../src/components/filterButtons/styles.css","../src/components/searchBox/styles.css","../src/components/dropdown/styles.css","../src/components/counterIcon/styles.css","../src/components/usp/styles.css","../src/components/middleNavigation/styles.css","../src/components/menu/styles.css","../src/components/footer/styles.css","../src/components/blogWidget/styles.css","../src/components/searchBlock/styles.css","../src/components/categoryFilter/styles.css","../src/components/collection/styles.css","../src/components/review/styles.css","../src/components/hotelAccomodationResults/styles.css","../src/components/coupon/styles.css","../src/components/giftCard/styles.css","../src/components/pvPopup/styles.css","../src/components/photoCardsRotated/styles.css","../src/components/spotlights/styles.css","../src/components/viewedAccomodations/styles.css","../src/components/quantityButtons/styles.css","../src/components/matrixTable/styles.css","../src/components/pageNavigation/styles.css","../src/styles/utilities.css","../src/globals.css","../src/components/withPvUi.tsx","../src/utils/cn.ts","../src/utils/formatIcon.ts","../src/icons/IconAlert.tsx","../src/components/button/buttonVariants.ts","../src/components/button/index.tsx","../src/icons/IconHeartFilled.tsx","../src/components/counterIcon/index.tsx","../src/components/divider/index.tsx","../src/icons/IconInfo.tsx","../src/icons/IconMap.tsx","../src/icons/IconCalendar.tsx","../src/icons/IconClock.tsx","../src/icons/IconEdit.tsx","../src/icons/IconSearch.tsx","../src/icons/IconLuggage.tsx","../src/icons/IconSeat.tsx","../src/icons/IconHot.tsx","../src/icons/IconHeart.tsx","../src/icons/IconRating.tsx","../src/icons/IconSun.tsx","../src/icons/IconSplash.tsx","../src/icons/IconTree.tsx","../src/icons/IconCarSun.tsx","../src/icons/IconCity.tsx","../src/icons/IconWinterSun.tsx","../src/icons/IconWinterSport.tsx","../src/icons/IconHotel.tsx","../src/icons/IconQuestion.tsx","../src/icons/IconBlog.tsx","../src/icons/IconPhoto.tsx","../src/icons/IconParty.tsx","../src/icons/IconPlane.tsx","../src/icons/IconFavorite.tsx","../src/icons/IconBus.tsx","../src/icons/IconArrival.tsx","../src/icons/IconDeparture.tsx","../src/icons/IconCar.tsx","../src/icons/IconFood.tsx","../src/icons/IconArrowDown.tsx","../src/icons/IconArrowUp.tsx","../src/icons/IconArrowLeft.tsx","../src/icons/IconArrowRight.tsx","../src/icons/IconChevronRight.tsx","../src/icons/IconPhone.tsx","../src/icons/IconSupport.tsx","../src/icons/IconCancel.tsx","../src/icons/IconUser.tsx","../src/icons/IconMail.tsx","../src/icons/IconHouse.tsx","../src/icons/IconBed.tsx","../src/icons/IconDollar.tsx","../src/icons/IconCheck.tsx","../src/icons/IconSuccess.tsx","../src/icons/IconTemperature.tsx","../src/icons/IconPlus.tsx","../src/icons/IconMinus.tsx","../src/icons/IconExpand.tsx","../src/icons/IconFilter.tsx","../src/icons/IconBeach.tsx","../src/icons/IconTransfer.tsx","../src/icons/IconDelete.tsx","../src/icons/IconView.tsx","../src/icons/IconWarning.tsx","../src/icons/IconFacebook.tsx","../src/icons/IconTwitter.tsx","../src/icons/IconWhatsapp.tsx","../src/icons/IconInstagram.tsx","../src/icons/IconTiktok.tsx","../src/icons/IconPinterest.tsx","../src/icons/IconShare.tsx","../src/icons/IconStar.tsx","../src/icons/IconWatched.tsx","../src/icons/IconPresent.tsx","../src/icons/IconIce.tsx","../src/icons/IconCocktail.tsx","../src/theme/variables.ts","../src/theme/brand.tsx","../src/components/dropdown/index.tsx","../src/components/filterButtons/index.tsx","../src/utils/d-reizen_logo.tsx","../src/utils/prijsvrij_logo.tsx","../src/components/searchBox/index.tsx","../src/components/menu/mockdata.ts","../src/components/menu/index.tsx","../src/utils/ANVR.tsx","../src/utils/Calamiteitenfonds.tsx","../src/utils/SGR.tsx","../src/components/nominations/index.tsx","../src/components/header/index.tsx","../src/components/logo/index.tsx","../src/components/pageRating/index.tsx","../src/components/priceCheck/index.tsx","../src/components/rating/index.tsx","../src/components/searchBoxResults/index.tsx","../src/components/toggle/index.tsx","../src/components/topHeaderMenu/index.tsx","../src/components/topMenu/index.tsx","../src/components/usp/index.tsx","../src/components/middleNavigation/index.tsx","../src/components/footer/mockData.ts","../src/components/footer/FooterNavigation.tsx","../src/components/footer/FooterBar.tsx","../src/components/footer/index.tsx","../src/components/accordion/AccordionItem.tsx","../src/components/accordion/index.tsx","../src/components/checkbox/index.tsx","../src/components/stepper/index.tsx","../src/components/resultPageFilterBox/index.tsx","../src/components/quantityButtons/index.tsx","../src/components/slider/index.tsx","../src/utils/countries.ts","../src/components/label/index.tsx","../src/components/phoneNumberInput/index.tsx","../src/components/photoCardsRotated/index.tsx","../src/components/chatbot/index.tsx","../src/components/priceBox/index.tsx","../src/utils/enums.ts","../src/components/actionIcon/index.tsx","../src/components/alert/index.tsx","../src/components/textInput/index.tsx","../src/components/autoCompleteInput/index.tsx","../src/components/avatar/index.tsx","../src/components/avatarIndicator/index.tsx","../src/components/badge/index.tsx","../src/components/bigBadge/index.tsx","../src/components/breadCrumb/index.tsx","../src/components/popover/index.tsx","../src/components/datePickerInput/index.tsx","../src/components/favouriteButton/index.tsx","../src/components/unstyledButton/index.tsx","../src/components/filters/FilterButton.tsx","../src/components/filters/FilterItem.tsx","../src/components/filters/index.tsx","../src/components/hamburgerMenuButton/index.tsx","../src/components/hr/index.tsx","../src/components/island/index.tsx","../src/components/modal/index.tsx","../src/components/numberField/index.tsx","../src/components/passwordInput/index.tsx","../src/components/progressBar/index.tsx","../src/components/radioButton/index.tsx","../src/components/regionSelector/index.tsx","../src/components/reviews/index.tsx","../src/components/scrollToTop/index.tsx","../src/components/searchInput/index.tsx","../src/components/select/index.tsx","../src/components/skeleton/index.tsx","../src/components/skillPill/index.tsx","../src/components/stickyMobileButton/index.tsx","../src/components/table/index.tsx","../src/components/table/tableCell/index.tsx","../src/components/table/tableHeader/index.tsx","../src/components/table/tableHeaderItem/index.tsx","../src/components/table/tableHeaderRow/index.tsx","../src/components/table/tableRow/index.tsx","../src/components/tabs/Tab.tsx","../src/components/tabs/TabsBadge.tsx","../src/components/tabs/TabsWrapper.tsx","../src/components/textArea/index.tsx","../src/components/timeInput/index.tsx","../src/components/truncatedText/index.tsx","../src/components/unorderedList/index.tsx","../src/components/unorderedListItem/index.tsx","../src/components/profileMenu/index.tsx","../src/components/stickyFooter/index.tsx","../src/components/spotlights/index.tsx","../src/utils/storybookIcons.tsx","../src/components/categoryFilter/index.tsx","../src/components/calendar/index.tsx","../src/components/matrixTable/index.tsx","../src/components/map/index.tsx","../src/components/linkBox/index.tsx","../src/components/loading/plane.tsx","../src/components/loading/cloud.tsx","../src/components/loading/dollar.tsx","../src/components/loading/d-reizen-sign.tsx","../src/components/loading/index.tsx","../src/components/warningText/index.tsx","../src/components/reviewSmall/index.tsx","../src/components/hero/index.tsx","../src/components/review/index.tsx","../src/components/hotelAccomodationResults/index.tsx","../src/components/flightSwitch/index.tsx","../src/components/giftCard/index.tsx","../src/components/viewedAccomodations/ViewedAccomodationsImage.tsx","../src/components/viewedAccomodations/index.tsx","../src/components/blogWidget/index.tsx","../src/components/coupon/index.tsx","../src/components/weather/index.tsx","../src/components/collection/index.tsx","../src/components/hotelWidget/index.tsx","../src/components/pageNavigation/index.tsx","../src/components/pvPopup/index.tsx","../src/components/searchBlock/index.tsx","../src/components/rangeSlider/index.tsx"],"sourcesContent":["\"use client\";\n\n// This file ensures the JSX runtime is properly referenced in the bundle\nimport * as React from \"react\";\n\n// Re-export the JSX runtime to ensure it's available\nexport const jsx = React.createElement;\nexport const jsxs = React.createElement;\nexport const Fragment = React.Fragment;\n","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","\"use client\";\n\nimport React, { forwardRef } from \"react\";\n\n/**\n * Higher-Order Component that adds data-pv-ui attribute to any component\n * This prevents global style conflicts when the UI package is imported.\n */\nexport function withPvUi<T extends React.ComponentType<any>>(\n Component: T\n): React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<T> & React.RefAttributes<React.ElementRef<T>>> {\n const WrappedComponent = forwardRef<React.ElementRef<T>, React.ComponentPropsWithoutRef<T>>((props, ref) => {\n const scopedProps = {\n ...props,\n ref,\n \"data-pv-ui\": true,\n };\n\n return (\n <div data-pv-ui style={{ display: \"contents\" }}>\n <Component {...scopedProps} />\n </div>\n );\n });\n\n WrappedComponent.displayName = `withPvUi(${\n Component.displayName || Component.name || \"Component\"\n })`;\n\n return WrappedComponent;\n}\n","import clsx, { type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import React, {\n cloneElement,\n type HTMLAttributes,\n type SVGAttributes,\n} from \"react\";\n\nimport clsx from \"clsx\";\n\nconst globalDefaultFormatAttributes: SVGAttributes<SVGElement> &\n HTMLAttributes<SVGElement> = {};\n\n/**\n * Format icon with default attributes. Icon attributes will\n * always supersede default attributes which in term will supersede\n * global default attributes.\n */\nexport default function formatIcon(\n icon: React.ReactNode,\n defaultFormatAttributes: SVGAttributes<SVGElement> &\n HTMLAttributes<SVGElement> &\n Record<string, unknown>,\n) {\n if (!React.isValidElement(icon)) return icon;\n\n return cloneElement(icon as React.ReactElement<unknown>, {\n ...globalDefaultFormatAttributes,\n ...defaultFormatAttributes,\n ...(icon.props as object),\n ...{\n className: clsx(\n globalDefaultFormatAttributes.className,\n defaultFormatAttributes.className,\n (icon.props as { className: string }).className,\n ),\n },\n });\n}\n","import { type SVGProps } from \"react\";\n\nexport const IconAlert = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M11 7C11 6.44772 11.4477 6 12 6C12.5523 6 13 6.44772 13 7V14C13 14.5523 12.5523 15 12 15C11.4477 15 11 14.5523 11 14V7Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 17C11 16.4477 11.4477 16 12 16C12.5523 16 13 16.4477 13 17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8.65848 2C8.12296 2 7.6098 2.21477 7.23392 2.59621L2.57544 7.32363C2.2067 7.69782 2 8.20208 2 8.72742V15.3415C2 15.877 2.21477 16.3902 2.59621 16.7661L7.32363 21.4246C7.69782 21.7933 8.20208 22 8.72742 22H15.3415C15.877 22 16.3902 21.7852 16.7661 21.4038L21.4246 16.6764C21.7933 16.3022 22 15.7979 22 15.2726V8.65848C22 8.12296 21.7852 7.6098 21.4038 7.23392L16.6764 2.57544C16.3022 2.2067 15.7979 2 15.2726 2H8.65848ZM8.65848 4H15.2726L20 8.65848V15.2726L15.3415 20H8.72742L4 15.3415V8.72742L8.65848 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import clsx from \"clsx\";\n\nconst defaultButtonStyling =\n \"justify-center group relative whitespace-nowrap flex items-center gap-2 cursor-pointer border rounded py-2 px-5 text-xs md:text-sm md:font-medium font-medium hover:outline-hidden focus:outline-hidden disabled:cursor-not-allowed transition-colors duration-100 ease-in-out\";\n\nexport const buttonVariants = {\n primary: clsx(\n defaultButtonStyling,\n \"btn-primary btn-primary-boxShadow hover:btn-primary-boxShadow-hover active:btn-primary-boxShadow-active hover:-translate-y-[3px] active:translate-y-[2px]\",\n ),\n primaryGlow: clsx(\n defaultButtonStyling,\n \"btn-primary btn-shadow btn-glow\",\n ),\n secondary: clsx(\n defaultButtonStyling,\n \"btn-secondary btn-secondary-boxShadow hover:btn-secondary-boxShadow-hover active:btn-secondary-boxShadow-active hover:-translate-y-[3px] active:translate-y-[2px]\",\n ),\n alternative: clsx(\n defaultButtonStyling,\n \"btn-alternative\",\n ),\n alternative2: clsx(\n defaultButtonStyling,\n \"btn-alternative2\",\n ),\n tertiary: clsx(\n defaultButtonStyling,\n \"btn-tertiary\",\n ),\n quaternary: clsx(\n defaultButtonStyling,\n \"btn-quaternary\",\n ),\n danger: clsx(\n defaultButtonStyling,\n \"border-transparent bg-red-500 text-white hover:bg-red-700 disabled:bg-red-100 disabled:hover:bg-red-100\",\n ),\n 'outline-danger': clsx(\n defaultButtonStyling,\n \"border-[var(--danger-red)] text-[var(--danger-red)] hover:text-white hover:bg-[var(--danger-red)] disabled:border-[var(--danger-red-disabled)] disabled:text-[var(--danger-red-disabled)] font-bold\",\n ),\n link: clsx(\n defaultButtonStyling,\n \"border-transparent bg-transparent text-accent-blue hover:bg-gray-50 disabled:bg-transparent disabled:text-gray-800 disabled:hover:bg-transparent\",\n ),\n icon: clsx( \n \"border-transparent bg-transparent p-0 m-0\",\n ),\n outline: clsx(\n defaultButtonStyling,\n \"btn-outline btn-outline-border\",\n ),\n // Brand-specific variants\n 'prijsvrij-primary': clsx(\n defaultButtonStyling,\n \"border-transparent bg-prijsvrij-primary text-white hover:bg-prijsvrij-600 disabled:bg-prijsvrij-100 disabled:text-prijsvrij-700\",\n ),\n 'dreizen-primary': clsx(\n defaultButtonStyling,\n \"border-transparent bg-dreizen-primary text-white hover:bg-dreizen-600 disabled:bg-dreizen-100 disabled:text-dreizen-700\",\n ),\n search: clsx(\n defaultButtonStyling,\n \"absolute top-0 right-0 h-full w-[50px] border-0 bg-transparent bg-no-repeat\",\n ),\n textButton: clsx(\n \"justify-center group relative flex items-center gap-2 cursor-pointer text-base md:text-sm md:font-medium font-medium hover:outline-hidden focus:outline-hidden disabled:cursor-not-allowed transition-colors duration-100 ease-in-out btn-text btn-text-color btn-text-hover-color\",\n ),\n} as const;\n","\"use client\";\nimport { forwardRef, type ButtonHTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport formatIcon from \"@utils/formatIcon\";\nimport clsx from \"clsx\";\n\nimport { IconAlert } from \"../../icons/IconAlert\";\n\nimport { buttonVariants } from \"./buttonVariants\";\n\nexport interface ButtonProps extends Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n \"children\"\n> {\n variant?: keyof typeof buttonVariants;\n ariaLabel?: string;\n isLoading?: boolean;\n block?: boolean;\n dataTestId?: string;\n icon?: React.ReactNode;\n iconRight?: boolean;\n children?: React.ReactNode;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n {\n type = \"button\" as const,\n variant = \"primary\",\n ariaLabel,\n block = false,\n isLoading = false,\n icon: iconFromProps = null,\n iconRight = false,\n onClick,\n className,\n children,\n dataTestId,\n ...props\n },\n ref,\n) {\n const loadingIcon = (\n <IconAlert className=\"animate-spin-slow mr-2 stroke-current\" />\n );\n const icon = isLoading ? loadingIcon : iconFromProps;\n\n const formattedIcon = icon\n ? formatIcon(icon, {\n className: clsx(\n {\n \"-mr-2\": iconRight,\n \"-ml-2\": !iconRight,\n },\n icon === loadingIcon ? \"text-current\" : \"size-[1.125rem]\",\n ),\n })\n : null;\n\n const handleOnClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n };\n\n return (\n <button\n ref={ref}\n type={type}\n aria-label={ariaLabel}\n data-testid={dataTestId}\n className={cn(\n buttonVariants[variant],\n block && \"w-full text-sm\",\n className,\n )}\n onClick={handleOnClick}\n {...props}\n >\n {(!iconRight && formattedIcon) && <span className=\"w-4 h-4 justify-center flex items-center\">{formattedIcon}</span>}\n {children}\n {(iconRight && formattedIcon) && <span className=\"w-4 h-4 justify-center flex items-center\">{formattedIcon}</span>}\n </button>\n );\n});\n\nButton.displayName = \"Button\";\n","import { type SVGProps } from \"react\";\n\nexport const IconHeartFilled = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M16 3C19.3136 3 21.9998 5.68713 22 9.00195C22 11.0421 20.7669 12.648 19.7168 13.7012L13.4248 20.4033L13.4141 20.4141C12.633 21.1953 11.367 21.1953 10.5859 20.4141L10.5752 20.4033L4.2832 13.7012C3.2331 12.648 2 11.0421 2 9.00195C2.00023 5.68713 4.68643 3 8 3C9.53702 3 10.9392 3.57871 12 4.52832C13.0608 3.57871 14.463 3 16 3Z\" fill=\"currentColor\"/>\n</svg>\n);","\"use client\";\nimport clsx from \"clsx\";\nimport { IconHeartFilled } from \"../../icons/IconHeartFilled\";\n\ninterface DividerProps {\n \"data-testid\"?: string;\n className?: string;\n icon: React.ReactNode;\n count: number;\n allowZero?: boolean;\n onClick?: () => void;\n id?: string;\n isPop?: boolean;\n isFilled?: boolean;\n}\n\nexport const CounterIcon = ({ className, icon, id, count, allowZero = false, onClick, isPop = false, isFilled = false, ...props }: DividerProps) => {\n return (\n <div\n id={id}\n data-component=\"counter-icon\"\n className={clsx(`counter-icon-wrapper rounded-full w-7 h-7 p-1 relative ${onClick && 'counter-icon-clickable'}`, className)}\n {...props}\n onClick={onClick}\n >\n {(count > 0 || allowZero) && <span className=\"counter-icon-count absolute right-0 top-0 rounded-full w-3 h-3 flex items-center justify-center text-white text-[8px] leading-none\" style={{ zIndex: 100000 }}>{count}</span>}\n <span className={clsx(\"counter-icon w-6 h-6\", isPop && \"counter-icon-pop\")}>\n {isFilled ? <IconHeartFilled className=\"text-red-600\" /> : icon}\n </span>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface DividerProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const Divider = ({ className, ...props }: DividerProps) => (\n <div\n data-component=\"divider\"\n className={clsx(\"block h-px w-full bg-gray-100\", className)}\n {...props}\n />\n);\n","import { type SVGProps } from \"react\";\n\nexport const IconInfo = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z\" fill=\"currentColor\"/>\r\n<path d=\"M14.3491 15.9206L14.1911 16.4921C13.717 16.6571 13.3386 16.782 13.056 16.8667C12.7735 16.9556 12.4454 17 12.0718 17C11.4971 17 11.0493 16.8772 10.7284 16.6317C10.4124 16.382 10.2543 16.0667 10.2543 15.6857C10.2543 15.5376 10.2663 15.3873 10.2902 15.2349C10.3142 15.0783 10.3525 14.9026 10.4052 14.7079L10.9943 12.854C11.0469 12.6762 11.09 12.509 11.1236 12.3524C11.1619 12.1915 11.181 12.0455 11.181 11.9143C11.181 11.6772 11.126 11.5122 11.0158 11.419C10.9057 11.3259 10.6949 11.2794 10.3836 11.2794C10.2304 11.2794 10.0723 11.3005 9.90948 11.3429C9.75144 11.3852 9.61494 11.4254 9.5 11.4635L9.65805 10.8921C10.046 10.7524 10.4171 10.6339 10.7716 10.5365C11.126 10.4349 11.4612 10.3841 11.7773 10.3841C12.3472 10.3841 12.7854 10.5069 13.092 10.7524C13.4033 10.9937 13.5589 11.309 13.5589 11.6984C13.5589 11.7788 13.5469 11.9206 13.523 12.1238C13.5038 12.327 13.4655 12.5132 13.408 12.6825L12.819 14.5302C12.7711 14.6783 12.728 14.8476 12.6897 15.0381C12.6513 15.2286 12.6322 15.3725 12.6322 15.4698C12.6322 15.7153 12.6944 15.8825 12.819 15.9714C12.9435 16.0603 13.159 16.1048 13.4655 16.1048C13.6092 16.1048 13.772 16.0836 13.954 16.0413C14.136 15.9947 14.2677 15.9545 14.3491 15.9206ZM14.5 8.16825C14.5 8.48995 14.3611 8.76508 14.0833 8.99365C13.8103 9.21799 13.4799 9.33016 13.092 9.33016C12.704 9.33016 12.3712 9.21799 12.0934 8.99365C11.8156 8.76508 11.6767 8.48995 11.6767 8.16825C11.6767 7.84656 11.8156 7.57143 12.0934 7.34286C12.3712 7.11429 12.704 7 13.092 7C13.4799 7 13.8103 7.11429 14.0833 7.34286C14.3611 7.57143 14.5 7.84656 14.5 8.16825Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconMap = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M17 8C17 10.7614 15 15 12 18C9 15 7 10.7614 7 8C7 5.23858 9.23858 3 12 3C14.7614 3 17 5.23858 17 8ZM14 8C14 9.10457 13.1046 10 12 10C10.8954 10 10 9.10457 10 8C10 6.89543 10.8954 6 12 6C13.1046 6 14 6.89543 14 8Z\" fill=\"currentColor\"/>\r\n<path d=\"M7.38659 16.6741C7.50003 16.6336 7.61847 16.5944 7.74162 16.5567C7.38201 15.9683 7.04687 15.3749 6.73815 14.782L6.71392 14.7906C6.01803 15.0391 5.38405 15.3584 4.90494 15.7629C4.43048 16.1636 4 16.7464 4 17.5001C4 18.2538 4.43048 18.8366 4.90494 19.2373C5.38405 19.6418 6.01803 19.9611 6.71392 20.2096C8.1144 20.7098 9.98341 21.0001 12 21.0001C14.0166 21.0001 15.8856 20.7098 17.2861 20.2096C17.982 19.9611 18.616 19.6418 19.0951 19.2373C19.5695 18.8366 20 18.2538 20 17.5001C20 16.7464 19.5695 16.1636 19.0951 15.7629C18.616 15.3584 17.982 15.0391 17.2861 14.7906L17.2619 14.782C16.9532 15.375 16.6181 15.9683 16.2584 16.5568C16.3816 16.5944 16.5 16.6336 16.6134 16.6741C17.1843 16.878 17.5754 17.0974 17.8048 17.2911C17.9296 17.3965 17.9768 17.4669 17.9937 17.5001C17.9768 17.5333 17.9296 17.6038 17.8048 17.7092C17.5754 17.9028 17.1843 18.1223 16.6134 18.3261C15.4804 18.7308 13.8494 19.0001 12 19.0001C10.1506 19.0001 8.5196 18.7308 7.38659 18.3261C6.81573 18.1223 6.42458 17.9028 6.19525 17.7092C6.07042 17.6038 6.02321 17.5333 6.00633 17.5001C6.02321 17.4669 6.07042 17.3965 6.19525 17.2911C6.42458 17.0974 6.81573 16.878 7.38659 16.6741Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCalendar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M9 13V11H7V13H9Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 11H13V13H11V11Z\" fill=\"currentColor\"/>\r\n<path d=\"M17 13V11H15V13H17Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8 3H6V5C4.34315 5 3 6.34314 3 8V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V8C21 6.34314 19.6569 5 18 5V3H16V5H8V3ZM5 10C5 9.44772 5.44772 9 6 9H18C18.5523 9 19 9.44772 19 10V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V10Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconClock = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M6.98291 5.57413C7.00605 5.59343 7.02852 5.61394 7.05025 5.63567L12.5905 11.1759C12.6104 11.1958 12.6293 11.2164 12.6472 11.2375C12.8631 11.4209 13 11.6944 13 11.9998C13 12.5521 12.5523 12.9998 12 12.9998C11.6939 12.9998 11.4199 12.8623 11.2365 12.6456C11.2158 12.6281 11.1957 12.6096 11.1763 12.5901L6.39377 7.80762C5.51847 8.97624 5 10.4276 5 12C5 15.866 8.13401 19 12 19C15.866 19 19 15.866 19 12C19 8.47353 16.3923 5.55612 13 5.07089V7C13 7.55228 12.5523 8 12 8C11.4477 8 11 7.55228 11 7L11 3.95048C11 3.44071 11.3838 3.00653 11.8935 3.00062C11.929 3.00021 11.9645 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 9.52353 4.00023 7.28068 5.61874 5.65339C5.62441 5.64743 5.63018 5.64152 5.63603 5.63567C5.6419 5.6298 5.64783 5.62402 5.6538 5.61832C5.67239 5.59984 5.69105 5.58144 5.7098 5.56312C6.06429 5.21666 6.6211 5.241 6.98291 5.57413Z\" fill=\"currentColor\"/>\r\n<path d=\"M18 12C18 12.5523 17.5523 13 17 13C16.4477 13 16 12.5523 16 12C16 11.4477 16.4477 11 17 11C17.5523 11 18 11.4477 18 12Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 18C12.5523 18 13 17.5523 13 17C13 16.4477 12.5523 16 12 16C11.4477 16 11 16.4477 11 17C11 17.5523 11.4477 18 12 18Z\" fill=\"currentColor\"/>\r\n<path d=\"M8 12C8 12.5523 7.55228 13 7 13C6.44772 13 6 12.5523 6 12C6 11.4477 6.44772 11 7 11C7.55228 11 8 11.4477 8 12Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconEdit = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M4 16.8538V19.5556C4 19.8045 4.19553 20 4.44438 20H7.14624C7.26178 20 7.37732 19.9556 7.45731 19.8667L17.1627 10.1702L13.8298 6.83734L4.13332 16.5338C4.04444 16.6227 4 16.7293 4 16.8538ZM19.7401 7.5928C19.8225 7.51057 19.8878 7.41291 19.9324 7.30539C19.977 7.19787 20 7.08261 20 6.96621C20 6.84981 19.977 6.73456 19.9324 6.62704C19.8878 6.51952 19.8225 6.42186 19.7401 6.33963L17.6604 4.25991C17.5781 4.17752 17.4805 4.11216 17.373 4.06756C17.2654 4.02296 17.1502 4 17.0338 4C16.9174 4 16.8021 4.02296 16.6946 4.06756C16.5871 4.11216 16.4894 4.17752 16.4072 4.25991L14.7808 5.88636L18.1136 9.21924L19.7401 7.5928Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSearch = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M15.0493 16.4632C13.7874 17.4273 12.2106 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5C18 12.2105 17.4274 13.7872 16.4635 15.049L20.7071 19.2926C21.0976 19.6831 21.0976 20.3163 20.7071 20.7068C20.3166 21.0974 19.6834 21.0974 19.2929 20.7068L15.0493 16.4632ZM16 10.5C16 13.5376 13.5376 16 10.5 16C7.46243 16 5 13.5376 5 10.5C5 7.46243 7.46243 5 10.5 5C13.5376 5 16 7.46243 16 10.5Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconLuggage = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M16 5C16 4.44772 15.5523 4 15 4H9C8.44772 4 8 4.44772 8 5V8H7V15C7 15.5523 6.55228 16 6 16C5.44772 16 5 15.5523 5 15V8C3.89543 8 3 8.89543 3 10V18C3 19.1046 3.89543 20 5 20H19C20.1046 20 21 19.1046 21 18V10C21 8.89543 20.1046 8 19 8V15C19 15.5523 18.5523 16 18 16C17.4477 16 17 15.5523 17 15V8H16V5ZM14 8H10V6H14V8Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSeat = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 14 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M1.17015 0C0.555665 0 0.0865475 0.548998 0.182384 1.15596L2.51319 15.9177C2.66491 16.8787 3.96031 17.0791 4.39538 16.209L5.81462 13.3705C5.93323 13.1333 5.95275 12.8587 5.86888 12.607L3.27612 4.82877C3.0957 4.2875 3.07336 3.706 3.21174 3.15248L3.3786 2.48507C3.69417 1.22278 2.73945 0 1.43831 0H1.17015Z\" fill=\"currentColor\"/>\r\n<path d=\"M7.6179 14C7.23913 14 6.89286 14.214 6.72347 14.5528L5.72347 16.5528C5.39102 17.2177 5.87452 18 6.6179 18H12.9999C13.5521 18 13.9999 17.5523 13.9999 17V16C13.9999 14.8954 13.1044 14 11.9999 14H7.6179Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconHot = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M10 17.0252C11.2946 16.6929 11.9598 15.7056 12.1396 14.8322C12.4363 13.4746 11.2766 12.1455 12.0587 10C12.3554 11.7753 14.9985 12.886 14.9985 14.8227C15.0704 17.2246 12.6071 19.2847 10 17.0252Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M16.691 13.2711L16.6808 13.2445C16.4834 12.73 16.1453 12.2864 15.6287 11.7945C15.365 11.5434 15.0771 11.3 14.7429 11.0213C14.7142 10.9973 14.685 10.9731 14.6555 10.9484C14.3569 10.6997 14.0172 10.4167 13.6937 10.1192C12.9748 9.45828 12.177 8.58773 11.7024 7.36932C11.6427 7.21605 11.5893 7.06041 11.5422 6.90231C11.3184 7.23586 11.1283 7.58974 10.9772 7.96134C10.4547 9.24731 10.3392 10.8923 11.1265 12.9187C11.5676 14.0531 11.09 15.1432 10.3639 15.7191C9.62777 16.3029 8.40627 16.5271 7.39187 15.7503C7.35603 15.7231 7.32068 15.6956 7.28583 15.668C7.62188 16.6528 8.19411 17.3355 8.80083 17.8238C9.74091 18.5804 10.7894 18.8809 11.2159 18.9367C12.9722 19.161 14.6046 18.7986 15.6852 17.81C16.9191 16.6578 17.3442 14.8387 16.702 13.2973L16.691 13.2711ZM17.0428 19.2787C15.3886 20.7974 13.0869 21.1924 10.9601 20.9203C9.47228 20.7271 5.33258 19.2173 5 14.3014C5 13.5919 5.06161 12.9587 5.16488 12.3955C5.25343 11.9126 5.37261 11.4812 5.50982 11.0976C5.67938 10.6236 5.87649 10.2225 6.07739 9.88729C6.07771 9.88675 6.07804 9.8862 6.07837 9.88566C6.1185 9.81873 6.15878 9.75443 6.19903 9.69269C6.29502 9.54993 6.43983 9.49256 6.57996 9.50109C6.81036 9.51513 7.02811 9.70732 6.99546 9.99116C6.98779 10.0589 6.98104 10.1282 6.97539 10.1988C6.97499 10.2038 6.97459 10.2089 6.9742 10.2139C6.94448 10.5969 6.94741 11.0178 7.01193 11.4501C7.0545 11.7353 7.1239 12.0256 7.22843 12.3132C7.30894 12.5347 7.41028 12.7546 7.53626 12.9695C7.7457 13.3267 8.02324 13.67 8.38633 13.9833C8.38671 13.9836 8.38708 13.9839 8.38746 13.9842C8.45707 14.0443 8.52982 14.1032 8.60583 14.1609C8.94716 14.4242 9.41977 14.0468 9.26223 13.643C9.23317 13.5682 9.20508 13.4936 9.17794 13.4194C9.17695 13.4167 9.17596 13.414 9.17496 13.4112C9.03075 13.0157 8.9136 12.6279 8.82178 12.2481C8.64711 11.5258 8.56408 10.8326 8.56069 10.1712C8.56069 10.1702 8.56068 10.1692 8.56068 10.1682C8.5583 9.66765 8.60155 9.1853 8.68522 8.72232C9.02322 6.85204 10.0209 5.29781 11.335 4.13427C11.408 4.06961 11.482 4.00616 11.5569 3.94392C11.8312 3.71608 12.1179 3.50458 12.4139 3.31005C12.414 3.30995 12.4142 3.30985 12.4143 3.30975C12.5434 3.22492 12.6743 3.14332 12.8068 3.065C13.1394 2.8631 13.5507 3.16156 13.4632 3.54781C13.4281 3.7025 13.3983 3.85276 13.3737 3.99882C13.3726 4.0053 13.3715 4.01178 13.3705 4.01824C13.313 4.36471 13.2843 4.68746 13.2811 4.98943C13.2806 5.03985 13.2807 5.08968 13.2816 5.13896C13.3185 7.23099 14.6066 8.30434 15.9398 9.41527C16.9657 10.2702 18.0184 11.1473 18.5481 12.5281C19.5284 14.8807 18.8632 17.5845 17.0428 19.2787Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconHeart = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8 5.00079C5.79086 5.00079 4 6.79236 4 9.00237C4 10.2291 4.75819 11.3473 5.70858 12.298L5.71965 12.3091L12 18.9985L18.2803 12.3091L18.2914 12.298C19.2418 11.3473 20 10.2291 20 9.00237C20 6.79236 18.2091 5.00079 16 5.00079C14.6922 5.00079 13.531 5.62763 12.7995 6.60161L12 7.66615L11.2005 6.60161C10.469 5.62764 9.30784 5.00079 8 5.00079ZM2 9.00237C2 5.68735 4.68629 3 8 3C9.53707 3 10.9392 3.57886 12 4.52852C13.0608 3.57886 14.4629 3 16 3C19.3137 3 22 5.68735 22 9.00237C22 11.0426 20.7671 12.6483 19.7169 13.7015L13.4253 20.4029L13.4142 20.414C12.6332 21.1953 11.3668 21.1953 10.5858 20.414L10.5747 20.4029L4.28307 13.7015C3.23295 12.6483 2 11.0426 2 9.00237Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconRating = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 4L14.4721 9.26687L20 10.1115L16 14.2111L16.9443 20L12 17.2669L7.05573 20L8 14.2111L4 10.1115L9.52786 9.26687L12 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSun = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M13 1C13 0.447715 12.5523 0 12 0C11.4477 0 11 0.447715 11 1V3C11 3.55228 11.4477 4 12 4C12.5523 4 13 3.55228 13 3V1Z\" fill=\"currentColor\"/>\r\n<path d=\"M13 21C13 20.4477 12.5523 20 12 20C11.4477 20 11 20.4477 11 21V23C11 23.5523 11.4477 24 12 24C12.5523 24 13 23.5523 13 23V21Z\" fill=\"currentColor\"/>\r\n<path d=\"M1 11C0.447715 11 0 11.4477 0 12C0 12.5523 0.447715 13 1 13H3C3.55228 13 4 12.5523 4 12C4 11.4477 3.55228 11 3 11H1Z\" fill=\"currentColor\"/>\r\n<path d=\"M20 12C20 11.4477 20.4477 11 21 11H23C23.5523 11 24 11.4477 24 12C24 12.5523 23.5523 13 23 13H21C20.4477 13 20 12.5523 20 12Z\" fill=\"currentColor\"/>\r\n<path d=\"M20.4853 4.92893C20.8758 4.53841 20.8758 3.90524 20.4853 3.51472C20.0948 3.12419 19.4616 3.12419 19.0711 3.51472L17.6569 4.92893C17.2663 5.31946 17.2663 5.95262 17.6569 6.34315C18.0474 6.73367 18.6805 6.73367 19.0711 6.34315L20.4853 4.92893Z\" fill=\"currentColor\"/>\r\n<path d=\"M6.34315 19.0711C6.73367 18.6805 6.73367 18.0474 6.34315 17.6569C5.95262 17.2663 5.31946 17.2663 4.92893 17.6569L3.51472 19.0711C3.12419 19.4616 3.12419 20.0948 3.51472 20.4853C3.90524 20.8758 4.53841 20.8758 4.92893 20.4853L6.34315 19.0711Z\" fill=\"currentColor\"/>\r\n<path d=\"M4.92893 3.51472C4.53841 3.12419 3.90524 3.12419 3.51472 3.51472C3.12419 3.90524 3.12419 4.53841 3.51472 4.92893L4.92893 6.34315C5.31946 6.73367 5.95262 6.73367 6.34315 6.34315C6.73367 5.95262 6.73367 5.31946 6.34315 4.92893L4.92893 3.51472Z\" fill=\"currentColor\"/>\r\n<path d=\"M17.6569 17.6569C18.0474 17.2663 18.6805 17.2663 19.0711 17.6569L20.4853 19.0711C20.8758 19.4616 20.8758 20.0948 20.4853 20.4853C20.0948 20.8758 19.4616 20.8758 19.0711 20.4853L17.6569 19.0711C17.2663 18.6805 17.2663 18.0474 17.6569 17.6569Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16ZM12 18C15.3137 18 18 15.3137 18 12C18 8.68629 15.3137 6 12 6C8.68629 6 6 8.68629 6 12C6 15.3137 8.68629 18 12 18Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSplash = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M5.3851 8.5654C5.03037 8.75889 4.52349 9 4 9C3.44772 9 3 8.55229 3 8C3 7.44772 3.44772 7 4 7C3.99498 7 3.99643 6.99959 4.00508 6.99718C4.03688 6.9883 4.16582 6.95228 4.4274 6.8096C4.72446 6.64757 5.0603 6.42462 5.4453 6.16795L5.46619 6.15402C5.82605 5.9141 6.23189 5.64352 6.6149 5.4346C6.96963 5.24111 7.47651 5 8 5C8.57359 5 9.03918 5.28156 9.34231 5.49553C9.5478 5.64059 9.78545 5.83717 9.99547 6.0109C10.0871 6.08669 10.1736 6.15823 10.2497 6.21913C10.8377 6.68956 11.358 7 12 7C12.642 7 13.1623 6.68956 13.7503 6.21913C13.8265 6.1582 13.9129 6.08674 14.0045 6.01092C14.2145 5.83719 14.4522 5.64059 14.6577 5.49552C14.9608 5.28155 15.4264 4.99999 16 5C16.5235 5.00001 17.0304 5.24112 17.3851 5.43461C17.7681 5.64352 18.1739 5.9141 18.5338 6.15402L18.5547 6.16795C18.9397 6.42462 19.2755 6.64757 19.5726 6.80961C19.8342 6.95228 19.9631 6.9883 19.9949 6.99718C20.0036 6.99959 20.005 7 20 7C20.5523 7 21 7.44772 21 8C21 8.55229 20.5523 9 20 9C19.4765 9 18.9696 8.75889 18.6149 8.5654C18.2319 8.35649 17.8261 8.08592 17.4662 7.846L17.4453 7.83206C17.0603 7.57539 16.7245 7.35244 16.4274 7.1904C16.1883 7.06 16.06 7.01869 16.0155 7.00577C15.9859 7.01901 15.9209 7.05189 15.8111 7.12946C15.6657 7.23207 15.5336 7.34176 15.3662 7.48083C15.2618 7.56759 15.1435 7.6658 14.9997 7.78086C14.3377 8.31043 13.358 9 12 9C10.642 9 9.66227 8.31044 9.0003 7.78087C8.85648 7.66581 8.73824 7.5676 8.63378 7.48083C8.46636 7.34176 8.33431 7.23208 8.18894 7.12947C8.07904 7.05189 8.01409 7.01901 7.98453 7.00577C7.93995 7.01869 7.81167 7.05999 7.5726 7.1904C7.27554 7.35243 6.9397 7.57538 6.5547 7.83205L6.5338 7.84599C6.17394 8.08591 5.7681 8.35649 5.3851 8.5654Z\" fill=\"currentColor\"/>\r\n<path d=\"M5.3851 12.5654C5.03037 12.7589 4.52349 13 4 13C3.44772 13 3 12.5523 3 12C3 11.4477 3.44772 11 4 11C3.99498 11 3.99643 10.9996 4.00508 10.9972C4.03688 10.9883 4.16582 10.9523 4.4274 10.8096C4.72446 10.6476 5.0603 10.4246 5.4453 10.168L5.46619 10.154C5.82605 9.9141 6.23189 9.64352 6.6149 9.4346C6.96963 9.24111 7.47651 9 8 9C8.57359 9 9.03918 9.28156 9.34231 9.49553C9.5478 9.64059 9.78546 9.83718 9.99548 10.0109C10.0871 10.0867 10.1736 10.1582 10.2497 10.2191C10.8377 10.6896 11.358 11 12 11C12.642 11 13.1623 10.6896 13.7503 10.2191C13.8265 10.1582 13.9129 10.0867 14.0045 10.0109C14.2145 9.83718 14.4522 9.64058 14.6577 9.49552C14.9608 9.28155 15.4264 8.99999 16 9C16.5235 9.00001 17.0304 9.24112 17.3851 9.43461C17.7681 9.64352 18.1739 9.91408 18.5338 10.154L18.5547 10.168C18.9397 10.4246 19.2755 10.6476 19.5726 10.8096C19.8342 10.9523 19.9631 10.9883 19.9949 10.9972C20.0036 10.9996 20.005 11 20 11C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13C19.4765 13 18.9696 12.7589 18.6149 12.5654C18.2319 12.3565 17.8261 12.0859 17.4662 11.846L17.4453 11.8321C17.0603 11.5754 16.7245 11.3524 16.4274 11.1904C16.1883 11.06 16.06 11.0187 16.0155 11.0058C15.9859 11.019 15.9209 11.0519 15.8111 11.1295C15.6657 11.2321 15.5336 11.3418 15.3662 11.4808C15.2618 11.5676 15.1435 11.6658 14.9997 11.7809C14.3377 12.3104 13.358 13 12 13C10.642 13 9.66227 12.3104 9.0003 11.7809C8.85648 11.6658 8.73825 11.5676 8.63379 11.4808C8.46637 11.3418 8.33431 11.2321 8.18894 11.1295C8.07904 11.0519 8.01409 11.019 7.98453 11.0058C7.93995 11.0187 7.81167 11.06 7.5726 11.1904C7.27554 11.3524 6.9397 11.5754 6.5547 11.8321L6.5338 11.846C6.17394 12.0859 5.7681 12.3565 5.3851 12.5654Z\" fill=\"currentColor\"/>\r\n<path d=\"M4 17C4.52349 17 5.03037 16.7589 5.3851 16.5654C5.7681 16.3565 6.17394 16.0859 6.5338 15.846L6.5547 15.8321C6.9397 15.5754 7.27554 15.3524 7.5726 15.1904C7.81167 15.06 7.93995 15.0187 7.98453 15.0058C8.01409 15.019 8.07904 15.0519 8.18894 15.1295C8.33431 15.2321 8.46636 15.3418 8.63378 15.4808C8.73824 15.5676 8.85648 15.6658 9.0003 15.7809C9.66227 16.3104 10.642 17 12 17C13.358 17 14.3377 16.3104 14.9997 15.7809C15.1435 15.6658 15.2618 15.5676 15.3662 15.4808C15.5336 15.3418 15.6657 15.2321 15.8111 15.1295C15.9209 15.0519 15.9859 15.019 16.0155 15.0058C16.06 15.0187 16.1883 15.06 16.4274 15.1904C16.7245 15.3524 17.0603 15.5754 17.4453 15.8321L17.4662 15.846C17.826 16.0859 18.2319 16.3565 18.6149 16.5654C18.9696 16.7589 19.4765 17 20 17C20.5523 17 21 16.5523 21 16C21 15.4477 20.5523 15 20 15C20.005 15 20.0036 14.9996 19.9949 14.9972C19.9631 14.9883 19.8342 14.9523 19.5726 14.8096C19.2755 14.6476 18.9397 14.4246 18.5547 14.168L18.5338 14.154C18.1739 13.9141 17.7681 13.6435 17.3851 13.4346C17.0304 13.2411 16.5235 13 16 13C15.4264 13 14.9608 13.2815 14.6577 13.4955C14.4522 13.6406 14.2145 13.8372 14.0045 14.0109C13.9129 14.0867 13.8265 14.1582 13.7503 14.2191C13.1623 14.6896 12.642 15 12 15C11.358 15 10.8377 14.6896 10.2497 14.2191C10.1735 14.1582 10.0871 14.0867 9.99548 14.0109C9.78546 13.8372 9.5478 13.6406 9.34231 13.4955C9.03918 13.2816 8.57359 13 8 13C7.47651 13 6.96963 13.2411 6.6149 13.4346C6.2319 13.6435 5.82606 13.9141 5.46621 14.154L5.4453 14.1679C5.0603 14.4246 4.72446 14.6476 4.4274 14.8096C4.16582 14.9523 4.03688 14.9883 4.00508 14.9972C3.99644 14.9996 3.99498 15 4 15C3.44772 15 3 15.4477 3 16C3 16.5523 3.44772 17 4 17Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTree = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M14.6014 7.44715C11.2914 7.27553 9.5586 7.74686 6.6807 9.56949C6.43579 7.54614 7.70182 5.60113 9.71735 5.06107C11.7329 4.52101 13.8018 5.57242 14.6014 7.44715Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.2268 11.2126C16.2128 8.9312 14.8554 7.93247 12 6.69586C13.3237 5.32977 15.4844 5.10896 17.0689 6.25831C18.6534 7.40766 19.1144 9.53021 18.2268 11.2126Z\" fill=\"currentColor\"/>\r\n<path d=\"M20.6899 6.52825C17.7349 5.9165 16.0505 5.86372 13 6.32922C13.3085 4.81963 14.9576 3.69576 16.9144 3.7464C18.8712 3.79705 20.4599 5.00472 20.6899 6.52825Z\" fill=\"currentColor\"/>\r\n<path d=\"M19.0773 2.6996C16.8822 3.4223 15.924 4.16368 14.7384 6.11787C14.0045 4.87386 14.2371 3.28997 15.3412 2.42014C16.4453 1.55032 18.0396 1.69496 19.0773 2.6996Z\" fill=\"currentColor\"/>\r\n<path d=\"M13.9196 7.5119C11.2958 5.061 9.57143 4.27747 6.01511 4.01318C7.15738 2.18028 9.48676 1.41374 11.4982 2.30404C13.5096 3.19434 14.5084 5.434 13.9196 7.5119Z\" fill=\"currentColor\"/>\r\n<path d=\"M12.7032 7.07941C13.3936 3.73001 12.8716 2.24907 10.8326 0.0981352C12.6702 -0.132278 14.4263 0.972421 14.9023 2.7489C15.3783 4.52539 14.4099 6.36012 12.7032 7.07941Z\" fill=\"currentColor\"/>\r\n<path d=\"M10.1261 22.9999C10.1261 14.4999 10.5 12.4999 12.8754 5.99988C12.7303 7.05514 14 5.99988 14 5.99988C13.0085 13.5315 12.2576 18.6421 15 22.9999H10.1261Z\" fill=\"currentColor\"/>\r\n<path d=\"M15.5 7.49988C15.5 8.8806 14.3807 9.99988 13 9.99988C11.6193 9.99988 10.5 8.8806 10.5 7.49988C10.5 6.11917 11.6193 4.99988 13 4.99988C14.3807 4.99988 15.5 6.11917 15.5 7.49988Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCarSun = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M14 0C14.5523 0 15 0.447715 15 1V2C15 2.55228 14.5523 3 14 3C13.4477 3 13 2.55228 13 2V1C13 0.447715 13.4477 0 14 0Z\" fill=\"currentColor\"/>\r\n<path d=\"M9.41603 8.00003C10.1876 6.23411 11.9497 5 14 5C16.7614 5 19 7.23858 19 10C19 12.1002 17.7051 13.8979 15.8702 14.6385C15.8479 14.553 15.8227 14.4682 15.7947 14.3842L15.2436 12.7309C16.2798 12.2583 17 11.2132 17 10C17 8.34315 15.6569 7 14 7C13.1115 7 12.3132 7.38625 11.7639 8L9.41603 8.00003Z\" fill=\"currentColor\"/>\r\n<path d=\"M6.92891 2.92888C7.31943 2.53836 7.9526 2.53836 8.34312 2.92888L9.05023 3.63599C9.44075 4.02651 9.44075 4.65968 9.05023 5.0502C8.65971 5.44072 8.02654 5.44072 7.63602 5.0502L6.92891 4.34309C6.53839 3.95257 6.53839 3.3194 6.92891 2.92888Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.9497 14.9497C19.3403 14.5592 19.9734 14.5592 20.3639 14.9497L21.071 15.6568C21.4616 16.0473 21.4616 16.6805 21.071 17.071C20.6805 17.4615 20.0474 17.4615 19.6568 17.071L18.9497 16.3639C18.5592 15.9734 18.5592 15.3402 18.9497 14.9497Z\" fill=\"currentColor\"/>\r\n<path d=\"M21 10C21 9.44771 21.4477 9 22 9H23C23.5523 9 24 9.44771 24 10C24 10.5523 23.5523 11 23 11H22C21.4477 11 21 10.5523 21 10Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.9498 5.05015C18.5592 4.65963 18.5592 4.02646 18.9498 3.63594L19.6569 2.92883C20.0474 2.53831 20.6806 2.53831 21.0711 2.92883C21.4616 3.31936 21.4616 3.95252 21.0711 4.34305L20.364 5.05015C19.9734 5.44068 19.3403 5.44068 18.9498 5.05015Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M3.77482 8.00009C2.91396 8.00009 2.14968 8.55095 1.87745 9.36764L0.205267 14.3842C0.0693116 14.7921 0 15.2192 0 15.6491V21C0 21.5523 0.447715 22 1 22V23C1 23.5523 1.44772 24 2 24H3C3.55228 24 4 23.5523 4 23V22H12V23C12 23.5523 12.4477 24 13 24H14C14.5523 24 15 23.5523 15 23V22C15.5523 22 16 21.5523 16 21V15.6491C16 15.2192 15.9307 14.7921 15.7947 14.3842L14.1225 9.36754C13.8503 8.55086 13.086 8 12.2251 8L3.77482 8.00009ZM12.5079 16C12.5053 16 12.5026 16 12.5 16C12.4974 16 12.4947 16 12.4921 16C11.6673 16.0043 11 16.6742 11 17.5C11 18.3284 11.6716 19 12.5 19C13.3284 19 14 18.3284 14 17.5C14 16.6742 13.3327 16.0043 12.5079 16ZM3.48504 16.0001L3.51495 16.0001C4.33649 16.0081 5 16.6766 5 17.5C5 18.3284 4.32843 19 3.5 19C2.67157 19 2 18.3284 2 17.5C2 16.6766 2.6635 16.0081 3.48504 16.0001ZM3.5469 10.6839C3.68301 10.2755 4.06515 10.0001 4.49557 10.0001L11.5044 10C11.9348 10 12.317 10.2754 12.4531 10.6838L13.5585 14L2.44149 14.0001L3.5469 10.6839Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCity = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M0 15C0 13.8954 0.895431 13 2 13H8C9.10457 13 10 13.8954 10 15V24H0V15ZM8 15H2V22H8V15Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M17 12C17 10.8954 17.8954 10 19 10H22C23.1046 10 24 10.8954 24 12V24H17V12ZM22 12H19V22H22V12Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8 9C8 7.89543 8.89543 7 10 7H17C18.1046 7 19 7.89543 19 9V24H8V9ZM17 9H10V22H17V9Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M10 6C10 4.89543 10.8954 4 12 4H15C16.1046 4 17 4.89543 17 6V9H10V6ZM15 6H12V7H15V6Z\" fill=\"currentColor\"/>\r\n<path d=\"M3 20C3 19.4477 3.44772 19 4 19H6C6.55228 19 7 19.4477 7 20C7 20.5523 6.55228 21 6 21H4C3.44772 21 3 20.5523 3 20Z\" fill=\"currentColor\"/>\r\n<path d=\"M20 20C20 19.4477 20.4477 19 21 19H23C23.5523 19 24 19.4477 24 20C24 20.5523 23.5523 21 23 21H21C20.4477 21 20 20.5523 20 20Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 20C11 19.4477 11.4477 19 12 19C12.5523 19 13 19.4477 13 20C13 20.5523 12.5523 21 12 21C11.4477 21 11 20.5523 11 20Z\" fill=\"currentColor\"/>\r\n<path d=\"M14 20C14 19.4477 14.4477 19 15 19C15.5523 19 16 19.4477 16 20C16 20.5523 15.5523 21 15 21C14.4477 21 14 20.5523 14 20Z\" fill=\"currentColor\"/>\r\n<path d=\"M3 17C3 16.4477 3.44772 16 4 16H6C6.55228 16 7 16.4477 7 17C7 17.5523 6.55228 18 6 18H4C3.44772 18 3 17.5523 3 17Z\" fill=\"currentColor\"/>\r\n<path d=\"M20 17C20 16.4477 20.4477 16 21 16H23C23.5523 16 24 16.4477 24 17C24 17.5523 23.5523 18 23 18H21C20.4477 18 20 17.5523 20 17Z\" fill=\"currentColor\"/>\r\n<path d=\"M20 14C20 13.4477 20.4477 13 21 13H23C23.5523 13 24 13.4477 24 14C24 14.5523 23.5523 15 23 15H21C20.4477 15 20 14.5523 20 14Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 17C11 16.4477 11.4477 16 12 16C12.5523 16 13 16.4477 13 17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17Z\" fill=\"currentColor\"/>\r\n<path d=\"M14 17C14 16.4477 14.4477 16 15 16C15.5523 16 16 16.4477 16 17C16 17.5523 15.5523 18 15 18C14.4477 18 14 17.5523 14 17Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 14C11 13.4477 11.4477 13 12 13C12.5523 13 13 13.4477 13 14C13 14.5523 12.5523 15 12 15C11.4477 15 11 14.5523 11 14Z\" fill=\"currentColor\"/>\r\n<path d=\"M14 14C14 13.4477 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15C14.4477 15 14 14.5523 14 14Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 11C11 10.4477 11.4477 10 12 10C12.5523 10 13 10.4477 13 11C13 11.5523 12.5523 12 12 12C11.4477 12 11 11.5523 11 11Z\" fill=\"currentColor\"/>\r\n<path d=\"M14 11C14 10.4477 14.4477 10 15 10C15.5523 10 16 10.4477 16 11C16 11.5523 15.5523 12 15 12C14.4477 12 14 11.5523 14 11Z\" fill=\"currentColor\"/>\r\n<path d=\"M12.5 1C12.5 0.447715 12.9477 0 13.5 0C14.0523 0 14.5 0.447715 14.5 1V4H12.5V1Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconWinterSun = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M13 1C13 0.447715 12.5523 0 12 0C11.4477 0 11 0.447715 11 1V2.90661C10.9976 2.93694 10.9964 2.96807 10.9964 2.99999V4.49446L9.80017 3.80382C9.32188 3.52768 8.71029 3.69156 8.43415 4.16985C8.158 4.64814 8.32188 5.25973 8.80017 5.53588L10.9964 6.80386V9.17197C10.6469 9.29599 10.3273 9.48294 10.0511 9.71919L4.70482 6.63253C4.22653 6.35639 3.61493 6.52027 3.33879 6.99856C3.06265 7.47685 3.22653 8.08844 3.70482 8.36459L9.05017 11.4507C9.01722 11.6288 9 11.8124 9 12C9 12.1876 9.01722 12.3712 9.05017 12.5493L3.70483 15.6354C3.22654 15.9115 3.06266 16.5231 3.33881 17.0014C3.61495 17.4797 4.22654 17.6436 4.70483 17.3674L5.99909 16.6202L5.99909 18.0015C5.99909 18.5538 6.4468 19.0015 6.99909 19.0015C7.55137 19.0015 7.99908 18.5538 7.99908 18.0015V15.4655L10.0511 14.2808C10.3273 14.517 10.6469 14.704 10.9964 14.828V21C10.9964 21.0288 10.9976 21.0574 11 21.0856V23C11 23.5523 11.4477 24 12 24C12.5523 24 13 23.5523 13 23V21C13 20.9712 12.9988 20.9426 12.9964 20.9144V17.9176C15.8359 17.4431 18 14.9743 18 12C18 9.02574 15.8359 6.55694 12.9964 6.08235V3.08561C12.9988 3.05739 13 3.02884 13 3V1ZM12.9964 8.12509V15.8749C14.7234 15.4321 16 13.8651 16 12C16 10.1349 14.7234 8.56787 12.9964 8.12509Z\" fill=\"currentColor\"/>\r\n<path d=\"M21 11C20.4477 11 20 11.4477 20 12C20 12.5523 20.4477 13 21 13H23C23.5523 13 24 12.5523 24 12C24 11.4477 23.5523 11 23 11H21Z\" fill=\"currentColor\"/>\r\n<path d=\"M20.4853 4.92893C20.8758 4.53841 20.8758 3.90524 20.4853 3.51472C20.0948 3.12419 19.4616 3.12419 19.0711 3.51472L17.6569 4.92893C17.2663 5.31946 17.2663 5.95262 17.6569 6.34315C18.0474 6.73367 18.6805 6.73367 19.0711 6.34315L20.4853 4.92893Z\" fill=\"currentColor\"/>\r\n<path d=\"M19.0711 17.6569C18.6805 17.2663 18.0474 17.2663 17.6569 17.6569C17.2663 18.0474 17.2663 18.6805 17.6569 19.0711L19.0711 20.4853C19.4616 20.8758 20.0948 20.8758 20.4853 20.4853C20.8758 20.0948 20.8758 19.4616 20.4853 19.0711L19.0711 17.6569Z\" fill=\"currentColor\"/>\r\n<path d=\"M8.80011 18.4641C8.32182 18.7402 8.15794 19.3518 8.43408 19.8301C8.71023 20.3084 9.32182 20.4723 9.80011 20.1961L10.9963 19.5055V17.1961L8.80011 18.4641Z\" fill=\"currentColor\"/>\r\n<path d=\"M3.43512 12.8283C3.71126 12.35 4.32285 12.1861 4.80114 12.4623L6.99736 13.7303L4.99736 14.885L3.80114 14.1943C3.32285 13.9182 3.15897 13.3066 3.43512 12.8283Z\" fill=\"currentColor\"/>\r\n<path d=\"M6.99913 4.99846C7.55141 4.99846 7.99913 5.44618 7.99913 5.99846L7.99913 8.53443L5.99913 7.37973L5.99913 5.99846C5.99913 5.44618 6.44684 4.99846 6.99913 4.99846Z\" fill=\"currentColor\"/>\r\n<path d=\"M3.43516 11.1716C3.7113 11.6499 4.32289 11.8138 4.80118 11.5377L6.9974 10.2697L4.9974 9.11498L3.80118 9.80561C3.32289 10.0818 3.15902 10.6933 3.43516 11.1716Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconWinterSport = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 25 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M9 5.99989C9 5.4476 9.44771 4.99989 10 4.99989H11V8.99989H9V5.99989Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 4.99989H15V6.99989H11V4.99989Z\" fill=\"currentColor\"/>\r\n<path d=\"M15 4.99989H16C16.5523 4.99989 17 5.4476 17 5.99989V8.99989H15V4.99989Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 2.99989H14V4.99989H12V2.99989Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M0.8356 5.01349C0.744805 4.46872 1.11283 3.95349 1.6576 3.8627L23.6848 0.191496C24.2296 0.100702 24.7448 0.468721 24.8356 1.01349C24.9264 1.55826 24.5584 2.07349 24.0136 2.16428L1.98639 5.83549C1.44162 5.92628 0.926396 5.55826 0.8356 5.01349Z\" fill=\"currentColor\"/>\r\n<path d=\"M15 16.9999C14.4477 16.9999 14 17.4476 14 17.9999C14 18.5522 14.4477 18.9999 15 18.9999H17C17.5523 18.9999 18 18.5522 18 17.9999C18 17.4476 17.5523 16.9999 17 16.9999H15Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M5 8.99989C4.44771 8.99989 4 9.4476 4 9.99989V21.9999C4 22.5522 4.44772 22.9999 5 22.9999H21C21.5523 22.9999 22 22.5522 22 21.9999V9.99989C22 9.4476 21.5523 8.99989 21 8.99989H5ZM7 10.9999C6.44771 10.9999 6 11.4476 6 11.9999V12.9999C6 13.5522 6.44771 13.9999 7 13.9999H8C8.55228 13.9999 9 13.5522 9 12.9999V11.9999C9 11.4476 8.55228 10.9999 8 10.9999H7ZM11 11.9999C11 11.4476 11.4477 10.9999 12 10.9999H14C14.5523 10.9999 15 11.4476 15 11.9999V12.9999C15 13.5522 14.5523 13.9999 14 13.9999H12C11.4477 13.9999 11 13.5522 11 12.9999V11.9999ZM18 10.9999C17.4477 10.9999 17 11.4476 17 11.9999V12.9999C17 13.5522 17.4477 13.9999 18 13.9999H19C19.5523 13.9999 20 13.5522 20 12.9999V11.9999C20 11.4476 19.5523 10.9999 19 10.9999H18ZM6 16.9999C6 16.4476 6.44771 15.9999 7 15.9999H19C19.5523 15.9999 20 16.4476 20 16.9999V19.9999C20 20.5522 19.5523 20.9999 19 20.9999H7C6.44771 20.9999 6 20.5522 6 19.9999V16.9999Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconHotel = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M6 3C5.44772 3 5 3.44772 5 4V20C5 20.5523 5.44772 21 6 21H11V17.5H13V21H18C18.5523 21 19 20.5523 19 20V4C19 3.44772 18.5523 3 18 3H6ZM7 5H9V7H7V5ZM11 5H13V7H11V5ZM15 5H17V7H15V5ZM7 9H9V11H7V9ZM11 9H13V11H11V9ZM15 9H17V11H15V9ZM7 13H9V15H7V13ZM11 13H13V15H11V13ZM15 13H17V15H15V13ZM7 17H9V19H7V17ZM15 17H17V19H15V17Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconQuestion = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z\" fill=\"currentColor\"/>\r\n<path d=\"M15 9.80216C15 10.707 14.6809 11.4407 14.0427 12.0034C13.4045 12.5661 12.5535 12.8879 11.4899 12.9689L11.4482 13.8872H10.8308V11.2606C11.5014 11.2066 12.0263 11.0018 12.4055 10.6462C12.7848 10.2861 12.9744 9.79766 12.9744 9.18096C12.9744 8.6903 12.8403 8.29867 12.572 8.00608C12.3084 7.70898 11.9523 7.56043 11.5037 7.56043C11.3141 7.56043 11.1453 7.58069 10.9973 7.6212C10.8493 7.65721 10.706 7.71573 10.5672 7.79676C10.6135 7.94081 10.6667 8.12762 10.7268 8.35719C10.7915 8.58226 10.8239 8.79158 10.8239 8.98515C10.8239 9.30025 10.7175 9.54558 10.5048 9.72113C10.2967 9.89219 10.0053 9.97772 9.63074 9.97772C9.27926 9.97772 9.00178 9.86968 8.79829 9.65361C8.59943 9.43754 8.5 9.17196 8.5 8.85685C8.5 8.33919 8.80292 7.90029 9.40875 7.54018C10.0146 7.18006 10.7453 7 11.6009 7C12.6137 7 13.4322 7.25658 14.0566 7.76975C14.6855 8.28292 15 8.96039 15 9.80216ZM12.5027 15.7508C12.5027 16.093 12.3686 16.3878 12.1003 16.6354C11.8367 16.8785 11.5269 17 11.1708 17C10.81 17 10.4956 16.8785 10.2273 16.6354C9.96371 16.3878 9.83191 16.093 9.83191 15.7508C9.83191 15.4087 9.96371 15.1139 10.2273 14.8663C10.4956 14.6142 10.81 14.4882 11.1708 14.4882C11.5269 14.4882 11.8367 14.6142 12.1003 14.8663C12.3686 15.1139 12.5027 15.4087 12.5027 15.7508Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconBlog = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M3 5C3 3.89543 3.89543 3 5 3H19C20.1046 3 21 3.89543 21 5V17C21 18.1046 20.1046 19 19 19H15.3593L13.2728 20.73C12.5338 21.3397 11.4662 21.3397 10.7272 20.73L8.64074 19H5C3.89543 19 3 18.1046 3 17V5ZM19 5L5 5V17H8.64074C9.10522 17 9.55522 17.2867 9.91351 17.5823L12 19.18L14.0865 17.5823C14.4448 17.2867 14.8948 17 15.3593 17H19V5Z\" fill=\"currentColor\"/>\r\n<path d=\"M15.5646 8.84724C15.9551 8.45672 15.9551 7.82355 15.5646 7.43303C15.1741 7.04251 14.5409 7.04251 14.1504 7.43303L13.4433 8.14014L14.8575 9.55435L15.5646 8.84724Z\" fill=\"currentColor\"/>\r\n<path d=\"M14.1504 10.2615L12.7362 8.84724L8.49355 13.0899L8.14 14.8577L9.90777 14.5041L14.1504 10.2615Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPhoto = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path 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\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" 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\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconParty = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M6.375 6.375C7.30698 6.375 8.0625 5.61948 8.0625 4.6875C8.0625 3.75552 7.30698 3 6.375 3C5.44302 3 4.6875 3.75552 4.6875 4.6875C4.6875 5.61948 5.44302 6.375 6.375 6.375Z\" fill=\"currentColor\"/>\r\n<path d=\"M3 8.625C3 8.00368 3.50368 7.5 4.125 7.5H8.875C9.49632 7.5 10 8.00368 10 8.625V14H8V21H5V14H3V8.625Z\" fill=\"currentColor\"/>\r\n<path d=\"M16.5 6.375C17.432 6.375 18.1875 5.61948 18.1875 4.6875C18.1875 3.75552 17.432 3 16.5 3C15.568 3 14.8125 3.75552 14.8125 4.6875C14.8125 5.61948 15.568 6.375 16.5 6.375Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 16.4999L15.4865 8.14034C15.8956 7.29156 17.1044 7.29156 17.5135 8.14034L21 16.4999H12Z\" fill=\"currentColor\"/>\r\n<path d=\"M15 20.9999V16.4999H18V20.9999H15Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPlane = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 3C13 3 13.5 3.87868 13.5 4.5V8.99987L21 13.5V15.5L13.5 12.9374V18L16 19V21L12 19.9999L8 21V19L10.5 17.9999V12.9375L3 15.5V13.5L10.5 9V4.5C10.5 3.87868 11 3 12 3Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconFavorite = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8 5.00079C5.79086 5.00079 4 6.79236 4 9.00237C4 10.2291 4.75819 11.3473 5.70858 12.298L5.71965 12.3091L12 18.9985L18.2803 12.3091L18.2914 12.298C19.2418 11.3473 20 10.2291 20 9.00237C20 6.79236 18.2091 5.00079 16 5.00079C14.6922 5.00079 13.531 5.62763 12.7995 6.60161L12 7.66615L11.2005 6.60161C10.469 5.62764 9.30784 5.00079 8 5.00079ZM2 9.00237C2 5.68735 4.68629 3 8 3C9.53707 3 10.9392 3.57886 12 4.52852C13.0608 3.57886 14.4629 3 16 3C19.3137 3 22 5.68735 22 9.00237C22 11.0426 20.7671 12.6483 19.7169 13.7015L13.4253 20.4029L13.4142 20.414C12.6332 21.1953 11.3668 21.1953 10.5858 20.414L10.5747 20.4029L4.28307 13.7015C3.23295 12.6483 2 11.0426 2 9.00237Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconBus = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 3C8.8428 3 6.61221 3.22199 4.8218 5.01897C4.23405 5.60888 4 6.44748 4 7.28021V16.9999C4 17.5522 4.44772 17.9999 5 17.9999V18.9999C5 19.5522 5.44772 19.9999 6 19.9999H7C7.55228 19.9999 8 19.5522 8 18.9999V17.9999H16V18.9999C16 19.5522 16.4477 19.9999 17 19.9999H18C18.5523 19.9999 19 19.5522 19 18.9999V17.9999C19.5523 17.9999 20 17.5522 20 16.9999V7.28019C20 6.44747 19.766 5.60888 19.1782 5.01897C17.3878 3.22194 15.1573 3 12 3ZM16.5079 12.9999C16.5053 12.9999 16.5026 12.9999 16.5 12.9999C16.4974 12.9999 16.4947 12.9999 16.4921 12.9999C15.6673 13.0042 15 13.6741 15 14.4999C15 15.3283 15.6716 15.9999 16.5 15.9999C17.3284 15.9999 18 15.3283 18 14.4999C18 13.6741 17.3327 13.0042 16.5079 12.9999ZM7.48504 13L7.51495 13C8.33649 13.008 9 13.6765 9 14.4999C9 15.3283 8.32843 15.9999 7.5 15.9999C6.67157 15.9999 6 15.3283 6 14.4999C6 13.6765 6.6635 13.008 7.48504 13ZM6 7.99991C6 7.44762 6.44772 6.99991 7 6.99991H17C17.5523 6.99991 18 7.44762 18 7.99991V9.99991H6V7.99991Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrival = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <rect x=\"4\" y=\"16\" rx=\"1\" fill=\"currentColor\"/>\r\n<path d=\"M19.5972 14.547C19.8207 13.8116 19.3894 12.9863 18.6339 12.7037L15.442 11.5099L12.7478 5.29894C12.5391 4.81804 11.843 4.90786 11.8383 5.41629L11.7941 10.1455L4.41283 7.18325L9.1123 11.8827L17.8246 15.367C18.5801 15.6496 19.3737 15.2825 19.5972 14.547Z\" fill=\"currentColor\"/>\r\n<path d=\"M4.78853 6.35424L5.73216 3.24888C5.87157 2.79011 6.54707 2.86757 6.65258 3.35442L7.52444 7.37752L4.78853 6.35424Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconDeparture = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <rect x=\"4\" y=\"16\" rx=\"1\" fill=\"currentColor\"/>\r\n<path d=\"M20.8468 7.73554C20.4848 7.05748 19.5963 6.77889 18.8623 7.1133L15.7611 8.52615L9.46416 6.03945C8.9766 5.84691 8.54787 6.40266 8.90403 6.76553L12.2169 10.1408L4.90289 13.2655H11.5489L20.1732 9.56879C20.9073 9.23438 21.2088 8.41361 20.8468 7.73554Z\" fill=\"currentColor\"/>\r\n<path d=\"M4.58234 12.4137L3.05377 9.55061C2.82795 9.12764 3.36037 8.70476 3.77923 8.97441L7.2405 11.2027L4.58234 12.4137Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M7.77482 4.00009C6.91396 4.00009 6.14968 4.55095 5.87745 5.36764L4.20527 10.3842C4.06931 10.7921 4 11.2192 4 11.6491V17C4 17.5523 4.44772 18 5 18V19C5 19.5523 5.44772 20 6 20H7C7.55228 20 8 19.5523 8 19V18H16V19C16 19.5523 16.4477 20 17 20H18C18.5523 20 19 19.5523 19 19V18C19.5523 18 20 17.5523 20 17V11.6491C20 11.2192 19.9307 10.7921 19.7947 10.3842L18.1225 5.36754C17.8503 4.55086 17.086 4 16.2251 4L7.77482 4.00009ZM16.5079 12C16.5053 12 16.5026 12 16.5 12C16.4974 12 16.4947 12 16.4921 12C15.6673 12.0043 15 12.6742 15 13.5C15 14.3284 15.6716 15 16.5 15C17.3284 15 18 14.3284 18 13.5C18 12.6742 17.3327 12.0043 16.5079 12ZM7.48504 12.0001L7.51495 12.0001C8.33649 12.0081 9 12.6766 9 13.5C9 14.3284 8.32843 15 7.5 15C6.67157 15 6 14.3284 6 13.5C6 12.6766 6.6635 12.0081 7.48504 12.0001ZM7.5469 6.68386C7.68301 6.27552 8.06515 6.00009 8.49557 6.00009L15.5044 6.00001C15.9348 6 16.317 6.27543 16.4531 6.68378L17.5585 10L6.44149 10.0001L7.5469 6.68386Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconFood = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M11 10H10V4H8V10H7V4H5V9.6C5 11.296 6.37444 12.672 8 12.776V20H10V12.776C11.6256 12.672 13 11.296 13 9.6V4H11V10ZM15 7.2V13.6H17V20H19V4C16.8533 4 15 5.792 15 7.2Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrowDown = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 4C11.4477 4 11 4.44772 11 5V16.6037L5.69208 11.2906C5.30499 10.9031 4.6774 10.9031 4.29031 11.2906C3.90323 11.6781 3.90323 12.3063 4.29031 12.6937L11.2417 19.6519C11.4244 19.8643 11.695 19.9991 11.997 20L12 20L12.003 20C12.305 19.9991 12.5756 19.8643 12.7583 19.6519L19.7097 12.6937C20.0968 12.3063 20.0968 11.6781 19.7097 11.2906C19.3226 10.9031 18.695 10.9031 18.3079 11.2906L13 16.6037V5C13 4.44772 12.5523 4 12 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrowUp = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 20C12.5523 20 13 19.5523 13 19L13 7.39628L18.3079 12.7094C18.695 13.0969 19.3226 13.0969 19.7097 12.7094C20.0968 12.3219 20.0968 11.6937 19.7097 11.3063L12.7583 4.34812C12.5756 4.13567 12.305 4.00088 12.003 4L12 4L11.997 4C11.695 4.00088 11.4244 4.13567 11.2417 4.34812L4.29031 11.3063C3.90323 11.6937 3.90323 12.3219 4.29031 12.7094C4.6774 13.0969 5.30499 13.0969 5.69208 12.7094L11 7.39628L11 19C11 19.5523 11.4477 20 12 20Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrowLeft = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M20 12C20 11.4477 19.5523 11 19 11L7.39628 11L12.7094 5.69207C13.0969 5.30499 13.0969 4.6774 12.7094 4.29031C12.3219 3.90323 11.6937 3.90323 11.3063 4.29031L4.34811 11.2417C4.13567 11.4244 4.00088 11.695 4 11.997L4 12L4 12.003C4.00088 12.305 4.13567 12.5756 4.34812 12.7583L11.3063 19.7097C11.6937 20.0968 12.3219 20.0968 12.7094 19.7097C13.0969 19.3226 13.0969 18.695 12.7094 18.3079L7.39628 13L19 13C19.5523 13 20 12.5523 20 12Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrowRight = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M4 12C4 12.5523 4.44772 13 5 13H16.6037L11.2906 18.3079C10.9031 18.695 10.9031 19.3226 11.2906 19.7097C11.6781 20.0968 12.3063 20.0968 12.6937 19.7097L19.6519 12.7583C19.8643 12.5756 19.9991 12.305 20 12.003L20 12L20 11.997C19.9991 11.695 19.8643 11.4244 19.6519 11.2417L12.6937 4.29031C12.3063 3.90323 11.6781 3.90323 11.2906 4.29031C10.9031 4.6774 10.9031 5.30499 11.2906 5.69208L16.6037 11L5 11C4.44772 11 4 11.4477 4 12Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconChevronRight = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M9.73301 8.00008L9.06882 8.66675L5.52674 12.2054C5.26843 12.4634 5.26843 12.8818 5.52674 13.1399C5.78505 13.3979 6.20385 13.3979 6.46216 13.1399L11.1009 8.50564C11.2426 8.38378 11.3324 8.20342 11.333 8.00206L11.333 8.00008L11.333 7.9981C11.3324 7.79674 11.2426 7.61638 11.1009 7.49451L6.46216 2.86029C6.20385 2.60223 5.78505 2.60223 5.52674 2.86029C5.26843 3.11835 5.26843 3.53674 5.52674 3.7948L9.06882 7.33341L9.73301 8.00008Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPhone = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M8.57441 15.2413C9.77019 16.437 11.1162 17.3944 12.5552 18.1135L14.7516 15.9209C15.0042 15.6688 15.3721 15.5703 15.7169 15.6627L20.1576 16.8526C20.6207 16.9767 20.9305 17.412 20.8962 17.8901L20.7479 19.9553C20.9645 20.131 21.1067 20.3959 21.1174 20.6965C21.1309 21.0739 20.9333 21.41 20.6305 21.591L20.578 21.6203C20.4506 21.6864 20.3067 21.726 20.1537 21.7314C15.4498 21.8989 10.7185 20.2138 7.16019 16.6555C3.63713 13.1324 1.95028 8.45948 2.0798 3.8018C2.08527 3.60534 2.14704 3.42369 2.24923 3.27189L2.26386 3.25073C2.45067 2.98806 2.76081 2.82035 3.10721 2.82998C3.38259 2.83764 3.62887 2.95593 3.80465 3.1411L5.99252 2.98542C6.47048 2.95141 6.9054 3.26123 7.02942 3.72408L8.21929 8.16472C8.31175 8.50981 8.21309 8.87802 7.96048 9.13064L5.74519 11.346C6.45933 12.7528 7.40233 14.0692 8.57441 15.2413Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSupport = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M3 5C3 3.89543 3.89543 3 5 3H19C20.1046 3 21 3.89543 21 5V17C21 18.1046 20.1046 19 19 19H15.3593L13.2728 20.73C12.5338 21.3397 11.4662 21.3397 10.7272 20.73L8.64074 19H5C3.89543 19 3 18.1046 3 17V5ZM19 5L5 5V17H8.64074C9.10522 17 9.55522 17.2867 9.91351 17.5823L12 19.18L14.0865 17.5823C14.4448 17.2867 14.8948 17 15.3593 17H19V5Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 11C13.1 11 14 10.1 14 9C14 7.9 13.1 7 12 7C10.9 7 10 7.9 10 9C10 10.1 10.9 11 12 11ZM16 14.43C16 13.62 15.52 12.9 14.78 12.58C13.93 12.21 12.99 12 12 12C11.01 12 10.07 12.21 9.22 12.58C8.48 12.9 8 13.62 8 14.43V15H16V14.43Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCancel = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M4.29289 5.70711C3.90237 5.31658 3.90237 4.68342 4.29289 4.29289C4.68342 3.90237 5.31658 3.90237 5.70711 4.29289L12 10.5858L18.2929 4.29289C18.6834 3.90237 19.3166 3.90237 19.7071 4.29289C20.0976 4.68342 20.0976 5.31658 19.7071 5.70711L13.4142 12L19.7071 18.2929C20.0976 18.6834 20.0976 19.3166 19.7071 19.7071C19.3166 20.0976 18.6834 20.0976 18.2929 19.7071L12 13.4142L5.70711 19.7071C5.31658 20.0976 4.68342 20.0976 4.29289 19.7071C3.90237 19.3166 3.90237 18.6834 4.29289 18.2929L10.5858 12L4.29289 5.70711Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconUser = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM7.07 18.28C7.5 17.38 10.12 16.5 12 16.5C13.88 16.5 16.51 17.38 16.93 18.28C15.57 19.36 13.86 20 12 20C10.14 20 8.43 19.36 7.07 18.28ZM18.36 16.83C16.93 15.09 13.46 14.5 12 14.5C10.54 14.5 7.07 15.09 5.64 16.83C4.62 15.49 4 13.82 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 13.82 19.38 15.49 18.36 16.83ZM12 6C10.06 6 8.5 7.56 8.5 9.5C8.5 11.44 10.06 13 12 13C13.94 13 15.5 11.44 15.5 9.5C15.5 7.56 13.94 6 12 6ZM12 11C11.17 11 10.5 10.33 10.5 9.5C10.5 8.67 11.17 8 12 8C12.83 8 13.5 8.67 13.5 9.5C13.5 10.33 12.83 11 12 11Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconMail = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M3 19.9997V11.7881L10.7598 17.9215C11.4868 18.4961 12.5132 18.4961 13.2402 17.9215L21 11.7881V19.9997C21 20.552 20.5523 20.9997 20 20.9997H4C3.44772 20.9997 3 20.552 3 19.9997Z\" fill=\"currentColor\"/>\r\n<path d=\"M3.82902 8.40099C3.50103 8.63787 3.25727 8.9649 3.12179 9.33505L7 12.4004V6.99976H17V12.4004L20.8782 9.33505C20.7427 8.9649 20.499 8.63787 20.171 8.40099L19 7.55529V6.99973C19 5.89516 18.1046 4.99973 17 4.99973H15.4615L13.171 3.34544C12.472 2.84058 11.528 2.84058 10.829 3.34544L8.53846 4.99973H7C5.89543 4.99973 5 5.89516 5 6.99973V7.55529L3.82902 8.40099Z\" fill=\"currentColor\"/>\r\n<path d=\"M8 9.99976C8 9.44747 8.44772 8.99976 9 8.99976H15C15.5523 8.99976 16 9.44747 16 9.99976C16 10.552 15.5523 10.9998 15 10.9998H9C8.44772 10.9998 8 10.552 8 9.99976Z\" fill=\"currentColor\"/>\r\n<path d=\"M9 11.9998C8.44772 11.9998 8 12.4475 8 12.9998C8 13.552 8.44772 13.9998 9 13.9998H15C15.5523 13.9998 16 13.552 16 12.9998C16 12.4475 15.5523 11.9998 15 11.9998H9Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconHouse = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M22 5C22 3.346 20.654 2 19 2H5C3.346 2 2 3.346 2 5V7.831C2 8.884 2.382 9.841 3 10.577V20C3 21.103 3.897 22 5 22H19C20.103 22 21 21.103 21 20V10.576C21.618 9.841 22 8.884 22 7.83V5ZM20 5V7.831C20 8.971 19.151 9.943 18.109 9.998L18 10C16.897 10 16 9.103 16 8V4H19C19.552 4 20 4.449 20 5ZM10 4H14V8C14 9.103 13.103 10 12 10C10.897 10 10 9.103 10 8V4ZM4 5C4 4.449 4.448 4 5 4H8V8C8 9.103 7.103 10 6 10L5.891 9.997C4.849 9.943 4 8.971 4 7.831V5ZM10 20V17H14V20H10ZM16 20V17C16 15.897 15.103 15 14 15H10C8.897 15 8 15.897 8 17V20H5V11.869C5.254 11.936 5.517 11.98 5.787 11.994C6.38989 12.0267 6.99233 11.9221 7.54891 11.6881C8.10548 11.4541 8.60165 11.0967 9 10.643C9.733 11.475 10.807 12 12 12C13.193 12 14.267 11.475 15 10.643C15.3983 11.0967 15.8945 11.4541 16.4511 11.6881C17.0077 11.9221 17.6101 12.0267 18.213 11.994C18.484 11.98 18.746 11.936 19 11.869V20H16Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconBed = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M3.33332 4.16659C3.33332 3.70635 3.70642 3.33325 4.16666 3.33325H15.8333C16.2936 3.33325 16.6667 3.70635 16.6667 4.16659V9.08413C16.199 8.93469 15.6472 8.79276 15 8.67334V7.49992C15 7.49992 14.5833 6.66659 12.9167 6.66659C11.25 6.66659 10.8333 7.49992 10.8333 7.49992V8.33325H9.16666V7.49992C9.16666 7.49992 8.74999 6.66659 7.08332 6.66659C5.41666 6.66659 4.99999 7.49992 4.99999 7.49992V8.67334C4.35283 8.79276 3.80103 8.9347 3.33332 9.08413V4.16659Z\" fill=\"currentColor\"/>\r\n<path d=\"M9.99999 9.16658C5.46016 9.16658 2.61068 10.1761 1.93977 10.6237C1.75592 10.7464 1.66666 10.9574 1.66666 11.1784V14.9999H3.33332V13.3333C3.33332 12.873 3.70642 12.4999 4.16666 12.4999H15.8333C16.2936 12.4999 16.6667 12.873 16.6667 13.3333V14.9999H18.3333V11.1784C18.3333 10.9574 18.2441 10.7464 18.0602 10.6237C17.3893 10.1761 14.5398 9.16658 9.99999 9.16658Z\" fill=\"currentColor\"/>\r\n<path d=\"M4.16666 14.1666C4.16666 13.7063 4.53975 13.3333 4.99999 13.3333H15C15.4602 13.3333 15.8333 13.7063 15.8333 14.1666V16.6666H14.1667V15.8333C14.1667 15.373 13.7936 14.9999 13.3333 14.9999H6.66666C6.20642 14.9999 5.83332 15.373 5.83332 15.8333V16.6666H4.16666V14.1666Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconDollar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M17.9102 13.6071L17.8962 13.5589C17.4062 10.6661 15.2783 10.0393 12.2406 9.95893C10.2667 9.89464 9.88873 9.66964 9.77674 9.075L9.76274 9.02678C9.66475 8.46428 10.0707 8.03036 10.8547 7.85357C12.0446 7.58036 13.4025 7.82143 14.7044 8.49643L14.7464 8.52857L16.0903 5.10536L16.0483 5.07321C14.7184 4.26964 13.3045 3.94821 11.7086 4.07679L11.5266 3L8.61482 3.65893L8.81081 4.83214C6.73896 5.86071 5.68903 7.95 6.081 10.2643L6.095 10.3125C6.64096 13.4786 9.11879 13.8161 11.8346 13.9125C13.7804 14.0089 14.1444 14.25 14.2424 14.8125L14.2564 14.8607C14.3684 15.4875 13.9064 15.9375 12.9685 16.1464C11.4986 16.4839 10.0007 16.1946 8.48883 15.3107L8.44684 15.2786L6.87895 18.5732L6.92094 18.6054C8.29284 19.5375 9.93073 19.9875 11.6666 19.9393L11.8486 21L14.7604 20.3411L14.5924 19.3607C17.1122 18.3804 18.3581 16.2268 17.9102 13.6071Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCheck = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M20.7071 7.70711C21.0976 7.31658 21.0976 6.68342 20.7071 6.29289C20.3166 5.90237 19.6834 5.90237 19.2929 6.29289L9.92579 15.66L5.6247 12.2191C5.19344 11.8741 4.56415 11.944 4.21914 12.3753C3.87413 12.8066 3.94405 13.4359 4.37531 13.7809L9.36588 17.7733C9.56478 17.9368 9.81202 18.0119 10.0553 17.9985C10.2017 17.9904 10.3467 17.9503 10.4788 17.8782C10.5647 17.8315 10.6447 17.7715 10.7157 17.6986L20.7071 7.70711Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSuccess = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M16.7682 9.64021C17.1218 9.21593 17.0645 8.58537 16.6402 8.2318C16.2159 7.87824 15.5853 7.93556 15.2318 8.35984L10.9328 13.5186L8.70711 11.2929C8.31658 10.9024 7.68342 10.9024 7.29289 11.2929C6.90237 11.6834 6.90237 12.3166 7.29289 12.7071L10.2929 15.7071C10.4916 15.9058 10.7646 16.0117 11.0453 15.999C11.326 15.9863 11.5884 15.856 11.7682 15.6402L16.7682 9.64021Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTemperature = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2C10.3431 2 9 3.34315 9 5V12.9996C7.78555 13.9118 7 15.3642 7 17C7 19.7614 9.23858 22 12 22C14.7614 22 17 19.7614 17 17C17 15.3642 16.2144 13.9118 15 12.9996V5C15 3.34315 13.6569 2 12 2ZM12 4C11.4477 4 11 4.44772 11 5V10H13V5C13 4.44772 12.5523 4 12 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPlus = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M19 13H13V19C13 19.55 12.55 20 12 20C11.45 20 11 19.55 11 19V13H5C4.45 13 4 12.55 4 12C4 11.45 4.45 11 5 11H11V5C11 4.45 11.45 4 12 4C12.55 4 13 4.45 13 5V11H19C19.55 11 20 11.45 20 12C20 12.55 19.55 13 19 13Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconMinus = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M19 13H5C4.45 13 4 12.55 4 12C4 11.45 4.45 11 5 11C14.0226 11 10.5939 11 19 11C19.55 11 20 11.45 20 12C20 12.55 19.55 13 19 13Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconExpand = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 448 512\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconFilter = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M15 10C16.3062 10 17.4175 9.16519 17.8293 8H19C19.5523 8 20 7.55228 20 7C20 6.44772 19.5523 6 19 6H17.8293C17.4175 4.83481 16.3062 4 15 4C13.6938 4 12.5825 4.83481 12.1707 6H5C4.44772 6 4 6.44772 4 7C4 7.55228 4.44772 8 5 8H12.1707C12.5825 9.16519 13.6938 10 15 10ZM15 8C14.4477 8 14 7.55228 14 7C14 6.44772 14.4477 6 15 6C15.5523 6 16 6.44772 16 7C16 7.55228 15.5523 8 15 8ZM9 20C7.69378 20 6.58254 19.1652 6.17071 18H5C4.44771 18 4 17.5523 4 17C4 16.4477 4.44771 16 5 16H6.17071C6.58254 14.8348 7.69378 14 9 14C10.3062 14 11.4175 14.8348 11.8293 16H19C19.5523 16 20 16.4477 20 17C20 17.5523 19.5523 18 19 18H11.8293C11.4175 19.1652 10.3062 20 9 20ZM9 18C9.55228 18 10 17.5523 10 17C10 16.4477 9.55228 16 9 16C8.44772 16 8 16.4477 8 17C8 17.5523 8.44772 18 9 18Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconBeach = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M5.27258 9.92948C6.41612 5.66175 10.8028 3.12909 15.0705 4.27263C19.3383 5.41616 21.8709 9.80286 20.7274 14.0706C21.1562 12.4702 20.2065 10.8252 18.6061 10.3963C17.5981 10.1263 16.5725 10.403 15.8442 11.0447C15.5342 10.1248 14.7844 9.37233 13.7764 9.10225C12.7685 8.83218 11.7429 9.10891 11.0145 9.75061C10.7046 8.8307 9.95475 8.07823 8.94682 7.80816C7.34642 7.37933 5.70141 8.32908 5.27258 9.92948Z\" fill=\"currentColor\"/>\r\n<path d=\"M12.0341 11.7412C12.177 11.2077 12.7253 10.8912 13.2588 11.0341C13.7923 11.177 14.1089 11.7254 13.9659 12.2589L12.6653 17.1128C16.6586 17.6586 19 20 19 20H3C3 20 5.84976 17.1502 10.6235 17.0057L12.0341 11.7412Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTransfer = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 3C8.8428 3 6.61221 3.22199 4.8218 5.01897C4.23405 5.60888 4 6.44748 4 7.28021V16.9999C4 17.5522 4.44772 17.9999 5 17.9999V18.9999C5 19.5522 5.44772 19.9999 6 19.9999H7C7.55228 19.9999 8 19.5522 8 18.9999V17.9999H16V18.9999C16 19.5522 16.4477 19.9999 17 19.9999H18C18.5523 19.9999 19 19.5522 19 18.9999V17.9999C19.5523 17.9999 20 17.5522 20 16.9999V7.28019C20 6.44747 19.766 5.60888 19.1782 5.01897C17.3878 3.22194 15.1573 3 12 3ZM16.5079 12.9999C16.5053 12.9999 16.5026 12.9999 16.5 12.9999C16.4974 12.9999 16.4947 12.9999 16.4921 12.9999C15.6673 13.0042 15 13.6741 15 14.4999C15 15.3283 15.6716 15.9999 16.5 15.9999C17.3284 15.9999 18 15.3283 18 14.4999C18 13.6741 17.3327 13.0042 16.5079 12.9999ZM7.48504 13L7.51495 13C8.33649 13.008 9 13.6765 9 14.4999C9 15.3283 8.32843 15.9999 7.5 15.9999C6.67157 15.9999 6 15.3283 6 14.4999C6 13.6765 6.6635 13.008 7.48504 13ZM6 7.99991C6 7.44762 6.44772 6.99991 7 6.99991H17C17.5523 6.99991 18 7.44762 18 7.99991V9.99991H6V7.99991Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconDelete = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M15 9C15.5523 9 16 9.44772 16 10V19H8V10C8 9.44772 8.44772 9 9 9H15ZM15 3.5C14.6799 3.17986 14.2456 3 13.7929 3H10.2071C9.75435 3 9.32014 3.17986 9 3.5C8.67986 3.82014 8.24565 4 7.79289 4H6C5.44772 4 5 4.44772 5 5C5 5.55228 5.44772 6 6 6H18C18.5523 6 19 5.55228 19 5C19 4.44772 18.5523 4 18 4H16.2071C15.7544 4 15.3201 3.82014 15 3.5ZM18 8C18 7.44771 17.5523 7 17 7H7C6.44772 7 6 7.44772 6 8V19C6 20.1 6.9 21 8 21H16C17.1 21 18 20.1 18 19V8ZM9 11C9 10.4477 9.44772 10 10 10C10.5523 10 11 10.4477 11 11V17C11 17.5523 10.5523 18 10 18C9.44772 18 9 17.5523 9 17V11ZM14 10C13.4477 10 13 10.4477 13 11V17C13 17.5523 13.4477 18 14 18C14.5523 18 15 17.5523 15 17V11C15 10.4477 14.5523 10 14 10Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconView = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 22 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M21.8188 9.22895C22.0408 8.91228 22.0603 8.49597 21.8689 8.15992C19.0235 3.16492 15.1306 0.297286 11.0172 0.226384C6.8801 0.155072 2.97071 2.91659 0.120686 8.17883C-0.0598156 8.5121 -0.0363896 8.91878 0.181189 9.22913C3.07998 13.3638 6.98736 15.5388 11 15.5388C15.0127 15.5387 18.92 13.3637 21.8188 9.22895ZM11 13.5388C7.91269 13.5388 4.72965 11.9495 2.1852 8.58427C4.78354 4.08408 7.98851 2.17447 10.9828 2.22609C13.9925 2.27796 17.2053 4.31472 19.8055 8.59635C17.2626 11.9533 14.0836 13.5387 11 13.5388ZM12 7.99998C12 8.55226 11.5523 8.99998 11 8.99998C10.4477 8.99998 10 8.55226 10 7.99998C10 7.44769 10.4477 6.99998 11 6.99998C11.5523 6.99998 12 7.44769 12 7.99998ZM14 7.99998C14 9.65683 12.6569 11 11 11C9.34315 11 8 9.65683 8 7.99998C8 6.34312 9.34315 4.99998 11 4.99998C12.6569 4.99998 14 6.34312 14 7.99998Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconWarning = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 8C11.4477 8 11 8.44772 11 9V14C11 14.5523 11.4477 15 12 15C12.5523 15 13 14.5523 13 14V9C13 8.44772 12.5523 8 12 8Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 16C11.4477 16 11 16.4477 11 17C11 17.5523 11.4477 18 12 18C12.5523 18 13 17.5523 13 17C13 16.4477 12.5523 16 12 16Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M4.61804 22.0001H19.382C21.6121 22.0001 23.0626 19.6532 22.0653 17.6585L14.6833 3.66031C13.5777 1.44916 10.4223 1.44917 9.31672 3.66031L1.93476 17.6585C0.937403 19.6532 2.38789 22.0001 4.61804 22.0001ZM11.1056 4.56C11.4741 3.82295 12.5259 3.82295 12.8944 4.56L20.2764 18.5529C20.6088 19.2178 20.1254 20.0001 19.382 20.0001H4.61804C3.87466 20.0001 3.39116 19.2178 3.72361 18.5529L11.1056 4.56Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconFacebook = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M20 12.0489C20 7.60361 16.4183 4 12 4C7.58172 4 4 7.60361 4 12.0489C4 16.0663 6.92547 19.3962 10.75 20V14.3755H8.71875V12.0489H10.75V10.2756C10.75 8.25837 11.9444 7.1441 13.7717 7.1441C14.647 7.1441 15.5625 7.3013 15.5625 7.3013V9.28208H14.5538C13.56 9.28208 13.25 9.90257 13.25 10.5391V12.0489H15.4688L15.1141 14.3755H13.25V20C17.0745 19.3962 20 16.0663 20 12.0489Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTwitter = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M22 5.88235C21.2639 6.21176 20.4704 6.42824 19.6482 6.53176C20.4895 6.03294 21.1396 5.24235 21.4455 4.29176C20.652 4.76235 19.7725 5.09176 18.8451 5.28C18.0899 4.47059 17.0287 4 15.8241 4C13.5774 4 11.7419 5.80706 11.7419 8.03765C11.7419 8.35765 11.7801 8.66824 11.847 8.96C8.4436 8.79059 5.413 7.18118 3.39579 4.74353C3.04207 5.33647 2.8413 6.03294 2.8413 6.76706C2.8413 8.16941 3.55832 9.41176 4.6673 10.1176C3.98853 10.1176 3.35755 9.92941 2.80306 9.64706V9.67529C2.80306 11.6329 4.21797 13.2706 6.09178 13.6376C5.49018 13.7997 4.8586 13.8223 4.24665 13.7035C4.50632 14.5059 5.01485 15.2079 5.70078 15.711C6.38671 16.2141 7.21553 16.4929 8.07075 16.5082C6.62106 17.6381 4.82409 18.2488 2.97514 18.24C2.6501 18.24 2.32505 18.2212 2 18.1835C3.81644 19.3318 5.97706 20 8.29063 20C15.8241 20 19.9637 13.8447 19.9637 8.50824C19.9637 8.32941 19.9637 8.16 19.9541 7.98118C20.7572 7.41647 21.4455 6.70118 22 5.88235Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconWhatsapp = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M17.6036 6.325C16.1071 4.825 14.1143 4 11.9964 4C7.625 4 4.06786 7.55714 4.06786 11.9286C4.06786 13.325 4.43214 14.6893 5.125 15.8929L4 20L8.20357 18.8964C9.36071 19.5286 10.6643 19.8607 11.9929 19.8607H11.9964C16.3643 19.8607 20 16.3036 20 11.9321C20 9.81429 19.1 7.825 17.6036 6.325ZM11.9964 18.525C10.8107 18.525 9.65 18.2071 8.63929 17.6071L8.4 17.4643L5.90714 18.1179L6.57143 15.6857L6.41429 15.4357C5.75357 14.3857 5.40714 13.175 5.40714 11.9286C5.40714 8.29643 8.36429 5.33929 12 5.33929C13.7607 5.33929 15.4143 6.025 16.6571 7.27143C17.9 8.51786 18.6643 10.1714 18.6607 11.9321C18.6607 15.5679 15.6286 18.525 11.9964 18.525ZM15.6107 13.5893C15.4143 13.4893 14.4393 13.0107 14.2571 12.9464C14.075 12.8786 13.9429 12.8464 13.8107 13.0464C13.6786 13.2464 13.3 13.6893 13.1821 13.825C13.0679 13.9571 12.95 13.975 12.7536 13.875C11.5893 13.2929 10.825 12.8357 10.0571 11.5179C9.85357 11.1679 10.2607 11.1929 10.6393 10.4357C10.7036 10.3036 10.6714 10.1893 10.6214 10.0893C10.5714 9.98929 10.175 9.01429 10.0107 8.61786C9.85 8.23214 9.68571 8.28571 9.56429 8.27857C9.45 8.27143 9.31786 8.27143 9.18571 8.27143C9.05357 8.27143 8.83929 8.32143 8.65714 8.51786C8.475 8.71786 7.96429 9.19643 7.96429 10.1714C7.96429 11.1464 8.675 12.0893 8.77143 12.2214C8.87143 12.3536 10.1679 14.3536 12.1571 15.2143C13.4143 15.7571 13.9071 15.8036 14.5357 15.7107C14.9179 15.6536 15.7071 15.2321 15.8714 14.7679C16.0357 14.3036 16.0357 13.9071 15.9857 13.825C15.9393 13.7357 15.8071 13.6857 15.6107 13.5893Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconInstagram = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.1464 5.44135C14.2825 5.44135 14.5353 5.44961 15.379 5.48803C16.1589 5.5236 16.5825 5.65379 16.8645 5.76335C17.2379 5.90847 17.5043 6.08185 17.7844 6.36161C18.0645 6.64169 18.2379 6.90811 18.3827 7.28155C18.4922 7.56353 18.6224 7.98714 18.658 8.76704C18.6964 9.61045 18.7047 9.86353 18.7047 11.9997C18.7047 14.1358 18.6964 14.3886 18.658 15.2323C18.6224 16.0122 18.4922 16.4358 18.3827 16.7178C18.2376 17.0913 18.0642 17.3577 17.7844 17.6378C17.5043 17.9178 17.2379 18.0912 16.8645 18.236C16.5825 18.3456 16.1589 18.4758 15.379 18.5113C14.5356 18.5498 14.2825 18.558 12.1464 18.558C10.0102 18.558 9.75711 18.5498 8.91371 18.5113C8.13381 18.4758 7.7102 18.3456 7.42821 18.236C7.05478 18.0909 6.78835 17.9175 6.50828 17.6378C6.2282 17.3577 6.05482 17.0913 5.91001 16.7178C5.80046 16.4358 5.67027 16.0122 5.6347 15.2323C5.59628 14.3889 5.58802 14.1358 5.58802 11.9997C5.58802 9.86353 5.59628 9.61076 5.6347 8.76704C5.67027 7.98714 5.80046 7.56353 5.91001 7.28155C6.05513 6.90811 6.22852 6.64169 6.50828 6.36161C6.78835 6.08153 7.05478 5.90815 7.42821 5.76335C7.7102 5.65379 8.13381 5.5236 8.91371 5.48803C9.75743 5.44961 10.0102 5.44135 12.1464 5.44135ZM12.1464 4C9.97368 4 9.70123 4.00921 8.84797 4.04827C7.99663 4.08701 7.41519 4.22228 6.90616 4.42012C6.37999 4.62462 5.93383 4.89803 5.48926 5.34291C5.04469 5.78748 4.77097 6.23364 4.56678 6.7595C4.36895 7.26853 4.23368 7.84996 4.19493 8.70131C4.15588 9.55456 4.14667 9.82702 4.14667 11.9997C4.14667 14.1723 4.15588 14.4448 4.19493 15.2981C4.23368 16.1494 4.36895 16.7308 4.56678 17.2399C4.77129 17.766 5.04469 18.2122 5.48958 18.6568C5.93447 19.1017 6.3803 19.3751 6.90648 19.5796C7.41519 19.7774 7.99694 19.9127 8.84829 19.9514C9.70154 19.9905 9.974 19.9997 12.1467 19.9997C14.3193 19.9997 14.5918 19.9905 15.445 19.9514C16.2964 19.9127 16.8781 19.7774 17.3869 19.5796C17.913 19.3751 18.3592 19.1017 18.8038 18.6568C19.2486 18.2119 19.5221 17.766 19.7266 17.2399C19.9244 16.7312 20.0597 16.1494 20.0984 15.2981C20.1375 14.4448 20.1467 14.1723 20.1467 11.9997C20.1467 9.82702 20.1375 9.55456 20.0984 8.70131C20.0597 7.84996 19.9244 7.26821 19.7266 6.7595C19.5221 6.23332 19.2486 5.78716 18.8038 5.3426C18.3589 4.89771 17.913 4.6243 17.3869 4.4198C16.8775 4.22228 16.2961 4.08701 15.4447 4.04827C14.5915 4.00921 14.319 4 12.1464 4ZM12.1464 7.89185C9.87748 7.89185 8.03856 9.73109 8.03856 11.9997C8.03856 14.2682 9.8778 16.1075 12.1464 16.1075C14.4149 16.1075 16.2542 14.2682 16.2542 11.9997C16.2542 9.73109 14.4153 7.89185 12.1464 7.89185ZM12.1464 14.6661C10.6736 14.6661 9.47991 13.4721 9.47991 11.9997C9.47991 10.5269 10.6739 9.3332 12.1464 9.3332C13.6188 9.3332 14.8128 10.5272 14.8128 11.9997C14.8128 13.4724 13.6192 14.6661 12.1464 14.6661ZM17.3767 7.72943C17.3767 8.25959 16.9469 8.68937 16.4167 8.68937C15.8866 8.68937 15.4568 8.25959 15.4568 7.72943C15.4568 7.19926 15.8866 6.76948 16.4167 6.76948C16.9469 6.76948 17.3767 7.19926 17.3767 7.72943Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTiktok = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M10.4492 10.3005V9.67768C10.2377 9.64917 10.0227 9.63135 9.80062 9.63135C7.15358 9.62784 5 11.8027 5 14.4794C5 16.1204 5.81068 17.5726 7.05137 18.4519C6.25126 17.5869 5.76133 16.4229 5.76133 15.1486C5.76133 12.511 7.855 10.3611 10.4492 10.3005Z\" fill=\"currentColor\"/>\r\n<path d=\"M10.5655 17.3624C11.7463 17.3624 12.712 16.412 12.7544 15.2303L12.7579 4.66919H14.6682C14.6295 4.45206 14.6083 4.22781 14.6083 4H12L11.9965 14.5611C11.9543 15.7428 10.9884 16.6932 9.8077 16.6932C9.44113 16.6932 9.09571 16.6007 8.78906 16.4369C9.18383 16.9957 9.83237 17.3624 10.5655 17.3624Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.2388 8.25353V7.66625C17.5092 7.66625 16.8324 7.4491 16.2614 7.07178C16.769 7.65912 17.4563 8.08628 18.2388 8.25353Z\" fill=\"currentColor\"/>\r\n<path d=\"M16.2615 7.07208C15.7046 6.42783 15.3697 5.58779 15.3697 4.66943H14.6719C14.8516 5.67322 15.4438 6.53463 16.2615 7.07208Z\" fill=\"currentColor\"/>\r\n<path d=\"M9.80411 12.2617C8.59514 12.2617 7.61176 13.2549 7.61176 14.4758C7.61176 15.3265 8.09111 16.0669 8.789 16.4371C8.52817 16.074 8.37309 15.6291 8.37309 15.1449C8.37309 13.924 9.35647 12.9309 10.5655 12.9309C10.791 12.9309 11.0095 12.9701 11.214 13.0342V10.3432C11.0025 10.3147 10.7875 10.2969 10.5655 10.2969C10.5267 10.2969 10.4914 10.3004 10.4526 10.3004V12.365C10.2447 12.3009 10.0297 12.2617 9.80411 12.2617Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.2387 8.25342V10.3001C16.8852 10.3001 15.6304 9.86233 14.6082 9.12193V14.479C14.6082 17.1522 12.4547 19.3306 9.80411 19.3306C8.78195 19.3306 7.83029 19.0031 7.05133 18.4514C7.92897 19.4018 9.18024 19.9998 10.5655 19.9998C13.2125 19.9998 15.3696 17.825 15.3696 15.1482V9.79112C16.3917 10.5315 17.6465 10.9693 19 10.9693V8.33532C18.7357 8.33532 18.4819 8.30681 18.2387 8.25342Z\" fill=\"currentColor\"/>\r\n<path d=\"M14.6082 14.4794V9.12235C15.6304 9.86275 16.8852 10.3005 18.2387 10.3005V8.25384C17.4562 8.08658 16.7689 7.65943 16.2614 7.07208C15.4436 6.53463 14.855 5.67322 14.6682 4.66943H12.7578L12.7543 15.2305C12.712 16.4122 11.7462 17.3626 10.5655 17.3626C9.8323 17.3626 9.18729 16.996 8.78547 16.4407C8.08758 16.067 7.60823 15.3302 7.60823 14.4794C7.60823 13.2585 8.59161 12.2654 9.80058 12.2654C10.0262 12.2654 10.2447 12.3046 10.4491 12.3686V10.3041C7.85496 10.3611 5.76129 12.511 5.76129 15.1486C5.76129 16.4229 6.25122 17.5833 7.05132 18.4519C7.83028 19.0036 8.78195 19.3311 9.80411 19.3311C12.4512 19.3311 14.6082 17.1526 14.6082 14.4794Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPinterest = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12.2182 4C7.79651 4 4.21167 7.57895 4.21167 11.9934C4.21167 15.3816 6.3204 18.2763 9.29897 19.4408C9.22649 18.8092 9.16718 17.8355 9.32533 17.1447C9.47031 16.5197 10.2611 13.1711 10.2611 13.1711C10.2611 13.1711 10.0238 12.6908 10.0238 11.9868C10.0238 10.875 10.6696 10.0461 11.4736 10.0461C12.1589 10.0461 12.4884 10.5592 12.4884 11.1711C12.4884 11.8553 12.0535 12.8816 11.8229 13.8355C11.6318 14.6316 12.2248 15.2829 13.009 15.2829C14.4324 15.2829 15.5263 13.7829 15.5263 11.625C15.5263 9.71053 14.149 8.375 12.1787 8.375C9.89864 8.375 8.56092 10.0789 8.56092 11.8421C8.56092 12.5263 8.82451 13.2632 9.154 13.6645C9.2199 13.7434 9.22649 13.8158 9.20672 13.8947C9.14741 14.1447 9.00902 14.6908 8.98266 14.8026C8.94972 14.9474 8.86405 14.9803 8.71248 14.9079C7.71084 14.4408 7.08481 12.9868 7.08481 11.8092C7.08481 9.28947 8.91677 6.97368 12.3764 6.97368C15.1507 6.97368 17.3121 8.94737 17.3121 11.5921C17.3121 14.3487 15.5724 16.5658 13.1606 16.5658C12.35 16.5658 11.5856 16.1447 11.3286 15.6447C11.3286 15.6447 10.9266 17.1711 10.8278 17.5461C10.6499 18.2434 10.1622 19.1118 9.83275 19.6447C10.584 19.875 11.3748 20 12.2051 20C16.6268 20 20.2116 16.4211 20.2116 12.0066C20.2248 7.57895 16.64 4 12.2182 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconShare = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M14.1667 7.5C15.5474 7.5 16.6667 6.38071 16.6667 5C16.6667 3.61929 15.5474 2.5 14.1667 2.5C12.786 2.5 11.6667 3.61929 11.6667 5C11.6667 5.13524 11.6774 5.26797 11.6981 5.39738L6.67028 8.13982C6.22755 7.74202 5.64204 7.5 5 7.5C3.61929 7.5 2.5 8.61929 2.5 10C2.5 11.3807 3.61929 12.5 5 12.5C5.64197 12.5 6.22742 12.258 6.67012 11.8603L11.698 14.6028C11.6774 14.7322 11.6667 14.8648 11.6667 15C11.6667 16.3807 12.786 17.5 14.1667 17.5C15.5474 17.5 16.6667 16.3807 16.6667 15C16.6667 13.6193 15.5474 12.5 14.1667 12.5C13.5246 12.5 12.9391 12.742 12.4964 13.1398L7.46859 10.3974C7.48926 10.268 7.5 10.1352 7.5 10C7.5 9.86484 7.48927 9.73218 7.46863 9.60283L12.4966 6.86033C12.9393 7.25803 13.5247 7.5 14.1667 7.5Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconStar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M8 0L10.4721 5.26687L16 6.11146L12 10.2111L12.9443 16L8 13.2669L3.05573 16L4 10.2111L0 6.11146L5.52786 5.26687L8 0Z\" fill=\"#FFBF2B\"></path>\n </svg>\n);\n\n\n","import { type SVGProps } from \"react\";\n\nexport const IconWatched = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n // width=\"24\" height=\"24\" \n {...props}>\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M19.8915 8.88956C21.5572 12.9818 19.5902 17.6496 15.498 19.3153C12.9492 20.3529 10.1771 19.9811 8.04616 18.5643L8.74249 18.6723C9.28825 18.757 9.79929 18.3831 9.88393 17.8374C9.96857 17.2916 9.59475 16.7806 9.04899 16.6959L6.168 16.2491C5.96331 16.2174 5.76352 16.2502 5.58926 16.3323C5.51931 16.3652 5.45348 16.4061 5.3931 16.454C5.20281 16.6049 5.06666 16.8252 5.02651 17.0841L4.57974 19.9652C4.49511 20.5109 4.86893 21.022 5.41469 21.1066C5.96045 21.1912 6.47149 20.8174 6.55612 20.2716L6.59917 19.9941C9.30331 21.9569 12.9294 22.5202 16.252 21.1678C21.3673 19.0856 23.8261 13.2508 21.7439 8.13553C19.6617 3.02023 13.827 0.561429 8.71166 2.64364C5.91211 3.78321 3.90825 6.04676 3.00901 8.70121C2.73922 9.49757 3.5481 10.1439 4.32687 9.82685C4.6337 9.70196 4.86301 9.44289 4.97794 9.13219C5.72984 7.0996 7.30022 5.37752 9.4657 4.49605C13.5579 2.83028 18.2257 4.79733 19.8915 8.88956Z\"></path>\n<path d=\"M11.5 13V8\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\"></path>\n<path d=\"M14.5 14.5L11.5 13\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\"></path>\n</svg>\n);\n","import { type SVGProps } from \"react\";\n\nexport const IconPresent = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n \n xmlns=\"http://www.w3.org/2000/svg\" width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\"\n \n className={className}\n {...props}\n \n >\n <mask id=\"path-1-inside-1_4749_770\" fill=\"white\">\n <path d=\"M13.8896 28.7131C13.2672 29.4048 12.5677 30.1443 11.8535 30.8645C10.8986 31.8273 9.93294 32.7413 9.10547 33.4553C8.21557 34.2231 7.65337 34.6096 7.45605 34.6975C6.57339 35.0902 6.17521 36.1242 6.56738 37.0071C6.95997 37.8899 7.99492 38.288 8.87793 37.8958C9.61411 37.5684 10.5403 36.8392 11.3916 36.1047C12.3064 35.3154 13.3402 34.3353 14.3389 33.3284C15.251 32.4087 16.1479 31.4485 16.917 30.5715V46.6663H4.66699C2.08977 46.6663 0.000176518 44.5774 0 42.0002V28.7131H13.8896ZM56 42.0002C55.9998 44.5774 53.9102 46.6663 51.333 46.6663H20.417V30.8596C21.0096 31.6337 21.6614 32.4486 22.3164 33.2249C23.1676 34.2336 24.0583 35.2236 24.8711 36.0256C25.6174 36.762 26.494 37.5424 27.2891 37.8958C28.1721 38.2882 29.2069 37.8899 29.5996 37.0071C29.9917 36.1241 29.5937 35.09 28.7109 34.6975C28.7099 34.697 28.6994 34.6916 28.6787 34.6799C28.6551 34.6665 28.6225 34.6469 28.5811 34.6194C28.4967 34.5634 28.3895 34.4848 28.2598 34.3801C27.9989 34.1696 27.6856 33.8852 27.3301 33.5344C26.6191 32.8329 25.8024 31.9294 24.9912 30.968C24.3458 30.2031 23.7265 29.4267 23.1807 28.7131H56V42.0002ZM16.917 19.3704C15.3775 17.6983 13.1293 16.1571 10.2959 16.5374C9.17346 16.688 8.19458 16.9489 7.40039 17.3499C6.60482 17.7515 5.88239 18.3554 5.50488 19.2336C4.70498 21.0953 5.89038 22.7923 6.94629 23.7815C7.48629 24.2873 8.15001 24.7697 8.91211 25.2131H0V14.0002C0 11.4229 2.08966 9.33325 4.66699 9.33325H16.917V19.3704ZM51.333 9.33325C53.9103 9.33325 56 11.4229 56 14.0002V25.2131H28.9033C30.2037 24.4638 31.5478 23.3474 31.9609 21.7502C32.4364 19.9108 31.5147 18.2532 29.9912 16.9446C28.5553 15.7114 26.8475 15.6891 25.3857 16.179C23.9899 16.6468 22.6738 17.6086 21.5713 18.6438C21.1711 19.0196 20.7845 19.4196 20.417 19.8313V9.33325H51.333ZM10.7617 20.0071C12.1151 19.8255 13.4863 20.6428 14.7686 22.2366C15.219 22.7965 15.6074 23.3931 15.9287 23.9602C12.9209 23.4889 10.503 22.3172 9.33887 21.2268C9.00285 20.912 8.85938 20.6987 8.79883 20.5774C8.84143 20.5485 8.89959 20.5132 8.97754 20.4739C9.30515 20.3085 9.86948 20.1268 10.7617 20.0071ZM26.498 19.4973C27.1472 19.2798 27.464 19.3878 27.7109 19.5999C28.7172 20.4643 28.5776 20.8587 28.5723 20.8743C28.5168 21.0878 28.1896 21.5974 27.0986 22.2141C25.7016 23.0037 23.6758 23.611 21.6406 23.929C22.2867 22.9874 23.1003 22.0101 23.9678 21.1956C24.8988 20.3214 25.7826 19.7371 26.498 19.4973Z\"/>\n </mask>\n <path d=\"M13.8896 28.7131C13.2672 29.4048 12.5677 30.1443 11.8535 30.8645C10.8986 31.8273 9.93294 32.7413 9.10547 33.4553C8.21557 34.2231 7.65337 34.6096 7.45605 34.6975C6.57339 35.0902 6.17521 36.1242 6.56738 37.0071C6.95997 37.8899 7.99492 38.288 8.87793 37.8958C9.61411 37.5684 10.5403 36.8392 11.3916 36.1047C12.3064 35.3154 13.3402 34.3353 14.3389 33.3284C15.251 32.4087 16.1479 31.4485 16.917 30.5715V46.6663H4.66699C2.08977 46.6663 0.000176518 44.5774 0 42.0002V28.7131H13.8896ZM56 42.0002C55.9998 44.5774 53.9102 46.6663 51.333 46.6663H20.417V30.8596C21.0096 31.6337 21.6614 32.4486 22.3164 33.2249C23.1676 34.2336 24.0583 35.2236 24.8711 36.0256C25.6174 36.762 26.494 37.5424 27.2891 37.8958C28.1721 38.2882 29.2069 37.8899 29.5996 37.0071C29.9917 36.1241 29.5937 35.09 28.7109 34.6975C28.7099 34.697 28.6994 34.6916 28.6787 34.6799C28.6551 34.6665 28.6225 34.6469 28.5811 34.6194C28.4967 34.5634 28.3895 34.4848 28.2598 34.3801C27.9989 34.1696 27.6856 33.8852 27.3301 33.5344C26.6191 32.8329 25.8024 31.9294 24.9912 30.968C24.3458 30.2031 23.7265 29.4267 23.1807 28.7131H56V42.0002ZM16.917 19.3704C15.3775 17.6983 13.1293 16.1571 10.2959 16.5374C9.17346 16.688 8.19458 16.9489 7.40039 17.3499C6.60482 17.7515 5.88239 18.3554 5.50488 19.2336C4.70498 21.0953 5.89038 22.7923 6.94629 23.7815C7.48629 24.2873 8.15001 24.7697 8.91211 25.2131H0V14.0002C0 11.4229 2.08966 9.33325 4.66699 9.33325H16.917V19.3704ZM51.333 9.33325C53.9103 9.33325 56 11.4229 56 14.0002V25.2131H28.9033C30.2037 24.4638 31.5478 23.3474 31.9609 21.7502C32.4364 19.9108 31.5147 18.2532 29.9912 16.9446C28.5553 15.7114 26.8475 15.6891 25.3857 16.179C23.9899 16.6468 22.6738 17.6086 21.5713 18.6438C21.1711 19.0196 20.7845 19.4196 20.417 19.8313V9.33325H51.333ZM10.7617 20.0071C12.1151 19.8255 13.4863 20.6428 14.7686 22.2366C15.219 22.7965 15.6074 23.3931 15.9287 23.9602C12.9209 23.4889 10.503 22.3172 9.33887 21.2268C9.00285 20.912 8.85938 20.6987 8.79883 20.5774C8.84143 20.5485 8.89959 20.5132 8.97754 20.4739C9.30515 20.3085 9.86948 20.1268 10.7617 20.0071ZM26.498 19.4973C27.1472 19.2798 27.464 19.3878 27.7109 19.5999C28.7172 20.4643 28.5776 20.8587 28.5723 20.8743C28.5168 21.0878 28.1896 21.5974 27.0986 22.2141C25.7016 23.0037 23.6758 23.611 21.6406 23.929C22.2867 22.9874 23.1003 22.0101 23.9678 21.1956C24.8988 20.3214 25.7826 19.7371 26.498 19.4973Z\" fill=\"#FDE92F\"/>\n <path d=\"M13.8896 28.7131L15.6241 30.2739L19.1284 26.3798H13.8896V28.7131ZM11.8535 30.8645L13.5102 32.5076L13.5102 32.5076L11.8535 30.8645ZM9.10547 33.4553L10.6297 35.222L10.6298 35.2219L9.10547 33.4553ZM7.45605 34.6975L8.40448 36.8294L8.4059 36.8288L7.45605 34.6975ZM6.56738 37.0071L4.43495 37.9543L4.43535 37.9552L6.56738 37.0071ZM8.87793 37.8958L9.82513 40.0282L9.82604 40.0278L8.87793 37.8958ZM11.3916 36.1047L12.9159 37.8714L12.916 37.8713L11.3916 36.1047ZM14.3389 33.3284L15.9956 34.9715L15.9956 34.9714L14.3389 33.3284ZM16.917 30.5715H19.2503V24.3724L15.1628 29.033L16.917 30.5715ZM16.917 46.6663V48.9996H19.2503V46.6663H16.917ZM0 42.0002H-2.33333V42.0004L0 42.0002ZM0 28.7131V26.3798H-2.33333V28.7131H0ZM56 42.0002L58.3333 42.0004V42.0002H56ZM20.417 46.6663H18.0837V48.9996H20.417V46.6663ZM20.417 30.8596L22.2697 29.4412L18.0837 23.9735V30.8596H20.417ZM22.3164 33.2249L20.533 34.7295L20.5331 34.7296L22.3164 33.2249ZM24.8711 36.0256L23.2322 37.6865L23.2323 37.6866L24.8711 36.0256ZM27.2891 37.8958L26.3413 40.0279L26.3414 40.028L27.2891 37.8958ZM29.5996 37.0071L31.7316 37.9554L31.7322 37.954L29.5996 37.0071ZM28.7109 34.6975L27.609 36.7542L27.6846 36.7947L27.7629 36.8296L28.7109 34.6975ZM28.6787 34.6799L27.5278 36.7097L27.5281 36.7098L28.6787 34.6799ZM28.5811 34.6194L27.2909 36.5636L27.2911 36.5637L28.5811 34.6194ZM28.2598 34.3801L26.7944 36.1959L26.7945 36.196L28.2598 34.3801ZM27.3301 33.5344L25.6912 35.1953L25.6913 35.1954L27.3301 33.5344ZM24.9912 30.968L23.2079 32.4727L23.2079 32.4727L24.9912 30.968ZM23.1807 28.7131V26.3798H18.4579L21.3274 30.1308L23.1807 28.7131ZM56 28.7131H58.3333V26.3798H56V28.7131ZM16.917 19.3704L15.2004 20.9508L19.2503 25.3496V19.3704H16.917ZM10.2959 16.5374L9.98557 14.2247L9.9855 14.2248L10.2959 16.5374ZM7.40039 17.3499L6.34883 15.2669L6.34875 15.2669L7.40039 17.3499ZM5.50488 19.2336L3.36121 18.3122L3.36106 18.3125L5.50488 19.2336ZM6.94629 23.7815L5.35105 25.4843L5.35117 25.4844L6.94629 23.7815ZM8.91211 25.2131V27.5465H17.5626L10.0855 23.1963L8.91211 25.2131ZM0 25.2131H-2.33333V27.5465H0V25.2131ZM16.917 9.33325H19.2503V6.99992H16.917V9.33325ZM56 25.2131V27.5465H58.3333V25.2131H56ZM28.9033 25.2131L27.7383 23.1914L20.1807 27.5465H28.9033V25.2131ZM31.9609 21.7502L34.2199 22.3346L34.22 22.3342L31.9609 21.7502ZM29.9912 16.9446L31.5116 15.1746L31.5114 15.1744L29.9912 16.9446ZM25.3857 16.179L24.6443 13.9666L24.6442 13.9666L25.3857 16.179ZM21.5713 18.6438L19.9741 16.9428L19.9741 16.9428L21.5713 18.6438ZM20.417 19.8313H18.0837V25.9488L22.1576 21.3852L20.417 19.8313ZM20.417 9.33325V6.99992H18.0837V9.33325H20.417ZM10.7617 20.0071L10.4514 17.6945L10.4513 17.6945L10.7617 20.0071ZM14.7686 22.2366L16.5866 20.774L16.5866 20.7739L14.7686 22.2366ZM15.9287 23.9602L15.5675 26.2654L20.3405 27.0134L17.9588 22.8099L15.9287 23.9602ZM9.33887 21.2268L7.74351 22.9295L7.74375 22.9298L9.33887 21.2268ZM8.79883 20.5774L7.49055 18.6453L5.79863 19.791L6.71104 21.6193L8.79883 20.5774ZM8.97754 20.4739L7.92611 18.3909L7.92579 18.391L8.97754 20.4739ZM26.498 19.4973L25.7567 17.2849L25.7565 17.2849L26.498 19.4973ZM27.7109 19.5999L29.2314 17.8299L29.2309 17.8295L27.7109 19.5999ZM28.5723 20.8743L26.3655 20.1162L26.3364 20.201L26.3139 20.2877L28.5723 20.8743ZM27.0986 22.2141L28.2467 24.2455L28.2469 24.2454L27.0986 22.2141ZM21.6406 23.929L19.7167 22.6088L16.656 27.0693L22.0008 26.2343L21.6406 23.929ZM23.9678 21.1956L22.3706 19.4945L22.3705 19.4946L23.9678 21.1956ZM13.8896 28.7131L12.1552 27.1523C11.5597 27.8141 10.8862 28.5263 10.1968 29.2214L11.8535 30.8645L13.5102 32.5076C14.2493 31.7624 14.9748 30.9955 15.6241 30.2739L13.8896 28.7131ZM11.8535 30.8645L10.1968 29.2214C9.27089 30.155 8.35035 31.025 7.58111 31.6887L9.10547 33.4553L10.6298 35.2219C11.5155 34.4576 12.5263 33.4996 13.5102 32.5076L11.8535 30.8645ZM9.10547 33.4553L7.5812 31.6887C7.17118 32.0424 6.85558 32.2919 6.63745 32.4525C6.5279 32.5332 6.45324 32.5838 6.41109 32.6109C6.34884 32.6509 6.39358 32.6165 6.50621 32.5663L7.45605 34.6975L8.4059 36.8288C8.75767 36.672 9.12592 36.4155 9.40463 36.2102C9.73942 35.9637 10.1499 35.636 10.6297 35.222L9.10547 33.4553ZM7.45605 34.6975L6.50763 32.5656C4.44924 33.4814 3.51933 35.8929 4.43495 37.9543L6.56738 37.0071L8.69982 36.0599C8.83108 36.3554 8.69754 36.699 8.40448 36.8294L7.45605 34.6975ZM6.56738 37.0071L4.43535 37.9552C5.35142 40.0152 7.76479 40.9434 9.82513 40.0282L8.87793 37.8958L7.93073 35.7633C8.22505 35.6326 8.56853 35.7647 8.69942 36.059L6.56738 37.0071ZM8.87793 37.8958L9.82604 40.0278C10.9201 39.5413 12.0875 38.5861 12.9159 37.8714L11.3916 36.1047L9.86732 34.3381C8.99317 35.0923 8.30811 35.5955 7.92982 35.7637L8.87793 37.8958ZM11.3916 36.1047L12.916 37.8713C13.8888 37.0319 14.9677 36.0078 15.9956 34.9715L14.3389 33.3284L12.6822 31.6853C11.7127 32.6627 10.724 33.5989 9.86725 34.3382L11.3916 36.1047ZM14.3389 33.3284L15.9956 34.9714C16.9387 34.0205 17.8684 33.0254 18.6712 32.1101L16.917 30.5715L15.1628 29.033C14.4274 29.8715 13.5632 30.7969 12.6821 31.6853L14.3389 33.3284ZM16.917 30.5715H14.5837V46.6663H16.917H19.2503V30.5715H16.917ZM16.917 46.6663V44.3329H4.66699V46.6663V48.9996H16.917V46.6663ZM4.66699 46.6663V44.3329C3.37796 44.3329 2.33342 43.2882 2.33333 42.0001L0 42.0002L-2.33333 42.0004C-2.33307 45.8666 0.801585 48.9996 4.66699 48.9996V46.6663ZM0 42.0002H2.33333V28.7131H0H-2.33333V42.0002H0ZM0 28.7131V31.0465H13.8896V28.7131V26.3798H0V28.7131ZM56 42.0002L53.6667 42.0001C53.6666 43.2882 52.622 44.3329 51.333 44.3329V46.6663V48.9996C55.1984 48.9996 58.3331 45.8666 58.3333 42.0004L56 42.0002ZM51.333 46.6663V44.3329H20.417V46.6663V48.9996H51.333V46.6663ZM20.417 46.6663H22.7503V30.8596H20.417H18.0837V46.6663H20.417ZM20.417 30.8596L18.5643 32.278C19.1774 33.0788 19.8523 33.9227 20.533 34.7295L22.3164 33.2249L24.0998 31.7202C23.4706 30.9745 22.8418 30.1885 22.2697 29.4412L20.417 30.8596ZM22.3164 33.2249L20.5331 34.7296C21.4107 35.7697 22.3513 36.8173 23.2322 37.6865L24.8711 36.0256L26.51 34.3647C25.7652 33.6298 24.9244 32.6975 24.0997 31.7201L22.3164 33.2249ZM24.8711 36.0256L23.2323 37.6866C23.9625 38.4071 25.1109 39.481 26.3413 40.0279L27.2891 37.8958L28.2368 35.7636C27.8772 35.6037 27.2722 35.1169 26.5099 34.3647L24.8711 36.0256ZM27.2891 37.8958L26.3414 40.028C28.4026 40.944 30.8156 40.0146 31.7316 37.9554L29.5996 37.0071L27.4677 36.0588C27.5982 35.7653 27.9415 35.6323 28.2367 35.7635L27.2891 37.8958ZM29.5996 37.0071L31.7322 37.954C32.6471 35.8934 31.7186 33.4813 29.6589 32.5654L28.7109 34.6975L27.7629 36.8296C27.4689 36.6988 27.3363 36.3548 27.467 36.0602L29.5996 37.0071ZM28.7109 34.6975L29.8129 32.6408C29.8078 32.638 29.8036 32.6358 29.8008 32.6343C29.7978 32.6328 29.7954 32.6315 29.7936 32.6306C29.7902 32.6288 29.7876 32.6274 29.7863 32.6268C29.785 32.6261 29.7839 32.6255 29.7835 32.6253C29.7832 32.6251 29.783 32.625 29.7829 32.625C29.7828 32.625 29.7828 32.6249 29.7827 32.6249C29.7827 32.6249 29.7827 32.6249 29.7827 32.6249C29.7826 32.6248 29.7832 32.6252 29.7841 32.6256C29.7849 32.626 29.786 32.6266 29.7872 32.6272C29.7924 32.6299 29.7978 32.6328 29.8035 32.6358C29.8146 32.6418 29.8232 32.6466 29.8293 32.65L28.6787 34.6799L27.5281 36.7098C27.5549 36.725 27.5791 36.7383 27.6009 36.75C27.6119 36.7559 27.6215 36.7609 27.6296 36.7651C27.6335 36.7672 27.6366 36.7688 27.6375 36.7693C27.6386 36.7698 27.6368 36.7689 27.6349 36.7679C27.6338 36.7674 27.6313 36.766 27.628 36.7643C27.6254 36.763 27.6182 36.7592 27.609 36.7542L28.7109 34.6975ZM28.6787 34.6799L29.8296 32.6502C29.8564 32.6654 29.8702 32.6745 29.871 32.6751L28.5811 34.6194L27.2911 36.5637C27.3749 36.6193 27.4538 36.6677 27.5278 36.7097L28.6787 34.6799ZM28.5811 34.6194L29.8712 32.6752C29.8614 32.6687 29.8134 32.6356 29.725 32.5642L28.2598 34.3801L26.7945 36.196C26.9655 36.334 27.132 36.4582 27.2909 36.5636L28.5811 34.6194ZM28.2598 34.3801L29.7252 32.5643C29.5445 32.4185 29.2911 32.1913 28.9689 31.8735L27.3301 33.5344L25.6913 35.1954C26.0802 35.5791 26.4533 35.9206 26.7944 36.1959L28.2598 34.3801ZM27.3301 33.5344L28.9689 31.8735C28.3255 31.2387 27.5586 30.3925 26.7746 29.4633L24.9912 30.968L23.2079 32.4727C24.0462 33.4663 24.9127 34.4272 25.6912 35.1953L27.3301 33.5344ZM24.9912 30.968L26.7746 29.4633C26.1556 28.7297 25.5596 27.9825 25.0339 27.2954L23.1807 28.7131L21.3274 30.1308C21.8935 30.8708 22.5361 31.6765 23.2079 32.4727L24.9912 30.968ZM23.1807 28.7131V31.0465H56V28.7131V26.3798H23.1807V28.7131ZM56 28.7131H53.6667V42.0002H56H58.3333V28.7131H56ZM16.917 19.3704L18.6336 17.7899C16.8712 15.8757 13.919 13.6969 9.98557 14.2247L10.2959 16.5374L10.6062 18.85C12.3395 18.6174 13.8839 19.5208 15.2004 20.9508L16.917 19.3704ZM10.2959 16.5374L9.9855 14.2248C8.70778 14.3963 7.45294 14.7095 6.34883 15.2669L7.40039 17.3499L8.45195 19.4328C8.93622 19.1883 9.63914 18.9798 10.6063 18.8499L10.2959 16.5374ZM7.40039 17.3499L6.34875 15.2669C5.24324 15.8251 4.02294 16.7728 3.36121 18.3122L5.50488 19.2336L7.64856 20.1551C7.74184 19.9381 7.9664 19.6779 8.45203 19.4328L7.40039 17.3499ZM5.50488 19.2336L3.36106 18.3125C1.9261 21.6522 4.18013 24.3874 5.35105 25.4843L6.94629 23.7815L8.54153 22.0787C8.15494 21.7165 7.8384 21.3055 7.68046 20.93C7.54512 20.6083 7.54805 20.389 7.6487 20.1548L5.50488 19.2336ZM6.94629 23.7815L5.35117 25.4844C6.04257 26.1321 6.8547 26.7156 7.73872 27.23L8.91211 25.2131L10.0855 23.1963C9.44531 22.8238 8.93001 22.4425 8.54141 22.0785L6.94629 23.7815ZM8.91211 25.2131V22.8798H0V25.2131V27.5465H8.91211V25.2131ZM0 25.2131H2.33333V14.0002H0H-2.33333V25.2131H0ZM0 14.0002H2.33333C2.33333 12.7116 3.37833 11.6666 4.66699 11.6666V9.33325V6.99992C0.800999 6.99992 -2.33333 10.1343 -2.33333 14.0002H0ZM4.66699 9.33325V11.6666H16.917V9.33325V6.99992H4.66699V9.33325ZM16.917 9.33325H14.5837V19.3704H16.917H19.2503V9.33325H16.917ZM51.333 9.33325V11.6666C52.6217 11.6666 53.6667 12.7116 53.6667 14.0002H56H58.3333C58.3333 10.1343 55.199 6.99992 51.333 6.99992V9.33325ZM56 14.0002H53.6667V25.2131H56H58.3333V14.0002H56ZM56 25.2131V22.8798H28.9033V25.2131V27.5465H56V25.2131ZM28.9033 25.2131L30.0683 27.2348C31.53 26.3926 33.5661 24.8618 34.2199 22.3346L31.9609 21.7502L29.702 21.1659C29.5294 21.833 28.8775 22.535 27.7383 23.1914L28.9033 25.2131ZM31.9609 21.7502L34.22 22.3342C35.0149 19.2594 33.3562 16.759 31.5116 15.1746L29.9912 16.9446L28.4708 18.7146C29.6732 19.7474 29.858 20.5623 29.7019 21.1663L31.9609 21.7502ZM29.9912 16.9446L31.5114 15.1744C29.2765 13.255 26.6373 13.2986 24.6443 13.9666L25.3857 16.179L26.1272 18.3914C27.0576 18.0795 27.8341 18.1678 28.471 18.7147L29.9912 16.9446ZM25.3857 16.179L24.6442 13.9666C22.7956 14.5862 21.1919 15.7993 19.9741 16.9428L21.5713 18.6438L23.1685 20.3448C24.1557 19.4178 25.1842 18.7074 26.1273 18.3913L25.3857 16.179ZM21.5713 18.6438L19.9741 16.9428C19.5188 17.3703 19.0846 17.8201 18.6763 18.2774L20.417 19.8313L22.1576 21.3852C22.4845 21.0191 22.8234 20.6689 23.1685 20.3448L21.5713 18.6438ZM20.417 19.8313H22.7503V9.33325H20.417H18.0837V19.8313H20.417ZM20.417 9.33325V11.6666H51.333V9.33325V6.99992H20.417V9.33325ZM10.7617 20.0071L11.072 22.3197C11.1956 22.3031 11.8414 22.3206 12.9505 23.6992L14.7686 22.2366L16.5866 20.7739C15.1313 18.965 13.0347 17.3479 10.4514 17.6945L10.7617 20.0071ZM14.7686 22.2366L12.9505 23.6991C13.3071 24.1424 13.6266 24.6303 13.8986 25.1105L15.9287 23.9602L17.9588 22.8099C17.5882 22.1559 17.1308 21.4505 16.5866 20.774L14.7686 22.2366ZM15.9287 23.9602L16.2899 21.655C13.5893 21.2318 11.6574 20.2015 10.934 19.5239L9.33887 21.2268L7.74375 22.9298C9.34855 24.4329 12.2526 25.746 15.5675 26.2654L15.9287 23.9602ZM9.33887 21.2268L10.9342 19.5241C10.8855 19.4784 10.8511 19.4434 10.8283 19.4189C10.8055 19.3944 10.7953 19.3816 10.7944 19.3805C10.7935 19.3794 10.8031 19.3913 10.8193 19.4164C10.8355 19.4413 10.8595 19.4811 10.8866 19.5355L8.79883 20.5774L6.71104 21.6193C6.93358 22.0652 7.27941 22.4947 7.74351 22.9295L9.33887 21.2268ZM8.79883 20.5774L10.1071 22.5095C10.0642 22.5385 10.0363 22.5532 10.0293 22.5567L8.97754 20.4739L7.92579 18.391C7.76286 18.4733 7.61869 18.5586 7.49055 18.6453L8.79883 20.5774ZM8.97754 20.4739L10.029 22.5569C10.0259 22.5584 10.0987 22.5223 10.2789 22.4725C10.4552 22.4239 10.7139 22.3678 11.0721 22.3197L10.7617 20.0071L10.4513 17.6945C9.40691 17.8347 8.56551 18.0681 7.92611 18.3909L8.97754 20.4739ZM26.498 19.4973L27.2394 21.7097C27.3662 21.6672 27.2262 21.7388 26.9371 21.699C26.7844 21.678 26.6284 21.6309 26.4816 21.559C26.3401 21.4896 26.2426 21.4145 26.191 21.3702L27.7109 19.5999L29.2309 17.8295C28.8518 17.504 28.3079 17.1771 27.5736 17.076C26.902 16.9835 26.2791 17.1099 25.7567 17.2849L26.498 19.4973ZM27.7109 19.5999L26.1905 21.3698C26.5452 21.6745 26.4811 21.7169 26.3793 21.4816C26.3227 21.3506 26.2593 21.1435 26.2496 20.8737C26.2448 20.7406 26.2536 20.6022 26.2774 20.4613C26.2893 20.3912 26.3044 20.3231 26.3222 20.2574C26.3311 20.2246 26.3402 20.194 26.3491 20.1658C26.3582 20.1371 26.3665 20.1133 26.3655 20.1162L28.5723 20.8743L30.779 21.6323C30.7784 21.6343 30.7872 21.6087 30.7971 21.5776C30.8068 21.5469 30.8169 21.5131 30.8269 21.4763C30.8468 21.4027 30.8645 21.3238 30.8787 21.2397C30.9073 21.0708 30.9199 20.8924 30.9133 20.7066C30.8998 20.3314 30.8095 19.9688 30.6626 19.6292C30.3804 18.9766 29.8829 18.3896 29.2314 17.8299L27.7109 19.5999ZM28.5723 20.8743L26.3139 20.2877C26.3474 20.1584 26.3875 20.0588 26.4184 19.9917C26.4504 19.9223 26.4804 19.8706 26.5022 19.8362C26.5453 19.7685 26.5699 19.7468 26.552 19.7652C26.5149 19.8034 26.3499 19.957 25.9504 20.1829L27.0986 22.2141L28.2469 24.2454C28.9384 23.8545 29.4825 23.445 29.8955 23.0208C30.2733 22.6328 30.6628 22.1073 30.8307 21.4608L28.5723 20.8743ZM27.0986 22.2141L25.9505 20.1828C24.882 20.7867 23.1542 21.3309 21.2805 21.6236L21.6406 23.929L22.0008 26.2343C24.1975 25.8912 26.5212 25.2207 28.2467 24.2455L27.0986 22.2141ZM21.6406 23.929L23.5646 25.2491C24.128 24.428 24.8347 23.5823 25.565 22.8965L23.9678 21.1956L22.3705 19.4946C21.366 20.4379 20.4454 21.5467 19.7167 22.6088L21.6406 23.929ZM23.9678 21.1956L25.5649 22.8966C26.3821 22.1294 26.9781 21.7973 27.2396 21.7097L26.498 19.4973L25.7565 17.2849C24.5872 17.6769 23.4155 18.5134 22.3706 19.4945L23.9678 21.1956Z\" fill=\"#FDE92F\" mask=\"url(#path-1-inside-1_4749_770)\"/>\n</svg>\n);\n\n","import { type SVGProps } from \"react\";\n\nexport const IconIce = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n viewBox=\"0 0 20 20\" fill=\"none\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M13.3333 5.83333C13.3333 5.88064 13.3323 5.92772 13.3304 5.97455C14.3029 6.31692 15 7.24372 15 8.33333C15 9.4849 14.2214 10.4546 13.1619 10.7448L10.4769 17.1887C10.3003 17.6126 9.69972 17.6126 9.52308 17.1887L6.8381 10.7448C5.77861 10.4546 5 9.4849 5 8.33333C5 7.24372 5.69708 6.31692 6.6696 5.97455C6.66765 5.92772 6.66667 5.88064 6.66667 5.83333C6.66667 3.99238 8.15905 2.5 10 2.5C11.8409 2.5 13.3333 3.99238 13.3333 5.83333ZM8.7855 10.478L10 14L11.2145 10.4779C11.1787 10.4565 11.1435 10.4341 11.1089 10.4109C10.8143 10.6736 10.4258 10.8333 10 10.8333C9.57418 10.8333 9.18567 10.6736 8.89106 10.4109C8.85648 10.4341 8.82128 10.4565 8.7855 10.478Z\" fill=\"currentColor\" />\n </svg>\n);\n","import { type SVGProps } from \"react\";\n\nexport const IconCocktail = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M14.1133 2.41675C15.7701 2.41675 17.1133 3.75989 17.1133 5.41675C17.1133 7.0736 15.7701 8.41675 14.1133 8.41675C13.6742 8.41669 13.2587 8.32315 12.8848 8.15503C12.7668 8.102 12.6533 8.04073 12.5439 7.97339C12.2728 7.80642 11.9307 7.83126 11.6875 8.02222L11.5898 8.11401L8.96387 11.0701C8.82175 11.2301 8.75432 11.4435 8.7793 11.656C8.77968 11.6593 8.78027 11.6628 8.78027 11.6667V17.4998C8.78027 17.9139 9.11609 18.2497 9.53027 18.2498H10.833C10.879 18.2498 10.917 18.2877 10.917 18.3337C10.9168 18.3796 10.8789 18.4167 10.833 18.4167H6.66699C6.62108 18.4167 6.58318 18.3796 6.58301 18.3337C6.58301 18.2877 6.62097 18.2498 6.66699 18.2498H7.86328C8.27749 18.2498 8.61328 17.914 8.61328 17.4998V11.6667C8.61328 11.6628 8.61388 11.6592 8.61426 11.656C8.63927 11.4434 8.57183 11.2301 8.42969 11.0701L3.27246 5.26343C3.25458 5.24321 3.25201 5.22943 3.25098 5.22144C3.24956 5.20985 3.25053 5.19309 3.25879 5.17456C3.26726 5.1557 3.27934 5.14309 3.28906 5.13647C3.29576 5.13192 3.30771 5.12476 3.33496 5.12476H10.5107C10.8447 5.12455 11.1379 4.90365 11.2305 4.58276C11.2948 4.3599 11.3845 4.14752 11.4961 3.94897C12.0092 3.03643 12.9837 2.42151 14.1006 2.41675H14.1133ZM5.18945 5.29175C4.89438 5.29187 4.6269 5.46503 4.50586 5.73413C4.38485 6.00346 4.43285 6.31902 4.62891 6.53979L5.49023 7.50952C5.61786 7.65321 5.79401 7.73988 5.98047 7.75757C5.97615 7.94381 6.04071 8.12882 6.16895 8.27319L8.13672 10.488C8.27905 10.6483 8.48294 10.74 8.69727 10.74C8.91151 10.7399 9.11553 10.6482 9.25781 10.488L10.4414 9.15601C10.6207 8.95411 10.675 8.67407 10.5918 8.42261C10.6437 8.40522 10.6952 8.38974 10.7441 8.37085C10.9753 8.28158 11.1808 8.17627 11.3467 8.07983C11.4155 8.0398 11.4784 7.98899 11.5312 7.92944L12.7646 6.53979C12.9607 6.31902 13.0097 6.00349 12.8887 5.73413C12.7827 5.49848 12.5642 5.33637 12.3135 5.29956L12.2041 5.29175H5.18945ZM14.04 2.58472C13.5274 2.5979 13.0467 2.7472 12.6357 2.99878C12.2329 3.24543 11.8971 3.5902 11.6602 3.99976C11.526 4.23173 11.5253 4.51759 11.6592 4.74976C11.7931 4.98196 12.0415 5.12476 12.3096 5.12476H14.0596C14.0627 5.12476 14.0658 5.12558 14.0684 5.12573C14.0863 5.12687 14.0958 5.13115 14.1016 5.13452C14.1086 5.13865 14.1178 5.14524 14.126 5.15698C14.145 5.18438 14.1466 5.21369 14.1426 5.22925C14.1416 5.23305 14.1393 5.23704 14.1367 5.24194C14.134 5.24697 14.1293 5.25423 14.1211 5.26343L12.7285 6.83276C12.5687 7.01269 12.5045 7.25801 12.5566 7.49292C12.6088 7.72789 12.7712 7.92391 12.9922 8.01929C13.337 8.16801 13.7165 8.2497 14.1133 8.24976C15.0146 8.24976 15.8182 7.8284 16.3359 7.17456C16.7181 6.69174 16.9473 6.0797 16.9473 5.41675C16.9473 3.85194 15.6781 2.58374 14.1133 2.58374C14.0888 2.58374 14.0644 2.58409 14.04 2.58472Z\" fill=\"currentColor\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinejoin=\"round\"/>\n</svg>\n);\n\n\n","/**\n * CSS Variables Type Definitions\n * TypeScript interfaces for UI CSS custom properties\n */\n\n// Base Colors\nexport interface BaseColors {\n \"--color-primary\": string;\n \"--color-primary-light\": string;\n \"--color-primary-dark\": string;\n \"--color-black\": string;\n \"--color-white\": string;\n \"--color-accent-blue\": string;\n \"--color-ultra-light-blue\": string;\n}\n\n// Functional Colors\nexport interface FunctionalColors {\n \"--color-green\": string;\n \"--color-green-light\": string;\n \"--color-pink\": string;\n \"--color-purple\": string;\n \"--color-orange\": string;\n \"--color-warning\": string;\n \"--color-warning-light\": string;\n \"--color-warning-dark\": string;\n}\n\n// Typography System\nexport interface TypographySystem {\n \"--font-xs-size\": string;\n \"--font-sm-size\": string;\n \"--font-base-size\": string;\n \"--font-lg-size\": string;\n \"--font-xl-size\": string;\n \"--font-2xl-size\": string;\n \"--font-3xl-size\": string;\n \"--font-4xl-size\": string;\n \"--font-5xl-size\": string;\n \"--font-6xl-size\": string;\n \"--font-7xl-size\": string;\n \"--font-8xl-size\": string;\n \"--font-9xl-size\": string;\n}\n\n// All CSS Variables\nexport interface CSSVariables\n extends BaseColors, FunctionalColors, TypographySystem {\n // Gradients\n \"--color-linear-gradient-y\": string;\n \"--color-linear-gradient-x\": string;\n \"--color-gradient-blue-green-y\": string;\n \"--color-gradient-blue-green-x\": string;\n \"--color-gradient-calendar\": string;\n \"--color-nav-gradient\": string;\n \"--color-nav-gradient-mobile\": string;\n\n // Shadows\n \"--shadow-dropdown\": string;\n \"--shadow-calendar\": string;\n \"--shadow-topbar\": string;\n\n // Animations & Transitions\n \"--animation-spin\": string;\n \"--animation-spin-slow\": string;\n \"--transition-duration-sidebar\": string;\n \"--transition-default\": string;\n \"--transition-fast\": string;\n \"--transition-slow\": string;\n\n // Sizing\n \"--max-height-sidebar\": string;\n \"--spacing-sidebar\": string;\n}\n\n// CSS Variable keys for runtime access\nexport const CSS_VARIABLE_KEYS: (keyof CSSVariables)[] = [\n \"--color-primary\",\n \"--color-primary-light\",\n \"--color-primary-dark\",\n \"--color-black\",\n \"--color-white\",\n \"--color-accent-blue\",\n \"--color-ultra-light-blue\",\n \"--color-green\",\n \"--color-green-light\",\n \"--color-pink\",\n \"--color-purple\",\n \"--color-orange\",\n \"--color-warning\",\n \"--color-warning-light\",\n \"--color-warning-dark\",\n // Add more as needed\n];\n\n// Helper function to get CSS variable value\nexport const getCSSVariable = (variable: keyof CSSVariables): string => {\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\" && document.documentElement)\n {return getComputedStyle(document.documentElement)\n .getPropertyValue(variable)\n .trim();}\n\n return \"\";\n};\n\n// Helper function to set CSS variable value\nexport const setCSSVariable = (\n variable: keyof CSSVariables,\n value: string,\n): void => {\n if (typeof window !== \"undefined\")\n document.documentElement.style.setProperty(variable, value);\n};\n","import React, { createContext, useContext } from \"react\";\n\nexport type Brand = \"prijsvrij\" | \"dreizen\";\n\nconst BrandContext = createContext<Brand | undefined>(undefined);\n\ninterface BrandProviderProps {\n brand: Brand;\n children: React.ReactNode;\n}\n\nexport const BrandProvider = ({ brand, children }: BrandProviderProps) => <BrandContext.Provider value={brand}>{children}</BrandContext.Provider>;\n\nfunction isBrand(value: unknown): value is Brand {\n return value === \"prijsvrij\" || value === \"dreizen\";\n}\n\nexport const useBrand = (fallback?: Brand): Brand => {\n const brand = useContext(BrandContext);\n\n if (brand) {\n return brand;\n }\n\n if (typeof document !== \"undefined\") {\n const domBrand = document.documentElement.getAttribute(\"data-brand\");\n if (isBrand(domBrand)) {\n return domBrand;\n }\n }\n\n return fallback ?? \"prijsvrij\";\n};\n","\"use client\";\nimport { cn } from \"@utils/cn\";\nimport { useState, useRef, useEffect } from \"react\";\nimport { IconArrowDown, IconChevronRight } from \"../../icons\";\nimport { useBrand } from \"../../theme\";\n\n\ninterface DropdownItem {\n id: string;\n name: string;\n icon: React.ReactNode;\n}\n\ninterface DropdownProps {\n className?: string;\n loading?: boolean;\n dropdownItems?: DropdownItem[];\n selectedItem?: DropdownItem | undefined;\n onClick: (item: DropdownItem) => void;\n dropdownIcon?: React.ReactNode;\n}\n\nconst DropdownItemComponent = ({\n id,\n name,\n onClick,\n icon,\n}: DropdownItem & { onClick: (item: DropdownItem) => void }) => {\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick({ id, name, icon });\n }\n };\n\n return <div \n onClick={() => onClick({ id, name, icon })} \n onKeyDown={handleKeyDown}\n tabIndex={0}\n className=\"flex hover:bg-gray-50 items-center flex-row justify-start px-3 py-2 gap-2 dropdown-item cursor-pointer focus:outline-none focus:bg-gray-50\"\n role=\"menuitem\"\n >\n <span className=\"flex items-center flex-row justify-center gap-2 w-5 h-5\">{icon}</span>\n <span>{name}</span>\n </div>\n}\n\nexport const Dropdown = ({ \n className,\n loading,\n dropdownItems,\n selectedItem,\n onClick,\n dropdownIcon,\n}: DropdownProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [internalSelectedItem, setInternalSelectedItem] = useState<DropdownItem | undefined>(selectedItem);\n const [detectedIcon, setDetectedIcon] = useState<React.ReactNode>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const brand = useBrand('prijsvrij');\n\n const toggleDropdown = () => {\n setIsOpen(!isOpen);\n };\n\n const closeDropdown = () => {\n setIsOpen(false);\n };\n\n const handleItemClick = (item: DropdownItem) => {\n setInternalSelectedItem(item);\n onClick(item);\n closeDropdown();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n toggleDropdown();\n }\n if (event.key === 'Escape') {\n closeDropdown();\n }\n };\n\n // Detect brand and set icon after DOM is ready\n useEffect(() => {\n const detectBrand = () => {\n \n // If dropdownIcon is provided, use that instead of brand detection\n if (dropdownIcon) {\n setDetectedIcon(dropdownIcon);\n return;\n }\n \n const element = triggerRef.current?.closest('[data-brand]') || \n document.documentElement.querySelector('[data-brand]') ||\n document.documentElement;\n \n const brand = element.getAttribute('data-brand');\n \n const icon = brand === 'dreizen' ? <IconChevronRight className=\"w-3.5 h-3.5 rotate-90 dropdown-icon\" /> : <IconArrowDown className=\"w-3.5 h-3.5\" />;\n setDetectedIcon(icon);\n };\n\n // Run immediately and also with a small delay for Storybook\n detectBrand();\n const timer = setTimeout(detectBrand, 50);\n \n return () => clearTimeout(timer);\n }, [dropdownIcon]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n popoverRef.current &&\n !popoverRef.current.contains(event.target as Node) &&\n triggerRef.current &&\n !triggerRef.current.contains(event.target as Node)\n ) {\n closeDropdown();\n }\n };\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [isOpen]);\n\n // Sync external selectedItem with internal state (only when prop changes)\n useEffect(() => {\n if (selectedItem && selectedItem !== internalSelectedItem) {\n setInternalSelectedItem(selectedItem);\n }\n }, [selectedItem]);\n\n return (\n <div className={cn('dropdown relative', className)}>\n <button\n ref={triggerRef}\n onClick={toggleDropdown}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className=\"dropdown-button bg-white px-3 py-2 h-12 border rounded-md w-full flex items-center flex-row justify-between\"\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n >\n <span className=\"flex items-center flex-row justify-center gap-2 dropdown-button-text\">\n <span className=\"w-5 h-5\">{internalSelectedItem?.icon}</span>\n {loading ? 'Loading...' : internalSelectedItem?.name}\n </span>\n <span className=\"w-3.5 h-3.5 flex items-center justify-center\">\n {detectedIcon || <IconArrowDown className=\"w-3.5 h-3.5\" />}\n </span>\n </button>\n \n {isOpen && (\n <div\n ref={popoverRef}\n className={cn(`dropdown-content divide-y divide-gray-100 absolute top-full left-0 right-0 mt-1 bg-white border border-gray-200 rounded-lg shadow-lg z-50`, brand === 'dreizen' && 'mt-0.5')}\n role=\"menu\"\n >\n {dropdownItems?.map((dropdownItem) => {\n return <DropdownItemComponent key={dropdownItem.id} {...dropdownItem} onClick={handleItemClick} />\n })}\n </div>\n )}\n </div>\n );\n};\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\nimport formatIcon from \"@utils/formatIcon\";\nimport { IconCancel } from \"../../icons\";\n\ninterface FilterButtonProps {\n className?: string;\n icon?: React.ReactNode;\n leftContent?: React.ReactNode;\n text: string;\n disabled?: boolean;\n onClick: () => void;\n}\n\nexport const FilterButton = ({ \n className,\n icon,\n leftContent,\n text,\n disabled,\n onClick,\n}: FilterButtonProps) => {\n const formattedIcon = icon\n ? formatIcon(icon, {\n className: \"min-w-4 min-h-4\",\n })\n : null;\n\n return (\n <span className={cn(`flex flex-row items-center w-fit rounded-2xl gap-2 filter-button p-2.5 h-8 whitespace-nowrap ${disabled ? \"cursor-not-allowed\" : \"cursor-pointer\"} font-light text-sm text-white`, className)} onClick={() => onClick()}>\n {leftContent && leftContent}{formattedIcon}\n {text}\n <span className=\"filter-button-close filter-button-icon rounded-full p-0.5\"><IconCancel className=\"w-3\" /></span>\n </span>\n );\n};\n\n","import { type SVGProps } from \"react\";\n\nexport const DReizenLogo = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 264.19 115.99\" style={{ enableBackground: \"new 0 0 264.19 115.99\" }} xmlSpace=\"preserve\"\n className={className}\n {...props}\n >\n<style type=\"text/css\" dangerouslySetInnerHTML={{\n\t__html: `\n\t\t.dr_st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FF7801;}\n\t\t.dr_st1{clip-path:url(#SVGID_00000047761851237739218990000015174159904372475070_);}\n\t\t.dr_st2{clip-path:url(#SVGID_00000132781369314397657330000015450681308810918787_);fill:#FFFFFF;}\n\t\t.dr_st3{clip-path:url(#SVGID_00000132781369314397657330000015450681308810918787_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}\n\t`\n}} />\n<g id=\"Organic_D\">\n\t<path className=\"dr_st0\" d=\"M0,103.89L0,0l263.64,0c-11.06,35.74-39.59,77.71-83.53,96.3c-13.91,5.88-28.6,10.31-43.58,13.37 c-16.94,3.5-34.27,5.31-51.32,5.67c-3.75,0.07-7.49,0.07-11.24,0c-17.08-0.36-34.45-2.18-51.43-5.67 C14.94,108.1,7.38,106.18,0,103.89z\"/>\n</g>\n<g id=\"Logo\">\n\t<g>\n\t\t<g>\n\t\t\t<defs>\n\t\t\t\t<rect id=\"SVGID_1_\" x=\"25.75\" y=\"23.23\" width=\"176.18\" height=\"48.05\"/>\n\t\t\t</defs>\n\t\t\t<clipPath id=\"SVGID_00000023971415761657709360000018318605718621828796_\">\n\t\t\t\t<use xlinkHref=\"#SVGID_1_\" style={{ overflow: \"visible\" }} />\n\t\t\t</clipPath>\n\t\t\t<g style={{ clipPath: \"url(#SVGID_00000023971415761657709360000018318605718621828796_)\" }}>\n\t\t\t\t<defs>\n\t\t\t\t\t<rect id=\"SVGID_00000111157692029972051490000012454168567925022089_\" x=\"25.75\" y=\"23.23\" width=\"176.18\" height=\"48.05\"/>\n\t\t\t\t</defs>\n\t\t\t\t<clipPath id=\"SVGID_00000047742349940822325560000005577600005693043850_\">\n\t\t\t\t\t<use xlinkHref=\"#SVGID_00000111157692029972051490000012454168567925022089_\" style={{ overflow: \"visible\" }}/>\n\t\t\t\t</clipPath>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M153.49,40.93 h-14.25c-0.7,0-1.39,0.57-1.53,1.27l-0.61,2.86c-0.15,0.7,0.3,1.26,0.99,1.26h7.27l-11.18,12.22c0,0-0.44,0.54-0.74,1.74 l-0.61,2.87c-0.15,0.7,0.3,1.26,1,1.26h15.01c0.7,0,1.39-0.57,1.53-1.26l0.61-2.87c0.15-0.7-0.3-1.27-1-1.27h-8.11l11.2-12.24 c0,0,0.51-0.43,0.81-1.72l0.61-2.86C154.63,41.5,154.18,40.93,153.49,40.93\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M129.45,63.08 c-0.15,0.7-0.84,1.26-1.54,1.26h-4.47c-0.7,0-1.14-0.56-0.99-1.26l4.42-20.79c0.15-0.7,0.83-1.27,1.53-1.27h4.47 c0.7,0,1.14,0.57,1,1.27L129.45,63.08z\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M103.36,40.32 C103.36,40.32,103.36,40.32,103.36,40.32c-0.08,0-0.15,0-0.22,0c-2.75,0-4.82,1.58-6.18,3.48l0.32-1.52 c0.15-0.7-0.29-1.26-0.99-1.26h-4.47c-0.7,0-1.39,0.57-1.53,1.26l-4.42,20.79c-0.15,0.7,0.3,1.27,1,1.27h4.47 c0.7,0,1.39-0.57,1.53-1.27l2.68-12.57c0.78-2.65,2.76-3.68,5.4-3.68c0.23,0,1.07,0.15,1.07,0.15c0.7,0,1.39-0.57,1.53-1.27 l0.82-4.14C104.51,40.89,104.06,40.32,103.36,40.32\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M114.94,40.33 c-7.63,0-10.58,4.9-11.99,11.49C101.47,58.8,100.85,65,109.69,65c5.1,0,8.61-2.17,10.32-6.62l0.23-0.76 c0.15-0.7-0.23-1.24-0.93-1.24h-0.56l0-0.01h-3.47c-0.63,0-1.26,0.47-1.47,1.08c0,0,0,0,0,0c-0.72,2.2-1.57,3.21-3.15,3.21 c-2.04,0-2.18-1.78-1.41-5.42l0.31-1.43h8.59l0,0h1.98c0.7,0,1.37-0.6,1.53-1.27c0.17-0.67,0.42-2.37,0.42-2.37 C123.03,44.21,122.26,40.33,114.94,40.33 M115.5,49.73h-5.08c0.68-3.17,1.47-5.08,3.77-5.08 C116.15,44.66,116.2,46.44,115.5,49.73\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M166.77,40.33 c-7.63,0-10.58,4.9-11.99,11.49C153.3,58.8,152.67,65,161.52,65c5.09,0,8.61-2.17,10.32-6.62l0.23-0.76 c0.15-0.7-0.23-1.24-0.93-1.24h-0.56l0-0.01h-3.47c-0.63,0-1.26,0.47-1.47,1.08c0,0,0,0,0,0c-0.72,2.2-1.57,3.21-3.15,3.21 c-2.04,0-2.18-1.78-1.41-5.42l0.31-1.43h8.59l0,0h1.98c0.7,0,1.37-0.6,1.54-1.27c0.16-0.67,0.42-2.37,0.42-2.37 C174.86,44.21,174.08,40.33,166.77,40.33 M167.32,49.73h-5.08c0.67-3.17,1.47-5.08,3.77-5.08 C167.97,44.66,168.02,46.44,167.32,49.73\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M191.49,40.32 c-2.47,0-4.68,1.17-6.13,3.08l0.24-1.14c0.15-0.7-0.29-1.26-0.99-1.26h-4.47c-0.7,0-1.39,0.57-1.54,1.26l-4.42,20.8 c-0.15,0.7,0.3,1.26,1,1.26h4.47c0.7,0,1.38-0.57,1.54-1.26l3.04-14.31l-0.04,0.29c0.49-2.3,1.88-3.34,3.23-3.34 c1.3,0,1.83,1,1.46,2.69l-3.09,14.67c-0.15,0.7,0.3,1.26,1,1.26h4.47c0.7,0,1.38-0.57,1.53-1.26l3.45-16.23 C197.18,42.32,195.48,40.32,191.49,40.32\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M82.43,50.16 c0.15-0.7-0.3-1.27-0.99-1.27h-4.47c-0.7,0-1.38,0.57-1.53,1.27l-0.57,2.8c-0.15,0.7,0.3,1.27,1,1.27h4.47 c0.7,0,1.39-0.57,1.53-1.27L82.43,50.16z\"/>\n\t\t\t\t\n\t\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fillRule: \"evenodd\", clipRule: \"evenodd\", fill: \"#FFFFFF\" }} d=\" M32.24,43.48c-2.83,1.65-3.57-4.57,0.46-7.52c6.25-4.58,13.39-7.72,21.11-7.04c16.56,1.47,16.16,15.83,13.91,13.64 c-1.62-1.57-4.34-8.67-16.3-7.35C42.99,36.18,35.69,41.47,32.24,43.48\"/>\n\t\t\t\t\n\t\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fillRule: \"evenodd\", clipRule: \"evenodd\", fill: \"#FFFFFF\" }} d=\" M68.53,44.5c-1.92-1.18,0.25,8.21-12.31,13.73c-2.49,0.97-5.11,1.36-7.64,1.42c2.36-6.54,4.88-18.77,1.66-18.6 c-3.22,0.16-4.31,8.95-8.73,17.72c-0.06,0.11-0.1,0.21-0.15,0.32c-2.4-0.39-4.34-0.86-5.46-1.03c-3.07-0.47-3.28,7.48,2.83,8.47 c6.11,1,13.43,0.62,19.58-1.98C68.34,60.32,72.21,46.76,68.53,44.5\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M135,30.93h-4.47 c-0.68,0-1.35,0.54-1.52,1.22l-0.9,4.28c-0.15,0.7,0.3,1.27,0.99,1.27h4.47c0.69,0,1.37-0.56,1.53-1.25l0.9-4.26 C136.15,31.5,135.7,30.93,135,30.93\"/>\n\t\t\t</g>\n\t\t</g>\n\t</g>\n</g>\n</svg>\n);\n","import { type SVGProps } from \"react\";\n\nexport const PrijsvrijLogo = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"Laag_1\" version=\"1.1\" viewBox=\"0 0 793.2 276.5\"\n className={className}\n {...props}\n >\n\t<defs>\n\t\t<style dangerouslySetInnerHTML={{\n\t\t\t__html: `\n\t\t\t\t.st0 { fill: #fde931; }\n\t\t\t\t.st1 { fill: #fff; }\n\t\t\t`\n\t\t}} />\n\t</defs>\n\t<path className=\"st1\" d=\"M0,32.1c0-.7.6-1.2,1.2-1.2h48.2c28.9,0,47.7,15,47.7,40.2v.4c0,27.3-20.9,41.6-49.3,41.6h-14.6c-.7,0-1.2.6-1.2,1.2v31.5c0,.7-.6,1.2-1.2,1.2H1.4c-.7,0-1.2-.6-1.2-1.2V32.1h-.1ZM47.2,88c11.2,0,18.3-6.1,18.3-15.1v-.4c0-9.8-7.1-15-18.4-15h-13.9c-.7,0-1.2.6-1.2,1.2v27.9c0,.7.6,1.2,1.2,1.2h14,0Z\"/>\n\t<path className=\"st1\" d=\"M449.7,31h32c.5,0,1,.4,1.1.9l21.7,68c.4,1.1,2,1.1,2.4,0l21.5-68c.1-.5.6-.9,1.1-.9h31.7c.9,0,1.5.9,1.1,1.7l-41.8,113.7c-.2.5-.6.9-1.2.9h-27.8c-.5,0-1-.4-1.2-.9l-41.8-113.7c-.2-.9.2-1.7,1.1-1.7h.2Z\"/>\n\t<path className=\"st0\" d=\"M449.4,101.5v-.4c-4.5-22.3-23.3-27.2-50.3-27.8-17.5-.5-20.9-2.2-21.9-6.8v-.4c-.9-4.3,2.7-7.7,9.7-9.1,10.6-2.1,22.6-.2,34.1,5l.4.2,11.9-26.4-.4-.2c-11.8-6.2-24.3-8.7-38.5-7.7l-1.6-8.3-25.8,5.1,1.7,9.1c-18.4,7.9-27.7,24.1-24.2,42v.4c4.8,24.5,26.8,27.1,50.9,27.8,17.3.7,20.5,2.6,21.4,7v.4c1,4.8-3.1,8.3-11.3,9.9-13,2.6-26.3.4-39.7-6.5l-.4-.2-14,25.5.4.2c12.2,7.2,26.7,10.7,42.1,10.3l1.6,8.2,25.8-5.1-1.5-7.6c22.5-7.6,33.4-24.2,29.5-44.4h0Z\"/>\n\t<path className=\"st1\" d=\"M577.5,32.2c0-.7.6-1.2,1.2-1.2h50c17.8,0,29.9,4.6,37.7,12.4,6.8,6.8,10.3,15.5,10.3,26.9v.5c0,17.3-8.8,28.7-22.5,35-.7.4-1,1.2-.5,1.9l25.5,37.5c.6.9,0,2-1,2h-33.8c-.4,0-.9-.2-1.1-.6l-22.6-34.3c-.2-.4-.6-.6-1.1-.6h-8.7c-.7,0-1.2.6-1.2,1.2v32.9c0,.7-.6,1.2-1.2,1.2h-29.5c-.7,0-1.2-.6-1.2-1.2V32.2h-.2ZM627.5,86.7c10.8,0,17.3-5.3,17.3-13.8v-.4c0-9.3-6.8-13.9-17.4-13.9h-16.4c-.7,0-1.2.6-1.2,1.2v25.5c0,.7.6,1.2,1.2,1.2h16.5Z\"/>\n\t<path className=\"st1\" d=\"M113,32.2c0-.7.6-1.2,1.2-1.2h50c17.8,0,29.9,4.6,37.7,12.4,6.8,6.8,10.3,15.5,10.3,26.9v.5c0,17.3-8.8,28.7-22.5,35-.7.4-1,1.2-.5,1.9l25.5,37.5c.6.9,0,2-1,2h-33.8c-.4,0-.9-.2-1.1-.6l-22.6-34.3c-.2-.4-.6-.6-1.1-.6h-8.7c-.7,0-1.2.6-1.2,1.2v32.9c0,.7-.6,1.2-1.2,1.2h-29.5c-.7,0-1.2-.6-1.2-1.2V32.2h-.2ZM162.9,86.7c10.8,0,17.3-5.3,17.3-13.8v-.4c0-9.3-6.8-13.9-17.4-13.9h-16.4c-.7,0-1.2.6-1.2,1.2v25.5c0,.7.6,1.2,1.2,1.2h16.5Z\"/>\n\t<path className=\"st1\" d=\"M325.3,30.8h-30.3c-.7,0-1.4.6-1.4,1.4v63.6c0,15.9-8.3,23.3-21.1,23.3s-8.9-1.1-12.3-3.5-2.4-.5-3.1.4l-18.6,21c-1,1.1-.7,2.7.5,3.5,8.7,5.6,20,8.3,33.1,8.3,32.9,0,54.3-16.5,54.3-53.8V31.8c0-.6-.5-1.2-1.2-1.2v.2Z\"/>\n\t<path className=\"st1\" d=\"M259.7,31h-29.3c-.7,0-1.2.5-1.2,1.2v59.8c0,.7.5,1.2,1.2,1.2h29.3c.7,0,1.2-.6,1.2-1.2v-59.6c0-.7-.5-1.4-1.2-1.4h0Z\"/>\n\t<path className=\"st1\" d=\"M788.9,30.8h-30.3c-.7,0-1.4.6-1.4,1.4v63.6c0,15.9-8.3,23.3-21.1,23.3s-8.9-1.1-12.3-3.5-2.4-.5-3.1.4l-18.6,21c-1,1.1-.7,2.7.5,3.5,8.7,5.6,20,8.3,33.1,8.3,32.9,0,54.3-16.5,54.3-53.8V31.8c0-.6-.5-1.2-1.2-1.2v.2Z\"/>\n\t<path className=\"st1\" d=\"M723.4,31h-29.3c-.7,0-1.2.5-1.2,1.2v59.8c0,.7.5,1.2,1.2,1.2h29.3c.7,0,1.2-.6,1.2-1.2v-59.6c0-.7-.5-1.4-1.2-1.4h0Z\"/>\n\t<g>\n\t\t<path className=\"st0\" d=\"M274.6,250.8c-1.5,4.1-3.2,5.2-5.7,5.2h-15.8c-3.6,0-4.8-2.6-6-5.1l-20.9-57.1c-1-2.4,0-3.6,3.2-3.6h13.9c2.2,0,4,2,4.6,4l15.3,39.9,11.9-39.9c.7-2,2.6-4,4.5-4h10.8c3.6,0,4,1.1,2.9,3.8l-18.7,56.7h0Z\"/>\n\t\t<g>\n\t\t\t<path className=\"st0\" d=\"M338.6,215.5c0-1.7-.1-3.4-.5-4.7s-1-2.5-2-3.5-2.2-1.6-3.8-2.1c-1.6-.5-3.7-.7-6.2-.7s-5.3.4-8.1,1.1c-2.7.7-5.3,1.9-7.9,3.2-.9.5-1.7.1-2.6-.9-.9-1.1-1.6-2.4-2.1-4-.6-1.6-.7-3.1-.7-4.7s.6-2.7,1.7-3.2c2.4-1.4,5.8-2.6,10.3-3.7,4.5-1.1,9.8-1.7,16.1-1.7s6.3.2,9.6.6c3.2.5,6.1,1.5,8.7,3,2.6,1.6,4.7,3.8,6.5,7,1.7,3.1,2.5,7.1,2.5,12.3v21.6c0,3.1.2,5.2.9,6.5.6,1.1,1.5,1.7,2.6,1.7s1.9.2,2.1.6c.4.4.5,1.1.5,2.2v8.8c0,1.4,0,2.2-.4,2.5-.4.4-1.5.5-3.4.5s-4.8,0-7-.2c-2-.2-3.8-.6-5.6-1.4-1.6-.6-3.1-1.6-4.3-2.9s-2.4-2.9-3.2-4.8c-1.5,2-3.2,3.5-5,4.8-1.7,1.2-3.6,2.2-5.6,3-1.9.7-3.8,1.2-5.8,1.5s-3.8.4-5.6.4-4.5-.2-6.6-.9c-2.1-.6-4-1.6-5.7-3-1.7-1.5-3.1-3.4-4.1-5.8-1-2.4-1.6-5.5-1.6-9.1s.6-7.2,2-10.2,3.5-5.6,6.3-7.7c3-2.1,6.7-3.7,11.3-4.8s10.1-1.7,16.6-1.7v.5ZM338.6,226.5c-2.1,0-4.1.2-6,.6s-3.6,1-5.1,1.9-2.6,2-3.6,3.4c-.9,1.4-1.4,2.9-1.4,4.7s.6,3.4,1.7,4.3c1.1,1.1,2.7,1.6,4.8,1.6s5-.9,6.7-2.7,2.6-4,2.6-6.5v-7.3h.1Z\"/>\n\t\t\t<path className=\"st0\" d=\"M436,253.4c.7,1.2,1.1,2.1,1,2.6-.1.6-1.2.9-3.2.9h-16.4c-1,0-1.9-.4-2.9-1.2-.9-.7-1.9-1.7-2.7-2.9l-15.1-20v18.3c0,1.6-.1,3-.4,4-.2,1.1-1.2,1.6-3.1,1.6h-11.9c-1.9,0-3.1-.5-3.8-1.4-.6-.9-1-2.2-1-3.8v-80.2c0-1.2.2-2.1.7-2.9s1.4-1.1,2.5-1.1h12.7c2.1,0,3.4.4,3.7,1s.6,1.6.6,3v42.1l13.4-17.5c.6-1,1.4-1.9,2.4-2.6.9-.7,1.9-1.2,2.9-1.2h16.5c2.1,0,3.1.4,3.2,1,0,.6-.4,1.6-1.2,2.7l-21.7,27.4,24.2,30.2h-.2Z\"/>\n\t\t\t<path className=\"st0\" d=\"M480.5,215.5c0-1.7-.1-3.4-.5-4.7s-1-2.5-2-3.5-2.2-1.6-3.8-2.1c-1.6-.5-3.7-.7-6.2-.7s-5.3.4-8.1,1.1c-2.7.7-5.3,1.9-7.9,3.2-.9.5-1.7.1-2.6-.9-.9-1.1-1.6-2.4-2.1-4-.6-1.6-.7-3.1-.7-4.7s.6-2.7,1.7-3.2c2.4-1.4,5.8-2.6,10.3-3.7,4.5-1.1,9.8-1.7,16.1-1.7s6.3.2,9.6.6c3.2.5,6.1,1.5,8.7,3,2.6,1.6,4.7,3.8,6.5,7,1.7,3.1,2.5,7.1,2.5,12.3v21.6c0,3.1.2,5.2.9,6.5.6,1.1,1.5,1.7,2.6,1.7s1.9.2,2.1.6c.4.4.5,1.1.5,2.2v8.8c0,1.4,0,2.2-.4,2.5-.4.4-1.5.5-3.4.5s-4.8,0-7-.2c-2-.2-3.8-.6-5.6-1.4-1.6-.6-3.1-1.6-4.3-2.9s-2.4-2.9-3.2-4.8c-1.5,2-3.2,3.5-5,4.8-1.7,1.2-3.6,2.2-5.6,3-1.9.7-3.8,1.2-5.8,1.5s-3.8.4-5.6.4-4.5-.2-6.6-.9c-2.1-.6-4-1.6-5.7-3-1.7-1.5-3.1-3.4-4.1-5.8-1-2.4-1.6-5.5-1.6-9.1s.6-7.2,2-10.2,3.5-5.6,6.3-7.7c3-2.1,6.7-3.7,11.3-4.8s10.1-1.7,16.6-1.7v.5ZM480.5,226.5c-2.1,0-4.1.2-6,.6s-3.6,1-5.1,1.9-2.6,2-3.6,3.4c-.9,1.4-1.4,2.9-1.4,4.7s.6,3.4,1.7,4.3c1.1,1.1,2.7,1.6,4.8,1.6s5-.9,6.7-2.7,2.6-4,2.6-6.5v-7.3h.1Z\"/>\n\t\t\t<path className=\"st0\" d=\"M576.6,250.6c0,1.9-.2,3.4-.9,4.5-.6,1.1-1.5,1.7-2.9,1.7h-12.8c-1.2,0-2.4-.4-3.2-1.2-.9-.7-1.4-2-1.4-3.5v-34.5c0-2.2-.6-4.2-1.7-6-1.1-1.7-3.2-2.6-6.2-2.6s-3,.2-4,.9c-1.1.6-2,1.4-2.7,2.2-.7.9-1.2,2-1.6,3.1s-.5,2.2-.5,3.2v32.7c0,1.6-.1,3-.4,4-.2,1.1-1.4,1.6-3.1,1.6h-12.2c-1.9,0-3.1-.5-3.8-1.4-.6-.9-1-2.2-1-3.8v-55.2c0-1.2.2-2.2.7-3.1s1.4-1.2,2.5-1.2h12.9c1.2,0,2.4.4,3.2,1.1s1.2,2.6,1.2,5.3c2.1-2.5,4.7-4.5,7.7-5.8,3-1.5,6.6-2.1,11-2.1s4.5.4,6.8,1.1c2.2.7,4.3,1.9,6.1,3.5,1.9,1.6,3.2,3.7,4.3,6.3s1.7,5.8,1.7,9.7v39.6Z\"/>\n\t\t\t<path className=\"st0\" d=\"M627.1,203c0,1.2-.1,2.2-.4,2.9s-1.2,1-2.7,1h-9.1v31.9c0,1.6.5,2.7,1.4,3.6.9.7,2,1.1,3.5,1.1h1.9c.5,0,1.1-.1,1.9-.2.4,0,.7.5,1.1,1.9.4,1.4.6,2.9.9,4.5s.2,3.2.2,4.6-.1,2.2-.5,2.4c-.5.1-1.2.4-2.1.6-1,.2-2.1.5-3.4.6-1.2.2-2.6.4-4,.5-1.4,0-2.7.1-4,.1-3.2,0-6-.5-8.1-1.6-2.2-1-4-2.4-5.3-4s-2.4-3.4-3-5.3-1-3.8-1-5.8v-35h-5c-1.1,0-1.9-.4-2.2-1.1-.4-.7-.5-1.6-.5-2.7v-6.3c0-1.4.2-2.4.7-2.9.5-.6,1.5-.9,2.9-.9h5.1v-9.9c0-1.4.5-2.4,1.5-3s2-1,3.2-1.1l10.2-1.9c1.9-.4,3-.1,3.5.5.5.6.6,1.7.6,3.4v12.2h9.4c1.4,0,2.2.5,2.7,1.4.5.9.6,2,.6,3.1v5.8h-.1Z\"/>\n\t\t\t<path className=\"st0\" d=\"M658.7,179.3c0,1.4-.2,2.4-.7,3-.5.6-1.4.9-2.7.9h-13c-1.6,0-2.6-.2-3.2-.7-.5-.5-.7-1.6-.7-3.5v-6.3c0-1.6.2-2.6.9-3.1s1.6-.7,3.2-.7h12.9c1.7,0,2.7.5,3,1.5.4,1,.5,2.1.5,3.5v5.7h0ZM658.7,252c0,1.6-.1,2.9-.4,3.7s-1.4,1.2-3.1,1.2h-13.2c-1.7,0-2.9-.4-3.2-1.2s-.6-2.1-.6-3.7v-55.7c0-1.2.2-2.1.7-2.9.5-.7,1.4-1.1,2.5-1.1h12.9c2.1,0,3.4.4,3.7,1s.6,1.6.6,3v55.7h0Z\"/>\n\t\t\t<path className=\"st0\" d=\"M732.4,224.6c0,1,0,2-.1,2.6,0,.7-.4,1.4-.7,1.9s-1,.9-1.9,1-2,.2-3.6.2h-33.9c0,4.3,1.4,7.6,4.2,9.7,2.9,2.1,7,3.2,12.2,3.2s9.2-.2,12.7-.9c3.5-.6,5.7-.9,6.7-1.1,2.4-.5,3.5.1,3.5,1.9v8.9c0,1.4-.2,2.4-.7,3-.5.6-1.6,1.1-3.2,1.6-.5.1-1.5.4-3.1.5-1.6.1-3.4.4-5.5.5-2.1.2-4.2.4-6.5.5-2.2,0-4.2.1-6,.1-6.5,0-11.9-.7-16.4-2.2-4.5-1.5-8.1-3.7-10.7-6.6-2.7-2.9-4.6-6.3-5.8-10.6-1.2-4.1-1.9-8.8-1.9-14,0-11.9,2.5-20.6,7.6-26.2,5.1-5.5,13-8.2,23.8-8.2s9.3.6,13,1.7,6.7,2.9,9.2,5c2.4,2.1,4.2,4.7,5.5,7.8s1.9,6.5,1.9,10.1v9.4h-.2ZM711.6,215.3c0-1.6-.1-3.1-.4-4.6s-.7-2.7-1.5-3.8c-.6-1.1-1.6-2-2.7-2.7-1.1-.6-2.6-1-4.5-1s-3.4.4-4.6,1.1c-1.2.7-2.2,1.6-3.1,2.9-.7,1.1-1.4,2.5-1.7,3.8-.4,1.5-.5,2.9-.5,4.2v2.1c0,.5.6.7,1.5.7h16.3c.6,0,1-.2,1.1-.7,0-.5.1-1.1.1-2h0Z\"/>\n\t\t\t<path className=\"st0\" d=\"M793.1,238.7c0,4.2-.9,7.7-2.5,10.2-1.6,2.6-3.7,4.6-6.3,6s-5.3,2.4-8.4,2.9c-3.1.5-6,.7-8.8.7s-5.8-.1-8.6-.4c-2.6-.2-5-.6-7.1-1s-3.8-.9-5.3-1.2c-1.5-.5-2.5-.9-3.1-1.1s-.6-1-.7-2.5-.2-3.1,0-4.7c0-1.7.2-3.2.6-4.5.4-1.4.9-1.9,1.6-1.6,1.2.4,3.2.9,5.7,1.6,2.5.6,6.1,1,10.9,1s5.8-.4,7.6-1.2c1.7-.9,2.6-2.4,2.6-4.3s-.9-3.1-2.6-4.5c-1.7-1.4-3.8-2.6-6.3-3.8-2.1-1-4.2-2-6.5-3.1s-4.2-2.5-6.1-4c-1.9-1.6-3.2-3.4-4.5-5.6-1.1-2.1-1.7-4.7-1.7-7.7s.9-6.1,2.5-8.4c1.6-2.4,3.8-4.3,6.5-5.8,2.6-1.6,5.7-2.7,9.1-3.5,3.4-.7,6.8-1.1,10.4-1.1,5.5,0,9.4.2,12,.7,2.6.5,4.3.9,5.2,1.4.5.1.7,1,.6,2.4,0,1.4-.2,2.9-.5,4.5-.4,1.6-.7,3-1.4,4.2s-1.2,1.9-1.9,1.7c-.6,0-1.4-.2-2.4-.4-1-.2-2.1-.4-3.4-.5-1.2-.1-2.5-.4-3.8-.5-1.2-.1-2.5-.2-3.5-.2-5.5,0-8.2,1.7-8.2,5.1s.7,2.1,2.4,3.1c1.6,1,3.6,2.1,6,3.2,2.4,1.2,4.8,2.6,7.2,4,2.4,1.5,4.5,3.2,6.5,5.1,2,1.9,3.5,4.1,4.6,6.5s1.7,5.1,1.7,8.1v-.5Z\"/>\n\t\t</g>\n\t</g>\n</svg>\n);\n\n","\"use client\";\nimport { cn } from \"@utils/cn\";\nimport { useState } from \"react\";\nimport { IconCancel, IconDollar, IconSearch } from \"../../icons\";\n\ninterface SearchBoxProps {\n disabled?: boolean;\n className?: string;\n placeholder: string;\n loading?: boolean;\n expandedWidth?: number;\n active?: boolean;\n defaultValue?: string;\n overlay?: boolean;\n positionAnchor?: string;\n results?: React.ReactNode;\n}\n\nexport const SearchBox = ({ \n disabled = false,\n className,\n placeholder,\n loading,\n expandedWidth = 300,\n active = false,\n overlay = false,\n defaultValue,\n positionAnchor,\n results,\n}: SearchBoxProps) => {\n\n const [value, setValue] = useState(defaultValue || \"\");\n \n // Keep active when there's text, otherwise use prop\n const isActive = active || value.length > 0;\n\n const handleClear = () => {\n setValue(\"\");\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n };\n\n return (\n <div style={{ \n width: overlay ? '48px' : 'auto', \n height: '48px', \n '--expanded-width': `${expandedWidth}px`,\n ...(positionAnchor && { positionAnchor: positionAnchor })\n } as React.CSSProperties}>\n <div className={`flex flex-row ${overlay ? \"absolute right-0 top-0 z-50\" : \"w-auto\"}`}>\n <div data-testid=\"search-box\" className={cn(\"search-box cursor-pointer relative\", className)}>\n <input \n id=\"search-box-anchor\"\n placeholder={placeholder} \n type=\"text\" \n disabled={disabled}\n value={value}\n onChange={handleChange}\n className={cn(\"search-box-input bg-white text-xs rounded-full pr-6 w-12 h-12 flex items-center justify-between z-20 transition-all duration-300 relative pl-5\", isActive && \"active\")} \n style={{'--expanded-width': `${expandedWidth}px`} as React.CSSProperties} \n />\n <div className=\"search-box-icon absolute top-3 left-3 flex items-center justify-center pointer-events-none z-20 w-6 h-6\">\n {loading ? <IconDollar className=\"w-6 h-6 animate-spin\" /> : <IconSearch className=\"w-6 h-6\" />}\n </div>\n {value && !loading && (\n <button \n onClick={handleClear}\n className=\"search-box-clear filter-button-close filter-button-icon rounded-full p-0.5 absolute right-4 top-1/2 transform -translate-y-1/2 z-30\"\n type=\"button\"\n >\n <IconCancel className=\"w-3\" />\n </button>\n )}\n {results}\n </div>\n </div>\n </div>\n);\n};\n","export const zonvakanties = [\n {\n name: \"Top 5 zonvakanties\",\n href: null,\n subItems: [\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/vakantie/spanje\", subItems: [] },\n { name: \"Griekenland\", href: \"https://www.d-reizen.nl/vakantie/griekenland\", subItems: [] },\n { name: \"Turkije\", href: \"https://www.d-reizen.nl/vakantie/turkije\", subItems: [] },\n { name: \"Egypte\", href: \"https://www.d-reizen.nl/vakantie/egypte\", subItems: [] },\n { name: \"Portugal\", href: \"https://www.d-reizen.nl/vakantie/portugal\", subItems: [] },\n ],\n },\n {\n name: \"Meer zonvakanties\",\n href: null,\n subItems: [\n { name: \"Italië\", href: \"https://www.d-reizen.nl/vakantie/italie\", subItems: [] },\n { name: \"Malta\", href: \"https://www.d-reizen.nl/vakantie/malta\", subItems: [] },\n { name: \"Marokko\", href: \"https://www.d-reizen.nl/vakantie/marokko\", subItems: [] },\n { name: \"Cyprus\", href: \"https://www.d-reizen.nl/vakantie/cyprus\", subItems: [] },\n { name: \"Kroatië\", href: \"https://www.d-reizen.nl/vakantie/kroatie\", subItems: [] },\n ],\n },\n {\n name: \"Populair in Spanje\",\n href: null,\n subItems: [\n { name: \"Mallorca\", href: \"https://www.d-reizen.nl/vakantie/spanje/mallorca\", subItems: [] },\n { name: \"Gran Canaria\", href: \"https://www.d-reizen.nl/vakantie/spanje/gran-canaria\", subItems: [] },\n { name: \"Tenerife\", href: \"https://www.d-reizen.nl/vakantie/spanje/tenerife\", subItems: [] },\n { name: \"Lanzarote\", href: \"https://www.d-reizen.nl/vakantie/spanje/lanzarote\", subItems: [] },\n { name: \"Ibiza\", href: \"https://www.d-reizen.nl/vakantie/spanje/ibiza\", subItems: [] },\n ],\n },\n {\n name: \"All inclusive\",\n href: null,\n subItems: [\n { name: \"Turkije\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/turkije\", subItems: [] },\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/spanje\", subItems: [] },\n { name: \"Egypte\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/egypte\", subItems: [] },\n { name: \"Portugal\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/portugal\", subItems: [] },\n { name: \"Griekenland\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/griekenland\", subItems: [] },\n { name: \"Canarische Eilanden\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/canarische-eilanden\", subItems: [] },\n ],\n },\n {\n name: \"Schoolvakanties\",\n href: null,\n subItems: [\n { name: \"Voorjaarsvakantie\", href: \"https://www.d-reizen.nl/voorjaarsvakantie\", subItems: [] },\n { name: \"Meivakantie\", href: \"https://www.d-reizen.nl/zonvakantie/meivakantie\", subItems: [] },\n { name: \"Zomervakantie\", href: \"https://www.d-reizen.nl/zonvakantie/zomervakantie\", subItems: [] },\n { name: \"Herfstvakantie\", href: \"https://www.d-reizen.nl/zonvakantie/herfstvakantie\", subItems: [] },\n { name: \"Kerstvakantie\", href: \"https://www.d-reizen.nl/zonvakantie/kerstvakantie\", subItems: [] },\n { name: \"Alle schoolvakanties\", href: \"https://www.d-reizen.nl/informatie/schoolvakanties\", subItems: [] },\n ],\n },\n {\n name: \"Populaire thema's\",\n href: null,\n subItems: [\n { name: \"All inclusive\", href: \"https://www.d-reizen.nl/all-inclusive\", subItems: [] },\n { name: \"Goedkope vakantie\", href: \"https://www.d-reizen.nl/zonvakantie/budget\", subItems: [] },\n { name: \"Kindvriendelijk\", href: \"https://www.d-reizen.nl/kindvriendelijk\", subItems: [] },\n { name: \"Waterparken\", href: \"https://www.d-reizen.nl/zonvakantie/waterparken\", subItems: [] },\n { name: \"Adults only\", href: \"https://www.d-reizen.nl/zonvakantie/adults-only\", subItems: [] },\n { name: \"Strandvakanties\", href: \"https://www.d-reizen.nl/zonvakantie/strandvakanties\", subItems: [] },\n ],\n },\n];\n\nexport const lastMinutesMenu = [\n {\n name: \"Top 5 last minutes\",\n href: null,\n subItems: [\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-spanje\", subItems: [] },\n { name: \"Griekenland\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-griekenland\", subItems: [] },\n { name: \"Turkije\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-turkije\", subItems: [] },\n { name: \"Egypte\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-egypte\", subItems: [] },\n { name: \"Portugal\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-portugal\", subItems: [] },\n ],\n },\n {\n name: \"Populair in Spanje\",\n href: null,\n subItems: [\n { name: \"Mallorca\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-mallorca\", subItems: [] },\n { name: \"Ibiza\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-ibiza\", subItems: [] },\n { name: \"Valencia\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-valencia\", subItems: [] },\n { name: \"Malaga\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-malaga\", subItems: [] },\n { name: \"Sevilla\", href: \"https://www.d-reizen.nl/stedentrip/last-minute/sevilla\", subItems: [] },\n ],\n },\n {\n name: \"Canarische Eilanden\",\n href: null,\n subItems: [\n { name: \"Gran Canaria\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-gran-canaria\", subItems: [] },\n { name: \"Tenerife\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-tenerife\", subItems: [] },\n { name: \"Lanzarote\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-lanzarote\", subItems: [] },\n { name: \"Fuerteventura\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-fuerteventura\", subItems: [] },\n { name: \"Canarische Eilanden\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-canarische-eilanden\", subItems: [] },\n ],\n },\n {\n name: \"Verre last minutes\",\n href: null,\n subItems: [\n { name: \"Curaçao\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-curacao\", subItems: [] },\n { name: \"Kaapverdië\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-kaapverdische-eilanden\", subItems: [] },\n { name: \"Mexico\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-mexico\", subItems: [] },\n { name: \"Dubai\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-dubai\", subItems: [] },\n { name: \"Bonaire\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-bonaire\", subItems: [] },\n { name: \"Dom. Republiek\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-dominicaanse-republiek\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrips\",\n href: null,\n subItems: [\n { name: \"Rome\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-rome\", subItems: [] },\n { name: \"Barcelona\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-barcelona\", subItems: [] },\n { name: \"Marrakech\", href: \"https://www.d-reizen.nl/stedentrip/last-minute/marrakech\", subItems: [] },\n { name: \"Lissabon\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-lissabon\", subItems: [] },\n { name: \"Londen\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-londen\", subItems: [] },\n { name: \"New York\", href: \"https://www.d-reizen.nl/stedentrip/last-minute/new-york\", subItems: [] },\n ],\n },\n {\n name: \"Populaire thema's\",\n href: null,\n subItems: [\n { name: \"Zonvakantie\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie\", subItems: [] },\n { name: \"All inclusive\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/last-minute\", subItems: [] },\n { name: \"Stedentrip\", href: \"https://www.d-reizen.nl/stedentrip/last-minute\", subItems: [] },\n { name: \"Weekend weg\", href: \"https://www.d-reizen.nl/last-minute/weekend-weg\", subItems: [] },\n { name: \"Wintersport\", href: \"https://www.d-reizen.nl/wintersport/last-minute-wintersport\", subItems: [] },\n { name: \"Autovakantie\", href: \"https://www.d-reizen.nl/autovakantie/last-minute-autovakantie\", subItems: [] },\n ],\n },\n];\n\nexport const verreReizenMenu = [\n {\n name: \"Populaire thema's\",\n href: null,\n subItems: [\n { name: \"Rondreis\", href: \"https://www.d-reizen.nl/rondreis\", subItems: [] },\n { name: \"Rondreis op maat\", href: \"https://www.d-reizen.nl/rondreis/rondreizen-op-maat\", subItems: [] },\n { name: \"Groepsreizen\", href: \"https://www.d-reizen.nl/groepsreizen\", subItems: [] },\n { name: \"Cruisevakanties\", href: \"https://www.d-reizen.nl/cruise\", subItems: [] },\n { name: \"Verre zonvakantie\", href: \"https://www.d-reizen.nl/zonvakantie/verre-zonvakantie\", subItems: [] },\n ],\n },\n {\n name: \"Caribisch gebied\",\n href: null,\n subItems: [\n { name: \"Aruba\", href: \"https://www.d-reizen.nl/vakantie/aruba\", subItems: [] },\n { name: \"Bonaire\", href: \"https://www.d-reizen.nl/vakantie/bonaire\", subItems: [] },\n { name: \"Curaçao\", href: \"https://www.d-reizen.nl/vakantie/curacao\", subItems: [] },\n { name: \"Dom. Republiek\", href: \"https://www.d-reizen.nl/vakantie/dominicaanse-republiek\", subItems: [] },\n { name: \"Jamaica\", href: \"https://www.d-reizen.nl/vakantie/jamaica\", subItems: [] },\n ],\n },\n {\n name: \"Amerika\",\n href: null,\n subItems: [\n { name: \"Florida\", href: \"https://www.d-reizen.nl/vakantie/verenigde-staten/florida\", subItems: [] },\n { name: \"Mexico\", href: \"https://www.d-reizen.nl/vakantie/mexico\", subItems: [] },\n { name: \"Cuba\", href: \"https://www.d-reizen.nl/vakantie/cuba\", subItems: [] },\n { name: \"Canada\", href: \"https://www.d-reizen.nl/vakantie/canada\", subItems: [] },\n { name: \"Barbados\", href: \"https://www.d-reizen.nl/vakantie/barbados\", subItems: [] },\n ],\n },\n {\n name: \"Azië\",\n href: null,\n subItems: [\n { name: \"Bali\", href: \"https://www.d-reizen.nl/vakantie/indonesie/bali\", subItems: [] },\n { name: \"Dubai\", href: \"https://www.d-reizen.nl/vakantie/verenigde-arabische-emiraten/dubai\", subItems: [] },\n { name: \"Thailand\", href: \"https://www.d-reizen.nl/vakantie/thailand\", subItems: [] },\n { name: \"Malediven\", href: \"https://www.d-reizen.nl/vakantie/malediven\", subItems: [] },\n { name: \"Sri Lanka\", href: \"https://www.d-reizen.nl/vakantie/sri-lanka\", subItems: [] },\n ],\n },\n {\n name: \"Afrika\",\n href: null,\n subItems: [\n { name: \"Kaapverdië\", href: \"https://www.d-reizen.nl/vakantie/kaapverdische-eilanden\", subItems: [] },\n { name: \"Gambia\", href: \"https://www.d-reizen.nl/vakantie/gambia\", subItems: [] },\n { name: \"Mauritius\", href: \"https://www.d-reizen.nl/vakantie/mauritius\", subItems: [] },\n { name: \"Zanzibar\", href: \"https://www.d-reizen.nl/vakantie/tanzania/zanzibar\", subItems: [] },\n { name: \"Zuid-Afrika\", href: \"https://www.d-reizen.nl/vakantie/zuid-afrika\", subItems: [] },\n ],\n },\n {\n name: \"Inspiratie & tips\",\n href: null,\n subItems: [\n { name: \"Tips Curaçao\", href: \"https://www.d-reizen.nl/inspiratie/tips-curacao\", subItems: [] },\n { name: \"Eilanden Thailand\", href: \"https://www.d-reizen.nl/inspiratie/mooiste-eilanden-thailand\", subItems: [] },\n { name: \"Mooi op Mauritius\", href: \"https://www.d-reizen.nl/inspiratie/mooiste-plekken-mauritius\", subItems: [] },\n { name: \"Leuke tips Bali\", href: \"https://www.d-reizen.nl/inspiratie/leukste-plekken-bali\", subItems: [] },\n { name: \"Snorkelen Kaapverdië\", href: \"https://www.d-reizen.nl/inspiratie/snorkelen-kaapverdie\", subItems: [] },\n ],\n },\n];\n\nexport const vliegticketsMenu = [\n {\n name: \"Populaire vliegtickets\",\n href: null,\n subItems: [\n { name: \"Londen\", href: \"https://www.d-reizen.nl/vliegtickets/engeland/londen\", subItems: [] },\n { name: \"Barcelona\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/barcelona\", subItems: [] },\n { name: \"Curaçao\", href: \"https://www.d-reizen.nl/vliegtickets/curacao\", subItems: [] },\n { name: \"Last minute tickets\", href: \"https://www.d-reizen.nl/vliegtickets/last-minute\", subItems: [] },\n { name: \"Vliegen vanaf Duitsland\", href: \"https://www.d-reizen.nl/vliegen-vanaf/duitsland\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrip Europa\",\n href: null,\n subItems: [\n { name: \"Malaga\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/malaga\", subItems: [] },\n { name: \"Valencia\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/valencia\", subItems: [] },\n { name: \"Rome\", href: \"https://www.d-reizen.nl/vliegtickets/italie/rome\", subItems: [] },\n { name: \"Lissabon\", href: \"https://www.d-reizen.nl/vliegtickets/portugal/lissabon\", subItems: [] },\n { name: \"Berlijn\", href: \"https://www.d-reizen.nl/vliegtickets/duitsland/berlijn\", subItems: [] },\n ],\n },\n {\n name: \"Zonvakantie\",\n href: null,\n subItems: [\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/vliegtickets/spanje\", subItems: [] },\n { name: \"Mallorca\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/mallorca\", subItems: [] },\n { name: \"Ibiza\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/ibiza\", subItems: [] },\n { name: \"Turkije\", href: \"https://www.d-reizen.nl/vliegtickets/turkije\", subItems: [] },\n { name: \"Marokko\", href: \"https://www.d-reizen.nl/vliegtickets/marokko\", subItems: [] },\n ],\n },\n {\n name: \"Buiten Europa\",\n href: null,\n subItems: [\n { name: \"New York\", href: \"https://www.d-reizen.nl/vliegtickets/amerika/new-york\", subItems: [] },\n { name: \"Bali\", href: \"https://www.d-reizen.nl/vliegtickets/indonesie/bali\", subItems: [] },\n { name: \"Thailand\", href: \"https://www.d-reizen.nl/vliegtickets/thailand\", subItems: [] },\n { name: \"Dubai\", href: \"https://www.d-reizen.nl/vliegtickets/verenigde-arabische-emiraten/dubai\", subItems: [] },\n { name: \"Aruba\", href: \"https://www.d-reizen.nl/vliegtickets/aruba\", subItems: [] },\n ],\n },\n {\n name: \"Verre vliegtickets\",\n href: null,\n subItems: [\n { name: \"Amerika\", href: \"https://www.d-reizen.nl/vliegtickets/amerika\", subItems: [] },\n { name: \"Canada\", href: \"https://www.d-reizen.nl/vliegtickets/canada\", subItems: [] },\n { name: \"Zuid-Afrika\", href: \"https://www.d-reizen.nl/vliegtickets/zuid-afrika\", subItems: [] },\n { name: \"Australië\", href: \"https://www.d-reizen.nl/vliegtickets/australie\", subItems: [] },\n { name: \"Nieuw-Zeeland\", href: \"https://www.d-reizen.nl/vliegtickets/nieuw-zeeland\", subItems: [] },\n ],\n },\n {\n name: \"Populaire maatschappijen\",\n href: null,\n subItems: [\n { name: \"Transavia\", href: \"https://www.d-reizen.nl/vliegtickets/airlines/transavia\", subItems: [] },\n { name: \"KLM\", href: \"https://www.d-reizen.nl/vliegtickets/airlines/klm\", subItems: [] },\n { name: \"EasyJet\", href: \"https://www.d-reizen.nl/vliegtickets/airlines/easyjet\", subItems: [] },\n { name: \"Emirates\", href: \"https://www.d-reizen.nl/vliegtickets/airlines/emirates\", subItems: [] },\n ],\n },\n];\n\nexport const stedentripsMenu = [\n {\n name: \"Stedentrips Noord-Europa\",\n href: null,\n subItems: [\n { name: \"Londen\", href: \"https://www.d-reizen.nl/vakantie/groot-brittannie/londen/londen\", subItems: [] },\n { name: \"Parijs\", href: \"https://www.d-reizen.nl/vakantie/frankrijk/parijs/parijs\", subItems: [] },\n { name: \"Berlijn\", href: \"https://www.d-reizen.nl/vakantie/duitsland/berlijn/berlijn\", subItems: [] },\n { name: \"Dublin\", href: \"https://www.d-reizen.nl/vakantie/ierland/dublin/dublin\", subItems: [] },\n { name: \"Stockholm\", href: \"https://www.d-reizen.nl/vakantie/zweden/stockholm/stockholm\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrips Midden-Europa\",\n href: null,\n subItems: [\n { name: \"Wenen\", href: \"https://www.d-reizen.nl/vakantie/oostenrijk/wenen/wenen\", subItems: [] },\n { name: \"Praag\", href: \"https://www.d-reizen.nl/vakantie/tsjechie/praag-en-omstreken/praag\", subItems: [] },\n { name: \"Krakau\", href: \"https://www.d-reizen.nl/vakantie/polen/krakau/krakau\", subItems: [] },\n { name: \"Budapest\", href: \"https://www.d-reizen.nl/vakantie/hongarije/budapest/budapest\", subItems: [] },\n { name: \"Venetië\", href: \"https://www.d-reizen.nl/vakantie/italie/venetie/venetie\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrips Zuid-Europa\",\n href: null,\n subItems: [\n { name: \"Valencia\", href: \"https://www.d-reizen.nl/vakantie/spanje/valencia/valencia\", subItems: [] },\n { name: \"Barcelona\", href: \"https://www.d-reizen.nl/vakantie/spanje/barcelona/barcelona\", subItems: [] },\n { name: \"Rome\", href: \"https://www.d-reizen.nl/vakantie/italie/rome/rome\", subItems: [] },\n { name: \"Lissabon\", href: \"https://www.d-reizen.nl/vakantie/portugal/lissabon/lissabon\", subItems: [] },\n { name: \"Sevilla\", href: \"https://www.d-reizen.nl/vakantie/spanje/sevilla/sevilla\", subItems: [] },\n ],\n },\n {\n name: \"Verre stedentrips\",\n href: null,\n subItems: [\n { name: \"New York\", href: \"https://www.d-reizen.nl/vakantie/verenigde-staten/new-york/new-york-city\", subItems: [] },\n { name: \"Las Vegas\", href: \"https://www.d-reizen.nl/vakantie/verenigde-staten/las-vegas/las-vegas\", subItems: [] },\n { name: \"Dubai\", href: \"https://www.d-reizen.nl/vakantie/verenigde-arabische-emiraten/dubai/dubai\", subItems: [] },\n { name: \"Marrakech\", href: \"https://www.d-reizen.nl/vakantie/marokko/marrakech/marrakech\", subItems: [] },\n { name: \"Bangkok\", href: \"https://www.d-reizen.nl/vakantie/thailand/bangkok/bangkok\", subItems: [] },\n ],\n },\n {\n name: \"Populaire stedentrips\",\n href: null,\n subItems: [\n { name: \"Stedentrip Spanje\", href: \"https://www.d-reizen.nl/stedentrip/spaanse-steden\", subItems: [] },\n { name: \"Stedentrip Italië\", href: \"https://www.d-reizen.nl/stedentrip/stedentrip-italie\", subItems: [] },\n { name: \"Stedentrip Benelux\", href: \"https://www.d-reizen.nl/stedentrip/benelux\", subItems: [] },\n { name: \"Disneyland® Paris\", href: \"https://www.d-reizen.nl/disneyland-paris\", subItems: [] },\n { name: \"Weekendje weg\", href: \"https://www.d-reizen.nl/weekendje-weg\", subItems: [] },\n ],\n },\n {\n name: \"Populaire thema's\",\n href: null,\n subItems: [\n { name: \"Last minute stedentrip\", href: \"https://www.d-reizen.nl/stedentrip/last-minute\", subItems: [] },\n { name: \"Culturele stedentrip\", href: \"https://www.d-reizen.nl/stedentrip/culturele-stedentrips\", subItems: [] },\n { name: \"Steden met stranden\", href: \"https://www.d-reizen.nl/stedentrip/steden-met-stranden\", subItems: [] },\n { name: \"Romantische steden\", href: \"https://www.d-reizen.nl/stedentrip/romantische-steden\", subItems: [] },\n { name: \"Shopsteden\", href: \"https://www.d-reizen.nl/stedentrip/stedentrips-voor-shopliefhebbers\", subItems: [] },\n ],\n },\n];\n\n\nexport const overigeVakantiesMenu = [\n {\n name: \"Populaire vakanties\",\n href: null,\n subItems: [\n { name: \"Autovakanties\", href: \"https://www.d-reizen.nl/autovakantie\", subItems: [] },\n { name: \"Wintersport\", href: \"https://www.d-reizen.nl/wintersport\", subItems: [] },\n { name: \"Vliegtickets\", href: \"https://www.d-reizen.nl/vliegtickets\", subItems: [] },\n { name: \"Kampeervakantie\", href: \"https://www.d-reizen.nl/kampeervakantie\", subItems: [] },\n { name: \"Busreizen\", href: \"https://www.d-reizen.nl/busreizen\", subItems: [] },\n ],\n },\n {\n name: \"Autovakanties\",\n href: null,\n subItems: [\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/autovakantie/spanje\", subItems: [] },\n { name: \"Italië\", href: \"https://www.d-reizen.nl/autovakantie/italie\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.d-reizen.nl/autovakantie/duitsland\", subItems: [] },\n { name: \"Oostenrijk\", href: \"https://www.d-reizen.nl/autovakantie/oostenrijk\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.d-reizen.nl/autovakantie/frankrijk\", subItems: [] },\n ],\n },\n {\n name: \"Wintersport\",\n href: null,\n subItems: [\n { name: \"Oostenrijk\", href: \"https://www.d-reizen.nl/wintersport/oostenrijk\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.d-reizen.nl/wintersport/duitsland\", subItems: [] },\n { name: \"Italië\", href: \"https://www.d-reizen.nl/wintersport/italie\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.d-reizen.nl/wintersport/frankrijk\", subItems: [] },\n { name: \"Zwitserland\", href: \"https://www.d-reizen.nl/wintersport/zwitserland\", subItems: [] },\n ],\n },\n {\n name: \"Populaire rondreizen\",\n href: null,\n subItems: [\n { name: \"Rondreis Thailand\", href: \"https://www.d-reizen.nl/rondreis/thailand\", subItems: [] },\n { name: \"Rondreis Zuid-Afrika\", href: \"https://www.d-reizen.nl/rondreis/zuid-afrika\", subItems: [] },\n { name: \"Rondreis Tanzania\", href: \"https://www.d-reizen.nl/rondreis/tanzania\", subItems: [] },\n { name: \"Rondreis Amerika\", href: \"https://www.d-reizen.nl/rondreis/amerika\", subItems: [] },\n { name: \"Rondreis Italië\", href: \"https://www.d-reizen.nl/rondreis/italie\", subItems: [] },\n ],\n },\n {\n name: \"Meer rondreizen\",\n href: null,\n subItems: [\n { name: \"Rondreis Canada\", href: \"https://www.d-reizen.nl/rondreis/canada\", subItems: [] },\n { name: \"Rondreis Schotland\", href: \"https://www.d-reizen.nl/rondreis/schotland\", subItems: [] },\n { name: \"Rondreis IJsland\", href: \"https://www.d-reizen.nl/rondreis/ijsland\", subItems: [] },\n { name: \"Rondreis Noorwegen\", href: \"https://www.d-reizen.nl/rondreis/noorwegen\", subItems: [] },\n { name: \"Alle rondreizen\", href: \"https://www.d-reizen.nl/rondreis\", subItems: [] },\n ],\n },\n {\n name: \"Cruises\",\n href: null,\n subItems: [\n { name: \"Cruise Caribbean\", href: \"https://www.d-reizen.nl/cruise/caribbean\", subItems: [] },\n { name: \"Cruise Noorwegen\", href: \"https://www.d-reizen.nl/cruise/noorwegen\", subItems: [] },\n { name: \"Cruise Verre Oosten\", href: \"https://www.d-reizen.nl/cruise/verre-oosten\", subItems: [] },\n { name: \"Cruise Zuid-Amerika\", href: \"https://www.d-reizen.nl/cruise/zuid-amerika\", subItems: [] },\n { name: \"Alle cruisevakanties\", href: \"https://www.d-reizen.nl/cruise\", subItems: [] },\n ],\n },\n];","\"use client\";\nimport { useState, useRef, useCallback, useLayoutEffect } from \"react\";\nimport { useInView } from \"react-intersection-observer\";\nimport clsx from \"clsx\";\nimport { lastMinutesMenu, overigeVakantiesMenu, stedentripsMenu, verreReizenMenu, vliegticketsMenu, zonvakanties } from \"./mockdata\";\nimport { useBrand } from \"../../theme\";\nimport { IconArrowDown, IconChevronRight } from \"../../icons\";\n\ninterface MenuProps {\n \"data-testid\"?: string;\n className?: string;\n items?: MenuItemType[] | undefined;\n}\n\nexport interface MenuItemType {\n name: string;\n href: string | null;\n subItems: Array<{\n name: string;\n href: string | null;\n subItems: Array<any>;\n }>;\n}\n\nconst PrijsvrijMenuItems: MenuItemType[] = [\n {\n name: \"Vakanties\",\n href: \"https://www.prijsvrij.nl/vakanties\",\n subItems: [\n {\n name: \"Zonvakanties\",\n href: \"https://www.prijsvrij.nl/zonvakanties\",\n subItems: [\n { name: \"Spanje\", href: \"https://www.prijsvrij.nl/vakanties/spanje\", subItems: [] },\n { name: \"Canarische Eilanden\", href: \"https://www.prijsvrij.nl/vakanties/canarische-eilanden\", subItems: [] },\n { name: \"Griekenland\", href: \"https://www.prijsvrij.nl/vakanties/griekenland\", subItems: [] },\n { name: \"Turkije\", href: \"https://www.prijsvrij.nl/vakanties/turkije\", subItems: [] },\n { name: \"Portugal\", href: \"https://www.prijsvrij.nl/vakanties/portugal\", subItems: [] },\n { name: \"Italië\", href: \"https://www.prijsvrij.nl/vakanties/italie\", subItems: [] },\n ],\n },\n {\n name: \"Verre reizen\",\n href: \"https://www.prijsvrij.nl/verre-reizen\",\n subItems: [\n { name: \"Egypte\", href: \"https://www.prijsvrij.nl/vakanties/egypte\", subItems: [] },\n { name: \"Mexico\", href: \"https://www.prijsvrij.nl/vakanties/mexico\", subItems: [] },\n { name: \"Curaçao\", href: \"https://www.prijsvrij.nl/vakanties/curacao\", subItems: [] },\n { name: \"Dominicaanse Rep.\", href: \"https://www.prijsvrij.nl/vakanties/dominicaanse-republiek\", subItems: [] },\n { name: \"V.A.E.\", href: \"https://www.prijsvrij.nl/vakanties/verenigde-arabische-emiraten\", subItems: [] },\n { name: \"Aruba\", href: \"https://www.prijsvrij.nl/vakanties/aruba\", subItems: [] },\n ],\n },\n {\n name: \"Autovakanties\",\n href: \"https://www.prijsvrij.nl/autovakanties\",\n subItems: [\n { name: \"Spanje\", href: \"https://www.prijsvrij.nl/autovakanties/spanje\", subItems: [] },\n { name: \"Italië\", href: \"https://www.prijsvrij.nl/autovakanties/italie\", subItems: [] },\n { name: \"Oostenrijk\", href: \"https://www.prijsvrij.nl/autovakanties/oostenrijk\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.prijsvrij.nl/autovakanties/duitsland\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.prijsvrij.nl/autovakanties/frankrijk\", subItems: [] },\n { name: \"Kroatië\", href: \"https://www.prijsvrij.nl/autovakanties/kroatie\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrips\",\n href: \"https://www.prijsvrij.nl/stedentrips\",\n subItems: [\n { name: \"Valencia\", href: \"https://www.prijsvrij.nl/vakanties/spanje/valencia/valencia\", subItems: [] },\n { name: \"Rome\", href: \"https://www.prijsvrij.nl/vakanties/italie/rome/rome\", subItems: [] },\n { name: \"Barcelona\", href: \"https://www.prijsvrij.nl/vakanties/spanje/barcelona/barcelona\", subItems: [] },\n { name: \"Lissabon\", href: \"https://www.prijsvrij.nl/vakanties/portugal/lissabon/lissabon\", subItems: [] },\n { name: \"Marrakech\", href: \"https://www.prijsvrij.nl/vakanties/marokko/marrakech/marrakech\", subItems: [] },\n { name: \"Praag\", href: \"https://www.prijsvrij.nl/vakanties/tsjechie/praag-en-omstreken/praag\", subItems: [] },\n ],\n },\n {\n name: \"Camping\",\n href: \"https://www.prijsvrij.nl/campings\",\n subItems: [\n { name: \"Spanje\", href: \"https://www.prijsvrij.nl/campings/spanje\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.prijsvrij.nl/campings/frankrijk\", subItems: [] },\n { name: \"Italië\", href: \"https://www.prijsvrij.nl/campings/italie\", subItems: [] },\n { name: \"Kroatië\", href: \"https://www.prijsvrij.nl/campings/kroatie\", subItems: [] },\n { name: \"Nederland\", href: \"https://www.prijsvrij.nl/campings/nederland\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.prijsvrij.nl/campings/duitsland\", subItems: [] },\n ],\n },\n {\n name: \"Wintersport\",\n href: \"https://www.prijsvrij.nl/wintersport\",\n subItems: [\n { name: \"Oostenrijk\", href: \"https://www.prijsvrij.nl/wintersport/oostenrijk\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.prijsvrij.nl/wintersport/frankrijk\", subItems: [] },\n { name: \"Italië\", href: \"https://www.prijsvrij.nl/wintersport/italie\", subItems: [] },\n { name: \"Tsjechië\", href: \"https://www.prijsvrij.nl/wintersport/tsjechie\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.prijsvrij.nl/wintersport/duitsland\", subItems: [] },\n { name: \"Zwitserland\", href: \"https://www.prijsvrij.nl/wintersport/zwitserland\", subItems: [] },\n ],\n },\n ],\n },\n\n {\n name: \"Last Minutes\",\n href: \"https://www.prijsvrij.nl/last-minute\",\n subItems: [],\n },\n\n {\n name: \"All Inclusive\",\n href: \"https://www.prijsvrij.nl/all-inclusive\",\n subItems: [],\n },\n\n {\n name: \"Thema's\",\n href: \"https://www.prijsvrij.nl/themas\",\n subItems: [\n { name: \"Kindvriendelijk\", href: \"https://www.prijsvrij.nl/kindvriendelijk\", subItems: [] },\n { name: \"Adults only\", href: \"https://www.prijsvrij.nl/adults-only\", subItems: [] },\n { name: \"Luxe hotels\", href: \"https://www.prijsvrij.nl/luxe-vakanties\", subItems: [] },\n { name: \"Boutique hotels\", href: \"https://www.prijsvrij.nl/boutique-vakanties\", subItems: [] },\n { name: \"Hotels met Aquapark\", href: \"https://www.prijsvrij.nl/waterparken\", subItems: [] },\n { name: \"Hotels met Waterspeeltuin\", href: \"https://www.prijsvrij.nl/waterparken/splash-kids\", subItems: [] },\n { name: \"Huwelijksreis\", href: \"https://www.prijsvrij.nl/huwelijksreizen\", subItems: [] },\n { name: \"Jongerenvakantie\", href: \"https://www.prijsvrij.nl/jongerenvakanties\", subItems: [] },\n { name: \"Wandelvakantie\", href: \"https://www.prijsvrij.nl/wandelvakanties\", subItems: [] },\n { name: \"Natuurvakanties\", href: \"https://www.prijsvrij.nl/natuurvakanties\", subItems: [] },\n { name: \"Swim up kamer\", href: \"https://www.prijsvrij.nl/luxe-vakanties/swim-up-kamers\", subItems: [] },\n { name: \"Alleen op vakantie\", href: \"https://www.prijsvrij.nl/themas/alleen-op-vakantie\", subItems: [] },\n { name: \"Wintersport\", href: \"https://www.prijsvrij.nl/wintersport\", subItems: [] },\n { name: \"Hotels aan het strand\", href: \"https://www.prijsvrij.nl/hotels-aan-het-strand\", subItems: [] },\n ],\n },\n\n {\n name: \"Acties\",\n href: \"https://www.prijsvrij.nl/acties\",\n subItems: [],\n },\n];\nconst DreizenMenuItems: MenuItemType[] = [\n {\n name: 'Zonvakanties',\n href: null,\n subItems: [...zonvakanties]\n },\n {\n name: 'Last minute',\n href: null,\n subItems: [...lastMinutesMenu]\n },\n {\n name: 'Verre reizen',\n href: null,\n subItems: [...verreReizenMenu]\n },\n {\n name: 'Vliegtickets',\n href: null,\n subItems: [...vliegticketsMenu]\n },\n {\n name: 'Stedentrips',\n href: null,\n subItems: [...stedentripsMenu]\n },\n {\n name: 'Overige',\n href: null,\n subItems: [...overigeVakantiesMenu]\n }\n];\n\nconst MenuItem = ({\n item,\n isOpen,\n brand,\n onOpen\n}: {\n item: MenuItemType;\n isOpen: boolean;\n brand: string;\n onOpen: () => void;\n}) => {\n const [dropdownOffset, setDropdownOffset] = useState({ x: 0, y: 0 });\n const [isReady, setIsReady] = useState(false);\n const menuItemRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const hasClampedRef = useRef(false);\n const prevOpenRef = useRef(false);\n const readyFrameRef = useRef<number | null>(0);\n\n const handlePointerEnter = () => {\n onOpen();\n };\n\n const clampDropdownToViewport = useCallback(() => {\n if (!dropdownRef.current || !menuItemRef.current) return;\n const dropdownRect = dropdownRef.current.getBoundingClientRect();\n const menuItemRect = menuItemRef.current.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const padding = 16;\n\n const dropdownWidth = dropdownRect.width;\n // Base position assumes top-full + left-1/2 + translateX(-50%)\n const baseLeft = menuItemRect.left + menuItemRect.width / 2 - dropdownWidth / 2;\n\n const minLeft = padding;\n const maxLeft = Math.max(padding, viewportWidth - dropdownWidth - padding);\n\n const clampedLeft = Math.min(Math.max(baseLeft, minLeft), maxLeft);\n\n setDropdownOffset({\n x: clampedLeft - baseLeft,\n y: 0\n });\n }, []);\n\n // Use intersection observer to know if the dropdown is fully in view.\n const { ref: dropdownInViewRef } = useInView({\n threshold: 1,\n rootMargin: \"-16px\"\n });\n\n // Set refs for dropdown\n const setDropdownRefs = (node: HTMLDivElement | null) => {\n dropdownRef.current = node;\n dropdownInViewRef(node);\n };\n\n useLayoutEffect(() => {\n if (isOpen && !prevOpenRef.current) {\n setIsReady(false);\n hasClampedRef.current = false;\n clampDropdownToViewport();\n hasClampedRef.current = true;\n if (readyFrameRef.current !== null) {\n if (typeof window.cancelAnimationFrame === \"function\") {\n window.cancelAnimationFrame(readyFrameRef.current);\n }\n }\n // Show dropdown after a frame to ensure hidden state is applied first\n readyFrameRef.current = window.requestAnimationFrame(() => {\n setIsReady(true);\n });\n const handleResize = () => clampDropdownToViewport();\n window.addEventListener(\"resize\", handleResize);\n return () => {\n if (readyFrameRef.current !== null) {\n if (typeof window.cancelAnimationFrame === \"function\") {\n window.cancelAnimationFrame(readyFrameRef.current);\n }\n readyFrameRef.current = null;\n }\n window.removeEventListener(\"resize\", handleResize);\n };\n }\n if (!isOpen) {\n hasClampedRef.current = false;\n setDropdownOffset({ x: 0, y: 0 });\n setIsReady(false);\n if (readyFrameRef.current !== null) {\n if (typeof window.cancelAnimationFrame === \"function\") {\n window.cancelAnimationFrame(readyFrameRef.current);\n }\n readyFrameRef.current = null;\n }\n }\n prevOpenRef.current = isOpen;\n }, [isOpen, clampDropdownToViewport]);\n\n const getDropdownClasses = () => {\n const baseClasses = \"absolute bg-white shadow-lg z-50 menu-dropdown\";\n return clsx(baseClasses, \"top-full left-1/2\");\n };\n\n const getDropdownStyle = () => {\n if (!isReady) {\n return {\n position: \"fixed\" as const,\n left: \"-9999px\",\n top: \"-9999px\",\n visibility: \"hidden\" as const,\n pointerEvents: \"none\" as const,\n minWidth: \"800px\"\n };\n }\n return {\n minWidth: \"800px\",\n transform: `translateX(-50%) translate(${dropdownOffset.x}px, ${dropdownOffset.y}px)`\n };\n };\n\n return (\n <div \n ref={menuItemRef}\n className=\"relative menu-item text-sm\"\n data-open={isOpen ? \"true\" : \"false\"}\n data-ready={isReady ? \"true\" : \"false\"}\n onPointerEnter={handlePointerEnter}\n >\n <a \n href={item.href || '#'} \n className=\"flex flex-row px-4 py-2 gap-2 items-center menu-link hover:no-underline hover:text-gray-900 transition-colors whitespace-nowrap\"\n >\n {item.name}\n {item.subItems && item.subItems.length > 0 && (\n brand === 'prijsvrij' ? <IconArrowDown className=\"menu-item-icon\" width={18} height={18} /> : <IconChevronRight className=\"rotate-90 menu-item-icon\" width={18} height={18} /> \n )}\n </a>\n \n {item.subItems && item.subItems.length > 0 && (\n <div \n ref={setDropdownRefs}\n className={getDropdownClasses()}\n style={getDropdownStyle()}\n >\n <div className=\"grid grid-cols-3 gap-6 p-6 min-w-[800px]\">\n {item.subItems.map((category, categoryIndex) => (\n <div key={categoryIndex} className=\"menu-category\">\n {category.name && (\n <div className={`px-2 py-2 font-semibold text-gray-800 ${category.subItems && category.subItems.length > 0 ? 'border-b border-gray-100' : ''} mb-2`}>\n <a href={category.href || '#'}>{category.name}</a>\n </div>\n )}\n {category.subItems && category.subItems.length > 0 && (\n <div className=\"space-y-1\">\n {category.subItems.map((subItem, subItemIndex) => (\n <a\n key={subItemIndex}\n href={subItem.href || '#'}\n className=\"block px-2 py-1 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-50 transition-colors\"\n >\n {subItem.name}\n </a>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport const Menu = ({ className, items, ...props }: MenuProps) => {\n const [openItemname, setOpenItemname] = useState<string | null>(null);\n\n const brand = useBrand('prijsvrij');\n\n const handleMenuPointerLeave = () => { \n setOpenItemname(null); \n };\n\n const menuItems = items ?? (brand === 'dreizen' ? DreizenMenuItems : PrijsvrijMenuItems);\n\n return (\n <nav\n data-component=\"Menu\"\n className={clsx(`flex items-center w-full ${brand === 'dreizen' ? 'justify-between h-[40px] border-t border-t-light-gray' : 'justify-end h-[70px]'}`, className)}\n {...props}\n onPointerLeave={handleMenuPointerLeave}\n >\n {menuItems.map((item) => (\n <MenuItem\n key={item.name}\n brand={brand}\n item={item}\n isOpen={openItemname === item.name}\n onOpen={() => setOpenItemname(item.name)}\n />\n ))}\n </nav>\n );\n};\n\nexport { Divider } from \"@components/divider\";\n","import { type SVGProps } from \"react\";\n\nexport const ANVRLogo = ({\n className,\n white,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" {...props}>\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M9.6903 4.24686C8.25463 4.1718 6.89378 3.88846 5.69971 3.22981C6.27483 1.95903 7.3449 0.575129 8.81051 0.111008C9.08204 0.0253734 9.35356 0.009515 9.6903 0V4.24686ZM9.69047 5.3526V4.81447C8.1789 4.67915 6.69726 4.45502 5.41338 3.76782C5.20065 4.27635 5.05206 4.81341 4.94409 5.3526H9.69047ZM14.9199 5.35276C14.8291 4.84424 14.6783 4.35157 14.4816 3.88745C13.1668 4.42558 11.7311 4.76917 10.2644 4.81463V5.35276H14.9199ZM13.7751 2.47608C13.6815 2.34631 13.5796 2.20503 13.5302 2.0933C12.7445 1.03185 11.6552 0 10.2644 0V4.2458C11.6862 4.157 13.016 3.91701 14.2261 3.34928C14.177 3.16528 14.0774 2.99367 13.9804 2.82671L13.9804 2.82669C13.9275 2.73561 13.8754 2.64592 13.8327 2.55636C13.8143 2.53037 13.7949 2.50348 13.7751 2.47608ZM7.33215 0.224365C6.41783 0.910545 5.84129 1.83839 5.27806 2.74482C5.2269 2.82716 5.17584 2.90932 5.12465 2.99112C4.5506 2.61686 3.94554 2.213 3.52222 1.66113C4.7024 0.95702 5.98734 0.539417 7.33215 0.224365ZM14.7403 3.05032C15.4052 2.79659 16.0092 2.213 16.5084 1.68968C15.2684 0.972878 13.9524 0.479156 12.5178 0.224365C13.5152 0.927418 14.2261 2.01847 14.7403 3.05032ZM4.94405 3.52905C4.67253 4.11158 4.47476 4.65288 4.33044 5.35276H0.000976562C0.620999 4.03757 1.70925 2.73613 3.00915 1.97388C3.59818 2.54161 4.24813 3.12519 4.94405 3.52905ZM15.4951 5.35273H19.9999C19.4259 4.08195 18.3066 2.7509 17.0217 2.04785C16.4166 2.66104 15.7218 3.22983 14.981 3.58822C15.0333 3.76066 15.0882 3.92932 15.1426 4.09673C15.2771 4.51028 15.4092 4.91624 15.4951 5.35273Z\" fill={white ? \"#fff\" : \"#DD0934\"}/>\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M2.56239 8.54871H3.52342L3.42721 7.12675H3.41546L2.56239 8.54871ZM3.68591 10.2128L3.60146 9.43678H2.00971L1.49873 10.2128H0.272583L3.15996 5.74707H4.42139L4.91741 10.2128H3.68591ZM7.61135 5.74707H6.45575L5.27771 10.2128H6.4333L7.15488 7.47669H7.16664L8.56169 10.2128H9.71622L10.8943 5.74707H9.73973L9.01922 8.47788H9.00747L7.61135 5.74707ZM12.7971 8.4599L14.5909 5.74707H15.847L12.7704 10.2128H11.8745L11.184 5.74707H12.44L12.7971 8.4599ZM17.1693 6.63514H17.0571L16.7631 7.74839H16.8753C17.2527 7.74839 17.6953 7.6765 17.8235 7.19124C17.9518 6.70597 17.5467 6.63514 17.1693 6.63514ZM19.0454 7.12146C18.8829 7.73676 18.4008 8.2696 17.7402 8.38273L18.6563 10.2128H17.2174L16.5792 8.49479H16.5675L16.1142 10.2128H14.9586L16.1367 5.74707H17.8631C18.7408 5.74707 19.2966 6.16784 19.0454 7.12146ZM9.68945 11.7532C8.25377 11.8282 6.89293 12.1116 5.69885 12.7692C6.27291 14.0399 7.34405 15.4238 8.81072 15.888C9.08225 15.9736 9.35378 15.9895 9.68945 15.999V11.7532ZM13.7753 13.5221C13.6817 13.653 13.5798 13.7954 13.5294 13.9067C12.7436 14.9681 11.6554 15.9989 10.2635 16V11.7542C11.6853 11.843 13.0152 12.0819 14.2242 12.6507C14.1757 12.8349 14.0761 13.0063 13.9791 13.1732C13.9263 13.2639 13.8744 13.3532 13.8319 13.4425C13.8137 13.4683 13.7947 13.4949 13.7753 13.5221ZM7.33227 15.7747C6.41516 15.0882 5.83808 14.1581 5.27461 13.25C5.22463 13.1694 5.17477 13.089 5.12478 13.009C4.55072 13.3833 3.94566 13.7871 3.52234 14.339C4.70145 15.0421 5.98639 15.4607 7.33227 15.7747ZM14.7384 12.949C15.4043 13.2038 16.0083 13.7863 16.5076 14.3096C15.2686 15.0275 13.9526 15.5212 12.517 15.7749C13.5143 15.0719 14.2242 13.9808 14.7384 12.949ZM4.94307 12.4709C4.67155 11.8884 4.47378 11.3471 4.32947 10.6472H0C0.620022 11.9624 1.70827 13.2628 3.00818 14.0261C3.59827 13.4573 4.24822 12.8748 4.94307 12.4709ZM15.4953 10.6472H20.0001C19.4249 11.918 18.3068 13.248 17.0218 13.951C16.4178 13.3389 15.7219 12.7701 14.9811 12.4117C15.0334 12.2393 15.0883 12.0706 15.1427 11.9032C15.2773 11.4897 15.4093 11.0837 15.4953 10.6472ZM9.68937 11.1853V10.6472H4.94299C5.05096 11.1864 5.19955 11.7235 5.41229 12.232C6.69723 11.5437 8.17887 11.3196 9.68937 11.1853ZM14.92 10.6472C14.8292 11.1557 14.6784 11.6484 14.4817 12.1125C13.1669 11.5733 11.7312 11.2297 10.2645 11.1853V10.6472H14.92Z\" fill={white ? \"#fff\" : \"#00A0DD\"}/>\n</svg>\n);\n","import { type SVGProps } from \"react\";\n\nexport const CalamiteitenFondsLogo = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\" {...props}>\n<path d=\"M0 8.08611C0 6.17969 0.678845 4.4306 1.80951 3.06448L2.73444 3.86751C1.71317 5.11288 1.10126 6.70214 1.10126 8.43317C1.10126 12.4298 4.36365 15.6699 8.38826 15.6699C9.54021 15.6699 10.63 15.4042 11.5984 14.9316L11.7037 15.0793C10.5897 15.667 9.31889 16 7.96952 16C3.56805 16.0001 0 12.4567 0 8.08611ZM4.53321 1.9145C4.46821 2.01161 4.37912 2.11516 4.27195 2.1898C4.03332 2.35559 3.76093 2.32937 3.59262 2.09067C3.43282 1.86388 3.46581 1.59165 3.69757 1.43037C3.80987 1.35228 3.93127 1.30944 4.07723 1.29369L3.91802 1.01224C3.77573 1.05902 3.63489 1.11541 3.5104 1.20214C3.10655 1.48282 2.95672 1.90105 3.25542 2.32466C3.58004 2.78506 4.07298 2.68669 4.39944 2.45952C4.5662 2.34368 4.65142 2.24551 4.72832 2.15819L4.53321 1.9145ZM5.95359 1.70673C5.90338 1.63315 5.86498 1.55457 5.83074 1.47427L5.66833 1.09418C5.53523 0.782667 5.26052 0.766625 4.99829 0.87709C4.84633 0.941063 4.72338 1.01829 4.61911 1.12251L4.72696 1.359C4.80231 1.26266 4.90746 1.19283 5.02189 1.1447C5.15015 1.09062 5.27039 1.08371 5.33181 1.22193C5.27328 1.23618 5.21597 1.25497 5.16041 1.27812C4.97091 1.35785 4.64552 1.53901 4.77862 1.85043C4.87331 2.07174 5.09743 2.09518 5.30066 2.00959C5.44672 1.94821 5.52111 1.84976 5.54742 1.68838L5.55148 1.68675C5.57412 1.73948 5.60246 1.78991 5.62799 1.84399L5.95359 1.70673ZM5.09918 1.68512C5.05739 1.58723 5.13622 1.5101 5.25646 1.45967C5.30966 1.437 5.36267 1.41923 5.409 1.40213C5.45988 1.52172 5.42709 1.67887 5.29283 1.73554C5.21003 1.77032 5.12926 1.75581 5.09918 1.68512ZM6.26167 1.64112L6.63417 1.5419L6.21833 0L5.84564 0.0992261L6.26167 1.64112ZM8.03288 1.34661C8.00511 1.26199 7.99022 1.17602 7.97938 1.08937L7.92879 0.679694C7.8873 0.343785 7.62777 0.253108 7.34494 0.287593C7.18108 0.307476 7.0413 0.347916 6.91198 0.419574L6.95028 0.676524C7.04924 0.604386 7.16986 0.566252 7.29328 0.551171C7.43141 0.534265 7.54904 0.560584 7.56983 0.71024C7.5096 0.707882 7.44928 0.710259 7.38943 0.717348C7.18514 0.742227 6.82212 0.826949 6.86361 1.16305C6.89302 1.40156 7.10205 1.48561 7.32124 1.4589C7.47862 1.43969 7.57747 1.36544 7.6477 1.21761L7.65186 1.21694C7.65892 1.27419 7.67227 1.33038 7.68165 1.38926L8.03288 1.34661ZM7.21764 1.09216C7.20458 0.986594 7.3018 0.933955 7.43141 0.918202C7.48887 0.910998 7.54459 0.908596 7.59392 0.904754C7.60978 1.03366 7.53462 1.17563 7.38982 1.19321C7.30054 1.20416 7.22712 1.16824 7.21764 1.09216ZM8.31339 1.30396L8.69334 1.37053L8.77518 0.909365C8.81696 0.674891 8.91592 0.581909 9.05105 0.605731C9.15871 0.624558 9.18686 0.724553 9.16499 0.848177L9.06053 1.43489L9.44087 1.50136L9.52251 1.04019C9.56429 0.805624 9.66325 0.712738 9.79818 0.73656C9.90584 0.755291 9.93399 0.855381 9.91213 0.978717L9.80766 1.56562L10.1878 1.63219L10.3021 0.988707C10.3547 0.69343 10.3144 0.502567 9.99783 0.447142C9.84161 0.419862 9.68482 0.457132 9.57029 0.588345C9.53624 0.435423 9.41968 0.345995 9.26327 0.318523C9.09022 0.287977 8.92627 0.33053 8.82228 0.474518L8.81793 0.47375L8.85382 0.272608L8.50762 0.211996L8.31339 1.30396ZM10.4957 1.75514L10.8556 1.8926L11.2556 0.85759L10.8957 0.720038L10.4957 1.75514ZM11.4226 0.426394L11.0622 0.288937L10.961 0.551267L11.3211 0.688531L11.4226 0.426394ZM11.4432 1.21502L11.6414 1.31136L11.4422 1.71672C11.3258 1.95407 11.334 2.12601 11.6442 2.27644C11.731 2.31832 11.8021 2.33878 11.8713 2.36279L11.9699 2.13312C11.9321 2.12236 11.8919 2.11209 11.8574 2.09537C11.7476 2.04206 11.7485 1.96685 11.808 1.84639L11.988 1.47917L12.2308 1.59674L12.3493 1.35574L12.1065 1.23817L12.2681 0.909173L11.8754 0.849138L11.7657 1.07285L11.5613 0.974107L11.4432 1.21502ZM13.1992 2.78755L13.2428 2.73242C13.4474 2.4723 13.51 2.15089 13.1841 1.89788C12.9103 1.68579 12.5811 1.69991 12.354 1.98837C12.127 2.27673 12.2149 2.61792 12.5054 2.84327C12.6186 2.93097 12.7433 3.0008 12.8716 3.03826L13.0389 2.82521C12.9218 2.80518 12.8116 2.75671 12.718 2.6841C12.5691 2.56864 12.5132 2.44953 12.5913 2.31582L13.1992 2.78755ZM12.7225 2.14215C12.8085 2.04677 12.9254 2.00537 13.0353 2.09067C13.1566 2.1848 13.1392 2.30372 13.0603 2.40429L12.7225 2.14215ZM13.1344 3.33479L13.4119 3.60086L14.1873 2.8034L13.9098 2.53742L13.1344 3.33479ZM14.5103 2.47134L14.2328 2.20526L14.0366 2.40727L14.3137 2.67325L14.5103 2.47134ZM14.2466 3.24123L14.3824 3.41403L14.0244 3.69183C13.8153 3.85426 13.7469 4.01256 13.959 4.28267C14.0185 4.35798 14.0733 4.40725 14.1249 4.45912L14.3148 4.29583C14.2856 4.26941 14.2541 4.2429 14.2303 4.21255C14.155 4.11688 14.1893 4.04992 14.2957 3.96741L14.6197 3.71584L14.7864 3.92726L14.9989 3.76195L14.8328 3.55062L15.1232 3.32537L14.797 3.1005L14.5993 3.25381L14.4594 3.07611L14.2466 3.24123ZM15.1674 5.3804L15.2296 5.34736C15.5232 5.19242 15.7117 4.92404 15.5178 4.56133C15.3545 4.25693 15.0478 4.13705 14.7224 4.3087C14.3971 4.48064 14.3377 4.82779 14.5106 5.15083C14.5782 5.27685 14.6633 5.39087 14.7653 5.47694L15.0056 5.35005C14.9067 5.2844 14.8258 5.19546 14.77 5.09118C14.6812 4.92577 14.6789 4.79465 14.8051 4.70378L15.1674 5.3804ZM14.996 4.59821C15.1135 4.54577 15.2377 4.55499 15.3027 4.67708C15.3754 4.81242 15.3106 4.91395 15.197 4.97399L14.996 4.59821ZM14.884 5.8067L15.003 6.17085L15.4513 6.02638C15.6795 5.9529 15.8087 5.99612 15.8579 6.14616C15.8902 6.24529 15.8454 6.33568 15.6459 6.40013L15.1322 6.56573L15.2512 6.93027L15.9138 6.71654C16.1337 6.64546 16.2997 6.4644 16.2059 6.17709C16.1516 6.01101 16.0366 5.88691 15.86 5.86337L15.8587 5.85934L16.0541 5.79623L15.9457 5.46416L14.884 5.8067ZM15.3157 7.34417L15.3625 7.72446L16.2027 7.62216L16.2362 7.89256L16.5042 7.85981L16.4708 7.5895L16.5386 7.58124C16.6472 7.56818 16.7199 7.59776 16.7318 7.69488C16.739 7.75193 16.7366 7.7845 16.7298 7.81754L16.9966 7.80851C16.999 7.75895 17.0041 7.69411 16.9938 7.6115C16.9561 7.30748 16.8223 7.16724 16.4925 7.20729L16.4245 7.21546L16.396 6.98531L16.1282 7.01797L16.1558 7.24187L15.3157 7.34417ZM15.3849 8.78329C15.3785 9.14946 15.5878 9.43196 15.9564 9.43839C16.3268 9.44473 16.546 9.17001 16.5526 8.80394C16.5592 8.43797 16.3497 8.15527 15.979 8.14903C15.6104 8.14231 15.3913 8.41751 15.3849 8.78329ZM15.6548 8.78819C15.658 8.61135 15.8071 8.5418 15.9722 8.54469C16.1393 8.54757 16.286 8.62259 16.2826 8.79924C16.2796 8.97559 16.1306 9.04533 15.9633 9.04255C15.7984 9.03976 15.6516 8.96484 15.6548 8.78819ZM15.3409 9.65567L15.2606 10.0305L15.7218 10.1279C15.9566 10.1775 16.0465 10.279 16.0135 10.4332C15.9918 10.5353 15.9073 10.5914 15.702 10.5478L15.1739 10.4362L15.0936 10.8109L15.7749 10.9549C16.0012 11.0026 16.2363 10.9284 16.2994 10.6328C16.336 10.4619 16.299 10.2975 16.1576 10.1894L16.1584 10.185L16.3598 10.2277L16.4329 9.88621L15.3409 9.65567ZM15.9106 12.8531L16.0806 12.5067L15.5106 12.2308L15.5124 12.2267C15.6715 12.1946 15.7649 12.0958 15.8327 11.958C15.968 11.6827 15.7821 11.4057 15.5356 11.2862C15.239 11.1424 14.9144 11.1818 14.7687 11.4781C14.691 11.6368 14.7128 11.8204 14.803 11.9187L14.801 11.9224L14.6219 11.8356L14.466 12.1533L15.9106 12.8531ZM15.3533 11.6381C15.4861 11.7027 15.565 11.8333 15.4994 11.9671C15.4372 12.0933 15.2861 12.1243 15.1342 12.0505C14.9874 11.9798 14.9249 11.8308 14.9814 11.716C15.0452 11.586 15.1934 11.5607 15.3533 11.6381ZM14.3584 12.3617C14.2636 12.4332 14.1816 12.5196 14.0822 12.6607C13.9375 12.8662 13.8449 13.1268 14.089 13.2966C14.4368 13.5385 14.6537 12.993 14.796 13.0919C14.8468 13.1273 14.8051 13.2126 14.7569 13.2805C14.7018 13.359 14.6105 13.4437 14.5238 13.4819L14.7258 13.6592C14.8372 13.5859 14.9272 13.4849 15.0033 13.3767C15.1312 13.1952 15.1902 12.9298 14.9797 12.7834C14.6496 12.5539 14.4435 13.0759 14.2893 12.9682C14.2261 12.9243 14.2598 12.8541 14.3054 12.7899C14.3853 12.6765 14.4931 12.5905 14.5761 12.5391L14.3584 12.3617Z\" fill=\"black\"/>\n<path d=\"M2.89844 8.65131C2.89844 5.76443 5.25505 3.42412 8.16215 3.42412C11.0692 3.42412 13.4259 5.76443 13.4259 8.65131C13.4259 11.5383 11.0692 13.8786 8.16215 13.8786C5.25505 13.8786 2.89844 11.5383 2.89844 8.65131Z\" fill=\"black\"/>\n<path d=\"M8.05558 8.79491V13.5781C7.21829 13.5781 6.43121 13.3648 5.74646 12.9897L8.05558 8.79491ZM8.0877 8.01436L4.51007 4.88081C3.75665 5.72102 3.29883 6.82845 3.29883 8.04212C3.29883 9.83674 4.23855 11.3776 5.71648 12.1869L8.0877 8.01436ZM10.3755 12.419C9.66837 12.8063 8.87372 13.0089 8.06613 13.0078V10.2529L10.3755 12.419ZM12.3025 8.4858L8.58991 8.47533L8.60839 6.74142L10.8506 4.28911C12.1521 4.97524 13.0967 6.23962 13.3372 7.73743L12.3025 8.4858Z\" fill=\"black\"/>\n<path d=\"M12.7571 8.7538C12.7571 10.5485 11.7557 12.0417 10.2774 12.8513L8.05273 10.6792V8.7709L12.7571 8.7538ZM10.7743 4.71848C10.1053 4.36576 9.41236 4.16615 8.60187 4.16615V7.1707L10.7743 4.71848Z\" fill=\"black\"/>\n<path d=\"M5.66641 12.2387C5.85764 12.3733 5.81025 11.8132 6.19484 11.7598C6.87998 11.6653 7.26206 11.3646 7.45329 11.4594C8.17441 11.8174 6.97545 11.8076 8.71164 12.0446C9.06035 12.0923 9.12709 12.085 9.4286 12.2345C9.74713 12.3928 9.79752 12.7652 10.0577 12.6468C11.5778 11.954 12.6335 10.429 12.6335 8.65938C12.6335 7.03305 11.742 5.61334 10.4177 4.85641C9.77005 4.48612 10.1643 5.09886 10.0819 5.32152C9.97028 5.62208 9.68493 6.27228 9.25332 6.52385C8.5206 6.95092 8.20197 7.34658 8.37715 7.45723C8.66202 7.63705 9.23823 7.66673 9.42869 7.80515C10.3208 8.45401 10.9072 8.17852 11.0057 8.39042C11.1014 8.59627 11.0045 8.9488 10.99 9.02333C10.8963 9.50458 10.6447 10.2645 10.1561 10.8864C9.55628 11.6494 9.06219 12.0133 8.56858 11.871C8.41942 11.8277 8.8459 10.6675 8.58444 10.3681C7.54895 9.18144 8.42755 8.50473 8.32966 8.64353C8.26562 8.7343 8.39814 7.99784 8.32966 8.10581C8.12382 8.4298 7.43762 7.91581 7.1189 7.9477C6.86924 7.97248 6.78431 8.31146 6.4976 8.15316C6.12278 7.94654 6.07761 7.36281 5.95602 7.33063C5.7171 7.26733 6.1015 6.72749 5.73286 6.46055C4.96832 5.90689 5.35697 5.30183 5.11157 5.54302C4.30311 6.33779 3.80225 7.44052 3.80225 8.65947C3.80225 10.137 4.53836 11.444 5.66641 12.2387Z\" fill=\"#00ACEC\"/>\n</svg>\n);\n\n\n\n\n","import { type SVGProps } from \"react\";\n\nexport const SGRLogo = ({\n className,\n white,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\" {...props}>\n<path d=\"M15.0618 2.67719C11.2657 -1.4724 6.20916 0.439902 6.20916 0.439902C0.393012 2.43411 0 7.54282 0 7.54282L1.15263 7.51811C1.54574 4.70428 4.00053 2.78925 4.00053 2.78925C2.6381 4.83822 3.19623 7.36247 3.19623 7.36247L4.29653 7.24234C3.85109 3.17173 6.0215 1.96881 6.0215 1.96881L7.38809 6.58773C8.03492 6.409 8.49758 6.22431 8.49758 6.22431L7.1188 1.56354C10.0604 1.66904 11.382 4.96794 11.382 4.96794L12.3936 4.41399C11.5289 2.06443 9.30072 1.09532 9.30072 1.09532C12.8347 1.55618 14.1089 3.34936 14.1089 3.34936L15.0618 2.67719Z\" fill={white ? \"#fff\" : \"#CE364F\"}/>\n<path d=\"M6.50379 5.41871C6.65768 4.62419 6.0716 4.47622 5.97332 4.45585C5.86121 4.43235 5.279 4.34651 5.14135 5.15252C5.01638 5.88561 5.58031 6.06071 5.68516 6.08805C5.78373 6.11377 6.35976 6.16319 6.50379 5.41871Z\" fill={white ? \"#fff\" : \"#CE364F\"}/>\n<path d=\"M16.581 0.440101C16.5651 0.451903 16.5429 0.457753 16.5148 0.457753H16.4523V0.318357H16.4973C16.5275 0.318357 16.5508 0.321686 16.5672 0.328343C16.5922 0.33853 16.6047 0.356787 16.6047 0.383012C16.6046 0.409438 16.5966 0.428401 16.581 0.440101Z\" fill={white ? \"#fff\" : \"#CE364F\"}/>\n<path d=\"M8.54072 4.63911C8.07613 3.98904 8.5474 3.58164 8.62594 3.53202C8.62897 3.5301 8.63244 3.52786 8.63634 3.52535C8.74965 3.45223 9.22405 3.14613 9.66346 3.79154C10.0769 4.39865 9.65292 4.80867 9.55503 4.87958C9.47097 4.9407 8.976 5.24804 8.54072 4.63911Z\" fill={white ? \"#fff\" : \"#CE364F\"}/>\n<path d=\"M4.9302 13.362C4.9302 13.362 4.03893 13.2121 3.48274 13.1845C3.07 13.164 2.59854 13.1777 2.19237 13.212C2.18659 13.2124 2.18055 13.2129 2.17426 13.2135C1.8104 13.2439 0.596998 13.3452 0.607362 13.9453C0.614228 14.3486 1.05968 14.4786 1.46708 14.5976C1.53605 14.6177 1.60392 14.6375 1.66839 14.6583C1.7564 14.6866 1.86383 14.7171 1.97845 14.7497C2.41547 14.8738 2.95708 15.0276 2.92597 15.2062C2.88669 15.4316 2.3365 15.4725 1.98276 15.4521C1.55289 15.4271 0.80382 15.3018 0.80382 15.3018L0.155442 15.7732C0.581149 15.8824 1.75341 15.9847 2.45422 15.9984C4.1967 16.0323 5.02625 15.5346 5.02838 15.097C5.03002 14.7485 4.51252 14.5503 4.23636 14.4619C4.15815 14.4368 4.04297 14.4044 3.91014 14.3671C3.41891 14.2291 2.68635 14.0233 2.69024 13.8675C2.69865 13.5237 4.43891 13.8265 4.43891 13.8265L4.9302 13.362Z\" fill={white ? \"#fff\" : \"#2561A6\"}/>\n<path d=\"M10.7154 13.8265L10.545 13.2527C10.545 13.2527 9.83602 13.1024 9.05164 13.1159C8.32946 13.1285 6.06503 13.28 6.05178 14.5503C6.04017 15.6841 8.00358 15.9163 8.67169 15.9163C9.39223 15.9163 9.99079 15.7164 9.99079 15.7164L10.0243 15.8208H11.3048L10.9037 14.5038L9.64643 14.5066L9.82983 15.1787C9.82983 15.1787 9.47754 15.3562 9.07796 15.3562C8.69258 15.3562 7.6894 15.2333 7.66319 14.6049C7.62788 13.758 8.80286 13.7035 9.2482 13.6899C9.69373 13.6762 10.7154 13.8265 10.7154 13.8265Z\" fill={white ? \"#fff\" : \"#2561A6\"}/>\n<path d=\"M7.69819 7.63724C7.69819 7.63724 8.30991 7.45942 8.81281 7.29087L9.22052 8.66929C9.22052 8.66929 9.99494 8.25343 10.0735 7.02398L10.997 6.61407C10.997 6.61407 11.3047 8.97744 9.57639 9.87221L9.9397 11.0999C12.199 9.85405 11.6988 6.02885 11.6988 6.02885L12.7069 5.47782C13.237 7.84371 12.2152 9.85577 12.2152 9.85577C14.6676 7.70018 14.4859 4.37244 14.4859 4.37244L15.5361 3.64328C15.5361 3.64328 16.3165 10.4238 9.75369 12.4523C3.00924 14.537 0.130859 8.62219 0.130859 8.62219L1.38457 8.57488C1.38457 8.57488 2.99966 11.2652 6.16329 11.6692C6.16329 11.6692 4.27687 10.7224 3.46135 8.42187L4.59154 8.28106C4.59154 8.28106 6.12895 11.6646 8.82615 11.4496L8.46526 10.2296C6.45802 10.4935 5.46568 8.36589 5.46568 8.36589L6.49739 8.15095C6.49739 8.15095 7.10398 9.13872 8.1062 9.01556L7.69819 7.63724Z\" fill={white ? \"#fff\" : \"#2561A6\"}/>\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.4963 13.1107H15.2806C15.6915 13.1024 16.7019 13.164 16.7019 13.8197C16.7019 14.3523 16.0075 14.5913 15.8897 14.6049L16.9999 15.8208H15.3755L14.5797 14.8099H13.8594L13.8637 15.8208H12.4935L12.4963 13.1107ZM13.8671 14.2718H14.5042C14.8237 14.264 15.1331 14.1801 15.1299 13.9358C15.1265 13.6892 14.7942 13.6369 14.4925 13.6369C14.112 13.6369 13.8696 13.6408 13.8696 13.6408L13.8671 14.2718Z\" fill={white ? \"#fff\" : \"#2561A6\"}/>\n</svg>\n);\n\n\n\n","\"use client\";\nimport { ANVRLogo } from \"@utils/ANVR\";\nimport { CalamiteitenFondsLogo } from \"@utils/Calamiteitenfonds\";\nimport { SGRLogo } from \"@utils/SGR\";\nimport clsx from \"clsx\";\nimport { useBrand } from \"../../theme\";\n\ninterface UspProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const Nominations = ({ className, ...props }: UspProps) => {\n\n const brand = useBrand('prijsvrij');\n\n return <div\n data-component=\"nominations\"\n className={clsx(\"nominations-wrapper flex font-bold flex-row gap-0.5 w-full\", className)}\n {...props}\n >\n {brand === 'dreizen' ? <>\n <ANVRLogo title=\"ANVR\" height={25} width={35} />\n <CalamiteitenFondsLogo height={25} width={35} title=\"Calamiteitenfonds\" />\n <SGRLogo title=\"SGR\" height={25} width={35} />\n </> : <>\n <ANVRLogo white title=\"ANVR\" height={25} width={35} />\n <SGRLogo white title=\"SGR\" height={25} width={35} />\n </>}\n </div>\n\n}\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useBrand } from \"../../theme\";\nimport { DReizenLogo } from \"@utils/d-reizen_logo\";\nimport { PrijsvrijLogo } from \"@utils/prijsvrij_logo\";\nimport { SearchBox } from \"@components/searchBox\";\nimport { Menu, type MenuItemType } from \"@components/menu\";\nimport { Nominations } from \"@components/nominations\";\n\n\ninterface DividerProps {\n \"data-testid\"?: string;\n className?: string;\n middleNavigation: React.ReactElement;\n menuItems?: MenuItemType[] | undefined;\n}\n\n\nexport const Header = ({ className, middleNavigation, menuItems, \"data-testid\": dataTestId }: DividerProps) => {\n const brand = useBrand();\n\n return (\n <div\n data-component=\"header\"\n data-testid={dataTestId}\n className={clsx(`w-full ${brand === 'dreizen' && 'bg-white shadow-[0_4px_4px_rgba(0,0,0,0.05)]'}`, className)}\n >\n {brand === 'prijsvrij' ? (\n <div className=\"w-full\" style={{ backgroundColor: '#0092f2' }}>\n <span className=\"container mx-auto flex flex-row items-center gap-8\">\n <div className=\"w-[200px] h-[70px] min-w-[200px]\">\n <PrijsvrijLogo />\n </div>\n <div className=\"flex flex-row items-center gap-4 ml-auto h-[70px]\">\n <Nominations />\n <Menu items={menuItems} />\n <SearchBox placeholder={\"Zoek bestemming of accommodatie\"} />\n </div>\n \n </span>\n </div>\n ) : brand === 'dreizen' ? (\n <div>\n <span className=\"container mx-auto h-[88px] overflow-hidden flex flex-row items-center justify-between\">\n <div className=\"w-[247px] h-[112px] flex self-start \" >\n <DReizenLogo />\n </div>\n <div className=\"flex flex-row items-center gap-4\">\n {middleNavigation}\n <SearchBox placeholder={\"Zoek bestemming of accommodatie\"} />\n </div>\n </span>\n <span className=\"container mx-auto flex flex-row\">\n <Menu />\n </span>\n </div>\n ) : null}\n </div>\n );\n};\n\nexport { Divider } from \"@components/divider\";\n","\"use client\";\ninterface LogoProps {\n className?: string;\n logo?: React.ReactNode;\n}\n\nexport const Logo = ({ className, logo }: LogoProps) => {\n return logo ? <div className={className}>{logo}</div> : null;\n};\n\nLogo.displayName = \"Logo\";\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\n\n\ninterface IPageRating {\n rating: number;\n ratingsCount: number;\n className?: string;\n text?: string;\n}\n\n const RATING_COLORS = [\n \"#FB3C00\", // 1 ster - rood\n \"#FB7800\", // 2 sterren - oranje \n \"#FBD300\", // 3 sterren - geel\n \"#73CF11\", // 4 sterren - licht groen\n \"#00B845\", // 5 sterren - groen\n ];\n\nexport const PageRating = ({\n rating,\n ratingsCount,\n text,\n className, \n}: IPageRating) => {\n \n const RatingBox = ({ rating: boxRating, ratingsCount }: { rating: number, ratingsCount: number }) => {\n const ratingColor = boxRating > 0 ? RATING_COLORS[Math.min(Math.floor(boxRating) - 1, RATING_COLORS.length - 1)] : \"rgba(0,0,0,0.25)\";\n \n return (\n <div className=\"flex gap-1\">\n {Array.from({ length: ratingsCount }, (_, i) => {\n const isActive = i < Math.floor(boxRating);\n const color = isActive ? ratingColor : \"rgba(0,0,0,0.25)\";\n \n return (\n <div\n key={i}\n className=\"w-6 h-6 rounded flex items-center justify-center\"\n style={{ backgroundColor: color }}\n >\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"white\"\n className=\"w-5 h-5\"\n >\n <path d=\"M12 16.1748L15.65 15.2498L17.175 19.9498L12 16.1748ZM20.4 10.0998H13.975L12 4.0498L10.025 10.0998H3.59998L8.79998 13.8498L6.82498 19.8998L12.025 16.1498L15.225 13.8498L20.4 10.0998Z\"/>\n </svg>\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <span className={cn(\"flex flex-col\", className)}>\n <div\n data-testid=\"rating-container\"\n data-component=\"rating\"\n className=\"flex flex-row gap-4 items-center\"\n >\n <div className=\"flex items-center justify-center\">\n <RatingBox ratingsCount={ratingsCount} rating={rating} />\n </div>\n {text && <span className=\"text-white font-bold text-sm whitespace-nowrap\">{text}</span>} \n </div> \n </span>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface PriceCheckProps {\n \"data-testid\"?: string;\n className?: string;\n price?: number;\n text?: string;\n disabled?: boolean;\n}\n\nexport const PriceCheck = ({ className, price, text, disabled = false, \"data-testid\": testId = \"price-check\", ...props }: PriceCheckProps) => (\n <div\n data-testid={testId}\n data-component=\"price-check\"\n className={clsx(\"flex flex-col w-fit p-2 relative\", disabled && \"price-check-disabled\", className)}\n {...props}\n >\n <span className=\"price-background block w-full h-full\"></span>\n <span className=\"price-check-text-padding text-start price-check-color price-check-fontFamily price-check-font-price-text text-[11px] whitespace-nowrap\">{text}</span>\n <span className=\"price-check-price-padding text-start price-check-color-price price-check-fontFamily-price font-bold text-3xl whitespace-nowrap price-check-price-margin-top\">{price},<span className=\"price-check-minus\">-</span></span>\n </div>\n);\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\nimport { IconStar } from \"../../icons\";\n\n\ninterface IRating {\n rating: number;\n size?: string;\n className?: string;\n}\n\n\nexport const Rating = ({\n rating,\n size,\n className,\n}: IRating) => {\n\n const RatingBox = ({ rating }: { rating: number }) => {\n return (\n <div className=\"flex gap-[2px]\">\n {Array.from({ length: rating }, (_, i) => {\n return (\n <div\n key={i}\n className=\"w-fit h-fit items-center justify-center\"\n >\n <IconStar className={size === 'small' ? 'w-3 h-3' : 'w-4 h-4'} />\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <span className={cn(\"flex flex-col\", className)}>\n <div\n data-testid=\"rating-container\"\n data-component=\"rating\"\n className=\"flex flex-row gap-4 items-center\"\n >\n <div className=\"flex items-center justify-center\">\n <RatingBox rating={rating} />\n </div>\n </div>\n </span>\n );\n};\n","\"use client\";\nimport { cn } from \"@utils/cn\";\nimport { Rating } from \"@components/rating\";\nimport { Fragment, useState } from \"react\";\nimport { Divider } from \"@components/divider\";\n\n\ninterface SearchBoxItem {\n id: string;\n type: string;\n rating?: number;\n city?: string;\n area?: string;\n country?: string;\n name: string;\n image?: string;\n}\n\ninterface SearchBoxResultsProps {\n className?: string;\n searchBoxItems?: SearchBoxItem[] | undefined;\n onClick: (value: string) => void;\n style?: React.CSSProperties;\n}\n\n\nexport const SearchBoxResultItem = ({\n id,\n name,\n rating,\n city,\n area,\n country,\n image,\n type,\n onclick,\n}) => {\n const [imageError, setImageError] = useState(false);\n\n if (type === \"page\") {\n return <>\n\n <div \n tabIndex={0} \n className=\"p-2 flex items-start gap-2 -ml-2\" \n onClick={() => onclick(id)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n onclick(id);\n }\n }}\n >\n <div className=\"flex flex-col text-left\">\n <span className=\"font-semibold text-xs search-box-result-type-page\">{name}</span>\n\n </div>\n </div>\n </>\n } else {\n return <>\n <div \n tabIndex={0} \n className=\"search-box-result p-2 rounded-2xl flex items-start gap-2\" \n onClick={() => onclick(id)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n onclick(id);\n }\n }}\n >\n {!imageError && image && (\n <div className=\"w-12 h-12 min-w-12 min-h-12 rounded-md overflow-hidden\">\n <img\n onError={() => setImageError(true)}\n src={image}\n className=\"w-full h-full object-cover\"\n />\n </div>\n )}\n <div className=\"flex flex-col text-left\">\n <Rating rating={rating} size=\"small\" />\n <span className=\"font-semibold text-xs\">{name}</span>\n <span className=\"text-xs search-box-result-location font-semibold\">\n {city && `${city}, `}{country && `${country}${area && country ? ', ' : ''}${area}`}\n </span> \n </div>\n </div>\n </>\n }\n}\n\nexport const SearchBoxResults = ({\n className,\n searchBoxItems,\n onClick,\n style,\n}: SearchBoxResultsProps) => {\n const pageItems = searchBoxItems?.filter(item => item.type === 'page');\n const accomodationItems = searchBoxItems?.filter(item => item.type !== 'page');\n\n return <div className={cn(\"search-box-results bg-white cursor-pointer rounded-3xl p-5 absolute top-full left-auto right-0 mt-2 w-fit text-right\", className)} style={style}>\n<div className=\"min-w-[400px]\">\n {accomodationItems?.map((result, index) => (\n <Fragment key={result.id}>\n <SearchBoxResultItem onclick={(val: string) => onClick(val)} type={result.type} id={result.id} name={result.name} rating={result.rating} city={result.city} area={result.area} country={result.country} image={result.image} />\n {index < accomodationItems.length - 1 && <Divider className=\"my-2\" />}\n </Fragment>\n ))}\n \n {pageItems && pageItems.length > 0 && (\n <>\n <div className=\"text-xs font-semibold text-gray-600 my-2 text-left\">Pagina's</div>\n {pageItems.map((result, index) => (\n <Fragment key={result.id}>\n <SearchBoxResultItem onclick={(val: string) => onClick(val)} type={result.type} id={result.id} name={result.name} rating={result.rating} city={result.city} area={result.area} country={result.country} image={result.image} />\n {index < pageItems.length - 1 && <Divider className=\"my-2\" />}\n </Fragment>\n ))}\n </>\n )}\n</div>\n </div>\n};\n","\"use client\";\n\n\nimport { cn } from \"@utils/cn\";\n\nimport { IconCar } from \"../../icons/IconCar\";\nimport { IconPlane } from \"../../icons/IconPlane\";\nimport { withPvUi } from \"../withPvUi\";\n\ninterface TransportOption {\n id: string;\n label: string;\n icon: \"FL\" | \"HO\";\n disabled?: boolean;\n}\n\ninterface TransportToggleProps {\n options: TransportOption[];\n selectedValue?: string | undefined;\n onSelect: (value: string) => void;\n disabled?: boolean;\n disabledSingle?: \"FL\" | \"HO\";\n disabledSingleText?: string;\n className?: string;\n loading?: boolean;\n orientation?: \"vertical\" | \"horizontal\";\n}\n\nconst iconMap = {\n FL: IconPlane,\n HO: IconCar,\n};\n\nexport const TransportToggle = withPvUi(({\n options,\n selectedValue,\n onSelect,\n disabled = false,\n disabledSingle = undefined,\n disabledSingleText = \"\",\n className,\n loading,\n orientation = \"horizontal\",\n}: TransportToggleProps) => {\n const normalizeOptionValue = (value?: string) => value?.trim().toUpperCase() ?? \"\";\n const normalizedOptionIds = options.map((option) => normalizeOptionValue(option.id));\n const normalizedSelectedValue = normalizeOptionValue(selectedValue);\n const resolvedSelectedValue = normalizedOptionIds.includes(normalizedSelectedValue)\n ? normalizedSelectedValue\n : normalizedOptionIds[0] ?? \"\";\n\n const handleSelect = (value: string) => {\n if (!disabled && !isDisabled(value))\n onSelect(value);\n };\n\n const isDisabled = (optionId: string) => {\n const option = options.find(opt => opt.id === optionId);\n\n if (disabledSingle)\n return disabled || option?.disabled || normalizeOptionValue(optionId) === normalizeOptionValue(disabledSingle);\n\n return disabled || option?.disabled;\n };\n\n const isDisabledSingle = (optionId: string) => \n disabledSingle && normalizeOptionValue(optionId) === normalizeOptionValue(disabledSingle);\n\n const isActive = (optionId: string) => \n resolvedSelectedValue === normalizeOptionValue(optionId);\n\n return (\n <div className=\"@container w-full box-border\">\n <div\n className={cn(\n \"flex justify-between text-xs w-full toggle p-1 rounded-sm font-bold min-h-12\",\n orientation === \"horizontal\" ? \"flex-row\" : \"flex-col\",\n disabled && \"opacity-50\",\n className\n )}\n data-testid=\"transport-toggle-wrapper\"\n >\n\n {loading ? <div className=\"p-2 text-white toggle-active w-full h-9 text-center tracking-[.08em] flex items-center justify-center uppercase\">Loading...</div> : <>\n {options.map((option) => (\n <div\n key={option.id}\n className={cn(\n \"flex flex-1 flex-row items-center justify-center rounded-sm cursor-pointer tracking-[.08em]\",\n isActive(option.id) ? \"toggle-active\" : \"toggle-inactive\",\n isDisabledSingle(option.id) && \"cursor-not-allowed opacity-50 disabled\"\n )}\n data-testid={`transport-option-${option.id}`}\n onClick={() => isDisabled(option.id) ? null : handleSelect(option.id)}\n >\n\n <span className=\"flex flex-col items-center\">\n <span className=\"whitespace-nowrap uppercase flex flex-row items-center gap-2\">\n <div className=\"flex items-center justify-center w-auto h-4\">\n {(() => {\n const IconComponent = iconMap[option.icon as keyof typeof iconMap];\n if (!IconComponent)\n return null;\n return (\n <IconComponent\n className={`w-4 h-4 ${isActive(option.id) ? \"toggle-active-icon\" : \"toggle-inactive-icon\"}`}\n data-testid={`transport-icon-${option.id}`}\n />\n );\n })()}\n </div>\n {option.label}\n </span>\n {isDisabledSingle(option.id) && <span className=\"ml-1 text-[9px] whitespace-nowrap\">{disabledSingleText}</span>}\n </span>\n </div>\n ))}\n </>}\n </div>\n </div>\n );\n}) as React.FC<TransportToggleProps>;\n\n// Default export for backward compatibility\nexport const Toggle = TransportToggle;\nexport type { TransportOption, TransportToggleProps };\nexport type ToggleProps = TransportToggleProps;\n","\"use client\";\nimport clsx from \"clsx\";\n\nimport { IconHeart } from \"../../icons\";\nimport { Button } from \"@components/button\";\nimport React from \"react\";\n\ninterface TopHeaderMenuProps {\n \"data-testid\"?: string;\n className?: string;\n menuItems?: React.ReactNode[];\n onHeartClick?: () => void;\n}\n\nexport const TopHeaderMenu = ({ className, menuItems, onHeartClick, ...props }: TopHeaderMenuProps) => {\n return (\n <div\n data-component=\"top-header-menu\"\n className={clsx(\"top-header-menu-wrapper\", className)}\n {...props}\n >\n <ul className=\"top-header-menu flex flex-row\">\n {menuItems?.map((item, index) => (\n <React.Fragment key={index}>{item}</React.Fragment>\n ))}\n </ul>\n\n <Button \n variant=\"icon\" \n onClick={onHeartClick} \n icon={<IconHeart width={20} height={20} className=\"text-red-600 mt-[800px]\" />} \n />\n </div>\n );\n};\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\nimport type { Brand } from \"../../theme/brand\";\n\n\ninterface ITopMenu {\n className?: string;\n leftSection?: React.ReactNode;\n rightSection?: React.ReactNode;\n leftSectionClassName?: string;\n rightSectionClassName?: string;\n}\n\n\nexport const TopMenu = ({\n className,\n leftSectionClassName,\n rightSectionClassName,\n leftSection,\n rightSection,\n}: ITopMenu) => {\n\n return <div className=\"w-full topMenu\">\n <div className={cn('topMenu flex flex-row justify-between items-center container mx-auto', className)}>\n <div className={cn('topMenu-leftSection flex-1', leftSectionClassName)}>{leftSection}</div> \n <span className={cn('topMenu-rightSection', rightSectionClassName)}>{rightSection}</span>\n </div>\n </div>\n};\n\ninterface BrandSections {\n left: React.ReactNode;\n right: React.ReactNode;\n}\n\ninterface BrandTopMenuProps extends Omit<ITopMenu, \"leftSection\" | \"rightSection\"> {\n brand: Brand;\n sections: {\n prijsvrij: BrandSections;\n dreizen: BrandSections;\n };\n}\n\nexport const BrandTopMenu = ({\n brand,\n sections,\n ...rest\n}: BrandTopMenuProps) => {\n const resolvedBrand: Brand = brand === \"dreizen\" ? \"dreizen\" : \"prijsvrij\";\n const resolvedSections = sections[resolvedBrand] ?? sections.prijsvrij ?? sections.dreizen;\n\n if (!resolvedSections) {\n return null;\n }\n\n const { left, right } = resolvedSections;\n\n return (\n <TopMenu\n {...rest}\n leftSection={left}\n rightSection={right}\n />\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport React from \"react\";\n\n\nexport interface UspItem {\n icon: React.ReactNode;\n text: string;\n url?: string;\n}\n\ninterface UspProps {\n \"data-testid\"?: string;\n className?: string;\n orientation?: \"horizontal\" | \"vertical\";\n uspItems: UspItem[];\n}\n\nexport const Usp = ({ className, orientation = \"horizontal\", uspItems, \"data-testid\": dataTestId = \"usp\", ...props }: UspProps) => (\n <div\n data-component=\"usp\"\n data-testid={dataTestId}\n className={clsx(`usp-wrapper flex font-bold ${orientation === \"vertical\" ? \"flex-col\" : \"flex-row gap-8\"} w-full`, className)}\n {...props}\n >\n {uspItems.map((item, index) => {\n const content = (\n <>\n <span className={`w-6 h-6 flex ${orientation === \"vertical\" ? \"\" : \"justify-center items-center\"}`}>\n {item.icon}\n </span>\n <span className={`ml-2 flex items-center ${orientation === \"vertical\" ? \"\" : \"justify-center\"} whitespace-nowrap`}>{item.text}</span>\n </>\n );\n\n return (\n <React.Fragment key={index}>\n {item.url ? (\n <a \n href={item.url} \n title={item.text} \n className=\"flex flex-row text-xs font-bold whitespace-nowrap usp-item\"\n >\n {content}\n </a>\n ) : (\n <div \n className={`flex flex-row items-center ${orientation === \"vertical\" ? \"\" : \"justify-center\"} text-xs usp-item`}\n >\n {content}\n </div>\n )}\n </React.Fragment>\n );\n })}\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface MiddleNavigationProps {\n \"data-testid\"?: string;\n className?: string;\n menuItems: { text: string; icon: React.ReactNode; onClick?: () => void }[];\n}\n\n\nconst MenuItem = ({ item }: { item: { text: string; icon: React.ReactNode; onClick?: () => void } }) => {\n return (\n <li onClick={item.onClick} className=\"flex cursor-pointer flex-col justify-center items-center\">\n <span className=\"w-6 h-6 flex items-center justify-center\">{item.icon}</span>\n <span className=\"text-xs mt-2 font-bold whitespace-nowrap\">{item.text}</span> \n </li>\n )\n}\n\n\nexport const MiddleNavigation = ({ className, menuItems, ...props }: MiddleNavigationProps) => (\n <div\n data-component=\"middle-navigation\"\n className={clsx(\"middle-navigation flex flex-row justify-between items-center w-full\", className)}\n {...props}\n >\n <ul className=\"flex flex-row gap-4\">\n {menuItems.map((item) => (\n <MenuItem key={item.text} item={item}/>\n ))}\n \n </ul>\n\n </div>\n);\n\nexport { Divider } from \"@components/divider\";\n","// Footer Navigation Data\nexport const footerNavigationData = [\n // First row of columns\n {\n title: \"Over Prijsvrij\",\n links: [\n { text: \"Over ons\", href: \"#\" },\n { text: \"Drukwerk\", href: \"#\" },\n { text: \"Partner worden\", href: \"#\" },\n { text: \"Affiliate marketing\", href: \"#\" }\n ]\n },\n {\n title: \"Zonvakanties\",\n links: [\n { text: \"Spanje\", href: \"#\" },\n { text: \"Griekenland\", href: \"#\" },\n { text: \"Turkije\", href: \"#\" },\n { text: \"Portugal\", href: \"#\" }\n ]\n },\n {\n title: \"All inclusive\",\n links: [\n { text: \"Turkije\", href: \"#\" },\n { text: \"Spanje\", href: \"#\" },\n { text: \"Egypte\", href: \"#\" },\n { text: \"Griekenland\", href: \"#\" }\n ]\n },\n {\n title: \"Schoolvakanties\",\n links: [\n { text: \"Voorjaarsvakantie\", href: \"#\" },\n { text: \"Meivakantie\", href: \"#\" },\n { text: \"Zomervakantie\", href: \"#\" },\n { text: \"Herfstvakantie\", href: \"#\" }\n ]\n },\n // Second row of columns\n {\n title: \"Inspiratie\",\n links: [\n { text: \"Blog\", href: \"#\" },\n { text: \"Bestemmingen\", href: \"#\" },\n { text: \"Thema's\", href: \"#\" },\n { text: \"Acties\", href: \"#\" }\n ]\n },\n {\n title: \"Populaire eilanden\",\n links: [\n { text: \"Mallorca\", href: \"#\" },\n { text: \"Gran Canaria\", href: \"#\" },\n { text: \"Tenerife\", href: \"#\" },\n { text: \"Ibiza\", href: \"#\" }\n ]\n },\n {\n title: \"Populaire regio's\",\n links: [\n { text: \"Costa Brava\", href: \"#\" },\n { text: \"Costa Dorada\", href: \"#\" },\n { text: \"Riviera Maya\", href: \"#\" },\n { text: \"Algarve\", href: \"#\" }\n ]\n },\n {\n title: \"Last minute\",\n links: [\n { text: \"Spanje\", href: \"#\" },\n { text: \"Griekenland\", href: \"#\" },\n { text: \"Turkije\", href: \"#\" },\n { text: \"Egypte\", href: \"#\" }\n ]\n }\n];\n\n// Footer Bar Data\nexport const footerBarData = {\n leftLinks: [\n { text: \"Vacatures\", href: \"#\" },\n { text: \"Contact\", href: \"#\" },\n { text: \"ANVR SGR\", href: \"#\" },\n { text: \"Reviews\", href: \"#\" },\n { text: \"Cookies\", href: \"#\" }\n ],\n socialLinks: [\n {\n name: \"Facebook\",\n href: \"#\",\n path: \"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"\n },\n {\n name: \"Instagram\",\n href: \"#\",\n path: \"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zM5.838 12a6.162 6.162 0 1112.324 0 6.162 6.162 0 01-12.324 0zM12 16a4 4 0 110-8 4 4 0 010 8zm4.965-10.405a1.44 1.44 0 112.881.001 1.44 1.44 0 01-2.881-.001z\"\n },\n {\n name: \"YouTube\",\n href: \"#\",\n path: \"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\"\n },\n {\n name: \"TikTok\",\n href: \"#\",\n path: \"M12.535.013c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm0 2.163c5.424 0 9.837 4.413 9.837 9.837s-4.413 9.837-9.837 9.837-9.837-4.413-9.837-9.837 4.413-9.837 9.837-9.837zm4.245 5.729c-.393-.197-.86-.197-1.253 0l-2.992 1.496-2.992-1.496c-.393-.197-.86-.197-1.253 0-.393.197-.638.597-.638 1.032v5.968c0 .435.245.835.638 1.032.393.197.86.197 1.253 0l2.992-1.496 2.992 1.496c.393.197.86.197 1.253 0 .393-.197.638-.597.638-1.032v-5.968c0-.435-.245-.835-.638-1.032z\"\n },\n {\n name: \"Pinterest\",\n href: \"#\",\n path: \"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.627 0 12-5.373 12-12 0-6.628-5.373-12-12-12zm5.894 8.221l-1.97 9.28c-.145.658-.537.818-1.084.508l-3-2.21-1.446 1.394c-.14.18-.357.295-.6.295-.002 0-.003 0-.005 0l.213-3.054 5.56-5.022c.24-.213-.054-.334-.373-.121l-6.869 4.326-2.96-.924c-.64-.203-.658-.64.135-.954l11.566-4.458c.538-.196 1.006.128.832.941z\"\n }\n ]\n};","\"use client\";\nimport clsx from \"clsx\";\nimport { footerNavigationData } from \"./mockData\";\nimport { IconChevronRight } from \"../../icons\";\n\nexport type FooterNavigationLink = {\n text: string;\n href: string;\n};\n\nexport type FooterNavigationColumn = {\n title: string;\n links: FooterNavigationLink[];\n};\n\ninterface FooterNavigationProps {\n \"data-testid\"?: string;\n className?: string;\n showIcon?: boolean | undefined;\n columns?: FooterNavigationColumn[] | undefined;\n}\n\nexport const FooterNavigation = ({ className, showIcon = true, columns = footerNavigationData, \"data-testid\": dataTestId = \"footer-navigation\", ...props }: FooterNavigationProps) => (\n <div\n data-component=\"footer-navigation\"\n data-testid={dataTestId}\n className={clsx(\"bg-white py-8 px-6\", className)}\n {...props}\n >\n <div className=\"max-w-7xl mx-auto\">\n <div className=\"grid grid-rows-auto sm:grid-cols-8 gap-8\">\n {columns.map((column, columnIndex) => (\n <div key={columnIndex} className=\"col-span-2\">\n <h3 className=\"font-semibold footer-navigation-category-link mb-4\">{column.title}</h3>\n <ul className=\"\">\n {column.links.map((link, linkIndex) => (\n <li key={linkIndex} className=\"flex items-center\">\n {showIcon && <IconChevronRight width={19} height={19} className=\"text-secondary\" />}\n <a href={link.href} className=\"footer-navigation-link hover:text-gray-900\">\n {link.text}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport { footerBarData } from \"./mockData\";\n\nexport type FooterBarLink = {\n text: string;\n href: string;\n};\n\nexport type FooterBarSocialLink = {\n name: string;\n href: string;\n path?: string;\n iconHtml?: string;\n};\n\nexport type FooterBarData = {\n leftLinks: FooterBarLink[];\n socialLinks: FooterBarSocialLink[];\n};\n\ninterface FooterBarProps {\n \"data-testid\"?: string;\n className?: string;\n data?: FooterBarData | undefined;\n}\n\nexport const FooterBar = ({ className, data = footerBarData, \"data-testid\": dataTestId = \"footer-bar\", ...props }: FooterBarProps) => (\n <div\n data-component=\"footer-bar\"\n data-testid={dataTestId}\n className={clsx(\"bg-primary text-white py-4 px-3 sm:py-4 sm:px-6\", className)}\n {...props}\n >\n <div className=\"max-w-7xl mx-auto flex-col flex sm:flex-row gap-2 sm:gap-0 justify-between items-center\">\n <div className=\"flex space-x-6 w-full items-center justify-center overflow-scroll\">\n {data.leftLinks.map((link, index) => (\n <a key={index} href={link.href} className=\"text-white transition-colors whitespace-nowrap\">\n {link.text}\n </a>\n ))}\n </div>\n\n <div className=\"flex space-x-4\">\n {data.socialLinks.map((social, index) => (\n <a key={index} href={social.href} aria-label={social.name} className=\"text-white transition-colors\">\n {social.iconHtml ? (\n <span\n className=\"block w-6 h-6\"\n dangerouslySetInnerHTML={{ __html: social.iconHtml }}\n />\n ) : (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path d={social.path} />\n </svg>\n )}\n </a>\n ))}\n </div>\n </div>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport type { HTMLAttributes } from \"react\";\nimport { FooterNavigation, type FooterNavigationColumn } from \"./FooterNavigation\";\nimport { FooterBar, type FooterBarData } from \"./FooterBar\";\n\ninterface FooterProps extends HTMLAttributes<HTMLElement> {\n \"data-testid\"?: string;\n className?: string;\n showIcon?: boolean | undefined;\n navigationColumns?: FooterNavigationColumn[] | undefined;\n footerBarData?: FooterBarData | undefined;\n}\n\nexport const Footer = ({\n className,\n showIcon,\n navigationColumns,\n footerBarData,\n \"data-testid\": dataTestId = \"footer\",\n ...props\n}: FooterProps) => (\n <footer\n data-component=\"footer\"\n data-testid={dataTestId}\n className={clsx(\"w-full\", className)}\n {...props}\n >\n <FooterNavigation showIcon={showIcon} columns={navigationColumns} />\n <FooterBar data={footerBarData} />\n </footer>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport type React from \"react\";\nimport { useState } from \"react\";\nimport { IconMinus, IconPlus } from \"../../icons\";\n\nexport interface IAccordionItem {\n title: React.ReactElement;\n content: React.ReactElement;\n iconOpen?: React.ReactElement;\n iconClosed?: React.ReactElement;\n}\n\ninterface PvAccordionProps {\n \"data-testid\"?: string;\n className?: string;\n item: IAccordionItem;\n isOpen?: boolean;\n onToggle?: () => void;\n}\n\nexport const AccordionItem = ({ className, item, isOpen, onToggle, ...props }: PvAccordionProps) => {\n\n const [uncontrolledIsOpen, setUncontrolledIsOpen] = useState(false);\n const resolvedIsOpen = isOpen ?? uncontrolledIsOpen;\n\n const iconOpenFallback = <IconMinus width={16} height={16} className=\"text-secondary\" />;\n const iconClosedFallback = <IconPlus width={16} height={16} className=\"text-primary\" />;\n const icon = resolvedIsOpen ? (item.iconOpen ?? iconOpenFallback) : (item.iconClosed ?? iconClosedFallback);\n\n return (\n <div\n data-component=\"pv-accordion\"\n className={clsx(className, \"divide-y divide-gray-200\")}\n {...props}\n >\n <button\n type=\"button\"\n className=\"flex justify-between w-full py-4 items-center\"\n aria-expanded={resolvedIsOpen}\n onClick={() => (onToggle ? onToggle() : setUncontrolledIsOpen((v) => !v))}\n >\n <span>{item.title}</span>\n <span className=\"w-10 h-10 items-center flex\">{icon}</span>\n </button>\n <div\n className={clsx(\n \"grid transition-[grid-template-rows] duration-300 ease-in-out motion-reduce:transition-none\",\n resolvedIsOpen ? \"grid-rows-[1fr]\" : \"grid-rows-[0fr]\",\n )}\n >\n <div className=\"min-h-0 overflow-hidden\">\n <div\n className={clsx(\n \"py-4 transition-opacity duration-200 motion-reduce:transition-none\",\n resolvedIsOpen ? \"opacity-100\" : \"opacity-0\",\n )}\n >\n {item.content}\n </div>\n </div>\n </div>\n </div>\n );\n};","\"use client\";\nimport clsx from \"clsx\";\nimport { useState } from \"react\";\nimport { AccordionItem, IAccordionItem } from \"./AccordionItem\";\n\ninterface PvAccordionProps {\n \"data-testid\"?: string;\n className?: string;\n items: IAccordionItem[];\n onlyOneOpen?: boolean;\n}\n\nexport const Accordion = ({ className, items, onlyOneOpen = false, ...props }: PvAccordionProps) => {\n const [openItems, setOpenItems] = useState<Set<number>>(() => new Set());\n\n const toggleIndex = (index: number) => {\n setOpenItems((prev) => {\n const next = new Set(prev);\n if (next.has(index)) {\n next.delete(index);\n return next;\n }\n\n if (onlyOneOpen) {\n next.clear();\n }\n next.add(index);\n return next;\n });\n };\n\n return (\n <div\n data-component=\"pv-accordion\"\n className={clsx(className)}\n {...props}\n >\n {items.map((item, index) => (\n <AccordionItem\n key={index}\n item={item}\n isOpen={openItems.has(index)}\n onToggle={() => toggleIndex(index)}\n />\n ))}\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useEffect, useId, useRef, useState } from \"react\";\nimport { IconCheck, IconMinus } from \"../../icons\";\n\ninterface CheckboxProps {\n \"data-testid\"?: string;\n className?: string;\n label?: string;\n checked?: boolean;\n defaultChecked?: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n onChange?: (checked: boolean) => void;\n name?: string;\n value?: string;\n}\n\nexport const Checkbox = ({\n className,\n label,\n checked,\n defaultChecked = false,\n indeterminate = false,\n disabled = false,\n onChange,\n name,\n value,\n ...props\n}: CheckboxProps) => {\n const checkboxId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const isControlled = checked !== undefined;\n const [internalChecked, setInternalChecked] = useState(defaultChecked);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n \n const newChecked = e.target.checked;\n \n if (!isControlled) {\n setInternalChecked(newChecked);\n }\n \n if (onChange) {\n onChange(newChecked);\n }\n };\n\n const isChecked = isControlled ? checked : internalChecked;\n\n return (\n <div\n data-component=\"checkbox\"\n className={clsx(\"inline-flex items-center gap-2\", className)}\n {...props}\n >\n <label\n htmlFor={checkboxId}\n className={clsx(\n \"inline-flex items-center gap-2\",\n disabled ? \"cursor-not-allowed\" : \"cursor-pointer\"\n )}\n >\n <div className=\"relative inline-flex items-center justify-center\">\n <input\n ref={inputRef}\n type=\"checkbox\"\n id={checkboxId}\n {...(isControlled ? { checked } : { defaultChecked })}\n disabled={disabled}\n onChange={handleChange}\n name={name}\n value={value}\n className=\"peer sr-only\"\n />\n <div\n className={clsx(\n \"w-5 h-5 rounded border-2 flex items-center justify-center transition-all\",\n disabled\n ? \"border-gray-300 bg-gray-100\"\n : isChecked || indeterminate\n ? \"border-primary bg-primary\"\n : \"border-gray-400 bg-white hover:border-primary\",\n )}\n >\n {indeterminate ? (\n <IconMinus className=\"text-white\" width={16} height={16} />\n ) : isChecked ? (\n <IconCheck className=\"text-white\" width={16} height={16} />\n ) : null}\n </div>\n </div>\n {label && (\n <span\n className={clsx(\n \"text-sm select-none\",\n disabled ? \"text-gray-400\" : \"text-gray-900\",\n )}\n >\n {label}\n </span>\n )}\n </label>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconCheck } from \"../../icons\";\n\ninterface Step {\n name: string;\n number: number;\n state: \"active\" | \"completed\" | \"upcoming\";\n}\n\ninterface StepperProps {\n \"data-testid\"?: string;\n className?: string;\n steps: Step[];\n}\n\nexport const Stepper = ({ className, steps, ...props }: StepperProps) => {\n\n \n\n\n const getLineColor = (state: Step[\"state\"]) => {\n switch (state) {\n case 'completed': return \"bg-green-600\";\n case 'active': return \"bg-primary-light-50\";\n default: return \"bg-primary-light-50\";\n }\n };\n\n return <div\n data-component=\"stepper\"\n className={clsx(className, \"relative flex flex-row justify-between\")}\n {...props}\n >\n {/* Line layer – runs behind the circles */}\n <div className=\"absolute top-[19px] left-[30px] right-[30px] flex h-[2px]\">\n {steps.slice(0, -1).map((step, i) => (\n <div key={i} className={clsx(\"flex-1\", getLineColor(step.state))} />\n ))}\n </div>\n\n {/* Steps layer – circles on top */}\n {steps.map((step) => {\n let styling = \"bg-white\";\n\n switch (step.state) {\n case 'active':\n styling = \"bg-primary text-white border-primary-light-50 border-3\"\n break;\n \n case 'completed':\n styling = \"bg-green-600 border-primary-light-75 text-white\"\n break;\n \n case 'upcoming':\n styling = \"bg-primary-light-50 border-primary-light-75 border-3 text-white\"\n break;\n \n default:\n break;\n }\n\n return (\n <div className=\"step flex flex-col items-center relative z-10\" key={step.number}>\n <span className={clsx(\"w-[40px] h-[40px] rounded-full flex items-center justify-center\", styling)}>{step.state === 'completed' ? <IconCheck className=\"text-white\" width={16} height={16} /> : step.number}</span>\n <span className={`${step.state === 'active' ? 'text-dark-400' : 'text-light-400'}`}>{step.name}</span>\n </div>\n );\n })}\n </div>\n}\n","\"use client\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport { IconArrival, IconCalendar, IconCancel, IconClock, IconDeparture, IconFood, IconHotel, IconInfo, IconParty } from \"../../icons\";\n\ninterface FilterItem {\n Active: boolean;\n Count: number;\n Id: number;\n Inactive: boolean;\n IsChild: boolean;\n IsFixed: boolean;\n Name: string;\n Sequence: number;\n Value: string;\n}\n\ninterface Filter {\n Active: boolean;\n ActiveFiltersVisible: boolean;\n AddNoPreferenceOption: boolean;\n DoMultiSelectMode: boolean;\n FilterGroupType: number;\n FilterType: number;\n Id: number;\n Items: FilterItem[];\n LocalFilter: boolean;\n MaintainFilterSequenceWhenSelected: boolean;\n Name: string;\n PortalName: string;\n Sequence: number;\n SequenceSelectedFilters: number;\n ShowAllFilterItems: boolean;\n ShowOnTopOnly: boolean;\n UrlName: string;\n Visible: boolean;\n VisibleOutside: boolean;\n}\n\ninterface FilterData {\n name: string | undefined;\n value: string | undefined;\n icon: React.ReactElement;\n internal?: boolean;\n disabled: boolean;\n isCancellable?: boolean;\n}\n\ninterface ResultPageFilterBoxProps {\n \"data-testid\"?: string;\n className?: string;\n filters: Filter[];\n clickFunction: (val: string) => void;\n}\n\nexport const ResultPageFilterBox = ({ className, filters, clickFunction, ...props }: ResultPageFilterBoxProps) => {\n\n\n const departureDateData = filters.find((filter) => filter.Name === \"Vertrekdatum\");\n const durationData = filters.find((filter) => filter.Name === \"Reisduur\");\n const boardBasisData = filters.find((filter) => filter.Name === \"Verzorging\");\n const airportData = filters.find((filter) => filter.Name === \"Luchthaven\");\n const arrivalDateData = filters.find((filter) => filter.Name === \"Aankomst op\");\n const tourOperatorData = filters.find((filter) => filter.Name === \"Touroperator\");\n const roomTypeData = filters.find((filter) => filter.Name === \"Kamertype\");\n\n console.log('arrivalDateData', arrivalDateData)\n\n const travelParty = {\n Name: \"Reisgezelschap\",\n Value: \"2 personen\",\n icon: <IconParty className=\"size-5\" />,\n }\n\n\n\n\n\n const filtersData: FilterData[] = [\n {\n name: departureDateData?.Name,\n value: departureDateData?.Items?.find(item => item.Active)?.Name ? moment(departureDateData?.Items?.find(item => item.Active)?.Name, [\"MM/DD/YYYY\", \"YYYYMMDD\", \"YYYY-MM-DD\"]).locale(\"nl\").format(\"D MMMM [']YY\") : \"Geen voorkeur\",\n icon: <IconCalendar className=\"size-5\" />,\n disabled: Boolean(departureDateData?.Items && departureDateData?.Items.length <= 1),\n isCancellable: true\n },\n {\n name: travelParty?.Name,\n value: travelParty?.Value,\n icon: travelParty?.icon,\n disabled: false,\n isCancellable: true\n },\n {\n name: durationData?.Name,\n value: durationData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconClock className=\"size-5\" />,\n disabled: Boolean(durationData?.Items && durationData?.Items.length <= 1),\n isCancellable: true\n },\n {\n name: boardBasisData?.Name,\n value: boardBasisData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconFood className=\"size-5\" />,\n disabled: Boolean(boardBasisData?.Items && boardBasisData?.Items.length <= 1)\n },\n {\n name: airportData?.Name,\n value: airportData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconDeparture className=\"size-5\" />,\n disabled: Boolean(airportData?.Items && airportData?.Items.length <= 1)\n },\n {\n name: arrivalDateData?.Name,\n value: arrivalDateData?.Items?.length === 1 ? arrivalDateData?.Items[0]?.Name : arrivalDateData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconArrival className=\"size-5\" />,\n disabled: Boolean(arrivalDateData?.Items && arrivalDateData?.Items.length <= 1)\n },\n {\n name: tourOperatorData?.Name,\n value: tourOperatorData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconInfo className=\"size-5\" />,\n disabled: Boolean(tourOperatorData?.Items && tourOperatorData?.Items.length <= 1),\n internal: true\n },\n {\n name: roomTypeData?.Name,\n value: roomTypeData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconHotel className=\"size-5\" />,\n disabled: Boolean(roomTypeData?.Items && roomTypeData?.Items.length <= 1),\n internal: true,\n }\n ]\n\n\n\n return <div\n data-component=\"ResultPageFilterBox\"\n className={clsx(\"bg-white\", className)}\n {...props}\n >\n <div className=\"border border-[#80c8f8] rounded-md overflow-hidden grid grid-cols-1 md:grid-cols-2 [&>*:last-child]:border-b-0 md:[&>*:nth-last-child(-n+2)]:border-b-0 md:[&>*:nth-child(even)]:border-l md:[&>*:nth-child(even)]:border-l-[#80c8f8] [&>*:not(:last-child)]:border-b [&>*:not(:last-child)]:border-b-[#80c8f8] md:[&>*:not(:nth-last-child(-n+2))]:border-b md:[&>*:not(:nth-last-child(-n+2))]:border-b-[#80c8f8]\">\n {filtersData.map((filter, index) => (\n <button onClick={() => {}} key={index} className={`flex flex-row items-center justify-between gap-2 p-1.5 hover:bg-gray-50/70 cursor-pointer ${filter.disabled ? 'bg-gray-100 text-black/50' : ''}`}>\n <div className=\"flex flex-row\">\n <span className=\"whitespace-nowrap p-1.5\">{filter.icon}</span>\n <div className=\"flex flex-col gap-0 items-start\">\n <span className=\"font-bold text-xs text-[#666666]\">{filter.name}</span>\n <span className=\"text-sm\">{filter.value}</span>\n \n </div>\n </div>\n {filter.isCancellable && (<div className=\"flex items-center mr-2 bg-gray-200 rounded-full p-1\">\n <IconCancel className=\"size-3 text-white\" />\n </div>)}\n \n </button>\n ))}\n </div>\n </div>\n}\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconMinus, IconPlus } from \"../../icons\";\nimport { Button } from \"@components/button\";\n\ninterface QuantityButtonsProps {\n \"data-testid\"?: string;\n className?: string;\n value: number;\n setValue: (value: number) => void;\n minValue?: number;\n maxValue?: number;\n}\n\nexport const QuantityButtons = ({ className, value, setValue, minValue = 0, maxValue = 8, ...props }: QuantityButtonsProps) => {\n const isMin = value <= minValue;\n const isMax = value >= maxValue;\n\n return (\n <div\n data-component=\"quantity-buttons\"\n className={clsx(\"flex flex-row w-fit justify-center items-center\", className)}\n {...props}\n >\n <Button\n ariaLabel=\"Decrease value\"\n variant=\"icon\"\n disabled={isMin}\n className=\"group rounded-full quantity-buttons-border-color border-2 p-1 w-8 h-8 items-center justify-center focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n onClick={() => setValue(Math.max(value - 1, minValue))}\n >\n <IconMinus className=\"quantity-buttons-color\" />\n </Button>\n\n <span className=\"mx-5 text-center text-base quantity-buttons-value-color\">{value}</span>\n\n <Button\n ariaLabel=\"Increase value\"\n variant=\"icon\"\n disabled={isMax}\n className=\"group rounded-full quantity-buttons-border-color border-2 p-1 w-8 h-8 items-center justify-center focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n onClick={() => setValue(Math.min(value + 1, maxValue))}\n >\n <IconPlus className=\"quantity-buttons-color\" />\n </Button>\n </div>\n );\n};\n","\"use client\";\nimport {\n cloneElement,\n type HTMLAttributes,\n isValidElement,\n type ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport type { EmblaCarouselType, EmblaOptionsType, EmblaPluginType } from \"embla-carousel\";\nimport useEmblaCarousel from \"embla-carousel-react\";\n\nconst LAZY_LOAD_PLACEHOLDER_SRC =\n \"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D\";\n\nexport interface SliderProps extends HTMLAttributes<HTMLDivElement> {\n className?: string | undefined;\n slides: ReactNode[];\n options?: EmblaOptionsType | undefined;\n plugins?: EmblaPluginType[] | undefined;\n lazyLoad?: boolean | undefined;\n showArrows?: boolean | undefined;\n showDots?: boolean | undefined;\n dotsPlacement?: \"inside\" | \"outside\" | undefined;\n overlay?: ReactNode;\n overlayClassName?: string | undefined;\n viewportClassName?: string;\n containerClassName?: string;\n slideClassName?: string;\n}\n\nexport function Slider({\n slides,\n options,\n plugins,\n lazyLoad = false,\n showArrows = true,\n showDots = true,\n dotsPlacement = \"outside\",\n overlay,\n overlayClassName,\n className,\n viewportClassName,\n containerClassName,\n slideClassName,\n ...props\n}: SliderProps) {\n const [emblaRef, emblaApi] = useEmblaCarousel(options, plugins);\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [scrollSnaps, setScrollSnaps] = useState<number[]>([]);\n const [slidesInView, setSlidesInView] = useState<number[]>([]);\n\n const canScrollPrev = useMemo(() => emblaApi?.canScrollPrev() ?? false, [emblaApi, selectedIndex]);\n const canScrollNext = useMemo(() => emblaApi?.canScrollNext() ?? false, [emblaApi, selectedIndex]);\n\n const scrollPrev = useCallback(() => {\n emblaApi?.scrollPrev();\n }, [emblaApi]);\n\n const scrollNext = useCallback(() => {\n emblaApi?.scrollNext();\n }, [emblaApi]);\n\n const scrollTo = useCallback(\n (index: number) => {\n emblaApi?.scrollTo(index);\n },\n [emblaApi],\n );\n\n useEffect(() => {\n if (!emblaApi) return;\n\n const onSelect = () => {\n setSelectedIndex(emblaApi.selectedScrollSnap());\n };\n\n setScrollSnaps(emblaApi.scrollSnapList());\n onSelect();\n\n emblaApi.on(\"select\", onSelect);\n emblaApi.on(\"reInit\", () => {\n setScrollSnaps(emblaApi.scrollSnapList());\n onSelect();\n });\n\n return () => {\n emblaApi.off(\"select\", onSelect);\n };\n }, [emblaApi]);\n\n const updateSlidesInView = useCallback(\n (api: EmblaCarouselType) => {\n setSlidesInView((current) => {\n if (current.length === api.slideNodes().length) {\n api.off('slidesInView', updateSlidesInView);\n }\n\n const inView = api\n .slidesInView()\n .filter((index) => !current.includes(index));\n\n return current.concat(inView);\n });\n },\n [],\n );\n\n useEffect(() => {\n if (!emblaApi) return;\n if (!lazyLoad) {\n setSlidesInView([]);\n return;\n }\n\n updateSlidesInView(emblaApi);\n emblaApi.on('slidesInView', updateSlidesInView);\n emblaApi.on(\"reInit\", updateSlidesInView);\n\n return () => {\n emblaApi.off('slidesInView', updateSlidesInView);\n emblaApi.off(\"reInit\", updateSlidesInView);\n };\n }, [emblaApi, lazyLoad, updateSlidesInView]);\n\n return (\n <div\n data-component=\"slider\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <div ref={emblaRef} className={cn(\"overflow-hidden\", viewportClassName)}>\n <div className={cn(\"flex touch-pan-y\", containerClassName)}>\n {slides.map((slide, index) => (\n <div\n key={index}\n className={cn(\"min-w-0 shrink-0 grow-0 basis-full\", slideClassName)}\n >\n {(lazyLoad && isValidElement(slide) && slide.type === \"img\")\n ? (() => {\n const hasBeenInView = slidesInView.includes(index);\n const originalSrc = slide.props.src as string | undefined;\n const src = hasBeenInView\n ? originalSrc\n : LAZY_LOAD_PLACEHOLDER_SRC;\n\n return cloneElement(slide, {\n src,\n \"data-src\": originalSrc,\n className: cn(slide.props.className, \"h-auto\"),\n });\n })()\n : isValidElement(slide)\n ? cloneElement(slide, {\n className: cn(slide.props.className, \"h-auto\"),\n })\n : slide}\n </div>\n ))}\n </div>\n\n {showDots && dotsPlacement === \"inside\" && scrollSnaps.length > 1 && (\n <div 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\">\n {scrollSnaps.map((_, index) => (\n <button\n key={index}\n type=\"button\"\n aria-label={`Go to slide ${index + 1}`}\n className={cn(\n \"pointer-events-auto cursor-pointer h-2 w-2 rounded-full bg-transparent border-2 border-white\",\n index === selectedIndex && \"bg-white\",\n )}\n onClick={() => scrollTo(index)}\n />\n ))}\n </div>\n )}\n </div>\n\n {overlay && (\n <div\n className={cn(\n \"pointer-events-none absolute inset-0 z-10\",\n overlayClassName,\n )}\n >\n <div className=\"pointer-events-auto h-full w-full\">{overlay}</div>\n </div>\n )}\n\n {showArrows && (\n <div className=\"pointer-events-none absolute inset-y-0 left-0 right-0 z-20 flex items-center justify-between\">\n <button\n type=\"button\"\n aria-label=\"Previous slide\"\n className={cn(\n \"pointer-events-auto cursor-pointer ml-2 inline-flex size-9 items-center justify-center rounded-full bg-white text-gray-900 shadow\",\n !canScrollPrev && \"opacity-50\",\n )}\n onClick={scrollPrev}\n disabled={!canScrollPrev}\n >\n <span aria-hidden=\"true\">‹</span>\n </button>\n <button\n type=\"button\"\n aria-label=\"Next slide\"\n className={cn(\n \"pointer-events-auto cursor-pointer mr-2 inline-flex size-9 items-center justify-center rounded-full bg-white text-gray-900 shadow\",\n !canScrollNext && \"opacity-50\",\n )}\n onClick={scrollNext}\n disabled={!canScrollNext}\n >\n <span aria-hidden=\"true\">›</span>\n </button>\n </div>\n )}\n\n {showDots && dotsPlacement === \"outside\" && scrollSnaps.length > 1 && (\n <div className=\"relative z-30 mt-3 flex items-center justify-center gap-2\">\n {scrollSnaps.map((_, index) => (\n <button\n key={index}\n type=\"button\"\n aria-label={`Go to slide ${index + 1}`}\n className={cn(\n \"h-2 w-2 rounded-full cursor-pointer bg-gray-300\",\n index === selectedIndex && \"bg-gray-900\",\n )}\n onClick={() => scrollTo(index)}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n","export interface Country {\n Code: number;\n CountryCode: string;\n AreaCode: string;\n Name: string;\n Nationality: string;\n}\n\nexport const countries:Country[] = [\n { \"Code\": 173, \"CountryCode\": \"ES\", \"AreaCode\": \"+34\", \"Name\": \"Canarische Eilanden\", \"Nationality\": \"Spaanse\" },\n { \"Code\": 204, \"CountryCode\": \"AF\", \"AreaCode\": \"+93\", \"Name\": \"Afghanistan\", \"Nationality\": \"Afghaanse\" },\n { \"Code\": 1, \"CountryCode\": \"AL\", \"AreaCode\": \"+355\", \"Name\": \"Albanie\", \"Nationality\": \"Albanese\" },\n { \"Code\": 2, \"CountryCode\": \"DZ\", \"AreaCode\": \"+213\", \"Name\": \"Algerije\", \"Nationality\": \"Algerijnse\" },\n { \"Code\": 5, \"CountryCode\": \"AD\", \"AreaCode\": \"+376\", \"Name\": \"Andorra\", \"Nationality\": \"Andorrese\" },\n { \"Code\": 6, \"CountryCode\": \"AO\", \"AreaCode\": \"+244\", \"Name\": \"Angola\", \"Nationality\": \"Angolese\" }, \n { \"Code\": 9, \"CountryCode\": \"AG\", \"AreaCode\": \"+1\", \"Name\": \"Antigua en Barbuda\", \"Nationality\": \"Antiguaan / Barbudaan / Redondaan\" }, \n { \"Code\": 10, \"CountryCode\": \"AR\", \"AreaCode\": \"+54\", \"Name\": \"Argentinie\", \"Nationality\": \"Argentijnse\" }, \n { \"Code\": 11, \"CountryCode\": \"AM\", \"AreaCode\": \"+374\", \"Name\": \"Armenie\", \"Nationality\": \"Armeense\" }, \n { \"Code\": 12, \"CountryCode\": \"AW\", \"AreaCode\": \"+297\", \"Name\": \"Aruba\", \"Nationality\": \"Arubaanse\" }, { \"Code\": 13, \"CountryCode\": \"AU\", \"AreaCode\": \"+61\", \"Name\": \"Australie\", \"Nationality\": \"Australische\" }, { \"Code\": 14, \"CountryCode\": \"AZ\", \"AreaCode\": \"+994\", \"Name\": \"Azerbeidzjan\", \"Nationality\": \"Azerbeidzjaans\" }, { \"Code\": 15, \"CountryCode\": \"BS\", \"AreaCode\": \"+1\", \"Name\": \"Bahamas\", \"Nationality\": \"Bahamaanse\" }, { \"Code\": 16, \"CountryCode\": \"BH\", \"AreaCode\": \"+973\", \"Name\": \"Bahrein\", \"Nationality\": \"Bahreinse\" }, { \"Code\": 17, \"CountryCode\": \"BD\", \"AreaCode\": \"+880\", \"Name\": \"Bangladesh\", \"Nationality\": \"Bengalees\" }, { \"Code\": 18, \"CountryCode\": \"BB\", \"AreaCode\": \"+1\", \"Name\": \"Barbados\", \"Nationality\": \"Barbadaanse\" }, { \"Code\": 19, \"CountryCode\": \"BE\", \"AreaCode\": \"+32\", \"Name\": \"Belgie\", \"Nationality\": \"Belgische\" }, { \"Code\": 20, \"CountryCode\": \"BZ\", \"AreaCode\": \"+501\", \"Name\": \"Belize\", \"Nationality\": \"Beliziaanse\" }, { \"Code\": 21, \"CountryCode\": \"BJ\", \"AreaCode\": \"+229\", \"Name\": \"Benin\", \"Nationality\": \"Beninse\" }, { \"Code\": 23, \"CountryCode\": \"BT\", \"AreaCode\": \"+975\", \"Name\": \"Bhutan\", \"Nationality\": \"Bhutaanse\" }, { \"Code\": 24, \"CountryCode\": \"BO\", \"AreaCode\": \"+591\", \"Name\": \"Bolivia\", \"Nationality\": \"Boliviaanse\" }, { \"Code\": 206, \"CountryCode\": \"BQ\", \"AreaCode\": \"+599\", \"Name\": \"Bonaire\", \"Nationality\": \"Bonairiaanse\" }, { \"Code\": 25, \"CountryCode\": \"BA\", \"AreaCode\": \"+387\", \"Name\": \"Bosnie Herzegovina\", \"Nationality\": \"Bosniër\" }, { \"Code\": 26, \"CountryCode\": \"BW\", \"AreaCode\": \"+267\", \"Name\": \"Botswana\", \"Nationality\": \"Botswaanse\" }, { \"Code\": 27, \"CountryCode\": \"BR\", \"AreaCode\": \"+55\", \"Name\": \"Brazilie\", \"Nationality\": \"Braziliaanse\" }, { \"Code\": 29, \"CountryCode\": \"BN\", \"AreaCode\": \"+673\", \"Name\": \"Brunei Darussalam\", \"Nationality\": \"Bruneise\" }, { \"Code\": 30, \"CountryCode\": \"BG\", \"AreaCode\": \"+359\", \"Name\": \"Bulgarije\", \"Nationality\": \"Bulgaarse\" }, { \"Code\": 31, \"CountryCode\": \"BF\", \"AreaCode\": \"+226\", \"Name\": \"Burkina Faso\", \"Nationality\": \"Burger van Burkina Faso\" }, { \"Code\": 32, \"CountryCode\": \"BI\", \"AreaCode\": \"+257\", \"Name\": \"Burundi\", \"Nationality\": \"Burundische\" }, { \"Code\": 33, \"CountryCode\": \"KH\", \"AreaCode\": \"+855\", \"Name\": \"Cambodja\", \"Nationality\": \"Cambodjaanse\" }, { \"Code\": 34, \"CountryCode\": \"CA\", \"AreaCode\": \"+1\", \"Name\": \"Canada\", \"Nationality\": \"Canadese\" }, { \"Code\": 209, \"CountryCode\": \"CF\", \"AreaCode\": \"+236\", \"Name\": \"Centraal-Afrikaanse Republiek\", \"Nationality\": \"Centraal-Afrikaanse\" }, { \"Code\": 36, \"CountryCode\": \"CL\", \"AreaCode\": \"+56\", \"Name\": \"Chili\", \"Nationality\": \"Chileense\" }, { \"Code\": 37, \"CountryCode\": \"CN\", \"AreaCode\": \"+86\", \"Name\": \"China\", \"Nationality\": \"Chinese\" }, { \"Code\": 38, \"CountryCode\": \"CO\", \"AreaCode\": \"+57\", \"Name\": \"Colombia\", \"Nationality\": \"Colombiaanse\" }, { \"Code\": 39, \"CountryCode\": \"KM\", \"AreaCode\": \"+269\", \"Name\": \"Comoren\", \"Nationality\": \"Comorese\" }, { \"Code\": 212, \"CountryCode\": \"CD\", \"AreaCode\": \"+243\", \"Name\": \"Congo-Kinshasa\", \"Nationality\": \"Congoleese\" }, { \"Code\": 41, \"CountryCode\": \"CR\", \"AreaCode\": \"+506\", \"Name\": \"Costa Rica\", \"Nationality\": \"Costaricaanse\" }, { \"Code\": 42, \"CountryCode\": \"CU\", \"AreaCode\": \"+53\", \"Name\": \"Cuba\", \"Nationality\": \"Cubaanse\" }, { \"Code\": 213, \"CountryCode\": \"CW\", \"AreaCode\": \"+599\", \"Name\": \"Curacao\", \"Nationality\": \"Curaçaoënaarse\" }, { \"Code\": 43, \"CountryCode\": \"CY\", \"AreaCode\": \"+357\", \"Name\": \"Cyprus\", \"Nationality\": \"Cyprische\" }, { \"Code\": 44, \"CountryCode\": \"DK\", \"AreaCode\": \"+45\", \"Name\": \"Denemarken\", \"Nationality\": \"Deense\" }, { \"Code\": 45, \"CountryCode\": \"DJ\", \"AreaCode\": \"+253\", \"Name\": \"Djibouti\", \"Nationality\": \"Djiboutiaanse\" }, { \"Code\": 46, \"CountryCode\": \"DM\", \"AreaCode\": \"+1\", \"Name\": \"Dominica\", \"Nationality\": \"Dominicaanse\" }, { \"Code\": 47, \"CountryCode\": \"DO\", \"AreaCode\": \"+1\", \"Name\": \"Dominicaanse Republiek\", \"Nationality\": \"Dominicaanse\" }, { \"Code\": 48, \"CountryCode\": \"DE\", \"AreaCode\": \"+49\", \"Name\": \"Duitsland\", \"Nationality\": \"Duitse\" }, { \"Code\": 49, \"CountryCode\": \"EC\", \"AreaCode\": \"+593\", \"Name\": \"Ecuador\", \"Nationality\": \"Ecuadoraanse\" }, { \"Code\": 50, \"CountryCode\": \"EG\", \"AreaCode\": \"+20\", \"Name\": \"Egypte\", \"Nationality\": \"Egyptische\" }, { \"Code\": 51, \"CountryCode\": \"SV\", \"AreaCode\": \"+503\", \"Name\": \"El Salvador\", \"Nationality\": \"Salvadoraanse\" }, { \"Code\": 248, \"CountryCode\": \"ER\", \"AreaCode\": \"+291\", \"Name\": \"Eritrea\", \"Nationality\": \"Eritrese\" }, { \"Code\": 52, \"CountryCode\": \"EE\", \"AreaCode\": \"+372\", \"Name\": \"Estland\", \"Nationality\": \"Estnische\" }, { \"Code\": 53, \"CountryCode\": \"ET\", \"AreaCode\": \"+251\", \"Name\": \"Ethopie\", \"Nationality\": \"Ethiopische\" }, { \"Code\": 56, \"CountryCode\": \"FJ\", \"AreaCode\": \"+679\", \"Name\": \"Fiji\", \"Nationality\": \"Fijische\" }, { \"Code\": 57, \"CountryCode\": \"PH\", \"AreaCode\": \"+63\", \"Name\": \"Filipijnen\", \"Nationality\": \"Filippijnse\" }, { \"Code\": 58, \"CountryCode\": \"FI\", \"AreaCode\": \"+358\", \"Name\": \"Finland\", \"Nationality\": \"Finse\" }, { \"Code\": 59, \"CountryCode\": \"FR\", \"AreaCode\": \"+33\", \"Name\": \"Frankrijk\", \"Nationality\": \"Franse\" }, { \"Code\": 62, \"CountryCode\": \"GA\", \"AreaCode\": \"+241\", \"Name\": \"Gabon\", \"Nationality\": \"Gabonese\" }, { \"Code\": 63, \"CountryCode\": \"GM\", \"AreaCode\": \"+220\", \"Name\": \"Gambia\", \"Nationality\": \"Gambiaanse\" }, { \"Code\": 64, \"CountryCode\": \"GE\", \"AreaCode\": \"+995\", \"Name\": \"Georgie\", \"Nationality\": \"Georgiër\" }, { \"Code\": 65, \"CountryCode\": \"GH\", \"AreaCode\": \"+233\", \"Name\": \"Ghana\", \"Nationality\": \"Ghanese\" }, { \"Code\": 67, \"CountryCode\": \"GD\", \"AreaCode\": \"+1\", \"Name\": \"Grenada\", \"Nationality\": \"Grenadiaanse\" }, { \"Code\": 68, \"CountryCode\": \"GR\", \"AreaCode\": \"+30\", \"Name\": \"Griekenland\", \"Nationality\": \"Griekse\" }, { \"Code\": 193, \"CountryCode\": \"GB\", \"AreaCode\": \"+44\", \"Name\": \"Groot-Brittannie\", \"Nationality\": \"Brits\" }, { \"Code\": 72, \"CountryCode\": \"GT\", \"AreaCode\": \"+502\", \"Name\": \"Guatemala\", \"Nationality\": \"Guatamalteekse\" }, { \"Code\": 216, \"CountryCode\": \"GN\", \"AreaCode\": \"+224\", \"Name\": \"Guinee\", \"Nationality\": \"Guineeër\" }, { \"Code\": 217, \"CountryCode\": \"GW\", \"AreaCode\": \"+245\", \"Name\": \"Guinee-Bissau\", \"Nationality\": \"Guinee-Bissauer\" }, { \"Code\": 73, \"CountryCode\": \"GY\", \"AreaCode\": \"+592\", \"Name\": \"Guyana\", \"Nationality\": \"Guyaanse\" }, { \"Code\": 74, \"CountryCode\": \"HT\", \"AreaCode\": \"+509\", \"Name\": \"Haiti\", \"Nationality\": \"Haïtiaanse\" }, { \"Code\": 75, \"CountryCode\": \"HN\", \"AreaCode\": \"+504\", \"Name\": \"Honduras\", \"Nationality\": \"Hondurese\" }, { \"Code\": 76, \"CountryCode\": \"HU\", \"AreaCode\": \"+36\", \"Name\": \"Hongarije\", \"Nationality\": \"Hongaarse\" }, { \"Code\": 78, \"CountryCode\": \"IE\", \"AreaCode\": \"+353\", \"Name\": \"Ierland\", \"Nationality\": \"Ierse\" }, { \"Code\": 79, \"CountryCode\": \"IS\", \"AreaCode\": \"+354\", \"Name\": \"Ijsland\", \"Nationality\": \"IJslandse\" }, { \"Code\": 80, \"CountryCode\": \"IN\", \"AreaCode\": \"+91\", \"Name\": \"India\", \"Nationality\": \"Indiase\" }, { \"Code\": 81, \"CountryCode\": \"ID\", \"AreaCode\": \"+62\", \"Name\": \"Indonesie\", \"Nationality\": \"Indonesische\" }, { \"Code\": 82, \"CountryCode\": \"IQ\", \"AreaCode\": \"+964\", \"Name\": \"Irak\", \"Nationality\": \"Iraakse\" }, { \"Code\": 83, \"CountryCode\": \"IR\", \"AreaCode\": \"+98\", \"Name\": \"Iran\", \"Nationality\": \"Iraanse\" }, { \"Code\": 84, \"CountryCode\": \"IL\", \"AreaCode\": \"+972\", \"Name\": \"Israel\", \"Nationality\": \"Israëlische\" }, { \"Code\": 85, \"CountryCode\": \"IT\", \"AreaCode\": \"+39\", \"Name\": \"Italie\", \"Nationality\": \"Italiaanse\" }, { \"Code\": 219, \"CountryCode\": \"CI\", \"AreaCode\": \"+225\", \"Name\": \"Ivoorkust\", \"Nationality\": \"Ivoriaanse\" }, { \"Code\": 86, \"CountryCode\": \"JM\", \"AreaCode\": \"+1\", \"Name\": \"Jamaica\", \"Nationality\": \"Jamaicaanse\" }, { \"Code\": 87, \"CountryCode\": \"JP\", \"AreaCode\": \"+81\", \"Name\": \"Japan\", \"Nationality\": \"Japanse\" }, { \"Code\": 88, \"CountryCode\": \"YE\", \"AreaCode\": \"+967\", \"Name\": \"Jemen\", \"Nationality\": \"Jemenitische\" }, { \"Code\": 89, \"CountryCode\": \"JO\", \"AreaCode\": \"+962\", \"Name\": \"Jordanie\", \"Nationality\": \"Jordaanse\" }, { \"Code\": 90, \"CountryCode\": \"CV\", \"AreaCode\": \"+238\", \"Name\": \"Kaapverdische Eilanden\", \"Nationality\": \"Kaapverdische\" }, { \"Code\": 91, \"CountryCode\": \"CM\", \"AreaCode\": \"+237\", \"Name\": \"Kameroen\", \"Nationality\": \"Kameroense\" }, { \"Code\": 92, \"CountryCode\": \"KZ\", \"AreaCode\": \"+7\", \"Name\": \"Kazachstan\", \"Nationality\": \"Kazachse\" }, { \"Code\": 93, \"CountryCode\": \"KE\", \"AreaCode\": \"+254\", \"Name\": \"Kenia\", \"Nationality\": \"Kenyaanse\" }, { \"Code\": 94, \"CountryCode\": \"KG\", \"AreaCode\": \"+996\", \"Name\": \"Kirgizstan\", \"Nationality\": \"Kirgies\" }, { \"Code\": 221, \"CountryCode\": \"KI\", \"AreaCode\": \"+686\", \"Name\": \"Kiribati\", \"Nationality\": \"Kiribatiërse\" }, { \"Code\": 95, \"CountryCode\": \"KW\", \"AreaCode\": \"+965\", \"Name\": \"Koeweit\", \"Nationality\": \"Koeweitse\" }, { \"Code\": 253, \"CountryCode\": \"XK\", \"AreaCode\": \"+383\", \"Name\": \"Kosovo\", \"Nationality\": \"Kosovaarse\" }, { \"Code\": 96, \"CountryCode\": \"HR\", \"AreaCode\": \"+385\", \"Name\": \"Kroatie\", \"Nationality\": \"Kroatische\" }, { \"Code\": 97, \"CountryCode\": \"LA\", \"AreaCode\": \"+856\", \"Name\": \"Laos\", \"Nationality\": \"Laotiaanse\" }, { \"Code\": 98, \"CountryCode\": \"LS\", \"AreaCode\": \"+266\", \"Name\": \"Lesotho\", \"Nationality\": \"Lesothaanse\" }, { \"Code\": 99, \"CountryCode\": \"LV\", \"AreaCode\": \"+371\", \"Name\": \"Letland\", \"Nationality\": \"Letse\" }, { \"Code\": 100, \"CountryCode\": \"LB\", \"AreaCode\": \"+961\", \"Name\": \"Libanon\", \"Nationality\": \"Libanese\" }, { \"Code\": 223, \"CountryCode\": \"LR\", \"AreaCode\": \"+231\", \"Name\": \"Liberia\", \"Nationality\": \"Liberiaans\" }, { \"Code\": 101, \"CountryCode\": \"LY\", \"AreaCode\": \"+218\", \"Name\": \"Libie\", \"Nationality\": \"Libische\" }, { \"Code\": 102, \"CountryCode\": \"LI\", \"AreaCode\": \"+423\", \"Name\": \"Liechtenstein\", \"Nationality\": \"Liechtensteinse\" }, { \"Code\": 103, \"CountryCode\": \"LT\", \"AreaCode\": \"+370\", \"Name\": \"Litouwen\", \"Nationality\": \"Litouwse\" }, { \"Code\": 104, \"CountryCode\": \"LU\", \"AreaCode\": \"+352\", \"Name\": \"Luxemburg\", \"Nationality\": \"Luxemburgse\" }, { \"Code\": 105, \"CountryCode\": \"MO\", \"AreaCode\": \"+853\", \"Name\": \"Macau\", \"Nationality\": \"Macauerse\" }, { \"Code\": 107, \"CountryCode\": \"MG\", \"AreaCode\": \"+261\", \"Name\": \"Madagaskar\", \"Nationality\": \"Malagassiër\" }, { \"Code\": 108, \"CountryCode\": \"MW\", \"AreaCode\": \"+265\", \"Name\": \"Malawi\", \"Nationality\": \"Malawische\" }, { \"Code\": 109, \"CountryCode\": \"MV\", \"AreaCode\": \"+960\", \"Name\": \"Malediven\", \"Nationality\": \"Maldivische\" }, { \"Code\": 110, \"CountryCode\": \"MY\", \"AreaCode\": \"+60\", \"Name\": \"Maleisie\", \"Nationality\": \"Maleisische\" }, { \"Code\": 111, \"CountryCode\": \"ML\", \"AreaCode\": \"+223\", \"Name\": \"Mali\", \"Nationality\": \"Malinese\" }, { \"Code\": 112, \"CountryCode\": \"MT\", \"AreaCode\": \"+356\", \"Name\": \"Malta\", \"Nationality\": \"Maltese\" }, { \"Code\": 113, \"CountryCode\": \"MA\", \"AreaCode\": \"+212\", \"Name\": \"Marokko\", \"Nationality\": \"Marokkaanse\" }, { \"Code\": 114, \"CountryCode\": \"MH\", \"AreaCode\": \"+692\", \"Name\": \"Marshalleilanden\", \"Nationality\": \"Marshalleilander\" }, { \"Code\": 117, \"CountryCode\": \"MU\", \"AreaCode\": \"+230\", \"Name\": \"Mauritius\", \"Nationality\": \"Mauritiaan\" }, { \"Code\": 118, \"CountryCode\": \"MX\", \"AreaCode\": \"+52\", \"Name\": \"Mexico\", \"Nationality\": \"Mexicaanse\" }, { \"Code\": 119, \"CountryCode\": \"FM\", \"AreaCode\": \"+691\", \"Name\": \"Micronesia\", \"Nationality\": \"Micronesiër\" }, { \"Code\": 120, \"CountryCode\": \"MD\", \"AreaCode\": \"+373\", \"Name\": \"Moldavie\", \"Nationality\": \"Moldaviër\" }, { \"Code\": 121, \"CountryCode\": \"MC\", \"AreaCode\": \"+377\", \"Name\": \"Monaco\", \"Nationality\": \"Monegask\" }, { \"Code\": 122, \"CountryCode\": \"MN\", \"AreaCode\": \"+976\", \"Name\": \"Mongolie\", \"Nationality\": \"Mongolische\" }, { \"Code\": 123, \"CountryCode\": \"ME\", \"AreaCode\": \"+382\", \"Name\": \"Montenegro\", \"Nationality\": \"Montenegrijnse\" }, { \"Code\": 124, \"CountryCode\": \"MZ\", \"AreaCode\": \"+258\", \"Name\": \"Mozambique\", \"Nationality\": \"Mozambiquaanse\" }, { \"Code\": 125, \"CountryCode\": \"MM\", \"AreaCode\": \"+95\", \"Name\": \"Myanmar\", \"Nationality\": \"Myanmarese\" }, { \"Code\": 126, \"CountryCode\": \"NA\", \"AreaCode\": \"+264\", \"Name\": \"Namibie\", \"Nationality\": \"Namibische\" }, { \"Code\": 227, \"CountryCode\": \"NR\", \"AreaCode\": \"+674\", \"Name\": \"Nauru\", \"Nationality\": \"Nauruaanse\" }, { \"Code\": 127, \"CountryCode\": \"NL\", \"AreaCode\": \"+31\", \"Name\": \"Nederland\", \"Nationality\": \"Nederlandse\" }, { \"Code\": 129, \"CountryCode\": \"NP\", \"AreaCode\": \"+977\", \"Name\": \"Nepal\", \"Nationality\": \"Nepalese\" }, { \"Code\": 130, \"CountryCode\": \"NI\", \"AreaCode\": \"+505\", \"Name\": \"Nicaragua\", \"Nationality\": \"Nicaraguaanse\" }, { \"Code\": 132, \"CountryCode\": \"NZ\", \"AreaCode\": \"+64\", \"Name\": \"Nieuw-Zeeland\", \"Nationality\": \"Nieuw-Zeelandse\" }, { \"Code\": 134, \"CountryCode\": \"NG\", \"AreaCode\": \"+234\", \"Name\": \"Nigeria\", \"Nationality\": \"Nigeriaanse\" }, { \"Code\": 229, \"CountryCode\": \"KP\", \"AreaCode\": \"+850\", \"Name\": \"Noord-Korea\", \"Nationality\": \"Noordkoreaanse\" }, { \"Code\": 106, \"CountryCode\": \"MK\", \"AreaCode\": \"+389\", \"Name\": \"Noord-Macedonie\", \"Nationality\": \"Macedonische\" }, { \"Code\": 136, \"CountryCode\": \"NO\", \"AreaCode\": \"+47\", \"Name\": \"Noorwegen\", \"Nationality\": \"Noorse\" }, { \"Code\": 137, \"CountryCode\": \"UG\", \"AreaCode\": \"+256\", \"Name\": \"Oeganda\", \"Nationality\": \"Oegandese\" }, { \"Code\": 138, \"CountryCode\": \"UA\", \"AreaCode\": \"+380\", \"Name\": \"Oekraine\", \"Nationality\": \"Oekraïense\" }, { \"Code\": 139, \"CountryCode\": \"UZ\", \"AreaCode\": \"+998\", \"Name\": \"Oezbekistan\", \"Nationality\": \"Oezbeekse\" }, { \"Code\": 140, \"CountryCode\": \"OM\", \"AreaCode\": \"+968\", \"Name\": \"Oman\", \"Nationality\": \"Omaniet\" }, { \"Code\": 141, \"CountryCode\": \"AT\", \"AreaCode\": \"+43\", \"Name\": \"Oostenrijk\", \"Nationality\": \"Oostenrijkse\" }, { \"Code\": 142, \"CountryCode\": \"PK\", \"AreaCode\": \"+92\", \"Name\": \"Pakistan\", \"Nationality\": \"Pakistaanse\" }, { \"Code\": 232, \"CountryCode\": \"PS\", \"AreaCode\": \"+970\", \"Name\": \"Palestina\", \"Nationality\": \"Palesteinse\" }, { \"Code\": 144, \"CountryCode\": \"PA\", \"AreaCode\": \"+507\", \"Name\": \"Panama\", \"Nationality\": \"Panamese\" }, { \"Code\": 146, \"CountryCode\": \"PY\", \"AreaCode\": \"+595\", \"Name\": \"Paraguay\", \"Nationality\": \"Paraguayaanse\" }, { \"Code\": 147, \"CountryCode\": \"PE\", \"AreaCode\": \"+51\", \"Name\": \"Peru\", \"Nationality\": \"Peruaanse\" }, { \"Code\": 148, \"CountryCode\": \"PL\", \"AreaCode\": \"+48\", \"Name\": \"Polen\", \"Nationality\": \"Poolse\" }, { \"Code\": 149, \"CountryCode\": \"PT\", \"AreaCode\": \"+351\", \"Name\": \"Portugal\", \"Nationality\": \"Portugese\" }, { \"Code\": 151, \"CountryCode\": \"QA\", \"AreaCode\": \"+974\", \"Name\": \"Qatar\", \"Nationality\": \"Qatarees\" }, { \"Code\": 153, \"CountryCode\": \"RO\", \"AreaCode\": \"+40\", \"Name\": \"Roemenie\", \"Nationality\": \"Roemeense\" }, { \"Code\": 154, \"CountryCode\": \"RU\", \"AreaCode\": \"+7\", \"Name\": \"Rusland\", \"Nationality\": \"Russische\" }, { \"Code\": 155, \"CountryCode\": \"RW\", \"AreaCode\": \"+250\", \"Name\": \"Rwanda\", \"Nationality\": \"Rwandese\" }, { \"Code\": 160, \"CountryCode\": \"SB\", \"AreaCode\": \"+677\", \"Name\": \"Salomonseilanden\", \"Nationality\": \"Salomonseilandse\" }, { \"Code\": 161, \"CountryCode\": \"WS\", \"AreaCode\": \"+685\", \"Name\": \"Samoa\", \"Nationality\": \"Samoaanse\" }, { \"Code\": 162, \"CountryCode\": \"SM\", \"AreaCode\": \"+378\", \"Name\": \"San Marino\", \"Nationality\": \"Sanmarinese\" }, { \"Code\": 164, \"CountryCode\": \"SA\", \"AreaCode\": \"+966\", \"Name\": \"Saudi-Arabie\", \"Nationality\": \"Saoediarabische\" }, { \"Code\": 165, \"CountryCode\": \"SN\", \"AreaCode\": \"+221\", \"Name\": \"Senegal\", \"Nationality\": \"Senegalese\" }, { \"Code\": 166, \"CountryCode\": \"RS\", \"AreaCode\": \"+381\", \"Name\": \"Servie\", \"Nationality\": \"Servische\" }, { \"Code\": 168, \"CountryCode\": \"SC\", \"AreaCode\": \"+248\", \"Name\": \"Seychellen\", \"Nationality\": \"Seychelse\" }, { \"Code\": 236, \"CountryCode\": \"SL\", \"AreaCode\": \"+232\", \"Name\": \"Sierra Leone\", \"Nationality\": \"Sierra Leoner\" }, { \"Code\": 169, \"CountryCode\": \"SG\", \"AreaCode\": \"+65\", \"Name\": \"Singapore\", \"Nationality\": \"Singaporaanse\" }, { \"Code\": 238, \"CountryCode\": \"SX\", \"AreaCode\": \"+1\", \"Name\": \"Sint Maarten\", \"Nationality\": \"Sint Maartense\" }, { \"Code\": 171, \"CountryCode\": \"SI\", \"AreaCode\": \"+386\", \"Name\": \"Slovenie\", \"Nationality\": \"Sloveense\" }, { \"Code\": 172, \"CountryCode\": \"SK\", \"AreaCode\": \"+421\", \"Name\": \"Slowakije\", \"Nationality\": \"Slowaakse\" }, { \"Code\": 175, \"CountryCode\": \"SD\", \"AreaCode\": \"+249\", \"Name\": \"Soedan\", \"Nationality\": \"Sudanees\" }, { \"Code\": 239, \"CountryCode\": \"SO\", \"AreaCode\": \"+252\", \"Name\": \"Somalie\", \"Nationality\": \"Somaliër\" }, \n { \"Code\": 173, \"CountryCode\": \"ES\", \"AreaCode\": \"+34\", \"Name\": \"Spanje\", \"Nationality\": \"Spaanse\" }, { \"Code\": 174, \"CountryCode\": \"LK\", \"AreaCode\": \"+94\", \"Name\": \"Sri Lanka\", \"Nationality\": \"Srilankaanse\" }, { \"Code\": 176, \"CountryCode\": \"SR\", \"AreaCode\": \"+597\", \"Name\": \"Suriname\", \"Nationality\": \"Surinaamse\" }, { \"Code\": 177, \"CountryCode\": \"SZ\", \"AreaCode\": \"+268\", \"Name\": \"Swaziland\", \"Nationality\": \"Swazische\" }, { \"Code\": 178, \"CountryCode\": \"SY\", \"AreaCode\": \"+963\", \"Name\": \"Syrie\", \"Nationality\": \"Syrische\" }, { \"Code\": 241, \"CountryCode\": \"TJ\", \"AreaCode\": \"+992\", \"Name\": \"Tadzjikistan\", \"Nationality\": \"Tadzjiek\" }, { \"Code\": 179, \"CountryCode\": \"TW\", \"AreaCode\": \"+886\", \"Name\": \"Taiwan\", \"Nationality\": \"Taiwanese\" }, { \"Code\": 180, \"CountryCode\": \"TZ\", \"AreaCode\": \"+255\", \"Name\": \"Tanzania\", \"Nationality\": \"Tanzaniaanse\" }, { \"Code\": 181, \"CountryCode\": \"TH\", \"AreaCode\": \"+66\", \"Name\": \"Thailand\", \"Nationality\": \"Thaise\" }, { \"Code\": 182, \"CountryCode\": \"TG\", \"AreaCode\": \"+228\", \"Name\": \"Togo\", \"Nationality\": \"Togolese\" }, { \"Code\": 183, \"CountryCode\": \"TO\", \"AreaCode\": \"+676\", \"Name\": \"Tonga\", \"Nationality\": \"Tongaanse\" }, { \"Code\": 184, \"CountryCode\": \"TT\", \"AreaCode\": \"+1\", \"Name\": \"Trinidad en Tobago\", \"Nationality\": \"Trinidadaanse\" }, { \"Code\": 185, \"CountryCode\": \"TD\", \"AreaCode\": \"+235\", \"Name\": \"Tsjaad\", \"Nationality\": \"Tsjadische\" }, { \"Code\": 186, \"CountryCode\": \"CZ\", \"AreaCode\": \"+420\", \"Name\": \"Tsjechie\", \"Nationality\": \"Tsjechische\" }, { \"Code\": 187, \"CountryCode\": \"TN\", \"AreaCode\": \"+216\", \"Name\": \"Tunesie\", \"Nationality\": \"Tunesische\" }, { \"Code\": 188, \"CountryCode\": \"TR\", \"AreaCode\": \"+90\", \"Name\": \"Turkije\", \"Nationality\": \"Turkse\" }, { \"Code\": 243, \"CountryCode\": \"TM\", \"AreaCode\": \"+993\", \"Name\": \"Turkmenistan\", \"Nationality\": \"Turkmeense\" }, { \"Code\": 250, \"CountryCode\": \"TV\", \"AreaCode\": \"+688\", \"Name\": \"Tuvalu\", \"Nationality\": \"Tuvaluaanse\" }, { \"Code\": 190, \"CountryCode\": \"UY\", \"AreaCode\": \"+598\", \"Name\": \"Uruguay\", \"Nationality\": \"Uruguayaanse\" }, { \"Code\": 191, \"CountryCode\": \"VU\", \"AreaCode\": \"+678\", \"Name\": \"Vanuatu\", \"Nationality\": \"Vanuatuse\" }, { \"Code\": 192, \"CountryCode\": \"VE\", \"AreaCode\": \"+58\", \"Name\": \"Venezuela\", \"Nationality\": \"Venezolaanse\" }, { \"Code\": 194, \"CountryCode\": \"AE\", \"AreaCode\": \"+971\", \"Name\": \"Verenigde Arabische Emiraten\", \"Nationality\": \"Verenigde Arabische Emiraten\" }, { \"Code\": 195, \"CountryCode\": \"US\", \"AreaCode\": \"+1\", \"Name\": \"Verenigde Staten\", \"Nationality\": \"Amerikaans\" }, { \"Code\": 196, \"CountryCode\": \"VN\", \"AreaCode\": \"+84\", \"Name\": \"Vietnam\", \"Nationality\": \"Vietnamese\" }, { \"Code\": 197, \"CountryCode\": \"BY\", \"AreaCode\": \"+375\", \"Name\": \"Wit-Rusland\", \"Nationality\": \"Wit-Russische\" }, { \"Code\": 198, \"CountryCode\": \"ZM\", \"AreaCode\": \"+260\", \"Name\": \"Zambia\", \"Nationality\": \"Zambiaanse\" }, { \"Code\": 199, \"CountryCode\": \"ZW\", \"AreaCode\": \"+263\", \"Name\": \"Zimbabwe\", \"Nationality\": \"Zimbabwaanse\" }, { \"Code\": 200, \"CountryCode\": \"ZA\", \"AreaCode\": \"+27\", \"Name\": \"Zuid-Afrika\", \"Nationality\": \"Zuidafrikaanse\" }, { \"Code\": 201, \"CountryCode\": \"KR\", \"AreaCode\": \"+82\", \"Name\": \"Zuid-Korea\", \"Nationality\": \"Zuidkoreaanse\" }, { \"Code\": 247, \"CountryCode\": \"SS\", \"AreaCode\": \"+211\", \"Name\": \"Zuid-Soedan\", \"Nationality\": \"Zuid Sudanees\" }, { \"Code\": 202, \"CountryCode\": \"SE\", \"AreaCode\": \"+46\", \"Name\": \"Zweden\", \"Nationality\": \"Zweedse\" }, { \"Code\": 203, \"CountryCode\": \"CH\", \"AreaCode\": \"+41\", \"Name\": \"Zwitserland\", \"Nationality\": \"Zwitserse\" }]\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface LabelProps {\n children: React.ReactNode | string | React.ReactNode[];\n htmlFor?: string;\n className?: string;\n}\n\nexport const Label = ({ children, className, ...props }: LabelProps) => (\n <label\n data-component=\"label\"\n data-testid=\"label\"\n className={cn(\n \"flex items-center gap-1 text-xs font-medium text-black\",\n className,\n )}\n {...props}\n >\n {children}\n </label>\n);\n","\"use client\";\nimport { Button } from \"@components/button\";\nimport { countries, Country } from \"@utils/countries\";\nimport clsx from \"clsx\";\nimport type React from \"react\";\nimport { useEffect, useId, useMemo, useRef, useState } from \"react\";\nimport { IconArrowDown, IconCheck } from \"../../icons\";\nimport { Label } from \"@components/label\";\n\ninterface SliderProps {\n \"data-testid\"?: string;\n className?: string;\n defaultSelectedCountry?: Country;\n placeholder: string;\n label: string;\n}\n\nexport const PhoneNumberInput = ({ className, defaultSelectedCountry, placeholder, label, ...props }: SliderProps) => {\n const phoneNumberId = useId();\n const safeId = phoneNumberId.replace(/[^a-zA-Z0-9_-]/g, \"\");\n const resolvedPhoneNumberId = `phone-number-input-${safeId}`;\n const resolvedPopover = \"auto\";\n const countryAnchorName = `phone-country-${safeId}`;\n const containerAnchorName = `phone-container-${safeId}`;\n\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const optionRefs = useRef<Array<HTMLButtonElement | null>>([]);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const phoneInputRef = useRef<HTMLInputElement | null>(null);\n const focusInputOnCloseRef = useRef(false);\n const [isOpen, setIsOpen] = useState(false);\n\n const [selectedCountry, setSelectedCountry] = useState<Country | null>(\n defaultSelectedCountry ?? countries[0] ?? null,\n );\n\n const [phoneNumber, setPhoneNumber] = useState(\"\");\n\n const normalizedDigits = useMemo(() => {\n return phoneNumber.replace(/\\D/g, \"\");\n }, [phoneNumber]);\n\n const isValidPhoneNumber = useMemo(() => {\n // E.164 allows up to 15 digits (excluding +). Use a safe lower bound for a “filled in” number.\n return normalizedDigits.length >= 6 && normalizedDigits.length <= 15;\n }, [normalizedDigits.length]);\n\n const getCountryKey = (country: Country) => {\n return `${country.CountryCode}-${country.AreaCode}-${country.Code}-${country.Name}`;\n };\n\n const selectedCountryKey = useMemo(() => {\n if (!selectedCountry) return null;\n return getCountryKey(selectedCountry);\n }, [selectedCountry]);\n\n const selectedIndex = useMemo(() => {\n if (!selectedCountry) return 0;\n const key = getCountryKey(selectedCountry);\n const idx = countries.findIndex((c) => getCountryKey(c) === key);\n return idx >= 0 ? idx : 0;\n }, [selectedCountry]);\n\n const [searchQuery, setSearchQuery] = useState(\"\");\n\n const normalizeSearchValue = (value: string) => {\n return value\n .toLowerCase()\n .normalize(\"NFD\")\n // Strip accents/diacritics\n .replace(/\\p{Diacritic}/gu, \"\")\n .trim();\n };\n\n const filteredCountries = useMemo(() => {\n const q = normalizeSearchValue(searchQuery);\n if (!q) return countries;\n return countries.filter((c) => {\n const haystack = [\n c.Name,\n c.AreaCode,\n c.CountryCode,\n c.Nationality,\n String(c.Code),\n ]\n .map(normalizeSearchValue)\n .join(\" \");\n\n return haystack.includes(q);\n });\n }, [searchQuery]);\n\n const filteredSelectedIndex = useMemo(() => {\n if (!selectedCountry) return 0;\n const key = getCountryKey(selectedCountry);\n const idx = filteredCountries.findIndex((c) => getCountryKey(c) === key);\n return idx >= 0 ? idx : 0;\n }, [filteredCountries, selectedCountry]);\n\n const [activeIndex, setActiveIndex] = useState<number>(0);\n\n useEffect(() => {\n setActiveIndex(filteredSelectedIndex);\n }, [filteredSelectedIndex]);\n\n useEffect(() => {\n optionRefs.current = optionRefs.current.slice(0, filteredCountries.length);\n if (filteredCountries.length === 0) {\n setActiveIndex(0);\n return;\n }\n\n setActiveIndex((prev) => Math.min(prev, filteredCountries.length - 1));\n }, [filteredCountries.length]);\n\n useEffect(() => {\n const el = document.getElementById(resolvedPhoneNumberId) as (HTMLDivElement & {\n matches?: (selectors: string) => boolean;\n showPopover?: () => void;\n hidePopover?: () => void;\n }) | null;\n if (!el) return;\n\n const onToggle = (e: Event) => {\n const evt = e as unknown as { newState?: \"open\" | \"closed\" };\n const nextOpen = evt.newState === \"open\";\n setIsOpen(nextOpen);\n\n if (nextOpen) {\n setActiveIndex(filteredSelectedIndex);\n requestAnimationFrame(() => {\n // Force layout so anchor positioning is computed before focusing into the popover.\n void el.getBoundingClientRect();\n requestAnimationFrame(() => {\n searchRef.current?.focus();\n });\n });\n } else {\n requestAnimationFrame(() => {\n if (focusInputOnCloseRef.current) {\n focusInputOnCloseRef.current = false;\n phoneInputRef.current?.focus();\n return;\n }\n\n triggerRef.current?.focus();\n });\n }\n };\n\n el.addEventListener(\"toggle\", onToggle);\n return () => {\n el.removeEventListener(\"toggle\", onToggle);\n };\n }, [resolvedPhoneNumberId, selectedIndex]);\n\n const closePopover = () => {\n const el = document.getElementById(resolvedPhoneNumberId) as (HTMLDivElement & {\n hidePopover?: () => void;\n }) | null;\n el?.hidePopover?.();\n };\n\n const handleSelectCountry = (country: Country) => {\n setSelectedCountry(country);\n focusInputOnCloseRef.current = true;\n closePopover();\n };\n\n const handleTriggerKeyDown: React.KeyboardEventHandler<HTMLButtonElement> = (e) => {\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n e.preventDefault();\n // Use the same path as a pointer interaction so anchor positioning is applied consistently.\n triggerRef.current?.click();\n }\n };\n\n const handleListboxKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (e) => {\n if (e.key === \"Escape\") {\n e.preventDefault();\n closePopover();\n return;\n }\n\n if (filteredCountries.length === 0) {\n return;\n }\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActiveIndex((prev) => {\n const next = Math.min(prev + 1, filteredCountries.length - 1);\n optionRefs.current[next]?.focus();\n return next;\n });\n return;\n }\n\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActiveIndex((prev) => {\n const next = Math.max(prev - 1, 0);\n optionRefs.current[next]?.focus();\n return next;\n });\n return;\n }\n\n if (e.key === \"Home\") {\n e.preventDefault();\n setActiveIndex(() => {\n optionRefs.current[0]?.focus();\n return 0;\n });\n return;\n }\n\n if (e.key === \"End\") {\n e.preventDefault();\n setActiveIndex(() => {\n const last = filteredCountries.length - 1;\n optionRefs.current[last]?.focus();\n return last;\n });\n return;\n }\n };\n\n const handleSearchKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (e) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n e.stopPropagation();\n setActiveIndex(() => {\n if (filteredCountries.length > 0) {\n optionRefs.current[0]?.focus();\n }\n return 0;\n });\n return;\n }\n\n if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n closePopover();\n }\n };\n\n return (\n <div\n data-component=\"PhoneNumberInput\"\n className={clsx(\"w-full\", `anchor/${containerAnchorName}`, className)}\n {...props}\n >\n {label && <Label htmlFor={resolvedPhoneNumberId} className=\"mb-2\">\n {label}\n </Label>}\n <div\n className={clsx(\n \"flex flex-row rounded border bg-white pl-2\",\n isValidPhoneNumber ? \"border-green-600\" : \"border-primary\",\n isValidPhoneNumber\n ? \"focus-within:outline-none focus-within:ring-2 focus-within:ring-green-600 focus-within:ring-offset-2\"\n : \"focus-within:outline-none focus-within:ring-2 focus-within:ring-primary focus-within:ring-offset-2\",\n )}\n >\n <Button\n variant=\"textButton\"\n className={clsx(\n \"inline-flex min-w-[50px] justify-center bg-transparent p-2 font-medium gap-1\",\n `${isValidPhoneNumber ? 'text-green-600!' : 'text-primary!'}`,\n `anchor/${countryAnchorName}`,\n )}\n popoverTarget={resolvedPhoneNumberId}\n ref={triggerRef}\n aria-haspopup=\"listbox\"\n aria-controls={resolvedPhoneNumberId}\n aria-expanded={isOpen}\n onKeyDown={handleTriggerKeyDown}\n >\n ({selectedCountry?.AreaCode ?? \"--\"})\n <IconArrowDown className={`${isValidPhoneNumber ? 'text-green-600' : 'text-primary'}`} width={24} height={24} />\n </Button>\n <input\n ref={phoneInputRef}\n className={clsx(\n \"w-full bg-transparent pl-2 text-sm\",\n 'border-none',\n \"focus:outline-none\",\n )}\n placeholder={placeholder}\n value={phoneNumber}\n onChange={(e) => setPhoneNumber(e.target.value)}\n inputMode=\"tel\"\n aria-invalid={!isValidPhoneNumber && normalizedDigits.length > 0}\n />\n {isValidPhoneNumber && <span className=\"flex h-full justify-center align-middle items-center w-8 mr-2 self-center\"><IconCheck className=\"text-green-600\" width={24} height={24} /></span>}\n </div>\n\n <div\n id={resolvedPhoneNumberId}\n {...({ popover: resolvedPopover } as React.HTMLAttributes<HTMLDivElement>)}\n className={clsx(\n `anchored/${countryAnchorName}`,\n \"top-anchor-bottom left-anchor-left\",\n `w-anchor/${containerAnchorName}`,\n \"max-h-[164px] overflow-y-auto\",\n \"z-50 bg-white border border-gray-200 rounded shadow-md\",\n )}\n role=\"listbox\"\n tabIndex={-1}\n aria-activedescendant={\n filteredCountries.length > 0 ? `${resolvedPhoneNumberId}-option-${activeIndex}` : undefined\n }\n onKeyDown={handleListboxKeyDown}\n >\n <div className=\"sticky top-0 z-10 bg-white pt-0 p-2 w-full border-b border-gray-100\">\n <input\n ref={searchRef}\n className=\"w-full border border-gray-200 rounded px-2 mt-2 py-1 text-sm focus:outline-none focus:none focus:ring-primary focus:ring-offset-2\"\n placeholder=\"Zoek land\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n onKeyDown={handleSearchKeyDown}\n />\n </div>\n\n <div className=\"flex flex-col\">\n {filteredCountries.map((country, index) => (\n <button\n key={getCountryKey(country)}\n id={`${resolvedPhoneNumberId}-option-${index}`}\n type=\"button\"\n ref={(el) => {\n optionRefs.current[index] = el;\n }}\n role=\"option\"\n aria-selected={selectedCountryKey === getCountryKey(country)}\n className={clsx(\n \"block text-left w-full px-2 py-1 rounded\",\n \"focus:outline-none focus:bg-primary/10\",\n \"hover:bg-primary/10\",\n index === activeIndex && \"bg-primary/10\",\n selectedCountryKey === getCountryKey(country) && \"font-semibold\",\n )}\n onClick={() => handleSelectCountry(country)}\n onMouseEnter={() => setActiveIndex(index)}\n onFocus={() => setActiveIndex(index)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleSelectCountry(country);\n }\n }}\n >\n {country.Name} ({country.AreaCode})\n </button>\n ))}\n </div>\n </div>\n </div>\n );\n};","\"use client\";\nimport clsx from \"clsx\";\n\ninterface RotatedImage {\n src: string;\n alt: string;\n}\n\ninterface PhotoCardsRotatedProps {\n \"data-testid\"?: string;\n className?: string;\n images: RotatedImage[];\n blackAndWhite: boolean;\n}\n\n\nconst rotate = ['19.872deg', '-15deg', '4.778deg'];\nconst moveY = ['5%', '25%', '50%'];\nconst moveX = ['50%', '0%', '25%'];\n\nexport const PhotoCardsRotated = ({ className, images, blackAndWhite = false, \"data-testid\": dataTestId = \"photoCardsRotated\", ...props }: PhotoCardsRotatedProps) => (\n <div\n data-component=\"photoCardsRotated\"\n data-testid={dataTestId}\n className={clsx(\"block w-auto h-auto relative\", className)}\n {...props}\n >\n\n {images.map((image, index) => (\n <div \n key={image.src} \n style={{ rotate: rotate[index], zIndex: index, transform: `translateX(${moveX[index]}) translateY(${moveY[index]})`, padding: '12px 12px 50px 12px' }} \n className={`absolute rotated-image-${index} ${blackAndWhite && 'grayscale-100'} bg-white`}\n >\n <img className=\"rounded-xs w-full h-full object-cover\" src={image.src} alt={image.alt} />\n </div>\n ))}\n\n\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface ChatbotProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const Chatbot = ({ className, ...props }: ChatbotProps) => (\n <div\n data-component=\"chatbot\"\n className={clsx(\"block h-px w-full bg-gray-100\", className)}\n {...props}\n >Chatbot component</div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\nimport type { Brand } from \"../../theme\";\nimport { IconArrowRight, IconCalendar, IconFood, IconPlane } from \"../../icons\";\n\nimport { Button } from \"@components/button\";\nimport { PriceCheck } from \"@components/priceCheck\";\n\nexport interface PriceBoxHotelData {\n Price: number;\n PriceInfo: string;\n DepartureDate: string;\n Duration: number;\n DeparturePointHuman: string;\n BoardTypeHuman: string;\n}\n\nexport interface PriceBoxProps {\n \"data-testid\"?: string;\n className?: string;\n hotel: PriceBoxHotelData;\n brand: Brand;\n noBorder?: boolean;\n noHover?: boolean;\n hidePrice?: boolean;\n onClick?: (() => void) | undefined;\n}\n\nexport const PriceBox = ({\n className,\n hotel,\n brand,\n noBorder = false,\n noHover = false,\n hidePrice = false,\n onClick,\n \"data-testid\": dataTestId,\n}: PriceBoxProps) => {\n return (\n <div\n data-testid={dataTestId}\n data-component=\"price-box\"\n className={clsx(\n \"flex flex-row md:flex-col gap-4 md:gap-2 items-start bg-white cursor-pointer rounded-lg md:p-4 h-full justify-between w-full md:w-[222px] md:min-w-[222px] md:max-w-[222px] py-4\",\n noBorder ? \"border-transparent\" : \"border border-transparent md:border-[#ccc]\",\n noHover ? \"\" : \"hover:bg-primary-light-75\",\n className,\n )}\n onClick={onClick}\n >\n <span\n className={`${brand === \"dreizen\" && \"items-end justify-end w-full\"} flex order-3 md:order-1 ${hidePrice ? \"hidden md:flex\" : \"\"}`}\n >\n <PriceCheck price={hotel.Price} text={hotel.PriceInfo} />\n </span>\n <div className=\"text-sm flex flex-col gap-3 order-2\">\n <span className=\"w-full flex flex-row items-center\">\n <span className=\"w-8\">\n <IconCalendar className=\"w-6 h-6 flex\" />\n </span>\n <span>{hotel.DepartureDate.split(\",\")[0]}</span>\n <span className=\"text-gray-400 ml-2\">{hotel.Duration} dagen</span>\n </span>\n <span className=\"w-full flex flex-row items-center\">\n <span className=\"min-w-8 flex\">\n <IconPlane className=\"w-6 h-6 flex\" />\n </span>\n <span className=\"flex flex-col\">\n <span>Vanaf {hotel.DeparturePointHuman}</span>\n <span className=\"text-[10px]\">Bekijk ook andere luchthaven opties</span>\n </span>\n </span>\n <span className=\"w-full flex flex-row items-center\">\n <span className=\"w-8\">\n <IconFood className=\"w-6 h-6 flex\" />\n </span>\n {hotel.BoardTypeHuman}\n </span>\n </div>\n <div className=\"w-4/12 md:w-full order-3\"> \n <Button\n variant={brand === \"prijsvrij\" ? \"primaryGlow\" : \"secondary\"}\n className=\"whitespace-nowrap w-full md:w-auto\"\n iconRight\n icon={<IconArrowRight className=\"w-4 h-4\" />}\n >\n Bekijk vakantie\n </Button>\n </div>\n </div>\n );\n};\n","export enum ACTION_ICON_STYLE_VARIANT {\n DEFAULT = \"default\",\n TRANSPARENT = \"transparent\",\n SMALL = \"small\",\n ROUND = \"round\",\n}\n\nexport enum THEME_ICON_STYLE_VARIANT {\n PINK_WITH_BACKGROUND = \"pink-with-background\",\n}\n\nexport enum COLOR {\n PRIMARY = \"primary\",\n BLACK = \"black\",\n LIGHT_BLUE = \"light-blue\",\n LIGHT_BLUE_DISABLED = \"light-blue-disabled\",\n GREEN = \"green\",\n GREEN_LIGHT = \"green-light\",\n PINK = \"pink\",\n PINK_LIGHT = \"pink-light\",\n ORANGE = \"orange\",\n ORANGE_LIGHT = \"orange-light\",\n ACCENT_BLUE = \"accent-blue\",\n ACCENT_BLUE_LIGHT = \"accent-blue-light\",\n YELLOW = \"yellow\",\n CHECK = \"check\",\n WARNING = \"warning\",\n ERROR = \"error\",\n SUCCESS = \"success\",\n WARNING_LIGHT = \"warning-light\",\n ULTRA_LIGHT_BLUE = \"ultra-light-blue\",\n ULTRA_LIGHT_GRAY = \"ultra-light-gray\",\n TURQUOISE = \"turquoise\",\n RED = \"red\",\n GRAY = \"gray\",\n WHITE = \"white\",\n PURPLE = \"purple\",\n PURPLE_LIGHT = \"purple-light\",\n}\n\nexport enum REGION {\n NETHERLANDS = \"nl\",\n BELGIUM = \"nl-BE\",\n UNITED_KINGDOM = \"gb\",\n}\n\nexport enum TOOLTIP_COLOR {\n DEFAULT = \"default\",\n WHITE = \"white\",\n}\n","\"use client\";\nimport type { MouseEvent } from \"react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport { ACTION_ICON_STYLE_VARIANT } from \"@utils/enums\";\nimport formatIcon from \"@utils/formatIcon\";\nimport clsx from \"clsx\";\n\nexport interface ActionIconProps {\n \"data-testid\"?: string;\n title: string;\n disabled?: boolean;\n type?: \"button\" | \"submit\" | \"reset\";\n styleVariant?: \"default\" | \"transparent\" | \"small\" | \"round\";\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n icon?: React.ReactNode;\n iconSize?: number;\n strokeWidth?: number;\n className?: string;\n children?: React.ReactNode;\n\n /**\n * @deprecated Can be removed and replaced by iconSize\n */\n width?: string;\n /**\n * @deprecated Can be removed and replaced by iconSize\n */\n height?: string;\n}\n\nconst ActionIcon: React.ForwardRefExoticComponent<\n ActionIconProps & React.RefAttributes<HTMLButtonElement>\n> = forwardRef<HTMLButtonElement, ActionIconProps>(\n (\n {\n title,\n disabled = false,\n styleVariant = \"default\",\n icon,\n type = \"button\" as const,\n \"data-testid\": testId,\n iconSize = 20,\n strokeWidth = 1,\n onClick,\n className,\n ...props\n },\n ref,\n ) => {\n const variantClassNames = clsx({\n \"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\":\n styleVariant === ACTION_ICON_STYLE_VARIANT.DEFAULT,\n \"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\":\n styleVariant === ACTION_ICON_STYLE_VARIANT.TRANSPARENT,\n \"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\":\n styleVariant === ACTION_ICON_STYLE_VARIANT.ROUND,\n \"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\":\n styleVariant === ACTION_ICON_STYLE_VARIANT.SMALL,\n });\n\n return (\n <>\n <button\n title={title}\n type={type}\n disabled={disabled}\n data-testid={testId}\n data-component=\"ActionIcon\"\n className={cn(\n variantClassNames,\n {\n \"hover:bg-transparant cursor-not-allowed hover:border-gray-200\":\n disabled,\n },\n className,\n )}\n onClick={onClick}\n ref={ref}\n data-tooltip-id={title}\n data-tooltip-content={title}\n {...props}\n >\n {icon\n ? formatIcon(icon, { stroke: strokeWidth, size: iconSize })\n : props['children']}\n </button>\n </>\n );\n },\n);\n\nActionIcon.displayName = \"ActionIcon\";\n\nexport { ActionIcon };\n","\"use client\";\nimport { useEffect, useState } from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport { COLOR } from \"@utils/enums\";\n\ninterface IAlert {\n show: boolean;\n message: React.ReactNode;\n type: \"warning\" | \"error\" | \"success\";\n \"data-testid\"?: string;\n plain?: boolean;\n /**\n * @deprecated Can be removed entirely.\n */\n closable?: boolean;\n className?: string;\n}\n\nexport const Alert = ({\n show,\n message,\n type,\n plain = false,\n className,\n}: IAlert) => {\n const [showAlert, setShowAlert] = useState<boolean>();\n\n const icon = () => {\n if (plain) return null;\n\n switch (type) {\n case \"warning\":\n return (\n <svg\n className=\"text-warning hidden md:block\"\n data-testid=\"alert-circle-icon\"\n />\n );\n case \"error\":\n return (\n <svg\n className=\"hidden text-red-500 md:block\"\n data-testid=\"alert-circle-icon\"\n />\n );\n case \"success\":\n return (\n <svg\n className=\"text-green hidden md:block\"\n data-testid=\"check-circle-icon\"\n />\n );\n }\n };\n\n useEffect(() => {\n setShowAlert(show);\n }, [show]);\n\n if (!showAlert) return null;\n\n return (\n <div\n className={cn(\n `flex w-full justify-between gap-3 rounded border border-solid p-5 md:items-center md:gap-12 ${\n plain ? \"border-none py-4 text-sm font-medium\" : \"\"\n }`,\n {\n \"border-warning bg-warning-light text-warning\":\n type === COLOR.WARNING,\n \"border-red-500 bg-red-50 text-red-500\": type === COLOR.ERROR,\n \"border-green bg-green-light text-green\": type === COLOR.SUCCESS,\n },\n className,\n )}\n data-component=\"Alert\"\n data-testid=\"alert\"\n >\n <>\n <div className=\"flex md:items-center\">\n <div className=\"flex md:items-center\">{icon()}</div>\n <p className={`m-0 font-medium text-black ${plain ? \"\" : \"md:ml-5\"}`}>\n {message}\n </p>\n </div>\n </>\n </div>\n );\n};\n\nAlert.displayName = \"Alert\";\n","\"use client\";\n\n\nimport React, {\n type ChangeEvent,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n} from \"react\";\n\nimport clsx from \"clsx\";\n\nimport { IconAlert } from \"../../icons/IconAlert\";\n\nexport type TextInputProps = InputHTMLAttributes<HTMLInputElement> & {\n rightSection?: React.ReactNode;\n leftSection?: React.ReactNode;\n label?: React.ReactNode | string;\n className?: string;\n min?: string | undefined | number;\n max?: string | undefined | number;\n error?: string;\n showRightSection?: boolean;\n step?: string;\n loadingState?: boolean;\n autoFocus?: boolean;\n wrapperClassName?: string;\n maxLength?: undefined | number;\n password?: boolean;\n autoComplete?: string;\n enablePasswordManagerAutofill?: boolean;\n onBlur?: (e: FocusEvent<HTMLInputElement>) => void;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n};\n\nexport const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(\n (\n {\n rightSection,\n leftSection,\n className,\n error,\n autoFocus,\n label,\n maxLength,\n enablePasswordManagerAutofill = false,\n onBlur,\n disabled,\n loadingState,\n onKeyDown,\n min = \"0\",\n max,\n autoComplete,\n showRightSection = true,\n step,\n wrapperClassName,\n password = false,\n ...props\n },\n ref,\n ) => {\n const [showPassword, setShowPassword] = React.useState(false);\n\n return (\n <div\n data-component=\"TextInput\"\n data-testid=\"TextInput\"\n className={clsx(\"relative\", wrapperClassName)}\n >\n {typeof label === \"string\" ? (\n <label\n htmlFor={props['id']}\n className=\"mb-2 flex items-center gap-1 text-xs font-medium text-black\"\n >\n {label}\n </label>\n ) : (\n label\n )}\n\n <div className=\"relative\">\n {leftSection && (\n <div\n className={clsx(\n \"absolute top-0 left-0 flex h-10 w-12 content-center items-center justify-center align-middle text-sm font-medium text-black\",\n )}\n >\n {leftSection}\n </div>\n )}\n <input\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n autoComplete={autoComplete}\n min={min}\n max={max}\n autoFocus={autoFocus}\n disabled={disabled}\n step={step}\n maxLength={maxLength}\n className={clsx(\n `${loadingState ? \"cursor-not-allowed\" : \"\"}`,\n `${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\"} ${\n error &&\n \"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\"\n }`,\n className,\n )}\n aria-busy={loadingState || undefined}\n data-lpignore={enablePasswordManagerAutofill ? undefined : \"true\"} // lastpass\n data-1p-ignore={enablePasswordManagerAutofill ? undefined : \"true\"} // 1Password\n ref={ref}\n {...props}\n type={password ? (showPassword ? \"text\" : \"password\") : \"text\"}\n />\n {loadingState ? (\n <div 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\">\n <IconAlert\n className=\"h-4 w-4 animate-spin text-gray-500\"\n aria-label=\"Loading\"\n />\n </div>\n ) : (\n rightSection &&\n showRightSection && (\n <div 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\">\n {rightSection}\n </div>\n )\n )}\n {password && (\n <div className=\"absolute inset-y-0 right-4 flex content-center items-center justify-center align-middle text-sm font-medium text-black\">\n {showPassword ? (\n <svg\n data-testid=\"password-visibility-toggle\"\n className=\"cursor-pointer text-gray-500\"\n onClick={() => setShowPassword(false)}\n />\n ) : (\n <svg\n data-testid=\"password-visibility-toggle\"\n className=\"cursor-pointer text-gray-500\"\n onClick={() => setShowPassword(true)}\n />\n )}\n </div>\n )}\n </div>\n {error && (\n <div className=\"mt-2 text-xs font-normal text-red-500\">{error}</div>\n )}\n </div>\n );\n },\n);\n","\"use client\";\nimport { type ChangeEvent, type KeyboardEvent, type Ref } from \"react\";\n\nimport { TextInput, type TextInputProps } from \"../textInput\";\n\ninterface ISearchLocationFormProps extends TextInputProps {\n label: string;\n onChange: (e: ChangeEvent<HTMLInputElement>) => void;\n onFocus?: () => void;\n inputValue?: string;\n showSuggestions: boolean;\n handleOnKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n children: React.ReactNode;\n error?: string;\n loading?: boolean;\n rightSection?: React.ReactNode;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const AutoCompleteInput = ({\n label,\n onChange,\n onFocus,\n inputValue,\n showSuggestions,\n handleOnKeyDown,\n children,\n error,\n rightSection,\n inputRef,\n}: ISearchLocationFormProps) => (\n <div className=\"relative mb-8\">\n <TextInput\n ref={inputRef}\n label={label}\n id=\"search\"\n type=\"text\"\n name=\"searchField\"\n onChange={onChange}\n onFocus={onFocus}\n onKeyDown={handleOnKeyDown}\n value={inputValue}\n error={error}\n rightSection={rightSection}\n aria-autocomplete=\"list\"\n aria-controls=\"suggestions-googlemaps-location-list\"\n />\n {showSuggestions && inputValue && children}\n </div>\n);\n","\"use client\";\nimport { cn } from \"@utils/cn\";\n\ninterface IAvatarProps {\n \"data-testid\"?: string;\n src: string;\n alt?: string;\n size?: number;\n radius?: keyof typeof radiusFormatter;\n}\n\nconst radiusFormatter = {\n 0: \"rounded-none\",\n 2: \"rounded-sm\",\n 4: \"rounded\",\n 6: \"rounded-lg\",\n 8: \"rounded-xl\",\n 10: \"rounded-2xl\",\n 12: \"rounded-3xl\",\n 100: \"rounded-full\",\n};\n\nexport const Avatar = ({\n src,\n alt = \"\",\n size = 50,\n radius = 100,\n \"data-testid\": dataTestId = \"avatar\",\n}: IAvatarProps) => (\n <div data-component=\"Avatar\" data-testid={dataTestId}>\n {src && (\n <img\n src={src}\n className={cn(\n \"aspect-square appearance-none object-cover\",\n radiusFormatter[radius],\n )}\n alt={alt}\n width={size}\n height={size}\n data-testid=\"avatar-img\"\n />\n )}\n </div>\n);\n\nAvatar.displayName = \"Avatar\";\n","\"use client\";\nimport { cn } from \"@utils/cn\";\n\ninterface IAvatarIndicator {\n indicatorCount?: number;\n className?: string;\n}\n\nexport const AvatarIndicator = ({\n indicatorCount,\n className,\n}: IAvatarIndicator) => (\n <div\n className={cn(\n \"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\",\n className,\n )}\n data-component=\"AvatarIndicator\"\n data-testid=\"AvatarIndicator\"\n >\n <div className=\"font-['Gotham'] text-[10px] leading-[10px] font-bold text-white\">{`+${indicatorCount}`}</div>\n </div>\n);\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\nimport { COLOR } from \"@utils/enums\";\nimport clsx from \"clsx\";\ninterface IBadgeProps {\n styleVariant?:\n | \"green-light\"\n | \"red\"\n | \"accent-blue\"\n | \"warning\"\n | \"gray\"\n | \"black\"\n | \"purple\"\n | \"pink\"\n | \"pink-light\"\n | \"gray\"\n | \"white\";\n color?:\n | \"dark\"\n | \"gray\"\n | \"red\"\n | \"pink\"\n | \"grape\"\n | \"violet\"\n | \"indigo\"\n | \"blue\"\n | \"cyan\"\n | \"green\"\n | \"lime\"\n | \"yellow\"\n | \"orange\"\n | \"teal\";\n /** Controls appearance */\n variant?: \"light\" | \"filled\" | \"outline\" | \"dot\" | \"gradient\";\n /** Badge height and font size */\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n /** Key of theme.radius or any valid CSS value to set border-radius, \"xl\" by default */\n radius?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n /** Sets badge width to 100% of parent element, hides overflow text with text-overflow: ellipsis */\n fullWidth?: boolean;\n /** Section rendered on the left side of label */\n leftSection?: React.ReactNode;\n /** Section rendered on the right side of label */\n rightSection?: React.ReactNode;\n favorite?: boolean;\n /** Badge label */\n children?: React.ReactNode;\n mobile?: boolean;\n className?: string;\n badgeBorder?: boolean;\n}\n\nexport const Badge = ({\n styleVariant = COLOR.ACCENT_BLUE,\n className,\n favorite,\n mobile = false,\n badgeBorder = false,\n fullWidth = false,\n leftSection,\n rightSection,\n children,\n ...props\n}: IBadgeProps) => (\n <span\n data-testid=\"badge\"\n data-component=\"Badge\"\n className={clsx(\n \"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\",\n mobile ? \"rounded-s\" : \"rounded-[2rem]\",\n fullWidth && \"w-full\",\n badgeBorder && {\n \"border-accent-blue\": styleVariant === COLOR.ACCENT_BLUE,\n \"border-green-light\": styleVariant === COLOR.GREEN_LIGHT,\n \"border-red-500\": styleVariant === COLOR.RED,\n \"border-purple\": styleVariant === COLOR.PURPLE,\n \"border-warning\": styleVariant === COLOR.WARNING,\n \"border-black\": styleVariant === COLOR.BLACK,\n \"border-gray-800\": styleVariant === COLOR.GRAY,\n \"border-pink\":\n styleVariant === COLOR.PINK_LIGHT || styleVariant === COLOR.PINK,\n \"border-gray-200 bg-white text-black\": styleVariant === COLOR.WHITE,\n },\n {\n \"bg-accent-blue-light text-accent-blue\":\n styleVariant === COLOR.ACCENT_BLUE,\n \"bg-green-light text-green\": styleVariant === COLOR.GREEN_LIGHT,\n \"bg-red-50 text-red-500\": styleVariant === COLOR.RED,\n \"bg-purple-light text-purple\": styleVariant === COLOR.PURPLE,\n \"bg-warning-light text-warning\": styleVariant === COLOR.WARNING,\n \"bg-gray-50 text-black\": styleVariant === COLOR.BLACK,\n \"bg-gray-50 text-gray-800\": styleVariant === COLOR.GRAY,\n \"bg-pink-light text-pink\": styleVariant === COLOR.PINK_LIGHT,\n \"bg-pink text-white\": styleVariant === COLOR.PINK,\n \"bg-white text-black\": styleVariant === COLOR.WHITE,\n },\n className,\n )}\n {...props}\n >\n {leftSection && <div data-testid=\"left-section\">{leftSection}</div>}\n <span\n data-testid=\"badge-content\"\n className={cn(\n \"block h-5 overflow-hidden text-ellipsis whitespace-nowrap\",\n {\n \"flex items-center\": favorite,\n },\n )}\n >\n {children}\n </span>\n {rightSection && <div data-testid=\"right-section\">{rightSection}</div>}\n </span>\n);\n\nBadge.displayName = \"Badge\";\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport { COLOR } from \"@utils/enums\";\n\ninterface IBigBadgeProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n styleVariant?: \"green\" | \"red\" | \"white\" | \"accent-blue\" | \"orange\";\n \"data-testid\"?: string;\n children: React.ReactNode;\n}\n\nexport const BigBadge = ({\n styleVariant = COLOR.GREEN,\n className,\n children,\n ...props\n}: IBigBadgeProps) => (\n <div\n data-component=\"BigBadge\"\n data-testid=\"big-badge\"\n className={cn(\n \"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\",\n {\n \"border-green text-green bg-white\": styleVariant === COLOR.GREEN,\n \"border-accent-blue text-accent-blue bg-white\":\n styleVariant === COLOR.ACCENT_BLUE,\n \"border-orange text-orange bg-white\": styleVariant === COLOR.ORANGE,\n \"group-hover:bg-green-light\": styleVariant === COLOR.GREEN,\n \"border-red-500 bg-white text-red-500\": styleVariant === COLOR.RED,\n \"group-hover:bg-red-50\": styleVariant === COLOR.RED,\n \"border-gray-200 bg-white text-black\": styleVariant === COLOR.WHITE,\n \"\": styleVariant === COLOR.WHITE,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n);\n","\"use client\";\nimport { type FC } from \"react\";\n\ninterface IBreadCrumb {\n children: React.ReactNode;\n LinkText: FC<{ classNames: string; children: React.ReactNode }>;\n}\n\nexport const BreadCrumb = ({ children, LinkText }: IBreadCrumb) => (\n <LinkText data-component=\"BreadCrumb\" classNames=\"flex items-center\">\n <>\n <svg role=\"img\" />\n <span className=\"flex items-center gap-5\">{children}</span>\n </>\n </LinkText>\n);\n\nBreadCrumb.displayName = \"BreadCrumb\";\n","\"use client\";\nimport {\n cloneElement,\n forwardRef,\n isValidElement,\n useImperativeHandle,\n useState,\n} from \"react\";\n\nimport {\n type AlignedPlacement,\n autoUpdate,\n flip,\n offset,\n shift,\n type Side,\n useClick,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport { cn } from \"@utils/cn\";\nimport clsx from \"clsx\";\n\nimport { ActionIcon } from \"../actionIcon\";\n\ntype ITooltipProps = {\n content: React.ReactNode;\n children: React.ReactNode;\n hoverEnabled?: boolean;\n passedOpen?: boolean;\n placement?: AlignedPlacement | Side;\n isMobile?: boolean;\n amountOfOffset?: number;\n className?: string;\n style?: \"minimal\" | \"card\";\n};\n\nexport type PopoverRefType = {\n closePopover: () => void;\n openPopover: () => void;\n togglePopover: () => void;\n};\n\nexport const Popover = forwardRef<PopoverRefType, ITooltipProps>(\n (\n {\n content,\n children,\n hoverEnabled = false,\n passedOpen = false,\n placement = \"right\",\n style = \"card\",\n isMobile = false,\n className,\n }: ITooltipProps,\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(passedOpen);\n\n const mobileStyles = {\n width: `${style === \"card\" && \"100%\"}`,\n };\n\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: setIsOpen,\n placement: !isMobile ? placement : \"bottom-start\",\n middleware: [\n !isMobile && flip(),\n !isMobile && shift(),\n offset(() => ({\n mainAxis: 15,\n crossAxis: !isMobile ? 0 : 78,\n })),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context, { event: \"click\", keyboardHandlers: true });\n const focus = useFocus(context);\n const hover = useHover(context, {\n enabled: hoverEnabled,\n });\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: \"tooltip\" });\n\n const interactions = [click, focus, dismiss, role, hover];\n\n const { getReferenceProps, getFloatingProps } =\n useInteractions(interactions);\n\n // Use useImperativeHandle to expose closePopover to the parent\n useImperativeHandle(ref, () => ({\n closePopover: () => setIsOpen(false),\n openPopover: () => setIsOpen(true),\n togglePopover: () => setIsOpen((prev) => !prev),\n }));\n\n return (\n <div className={cn(\"\", { \"[&>div]:border-navyBlue\": isOpen }, className)}>\n {isValidElement(children) &&\n cloneElement(\n children,\n getReferenceProps({\n ref: refs.setReference,\n ...getReferenceProps(),\n }),\n )}\n\n {isOpen && (\n <div\n ref={refs.setFloating}\n style={{ ...floatingStyles, ...(isMobile && { ...mobileStyles }) }}\n {...getFloatingProps()}\n className={clsx(\"z-60\", {\n \"w-fit rounded border border-gray-200! bg-white p-5\":\n style === \"minimal\",\n \"card w-[489px] drop-shadow-xl\": style === \"card\",\n })}\n data-testid=\"popover-container\"\n data-component=\"Popover\"\n >\n {style === \"minimal\" && content}\n {style === \"card\" && (\n <div className=\"bg-linear-gradient-x pt-[3px]\">\n <div className=\"relative overflow-hidden bg-white p-5\">\n {!hoverEnabled && (\n <ActionIcon\n onClick={() => setIsOpen(false)}\n title={\"\"}\n icon={<svg />}\n styleVariant=\"small\"\n className=\"absolute top-5 right-5\"\n />\n )}\n {content}\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n },\n);\n","\"use client\";\nimport { type ReactNode, useEffect, useRef, useState } from \"react\";\nimport { DayPicker, useDayPicker } from \"react-day-picker\";\n\nimport { cn } from \"@utils/cn\";\nimport clsx from \"clsx\";\nimport { addMonths, format, setMonth } from \"date-fns\";\nimport { enGB, fr, nl, nlBE } from \"date-fns/locale\";\n\nimport { Button } from \"../button\";\nimport { Popover, type PopoverRefType } from \"../popover\";\n\ninterface IDatePickerInputProps {\n value?: Date;\n label?: ReactNode | string;\n className?: string;\n classNames?: string;\n disabledFrom?: Date;\n disabledUntil?: Date;\n placeholder?: string;\n icon?: React.ReactNode;\n locale?: string;\n error?: string;\n onChange?: (date: Date | undefined) => void;\n lang?: string;\n todayText?: string;\n disabled?: boolean;\n minimalDropdownYears?: number;\n}\n\ninterface IDay {\n date: Date;\n}\n\nexport const DatePickerInput = ({\n lang,\n todayText,\n value,\n disabledFrom,\n disabledUntil,\n className,\n error,\n onChange,\n placeholder,\n label,\n disabled,\n minimalDropdownYears = 4,\n}: IDatePickerInputProps) => {\n const [selected, setSelected] = useState<Date | undefined>(value);\n const today = new Date();\n const [newMonth, setNewMonth] = useState(selected || today);\n const [dropdownOpened, setDropdownOpened] = useState({\n month: false,\n year: false,\n });\n const locales = { fr, enGB, nl, nlBE };\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<PopoverRefType | null>(null);\n const renderLocale = () => {\n switch (lang) {\n case \"fr-FR\":\n return locales.fr;\n case \"nl-BE\":\n return locales.nlBE;\n case \"nl-NL\":\n return locales.nl;\n case \"en-GB\":\n return locales.enGB;\n default:\n return locales.enGB;\n }\n };\n\n /* istanbul ignore next - relies on dropdown DOM not rendered in tests */\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n )\n setDropdownOpened({ month: false, year: false });\n };\n\n /* istanbul ignore next - environment differences make listener attach hard to test */\n useEffect(() => {\n if (dropdownOpened.month || dropdownOpened.year)\n document.addEventListener(\"mousedown\", handleClickOutside);\n else document.removeEventListener(\"mousedown\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [dropdownOpened]);\n\n const handleDayClick = (date: Date | undefined) => {\n /* istanbul ignore next - react-day-picker rarely calls onSelect(undefined) in our configuration */\n if (!date) return;\n handleClosePopover();\n setNewMonth(date);\n setSelected(date);\n onChange?.(date);\n };\n\n const isDateSelected = (day: IDay) => {\n /* istanbul ignore next - defensive null guard */\n if (!selected || !day) return false;\n // Create new Date objects to avoid mutating the original ones\n const d1 = new Date(day?.date);\n const d2 = new Date(selected);\n\n // Set the time components (hours, minutes, seconds, milliseconds) to zero\n d1.setHours(0, 0, 0, 0);\n d2.setHours(0, 0, 0, 0);\n\n // Compare the normalized dates\n return d1.getTime() === d2.getTime();\n };\n\n const handleClosePopover = () => {\n popoverRef.current?.closePopover();\n };\n\n const isDateToday = (day: IDay) => {\n /* istanbul ignore next - defensive null guard */\n if (!day) return false;\n const d1 = new Date(day?.date);\n const d2 = new Date(today);\n d1.setHours(0, 0, 0, 0);\n d2.setHours(0, 0, 0, 0);\n return d1.getTime() === d2.getTime();\n };\n\n return (\n <Popover\n style=\"minimal\"\n className=\"w-full\"\n ref={popoverRef}\n content={\n <div>\n <DayPicker\n {...(className && { className })}\n mode=\"single\"\n selected={selected}\n onSelect={handleDayClick}\n locale={renderLocale()}\n fixedWeeks\n endMonth={addMonths(today, 13)}\n captionLayout=\"dropdown\"\n onMonthChange={(newMonth) => setNewMonth(newMonth)}\n showOutsideDays\n // If a disabledFrom is provided, disable all dates before it, if a toDate is provided, disable all dates after it\n disabled={\n disabledFrom\n ? { before: disabledFrom }\n : disabledUntil\n ? { after: disabledUntil }\n : undefined\n }\n classNames={{\n month_grid: \"mt-3 max-w-[400px] border-t border-gray-100\",\n month_caption: \"text-sm font-bold\",\n dropdowns:\n \"flex items-center w-[190px] gap-1 left-0 justify-center h-8\",\n caption_label:\n \"text-sm font-medium flex items-center justify-center w-[190px]\",\n chevron: \"w-4 h-4 z-50\",\n nav: \"absolute w-[190px] justify-between flex h-8 items-center\",\n nav_button:\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 cursor-pointer\",\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n day: \"h-8 w-8 p-0 aria-selected:opacity-100 font-normal text-sm\",\n weekdays: \"pt-12\",\n weekday: \"text-gray-300 text-sm font-normal pt-4 pb-2\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-gray-800 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30\",\n day_disabled: \"text-gray-800\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n }}\n components={{\n DayButton: (props) => {\n const { day, ...buttonProps } = props;\n const { goToMonth } = useDayPicker();\n return (\n <button\n type=\"button\"\n {...buttonProps}\n className={clsx(\n \"m-1 size-8 text-black transition-all duration-100 ease-in-out\",\n \"md:hover:bg-gradient-calendar hover:rounded md:hover:text-white\",\n isDateSelected(day) &&\n \"bg-gradient-calendar rounded text-sm font-normal text-white\",\n isDateToday(day) &&\n \"border-b-primary border border-transparent\",\n \"translate-y-0 active:translate-y-0.5\",\n )}\n onClick={() => {\n goToMonth(day.date);\n handleDayClick(day.date);\n }}\n />\n );\n },\n Dropdown: (props) => {\n const { goToMonth, months } = useDayPicker();\n const { className: dropdownClassName } = props as {\n className?: string;\n };\n\n const today = new Date();\n\n /* istanbul ignore next - react-day-picker may not pass this className in our test env */\n if (dropdownClassName === \"rdp-months_dropdown\") {\n const selectedYear = newMonth.getFullYear();\n\n const selectItems = Array.from({ length: 12 }, (_, i) => {\n const monthDate = setMonth(new Date(selectedYear, i), i);\n\n return {\n value: i.toString(),\n label: format(monthDate, \"MMMM\", {\n locale: renderLocale(),\n }),\n };\n });\n\n return (\n <>\n <div className=\"relative\">\n <span\n className=\"cursor-pointer\"\n onClick={() =>\n setDropdownOpened({\n ...dropdownOpened,\n month: !dropdownOpened.month,\n year: false,\n })\n }\n >\n {format(newMonth, \"MMMM\", { locale: renderLocale() })}\n </span>\n {dropdownOpened.month && (\n <div\n ref={dropdownRef}\n className={\n \"shadow-dropdown absolute z-70 rounded-md border border-gray-50 bg-white\"\n }\n >\n {selectItems.map((item) => (\n <div\n key={item.value}\n onClick={() => {\n const newDate = new Date(\n selectedYear,\n parseInt(item.value),\n );\n goToMonth(newDate);\n setDropdownOpened({\n month: false,\n year: false,\n });\n }}\n 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\"\n >\n {item.label}\n </div>\n ))}\n </div>\n )}\n </div>\n <Button\n variant=\"secondary\"\n type=\"button\"\n className=\"absolute top-4 right-4 z-10 h-8 px-3 text-xs font-normal\"\n onClick={() => {\n goToMonth(today);\n handleDayClick(today);\n }}\n >\n {todayText}\n </Button>\n </>\n );\n /* istanbul ignore next - react-day-picker may not pass this className in our test env */\n } else if (dropdownClassName === \"rdp-years_dropdown\") {\n const earliestYear =\n new Date().getFullYear() - minimalDropdownYears;\n const latestYear = new Date().getFullYear() + 1;\n /* istanbul ignore else - defensive guard will always be truthy */\n if (earliestYear && latestYear) {\n const years = Array.from(\n { length: latestYear - earliestYear + 1 },\n (_, i) => earliestYear + i,\n ).reverse();\n return (\n <div className=\"relative\">\n <span\n className=\"cursor-pointer\"\n onClick={() =>\n setDropdownOpened({\n ...dropdownOpened,\n year: !dropdownOpened.year,\n month: false,\n })\n }\n >\n {format(newMonth, \"yyyy\", { locale: renderLocale() })}\n </span>\n {dropdownOpened.year && (\n <div\n ref={dropdownRef}\n className=\"shadow-dropdown absolute z-70 rounded-md border border-gray-50 bg-white max-h-64 overflow-y-auto\"\n >\n {years.map((year) => (\n <div\n key={year}\n onClick={() => {\n const newDate =\n months?.[0]?.date || new Date();\n newDate.setFullYear(year);\n goToMonth(newDate);\n setDropdownOpened({\n month: false,\n year: false,\n });\n }}\n className={\n \"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\"\n }\n >\n {year}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }\n }\n /* istanbul ignore next - fallback path only when react-day-picker passes unknown className */\n return <></>;\n },\n }}\n />\n </div>\n }\n placement=\"bottom-start\"\n >\n <div\n data-component=\"datePickerInput\"\n className={cn(\"relative\", className)}\n >\n {/* istanbul ignore next - trivial render guard */}\n {label && (\n <label className=\"mb-2 flex items-center gap-1 text-xs font-medium\">\n {label}\n </label>\n )}\n <Button\n variant=\"outline\"\n type=\"button\"\n disabled={disabled}\n className={cn(\n \"flex h-10 w-full items-center justify-start bg-gray-50 px-3 text-black\",\n /* istanbul ignore next - cosmetic class toggle */ {\n \"border-red-500 text-red-500\": error,\n },\n )}\n onClick={() => setNewMonth(today)}\n >\n <svg />\n <span className=\"text-sm font-normal text-nowrap text-black\">\n {selected ? selected.toLocaleDateString() : placeholder}\n </span>\n {/* istanbul ignore next - close icon rendering is covered functionally elsewhere */}\n {selected !== undefined && (\n <div>\n <span\n className=\"cursor-pointer text-sm font-normal text-gray-800\"\n onClick={() => {\n setSelected(undefined);\n onChange?.(undefined);\n }}\n >\n <svg />\n </span>\n </div>\n )}\n </Button>\n {/* istanbul ignore next - trivial render guard */}\n {error && (\n <small className=\"text-xs font-normal text-red-500\">{error}</small>\n )}\n </div>\n </Popover>\n );\n};\n","\"use client\";\nimport {\n type ButtonHTMLAttributes,\n forwardRef,\n type JSX,\n type Ref,\n} from \"react\";\n\nimport { ActionIcon } from \"../actionIcon\";\n\ninterface IFavouriteButtonProps extends Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n \"type\" | \"size\"\n> {\n onClick: () => void;\n favourite: boolean;\n iconOutline?: React.ReactNode;\n iconFilled?: React.ReactNode;\n iconSize?: number;\n className?: string;\n favouriteTitle?: string;\n \"data-testid\"?: string;\n iconColor?: string;\n iconColorSelected?: string;\n styleVariant?: \"transparent\" | \"small\" | \"default\" | \"round\" | undefined;\n children?: React.ReactNode;\n}\n\nexport const FavouriteButton = forwardRef<\n HTMLButtonElement,\n IFavouriteButtonProps\n>((props, ref) => {\n const {\n onClick,\n favourite,\n iconFilled,\n iconOutline,\n favouriteTitle,\n iconColorSelected = \"text-pink\",\n iconColor = \"text-gray-800\",\n iconSize,\n className = \"\",\n styleVariant = \"transparent\",\n children,\n ...rest\n } = props;\n\n return (\n <ActionIcon\n onClick={onClick}\n data-component=\"favouriteButton\"\n title={favouriteTitle || \"Favorite\"}\n styleVariant={styleVariant}\n className={`${favourite ? iconColorSelected : iconColor} ${className}`.trim()}\n iconSize={iconSize}\n ref={ref}\n icon={favourite ? (iconFilled ?? <svg />) : (iconOutline ?? <svg />)}\n {...rest}\n >\n {children}\n </ActionIcon>\n );\n}) as (\n props: IFavouriteButtonProps & { ref?: Ref<HTMLButtonElement> },\n) => JSX.Element;\n","\"use client\";\nimport { type ButtonHTMLAttributes, forwardRef } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface IUnstyledButton extends Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n \"className\"\n> {\n className?: string;\n}\n\nexport const UnstyledButton = forwardRef<HTMLButtonElement, IUnstyledButton>(\n ({ className, ...props }, ref) => (\n <button\n type=\"button\"\n data-component=\"unstyledButton\"\n className={cn(\"appearance-none\", className)}\n ref={ref}\n {...props}\n />\n ),\n);\n\nUnstyledButton.displayName = \"UnstyledButton\";\n","\"use client\";\n\nimport { Button } from \"../button\";\nimport { UnstyledButton } from \"../unstyledButton\";\n\ninterface IFilterButtonProps {\n onClick: () => void;\n hasFilters: boolean;\n reset: () => void;\n filtersText: string;\n resetText: string;\n}\n\nexport const FilterButton = ({\n onClick,\n hasFilters,\n reset,\n filtersText,\n resetText,\n}: IFilterButtonProps) => (\n <div className=\"flex gap-3\" data-testid=\"filterButton\">\n <Button\n onClick={onClick}\n variant=\"secondary\"\n className=\"font-normal md:font-normal\"\n icon={<svg />}\n >\n {filtersText}\n </Button>\n <UnstyledButton\n className=\"text-sm font-normal disabled:text-gray-500\"\n onClick={reset}\n disabled={!hasFilters}\n >\n {resetText}\n </UnstyledButton>\n </div>\n);\n","\"use client\";\nimport { cn } from \"@utils/cn\";\n\ninterface IFilterItemProps {\n title: string;\n isActive?: boolean;\n onClick?: () => void;\n}\n\nexport const FilterItem = ({\n title,\n isActive = false,\n onClick,\n}: IFilterItemProps) => (\n <label\n className={cn(\n \"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\",\n )}\n >\n <input\n type=\"checkbox\"\n className=\"hidden\"\n onChange={onClick}\n checked={isActive}\n />\n {title}\n </label>\n);\n","\"use client\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\nimport { FilterButton } from \"./FilterButton\";\nimport { FilterItem } from \"./FilterItem\";\n\ninterface IFilterProps {\n filters: string[];\n selectedFilters: string[];\n selectedFiltersText: string;\n setFilters: (filter: string[]) => void;\n callBack?: () => void;\n filtersText: string;\n resetText: string;\n}\n\nexport const Filters = ({\n filters,\n setFilters,\n selectedFilters,\n selectedFiltersText,\n filtersText,\n resetText,\n}: IFilterProps) => {\n const content = useRef<HTMLDivElement>(null);\n\n const [showFilters, setShowFilters] = useState(false);\n\n const onFilter = (filter: string) => {\n if (selectedFilters.includes(filter))\n setFilters(selectedFilters.filter((f) => f !== filter));\n else setFilters([...selectedFilters, filter]);\n };\n\n useEffect(() => {\n setShowFilters(selectedFilters.length > 0);\n }, [selectedFilters]);\n\n const onReset = () => {\n setFilters([]);\n };\n\n return (\n <div className=\"grid justify-end gap-3\" data-testid=\"filters-component\">\n <div className=\"flex items-center justify-end gap-3\">\n <span className=\"text-sm font-medium\" data-testid=\"filters-title\">\n {selectedFiltersText}\n </span>\n <FilterButton\n onClick={() => setShowFilters(!showFilters)}\n hasFilters={selectedFilters.length > 0}\n reset={() => onReset()}\n filtersText={filtersText}\n resetText={resetText}\n />\n </div>\n <div\n ref={content}\n data-testid=\"filters-items-container\"\n data-visible={showFilters}\n className={cn(\n \"flex flex-wrap justify-end gap-2 overflow-hidden opacity-0 ease-in-out [transition:max-height_0.4s,opacity_0.3s]\",\n showFilters && \"opacity-100\",\n )}\n style={{\n maxHeight: showFilters\n ? `${content?.current?.scrollHeight}px`\n : \"0px\",\n }}\n >\n {filters.map((filter) => (\n <FilterItem\n key={filter}\n title={filter}\n isActive={selectedFilters.includes(filter)}\n onClick={() => onFilter(filter)}\n />\n ))}\n </div>\n </div>\n );\n};\n","\"use client\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\nimport { UnstyledButton } from \"../unstyledButton\";\n\ninterface IHamburgerMenuButtonProps {\n setMenuState: () => void;\n menuState: boolean;\n}\n\nexport const HamburgerMenuButton = forwardRef<\n HTMLButtonElement,\n IHamburgerMenuButtonProps\n>(({ menuState, setMenuState }: IHamburgerMenuButtonProps, ref) => {\n const defaultClasses = cn(\"absolute h-[2px] bg-white duration-150\");\n\n return (\n <UnstyledButton\n onClick={setMenuState}\n className=\"relative h-4 w-6\"\n name=\"hamburgerMenuButton\"\n data-component=\"hamburgerMenuButton\"\n aria-label=\"Mobile Menu button\"\n ref={ref}\n >\n <span\n data-testid=\"hamburger-line-top\"\n className={cn(defaultClasses, \"top-0 left-0 w-6\", {\n \"translation top-1/2 translate-y-[-50%] rotate-45 transform duration-150 ease-in\":\n menuState,\n })}\n />\n <span\n data-testid=\"hamburger-line-middle\"\n className={cn(\n defaultClasses,\n \"top-1/2 right-0 w-4 translate-y-[-50%]\",\n {\n \"translation opacity-0 ease-in\": menuState,\n },\n )}\n />\n <span\n data-testid=\"hamburger-line-bottom\"\n className={cn(defaultClasses, \"bottom-0 left-0 w-6\", {\n \"translation top-1/2 translate-y-[-50%] -rotate-45 transform duration-150 ease-in\":\n menuState,\n })}\n />\n </UnstyledButton>\n );\n});\n\nHamburgerMenuButton.displayName = \"HamburgerMenuButton\";\n","\"use client\";\ninterface HRProps {\n className?: string;\n}\n\nexport const HR = ({ className }: HRProps) => (\n <hr\n data-component=\"hr\"\n className={`h-px w-full border-none bg-gray-200 ${className}`}\n />\n);\n\nHR.displayName = \"HR\";\n","\"use client\";\nimport * as React from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface IIsland extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n noShadow?: boolean;\n className?: string;\n noPadding?: boolean;\n}\n\nexport const Island = ({\n children,\n className,\n noShadow = false,\n noPadding = false,\n ...props\n}: IIsland) => (\n <div\n data-testid=\"island\"\n data-component=\"island\"\n className={cn(\n \"relative bg-white px-5 py-5 md:px-10 md:py-9\",\n {\n \"shadow-[0_-0.5rem_2rem_rgba(38,41,92,0.04)]\": !noShadow,\n \"drop-shadow-none\": noShadow,\n \"md:px-0 md:py-0\": noPadding,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n);\n\nIsland.displayName = \"Island\";\n","\"use client\";\n\nimport {\n type JSX,\n type KeyboardEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\n// import { useTranslations } from 'next-intl';\nimport { cn } from \"@utils/cn\";\n\nimport { ActionIcon } from \"../actionIcon\";\ninterface IModal {\n children: React.ReactNode;\n title?: string;\n withCloseButton?: boolean;\n opened: boolean;\n onClose: () => void;\n additionalClassNames?: string;\n gradient?: boolean;\n dataTestId?: string;\n size?: string | number;\n uncloseAble?: boolean;\n closeModalWithConfirmation?: boolean;\n confirmText?: string;\n}\n\nexport const Modal = ({\n title,\n children,\n withCloseButton = true,\n opened,\n additionalClassNames,\n closeModalWithConfirmation = false,\n gradient = true,\n uncloseAble = false,\n confirmText = \"Are you sure you want to close this modal?\",\n dataTestId,\n onClose,\n size,\n}: IModal) => {\n // const t = useTranslations();\n const ref = useRef<HTMLDivElement | null>(null);\n const refContainer = useRef<HTMLDivElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n setIsOpen(opened);\n }, [opened]);\n\n const handleClose = useCallback(() => {\n if (uncloseAble) return;\n if (closeModalWithConfirmation) {\n if (window.confirm(confirmText)) {\n setIsOpen(false);\n onClose();\n }\n } else {\n setIsOpen(false);\n onClose();\n }\n }, [closeModalWithConfirmation, onClose, uncloseAble]);\n\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n if (\n refContainer.current &&\n refContainer.current.contains(event.target as HTMLElement)\n )\n {if (ref.current && !ref.current.contains(event.target as HTMLElement))\n handleClose();}\n },\n [handleClose],\n );\n\n const handleEscapeKey = useCallback(\n (event: KeyboardEvent) => {\n if (event.code === \"Escape\") handleClose();\n },\n [handleClose],\n );\n\n useEffect(() => {\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n window.addEventListener(\n \"keydown\",\n handleEscapeKey as unknown as EventListener,\n );\n }\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n window.removeEventListener(\n \"keydown\",\n handleEscapeKey as unknown as EventListener,\n );\n };\n }, [\n handleClickOutside,\n handleClose,\n handleEscapeKey,\n isOpen,\n onClose,\n opened,\n ref,\n ]);\n\n if (!isOpen) return null;\n\n return createPortal(\n <div\n className={cn(\n \"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\",\n )}\n data-testid={dataTestId}\n data-component=\"modal\"\n ref={refContainer}\n >\n <div\n className=\"bg-navy-blue/40 fixed top-0 left-0 z-[-1] size-full\"\n data-testid=\"modalBg\"\n />\n <div className={\"relative flex w-full justify-center\"}>\n <section\n className={cn(\n \"relative h-full w-full max-w-[1000px] bg-white px-5 py-8 shadow-xl md:px-10 md:py-10\",\n additionalClassNames,\n size,\n )}\n ref={ref}\n role=\"dialog\"\n tabIndex={-1}\n aria-modal={isOpen}\n aria-label={title}\n >\n <div className=\"relative z-10 w-full\">\n {withCloseButton && (\n <ActionIcon\n onClick={handleClose}\n // aria-label={t('globals.closeModal')}\n aria-label={\"close modal\"}\n className=\"absolute top-0 right-0\"\n data-testid=\"close-modal\"\n icon={<svg />}\n title={\"close Modal\"}\n // title={t('globals.closeModal')}\n />\n )}\n </div>\n {title && (\n <div className=\"relative w-full pt-14\">\n <h2 className=\"mt-0 mb-8 text-left text-3xl font-bold\">\n {title}\n </h2>\n </div>\n )}\n <div>{children}</div>\n {gradient && (\n <hr\n data-testid=\"modal-gradient\"\n className=\"absolute bottom-0 left-0 mt-8 mb-0 h-2! w-full border-none\"\n style={{\n backgroundImage:\n \"linear-gradient(90deg, var(--color-light-blue) 0%, var(--color-primary) 50.52%, var(--color-pink) 100%)\",\n }}\n />\n )}\n </section>\n </div>\n </div>,\n document.body,\n // Below is needed for test.tsx and for stories.tsx\n ) as unknown as JSX.Element;\n};\n\nModal.displayName = \"Modal\";\n","\"use client\";\nimport { type ChangeEvent } from \"react\";\n\ninterface NumberFieldProps {\n name: string;\n value: number | undefined;\n id: string;\n className?: string;\n label?: string;\n error?: string;\n max?: number;\n min?: number;\n isDisabled?: boolean;\n onChange?: (value: number) => void;\n}\n\nexport const NumberField = ({\n name,\n value = 0,\n max,\n min = 0,\n isDisabled,\n id,\n className = \"\",\n label,\n error,\n onChange,\n}: NumberFieldProps) => {\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n const newValue = parseInt(e.target.value, 10);\n onChange?.(newValue);\n };\n\n const handleIncrement = () => {\n onChange?.(value + 1);\n };\n\n const handleDecrement = () => {\n if (value > 0) onChange?.(value - 1);\n };\n\n return (\n <div\n data-testid=\"number-field-container\"\n className={`inline-flex flex-col ${className}`}\n >\n {label && (\n <label htmlFor={id} className=\"mb-1 text-sm font-medium text-gray-700\">\n {label}\n </label>\n )}\n <div\n 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\"}`}\n >\n <button\n type=\"button\"\n onClick={handleDecrement}\n disabled={isDisabled}\n 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\"\n >\n -\n </button>\n <input\n type=\"number\"\n id={id}\n name={name}\n min={min}\n max={max}\n disabled={isDisabled}\n value={value}\n onChange={handleChange}\n className={`peer m-auto mx-8 block w-[42px] [appearance:textfield] items-center border-x border-gray-300 py-2 text-center focus:border-x-gray-300 focus:ring-0 focus:ring-red-500 focus:outline-hidden [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none ${\n error ? \"border-red-300\" : \"border-gray-300\"\n }`}\n />\n <button\n type=\"button\"\n onClick={handleIncrement}\n disabled={isDisabled}\n className=\"absolute right-0 flex h-full w-8 items-center justify-center rounded-r-md bg-gray-50 text-gray-500 hover:bg-gray-100\"\n >\n +\n </button>\n </div>\n {error && (\n <p className=\"mt-1 text-sm font-normal text-red-600\">{error}</p>\n )}\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { TextInput, type TextInputProps } from \"../textInput\";\n\nexport const PasswordInput = React.forwardRef<HTMLInputElement, TextInputProps>(\n (props, ref) => (\n <TextInput\n password={true}\n enablePasswordManagerAutofill={true}\n type=\"password\"\n {...props}\n ref={ref}\n />\n ),\n);\n\nPasswordInput.displayName = \"PasswordInput\";\n","\"use client\";\n\nimport { useEffect, useState } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ProgressProps {\n value: number;\n maxValue?: number;\n className?: string;\n}\n\nexport const ProgressBar = ({\n value,\n maxValue = 100,\n className,\n}: ProgressProps) => {\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n // Handle edge cases: negative values, zero maxValue, value > maxValue\n if (value <= 0) setWidth(0);\n else if (maxValue <= 0) setWidth(0);\n else if (value >= maxValue) setWidth(100);\n else setWidth((value / maxValue) * 100);\n }, [value, maxValue]);\n\n return (\n <div\n className={cn(\"h-2 rounded-lg bg-gray-100\", className)}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={maxValue}\n >\n <div\n data-testid=\"progress-bar-fill\"\n className=\"h-2 rounded-lg bg-[#27295c] transition-all duration-1000 ease-in-out\"\n style={{ width: `${width}%` }}\n ></div>\n </div>\n );\n};\n","\"use client\";\n\n\nimport clsx from \"clsx\";\n\nexport interface IRadioButton extends React.InputHTMLAttributes<HTMLInputElement> {\n id?: string;\n name?: string;\n value: string;\n label: string;\n className?: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n checked?: boolean;\n dataTestId?: string;\n containerClassName?: string;\n labelClassName?: string;\n inputClassName?: string;\n disabled?: boolean;\n}\n\nexport const RadioButton = ({\n id,\n name,\n value,\n label,\n onChange,\n checked,\n dataTestId,\n className,\n containerClassName,\n labelClassName,\n ...props\n}: IRadioButton) => (\n <div\n data-testid=\"radio-button-container\"\n className={`${containerClassName || \"radio-button-container\"} relative flex items-start`}\n >\n <div className=\"relative\">\n <input\n type=\"radio\"\n id={id}\n name={name}\n value={value}\n onChange={props.disabled ? undefined : onChange}\n checked={checked}\n data-testid={dataTestId}\n className={`${clsx(\n className,\n \"ease checked:border-navyBlue checked:bg-navy-blue relative m-0 flex size-5 cursor-pointer appearance-none items-center justify-center rounded-full border border-gray-400 bg-white transition-colors duration-100 focus:ring-0 focus:outline-hidden focus-visible:ring-0\",\n {\n \"cursor-not-allowed opacity-50\": props.disabled,\n },\n )}`}\n {...props}\n />\n {checked && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 5 5\"\n className=\"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 scale-100 text-white\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"M0 2.5a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0z\"\n ></path>\n </svg>\n )}\n </div>\n <label\n htmlFor={id}\n className={` ${clsx(\n labelClassName,\n \"mb-0 cursor-pointer pl-3 text-sm font-normal\",\n {\n \"text-gray-400\": props.disabled,\n },\n )}`}\n >\n {label}\n </label>\n </div>\n);\n\nRadioButton.displayName = \"RadioButton\";\n","\"use client\";\n\n// check old component what to do with the regions (i made this way dumber)\n\ninterface IRegionSelector {\n title: string;\n regions: React.ReactNode[];\n \"data-testid\"?: string;\n}\n\nexport const RegionSelector = ({\n title,\n regions,\n ...props\n}: IRegionSelector) => {\n if (regions?.length === 0) return null;\n\n return (\n <div\n data-component=\"regionSelector\"\n className=\"flex w-full flex-col items-center justify-center gap-11 break-words lg:gap-14\"\n {...props}\n >\n <h1 className=\"w-full text-2xl leading-10 font-bold md:text-3xl\">\n {title}\n </h1>\n <ul\n className=\"mx-auto flex w-full max-w-[415px] list-none flex-col items-start justify-start gap-3.5 pl-0 hover:cursor-pointer\"\n data-testid=\"region-select\"\n >\n {regions}\n </ul>\n </div>\n );\n};\n\nRegionSelector.displayName = \"RegionSelector\";\n","\"use client\";\nimport { ProgressBar } from \"../progressBar\";\nimport { Rating } from \"../rating\";\n\nconst ReviewsLine = ({\n maxValue,\n amount,\n countStarsText,\n}: {\n maxValue: number;\n amount: number;\n countStarsText: string;\n}) => (\n <div className=\"flex w-full flex-row place-content-center gap-5 align-middle\">\n <span className=\"min-w-20 tabular-nums\">{countStarsText}</span>\n <span className=\"flex w-full flex-1 items-center\">\n <ProgressBar value={amount} maxValue={maxValue} className=\"w-full\" />\n </span>\n <span className=\"w-10 text-right text-gray-800 tabular-nums\">{amount}</span>\n </div>\n);\n\ninterface AggregatedRating {\n score: number;\n amount: number;\n}\n\ninterface IReviewsProps {\n totalRatings: number;\n averageRating: number;\n ratings: { value: number; label: string }[];\n aggregatedRating: AggregatedRating[];\n countStarsText: string[];\n numberOfReviewsText: string;\n}\n\nfunction formatRating(rating: number): string | number {\n return rating === 0 ? 0 : rating.toFixed(1);\n}\n\nexport const Reviews = ({\n totalRatings,\n averageRating,\n aggregatedRating,\n countStarsText,\n numberOfReviewsText,\n}: IReviewsProps) => (\n <div className=\"bg-ultra-light-gray flex w-full flex-col p-6 md:flex-row\">\n <div className=\"mb-5 flex flex-1 flex-row items-start justify-start gap-5 md:mb-0 md:flex-col md:justify-center md:gap-0\">\n <div className=\"mb-4 text-[50px] leading-[50px] font-bold\">\n {formatRating(averageRating ?? 0)}\n </div>\n <div className=\"flex flex-col\">\n <Rating\n rating={averageRating}\n className=\"mb-4\"\n />\n <div className=\"text-gray-800\">({numberOfReviewsText})</div>\n </div>\n </div>\n <div className=\"flex flex-1 flex-col items-center gap-2\">\n {aggregatedRating.map((rating, i) => {\n const arrayIndex = aggregatedRating.length - i;\n return (\n <ReviewsLine\n amount={rating.amount}\n maxValue={totalRatings}\n key={i}\n countStarsText={countStarsText[arrayIndex - 1] || ''}\n />\n );\n })}\n </div>\n </div>\n);\n","\"use client\";\nimport { useEffect, useState } from \"react\";\n\nexport const ScrollToTop = ({\n scrollToTopTitle,\n}: {\n scrollToTopTitle: string;\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n const showScrollToTopButtonPosition = 20;\n const scrollDuration = 250;\n\n useEffect(() => {\n const handleScroll = () => {\n if (window.scrollY > showScrollToTopButtonPosition) setIsVisible(true);\n else setIsVisible(false);\n };\n window.addEventListener(\"scroll\", handleScroll);\n return () => {\n window.removeEventListener(\"scroll\", handleScroll);\n };\n }, []);\n\n const scrollToTop = () => {\n const scrollStep = -window.scrollY / (scrollDuration / 15);\n const scrollInterval = setInterval(() => {\n if (window.scrollY !== 0) window.scrollBy(0, scrollStep);\n else clearInterval(scrollInterval);\n }, 15);\n };\n\n return (\n <>\n <button\n title={scrollToTopTitle}\n type=\"button\"\n disabled={false}\n data-testid=\"scrollToTop\"\n data-component=\"ActionIcon\"\n className={`active:translate-y-[1px] content-center rounded-[4px] border-gray-200 hover:border-black child:p-10 disabled:text-gray-500 bg-turquoise-700 hover:bg-turquoise-600 fixed -right-[10px] bottom-[105px] z-40 flex h-[43px] w-[62px] cursor-pointer items-center justify-center rounded-l-3xl border-0 px-2 text-black duration-500 ${\n isVisible ? \"translate-x-0\" : \"translate-x-[60px]\"\n }`}\n onClick={scrollToTop}\n data-tooltip-id={scrollToTopTitle}\n data-tooltip-content={scrollToTopTitle}\n >\n <svg />\n </button>\n </>\n );\n};\n","\"use client\";\n\nimport { type ChangeEvent } from \"react\";\n\nimport { TextInput, type TextInputProps } from \"../textInput\";\n\ninterface SearchInputProps extends TextInputProps {\n placeholder: string;\n value?: string;\n className?: string;\n disabled?: boolean;\n rightSection?: React.ReactNode;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const SearchInput = ({\n placeholder,\n value,\n onChange,\n className,\n rightSection,\n ...props\n}: SearchInputProps) => (\n <TextInput\n placeholder={placeholder}\n className={className || \"w-full lg:w-auto lg:min-w-[23.75rem]\"}\n rightSection={rightSection || <></>}\n value={value}\n onChange={onChange}\n {...props}\n />\n);\n","\"use client\";\n\nimport * as React from \"react\";\nimport { forwardRef, type ReactElement } from \"react\";\nimport ReactSelect, {\n type ActionMeta,\n components,\n type ControlProps,\n type CSSObjectWithLabel,\n type DropdownIndicatorProps,\n type GroupBase,\n type GroupHeadingProps,\n type NoticeProps,\n type Props,\n type PropsValue,\n type SingleValue,\n type SingleValueProps,\n type StylesConfig,\n type ThemeConfig,\n} from \"react-select\";\n\n// import { useTranslations } from 'next-intl';\nimport { cn } from \"@utils/cn\";\nimport clsx from \"clsx\";\n\nimport { Label } from \"../label\";\n\n// Define language flags outside the component\nconst LANGUAGE_FLAGS = [\n { value: \"nl-NL\", altValue: \"nl_NL\", label: \"nl\" }, // NL flag\n { value: \"nl-BE\", altValue: \"nl_BE\", label: \"be\" }, // BE flag\n { value: \"en-GB\", altValue: \"en_GB\", label: \"gb\" }, // GB flag\n { value: \"fr-FR\", altValue: \"fr_FR\", label: \"fr\" }, // FR flag\n];\n\n// TODO: language external\n\ninterface CustomSelectProps<T> extends Props<T, false, GroupBase<T>> {\n small?: boolean;\n error?: string;\n icon?: ReactElement;\n showLangFlags?: boolean;\n hideErrorText?: boolean;\n fullWidth?: boolean;\n isClearable?: boolean;\n width?: string;\n options: readonly (T | GroupBase<T>)[];\n defaultValue?: PropsValue<T> | undefined;\n value?: PropsValue<T>;\n onChange?:\n | ((newValue: SingleValue<T>, actionMeta: ActionMeta<T>) => void)\n | undefined;\n isDisabled?: boolean;\n}\n\ninterface ISelectNewProps<T> extends CustomSelectProps<T> {\n placeholder: string;\n label?: string | ReactElement;\n className?: string;\n id: string;\n labelClassNames?: string;\n}\n\nconst selectStyles: StylesConfig<unknown, false, GroupBase<unknown>> = {\n singleValue: (provided) => ({\n ...provided,\n fontSize: \"14px\",\n }),\n placeholder: (provided) => ({\n ...provided,\n color: \"#838383\",\n fontSize: \"14px\",\n textWrap: \"nowrap\",\n }),\n dropdownIndicator: (provided) => ({\n ...provided,\n color: \"black\",\n }),\n option: (base, { isFocused, isSelected }) => ({\n ...base,\n color: \"black\",\n marginLeft: \"4px\",\n marginRight: \"4px\",\n backgroundColor: isSelected\n ? \"#f8f8f8\"\n : isFocused\n ? \"#f8f8f8\"\n : \"transparent\",\n width: \"calc(100% - 8px)\",\n cursor: \"pointer\",\n }),\n menuList: (provided) => ({\n ...provided,\n fontSize: \"14px\",\n }),\n};\n\nconst selectTheme: ThemeConfig = (theme) => ({\n ...theme,\n borderRadius: 4,\n colors: {\n ...theme.colors,\n primary25: \"#f8f8f8\",\n primary: \"#f8f8f8\",\n },\n});\n\nexport const Select = forwardRef<HTMLDivElement, ISelectNewProps<unknown>>(\n (\n {\n options,\n placeholder,\n defaultValue,\n label,\n id,\n icon,\n error,\n className,\n labelClassNames,\n showLangFlags = false,\n hideErrorText = false,\n isClearable = true,\n fullWidth = true,\n width,\n isDisabled,\n ...props\n },\n ref,\n ) => {\n // const t = useTranslations();\n const DropdownIndicator = (\n props: DropdownIndicatorProps<unknown, false, GroupBase<unknown>>,\n ) => (\n <components.DropdownIndicator {...props}>\n {props.hasValue && isClearable ? (\n <svg\n data-testid=\"icon-x\"\n className=\"cursor-pointer\"\n color=\"black\"\n onClick={() => props.clearValue()}\n />\n ) : (\n <svg color=\"black\" />\n )}\n </components.DropdownIndicator>\n );\n\n const GroupHeading: React.FC<\n GroupHeadingProps<unknown, false, GroupBase<unknown>>\n > = ({ children }) => (\n <div className=\"flex items-stretch px-4 py-2 font-normal text-[#838383] capitalize\">\n <span className=\"flex-nowrap whitespace-nowrap\">{children}</span>\n <span className=\"ml-2 flex w-full flex-1 items-center justify-center\">\n <span className=\"h-px w-full bg-[#838383]\" />\n </span>\n </div>\n );\n\n const LanguageControl: React.FC<\n ControlProps<unknown, false, GroupBase<unknown>>\n > = (props) => {\n const getSelectedFlag = () => {\n const selectValue = props.selectProps.value;\n const findFlag = (value: string) =>\n LANGUAGE_FLAGS.find((e) => e.value === value || e.altValue === value)\n ?.label || \"\";\n\n if (typeof selectValue === \"string\") return findFlag(selectValue);\n if (\n typeof selectValue === \"object\" &&\n selectValue !== null &&\n \"value\" in selectValue\n )\n return findFlag(selectValue.value as string);\n\n return null;\n };\n\n const selectedFlag = getSelectedFlag();\n\n return (\n <components.Control {...props}>\n {selectedFlag && (\n <div className=\"flex h-[39px] items-center border-r border-gray-200 p-3\">\n <img\n src={`/images/countries/${selectedFlag.toUpperCase()}_flag.svg`}\n alt=\"\"\n width={24}\n height={24}\n />\n </div>\n )}\n {props.children}\n </components.Control>\n );\n };\n\n const NoOptionsMessage = (\n props: NoticeProps<unknown, false, GroupBase<unknown>>,\n ) => (\n // <components.NoOptionsMessage {...props}>{t('globals.noOptions')}</components.NoOptionsMessage>\n <components.NoOptionsMessage {...props}>\n noOptionsMessage\n </components.NoOptionsMessage>\n );\n\n const SingleValue: React.FC<\n SingleValueProps<unknown, false, GroupBase<unknown>>\n > = (props) => (\n <components.SingleValue {...props}>\n <span className=\"flex items-center\">\n {icon && icon}\n <span className=\"mx-2\">{props.children}</span>\n </span>\n </components.SingleValue>\n );\n\n // const formatGroupLabel = (data: CustomGroupBase<unknown>) => (\n // <div className=\"flex items-center\">\n // <span className=\"normal-case\">{data.label}</span>\n // </div>\n // );\n\n return (\n <div\n data-component=\"Select\"\n data-testid=\"select-container\"\n ref={ref}\n className={clsx(\n \"m-0 grid gap-2 p-0\",\n width ? width : fullWidth && \"w-full\",\n className,\n )}\n >\n {label && (\n <Label className={cn(\"leading-4\", labelClassNames)}>{label}</Label>\n )}\n <ReactSelect<unknown, false, GroupBase<unknown>>\n key={id}\n data-component=\"select\"\n data-testid=\"select-input\"\n options={options}\n menuPlacement=\"auto\"\n isDisabled={isDisabled}\n defaultValue={defaultValue}\n placeholder={placeholder}\n isClearable={false}\n menuPortalTarget={document?.body}\n styles={{\n ...selectStyles,\n control: (\n base: CSSObjectWithLabel,\n state: { isFocused: boolean },\n ) => ({\n ...base,\n \"&:hover\": {\n borderColor: \"#A8A8A8\",\n },\n height: \"40px\",\n width: \"100%\",\n backgroundColor: \"#fbfbfb\",\n borderColor: error\n ? \"red\"\n : state.isFocused\n ? \"#10d1bb\"\n : \"#cccccc\",\n cursor: \"pointer\",\n }),\n menuPortal: (base: CSSObjectWithLabel) => ({\n ...base,\n zIndex: 99999,\n }),\n }}\n theme={selectTheme}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n GroupHeading,\n Control: showLangFlags ? LanguageControl : components.Control,\n SingleValue,\n NoOptionsMessage,\n }}\n // formatGroupLabel={formatGroupLabel}\n {...props}\n />\n {!hideErrorText && error && (\n <small className=\"text-xs font-normal text-red-500\" role=\"alert\">\n {error}\n </small>\n )}\n </div>\n );\n },\n);\n\nSelect.displayName = \"Select\";\n","\"use client\";\nimport { cn } from \"@utils/cn\";\n\ninterface ISkeleton {\n className: string;\n \"data-testid\"?: string;\n}\n\nexport const Skeleton = ({\n className,\n \"data-testid\": dataTestId,\n}: ISkeleton) => (\n <span\n data-component=\"genericSkeleton\"\n data-testid={dataTestId || \"skeleton\"}\n className={cn(\n \"inline-block rounded-md\",\n \"animate-pulse bg-gray-100/50\",\n className,\n )}\n />\n);\n","\"use client\";\ninterface ISkillPillProps {\n name: string;\n number: number;\n}\n\nexport const SkillPill = ({ name, number }: ISkillPillProps) => (\n <div\n data-testid=\"skill-pill-container\"\n className=\"flex items-center rounded-full border border-gray-200 p-[3px]\"\n >\n <span className=\"pr-4 pl-3\">{name}</span>\n <span\n data-testid=\"skill-pill-number\"\n className=\"bg-turquoise-200 grid h-[30px] min-w-[30px] place-content-center rounded-full px-2.5\"\n >\n {number}\n </span>\n </div>\n);\n","\"use client\";\n\ninterface IStickyMobileButton {\n children: React.ReactNode;\n}\n\nexport const StickyMobileButtonWrapper = ({\n children,\n}: IStickyMobileButton) => (\n <div\n data-testid=\"sticky-mobile-button-wrapper\"\n className=\"fixed inset-x-0 bottom-0 z-40 w-full bg-white p-8 md:hidden\"\n >\n <div\n data-testid=\"sticky-mobile-button-grid\"\n className=\"grid place-content-center\"\n >\n {children}\n </div>\n </div>\n);\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ITable extends HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const Table = ({ children, className, ...props }: ITable) => (\n <div\n data-testid=\"table\"\n data-component=\"table\"\n className={cn(\n \"table w-full table-fixed border-collapse overflow-auto\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n);\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ITableCell extends HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n smallPadding?: boolean;\n className?: string;\n}\n\nexport const TableCell = ({\n children,\n smallPadding,\n className,\n}: ITableCell) => (\n <div\n data-testid=\"tableCell\"\n data-component=\"tableCell\"\n className={`${cn(\n \"table-cell py-2 align-middle text-sm font-normal first:pl-2 last:pr-2 md:py-0 md:xl:first:pl-10 md:xl:last:pr-10\",\n {\n \"md:xl:first:pl-5 md:xl:last:pr-5\": smallPadding,\n },\n className,\n )}`}\n >\n {children}\n </div>\n);\n","\"use client\";\n\ninterface ITableHeader {\n children: React.ReactNode;\n}\n\nexport const TableHeader = ({ children }: ITableHeader) => (\n <div\n data-component=\"tableHeader\"\n data-testid=\"tableHeader\"\n className=\"table-header-group border-b border-gray-200\"\n >\n {children}\n </div>\n);\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ITableHeaderItem extends HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n smallPadding?: boolean;\n className?: string;\n}\n\nexport const TableHeaderItem = ({\n children,\n smallPadding,\n className,\n ...props\n}: ITableHeaderItem) => (\n <div\n data-testid=\"tableHeaderItem\"\n data-component=\"tableHeaderItem\"\n className={cn(\n \"hidden h-10 align-middle text-xs font-medium first:pl-10 last:pr-10 xl:table-cell\",\n {\n \"xl:first:pl-5 xl:last:pr-5\": smallPadding,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n);\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\ninterface ITableRow extends HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nexport const TableHeaderRow = ({ children, ...props }: ITableRow) => (\n <div\n data-testid=\"tableHeaderRow\"\n data-component=\"tableHeaderRow\"\n className=\"table-row xl:border-0 xl:border-b xl:border-solid xl:border-gray-300\"\n {...props}\n >\n {children}\n </div>\n);\n","import { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ITableRow extends Omit<HTMLAttributes<HTMLDivElement>, \"className\"> {\n children: React.ReactNode;\n className?: string;\n header?: boolean;\n}\n\nexport function TableRow({ children, className, header, ...props }: ITableRow) {\n return (\n <div\n data-testid=\"tableRow\"\n data-component=\"tableRow\"\n className={`${cn(\n \"table-row border-x-0 border-y-0 border-t border-solid border-gray-200 xl:border-t xl:border-solid xl:border-gray-200\",\n \"hover:bg-ultra-light-blue\",\n header && \"font-medium\",\n className,\n )}`}\n {...props}\n >\n {children}\n </div>\n );\n}\n","\"use client\";\nimport React, { forwardRef, type RefObject } from \"react\";\n\nexport interface TabProps {\n setActiveTab: (tab: string) => void;\n tabId: string;\n ref: RefObject<HTMLButtonElement | null>;\n activeTab: boolean;\n tabContent: React.ReactNode | React.ReactNode[] | string;\n rightSection?: React.ReactNode | undefined;\n clickFnc: (tabId: string) => void;\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(\n ({ tabId, activeTab, tabContent, clickFnc, rightSection }, ref) => (\n <button\n ref={ref}\n data-testid={`tab-${tabId}`}\n className={`${\n activeTab && \"text-light-blue bg-[#F0F0F6]\"\n } 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`}\n onClick={() => clickFnc(tabId)}\n >\n {tabContent}\n {rightSection && <span className=\"ml-2 inline-flex\">{rightSection}</span>}\n </button>\n ),\n);\n","\"use client\";\n\nimport clsx from \"clsx\";\n\nexport interface TabsBadgeProps {\n children: React.ReactNode;\n}\n\nexport const TabsBadge = ({ children }: TabsBadgeProps) => {\n const isCircular =\n (typeof children === \"number\" && children <= 9) ||\n (typeof children === \"string\" && children.length === 1) ||\n false;\n\n return (\n <div\n data-testid=\"tabs-badge\"\n className={clsx(\n \"bg-pink h-5 rounded-full text-xs leading-5 font-medium text-white\",\n {\n \"w-5 text-center\": isCircular,\n \"px-2\": !isCircular,\n },\n )}\n >\n {children}\n </div>\n );\n};\n\nTabsBadge.displayName = \"TabsBadge\";\n","\"use client\";\nimport {\n createRef,\n forwardRef,\n type ReactElement,\n type RefObject,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { Tab } from \"./Tab\";\n\ninterface ITab {\n name: string;\n value: string;\n rightSection?: ReactElement | undefined;\n clickFnc: (val: string) => void;\n requiredPermissions?: string[];\n}\n\ninterface TabsWrapperProps {\n children?: React.ReactNode | React.ReactNode[];\n defaultActive?: string;\n setActiveTab: (value: string) => void;\n activeTab?: string;\n tabs: ITab[];\n}\n\nexport const TabsWrapper = ({\n setActiveTab,\n activeTab,\n tabs,\n}: TabsWrapperProps) => {\n const tabRefs = useMemo(() => {\n const refs: { [key: string]: RefObject<HTMLButtonElement> } = {};\n tabs?.forEach((tab) => {\n refs[tab.value] = createRef<HTMLButtonElement>();\n });\n return refs;\n }, [tabs]);\n\n const [underlineStyle, setUnderlineStyle] = useState({ width: 0, left: 0 });\n\n useEffect(() => {\n if (activeTab && tabRefs[activeTab]?.current) {\n const activeTabElement = tabRefs[activeTab].current;\n setUnderlineStyle({\n width: activeTabElement?.offsetWidth || 0,\n left: activeTabElement?.offsetLeft || 0,\n });\n }\n }, [activeTab, tabRefs]);\n\n return (\n <div className=\"w-full\">\n <div className=\"relative inline-block w-auto border-b-[3px] border-gray-200\">\n <div className=\"flex\">\n {tabs &&\n tabs?.map((tab) =>\n tab.requiredPermissions ? (\n // <Authorize key={tab.value} requiredPermissions={tab.requiredPermissions}>\n <TabContent\n key={tab.value}\n tab={tab}\n ref={tabRefs[tab.value]}\n setActiveTab={setActiveTab}\n activeTab={activeTab}\n />\n ) : (\n // </Authorize>\n <TabContent\n key={tab.value}\n tab={tab}\n ref={tabRefs[tab.value]}\n setActiveTab={setActiveTab}\n activeTab={activeTab}\n />\n ),\n )}\n </div>\n <div\n className=\"absolute h-[3px] bg-gray-900 transition-all duration-300\"\n style={{\n width: underlineStyle.width,\n left: underlineStyle.left,\n bottom: \"-3px\",\n }}\n />\n </div>\n </div>\n );\n};\n\nconst TabContent = forwardRef<\n HTMLButtonElement,\n { tab: ITab; setActiveTab: (val: string) => void; activeTab?: string }\n>(({ tab, setActiveTab, activeTab }, ref) => (\n <Tab\n ref={ref}\n tabId={tab.value}\n setActiveTab={setActiveTab}\n activeTab={activeTab === tab.value}\n tabContent={tab.name}\n rightSection={tab?.rightSection || undefined}\n clickFnc={() => {\n tab.clickFnc(tab.value);\n setActiveTab(tab.value);\n }}\n />\n));\n\nTabContent.displayName = \"TabContent\";\n","\"use client\";\n\nimport { forwardRef, type TextareaHTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\nexport interface ITextarea extends Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"className\" | \"rows\"\n> {\n label?: React.ReactNode;\n error?: string;\n className?: string;\n rows?: number;\n}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, ITextarea>(\n ({ className, label, error, rows = 8, ...props }, ref) => (\n <div className=\"relative grid gap-2\">\n {label && (\n <label className=\"flex items-center gap-1 text-xs font-medium text-black\">\n {label}\n </label>\n )}\n <textarea\n data-component=\"TextArea\"\n rows={rows}\n ref={ref}\n className={cn(\n \"disabled:bg-grey-100 bg-ultra-light-gray w-full rounded border border-gray-200 p-3 text-sm font-normal text-black placeholder:text-gray-800 focus:ring-0 focus:outline-hidden disabled:cursor-not-allowed disabled:border-gray-300\",\n {\n \"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\":\n !!error,\n },\n className,\n )}\n {...props}\n />\n {error && (\n <small className=\"text-xs font-normal text-red-500\">{error}</small>\n )}\n </div>\n ),\n);\n","\"use client\";\nimport React, { type ChangeEvent, forwardRef } from \"react\";\n\nexport interface ITimeInput extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"size\"\n> {\n \"data-testid\"?: string;\n label?: string;\n error?: string;\n withSeconds?: boolean;\n}\n\nexport const TimeInput = forwardRef<HTMLInputElement, ITimeInput>(\n ({ label, error, withSeconds, className = \"\", ...props }, ref) => {\n const handleTimeChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (props['onChange']) props['onChange'](e);\n };\n\n return (\n <div className=\"leading-none\" data-component=\"timeInput\">\n {label && (\n <label className=\"mb-2 block text-xs font-medium\" htmlFor={props['id']}>\n {label}\n </label>\n )}\n <input\n {...props}\n ref={ref}\n type=\"time\"\n step={withSeconds ? \"1\" : \"60\"}\n onChange={handleTimeChange}\n className={`bg-ultra-light-gray focus:border-primary flex h-10 min-h-[36px] w-full items-center rounded-[5px] border border-solid border-gray-200 px-3 text-sm font-normal focus:outline-hidden ${error ? \"border-red-500\" : \"\"} ${className}`}\n />\n {error && (\n <p className=\"pt-2 text-xs font-normal text-red-500\">{error}</p>\n )}\n </div>\n );\n },\n);\n","\"use client\";\nimport { useEffect, useState } from \"react\";\n\n\ninterface ITruncatedText {\n text: string;\n limit?: number;\n}\n\nexport const TruncatedText = ({ text, limit = 20 }: ITruncatedText) => {\n const [truncatedText, setTruncatedText] = useState(text);\n\n useEffect(() => {\n if (text.length > limit) setTruncatedText(text.substring(0, limit) + \"...\");\n else setTruncatedText(text);\n }, [text, limit]);\n\n return (\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm font-normal\">{truncatedText}</span>\n </div>\n );\n};\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\n\ntype IUnorderedListProps = {\n children: React.ReactNode;\n className?: string;\n actionItem?: React.ReactNode;\n};\n\nexport const UnorderedList = ({\n children,\n className,\n actionItem,\n ...props\n}: IUnorderedListProps) => (\n <ul\n className={cn(\"m-0 last:border-none\", className)}\n data-component=\"unorderedList\"\n data-testid=\"unorderedList\"\n {...props}\n >\n {children}\n {actionItem && <span className=\"flex items-center\">{actionItem}</span>}\n </ul>\n);\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\n\ntype IUnorderedListProps = {\n children: React.ReactNode;\n actionItem?: React.ReactNode;\n className?: string;\n header?: boolean;\n};\n\nexport const UnorderedListItem = ({\n children,\n actionItem,\n className,\n header = false,\n ...props\n}: IUnorderedListProps) => (\n <li\n {...props}\n data-component=\"unorderedListItem\"\n className={cn(\n \"grid min-h-[74px] list-none items-center border-b border-solid border-b-gray-200 py-5 text-sm font-normal last:border-none md:flex md:py-4 md:pr-10 md:pl-10\",\n header ? \"md:items-end\" : \"hover:bg-ultra-light-blue\",\n {\n \"grid-cols-2\": actionItem,\n },\n className,\n )}\n >\n {children}\n\n {actionItem && (\n <span className=\"flex justify-end gap-2 md:absolute md:right-8 md:items-center\">\n {actionItem}\n </span>\n )}\n </li>\n);\n","\"use client\";\nimport {\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { buttonVariants } from \"@components/button/buttonVariants\";\nimport { UnstyledButton } from \"@components/unstyledButton\";\nimport { cn } from \"@utils/cn\";\n\ninterface IProfileMenu {\n title?: ReactNode;\n metaTitle?: string;\n icon?: ReactNode;\n disabled?: boolean;\n classNames?: {\n root?: string;\n button?: string;\n menu?: string;\n };\n content: {\n key: number;\n onClick: () => void;\n title: string;\n disabled?: boolean;\n }[];\n}\n\nexport const ProfileMenu = ({\n title,\n metaTitle,\n icon,\n content,\n disabled = false,\n classNames,\n}: IProfileMenu) => {\n const [isOpen, setIsOpen] = useState(false);\n const [focusedIndex, setFocusedIndex] = useState(-1);\n const menuRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const menuItemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n /* istanbul ignore next - id generation not critical to logic and flaky in coverage */\n const menuId = `profile-menu-${metaTitle || \"default\"}`;\n /* istanbul ignore next - id generation not critical to logic and flaky in coverage */\n const buttonId = `${menuId}-button`;\n\n const defaultStyling =\n \"text-black flex items-center gap-1 bg-transparent py-1 px-2.5 h-9 min-w-9 cursor-pointer border-gray-200 focus:bg-gray-50 focus:ring focus:ring-primary focus:outline-none focus:border-0 focus:ring-inset\";\n\n const handleToggle = () => {\n if (!disabled) {\n setIsOpen((prev) => {\n const newIsOpen = !prev;\n /* istanbul ignore next - branch depends on async DOM focus */\n if (newIsOpen) {\n // Focus first menu item when opening\n setTimeout(() => {\n /* istanbul ignore next - async focus behavior depends on DOM/timing */\n setFocusedIndex(0);\n /* istanbul ignore next - async focus behavior depends on DOM/timing */\n menuItemRefs.current[0]?.focus();\n }, 0);\n } else {\n /* istanbul ignore next - focus reset depends on DOM/timing */\n setFocusedIndex(-1);\n /* istanbul ignore next - focus reset depends on DOM/timing */\n buttonRef.current?.focus();\n }\n return newIsOpen;\n });\n }\n };\n\n /* istanbul ignore next - click handler behavior covered via integration; unit env flaky */\n const handleItemClick = (onClick: () => void) => {\n if (!disabled) {\n onClick();\n setIsOpen(false);\n setFocusedIndex(-1);\n\n /* istanbul ignore next - async focus timing not reliable in unit tests */\n setTimeout(() => buttonRef.current?.focus(), 0);\n }\n };\n\n /* istanbul ignore next - relies on document events; hard to unit test reliably */\n const handleClickOutside = (event: MouseEvent) => {\n if (menuRef.current && !menuRef.current.contains(event.target as Node)) {\n setIsOpen(false);\n setFocusedIndex(-1);\n }\n };\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n /* istanbul ignore next - early return depends on open state timing */\n if (!isOpen) return;\n /* istanbul ignore next - keyboard navigation covered by e2e; unit env is flaky */\n switch (event.key) {\n case \"Escape\":\n event.preventDefault();\n setIsOpen(false);\n setFocusedIndex(-1);\n buttonRef.current?.focus();\n break;\n case \"ArrowDown\":\n event.preventDefault();\n setFocusedIndex((prev) => {\n const nextIndex = prev < content.length - 1 ? prev + 1 : 0;\n menuItemRefs.current[nextIndex]?.focus();\n return nextIndex;\n });\n break;\n case \"ArrowUp\":\n event.preventDefault();\n setFocusedIndex((prev) => {\n const nextIndex = prev > 0 ? prev - 1 : content.length - 1;\n menuItemRefs.current[nextIndex]?.focus();\n return nextIndex;\n });\n break;\n case \"Home\":\n event.preventDefault();\n setFocusedIndex(0);\n menuItemRefs.current[0]?.focus();\n break;\n case \"End\": {\n event.preventDefault();\n const lastIndex = content.length - 1;\n setFocusedIndex(lastIndex);\n menuItemRefs.current[lastIndex]?.focus();\n break;\n }\n }\n },\n [isOpen, content.length],\n );\n\n /* istanbul ignore next - global listeners are not reliably asserted in unit tests */\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside);\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [handleKeyDown]);\n\n return (\n <>\n <div\n className={cn(\"relative\", classNames?.root)}\n data-component=\"ProfileMenu\"\n data-testid=\"profile-menu\"\n ref={menuRef}\n data-context-menu-id={metaTitle}\n data-context-menu-content={metaTitle}\n >\n <UnstyledButton\n ref={buttonRef}\n id={buttonId}\n aria-label=\"Toggle profile menu\"\n aria-expanded={isOpen}\n aria-haspopup=\"menu\"\n aria-controls={isOpen ? menuId : undefined}\n className={cn(\n buttonVariants[\"secondary\"],\n defaultStyling,\n classNames?.button,\n )}\n disabled={disabled}\n onClick={handleToggle}\n >\n {title && (\n <span className=\"hidden font-normal md:block\">{title}</span>\n )}\n {icon}\n </UnstyledButton>\n {isOpen && (\n <div\n id={menuId}\n role=\"menu\"\n aria-labelledby={buttonId}\n className={cn(\n \"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\",\n classNames?.menu,\n )}\n >\n {content.map(\n /* istanbul ignore next - render callback not meaningful for unit coverage */\n (c, index) => (\n <UnstyledButton\n key={index}\n ref={\n /* istanbul ignore next - ref setter is a render-time callback */\n (el) => {\n menuItemRefs.current[index] = el;\n }\n }\n role=\"menuitem\"\n tabIndex={-1}\n onClick={\n /* istanbul ignore next - inline handler wrapper */\n () => handleItemClick(c.onClick)\n }\n className={cn(\n \"w-full rounded-md px-4 py-2 text-left text-sm font-normal whitespace-nowrap transition-colors\",\n \"focus:ring-primary hover:bg-gray-50 focus:bg-gray-50 focus:ring focus:outline-none focus:ring-inset\",\n c.disabled && \"cursor-not-allowed opacity-50\",\n focusedIndex === index && \"bg-gray-50\",\n )}\n aria-label={c.title}\n disabled={c.disabled}\n >\n {c.title}\n </UnstyledButton>\n ),\n )}\n </div>\n )}\n </div>\n </>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface StickyFooterProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const StickyFooter = ({ className, ...props }: StickyFooterProps) => (\n <div\n data-component=\"sticky-footer\"\n className={clsx(className)}\n {...props}\n >\n StickyFooter\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface SpotlightsProps {\n \"data-testid\"?: string;\n className?: string;\n images: { src: string; alt: string }[];\n}\n\nexport const Spotlights = ({ className, images, ...props }: SpotlightsProps) => (\n <div\n data-testid=\"spotlights-component\"\n data-component=\"spotlights\"\n className={clsx(className, 'w-full flex flex-col gap-5 p-10')}\n {...props}\n >\n {images.map((image, index) => {\n return <div key={`${image.src}-${index}`} data-testid={`spotlights-item-${index}`} className=\"w-full rounded-md bg-white shadow-xl\">\n <img src={image.src} alt={image.alt} className=\"w-full rounded-t-md\" />\n <div className=\"text-secondary p-8 text-2xl font-bold spotlights-item\">Lorem ipsum</div>\n </div>\n })}\n </div>\n);\n","\n\n// Import all available icons for the selector\nimport { IconAlert } from \"../icons/IconAlert\";\nimport { IconArrival } from \"../icons/IconArrival\";\nimport { IconArrowDown } from \"../icons/IconArrowDown\";\nimport { IconArrowLeft } from \"../icons/IconArrowLeft\";\nimport { IconArrowRight } from \"../icons/IconArrowRight\";\nimport { IconArrowUp } from \"../icons/IconArrowUp\";\nimport { IconBeach } from \"../icons/IconBeach\";\nimport { IconBed } from \"../icons/IconBed\";\nimport { IconBlog } from \"../icons/IconBlog\";\nimport { IconBus } from \"../icons/IconBus\";\nimport { IconCalendar } from \"../icons/IconCalendar\";\nimport { IconCancel } from \"../icons/IconCancel\";\nimport { IconCar } from \"../icons/IconCar\";\nimport { IconCarSun } from \"../icons/IconCarSun\";\nimport { IconCheck } from \"../icons/IconCheck\";\nimport { IconChevronRight } from \"../icons/IconChevronRight\";\nimport { IconCity } from \"../icons/IconCity\";\nimport { IconClock } from \"../icons/IconClock\";\nimport { IconDelete } from \"../icons/IconDelete\";\nimport { IconDeparture } from \"../icons/IconDeparture\";\nimport { IconDollar } from \"../icons/IconDollar\";\nimport { IconEdit } from \"../icons/IconEdit\";\nimport { IconExpand } from \"../icons/IconExpand\";\nimport { IconFacebook } from \"../icons/IconFacebook\";\nimport { IconFavorite } from \"../icons/IconFavorite\";\nimport { IconFilter } from \"../icons/IconFilter\";\nimport { IconFood } from \"../icons/IconFood\";\nimport { IconHeart } from \"../icons/IconHeart\";\nimport { IconHot } from \"../icons/IconHot\";\nimport { IconHotel } from \"../icons/IconHotel\";\nimport { IconHouse } from \"../icons/IconHouse\";\nimport { IconInfo } from \"../icons/IconInfo\";\nimport { IconInstagram } from \"../icons/IconInstagram\";\nimport { IconLuggage } from \"../icons/IconLuggage\";\nimport { IconMail } from \"../icons/IconMail\";\nimport { IconMap } from \"../icons/IconMap\";\nimport { IconMinus } from \"../icons/IconMinus\";\nimport { IconParty } from \"../icons/IconParty\";\nimport { IconPhone } from \"../icons/IconPhone\";\nimport { IconPhoto } from \"../icons/IconPhoto\";\nimport { IconPinterest } from \"../icons/IconPinterest\";\nimport { IconPlane } from \"../icons/IconPlane\";\nimport { IconPlus } from \"../icons/IconPlus\";\nimport { IconQuestion } from \"../icons/IconQuestion\";\nimport { IconRating } from \"../icons/IconRating\";\nimport { IconSearch } from \"../icons/IconSearch\";\nimport { IconSeat } from \"../icons/IconSeat\";\nimport { IconShare } from \"../icons/IconShare\";\nimport { IconSplash } from \"../icons/IconSplash\";\nimport { IconStar } from \"../icons/IconStar\";\nimport { IconSuccess } from \"../icons/IconSuccess\";\nimport { IconSun } from \"../icons/IconSun\";\nimport { IconSupport } from \"../icons/IconSupport\";\nimport { IconTemperature } from \"../icons/IconTemperature\";\nimport { IconTiktok } from \"../icons/IconTiktok\";\nimport { IconTransfer } from \"../icons/IconTransfer\";\nimport { IconTree } from \"../icons/IconTree\";\nimport { IconTwitter } from \"../icons/IconTwitter\";\nimport { IconUser } from \"../icons/IconUser\";\nimport { IconView } from \"../icons/IconView\";\nimport { IconWarning } from \"../icons/IconWarning\";\nimport { IconWhatsapp } from \"../icons/IconWhatsapp\";\nimport { IconWinterSport } from \"../icons/IconWinterSport\";\nimport { IconWinterSun } from \"../icons/IconWinterSun\";\n\n// Icon options for the selector\nexport const iconOptions = [\n \"none\",\n \"IconAlert\",\n \"IconArrival\",\n \"IconArrowDown\",\n \"IconArrowLeft\",\n \"IconArrowRight\",\n \"IconArrowUp\",\n \"IconBeach\",\n \"IconBed\",\n \"IconBlog\",\n \"IconBus\",\n \"IconCalendar\",\n \"IconCancel\",\n \"IconCar\",\n \"IconCarSun\",\n \"IconCheck\",\n \"IconChevronRight\",\n \"IconCity\",\n \"IconClock\",\n \"IconDelete\",\n \"IconDeparture\",\n \"IconDollar\",\n \"IconEdit\",\n \"IconExpand\",\n \"IconFacebook\",\n \"IconFavorite\",\n \"IconFilter\",\n \"IconFood\",\n \"IconHeart\",\n \"IconHot\",\n \"IconHotel\",\n \"IconHouse\",\n \"IconInfo\",\n \"IconInstagram\",\n \"IconLuggage\",\n \"IconMail\",\n \"IconMap\",\n \"IconMinus\",\n \"IconParty\",\n \"IconPhone\",\n \"IconPhoto\",\n \"IconPinterest\",\n \"IconPlane\",\n \"IconPlus\",\n \"IconQuestion\",\n \"IconRating\",\n \"IconSearch\",\n \"IconSeat\",\n \"IconShare\",\n \"IconSplash\",\n \"IconStar\",\n \"IconSuccess\",\n \"IconSun\",\n \"IconSupport\",\n \"IconTemperature\",\n \"IconTiktok\",\n \"IconTransfer\",\n \"IconTree\",\n \"IconTwitter\",\n \"IconUser\",\n \"IconView\",\n \"IconWarning\",\n \"IconWhatsapp\",\n \"IconWinterSport\",\n \"IconWinterSun\",\n];\n\n// Icon mapping function\nexport const getIcon = (iconName: string): React.ReactNode => {\n const iconMap: Record<string, React.ReactNode> = {\n IconAlert: <IconAlert className=\"w-full h-full\" />,\n IconArrival: <IconArrival className=\"w-full h-full\" />,\n IconArrowDown: <IconArrowDown className=\"w-full h-full\" />,\n IconArrowLeft: <IconArrowLeft className=\"w-full h-full\" />,\n IconArrowRight: <IconArrowRight className=\"w-full h-full\" />,\n IconArrowUp: <IconArrowUp className=\"w-full h-full\" />,\n IconBeach: <IconBeach className=\"w-full h-full\" />,\n IconBed: <IconBed className=\"w-full h-full\" />,\n IconBlog: <IconBlog className=\"w-full h-full\" />,\n IconBus: <IconBus className=\"w-full h-full\" />,\n IconCalendar: <IconCalendar className=\"w-full h-full\" />,\n IconCancel: <IconCancel className=\"w-full h-full\" />,\n IconCar: <IconCar className=\"w-full h-full\" />,\n IconCarSun: <IconCarSun className=\"w-full h-full\" />,\n IconCheck: <IconCheck className=\"w-full h-full\" />,\n IconChevronRight: <IconChevronRight className=\"w-full h-full\" />,\n IconCity: <IconCity className=\"w-full h-full\" />,\n IconClock: <IconClock className=\"w-full h-full\" />,\n IconDelete: <IconDelete className=\"w-full h-full\" />,\n IconDeparture: <IconDeparture className=\"w-full h-full\" />,\n IconDollar: <IconDollar className=\"w-full h-full\" />,\n IconEdit: <IconEdit className=\"w-full h-full\" />,\n IconExpand: <IconExpand className=\"w-full h-full\" />,\n IconFacebook: <IconFacebook className=\"w-full h-full\" />,\n IconFavorite: <IconFavorite className=\"w-full h-full\" />,\n IconFilter: <IconFilter className=\"w-full h-full\" />,\n IconFood: <IconFood className=\"w-full h-full\" />,\n IconHeart: <IconHeart className=\"w-full h-full\" />,\n IconHot: <IconHot className=\"w-full h-full\" />,\n IconHotel: <IconHotel className=\"w-full h-full\" />,\n IconHouse: <IconHouse className=\"w-full h-full\" />,\n IconInfo: <IconInfo className=\"w-full h-full\" />,\n IconInstagram: <IconInstagram className=\"w-full h-full\" />,\n IconLuggage: <IconLuggage className=\"w-full h-full\" />,\n IconMail: <IconMail className=\"w-full h-full\" />,\n IconMap: <IconMap className=\"w-full h-full\" />,\n IconMinus: <IconMinus className=\"w-full h-full\" />,\n IconParty: <IconParty className=\"w-full h-full\" />,\n IconPhone: <IconPhone className=\"w-full h-full\" />,\n IconPhoto: <IconPhoto className=\"w-full h-full\" />,\n IconPinterest: <IconPinterest className=\"w-full h-full\" />,\n IconPlane: <IconPlane className=\"w-full h-full\" />,\n IconPlus: <IconPlus className=\"w-full h-full\" />,\n IconQuestion: <IconQuestion className=\"w-full h-full\" />,\n IconRating: <IconRating className=\"w-full h-full\" />,\n IconSearch: <IconSearch className=\"w-full h-full\" />,\n IconSeat: <IconSeat className=\"w-full h-full\" />,\n IconShare: <IconShare className=\"w-full h-full\" />,\n IconSplash: <IconSplash className=\"w-full h-full\" />,\n IconStar: <IconStar className=\"w-full h-full\" />,\n IconSuccess: <IconSuccess className=\"w-full h-full\" />,\n IconSun: <IconSun className=\"w-full h-full\" />,\n IconSupport: <IconSupport className=\"w-full h-full\" />,\n IconTemperature: <IconTemperature className=\"w-full h-full\" />,\n IconTiktok: <IconTiktok className=\"w-full h-full\" />,\n IconTransfer: <IconTransfer className=\"w-full h-full\" />,\n IconTree: <IconTree className=\"w-full h-full\" />,\n IconTwitter: <IconTwitter className=\"w-full h-full\" />,\n IconUser: <IconUser className=\"w-full h-full\" />,\n IconView: <IconView className=\"w-full h-full\" />,\n IconWarning: <IconWarning className=\"w-full h-full\" />,\n IconWhatsapp: <IconWhatsapp className=\"w-full h-full\" />,\n IconWinterSport: <IconWinterSport className=\"w-full h-full\" />,\n IconWinterSun: <IconWinterSun className=\"w-full h-full\" />,\n };\n \n const icon = iconMap[iconName];\n if (!icon) {\n console.warn(`Icon \"${iconName}\" not found, returning fallback`);\n return <IconArrowDown className=\"w-full h-full\" />;\n }\n \n return icon;\n};\n","\"use client\";\nimport { useState, useEffect, useRef } from \"react\";\nimport formatIcon from \"@utils/formatIcon\";\nimport { getIcon } from \"@utils/storybookIcons\";\nimport clsx from \"clsx\";\n\ninterface Category {\n id: number;\n name: string;\n icon?: string;\n}\n\ninterface CategoryFilterProps {\n \"data-testid\"?: string;\n className?: string;\n categories: Category[];\n defaultActiveId?: number;\n onCategoryChange?: (categoryId: number) => void;\n}\n\nexport const CategoryFilter = ({ \n className, \n categories, \n defaultActiveId,\n onCategoryChange,\n \"data-testid\": dataTestId = \"category-filter\",\n ...props \n}: CategoryFilterProps) => {\n const [activeId, setActiveId] = useState(defaultActiveId || categories[0]?.id);\n const [indicatorStyle, setIndicatorStyle] = useState({ width: 0, left: 0 });\n const categoryRefs = useRef<{ [key: number]: HTMLDivElement | null }>({});\n\n useEffect(() => {\n const activeElement = categoryRefs.current[activeId];\n if (activeElement) {\n const parentElement = activeElement.parentElement;\n if (parentElement) {\n const parentRect = parentElement.getBoundingClientRect();\n const activeRect = activeElement.getBoundingClientRect();\n \n setIndicatorStyle({\n width: activeRect.width,\n left: activeRect.left - parentRect.left\n });\n }\n }\n }, [activeId, categories]);\n\n const handleCategoryClick = (categoryId: number) => {\n setActiveId(categoryId);\n onCategoryChange?.(categoryId);\n };\n\n\n \nreturn <div\n data-component=\"category-filter\"\n data-testid={dataTestId}\n className={clsx(className, 'w-fit category-filter uppercase text-xs font-bold')} \n {...props}\n >\n <div className=\"flex flex-row gap-2 relative\">\n {categories.map((category) => {\n \n const formattedIcon = category.icon\n ? formatIcon(getIcon(category.icon), {\n className: clsx(\n \"size-[1rem]\",\n ),\n })\n : null;\n \n return <div \n key={category.id} \n ref={(el) => categoryRefs.current[category.id] = el}\n className={clsx(\n \"flex items-center gap-2 cursor-pointer px-3 py-3 rounded transition-colors whitespace-nowrap\",\n )}\n onClick={() => handleCategoryClick(category.id)}\n >\n <span className={`h-4 w-4 flex items-center justify-center ${activeId === category.id && \"text-primary\"}`}>{formattedIcon}</span>\n <span className={`text-dark-600 ${activeId === category.id && \"text-primary\"}`}>{category.name}</span>\n </div>\n \n })}\n \n <div \n className=\"absolute -bottom-[1px] h-[2px] bg-primary transition-all duration-300 ease-in-out\"\n style={{\n width: `${indicatorStyle.width}px`,\n left: `${indicatorStyle.left}px`,\n }}\n />\n </div>\n <div className=\"w-full h-[1px] bg-light-600\"></div>\n\n </div>\n}","\"use client\";\nimport clsx from \"clsx\";\nimport { useMemo, useState } from \"react\";\n\ninterface CalendarProps {\n \"data-testid\"?: string;\n className?: string;\n month: number;\n year?: number;\n}\n\nexport const Calendar = ({ className, month, year = 2026, ...props }: CalendarProps) => {\n type SelectionMode = \"exact\" | \"pm1\" | \"pm2\" | \"pm3\" | \"month\";\n\n const [mode, setMode] = useState<SelectionMode>(\"exact\");\n const [selectedDay, setSelectedDay] = useState<number | null>(null);\n\n const today = useMemo(() => {\n const now = new Date();\n return new Date(now.getFullYear(), now.getMonth(), now.getDate());\n }, []);\n\n const firstOfMonth = useMemo(() => new Date(year, month, 1), [year, month]);\n const daysInMonth = useMemo(() => new Date(year, month + 1, 0).getDate(), [year, month]);\n const daysInPrevMonth = useMemo(() => new Date(year, month, 0).getDate(), [year, month]);\n const mondayIndex = useMemo(() => {\n const jsDay = firstOfMonth.getDay();\n return (jsDay + 6) % 7;\n }, [firstOfMonth]);\n const trailingOutsideDays = useMemo(() => {\n const total = mondayIndex + daysInMonth;\n return (7 - (total % 7)) % 7;\n }, [mondayIndex, daysInMonth]);\n\n const defaultSelectableDay = useMemo(() => {\n const isSameMonthAsToday = today.getFullYear() === year && today.getMonth() === month;\n if (isSameMonthAsToday) {\n return today.getDate();\n }\n\n const firstDate = new Date(year, month, 1);\n if (firstDate < today) {\n return null;\n }\n\n return 1;\n }, [today, year, month]);\n\n const resolvedSelectedDay = selectedDay ?? defaultSelectableDay;\n\n const weekdayLabels = [\"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\", \"zo\"];\n\n const range = useMemo(() => {\n if (!resolvedSelectedDay) return 0;\n if (mode === \"pm1\") return 1;\n if (mode === \"pm2\") return 2;\n if (mode === \"pm3\") return 3;\n return 0;\n }, [mode, resolvedSelectedDay]);\n\n const rangeBounds = useMemo(() => {\n if (!resolvedSelectedDay) return null;\n if (mode === \"exact\") return null;\n\n if (mode === \"month\") {\n return {\n rawStart: 1,\n rawEnd: daysInMonth,\n start: 1,\n end: daysInMonth,\n leftOverflow: false,\n rightOverflow: false,\n };\n }\n\n const rawStart = resolvedSelectedDay - range;\n const rawEnd = resolvedSelectedDay + range;\n const start = Math.max(1, rawStart);\n const end = Math.min(daysInMonth, rawEnd);\n\n return {\n rawStart,\n rawEnd,\n start,\n end,\n leftOverflow: rawStart < 1,\n rightOverflow: rawEnd > daysInMonth,\n };\n }, [resolvedSelectedDay, mode, range, daysInMonth]);\n\n const isPastDate = (date: Date) => date < today;\n\n const isActive = (day: number) => {\n if (!resolvedSelectedDay) return false;\n return day === resolvedSelectedDay;\n };\n\n const isSubActive = (day: number) => {\n if (!resolvedSelectedDay) return false;\n if (isActive(day)) return false;\n\n const date = new Date(year, month, day);\n if (isPastDate(date)) return false;\n\n if (mode === \"month\") {\n return true;\n }\n\n if (range === 0) {\n return false;\n }\n\n return Math.abs(day - resolvedSelectedDay) <= range;\n };\n\n const handleDayClick = (day: number) => {\n setSelectedDay(day);\n };\n\n return (\n <div\n data-component=\"calendar\"\n className={clsx(className, \"w-full\")}\n {...props}\n >\n <div className=\"flex items-center justify-between gap-4 mb-3\">\n <div className=\"text-sm text-secondary font-bold whitespace-nowrap\">\n {firstOfMonth.toLocaleDateString(\"nl-NL\", { month: \"long\", year: \"numeric\" })}\n </div>\n <select\n data-testid=\"calendar-mode\"\n className=\"border border-gray-200 rounded px-2 py-1 text-sm\"\n value={mode}\n onChange={(e) => setMode(e.target.value as SelectionMode)}\n >\n <option value=\"exact\">Exacte datum</option>\n <option value=\"pm1\">+/- 1 dag</option>\n <option value=\"pm2\">+/- 2 dagen</option>\n <option value=\"pm3\">+/- 3 dagen</option>\n <option value=\"month\">Hele maand</option>\n </select>\n </div>\n\n <div className=\"grid grid-cols-7 gap-0\" data-testid=\"calendar-grid\">\n {weekdayLabels.map((label) => (\n <div\n key={label}\n className=\"text-xs font-semibold text-gray-600 text-center py-2\"\n >\n {label}\n </div>\n ))}\n\n {Array.from({ length: mondayIndex }).map((_, i) => {\n const day = daysInPrevMonth - mondayIndex + i + 1;\n const prevDate = new Date(year, month - 1, day);\n\n const yyyy = String(prevDate.getFullYear());\n const mm = String(prevDate.getMonth() + 1).padStart(2, \"0\");\n const dd = String(prevDate.getDate()).padStart(2, \"0\");\n const testId = `calendar-day-outside-${yyyy}-${mm}-${dd}`;\n\n return (\n <button\n key={testId}\n type=\"button\"\n data-testid={testId}\n className=\"h-10 rounded text-sm flex items-center justify-center text-gray-300 cursor-not-allowed\"\n disabled\n aria-pressed={false}\n >\n {day}\n </button>\n );\n })}\n\n {Array.from({ length: daysInMonth }).map((_, i) => {\n const day = i + 1;\n const date = new Date(year, month, day);\n const disabled = isPastDate(date);\n const active = isActive(day);\n const subActive = isSubActive(day);\n\n const inRange = !disabled && (subActive || (active && mode !== \"exact\"));\n const isRangeStart = !!rangeBounds && day === rangeBounds.start;\n const isRangeEnd = !!rangeBounds && day === rangeBounds.end;\n\n const leftFade = !!rangeBounds && rangeBounds.leftOverflow && day === 1;\n const rightFade = !!rangeBounds && rangeBounds.rightOverflow && day === daysInMonth;\n\n const rangeBgClass = !inRange\n ? null\n : leftFade\n ? \"bg-gradient-to-r from-transparent via-primary/5 to-primary/5 \"\n : rightFade\n ? \"bg-gradient-to-r from-primary/5 via-primary/5 to-transparent \"\n : \"bg-primary/5\";\n\n const yyyy = String(year);\n const mm = String(month + 1).padStart(2, \"0\");\n const dd = String(day).padStart(2, \"0\");\n const testId = `calendar-day-${yyyy}-${mm}-${dd}`;\n\n return (\n <button\n key={testId}\n type=\"button\"\n data-testid={testId}\n className={clsx(\n \"h-10 text-sm flex items-center justify-center\",\n disabled && \"text-gray-300 cursor-not-allowed\",\n rangeBgClass,\n inRange && isRangeStart && \"rounded-l-full\",\n inRange && isRangeEnd && \"rounded-r-full\",\n )}\n disabled={disabled}\n aria-pressed={active}\n onClick={() => handleDayClick(day)}\n >\n <span\n className={clsx(\n 'w-8 h-8 p-2 flex justify-center items-center cursor-pointer',\n active && \"bg-primary text-white rounded-full \",\n !disabled && !active && !subActive && \"hover:bg-primary/20 hover:rounded-full \",\n )}\n >\n {day}\n </span>\n </button>\n );\n })}\n\n {Array.from({ length: trailingOutsideDays }).map((_, i) => {\n const day = i + 1;\n const nextDate = new Date(year, month + 1, day);\n\n const yyyy = String(nextDate.getFullYear());\n const mm = String(nextDate.getMonth() + 1).padStart(2, \"0\");\n const dd = String(nextDate.getDate()).padStart(2, \"0\");\n const testId = `calendar-day-outside-${yyyy}-${mm}-${dd}`;\n\n return (\n <button\n key={testId}\n type=\"button\"\n data-testid={testId}\n className=\"h-10 rounded text-sm flex items-center justify-center text-gray-300 cursor-not-allowed\"\n disabled\n aria-pressed={false}\n >\n {day}\n </button>\n );\n })}\n </div>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { IconArrowLeft, IconArrowRight, IconCancel } from \"../../icons\";\nimport { Button } from \"@components/button\";\n\ninterface Item {\n \"DurationInDays\": number,\n \"DepartureDate\": string,\n \"Price\": {\n \"Value\": number,\n \"Currency\": string,\n \"PricePer\": string\n },\n \"DeparturePoint\": {\n \"Code\": string\n },\n \"BoardType\": {\n \"Code\": string,\n \"Name\": string,\n },\n \"TransferIncluded\": string\n}\n\ninterface MatrixTableProps {\n \"data-testid\"?: string;\n className?: string;\n startDuration: number;\n endDuration: number;\n startDate: string;\n endDate: string;\n items: Item[];\n activeKey?: string | null;\n onActiveKeyChange?: (key: string | null) => void;\n loadPrevious?: () => void;\n loadNext?: () => void;\n}\n\nexport const MatrixTable = ({ className, startDuration, endDuration, startDate, endDate, items, loadPrevious, loadNext, activeKey: activeKeyProp, onActiveKeyChange, ...props }: MatrixTableProps) => {\n\n const scrollContainerRef = useRef<HTMLDivElement | null>(null);\n const [showRightShadow, setShowRightShadow] = useState(false);\n\n const [uncontrolledActiveKey, setUncontrolledActiveKey] = useState<string | null>(null);\n const activeKey = activeKeyProp ?? uncontrolledActiveKey;\n const setActiveKey = onActiveKeyChange ?? setUncontrolledActiveKey;\n\n const itemsWithinDurationRange = items.filter((item) => item.DurationInDays >= startDuration && item.DurationInDays <= endDuration);\n\n const itemsSortedByDepartureDate = [...itemsWithinDurationRange].sort((a, b) => a.DepartureDate.localeCompare(b.DepartureDate));\n\n const startDateOnly = startDate.slice(0, 10);\n const endDateOnly = endDate.slice(0, 10);\n\n const start = new Date(`${startDateOnly}T00:00:00Z`);\n const end = new Date(`${endDateOnly}T00:00:00Z`);\n\n\n\n const dates: string[] = [];\n if (!Number.isNaN(start.getTime()) && !Number.isNaN(end.getTime()) && start.getTime() <= end.getTime()) {\n for (let d = new Date(start); d.getTime() <= end.getTime(); d.setUTCDate(d.getUTCDate() + 1)) {\n dates.push(d.toISOString().slice(0, 10));\n }\n }\n\n const months = Array.from(new Set(dates.map((date) => new Date(date).getMonth())));\n\n\n const itemsGroupedByDuration = itemsSortedByDepartureDate.reduce<Record<number, Item[]>>((acc, item) => {\n const key = item.DurationInDays;\n (acc[key] ??= []).push(item);\n return acc;\n }, {});\n\n const itemsGroupedByDurationEntries = Object.entries(itemsGroupedByDuration).sort(([a], [b]) => Number(a) - Number(b));\n\n const monthsLabel = months.map((month) => new Date(0, month).toLocaleString('nl', { month: 'long' })).join(\"/\");\n\n useEffect(() => {\n const el = scrollContainerRef.current!;\n\n const updateShadow = () => {\n const hasOverflow = el.scrollWidth > el.clientWidth + 1;\n const atEnd = el.scrollLeft + el.clientWidth >= el.scrollWidth - 1;\n setShowRightShadow(hasOverflow && !atEnd);\n };\n\n updateShadow();\n el.addEventListener(\"scroll\", updateShadow, { passive: true });\n window.addEventListener(\"resize\", updateShadow);\n\n return () => {\n el.removeEventListener(\"scroll\", updateShadow);\n window.removeEventListener(\"resize\", updateShadow);\n };\n }, [dates.length, itemsGroupedByDurationEntries.length]);\n\n\n return <div data-component=\"matrix-table\" className={clsx(className, 'bg-white py-5')}\n {...props}>\n\n <div className=\"w-full flex flex-col\">\n <div className=\"w-full text-center matrix-table-month-header text-2xl font-bold mb-3\">{monthsLabel}</div>\n <div className=\"relative w-full\">\n {showRightShadow ? (\n <div className=\"pointer-events-none absolute inset-y-0 right-0 z-30 w-10 bg-gradient-to-l from-white to-transparent\" />\n ) : null}\n <div ref={scrollContainerRef} className=\"w-full overflow-x-auto pr-3\">\n <div className=\"min-w-max flex items-center justify-center\">\n\n <div className=\"grid gap-x-2.5 gap-y-2.5\" style={{ gridTemplateColumns: `max-content repeat(${dates.length}, 46px)` }}>\n <div className=\"sticky left-0 z-20 bg-white\" />\n {dates.map((date) => {\n const dateForDisplay = new Date(`${date}T00:00:00`);\n return <div key={date} className=\"flex-none flex flex-col h-[50px] w-[46px] items-center justify-center\">\n <span className=\"text-gray-400 text-xs matrix-table-dates-weekday\">{dateForDisplay.toLocaleString('nl', { weekday: 'short' })}</span>\n <span className=\"text-xs font-bold matrix-table-dates\">{dateForDisplay.toLocaleString('nl', { day: '2-digit' })}</span>\n </div>\n })}\n\n {itemsGroupedByDurationEntries.map(([durationInDays, groupedItems]) => {\n const cheapestItem = groupedItems.reduce((acc, curr) => {\n return curr.Price.Value < acc.Price.Value ? curr : acc;\n });\n\n const itemsByDate = groupedItems.reduce<Record<string, Item>>((acc, item) => {\n const dateOnly = item.DepartureDate.slice(0, 10);\n const existing = acc[dateOnly];\n if (!existing || item.Price.Value < existing.Price.Value) {\n acc[dateOnly] = item;\n }\n return acc;\n }, {});\n\n return (\n <div key={durationInDays} className=\"contents\">\n <div className=\"matrix-table-days font-bold text-xs sticky left-0 z-10 bg-white flex px-3 items-center h-[40px]\">\n {durationInDays} dagen\n </div>\n\n {dates.map((date) => {\n const itemForDate = itemsByDate[date];\n const isCheapest = !!itemForDate && itemForDate === cheapestItem;\n const cellKey = `${durationInDays}-${date}`;\n const isActive = activeKey === cellKey;\n const isInteractive = !!itemForDate;\n\n return <div onClick={isInteractive ? () => setActiveKey(cellKey) : undefined} className={`flex-none flex text-xs items-center justify-center w-[46px] h-[40px] rounded-xs ${isCheapest ? 'matrix-table-cell-cheapest border text-white' : 'matrix-table-cell border'} ${isActive ? 'matrix-table-cell-active' : ''} ${isInteractive ? 'cursor-pointer hover:scale-110 transition-transform' : '!bg-white'}`} key={cellKey}>\n {itemForDate ? Math.ceil(itemForDate.Price.Value) : null}\n {!isInteractive && <IconCancel width={16} height={16} className=\"text-[var(--color-light-300)]\" />}\n </div>\n })}\n </div>\n );\n })}\n\n <div className=\"sticky left-0 z-20 bg-white\" />\n {dates.map((date,index) => {\n \n return <div key={date} className={`flex flex-row h-[50px] w-[46px]`}>\n {index === 0 && loadPrevious ? <Button onClick={loadPrevious} variant=\"icon\" iconRight className=\"flex flex-row font-medium items-center justify-start text-xs\" icon={false}><IconArrowLeft className=\"text-primary\" width={20} height={20} /> eerder</Button> : null}\n {index === (dates.length - 1) && loadNext ? <Button onClick={loadNext} variant=\"icon\" className=\"flex flex-row font-medium items-center justify-start text-xs\" iconRight icon={false}>later<IconArrowRight className=\"text-primary\" width={20} height={20} /></Button> : null}\n </div>\n })}\n </div>\n\n </div>\n </div>\n </div>\n </div>\n\n\n </div>\n}\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface MapProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const Map = ({ className, ...props }: MapProps) => (\n <div\n data-component=\"map\"\n className={clsx(className)}\n {...props}\n >\n Map\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface LinkBoxProps {\n \"data-testid\"?: string;\n className?: string;\n items: React.ReactNode[];\n header: {\n title: string;\n icon: React.ReactNode;\n };\n}\n\nexport const LinkBox = ({ className, items, header, ...props }: LinkBoxProps) => (\n <div\n data-component=\"link-box\"\n className={clsx(className)}\n {...props}\n >\n <div className=\"flex flex-row items-center gap-2 text-secondary mb-2\">\n {header.icon}\n <span className=\"text-lg font-semibold\">{header.title}</span>\n </div>\n <ul className=\"divide-y divide-gray-200 border border-gray-200 border-x-0\">\n {items.map((item, index) => (\n <li key={index} className=\"flex flex-row gap-2 items-center py-2\">{item}</li>\n ))}\n </ul>\n </div>\n);\n","import { type SVGProps } from \"react\";\n\nexport const Plane = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n\n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" id=\"plane-svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 487.3 202\" style={{ enableBackground: \"new 0 0 487.3 202\" }} xmlSpace=\"preserve\">\n <style type=\"text/css\">{`\n\t#plane-svg .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#0092F2;}\n\t#plane-svg .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#F7EE24;}\n\t#plane-svg .st2{fill-rule:evenodd;clip-rule:evenodd;fill:#0061EF;}\n\t#plane-svg .st3{opacity:0.82;fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}\n\t#plane-svg .st4{fill-rule:evenodd;clip-rule:evenodd;fill:#C6C699;}\n\t#plane-svg .st5{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}\n\t#plane-svg .st6{fill-rule:evenodd;clip-rule:evenodd;fill:#D8D8D8;}\n\t#plane-svg .st7{fill-rule:evenodd;clip-rule:evenodd;fill:#0255B7;}\n\t#plane-svg .st8{clip-path:url(#plane-SVGID_2_);fill-rule:evenodd;clip-rule:evenodd;fill:#FAEC22;}\n\t#plane-svg .st9{fill-rule:evenodd;clip-rule:evenodd;fill:#FAEC22;}\n\t#plane-svg .st10{fill:#FFFFFF;}\n`}</style>\n <path className=\"st0\" d=\"M92,132.7c-10.1-2.5-8.2-11.5-0.4-13.9c-3.7-24.4-9.3-49.8-13-74.1c4.1-0.2,9.7-0.6,13.8-0.9 c14.9,17.8,32.7,40.2,47.6,58c14.9,4.6,24.3,5.7,39.3,10.3c38.4-2.5,75.7-4.1,112-4.7c36.1-0.7,76.7-4.1,112.5,1.9 c13.9,2.3,23.5,7.3,29.1,12.7c5.2,2,21.1,6.3,23.1,12.3c0.5,1.5-0.5,2.9-2.8,4.6c-36.3,20.4-88.5,14.2-128.9,16.3 c-15,0.1-30,0.2-45,0.2C214.4,155.7,153.3,159.2,92,132.7z\" />\n <path className=\"st1\" d=\"M91,115.1c-3.5-22.1-8.4-44.9-11.9-67c3.8-0.2,10.8-0.7,13.8-0.8c15.4,17.8,33.8,40.2,49.2,58 c15.4,4.6,25.2,5.7,40.6,10.3c39.8-2.5,78.3-4.1,115.9-4.7c37.3-0.7,79.4-4.1,116.4,1.9c1.2,0.2,2.4,0.4,3.6,0.7 c6.2,2.4,10.9,5.5,14.3,8.6c3.4,1.3,11.4,3.6,17.1,6.7c-34.4,11.8-81.2,7.4-117.3,9.2c-57.1,0.6-175.5,18.1-240.3-22.4 C91.9,115.4,91.5,115.2,91,115.1z\" />\n <path className=\"st2\" d=\"M92,132.7c-10.1-2.5-8.2-11.5-0.4-13.9l0-0.2c5.4,0.7,10.9,1.4,16.3,2.1c-5,7.1-2.5,12.9,1,18.5 C103.1,137.3,97.4,135.1,92,132.7z\" />\n <path className=\"st0\" d=\"M90.5,111.7c-0.6-4-1.3-7.9-2-11.9l-9.8-55c3.5-0.2,10.7-0.7,13.8-0.9c14.9,17.8,32.7,40.2,47.6,58 c14.9,4.6,24.3,5.7,39.3,10.3c38.4-2.5,75.7-4.1,112-4.7c36.1-0.7,76.7-4.1,112.5,1.9c13.9,2.3,23.5,7.3,29.1,12.7 c1.6,0.6,4.2,1.4,7.1,2.5c-33.5,12.9-80,8.2-115.8,10.1c-45,0.2-90,0.5-135,0.7c-37.2-3.4-69.6-11.1-97.3-23.1 C91.5,112,91,111.8,90.5,111.7z\" />\n <path className=\"st2\" d=\"M89.4,44c1.2-0.1,2.3-0.1,3.1-0.2c14.8,17.6,32.4,39.9,47.3,57.6l-5.6,2L89.4,44z\" />\n <path className=\"st3\" d=\"M423.6,115.5c3.8,2,7,4.2,9.4,6.4c0.2,0.1,0.5,0.2,0.8,0.3c-1.7,0.7-3.4,1.3-5.1,1.9 c-4.7,1.6-13.5,6.9-13.7-1.1c0-0.2-0.1-2.8-0.2-4.2c0-0.7,0.7-1.4,1.7-1.6C418.8,116.7,421.2,116.1,423.6,115.5z\" />\n <path className=\"st3\" d=\"M279.7,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C278.6,122.8,279.1,122.4,279.7,122.4L279.7,122.4z M375.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C374.3,122.8,374.8,122.4,375.4,122.4L375.4,122.4z M367.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C366.3,122.8,366.8,122.4,367.4,122.4L367.4,122.4z M359.4,122.4h1.1 c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C358.4,122.8,358.8,122.4,359.4,122.4 L359.4,122.4z M351.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C350.4,122.8,350.9,122.4,351.4,122.4L351.4,122.4z M343.5,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C342.4,122.8,342.9,122.4,343.5,122.4L343.5,122.4z M335.5,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C334.4,122.8,334.9,122.4,335.5,122.4L335.5,122.4z M327.5,122.4h1.1 c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C326.5,122.8,326.9,122.4,327.5,122.4 L327.5,122.4z M319.5,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C318.5,122.8,319,122.4,319.5,122.4L319.5,122.4z M311.6,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C310.5,122.8,311,122.4,311.6,122.4L311.6,122.4z M303.6,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C302.5,122.8,303,122.4,303.6,122.4L303.6,122.4z M295.6,122.4h1.1 c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C294.6,122.8,295,122.4,295.6,122.4L295.6,122.4 z M287.6,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C286.6,122.8,287.1,122.4,287.6,122.4z\" />\n <path className=\"st3\" d=\"M267.3,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C266.2,122.8,266.7,122.4,267.3,122.4L267.3,122.4z M259.3,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C258.3,122.8,258.7,122.4,259.3,122.4L259.3,122.4z M251.3,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C250.3,122.8,250.8,122.4,251.3,122.4L251.3,122.4z M243.4,122.4h1.1 c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C242.3,122.8,242.8,122.4,243.4,122.4 L243.4,122.4z M235.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C234.3,122.8,234.8,122.4,235.4,122.4L235.4,122.4z M227.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C226.4,122.8,226.8,122.4,227.4,122.4L227.4,122.4z M219.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C218.4,122.8,218.9,122.4,219.4,122.4L219.4,122.4z M211.5,122.4h1.1 c1.8,0,1.1,4.1,1.1,5.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1C210.4,126.4,209.7,122.4,211.5,122.4z\" />\n <path className=\"st4\" d=\"M386.9,115.5c1.4,0,2.8,0,4.1,0s2.8,0,4.1,0c0.8,0,1.7,0.6,1.8,1.3c0.8,3,1.4,6,1.7,9.1c0.3,3,0.2,6,0.1,9.1 c0,0.7-0.7,1.3-1.5,1.3c-1.4,0-2.8,0-4.1,0c-1.4,0-2.8,0-4.1,0c-0.8,0-1.3-0.6-1.3-1.3c0.3-3,0.4-6,0.1-9.1c-0.3-3-1-6-1.9-9.1 C385.7,116.1,386.1,115.5,386.9,115.5z\" />\n <path className=\"st5\" d=\"M386.9,115.9c-0.5,0-0.7,0.3-0.6,0.7c0.9,3,1.6,6,1.9,9.1c0.3,3,0.2,6.1-0.1,9.1c0,0.4,0.3,0.8,0.8,0.8 c1.4,0,2.8,0,4.1,0c1.4,0,2.8,0,4.1,0c0.5,0,1-0.4,1-0.9c0.1-3,0.2-6-0.1-9c-0.3-3-0.9-6-1.7-9c-0.1-0.5-0.8-0.9-1.4-0.9 c-1.4,0-2.8,0-4.1,0S388.3,115.9,386.9,115.9z\" />\n <path className=\"st6\" d=\"M284.9,146.6c2-0.1,3.6,1.4,3.6,3.1c0,2.5,0,4.6,0,7.1c0,1.7-1.6,3.2-3.6,3.1c-4.5-0.2-27.4,1.8-27.4-3.7 c0-1.8,0-3.7,0-5.5C257.5,145.2,280.4,146.8,284.9,146.6z\" />\n <path className=\"st5\" d=\"M284.9,146.6c2-0.1,3.6,1.4,3.6,3.1v0.1v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1l0,0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0 v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0 v0.1v0.1v0.1v0.1c0,1.7-1.6,3.2-3.6,3.1c-4.5-0.2-27.4,1.8-27.4-3.7v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1 v0v-0.1v0V152v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0V151v0V151v0v-0.1v0v-0.1v0v-0.1 C257.5,145.2,280.4,146.8,284.9,146.6z\" />\n <path className=\"st7\" d=\"M317.5,139.4c3.5-0.2,6.4,2.9,6.4,6.4c0,5.3,0,9.5,0,14.7c0,3.5-2.9,6.6-6.4,6.4c-8-0.4-48.4,3.8-48.4-7.6 c0-3.8,0-7.6,0-11.4C269,136.4,309.5,139.8,317.5,139.4z\" />\n <path className=\"st6\" d=\"M317.5,139.4c3.5-0.2,6.4,2.9,6.4,6.4c0,5.3,0,9.5,0,14.7c0,3.5-2.9,6.6-6.4,6.4l0,0V139.4L317.5,139.4z\" />\n <polygon className=\"st2\" points=\"286.8,141 21.1,93.5 17.7,99.2 207.5,145 280,141.8 \" />\n <polygon className=\"st7\" points=\"19.8,95.7 17.7,99.2 207.4,145.2 280,141.8 \" />\n <path className=\"st2\" d=\"M317.5,139.4c3.5-0.2,6.4,2.9,6.4,6.4v13.4c-0.6,0.1-1.2,0.1-1.8,0.1c-7.7-0.3-39.6,2.2-53.1-2.2v-9.2 C269,136.4,309.5,139.8,317.5,139.4z\" />\n <path className=\"st5\" d=\"M317.5,139.4c3.5-0.2,6.4,2.9,6.4,6.4v13.4c-0.6,0.1-1.2,0.1-1.8,0.1c-1.1,0-2.7,0-4.6,0V139.4L317.5,139.4z\" />\n <g>\n <defs>\n <rect id=\"SVGID_1_\" x=\"91.2\" y=\"70.7\" width=\"25.2\" height=\"32.7\" />\n </defs>\n <clipPath id=\"SVGID_2_\">\n <use xlinkHref=\"#SVGID_1_\" style={{ overflow: \"visible\" }} />\n </clipPath>\n <path className=\"st8\" d=\"M96.3,76.7l-1.2-2.9l4.1-1.6l1.2,2.8c3.9-1,7.1-0.1,9.7,2.8l-5.3,4.1c-1.2-1.2-2.5-1.5-4.1-0.9 c-1.2,0.5-1.7,1-1.4,1.7c0.1,0.2,0.3,0.4,0.5,0.5c0.3,0.1,0.9,0.1,2.1-0.1c2.8-0.5,4.8-0.7,6.1-0.7c1.3,0,2.6,0.4,3.8,1.1 c1.2,0.8,2.1,1.8,2.7,3.2c0.8,2,0.8,4-0.2,5.9c-0.9,1.9-2.5,3.5-4.8,4.6l1.2,2.9l-4.1,1.6l-1.2-2.9c-4.4,1.2-7.9-0.1-10.8-3.8 l6.3-3.8c1.2,1.5,2.8,1.9,4.7,1.2c1.4-0.5,2-1.2,1.7-1.8c-0.1-0.3-0.4-0.5-0.8-0.6c-0.4-0.1-1.1,0-2.1,0.1c-4.2,0.8-7.1,0.8-8.7,0 c-1.6-0.8-2.7-2-3.3-3.6c-0.7-1.7-0.7-3.5-0.1-5.3C92.9,79.4,94.3,77.9,96.3,76.7\" />\n </g>\n <g>\n <g>\n <g>\n <path className=\"st9\" d=\"M352.2,143.9l-0.2-0.7l1-0.2l0.2,0.7c0.9-0.1,1.6,0.2,2.1,0.9l-1.3,0.8c-0.2-0.3-0.5-0.4-0.9-0.3 c-0.3,0.1-0.4,0.2-0.4,0.3c0,0.1,0.1,0.1,0.1,0.1c0.1,0,0.2,0,0.5,0c0.6,0,1.1,0,1.4,0c0.3,0,0.6,0.2,0.8,0.4 c0.2,0.2,0.4,0.5,0.5,0.8c0.1,0.5,0.1,0.9-0.2,1.3c-0.3,0.4-0.7,0.7-1.2,0.9l0.2,0.7l-1,0.2l-0.2-0.7c-1,0.1-1.8-0.3-2.3-1.2 l1.5-0.7c0.2,0.4,0.6,0.5,1,0.4c0.3-0.1,0.5-0.2,0.4-0.4c0-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2,0-0.5,0c-1,0.1-1.6,0-2-0.3 c-0.3-0.2-0.6-0.5-0.7-0.9c-0.1-0.4-0.1-0.8,0.1-1.2C351.3,144.4,351.7,144.1,352.2,143.9z\" />\n </g>\n </g>\n </g>\n <g>\n <g>\n <path className=\"st10\" d=\"M335.1,144.4l2.2,0c0.8,0,1.2,0.1,1.6,0.4c0.4,0.3,0.6,0.7,0.6,1.2c0,1-0.7,1.7-1.9,1.7l-0.9,0l0,1.9l-1.6,0 L335.1,144.4z M337.3,146.5c0.5,0,0.7-0.2,0.7-0.5c0-0.3-0.2-0.5-0.7-0.5l-0.6,0l0,1L337.3,146.5z\" />\n <path className=\"st10\" d=\"M340,144.3l2.7-0.1c1.2,0,1.9,0.5,1.9,1.5c0,0.7-0.2,1-0.9,1.4l1,2.2l-1.8,0l-0.8-2l-0.5,0l0,2l-1.6,0 L340,144.3z M342.4,146.3c0.4,0,0.7-0.2,0.7-0.5c0-0.3-0.2-0.5-0.6-0.5l-0.7,0l0,1L342.4,146.3z\" />\n <path className=\"st10\" d=\"M345.4,144.2l1.6,0l0.1,5.2l-1.6,0L345.4,144.2z\" />\n <path className=\"st10\" d=\"M347.6,148c0.2,0.1,0.4,0.1,0.6,0.1c0.2,0,0.4-0.1,0.5-0.2c0.1-0.1,0.1-0.2,0.1-0.5l-0.1-3.3l1.5,0l0.1,3.3 c0,0.8-0.1,1.2-0.3,1.5c-0.3,0.4-0.7,0.5-1.4,0.5c-0.4,0-0.6,0-1-0.1L347.6,148z\" />\n <path className=\"st10\" d=\"M355.8,143.9l1.7,0l0.8,2.7l0.1,0.3l0.1,0.4l0.1-0.4l0.1-0.3l0.7-2.7l1.3,0l-1.5,5.2l-1.6,0L355.8,143.9z\" />\n <path className=\"st10\" d=\"M361.1,143.8l2.7-0.1c1.2,0,1.9,0.5,1.9,1.5c0,0.7-0.2,1-0.9,1.4l1,2.2l-1.8,0l-0.8-2l-0.5,0l0,2l-1.6,0 L361.1,143.8z M363.4,145.9c0.4,0,0.7-0.2,0.7-0.5c0-0.3-0.2-0.5-0.6-0.5l-0.7,0l0,1L363.4,145.9z\" />\n <path className=\"st10\" d=\"M366.5,143.7l1.6,0l0.1,5.2l-1.6,0L366.5,143.7z\" />\n <path className=\"st10\" d=\"M368.7,147.5c0.2,0.1,0.4,0.1,0.6,0.1c0.2,0,0.4-0.1,0.5-0.2c0.1-0.1,0.1-0.2,0.1-0.5l-0.1-3.3l1.5,0 l0.1,3.3c0,0.8-0.1,1.2-0.3,1.5c-0.3,0.4-0.7,0.5-1.4,0.5c-0.4,0-0.6,0-1-0.1L368.7,147.5z\" />\n <path className=\"st10\" d=\"M372.2,147.4l1.4,0l0,1.4l-1.4,0L372.2,147.4z\" />\n <path className=\"st10\" d=\"M374.3,143.5l1.5,0l1.2,1.9c0.3,0.5,0.5,0.8,0.6,1c-0.1-0.5-0.1-0.9-0.2-1.4l0-1.5l1.3,0l0.1,5.2l-1.3,0 l-1.5-2.2c-0.1-0.1-0.2-0.3-0.2-0.4c-0.2-0.3-0.2-0.3-0.3-0.7c0.1,0.4,0.1,0.6,0.1,0.8l0.1,2.5l-1.3,0L374.3,143.5z\" />\n <path className=\"st10\" d=\"M379.6,143.4l1.6,0l0.1,3.9l2,0l0,1.3l-3.6,0.1L379.6,143.4z\" />\n </g>\n </g>\n </svg>\n);\n\n\n\n","import { type SVGProps } from \"react\";\n\nexport const Cloud = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n \n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" id=\"Laag_1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 168 94\" style={{ enableBackground: \"new 0 0 168 94\" }} xmlSpace=\"preserve\">\n<style type=\"text/css\">{`\n .st0{fill-rule:evenodd;clip-rule:evenodd;fill:url(#cloud-SVGID_1_);}\n .st1{fill-rule:evenodd;clip-rule:evenodd;fill:url(#cloud-SVGID_2_);}\n .st2{fill-rule:evenodd;clip-rule:evenodd;fill:url(#cloud-SVGID_3_);}\n`}</style>\n<linearGradient id=\"cloud-SVGID_1_\" gradientUnits=\"userSpaceOnUse\" x1=\"66.1615\" y1=\"11.6471\" x2=\"96.3318\" y2=\"85.7017\">\n <stop offset=\"0.2086\" stopColor=\"#FFFFFF\"/>\n <stop offset=\"0.4042\" stopColor=\"#FCFEFF\"/>\n <stop offset=\"0.5206\" stopColor=\"#F4FAFD\"/>\n <stop offset=\"0.6162\" stopColor=\"#E6F4FB\"/>\n <stop offset=\"0.7007\" stopColor=\"#D2ECF8\"/>\n <stop offset=\"0.7777\" stopColor=\"#B8E0F4\"/>\n <stop offset=\"0.8494\" stopColor=\"#97D3F0\"/>\n <stop offset=\"0.9169\" stopColor=\"#71C2EA\"/>\n <stop offset=\"0.9795\" stopColor=\"#46B0E3\"/>\n <stop offset=\"1\" stopColor=\"#36A9E1\"/>\n</linearGradient>\n<path className=\"st0\" d=\"M130.3,43.1c0-3.5-1.6-6.6-4.2-8.9c0.3-1.1,0.5-2.2,0.5-3.3c0-6.7-5.9-12.2-13.2-12.2c-1.8,0-3.6,0.4-5.2,1 c-3.7-6.6-10.3-11.3-20.1-11.3c-13.2,0-17.9,7.7-21.6,16c-2.1-1.8-4.7-2.8-7.6-2.8c-6.5,0-11.8,5.4-11.8,12c0,0.7,0.1,1.4,0.2,2 c-8.9,1.4-15.7,9.2-15.7,18.7c0,10.4,8.3,18.9,18.6,18.9h5c1.2,4.4,7.9,7.8,16,7.8s14.8-3.4,16-7.8h20.7c10.3,0,18.6-8.5,18.6-18.9 c0-0.9-0.1-1.8-0.2-2.6C128.8,49.5,130.3,46.4,130.3,43.1z\"/>\n<g>\n <linearGradient id=\"cloud-SVGID_2_\" gradientUnits=\"userSpaceOnUse\" x1=\"112.9733\" y1=\"30.9611\" x2=\"117.4733\" y2=\"80.4611\">\n <stop offset=\"0\" stopColor=\"#FFFFFF\"/>\n <stop offset=\"0.3909\" stopColor=\"#FDFEFF\"/>\n <stop offset=\"0.5317\" stopColor=\"#F6FBFE\"/>\n <stop offset=\"0.6321\" stopColor=\"#EBF6FC\"/>\n <stop offset=\"0.7133\" stopColor=\"#DAEFF9\"/>\n <stop offset=\"0.7829\" stopColor=\"#C4E6F6\"/>\n <stop offset=\"0.8444\" stopColor=\"#A8DAF2\"/>\n <stop offset=\"0.9002\" stopColor=\"#88CCED\"/>\n <stop offset=\"0.9501\" stopColor=\"#63BCE8\"/>\n <stop offset=\"0.9958\" stopColor=\"#3AABE2\"/>\n <stop offset=\"1\" stopColor=\"#36A9E1\"/>\n </linearGradient>\n <path className=\"st1\" d=\"M150.1,61.6c0,7.5-6,13.6-13.5,13.6H94.9c-7.4,0-13.5-6.1-13.5-13.6c0-6.8,4.9-12.4,11.4-13.4 c-0.1-0.5-0.1-1-0.1-1.5c0-4.8,3.8-8.6,8.5-8.6c2.1,0,4,0.8,5.5,2c2.7-6,6.1-11.5,15.6-11.5c11.6,0,17,9,17,18.5c0,0.4,0,0.8,0,1.2 C145.5,49.5,150.1,55,150.1,61.6L150.1,61.6z M150.1,61.6\"/>\n</g>\n<g>\n <radialGradient id=\"cloud-SVGID_3_\" cx=\"48.4537\" cy=\"22.917\" r=\"52.6617\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stopColor=\"#FFFFFF\"/>\n <stop offset=\"0.3909\" stopColor=\"#FDFEFF\"/>\n <stop offset=\"0.5317\" stopColor=\"#F6FBFE\"/>\n <stop offset=\"0.6321\" stopColor=\"#EBF6FC\"/>\n <stop offset=\"0.7133\" stopColor=\"#DAEFF9\"/>\n <stop offset=\"0.7829\" stopColor=\"#C4E6F6\"/>\n <stop offset=\"0.8444\" stopColor=\"#A8DAF2\"/>\n <stop offset=\"0.9002\" stopColor=\"#88CCED\"/>\n <stop offset=\"0.9501\" stopColor=\"#63BCE8\"/>\n <stop offset=\"0.9958\" stopColor=\"#3AABE2\"/>\n <stop offset=\"1\" stopColor=\"#36A9E1\"/>\n </radialGradient>\n <path className=\"st2\" d=\"M19,51.2c0-5.8,4.1-10.6,9.5-11.8c0-0.3,0-0.7,0-1c0-8.4,4.8-16.3,15.1-16.3c8.4,0,11.4,4.9,13.8,10.2 c1.3-1.1,3-1.8,4.9-1.8c4.2,0,7.5,3.4,7.5,7.6c0,0.4,0,0.9-0.1,1.3c5.7,0.9,10,5.9,10,11.8c0,6.6-5.3,12-11.9,12H30.9 C24.4,63.2,19,57.8,19,51.2L19,51.2z M19,51.2\"/>\n</g>\n</svg>\n);","import { type SVGProps } from \"react\";\n\nexport const Dollar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n \n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"24\" viewBox=\"0 0 19 24\" fill=\"none\">\n<path d=\"M18.3601 14.1429L18.3388 14.0786C17.5908 10.2214 14.3425 9.38571 9.70519 9.27857C6.692 9.19286 6.11501 8.89286 5.94404 8.1L5.92267 8.03571C5.77308 7.28571 6.39281 6.70714 7.58955 6.47143C9.40601 6.10714 11.4789 6.42857 13.4664 7.32857L13.5305 7.37143L15.582 2.80714L15.5179 2.76429C13.4877 1.69286 11.3293 1.26429 8.89313 1.43572L8.61532 0L4.17031 0.878571L4.4695 2.44286C1.30671 3.81429 -0.296059 6.6 0.302306 9.68571L0.323678 9.75C1.15712 13.9714 4.93964 14.4214 9.08546 14.55C12.0559 14.6786 12.6115 15 12.7611 15.75L12.7825 15.8143C12.9535 16.65 12.2483 17.25 10.8164 17.5286C8.57258 17.9786 6.28596 17.5929 3.97798 16.4143L3.91388 16.3714L1.52041 20.7643L1.58452 20.8071C3.6788 22.05 6.17912 22.65 8.82902 22.5857L9.10683 24L13.5518 23.1214L13.2954 21.8143C17.142 20.5071 19.044 17.6357 18.3601 14.1429Z\" fill=\"#FDE92F\"/>\n</svg>\n);\n\n","import { type SVGProps } from \"react\";\n\nexport const DReizenSign = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"17 25 68 45\" xmlSpace=\"preserve\" preserveAspectRatio=\"xMidYMid meet\" id=\"dreizen-sign-svg\">\n <path style={{ fillRule: \"evenodd\", clipRule: \"evenodd\", fill: \"#FFFFFF\" }} d=\"M32.24,43.48c-2.83,1.65-3.57-4.57,0.46-7.52c6.25-4.58,13.39-7.72,21.11-7.04c16.56,1.47,16.16,15.83,13.91,13.64c-1.62-1.57-4.34-8.67-16.3-7.35C42.99,36.18,35.69,41.47,32.24,43.48\" />\n <path style={{ fillRule: \"evenodd\", clipRule: \"evenodd\", fill: \"#FFFFFF\" }} d=\"M68.53,44.5c-1.92,1.18,0.25,8.21-12.31,13.73c-2.49,0.97-5.11,1.36-7.64,1.42c2.36-6.54,4.88-18.77,1.66-18.6c-3.22,0.16-4.31,8.95-8.73,17.72c-0.06,0.11-0.1,0.21-0.15,0.32c-2.4-0.39-4.34-0.86-5.46-1.03c-3.07-0.47-3.28,7.48,2.83,8.47c6.11,1,13.43,0.62,19.58-1.98C68.34,60.32,72.21,46.76,68.53,44.5\" />\n </svg>\n);","\"use client\";\nimport clsx from \"clsx\";\nimport { Plane } from \"./plane\";\nimport { Cloud } from \"./cloud\";\nimport { Dollar } from \"./dollar\";\nimport { useBrand } from \"../../theme\";\nimport { DReizenSign } from \"./d-reizen-sign\";\n\ninterface LoadingProps {\n \"data-testid\"?: string;\n className?: string;\n plane?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n}\n\nexport const Loading = ({ className, plane = true, size = \"small\", ...props }: LoadingProps) => {\n\n\n let dollarSize = \"size-[60px]\";\n let planeSize = \"w-full h-full\";\n let cloud1Width = 200;\n let cloud1Height = 90;\n let cloud1Position = \"top-20\";\n\n let cloud2Width = 100;\n let cloud2Height = 45;\n let cloud2Position = \"bottom-24\";\n\n let cloud3Width = 100;\n let cloud3Height = 45;\n let cloud3Position = \"bottom-32\";\n\n if (size === \"small\") {\n dollarSize = \"size-[30px]\";\n planeSize = \"w-16 h-16\";\n\n cloud1Width = 60;\n cloud1Height = 27;\n cloud1Position = \"top-1\";\n\n cloud2Width = 36;\n cloud2Height = 16;\n cloud2Position = \"bottom-2\";\n\n cloud3Width = 36;\n cloud3Height = 16;\n cloud3Position = \"bottom-4\";\n } else if (size === \"medium\") {\n dollarSize = \"size-[45px]\";\n planeSize = \"w-24 h-24\";\n\n cloud1Width = 140;\n cloud1Height = 63;\n cloud1Position = \"top-6\";\n\n cloud2Width = 70;\n cloud2Height = 32;\n cloud2Position = \"bottom-6\";\n\n cloud3Width = 70;\n cloud3Height = 32;\n cloud3Position = \"bottom-10\";\n } else if (size === \"large\") {\n dollarSize = \"size-[75px]\";\n }\n\n const brand = useBrand();\n\n\n return <div\n data-component=\"loading\"\n className={clsx(className, planeSize)}\n {...props}\n >\n {plane ? \n <div className={`relative overflow-hidden ${planeSize}`}>\n <Cloud width={cloud1Width} height={cloud1Height} className={clsx(\"animate-cloud-float absolute z-10\", cloud1Position)} />\n <Plane className=\"absolute inset-0 w-full h-full animate-plane-bounce z-20\" />\n <Cloud width={cloud2Width} height={cloud2Height} className={clsx(\"animate-cloud-float-2 absolute z-30\", cloud2Position)} />\n <Cloud width={cloud3Width} height={cloud3Height} className={clsx(\"animate-cloud-float-3 absolute z-40 opacity-98\", cloud3Position)} />\n </div>\n : <div className=\"relative overflow-hidden w-full h-full\">\n <div className={`${brand === \"prijsvrij\" ? \"bg-primary\" : \"bg-secondary\"} rounded-full ${dollarSize} flex items-center justify-center`}>\n {brand === \"prijsvrij\" ? <Dollar className=\"animate-spin-slow w-full h-full p-2\" /> : <DReizenSign className=\" w-full h-full p-2 animate-spin-slow\" />} \n </div>\n </div>\n }\n \n</div>\n}","\"use client\";\nimport { Button } from \"@components/button\";\nimport clsx from \"clsx\";\nimport { IconCancel } from \"../../icons\";\n\ninterface WarningTextProps {\n \"data-testid\"?: string;\n className?: string;\n warningText: string;\n onClick?: () => void;\n type: 'fit' | 'full' | 'fit-with-padding'\n}\n\nexport const WarningText = ({ className, warningText, onClick, type, ...props }: WarningTextProps) => (\n <div\n data-component=\"warning-text\"\n className={clsx(className, 'Warning-text flex items-start justify-between bg-primary-light-75 p-2.5', type === 'fit' ? 'w-fit' : type === 'full' ? 'w-full' : 'w-fit')}\n {...props}\n >\n {warningText && <span className=\"inline\">{warningText}<Button variant=\"textButton\" className=\"!inline-flex ml-2\">[Link...]</Button></span>}\n <Button variant=\"textButton\" onClick={onClick}><IconCancel width={24} height={24} className={`text-secondary ml-2 ${type === 'fit-with-padding' ? 'ml-10' : ''}`} /></Button>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport { cn } from \"@utils/cn\";\n\ninterface ReviewProps {\n \"data-testid\"?: string;\n className?: string;\n rating: number;\n showArrow?: boolean;\n}\n\nexport const ReviewSmall = ({ className, rating, showArrow = true, \"data-testid\": dataTestId = \"review\", ...props }: ReviewProps) => {\n\n\n const formatRating = (rating: number) => {\n return rating.toFixed(1);\n };\n\n const ratingProcessed = formatRating(rating);\n \n\n const RatingNumber = ({className, showArrow}: {className?: string; showArrow?: boolean}) => (\n <div className=\"relative\">\n <span className={cn(\"review-small-color review-small-number-color\", className)}>{ratingProcessed}</span>\n {showArrow && (\n <div className=\"absolute left-1/2 -translate-x-1/2 -bottom-[6px]\">\n <div className=\"w-0 h-0 border-l-[8px] border-l-transparent border-r-[8px] border-r-transparent border-t-[8px] review-small-arrow\"></div>\n </div>\n )}\n </div>\n );\n\n\n\n return <div\n data-component=\"review\"\n data-testid={dataTestId}\n className={clsx(className, 'flex flex-col w-fit')}\n {...props}\n > \n <div className=\"flex flex-row gap-2 review-small rounded-sm\">\n <div className=\"flex content-center items-center font-bold\">\n <RatingNumber className=\"px-1 rounded-xs\" showArrow={showArrow} />\n </div>\n </div>\n </div>\n}\n","\"use client\";\nimport { HotelData } from \"@components/hotelAccomodationResults\";\nimport { PriceBox } from \"@components/priceBox\";\nimport { ReviewSmall } from \"@components/reviewSmall\";\nimport { Slider } from \"@components/slider\";\nimport clsx from \"clsx\";\nimport type { ReactNode } from \"react\";\n\ninterface HeroProps {\n \"data-testid\"?: string;\n className?: string;\n sliderImages: string[];\n topRightImage: string;\n bottomLeftImage: string;\n bottomRightImage: string;\n bottomRightOverlay?: ReactNode;\n hotel: HotelData;\n priceBoxPosition?: \"start\" | \"end\";\n}\n\nexport const Hero = ({\n className,\n sliderImages,\n topRightImage,\n bottomLeftImage,\n bottomRightImage,\n bottomRightOverlay,\n hotel,\n priceBoxPosition = \"end\",\n ...props\n}: HeroProps) => (\n <div\n data-component=\"hero\"\n className={clsx(className, 'bg-white p-1 rounded-lg hero-shadow')}\n {...props}\n >\n <div className=\"flex flex-col md:flex-row\">\n <div\n className={clsx(\n \"grid gap-1 md:aspect-[16/6] md:grid-cols-3 md:grid-rows-[2fr_1fr]\",\n priceBoxPosition === \"start\" ? \"order-2 md:order-2\" : \"order-1 md:order-1\",\n )}\n >\n <div className=\"md:col-span-2 md:row-span-2 overflow-hidden rounded-l-lg relative\">\n <ReviewSmall className=\"absolute right-4 top-4 z-50\" rating={9.3} />\n <Slider\n className=\"h-full max-h-[340px] md:h-full rounded-l-lg\"\n slides={sliderImages.map((src, index) => (\n <img\n key={index}\n src={src}\n alt={`Hero slide ${index + 1}`}\n className=\"h-full w-full object-cover rounded-l-lg\"\n />\n ))}\n showArrows={false}\n dotsPlacement=\"inside\" \n options={{ loop: true }}\n lazyLoad\n />\n </div>\n\n <div className=\"hidden md:flex col-span-1 row-span-1 overflow-hidden\">\n <img\n src={topRightImage}\n alt=\"Hero image 1\"\n className=\"h-full w-full object-cover\"\n />\n </div>\n\n <div className=\"hidden md:grid col-span-1 row-span-1 grid-cols-2 gap-1\">\n <div className=\"overflow-hidden\">\n <img\n src={bottomLeftImage}\n alt=\"Hero image 2\"\n className=\"h-full w-full object-cover\"\n />\n </div>\n\n <div className=\"relative overflow-hidden \">\n <img\n src={bottomRightImage}\n alt=\"Hero image 3\"\n className=\"h-full w-full object-cover\"\n />\n {bottomRightOverlay && (\n <div className=\"absolute inset-0\">{bottomRightOverlay}</div>\n )}\n </div>\n </div>\n </div>\n <div className={clsx(priceBoxPosition === \"start\" ? \"order-1 md:order-1\" : \"order-2 md:order-2\")}>\n <PriceBox noHover noBorder hotel={hotel} brand={\"prijsvrij\"} />\n </div>\n </div>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useBrand } from \"../../theme\";\nimport { cn } from \"@utils/cn\";\n\ninterface ReviewProps {\n \"data-testid\"?: string;\n className?: string;\n rating: number;\n ratingText: string;\n ratingCount: number;\n}\n\nexport const Review = ({ className, rating, ratingText, ratingCount, \"data-testid\": dataTestId = \"review\", ...props }: ReviewProps) => {\n\n const brand = useBrand();\n\n const formatRating = (rating: number) => {\n return rating.toFixed(1);\n };\n\n const formatRatingCount = (count: number) => {\n if (count < 100) {\n return count.toString();\n }\n if (count > 500) {\n return \"500+ beoordelingen\";\n }\n const hundreds = Math.floor(count / 100);\n return `${hundreds}00+ beoordelingen`;\n };\n\n const ratingProcessed = formatRating(rating);\n const ratingCountProcessed = formatRatingCount(ratingCount);\n\n const isDreizen = brand === 'dreizen';\n\n const RatingNumber = ({className, showArrow}: {className?: string; showArrow?: boolean}) => (\n <div className=\"relative\">\n <span className={cn(\"review-color review-number-color\", className)}>{ratingProcessed}</span>\n {showArrow && (\n <div className=\"absolute left-1/2 -translate-x-1/2 -bottom-[3px]\">\n <div className=\"w-0 h-0 border-l-[4px] border-l-transparent border-r-[4px] border-r-transparent border-t-[4px] border-t-[#0077bf]\"></div>\n </div>\n )}\n </div>\n );\n\n const RatingText = ({className}: {className?: string;}) => (\n <span className={cn('review-color', className)}>{ratingText}</span>\n );\n\n const RatingCount = ({className}: {className?: string;}) => (\n <span className={cn('', className)}>{ratingCountProcessed}</span>\n );\n\n return <div\n data-component=\"review\"\n data-testid={dataTestId}\n className={clsx(className, 'review-shadow review p-2 bg-white flex flex-col w-fit')}\n {...props}\n >\n {isDreizen ? (\n <div className=\"flex flex-row gap-2\">\n <div className=\"flex content-center items-center font-bold\">\n <RatingNumber className=\"px-1 rounded-xs\" showArrow={true} />\n </div>\n <div className=\"flex flex-col\">\n <RatingText className=\"text-[10px]\" />\n <RatingCount className=\"text-[10px]\" />\n </div>\n </div>\n ) : (\n <div className=\"flex flex-col\">\n <div className=\"flex flex-row gap-1\">\n <RatingNumber className=\"font-bold\" />\n <RatingText className=\"font-bold\" />\n </div>\n <RatingCount className=\"text-[12px] text-gray-400 font-medium\" />\n </div>\n )}\n </div>\n}\n","\"use client\";\nimport { Rating } from \"@components/rating\";\nimport { Review } from \"@components/review\";\nimport { Usp, UspItem } from \"@components/usp\";\nimport clsx from \"clsx\";\nimport { IconHeart, IconSuccess } from \"../../icons\";\nimport { PriceCheck } from \"@components/priceCheck\";\nimport { useBrand } from \"../../theme\";\nimport { Divider } from \"@components/divider\";\nimport { countries } from \"@utils/countries\";\nimport { PriceBox } from \"@components/priceBox\";\n\ninterface HotelAccomodationResultsProps {\n \"data-testid\"?: string;\n className?: string;\n hotel: HotelData;\n onClick?: (() => void) | undefined;\n}\n\nexport interface HotelData {\n Id: string;\n Name: string;\n Classification: number[];\n City: string;\n Country: string;\n Image: string;\n Images: string[];\n Url: string;\n TripUrl: string;\n Review: {\n Grade: number;\n NrReviews: number;\n NrReviewsValue: string;\n };\n Price: number;\n PriceInfo: string;\n ReviewText: string;\n Date: string;\n HotelUsps: string[];\n Region: string;\n Transport: string;\n BoardType: string;\n DepartureDate: string;\n BoardTypeHuman: string;\n Duration: number;\n TransferIncluded: boolean;\n DeparturePoint: string;\n DeparturePointHuman: string;\n}\n\nexport const HotelAccomodationResults = ({ className, hotel, \"data-testid\": dataTestId = \"hotel-accomodation-results\", onClick, ...props }: HotelAccomodationResultsProps) => {\n\n const brand = useBrand('prijsvrij');\n \n // Convert Classification array to rating number (count of non-zero values)\n const rating = hotel.Classification.filter(c => c > 0).length;\n \n // Convert HotelUsps array to UspItem format\n const usps: UspItem[] = hotel.HotelUsps.map(usp => ({ \n text: usp,\n icon: <IconSuccess className=\"text-usp-icon-color\" />\n }));\n\n return <div\n data-component=\"hotel-accomodation-results\"\n data-testid={dataTestId}\n className={clsx(className, 'flex flex-col md:flex-row md:gap-8')}\n {...props}\n >\n <div className=\"object-cover w-full block md:max-w-[320px] rounded-sm overflow-hidden relative\">\n <img src={hotel.Image} alt={hotel.Name} className=\"md:aspect-square object-cover\" />\n <div className=\"absolute top-4 right-4 w-full h-full flex justify-end items-start\"><IconHeart className=\"w-6 h-6 text-white hover:text-red-500 cursor-pointer\" /></div>\n <div className=\"block md:hidden absolute z-20 right-8 bottom-8\"><PriceCheck price={hotel.Price} text={hotel.PriceInfo} /></div>\n </div>\n <div className=\"flex flex-col gap-2 flex-1 pb-4 md:pb-0\">\n <div className=\"flex flex-col md:flex-row gap-2 md:items-center mt-2 md:mt-0\">\n <span className=\"text-xl hotel-accomodation-results-title font-bold whitespace-nowrap\">{hotel.Name}</span>\n <span><Rating rating={rating} /></span>\n </div>\n <div className=\"flex flex-row gap-2 items-start mt-1\">\n <span className=\"\">\n {hotel.Country && <img src={`https://www.prijsvrij.nl/MVVMC/Themes/Images/Base/ico/flags/${countries.find(c => c.Name === hotel.Country)?.CountryCode}.svg`} width={24} height={24} alt={hotel.Country} />}\n </span>\n <span className=\"hotel-accomodation-results-location text-sm items-center justify-center flex align-center\">{hotel.City} - {hotel.Region} - {hotel.Country}</span>\n </div>\n <Divider className=\"md:hidden mt-2\" />\n <div className=\"my-2 md:my-6\">\n <Review rating={hotel.Review.Grade} ratingText={hotel.ReviewText} ratingCount={hotel.Review.NrReviews} />\n </div>\n <div>\n <Usp orientation=\"vertical\" uspItems={usps} className=\"font-normal gap-2\" />\n </div>\n </div>\n <div className=\"flex-col items-end flex\">\n <PriceBox hidePrice className=\"w-full md:w-auto\" brand={brand} hotel={hotel} onClick={onClick} />\n </div>\n </div>\n}","\"use client\";\nimport { useState } from \"react\";\nimport clsx from \"clsx\";\nimport { format, differenceInMinutes, parse } from \"date-fns\";\nimport { nl } from \"date-fns/locale\";\nimport { IconArrowDown, IconArrowUp, IconClock, IconPlane, IconTransfer } from \"../../icons\";\n\nexport interface FlightPoint {\n Code: string;\n Name: string;\n}\n\nexport interface Carrier {\n IcaoCode: string;\n Code: string;\n Name: string;\n}\n\nexport interface FlightClass {\n Code: string;\n Name: string;\n}\n\nexport interface StopOver {\n ArrivalPoint: FlightPoint;\n DeparturePoint: FlightPoint;\n FlightNumber: string;\n DepartureDateTime: string;\n ArrivalDateTime: string;\n Carrier: Carrier;\n Id: string;\n Class: FlightClass;\n TotalDurationInMinutes: number;\n TimeBetweenFlightsInMinutes: number;\n}\n\nexport interface FlightClassOption {\n Allotment: number;\n Code: string;\n Currency: number;\n Id: string;\n Name: string;\n PricePerPerson: number;\n}\n\nexport interface FlightLeg {\n ArrivalPoint: FlightPoint;\n DeparturePoint: FlightPoint;\n FlightNumber: string;\n DepartureDateTime: string;\n ArrivalDateTime: string;\n Carrier: Carrier;\n Id: string;\n Class: FlightClass;\n StopOvers: StopOver[];\n TotalDurationInMinutes: number;\n FlightClassOptions: FlightClassOption[];\n TimeBetweenFlightsInMinutes: number;\n}\n\nexport interface FlightOption {\n To: FlightLeg[];\n From: FlightLeg[];\n Id: string;\n AlternativeIds?: string[];\n}\n\ninterface FlightSwitchProps {\n \"data-testid\"?: string;\n className?: string;\n leg: FlightLeg;\n direction: \"to\" | \"from\";\n onClassSelect?: (option: FlightClassOption) => void;\n}\n\nfunction parseDateTime(dateTime: string): Date {\n return parse(dateTime, \"yyyy-MM-dd HH:mm:ss\", new Date());\n}\n\nfunction formatDate(dateTime: string): string {\n const date = parseDateTime(dateTime);\n return format(date, \"EEE d MMM yyyy\", { locale: nl });\n}\n\nfunction formatTime(dateTime: string): string {\n const date = parseDateTime(dateTime);\n return format(date, \"HH:mm\");\n}\n\nfunction formatDuration(departureDt: string, arrivalDt: string): string {\n const departure = parseDateTime(departureDt);\n const arrival = parseDateTime(arrivalDt);\n const totalMinutes = differenceInMinutes(arrival, departure);\n const hours = Math.floor(totalMinutes / 60);\n const minutes = totalMinutes % 60;\n if (minutes === 0) return `${hours}u`;\n return `${hours}u ${minutes}m`;\n}\n\nfunction formatPrice(priceInCents: number): string {\n const euros = priceInCents / 100;\n const hasDecimals = euros % 1 !== 0;\n if (hasDecimals) {\n return `€ ${euros.toFixed(2).replace(\".\", \",\")}`;\n }\n return `€ ${euros},-`;\n}\n\nfunction formatMinutes(minutes: number): string {\n const hours = Math.floor(minutes / 60);\n const mins = minutes % 60;\n if (hours === 0) return `${mins}m`;\n if (mins === 0) return `${hours}u`;\n return `${hours}u ${mins}m`;\n}\n\nfunction stopOverLabel(stopOvers: StopOver[]): string {\n const stops = stopOvers.length - 1;\n return `${stops} tussenstop${stops > 1 ? \"s\" : \"\"}`;\n}\n\nfunction TimelineDot({ size = 9 }: { size?: 7 | 9 }) {\n return (\n <span\n className={clsx(\n \"rounded-full border-[#EFF8FE] border-[1px] bg-primary shrink-0\",\n size === 9 ? \"w-[9px] h-[9px]\" : \"w-[7px] h-[7px]\"\n )}\n />\n );\n}\n\nfunction TimelineSegment({ children }: { children: React.ReactNode }) {\n return (\n <div className=\"flex flex-row\">\n <div className=\"flex flex-col items-center w-[9px] ml-[1px] mr-4 py-1\">\n <TimelineDot />\n <div className=\"w-[1px] flex-1 bg-primary\" />\n <TimelineDot />\n </div>\n <div className=\"flex flex-col gap-1 w-full py-1\">\n {children}\n </div>\n </div>\n );\n}\n\nfunction CompactTimeline({\n leg,\n hasStopOvers,\n onToggleStopOvers,\n}: {\n leg: FlightLeg;\n hasStopOvers: boolean;\n onToggleStopOvers: () => void;\n}) {\n const duration = formatDuration(leg.DepartureDateTime, leg.ArrivalDateTime);\n\n return (\n <div className=\"flex flex-row\">\n <div className=\"flex flex-col items-center w-[9px] ml-[1px] mr-4 py-1\">\n <TimelineDot />\n <div className=\"w-[1px] flex-1 bg-primary\" />\n {hasStopOvers && (\n <>\n <TimelineDot size={7} />\n <div className=\"w-[1px] flex-1 bg-primary\" />\n </>\n )}\n <TimelineDot />\n </div>\n <div className=\"flex flex-col gap-2 w-full\">\n <div className=\"flex flex-row gap-2\">\n <span className=\"font-bold\">{formatTime(leg.DepartureDateTime)}</span>\n <span>{leg.DeparturePoint.Name} ({leg.DeparturePoint.Code})</span>\n </div>\n {hasStopOvers && (\n <button\n type=\"button\"\n className=\"text-xs flex flex-row gap-1 items-center text-primary cursor-pointer bg-transparent border-none p-0\"\n onClick={onToggleStopOvers}\n >\n {stopOverLabel(leg.StopOvers)} <IconArrowDown width={16} height={16} />\n </button>\n )}\n <div className=\"flex flex-col sm:flex-row w-full justify-between\">\n <div className=\"flex flex-row gap-2\">\n <span className=\"font-bold\">{formatTime(leg.ArrivalDateTime)}</span>\n <span>{leg.ArrivalPoint.Name} ({leg.ArrivalPoint.Code})</span>\n </div>\n <span className=\"text-gray-500 items-center flex text-xs flex-row whitespace-nowrap gap-1\">\n <IconClock width={16} height={16} /> {duration} totale reistijd\n </span>\n </div>\n </div>\n </div>\n );\n}\n\nfunction ExpandedTimeline({\n leg,\n onToggleStopOvers,\n}: {\n leg: FlightLeg;\n onToggleStopOvers: () => void;\n}) {\n return (\n <div className=\"flex flex-col\">\n {leg.StopOvers.map((stopOver, index) => (\n <div key={stopOver.Id}>\n <TimelineSegment>\n <div className=\"flex flex-row gap-2\">\n <span className=\"font-bold\">{formatTime(stopOver.DepartureDateTime)}</span>\n <span>{stopOver.DeparturePoint.Name} ({stopOver.DeparturePoint.Code})</span>\n </div>\n <div className=\"text-xs text-secondary\">\n {stopOver.Carrier.Name} - {stopOver.Class.Name}\n </div>\n <div className=\"flex flex-row gap-2\">\n <span className=\"font-bold\">{formatTime(stopOver.ArrivalDateTime)}</span>\n <span>{stopOver.ArrivalPoint.Name} ({stopOver.ArrivalPoint.Code})</span>\n </div>\n </TimelineSegment>\n \n {index === 0 && (\n <div className=\"flex flex-row gap-1\">\n <button\n type=\"button\"\n className=\"text-xs flex flex-row gap-1 items-center text-primary cursor-pointer bg-transparent border-none p-0 py-1\"\n onClick={onToggleStopOvers}\n >\n {stopOverLabel(leg.StopOvers)} <IconArrowUp width={16} height={16} />\n </button>\n {stopOver.TimeBetweenFlightsInMinutes > 0 && (\n <div className=\"flex flex-row items-center gap-1 text-xs text-gray-500 py-2\">\n <IconTransfer width={14} height={14} />\n <span>{formatMinutes(stopOver.TimeBetweenFlightsInMinutes)} transfertijd</span>\n </div>\n )}\n </div>\n )}\n </div>\n ))}\n </div>\n );\n}\n\nexport const FlightSwitch = ({\n className,\n leg,\n direction,\n onClassSelect,\n ...props\n}: FlightSwitchProps) => {\n const [stopOversOpen, setStopOversOpen] = useState(false);\n const [selectedClassId, setSelectedClassId] = useState<string | null>(null);\n const hasStopOvers = leg.StopOvers && leg.StopOvers.length > 1;\n \n return (\n <div\n data-component=\"flight-switch\"\n className={clsx(\n className,\n \"border border-primary-light-50 bg-white flex flex-col divide-y divide-primary-light-50 rounded-sm\"\n )}\n {...props}\n >\n <div className=\"p-4\">\n <div className=\"flex flex-row justify-between mb-2\">\n <div className=\"flex flex-row items-center gap-2\">\n <span>\n <IconPlane\n width={24}\n height={24}\n className={clsx(\n \"text-secondary\",\n direction === \"to\" ? \"rotate-90\" : \"-rotate-90\"\n )}\n />\n </span>\n <span className=\"text-secondary font-medium text-base\">\n {formatDate(leg.DepartureDateTime)}\n </span>\n </div>\n </div>\n {stopOversOpen ? (\n <ExpandedTimeline\n leg={leg}\n onToggleStopOvers={() => setStopOversOpen(false)}\n />\n ) : (\n <CompactTimeline\n leg={leg}\n hasStopOvers={hasStopOvers}\n onToggleStopOvers={() => setStopOversOpen(true)}\n />\n )}\n </div>\n {leg.FlightClassOptions?.map((option) => (\n <button\n key={option.Id}\n type=\"button\"\n className={clsx(\n \"px-4 py-2 flex flex-row justify-between w-full text-left hover:bg-[#eff8fe] cursor-pointer transition-colors\",\n selectedClassId === option.Id && \"bg-[#eff8fe]\"\n )}\n onClick={() => {\n setSelectedClassId(option.Id);\n onClassSelect?.(option);\n }}\n >\n <span className=\"flex flex-row items-center gap-1\">\n <span>{option.Name}</span>\n </span>\n <span>\n {option.PricePerPerson === 0\n ? \"Inbegrepen\"\n : `+ ${formatPrice(option.PricePerPerson)}`}\n </span>\n </button>\n ))}\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconPresent } from \"../../icons\";\n\ninterface GiftCardProps {\n \"data-testid\"?: string;\n className?: string;\n amount?: string;\n amountTotal?: string;\n cardNumber?: string;\n validUntilDate?: string;\n}\n\nconst setCurrencyValue = (value: string, showCurrencySymbol: boolean = true) => {\n return new Intl.NumberFormat('nl-NL', { \n style: showCurrencySymbol ? 'currency' : 'decimal', \n currency: 'EUR',\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).format(Number(value));\n};\n\nexport const GiftCard = ({ className, amount, amountTotal, cardNumber, validUntilDate, ...props }: GiftCardProps) => (\n <div\n data-component=\"gift-card\"\n className={clsx(className, 'rounded-sm bg-primary gift-card text-white p-3 flex flex-row w-fit gap-8')}\n {...props}\n >\n <div className=\"flex flex-col\">\n <span className=\"mb-1.5 text-xs sm:text-2xl\"><span className=\"font-bold gift-card-amount\">{setCurrencyValue(amount || '0')}</span> / {setCurrencyValue(amountTotal || '0', false)}</span>\n <span className=\"text-xs\">{cardNumber}</span>\n <span className=\"uppercase tracking-[0.8px] text-[10px]\">Geldig t/m {validUntilDate}</span>\n </div>\n <span className=\"flex items-center mr-3\">\n <IconPresent className=\"size-[28px] sm:size-[56px]\" /> \n </span>\n \n </div>\n);\n","import { Brand } from \"../../theme\";\n\ninterface ViewedAccomodationsImageProps {\n brand: Brand;\n}\n\nexport const ViewedAccomodationsImage = ({ brand }: ViewedAccomodationsImageProps) => {\n\n\n return <>{brand === 'prijsvrij' ? <svg width=\"129\" height=\"138\" viewBox=\"0 0 129 138\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<circle cx=\"60.2157\" cy=\"68.2706\" r=\"59.7294\" fill=\"#80C8F8\"></circle>\n<path d=\"M72.1008 35.1365C72.8364 35.1365 73.0082 34.5452 73.2472 33.9821C73.3909 33.6423 73.811 33.1036 73.6691 32.6944C73.544 32.334 73.3984 32.12 73.025 32.12L72.7524 32.1707C72.1606 31.7483 71.6789 32.2176 71.3391 32.685C71.0049 33.143 70.8425 33.7399 70.9489 34.3406C71.059 34.9732 71.4922 35.1384 72.1027 35.1384L72.1008 35.1365Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M73.7493 32.2174C73.8371 32.3113 73.9678 32.5009 73.9977 32.6398C74.3524 33.0152 74.1937 33.1654 74.8359 33.2179L75.2579 33.6666C74.948 33.6666 74.3505 34.0401 74.315 34.3649C74.3076 34.4381 74.3262 34.9787 74.3673 35.0331C74.4569 35.1533 74.8378 35.1852 74.9704 35.2396C74.8919 35.2452 74.8229 35.264 74.7389 35.2659C74.6735 35.4555 74.47 35.5944 74.3953 35.7915C74.3468 35.9191 74.3823 36.0487 74.3636 36.1838C74.3468 36.3058 74.287 36.3865 74.2926 36.5048C74.8714 36.5423 75.3176 36.3865 75.902 36.3584C76.1951 36.3434 76.4453 36.2758 76.7197 36.2289C76.9961 36.1819 77.2761 36.1369 77.5356 36.0543C78.1723 35.8497 78.2974 35.5249 78.0789 34.9374C77.9744 34.6558 77.937 34.3855 77.7373 34.1584C77.5431 33.9388 77.3433 33.8374 77.1547 33.6347C76.9774 33.447 76.8411 33.3043 76.6171 33.1391C76.4061 32.9833 76.1858 32.8707 76.0084 32.6586C75.6724 32.2569 75.4054 31.7144 75.1291 31.3014C74.8415 30.8678 74.5354 30.436 74.0555 30.177C73.8408 30.0606 73.5533 30.0081 73.3199 30.1395C73.053 30.2896 73.0604 30.5599 73.0772 30.8453C73.1071 31.399 73.5869 31.7444 73.7512 32.2118L73.7493 32.2174Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M25.928 77.2611C26.3873 77.109 26.4433 76.5084 26.9306 76.4258C27.177 76.3845 27.4478 76.4727 27.6942 76.4258C28.3047 76.3094 27.8081 75.8026 27.4496 75.7256C26.9698 75.6242 26.4713 75.7519 25.9878 75.7519C25.4053 75.7519 24.9385 75.8082 24.6678 75.277C24.552 75.048 24.4662 74.8809 24.2981 74.7044C24.0797 74.4773 23.8743 74.2783 23.738 73.963C23.5681 73.5613 23.5793 72.9268 23.626 72.4594C23.6522 72.1966 23.7194 71.9451 23.7007 71.6691C23.6876 71.4626 23.5644 70.9952 23.4375 70.8469C23.2694 70.648 22.868 70.6273 22.6328 70.6142C22.2071 70.5916 21.8337 70.5485 21.4192 70.464C21.1877 70.4171 20.8087 70.3589 20.65 70.1787C20.4801 69.9835 20.594 69.6606 20.6538 69.4466C20.7826 68.9736 21.0066 68.6094 21.1746 68.1664C21.3147 67.7985 21.52 67.4324 21.5182 67.0364C21.5182 66.7473 21.5331 66.4488 21.4827 66.1785C21.4211 65.8538 21.3856 65.7111 21.0216 65.728C20.7191 65.743 20.4745 65.8857 20.1833 65.9307C20.1273 66.0471 20.0601 66.0114 19.9686 66.0846C19.5261 66.4319 19.4271 67.0589 19.0015 67.4306C18.544 67.8266 17.9111 67.8473 17.3268 67.8229C16.72 67.7966 16.4511 67.2991 16.1057 66.8637C15.9228 66.6365 15.7641 66.3625 15.6633 66.0753C15.4915 65.5835 15.3384 65.0335 15.344 64.506C15.3477 64.1831 15.3851 63.8771 15.484 63.5806C15.5998 63.237 15.6259 62.9067 15.7155 62.5594C15.7921 62.2591 15.9415 61.9944 16.018 61.6922C16.186 61.3787 16.2607 61.1046 16.3858 60.8137C16.4829 60.5828 16.7835 60.1792 17.028 60.1135C17.183 59.8882 17.7711 59.5766 18.0418 59.5428C18.7382 59.4584 19.3581 59.6686 20.0358 59.6686C20.4092 59.6686 20.5324 59.6686 20.7508 59.3927C20.8871 59.2181 20.9992 58.9647 21.1597 58.777C21.3782 58.5217 21.6209 58.563 21.942 58.5911C22.265 58.6193 22.4031 58.6925 22.6682 58.8652C22.9464 59.0473 23.1275 58.9759 23.4206 58.9009C23.8221 58.7995 23.893 58.8821 23.9509 59.25C23.9845 59.4715 24.0293 59.7906 24.1021 60.0309C24.272 60.6034 24.4214 61.1609 24.7649 61.6884C24.9068 61.908 25.0823 62.2328 25.3101 62.3792C25.5901 62.5594 25.704 62.3585 25.9299 62.2816C26.0886 61.6283 25.8814 60.885 25.7899 60.258C25.7395 59.9239 25.6349 59.6592 25.6349 59.3176C25.6349 58.4804 25.5266 57.722 26.2734 57.1795C26.4825 57.0275 26.7047 56.9224 26.9194 56.776C27.1098 56.6464 27.2928 56.47 27.515 56.3986C27.6009 56.2034 27.9369 56.0364 28.0956 55.8806C28.5792 55.4056 29.0235 54.9889 29.3857 54.3939C29.5089 54.1911 29.6452 53.9753 29.7143 53.7744C29.8114 53.4872 29.7778 53.1644 29.8076 52.8621C29.8599 52.3121 30.1568 51.5275 30.7299 51.3717C30.982 51.3022 31.1108 51.2985 31.2079 51.015C31.277 50.8123 31.3405 50.5964 31.4226 50.3993C31.8203 50.1365 32.0107 49.6091 32.4289 49.3519C32.8341 49.1041 33.3363 49.0609 33.7564 48.8432C34.2026 48.6104 34.2212 48.3871 34.2156 47.9009C34.2119 47.4992 34.5554 47.3039 34.8541 47.09C35.179 46.8572 35.4497 46.5231 35.7876 46.3109C36.0938 46.1195 36.6502 46.0481 36.9937 46.0313C38.4033 45.9693 39.8428 46.1251 41.1665 45.5657C41.5119 45.4193 41.9282 45.241 42.2026 44.9575C42.3968 44.7586 42.3856 44.4301 42.1821 44.2367C41.749 43.8219 40.9406 44.5633 40.584 44.7604C40.0015 45.0814 39.1912 44.8036 38.9205 44.2179C38.7954 43.9439 38.73 43.6454 38.9018 43.3864C39.0381 43.1836 39.292 43.0429 39.4227 42.8364C39.4936 42.7237 39.5459 42.6261 39.5216 42.4666C39.488 42.2488 39.4918 42.2864 39.2696 42.2657C39.0157 42.2413 38.7226 42.2751 38.4799 42.3352C38.2035 42.4028 37.9552 42.5173 37.6826 42.6149C37.4231 42.7069 36.7193 42.8045 36.4691 42.6468C36.6203 42.5323 36.7081 42.354 36.8537 42.247C37.0535 42.0987 37.313 42.0104 37.5594 41.9241C37.8805 41.8115 38.2017 41.6406 38.5004 41.4173C38.9167 41.1057 39.5776 41.2427 40.0929 41.2202C40.7146 41.1939 41.2878 41.0681 41.9263 41.0681C42.3931 41.0681 42.9308 41.085 43.3546 40.8504C43.56 40.7359 43.6682 40.5406 43.8531 40.4092C44.0342 40.2797 44.2862 40.1971 44.5028 40.1427C44.8501 40.0563 45.1562 40.0226 45.455 39.8574C46.0039 39.5533 46.1943 38.9075 45.7705 38.3744C45.6249 38.1905 45.3784 38.1154 45.2365 37.9239C45.0648 37.6949 45.0666 37.434 44.9751 37.1749C44.7884 36.6606 43.9128 36.8408 43.5413 36.3959C43.2482 36.0468 43.4367 35.2284 43.4125 34.7628C43.3975 34.4606 43.3789 34.1659 43.166 33.9594C42.9812 33.7792 42.7105 33.6065 42.6414 33.3456C42.4491 33.263 42.4286 32.9458 42.3464 32.7843C42.2661 32.6229 42.1597 32.3301 42.0197 32.2156C41.65 31.919 41.4708 32.6886 41.3233 32.8819C41.1123 33.1616 40.6586 33.2517 40.3935 33.5108C40.1807 33.7173 40.1788 33.7961 39.8409 33.7436C39.6673 33.7154 39.4899 33.6891 39.3349 33.6159C39.0026 33.4601 39.0325 33.3099 39.1016 32.957C39.1576 32.6623 39.2472 32.3751 39.2472 32.071C39.2472 31.7669 39.3275 31.5229 39.0175 31.3784C38.913 31.3296 38.7226 31.3352 38.6385 31.2582C38.5527 31.1794 38.5975 31.1062 38.5527 30.9898C38.4294 30.6838 38.2297 30.6575 37.9328 30.5506C37.6322 30.4436 37.3541 30.2784 37.0404 30.1826C36.5494 30.0306 35.6924 29.9893 35.2089 30.2239C34.8597 30.5975 34.7944 31.0086 34.6842 31.5192C34.5554 32.1067 34.3221 32.7074 33.8422 33.0809C33.6145 33.2593 33.3792 33.4751 33.5435 33.7886C33.7582 34.1997 34.197 34.2691 34.1895 34.7741C34.1783 35.525 33.9561 35.7333 33.4016 36.1238C32.9591 36.4354 32.414 36.5424 31.9118 36.7526C31.6448 36.9441 31.4487 37.0285 31.3423 37.3476C31.2564 37.6086 31.2882 37.9296 31.2882 38.2205C31.2882 38.6935 31.3927 39.6096 30.87 39.7654C30.6123 39.8424 30.1213 39.726 29.9141 39.5964C29.6714 39.4444 29.6434 39.3168 29.6583 39.0014C29.6826 38.4458 30.0952 37.8714 29.8002 37.357C29.6788 37.143 29.5201 36.8145 29.3596 36.6268C29.2139 36.4541 28.8816 36.3715 28.6632 36.2927C28.0732 36.0825 27.8081 35.5662 27.3077 35.2847C26.8205 35.0087 26.2697 34.8661 26.0793 34.3292C25.8645 33.7229 25.8982 32.7318 26.3313 32.2437C26.4695 32.0879 26.6356 31.9734 26.7738 31.842C27.1061 31.5285 27.472 31.2639 27.8585 30.9692C28.4037 30.5562 29.0254 30.0381 29.4511 29.5181C29.8805 28.9925 30.5657 28.604 31.1071 28.1797C31.5832 27.8043 32.1246 27.5378 32.6567 27.2299C32.9349 27.0704 33.1552 26.9296 33.5043 26.8751C33.7937 26.8301 34.1055 26.862 34.3967 26.832C34.9419 26.7756 35.6514 26.5692 36.0416 26.1937C36.4467 25.8052 36.6931 25.0975 36.6185 24.5193C36.54 23.9149 35.586 24.4086 35.3134 24.6C34.8709 24.9116 34.3911 25.5105 33.7937 25.3246C33.7638 25.1763 33.8684 25.0581 33.8366 24.9079C33.1421 24.8647 33.5136 24.2021 33.6667 23.8567C33.8012 23.5489 33.7937 23.2372 33.8404 22.9088C33.8908 22.5652 33.9262 22.1297 33.8814 21.7881C33.5043 21.7675 33.1328 22.0096 32.806 22.1804C32.6716 22.2518 32.5652 22.3869 32.4513 22.5108C32.3449 22.6253 32.175 22.7342 32.1041 22.8337C31.9976 22.9857 32.0275 23.1528 32.007 23.3349C31.9846 23.5301 31.9342 23.6803 31.8576 23.8586C31.7437 24.1289 31.501 24.4743 31.2826 24.6601C30.9316 24.9567 30.575 25.2589 30.1213 25.3922C29.8749 25.4654 29.6153 25.4128 29.3801 25.3678C29.0702 25.3077 28.8051 25.2552 28.4783 25.2289C28.0788 25.197 27.1061 24.9379 26.8149 25.2796C26.5889 25.5461 26.7308 25.854 26.2548 25.8277C26.1185 25.8202 26.0027 25.8033 25.8795 25.7526C25.8048 25.7207 25.8253 25.6606 25.7563 25.6325C25.648 25.5893 25.5416 25.6325 25.437 25.5743C25.4127 25.411 25.2223 25.3115 25.185 25.1275C25.1439 24.9361 25.241 24.7408 25.2671 24.5569C25.3213 24.1777 25.3119 23.5413 24.9198 23.4099C24.5838 23.2954 24.1114 23.5714 23.809 23.6089C23.6111 23.6333 23.3217 23.6446 23.1294 23.6089C22.8942 23.5676 22.7784 23.3574 22.5842 23.2823L22.5096 23.4813C22.3994 23.7797 21.8654 24.0688 21.6339 24.2847C21.2008 24.6883 20.8349 25.1613 20.3625 25.5386C20.0115 25.8183 19.6456 26.0811 19.3581 26.449C19.1732 26.6837 19.0071 26.9089 18.8428 27.1605C18.7569 27.2919 18.6038 27.5866 18.4694 27.6241C18.3629 27.8944 18.1034 28.221 17.9149 28.4632C17.8178 28.5871 17.7132 28.7035 17.6031 28.8255C17.5172 28.9193 17.3585 28.9982 17.3156 29.1145C17.1233 29.154 17 29.3041 16.8096 29.3698C16.8059 29.3905 16.804 29.4111 16.804 29.4318C16.3373 29.5012 16.1842 29.963 15.9844 30.2971C15.751 30.6913 15.2507 30.8453 15.1162 31.3314C15.008 31.3746 14.937 31.613 14.9109 31.7313C14.8885 31.7313 14.8698 31.735 14.8493 31.7388C14.825 32.0936 14.5337 32.5441 14.4068 32.8838C14.2574 33.2743 14.0913 33.6685 13.9232 34.0533C13.5984 34.7966 13.2791 35.5625 13.0868 36.3734C12.79 37.6273 12.1981 38.7799 11.8229 39.9831C11.6754 40.458 11.6119 40.9799 11.5073 41.4792C11.3561 42.2038 11.063 42.9471 10.6037 43.5103C10.4711 43.6736 10.4002 43.8144 10.2863 44.0002C10.094 44.3137 9.94839 44.6891 9.80836 45.0458C9.65714 45.4343 9.48724 45.8191 9.42003 46.2471C9.34161 46.7389 9.0765 47.1819 8.873 47.6156C8.64896 48.0905 8.60602 48.7249 8.49586 49.2543C8.38384 49.7968 8.25129 50.3449 8.18034 50.9249C8.10379 51.5519 7.98244 52.162 7.98244 52.7946V54.285C7.98244 54.5178 7.96564 54.6848 8.07019 54.8857C8.15234 55.0415 8.28489 55.1673 8.33904 55.3418C8.36144 55.3437 8.38011 55.3456 8.40065 55.3493C8.42865 55.5446 8.54067 55.7398 8.60228 55.9181C8.67136 56.119 8.72364 56.3461 8.75724 56.562C8.82446 56.9937 8.77591 57.478 8.77591 57.9191C8.77591 58.5067 8.89914 59.0604 8.94954 59.6367C9.00369 60.2449 9.00182 60.8531 9.16798 61.4312C9.42563 62.321 9.61046 63.8265 10.5589 64.1718C10.5626 64.108 10.5552 64.0386 10.5626 63.9748C10.585 63.7645 10.5066 63.4754 10.4655 63.2746C10.4263 63.0812 10.3797 62.7828 10.3143 62.5782C10.1594 62.0976 9.97453 61.5908 9.79529 61.1027C9.55632 60.4608 9.44617 59.9427 9.44617 59.2406C9.44617 58.8145 9.33228 57.9229 9.76356 57.7145C10.0436 58.2195 9.93532 58.8539 10.0679 59.4358C10.1258 59.6893 10.165 59.9614 10.2452 60.2017C10.3442 60.5058 10.5309 60.7442 10.5906 61.0765C10.7419 61.1515 10.8501 61.5945 10.9174 61.7485C10.992 61.9174 11.0275 62.351 11.2049 62.4111C11.2273 62.672 11.4028 62.9104 11.4569 63.1732C11.5521 63.6444 11.47 64.0423 11.7052 64.491C11.8098 64.6937 11.8994 64.8964 11.9722 65.1198C12.1122 65.5572 12.1029 65.9814 12.1029 66.4657C12.1029 66.9162 12.0562 67.3836 12.228 67.759C12.4035 68.142 12.6219 68.4968 12.7508 68.8722C12.8404 68.9341 12.9711 69.0073 13.0047 69.1275C13.0308 69.1312 13.0588 69.1331 13.0849 69.135C13.1167 69.2795 13.3445 69.3659 13.4546 69.456C13.6432 69.6118 13.8075 69.8183 14.0352 69.914C14.0875 70.1618 14.8903 70.4058 15.148 70.4846C15.555 70.6104 16.0012 70.5353 16.4194 70.5278C16.8208 70.5222 17.2147 70.5654 17.6068 70.6517C18.1184 70.7643 18.376 70.8131 18.6225 71.2937C18.8633 71.763 19.1602 72.1666 19.6381 72.4218C19.8472 72.5345 20.0657 72.6058 20.2561 72.7766C20.4521 72.9512 20.6071 73.092 20.8479 73.2046C21.2904 73.4092 21.8001 73.7677 22.1212 74.192C22.2631 74.3797 22.3863 74.6181 22.4778 74.8227C22.5786 75.048 22.7131 75.2957 22.8325 75.5116C22.9576 75.7406 23.1257 75.7706 23.3553 75.8945C23.7511 76.1104 24.0797 76.4539 24.4736 76.6886C24.8489 76.9119 25.4613 77.4038 25.9392 77.2442L25.928 77.2611Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M56.4106 91.1128C56.3508 90.8462 56.3583 90.5365 56.194 90.3094C56.0521 90.1123 55.7254 89.9921 55.4995 89.9133C55.2549 89.8288 54.9748 89.8138 54.7191 89.7669C54.4241 89.7143 54.3158 89.6449 54.1123 89.4346C53.6904 89.0029 53.106 88.4041 52.4712 88.344C52.1295 88.3121 51.7916 88.2689 51.45 88.2182C50.9925 88.1507 50.4418 88.2595 49.9956 88.1338C49.5307 88.0024 49.0807 87.6082 48.6924 87.3679C48.4497 87.2159 48.151 87.0056 47.869 86.9399C47.6618 86.893 47.3444 86.938 47.154 86.8423C46.9617 86.7466 46.8777 86.4444 46.6406 86.3524C46.3867 86.2548 46.0338 86.3355 45.7687 86.3486C45.4532 86.3636 45.1712 86.4293 44.9808 86.6659C44.796 86.893 44.8912 87.1239 44.8072 87.3886C44.7232 87.3848 44.6111 87.3341 44.5383 87.2928C44.4711 87.1764 44.2247 87.0901 44.1145 87.0188C44.094 86.5288 44.2191 86.328 44.5197 85.9788C44.7418 85.7198 45.0443 85.4739 44.8987 85.0328C44.781 84.6799 44.4412 84.3307 44.2359 84.0285C44.1033 83.8351 43.9932 83.638 43.8699 83.4466C43.799 83.3358 43.7878 83.2176 43.7224 83.1256C43.6702 83.0524 43.5974 83.0242 43.5619 82.9379C43.3528 82.8759 43.1941 82.7314 43.0242 82.6094C42.6303 82.3297 42.171 82.0369 41.7248 81.8811C41.1815 81.6915 40.5616 81.7703 39.9959 81.6389C39.4713 81.5169 38.7824 81.5019 38.5005 81.0176C38.3772 80.8073 38.3287 80.5427 38.1961 80.3399C37.7518 79.6604 36.3702 79.9476 36.2264 78.9696C36.1928 78.7444 36.2843 78.4722 36.176 78.2713C36.0883 78.1043 35.7578 77.9503 35.5506 77.9222C35.0297 77.8546 34.5611 78.1474 34.0682 78.1981C33.5436 78.2526 32.9331 78.2019 32.4532 78.0742C32.2087 78.0085 31.938 78.0404 31.7008 77.9785C31.4787 77.9222 31.3125 77.8077 31.0941 77.7138C30.9951 77.391 30.7748 77.1526 30.4219 77.1244C30.0504 77.0944 29.6322 77.0869 29.3484 77.2915C29.1057 77.4698 28.7977 77.6293 28.8089 77.9729C28.8145 78.1549 28.9078 78.2863 28.9358 78.4384C28.9657 78.6036 28.9358 78.8176 28.9302 78.9846C28.8089 78.9508 28.5475 78.9039 28.4803 78.7763C28.4168 78.6524 28.4616 78.4121 28.4616 78.2732C28.4616 77.8884 28.5232 77.5712 28.6091 77.2239C28.6446 77.0812 28.7248 76.8353 28.6315 76.7058C28.5475 76.595 28.1703 76.5556 28.0359 76.55C27.2275 76.5125 27.95 77.3891 27.4422 77.6444C27.2088 77.7607 27.0203 77.7213 26.7514 77.7476C26.4788 77.7758 26.3762 77.879 26.2305 78.1212C26.1036 78.3314 25.9636 78.5698 25.8646 78.795C25.7657 79.0184 25.5995 79.2268 25.5323 79.4652C25.1551 79.559 25.2634 80.2348 25.1365 80.4788C25.017 80.7078 24.8023 80.7679 24.7911 81.072C24.7817 81.3123 24.9087 81.5488 25.0338 81.744C25.2037 82.0125 25.4016 82.2471 25.5734 82.4855C25.7657 82.7539 25.971 82.9604 25.9822 83.2964C25.9934 83.623 26.0046 83.8652 25.7881 84.1073C25.6163 84.2969 25.4091 84.4077 25.2112 84.586C24.5334 85.2017 23.9752 86.3749 24.2497 87.3679C24.3673 87.4055 24.4737 87.6288 24.5222 87.7171C24.9218 87.8822 24.8658 88.7044 24.8658 89.0855C24.8658 89.6054 24.918 90.2887 25.0581 90.7899C25.1794 91.2235 25.6238 91.4281 25.9356 91.7022C26.2865 92.0082 26.5218 92.3217 26.8242 92.6858C27.2107 93.1476 27.6159 93.5493 27.9893 94.0017C28.3328 94.4165 28.6184 94.9271 28.9265 95.3983C29.2719 95.9258 29.5594 96.4795 30.0485 96.9356C30.4948 97.3505 31.1295 97.5926 31.6654 97.816C32.345 98.1013 33.1198 98.3548 33.5492 98.978C33.7153 99.2182 33.8647 99.3928 33.9973 99.6443C34.2213 100.067 34.5387 100.559 34.6731 101.011C34.8505 101.598 34.9662 102.192 35.1996 102.76C35.4591 103.389 35.8064 103.956 36.0771 104.564C36.0958 104.576 36.1163 104.579 36.1368 104.577C36.3963 105.058 36.6652 105.441 36.7175 106.006C36.7716 106.582 36.7417 107.155 36.8967 107.707C37.0629 108.294 37.257 108.882 37.4549 109.435C37.5445 109.691 37.6379 109.927 37.7144 110.166C37.8153 110.472 38.0038 110.738 38.1252 111.035C38.2372 111.309 38.2503 111.604 38.3492 111.881C38.5602 112.482 38.9728 112.985 39.3947 113.451C39.9212 114.031 40.6046 114.365 40.8865 115.123C41.0788 115.639 41.0004 116.082 41.3962 116.501C41.7808 116.908 42.156 117.286 42.5182 117.732C43.0018 118.333 43.6254 118.714 44.1369 119.247C44.3255 119.444 44.4543 119.664 44.6877 119.814C44.8725 119.931 45.2721 120.036 45.3785 120.229C45.8508 120.319 46.2336 120.649 46.6816 120.76C46.8721 120.982 47.2324 120.888 47.4938 120.893C47.8168 120.903 48.1603 120.91 48.4628 120.773C48.6551 120.687 48.8399 120.531 48.7167 120.28C48.6401 120.122 48.3619 120.084 48.1902 120.051C47.6805 119.949 47.2492 119.857 46.7974 119.626C46.5734 119.512 46.3698 119.367 46.1757 119.242C46.0338 119.148 45.8154 118.827 45.6697 118.806C45.6193 118.622 45.4158 118.5 45.2945 118.367C45.1507 118.211 45.0293 117.993 44.9715 117.787C44.8781 117.46 45.0312 116.764 44.8389 116.539C44.7456 116.428 44.458 116.36 44.3292 116.257C44.1929 116.148 44.0734 116.019 43.9614 115.885C43.7374 115.619 43.7897 115.288 43.9054 114.971C43.9988 114.712 44.2993 114.096 44.1537 113.811C44.023 113.554 43.2856 113.685 43.3883 113.229C43.5432 113.171 43.7299 113.096 43.9017 113.047C43.9278 112.593 43.883 112.313 44.3199 112.131C44.5439 112.037 44.6933 112.017 44.9229 111.981C45.1059 111.951 45.3915 111.825 45.5652 111.851C45.6641 111.752 46.4203 111.288 45.9666 111.08C45.9666 110.98 45.9274 110.9 45.8863 110.819C45.5782 110.633 45.3598 110.267 45.0275 110.104C44.7978 109.991 44.712 109.969 44.6989 109.679C44.6877 109.42 44.7474 109.375 44.9827 109.362C45.3542 109.338 45.7556 109.387 46.1365 109.387C46.3194 109.387 46.5248 109.411 46.7059 109.387C46.9262 109.359 46.9692 109.199 47.1204 109.158C47.2305 108.87 47.3762 108.619 47.4975 108.337C47.5965 108.106 47.6655 107.857 47.8298 107.66C47.996 107.459 48.235 107.297 48.3713 107.067C48.4665 106.903 48.5113 106.734 48.5953 106.573C48.7727 106.233 48.909 105.843 48.9426 105.448C49.0061 104.711 48.4721 103.746 49.1367 103.248C49.4149 102.866 50.0441 102.723 50.4548 102.569C50.5351 102.139 51.8775 102.06 52.2192 101.955C52.8035 101.777 53.0425 101.595 53.2367 101.002C53.3879 100.536 53.5541 100.08 53.6978 99.6106C53.8565 99.0944 53.877 98.5932 53.877 98.0413C53.877 97.7447 53.8976 97.4688 53.9499 97.1966C54.0357 96.7592 54.0339 96.3875 54.0563 95.9502C54.0787 95.5578 54.1534 95.173 54.4222 94.8708C54.6052 94.6662 54.818 94.4691 55.0178 94.2758C55.1522 94.1444 55.4976 93.9754 55.5424 93.8065C55.7254 93.737 55.9121 93.3973 56.0334 93.2358C56.1996 93.0162 56.3322 92.8604 56.4292 92.6351C56.5413 92.3761 56.5263 92.1433 56.5132 91.8317C56.5002 91.5577 56.4628 91.3493 56.4087 91.109L56.4106 91.1128Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M50.186 118.96L50.2103 119.259C50.201 119.486 50.3503 119.308 50.4586 119.484C50.608 119.726 50.6322 119.707 50.9235 119.707C51.2148 119.707 51.2726 119.732 51.2764 119.418C51.2801 119.21 51.2838 118.996 51.2726 118.789C51.0056 118.594 50.2028 118.448 50.186 118.96Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M63.9734 23.0852C63.9493 23.1094 63.9289 23.1336 63.9067 23.1577C63.9067 23.167 63.9067 23.1745 63.9067 23.1838L63.9734 23.0852Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M66.1527 22.6541C65.6971 22.5828 63.9029 22.4345 63.9067 23.1609C63.9272 23.1365 63.9496 23.1102 63.9739 23.0877L63.9067 23.1872C63.9067 23.1872 63.9067 23.1703 63.9067 23.1609C63.7144 23.388 63.6079 23.6264 63.3204 23.4425C63.0516 23.2698 63.0983 22.9469 62.7566 22.8418C62.5886 22.4551 62.2357 23.099 62.1797 23.2717C62.0975 23.5288 62.0453 24.0094 62.1199 24.2834C62.1834 24.5237 62.4541 24.9273 62.6147 25.1338C62.8555 25.4454 63.1393 25.481 63.5127 25.481C64.2745 25.481 65.053 25.5374 65.7793 25.3628C66.1657 25.2708 66.429 25.1075 66.7221 24.8278C66.9461 24.6138 67.2057 24.4937 67.3737 24.2365C67.945 23.358 66.8808 22.7667 66.1564 22.6541H66.1527Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M62.3549 20.7277C62.4146 20.6507 62.4109 20.433 62.4837 20.326C62.5528 20.2246 62.6629 20.1495 62.7488 20.0632C62.9075 19.9074 63.21 19.6596 63.2791 19.4888C63.3799 19.2391 63.2025 18.9294 63.1428 18.7117C62.7694 18.5521 62.5584 18.34 62.7227 17.9064C62.9337 17.8932 63.2324 17.8519 63.4378 17.9064C63.6394 17.9608 63.7906 18.1617 64.0688 18.0978C64.1005 17.4821 64.0277 17.4146 63.4807 17.1949C63.1148 17.0485 62.8926 16.7876 62.6816 16.476C62.1981 16.4253 61.9199 15.9354 61.8247 15.4924C61.7687 15.224 61.7463 14.4224 61.4009 14.3736C61.3971 14.3342 61.4009 14.2966 61.3934 14.2591C60.9136 14.0338 60.529 13.6622 60.1014 13.3299C59.784 13.0821 59.6552 12.8794 59.6776 12.4439C59.6926 12.183 59.7542 11.8864 59.7542 11.6349C59.7542 11.2632 59.6683 11.3627 59.2874 11.4209C58.9644 11.4716 58.7423 11.4716 58.4323 11.6011C58.0477 11.7625 57.7901 11.8151 57.3607 11.7513C57.0097 11.6987 56.5933 11.6199 56.2255 11.6949C55.8932 11.7625 55.6804 12.0234 55.4115 12.2449C54.8608 12.703 54.0841 12.8569 53.3597 12.917C52.9546 12.9507 52.7455 13.0371 52.3963 13.1798C52.0491 13.3205 51.9669 13.6096 51.713 13.7861C51.5991 14.368 50.4565 14.2629 50.0215 14.3868C49.1944 14.6233 49.2392 15.2277 49.2635 15.9635C49.5902 16.003 49.9524 15.9166 50.281 15.9748C50.6507 16.0424 50.5872 16.1738 50.6974 16.5135C50.8112 16.8608 50.9065 17.1142 50.8822 17.4972C50.8486 18.0641 50.5499 18.5089 50.5499 19.089C50.5499 19.5977 50.4995 19.485 50.1541 19.7291C49.9282 19.8905 49.8721 20.1815 49.7489 20.4217C49.6462 20.6263 49.4987 20.7953 49.3569 20.9849C49.215 21.1745 49.1627 21.197 49.1608 21.4654C49.1608 21.7414 49.1309 21.7207 49.3531 21.792C49.6126 21.8765 49.9002 21.7245 50.1223 21.6588C50.3986 21.5762 50.647 21.6043 50.8224 21.3359C50.9419 21.1538 50.9438 20.6808 51.2071 20.6658C51.2257 21.1181 51.0297 21.5199 50.7552 21.8296C50.7403 21.8521 50.7478 21.8915 50.7366 21.9178C50.632 21.9873 50.6694 21.9234 50.6115 22.053C50.4789 22.0717 50.3725 22.1506 50.3482 22.2838C49.9524 22.3439 49.8049 23.0103 49.5977 23.2243C49.5025 23.4158 49.2504 23.6035 49.1011 23.7837C48.9704 23.9395 48.6717 24.1553 48.5746 24.3412C48.3767 24.7166 48.7482 25.5463 48.9256 25.8541C49.1683 26.2784 49.5902 26.6125 49.8087 27.0724C50.0514 27.5792 49.8479 28.2325 50.2119 28.6811C50.4061 28.9176 50.7907 29.0171 51.0409 29.1861C51.1641 29.2686 51.3377 29.34 51.4647 29.4338C51.6047 29.539 51.6869 29.7454 51.8568 29.8018C52.191 29.9144 52.6838 29.7454 52.9751 29.6253C53.4008 29.4507 53.4904 29.4094 53.5949 29.8656C53.6547 30.1265 53.6547 30.4794 53.9459 30.5995C54.2913 30.7422 54.8832 30.5019 55.2006 30.4156C55.602 30.3067 55.8223 30.226 55.9679 29.7942C56.0687 29.5014 56.2106 29.2611 56.3189 28.9833C56.5168 28.9139 56.4813 28.668 56.4683 28.484C55.7439 28.347 56.4739 26.8847 56.7651 26.6632C56.7856 26.6294 56.7651 26.5844 56.7838 26.5487C57.4298 26.3422 57.0339 25.1671 57.2412 24.7579C57.3644 24.5158 57.7658 24.4632 57.9525 24.2454C58.2606 23.8907 58.2475 23.6504 58.7553 23.5528C59.2389 23.4608 59.7187 23.4796 60.1724 23.3144C60.1294 22.7794 60.4058 22.4077 60.6634 22.0361C60.9509 21.6212 61.0499 20.9548 61.6006 20.8948C61.9031 20.861 62.1607 20.9867 62.3605 20.7296L62.3549 20.7277Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M45.7214 41.6369C45.7251 41.6201 45.7251 41.6032 45.7251 41.5864C45.6786 41.5621 45.634 41.5359 45.5894 41.5042L45.7214 41.6369Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M45.4176 44.37C45.6323 44.6554 45.9516 44.5953 46.2895 44.5953C46.592 44.5953 46.9803 44.6272 47.2697 44.5484C47.6562 44.4432 47.6393 44.1673 47.6393 43.8238C47.6393 43.5028 47.5759 43.2982 47.4639 43.041C47.3462 42.767 47.3313 42.4967 47.1446 42.2695C46.7768 41.8228 46.185 41.8303 45.7257 41.5862C45.7257 41.6031 45.7257 41.62 45.7219 41.6369L45.5894 41.5037C45.6323 41.5337 45.679 41.56 45.7257 41.5862C45.7425 41.2108 45.2701 40.8335 44.9023 40.9386C44.6279 41.0175 44.3777 41.4473 44.1574 41.6876C43.896 41.9748 43.6384 42.2996 43.4069 42.5811C43.1305 42.9171 42.9308 43.0729 42.9495 43.5516C43.6328 43.927 44.5868 43.3902 45.2888 43.5103C45.3075 43.8313 45.2309 44.1204 45.4195 44.37H45.4176Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M33.6665 27.7184C33.3043 27.6771 32.9104 27.8029 32.6247 27.9737C32.3316 28.1483 31.4317 28.886 31.6445 29.2595H31.68C31.7603 29.6406 32.3465 29.3571 32.5594 29.329C32.9552 29.2746 33.267 29.4247 33.6329 29.4717C33.8756 29.5036 34.4805 29.4961 34.6019 29.252C34.7158 29.0249 34.3872 28.5631 34.2845 28.3641C34.137 28.0826 33.9951 27.7541 33.6665 27.7184Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M35.4796 21.4749C35.2929 21.6382 34.9792 21.7883 34.8765 22.0418C34.7738 22.2933 34.8168 22.8883 34.9381 23.0929C35.4441 23.9395 36.7902 23.7668 37.5071 23.5059C38.1475 23.2732 39.0119 23.3482 39.2042 24.009C39.3947 24.6622 38.6068 24.8218 38.1886 25.1259C38.0187 25.2498 37.6845 25.5107 37.8096 25.7923C37.9309 26.0644 38.5508 26.0476 38.7823 25.9556C38.8178 25.8129 38.9167 25.6721 39.0063 25.5501C39.0941 25.4281 39.2845 25.2516 39.3275 25.0977C39.6056 25.094 40.0761 24.9344 40.1489 25.3793C40.2087 25.7397 39.7195 26.132 39.4544 26.2784C39.0773 26.4868 38.913 26.3967 38.7562 26.8115C38.618 27.1776 38.8215 27.4216 38.786 27.752C38.6441 27.7952 38.5134 27.7651 38.4425 27.6506C38.1961 27.2583 36.3216 27.4028 36.2786 27.9885C36.2506 28.0035 36.2226 28.011 36.1928 28.0073C36.1666 28.0711 36.1704 28.1687 36.1834 28.24C36.5848 28.5028 37.2868 28.4916 37.7834 28.4916C38.0467 28.4916 38.2763 28.4597 38.4518 28.6042C38.6553 28.7694 38.8383 29.1298 39.0325 29.3382C39.4171 29.7455 39.8166 30.1998 40.2498 30.5264C40.6717 30.8417 41.1048 30.7479 41.6033 30.7291C41.6929 30.303 40.6754 29.3438 40.9965 29.0585C41.4222 28.6793 42.3109 29.9013 42.6638 29.9557C43.5767 30.0965 43.0334 28.8351 42.759 28.5348C42.3576 28.0993 41.8031 27.523 42.2138 26.851C42.5144 26.7684 42.8747 26.7871 43.166 26.8941C43.5226 27.0237 43.5991 27.3371 43.8904 27.5361C44.0883 27.6713 44.5812 27.7576 44.8612 27.6412C45.0479 27.5624 45.6136 27.1119 45.6286 26.9279C45.819 26.8528 45.9497 26.667 46.1177 26.5638C45.9161 26.2634 45.3242 26.2259 45.0031 26.0307C44.6615 25.8223 44.4132 25.5426 44.1574 25.2516C43.9819 25.0508 43.6608 24.7561 43.6701 24.437C43.6776 24.2249 43.8232 24.0897 43.8867 23.902C43.9669 23.6711 44.0323 23.4046 44.0547 23.1624C44.1592 21.9929 43.0316 21.8972 42.2698 21.5894C41.9282 21.4523 41.6089 21.1088 41.3065 20.8817C41.1926 20.7972 41.1982 20.7221 41.0264 20.679C40.7968 20.6226 40.6138 20.7296 40.4178 20.8104C40.345 20.8404 40.2964 20.9211 40.2684 20.9943C40.1191 20.3805 39.727 19.9713 39.0735 20.0764C38.8439 20.1139 38.5022 20.2059 38.2745 20.2941C38.0038 20.4011 37.7666 20.6377 37.6397 20.8854C37.481 21.0469 37.2233 21.2646 37.1225 21.5218C37.0534 21.3566 37.0871 21.1201 37.1375 20.9305C37.1375 20.9249 37.242 20.7803 37.2626 20.7221C37.2868 20.6489 37.2626 20.5138 37.2682 20.4368C37.2868 20.4331 37.3074 20.4312 37.326 20.4274C37.3634 20.3411 37.3484 20.2885 37.3372 20.2172C36.8667 20.3711 36.456 20.4593 36.1106 20.8085C35.9052 21.0168 35.7036 21.289 35.4852 21.4767L35.4796 21.4749Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M26.9055 23.1645C26.8851 23.1608 26.8611 23.1608 26.8389 23.1608C26.8315 23.1887 26.8204 23.2148 26.8037 23.2352L26.9073 23.1664L26.9055 23.1645Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M26.2436 22.331C26.5628 22.3873 26.589 22.3535 26.7234 22.6557C26.7831 22.7871 26.8765 23.0142 26.8391 23.1606C26.8634 23.1606 26.8877 23.1606 26.9064 23.1644L26.8018 23.2339C26.8205 23.2132 26.8298 23.1869 26.8373 23.1588C26.5759 23.1475 26.1185 23.2958 25.999 23.4685C25.8758 23.6431 25.8571 24.1537 25.8179 24.3507C25.6853 24.989 26.139 24.8444 26.63 24.8444C27.0538 24.8444 27.3432 24.8763 27.6718 24.6342C27.9836 24.4052 28.3607 24.3639 28.7808 24.4221C29.1393 24.4728 29.3596 24.6605 29.6247 24.3188C29.8095 24.0804 29.9197 23.6806 30.0803 23.4066C30.2613 23.0987 30.4294 22.7871 30.5657 22.4323C30.6777 22.1414 30.8625 21.781 31.1519 21.6139C31.3909 21.2873 31.7587 21.3211 31.4861 20.8781C31.2303 20.4595 30.898 20.6021 30.4649 20.512C30.4499 20.099 30.4555 19.8531 30.1232 19.5772C29.8618 19.3595 29.4903 19.2731 29.171 19.2037C28.7678 19.1173 28.5269 19.2206 28.1964 19.4045C27.9967 19.5171 27.2536 19.8081 27.1789 19.9958C26.8727 20.069 26.5236 20.3205 26.3052 20.5252C26.0662 20.7467 25.7283 21.2497 25.5995 21.5501C25.3754 22.0757 25.7992 22.2502 26.2417 22.3272L26.2436 22.331Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M32.3618 21.6738L32.5168 21.779C32.9032 21.7677 33.1179 21.5124 33.5529 21.518C33.9095 21.5218 34.2307 21.5931 34.5854 21.5631C34.5238 21.1332 35.7392 20.6452 36.0865 20.4668C36.1182 20.3505 36.1182 20.1271 36.0865 20.0145C35.9763 19.9957 35.7859 20.022 35.6869 20.0651C35.6328 20.4518 35.2052 20.4387 35.1418 20.0651C34.5835 20.0407 32.935 19.7967 33.1347 20.7784C32.6717 20.8291 31.7812 21.1464 32.3637 21.6738H32.3618Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M30.5039 23.9244C30.3434 24.0821 30.293 24.3224 30.3471 24.572C30.5525 24.604 30.7896 24.5946 31.0062 24.5833C31.1014 24.45 31.1536 24.3111 31.1686 24.1215L31.219 24.0183C31.008 23.9038 30.7429 23.8813 30.5021 23.9226L30.5039 23.9244Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M32.5594 19.4758C32.7909 18.9352 33.4276 18.8996 33.9074 18.7456C34.2995 18.6199 34.6113 18.205 34.798 17.8709V18.0267C34.9063 18.0436 35.0071 18.0154 35.0986 17.9685C35.0724 17.3584 35.2031 17.4523 35.668 17.2984C35.9331 17.2101 36.4447 17.105 36.3999 16.7465C36.0115 16.5456 35.3189 16.5531 34.91 16.6789C34.9473 17.3828 34.6057 17.655 33.9205 17.5987C34.1072 17.3941 34.4451 17.334 34.3238 16.9417C33.3548 16.8948 32.468 17.396 31.8406 18.0286C31.5979 18.2764 31.1648 18.8132 31.3254 19.2243C31.484 19.6354 32.1058 19.5059 32.5613 19.4777L32.5594 19.4758Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M107.872 87.5049C107.559 88.2802 106.409 88.5918 106.037 89.3182C105.328 89.506 105.145 89.4459 104.975 90.1742C104.831 90.7843 104.715 91.3418 104.594 91.9425C104.51 92.3573 104.265 92.8604 104.06 93.2039C103.862 93.538 103.408 93.6882 103.285 94.2476C103.125 94.9703 102.981 95.6048 103.011 96.3763C104.174 96.5114 104.758 96.1848 105.106 95.1636C105.339 95.0135 105.664 94.3433 105.712 94.0317C106.173 93.2246 106.765 92.3479 107.178 91.4206C107.387 90.9532 107.557 90.544 107.725 90.0635C107.893 89.581 108.222 89.2019 108.341 88.7532C108.462 88.299 108.49 87.5387 108.401 87.0694C108.195 85.9901 108.016 87.1427 107.871 87.5068L107.872 87.5049Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M96.4408 49.2436L96.3437 48.5848C95.9778 48.581 95.216 48.2807 95.1208 48.718C94.9883 49.3356 96.0431 49.2662 96.4389 49.2436H96.4408Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M100.828 48.6896C100.733 48.6258 100.634 48.5338 100.511 48.4831C100.238 48.3705 99.4334 48.3705 99.6817 49.0144C99.8087 49.341 100.593 49.2265 100.901 49.2077C100.959 49.0557 100.977 48.8642 100.847 48.776C100.832 48.7403 100.852 48.7197 100.828 48.6878V48.6896Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M84.7069 45.8608C84.8992 46.1105 85.3361 46.1292 85.6292 46.1199C85.6479 45.4216 85.5881 44.6557 85.3323 44.0306C85.1344 43.5463 85.0392 42.741 84.3148 42.8048C84.2625 42.9644 84.1841 43.1165 84.2103 43.2985L84.2588 43.6139C84.2588 44.0287 84.2812 43.9405 84.4567 44.2878C84.6341 44.6369 85.0448 44.6257 84.8843 44.9936C84.7666 45.2639 84.453 45.5342 84.7069 45.8608Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M26.6224 66.4773C27.0686 66.8959 27.2087 67.429 27.9592 67.352C28.2654 67.3201 29.591 67.2976 29.6526 66.8752C29.6843 66.6762 29.3837 66.4885 29.2288 66.3965C29.014 66.2689 28.8479 66.0493 28.6164 65.9498C28.5585 65.7602 28.2187 65.5462 28.0918 65.3998C27.9331 65.2177 27.7986 64.9812 27.6138 64.8423C27.3823 64.6658 27.0444 64.6433 26.7699 64.5532C26.4376 64.4424 26.165 64.4087 25.8009 64.4087C25.2483 64.4087 24.6565 64.3861 24.1524 64.5776C23.7286 64.739 23.3645 64.9831 22.9612 65.1858C22.9071 65.2815 22.8847 65.4129 22.9164 65.5274C23.0994 65.6401 23.2394 65.6795 23.4709 65.6813C23.7734 65.6851 23.7883 65.6513 23.9862 65.4824C24.1543 65.3378 24.3129 65.2853 24.5445 65.2815C24.761 65.2796 24.9421 65.3585 25.1307 65.3585C25.183 65.4561 25.2819 65.488 25.3883 65.5049L25.3137 65.5556C25.7841 65.8559 26.2117 66.0962 26.6224 66.4773Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M30.0148 68.7111C30.3826 68.8725 30.7504 68.8894 31.1388 68.9401C31.4207 68.9777 31.6989 69.079 31.9789 69.0978C32.5652 69.1353 33.1439 69.0565 33.7171 68.9702C34.0774 68.9157 34.126 68.7449 33.9897 68.4051C33.8105 67.9528 33.4856 67.8777 33.0823 67.6543C32.427 67.292 31.6167 67.048 30.8475 67.0799C30.8009 67.1456 30.7336 67.185 30.6459 67.2019H30.5955C30.4648 67.2169 30.4368 67.4516 30.4704 67.5755C30.5245 67.765 30.7206 67.8439 30.8737 67.949C30.5843 68.3038 30.0914 68.0447 29.7516 68.2062C29.4267 68.362 29.8169 68.6266 30.0148 68.713V68.7111Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M34.7849 69.1707C34.9511 69.5199 35.7016 69.5011 36.0526 69.4917C36.1404 69.1933 36.3924 68.7765 36.0452 68.525C35.8641 68.3936 35.1677 68.2866 35.009 68.4706L35.1322 68.5212C34.8391 68.4893 34.6599 68.9098 34.7831 69.1707H34.7849Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M37.4286 19.4514C38.4069 19.581 39.7455 19.5641 40.6585 19.2731C40.9534 19.1792 41.6872 19.0441 41.788 18.725C41.9859 18.0924 41.254 18.0774 40.9889 18.3946C40.8601 18.4246 40.707 18.4322 40.5987 18.4678L40.567 18.633H40.651C40.356 18.633 40.0293 18.6518 39.7436 18.6011C39.3142 18.526 39.2918 18.2257 39.1126 17.931C38.9502 17.6606 38.9427 17.5537 38.6197 17.5011C38.3247 17.4542 37.9588 17.4936 37.6619 17.5048C37.6433 17.7526 37.9775 17.7489 38.0801 17.9328C38.2052 18.1525 38.0764 18.3045 37.9849 18.4734C37.8038 18.8076 37.3427 18.984 37.4304 19.4514H37.4286Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M35.4777 18.8598C35.8343 18.8767 36.1797 18.9105 36.4634 18.7378C36.7043 18.5914 36.9601 18.2798 36.9563 17.9719C36.7696 17.8875 36.9283 17.6641 36.7211 17.6584L36.6632 17.9663C35.8903 17.9663 35.4366 17.9588 35.4777 18.8598Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M38.2573 16.6132C38.2256 16.7277 38.5878 16.7709 38.4814 16.7709H38.5467C38.7185 16.5663 39.4914 16.6789 39.5997 16.3729C39.6763 16.1514 39.428 16.0332 39.4074 15.8323C39.3906 15.6615 39.5194 15.5977 39.5045 15.4137C39.0564 15.1603 38.108 15.2241 37.9213 15.7479C37.658 16.4818 37.953 16.2697 38.2573 16.6132Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M41.4835 16.1403C41.56 16.0615 41.5824 15.8456 41.659 15.7518C41.7617 15.626 41.8644 15.6129 42.0007 15.5603C42.3629 15.4233 42.7363 15.2994 43.1059 15.1774C43.582 15.0197 43.6586 14.8076 43.8882 14.3683L43.9386 14.4922C44.0768 14.4528 44.1216 14.3552 44.116 14.1975C44.607 14.1187 45.0961 13.931 45.5853 13.8146C46.0726 13.6982 46.2126 13.6869 46.1921 13.1989C45.6077 13.1857 45.0345 13.2083 44.4894 13.3566C44.0226 13.4842 43.6455 13.7958 43.2459 14.0342C42.9883 14.1881 42.6989 14.2989 42.4543 14.4735C42.1892 14.663 41.8233 14.7438 41.4816 14.8808C41.1978 14.9953 40.8188 15.2299 40.7628 15.5153C40.7199 15.7405 40.8244 15.9845 40.8151 16.2117C40.9701 16.3093 41.3397 16.2886 41.4835 16.1422V16.1403Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M42.1953 17.8597C42.354 17.8597 42.5425 17.8315 42.6994 17.8597C42.8693 17.8897 42.9197 17.9592 43.069 18.0587C43.5246 18.359 43.9708 17.9592 44.3162 17.6213C44.4487 17.4918 44.4375 17.5237 44.4581 17.3247C44.473 17.1651 44.4581 16.9943 44.4581 16.8348C44.4581 16.5645 44.389 16.1965 44.628 16.0201C44.9024 15.8192 45.358 15.9112 45.6828 15.8906C45.9031 15.8774 46.2691 15.8662 46.467 15.7423C46.635 15.6372 46.7377 15.3781 46.8926 15.2486C47.2642 14.9407 47.7645 14.6892 48.2481 14.6686C48.6906 14.6498 48.9501 14.6498 49.3067 14.3983C49.8052 14.0454 50.425 13.8126 50.8059 13.3208C50.916 13.1781 50.987 13.0355 51.0747 12.8872C51.1102 12.8271 51.3529 12.6075 51.3566 12.5981C51.3566 12.5887 51.3958 12.553 51.4014 12.5436C51.028 12.2471 50.2495 12.2771 49.7865 12.2733C49.3645 12.2696 49.0266 12.3916 48.614 12.4423C48.3993 12.4704 48.1099 12.4179 47.9251 12.5699C47.7851 12.6863 47.8261 12.8121 47.7477 12.9604C47.6768 13.0918 47.5498 13.1969 47.4714 13.332C47.3743 13.5029 47.3407 13.7131 47.2156 13.8651C47.0849 14.0209 46.8833 14.1148 46.7246 14.2274C46.4464 14.4227 46.1888 14.7249 45.8714 14.8488C45.5951 14.9558 45.2926 14.9576 45.0219 15.089C44.4506 15.3669 43.8177 15.4363 43.1904 15.5621L43.0672 15.6372C42.7983 15.6372 42.9906 15.6128 42.8189 15.793C42.6116 16.0088 42.6975 16.4293 42.6956 16.709C42.6919 17.0018 42.606 17.1032 42.3073 17.1595C42.1187 17.1971 41.7995 17.1314 41.6333 17.0525C41.4989 16.9887 41.4746 16.8911 41.3066 16.8836C41.0732 16.8742 40.5243 17.2515 40.5635 17.5368C40.6233 17.9967 41.8125 17.8559 42.1934 17.8559L42.1953 17.8597Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M92.0255 16.8329L91.8854 17.2064C91.7641 17.5912 91.5979 17.9272 92.0908 18.19C92.4119 18.3609 92.6864 18.5373 92.9888 18.7626C93.3361 19.0216 93.5433 19.2938 93.8607 19.5697C93.9615 19.658 94.1352 19.8494 94.2939 19.8982C94.4787 19.9545 94.6486 19.9114 94.8204 19.9996C94.9473 20.2605 95.0201 20.8218 94.615 20.5702C94.3331 20.3957 94.2491 20.0953 93.8981 20.4276C93.7954 20.5252 93.7562 20.6904 93.6591 20.8105C93.5788 20.9119 93.4892 20.9757 93.4014 21.0602C93.2409 21.216 92.8432 21.383 92.7947 21.6196C92.7667 21.6233 92.7387 21.6271 92.7125 21.6289C92.7125 21.8523 92.397 22.2202 92.2178 22.3272C92.1842 22.5544 92.0012 22.5656 91.975 22.7834C91.7529 22.9242 91.6017 22.8228 91.4019 23.0199C91.2936 23.1269 91.0864 23.4685 91.0528 23.5924C90.9837 23.8515 91.3179 24.2832 91.2301 24.4165C91.0789 24.6474 89.8709 24.6136 89.6264 24.6155C89.3183 24.6155 89.0196 24.6023 88.7153 24.576C88.6555 24.2945 88.9318 24.0523 89.1185 23.8815C89.0345 23.7895 89.0364 23.6919 89.0103 23.5887C89.4789 23.5305 89.8971 23.7726 90.2873 23.5098C90.5767 23.3146 90.7802 22.9992 90.6924 22.5919C90.586 22.102 89.7571 21.7641 89.3407 21.5614C89.0028 21.3962 88.6219 21.1766 88.2504 21.0827C87.7706 20.7129 86.951 20.5853 86.3535 20.3581C85.9278 20.1948 84.9906 20.1591 84.7684 19.6974C84.423 19.6636 84.0889 19.4721 83.7304 19.4177C83.3831 19.367 83.0228 19.3557 82.6569 19.3595C81.8821 19.367 81.3705 19.8963 81.0139 20.5252C80.6834 21.1033 80.3269 21.6139 80.1682 22.2841C80.0039 22.9748 79.735 23.6318 79.6155 24.3132C79.5147 24.8783 79.272 25.1185 78.8183 25.5146C78.6335 25.676 78.3926 25.8056 78.2246 25.9933C78.0342 26.2054 78.0211 26.4044 77.995 26.7047C77.9539 27.1796 77.952 27.7822 78.0921 28.2289C78.1779 28.5011 78.5345 29.2707 78.8818 29.3027C78.9938 29.5617 79.4718 29.5185 79.7219 29.5317C79.9217 29.5411 79.974 29.5861 80.1103 29.4754C80.198 29.404 80.2727 29.19 80.3735 29.0943C80.5882 28.8878 80.8384 28.824 81.1427 28.8672C81.3164 28.8934 81.701 29.0699 81.8261 29.19C82.0389 29.3928 82.0594 29.7719 82.2499 30.0235C82.4254 30.2506 82.9556 30.3614 82.9575 30.6579C83.3365 30.8194 83.5922 31.3938 83.3458 31.788C82.9967 31.8518 82.6905 32.0207 82.5187 32.353C82.1341 32.3643 81.8746 32.826 81.6468 33.0569C81.406 33.3047 81.0195 33.7421 80.6834 33.7909C80.62 33.9823 80.2708 34.1025 80.1121 34.2451C79.8881 34.4441 79.8526 34.6337 79.7201 34.859C79.496 35.2438 79.0293 35.73 78.6017 35.8858C78.4785 36.1861 78.079 36.4752 77.8251 36.7211C77.5936 36.9445 77.2538 37.3311 76.9439 37.4137C76.1709 37.624 75.3214 37.2129 74.5261 37.3236C74.4439 37.6559 74.8155 37.838 75.0246 38.052C75.3084 38.3429 75.4913 38.495 75.8461 38.6677C76.2792 38.8779 77.1996 39.2683 77.306 39.8315C77.4983 39.9516 77.4535 40.4265 77.4666 40.6612C77.4834 40.9934 77.5898 41.2487 77.2388 41.3707C77.2519 41.4346 77.2146 41.5265 77.222 41.5866C76.4603 41.6654 75.6706 41.6654 74.9163 41.78C74.1826 41.8907 73.447 41.6523 72.7207 41.7424C72.6385 42.4876 72.4406 43.2723 72.4406 44.0269C72.4406 44.5863 72.5732 45.0724 72.5993 45.6224C72.6255 46.2025 72.7039 46.4934 73.1034 46.8557C73.3648 47.0941 73.8558 47.6197 74.1844 47.6629C74.1956 47.6892 74.2012 47.7154 74.2012 47.7436C74.9014 47.9482 75.6482 47.8975 76.3408 47.7567C76.6694 47.6892 77.11 47.6535 77.4293 47.5427C77.7504 47.4301 78.0174 47.0378 78.3553 46.9777C78.5383 46.5591 78.9471 46.2419 79.1768 45.7933C79.2851 45.5811 79.427 45.3296 79.5184 45.0893C79.6137 44.8359 79.5782 44.5844 79.6547 44.3291C79.6827 44.3291 79.7107 44.3216 79.7369 44.3122C79.7499 44.1245 79.8937 43.8542 80.0748 43.7885C80.1215 43.6552 80.2503 43.5426 80.3418 43.4243C80.4613 43.2685 80.4762 43.2141 80.5509 43.0095C80.6741 42.6697 80.8328 42.5383 81.1707 42.3956C81.5441 42.238 81.8354 42.2286 82.2349 42.2286C82.6289 42.2286 82.7483 42.1385 83.0564 41.9376C83.609 41.5753 84.367 41.5528 85.0448 41.6298C85.2875 41.6561 85.7113 41.7462 85.8998 41.8963C86.1369 42.084 86.2527 42.3938 86.4767 42.6021C86.6728 42.7823 86.9248 42.9175 87.091 43.0583C87.3169 43.2516 87.5615 43.4224 87.7948 43.6158C88.0432 43.8223 88.3176 43.9893 88.5528 44.2259C88.6929 44.3648 88.9038 44.7233 89.1055 44.7608C89.1148 44.9748 89.4471 45.1119 89.548 45.2695C89.7066 45.5154 89.7328 45.7219 89.5984 45.981C89.3015 46.5535 88.846 46.27 88.3624 46.1781C88.2392 46.1555 87.7426 46.0692 87.6343 46.1574C87.455 46.302 87.5689 46.7975 87.6623 46.9158C87.8863 47.2049 88.2933 47.1823 88.6051 47.3137C88.8534 47.417 89.0476 47.5709 89.3333 47.5446C89.4975 47.0021 89.9998 46.3921 90.3676 45.9941C90.6271 45.7144 90.7186 45.6544 90.7596 45.2226C90.782 44.9936 90.9221 44.4023 90.6327 44.3197C90.6252 44.2916 90.6383 44.2559 90.6233 44.2296C90.3414 44.0963 89.6581 43.6683 89.4639 43.4318C89.1578 43.353 88.9636 43.1709 88.7097 43.0095C88.4875 42.8668 87.9909 42.7016 87.8453 42.4689C87.6025 42.3994 87.259 42.1441 87.1302 41.9545C86.9808 41.733 86.6653 41.2074 86.697 40.9709C86.8707 40.9446 87.1041 40.8883 87.2609 40.9634C87.4681 41.0629 87.5895 41.305 87.8116 41.4026C88.2691 41.6054 88.5379 41.8813 88.9655 42.1704C89.337 42.4238 89.8224 42.6115 90.2406 42.8837C90.5244 43.0695 91.0154 43.4375 91.0584 43.8166C91.2376 43.8861 91.428 44.4286 91.54 44.6032C91.7025 44.8566 91.8574 45.0687 92.0777 45.2714C92.2775 45.4554 92.58 45.5661 92.748 45.7745C92.8992 45.9622 92.9888 46.1612 93.1438 46.3489C93.4705 46.7431 93.562 47.0904 93.7132 47.5427C93.8551 47.5784 93.9335 47.6103 94.0586 47.6497C94.1221 47.8393 94.3573 47.8412 94.4077 48.1078C94.544 48.1134 94.6841 48.1115 94.8204 48.1078C94.8428 47.7229 94.7569 47.402 94.7251 47.0415C94.6841 46.5892 94.5683 46.4296 94.3051 46.0561C93.8701 45.4385 93.9074 44.1977 94.9865 44.4267C94.9977 44.4567 94.9865 44.4849 94.9959 44.5168C95.1938 44.6032 95.2274 44.8603 95.3132 45.0537C95.4141 45.2789 95.5578 45.5173 95.7165 45.7125C95.8864 45.9209 96.0768 46.1274 96.2878 46.3264C96.4465 46.4784 96.665 46.8032 96.8386 46.8557C97.1802 47.7661 97.8654 48.2654 98.8344 47.9445C99.2414 47.8074 99.6073 47.7136 100.074 47.7136C100.563 47.7136 101.034 47.7436 101.5 47.7192C101.609 47.9857 101.781 48.1847 101.835 48.4813C101.896 48.8248 101.984 49.1909 102.033 49.5494C102.12 50.1876 101.917 50.824 101.835 51.4115C101.777 51.8207 101.773 51.8902 101.403 52.0704C101.118 52.2074 100.791 52.2018 100.444 52.2018C99.7212 52.2018 99.0286 52.1042 98.3191 52.0366C97.0047 51.9108 95.9555 51.2951 94.7587 50.839C94.5011 50.7414 94.0157 50.5856 93.6983 50.6738C93.2278 50.8071 93.3977 51.1975 93.3361 51.5729C93.267 51.9859 93.0523 51.9822 92.6416 52.0047C92.186 52.0291 91.9452 51.8677 91.5587 51.6311C91.1778 51.3984 90.6999 51.0605 90.2798 50.9441C89.8915 50.8352 89.3893 50.8296 89.0065 50.7564C88.2261 50.6062 87.5596 50.3828 86.8296 50.1388C86.6168 49.9042 86.4543 49.602 86.4245 49.2716C86.3834 48.8248 86.5776 48.4794 86.557 48.0477C86.5178 47.1898 85.4686 47.3156 84.7964 47.3156C83.9806 47.3156 83.1666 47.3119 82.3581 47.3569C81.9437 47.3794 81.4676 47.3663 81.0699 47.4489C80.7451 47.5165 80.4277 47.6591 80.1084 47.7549C79.3485 47.982 78.6167 48.2617 77.8549 48.47C77.4498 48.5808 76.4752 48.9825 76.1989 48.4513C75.5996 48.4156 75.0003 48.425 74.7445 48.9975C74.7184 49.0069 74.6792 49.0013 74.6586 49.0144C74.4719 49.2659 74.2983 49.3992 74.1321 49.6921C73.9753 49.9661 73.8521 50.1276 73.6262 50.3828C73.2752 50.7827 72.7039 51.2951 72.5676 51.8339C72.4836 52.1661 72.6386 52.5622 72.5732 52.8982C72.5153 53.2042 72.2297 53.5439 71.9646 53.7241C71.6826 53.9175 71.3466 53.9456 71.046 54.1089C70.794 54.246 70.499 54.5088 70.2917 54.7021C69.9501 55.0175 69.9071 55.177 69.853 55.62C69.4833 55.7496 69.5113 56.232 69.3844 56.5248C69.3097 56.6956 69.1603 56.9115 69.0632 57.103C68.9867 57.2588 68.8766 57.4333 68.8019 57.591C68.7272 57.7468 68.5312 57.9946 68.533 58.1786C67.8646 58.7774 67.3344 59.6502 67.5192 60.6038C67.7283 60.8159 67.8012 61.334 67.8833 61.6513C67.9879 62.053 68.0084 62.4472 68.0084 62.9014C68.0084 63.397 67.9543 63.6429 67.6481 64.0071C67.3549 64.3562 67.3251 64.7335 67.312 65.1728C67.2933 65.7866 67.2187 66.4117 67.2803 67.0236C67.3344 67.5755 67.8273 67.9059 67.8814 68.4484C68.0607 68.5891 68.1615 68.7862 68.3463 68.942C68.533 69.1016 68.8168 69.2949 68.9139 69.5127C69.1902 69.6479 69.4049 69.9144 69.6551 70.1134C69.8885 70.2973 70.1218 70.547 70.3384 70.7554C70.7772 71.1758 71.2626 71.6076 71.7685 71.983C72.2017 72.304 72.6143 72.7263 73.068 73.0642C73.5851 73.4528 74.0593 73.7663 74.7333 73.8038C75.4857 73.8451 76.1485 73.9371 76.8934 73.9371C77.6384 73.9371 78.2974 73.7269 79.02 73.6386C79.7499 73.5485 80.325 73.267 80.9504 72.946C81.2361 72.7995 81.5628 72.6888 81.8615 72.6006C82.149 72.5142 82.5299 72.4448 82.8529 72.5067C83.1684 72.5668 83.4447 72.8465 83.6987 72.8784C83.7733 73.068 84.0478 73.1712 84.1729 73.3064C84.3334 73.4772 84.423 73.6405 84.6322 73.7813C84.9813 74.0197 85.4984 73.9709 85.9334 73.9709C86.4655 73.9709 86.6952 74.0516 87.0107 74.4796C87.2161 74.7574 87.2833 75.1347 87.2889 75.4745C87.2964 75.8668 87.0947 76.1258 87.0163 76.4994C86.9528 76.8035 86.923 77.1676 86.8651 77.4361C86.7251 78.0837 86.8128 78.8364 86.9472 79.4502C87.0966 80.1279 87.8303 80.4413 88.1066 81.0589C88.3848 81.6821 88.6723 82.1139 88.8348 82.7821C88.9804 83.3903 89.0364 84.006 89.0663 84.6349C89.0905 85.1774 89.2119 85.8644 88.9879 86.3656C88.7563 86.4332 88.5603 86.818 88.3979 87.0019C88.0301 87.4149 87.7631 87.8016 87.5148 88.2915C87.3673 88.5768 87.2011 88.8603 87.0891 89.1268C86.824 89.7482 86.8203 90.4802 86.8203 91.1598C86.8203 91.8393 87.1451 92.2391 87.2833 92.8511C87.5801 94.1557 87.4494 95.5785 87.4494 96.9057C87.4494 97.6378 87.5111 98.2366 87.6492 98.8954C87.7724 99.4773 87.7463 100.136 87.7463 100.758C87.7463 101.105 87.6791 101.379 87.6137 101.689C87.5727 101.886 87.4569 102.34 87.5708 102.535C87.8247 102.976 89.3538 102.888 89.7813 102.768C90.4759 102.571 91.2432 102.34 91.8836 102.096C92.5426 101.844 93.1289 101.463 93.7338 101.047C94.2509 100.692 94.8876 100.318 95.3524 99.9354C95.9331 99.4586 96.5585 98.8466 96.9189 98.139C97.2232 97.5439 97.4827 96.7949 97.9028 96.2919C98.3172 95.7963 98.9987 95.6743 99.3534 95.0811C99.71 94.486 99.7642 93.8234 99.8706 93.1552C99.977 92.4925 100.446 92.0965 100.644 91.4977C100.672 91.4977 100.7 91.4901 100.726 91.4789C100.834 91.1147 101.338 90.9458 101.65 90.728C101.906 90.5497 102.27 90.3413 102.462 90.103C102.876 89.9941 103.513 89.4478 103.814 89.1175C104.127 88.7739 104.357 88.2446 104.46 87.8091C104.719 86.7091 104.594 85.4157 104.551 84.2914C104.51 83.2064 104.406 81.9787 104.93 80.9857C105.242 80.3944 105.802 79.8726 106.217 79.3526C106.65 78.812 107.152 78.2019 107.581 77.7345C107.859 77.4342 108.162 77.2277 108.435 76.9011C108.772 76.4956 108.968 76.0676 109.202 75.6434C109.607 74.9057 110.173 74.1755 110.428 73.3815C110.727 73.2294 111.009 72.5443 111.097 72.2158C111.474 70.7929 111.888 69.1861 111.81 67.6975C111.405 67.6581 110.733 67.9716 110.587 68.3432C110.145 68.5272 109.443 69.1917 108.98 68.9796C108.554 68.7881 108.371 68.347 108.306 67.9077C108.229 67.3784 108.212 66.9823 107.824 66.5543C107.576 66.2803 107.288 66.0381 107.096 65.7566C106.745 65.2403 106.706 64.6603 106.491 64.1047C106.269 63.5246 105.899 62.9596 105.496 62.5054C105.087 62.0473 104.874 61.4955 104.641 60.9436C104.105 59.6822 103.629 58.631 103.037 57.469C102.757 56.919 102.455 56.3972 102.26 55.8491C102.173 55.5956 101.997 55.1451 102.425 55.1583C102.699 55.1658 102.985 55.4886 103.121 55.6895C103.44 56.1663 103.67 56.7463 103.948 57.2888C104.226 57.8351 104.525 58.4245 104.878 58.9726C105.223 59.5076 105.511 59.9618 105.77 60.5456C106.03 61.1275 106.435 61.6062 106.737 62.175C107.169 62.9859 107.589 63.7949 107.779 64.6828C107.953 65.49 108.136 66.5055 108.578 67.2226C109.557 67.4647 110.408 66.4004 111.061 65.8316C111.73 65.2516 112.105 64.1704 112.966 63.8644C113.05 63.596 113.438 63.2862 113.625 63.0629C113.912 62.7175 114.095 62.3383 114.357 62.0342C114.415 61.7076 114.653 61.4523 114.732 61.1482C114.808 60.8497 114.803 60.4781 114.816 60.1702C114.831 59.8755 114.857 59.5432 114.823 59.2485C114.792 58.9576 114.596 58.7267 114.513 58.4583C114.295 58.263 114.026 58.0791 113.802 57.82C113.653 57.6492 113.44 57.1086 113.276 57.0504C113.141 56.6356 112.805 56.66 112.477 56.8871C112.335 56.9828 111.722 57.9458 111.747 57.1762C111.569 57.0955 111.429 56.6206 111.295 56.4497C111.132 56.2414 110.929 55.9955 110.742 55.7834C110.395 55.3892 109.904 54.856 109.726 54.3699C109.708 54.3661 109.691 54.3624 109.672 54.3605C109.656 54.3342 109.669 54.3004 109.663 54.2723C109.635 54.2685 109.607 54.2648 109.579 54.2629C109.446 53.8612 109.605 53.6678 110.012 53.8349C110.384 53.9869 110.384 54.338 110.583 54.6083C110.968 55.1301 111.633 55.3253 111.954 55.8584C112.568 55.774 113.332 56.1926 113.572 56.6543C113.834 56.8758 114.125 57.0711 114.48 57.1724C114.84 57.2738 115.296 57.2588 115.718 57.2588C116.237 57.2588 116.401 57.3996 116.668 57.8275C117.099 58.5221 117.626 59.2354 117.99 59.9694C118.167 60.3316 118.262 60.6282 118.376 61.0112C118.61 61.7958 118.828 62.5673 119.02 63.4101C119.201 64.1967 119.433 64.9869 119.633 65.7922C119.788 66.4098 119.829 67.6356 120.436 67.9209L120.51 67.3972C120.51 45.8552 109.082 27.2547 92.0217 16.831L92.0255 16.8329ZM89.9363 28.4561C89.4901 28.6757 88.8721 28.702 88.3773 28.7376C88.228 29.4716 89.6861 29.5523 89.3407 30.2975C89.2978 30.3914 89.225 30.5453 89.1335 30.6204C89.0289 30.7049 88.8198 30.6767 88.7097 30.748C88.439 30.9226 88.4744 31.1742 88.4744 31.4914C88.4744 31.7767 88.5043 32.0095 88.3699 32.231C88.2168 32.4863 88.0861 32.6928 87.8658 32.8936C87.6604 33.0776 87.4625 33.2221 87.1713 33.2165C86.8389 33.2108 86.6056 33.0381 86.3012 32.9668C85.9671 32.8899 85.5918 32.9049 85.3117 33.0907C85.0317 33.2765 84.8319 33.316 84.4828 33.316C84.0982 33.316 82.6438 33.2484 83.0601 32.5632C83.23 32.2835 83.7864 32.1465 84.0665 32.0564C84.367 31.9588 84.6751 31.9231 84.9477 31.7523C85.5619 31.3694 85.9166 30.7274 85.7243 29.9803C85.6385 29.648 85.5638 29.3515 85.4928 29.0079C85.4462 28.7921 85.1474 28.5462 85.2016 28.3303L85.3995 28.3547C85.181 28.366 84.9047 27.9342 84.7479 27.7822C84.5649 27.602 84.4324 27.3411 84.2793 27.1552C84.199 27.0576 84.0758 26.9581 83.9843 26.8699C83.9152 26.8042 83.6968 26.6728 83.6706 26.6033C83.5474 26.2767 84.1486 26.0684 84.2812 25.8318C84.4865 25.4639 84.3614 25.2387 84.1411 24.9271C83.9899 24.7149 83.8051 24.2926 83.8891 24.0223C83.9619 23.7876 84.3185 23.5286 84.5052 23.3991C84.7927 23.2001 85.0821 23.0969 85.4574 23.1194C85.6385 23.1306 85.814 23.2095 85.9895 23.1982C86.3666 23.8027 85.7281 24.4728 85.5712 25.0134C85.4088 25.5766 85.5993 26.2242 85.7561 26.7366C86.0119 27.5682 86.7176 28.0975 87.6025 28.0074C88.0208 27.9643 88.4222 27.7559 88.8404 27.709C89.1839 27.6696 89.7141 27.6076 90.0558 27.6808C90.6794 27.8122 90.3246 28.2665 89.9363 28.4579V28.4561ZM102.996 43.9105C102.201 44.0081 101.31 43.9105 100.601 43.6383C100.235 43.4975 98.4741 42.8311 98.3378 43.5933C98.2687 43.9743 97.0047 43.4825 96.9375 43.9424C96.2374 43.7453 95.8659 42.7223 95.8099 42.069C95.7315 41.153 95.8435 40.5504 96.1534 39.7583C96.6593 39.441 96.7583 39.2627 97.3128 39.6963C97.8057 40.0811 97.8113 40.3195 97.8356 40.9259C98.1623 41.2037 99.9733 41.3069 99.738 40.5486C99.1779 40.5805 98.7709 39.8108 99.051 39.3378C99.1555 39.1632 99.7623 38.8666 99.9415 39.0224C100.16 39.2139 99.9826 39.7827 100.076 40.0361C100.451 41.0554 101.915 41.4571 102.617 42.2248C103.063 42.4726 102.988 43.4224 102.994 43.9124L102.996 43.9105ZM109.921 47.3757C109.773 47.7229 109.433 47.7567 109.011 47.6197C107.542 47.1392 107.292 45.1419 106.885 43.9293H106.829C106.653 43.2404 106.218 43.1972 105.718 42.8574C105.309 42.5815 105.137 42.0033 104.947 41.5115C104.588 40.5823 104.45 39.4204 105.522 38.9417C105.91 38.7672 106.493 38.7728 106.65 39.2496C106.829 39.7958 106.297 40.1206 106.209 40.5936C106.011 41.6673 107.09 42.4276 107.895 42.7429C108.044 42.8011 108.029 42.8011 108.132 42.9044C108.395 42.9137 109.052 43.1071 109.204 43.3079C109.43 43.6102 109.172 44.1433 108.802 44.2202C108.72 44.6858 109.263 44.8491 109.473 45.1607C109.65 45.4253 109.837 45.8383 109.909 46.133C109.969 46.3808 110.021 47.1392 109.923 47.3757H109.921Z\" fill=\"#EFF8FE\"></path>\n<g filter=\"url(#filter0_d_3002_2466)\">\n<path d=\"M9.11794 113.154C8.56809 113.168 8.13339 113.625 8.147 114.175C8.16061 114.724 8.61737 115.159 9.16722 115.145L9.11794 113.154ZM55.0217 52.2564L54.9426 53.2491L55.0217 52.2564ZM102.199 108.09L101.74 107.207L102.199 108.09ZM61.9469 86.8821L61.1592 86.2727L61.9469 86.8821ZM12.2875 114.909C12.8335 114.843 13.2226 114.347 13.1565 113.801C13.0904 113.255 12.5942 112.866 12.0481 112.932L12.2875 114.909ZM17.9016 111.829C17.3675 111.961 17.041 112.5 17.1724 113.034C17.3038 113.568 17.8433 113.895 18.3774 113.764L17.9016 111.829ZM24.2886 112.041C24.8103 111.867 25.0922 111.303 24.9182 110.781C24.7441 110.26 24.1801 109.978 23.6583 110.152L24.2886 112.041ZM29.2971 108.061C28.7877 108.268 28.5427 108.849 28.75 109.359C28.9574 109.868 29.5384 110.113 30.0479 109.906L29.2971 108.061ZM35.6622 107.427C36.1587 107.19 36.3695 106.596 36.1329 106.099C35.8964 105.603 35.3021 105.392 34.8055 105.629L35.6622 107.427ZM40.1659 102.885C39.6837 103.149 39.5074 103.755 39.772 104.237C40.0366 104.719 40.642 104.895 41.1242 104.631L40.1659 102.885ZM46.4145 101.517C46.8796 101.223 47.0186 100.608 46.725 100.143C46.4314 99.678 45.8163 99.5389 45.3512 99.8325L46.4145 101.517ZM50.3192 96.4544C49.8758 96.7799 49.7802 97.4032 50.1057 97.8465C50.4312 98.2899 51.0545 98.3854 51.4979 98.06L50.3192 96.4544ZM56.3102 94.2092C56.7237 93.8465 56.7649 93.2173 56.4023 92.8038C56.0396 92.3903 55.4104 92.3491 54.9969 92.7117L56.3102 94.2092ZM59.2583 88.5396C58.8896 88.9478 58.9217 89.5776 59.3299 89.9462C59.7381 90.3148 60.3678 90.2828 60.7365 89.8746L59.2583 88.5396ZM64.3129 85.2179C64.6034 84.7509 64.4603 84.1367 63.9933 83.8462C63.5263 83.5557 62.9122 83.6987 62.6217 84.1657L64.3129 85.2179ZM64.9183 79.5615C64.7181 80.0738 64.9712 80.6514 65.4835 80.8515C65.9958 81.0517 66.5734 80.7986 66.7735 80.2863L64.9183 79.5615ZM68.3248 75.0081C68.4339 74.469 68.0853 73.9436 67.5462 73.8345C67.0071 73.7254 66.4817 74.074 66.3726 74.6131L68.3248 75.0081ZM66.9406 69.4976C66.9307 70.0475 67.3685 70.5014 67.9184 70.5113C68.4683 70.5212 68.9222 70.0835 68.9321 69.5335L66.9406 69.4976ZM68.4545 64.0135C68.3457 63.4743 67.8205 63.1255 67.2813 63.2342C66.7422 63.343 66.3933 63.8683 66.5021 64.4074L68.4545 64.0135ZM64.8418 59.6605C65.1012 60.1455 65.7046 60.3285 66.1896 60.0691C66.6747 59.8098 66.8576 59.2064 66.5983 58.7213L64.8418 59.6605ZM63.0114 54.3022C62.5848 53.955 61.9575 54.0194 61.6103 54.4459C61.2631 54.8725 61.3275 55.4998 61.7541 55.847L63.0114 54.3022ZM57.3981 53.6591C57.93 53.799 58.4746 53.4812 58.6146 52.9493C58.7545 52.4173 58.4367 51.8727 57.9048 51.7328L57.3981 53.6591ZM51.9471 51.2552C51.3989 51.301 50.9917 51.7823 51.0374 52.3305C51.0831 52.8786 51.5645 53.2858 52.1126 53.2401L51.9471 51.2552ZM46.9961 54.9626C47.4437 54.6429 47.5474 54.021 47.2278 53.5734C46.9082 53.1257 46.2863 53.022 45.8386 53.3416L46.9961 54.9626ZM42.0091 58.549C41.8214 59.066 42.0884 59.6373 42.6054 59.8249C43.1224 60.0126 43.6936 59.7456 43.8813 59.2286L42.0091 58.549ZM43.0292 64.7619C43.0274 64.2119 42.5801 63.7675 42.0301 63.7692C41.4801 63.771 41.0356 64.2184 41.0374 64.7684L43.0292 64.7619ZM41.7227 70.9049C41.8342 71.4435 42.3612 71.7897 42.8998 71.6782C43.4384 71.5667 43.7846 71.0397 43.6731 70.5011L41.7227 70.9049ZM45.2659 76.1189C45.0817 75.6006 44.5122 75.3298 43.994 75.514C43.4758 75.6982 43.205 76.2677 43.3892 76.7859L45.2659 76.1189ZM45.7489 82.4043C45.9885 82.8993 46.5841 83.1065 47.0792 82.8669C47.5743 82.6273 47.7814 82.0317 47.5418 81.5366L45.7489 82.4043ZM50.3628 86.7041C50.0765 86.2345 49.4637 86.0858 48.9941 86.3721C48.5244 86.6584 48.3758 87.2712 48.6621 87.7408L50.3628 86.7041ZM52.0588 92.7711C52.3875 93.2122 53.0114 93.3033 53.4524 92.9747C53.8935 92.6461 53.9846 92.0221 53.656 91.5811L52.0588 92.7711ZM57.3929 96.1303C57.0237 95.7226 56.3939 95.6913 55.9862 96.0605C55.5785 96.4297 55.5473 97.0595 55.9164 97.4672L57.3929 96.1303ZM60.2222 101.763C60.6313 102.13 61.261 102.097 61.6285 101.687C61.9961 101.278 61.9623 100.649 61.5531 100.281L60.2222 101.763ZM66.1281 103.945C65.6792 103.627 65.0576 103.733 64.7398 104.182C64.422 104.631 64.5283 105.253 64.9772 105.57L66.1281 103.945ZM70.1845 108.77C70.6717 109.025 71.2736 108.837 71.5288 108.35C71.7841 107.862 71.596 107.26 71.1088 107.005L70.1845 108.77ZM76.4521 109.309C75.9313 109.132 75.3656 109.411 75.1886 109.931C75.0115 110.452 75.2901 111.018 75.8108 111.195L76.4521 109.309ZM81.7797 112.664C82.3234 112.747 82.8316 112.374 82.9147 111.83C82.9979 111.286 82.6246 110.778 82.0809 110.695L81.7797 112.664ZM87.8463 111.028C87.2967 111.048 86.868 111.511 86.8888 112.06C86.9096 112.61 87.372 113.039 87.9216 113.018L87.8463 111.028ZM94.0345 112.198C94.5704 112.074 94.9042 111.539 94.7802 111.003C94.6561 110.467 94.1212 110.133 93.5853 110.257L94.0345 112.198ZM99.079 108.462C98.5725 108.676 98.3359 109.261 98.5504 109.767C98.765 110.274 99.3494 110.51 99.8559 110.296L99.079 108.462ZM105.301 107.519C105.776 107.242 105.937 106.633 105.66 106.157C105.383 105.682 104.773 105.521 104.298 105.798L105.301 107.519ZM109.121 102.647C108.677 102.972 108.581 103.595 108.906 104.039C109.231 104.483 109.854 104.579 110.298 104.254L109.121 102.647ZM114.94 100.421C115.343 100.046 115.365 99.4162 114.99 99.0138C114.615 98.6115 113.984 98.5894 113.582 98.9645L114.94 100.421ZM117.521 94.7904C117.171 95.2145 117.23 95.8422 117.655 96.1924C118.079 96.5426 118.706 96.4827 119.057 96.0586L117.521 94.7904ZM122.564 91.1483C122.851 90.6791 122.703 90.0661 122.234 89.7792C121.765 89.4923 121.152 89.6401 120.865 90.1094L122.564 91.1483ZM123.486 85.0111C123.272 85.5177 123.509 86.102 124.015 86.3163C124.522 86.5305 125.106 86.2936 125.32 85.787L123.486 85.0111ZM127.243 80.0718C127.378 79.5387 127.056 78.9968 126.523 78.8614C125.989 78.7261 125.448 79.0485 125.312 79.5816L127.243 80.0718ZM126.301 73.9324C126.247 74.4798 126.647 74.9673 127.194 75.0213C127.741 75.0752 128.229 74.6753 128.283 74.1279L126.301 73.9324ZM128.433 68.1019C128.407 67.5525 127.94 67.1283 127.391 67.1544C126.842 67.1805 126.417 67.6471 126.444 68.1965L128.433 68.1019ZM125.768 62.4917C125.87 63.0321 126.391 63.3873 126.932 63.2849C127.472 63.1826 127.827 62.6615 127.725 62.1211L125.768 62.4917ZM126.211 56.2956C126.038 55.7736 125.474 55.4908 124.952 55.664C124.43 55.8371 124.147 56.4007 124.32 56.9228L126.211 56.2956ZM122.162 51.5858C122.4 52.0817 122.995 52.2908 123.491 52.0529C123.987 51.815 124.196 51.2201 123.958 50.7242L122.162 51.5858ZM121.033 45.4793C120.737 45.016 120.121 44.8807 119.658 45.1772C119.194 45.4736 119.059 46.0895 119.356 46.5528L121.033 45.4793ZM115.963 41.8843C116.312 42.3095 116.939 42.3714 117.364 42.0226C117.79 41.6738 117.852 41.0462 117.503 40.621L115.963 41.8843ZM113.439 36.2102C113.044 35.8276 112.413 35.8377 112.031 36.2328C111.648 36.6279 111.658 37.2584 112.053 37.641L113.439 36.2102ZM107.687 33.8632C108.123 34.1994 108.748 34.1192 109.084 33.6839C109.42 33.2486 109.34 32.6232 108.905 32.287L107.687 33.8632ZM103.965 28.8856C103.495 28.5988 102.882 28.7467 102.595 29.216C102.309 29.6853 102.457 30.2983 102.926 30.5851L103.965 28.8856ZM97.8449 27.8407C98.342 28.0762 98.9358 27.8641 99.1712 27.367C99.4067 26.8699 99.1946 26.2761 98.6975 26.0407L97.8449 27.8407ZM93.1547 23.7595C92.636 23.5765 92.0672 23.8487 91.8843 24.3674C91.7013 24.8861 91.9735 25.4549 92.4922 25.6378L93.1547 23.7595ZM86.9506 23.9904C87.4849 24.1209 88.0238 23.7935 88.1543 23.2592C88.2848 22.7249 87.9575 22.186 87.4231 22.0555L86.9506 23.9904ZM9.14258 114.15L9.16722 115.145C10.1558 115.121 11.1992 115.041 12.2875 114.909L12.1678 113.92L12.0481 112.932C11.0138 113.057 10.0345 113.132 9.11794 113.154L9.14258 114.15ZM18.1395 112.797L18.3774 113.764C20.2783 113.296 22.2597 112.718 24.2886 112.041L23.9735 111.096L23.6583 110.152C21.675 110.813 19.7453 111.376 17.9016 111.829L18.1395 112.797ZM29.6725 108.983L30.0479 109.906C31.9112 109.148 33.7903 108.319 35.6622 107.427L35.2338 106.528L34.8055 105.629C32.9681 106.504 31.1243 107.317 29.2971 108.061L29.6725 108.983ZM40.6451 103.758L41.1242 104.631C42.9224 103.644 44.6931 102.603 46.4145 101.517L45.8829 100.675L45.3512 99.8325C43.6657 100.897 41.9302 101.916 40.1659 102.885L40.6451 103.758ZM50.9085 97.2572L51.4979 98.06C53.1889 96.8185 54.8018 95.5321 56.3102 94.2092L55.6535 93.4605L54.9969 92.7117C53.536 93.993 51.9686 95.2435 50.3192 96.4544L50.9085 97.2572ZM59.9974 89.2071L60.7365 89.8746C61.4454 89.0896 62.1131 88.2947 62.7345 87.4915L61.9469 86.8821L61.1592 86.2727C60.571 87.033 59.9361 87.7891 59.2583 88.5396L59.9974 89.2071ZM61.9469 86.8821L62.7345 87.4915C63.2979 86.7633 63.8242 86.0033 64.3129 85.2179L63.4673 84.6918L62.6217 84.1657C62.1674 84.8959 61.6796 85.6 61.1592 86.2727L61.9469 86.8821ZM65.8459 79.9239L66.7735 80.2863C67.4444 78.5689 67.9635 76.7941 68.3248 75.0081L67.3487 74.8106L66.3726 74.6131C66.0338 76.2879 65.5469 77.9523 64.9183 79.5615L65.8459 79.9239ZM67.9364 69.5156L68.9321 69.5335C68.9663 67.6399 68.811 65.7803 68.4545 64.0135L67.4783 64.2105L66.5021 64.4074C66.8274 66.0201 66.9725 67.7347 66.9406 69.4976L67.9364 69.5156ZM65.7201 59.1909L66.5983 58.7213C65.6878 57.0185 64.4981 55.5122 63.0114 54.3022L62.3827 55.0746L61.7541 55.847C63.0137 56.8722 64.0416 58.164 64.8418 59.6605L65.7201 59.1909ZM57.6514 52.6959L57.9048 51.7328C57.0208 51.5003 56.086 51.3421 55.1008 51.2636L55.0217 52.2564L54.9426 53.2491C55.8158 53.3187 56.6336 53.458 57.3981 53.6591L57.6514 52.6959ZM55.0217 52.2564L55.1008 51.2636C53.9845 51.1747 52.9334 51.173 51.9471 51.2552L52.0298 52.2477L52.1126 53.2401C52.9802 53.1677 53.9224 53.1678 54.9426 53.2491L55.0217 52.2564ZM46.4174 54.1521L45.8386 53.3416C44.0361 54.6287 42.7807 56.4233 42.0091 58.549L42.9452 58.8888L43.8813 59.2286C44.5363 57.4243 45.5681 55.9822 46.9961 54.9626L46.4174 54.1521ZM42.0333 64.7651L41.0374 64.7684C41.0438 66.705 41.2803 68.7681 41.7227 70.9049L42.6979 70.703L43.6731 70.5011C43.2531 68.4726 43.035 66.5439 43.0292 64.7619L42.0333 64.7651ZM44.3275 76.4524L43.3892 76.7859C44.0488 78.6417 44.8389 80.5239 45.7489 82.4043L46.6454 81.9704L47.5418 81.5366C46.6616 79.718 45.9 77.9026 45.2659 76.1189L44.3275 76.4524ZM49.5124 87.2225L48.6621 87.7408C49.7025 89.4476 50.8373 91.1318 52.0588 92.7711L52.8574 92.1761L53.656 91.5811C52.4717 89.9917 51.3714 88.3587 50.3628 86.7041L49.5124 87.2225ZM56.6546 96.7987L55.9164 97.4672C57.2768 98.9695 58.7144 100.409 60.2222 101.763L60.8876 101.022L61.5531 100.281C60.0988 98.9747 58.7095 97.5843 57.3929 96.1303L56.6546 96.7987ZM65.5526 104.758L64.9772 105.57C66.649 106.754 68.3873 107.828 70.1845 108.77L70.6467 107.887L71.1088 107.005C69.3954 106.108 67.7326 105.081 66.1281 103.945L65.5526 104.758ZM76.1314 110.252L75.8108 111.195C77.7503 111.854 79.7428 112.352 81.7797 112.664L81.9303 111.679L82.0809 110.695C80.1659 110.402 78.2871 109.933 76.4521 109.309L76.1314 110.252ZM87.8839 112.023L87.9216 113.018C89.9327 112.942 91.973 112.675 94.0345 112.198L93.8099 111.228L93.5853 110.257C91.6469 110.706 89.7318 110.956 87.8463 111.028L87.8839 112.023ZM99.4674 109.379L99.8559 110.296C100.788 109.901 101.723 109.461 102.659 108.974L102.199 108.09L101.74 107.207C100.849 107.67 99.9621 108.088 99.079 108.462L99.4674 109.379ZM102.199 108.09L102.659 108.974C103.565 108.503 104.445 108.018 105.301 107.519L104.799 106.659L104.298 105.798C103.471 106.28 102.618 106.75 101.74 107.207L102.199 108.09ZM109.709 103.451L110.298 104.254C111.965 103.033 113.512 101.753 114.94 100.421L114.261 99.6929L113.582 98.9645C112.213 100.241 110.727 101.471 109.121 102.647L109.709 103.451ZM118.289 95.4245L119.057 96.0586C120.367 94.4716 121.535 92.8314 122.564 91.1483L121.714 90.6289L120.865 90.1094C119.885 91.7114 118.772 93.2751 117.521 94.7904L118.289 95.4245ZM124.403 85.3991L125.32 85.787C126.113 83.913 126.752 82.0037 127.243 80.0718L126.277 79.8267L125.312 79.5816C124.846 81.4167 124.239 83.2305 123.486 85.0111L124.403 85.3991ZM127.292 74.0302L128.283 74.1279C128.48 72.1241 128.529 70.111 128.433 68.1019L127.438 68.1492L126.444 68.1965C126.535 70.1107 126.489 72.0269 126.301 73.9324L127.292 74.0302ZM126.746 62.3064L127.725 62.1211C127.353 60.1581 126.846 58.212 126.211 56.2956L125.266 56.6092L124.32 56.9228C124.929 58.7568 125.413 60.6172 125.768 62.4917L126.746 62.3064ZM123.06 51.155L123.958 50.7242C123.098 48.9325 122.122 47.1804 121.033 45.4793L120.194 46.016L119.356 46.5528C120.401 48.1864 121.338 49.8678 122.162 51.5858L123.06 51.155ZM116.733 41.2527L117.503 40.621C116.246 39.0895 114.89 37.6158 113.439 36.2102L112.746 36.9256L112.053 37.641C113.45 38.9939 114.755 40.4117 115.963 41.8843L116.733 41.2527ZM108.296 33.0751L108.905 32.287C107.34 31.0785 105.692 29.9417 103.965 28.8856L103.445 29.7354L102.926 30.5851C104.592 31.6034 106.18 32.699 107.687 33.8632L108.296 33.0751ZM98.2712 26.9407L98.6975 26.0407C96.9171 25.1973 95.0684 24.4343 93.1547 23.7595L92.8234 24.6987L92.4922 25.6378C94.3413 26.2899 96.1265 27.0268 97.8449 27.8407L98.2712 26.9407ZM87.1869 23.0229L87.4231 22.0555C86.4588 21.8199 85.4806 21.6058 84.4889 21.4139L84.2997 22.3917L84.1105 23.3694C85.0707 23.5552 86.0175 23.7625 86.9506 23.9904L87.1869 23.0229Z\" fill=\"#2654B5\"></path>\n</g>\n<g filter=\"url(#filter1_d_3002_2466)\">\n<path d=\"M61.5128 17.8856C61.7819 16.4624 63.167 15.9872 64.0513 16.1544L70.4554 17.3654L78.8783 7.90257L81.7246 8.44079L76.0592 18.425L83.2643 19.7875L85.3602 16.4986L88.2066 17.0368L85.7068 22.4604L86.0537 28.4223L83.2073 27.8841L82.4567 24.057L75.2521 22.6946L76.8806 34.0581L74.0343 33.5199L69.6483 21.635L63.2439 20.424C62.3597 20.2568 61.2437 19.3087 61.5128 17.8856Z\" fill=\"#2654B5\"></path>\n</g>\n<defs>\n<filter id=\"filter0_d_3002_2466\" x=\"8.14648\" y=\"21.4139\" width=\"120.334\" height=\"95.7236\" filterUnits=\"userSpaceOnUse\" colorInterpolationFilters=\"sRGB\">\n<feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\"></feFlood>\n<feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"></feColorMatrix>\n<feOffset dy=\"1.99177\"></feOffset>\n<feComposite in2=\"hardAlpha\" operator=\"out\"></feComposite>\n<feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0.286275 0 0 0 0 0.47451 0 0 0 0.25 0\"></feColorMatrix>\n<feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_3002_2466\"></feBlend>\n<feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_3002_2466\" result=\"shape\"></feBlend>\n</filter>\n<filter id=\"filter1_d_3002_2466\" x=\"61.4722\" y=\"7.90259\" width=\"26.7344\" height=\"28.1473\" filterUnits=\"userSpaceOnUse\" colorInterpolationFilters=\"sRGB\">\n<feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\"></feFlood>\n<feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"></feColorMatrix>\n<feOffset dy=\"1.99177\"></feOffset>\n<feComposite in2=\"hardAlpha\" operator=\"out\"></feComposite>\n<feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0.286275 0 0 0 0 0.47451 0 0 0 0.25 0\"></feColorMatrix>\n<feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_3002_2466\"></feBlend>\n<feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_3002_2466\" result=\"shape\"></feBlend>\n</filter>\n</defs>\n</svg> : <><svg width=\"120\" height=\"120\" viewBox=\"0 0 120 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M86.1027 119.91C76.6693 119.91 67.2301 120.146 57.8082 119.853C43.3562 119.404 30.7352 114.097 19.9365 104.489C12.5094 97.8792 7.14595 89.8379 3.73417 80.5229C0.170052 70.7996 -0.948047 60.7371 0.836887 50.5481C4.24867 31.0585 14.8289 16.4822 32.1149 6.96595C42.4192 1.29644 53.6088 -0.707434 65.3446 0.215441C79.2015 1.30507 90.9228 7.07232 101.083 16.3241C110.255 24.676 116.231 35.0633 118.266 47.147C119.726 55.8266 119.571 64.7995 119.855 73.6516C120.1 81.2589 119.962 88.8805 119.956 96.4964C119.953 102.54 119.965 108.586 119.83 114.629C119.766 117.495 117.047 119.905 114.167 119.91C104.814 119.925 95.4613 119.916 86.1055 119.913L86.1027 119.91Z\" fill=\"#FF9A40\"></path>\n<path d=\"M53.5835 91.2785C40.3849 76.6569 39.5784 51.4049 54.5 49.5C78 46.5 72.4188 72.9105 65 82.5C62.4693 85.7711 58.3899 88.7219 53.5835 91.2785Z\" fill=\"#FF9A40\"></path>\n<path d=\"M54.5 49.5L54.6899 50.9879L54.5 49.5ZM88 99.5L87.5232 98.0778L88 99.5ZM16.3345 100.419C15.5063 100.439 14.8515 101.127 14.872 101.955C14.8925 102.784 15.5805 103.438 16.4087 103.418L16.3345 100.419ZM65 82.5L63.8136 81.5821L65 82.5ZM52.7991 87.9813C52.298 87.3216 51.3569 87.1931 50.6973 87.6943C50.0376 88.1954 49.9091 89.1364 50.4103 89.7961L52.7991 87.9813ZM46.9375 84.3775C47.329 85.1075 48.2383 85.3819 48.9683 84.9904C49.6984 84.5988 49.9728 83.6896 49.5812 82.9595L46.9375 84.3775ZM47.1588 77.4943C46.8806 76.714 46.0225 76.3069 45.2421 76.5851C44.4618 76.8633 44.0548 77.7214 44.333 78.5018L47.1588 77.4943ZM42.6424 72.2963C42.7966 73.1102 43.5815 73.645 44.3954 73.4908C45.2094 73.3365 45.7441 72.5517 45.5899 71.7377L42.6424 72.2963ZM44.9972 65.8396C44.9922 65.0112 44.3167 64.3436 43.4883 64.3485C42.6599 64.3535 41.9923 65.029 41.9972 65.8574L44.9972 65.8396ZM42.717 59.3384C42.5192 60.1429 43.0111 60.9554 43.8156 61.1531C44.6201 61.3509 45.4325 60.859 45.6303 60.0545L42.717 59.3384ZM47.902 54.948C48.3911 54.2794 48.2455 53.3409 47.5769 52.8518C46.9082 52.3627 45.9697 52.5083 45.4806 53.1769L47.902 54.948ZM50.9353 48.8804C50.1672 49.1908 49.7963 50.0652 50.1068 50.8332C50.4172 51.6013 51.2916 51.9722 52.0596 51.6617L50.9353 48.8804ZM57.4375 50.7712C58.2657 50.7503 58.92 50.0619 58.899 49.2337C58.8781 48.4056 58.1897 47.7512 57.3615 47.7722L57.4375 50.7712ZM63.5409 48.5135C62.748 48.2736 61.9107 48.7219 61.6708 49.5148C61.4309 50.3078 61.8792 51.145 62.6721 51.385L63.5409 48.5135ZM66.9124 53.9174C67.4827 54.5182 68.4321 54.543 69.033 53.9727C69.6338 53.4024 69.6586 52.453 69.0883 51.8521L66.9124 53.9174ZM72.1939 57.4924C71.9683 56.6953 71.1392 56.2321 70.3421 56.4577C69.545 56.6833 69.0817 57.5124 69.3073 58.3095L72.1939 57.4924ZM69.9154 63.5937C69.8996 64.422 70.5583 65.1062 71.3866 65.122C72.2148 65.1378 72.8991 64.4792 72.9149 63.6509L69.9154 63.5937ZM72.1944 69.6658C72.3665 68.8554 71.8491 68.059 71.0387 67.8869C70.2284 67.7148 69.4319 68.2322 69.2598 69.0425L72.1944 69.6658ZM67.6885 74.3615C67.3942 75.1359 67.7834 76.0023 68.5578 76.2966C69.3322 76.5909 70.1985 76.2017 70.4928 75.4273L67.6885 74.3615ZM67.8993 80.8729C68.3211 80.1598 68.0849 79.2399 67.3719 78.8182C66.6589 78.3964 65.739 78.6326 65.3172 79.3456L67.8993 80.8729ZM61.5212 84.0587C60.9137 84.6219 60.8777 85.5709 61.4408 86.1785C62.004 86.7861 62.9531 86.822 63.5606 86.2589L61.5212 84.0587ZM57.518 90.7566C58.2233 90.3222 58.4429 89.3981 58.0084 88.6928C57.5739 87.9874 56.6499 87.7679 55.9446 88.2024L57.518 90.7566ZM54.7696 94.6118C55.3781 95.174 56.3271 95.1364 56.8893 94.5279C57.4514 93.9194 57.4138 92.9704 56.8053 92.4082L54.7696 94.6118ZM61.561 96.0139C60.8539 95.5825 59.9308 95.806 59.4993 96.5132C59.0678 97.2204 59.2913 98.1434 59.9985 98.5749L61.561 96.0139ZM65.9525 101.386C66.7355 101.657 67.5896 101.241 67.8601 100.458C68.1307 99.6753 67.7152 98.8212 66.9322 98.5507L65.9525 101.386ZM72.7234 99.8674C71.9005 99.7715 71.1557 100.361 71.0598 101.184C70.9639 102.007 71.5532 102.751 72.3761 102.847L72.7234 99.8674ZM78.9361 102.943C79.7617 102.875 80.3757 102.151 80.3074 101.325C80.2391 100.499 79.5145 99.8854 78.6889 99.9537L78.9361 102.943ZM84.6175 98.9383C83.8151 99.1442 83.3314 99.9616 83.5372 100.764C83.7431 101.566 84.5605 102.05 85.3629 101.844L84.6175 98.9383ZM91.5059 99.8048C92.2739 99.4941 92.6446 98.6197 92.3339 97.8517C92.0233 97.0837 91.1489 96.713 90.3809 97.0237L91.5059 99.8048ZM95.793 94.3895C95.0768 94.8059 94.8338 95.7241 95.2502 96.4402C95.6666 97.1564 96.5847 97.3994 97.3009 96.983L95.793 94.3895ZM102.607 93.2692C103.241 92.7356 103.322 91.7894 102.789 91.1556C102.255 90.5219 101.309 90.4407 100.675 90.9742L102.607 93.2692ZM104.8 86.7355C104.287 87.3858 104.398 88.329 105.049 88.8422C105.699 89.3553 106.642 89.2441 107.156 88.5937L104.8 86.7355ZM110.623 83.0369C110.98 82.2895 110.664 81.3939 109.917 81.0365C109.17 80.679 108.274 80.9951 107.917 81.7424L110.623 83.0369ZM109.847 76.1831C109.663 76.9909 110.169 77.7949 110.977 77.9789C111.784 78.1629 112.588 77.6573 112.772 76.8496L109.847 76.1831ZM113.548 70.3645C113.563 69.5362 112.903 68.8531 112.075 68.8386C111.246 68.8242 110.563 69.4839 110.549 70.3122L113.548 70.3645ZM110.092 64.3814C110.23 65.1983 111.004 65.7487 111.821 65.6109C112.638 65.4731 113.188 64.6991 113.051 63.8823L110.092 64.3814ZM111.445 57.6134C111.176 56.8301 110.322 56.4135 109.539 56.6831C108.755 56.9526 108.339 57.8062 108.608 58.5895L111.445 57.6134ZM106.231 53.0762C106.614 53.8108 107.52 54.0959 108.255 53.7129C108.99 53.33 109.275 52.424 108.892 51.6894L106.231 53.0762ZM105.522 46.204C105.04 45.5298 104.104 45.3736 103.429 45.855C102.755 46.3364 102.599 47.2732 103.08 47.9474L105.522 46.204ZM99.2542 43.2909C99.822 43.8942 100.771 43.923 101.375 43.3552C101.978 42.7874 102.007 41.8381 101.439 41.2349L99.2542 43.2909ZM96.7281 36.858C96.0848 36.3361 95.1401 36.4346 94.6183 37.078C94.0964 37.7214 94.1949 38.666 94.8382 39.1879L96.7281 36.858ZM89.9129 35.7185C90.6212 36.1482 91.5437 35.9223 91.9734 35.2141C92.4031 34.5058 92.1773 33.5833 91.469 33.1536L89.9129 35.7185ZM85.7466 30.2046C84.9854 29.8775 84.1033 30.2295 83.7763 30.9906C83.4493 31.7518 83.8012 32.6339 84.5623 32.9609L85.7466 30.2046ZM78.8805 30.9851C79.6804 31.2006 80.5035 30.7268 80.719 29.9269C80.9345 29.127 80.4607 28.3038 79.6608 28.0884L78.8805 30.9851ZM19.7654 103.183C20.5891 103.094 21.1854 102.355 21.0972 101.531C21.009 100.708 20.2698 100.111 19.446 100.2L19.7654 103.183ZM25.7334 99.221C24.9205 99.3804 24.3906 100.169 24.55 100.982C24.7094 101.795 25.4976 102.324 26.3106 102.165L25.7334 99.221ZM32.7282 100.699C33.5301 100.491 34.0116 99.6726 33.8037 98.8707C33.5958 98.0688 32.7771 97.5872 31.9752 97.7952L32.7282 100.699ZM38.1335 96.0153C37.3443 96.2673 36.9089 97.1114 37.1609 97.9005C37.4129 98.6897 38.2569 99.1252 39.0461 98.8731L38.1335 96.0153ZM45.2553 96.6878C46.028 96.3888 46.412 95.5202 46.113 94.7476C45.8141 93.9749 44.9455 93.5909 44.1729 93.8899L45.2553 96.6878ZM50.0408 91.3787C49.2922 91.7337 48.9732 92.6283 49.3282 93.3768C49.6832 94.1253 50.5777 94.4443 51.3262 94.0893L50.0408 91.3787ZM53.5835 91.2785L54.697 90.2734C54.0321 89.5369 53.3993 88.7713 52.7991 87.9813L51.6047 88.8887L50.4103 89.7961C51.0601 90.6515 51.7468 91.4824 52.47 92.2836L53.5835 91.2785ZM48.2594 83.6685L49.5812 82.9595C48.6286 81.1833 47.8196 79.3477 47.1588 77.4943L45.7459 77.998L44.333 78.5018C45.0432 80.4937 45.9127 82.4667 46.9375 84.3775L48.2594 83.6685ZM44.1161 72.017L45.5899 71.7377C45.2065 69.7146 45.0084 67.7303 44.9972 65.8396L43.4972 65.8485L41.9972 65.8574C42.0096 67.943 42.2278 70.1085 42.6424 72.2963L44.1161 72.017ZM44.1736 59.6965L45.6303 60.0545C46.1189 58.0668 46.8827 56.3417 47.902 54.948L46.6913 54.0625L45.4806 53.1769C44.1883 54.9438 43.2806 57.0455 42.717 59.3384L44.1736 59.6965ZM51.4974 50.271L52.0596 51.6617C52.8532 51.3409 53.728 51.1107 54.6899 50.9879L54.5 49.5L54.3101 48.012C53.1054 48.1658 51.9793 48.4583 50.9353 48.8804L51.4974 50.271ZM54.5 49.5L54.6899 50.9879C55.6644 50.8635 56.5793 50.793 57.4375 50.7712L57.3995 49.2717L57.3615 47.7722C56.3935 47.7967 55.3768 47.8759 54.3101 48.012L54.5 49.5ZM63.1065 49.9493L62.6721 51.385C64.4849 51.9335 65.8658 52.8147 66.9124 53.9174L68.0003 52.8847L69.0883 51.8521C67.6639 50.3514 65.8242 49.2044 63.5409 48.5135L63.1065 49.9493ZM70.7506 57.901L69.3073 58.3095C69.7604 59.91 69.9516 61.6995 69.9154 63.5937L71.4152 63.6223L72.9149 63.6509C72.9554 61.5289 72.744 59.4357 72.1939 57.4924L70.7506 57.901ZM70.7271 69.3542L69.2598 69.0425C68.8731 70.8635 68.3337 72.664 67.6885 74.3615L69.0907 74.8944L70.4928 75.4273C71.1899 73.5933 71.774 71.645 72.1944 69.6658L70.7271 69.3542ZM66.6083 80.1092L65.3172 79.3456C64.8258 80.1764 64.3204 80.927 63.8136 81.5821L65 82.5L66.1864 83.4178C66.7794 82.6514 67.3535 81.7956 67.8993 80.8729L66.6083 80.1092ZM65 82.5L63.8136 81.5821C63.1662 82.4189 62.3986 83.2455 61.5212 84.0587L62.5409 85.1588L63.5606 86.2589C64.5396 85.3515 65.4231 84.4044 66.1864 83.4178L65 82.5ZM56.7313 89.4795L55.9446 88.2024C54.9685 88.8036 53.9438 89.3879 52.8791 89.9542L53.5835 91.2785L54.2879 92.6028C55.4029 92.0098 56.483 91.3942 57.518 90.7566L56.7313 89.4795ZM53.5835 91.2785L52.47 92.2836C53.1994 93.0916 53.9661 93.8695 54.7696 94.6118L55.7874 93.51L56.8053 92.4082C56.0705 91.7294 55.3675 91.0163 54.697 90.2734L53.5835 91.2785ZM60.7798 97.2944L59.9985 98.5749C61.8486 99.7037 63.8347 100.654 65.9525 101.386L66.4424 99.9684L66.9322 98.5507C65.0263 97.8921 63.2349 97.0352 61.561 96.0139L60.7798 97.2944ZM72.5497 101.357L72.3761 102.847C74.471 103.091 76.6591 103.132 78.9361 102.943L78.8125 101.449L78.6889 99.9537C76.6053 100.126 74.6165 100.088 72.7234 99.8674L72.5497 101.357ZM84.9902 100.391L85.3629 101.844C86.3864 101.582 87.4244 101.275 88.4768 100.922L88 99.5L87.5232 98.0778C86.5376 98.4082 85.569 98.6943 84.6175 98.9383L84.9902 100.391ZM88 99.5L88.4768 100.922C89.5212 100.572 90.5308 100.199 91.5059 99.8048L90.9434 98.4142L90.3809 97.0237C89.4639 97.3947 88.5116 97.7464 87.5232 98.0778L88 99.5ZM96.5469 95.6863L97.3009 96.983C99.2537 95.8476 101.021 94.6049 102.607 93.2692L101.641 92.1217L100.675 90.9742C99.2271 92.1933 97.603 93.3371 95.793 94.3895L96.5469 95.6863ZM105.978 87.6646L107.156 88.5937C108.546 86.8315 109.698 84.9707 110.623 83.0369L109.27 82.3896L107.917 81.7424C107.087 83.4762 106.053 85.1478 104.8 86.7355L105.978 87.6646ZM111.31 76.5164L112.772 76.8496C113.257 74.7224 113.51 72.5512 113.548 70.3645L112.049 70.3384L110.549 70.3122C110.514 72.3019 110.284 74.2669 109.847 76.1831L111.31 76.5164ZM111.572 64.1318L113.051 63.8823C112.695 61.7743 112.155 59.6766 111.445 57.6134L110.027 58.1015L108.608 58.5895C109.267 60.504 109.765 62.4423 110.092 64.3814L111.572 64.1318ZM107.562 52.3828L108.892 51.6894C107.908 49.8031 106.781 47.9677 105.522 46.204L104.301 47.0757L103.08 47.9474C104.26 49.5992 105.314 51.3155 106.231 53.0762L107.562 52.3828ZM100.347 42.2629L101.439 41.2349C99.9798 39.6846 98.4063 38.2193 96.7281 36.858L95.7832 38.0229L94.8382 39.1879C96.411 40.4637 97.8862 41.8373 99.2542 43.2909L100.347 42.2629ZM90.691 34.436L91.469 33.1536C89.6485 32.0491 87.738 31.0601 85.7466 30.2046L85.1545 31.5827L84.5623 32.9609C86.4228 33.7602 88.2092 34.6848 89.9129 35.7185L90.691 34.436ZM79.2706 29.5367L79.6608 28.0884C78.6293 27.8105 77.5812 27.5677 76.5177 27.3619L76.2327 28.8346L75.9477 30.3073C76.9401 30.4993 77.918 30.7259 78.8805 30.9851L79.2706 29.5367ZM16.3716 101.918L16.4087 103.418C17.4208 103.393 18.5481 103.313 19.7654 103.183L19.6057 101.691L19.446 100.2C18.2915 100.323 17.2478 100.396 16.3345 100.419L16.3716 101.918ZM26.022 100.693L26.3106 102.165C28.3476 101.766 30.5064 101.275 32.7282 100.699L32.3517 99.2471L31.9752 97.7952C29.8092 98.3568 27.709 98.8338 25.7334 99.221L26.022 100.693ZM38.5898 97.4442L39.0461 98.8731C41.1207 98.2106 43.2051 97.481 45.2553 96.6878L44.7141 95.2888L44.1729 93.8899C42.1828 94.6598 40.1553 95.3697 38.1335 96.0153L38.5898 97.4442ZM50.6835 92.734L51.3262 94.0893C52.3359 93.6105 53.3253 93.1149 54.2879 92.6028L53.5835 91.2785L52.8791 89.9542C51.96 90.4431 51.0119 90.9181 50.0408 91.3787L50.6835 92.734Z\" fill=\"white\"></path>\n<rect width=\"27.687\" height=\"27.687\" transform=\"translate(51 37.0278) rotate(-77.4721)\" fill=\"#FF9A40\"></rect>\n<path d=\"M57.3813 24.2646C57.6315 23.1384 58.7462 22.7952 59.4459 22.9507L64.5135 24.0768L71.4581 16.7567L73.7104 17.2572L68.9477 25.0621L74.649 26.329L76.4008 23.7638L78.6531 24.2643L76.5259 28.5186L76.6512 33.2735L74.3989 32.7731L73.8982 29.7074L68.1971 28.4406L69.2061 37.528L66.9538 37.0275L63.7629 27.4553L58.6952 26.3292C57.9955 26.1737 57.1311 25.3908 57.3813 24.2646Z\" fill=\"white\"></path>\n</svg></>}</>\n}","\"use client\";\nimport { Rating } from \"@components/rating\";\nimport clsx from \"clsx\";\nimport { IconArrowRight, IconCancel, IconChevronRight, IconDelete, IconHeart, IconHeartFilled } from \"../../icons\";\nimport { Button } from \"@components/button\";\nimport { ViewedAccomodationsImage } from \"./ViewedAccomodationsImage\";\nimport { useBrand } from \"../../theme\";\n\n\ninterface Accomodation {\n Id: number;\n AccommodationId: number;\n AccommodationName: string;\n LocationName: string;\n RegionName: string;\n CountryName: string;\n Url: string;\n Classification: number;\n ImageUrl: string;\n}\n\ninterface EmptyItem {\n title: string;\n icon: React.ReactNode;\n onClick: () => void;\n}\n\ninterface ViewedAccomodationsProps {\n \"data-testid\"?: string;\n className?: string;\n accomodations: Accomodation[];\n cancelFunction: () => void;\n emptyItems: EmptyItem[]\n}\n\nexport const ViewedAccomodations = ({ className, accomodations, cancelFunction, emptyItems, ...props }: ViewedAccomodationsProps) => {\n\n const brand = useBrand('prijsvrij');\n\n return <div\n data-component=\"viewed-accomodations\"\n className={clsx(className, 'viewed-accomodations max-w-[310px] bg-white flex flex-col justify-between rounded-lg divide-y divide-gray-200')}\n {...props}\n >\n\n <div className=\"flex flex-row justify-between p-4\">\n <span className=\"viewed-accomodations-header font-bold\">Bekeken vakanties</span>\n <span className={`cursor-pointer ${brand === 'prijsvrij' ? 'text-secondary' : 'viewed-accomodations-empty-header'} hover:text-black`} onClick={cancelFunction}><IconCancel width={20} height={20} /></span>\n\n </div>\n\n <div className=\"min-h-[150px] max-h-[400px] overflow-scroll divide-y divide-gray-200\">\n\n {accomodations.map((accomodation) => {\n\n return <div key={accomodation.Id} className=\"flex flex-row gap-2 justify-between px-4 py-4\">\n\n <div className=\"rounded-sm min-w-[64px] w-[64px] h-[64px]\">\n <img className=\"rounded-sm object-cover w-full h-full\" src={accomodation.ImageUrl} alt={accomodation.AccommodationName} />\n </div>\n <div className=\"flex flex-col w-full truncate\">\n <span className=\"truncate text-ellipsis text-sm font-bold viewed-accomodations-title\">{accomodation.AccommodationName}</span>\n <span className=\"truncate whitespace-nowrap text-xs text-gray-400\">{accomodation.LocationName}</span>\n <span><Rating rating={accomodation.Classification} size=\"small\" /></span>\n </div>\n <div className=\"flex flex-col gap-2 justify-between my-2 w-[20px]\">\n <Button\n variant=\"icon\"\n className=\"group\"\n icon={\n <span className=\"relative block w-[18px] h-[18px]\">\n <IconHeart width={18} height={18} className=\"text-red-600 group-hover:hidden\" />\n <IconHeartFilled width={18} height={18} className=\"text-red-600 hidden group-hover:block\" />\n </span>\n }\n />\n <Button variant=\"icon\" icon={<IconDelete width={18} height={18} className=\"text-gray-400 hover:text-gray-600\" />} />\n </div>\n </div>\n\n })}\n\n {accomodations.length === 0 && <div className=\"px-4 text-center text-dark-600\">\n <span className={`w-full flex items-center justify-center my-5 `}><ViewedAccomodationsImage brand={brand} /></span>\n <span className={`w-full font-bold block text-xl my-2 viewed-accomodations-empty-header `}>Begin je zoektocht</span>\n <div className=\"text-sm viewed-accomodations-empty-text-color\">Je hebt nog geen vakanties bekeken.</div>\n <div className=\"text-sm mb-2 viewed-accomodations-empty-text-color\">Misschien zit hier iets voor je bij:</div>\n\n <div className=\"viewed-accomodations-items\">\n <ul className=\"divide-y divide-gray-200 text-sm\">\n\n {emptyItems.map((emptyItem: EmptyItem) => {\n return <li key={emptyItem.title} onClick={emptyItem.onClick} className=\"flex flex-row gap-2 items-center justify-between py-2 cursor-pointer\">\n <div className=\"flex flex-row items-center gap-2\">\n <span>{emptyItem.icon}</span>\n <span>{emptyItem.title}</span>\n </div>\n <span>{brand === 'prijsvrij' ? <IconArrowRight className={\"text-secondary\"} width={16} height={16} data-testid=\"IconArrowRight\" /> : <IconChevronRight className=\"text-secondary\" width={16} height={16} data-testid=\"IconChevronRight\" />}</span>\n </li>\n })}\n </ul>\n </div>\n \n </div>}\n\n </div>\n\n <div className=\"flex flex-row justify-between p-4\">\n {accomodations.length > 0 ? <Button variant=\"outline-danger\" className=\"uppercase w-full !text-xs !tracking-[0.08em] !font-bold\">Alles verwijderen</Button> :\n <Button variant=\"secondary\" className=\"uppercase w-full !text-xs !tracking-[0.08em] !font-bold\">Bekijk vakanties</Button>}\n\n </div>\n\n </div>\n}","\"use client\";\nimport { Button } from \"@components/button\";\nimport clsx from \"clsx\";\nimport { IconArrowRight } from \"../../icons\";\n\ninterface BlogWidgetProps {\n \"data-testid\"?: string;\n className?: string;\n blogTitle?: string;\n blogText?: string;\n blogImage?: string;\n buttonText?: string;\n ButtonAction?: () => void;\n readingTime?: string;\n dropShadow?: boolean;\n}\n\nexport const BlogWidget = ({ className, blogTitle, blogText, blogImage, buttonText, ButtonAction, readingTime, dropShadow = false, \"data-testid\": dataTestId = \"blog-widget\", ...props }: BlogWidgetProps) => (\n <div\n data-component=\"blog-widget\"\n data-testid={dataTestId}\n className={clsx(className, `flex flex-col rounded-t-lg h-fit rounded-b-lg bg-white ${dropShadow && 'drop-shadow-2xl'}`)}\n {...props}\n >\n \n <div className=\"w-full\">\n <img className=\"rounded-t-lg\" src={blogImage} alt=\"\" />\n </div>\n <div className=\"p-4 flex flex-col\">\n <span className=\"text-primary text-xs blog-widget-date font-bold\">{new Date().toLocaleDateString('nl-NL')}{readingTime && <span className=\"uppercase\">{` - ${readingTime}`}</span>}</span>\n <span className=\"text-secondary blog-widget-title text-xl my-2 font-bold tracking-[-0.02em]\">{blogTitle}</span>\n <span className=\"mb-5 line-clamp-3 text-sm\">{blogText}</span>\n <Button variant=\"outline\" className=\"w-fit\" iconRight icon={<IconArrowRight />} onClick={ButtonAction}>{buttonText}</Button>\n </div>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconClock } from \"../../icons\";\n\ninterface CouponProps {\n \"data-testid\"?: string;\n className?: string;\n title: string;\n description: React.ReactNode;\n code: string;\n validUntil: string;\n image: {\n src: string;\n alt: string;\n },\n backgroundColor?: string;\n}\n\n\nexport const Coupon = ({ className, title, description, code, validUntil, image, backgroundColor = \"bg-white\", ...props }: CouponProps) => {\n\n const onClickFunction = () => {\n navigator.clipboard.writeText(code);\n }\n\n return <div\n data-component=\"coupon\"\n className={clsx(className, 'rounded-lg w-full sm:w-fit relative')}\n {...props}\n >\n <div className={clsx(\"rounded-t-sm\", backgroundColor)}>\n <div className=\"flex flex-row p-4 pb-2\">\n <div>\n <img src={image.src} className=\"rounded-lg\" alt={image.alt} width={65} height={65} />\n </div>\n <div className=\"flex flex-col px-4\">\n <h2 className=\"font-bold text-secondary\">{title}</h2>\n <p className=\"text-xs sm:text-sm\">{description}</p>\n </div>\n </div>\n </div>\n <div className={clsx(\"h-3 coupon-bite-top\", backgroundColor)} />\n <div className={clsx(\"h-[2px] mx-3 coupon-bite-dashes\", backgroundColor)} />\n <div className={clsx(\"h-3 coupon-bite-bottom\", backgroundColor)} />\n <div className={clsx(\"rounded-b-sm\", backgroundColor)}>\n <div className=\"flex flex-col items-center justify-center p-4 pt-2\">\n <div className=\"text-primary uppercase flex flex-row items-center gap-1\">\n <span className=\"text-xs sm:text-base\">Kortingscode:</span> \n <span className=\"font-bold text-xs sm:text-base\">{code}</span>\n <button onClick={onClickFunction}><IconClock className=\"w-5 h-5\" /></button>\n </div>\n {validUntil && <span className=\"w-full text-center text-gray-600 uppercase text-[10px] font-bold\">Geldig t/m: {validUntil}</span>}\n </div>\n </div>\n\n </div> \n}","\"use client\";\nimport clsx from \"clsx\";\n\ninterface WeatherItem {\n icon: React.ReactNode;\n temperature: string;\n temperature_percent: number;\n month: number;\n}\n\ninterface WeatherProps {\n \"data-testid\"?: string;\n className?: string;\n weatherItems: WeatherItem[];\n title: string;\n direction?: 'horizontal' | 'vertical';\n}\n\nconst monthLabels = [\"jan\", \"feb\", \"mar\", \"apr\", \"mei\", \"jun\", \"jul\", \"aug\", \"sep\", \"okt\", \"nov\", \"dec\"];\n\nexport const Weather = ({ className, weatherItems, title, direction = 'horizontal', ...props }: WeatherProps) => {\n const isVertical = direction === 'vertical';\n return (\n <div\n data-component=\"weather\"\n className={clsx(className, 'flex flex-col gap-2')}\n {...props}\n >\n <div className=\"p-4 rounded-lg overflow-scroll w-full sm:w-fit\" style={{ background: 'linear-gradient(180deg, #0092F2 0%, #0092F2 56.18%, #7EC3F0 101.61%)' }}>\n <div className=\"text-white text-lg font-bold mb-5\">{title}</div>\n <div className={clsx(\"gap-2 flex flex-col\", isVertical && \"h-[310px] flex flex-row gap-2 w-fit\")}>\n\n {weatherItems.map((weatherItem, index) => (\n <div key={index} className={clsx(\"flex gap-2 text-white\", isVertical ? \"flex-col h-full w-8 items-center justify-center\" : \"flex-row\")}>\n <span className={clsx(isVertical ? \"w-full order-5 justify-center items-center text-center\" : \"w-10\")}>{monthLabels[weatherItem.month]}</span>\n <span className={clsx(\"flex items-center justify-center\", isVertical ? \"w-full order-1\" : \"w-10\")}>{weatherItem.icon}</span>\n <div className={clsx(\"flex items-center justify-center\", isVertical ? \"h-full order-3\" : \"w-full\")}>\n <span className={clsx(\"bg-white/50 rounded-xl flex\", isVertical ? \"w-2 h-full items-end\" : \"w-full h-2\")}>\n <span className=\"bg-amber-200 rounded-xl\" style={isVertical ? { height: `${weatherItem.temperature_percent}%`, width: '100%' } : { width: `${weatherItem.temperature_percent}%`, height: '100%' }} />\n </span>\n </div>\n <span className={clsx(isVertical ? \"w-full text-center order-2\" : \"w-14 text-right\")}>{weatherItem.temperature}{isVertical ? '°' : '°C'}</span>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconEdit, IconShare } from \"../../icons\";\nimport { Button } from \"@components/button\";\n\ninterface Image {\n src: string;\n alt: string;\n}\n\ninterface CollectionProps {\n \"data-testid\"?: string;\n className?: string;\n images: Image[];\n collectionTitle: string;\n collectionDescription: string;\n shareAction?: () => void;\n editAction?: () => void;\n}\n\nexport const Collection = ({ className, images, collectionTitle, collectionDescription, shareAction, editAction, \"data-testid\": dataTestId = \"collection\", ...props }: CollectionProps) => (\n <div\n data-component=\"collection\"\n data-testid={dataTestId}\n className={clsx(className, 'rounded-sm overflow-hidden bg-white')}\n {...props}\n >\n <div className=\"grid grid-cols-3 gap-[2px]\">\n <div className=\"col-span-2 row-span-2\">\n <img className=\"h-full w-full object-cover\" src={images[0]?.src} alt={images[0]?.alt} />\n </div>\n <div className=\"col-span-1 row-span-1\">\n <img className=\"h-full w-full object-cover\" src={images[1]?.src} alt={images[1]?.alt} />\n </div>\n <div className=\"col-span-1 row-span-1\">\n <img className=\"h-full w-full object-cover\" src={images[2]?.src} alt={images[2]?.alt} />\n </div>\n </div>\n\n <div className=\"flex flex-row content-between justify-between\">\n\n <div className=\"flex flex-col gap-2 m-4 mb-8\">\n <span className=\"font-bold text-2xl text-secondary w-full collection-title\">\n {collectionTitle}\n </span>\n <span className=\"w-full collection-description font-normal text-sm\">\n {collectionDescription}\n </span>\n </div>\n <div className=\"m-5 gap-2 flex flex-row items-start\">\n <Button variant=\"icon\" className=\"cursor-pointer\" onClick={shareAction}><IconShare className=\"text-dark-600 hover:text-dark-500\" width={24} height={24} /></Button>\n <Button variant=\"icon\" className=\"cursor-pointer\" onClick={editAction}><IconEdit className=\"text-dark-600 hover:text-dark-500\" width={24} height={24} /></Button>\n </div>\n\n </div>\n\n </div>\n);\n","\"use client\";\nimport { Rating } from \"@components/rating\";\nimport { ReviewSmall } from \"@components/reviewSmall\";\nimport clsx from \"clsx\";\n\ninterface HotelWidgetProps {\n \"data-testid\"?: string;\n className?: string;\n Id: string,\n Name: string,\n Classification: number[],\n City: string,\n Country: string,\n Image: string,\n Images: string[],\n Url: string,\n TripUrl: string,\n Review: {\n Grade: number,\n NrReviews: number,\n NrReviewsValue: string\n },\n Price: number,\n PriceInfo: string,\n ReviewText: string,\n Date: string,\n HotelUsps: string[],\n Region: string,\n Transport: string,\n BoardType: string,\n DepartureDate: string,\n BoardTypeHuman: string,\n Duration: number,\n TransferIncluded: boolean,\n DeparturePoint: string,\n DeparturePointHuman: string\n\n}\n\nexport const HotelWidget = ({\n className,\n Review,\n Classification,\n City,\n Country,\n Name,\n Url,\n Image,\n Id,\n Images,\n TripUrl,\n Price,\n PriceInfo,\n ReviewText,\n Date,\n HotelUsps,\n Region,\n Transport,\n BoardType,\n DepartureDate,\n BoardTypeHuman,\n Duration,\n TransferIncluded,\n DeparturePoint,\n DeparturePointHuman,\n ...props\n}: HotelWidgetProps) => (\n <div\n data-component=\"hotel-widget\"\n className={clsx(className, 'flex flex-row p-4 rounded-md gap-3 bg-white w-fit')}\n {...props}\n >\n<div>\n <img src={Image} alt={Name} className=\"w-16 h-16 object-cover rounded-md min-w-16 min-h-16\" />\n</div>\n<div className=\"flex flex-col\">\n <span className=\"text-base font-bold max-w-[190px] whitespace-nowrap truncate mb-1\">{Name}</span>\n <div className=\"flex flex-row justify-between items-center\">\n <div>\n <span className=\"truncate max-w-[160px] block overflow-ellipsis text-xs mb-1 font-medium text-gray-500\">{City} - {Country}</span>\n <span><Rating size=\"small\" rating={Classification.length} /></span>\n </div>\n <div><ReviewSmall rating={Review.Grade} /></div>\n\n </div>\n\n</div>\n\n\n </div>\n);\n","\"use client\";\nimport { Button } from \"@components/button\";\nimport clsx from \"clsx\";\nimport { IconArrowLeft, IconArrowRight } from \"../../icons\";\n\ninterface PageNavigationProps {\n \"data-testid\"?: string;\n className?: string;\n currentPage: number;\n pages?: number[];\n onPageChange?: (page: number) => void;\n onPagesChange?: (pages: number[]) => void;\n totalPages?: number;\n}\n\nexport const PageNavigation = ({ className, pages, currentPage, onPageChange, onPagesChange, totalPages, ...props }: PageNavigationProps) => {\n\n const sortedPages = [...(pages ?? [])].sort((a, b) => a - b);\n const groupSize = sortedPages.length;\n\n const isGrouped = typeof totalPages === \"number\" && totalPages > 0 && groupSize > 0;\n\n const currentIndex = sortedPages.indexOf(currentPage);\n\n const nextGreaterIndex = sortedPages.findIndex((p) => p > currentPage);\n const insertionIndex = nextGreaterIndex === -1 ? sortedPages.length : nextGreaterIndex;\n const derivedIndex = currentIndex !== -1 ? currentIndex : insertionIndex - 1;\n\n const isFirst = sortedPages.length === 0 || derivedIndex <= 0;\n const isLast = sortedPages.length === 0 || derivedIndex >= sortedPages.length - 1;\n\n const previousPage = !isFirst ? sortedPages[derivedIndex - 1] : undefined;\n const nextPage = !isLast ? sortedPages[derivedIndex + 1] : undefined;\n\n const canGoGroupPrev = isGrouped ? (sortedPages[0] !== undefined && sortedPages[0] > 1) : !isFirst;\n const canGoGroupNext = isGrouped ? (sortedPages[0] !== undefined && sortedPages[0] + groupSize <= totalPages) : !isLast;\n\n const buildGroup = (start: number) => {\n const safeStart = Math.max(1, start);\n const max = totalPages!;\n return Array.from({ length: groupSize }, (_, i) => safeStart + i).filter((p) => p <= max);\n };\n\n return (\n <div\n data-component=\"page-navigation\"\n data-testid={\"page-navigation\"}\n className={clsx(className, \"flex justify-between w-full gap-2\")}\n {...props}\n >\n <Button\n variant=\"icon\"\n disabled={!canGoGroupPrev}\n className={!canGoGroupPrev ? \"cursor-not-allowed opacity-50\" : \"\"}\n onClick={() => {\n if (isGrouped) {\n const groupStart = sortedPages[0];\n if (groupStart !== undefined) {\n const prevStart = groupStart - groupSize;\n const newPages = buildGroup(prevStart);\n onPagesChange?.(newPages);\n if (newPages[0] !== undefined) onPageChange?.(newPages[0]);\n }\n return;\n }\n\n if (previousPage !== undefined) onPageChange?.(previousPage);\n }}\n icon={<IconArrowLeft className=\"text-primary\" width={16} height={16} />}\n />\n <div className=\"flex flex-row gap-2\">\n {pages?.map((page) => {\n return (\n <span\n key={page}\n role=\"button\"\n tabIndex={0}\n onClick={() => onPageChange?.(page)}\n className={`page-navigation cursor-pointer w-8 h-8 p-2 text-xs rounded-sm flex items-center justify-center hover:bg-primary hover:text-white ${currentPage === page ? \"bg-primary rounded-full text-white selected\" : \"\"}`}\n >\n {page}\n </span>\n );\n })}\n </div>\n <Button\n variant=\"icon\"\n className={!canGoGroupNext ? \"cursor-not-allowed opacity-50\" : \"\"}\n disabled={!canGoGroupNext}\n onClick={() => {\n if (isGrouped) {\n const groupStart = sortedPages[0];\n if (groupStart !== undefined) {\n const nextStart = groupStart + groupSize;\n const newPages = buildGroup(nextStart);\n onPagesChange?.(newPages);\n if (newPages[0] !== undefined) onPageChange?.(newPages[0]);\n }\n return;\n }\n\n if (nextPage !== undefined) onPageChange?.(nextPage);\n }}\n icon={<IconArrowRight className=\"text-primary\" width={16} height={16} />}\n />\n </div>\n );\n};\n","\"use client\";\nimport { Button } from \"@components/button\";\nimport clsx from \"clsx\";\nimport type * as React from \"react\";\nimport { useId, type HTMLAttributes } from \"react\";\nimport { IconCancel } from \"../../icons\";\nimport \"./styles.css\";\n\ninterface PvPopupProps extends HTMLAttributes<HTMLDivElement> {\n \"data-testid\"?: string;\n className?: string;\n popupTitle: string;\n content: React.ReactElement;\n button?: React.ReactElement;\n size: \"small\" | \"medium\";\n popover?: \"auto\";\n popupId?: string;\n backdrop?: boolean;\n}\n\nexport const PvPopup = ({ className, popupTitle, content, button, size, popover, popupId, backdrop, ...props }: PvPopupProps) => {\n const reactId = useId();\n const resolvedPopupId = popupId ?? `pv-popup-${reactId.replace(/:/g, \"\")}`;\n const resolvedPopover = popover ?? \"auto\";\n\n return (\n <div\n data-component=\"pv-popup\"\n className={clsx(className)} \n {...props}\n >\n <Button popoverTarget={resolvedPopupId}>Open Popup</Button>\n\n <div\n {...({ popover: resolvedPopover } as React.HTMLAttributes<HTMLDivElement>)}\n id={resolvedPopupId}\n className={clsx(\n `shadow rounded-sm ${size === 'small' ? 'w-[375px]' : 'w-[600px]'}`,\n backdrop && 'with-backdrop'\n )}\n style={backdrop ? {\n '--backdrop-bg': 'rgba(0, 0, 0, 0.5)'\n } as React.CSSProperties : undefined}\n >\n <div className=\"flex flex-row justify-between p-4 border-b border-gray-200\">\n <span className=\"text-base font-bold text-secondary popup-title\">{popupTitle}</span>\n <Button popoverTarget={resolvedPopupId} popoverTargetAction=\"hide\" icon={<IconCancel width={24} height={24} />} variant=\"icon\" />\n </div>\n <div className=\"p-4\">\n {content}\n </div>\n {button && <div className=\"w-full border-t border-gray-300 p-4\">\n {button}\n </div>}\n </div>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useBrand } from \"../../theme\";\nimport { IconArrowDown, IconArrowRight, IconCalendar, IconChevronRight, IconMap, IconParty, IconPlane, IconSun } from \"../../icons\";\nimport { Button } from \"@components/button\";\n\n\ninterface SearchBlockProps {\n \"data-testid\"?: string;\n className?: string;\n searchBlockTitle?: string;\n searchBlockForm?: React.ReactNode;\n loading: boolean;\n onClickFn?: () => void;\n}\n\ninterface SearchBlockButtonProps {\n className?: string;\n label?: string;\n labelOutside?: boolean;\n icon?: React.ReactNode;\n downIcon?: React.ReactNode;\n onClick?: () => void;\n selectedValue?: string;\n secondarySelectedValue?: string;\n}\n\n\nexport const SearchBlockButton = ({ className, label, labelOutside, icon, downIcon, onClick, selectedValue, secondarySelectedValue, ...props }: SearchBlockButtonProps) => {\n return <>\n {labelOutside && <span className=\"searchBlockButtonLabel\">{label}</span>}\n <button className={clsx(className, \"searchBlockButton flex flex-row items-center justify-between gap-2 px-2 py-2 cursor-pointer border border-transparent hover:border-gray-300 transition-all\")} onClick={onClick} {...props}>\n <div className=\"flex flex-row items-center justify-center gap-2\">\n <span className=\"w-5 h-auto sm:h-5 flex items-center justify-center searchBlockButtonIcon\">{icon}</span>\n <span className=\"flex flex-col items-start justify-center\">\n {!labelOutside && <span className=\"searchBlockButtonLabel\">{label}</span>}\n <span className=\"searchBlockButtonSelectedValue whitespace-nowrap flex flex-col sm:flex-row items-start sm:items-center\">\n <span className={`${secondarySelectedValue && \"font-bold\"}`}>\n {selectedValue}\n </span>\n {secondarySelectedValue && <div className=\"flex flex-row gap-0 sm:gap-2 text-xs\"><span className=\"hidden ml-0 sm:ml-2 sm:inline\">-</span>{secondarySelectedValue}</div>}\n </span>\n </span>\n \n </div>\n <span className=\"searchBlockButtonDownIcon\">{downIcon}</span>\n\n </button></>\n}\n\nexport const SearchBlock = ({ className, searchBlockTitle, searchBlockForm, loading, onClickFn, \"data-testid\": dataTestId = \"book-module\", ...props }: SearchBlockProps) => {\n const brand = useBrand();\n return <div\n data-component=\"book-module\"\n data-testid={dataTestId}\n className={clsx(className, `searchBlock w-full sm:w-[350px] ${brand === 'dreizen' ? \"p-8\" : \"p-4\"}`)}\n {...props}\n >\n <div className={`flex flex-col ${brand === 'prijsvrij' && \"gap-2\"}`}>\n <span className={`${brand === 'dreizen' && \"mb-2\"}`}>{searchBlockTitle}</span>\n <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"2 personen op 1 kamer\" label=\"Reisgezelschap\" icon={<IconParty />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} />\n <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"Alle landen\" label=\"Bestemming\" icon={<IconMap />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} />\n <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"De voordeligste datum\" secondarySelectedValue=\"14 dagen\" label=\"Vertrekdatum\" icon={<IconCalendar />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} />\n {/* <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"1 week\" label=\"Reisduur\" icon={<IconPlane />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} /> */}\n <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"Vliegreis\" secondarySelectedValue=\"5 geselecteerd\" label=\"Vervoerstype\" icon={<IconPlane />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} />\n <Button variant={`${brand === 'prijsvrij' ? 'primaryGlow' : 'primary'}`} className={`${brand === 'dreizen' ? \"mt-6\" : 'mt-2'}`} onClick={onClickFn} icon={loading ? <IconSun className=\"animate-spin\" /> : <IconArrowRight />} iconRight={true}>Zoek vakanties</Button>\n </div>\n </div>\n};","\"use client\";\nimport { forwardRef, useState, useCallback } from \"react\";\nimport { cn } from \"@utils/cn\";\n\nexport interface RangeSliderProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"type\" | \"className\" | \"onChange\" | \"size\"\n> {\n \"data-testid\"?: string;\n className?: string;\n min?: number;\n max?: number;\n value?: number;\n defaultValue?: number;\n step?: number;\n disabled?: boolean;\n onChange?: (value: number) => void;\n variant?: \"default\" | \"primary\" | \"secondary\";\n size?: \"sm\" | \"md\" | \"lg\";\n showValue?: boolean;\n valueFormatter?: (value: number) => string;\n}\n\nexport const RangeSlider = forwardRef<HTMLInputElement, RangeSliderProps>(\n function RangeSlider(\n {\n className,\n min = 0,\n max = 100,\n value: controlledValue,\n defaultValue = 0,\n step = 1,\n disabled = false,\n onChange,\n variant = \"default\",\n size = \"md\",\n showValue = false,\n valueFormatter = (value) => value.toString(),\n \"data-testid\": dataTestId,\n ...props\n },\n ref,\n ) {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const value = controlledValue !== undefined ? controlledValue : internalValue;\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = Number(event.target.value);\n setInternalValue(newValue);\n onChange?.(newValue);\n },\n [onChange],\n );\n\n const percentage = ((value - min) / (max - min)) * 100;\n\n const variants = {\n default: {\n track: \"bg-gray-200\",\n trackFilled: \"bg-blue-500\",\n },\n primary: {\n track: \"bg-[#80C9F8]\",\n trackFilled: \"bg-primary\",\n },\n secondary: {\n track: \"bg-gray-100\",\n trackFilled: \"bg-gray-400\",\n },\n };\n\n const sizes = {\n sm: { track: 4 },\n md: { track: 6 },\n lg: { track: 6 },\n };\n\n const currentVariant = variants[variant];\n const currentSize = sizes[size];\n\n return (\n <div\n data-component=\"RangeSlider\"\n className={cn(\"relative w-full\", disabled && \"opacity-50\", className)}\n data-testid={dataTestId}\n >\n <div className=\"relative py-2\">\n {/* Track background */}\n <div\n className={cn(\n \"absolute w-full rounded-full\",\n currentVariant.track,\n )}\n style={{ \n height: `${currentSize.track}px`,\n top: '50%',\n transform: 'translateY(-50%)'\n }}\n />\n \n {/* Filled track */}\n <div\n className={cn(\n \"absolute rounded-full transition-all duration-150 ease-out\",\n currentVariant.trackFilled,\n )}\n style={{ \n width: `${percentage}%`,\n height: `${currentSize.track}px`,\n top: '50%',\n transform: 'translateY(-50%)'\n }}\n />\n \n {/* Custom thumb */}\n <div\n className={cn(\n \"absolute rounded-full bg-primary border-2 transition-all duration-150 ease-out pointer-events-none\",\n variant === \"default\" && \"border-white\",\n variant === \"primary\" && \"border-white\",\n variant === \"secondary\" && \"border-gray-400\",\n )}\n style={{\n width: `${size === 'sm' ? 12 : size === 'lg' ? 24 : 16}px`,\n height: `${size === 'sm' ? 12 : size === 'lg' ? 24 : 16}px`,\n left: `calc(${percentage}% - ${(size === 'sm' ? 12 : size === 'lg' ? 24 : 16) / 2}px)`,\n top: '50%',\n transform: 'translateY(-50%)',\n boxShadow: '0 1px 3px rgba(0, 0, 0, 0.1)',\n }}\n />\n \n {/* Value display that follows thumb */}\n {showValue && (\n <div\n className=\"absolute pointer-events-none transition-all duration-150 ease-out\"\n style={{\n left: `${percentage}%`,\n top: '100%',\n transform: 'translateX(-50%) translateY(8px)',\n }}\n >\n <div className=\"bg-gray-800 text-white text-xs font-medium px-2 py-1 rounded whitespace-nowrap\">\n {valueFormatter(value)}\n </div>\n </div>\n )}\n \n {/* Native range input (invisible, for functionality) */}\n <input\n ref={ref}\n type=\"range\"\n min={min}\n max={max}\n value={value}\n step={step}\n disabled={disabled}\n onChange={handleChange}\n className={cn(\n \"absolute inset-0 w-full cursor-pointer\",\n disabled && \"cursor-not-allowed\"\n )}\n style={{ opacity: 0 }}\n {...props}\n />\n </div>\n </div>\n );\n },\n);\n\nRangeSlider.displayName = \"RangeSlider\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["jsx","React","jsxs","Fragment","Component: T","globalDefaultFormatAttributes: SVGAttributes<SVGElement> &\n HTMLAttributes<SVGElement>","icon: React.ReactNode","defaultFormatAttributes: SVGAttributes<SVGElement> &\n HTMLAttributes<SVGElement> &\n Record<string, unknown>","Button","event: React.MouseEvent<HTMLButtonElement>","CSS_VARIABLE_KEYS: (keyof CSSVariables)[]","variable: keyof CSSVariables","value: string","value: unknown","fallback?: Brand","event: React.KeyboardEvent","item: DropdownItem","brand","event: MouseEvent","e: React.ChangeEvent<HTMLInputElement>","PrijsvrijMenuItems: MenuItemType[]","DreizenMenuItems: MenuItemType[]","MenuItem","node: HTMLDivElement | null","ratingsCount","rating","val: string","value?: string","value: string","optionId: string","resolvedBrand: Brand","footerBarData","index: number","e: React.ChangeEvent<HTMLInputElement>","state: Step[\"state\"]","filtersData: FilterData[]","index: number","api: EmblaCarouselType","countries:Country[]","country: Country","value: string","e: Event","handleTriggerKeyDown: React.KeyboardEventHandler<HTMLButtonElement>","handleListboxKeyDown: React.KeyboardEventHandler<HTMLDivElement>","handleSearchKeyDown: React.KeyboardEventHandler<HTMLInputElement>","ActionIcon: React.ForwardRefExoticComponent<\n ActionIconProps & React.RefAttributes<HTMLButtonElement>\n>","event: MouseEvent","date: Date | undefined","day: IDay","newMonth","today","FilterButton","filter: string","FilterButton","event: MouseEvent","event: KeyboardEvent","e: ChangeEvent<HTMLInputElement>","rating: number","selectStyles: StylesConfig<unknown, false, GroupBase<unknown>>","selectTheme: ThemeConfig","props: DropdownIndicatorProps<unknown, false, GroupBase<unknown>>","props","GroupHeading: React.FC<\n GroupHeadingProps<unknown, false, GroupBase<unknown>>\n >","LanguageControl: React.FC<\n ControlProps<unknown, false, GroupBase<unknown>>\n >","value: string","props: NoticeProps<unknown, false, GroupBase<unknown>>","SingleValue: React.FC<\n SingleValueProps<unknown, false, GroupBase<unknown>>\n >","base: CSSObjectWithLabel","state: { isFocused: boolean }","refs: { [key: string]: RefObject<HTMLButtonElement> }","e: ChangeEvent<HTMLInputElement>","onClick: () => void","event: MouseEvent","event: KeyboardEvent","iconName: string","iconMap: Record<string, React.ReactNode>","iconMap","categoryId: number","date: Date","day: number","dates: string[]","formatRating","rating: number","className","showArrow","formatRating","rating: number","count: number","className","usps: UspItem[]","dateTime: string","departureDt: string","arrivalDt: string","priceInCents: number","minutes: number","stopOvers: StopOver[]","value: string","showCurrencySymbol: boolean","emptyItem: EmptyItem","Review","start: number","RangeSlider","value","event: React.ChangeEvent<HTMLInputElement>"],"sources":["../src/jsx-runtime-shim.ts","../src/styles/fonts.css","../src/styles/variables.css","../src/components/topMenu/styles.css","../src/components/button/styles.css","../src/components/priceCheck/styles.css","../src/components/toggle/styles.css","../src/components/topHeaderMenu/styles.css","../src/components/filterButtons/styles.css","../src/components/searchBox/styles.css","../src/components/dropdown/styles.css","../src/components/counterIcon/styles.css","../src/components/usp/styles.css","../src/components/middleNavigation/styles.css","../src/components/menu/styles.css","../src/components/footer/styles.css","../src/components/blogWidget/styles.css","../src/components/searchBlock/styles.css","../src/components/categoryFilter/styles.css","../src/components/collection/styles.css","../src/components/review/styles.css","../src/components/hotelAccomodationResults/styles.css","../src/components/coupon/styles.css","../src/components/giftCard/styles.css","../src/components/pvPopup/styles.css","../src/components/photoCardsRotated/styles.css","../src/components/spotlights/styles.css","../src/components/viewedAccomodations/styles.css","../src/components/quantityButtons/styles.css","../src/components/matrixTable/styles.css","../src/components/pageNavigation/styles.css","../src/styles/utilities.css","../src/globals.css","../src/components/withPvUi.tsx","../src/utils/cn.ts","../src/utils/formatIcon.ts","../src/icons/IconAlert.tsx","../src/components/button/buttonVariants.ts","../src/components/button/index.tsx","../src/icons/IconHeartFilled.tsx","../src/components/counterIcon/index.tsx","../src/components/divider/index.tsx","../src/icons/IconInfo.tsx","../src/icons/IconMap.tsx","../src/icons/IconCalendar.tsx","../src/icons/IconClock.tsx","../src/icons/IconEdit.tsx","../src/icons/IconSearch.tsx","../src/icons/IconLuggage.tsx","../src/icons/IconSeat.tsx","../src/icons/IconHot.tsx","../src/icons/IconHeart.tsx","../src/icons/IconRating.tsx","../src/icons/IconSun.tsx","../src/icons/IconSplash.tsx","../src/icons/IconTree.tsx","../src/icons/IconCarSun.tsx","../src/icons/IconCity.tsx","../src/icons/IconWinterSun.tsx","../src/icons/IconWinterSport.tsx","../src/icons/IconHotel.tsx","../src/icons/IconQuestion.tsx","../src/icons/IconBlog.tsx","../src/icons/IconPhoto.tsx","../src/icons/IconParty.tsx","../src/icons/IconPlane.tsx","../src/icons/IconFavorite.tsx","../src/icons/IconBus.tsx","../src/icons/IconArrival.tsx","../src/icons/IconDeparture.tsx","../src/icons/IconCar.tsx","../src/icons/IconFood.tsx","../src/icons/IconArrowDown.tsx","../src/icons/IconArrowUp.tsx","../src/icons/IconArrowLeft.tsx","../src/icons/IconArrowRight.tsx","../src/icons/IconChevronRight.tsx","../src/icons/IconPhone.tsx","../src/icons/IconSupport.tsx","../src/icons/IconCancel.tsx","../src/icons/IconUser.tsx","../src/icons/IconMail.tsx","../src/icons/IconHouse.tsx","../src/icons/IconBed.tsx","../src/icons/IconDollar.tsx","../src/icons/IconCheck.tsx","../src/icons/IconSuccess.tsx","../src/icons/IconTemperature.tsx","../src/icons/IconPlus.tsx","../src/icons/IconMinus.tsx","../src/icons/IconExpand.tsx","../src/icons/IconFilter.tsx","../src/icons/IconBeach.tsx","../src/icons/IconTransfer.tsx","../src/icons/IconDelete.tsx","../src/icons/IconView.tsx","../src/icons/IconWarning.tsx","../src/icons/IconFacebook.tsx","../src/icons/IconTwitter.tsx","../src/icons/IconWhatsapp.tsx","../src/icons/IconInstagram.tsx","../src/icons/IconTiktok.tsx","../src/icons/IconPinterest.tsx","../src/icons/IconShare.tsx","../src/icons/IconStar.tsx","../src/icons/IconWatched.tsx","../src/icons/IconPresent.tsx","../src/icons/IconIce.tsx","../src/icons/IconCocktail.tsx","../src/theme/variables.ts","../src/theme/brand.tsx","../src/components/dropdown/index.tsx","../src/components/filterButtons/index.tsx","../src/utils/d-reizen_logo.tsx","../src/utils/prijsvrij_logo.tsx","../src/components/searchBox/index.tsx","../src/components/menu/mockdata.ts","../src/components/menu/index.tsx","../src/utils/ANVR.tsx","../src/utils/Calamiteitenfonds.tsx","../src/utils/SGR.tsx","../src/components/nominations/index.tsx","../src/components/header/index.tsx","../src/components/logo/index.tsx","../src/components/pageRating/index.tsx","../src/components/priceCheck/index.tsx","../src/components/rating/index.tsx","../src/components/searchBoxResults/index.tsx","../src/components/toggle/index.tsx","../src/components/topHeaderMenu/index.tsx","../src/components/topMenu/index.tsx","../src/components/usp/index.tsx","../src/components/middleNavigation/index.tsx","../src/components/footer/mockData.ts","../src/components/footer/FooterNavigation.tsx","../src/components/footer/FooterBar.tsx","../src/components/footer/index.tsx","../src/components/accordion/AccordionItem.tsx","../src/components/accordion/index.tsx","../src/components/checkbox/index.tsx","../src/components/stepper/index.tsx","../src/components/resultPageFilterBox/index.tsx","../src/components/quantityButtons/index.tsx","../src/components/slider/index.tsx","../src/utils/countries.ts","../src/components/label/index.tsx","../src/components/phoneNumberInput/index.tsx","../src/components/photoCardsRotated/index.tsx","../src/components/chatbot/index.tsx","../src/components/priceBox/index.tsx","../src/utils/enums.ts","../src/components/actionIcon/index.tsx","../src/components/alert/index.tsx","../src/components/textInput/index.tsx","../src/components/autoCompleteInput/index.tsx","../src/components/avatar/index.tsx","../src/components/avatarIndicator/index.tsx","../src/components/badge/index.tsx","../src/components/bigBadge/index.tsx","../src/components/breadCrumb/index.tsx","../src/components/popover/index.tsx","../src/components/datePickerInput/index.tsx","../src/components/favouriteButton/index.tsx","../src/components/unstyledButton/index.tsx","../src/components/filters/FilterButton.tsx","../src/components/filters/FilterItem.tsx","../src/components/filters/index.tsx","../src/components/hamburgerMenuButton/index.tsx","../src/components/hr/index.tsx","../src/components/island/index.tsx","../src/components/modal/index.tsx","../src/components/numberField/index.tsx","../src/components/passwordInput/index.tsx","../src/components/progressBar/index.tsx","../src/components/radioButton/index.tsx","../src/components/regionSelector/index.tsx","../src/components/reviews/index.tsx","../src/components/scrollToTop/index.tsx","../src/components/searchInput/index.tsx","../src/components/select/index.tsx","../src/components/skeleton/index.tsx","../src/components/skillPill/index.tsx","../src/components/stickyMobileButton/index.tsx","../src/components/table/index.tsx","../src/components/table/tableCell/index.tsx","../src/components/table/tableHeader/index.tsx","../src/components/table/tableHeaderItem/index.tsx","../src/components/table/tableHeaderRow/index.tsx","../src/components/table/tableRow/index.tsx","../src/components/tabs/Tab.tsx","../src/components/tabs/TabsBadge.tsx","../src/components/tabs/TabsWrapper.tsx","../src/components/textArea/index.tsx","../src/components/timeInput/index.tsx","../src/components/truncatedText/index.tsx","../src/components/unorderedList/index.tsx","../src/components/unorderedListItem/index.tsx","../src/components/profileMenu/index.tsx","../src/components/stickyFooter/index.tsx","../src/components/spotlights/index.tsx","../src/utils/storybookIcons.tsx","../src/components/categoryFilter/index.tsx","../src/components/calendar/index.tsx","../src/components/matrixTable/index.tsx","../src/components/map/index.tsx","../src/components/linkBox/index.tsx","../src/components/loading/plane.tsx","../src/components/loading/cloud.tsx","../src/components/loading/dollar.tsx","../src/components/loading/d-reizen-sign.tsx","../src/components/loading/index.tsx","../src/components/warningText/index.tsx","../src/components/reviewSmall/index.tsx","../src/components/hero/index.tsx","../src/components/review/index.tsx","../src/components/hotelAccomodationResults/index.tsx","../src/components/flightSwitch/index.tsx","../src/components/giftCard/index.tsx","../src/components/viewedAccomodations/ViewedAccomodationsImage.tsx","../src/components/viewedAccomodations/index.tsx","../src/components/blogWidget/index.tsx","../src/components/coupon/index.tsx","../src/components/weather/index.tsx","../src/components/collection/index.tsx","../src/components/hotelWidget/index.tsx","../src/components/pageNavigation/index.tsx","../src/components/pvPopup/index.tsx","../src/components/searchBlock/index.tsx","../src/components/rangeSlider/index.tsx"],"sourcesContent":["\"use client\";\n\n// This file ensures the JSX runtime is properly referenced in the bundle\nimport * as React from \"react\";\n\n// Re-export the JSX runtime to ensure it's available\nexport const jsx = React.createElement;\nexport const jsxs = React.createElement;\nexport const Fragment = React.Fragment;\n","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","({})","\"use client\";\n\nimport React, { forwardRef } from \"react\";\n\n/**\n * Higher-Order Component that adds data-pv-ui attribute to any component\n * This prevents global style conflicts when the UI package is imported.\n */\nexport function withPvUi<T extends React.ComponentType<any>>(\n Component: T\n): React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<T> & React.RefAttributes<React.ElementRef<T>>> {\n const WrappedComponent = forwardRef<React.ElementRef<T>, React.ComponentPropsWithoutRef<T>>((props, ref) => {\n const scopedProps = {\n ...props,\n ref,\n \"data-pv-ui\": true,\n };\n\n return (\n <div data-pv-ui style={{ display: \"contents\" }}>\n <Component {...scopedProps} />\n </div>\n );\n });\n\n WrappedComponent.displayName = `withPvUi(${\n Component.displayName || Component.name || \"Component\"\n })`;\n\n return WrappedComponent;\n}\n","import clsx, { type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import React, {\n cloneElement,\n type HTMLAttributes,\n type SVGAttributes,\n} from \"react\";\n\nimport clsx from \"clsx\";\n\nconst globalDefaultFormatAttributes: SVGAttributes<SVGElement> &\n HTMLAttributes<SVGElement> = {};\n\n/**\n * Format icon with default attributes. Icon attributes will\n * always supersede default attributes which in term will supersede\n * global default attributes.\n */\nexport default function formatIcon(\n icon: React.ReactNode,\n defaultFormatAttributes: SVGAttributes<SVGElement> &\n HTMLAttributes<SVGElement> &\n Record<string, unknown>,\n) {\n if (!React.isValidElement(icon)) return icon;\n\n return cloneElement(icon as React.ReactElement<unknown>, {\n ...globalDefaultFormatAttributes,\n ...defaultFormatAttributes,\n ...(icon.props as object),\n ...{\n className: clsx(\n globalDefaultFormatAttributes.className,\n defaultFormatAttributes.className,\n (icon.props as { className: string }).className,\n ),\n },\n });\n}\n","import { type SVGProps } from \"react\";\n\nexport const IconAlert = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M11 7C11 6.44772 11.4477 6 12 6C12.5523 6 13 6.44772 13 7V14C13 14.5523 12.5523 15 12 15C11.4477 15 11 14.5523 11 14V7Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 17C11 16.4477 11.4477 16 12 16C12.5523 16 13 16.4477 13 17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8.65848 2C8.12296 2 7.6098 2.21477 7.23392 2.59621L2.57544 7.32363C2.2067 7.69782 2 8.20208 2 8.72742V15.3415C2 15.877 2.21477 16.3902 2.59621 16.7661L7.32363 21.4246C7.69782 21.7933 8.20208 22 8.72742 22H15.3415C15.877 22 16.3902 21.7852 16.7661 21.4038L21.4246 16.6764C21.7933 16.3022 22 15.7979 22 15.2726V8.65848C22 8.12296 21.7852 7.6098 21.4038 7.23392L16.6764 2.57544C16.3022 2.2067 15.7979 2 15.2726 2H8.65848ZM8.65848 4H15.2726L20 8.65848V15.2726L15.3415 20H8.72742L4 15.3415V8.72742L8.65848 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import clsx from \"clsx\";\n\nconst defaultButtonStyling =\n \"justify-center group relative whitespace-nowrap flex items-center gap-2 cursor-pointer border rounded py-2 px-5 text-xs md:text-sm md:font-medium font-medium hover:outline-hidden focus:outline-hidden disabled:cursor-not-allowed transition-colors duration-100 ease-in-out\";\n\nexport const buttonVariants = {\n primary: clsx(\n defaultButtonStyling,\n \"btn-primary btn-primary-boxShadow hover:btn-primary-boxShadow-hover active:btn-primary-boxShadow-active hover:-translate-y-[3px] active:translate-y-[2px]\",\n ),\n primaryGlow: clsx(\n defaultButtonStyling,\n \"btn-primary btn-shadow btn-glow\",\n ),\n secondary: clsx(\n defaultButtonStyling,\n \"btn-secondary btn-secondary-boxShadow hover:btn-secondary-boxShadow-hover active:btn-secondary-boxShadow-active hover:-translate-y-[3px] active:translate-y-[2px]\",\n ),\n alternative: clsx(\n defaultButtonStyling,\n \"btn-alternative\",\n ),\n alternative2: clsx(\n defaultButtonStyling,\n \"btn-alternative2\",\n ),\n tertiary: clsx(\n defaultButtonStyling,\n \"btn-tertiary\",\n ),\n quaternary: clsx(\n defaultButtonStyling,\n \"btn-quaternary\",\n ),\n danger: clsx(\n defaultButtonStyling,\n \"border-transparent bg-red-500 text-white hover:bg-red-700 disabled:bg-red-100 disabled:hover:bg-red-100\",\n ),\n 'outline-danger': clsx(\n defaultButtonStyling,\n \"border-[var(--danger-red)] text-[var(--danger-red)] hover:text-white hover:bg-[var(--danger-red)] disabled:border-[var(--danger-red-disabled)] disabled:text-[var(--danger-red-disabled)] font-bold\",\n ),\n link: clsx(\n defaultButtonStyling,\n \"border-transparent bg-transparent text-accent-blue hover:bg-gray-50 disabled:bg-transparent disabled:text-gray-800 disabled:hover:bg-transparent\",\n ),\n icon: clsx( \n \"border-transparent bg-transparent p-0 m-0\",\n ),\n outline: clsx(\n defaultButtonStyling,\n \"btn-outline btn-outline-border\",\n ),\n // Brand-specific variants\n 'prijsvrij-primary': clsx(\n defaultButtonStyling,\n \"border-transparent bg-prijsvrij-primary text-white hover:bg-prijsvrij-600 disabled:bg-prijsvrij-100 disabled:text-prijsvrij-700\",\n ),\n 'dreizen-primary': clsx(\n defaultButtonStyling,\n \"border-transparent bg-dreizen-primary text-white hover:bg-dreizen-600 disabled:bg-dreizen-100 disabled:text-dreizen-700\",\n ),\n search: clsx(\n defaultButtonStyling,\n \"absolute top-0 right-0 h-full w-[50px] border-0 bg-transparent bg-no-repeat\",\n ),\n textButton: clsx(\n \"justify-center group relative flex items-center gap-2 cursor-pointer text-base md:text-sm md:font-medium font-medium hover:outline-hidden focus:outline-hidden disabled:cursor-not-allowed transition-colors duration-100 ease-in-out btn-text btn-text-color btn-text-hover-color\",\n ),\n} as const;\n","\"use client\";\nimport { forwardRef, type ButtonHTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport formatIcon from \"@utils/formatIcon\";\nimport clsx from \"clsx\";\n\nimport { IconAlert } from \"../../icons/IconAlert\";\n\nimport { buttonVariants } from \"./buttonVariants\";\n\nexport interface ButtonProps extends Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n \"children\"\n> {\n variant?: keyof typeof buttonVariants;\n ariaLabel?: string;\n isLoading?: boolean;\n block?: boolean;\n dataTestId?: string;\n icon?: React.ReactNode;\n iconRight?: boolean;\n children?: React.ReactNode;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n {\n type = \"button\" as const,\n variant = \"primary\",\n ariaLabel,\n block = false,\n isLoading = false,\n icon: iconFromProps = null,\n iconRight = false,\n onClick,\n className,\n children,\n dataTestId,\n ...props\n },\n ref,\n) {\n const loadingIcon = (\n <IconAlert className=\"animate-spin-slow mr-2 stroke-current\" />\n );\n const icon = isLoading ? loadingIcon : iconFromProps;\n\n const formattedIcon = icon\n ? formatIcon(icon, {\n className: clsx(\n {\n \"-mr-2\": iconRight,\n \"-ml-2\": !iconRight,\n },\n icon === loadingIcon ? \"text-current\" : \"size-[1.125rem]\",\n ),\n })\n : null;\n\n const handleOnClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n };\n\n return (\n <button\n ref={ref}\n type={type}\n aria-label={ariaLabel}\n data-testid={dataTestId}\n className={cn(\n buttonVariants[variant],\n block && \"w-full text-sm\",\n className,\n )}\n onClick={handleOnClick}\n {...props}\n >\n {(!iconRight && formattedIcon) && <span className=\"w-4 h-4 justify-center flex items-center\">{formattedIcon}</span>}\n {children}\n {(iconRight && formattedIcon) && <span className=\"w-4 h-4 justify-center flex items-center\">{formattedIcon}</span>}\n </button>\n );\n});\n\nButton.displayName = \"Button\";\n","import { type SVGProps } from \"react\";\n\nexport const IconHeartFilled = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M16 3C19.3136 3 21.9998 5.68713 22 9.00195C22 11.0421 20.7669 12.648 19.7168 13.7012L13.4248 20.4033L13.4141 20.4141C12.633 21.1953 11.367 21.1953 10.5859 20.4141L10.5752 20.4033L4.2832 13.7012C3.2331 12.648 2 11.0421 2 9.00195C2.00023 5.68713 4.68643 3 8 3C9.53702 3 10.9392 3.57871 12 4.52832C13.0608 3.57871 14.463 3 16 3Z\" fill=\"currentColor\"/>\n</svg>\n);","\"use client\";\nimport clsx from \"clsx\";\nimport { IconHeartFilled } from \"../../icons/IconHeartFilled\";\n\ninterface DividerProps {\n \"data-testid\"?: string;\n className?: string;\n icon: React.ReactNode;\n count: number;\n allowZero?: boolean;\n onClick?: () => void;\n id?: string;\n isPop?: boolean;\n isFilled?: boolean;\n}\n\nexport const CounterIcon = ({ className, icon, id, count, allowZero = false, onClick, isPop = false, isFilled = false, ...props }: DividerProps) => {\n return (\n <div\n id={id}\n data-component=\"counter-icon\"\n className={clsx(`counter-icon-wrapper rounded-full w-7 h-7 p-1 relative ${onClick && 'counter-icon-clickable'}`, className)}\n {...props}\n onClick={onClick}\n >\n {(count > 0 || allowZero) && <span className=\"counter-icon-count absolute right-0 top-0 rounded-full w-3 h-3 flex items-center justify-center text-white text-[8px] leading-none\" style={{ zIndex: 100000 }}>{count}</span>}\n <span className={clsx(\"counter-icon w-6 h-6\", isPop && \"counter-icon-pop\")}>\n {isFilled ? <IconHeartFilled className=\"text-red-600\" /> : icon}\n </span>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface DividerProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const Divider = ({ className, ...props }: DividerProps) => (\n <div\n data-component=\"divider\"\n className={clsx(\"block h-px w-full bg-gray-100\", className)}\n {...props}\n />\n);\n","import { type SVGProps } from \"react\";\n\nexport const IconInfo = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z\" fill=\"currentColor\"/>\r\n<path d=\"M14.3491 15.9206L14.1911 16.4921C13.717 16.6571 13.3386 16.782 13.056 16.8667C12.7735 16.9556 12.4454 17 12.0718 17C11.4971 17 11.0493 16.8772 10.7284 16.6317C10.4124 16.382 10.2543 16.0667 10.2543 15.6857C10.2543 15.5376 10.2663 15.3873 10.2902 15.2349C10.3142 15.0783 10.3525 14.9026 10.4052 14.7079L10.9943 12.854C11.0469 12.6762 11.09 12.509 11.1236 12.3524C11.1619 12.1915 11.181 12.0455 11.181 11.9143C11.181 11.6772 11.126 11.5122 11.0158 11.419C10.9057 11.3259 10.6949 11.2794 10.3836 11.2794C10.2304 11.2794 10.0723 11.3005 9.90948 11.3429C9.75144 11.3852 9.61494 11.4254 9.5 11.4635L9.65805 10.8921C10.046 10.7524 10.4171 10.6339 10.7716 10.5365C11.126 10.4349 11.4612 10.3841 11.7773 10.3841C12.3472 10.3841 12.7854 10.5069 13.092 10.7524C13.4033 10.9937 13.5589 11.309 13.5589 11.6984C13.5589 11.7788 13.5469 11.9206 13.523 12.1238C13.5038 12.327 13.4655 12.5132 13.408 12.6825L12.819 14.5302C12.7711 14.6783 12.728 14.8476 12.6897 15.0381C12.6513 15.2286 12.6322 15.3725 12.6322 15.4698C12.6322 15.7153 12.6944 15.8825 12.819 15.9714C12.9435 16.0603 13.159 16.1048 13.4655 16.1048C13.6092 16.1048 13.772 16.0836 13.954 16.0413C14.136 15.9947 14.2677 15.9545 14.3491 15.9206ZM14.5 8.16825C14.5 8.48995 14.3611 8.76508 14.0833 8.99365C13.8103 9.21799 13.4799 9.33016 13.092 9.33016C12.704 9.33016 12.3712 9.21799 12.0934 8.99365C11.8156 8.76508 11.6767 8.48995 11.6767 8.16825C11.6767 7.84656 11.8156 7.57143 12.0934 7.34286C12.3712 7.11429 12.704 7 13.092 7C13.4799 7 13.8103 7.11429 14.0833 7.34286C14.3611 7.57143 14.5 7.84656 14.5 8.16825Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconMap = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M17 8C17 10.7614 15 15 12 18C9 15 7 10.7614 7 8C7 5.23858 9.23858 3 12 3C14.7614 3 17 5.23858 17 8ZM14 8C14 9.10457 13.1046 10 12 10C10.8954 10 10 9.10457 10 8C10 6.89543 10.8954 6 12 6C13.1046 6 14 6.89543 14 8Z\" fill=\"currentColor\"/>\r\n<path d=\"M7.38659 16.6741C7.50003 16.6336 7.61847 16.5944 7.74162 16.5567C7.38201 15.9683 7.04687 15.3749 6.73815 14.782L6.71392 14.7906C6.01803 15.0391 5.38405 15.3584 4.90494 15.7629C4.43048 16.1636 4 16.7464 4 17.5001C4 18.2538 4.43048 18.8366 4.90494 19.2373C5.38405 19.6418 6.01803 19.9611 6.71392 20.2096C8.1144 20.7098 9.98341 21.0001 12 21.0001C14.0166 21.0001 15.8856 20.7098 17.2861 20.2096C17.982 19.9611 18.616 19.6418 19.0951 19.2373C19.5695 18.8366 20 18.2538 20 17.5001C20 16.7464 19.5695 16.1636 19.0951 15.7629C18.616 15.3584 17.982 15.0391 17.2861 14.7906L17.2619 14.782C16.9532 15.375 16.6181 15.9683 16.2584 16.5568C16.3816 16.5944 16.5 16.6336 16.6134 16.6741C17.1843 16.878 17.5754 17.0974 17.8048 17.2911C17.9296 17.3965 17.9768 17.4669 17.9937 17.5001C17.9768 17.5333 17.9296 17.6038 17.8048 17.7092C17.5754 17.9028 17.1843 18.1223 16.6134 18.3261C15.4804 18.7308 13.8494 19.0001 12 19.0001C10.1506 19.0001 8.5196 18.7308 7.38659 18.3261C6.81573 18.1223 6.42458 17.9028 6.19525 17.7092C6.07042 17.6038 6.02321 17.5333 6.00633 17.5001C6.02321 17.4669 6.07042 17.3965 6.19525 17.2911C6.42458 17.0974 6.81573 16.878 7.38659 16.6741Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCalendar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M9 13V11H7V13H9Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 11H13V13H11V11Z\" fill=\"currentColor\"/>\r\n<path d=\"M17 13V11H15V13H17Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8 3H6V5C4.34315 5 3 6.34314 3 8V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V8C21 6.34314 19.6569 5 18 5V3H16V5H8V3ZM5 10C5 9.44772 5.44772 9 6 9H18C18.5523 9 19 9.44772 19 10V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V10Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconClock = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M6.98291 5.57413C7.00605 5.59343 7.02852 5.61394 7.05025 5.63567L12.5905 11.1759C12.6104 11.1958 12.6293 11.2164 12.6472 11.2375C12.8631 11.4209 13 11.6944 13 11.9998C13 12.5521 12.5523 12.9998 12 12.9998C11.6939 12.9998 11.4199 12.8623 11.2365 12.6456C11.2158 12.6281 11.1957 12.6096 11.1763 12.5901L6.39377 7.80762C5.51847 8.97624 5 10.4276 5 12C5 15.866 8.13401 19 12 19C15.866 19 19 15.866 19 12C19 8.47353 16.3923 5.55612 13 5.07089V7C13 7.55228 12.5523 8 12 8C11.4477 8 11 7.55228 11 7L11 3.95048C11 3.44071 11.3838 3.00653 11.8935 3.00062C11.929 3.00021 11.9645 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 9.52353 4.00023 7.28068 5.61874 5.65339C5.62441 5.64743 5.63018 5.64152 5.63603 5.63567C5.6419 5.6298 5.64783 5.62402 5.6538 5.61832C5.67239 5.59984 5.69105 5.58144 5.7098 5.56312C6.06429 5.21666 6.6211 5.241 6.98291 5.57413Z\" fill=\"currentColor\"/>\r\n<path d=\"M18 12C18 12.5523 17.5523 13 17 13C16.4477 13 16 12.5523 16 12C16 11.4477 16.4477 11 17 11C17.5523 11 18 11.4477 18 12Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 18C12.5523 18 13 17.5523 13 17C13 16.4477 12.5523 16 12 16C11.4477 16 11 16.4477 11 17C11 17.5523 11.4477 18 12 18Z\" fill=\"currentColor\"/>\r\n<path d=\"M8 12C8 12.5523 7.55228 13 7 13C6.44772 13 6 12.5523 6 12C6 11.4477 6.44772 11 7 11C7.55228 11 8 11.4477 8 12Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconEdit = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M4 16.8538V19.5556C4 19.8045 4.19553 20 4.44438 20H7.14624C7.26178 20 7.37732 19.9556 7.45731 19.8667L17.1627 10.1702L13.8298 6.83734L4.13332 16.5338C4.04444 16.6227 4 16.7293 4 16.8538ZM19.7401 7.5928C19.8225 7.51057 19.8878 7.41291 19.9324 7.30539C19.977 7.19787 20 7.08261 20 6.96621C20 6.84981 19.977 6.73456 19.9324 6.62704C19.8878 6.51952 19.8225 6.42186 19.7401 6.33963L17.6604 4.25991C17.5781 4.17752 17.4805 4.11216 17.373 4.06756C17.2654 4.02296 17.1502 4 17.0338 4C16.9174 4 16.8021 4.02296 16.6946 4.06756C16.5871 4.11216 16.4894 4.17752 16.4072 4.25991L14.7808 5.88636L18.1136 9.21924L19.7401 7.5928Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSearch = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M15.0493 16.4632C13.7874 17.4273 12.2106 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5C18 12.2105 17.4274 13.7872 16.4635 15.049L20.7071 19.2926C21.0976 19.6831 21.0976 20.3163 20.7071 20.7068C20.3166 21.0974 19.6834 21.0974 19.2929 20.7068L15.0493 16.4632ZM16 10.5C16 13.5376 13.5376 16 10.5 16C7.46243 16 5 13.5376 5 10.5C5 7.46243 7.46243 5 10.5 5C13.5376 5 16 7.46243 16 10.5Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconLuggage = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M16 5C16 4.44772 15.5523 4 15 4H9C8.44772 4 8 4.44772 8 5V8H7V15C7 15.5523 6.55228 16 6 16C5.44772 16 5 15.5523 5 15V8C3.89543 8 3 8.89543 3 10V18C3 19.1046 3.89543 20 5 20H19C20.1046 20 21 19.1046 21 18V10C21 8.89543 20.1046 8 19 8V15C19 15.5523 18.5523 16 18 16C17.4477 16 17 15.5523 17 15V8H16V5ZM14 8H10V6H14V8Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSeat = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 14 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M1.17015 0C0.555665 0 0.0865475 0.548998 0.182384 1.15596L2.51319 15.9177C2.66491 16.8787 3.96031 17.0791 4.39538 16.209L5.81462 13.3705C5.93323 13.1333 5.95275 12.8587 5.86888 12.607L3.27612 4.82877C3.0957 4.2875 3.07336 3.706 3.21174 3.15248L3.3786 2.48507C3.69417 1.22278 2.73945 0 1.43831 0H1.17015Z\" fill=\"currentColor\"/>\r\n<path d=\"M7.6179 14C7.23913 14 6.89286 14.214 6.72347 14.5528L5.72347 16.5528C5.39102 17.2177 5.87452 18 6.6179 18H12.9999C13.5521 18 13.9999 17.5523 13.9999 17V16C13.9999 14.8954 13.1044 14 11.9999 14H7.6179Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconHot = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M10 17.0252C11.2946 16.6929 11.9598 15.7056 12.1396 14.8322C12.4363 13.4746 11.2766 12.1455 12.0587 10C12.3554 11.7753 14.9985 12.886 14.9985 14.8227C15.0704 17.2246 12.6071 19.2847 10 17.0252Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M16.691 13.2711L16.6808 13.2445C16.4834 12.73 16.1453 12.2864 15.6287 11.7945C15.365 11.5434 15.0771 11.3 14.7429 11.0213C14.7142 10.9973 14.685 10.9731 14.6555 10.9484C14.3569 10.6997 14.0172 10.4167 13.6937 10.1192C12.9748 9.45828 12.177 8.58773 11.7024 7.36932C11.6427 7.21605 11.5893 7.06041 11.5422 6.90231C11.3184 7.23586 11.1283 7.58974 10.9772 7.96134C10.4547 9.24731 10.3392 10.8923 11.1265 12.9187C11.5676 14.0531 11.09 15.1432 10.3639 15.7191C9.62777 16.3029 8.40627 16.5271 7.39187 15.7503C7.35603 15.7231 7.32068 15.6956 7.28583 15.668C7.62188 16.6528 8.19411 17.3355 8.80083 17.8238C9.74091 18.5804 10.7894 18.8809 11.2159 18.9367C12.9722 19.161 14.6046 18.7986 15.6852 17.81C16.9191 16.6578 17.3442 14.8387 16.702 13.2973L16.691 13.2711ZM17.0428 19.2787C15.3886 20.7974 13.0869 21.1924 10.9601 20.9203C9.47228 20.7271 5.33258 19.2173 5 14.3014C5 13.5919 5.06161 12.9587 5.16488 12.3955C5.25343 11.9126 5.37261 11.4812 5.50982 11.0976C5.67938 10.6236 5.87649 10.2225 6.07739 9.88729C6.07771 9.88675 6.07804 9.8862 6.07837 9.88566C6.1185 9.81873 6.15878 9.75443 6.19903 9.69269C6.29502 9.54993 6.43983 9.49256 6.57996 9.50109C6.81036 9.51513 7.02811 9.70732 6.99546 9.99116C6.98779 10.0589 6.98104 10.1282 6.97539 10.1988C6.97499 10.2038 6.97459 10.2089 6.9742 10.2139C6.94448 10.5969 6.94741 11.0178 7.01193 11.4501C7.0545 11.7353 7.1239 12.0256 7.22843 12.3132C7.30894 12.5347 7.41028 12.7546 7.53626 12.9695C7.7457 13.3267 8.02324 13.67 8.38633 13.9833C8.38671 13.9836 8.38708 13.9839 8.38746 13.9842C8.45707 14.0443 8.52982 14.1032 8.60583 14.1609C8.94716 14.4242 9.41977 14.0468 9.26223 13.643C9.23317 13.5682 9.20508 13.4936 9.17794 13.4194C9.17695 13.4167 9.17596 13.414 9.17496 13.4112C9.03075 13.0157 8.9136 12.6279 8.82178 12.2481C8.64711 11.5258 8.56408 10.8326 8.56069 10.1712C8.56069 10.1702 8.56068 10.1692 8.56068 10.1682C8.5583 9.66765 8.60155 9.1853 8.68522 8.72232C9.02322 6.85204 10.0209 5.29781 11.335 4.13427C11.408 4.06961 11.482 4.00616 11.5569 3.94392C11.8312 3.71608 12.1179 3.50458 12.4139 3.31005C12.414 3.30995 12.4142 3.30985 12.4143 3.30975C12.5434 3.22492 12.6743 3.14332 12.8068 3.065C13.1394 2.8631 13.5507 3.16156 13.4632 3.54781C13.4281 3.7025 13.3983 3.85276 13.3737 3.99882C13.3726 4.0053 13.3715 4.01178 13.3705 4.01824C13.313 4.36471 13.2843 4.68746 13.2811 4.98943C13.2806 5.03985 13.2807 5.08968 13.2816 5.13896C13.3185 7.23099 14.6066 8.30434 15.9398 9.41527C16.9657 10.2702 18.0184 11.1473 18.5481 12.5281C19.5284 14.8807 18.8632 17.5845 17.0428 19.2787Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconHeart = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8 5.00079C5.79086 5.00079 4 6.79236 4 9.00237C4 10.2291 4.75819 11.3473 5.70858 12.298L5.71965 12.3091L12 18.9985L18.2803 12.3091L18.2914 12.298C19.2418 11.3473 20 10.2291 20 9.00237C20 6.79236 18.2091 5.00079 16 5.00079C14.6922 5.00079 13.531 5.62763 12.7995 6.60161L12 7.66615L11.2005 6.60161C10.469 5.62764 9.30784 5.00079 8 5.00079ZM2 9.00237C2 5.68735 4.68629 3 8 3C9.53707 3 10.9392 3.57886 12 4.52852C13.0608 3.57886 14.4629 3 16 3C19.3137 3 22 5.68735 22 9.00237C22 11.0426 20.7671 12.6483 19.7169 13.7015L13.4253 20.4029L13.4142 20.414C12.6332 21.1953 11.3668 21.1953 10.5858 20.414L10.5747 20.4029L4.28307 13.7015C3.23295 12.6483 2 11.0426 2 9.00237Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconRating = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 4L14.4721 9.26687L20 10.1115L16 14.2111L16.9443 20L12 17.2669L7.05573 20L8 14.2111L4 10.1115L9.52786 9.26687L12 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSun = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M13 1C13 0.447715 12.5523 0 12 0C11.4477 0 11 0.447715 11 1V3C11 3.55228 11.4477 4 12 4C12.5523 4 13 3.55228 13 3V1Z\" fill=\"currentColor\"/>\r\n<path d=\"M13 21C13 20.4477 12.5523 20 12 20C11.4477 20 11 20.4477 11 21V23C11 23.5523 11.4477 24 12 24C12.5523 24 13 23.5523 13 23V21Z\" fill=\"currentColor\"/>\r\n<path d=\"M1 11C0.447715 11 0 11.4477 0 12C0 12.5523 0.447715 13 1 13H3C3.55228 13 4 12.5523 4 12C4 11.4477 3.55228 11 3 11H1Z\" fill=\"currentColor\"/>\r\n<path d=\"M20 12C20 11.4477 20.4477 11 21 11H23C23.5523 11 24 11.4477 24 12C24 12.5523 23.5523 13 23 13H21C20.4477 13 20 12.5523 20 12Z\" fill=\"currentColor\"/>\r\n<path d=\"M20.4853 4.92893C20.8758 4.53841 20.8758 3.90524 20.4853 3.51472C20.0948 3.12419 19.4616 3.12419 19.0711 3.51472L17.6569 4.92893C17.2663 5.31946 17.2663 5.95262 17.6569 6.34315C18.0474 6.73367 18.6805 6.73367 19.0711 6.34315L20.4853 4.92893Z\" fill=\"currentColor\"/>\r\n<path d=\"M6.34315 19.0711C6.73367 18.6805 6.73367 18.0474 6.34315 17.6569C5.95262 17.2663 5.31946 17.2663 4.92893 17.6569L3.51472 19.0711C3.12419 19.4616 3.12419 20.0948 3.51472 20.4853C3.90524 20.8758 4.53841 20.8758 4.92893 20.4853L6.34315 19.0711Z\" fill=\"currentColor\"/>\r\n<path d=\"M4.92893 3.51472C4.53841 3.12419 3.90524 3.12419 3.51472 3.51472C3.12419 3.90524 3.12419 4.53841 3.51472 4.92893L4.92893 6.34315C5.31946 6.73367 5.95262 6.73367 6.34315 6.34315C6.73367 5.95262 6.73367 5.31946 6.34315 4.92893L4.92893 3.51472Z\" fill=\"currentColor\"/>\r\n<path d=\"M17.6569 17.6569C18.0474 17.2663 18.6805 17.2663 19.0711 17.6569L20.4853 19.0711C20.8758 19.4616 20.8758 20.0948 20.4853 20.4853C20.0948 20.8758 19.4616 20.8758 19.0711 20.4853L17.6569 19.0711C17.2663 18.6805 17.2663 18.0474 17.6569 17.6569Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16ZM12 18C15.3137 18 18 15.3137 18 12C18 8.68629 15.3137 6 12 6C8.68629 6 6 8.68629 6 12C6 15.3137 8.68629 18 12 18Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSplash = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M5.3851 8.5654C5.03037 8.75889 4.52349 9 4 9C3.44772 9 3 8.55229 3 8C3 7.44772 3.44772 7 4 7C3.99498 7 3.99643 6.99959 4.00508 6.99718C4.03688 6.9883 4.16582 6.95228 4.4274 6.8096C4.72446 6.64757 5.0603 6.42462 5.4453 6.16795L5.46619 6.15402C5.82605 5.9141 6.23189 5.64352 6.6149 5.4346C6.96963 5.24111 7.47651 5 8 5C8.57359 5 9.03918 5.28156 9.34231 5.49553C9.5478 5.64059 9.78545 5.83717 9.99547 6.0109C10.0871 6.08669 10.1736 6.15823 10.2497 6.21913C10.8377 6.68956 11.358 7 12 7C12.642 7 13.1623 6.68956 13.7503 6.21913C13.8265 6.1582 13.9129 6.08674 14.0045 6.01092C14.2145 5.83719 14.4522 5.64059 14.6577 5.49552C14.9608 5.28155 15.4264 4.99999 16 5C16.5235 5.00001 17.0304 5.24112 17.3851 5.43461C17.7681 5.64352 18.1739 5.9141 18.5338 6.15402L18.5547 6.16795C18.9397 6.42462 19.2755 6.64757 19.5726 6.80961C19.8342 6.95228 19.9631 6.9883 19.9949 6.99718C20.0036 6.99959 20.005 7 20 7C20.5523 7 21 7.44772 21 8C21 8.55229 20.5523 9 20 9C19.4765 9 18.9696 8.75889 18.6149 8.5654C18.2319 8.35649 17.8261 8.08592 17.4662 7.846L17.4453 7.83206C17.0603 7.57539 16.7245 7.35244 16.4274 7.1904C16.1883 7.06 16.06 7.01869 16.0155 7.00577C15.9859 7.01901 15.9209 7.05189 15.8111 7.12946C15.6657 7.23207 15.5336 7.34176 15.3662 7.48083C15.2618 7.56759 15.1435 7.6658 14.9997 7.78086C14.3377 8.31043 13.358 9 12 9C10.642 9 9.66227 8.31044 9.0003 7.78087C8.85648 7.66581 8.73824 7.5676 8.63378 7.48083C8.46636 7.34176 8.33431 7.23208 8.18894 7.12947C8.07904 7.05189 8.01409 7.01901 7.98453 7.00577C7.93995 7.01869 7.81167 7.05999 7.5726 7.1904C7.27554 7.35243 6.9397 7.57538 6.5547 7.83205L6.5338 7.84599C6.17394 8.08591 5.7681 8.35649 5.3851 8.5654Z\" fill=\"currentColor\"/>\r\n<path d=\"M5.3851 12.5654C5.03037 12.7589 4.52349 13 4 13C3.44772 13 3 12.5523 3 12C3 11.4477 3.44772 11 4 11C3.99498 11 3.99643 10.9996 4.00508 10.9972C4.03688 10.9883 4.16582 10.9523 4.4274 10.8096C4.72446 10.6476 5.0603 10.4246 5.4453 10.168L5.46619 10.154C5.82605 9.9141 6.23189 9.64352 6.6149 9.4346C6.96963 9.24111 7.47651 9 8 9C8.57359 9 9.03918 9.28156 9.34231 9.49553C9.5478 9.64059 9.78546 9.83718 9.99548 10.0109C10.0871 10.0867 10.1736 10.1582 10.2497 10.2191C10.8377 10.6896 11.358 11 12 11C12.642 11 13.1623 10.6896 13.7503 10.2191C13.8265 10.1582 13.9129 10.0867 14.0045 10.0109C14.2145 9.83718 14.4522 9.64058 14.6577 9.49552C14.9608 9.28155 15.4264 8.99999 16 9C16.5235 9.00001 17.0304 9.24112 17.3851 9.43461C17.7681 9.64352 18.1739 9.91408 18.5338 10.154L18.5547 10.168C18.9397 10.4246 19.2755 10.6476 19.5726 10.8096C19.8342 10.9523 19.9631 10.9883 19.9949 10.9972C20.0036 10.9996 20.005 11 20 11C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13C19.4765 13 18.9696 12.7589 18.6149 12.5654C18.2319 12.3565 17.8261 12.0859 17.4662 11.846L17.4453 11.8321C17.0603 11.5754 16.7245 11.3524 16.4274 11.1904C16.1883 11.06 16.06 11.0187 16.0155 11.0058C15.9859 11.019 15.9209 11.0519 15.8111 11.1295C15.6657 11.2321 15.5336 11.3418 15.3662 11.4808C15.2618 11.5676 15.1435 11.6658 14.9997 11.7809C14.3377 12.3104 13.358 13 12 13C10.642 13 9.66227 12.3104 9.0003 11.7809C8.85648 11.6658 8.73825 11.5676 8.63379 11.4808C8.46637 11.3418 8.33431 11.2321 8.18894 11.1295C8.07904 11.0519 8.01409 11.019 7.98453 11.0058C7.93995 11.0187 7.81167 11.06 7.5726 11.1904C7.27554 11.3524 6.9397 11.5754 6.5547 11.8321L6.5338 11.846C6.17394 12.0859 5.7681 12.3565 5.3851 12.5654Z\" fill=\"currentColor\"/>\r\n<path d=\"M4 17C4.52349 17 5.03037 16.7589 5.3851 16.5654C5.7681 16.3565 6.17394 16.0859 6.5338 15.846L6.5547 15.8321C6.9397 15.5754 7.27554 15.3524 7.5726 15.1904C7.81167 15.06 7.93995 15.0187 7.98453 15.0058C8.01409 15.019 8.07904 15.0519 8.18894 15.1295C8.33431 15.2321 8.46636 15.3418 8.63378 15.4808C8.73824 15.5676 8.85648 15.6658 9.0003 15.7809C9.66227 16.3104 10.642 17 12 17C13.358 17 14.3377 16.3104 14.9997 15.7809C15.1435 15.6658 15.2618 15.5676 15.3662 15.4808C15.5336 15.3418 15.6657 15.2321 15.8111 15.1295C15.9209 15.0519 15.9859 15.019 16.0155 15.0058C16.06 15.0187 16.1883 15.06 16.4274 15.1904C16.7245 15.3524 17.0603 15.5754 17.4453 15.8321L17.4662 15.846C17.826 16.0859 18.2319 16.3565 18.6149 16.5654C18.9696 16.7589 19.4765 17 20 17C20.5523 17 21 16.5523 21 16C21 15.4477 20.5523 15 20 15C20.005 15 20.0036 14.9996 19.9949 14.9972C19.9631 14.9883 19.8342 14.9523 19.5726 14.8096C19.2755 14.6476 18.9397 14.4246 18.5547 14.168L18.5338 14.154C18.1739 13.9141 17.7681 13.6435 17.3851 13.4346C17.0304 13.2411 16.5235 13 16 13C15.4264 13 14.9608 13.2815 14.6577 13.4955C14.4522 13.6406 14.2145 13.8372 14.0045 14.0109C13.9129 14.0867 13.8265 14.1582 13.7503 14.2191C13.1623 14.6896 12.642 15 12 15C11.358 15 10.8377 14.6896 10.2497 14.2191C10.1735 14.1582 10.0871 14.0867 9.99548 14.0109C9.78546 13.8372 9.5478 13.6406 9.34231 13.4955C9.03918 13.2816 8.57359 13 8 13C7.47651 13 6.96963 13.2411 6.6149 13.4346C6.2319 13.6435 5.82606 13.9141 5.46621 14.154L5.4453 14.1679C5.0603 14.4246 4.72446 14.6476 4.4274 14.8096C4.16582 14.9523 4.03688 14.9883 4.00508 14.9972C3.99644 14.9996 3.99498 15 4 15C3.44772 15 3 15.4477 3 16C3 16.5523 3.44772 17 4 17Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTree = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M14.6014 7.44715C11.2914 7.27553 9.5586 7.74686 6.6807 9.56949C6.43579 7.54614 7.70182 5.60113 9.71735 5.06107C11.7329 4.52101 13.8018 5.57242 14.6014 7.44715Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.2268 11.2126C16.2128 8.9312 14.8554 7.93247 12 6.69586C13.3237 5.32977 15.4844 5.10896 17.0689 6.25831C18.6534 7.40766 19.1144 9.53021 18.2268 11.2126Z\" fill=\"currentColor\"/>\r\n<path d=\"M20.6899 6.52825C17.7349 5.9165 16.0505 5.86372 13 6.32922C13.3085 4.81963 14.9576 3.69576 16.9144 3.7464C18.8712 3.79705 20.4599 5.00472 20.6899 6.52825Z\" fill=\"currentColor\"/>\r\n<path d=\"M19.0773 2.6996C16.8822 3.4223 15.924 4.16368 14.7384 6.11787C14.0045 4.87386 14.2371 3.28997 15.3412 2.42014C16.4453 1.55032 18.0396 1.69496 19.0773 2.6996Z\" fill=\"currentColor\"/>\r\n<path d=\"M13.9196 7.5119C11.2958 5.061 9.57143 4.27747 6.01511 4.01318C7.15738 2.18028 9.48676 1.41374 11.4982 2.30404C13.5096 3.19434 14.5084 5.434 13.9196 7.5119Z\" fill=\"currentColor\"/>\r\n<path d=\"M12.7032 7.07941C13.3936 3.73001 12.8716 2.24907 10.8326 0.0981352C12.6702 -0.132278 14.4263 0.972421 14.9023 2.7489C15.3783 4.52539 14.4099 6.36012 12.7032 7.07941Z\" fill=\"currentColor\"/>\r\n<path d=\"M10.1261 22.9999C10.1261 14.4999 10.5 12.4999 12.8754 5.99988C12.7303 7.05514 14 5.99988 14 5.99988C13.0085 13.5315 12.2576 18.6421 15 22.9999H10.1261Z\" fill=\"currentColor\"/>\r\n<path d=\"M15.5 7.49988C15.5 8.8806 14.3807 9.99988 13 9.99988C11.6193 9.99988 10.5 8.8806 10.5 7.49988C10.5 6.11917 11.6193 4.99988 13 4.99988C14.3807 4.99988 15.5 6.11917 15.5 7.49988Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCarSun = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M14 0C14.5523 0 15 0.447715 15 1V2C15 2.55228 14.5523 3 14 3C13.4477 3 13 2.55228 13 2V1C13 0.447715 13.4477 0 14 0Z\" fill=\"currentColor\"/>\r\n<path d=\"M9.41603 8.00003C10.1876 6.23411 11.9497 5 14 5C16.7614 5 19 7.23858 19 10C19 12.1002 17.7051 13.8979 15.8702 14.6385C15.8479 14.553 15.8227 14.4682 15.7947 14.3842L15.2436 12.7309C16.2798 12.2583 17 11.2132 17 10C17 8.34315 15.6569 7 14 7C13.1115 7 12.3132 7.38625 11.7639 8L9.41603 8.00003Z\" fill=\"currentColor\"/>\r\n<path d=\"M6.92891 2.92888C7.31943 2.53836 7.9526 2.53836 8.34312 2.92888L9.05023 3.63599C9.44075 4.02651 9.44075 4.65968 9.05023 5.0502C8.65971 5.44072 8.02654 5.44072 7.63602 5.0502L6.92891 4.34309C6.53839 3.95257 6.53839 3.3194 6.92891 2.92888Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.9497 14.9497C19.3403 14.5592 19.9734 14.5592 20.3639 14.9497L21.071 15.6568C21.4616 16.0473 21.4616 16.6805 21.071 17.071C20.6805 17.4615 20.0474 17.4615 19.6568 17.071L18.9497 16.3639C18.5592 15.9734 18.5592 15.3402 18.9497 14.9497Z\" fill=\"currentColor\"/>\r\n<path d=\"M21 10C21 9.44771 21.4477 9 22 9H23C23.5523 9 24 9.44771 24 10C24 10.5523 23.5523 11 23 11H22C21.4477 11 21 10.5523 21 10Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.9498 5.05015C18.5592 4.65963 18.5592 4.02646 18.9498 3.63594L19.6569 2.92883C20.0474 2.53831 20.6806 2.53831 21.0711 2.92883C21.4616 3.31936 21.4616 3.95252 21.0711 4.34305L20.364 5.05015C19.9734 5.44068 19.3403 5.44068 18.9498 5.05015Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M3.77482 8.00009C2.91396 8.00009 2.14968 8.55095 1.87745 9.36764L0.205267 14.3842C0.0693116 14.7921 0 15.2192 0 15.6491V21C0 21.5523 0.447715 22 1 22V23C1 23.5523 1.44772 24 2 24H3C3.55228 24 4 23.5523 4 23V22H12V23C12 23.5523 12.4477 24 13 24H14C14.5523 24 15 23.5523 15 23V22C15.5523 22 16 21.5523 16 21V15.6491C16 15.2192 15.9307 14.7921 15.7947 14.3842L14.1225 9.36754C13.8503 8.55086 13.086 8 12.2251 8L3.77482 8.00009ZM12.5079 16C12.5053 16 12.5026 16 12.5 16C12.4974 16 12.4947 16 12.4921 16C11.6673 16.0043 11 16.6742 11 17.5C11 18.3284 11.6716 19 12.5 19C13.3284 19 14 18.3284 14 17.5C14 16.6742 13.3327 16.0043 12.5079 16ZM3.48504 16.0001L3.51495 16.0001C4.33649 16.0081 5 16.6766 5 17.5C5 18.3284 4.32843 19 3.5 19C2.67157 19 2 18.3284 2 17.5C2 16.6766 2.6635 16.0081 3.48504 16.0001ZM3.5469 10.6839C3.68301 10.2755 4.06515 10.0001 4.49557 10.0001L11.5044 10C11.9348 10 12.317 10.2754 12.4531 10.6838L13.5585 14L2.44149 14.0001L3.5469 10.6839Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCity = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M0 15C0 13.8954 0.895431 13 2 13H8C9.10457 13 10 13.8954 10 15V24H0V15ZM8 15H2V22H8V15Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M17 12C17 10.8954 17.8954 10 19 10H22C23.1046 10 24 10.8954 24 12V24H17V12ZM22 12H19V22H22V12Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8 9C8 7.89543 8.89543 7 10 7H17C18.1046 7 19 7.89543 19 9V24H8V9ZM17 9H10V22H17V9Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M10 6C10 4.89543 10.8954 4 12 4H15C16.1046 4 17 4.89543 17 6V9H10V6ZM15 6H12V7H15V6Z\" fill=\"currentColor\"/>\r\n<path d=\"M3 20C3 19.4477 3.44772 19 4 19H6C6.55228 19 7 19.4477 7 20C7 20.5523 6.55228 21 6 21H4C3.44772 21 3 20.5523 3 20Z\" fill=\"currentColor\"/>\r\n<path d=\"M20 20C20 19.4477 20.4477 19 21 19H23C23.5523 19 24 19.4477 24 20C24 20.5523 23.5523 21 23 21H21C20.4477 21 20 20.5523 20 20Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 20C11 19.4477 11.4477 19 12 19C12.5523 19 13 19.4477 13 20C13 20.5523 12.5523 21 12 21C11.4477 21 11 20.5523 11 20Z\" fill=\"currentColor\"/>\r\n<path d=\"M14 20C14 19.4477 14.4477 19 15 19C15.5523 19 16 19.4477 16 20C16 20.5523 15.5523 21 15 21C14.4477 21 14 20.5523 14 20Z\" fill=\"currentColor\"/>\r\n<path d=\"M3 17C3 16.4477 3.44772 16 4 16H6C6.55228 16 7 16.4477 7 17C7 17.5523 6.55228 18 6 18H4C3.44772 18 3 17.5523 3 17Z\" fill=\"currentColor\"/>\r\n<path d=\"M20 17C20 16.4477 20.4477 16 21 16H23C23.5523 16 24 16.4477 24 17C24 17.5523 23.5523 18 23 18H21C20.4477 18 20 17.5523 20 17Z\" fill=\"currentColor\"/>\r\n<path d=\"M20 14C20 13.4477 20.4477 13 21 13H23C23.5523 13 24 13.4477 24 14C24 14.5523 23.5523 15 23 15H21C20.4477 15 20 14.5523 20 14Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 17C11 16.4477 11.4477 16 12 16C12.5523 16 13 16.4477 13 17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17Z\" fill=\"currentColor\"/>\r\n<path d=\"M14 17C14 16.4477 14.4477 16 15 16C15.5523 16 16 16.4477 16 17C16 17.5523 15.5523 18 15 18C14.4477 18 14 17.5523 14 17Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 14C11 13.4477 11.4477 13 12 13C12.5523 13 13 13.4477 13 14C13 14.5523 12.5523 15 12 15C11.4477 15 11 14.5523 11 14Z\" fill=\"currentColor\"/>\r\n<path d=\"M14 14C14 13.4477 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15C14.4477 15 14 14.5523 14 14Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 11C11 10.4477 11.4477 10 12 10C12.5523 10 13 10.4477 13 11C13 11.5523 12.5523 12 12 12C11.4477 12 11 11.5523 11 11Z\" fill=\"currentColor\"/>\r\n<path d=\"M14 11C14 10.4477 14.4477 10 15 10C15.5523 10 16 10.4477 16 11C16 11.5523 15.5523 12 15 12C14.4477 12 14 11.5523 14 11Z\" fill=\"currentColor\"/>\r\n<path d=\"M12.5 1C12.5 0.447715 12.9477 0 13.5 0C14.0523 0 14.5 0.447715 14.5 1V4H12.5V1Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconWinterSun = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M13 1C13 0.447715 12.5523 0 12 0C11.4477 0 11 0.447715 11 1V2.90661C10.9976 2.93694 10.9964 2.96807 10.9964 2.99999V4.49446L9.80017 3.80382C9.32188 3.52768 8.71029 3.69156 8.43415 4.16985C8.158 4.64814 8.32188 5.25973 8.80017 5.53588L10.9964 6.80386V9.17197C10.6469 9.29599 10.3273 9.48294 10.0511 9.71919L4.70482 6.63253C4.22653 6.35639 3.61493 6.52027 3.33879 6.99856C3.06265 7.47685 3.22653 8.08844 3.70482 8.36459L9.05017 11.4507C9.01722 11.6288 9 11.8124 9 12C9 12.1876 9.01722 12.3712 9.05017 12.5493L3.70483 15.6354C3.22654 15.9115 3.06266 16.5231 3.33881 17.0014C3.61495 17.4797 4.22654 17.6436 4.70483 17.3674L5.99909 16.6202L5.99909 18.0015C5.99909 18.5538 6.4468 19.0015 6.99909 19.0015C7.55137 19.0015 7.99908 18.5538 7.99908 18.0015V15.4655L10.0511 14.2808C10.3273 14.517 10.6469 14.704 10.9964 14.828V21C10.9964 21.0288 10.9976 21.0574 11 21.0856V23C11 23.5523 11.4477 24 12 24C12.5523 24 13 23.5523 13 23V21C13 20.9712 12.9988 20.9426 12.9964 20.9144V17.9176C15.8359 17.4431 18 14.9743 18 12C18 9.02574 15.8359 6.55694 12.9964 6.08235V3.08561C12.9988 3.05739 13 3.02884 13 3V1ZM12.9964 8.12509V15.8749C14.7234 15.4321 16 13.8651 16 12C16 10.1349 14.7234 8.56787 12.9964 8.12509Z\" fill=\"currentColor\"/>\r\n<path d=\"M21 11C20.4477 11 20 11.4477 20 12C20 12.5523 20.4477 13 21 13H23C23.5523 13 24 12.5523 24 12C24 11.4477 23.5523 11 23 11H21Z\" fill=\"currentColor\"/>\r\n<path d=\"M20.4853 4.92893C20.8758 4.53841 20.8758 3.90524 20.4853 3.51472C20.0948 3.12419 19.4616 3.12419 19.0711 3.51472L17.6569 4.92893C17.2663 5.31946 17.2663 5.95262 17.6569 6.34315C18.0474 6.73367 18.6805 6.73367 19.0711 6.34315L20.4853 4.92893Z\" fill=\"currentColor\"/>\r\n<path d=\"M19.0711 17.6569C18.6805 17.2663 18.0474 17.2663 17.6569 17.6569C17.2663 18.0474 17.2663 18.6805 17.6569 19.0711L19.0711 20.4853C19.4616 20.8758 20.0948 20.8758 20.4853 20.4853C20.8758 20.0948 20.8758 19.4616 20.4853 19.0711L19.0711 17.6569Z\" fill=\"currentColor\"/>\r\n<path d=\"M8.80011 18.4641C8.32182 18.7402 8.15794 19.3518 8.43408 19.8301C8.71023 20.3084 9.32182 20.4723 9.80011 20.1961L10.9963 19.5055V17.1961L8.80011 18.4641Z\" fill=\"currentColor\"/>\r\n<path d=\"M3.43512 12.8283C3.71126 12.35 4.32285 12.1861 4.80114 12.4623L6.99736 13.7303L4.99736 14.885L3.80114 14.1943C3.32285 13.9182 3.15897 13.3066 3.43512 12.8283Z\" fill=\"currentColor\"/>\r\n<path d=\"M6.99913 4.99846C7.55141 4.99846 7.99913 5.44618 7.99913 5.99846L7.99913 8.53443L5.99913 7.37973L5.99913 5.99846C5.99913 5.44618 6.44684 4.99846 6.99913 4.99846Z\" fill=\"currentColor\"/>\r\n<path d=\"M3.43516 11.1716C3.7113 11.6499 4.32289 11.8138 4.80118 11.5377L6.9974 10.2697L4.9974 9.11498L3.80118 9.80561C3.32289 10.0818 3.15902 10.6933 3.43516 11.1716Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconWinterSport = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 25 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M9 5.99989C9 5.4476 9.44771 4.99989 10 4.99989H11V8.99989H9V5.99989Z\" fill=\"currentColor\"/>\r\n<path d=\"M11 4.99989H15V6.99989H11V4.99989Z\" fill=\"currentColor\"/>\r\n<path d=\"M15 4.99989H16C16.5523 4.99989 17 5.4476 17 5.99989V8.99989H15V4.99989Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 2.99989H14V4.99989H12V2.99989Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M0.8356 5.01349C0.744805 4.46872 1.11283 3.95349 1.6576 3.8627L23.6848 0.191496C24.2296 0.100702 24.7448 0.468721 24.8356 1.01349C24.9264 1.55826 24.5584 2.07349 24.0136 2.16428L1.98639 5.83549C1.44162 5.92628 0.926396 5.55826 0.8356 5.01349Z\" fill=\"currentColor\"/>\r\n<path d=\"M15 16.9999C14.4477 16.9999 14 17.4476 14 17.9999C14 18.5522 14.4477 18.9999 15 18.9999H17C17.5523 18.9999 18 18.5522 18 17.9999C18 17.4476 17.5523 16.9999 17 16.9999H15Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M5 8.99989C4.44771 8.99989 4 9.4476 4 9.99989V21.9999C4 22.5522 4.44772 22.9999 5 22.9999H21C21.5523 22.9999 22 22.5522 22 21.9999V9.99989C22 9.4476 21.5523 8.99989 21 8.99989H5ZM7 10.9999C6.44771 10.9999 6 11.4476 6 11.9999V12.9999C6 13.5522 6.44771 13.9999 7 13.9999H8C8.55228 13.9999 9 13.5522 9 12.9999V11.9999C9 11.4476 8.55228 10.9999 8 10.9999H7ZM11 11.9999C11 11.4476 11.4477 10.9999 12 10.9999H14C14.5523 10.9999 15 11.4476 15 11.9999V12.9999C15 13.5522 14.5523 13.9999 14 13.9999H12C11.4477 13.9999 11 13.5522 11 12.9999V11.9999ZM18 10.9999C17.4477 10.9999 17 11.4476 17 11.9999V12.9999C17 13.5522 17.4477 13.9999 18 13.9999H19C19.5523 13.9999 20 13.5522 20 12.9999V11.9999C20 11.4476 19.5523 10.9999 19 10.9999H18ZM6 16.9999C6 16.4476 6.44771 15.9999 7 15.9999H19C19.5523 15.9999 20 16.4476 20 16.9999V19.9999C20 20.5522 19.5523 20.9999 19 20.9999H7C6.44771 20.9999 6 20.5522 6 19.9999V16.9999Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconHotel = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M6 3C5.44772 3 5 3.44772 5 4V20C5 20.5523 5.44772 21 6 21H11V17.5H13V21H18C18.5523 21 19 20.5523 19 20V4C19 3.44772 18.5523 3 18 3H6ZM7 5H9V7H7V5ZM11 5H13V7H11V5ZM15 5H17V7H15V5ZM7 9H9V11H7V9ZM11 9H13V11H11V9ZM15 9H17V11H15V9ZM7 13H9V15H7V13ZM11 13H13V15H11V13ZM15 13H17V15H15V13ZM7 17H9V19H7V17ZM15 17H17V19H15V17Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconQuestion = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z\" fill=\"currentColor\"/>\r\n<path d=\"M15 9.80216C15 10.707 14.6809 11.4407 14.0427 12.0034C13.4045 12.5661 12.5535 12.8879 11.4899 12.9689L11.4482 13.8872H10.8308V11.2606C11.5014 11.2066 12.0263 11.0018 12.4055 10.6462C12.7848 10.2861 12.9744 9.79766 12.9744 9.18096C12.9744 8.6903 12.8403 8.29867 12.572 8.00608C12.3084 7.70898 11.9523 7.56043 11.5037 7.56043C11.3141 7.56043 11.1453 7.58069 10.9973 7.6212C10.8493 7.65721 10.706 7.71573 10.5672 7.79676C10.6135 7.94081 10.6667 8.12762 10.7268 8.35719C10.7915 8.58226 10.8239 8.79158 10.8239 8.98515C10.8239 9.30025 10.7175 9.54558 10.5048 9.72113C10.2967 9.89219 10.0053 9.97772 9.63074 9.97772C9.27926 9.97772 9.00178 9.86968 8.79829 9.65361C8.59943 9.43754 8.5 9.17196 8.5 8.85685C8.5 8.33919 8.80292 7.90029 9.40875 7.54018C10.0146 7.18006 10.7453 7 11.6009 7C12.6137 7 13.4322 7.25658 14.0566 7.76975C14.6855 8.28292 15 8.96039 15 9.80216ZM12.5027 15.7508C12.5027 16.093 12.3686 16.3878 12.1003 16.6354C11.8367 16.8785 11.5269 17 11.1708 17C10.81 17 10.4956 16.8785 10.2273 16.6354C9.96371 16.3878 9.83191 16.093 9.83191 15.7508C9.83191 15.4087 9.96371 15.1139 10.2273 14.8663C10.4956 14.6142 10.81 14.4882 11.1708 14.4882C11.5269 14.4882 11.8367 14.6142 12.1003 14.8663C12.3686 15.1139 12.5027 15.4087 12.5027 15.7508Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconBlog = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M3 5C3 3.89543 3.89543 3 5 3H19C20.1046 3 21 3.89543 21 5V17C21 18.1046 20.1046 19 19 19H15.3593L13.2728 20.73C12.5338 21.3397 11.4662 21.3397 10.7272 20.73L8.64074 19H5C3.89543 19 3 18.1046 3 17V5ZM19 5L5 5V17H8.64074C9.10522 17 9.55522 17.2867 9.91351 17.5823L12 19.18L14.0865 17.5823C14.4448 17.2867 14.8948 17 15.3593 17H19V5Z\" fill=\"currentColor\"/>\r\n<path d=\"M15.5646 8.84724C15.9551 8.45672 15.9551 7.82355 15.5646 7.43303C15.1741 7.04251 14.5409 7.04251 14.1504 7.43303L13.4433 8.14014L14.8575 9.55435L15.5646 8.84724Z\" fill=\"currentColor\"/>\r\n<path d=\"M14.1504 10.2615L12.7362 8.84724L8.49355 13.0899L8.14 14.8577L9.90777 14.5041L14.1504 10.2615Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPhoto = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path 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\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" 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\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconParty = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M6.375 6.375C7.30698 6.375 8.0625 5.61948 8.0625 4.6875C8.0625 3.75552 7.30698 3 6.375 3C5.44302 3 4.6875 3.75552 4.6875 4.6875C4.6875 5.61948 5.44302 6.375 6.375 6.375Z\" fill=\"currentColor\"/>\r\n<path d=\"M3 8.625C3 8.00368 3.50368 7.5 4.125 7.5H8.875C9.49632 7.5 10 8.00368 10 8.625V14H8V21H5V14H3V8.625Z\" fill=\"currentColor\"/>\r\n<path d=\"M16.5 6.375C17.432 6.375 18.1875 5.61948 18.1875 4.6875C18.1875 3.75552 17.432 3 16.5 3C15.568 3 14.8125 3.75552 14.8125 4.6875C14.8125 5.61948 15.568 6.375 16.5 6.375Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 16.4999L15.4865 8.14034C15.8956 7.29156 17.1044 7.29156 17.5135 8.14034L21 16.4999H12Z\" fill=\"currentColor\"/>\r\n<path d=\"M15 20.9999V16.4999H18V20.9999H15Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPlane = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 3C13 3 13.5 3.87868 13.5 4.5V8.99987L21 13.5V15.5L13.5 12.9374V18L16 19V21L12 19.9999L8 21V19L10.5 17.9999V12.9375L3 15.5V13.5L10.5 9V4.5C10.5 3.87868 11 3 12 3Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconFavorite = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M8 5.00079C5.79086 5.00079 4 6.79236 4 9.00237C4 10.2291 4.75819 11.3473 5.70858 12.298L5.71965 12.3091L12 18.9985L18.2803 12.3091L18.2914 12.298C19.2418 11.3473 20 10.2291 20 9.00237C20 6.79236 18.2091 5.00079 16 5.00079C14.6922 5.00079 13.531 5.62763 12.7995 6.60161L12 7.66615L11.2005 6.60161C10.469 5.62764 9.30784 5.00079 8 5.00079ZM2 9.00237C2 5.68735 4.68629 3 8 3C9.53707 3 10.9392 3.57886 12 4.52852C13.0608 3.57886 14.4629 3 16 3C19.3137 3 22 5.68735 22 9.00237C22 11.0426 20.7671 12.6483 19.7169 13.7015L13.4253 20.4029L13.4142 20.414C12.6332 21.1953 11.3668 21.1953 10.5858 20.414L10.5747 20.4029L4.28307 13.7015C3.23295 12.6483 2 11.0426 2 9.00237Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconBus = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 3C8.8428 3 6.61221 3.22199 4.8218 5.01897C4.23405 5.60888 4 6.44748 4 7.28021V16.9999C4 17.5522 4.44772 17.9999 5 17.9999V18.9999C5 19.5522 5.44772 19.9999 6 19.9999H7C7.55228 19.9999 8 19.5522 8 18.9999V17.9999H16V18.9999C16 19.5522 16.4477 19.9999 17 19.9999H18C18.5523 19.9999 19 19.5522 19 18.9999V17.9999C19.5523 17.9999 20 17.5522 20 16.9999V7.28019C20 6.44747 19.766 5.60888 19.1782 5.01897C17.3878 3.22194 15.1573 3 12 3ZM16.5079 12.9999C16.5053 12.9999 16.5026 12.9999 16.5 12.9999C16.4974 12.9999 16.4947 12.9999 16.4921 12.9999C15.6673 13.0042 15 13.6741 15 14.4999C15 15.3283 15.6716 15.9999 16.5 15.9999C17.3284 15.9999 18 15.3283 18 14.4999C18 13.6741 17.3327 13.0042 16.5079 12.9999ZM7.48504 13L7.51495 13C8.33649 13.008 9 13.6765 9 14.4999C9 15.3283 8.32843 15.9999 7.5 15.9999C6.67157 15.9999 6 15.3283 6 14.4999C6 13.6765 6.6635 13.008 7.48504 13ZM6 7.99991C6 7.44762 6.44772 6.99991 7 6.99991H17C17.5523 6.99991 18 7.44762 18 7.99991V9.99991H6V7.99991Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrival = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <rect x=\"4\" y=\"16\" rx=\"1\" fill=\"currentColor\"/>\r\n<path d=\"M19.5972 14.547C19.8207 13.8116 19.3894 12.9863 18.6339 12.7037L15.442 11.5099L12.7478 5.29894C12.5391 4.81804 11.843 4.90786 11.8383 5.41629L11.7941 10.1455L4.41283 7.18325L9.1123 11.8827L17.8246 15.367C18.5801 15.6496 19.3737 15.2825 19.5972 14.547Z\" fill=\"currentColor\"/>\r\n<path d=\"M4.78853 6.35424L5.73216 3.24888C5.87157 2.79011 6.54707 2.86757 6.65258 3.35442L7.52444 7.37752L4.78853 6.35424Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconDeparture = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <rect x=\"4\" y=\"16\" rx=\"1\" fill=\"currentColor\"/>\r\n<path d=\"M20.8468 7.73554C20.4848 7.05748 19.5963 6.77889 18.8623 7.1133L15.7611 8.52615L9.46416 6.03945C8.9766 5.84691 8.54787 6.40266 8.90403 6.76553L12.2169 10.1408L4.90289 13.2655H11.5489L20.1732 9.56879C20.9073 9.23438 21.2088 8.41361 20.8468 7.73554Z\" fill=\"currentColor\"/>\r\n<path d=\"M4.58234 12.4137L3.05377 9.55061C2.82795 9.12764 3.36037 8.70476 3.77923 8.97441L7.2405 11.2027L4.58234 12.4137Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M7.77482 4.00009C6.91396 4.00009 6.14968 4.55095 5.87745 5.36764L4.20527 10.3842C4.06931 10.7921 4 11.2192 4 11.6491V17C4 17.5523 4.44772 18 5 18V19C5 19.5523 5.44772 20 6 20H7C7.55228 20 8 19.5523 8 19V18H16V19C16 19.5523 16.4477 20 17 20H18C18.5523 20 19 19.5523 19 19V18C19.5523 18 20 17.5523 20 17V11.6491C20 11.2192 19.9307 10.7921 19.7947 10.3842L18.1225 5.36754C17.8503 4.55086 17.086 4 16.2251 4L7.77482 4.00009ZM16.5079 12C16.5053 12 16.5026 12 16.5 12C16.4974 12 16.4947 12 16.4921 12C15.6673 12.0043 15 12.6742 15 13.5C15 14.3284 15.6716 15 16.5 15C17.3284 15 18 14.3284 18 13.5C18 12.6742 17.3327 12.0043 16.5079 12ZM7.48504 12.0001L7.51495 12.0001C8.33649 12.0081 9 12.6766 9 13.5C9 14.3284 8.32843 15 7.5 15C6.67157 15 6 14.3284 6 13.5C6 12.6766 6.6635 12.0081 7.48504 12.0001ZM7.5469 6.68386C7.68301 6.27552 8.06515 6.00009 8.49557 6.00009L15.5044 6.00001C15.9348 6 16.317 6.27543 16.4531 6.68378L17.5585 10L6.44149 10.0001L7.5469 6.68386Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconFood = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M11 10H10V4H8V10H7V4H5V9.6C5 11.296 6.37444 12.672 8 12.776V20H10V12.776C11.6256 12.672 13 11.296 13 9.6V4H11V10ZM15 7.2V13.6H17V20H19V4C16.8533 4 15 5.792 15 7.2Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrowDown = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 4C11.4477 4 11 4.44772 11 5V16.6037L5.69208 11.2906C5.30499 10.9031 4.6774 10.9031 4.29031 11.2906C3.90323 11.6781 3.90323 12.3063 4.29031 12.6937L11.2417 19.6519C11.4244 19.8643 11.695 19.9991 11.997 20L12 20L12.003 20C12.305 19.9991 12.5756 19.8643 12.7583 19.6519L19.7097 12.6937C20.0968 12.3063 20.0968 11.6781 19.7097 11.2906C19.3226 10.9031 18.695 10.9031 18.3079 11.2906L13 16.6037V5C13 4.44772 12.5523 4 12 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrowUp = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 20C12.5523 20 13 19.5523 13 19L13 7.39628L18.3079 12.7094C18.695 13.0969 19.3226 13.0969 19.7097 12.7094C20.0968 12.3219 20.0968 11.6937 19.7097 11.3063L12.7583 4.34812C12.5756 4.13567 12.305 4.00088 12.003 4L12 4L11.997 4C11.695 4.00088 11.4244 4.13567 11.2417 4.34812L4.29031 11.3063C3.90323 11.6937 3.90323 12.3219 4.29031 12.7094C4.6774 13.0969 5.30499 13.0969 5.69208 12.7094L11 7.39628L11 19C11 19.5523 11.4477 20 12 20Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrowLeft = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M20 12C20 11.4477 19.5523 11 19 11L7.39628 11L12.7094 5.69207C13.0969 5.30499 13.0969 4.6774 12.7094 4.29031C12.3219 3.90323 11.6937 3.90323 11.3063 4.29031L4.34811 11.2417C4.13567 11.4244 4.00088 11.695 4 11.997L4 12L4 12.003C4.00088 12.305 4.13567 12.5756 4.34812 12.7583L11.3063 19.7097C11.6937 20.0968 12.3219 20.0968 12.7094 19.7097C13.0969 19.3226 13.0969 18.695 12.7094 18.3079L7.39628 13L19 13C19.5523 13 20 12.5523 20 12Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconArrowRight = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M4 12C4 12.5523 4.44772 13 5 13H16.6037L11.2906 18.3079C10.9031 18.695 10.9031 19.3226 11.2906 19.7097C11.6781 20.0968 12.3063 20.0968 12.6937 19.7097L19.6519 12.7583C19.8643 12.5756 19.9991 12.305 20 12.003L20 12L20 11.997C19.9991 11.695 19.8643 11.4244 19.6519 11.2417L12.6937 4.29031C12.3063 3.90323 11.6781 3.90323 11.2906 4.29031C10.9031 4.6774 10.9031 5.30499 11.2906 5.69208L16.6037 11L5 11C4.44772 11 4 11.4477 4 12Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconChevronRight = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M9.73301 8.00008L9.06882 8.66675L5.52674 12.2054C5.26843 12.4634 5.26843 12.8818 5.52674 13.1399C5.78505 13.3979 6.20385 13.3979 6.46216 13.1399L11.1009 8.50564C11.2426 8.38378 11.3324 8.20342 11.333 8.00206L11.333 8.00008L11.333 7.9981C11.3324 7.79674 11.2426 7.61638 11.1009 7.49451L6.46216 2.86029C6.20385 2.60223 5.78505 2.60223 5.52674 2.86029C5.26843 3.11835 5.26843 3.53674 5.52674 3.7948L9.06882 7.33341L9.73301 8.00008Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPhone = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M8.57441 15.2413C9.77019 16.437 11.1162 17.3944 12.5552 18.1135L14.7516 15.9209C15.0042 15.6688 15.3721 15.5703 15.7169 15.6627L20.1576 16.8526C20.6207 16.9767 20.9305 17.412 20.8962 17.8901L20.7479 19.9553C20.9645 20.131 21.1067 20.3959 21.1174 20.6965C21.1309 21.0739 20.9333 21.41 20.6305 21.591L20.578 21.6203C20.4506 21.6864 20.3067 21.726 20.1537 21.7314C15.4498 21.8989 10.7185 20.2138 7.16019 16.6555C3.63713 13.1324 1.95028 8.45948 2.0798 3.8018C2.08527 3.60534 2.14704 3.42369 2.24923 3.27189L2.26386 3.25073C2.45067 2.98806 2.76081 2.82035 3.10721 2.82998C3.38259 2.83764 3.62887 2.95593 3.80465 3.1411L5.99252 2.98542C6.47048 2.95141 6.9054 3.26123 7.02942 3.72408L8.21929 8.16472C8.31175 8.50981 8.21309 8.87802 7.96048 9.13064L5.74519 11.346C6.45933 12.7528 7.40233 14.0692 8.57441 15.2413Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSupport = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M3 5C3 3.89543 3.89543 3 5 3H19C20.1046 3 21 3.89543 21 5V17C21 18.1046 20.1046 19 19 19H15.3593L13.2728 20.73C12.5338 21.3397 11.4662 21.3397 10.7272 20.73L8.64074 19H5C3.89543 19 3 18.1046 3 17V5ZM19 5L5 5V17H8.64074C9.10522 17 9.55522 17.2867 9.91351 17.5823L12 19.18L14.0865 17.5823C14.4448 17.2867 14.8948 17 15.3593 17H19V5Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 11C13.1 11 14 10.1 14 9C14 7.9 13.1 7 12 7C10.9 7 10 7.9 10 9C10 10.1 10.9 11 12 11ZM16 14.43C16 13.62 15.52 12.9 14.78 12.58C13.93 12.21 12.99 12 12 12C11.01 12 10.07 12.21 9.22 12.58C8.48 12.9 8 13.62 8 14.43V15H16V14.43Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCancel = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M4.29289 5.70711C3.90237 5.31658 3.90237 4.68342 4.29289 4.29289C4.68342 3.90237 5.31658 3.90237 5.70711 4.29289L12 10.5858L18.2929 4.29289C18.6834 3.90237 19.3166 3.90237 19.7071 4.29289C20.0976 4.68342 20.0976 5.31658 19.7071 5.70711L13.4142 12L19.7071 18.2929C20.0976 18.6834 20.0976 19.3166 19.7071 19.7071C19.3166 20.0976 18.6834 20.0976 18.2929 19.7071L12 13.4142L5.70711 19.7071C5.31658 20.0976 4.68342 20.0976 4.29289 19.7071C3.90237 19.3166 3.90237 18.6834 4.29289 18.2929L10.5858 12L4.29289 5.70711Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconUser = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM7.07 18.28C7.5 17.38 10.12 16.5 12 16.5C13.88 16.5 16.51 17.38 16.93 18.28C15.57 19.36 13.86 20 12 20C10.14 20 8.43 19.36 7.07 18.28ZM18.36 16.83C16.93 15.09 13.46 14.5 12 14.5C10.54 14.5 7.07 15.09 5.64 16.83C4.62 15.49 4 13.82 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 13.82 19.38 15.49 18.36 16.83ZM12 6C10.06 6 8.5 7.56 8.5 9.5C8.5 11.44 10.06 13 12 13C13.94 13 15.5 11.44 15.5 9.5C15.5 7.56 13.94 6 12 6ZM12 11C11.17 11 10.5 10.33 10.5 9.5C10.5 8.67 11.17 8 12 8C12.83 8 13.5 8.67 13.5 9.5C13.5 10.33 12.83 11 12 11Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconMail = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M3 19.9997V11.7881L10.7598 17.9215C11.4868 18.4961 12.5132 18.4961 13.2402 17.9215L21 11.7881V19.9997C21 20.552 20.5523 20.9997 20 20.9997H4C3.44772 20.9997 3 20.552 3 19.9997Z\" fill=\"currentColor\"/>\r\n<path d=\"M3.82902 8.40099C3.50103 8.63787 3.25727 8.9649 3.12179 9.33505L7 12.4004V6.99976H17V12.4004L20.8782 9.33505C20.7427 8.9649 20.499 8.63787 20.171 8.40099L19 7.55529V6.99973C19 5.89516 18.1046 4.99973 17 4.99973H15.4615L13.171 3.34544C12.472 2.84058 11.528 2.84058 10.829 3.34544L8.53846 4.99973H7C5.89543 4.99973 5 5.89516 5 6.99973V7.55529L3.82902 8.40099Z\" fill=\"currentColor\"/>\r\n<path d=\"M8 9.99976C8 9.44747 8.44772 8.99976 9 8.99976H15C15.5523 8.99976 16 9.44747 16 9.99976C16 10.552 15.5523 10.9998 15 10.9998H9C8.44772 10.9998 8 10.552 8 9.99976Z\" fill=\"currentColor\"/>\r\n<path d=\"M9 11.9998C8.44772 11.9998 8 12.4475 8 12.9998C8 13.552 8.44772 13.9998 9 13.9998H15C15.5523 13.9998 16 13.552 16 12.9998C16 12.4475 15.5523 11.9998 15 11.9998H9Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconHouse = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M22 5C22 3.346 20.654 2 19 2H5C3.346 2 2 3.346 2 5V7.831C2 8.884 2.382 9.841 3 10.577V20C3 21.103 3.897 22 5 22H19C20.103 22 21 21.103 21 20V10.576C21.618 9.841 22 8.884 22 7.83V5ZM20 5V7.831C20 8.971 19.151 9.943 18.109 9.998L18 10C16.897 10 16 9.103 16 8V4H19C19.552 4 20 4.449 20 5ZM10 4H14V8C14 9.103 13.103 10 12 10C10.897 10 10 9.103 10 8V4ZM4 5C4 4.449 4.448 4 5 4H8V8C8 9.103 7.103 10 6 10L5.891 9.997C4.849 9.943 4 8.971 4 7.831V5ZM10 20V17H14V20H10ZM16 20V17C16 15.897 15.103 15 14 15H10C8.897 15 8 15.897 8 17V20H5V11.869C5.254 11.936 5.517 11.98 5.787 11.994C6.38989 12.0267 6.99233 11.9221 7.54891 11.6881C8.10548 11.4541 8.60165 11.0967 9 10.643C9.733 11.475 10.807 12 12 12C13.193 12 14.267 11.475 15 10.643C15.3983 11.0967 15.8945 11.4541 16.4511 11.6881C17.0077 11.9221 17.6101 12.0267 18.213 11.994C18.484 11.98 18.746 11.936 19 11.869V20H16Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconBed = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M3.33332 4.16659C3.33332 3.70635 3.70642 3.33325 4.16666 3.33325H15.8333C16.2936 3.33325 16.6667 3.70635 16.6667 4.16659V9.08413C16.199 8.93469 15.6472 8.79276 15 8.67334V7.49992C15 7.49992 14.5833 6.66659 12.9167 6.66659C11.25 6.66659 10.8333 7.49992 10.8333 7.49992V8.33325H9.16666V7.49992C9.16666 7.49992 8.74999 6.66659 7.08332 6.66659C5.41666 6.66659 4.99999 7.49992 4.99999 7.49992V8.67334C4.35283 8.79276 3.80103 8.9347 3.33332 9.08413V4.16659Z\" fill=\"currentColor\"/>\r\n<path d=\"M9.99999 9.16658C5.46016 9.16658 2.61068 10.1761 1.93977 10.6237C1.75592 10.7464 1.66666 10.9574 1.66666 11.1784V14.9999H3.33332V13.3333C3.33332 12.873 3.70642 12.4999 4.16666 12.4999H15.8333C16.2936 12.4999 16.6667 12.873 16.6667 13.3333V14.9999H18.3333V11.1784C18.3333 10.9574 18.2441 10.7464 18.0602 10.6237C17.3893 10.1761 14.5398 9.16658 9.99999 9.16658Z\" fill=\"currentColor\"/>\r\n<path d=\"M4.16666 14.1666C4.16666 13.7063 4.53975 13.3333 4.99999 13.3333H15C15.4602 13.3333 15.8333 13.7063 15.8333 14.1666V16.6666H14.1667V15.8333C14.1667 15.373 13.7936 14.9999 13.3333 14.9999H6.66666C6.20642 14.9999 5.83332 15.373 5.83332 15.8333V16.6666H4.16666V14.1666Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconDollar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M17.9102 13.6071L17.8962 13.5589C17.4062 10.6661 15.2783 10.0393 12.2406 9.95893C10.2667 9.89464 9.88873 9.66964 9.77674 9.075L9.76274 9.02678C9.66475 8.46428 10.0707 8.03036 10.8547 7.85357C12.0446 7.58036 13.4025 7.82143 14.7044 8.49643L14.7464 8.52857L16.0903 5.10536L16.0483 5.07321C14.7184 4.26964 13.3045 3.94821 11.7086 4.07679L11.5266 3L8.61482 3.65893L8.81081 4.83214C6.73896 5.86071 5.68903 7.95 6.081 10.2643L6.095 10.3125C6.64096 13.4786 9.11879 13.8161 11.8346 13.9125C13.7804 14.0089 14.1444 14.25 14.2424 14.8125L14.2564 14.8607C14.3684 15.4875 13.9064 15.9375 12.9685 16.1464C11.4986 16.4839 10.0007 16.1946 8.48883 15.3107L8.44684 15.2786L6.87895 18.5732L6.92094 18.6054C8.29284 19.5375 9.93073 19.9875 11.6666 19.9393L11.8486 21L14.7604 20.3411L14.5924 19.3607C17.1122 18.3804 18.3581 16.2268 17.9102 13.6071Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconCheck = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M20.7071 7.70711C21.0976 7.31658 21.0976 6.68342 20.7071 6.29289C20.3166 5.90237 19.6834 5.90237 19.2929 6.29289L9.92579 15.66L5.6247 12.2191C5.19344 11.8741 4.56415 11.944 4.21914 12.3753C3.87413 12.8066 3.94405 13.4359 4.37531 13.7809L9.36588 17.7733C9.56478 17.9368 9.81202 18.0119 10.0553 17.9985C10.2017 17.9904 10.3467 17.9503 10.4788 17.8782C10.5647 17.8315 10.6447 17.7715 10.7157 17.6986L20.7071 7.70711Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconSuccess = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M16.7682 9.64021C17.1218 9.21593 17.0645 8.58537 16.6402 8.2318C16.2159 7.87824 15.5853 7.93556 15.2318 8.35984L10.9328 13.5186L8.70711 11.2929C8.31658 10.9024 7.68342 10.9024 7.29289 11.2929C6.90237 11.6834 6.90237 12.3166 7.29289 12.7071L10.2929 15.7071C10.4916 15.9058 10.7646 16.0117 11.0453 15.999C11.326 15.9863 11.5884 15.856 11.7682 15.6402L16.7682 9.64021Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTemperature = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2C10.3431 2 9 3.34315 9 5V12.9996C7.78555 13.9118 7 15.3642 7 17C7 19.7614 9.23858 22 12 22C14.7614 22 17 19.7614 17 17C17 15.3642 16.2144 13.9118 15 12.9996V5C15 3.34315 13.6569 2 12 2ZM12 4C11.4477 4 11 4.44772 11 5V10H13V5C13 4.44772 12.5523 4 12 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPlus = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M19 13H13V19C13 19.55 12.55 20 12 20C11.45 20 11 19.55 11 19V13H5C4.45 13 4 12.55 4 12C4 11.45 4.45 11 5 11H11V5C11 4.45 11.45 4 12 4C12.55 4 13 4.45 13 5V11H19C19.55 11 20 11.45 20 12C20 12.55 19.55 13 19 13Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconMinus = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M19 13H5C4.45 13 4 12.55 4 12C4 11.45 4.45 11 5 11C14.0226 11 10.5939 11 19 11C19.55 11 20 11.45 20 12C20 12.55 19.55 13 19 13Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconExpand = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 448 512\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconFilter = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M15 10C16.3062 10 17.4175 9.16519 17.8293 8H19C19.5523 8 20 7.55228 20 7C20 6.44772 19.5523 6 19 6H17.8293C17.4175 4.83481 16.3062 4 15 4C13.6938 4 12.5825 4.83481 12.1707 6H5C4.44772 6 4 6.44772 4 7C4 7.55228 4.44772 8 5 8H12.1707C12.5825 9.16519 13.6938 10 15 10ZM15 8C14.4477 8 14 7.55228 14 7C14 6.44772 14.4477 6 15 6C15.5523 6 16 6.44772 16 7C16 7.55228 15.5523 8 15 8ZM9 20C7.69378 20 6.58254 19.1652 6.17071 18H5C4.44771 18 4 17.5523 4 17C4 16.4477 4.44771 16 5 16H6.17071C6.58254 14.8348 7.69378 14 9 14C10.3062 14 11.4175 14.8348 11.8293 16H19C19.5523 16 20 16.4477 20 17C20 17.5523 19.5523 18 19 18H11.8293C11.4175 19.1652 10.3062 20 9 20ZM9 18C9.55228 18 10 17.5523 10 17C10 16.4477 9.55228 16 9 16C8.44772 16 8 16.4477 8 17C8 17.5523 8.44772 18 9 18Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconBeach = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M5.27258 9.92948C6.41612 5.66175 10.8028 3.12909 15.0705 4.27263C19.3383 5.41616 21.8709 9.80286 20.7274 14.0706C21.1562 12.4702 20.2065 10.8252 18.6061 10.3963C17.5981 10.1263 16.5725 10.403 15.8442 11.0447C15.5342 10.1248 14.7844 9.37233 13.7764 9.10225C12.7685 8.83218 11.7429 9.10891 11.0145 9.75061C10.7046 8.8307 9.95475 8.07823 8.94682 7.80816C7.34642 7.37933 5.70141 8.32908 5.27258 9.92948Z\" fill=\"currentColor\"/>\r\n<path d=\"M12.0341 11.7412C12.177 11.2077 12.7253 10.8912 13.2588 11.0341C13.7923 11.177 14.1089 11.7254 13.9659 12.2589L12.6653 17.1128C16.6586 17.6586 19 20 19 20H3C3 20 5.84976 17.1502 10.6235 17.0057L12.0341 11.7412Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTransfer = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 3C8.8428 3 6.61221 3.22199 4.8218 5.01897C4.23405 5.60888 4 6.44748 4 7.28021V16.9999C4 17.5522 4.44772 17.9999 5 17.9999V18.9999C5 19.5522 5.44772 19.9999 6 19.9999H7C7.55228 19.9999 8 19.5522 8 18.9999V17.9999H16V18.9999C16 19.5522 16.4477 19.9999 17 19.9999H18C18.5523 19.9999 19 19.5522 19 18.9999V17.9999C19.5523 17.9999 20 17.5522 20 16.9999V7.28019C20 6.44747 19.766 5.60888 19.1782 5.01897C17.3878 3.22194 15.1573 3 12 3ZM16.5079 12.9999C16.5053 12.9999 16.5026 12.9999 16.5 12.9999C16.4974 12.9999 16.4947 12.9999 16.4921 12.9999C15.6673 13.0042 15 13.6741 15 14.4999C15 15.3283 15.6716 15.9999 16.5 15.9999C17.3284 15.9999 18 15.3283 18 14.4999C18 13.6741 17.3327 13.0042 16.5079 12.9999ZM7.48504 13L7.51495 13C8.33649 13.008 9 13.6765 9 14.4999C9 15.3283 8.32843 15.9999 7.5 15.9999C6.67157 15.9999 6 15.3283 6 14.4999C6 13.6765 6.6635 13.008 7.48504 13ZM6 7.99991C6 7.44762 6.44772 6.99991 7 6.99991H17C17.5523 6.99991 18 7.44762 18 7.99991V9.99991H6V7.99991Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconDelete = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M15 9C15.5523 9 16 9.44772 16 10V19H8V10C8 9.44772 8.44772 9 9 9H15ZM15 3.5C14.6799 3.17986 14.2456 3 13.7929 3H10.2071C9.75435 3 9.32014 3.17986 9 3.5C8.67986 3.82014 8.24565 4 7.79289 4H6C5.44772 4 5 4.44772 5 5C5 5.55228 5.44772 6 6 6H18C18.5523 6 19 5.55228 19 5C19 4.44772 18.5523 4 18 4H16.2071C15.7544 4 15.3201 3.82014 15 3.5ZM18 8C18 7.44771 17.5523 7 17 7H7C6.44772 7 6 7.44772 6 8V19C6 20.1 6.9 21 8 21H16C17.1 21 18 20.1 18 19V8ZM9 11C9 10.4477 9.44772 10 10 10C10.5523 10 11 10.4477 11 11V17C11 17.5523 10.5523 18 10 18C9.44772 18 9 17.5523 9 17V11ZM14 10C13.4477 10 13 10.4477 13 11V17C13 17.5523 13.4477 18 14 18C14.5523 18 15 17.5523 15 17V11C15 10.4477 14.5523 10 14 10Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconView = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 22 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M21.8188 9.22895C22.0408 8.91228 22.0603 8.49597 21.8689 8.15992C19.0235 3.16492 15.1306 0.297286 11.0172 0.226384C6.8801 0.155072 2.97071 2.91659 0.120686 8.17883C-0.0598156 8.5121 -0.0363896 8.91878 0.181189 9.22913C3.07998 13.3638 6.98736 15.5388 11 15.5388C15.0127 15.5387 18.92 13.3637 21.8188 9.22895ZM11 13.5388C7.91269 13.5388 4.72965 11.9495 2.1852 8.58427C4.78354 4.08408 7.98851 2.17447 10.9828 2.22609C13.9925 2.27796 17.2053 4.31472 19.8055 8.59635C17.2626 11.9533 14.0836 13.5387 11 13.5388ZM12 7.99998C12 8.55226 11.5523 8.99998 11 8.99998C10.4477 8.99998 10 8.55226 10 7.99998C10 7.44769 10.4477 6.99998 11 6.99998C11.5523 6.99998 12 7.44769 12 7.99998ZM14 7.99998C14 9.65683 12.6569 11 11 11C9.34315 11 8 9.65683 8 7.99998C8 6.34312 9.34315 4.99998 11 4.99998C12.6569 4.99998 14 6.34312 14 7.99998Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconWarning = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12 8C11.4477 8 11 8.44772 11 9V14C11 14.5523 11.4477 15 12 15C12.5523 15 13 14.5523 13 14V9C13 8.44772 12.5523 8 12 8Z\" fill=\"currentColor\"/>\r\n<path d=\"M12 16C11.4477 16 11 16.4477 11 17C11 17.5523 11.4477 18 12 18C12.5523 18 13 17.5523 13 17C13 16.4477 12.5523 16 12 16Z\" fill=\"currentColor\"/>\r\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M4.61804 22.0001H19.382C21.6121 22.0001 23.0626 19.6532 22.0653 17.6585L14.6833 3.66031C13.5777 1.44916 10.4223 1.44917 9.31672 3.66031L1.93476 17.6585C0.937403 19.6532 2.38789 22.0001 4.61804 22.0001ZM11.1056 4.56C11.4741 3.82295 12.5259 3.82295 12.8944 4.56L20.2764 18.5529C20.6088 19.2178 20.1254 20.0001 19.382 20.0001H4.61804C3.87466 20.0001 3.39116 19.2178 3.72361 18.5529L11.1056 4.56Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconFacebook = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M20 12.0489C20 7.60361 16.4183 4 12 4C7.58172 4 4 7.60361 4 12.0489C4 16.0663 6.92547 19.3962 10.75 20V14.3755H8.71875V12.0489H10.75V10.2756C10.75 8.25837 11.9444 7.1441 13.7717 7.1441C14.647 7.1441 15.5625 7.3013 15.5625 7.3013V9.28208H14.5538C13.56 9.28208 13.25 9.90257 13.25 10.5391V12.0489H15.4688L15.1141 14.3755H13.25V20C17.0745 19.3962 20 16.0663 20 12.0489Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTwitter = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M22 5.88235C21.2639 6.21176 20.4704 6.42824 19.6482 6.53176C20.4895 6.03294 21.1396 5.24235 21.4455 4.29176C20.652 4.76235 19.7725 5.09176 18.8451 5.28C18.0899 4.47059 17.0287 4 15.8241 4C13.5774 4 11.7419 5.80706 11.7419 8.03765C11.7419 8.35765 11.7801 8.66824 11.847 8.96C8.4436 8.79059 5.413 7.18118 3.39579 4.74353C3.04207 5.33647 2.8413 6.03294 2.8413 6.76706C2.8413 8.16941 3.55832 9.41176 4.6673 10.1176C3.98853 10.1176 3.35755 9.92941 2.80306 9.64706V9.67529C2.80306 11.6329 4.21797 13.2706 6.09178 13.6376C5.49018 13.7997 4.8586 13.8223 4.24665 13.7035C4.50632 14.5059 5.01485 15.2079 5.70078 15.711C6.38671 16.2141 7.21553 16.4929 8.07075 16.5082C6.62106 17.6381 4.82409 18.2488 2.97514 18.24C2.6501 18.24 2.32505 18.2212 2 18.1835C3.81644 19.3318 5.97706 20 8.29063 20C15.8241 20 19.9637 13.8447 19.9637 8.50824C19.9637 8.32941 19.9637 8.16 19.9541 7.98118C20.7572 7.41647 21.4455 6.70118 22 5.88235Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconWhatsapp = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M17.6036 6.325C16.1071 4.825 14.1143 4 11.9964 4C7.625 4 4.06786 7.55714 4.06786 11.9286C4.06786 13.325 4.43214 14.6893 5.125 15.8929L4 20L8.20357 18.8964C9.36071 19.5286 10.6643 19.8607 11.9929 19.8607H11.9964C16.3643 19.8607 20 16.3036 20 11.9321C20 9.81429 19.1 7.825 17.6036 6.325ZM11.9964 18.525C10.8107 18.525 9.65 18.2071 8.63929 17.6071L8.4 17.4643L5.90714 18.1179L6.57143 15.6857L6.41429 15.4357C5.75357 14.3857 5.40714 13.175 5.40714 11.9286C5.40714 8.29643 8.36429 5.33929 12 5.33929C13.7607 5.33929 15.4143 6.025 16.6571 7.27143C17.9 8.51786 18.6643 10.1714 18.6607 11.9321C18.6607 15.5679 15.6286 18.525 11.9964 18.525ZM15.6107 13.5893C15.4143 13.4893 14.4393 13.0107 14.2571 12.9464C14.075 12.8786 13.9429 12.8464 13.8107 13.0464C13.6786 13.2464 13.3 13.6893 13.1821 13.825C13.0679 13.9571 12.95 13.975 12.7536 13.875C11.5893 13.2929 10.825 12.8357 10.0571 11.5179C9.85357 11.1679 10.2607 11.1929 10.6393 10.4357C10.7036 10.3036 10.6714 10.1893 10.6214 10.0893C10.5714 9.98929 10.175 9.01429 10.0107 8.61786C9.85 8.23214 9.68571 8.28571 9.56429 8.27857C9.45 8.27143 9.31786 8.27143 9.18571 8.27143C9.05357 8.27143 8.83929 8.32143 8.65714 8.51786C8.475 8.71786 7.96429 9.19643 7.96429 10.1714C7.96429 11.1464 8.675 12.0893 8.77143 12.2214C8.87143 12.3536 10.1679 14.3536 12.1571 15.2143C13.4143 15.7571 13.9071 15.8036 14.5357 15.7107C14.9179 15.6536 15.7071 15.2321 15.8714 14.7679C16.0357 14.3036 16.0357 13.9071 15.9857 13.825C15.9393 13.7357 15.8071 13.6857 15.6107 13.5893Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconInstagram = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.1464 5.44135C14.2825 5.44135 14.5353 5.44961 15.379 5.48803C16.1589 5.5236 16.5825 5.65379 16.8645 5.76335C17.2379 5.90847 17.5043 6.08185 17.7844 6.36161C18.0645 6.64169 18.2379 6.90811 18.3827 7.28155C18.4922 7.56353 18.6224 7.98714 18.658 8.76704C18.6964 9.61045 18.7047 9.86353 18.7047 11.9997C18.7047 14.1358 18.6964 14.3886 18.658 15.2323C18.6224 16.0122 18.4922 16.4358 18.3827 16.7178C18.2376 17.0913 18.0642 17.3577 17.7844 17.6378C17.5043 17.9178 17.2379 18.0912 16.8645 18.236C16.5825 18.3456 16.1589 18.4758 15.379 18.5113C14.5356 18.5498 14.2825 18.558 12.1464 18.558C10.0102 18.558 9.75711 18.5498 8.91371 18.5113C8.13381 18.4758 7.7102 18.3456 7.42821 18.236C7.05478 18.0909 6.78835 17.9175 6.50828 17.6378C6.2282 17.3577 6.05482 17.0913 5.91001 16.7178C5.80046 16.4358 5.67027 16.0122 5.6347 15.2323C5.59628 14.3889 5.58802 14.1358 5.58802 11.9997C5.58802 9.86353 5.59628 9.61076 5.6347 8.76704C5.67027 7.98714 5.80046 7.56353 5.91001 7.28155C6.05513 6.90811 6.22852 6.64169 6.50828 6.36161C6.78835 6.08153 7.05478 5.90815 7.42821 5.76335C7.7102 5.65379 8.13381 5.5236 8.91371 5.48803C9.75743 5.44961 10.0102 5.44135 12.1464 5.44135ZM12.1464 4C9.97368 4 9.70123 4.00921 8.84797 4.04827C7.99663 4.08701 7.41519 4.22228 6.90616 4.42012C6.37999 4.62462 5.93383 4.89803 5.48926 5.34291C5.04469 5.78748 4.77097 6.23364 4.56678 6.7595C4.36895 7.26853 4.23368 7.84996 4.19493 8.70131C4.15588 9.55456 4.14667 9.82702 4.14667 11.9997C4.14667 14.1723 4.15588 14.4448 4.19493 15.2981C4.23368 16.1494 4.36895 16.7308 4.56678 17.2399C4.77129 17.766 5.04469 18.2122 5.48958 18.6568C5.93447 19.1017 6.3803 19.3751 6.90648 19.5796C7.41519 19.7774 7.99694 19.9127 8.84829 19.9514C9.70154 19.9905 9.974 19.9997 12.1467 19.9997C14.3193 19.9997 14.5918 19.9905 15.445 19.9514C16.2964 19.9127 16.8781 19.7774 17.3869 19.5796C17.913 19.3751 18.3592 19.1017 18.8038 18.6568C19.2486 18.2119 19.5221 17.766 19.7266 17.2399C19.9244 16.7312 20.0597 16.1494 20.0984 15.2981C20.1375 14.4448 20.1467 14.1723 20.1467 11.9997C20.1467 9.82702 20.1375 9.55456 20.0984 8.70131C20.0597 7.84996 19.9244 7.26821 19.7266 6.7595C19.5221 6.23332 19.2486 5.78716 18.8038 5.3426C18.3589 4.89771 17.913 4.6243 17.3869 4.4198C16.8775 4.22228 16.2961 4.08701 15.4447 4.04827C14.5915 4.00921 14.319 4 12.1464 4ZM12.1464 7.89185C9.87748 7.89185 8.03856 9.73109 8.03856 11.9997C8.03856 14.2682 9.8778 16.1075 12.1464 16.1075C14.4149 16.1075 16.2542 14.2682 16.2542 11.9997C16.2542 9.73109 14.4153 7.89185 12.1464 7.89185ZM12.1464 14.6661C10.6736 14.6661 9.47991 13.4721 9.47991 11.9997C9.47991 10.5269 10.6739 9.3332 12.1464 9.3332C13.6188 9.3332 14.8128 10.5272 14.8128 11.9997C14.8128 13.4724 13.6192 14.6661 12.1464 14.6661ZM17.3767 7.72943C17.3767 8.25959 16.9469 8.68937 16.4167 8.68937C15.8866 8.68937 15.4568 8.25959 15.4568 7.72943C15.4568 7.19926 15.8866 6.76948 16.4167 6.76948C16.9469 6.76948 17.3767 7.19926 17.3767 7.72943Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconTiktok = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M10.4492 10.3005V9.67768C10.2377 9.64917 10.0227 9.63135 9.80062 9.63135C7.15358 9.62784 5 11.8027 5 14.4794C5 16.1204 5.81068 17.5726 7.05137 18.4519C6.25126 17.5869 5.76133 16.4229 5.76133 15.1486C5.76133 12.511 7.855 10.3611 10.4492 10.3005Z\" fill=\"currentColor\"/>\r\n<path d=\"M10.5655 17.3624C11.7463 17.3624 12.712 16.412 12.7544 15.2303L12.7579 4.66919H14.6682C14.6295 4.45206 14.6083 4.22781 14.6083 4H12L11.9965 14.5611C11.9543 15.7428 10.9884 16.6932 9.8077 16.6932C9.44113 16.6932 9.09571 16.6007 8.78906 16.4369C9.18383 16.9957 9.83237 17.3624 10.5655 17.3624Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.2388 8.25353V7.66625C17.5092 7.66625 16.8324 7.4491 16.2614 7.07178C16.769 7.65912 17.4563 8.08628 18.2388 8.25353Z\" fill=\"currentColor\"/>\r\n<path d=\"M16.2615 7.07208C15.7046 6.42783 15.3697 5.58779 15.3697 4.66943H14.6719C14.8516 5.67322 15.4438 6.53463 16.2615 7.07208Z\" fill=\"currentColor\"/>\r\n<path d=\"M9.80411 12.2617C8.59514 12.2617 7.61176 13.2549 7.61176 14.4758C7.61176 15.3265 8.09111 16.0669 8.789 16.4371C8.52817 16.074 8.37309 15.6291 8.37309 15.1449C8.37309 13.924 9.35647 12.9309 10.5655 12.9309C10.791 12.9309 11.0095 12.9701 11.214 13.0342V10.3432C11.0025 10.3147 10.7875 10.2969 10.5655 10.2969C10.5267 10.2969 10.4914 10.3004 10.4526 10.3004V12.365C10.2447 12.3009 10.0297 12.2617 9.80411 12.2617Z\" fill=\"currentColor\"/>\r\n<path d=\"M18.2387 8.25342V10.3001C16.8852 10.3001 15.6304 9.86233 14.6082 9.12193V14.479C14.6082 17.1522 12.4547 19.3306 9.80411 19.3306C8.78195 19.3306 7.83029 19.0031 7.05133 18.4514C7.92897 19.4018 9.18024 19.9998 10.5655 19.9998C13.2125 19.9998 15.3696 17.825 15.3696 15.1482V9.79112C16.3917 10.5315 17.6465 10.9693 19 10.9693V8.33532C18.7357 8.33532 18.4819 8.30681 18.2387 8.25342Z\" fill=\"currentColor\"/>\r\n<path d=\"M14.6082 14.4794V9.12235C15.6304 9.86275 16.8852 10.3005 18.2387 10.3005V8.25384C17.4562 8.08658 16.7689 7.65943 16.2614 7.07208C15.4436 6.53463 14.855 5.67322 14.6682 4.66943H12.7578L12.7543 15.2305C12.712 16.4122 11.7462 17.3626 10.5655 17.3626C9.8323 17.3626 9.18729 16.996 8.78547 16.4407C8.08758 16.067 7.60823 15.3302 7.60823 14.4794C7.60823 13.2585 8.59161 12.2654 9.80058 12.2654C10.0262 12.2654 10.2447 12.3046 10.4491 12.3686V10.3041C7.85496 10.3611 5.76129 12.511 5.76129 15.1486C5.76129 16.4229 6.25122 17.5833 7.05132 18.4519C7.83028 19.0036 8.78195 19.3311 9.80411 19.3311C12.4512 19.3311 14.6082 17.1526 14.6082 14.4794Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconPinterest = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M12.2182 4C7.79651 4 4.21167 7.57895 4.21167 11.9934C4.21167 15.3816 6.3204 18.2763 9.29897 19.4408C9.22649 18.8092 9.16718 17.8355 9.32533 17.1447C9.47031 16.5197 10.2611 13.1711 10.2611 13.1711C10.2611 13.1711 10.0238 12.6908 10.0238 11.9868C10.0238 10.875 10.6696 10.0461 11.4736 10.0461C12.1589 10.0461 12.4884 10.5592 12.4884 11.1711C12.4884 11.8553 12.0535 12.8816 11.8229 13.8355C11.6318 14.6316 12.2248 15.2829 13.009 15.2829C14.4324 15.2829 15.5263 13.7829 15.5263 11.625C15.5263 9.71053 14.149 8.375 12.1787 8.375C9.89864 8.375 8.56092 10.0789 8.56092 11.8421C8.56092 12.5263 8.82451 13.2632 9.154 13.6645C9.2199 13.7434 9.22649 13.8158 9.20672 13.8947C9.14741 14.1447 9.00902 14.6908 8.98266 14.8026C8.94972 14.9474 8.86405 14.9803 8.71248 14.9079C7.71084 14.4408 7.08481 12.9868 7.08481 11.8092C7.08481 9.28947 8.91677 6.97368 12.3764 6.97368C15.1507 6.97368 17.3121 8.94737 17.3121 11.5921C17.3121 14.3487 15.5724 16.5658 13.1606 16.5658C12.35 16.5658 11.5856 16.1447 11.3286 15.6447C11.3286 15.6447 10.9266 17.1711 10.8278 17.5461C10.6499 18.2434 10.1622 19.1118 9.83275 19.6447C10.584 19.875 11.3748 20 12.2051 20C16.6268 20 20.2116 16.4211 20.2116 12.0066C20.2248 7.57895 16.64 4 12.2182 4Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconShare = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n >\n <path d=\"M14.1667 7.5C15.5474 7.5 16.6667 6.38071 16.6667 5C16.6667 3.61929 15.5474 2.5 14.1667 2.5C12.786 2.5 11.6667 3.61929 11.6667 5C11.6667 5.13524 11.6774 5.26797 11.6981 5.39738L6.67028 8.13982C6.22755 7.74202 5.64204 7.5 5 7.5C3.61929 7.5 2.5 8.61929 2.5 10C2.5 11.3807 3.61929 12.5 5 12.5C5.64197 12.5 6.22742 12.258 6.67012 11.8603L11.698 14.6028C11.6774 14.7322 11.6667 14.8648 11.6667 15C11.6667 16.3807 12.786 17.5 14.1667 17.5C15.5474 17.5 16.6667 16.3807 16.6667 15C16.6667 13.6193 15.5474 12.5 14.1667 12.5C13.5246 12.5 12.9391 12.742 12.4964 13.1398L7.46859 10.3974C7.48926 10.268 7.5 10.1352 7.5 10C7.5 9.86484 7.48927 9.73218 7.46863 9.60283L12.4966 6.86033C12.9393 7.25803 13.5247 7.5 14.1667 7.5Z\" fill=\"currentColor\"/>\n </svg>\n);","import { type SVGProps } from \"react\";\n\nexport const IconStar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M8 0L10.4721 5.26687L16 6.11146L12 10.2111L12.9443 16L8 13.2669L3.05573 16L4 10.2111L0 6.11146L5.52786 5.26687L8 0Z\" fill=\"#FFBF2B\"></path>\n </svg>\n);\n\n\n","import { type SVGProps } from \"react\";\n\nexport const IconWatched = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n // width=\"24\" height=\"24\" \n {...props}>\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M19.8915 8.88956C21.5572 12.9818 19.5902 17.6496 15.498 19.3153C12.9492 20.3529 10.1771 19.9811 8.04616 18.5643L8.74249 18.6723C9.28825 18.757 9.79929 18.3831 9.88393 17.8374C9.96857 17.2916 9.59475 16.7806 9.04899 16.6959L6.168 16.2491C5.96331 16.2174 5.76352 16.2502 5.58926 16.3323C5.51931 16.3652 5.45348 16.4061 5.3931 16.454C5.20281 16.6049 5.06666 16.8252 5.02651 17.0841L4.57974 19.9652C4.49511 20.5109 4.86893 21.022 5.41469 21.1066C5.96045 21.1912 6.47149 20.8174 6.55612 20.2716L6.59917 19.9941C9.30331 21.9569 12.9294 22.5202 16.252 21.1678C21.3673 19.0856 23.8261 13.2508 21.7439 8.13553C19.6617 3.02023 13.827 0.561429 8.71166 2.64364C5.91211 3.78321 3.90825 6.04676 3.00901 8.70121C2.73922 9.49757 3.5481 10.1439 4.32687 9.82685C4.6337 9.70196 4.86301 9.44289 4.97794 9.13219C5.72984 7.0996 7.30022 5.37752 9.4657 4.49605C13.5579 2.83028 18.2257 4.79733 19.8915 8.88956Z\"></path>\n<path d=\"M11.5 13V8\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\"></path>\n<path d=\"M14.5 14.5L11.5 13\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\"></path>\n</svg>\n);\n","import { type SVGProps } from \"react\";\n\nexport const IconPresent = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n \n xmlns=\"http://www.w3.org/2000/svg\" width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\"\n \n className={className}\n {...props}\n \n >\n <mask id=\"path-1-inside-1_4749_770\" fill=\"white\">\n <path d=\"M13.8896 28.7131C13.2672 29.4048 12.5677 30.1443 11.8535 30.8645C10.8986 31.8273 9.93294 32.7413 9.10547 33.4553C8.21557 34.2231 7.65337 34.6096 7.45605 34.6975C6.57339 35.0902 6.17521 36.1242 6.56738 37.0071C6.95997 37.8899 7.99492 38.288 8.87793 37.8958C9.61411 37.5684 10.5403 36.8392 11.3916 36.1047C12.3064 35.3154 13.3402 34.3353 14.3389 33.3284C15.251 32.4087 16.1479 31.4485 16.917 30.5715V46.6663H4.66699C2.08977 46.6663 0.000176518 44.5774 0 42.0002V28.7131H13.8896ZM56 42.0002C55.9998 44.5774 53.9102 46.6663 51.333 46.6663H20.417V30.8596C21.0096 31.6337 21.6614 32.4486 22.3164 33.2249C23.1676 34.2336 24.0583 35.2236 24.8711 36.0256C25.6174 36.762 26.494 37.5424 27.2891 37.8958C28.1721 38.2882 29.2069 37.8899 29.5996 37.0071C29.9917 36.1241 29.5937 35.09 28.7109 34.6975C28.7099 34.697 28.6994 34.6916 28.6787 34.6799C28.6551 34.6665 28.6225 34.6469 28.5811 34.6194C28.4967 34.5634 28.3895 34.4848 28.2598 34.3801C27.9989 34.1696 27.6856 33.8852 27.3301 33.5344C26.6191 32.8329 25.8024 31.9294 24.9912 30.968C24.3458 30.2031 23.7265 29.4267 23.1807 28.7131H56V42.0002ZM16.917 19.3704C15.3775 17.6983 13.1293 16.1571 10.2959 16.5374C9.17346 16.688 8.19458 16.9489 7.40039 17.3499C6.60482 17.7515 5.88239 18.3554 5.50488 19.2336C4.70498 21.0953 5.89038 22.7923 6.94629 23.7815C7.48629 24.2873 8.15001 24.7697 8.91211 25.2131H0V14.0002C0 11.4229 2.08966 9.33325 4.66699 9.33325H16.917V19.3704ZM51.333 9.33325C53.9103 9.33325 56 11.4229 56 14.0002V25.2131H28.9033C30.2037 24.4638 31.5478 23.3474 31.9609 21.7502C32.4364 19.9108 31.5147 18.2532 29.9912 16.9446C28.5553 15.7114 26.8475 15.6891 25.3857 16.179C23.9899 16.6468 22.6738 17.6086 21.5713 18.6438C21.1711 19.0196 20.7845 19.4196 20.417 19.8313V9.33325H51.333ZM10.7617 20.0071C12.1151 19.8255 13.4863 20.6428 14.7686 22.2366C15.219 22.7965 15.6074 23.3931 15.9287 23.9602C12.9209 23.4889 10.503 22.3172 9.33887 21.2268C9.00285 20.912 8.85938 20.6987 8.79883 20.5774C8.84143 20.5485 8.89959 20.5132 8.97754 20.4739C9.30515 20.3085 9.86948 20.1268 10.7617 20.0071ZM26.498 19.4973C27.1472 19.2798 27.464 19.3878 27.7109 19.5999C28.7172 20.4643 28.5776 20.8587 28.5723 20.8743C28.5168 21.0878 28.1896 21.5974 27.0986 22.2141C25.7016 23.0037 23.6758 23.611 21.6406 23.929C22.2867 22.9874 23.1003 22.0101 23.9678 21.1956C24.8988 20.3214 25.7826 19.7371 26.498 19.4973Z\"/>\n </mask>\n <path d=\"M13.8896 28.7131C13.2672 29.4048 12.5677 30.1443 11.8535 30.8645C10.8986 31.8273 9.93294 32.7413 9.10547 33.4553C8.21557 34.2231 7.65337 34.6096 7.45605 34.6975C6.57339 35.0902 6.17521 36.1242 6.56738 37.0071C6.95997 37.8899 7.99492 38.288 8.87793 37.8958C9.61411 37.5684 10.5403 36.8392 11.3916 36.1047C12.3064 35.3154 13.3402 34.3353 14.3389 33.3284C15.251 32.4087 16.1479 31.4485 16.917 30.5715V46.6663H4.66699C2.08977 46.6663 0.000176518 44.5774 0 42.0002V28.7131H13.8896ZM56 42.0002C55.9998 44.5774 53.9102 46.6663 51.333 46.6663H20.417V30.8596C21.0096 31.6337 21.6614 32.4486 22.3164 33.2249C23.1676 34.2336 24.0583 35.2236 24.8711 36.0256C25.6174 36.762 26.494 37.5424 27.2891 37.8958C28.1721 38.2882 29.2069 37.8899 29.5996 37.0071C29.9917 36.1241 29.5937 35.09 28.7109 34.6975C28.7099 34.697 28.6994 34.6916 28.6787 34.6799C28.6551 34.6665 28.6225 34.6469 28.5811 34.6194C28.4967 34.5634 28.3895 34.4848 28.2598 34.3801C27.9989 34.1696 27.6856 33.8852 27.3301 33.5344C26.6191 32.8329 25.8024 31.9294 24.9912 30.968C24.3458 30.2031 23.7265 29.4267 23.1807 28.7131H56V42.0002ZM16.917 19.3704C15.3775 17.6983 13.1293 16.1571 10.2959 16.5374C9.17346 16.688 8.19458 16.9489 7.40039 17.3499C6.60482 17.7515 5.88239 18.3554 5.50488 19.2336C4.70498 21.0953 5.89038 22.7923 6.94629 23.7815C7.48629 24.2873 8.15001 24.7697 8.91211 25.2131H0V14.0002C0 11.4229 2.08966 9.33325 4.66699 9.33325H16.917V19.3704ZM51.333 9.33325C53.9103 9.33325 56 11.4229 56 14.0002V25.2131H28.9033C30.2037 24.4638 31.5478 23.3474 31.9609 21.7502C32.4364 19.9108 31.5147 18.2532 29.9912 16.9446C28.5553 15.7114 26.8475 15.6891 25.3857 16.179C23.9899 16.6468 22.6738 17.6086 21.5713 18.6438C21.1711 19.0196 20.7845 19.4196 20.417 19.8313V9.33325H51.333ZM10.7617 20.0071C12.1151 19.8255 13.4863 20.6428 14.7686 22.2366C15.219 22.7965 15.6074 23.3931 15.9287 23.9602C12.9209 23.4889 10.503 22.3172 9.33887 21.2268C9.00285 20.912 8.85938 20.6987 8.79883 20.5774C8.84143 20.5485 8.89959 20.5132 8.97754 20.4739C9.30515 20.3085 9.86948 20.1268 10.7617 20.0071ZM26.498 19.4973C27.1472 19.2798 27.464 19.3878 27.7109 19.5999C28.7172 20.4643 28.5776 20.8587 28.5723 20.8743C28.5168 21.0878 28.1896 21.5974 27.0986 22.2141C25.7016 23.0037 23.6758 23.611 21.6406 23.929C22.2867 22.9874 23.1003 22.0101 23.9678 21.1956C24.8988 20.3214 25.7826 19.7371 26.498 19.4973Z\" fill=\"#FDE92F\"/>\n <path d=\"M13.8896 28.7131L15.6241 30.2739L19.1284 26.3798H13.8896V28.7131ZM11.8535 30.8645L13.5102 32.5076L13.5102 32.5076L11.8535 30.8645ZM9.10547 33.4553L10.6297 35.222L10.6298 35.2219L9.10547 33.4553ZM7.45605 34.6975L8.40448 36.8294L8.4059 36.8288L7.45605 34.6975ZM6.56738 37.0071L4.43495 37.9543L4.43535 37.9552L6.56738 37.0071ZM8.87793 37.8958L9.82513 40.0282L9.82604 40.0278L8.87793 37.8958ZM11.3916 36.1047L12.9159 37.8714L12.916 37.8713L11.3916 36.1047ZM14.3389 33.3284L15.9956 34.9715L15.9956 34.9714L14.3389 33.3284ZM16.917 30.5715H19.2503V24.3724L15.1628 29.033L16.917 30.5715ZM16.917 46.6663V48.9996H19.2503V46.6663H16.917ZM0 42.0002H-2.33333V42.0004L0 42.0002ZM0 28.7131V26.3798H-2.33333V28.7131H0ZM56 42.0002L58.3333 42.0004V42.0002H56ZM20.417 46.6663H18.0837V48.9996H20.417V46.6663ZM20.417 30.8596L22.2697 29.4412L18.0837 23.9735V30.8596H20.417ZM22.3164 33.2249L20.533 34.7295L20.5331 34.7296L22.3164 33.2249ZM24.8711 36.0256L23.2322 37.6865L23.2323 37.6866L24.8711 36.0256ZM27.2891 37.8958L26.3413 40.0279L26.3414 40.028L27.2891 37.8958ZM29.5996 37.0071L31.7316 37.9554L31.7322 37.954L29.5996 37.0071ZM28.7109 34.6975L27.609 36.7542L27.6846 36.7947L27.7629 36.8296L28.7109 34.6975ZM28.6787 34.6799L27.5278 36.7097L27.5281 36.7098L28.6787 34.6799ZM28.5811 34.6194L27.2909 36.5636L27.2911 36.5637L28.5811 34.6194ZM28.2598 34.3801L26.7944 36.1959L26.7945 36.196L28.2598 34.3801ZM27.3301 33.5344L25.6912 35.1953L25.6913 35.1954L27.3301 33.5344ZM24.9912 30.968L23.2079 32.4727L23.2079 32.4727L24.9912 30.968ZM23.1807 28.7131V26.3798H18.4579L21.3274 30.1308L23.1807 28.7131ZM56 28.7131H58.3333V26.3798H56V28.7131ZM16.917 19.3704L15.2004 20.9508L19.2503 25.3496V19.3704H16.917ZM10.2959 16.5374L9.98557 14.2247L9.9855 14.2248L10.2959 16.5374ZM7.40039 17.3499L6.34883 15.2669L6.34875 15.2669L7.40039 17.3499ZM5.50488 19.2336L3.36121 18.3122L3.36106 18.3125L5.50488 19.2336ZM6.94629 23.7815L5.35105 25.4843L5.35117 25.4844L6.94629 23.7815ZM8.91211 25.2131V27.5465H17.5626L10.0855 23.1963L8.91211 25.2131ZM0 25.2131H-2.33333V27.5465H0V25.2131ZM16.917 9.33325H19.2503V6.99992H16.917V9.33325ZM56 25.2131V27.5465H58.3333V25.2131H56ZM28.9033 25.2131L27.7383 23.1914L20.1807 27.5465H28.9033V25.2131ZM31.9609 21.7502L34.2199 22.3346L34.22 22.3342L31.9609 21.7502ZM29.9912 16.9446L31.5116 15.1746L31.5114 15.1744L29.9912 16.9446ZM25.3857 16.179L24.6443 13.9666L24.6442 13.9666L25.3857 16.179ZM21.5713 18.6438L19.9741 16.9428L19.9741 16.9428L21.5713 18.6438ZM20.417 19.8313H18.0837V25.9488L22.1576 21.3852L20.417 19.8313ZM20.417 9.33325V6.99992H18.0837V9.33325H20.417ZM10.7617 20.0071L10.4514 17.6945L10.4513 17.6945L10.7617 20.0071ZM14.7686 22.2366L16.5866 20.774L16.5866 20.7739L14.7686 22.2366ZM15.9287 23.9602L15.5675 26.2654L20.3405 27.0134L17.9588 22.8099L15.9287 23.9602ZM9.33887 21.2268L7.74351 22.9295L7.74375 22.9298L9.33887 21.2268ZM8.79883 20.5774L7.49055 18.6453L5.79863 19.791L6.71104 21.6193L8.79883 20.5774ZM8.97754 20.4739L7.92611 18.3909L7.92579 18.391L8.97754 20.4739ZM26.498 19.4973L25.7567 17.2849L25.7565 17.2849L26.498 19.4973ZM27.7109 19.5999L29.2314 17.8299L29.2309 17.8295L27.7109 19.5999ZM28.5723 20.8743L26.3655 20.1162L26.3364 20.201L26.3139 20.2877L28.5723 20.8743ZM27.0986 22.2141L28.2467 24.2455L28.2469 24.2454L27.0986 22.2141ZM21.6406 23.929L19.7167 22.6088L16.656 27.0693L22.0008 26.2343L21.6406 23.929ZM23.9678 21.1956L22.3706 19.4945L22.3705 19.4946L23.9678 21.1956ZM13.8896 28.7131L12.1552 27.1523C11.5597 27.8141 10.8862 28.5263 10.1968 29.2214L11.8535 30.8645L13.5102 32.5076C14.2493 31.7624 14.9748 30.9955 15.6241 30.2739L13.8896 28.7131ZM11.8535 30.8645L10.1968 29.2214C9.27089 30.155 8.35035 31.025 7.58111 31.6887L9.10547 33.4553L10.6298 35.2219C11.5155 34.4576 12.5263 33.4996 13.5102 32.5076L11.8535 30.8645ZM9.10547 33.4553L7.5812 31.6887C7.17118 32.0424 6.85558 32.2919 6.63745 32.4525C6.5279 32.5332 6.45324 32.5838 6.41109 32.6109C6.34884 32.6509 6.39358 32.6165 6.50621 32.5663L7.45605 34.6975L8.4059 36.8288C8.75767 36.672 9.12592 36.4155 9.40463 36.2102C9.73942 35.9637 10.1499 35.636 10.6297 35.222L9.10547 33.4553ZM7.45605 34.6975L6.50763 32.5656C4.44924 33.4814 3.51933 35.8929 4.43495 37.9543L6.56738 37.0071L8.69982 36.0599C8.83108 36.3554 8.69754 36.699 8.40448 36.8294L7.45605 34.6975ZM6.56738 37.0071L4.43535 37.9552C5.35142 40.0152 7.76479 40.9434 9.82513 40.0282L8.87793 37.8958L7.93073 35.7633C8.22505 35.6326 8.56853 35.7647 8.69942 36.059L6.56738 37.0071ZM8.87793 37.8958L9.82604 40.0278C10.9201 39.5413 12.0875 38.5861 12.9159 37.8714L11.3916 36.1047L9.86732 34.3381C8.99317 35.0923 8.30811 35.5955 7.92982 35.7637L8.87793 37.8958ZM11.3916 36.1047L12.916 37.8713C13.8888 37.0319 14.9677 36.0078 15.9956 34.9715L14.3389 33.3284L12.6822 31.6853C11.7127 32.6627 10.724 33.5989 9.86725 34.3382L11.3916 36.1047ZM14.3389 33.3284L15.9956 34.9714C16.9387 34.0205 17.8684 33.0254 18.6712 32.1101L16.917 30.5715L15.1628 29.033C14.4274 29.8715 13.5632 30.7969 12.6821 31.6853L14.3389 33.3284ZM16.917 30.5715H14.5837V46.6663H16.917H19.2503V30.5715H16.917ZM16.917 46.6663V44.3329H4.66699V46.6663V48.9996H16.917V46.6663ZM4.66699 46.6663V44.3329C3.37796 44.3329 2.33342 43.2882 2.33333 42.0001L0 42.0002L-2.33333 42.0004C-2.33307 45.8666 0.801585 48.9996 4.66699 48.9996V46.6663ZM0 42.0002H2.33333V28.7131H0H-2.33333V42.0002H0ZM0 28.7131V31.0465H13.8896V28.7131V26.3798H0V28.7131ZM56 42.0002L53.6667 42.0001C53.6666 43.2882 52.622 44.3329 51.333 44.3329V46.6663V48.9996C55.1984 48.9996 58.3331 45.8666 58.3333 42.0004L56 42.0002ZM51.333 46.6663V44.3329H20.417V46.6663V48.9996H51.333V46.6663ZM20.417 46.6663H22.7503V30.8596H20.417H18.0837V46.6663H20.417ZM20.417 30.8596L18.5643 32.278C19.1774 33.0788 19.8523 33.9227 20.533 34.7295L22.3164 33.2249L24.0998 31.7202C23.4706 30.9745 22.8418 30.1885 22.2697 29.4412L20.417 30.8596ZM22.3164 33.2249L20.5331 34.7296C21.4107 35.7697 22.3513 36.8173 23.2322 37.6865L24.8711 36.0256L26.51 34.3647C25.7652 33.6298 24.9244 32.6975 24.0997 31.7201L22.3164 33.2249ZM24.8711 36.0256L23.2323 37.6866C23.9625 38.4071 25.1109 39.481 26.3413 40.0279L27.2891 37.8958L28.2368 35.7636C27.8772 35.6037 27.2722 35.1169 26.5099 34.3647L24.8711 36.0256ZM27.2891 37.8958L26.3414 40.028C28.4026 40.944 30.8156 40.0146 31.7316 37.9554L29.5996 37.0071L27.4677 36.0588C27.5982 35.7653 27.9415 35.6323 28.2367 35.7635L27.2891 37.8958ZM29.5996 37.0071L31.7322 37.954C32.6471 35.8934 31.7186 33.4813 29.6589 32.5654L28.7109 34.6975L27.7629 36.8296C27.4689 36.6988 27.3363 36.3548 27.467 36.0602L29.5996 37.0071ZM28.7109 34.6975L29.8129 32.6408C29.8078 32.638 29.8036 32.6358 29.8008 32.6343C29.7978 32.6328 29.7954 32.6315 29.7936 32.6306C29.7902 32.6288 29.7876 32.6274 29.7863 32.6268C29.785 32.6261 29.7839 32.6255 29.7835 32.6253C29.7832 32.6251 29.783 32.625 29.7829 32.625C29.7828 32.625 29.7828 32.6249 29.7827 32.6249C29.7827 32.6249 29.7827 32.6249 29.7827 32.6249C29.7826 32.6248 29.7832 32.6252 29.7841 32.6256C29.7849 32.626 29.786 32.6266 29.7872 32.6272C29.7924 32.6299 29.7978 32.6328 29.8035 32.6358C29.8146 32.6418 29.8232 32.6466 29.8293 32.65L28.6787 34.6799L27.5281 36.7098C27.5549 36.725 27.5791 36.7383 27.6009 36.75C27.6119 36.7559 27.6215 36.7609 27.6296 36.7651C27.6335 36.7672 27.6366 36.7688 27.6375 36.7693C27.6386 36.7698 27.6368 36.7689 27.6349 36.7679C27.6338 36.7674 27.6313 36.766 27.628 36.7643C27.6254 36.763 27.6182 36.7592 27.609 36.7542L28.7109 34.6975ZM28.6787 34.6799L29.8296 32.6502C29.8564 32.6654 29.8702 32.6745 29.871 32.6751L28.5811 34.6194L27.2911 36.5637C27.3749 36.6193 27.4538 36.6677 27.5278 36.7097L28.6787 34.6799ZM28.5811 34.6194L29.8712 32.6752C29.8614 32.6687 29.8134 32.6356 29.725 32.5642L28.2598 34.3801L26.7945 36.196C26.9655 36.334 27.132 36.4582 27.2909 36.5636L28.5811 34.6194ZM28.2598 34.3801L29.7252 32.5643C29.5445 32.4185 29.2911 32.1913 28.9689 31.8735L27.3301 33.5344L25.6913 35.1954C26.0802 35.5791 26.4533 35.9206 26.7944 36.1959L28.2598 34.3801ZM27.3301 33.5344L28.9689 31.8735C28.3255 31.2387 27.5586 30.3925 26.7746 29.4633L24.9912 30.968L23.2079 32.4727C24.0462 33.4663 24.9127 34.4272 25.6912 35.1953L27.3301 33.5344ZM24.9912 30.968L26.7746 29.4633C26.1556 28.7297 25.5596 27.9825 25.0339 27.2954L23.1807 28.7131L21.3274 30.1308C21.8935 30.8708 22.5361 31.6765 23.2079 32.4727L24.9912 30.968ZM23.1807 28.7131V31.0465H56V28.7131V26.3798H23.1807V28.7131ZM56 28.7131H53.6667V42.0002H56H58.3333V28.7131H56ZM16.917 19.3704L18.6336 17.7899C16.8712 15.8757 13.919 13.6969 9.98557 14.2247L10.2959 16.5374L10.6062 18.85C12.3395 18.6174 13.8839 19.5208 15.2004 20.9508L16.917 19.3704ZM10.2959 16.5374L9.9855 14.2248C8.70778 14.3963 7.45294 14.7095 6.34883 15.2669L7.40039 17.3499L8.45195 19.4328C8.93622 19.1883 9.63914 18.9798 10.6063 18.8499L10.2959 16.5374ZM7.40039 17.3499L6.34875 15.2669C5.24324 15.8251 4.02294 16.7728 3.36121 18.3122L5.50488 19.2336L7.64856 20.1551C7.74184 19.9381 7.9664 19.6779 8.45203 19.4328L7.40039 17.3499ZM5.50488 19.2336L3.36106 18.3125C1.9261 21.6522 4.18013 24.3874 5.35105 25.4843L6.94629 23.7815L8.54153 22.0787C8.15494 21.7165 7.8384 21.3055 7.68046 20.93C7.54512 20.6083 7.54805 20.389 7.6487 20.1548L5.50488 19.2336ZM6.94629 23.7815L5.35117 25.4844C6.04257 26.1321 6.8547 26.7156 7.73872 27.23L8.91211 25.2131L10.0855 23.1963C9.44531 22.8238 8.93001 22.4425 8.54141 22.0785L6.94629 23.7815ZM8.91211 25.2131V22.8798H0V25.2131V27.5465H8.91211V25.2131ZM0 25.2131H2.33333V14.0002H0H-2.33333V25.2131H0ZM0 14.0002H2.33333C2.33333 12.7116 3.37833 11.6666 4.66699 11.6666V9.33325V6.99992C0.800999 6.99992 -2.33333 10.1343 -2.33333 14.0002H0ZM4.66699 9.33325V11.6666H16.917V9.33325V6.99992H4.66699V9.33325ZM16.917 9.33325H14.5837V19.3704H16.917H19.2503V9.33325H16.917ZM51.333 9.33325V11.6666C52.6217 11.6666 53.6667 12.7116 53.6667 14.0002H56H58.3333C58.3333 10.1343 55.199 6.99992 51.333 6.99992V9.33325ZM56 14.0002H53.6667V25.2131H56H58.3333V14.0002H56ZM56 25.2131V22.8798H28.9033V25.2131V27.5465H56V25.2131ZM28.9033 25.2131L30.0683 27.2348C31.53 26.3926 33.5661 24.8618 34.2199 22.3346L31.9609 21.7502L29.702 21.1659C29.5294 21.833 28.8775 22.535 27.7383 23.1914L28.9033 25.2131ZM31.9609 21.7502L34.22 22.3342C35.0149 19.2594 33.3562 16.759 31.5116 15.1746L29.9912 16.9446L28.4708 18.7146C29.6732 19.7474 29.858 20.5623 29.7019 21.1663L31.9609 21.7502ZM29.9912 16.9446L31.5114 15.1744C29.2765 13.255 26.6373 13.2986 24.6443 13.9666L25.3857 16.179L26.1272 18.3914C27.0576 18.0795 27.8341 18.1678 28.471 18.7147L29.9912 16.9446ZM25.3857 16.179L24.6442 13.9666C22.7956 14.5862 21.1919 15.7993 19.9741 16.9428L21.5713 18.6438L23.1685 20.3448C24.1557 19.4178 25.1842 18.7074 26.1273 18.3913L25.3857 16.179ZM21.5713 18.6438L19.9741 16.9428C19.5188 17.3703 19.0846 17.8201 18.6763 18.2774L20.417 19.8313L22.1576 21.3852C22.4845 21.0191 22.8234 20.6689 23.1685 20.3448L21.5713 18.6438ZM20.417 19.8313H22.7503V9.33325H20.417H18.0837V19.8313H20.417ZM20.417 9.33325V11.6666H51.333V9.33325V6.99992H20.417V9.33325ZM10.7617 20.0071L11.072 22.3197C11.1956 22.3031 11.8414 22.3206 12.9505 23.6992L14.7686 22.2366L16.5866 20.7739C15.1313 18.965 13.0347 17.3479 10.4514 17.6945L10.7617 20.0071ZM14.7686 22.2366L12.9505 23.6991C13.3071 24.1424 13.6266 24.6303 13.8986 25.1105L15.9287 23.9602L17.9588 22.8099C17.5882 22.1559 17.1308 21.4505 16.5866 20.774L14.7686 22.2366ZM15.9287 23.9602L16.2899 21.655C13.5893 21.2318 11.6574 20.2015 10.934 19.5239L9.33887 21.2268L7.74375 22.9298C9.34855 24.4329 12.2526 25.746 15.5675 26.2654L15.9287 23.9602ZM9.33887 21.2268L10.9342 19.5241C10.8855 19.4784 10.8511 19.4434 10.8283 19.4189C10.8055 19.3944 10.7953 19.3816 10.7944 19.3805C10.7935 19.3794 10.8031 19.3913 10.8193 19.4164C10.8355 19.4413 10.8595 19.4811 10.8866 19.5355L8.79883 20.5774L6.71104 21.6193C6.93358 22.0652 7.27941 22.4947 7.74351 22.9295L9.33887 21.2268ZM8.79883 20.5774L10.1071 22.5095C10.0642 22.5385 10.0363 22.5532 10.0293 22.5567L8.97754 20.4739L7.92579 18.391C7.76286 18.4733 7.61869 18.5586 7.49055 18.6453L8.79883 20.5774ZM8.97754 20.4739L10.029 22.5569C10.0259 22.5584 10.0987 22.5223 10.2789 22.4725C10.4552 22.4239 10.7139 22.3678 11.0721 22.3197L10.7617 20.0071L10.4513 17.6945C9.40691 17.8347 8.56551 18.0681 7.92611 18.3909L8.97754 20.4739ZM26.498 19.4973L27.2394 21.7097C27.3662 21.6672 27.2262 21.7388 26.9371 21.699C26.7844 21.678 26.6284 21.6309 26.4816 21.559C26.3401 21.4896 26.2426 21.4145 26.191 21.3702L27.7109 19.5999L29.2309 17.8295C28.8518 17.504 28.3079 17.1771 27.5736 17.076C26.902 16.9835 26.2791 17.1099 25.7567 17.2849L26.498 19.4973ZM27.7109 19.5999L26.1905 21.3698C26.5452 21.6745 26.4811 21.7169 26.3793 21.4816C26.3227 21.3506 26.2593 21.1435 26.2496 20.8737C26.2448 20.7406 26.2536 20.6022 26.2774 20.4613C26.2893 20.3912 26.3044 20.3231 26.3222 20.2574C26.3311 20.2246 26.3402 20.194 26.3491 20.1658C26.3582 20.1371 26.3665 20.1133 26.3655 20.1162L28.5723 20.8743L30.779 21.6323C30.7784 21.6343 30.7872 21.6087 30.7971 21.5776C30.8068 21.5469 30.8169 21.5131 30.8269 21.4763C30.8468 21.4027 30.8645 21.3238 30.8787 21.2397C30.9073 21.0708 30.9199 20.8924 30.9133 20.7066C30.8998 20.3314 30.8095 19.9688 30.6626 19.6292C30.3804 18.9766 29.8829 18.3896 29.2314 17.8299L27.7109 19.5999ZM28.5723 20.8743L26.3139 20.2877C26.3474 20.1584 26.3875 20.0588 26.4184 19.9917C26.4504 19.9223 26.4804 19.8706 26.5022 19.8362C26.5453 19.7685 26.5699 19.7468 26.552 19.7652C26.5149 19.8034 26.3499 19.957 25.9504 20.1829L27.0986 22.2141L28.2469 24.2454C28.9384 23.8545 29.4825 23.445 29.8955 23.0208C30.2733 22.6328 30.6628 22.1073 30.8307 21.4608L28.5723 20.8743ZM27.0986 22.2141L25.9505 20.1828C24.882 20.7867 23.1542 21.3309 21.2805 21.6236L21.6406 23.929L22.0008 26.2343C24.1975 25.8912 26.5212 25.2207 28.2467 24.2455L27.0986 22.2141ZM21.6406 23.929L23.5646 25.2491C24.128 24.428 24.8347 23.5823 25.565 22.8965L23.9678 21.1956L22.3705 19.4946C21.366 20.4379 20.4454 21.5467 19.7167 22.6088L21.6406 23.929ZM23.9678 21.1956L25.5649 22.8966C26.3821 22.1294 26.9781 21.7973 27.2396 21.7097L26.498 19.4973L25.7565 17.2849C24.5872 17.6769 23.4155 18.5134 22.3706 19.4945L23.9678 21.1956Z\" fill=\"#FDE92F\" mask=\"url(#path-1-inside-1_4749_770)\"/>\n</svg>\n);\n\n","import { type SVGProps } from \"react\";\n\nexport const IconIce = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n viewBox=\"0 0 20 20\" fill=\"none\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M13.3333 5.83333C13.3333 5.88064 13.3323 5.92772 13.3304 5.97455C14.3029 6.31692 15 7.24372 15 8.33333C15 9.4849 14.2214 10.4546 13.1619 10.7448L10.4769 17.1887C10.3003 17.6126 9.69972 17.6126 9.52308 17.1887L6.8381 10.7448C5.77861 10.4546 5 9.4849 5 8.33333C5 7.24372 5.69708 6.31692 6.6696 5.97455C6.66765 5.92772 6.66667 5.88064 6.66667 5.83333C6.66667 3.99238 8.15905 2.5 10 2.5C11.8409 2.5 13.3333 3.99238 13.3333 5.83333ZM8.7855 10.478L10 14L11.2145 10.4779C11.1787 10.4565 11.1435 10.4341 11.1089 10.4109C10.8143 10.6736 10.4258 10.8333 10 10.8333C9.57418 10.8333 9.18567 10.6736 8.89106 10.4109C8.85648 10.4341 8.82128 10.4565 8.7855 10.478Z\" fill=\"currentColor\" />\n </svg>\n);\n","import { type SVGProps } from \"react\";\n\nexport const IconCocktail = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n {...props}\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M14.1133 2.41675C15.7701 2.41675 17.1133 3.75989 17.1133 5.41675C17.1133 7.0736 15.7701 8.41675 14.1133 8.41675C13.6742 8.41669 13.2587 8.32315 12.8848 8.15503C12.7668 8.102 12.6533 8.04073 12.5439 7.97339C12.2728 7.80642 11.9307 7.83126 11.6875 8.02222L11.5898 8.11401L8.96387 11.0701C8.82175 11.2301 8.75432 11.4435 8.7793 11.656C8.77968 11.6593 8.78027 11.6628 8.78027 11.6667V17.4998C8.78027 17.9139 9.11609 18.2497 9.53027 18.2498H10.833C10.879 18.2498 10.917 18.2877 10.917 18.3337C10.9168 18.3796 10.8789 18.4167 10.833 18.4167H6.66699C6.62108 18.4167 6.58318 18.3796 6.58301 18.3337C6.58301 18.2877 6.62097 18.2498 6.66699 18.2498H7.86328C8.27749 18.2498 8.61328 17.914 8.61328 17.4998V11.6667C8.61328 11.6628 8.61388 11.6592 8.61426 11.656C8.63927 11.4434 8.57183 11.2301 8.42969 11.0701L3.27246 5.26343C3.25458 5.24321 3.25201 5.22943 3.25098 5.22144C3.24956 5.20985 3.25053 5.19309 3.25879 5.17456C3.26726 5.1557 3.27934 5.14309 3.28906 5.13647C3.29576 5.13192 3.30771 5.12476 3.33496 5.12476H10.5107C10.8447 5.12455 11.1379 4.90365 11.2305 4.58276C11.2948 4.3599 11.3845 4.14752 11.4961 3.94897C12.0092 3.03643 12.9837 2.42151 14.1006 2.41675H14.1133ZM5.18945 5.29175C4.89438 5.29187 4.6269 5.46503 4.50586 5.73413C4.38485 6.00346 4.43285 6.31902 4.62891 6.53979L5.49023 7.50952C5.61786 7.65321 5.79401 7.73988 5.98047 7.75757C5.97615 7.94381 6.04071 8.12882 6.16895 8.27319L8.13672 10.488C8.27905 10.6483 8.48294 10.74 8.69727 10.74C8.91151 10.7399 9.11553 10.6482 9.25781 10.488L10.4414 9.15601C10.6207 8.95411 10.675 8.67407 10.5918 8.42261C10.6437 8.40522 10.6952 8.38974 10.7441 8.37085C10.9753 8.28158 11.1808 8.17627 11.3467 8.07983C11.4155 8.0398 11.4784 7.98899 11.5312 7.92944L12.7646 6.53979C12.9607 6.31902 13.0097 6.00349 12.8887 5.73413C12.7827 5.49848 12.5642 5.33637 12.3135 5.29956L12.2041 5.29175H5.18945ZM14.04 2.58472C13.5274 2.5979 13.0467 2.7472 12.6357 2.99878C12.2329 3.24543 11.8971 3.5902 11.6602 3.99976C11.526 4.23173 11.5253 4.51759 11.6592 4.74976C11.7931 4.98196 12.0415 5.12476 12.3096 5.12476H14.0596C14.0627 5.12476 14.0658 5.12558 14.0684 5.12573C14.0863 5.12687 14.0958 5.13115 14.1016 5.13452C14.1086 5.13865 14.1178 5.14524 14.126 5.15698C14.145 5.18438 14.1466 5.21369 14.1426 5.22925C14.1416 5.23305 14.1393 5.23704 14.1367 5.24194C14.134 5.24697 14.1293 5.25423 14.1211 5.26343L12.7285 6.83276C12.5687 7.01269 12.5045 7.25801 12.5566 7.49292C12.6088 7.72789 12.7712 7.92391 12.9922 8.01929C13.337 8.16801 13.7165 8.2497 14.1133 8.24976C15.0146 8.24976 15.8182 7.8284 16.3359 7.17456C16.7181 6.69174 16.9473 6.0797 16.9473 5.41675C16.9473 3.85194 15.6781 2.58374 14.1133 2.58374C14.0888 2.58374 14.0644 2.58409 14.04 2.58472Z\" fill=\"currentColor\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinejoin=\"round\"/>\n</svg>\n);\n\n\n","/**\n * CSS Variables Type Definitions\n * TypeScript interfaces for UI CSS custom properties\n */\n\n// Base Colors\nexport interface BaseColors {\n \"--color-primary\": string;\n \"--color-primary-light\": string;\n \"--color-primary-dark\": string;\n \"--color-black\": string;\n \"--color-white\": string;\n \"--color-accent-blue\": string;\n \"--color-ultra-light-blue\": string;\n}\n\n// Functional Colors\nexport interface FunctionalColors {\n \"--color-green\": string;\n \"--color-green-light\": string;\n \"--color-pink\": string;\n \"--color-purple\": string;\n \"--color-orange\": string;\n \"--color-warning\": string;\n \"--color-warning-light\": string;\n \"--color-warning-dark\": string;\n}\n\n// Typography System\nexport interface TypographySystem {\n \"--font-xs-size\": string;\n \"--font-sm-size\": string;\n \"--font-base-size\": string;\n \"--font-lg-size\": string;\n \"--font-xl-size\": string;\n \"--font-2xl-size\": string;\n \"--font-3xl-size\": string;\n \"--font-4xl-size\": string;\n \"--font-5xl-size\": string;\n \"--font-6xl-size\": string;\n \"--font-7xl-size\": string;\n \"--font-8xl-size\": string;\n \"--font-9xl-size\": string;\n}\n\n// All CSS Variables\nexport interface CSSVariables\n extends BaseColors, FunctionalColors, TypographySystem {\n // Gradients\n \"--color-linear-gradient-y\": string;\n \"--color-linear-gradient-x\": string;\n \"--color-gradient-blue-green-y\": string;\n \"--color-gradient-blue-green-x\": string;\n \"--color-gradient-calendar\": string;\n \"--color-nav-gradient\": string;\n \"--color-nav-gradient-mobile\": string;\n\n // Shadows\n \"--shadow-dropdown\": string;\n \"--shadow-calendar\": string;\n \"--shadow-topbar\": string;\n\n // Animations & Transitions\n \"--animation-spin\": string;\n \"--animation-spin-slow\": string;\n \"--transition-duration-sidebar\": string;\n \"--transition-default\": string;\n \"--transition-fast\": string;\n \"--transition-slow\": string;\n\n // Sizing\n \"--max-height-sidebar\": string;\n \"--spacing-sidebar\": string;\n}\n\n// CSS Variable keys for runtime access\nexport const CSS_VARIABLE_KEYS: (keyof CSSVariables)[] = [\n \"--color-primary\",\n \"--color-primary-light\",\n \"--color-primary-dark\",\n \"--color-black\",\n \"--color-white\",\n \"--color-accent-blue\",\n \"--color-ultra-light-blue\",\n \"--color-green\",\n \"--color-green-light\",\n \"--color-pink\",\n \"--color-purple\",\n \"--color-orange\",\n \"--color-warning\",\n \"--color-warning-light\",\n \"--color-warning-dark\",\n // Add more as needed\n];\n\n// Helper function to get CSS variable value\nexport const getCSSVariable = (variable: keyof CSSVariables): string => {\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\" && document.documentElement)\n {return getComputedStyle(document.documentElement)\n .getPropertyValue(variable)\n .trim();}\n\n return \"\";\n};\n\n// Helper function to set CSS variable value\nexport const setCSSVariable = (\n variable: keyof CSSVariables,\n value: string,\n): void => {\n if (typeof window !== \"undefined\")\n document.documentElement.style.setProperty(variable, value);\n};\n","import React, { createContext, useContext } from \"react\";\n\nexport type Brand = \"prijsvrij\" | \"dreizen\";\n\nconst BrandContext = createContext<Brand | undefined>(undefined);\n\ninterface BrandProviderProps {\n brand: Brand;\n children: React.ReactNode;\n}\n\nexport const BrandProvider = ({ brand, children }: BrandProviderProps) => <BrandContext.Provider value={brand}>{children}</BrandContext.Provider>;\n\nfunction isBrand(value: unknown): value is Brand {\n return value === \"prijsvrij\" || value === \"dreizen\";\n}\n\nexport const useBrand = (fallback?: Brand): Brand => {\n const brand = useContext(BrandContext);\n\n if (brand) {\n return brand;\n }\n\n if (typeof document !== \"undefined\") {\n const domBrand = document.documentElement.getAttribute(\"data-brand\");\n if (isBrand(domBrand)) {\n return domBrand;\n }\n }\n\n return fallback ?? \"prijsvrij\";\n};\n","\"use client\";\nimport { cn } from \"@utils/cn\";\nimport { useState, useRef, useEffect } from \"react\";\nimport { IconArrowDown, IconChevronRight } from \"../../icons\";\nimport { useBrand } from \"../../theme\";\n\n\ninterface DropdownItem {\n id: string;\n name: string;\n icon: React.ReactNode;\n}\n\ninterface DropdownProps {\n className?: string;\n loading?: boolean;\n dropdownItems?: DropdownItem[];\n selectedItem?: DropdownItem | undefined;\n onClick: (item: DropdownItem) => void;\n dropdownIcon?: React.ReactNode;\n}\n\nconst DropdownItemComponent = ({\n id,\n name,\n onClick,\n icon,\n}: DropdownItem & { onClick: (item: DropdownItem) => void }) => {\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick({ id, name, icon });\n }\n };\n\n return <div \n onClick={() => onClick({ id, name, icon })} \n onKeyDown={handleKeyDown}\n tabIndex={0}\n className=\"flex hover:bg-gray-50 items-center flex-row justify-start px-3 py-2 gap-2 dropdown-item cursor-pointer focus:outline-none focus:bg-gray-50\"\n role=\"menuitem\"\n >\n <span className=\"flex items-center flex-row justify-center gap-2 w-5 h-5\">{icon}</span>\n <span>{name}</span>\n </div>\n}\n\nexport const Dropdown = ({ \n className,\n loading,\n dropdownItems,\n selectedItem,\n onClick,\n dropdownIcon,\n}: DropdownProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [internalSelectedItem, setInternalSelectedItem] = useState<DropdownItem | undefined>(selectedItem);\n const [detectedIcon, setDetectedIcon] = useState<React.ReactNode>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const brand = useBrand('prijsvrij');\n\n const toggleDropdown = () => {\n setIsOpen(!isOpen);\n };\n\n const closeDropdown = () => {\n setIsOpen(false);\n };\n\n const handleItemClick = (item: DropdownItem) => {\n setInternalSelectedItem(item);\n onClick(item);\n closeDropdown();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n toggleDropdown();\n }\n if (event.key === 'Escape') {\n closeDropdown();\n }\n };\n\n // Detect brand and set icon after DOM is ready\n useEffect(() => {\n const detectBrand = () => {\n \n // If dropdownIcon is provided, use that instead of brand detection\n if (dropdownIcon) {\n setDetectedIcon(dropdownIcon);\n return;\n }\n \n const element = triggerRef.current?.closest('[data-brand]') || \n document.documentElement.querySelector('[data-brand]') ||\n document.documentElement;\n \n const brand = element.getAttribute('data-brand');\n \n const icon = brand === 'dreizen' ? <IconChevronRight className=\"w-3.5 h-3.5 rotate-90 dropdown-icon\" /> : <IconArrowDown className=\"w-3.5 h-3.5\" />;\n setDetectedIcon(icon);\n };\n\n // Run immediately and also with a small delay for Storybook\n detectBrand();\n const timer = setTimeout(detectBrand, 50);\n \n return () => clearTimeout(timer);\n }, [dropdownIcon]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n popoverRef.current &&\n !popoverRef.current.contains(event.target as Node) &&\n triggerRef.current &&\n !triggerRef.current.contains(event.target as Node)\n ) {\n closeDropdown();\n }\n };\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [isOpen]);\n\n // Sync external selectedItem with internal state (only when prop changes)\n useEffect(() => {\n if (selectedItem && selectedItem !== internalSelectedItem) {\n setInternalSelectedItem(selectedItem);\n }\n }, [selectedItem]);\n\n return (\n <div className={cn('dropdown relative', className)}>\n <button\n ref={triggerRef}\n onClick={toggleDropdown}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className=\"dropdown-button bg-white px-3 py-2 h-12 border rounded-md w-full flex items-center flex-row justify-between\"\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n >\n <span className=\"flex items-center flex-row justify-center gap-2 dropdown-button-text\">\n <span className=\"w-5 h-5\">{internalSelectedItem?.icon}</span>\n {loading ? 'Loading...' : internalSelectedItem?.name}\n </span>\n <span className=\"w-3.5 h-3.5 flex items-center justify-center\">\n {detectedIcon || <IconArrowDown className=\"w-3.5 h-3.5\" />}\n </span>\n </button>\n \n {isOpen && (\n <div\n ref={popoverRef}\n className={cn(`dropdown-content divide-y divide-gray-100 absolute top-full left-0 right-0 mt-1 bg-white border border-gray-200 rounded-lg shadow-lg z-50`, brand === 'dreizen' && 'mt-0.5')}\n role=\"menu\"\n >\n {dropdownItems?.map((dropdownItem) => {\n return <DropdownItemComponent key={dropdownItem.id} {...dropdownItem} onClick={handleItemClick} />\n })}\n </div>\n )}\n </div>\n );\n};\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\nimport formatIcon from \"@utils/formatIcon\";\nimport { IconCancel } from \"../../icons\";\n\ninterface FilterButtonProps {\n className?: string;\n icon?: React.ReactNode;\n leftContent?: React.ReactNode;\n text: string;\n disabled?: boolean;\n onClick: () => void;\n}\n\nexport const FilterButton = ({ \n className,\n icon,\n leftContent,\n text,\n disabled,\n onClick,\n}: FilterButtonProps) => {\n const formattedIcon = icon\n ? formatIcon(icon, {\n className: \"min-w-4 min-h-4\",\n })\n : null;\n\n return (\n <span className={cn(`flex flex-row items-center w-fit rounded-2xl gap-2 filter-button p-2.5 h-8 whitespace-nowrap ${disabled ? \"cursor-not-allowed\" : \"cursor-pointer\"} font-light text-sm text-white`, className)} onClick={() => onClick()}>\n {leftContent && leftContent}{formattedIcon}\n {text}\n <span className=\"filter-button-close filter-button-icon rounded-full p-0.5\"><IconCancel className=\"w-3\" /></span>\n </span>\n );\n};\n\n","import { type SVGProps } from \"react\";\n\nexport const DReizenLogo = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 264.19 115.99\" style={{ enableBackground: \"new 0 0 264.19 115.99\" }} xmlSpace=\"preserve\"\n className={className}\n {...props}\n >\n<style type=\"text/css\" dangerouslySetInnerHTML={{\n\t__html: `\n\t\t.dr_st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FF7801;}\n\t\t.dr_st1{clip-path:url(#SVGID_00000047761851237739218990000015174159904372475070_);}\n\t\t.dr_st2{clip-path:url(#SVGID_00000132781369314397657330000015450681308810918787_);fill:#FFFFFF;}\n\t\t.dr_st3{clip-path:url(#SVGID_00000132781369314397657330000015450681308810918787_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}\n\t`\n}} />\n<g id=\"Organic_D\">\n\t<path className=\"dr_st0\" d=\"M0,103.89L0,0l263.64,0c-11.06,35.74-39.59,77.71-83.53,96.3c-13.91,5.88-28.6,10.31-43.58,13.37 c-16.94,3.5-34.27,5.31-51.32,5.67c-3.75,0.07-7.49,0.07-11.24,0c-17.08-0.36-34.45-2.18-51.43-5.67 C14.94,108.1,7.38,106.18,0,103.89z\"/>\n</g>\n<g id=\"Logo\">\n\t<g>\n\t\t<g>\n\t\t\t<defs>\n\t\t\t\t<rect id=\"SVGID_1_\" x=\"25.75\" y=\"23.23\" width=\"176.18\" height=\"48.05\"/>\n\t\t\t</defs>\n\t\t\t<clipPath id=\"SVGID_00000023971415761657709360000018318605718621828796_\">\n\t\t\t\t<use xlinkHref=\"#SVGID_1_\" style={{ overflow: \"visible\" }} />\n\t\t\t</clipPath>\n\t\t\t<g style={{ clipPath: \"url(#SVGID_00000023971415761657709360000018318605718621828796_)\" }}>\n\t\t\t\t<defs>\n\t\t\t\t\t<rect id=\"SVGID_00000111157692029972051490000012454168567925022089_\" x=\"25.75\" y=\"23.23\" width=\"176.18\" height=\"48.05\"/>\n\t\t\t\t</defs>\n\t\t\t\t<clipPath id=\"SVGID_00000047742349940822325560000005577600005693043850_\">\n\t\t\t\t\t<use xlinkHref=\"#SVGID_00000111157692029972051490000012454168567925022089_\" style={{ overflow: \"visible\" }}/>\n\t\t\t\t</clipPath>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M153.49,40.93 h-14.25c-0.7,0-1.39,0.57-1.53,1.27l-0.61,2.86c-0.15,0.7,0.3,1.26,0.99,1.26h7.27l-11.18,12.22c0,0-0.44,0.54-0.74,1.74 l-0.61,2.87c-0.15,0.7,0.3,1.26,1,1.26h15.01c0.7,0,1.39-0.57,1.53-1.26l0.61-2.87c0.15-0.7-0.3-1.27-1-1.27h-8.11l11.2-12.24 c0,0,0.51-0.43,0.81-1.72l0.61-2.86C154.63,41.5,154.18,40.93,153.49,40.93\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M129.45,63.08 c-0.15,0.7-0.84,1.26-1.54,1.26h-4.47c-0.7,0-1.14-0.56-0.99-1.26l4.42-20.79c0.15-0.7,0.83-1.27,1.53-1.27h4.47 c0.7,0,1.14,0.57,1,1.27L129.45,63.08z\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M103.36,40.32 C103.36,40.32,103.36,40.32,103.36,40.32c-0.08,0-0.15,0-0.22,0c-2.75,0-4.82,1.58-6.18,3.48l0.32-1.52 c0.15-0.7-0.29-1.26-0.99-1.26h-4.47c-0.7,0-1.39,0.57-1.53,1.26l-4.42,20.79c-0.15,0.7,0.3,1.27,1,1.27h4.47 c0.7,0,1.39-0.57,1.53-1.27l2.68-12.57c0.78-2.65,2.76-3.68,5.4-3.68c0.23,0,1.07,0.15,1.07,0.15c0.7,0,1.39-0.57,1.53-1.27 l0.82-4.14C104.51,40.89,104.06,40.32,103.36,40.32\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M114.94,40.33 c-7.63,0-10.58,4.9-11.99,11.49C101.47,58.8,100.85,65,109.69,65c5.1,0,8.61-2.17,10.32-6.62l0.23-0.76 c0.15-0.7-0.23-1.24-0.93-1.24h-0.56l0-0.01h-3.47c-0.63,0-1.26,0.47-1.47,1.08c0,0,0,0,0,0c-0.72,2.2-1.57,3.21-3.15,3.21 c-2.04,0-2.18-1.78-1.41-5.42l0.31-1.43h8.59l0,0h1.98c0.7,0,1.37-0.6,1.53-1.27c0.17-0.67,0.42-2.37,0.42-2.37 C123.03,44.21,122.26,40.33,114.94,40.33 M115.5,49.73h-5.08c0.68-3.17,1.47-5.08,3.77-5.08 C116.15,44.66,116.2,46.44,115.5,49.73\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M166.77,40.33 c-7.63,0-10.58,4.9-11.99,11.49C153.3,58.8,152.67,65,161.52,65c5.09,0,8.61-2.17,10.32-6.62l0.23-0.76 c0.15-0.7-0.23-1.24-0.93-1.24h-0.56l0-0.01h-3.47c-0.63,0-1.26,0.47-1.47,1.08c0,0,0,0,0,0c-0.72,2.2-1.57,3.21-3.15,3.21 c-2.04,0-2.18-1.78-1.41-5.42l0.31-1.43h8.59l0,0h1.98c0.7,0,1.37-0.6,1.54-1.27c0.16-0.67,0.42-2.37,0.42-2.37 C174.86,44.21,174.08,40.33,166.77,40.33 M167.32,49.73h-5.08c0.67-3.17,1.47-5.08,3.77-5.08 C167.97,44.66,168.02,46.44,167.32,49.73\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M191.49,40.32 c-2.47,0-4.68,1.17-6.13,3.08l0.24-1.14c0.15-0.7-0.29-1.26-0.99-1.26h-4.47c-0.7,0-1.39,0.57-1.54,1.26l-4.42,20.8 c-0.15,0.7,0.3,1.26,1,1.26h4.47c0.7,0,1.38-0.57,1.54-1.26l3.04-14.31l-0.04,0.29c0.49-2.3,1.88-3.34,3.23-3.34 c1.3,0,1.83,1,1.46,2.69l-3.09,14.67c-0.15,0.7,0.3,1.26,1,1.26h4.47c0.7,0,1.38-0.57,1.53-1.26l3.45-16.23 C197.18,42.32,195.48,40.32,191.49,40.32\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M82.43,50.16 c0.15-0.7-0.3-1.27-0.99-1.27h-4.47c-0.7,0-1.38,0.57-1.53,1.27l-0.57,2.8c-0.15,0.7,0.3,1.27,1,1.27h4.47 c0.7,0,1.39-0.57,1.53-1.27L82.43,50.16z\"/>\n\t\t\t\t\n\t\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fillRule: \"evenodd\", clipRule: \"evenodd\", fill: \"#FFFFFF\" }} d=\" M32.24,43.48c-2.83,1.65-3.57-4.57,0.46-7.52c6.25-4.58,13.39-7.72,21.11-7.04c16.56,1.47,16.16,15.83,13.91,13.64 c-1.62-1.57-4.34-8.67-16.3-7.35C42.99,36.18,35.69,41.47,32.24,43.48\"/>\n\t\t\t\t\n\t\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fillRule: \"evenodd\", clipRule: \"evenodd\", fill: \"#FFFFFF\" }} d=\" M68.53,44.5c-1.92-1.18,0.25,8.21-12.31,13.73c-2.49,0.97-5.11,1.36-7.64,1.42c2.36-6.54,4.88-18.77,1.66-18.6 c-3.22,0.16-4.31,8.95-8.73,17.72c-0.06,0.11-0.1,0.21-0.15,0.32c-2.4-0.39-4.34-0.86-5.46-1.03c-3.07-0.47-3.28,7.48,2.83,8.47 c6.11,1,13.43,0.62,19.58-1.98C68.34,60.32,72.21,46.76,68.53,44.5\"/>\n\t\t\t\t<path style={{ clipPath: \"url(#SVGID_00000047742349940822325560000005577600005693043850_)\", fill: \"#FFFFFF\" }} d=\"M135,30.93h-4.47 c-0.68,0-1.35,0.54-1.52,1.22l-0.9,4.28c-0.15,0.7,0.3,1.27,0.99,1.27h4.47c0.69,0,1.37-0.56,1.53-1.25l0.9-4.26 C136.15,31.5,135.7,30.93,135,30.93\"/>\n\t\t\t</g>\n\t\t</g>\n\t</g>\n</g>\n</svg>\n);\n","import { type SVGProps } from \"react\";\n\nexport const PrijsvrijLogo = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"Laag_1\" version=\"1.1\" viewBox=\"0 0 793.2 276.5\"\n className={className}\n {...props}\n >\n\t<defs>\n\t\t<style dangerouslySetInnerHTML={{\n\t\t\t__html: `\n\t\t\t\t.st0 { fill: #fde931; }\n\t\t\t\t.st1 { fill: #fff; }\n\t\t\t`\n\t\t}} />\n\t</defs>\n\t<path className=\"st1\" d=\"M0,32.1c0-.7.6-1.2,1.2-1.2h48.2c28.9,0,47.7,15,47.7,40.2v.4c0,27.3-20.9,41.6-49.3,41.6h-14.6c-.7,0-1.2.6-1.2,1.2v31.5c0,.7-.6,1.2-1.2,1.2H1.4c-.7,0-1.2-.6-1.2-1.2V32.1h-.1ZM47.2,88c11.2,0,18.3-6.1,18.3-15.1v-.4c0-9.8-7.1-15-18.4-15h-13.9c-.7,0-1.2.6-1.2,1.2v27.9c0,.7.6,1.2,1.2,1.2h14,0Z\"/>\n\t<path className=\"st1\" d=\"M449.7,31h32c.5,0,1,.4,1.1.9l21.7,68c.4,1.1,2,1.1,2.4,0l21.5-68c.1-.5.6-.9,1.1-.9h31.7c.9,0,1.5.9,1.1,1.7l-41.8,113.7c-.2.5-.6.9-1.2.9h-27.8c-.5,0-1-.4-1.2-.9l-41.8-113.7c-.2-.9.2-1.7,1.1-1.7h.2Z\"/>\n\t<path className=\"st0\" d=\"M449.4,101.5v-.4c-4.5-22.3-23.3-27.2-50.3-27.8-17.5-.5-20.9-2.2-21.9-6.8v-.4c-.9-4.3,2.7-7.7,9.7-9.1,10.6-2.1,22.6-.2,34.1,5l.4.2,11.9-26.4-.4-.2c-11.8-6.2-24.3-8.7-38.5-7.7l-1.6-8.3-25.8,5.1,1.7,9.1c-18.4,7.9-27.7,24.1-24.2,42v.4c4.8,24.5,26.8,27.1,50.9,27.8,17.3.7,20.5,2.6,21.4,7v.4c1,4.8-3.1,8.3-11.3,9.9-13,2.6-26.3.4-39.7-6.5l-.4-.2-14,25.5.4.2c12.2,7.2,26.7,10.7,42.1,10.3l1.6,8.2,25.8-5.1-1.5-7.6c22.5-7.6,33.4-24.2,29.5-44.4h0Z\"/>\n\t<path className=\"st1\" d=\"M577.5,32.2c0-.7.6-1.2,1.2-1.2h50c17.8,0,29.9,4.6,37.7,12.4,6.8,6.8,10.3,15.5,10.3,26.9v.5c0,17.3-8.8,28.7-22.5,35-.7.4-1,1.2-.5,1.9l25.5,37.5c.6.9,0,2-1,2h-33.8c-.4,0-.9-.2-1.1-.6l-22.6-34.3c-.2-.4-.6-.6-1.1-.6h-8.7c-.7,0-1.2.6-1.2,1.2v32.9c0,.7-.6,1.2-1.2,1.2h-29.5c-.7,0-1.2-.6-1.2-1.2V32.2h-.2ZM627.5,86.7c10.8,0,17.3-5.3,17.3-13.8v-.4c0-9.3-6.8-13.9-17.4-13.9h-16.4c-.7,0-1.2.6-1.2,1.2v25.5c0,.7.6,1.2,1.2,1.2h16.5Z\"/>\n\t<path className=\"st1\" d=\"M113,32.2c0-.7.6-1.2,1.2-1.2h50c17.8,0,29.9,4.6,37.7,12.4,6.8,6.8,10.3,15.5,10.3,26.9v.5c0,17.3-8.8,28.7-22.5,35-.7.4-1,1.2-.5,1.9l25.5,37.5c.6.9,0,2-1,2h-33.8c-.4,0-.9-.2-1.1-.6l-22.6-34.3c-.2-.4-.6-.6-1.1-.6h-8.7c-.7,0-1.2.6-1.2,1.2v32.9c0,.7-.6,1.2-1.2,1.2h-29.5c-.7,0-1.2-.6-1.2-1.2V32.2h-.2ZM162.9,86.7c10.8,0,17.3-5.3,17.3-13.8v-.4c0-9.3-6.8-13.9-17.4-13.9h-16.4c-.7,0-1.2.6-1.2,1.2v25.5c0,.7.6,1.2,1.2,1.2h16.5Z\"/>\n\t<path className=\"st1\" d=\"M325.3,30.8h-30.3c-.7,0-1.4.6-1.4,1.4v63.6c0,15.9-8.3,23.3-21.1,23.3s-8.9-1.1-12.3-3.5-2.4-.5-3.1.4l-18.6,21c-1,1.1-.7,2.7.5,3.5,8.7,5.6,20,8.3,33.1,8.3,32.9,0,54.3-16.5,54.3-53.8V31.8c0-.6-.5-1.2-1.2-1.2v.2Z\"/>\n\t<path className=\"st1\" d=\"M259.7,31h-29.3c-.7,0-1.2.5-1.2,1.2v59.8c0,.7.5,1.2,1.2,1.2h29.3c.7,0,1.2-.6,1.2-1.2v-59.6c0-.7-.5-1.4-1.2-1.4h0Z\"/>\n\t<path className=\"st1\" d=\"M788.9,30.8h-30.3c-.7,0-1.4.6-1.4,1.4v63.6c0,15.9-8.3,23.3-21.1,23.3s-8.9-1.1-12.3-3.5-2.4-.5-3.1.4l-18.6,21c-1,1.1-.7,2.7.5,3.5,8.7,5.6,20,8.3,33.1,8.3,32.9,0,54.3-16.5,54.3-53.8V31.8c0-.6-.5-1.2-1.2-1.2v.2Z\"/>\n\t<path className=\"st1\" d=\"M723.4,31h-29.3c-.7,0-1.2.5-1.2,1.2v59.8c0,.7.5,1.2,1.2,1.2h29.3c.7,0,1.2-.6,1.2-1.2v-59.6c0-.7-.5-1.4-1.2-1.4h0Z\"/>\n\t<g>\n\t\t<path className=\"st0\" d=\"M274.6,250.8c-1.5,4.1-3.2,5.2-5.7,5.2h-15.8c-3.6,0-4.8-2.6-6-5.1l-20.9-57.1c-1-2.4,0-3.6,3.2-3.6h13.9c2.2,0,4,2,4.6,4l15.3,39.9,11.9-39.9c.7-2,2.6-4,4.5-4h10.8c3.6,0,4,1.1,2.9,3.8l-18.7,56.7h0Z\"/>\n\t\t<g>\n\t\t\t<path className=\"st0\" d=\"M338.6,215.5c0-1.7-.1-3.4-.5-4.7s-1-2.5-2-3.5-2.2-1.6-3.8-2.1c-1.6-.5-3.7-.7-6.2-.7s-5.3.4-8.1,1.1c-2.7.7-5.3,1.9-7.9,3.2-.9.5-1.7.1-2.6-.9-.9-1.1-1.6-2.4-2.1-4-.6-1.6-.7-3.1-.7-4.7s.6-2.7,1.7-3.2c2.4-1.4,5.8-2.6,10.3-3.7,4.5-1.1,9.8-1.7,16.1-1.7s6.3.2,9.6.6c3.2.5,6.1,1.5,8.7,3,2.6,1.6,4.7,3.8,6.5,7,1.7,3.1,2.5,7.1,2.5,12.3v21.6c0,3.1.2,5.2.9,6.5.6,1.1,1.5,1.7,2.6,1.7s1.9.2,2.1.6c.4.4.5,1.1.5,2.2v8.8c0,1.4,0,2.2-.4,2.5-.4.4-1.5.5-3.4.5s-4.8,0-7-.2c-2-.2-3.8-.6-5.6-1.4-1.6-.6-3.1-1.6-4.3-2.9s-2.4-2.9-3.2-4.8c-1.5,2-3.2,3.5-5,4.8-1.7,1.2-3.6,2.2-5.6,3-1.9.7-3.8,1.2-5.8,1.5s-3.8.4-5.6.4-4.5-.2-6.6-.9c-2.1-.6-4-1.6-5.7-3-1.7-1.5-3.1-3.4-4.1-5.8-1-2.4-1.6-5.5-1.6-9.1s.6-7.2,2-10.2,3.5-5.6,6.3-7.7c3-2.1,6.7-3.7,11.3-4.8s10.1-1.7,16.6-1.7v.5ZM338.6,226.5c-2.1,0-4.1.2-6,.6s-3.6,1-5.1,1.9-2.6,2-3.6,3.4c-.9,1.4-1.4,2.9-1.4,4.7s.6,3.4,1.7,4.3c1.1,1.1,2.7,1.6,4.8,1.6s5-.9,6.7-2.7,2.6-4,2.6-6.5v-7.3h.1Z\"/>\n\t\t\t<path className=\"st0\" d=\"M436,253.4c.7,1.2,1.1,2.1,1,2.6-.1.6-1.2.9-3.2.9h-16.4c-1,0-1.9-.4-2.9-1.2-.9-.7-1.9-1.7-2.7-2.9l-15.1-20v18.3c0,1.6-.1,3-.4,4-.2,1.1-1.2,1.6-3.1,1.6h-11.9c-1.9,0-3.1-.5-3.8-1.4-.6-.9-1-2.2-1-3.8v-80.2c0-1.2.2-2.1.7-2.9s1.4-1.1,2.5-1.1h12.7c2.1,0,3.4.4,3.7,1s.6,1.6.6,3v42.1l13.4-17.5c.6-1,1.4-1.9,2.4-2.6.9-.7,1.9-1.2,2.9-1.2h16.5c2.1,0,3.1.4,3.2,1,0,.6-.4,1.6-1.2,2.7l-21.7,27.4,24.2,30.2h-.2Z\"/>\n\t\t\t<path className=\"st0\" d=\"M480.5,215.5c0-1.7-.1-3.4-.5-4.7s-1-2.5-2-3.5-2.2-1.6-3.8-2.1c-1.6-.5-3.7-.7-6.2-.7s-5.3.4-8.1,1.1c-2.7.7-5.3,1.9-7.9,3.2-.9.5-1.7.1-2.6-.9-.9-1.1-1.6-2.4-2.1-4-.6-1.6-.7-3.1-.7-4.7s.6-2.7,1.7-3.2c2.4-1.4,5.8-2.6,10.3-3.7,4.5-1.1,9.8-1.7,16.1-1.7s6.3.2,9.6.6c3.2.5,6.1,1.5,8.7,3,2.6,1.6,4.7,3.8,6.5,7,1.7,3.1,2.5,7.1,2.5,12.3v21.6c0,3.1.2,5.2.9,6.5.6,1.1,1.5,1.7,2.6,1.7s1.9.2,2.1.6c.4.4.5,1.1.5,2.2v8.8c0,1.4,0,2.2-.4,2.5-.4.4-1.5.5-3.4.5s-4.8,0-7-.2c-2-.2-3.8-.6-5.6-1.4-1.6-.6-3.1-1.6-4.3-2.9s-2.4-2.9-3.2-4.8c-1.5,2-3.2,3.5-5,4.8-1.7,1.2-3.6,2.2-5.6,3-1.9.7-3.8,1.2-5.8,1.5s-3.8.4-5.6.4-4.5-.2-6.6-.9c-2.1-.6-4-1.6-5.7-3-1.7-1.5-3.1-3.4-4.1-5.8-1-2.4-1.6-5.5-1.6-9.1s.6-7.2,2-10.2,3.5-5.6,6.3-7.7c3-2.1,6.7-3.7,11.3-4.8s10.1-1.7,16.6-1.7v.5ZM480.5,226.5c-2.1,0-4.1.2-6,.6s-3.6,1-5.1,1.9-2.6,2-3.6,3.4c-.9,1.4-1.4,2.9-1.4,4.7s.6,3.4,1.7,4.3c1.1,1.1,2.7,1.6,4.8,1.6s5-.9,6.7-2.7,2.6-4,2.6-6.5v-7.3h.1Z\"/>\n\t\t\t<path className=\"st0\" d=\"M576.6,250.6c0,1.9-.2,3.4-.9,4.5-.6,1.1-1.5,1.7-2.9,1.7h-12.8c-1.2,0-2.4-.4-3.2-1.2-.9-.7-1.4-2-1.4-3.5v-34.5c0-2.2-.6-4.2-1.7-6-1.1-1.7-3.2-2.6-6.2-2.6s-3,.2-4,.9c-1.1.6-2,1.4-2.7,2.2-.7.9-1.2,2-1.6,3.1s-.5,2.2-.5,3.2v32.7c0,1.6-.1,3-.4,4-.2,1.1-1.4,1.6-3.1,1.6h-12.2c-1.9,0-3.1-.5-3.8-1.4-.6-.9-1-2.2-1-3.8v-55.2c0-1.2.2-2.2.7-3.1s1.4-1.2,2.5-1.2h12.9c1.2,0,2.4.4,3.2,1.1s1.2,2.6,1.2,5.3c2.1-2.5,4.7-4.5,7.7-5.8,3-1.5,6.6-2.1,11-2.1s4.5.4,6.8,1.1c2.2.7,4.3,1.9,6.1,3.5,1.9,1.6,3.2,3.7,4.3,6.3s1.7,5.8,1.7,9.7v39.6Z\"/>\n\t\t\t<path className=\"st0\" d=\"M627.1,203c0,1.2-.1,2.2-.4,2.9s-1.2,1-2.7,1h-9.1v31.9c0,1.6.5,2.7,1.4,3.6.9.7,2,1.1,3.5,1.1h1.9c.5,0,1.1-.1,1.9-.2.4,0,.7.5,1.1,1.9.4,1.4.6,2.9.9,4.5s.2,3.2.2,4.6-.1,2.2-.5,2.4c-.5.1-1.2.4-2.1.6-1,.2-2.1.5-3.4.6-1.2.2-2.6.4-4,.5-1.4,0-2.7.1-4,.1-3.2,0-6-.5-8.1-1.6-2.2-1-4-2.4-5.3-4s-2.4-3.4-3-5.3-1-3.8-1-5.8v-35h-5c-1.1,0-1.9-.4-2.2-1.1-.4-.7-.5-1.6-.5-2.7v-6.3c0-1.4.2-2.4.7-2.9.5-.6,1.5-.9,2.9-.9h5.1v-9.9c0-1.4.5-2.4,1.5-3s2-1,3.2-1.1l10.2-1.9c1.9-.4,3-.1,3.5.5.5.6.6,1.7.6,3.4v12.2h9.4c1.4,0,2.2.5,2.7,1.4.5.9.6,2,.6,3.1v5.8h-.1Z\"/>\n\t\t\t<path className=\"st0\" d=\"M658.7,179.3c0,1.4-.2,2.4-.7,3-.5.6-1.4.9-2.7.9h-13c-1.6,0-2.6-.2-3.2-.7-.5-.5-.7-1.6-.7-3.5v-6.3c0-1.6.2-2.6.9-3.1s1.6-.7,3.2-.7h12.9c1.7,0,2.7.5,3,1.5.4,1,.5,2.1.5,3.5v5.7h0ZM658.7,252c0,1.6-.1,2.9-.4,3.7s-1.4,1.2-3.1,1.2h-13.2c-1.7,0-2.9-.4-3.2-1.2s-.6-2.1-.6-3.7v-55.7c0-1.2.2-2.1.7-2.9.5-.7,1.4-1.1,2.5-1.1h12.9c2.1,0,3.4.4,3.7,1s.6,1.6.6,3v55.7h0Z\"/>\n\t\t\t<path className=\"st0\" d=\"M732.4,224.6c0,1,0,2-.1,2.6,0,.7-.4,1.4-.7,1.9s-1,.9-1.9,1-2,.2-3.6.2h-33.9c0,4.3,1.4,7.6,4.2,9.7,2.9,2.1,7,3.2,12.2,3.2s9.2-.2,12.7-.9c3.5-.6,5.7-.9,6.7-1.1,2.4-.5,3.5.1,3.5,1.9v8.9c0,1.4-.2,2.4-.7,3-.5.6-1.6,1.1-3.2,1.6-.5.1-1.5.4-3.1.5-1.6.1-3.4.4-5.5.5-2.1.2-4.2.4-6.5.5-2.2,0-4.2.1-6,.1-6.5,0-11.9-.7-16.4-2.2-4.5-1.5-8.1-3.7-10.7-6.6-2.7-2.9-4.6-6.3-5.8-10.6-1.2-4.1-1.9-8.8-1.9-14,0-11.9,2.5-20.6,7.6-26.2,5.1-5.5,13-8.2,23.8-8.2s9.3.6,13,1.7,6.7,2.9,9.2,5c2.4,2.1,4.2,4.7,5.5,7.8s1.9,6.5,1.9,10.1v9.4h-.2ZM711.6,215.3c0-1.6-.1-3.1-.4-4.6s-.7-2.7-1.5-3.8c-.6-1.1-1.6-2-2.7-2.7-1.1-.6-2.6-1-4.5-1s-3.4.4-4.6,1.1c-1.2.7-2.2,1.6-3.1,2.9-.7,1.1-1.4,2.5-1.7,3.8-.4,1.5-.5,2.9-.5,4.2v2.1c0,.5.6.7,1.5.7h16.3c.6,0,1-.2,1.1-.7,0-.5.1-1.1.1-2h0Z\"/>\n\t\t\t<path className=\"st0\" d=\"M793.1,238.7c0,4.2-.9,7.7-2.5,10.2-1.6,2.6-3.7,4.6-6.3,6s-5.3,2.4-8.4,2.9c-3.1.5-6,.7-8.8.7s-5.8-.1-8.6-.4c-2.6-.2-5-.6-7.1-1s-3.8-.9-5.3-1.2c-1.5-.5-2.5-.9-3.1-1.1s-.6-1-.7-2.5-.2-3.1,0-4.7c0-1.7.2-3.2.6-4.5.4-1.4.9-1.9,1.6-1.6,1.2.4,3.2.9,5.7,1.6,2.5.6,6.1,1,10.9,1s5.8-.4,7.6-1.2c1.7-.9,2.6-2.4,2.6-4.3s-.9-3.1-2.6-4.5c-1.7-1.4-3.8-2.6-6.3-3.8-2.1-1-4.2-2-6.5-3.1s-4.2-2.5-6.1-4c-1.9-1.6-3.2-3.4-4.5-5.6-1.1-2.1-1.7-4.7-1.7-7.7s.9-6.1,2.5-8.4c1.6-2.4,3.8-4.3,6.5-5.8,2.6-1.6,5.7-2.7,9.1-3.5,3.4-.7,6.8-1.1,10.4-1.1,5.5,0,9.4.2,12,.7,2.6.5,4.3.9,5.2,1.4.5.1.7,1,.6,2.4,0,1.4-.2,2.9-.5,4.5-.4,1.6-.7,3-1.4,4.2s-1.2,1.9-1.9,1.7c-.6,0-1.4-.2-2.4-.4-1-.2-2.1-.4-3.4-.5-1.2-.1-2.5-.4-3.8-.5-1.2-.1-2.5-.2-3.5-.2-5.5,0-8.2,1.7-8.2,5.1s.7,2.1,2.4,3.1c1.6,1,3.6,2.1,6,3.2,2.4,1.2,4.8,2.6,7.2,4,2.4,1.5,4.5,3.2,6.5,5.1,2,1.9,3.5,4.1,4.6,6.5s1.7,5.1,1.7,8.1v-.5Z\"/>\n\t\t</g>\n\t</g>\n</svg>\n);\n\n","\"use client\";\nimport { cn } from \"@utils/cn\";\nimport { useState } from \"react\";\nimport { IconCancel, IconDollar, IconSearch } from \"../../icons\";\n\ninterface SearchBoxProps {\n disabled?: boolean;\n className?: string;\n placeholder: string;\n loading?: boolean;\n expandedWidth?: number;\n active?: boolean;\n defaultValue?: string;\n overlay?: boolean;\n positionAnchor?: string;\n results?: React.ReactNode;\n}\n\nexport const SearchBox = ({ \n disabled = false,\n className,\n placeholder,\n loading,\n expandedWidth = 300,\n active = false,\n overlay = false,\n defaultValue,\n positionAnchor,\n results,\n}: SearchBoxProps) => {\n\n const [value, setValue] = useState(defaultValue || \"\");\n \n // Keep active when there's text, otherwise use prop\n const isActive = active || value.length > 0;\n\n const handleClear = () => {\n setValue(\"\");\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n };\n\n return (\n <div style={{ \n width: overlay ? '48px' : 'auto', \n height: '48px', \n '--expanded-width': `${expandedWidth}px`,\n ...(positionAnchor && { positionAnchor: positionAnchor })\n } as React.CSSProperties}>\n <div className={`flex flex-row ${overlay ? \"absolute right-0 top-0 z-50\" : \"w-auto\"}`}>\n <div data-testid=\"search-box\" className={cn(\"search-box cursor-pointer relative\", className)}>\n <input \n id=\"search-box-anchor\"\n placeholder={placeholder} \n type=\"text\" \n disabled={disabled}\n value={value}\n onChange={handleChange}\n className={cn(\"search-box-input bg-white text-xs rounded-full pr-6 w-12 h-12 flex items-center justify-between z-20 transition-all duration-300 relative pl-5\", isActive && \"active\")} \n style={{'--expanded-width': `${expandedWidth}px`} as React.CSSProperties} \n />\n <div className=\"search-box-icon absolute top-3 left-3 flex items-center justify-center pointer-events-none z-20 w-6 h-6\">\n {loading ? <IconDollar className=\"w-6 h-6 animate-spin\" /> : <IconSearch className=\"w-6 h-6\" />}\n </div>\n {value && !loading && (\n <button \n onClick={handleClear}\n className=\"search-box-clear filter-button-close filter-button-icon rounded-full p-0.5 absolute right-4 top-1/2 transform -translate-y-1/2 z-30\"\n type=\"button\"\n >\n <IconCancel className=\"w-3\" />\n </button>\n )}\n {results}\n </div>\n </div>\n </div>\n);\n};\n","export const zonvakanties = [\n {\n name: \"Top 5 zonvakanties\",\n href: null,\n subItems: [\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/vakantie/spanje\", subItems: [] },\n { name: \"Griekenland\", href: \"https://www.d-reizen.nl/vakantie/griekenland\", subItems: [] },\n { name: \"Turkije\", href: \"https://www.d-reizen.nl/vakantie/turkije\", subItems: [] },\n { name: \"Egypte\", href: \"https://www.d-reizen.nl/vakantie/egypte\", subItems: [] },\n { name: \"Portugal\", href: \"https://www.d-reizen.nl/vakantie/portugal\", subItems: [] },\n ],\n },\n {\n name: \"Meer zonvakanties\",\n href: null,\n subItems: [\n { name: \"Italië\", href: \"https://www.d-reizen.nl/vakantie/italie\", subItems: [] },\n { name: \"Malta\", href: \"https://www.d-reizen.nl/vakantie/malta\", subItems: [] },\n { name: \"Marokko\", href: \"https://www.d-reizen.nl/vakantie/marokko\", subItems: [] },\n { name: \"Cyprus\", href: \"https://www.d-reizen.nl/vakantie/cyprus\", subItems: [] },\n { name: \"Kroatië\", href: \"https://www.d-reizen.nl/vakantie/kroatie\", subItems: [] },\n ],\n },\n {\n name: \"Populair in Spanje\",\n href: null,\n subItems: [\n { name: \"Mallorca\", href: \"https://www.d-reizen.nl/vakantie/spanje/mallorca\", subItems: [] },\n { name: \"Gran Canaria\", href: \"https://www.d-reizen.nl/vakantie/spanje/gran-canaria\", subItems: [] },\n { name: \"Tenerife\", href: \"https://www.d-reizen.nl/vakantie/spanje/tenerife\", subItems: [] },\n { name: \"Lanzarote\", href: \"https://www.d-reizen.nl/vakantie/spanje/lanzarote\", subItems: [] },\n { name: \"Ibiza\", href: \"https://www.d-reizen.nl/vakantie/spanje/ibiza\", subItems: [] },\n ],\n },\n {\n name: \"All inclusive\",\n href: null,\n subItems: [\n { name: \"Turkije\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/turkije\", subItems: [] },\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/spanje\", subItems: [] },\n { name: \"Egypte\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/egypte\", subItems: [] },\n { name: \"Portugal\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/portugal\", subItems: [] },\n { name: \"Griekenland\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/griekenland\", subItems: [] },\n { name: \"Canarische Eilanden\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/canarische-eilanden\", subItems: [] },\n ],\n },\n {\n name: \"Schoolvakanties\",\n href: null,\n subItems: [\n { name: \"Voorjaarsvakantie\", href: \"https://www.d-reizen.nl/voorjaarsvakantie\", subItems: [] },\n { name: \"Meivakantie\", href: \"https://www.d-reizen.nl/zonvakantie/meivakantie\", subItems: [] },\n { name: \"Zomervakantie\", href: \"https://www.d-reizen.nl/zonvakantie/zomervakantie\", subItems: [] },\n { name: \"Herfstvakantie\", href: \"https://www.d-reizen.nl/zonvakantie/herfstvakantie\", subItems: [] },\n { name: \"Kerstvakantie\", href: \"https://www.d-reizen.nl/zonvakantie/kerstvakantie\", subItems: [] },\n { name: \"Alle schoolvakanties\", href: \"https://www.d-reizen.nl/informatie/schoolvakanties\", subItems: [] },\n ],\n },\n {\n name: \"Populaire thema's\",\n href: null,\n subItems: [\n { name: \"All inclusive\", href: \"https://www.d-reizen.nl/all-inclusive\", subItems: [] },\n { name: \"Goedkope vakantie\", href: \"https://www.d-reizen.nl/zonvakantie/budget\", subItems: [] },\n { name: \"Kindvriendelijk\", href: \"https://www.d-reizen.nl/kindvriendelijk\", subItems: [] },\n { name: \"Waterparken\", href: \"https://www.d-reizen.nl/zonvakantie/waterparken\", subItems: [] },\n { name: \"Adults only\", href: \"https://www.d-reizen.nl/zonvakantie/adults-only\", subItems: [] },\n { name: \"Strandvakanties\", href: \"https://www.d-reizen.nl/zonvakantie/strandvakanties\", subItems: [] },\n ],\n },\n];\n\nexport const lastMinutesMenu = [\n {\n name: \"Top 5 last minutes\",\n href: null,\n subItems: [\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-spanje\", subItems: [] },\n { name: \"Griekenland\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-griekenland\", subItems: [] },\n { name: \"Turkije\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-turkije\", subItems: [] },\n { name: \"Egypte\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-egypte\", subItems: [] },\n { name: \"Portugal\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-portugal\", subItems: [] },\n ],\n },\n {\n name: \"Populair in Spanje\",\n href: null,\n subItems: [\n { name: \"Mallorca\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-mallorca\", subItems: [] },\n { name: \"Ibiza\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-ibiza\", subItems: [] },\n { name: \"Valencia\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-valencia\", subItems: [] },\n { name: \"Malaga\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-malaga\", subItems: [] },\n { name: \"Sevilla\", href: \"https://www.d-reizen.nl/stedentrip/last-minute/sevilla\", subItems: [] },\n ],\n },\n {\n name: \"Canarische Eilanden\",\n href: null,\n subItems: [\n { name: \"Gran Canaria\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-gran-canaria\", subItems: [] },\n { name: \"Tenerife\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-tenerife\", subItems: [] },\n { name: \"Lanzarote\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-lanzarote\", subItems: [] },\n { name: \"Fuerteventura\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-fuerteventura\", subItems: [] },\n { name: \"Canarische Eilanden\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-canarische-eilanden\", subItems: [] },\n ],\n },\n {\n name: \"Verre last minutes\",\n href: null,\n subItems: [\n { name: \"Curaçao\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-curacao\", subItems: [] },\n { name: \"Kaapverdië\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-kaapverdische-eilanden\", subItems: [] },\n { name: \"Mexico\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-mexico\", subItems: [] },\n { name: \"Dubai\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-dubai\", subItems: [] },\n { name: \"Bonaire\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-bonaire\", subItems: [] },\n { name: \"Dom. Republiek\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie/last-minute-dominicaanse-republiek\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrips\",\n href: null,\n subItems: [\n { name: \"Rome\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-rome\", subItems: [] },\n { name: \"Barcelona\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-barcelona\", subItems: [] },\n { name: \"Marrakech\", href: \"https://www.d-reizen.nl/stedentrip/last-minute/marrakech\", subItems: [] },\n { name: \"Lissabon\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-lissabon\", subItems: [] },\n { name: \"Londen\", href: \"https://www.d-reizen.nl/stedentrip/last-minute-londen\", subItems: [] },\n { name: \"New York\", href: \"https://www.d-reizen.nl/stedentrip/last-minute/new-york\", subItems: [] },\n ],\n },\n {\n name: \"Populaire thema's\",\n href: null,\n subItems: [\n { name: \"Zonvakantie\", href: \"https://www.d-reizen.nl/zonvakantie/last-minute-zonvakantie\", subItems: [] },\n { name: \"All inclusive\", href: \"https://www.d-reizen.nl/zonvakantie/all-inclusive-zonvakanties/last-minute\", subItems: [] },\n { name: \"Stedentrip\", href: \"https://www.d-reizen.nl/stedentrip/last-minute\", subItems: [] },\n { name: \"Weekend weg\", href: \"https://www.d-reizen.nl/last-minute/weekend-weg\", subItems: [] },\n { name: \"Wintersport\", href: \"https://www.d-reizen.nl/wintersport/last-minute-wintersport\", subItems: [] },\n { name: \"Autovakantie\", href: \"https://www.d-reizen.nl/autovakantie/last-minute-autovakantie\", subItems: [] },\n ],\n },\n];\n\nexport const verreReizenMenu = [\n {\n name: \"Populaire thema's\",\n href: null,\n subItems: [\n { name: \"Rondreis\", href: \"https://www.d-reizen.nl/rondreis\", subItems: [] },\n { name: \"Rondreis op maat\", href: \"https://www.d-reizen.nl/rondreis/rondreizen-op-maat\", subItems: [] },\n { name: \"Groepsreizen\", href: \"https://www.d-reizen.nl/groepsreizen\", subItems: [] },\n { name: \"Cruisevakanties\", href: \"https://www.d-reizen.nl/cruise\", subItems: [] },\n { name: \"Verre zonvakantie\", href: \"https://www.d-reizen.nl/zonvakantie/verre-zonvakantie\", subItems: [] },\n ],\n },\n {\n name: \"Caribisch gebied\",\n href: null,\n subItems: [\n { name: \"Aruba\", href: \"https://www.d-reizen.nl/vakantie/aruba\", subItems: [] },\n { name: \"Bonaire\", href: \"https://www.d-reizen.nl/vakantie/bonaire\", subItems: [] },\n { name: \"Curaçao\", href: \"https://www.d-reizen.nl/vakantie/curacao\", subItems: [] },\n { name: \"Dom. Republiek\", href: \"https://www.d-reizen.nl/vakantie/dominicaanse-republiek\", subItems: [] },\n { name: \"Jamaica\", href: \"https://www.d-reizen.nl/vakantie/jamaica\", subItems: [] },\n ],\n },\n {\n name: \"Amerika\",\n href: null,\n subItems: [\n { name: \"Florida\", href: \"https://www.d-reizen.nl/vakantie/verenigde-staten/florida\", subItems: [] },\n { name: \"Mexico\", href: \"https://www.d-reizen.nl/vakantie/mexico\", subItems: [] },\n { name: \"Cuba\", href: \"https://www.d-reizen.nl/vakantie/cuba\", subItems: [] },\n { name: \"Canada\", href: \"https://www.d-reizen.nl/vakantie/canada\", subItems: [] },\n { name: \"Barbados\", href: \"https://www.d-reizen.nl/vakantie/barbados\", subItems: [] },\n ],\n },\n {\n name: \"Azië\",\n href: null,\n subItems: [\n { name: \"Bali\", href: \"https://www.d-reizen.nl/vakantie/indonesie/bali\", subItems: [] },\n { name: \"Dubai\", href: \"https://www.d-reizen.nl/vakantie/verenigde-arabische-emiraten/dubai\", subItems: [] },\n { name: \"Thailand\", href: \"https://www.d-reizen.nl/vakantie/thailand\", subItems: [] },\n { name: \"Malediven\", href: \"https://www.d-reizen.nl/vakantie/malediven\", subItems: [] },\n { name: \"Sri Lanka\", href: \"https://www.d-reizen.nl/vakantie/sri-lanka\", subItems: [] },\n ],\n },\n {\n name: \"Afrika\",\n href: null,\n subItems: [\n { name: \"Kaapverdië\", href: \"https://www.d-reizen.nl/vakantie/kaapverdische-eilanden\", subItems: [] },\n { name: \"Gambia\", href: \"https://www.d-reizen.nl/vakantie/gambia\", subItems: [] },\n { name: \"Mauritius\", href: \"https://www.d-reizen.nl/vakantie/mauritius\", subItems: [] },\n { name: \"Zanzibar\", href: \"https://www.d-reizen.nl/vakantie/tanzania/zanzibar\", subItems: [] },\n { name: \"Zuid-Afrika\", href: \"https://www.d-reizen.nl/vakantie/zuid-afrika\", subItems: [] },\n ],\n },\n {\n name: \"Inspiratie & tips\",\n href: null,\n subItems: [\n { name: \"Tips Curaçao\", href: \"https://www.d-reizen.nl/inspiratie/tips-curacao\", subItems: [] },\n { name: \"Eilanden Thailand\", href: \"https://www.d-reizen.nl/inspiratie/mooiste-eilanden-thailand\", subItems: [] },\n { name: \"Mooi op Mauritius\", href: \"https://www.d-reizen.nl/inspiratie/mooiste-plekken-mauritius\", subItems: [] },\n { name: \"Leuke tips Bali\", href: \"https://www.d-reizen.nl/inspiratie/leukste-plekken-bali\", subItems: [] },\n { name: \"Snorkelen Kaapverdië\", href: \"https://www.d-reizen.nl/inspiratie/snorkelen-kaapverdie\", subItems: [] },\n ],\n },\n];\n\nexport const vliegticketsMenu = [\n {\n name: \"Populaire vliegtickets\",\n href: null,\n subItems: [\n { name: \"Londen\", href: \"https://www.d-reizen.nl/vliegtickets/engeland/londen\", subItems: [] },\n { name: \"Barcelona\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/barcelona\", subItems: [] },\n { name: \"Curaçao\", href: \"https://www.d-reizen.nl/vliegtickets/curacao\", subItems: [] },\n { name: \"Last minute tickets\", href: \"https://www.d-reizen.nl/vliegtickets/last-minute\", subItems: [] },\n { name: \"Vliegen vanaf Duitsland\", href: \"https://www.d-reizen.nl/vliegen-vanaf/duitsland\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrip Europa\",\n href: null,\n subItems: [\n { name: \"Malaga\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/malaga\", subItems: [] },\n { name: \"Valencia\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/valencia\", subItems: [] },\n { name: \"Rome\", href: \"https://www.d-reizen.nl/vliegtickets/italie/rome\", subItems: [] },\n { name: \"Lissabon\", href: \"https://www.d-reizen.nl/vliegtickets/portugal/lissabon\", subItems: [] },\n { name: \"Berlijn\", href: \"https://www.d-reizen.nl/vliegtickets/duitsland/berlijn\", subItems: [] },\n ],\n },\n {\n name: \"Zonvakantie\",\n href: null,\n subItems: [\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/vliegtickets/spanje\", subItems: [] },\n { name: \"Mallorca\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/mallorca\", subItems: [] },\n { name: \"Ibiza\", href: \"https://www.d-reizen.nl/vliegtickets/spanje/ibiza\", subItems: [] },\n { name: \"Turkije\", href: \"https://www.d-reizen.nl/vliegtickets/turkije\", subItems: [] },\n { name: \"Marokko\", href: \"https://www.d-reizen.nl/vliegtickets/marokko\", subItems: [] },\n ],\n },\n {\n name: \"Buiten Europa\",\n href: null,\n subItems: [\n { name: \"New York\", href: \"https://www.d-reizen.nl/vliegtickets/amerika/new-york\", subItems: [] },\n { name: \"Bali\", href: \"https://www.d-reizen.nl/vliegtickets/indonesie/bali\", subItems: [] },\n { name: \"Thailand\", href: \"https://www.d-reizen.nl/vliegtickets/thailand\", subItems: [] },\n { name: \"Dubai\", href: \"https://www.d-reizen.nl/vliegtickets/verenigde-arabische-emiraten/dubai\", subItems: [] },\n { name: \"Aruba\", href: \"https://www.d-reizen.nl/vliegtickets/aruba\", subItems: [] },\n ],\n },\n {\n name: \"Verre vliegtickets\",\n href: null,\n subItems: [\n { name: \"Amerika\", href: \"https://www.d-reizen.nl/vliegtickets/amerika\", subItems: [] },\n { name: \"Canada\", href: \"https://www.d-reizen.nl/vliegtickets/canada\", subItems: [] },\n { name: \"Zuid-Afrika\", href: \"https://www.d-reizen.nl/vliegtickets/zuid-afrika\", subItems: [] },\n { name: \"Australië\", href: \"https://www.d-reizen.nl/vliegtickets/australie\", subItems: [] },\n { name: \"Nieuw-Zeeland\", href: \"https://www.d-reizen.nl/vliegtickets/nieuw-zeeland\", subItems: [] },\n ],\n },\n {\n name: \"Populaire maatschappijen\",\n href: null,\n subItems: [\n { name: \"Transavia\", href: \"https://www.d-reizen.nl/vliegtickets/airlines/transavia\", subItems: [] },\n { name: \"KLM\", href: \"https://www.d-reizen.nl/vliegtickets/airlines/klm\", subItems: [] },\n { name: \"EasyJet\", href: \"https://www.d-reizen.nl/vliegtickets/airlines/easyjet\", subItems: [] },\n { name: \"Emirates\", href: \"https://www.d-reizen.nl/vliegtickets/airlines/emirates\", subItems: [] },\n ],\n },\n];\n\nexport const stedentripsMenu = [\n {\n name: \"Stedentrips Noord-Europa\",\n href: null,\n subItems: [\n { name: \"Londen\", href: \"https://www.d-reizen.nl/vakantie/groot-brittannie/londen/londen\", subItems: [] },\n { name: \"Parijs\", href: \"https://www.d-reizen.nl/vakantie/frankrijk/parijs/parijs\", subItems: [] },\n { name: \"Berlijn\", href: \"https://www.d-reizen.nl/vakantie/duitsland/berlijn/berlijn\", subItems: [] },\n { name: \"Dublin\", href: \"https://www.d-reizen.nl/vakantie/ierland/dublin/dublin\", subItems: [] },\n { name: \"Stockholm\", href: \"https://www.d-reizen.nl/vakantie/zweden/stockholm/stockholm\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrips Midden-Europa\",\n href: null,\n subItems: [\n { name: \"Wenen\", href: \"https://www.d-reizen.nl/vakantie/oostenrijk/wenen/wenen\", subItems: [] },\n { name: \"Praag\", href: \"https://www.d-reizen.nl/vakantie/tsjechie/praag-en-omstreken/praag\", subItems: [] },\n { name: \"Krakau\", href: \"https://www.d-reizen.nl/vakantie/polen/krakau/krakau\", subItems: [] },\n { name: \"Budapest\", href: \"https://www.d-reizen.nl/vakantie/hongarije/budapest/budapest\", subItems: [] },\n { name: \"Venetië\", href: \"https://www.d-reizen.nl/vakantie/italie/venetie/venetie\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrips Zuid-Europa\",\n href: null,\n subItems: [\n { name: \"Valencia\", href: \"https://www.d-reizen.nl/vakantie/spanje/valencia/valencia\", subItems: [] },\n { name: \"Barcelona\", href: \"https://www.d-reizen.nl/vakantie/spanje/barcelona/barcelona\", subItems: [] },\n { name: \"Rome\", href: \"https://www.d-reizen.nl/vakantie/italie/rome/rome\", subItems: [] },\n { name: \"Lissabon\", href: \"https://www.d-reizen.nl/vakantie/portugal/lissabon/lissabon\", subItems: [] },\n { name: \"Sevilla\", href: \"https://www.d-reizen.nl/vakantie/spanje/sevilla/sevilla\", subItems: [] },\n ],\n },\n {\n name: \"Verre stedentrips\",\n href: null,\n subItems: [\n { name: \"New York\", href: \"https://www.d-reizen.nl/vakantie/verenigde-staten/new-york/new-york-city\", subItems: [] },\n { name: \"Las Vegas\", href: \"https://www.d-reizen.nl/vakantie/verenigde-staten/las-vegas/las-vegas\", subItems: [] },\n { name: \"Dubai\", href: \"https://www.d-reizen.nl/vakantie/verenigde-arabische-emiraten/dubai/dubai\", subItems: [] },\n { name: \"Marrakech\", href: \"https://www.d-reizen.nl/vakantie/marokko/marrakech/marrakech\", subItems: [] },\n { name: \"Bangkok\", href: \"https://www.d-reizen.nl/vakantie/thailand/bangkok/bangkok\", subItems: [] },\n ],\n },\n {\n name: \"Populaire stedentrips\",\n href: null,\n subItems: [\n { name: \"Stedentrip Spanje\", href: \"https://www.d-reizen.nl/stedentrip/spaanse-steden\", subItems: [] },\n { name: \"Stedentrip Italië\", href: \"https://www.d-reizen.nl/stedentrip/stedentrip-italie\", subItems: [] },\n { name: \"Stedentrip Benelux\", href: \"https://www.d-reizen.nl/stedentrip/benelux\", subItems: [] },\n { name: \"Disneyland® Paris\", href: \"https://www.d-reizen.nl/disneyland-paris\", subItems: [] },\n { name: \"Weekendje weg\", href: \"https://www.d-reizen.nl/weekendje-weg\", subItems: [] },\n ],\n },\n {\n name: \"Populaire thema's\",\n href: null,\n subItems: [\n { name: \"Last minute stedentrip\", href: \"https://www.d-reizen.nl/stedentrip/last-minute\", subItems: [] },\n { name: \"Culturele stedentrip\", href: \"https://www.d-reizen.nl/stedentrip/culturele-stedentrips\", subItems: [] },\n { name: \"Steden met stranden\", href: \"https://www.d-reizen.nl/stedentrip/steden-met-stranden\", subItems: [] },\n { name: \"Romantische steden\", href: \"https://www.d-reizen.nl/stedentrip/romantische-steden\", subItems: [] },\n { name: \"Shopsteden\", href: \"https://www.d-reizen.nl/stedentrip/stedentrips-voor-shopliefhebbers\", subItems: [] },\n ],\n },\n];\n\n\nexport const overigeVakantiesMenu = [\n {\n name: \"Populaire vakanties\",\n href: null,\n subItems: [\n { name: \"Autovakanties\", href: \"https://www.d-reizen.nl/autovakantie\", subItems: [] },\n { name: \"Wintersport\", href: \"https://www.d-reizen.nl/wintersport\", subItems: [] },\n { name: \"Vliegtickets\", href: \"https://www.d-reizen.nl/vliegtickets\", subItems: [] },\n { name: \"Kampeervakantie\", href: \"https://www.d-reizen.nl/kampeervakantie\", subItems: [] },\n { name: \"Busreizen\", href: \"https://www.d-reizen.nl/busreizen\", subItems: [] },\n ],\n },\n {\n name: \"Autovakanties\",\n href: null,\n subItems: [\n { name: \"Spanje\", href: \"https://www.d-reizen.nl/autovakantie/spanje\", subItems: [] },\n { name: \"Italië\", href: \"https://www.d-reizen.nl/autovakantie/italie\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.d-reizen.nl/autovakantie/duitsland\", subItems: [] },\n { name: \"Oostenrijk\", href: \"https://www.d-reizen.nl/autovakantie/oostenrijk\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.d-reizen.nl/autovakantie/frankrijk\", subItems: [] },\n ],\n },\n {\n name: \"Wintersport\",\n href: null,\n subItems: [\n { name: \"Oostenrijk\", href: \"https://www.d-reizen.nl/wintersport/oostenrijk\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.d-reizen.nl/wintersport/duitsland\", subItems: [] },\n { name: \"Italië\", href: \"https://www.d-reizen.nl/wintersport/italie\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.d-reizen.nl/wintersport/frankrijk\", subItems: [] },\n { name: \"Zwitserland\", href: \"https://www.d-reizen.nl/wintersport/zwitserland\", subItems: [] },\n ],\n },\n {\n name: \"Populaire rondreizen\",\n href: null,\n subItems: [\n { name: \"Rondreis Thailand\", href: \"https://www.d-reizen.nl/rondreis/thailand\", subItems: [] },\n { name: \"Rondreis Zuid-Afrika\", href: \"https://www.d-reizen.nl/rondreis/zuid-afrika\", subItems: [] },\n { name: \"Rondreis Tanzania\", href: \"https://www.d-reizen.nl/rondreis/tanzania\", subItems: [] },\n { name: \"Rondreis Amerika\", href: \"https://www.d-reizen.nl/rondreis/amerika\", subItems: [] },\n { name: \"Rondreis Italië\", href: \"https://www.d-reizen.nl/rondreis/italie\", subItems: [] },\n ],\n },\n {\n name: \"Meer rondreizen\",\n href: null,\n subItems: [\n { name: \"Rondreis Canada\", href: \"https://www.d-reizen.nl/rondreis/canada\", subItems: [] },\n { name: \"Rondreis Schotland\", href: \"https://www.d-reizen.nl/rondreis/schotland\", subItems: [] },\n { name: \"Rondreis IJsland\", href: \"https://www.d-reizen.nl/rondreis/ijsland\", subItems: [] },\n { name: \"Rondreis Noorwegen\", href: \"https://www.d-reizen.nl/rondreis/noorwegen\", subItems: [] },\n { name: \"Alle rondreizen\", href: \"https://www.d-reizen.nl/rondreis\", subItems: [] },\n ],\n },\n {\n name: \"Cruises\",\n href: null,\n subItems: [\n { name: \"Cruise Caribbean\", href: \"https://www.d-reizen.nl/cruise/caribbean\", subItems: [] },\n { name: \"Cruise Noorwegen\", href: \"https://www.d-reizen.nl/cruise/noorwegen\", subItems: [] },\n { name: \"Cruise Verre Oosten\", href: \"https://www.d-reizen.nl/cruise/verre-oosten\", subItems: [] },\n { name: \"Cruise Zuid-Amerika\", href: \"https://www.d-reizen.nl/cruise/zuid-amerika\", subItems: [] },\n { name: \"Alle cruisevakanties\", href: \"https://www.d-reizen.nl/cruise\", subItems: [] },\n ],\n },\n];","\"use client\";\nimport { useState, useRef, useCallback, useLayoutEffect } from \"react\";\nimport { useInView } from \"react-intersection-observer\";\nimport clsx from \"clsx\";\nimport { lastMinutesMenu, overigeVakantiesMenu, stedentripsMenu, verreReizenMenu, vliegticketsMenu, zonvakanties } from \"./mockdata\";\nimport { useBrand } from \"../../theme\";\nimport { IconArrowDown, IconChevronRight } from \"../../icons\";\n\ninterface MenuProps {\n \"data-testid\"?: string;\n className?: string;\n items?: MenuItemType[] | undefined;\n}\n\nexport interface MenuItemType {\n name: string;\n href: string | null;\n subItems: Array<{\n name: string;\n href: string | null;\n subItems: Array<any>;\n }>;\n}\n\nconst PrijsvrijMenuItems: MenuItemType[] = [\n {\n name: \"Vakanties\",\n href: \"https://www.prijsvrij.nl/vakanties\",\n subItems: [\n {\n name: \"Zonvakanties\",\n href: \"https://www.prijsvrij.nl/zonvakanties\",\n subItems: [\n { name: \"Spanje\", href: \"https://www.prijsvrij.nl/vakanties/spanje\", subItems: [] },\n { name: \"Canarische Eilanden\", href: \"https://www.prijsvrij.nl/vakanties/canarische-eilanden\", subItems: [] },\n { name: \"Griekenland\", href: \"https://www.prijsvrij.nl/vakanties/griekenland\", subItems: [] },\n { name: \"Turkije\", href: \"https://www.prijsvrij.nl/vakanties/turkije\", subItems: [] },\n { name: \"Portugal\", href: \"https://www.prijsvrij.nl/vakanties/portugal\", subItems: [] },\n { name: \"Italië\", href: \"https://www.prijsvrij.nl/vakanties/italie\", subItems: [] },\n ],\n },\n {\n name: \"Verre reizen\",\n href: \"https://www.prijsvrij.nl/verre-reizen\",\n subItems: [\n { name: \"Egypte\", href: \"https://www.prijsvrij.nl/vakanties/egypte\", subItems: [] },\n { name: \"Mexico\", href: \"https://www.prijsvrij.nl/vakanties/mexico\", subItems: [] },\n { name: \"Curaçao\", href: \"https://www.prijsvrij.nl/vakanties/curacao\", subItems: [] },\n { name: \"Dominicaanse Rep.\", href: \"https://www.prijsvrij.nl/vakanties/dominicaanse-republiek\", subItems: [] },\n { name: \"V.A.E.\", href: \"https://www.prijsvrij.nl/vakanties/verenigde-arabische-emiraten\", subItems: [] },\n { name: \"Aruba\", href: \"https://www.prijsvrij.nl/vakanties/aruba\", subItems: [] },\n ],\n },\n {\n name: \"Autovakanties\",\n href: \"https://www.prijsvrij.nl/autovakanties\",\n subItems: [\n { name: \"Spanje\", href: \"https://www.prijsvrij.nl/autovakanties/spanje\", subItems: [] },\n { name: \"Italië\", href: \"https://www.prijsvrij.nl/autovakanties/italie\", subItems: [] },\n { name: \"Oostenrijk\", href: \"https://www.prijsvrij.nl/autovakanties/oostenrijk\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.prijsvrij.nl/autovakanties/duitsland\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.prijsvrij.nl/autovakanties/frankrijk\", subItems: [] },\n { name: \"Kroatië\", href: \"https://www.prijsvrij.nl/autovakanties/kroatie\", subItems: [] },\n ],\n },\n {\n name: \"Stedentrips\",\n href: \"https://www.prijsvrij.nl/stedentrips\",\n subItems: [\n { name: \"Valencia\", href: \"https://www.prijsvrij.nl/vakanties/spanje/valencia/valencia\", subItems: [] },\n { name: \"Rome\", href: \"https://www.prijsvrij.nl/vakanties/italie/rome/rome\", subItems: [] },\n { name: \"Barcelona\", href: \"https://www.prijsvrij.nl/vakanties/spanje/barcelona/barcelona\", subItems: [] },\n { name: \"Lissabon\", href: \"https://www.prijsvrij.nl/vakanties/portugal/lissabon/lissabon\", subItems: [] },\n { name: \"Marrakech\", href: \"https://www.prijsvrij.nl/vakanties/marokko/marrakech/marrakech\", subItems: [] },\n { name: \"Praag\", href: \"https://www.prijsvrij.nl/vakanties/tsjechie/praag-en-omstreken/praag\", subItems: [] },\n ],\n },\n {\n name: \"Camping\",\n href: \"https://www.prijsvrij.nl/campings\",\n subItems: [\n { name: \"Spanje\", href: \"https://www.prijsvrij.nl/campings/spanje\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.prijsvrij.nl/campings/frankrijk\", subItems: [] },\n { name: \"Italië\", href: \"https://www.prijsvrij.nl/campings/italie\", subItems: [] },\n { name: \"Kroatië\", href: \"https://www.prijsvrij.nl/campings/kroatie\", subItems: [] },\n { name: \"Nederland\", href: \"https://www.prijsvrij.nl/campings/nederland\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.prijsvrij.nl/campings/duitsland\", subItems: [] },\n ],\n },\n {\n name: \"Wintersport\",\n href: \"https://www.prijsvrij.nl/wintersport\",\n subItems: [\n { name: \"Oostenrijk\", href: \"https://www.prijsvrij.nl/wintersport/oostenrijk\", subItems: [] },\n { name: \"Frankrijk\", href: \"https://www.prijsvrij.nl/wintersport/frankrijk\", subItems: [] },\n { name: \"Italië\", href: \"https://www.prijsvrij.nl/wintersport/italie\", subItems: [] },\n { name: \"Tsjechië\", href: \"https://www.prijsvrij.nl/wintersport/tsjechie\", subItems: [] },\n { name: \"Duitsland\", href: \"https://www.prijsvrij.nl/wintersport/duitsland\", subItems: [] },\n { name: \"Zwitserland\", href: \"https://www.prijsvrij.nl/wintersport/zwitserland\", subItems: [] },\n ],\n },\n ],\n },\n\n {\n name: \"Last Minutes\",\n href: \"https://www.prijsvrij.nl/last-minute\",\n subItems: [],\n },\n\n {\n name: \"All Inclusive\",\n href: \"https://www.prijsvrij.nl/all-inclusive\",\n subItems: [],\n },\n\n {\n name: \"Thema's\",\n href: \"https://www.prijsvrij.nl/themas\",\n subItems: [\n { name: \"Kindvriendelijk\", href: \"https://www.prijsvrij.nl/kindvriendelijk\", subItems: [] },\n { name: \"Adults only\", href: \"https://www.prijsvrij.nl/adults-only\", subItems: [] },\n { name: \"Luxe hotels\", href: \"https://www.prijsvrij.nl/luxe-vakanties\", subItems: [] },\n { name: \"Boutique hotels\", href: \"https://www.prijsvrij.nl/boutique-vakanties\", subItems: [] },\n { name: \"Hotels met Aquapark\", href: \"https://www.prijsvrij.nl/waterparken\", subItems: [] },\n { name: \"Hotels met Waterspeeltuin\", href: \"https://www.prijsvrij.nl/waterparken/splash-kids\", subItems: [] },\n { name: \"Huwelijksreis\", href: \"https://www.prijsvrij.nl/huwelijksreizen\", subItems: [] },\n { name: \"Jongerenvakantie\", href: \"https://www.prijsvrij.nl/jongerenvakanties\", subItems: [] },\n { name: \"Wandelvakantie\", href: \"https://www.prijsvrij.nl/wandelvakanties\", subItems: [] },\n { name: \"Natuurvakanties\", href: \"https://www.prijsvrij.nl/natuurvakanties\", subItems: [] },\n { name: \"Swim up kamer\", href: \"https://www.prijsvrij.nl/luxe-vakanties/swim-up-kamers\", subItems: [] },\n { name: \"Alleen op vakantie\", href: \"https://www.prijsvrij.nl/themas/alleen-op-vakantie\", subItems: [] },\n { name: \"Wintersport\", href: \"https://www.prijsvrij.nl/wintersport\", subItems: [] },\n { name: \"Hotels aan het strand\", href: \"https://www.prijsvrij.nl/hotels-aan-het-strand\", subItems: [] },\n ],\n },\n\n {\n name: \"Acties\",\n href: \"https://www.prijsvrij.nl/acties\",\n subItems: [],\n },\n];\nconst DreizenMenuItems: MenuItemType[] = [\n {\n name: 'Zonvakanties',\n href: null,\n subItems: [...zonvakanties]\n },\n {\n name: 'Last minute',\n href: null,\n subItems: [...lastMinutesMenu]\n },\n {\n name: 'Verre reizen',\n href: null,\n subItems: [...verreReizenMenu]\n },\n {\n name: 'Vliegtickets',\n href: null,\n subItems: [...vliegticketsMenu]\n },\n {\n name: 'Stedentrips',\n href: null,\n subItems: [...stedentripsMenu]\n },\n {\n name: 'Overige',\n href: null,\n subItems: [...overigeVakantiesMenu]\n }\n];\n\nconst MenuItem = ({\n item,\n isOpen,\n brand,\n onOpen\n}: {\n item: MenuItemType;\n isOpen: boolean;\n brand: string;\n onOpen: () => void;\n}) => {\n const [dropdownOffset, setDropdownOffset] = useState({ x: 0, y: 0 });\n const [isReady, setIsReady] = useState(false);\n const menuItemRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const hasClampedRef = useRef(false);\n const prevOpenRef = useRef(false);\n const readyFrameRef = useRef<number | null>(0);\n\n const handlePointerEnter = () => {\n onOpen();\n };\n\n const clampDropdownToViewport = useCallback(() => {\n if (!dropdownRef.current || !menuItemRef.current) return;\n const dropdownRect = dropdownRef.current.getBoundingClientRect();\n const menuItemRect = menuItemRef.current.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const padding = 16;\n\n const dropdownWidth = dropdownRect.width;\n // Base position assumes top-full + left-1/2 + translateX(-50%)\n const baseLeft = menuItemRect.left + menuItemRect.width / 2 - dropdownWidth / 2;\n\n const minLeft = padding;\n const maxLeft = Math.max(padding, viewportWidth - dropdownWidth - padding);\n\n const clampedLeft = Math.min(Math.max(baseLeft, minLeft), maxLeft);\n\n setDropdownOffset({\n x: clampedLeft - baseLeft,\n y: 0\n });\n }, []);\n\n // Use intersection observer to know if the dropdown is fully in view.\n const { ref: dropdownInViewRef } = useInView({\n threshold: 1,\n rootMargin: \"-16px\"\n });\n\n // Set refs for dropdown\n const setDropdownRefs = (node: HTMLDivElement | null) => {\n dropdownRef.current = node;\n dropdownInViewRef(node);\n };\n\n useLayoutEffect(() => {\n if (isOpen && !prevOpenRef.current) {\n setIsReady(false);\n hasClampedRef.current = false;\n clampDropdownToViewport();\n hasClampedRef.current = true;\n if (readyFrameRef.current !== null) {\n if (typeof window.cancelAnimationFrame === \"function\") {\n window.cancelAnimationFrame(readyFrameRef.current);\n }\n }\n // Show dropdown after a frame to ensure hidden state is applied first\n readyFrameRef.current = window.requestAnimationFrame(() => {\n setIsReady(true);\n });\n const handleResize = () => clampDropdownToViewport();\n window.addEventListener(\"resize\", handleResize);\n return () => {\n if (readyFrameRef.current !== null) {\n if (typeof window.cancelAnimationFrame === \"function\") {\n window.cancelAnimationFrame(readyFrameRef.current);\n }\n readyFrameRef.current = null;\n }\n window.removeEventListener(\"resize\", handleResize);\n };\n }\n if (!isOpen) {\n hasClampedRef.current = false;\n setDropdownOffset({ x: 0, y: 0 });\n setIsReady(false);\n if (readyFrameRef.current !== null) {\n if (typeof window.cancelAnimationFrame === \"function\") {\n window.cancelAnimationFrame(readyFrameRef.current);\n }\n readyFrameRef.current = null;\n }\n }\n prevOpenRef.current = isOpen;\n }, [isOpen, clampDropdownToViewport]);\n\n const getDropdownClasses = () => {\n const baseClasses = \"absolute bg-white shadow-lg z-50 menu-dropdown\";\n return clsx(baseClasses, \"top-full left-1/2\");\n };\n\n const getDropdownStyle = () => {\n if (!isReady) {\n return {\n position: \"fixed\" as const,\n left: \"-9999px\",\n top: \"-9999px\",\n visibility: \"hidden\" as const,\n pointerEvents: \"none\" as const,\n minWidth: \"800px\"\n };\n }\n return {\n minWidth: \"800px\",\n transform: `translateX(-50%) translate(${dropdownOffset.x}px, ${dropdownOffset.y}px)`\n };\n };\n\n return (\n <div \n ref={menuItemRef}\n className=\"relative menu-item text-sm\"\n data-open={isOpen ? \"true\" : \"false\"}\n data-ready={isReady ? \"true\" : \"false\"}\n onPointerEnter={handlePointerEnter}\n >\n <a \n href={item.href || '#'} \n className=\"flex flex-row px-4 py-2 gap-2 items-center menu-link hover:no-underline hover:text-gray-900 transition-colors whitespace-nowrap\"\n >\n {item.name}\n {item.subItems && item.subItems.length > 0 && (\n brand === 'prijsvrij' ? <IconArrowDown className=\"menu-item-icon\" width={18} height={18} /> : <IconChevronRight className=\"rotate-90 menu-item-icon\" width={18} height={18} /> \n )}\n </a>\n \n {item.subItems && item.subItems.length > 0 && (\n <div \n ref={setDropdownRefs}\n className={getDropdownClasses()}\n style={getDropdownStyle()}\n >\n <div className=\"grid grid-cols-3 gap-6 p-6 min-w-[800px]\">\n {item.subItems.map((category, categoryIndex) => (\n <div key={categoryIndex} className=\"menu-category\">\n {category.name && (\n <div className={`px-2 py-2 font-semibold text-gray-800 ${category.subItems && category.subItems.length > 0 ? 'border-b border-gray-100' : ''} mb-2`}>\n <a href={category.href || '#'}>{category.name}</a>\n </div>\n )}\n {category.subItems && category.subItems.length > 0 && (\n <div className=\"space-y-1\">\n {category.subItems.map((subItem, subItemIndex) => (\n <a\n key={subItemIndex}\n href={subItem.href || '#'}\n className=\"block px-2 py-1 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-50 transition-colors\"\n >\n {subItem.name}\n </a>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport const Menu = ({ className, items, ...props }: MenuProps) => {\n const [openItemname, setOpenItemname] = useState<string | null>(null);\n\n const brand = useBrand('prijsvrij');\n\n const handleMenuPointerLeave = () => { \n setOpenItemname(null); \n };\n\n const menuItems = items ?? (brand === 'dreizen' ? DreizenMenuItems : PrijsvrijMenuItems);\n\n return (\n <nav\n data-component=\"Menu\"\n className={clsx(`flex items-center w-full ${brand === 'dreizen' ? 'justify-between h-[40px] border-t border-t-light-gray' : 'justify-end h-[70px]'}`, className)}\n {...props}\n onPointerLeave={handleMenuPointerLeave}\n >\n {menuItems.map((item) => (\n <MenuItem\n key={item.name}\n brand={brand}\n item={item}\n isOpen={openItemname === item.name}\n onOpen={() => setOpenItemname(item.name)}\n />\n ))}\n </nav>\n );\n};\n\nexport { Divider } from \"@components/divider\";\n","import { type SVGProps } from \"react\";\n\nexport const ANVRLogo = ({\n className,\n white,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" {...props}>\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M9.6903 4.24686C8.25463 4.1718 6.89378 3.88846 5.69971 3.22981C6.27483 1.95903 7.3449 0.575129 8.81051 0.111008C9.08204 0.0253734 9.35356 0.009515 9.6903 0V4.24686ZM9.69047 5.3526V4.81447C8.1789 4.67915 6.69726 4.45502 5.41338 3.76782C5.20065 4.27635 5.05206 4.81341 4.94409 5.3526H9.69047ZM14.9199 5.35276C14.8291 4.84424 14.6783 4.35157 14.4816 3.88745C13.1668 4.42558 11.7311 4.76917 10.2644 4.81463V5.35276H14.9199ZM13.7751 2.47608C13.6815 2.34631 13.5796 2.20503 13.5302 2.0933C12.7445 1.03185 11.6552 0 10.2644 0V4.2458C11.6862 4.157 13.016 3.91701 14.2261 3.34928C14.177 3.16528 14.0774 2.99367 13.9804 2.82671L13.9804 2.82669C13.9275 2.73561 13.8754 2.64592 13.8327 2.55636C13.8143 2.53037 13.7949 2.50348 13.7751 2.47608ZM7.33215 0.224365C6.41783 0.910545 5.84129 1.83839 5.27806 2.74482C5.2269 2.82716 5.17584 2.90932 5.12465 2.99112C4.5506 2.61686 3.94554 2.213 3.52222 1.66113C4.7024 0.95702 5.98734 0.539417 7.33215 0.224365ZM14.7403 3.05032C15.4052 2.79659 16.0092 2.213 16.5084 1.68968C15.2684 0.972878 13.9524 0.479156 12.5178 0.224365C13.5152 0.927418 14.2261 2.01847 14.7403 3.05032ZM4.94405 3.52905C4.67253 4.11158 4.47476 4.65288 4.33044 5.35276H0.000976562C0.620999 4.03757 1.70925 2.73613 3.00915 1.97388C3.59818 2.54161 4.24813 3.12519 4.94405 3.52905ZM15.4951 5.35273H19.9999C19.4259 4.08195 18.3066 2.7509 17.0217 2.04785C16.4166 2.66104 15.7218 3.22983 14.981 3.58822C15.0333 3.76066 15.0882 3.92932 15.1426 4.09673C15.2771 4.51028 15.4092 4.91624 15.4951 5.35273Z\" fill={white ? \"#fff\" : \"#DD0934\"}/>\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M2.56239 8.54871H3.52342L3.42721 7.12675H3.41546L2.56239 8.54871ZM3.68591 10.2128L3.60146 9.43678H2.00971L1.49873 10.2128H0.272583L3.15996 5.74707H4.42139L4.91741 10.2128H3.68591ZM7.61135 5.74707H6.45575L5.27771 10.2128H6.4333L7.15488 7.47669H7.16664L8.56169 10.2128H9.71622L10.8943 5.74707H9.73973L9.01922 8.47788H9.00747L7.61135 5.74707ZM12.7971 8.4599L14.5909 5.74707H15.847L12.7704 10.2128H11.8745L11.184 5.74707H12.44L12.7971 8.4599ZM17.1693 6.63514H17.0571L16.7631 7.74839H16.8753C17.2527 7.74839 17.6953 7.6765 17.8235 7.19124C17.9518 6.70597 17.5467 6.63514 17.1693 6.63514ZM19.0454 7.12146C18.8829 7.73676 18.4008 8.2696 17.7402 8.38273L18.6563 10.2128H17.2174L16.5792 8.49479H16.5675L16.1142 10.2128H14.9586L16.1367 5.74707H17.8631C18.7408 5.74707 19.2966 6.16784 19.0454 7.12146ZM9.68945 11.7532C8.25377 11.8282 6.89293 12.1116 5.69885 12.7692C6.27291 14.0399 7.34405 15.4238 8.81072 15.888C9.08225 15.9736 9.35378 15.9895 9.68945 15.999V11.7532ZM13.7753 13.5221C13.6817 13.653 13.5798 13.7954 13.5294 13.9067C12.7436 14.9681 11.6554 15.9989 10.2635 16V11.7542C11.6853 11.843 13.0152 12.0819 14.2242 12.6507C14.1757 12.8349 14.0761 13.0063 13.9791 13.1732C13.9263 13.2639 13.8744 13.3532 13.8319 13.4425C13.8137 13.4683 13.7947 13.4949 13.7753 13.5221ZM7.33227 15.7747C6.41516 15.0882 5.83808 14.1581 5.27461 13.25C5.22463 13.1694 5.17477 13.089 5.12478 13.009C4.55072 13.3833 3.94566 13.7871 3.52234 14.339C4.70145 15.0421 5.98639 15.4607 7.33227 15.7747ZM14.7384 12.949C15.4043 13.2038 16.0083 13.7863 16.5076 14.3096C15.2686 15.0275 13.9526 15.5212 12.517 15.7749C13.5143 15.0719 14.2242 13.9808 14.7384 12.949ZM4.94307 12.4709C4.67155 11.8884 4.47378 11.3471 4.32947 10.6472H0C0.620022 11.9624 1.70827 13.2628 3.00818 14.0261C3.59827 13.4573 4.24822 12.8748 4.94307 12.4709ZM15.4953 10.6472H20.0001C19.4249 11.918 18.3068 13.248 17.0218 13.951C16.4178 13.3389 15.7219 12.7701 14.9811 12.4117C15.0334 12.2393 15.0883 12.0706 15.1427 11.9032C15.2773 11.4897 15.4093 11.0837 15.4953 10.6472ZM9.68937 11.1853V10.6472H4.94299C5.05096 11.1864 5.19955 11.7235 5.41229 12.232C6.69723 11.5437 8.17887 11.3196 9.68937 11.1853ZM14.92 10.6472C14.8292 11.1557 14.6784 11.6484 14.4817 12.1125C13.1669 11.5733 11.7312 11.2297 10.2645 11.1853V10.6472H14.92Z\" fill={white ? \"#fff\" : \"#00A0DD\"}/>\n</svg>\n);\n","import { type SVGProps } from \"react\";\n\nexport const CalamiteitenFondsLogo = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\" {...props}>\n<path d=\"M0 8.08611C0 6.17969 0.678845 4.4306 1.80951 3.06448L2.73444 3.86751C1.71317 5.11288 1.10126 6.70214 1.10126 8.43317C1.10126 12.4298 4.36365 15.6699 8.38826 15.6699C9.54021 15.6699 10.63 15.4042 11.5984 14.9316L11.7037 15.0793C10.5897 15.667 9.31889 16 7.96952 16C3.56805 16.0001 0 12.4567 0 8.08611ZM4.53321 1.9145C4.46821 2.01161 4.37912 2.11516 4.27195 2.1898C4.03332 2.35559 3.76093 2.32937 3.59262 2.09067C3.43282 1.86388 3.46581 1.59165 3.69757 1.43037C3.80987 1.35228 3.93127 1.30944 4.07723 1.29369L3.91802 1.01224C3.77573 1.05902 3.63489 1.11541 3.5104 1.20214C3.10655 1.48282 2.95672 1.90105 3.25542 2.32466C3.58004 2.78506 4.07298 2.68669 4.39944 2.45952C4.5662 2.34368 4.65142 2.24551 4.72832 2.15819L4.53321 1.9145ZM5.95359 1.70673C5.90338 1.63315 5.86498 1.55457 5.83074 1.47427L5.66833 1.09418C5.53523 0.782667 5.26052 0.766625 4.99829 0.87709C4.84633 0.941063 4.72338 1.01829 4.61911 1.12251L4.72696 1.359C4.80231 1.26266 4.90746 1.19283 5.02189 1.1447C5.15015 1.09062 5.27039 1.08371 5.33181 1.22193C5.27328 1.23618 5.21597 1.25497 5.16041 1.27812C4.97091 1.35785 4.64552 1.53901 4.77862 1.85043C4.87331 2.07174 5.09743 2.09518 5.30066 2.00959C5.44672 1.94821 5.52111 1.84976 5.54742 1.68838L5.55148 1.68675C5.57412 1.73948 5.60246 1.78991 5.62799 1.84399L5.95359 1.70673ZM5.09918 1.68512C5.05739 1.58723 5.13622 1.5101 5.25646 1.45967C5.30966 1.437 5.36267 1.41923 5.409 1.40213C5.45988 1.52172 5.42709 1.67887 5.29283 1.73554C5.21003 1.77032 5.12926 1.75581 5.09918 1.68512ZM6.26167 1.64112L6.63417 1.5419L6.21833 0L5.84564 0.0992261L6.26167 1.64112ZM8.03288 1.34661C8.00511 1.26199 7.99022 1.17602 7.97938 1.08937L7.92879 0.679694C7.8873 0.343785 7.62777 0.253108 7.34494 0.287593C7.18108 0.307476 7.0413 0.347916 6.91198 0.419574L6.95028 0.676524C7.04924 0.604386 7.16986 0.566252 7.29328 0.551171C7.43141 0.534265 7.54904 0.560584 7.56983 0.71024C7.5096 0.707882 7.44928 0.710259 7.38943 0.717348C7.18514 0.742227 6.82212 0.826949 6.86361 1.16305C6.89302 1.40156 7.10205 1.48561 7.32124 1.4589C7.47862 1.43969 7.57747 1.36544 7.6477 1.21761L7.65186 1.21694C7.65892 1.27419 7.67227 1.33038 7.68165 1.38926L8.03288 1.34661ZM7.21764 1.09216C7.20458 0.986594 7.3018 0.933955 7.43141 0.918202C7.48887 0.910998 7.54459 0.908596 7.59392 0.904754C7.60978 1.03366 7.53462 1.17563 7.38982 1.19321C7.30054 1.20416 7.22712 1.16824 7.21764 1.09216ZM8.31339 1.30396L8.69334 1.37053L8.77518 0.909365C8.81696 0.674891 8.91592 0.581909 9.05105 0.605731C9.15871 0.624558 9.18686 0.724553 9.16499 0.848177L9.06053 1.43489L9.44087 1.50136L9.52251 1.04019C9.56429 0.805624 9.66325 0.712738 9.79818 0.73656C9.90584 0.755291 9.93399 0.855381 9.91213 0.978717L9.80766 1.56562L10.1878 1.63219L10.3021 0.988707C10.3547 0.69343 10.3144 0.502567 9.99783 0.447142C9.84161 0.419862 9.68482 0.457132 9.57029 0.588345C9.53624 0.435423 9.41968 0.345995 9.26327 0.318523C9.09022 0.287977 8.92627 0.33053 8.82228 0.474518L8.81793 0.47375L8.85382 0.272608L8.50762 0.211996L8.31339 1.30396ZM10.4957 1.75514L10.8556 1.8926L11.2556 0.85759L10.8957 0.720038L10.4957 1.75514ZM11.4226 0.426394L11.0622 0.288937L10.961 0.551267L11.3211 0.688531L11.4226 0.426394ZM11.4432 1.21502L11.6414 1.31136L11.4422 1.71672C11.3258 1.95407 11.334 2.12601 11.6442 2.27644C11.731 2.31832 11.8021 2.33878 11.8713 2.36279L11.9699 2.13312C11.9321 2.12236 11.8919 2.11209 11.8574 2.09537C11.7476 2.04206 11.7485 1.96685 11.808 1.84639L11.988 1.47917L12.2308 1.59674L12.3493 1.35574L12.1065 1.23817L12.2681 0.909173L11.8754 0.849138L11.7657 1.07285L11.5613 0.974107L11.4432 1.21502ZM13.1992 2.78755L13.2428 2.73242C13.4474 2.4723 13.51 2.15089 13.1841 1.89788C12.9103 1.68579 12.5811 1.69991 12.354 1.98837C12.127 2.27673 12.2149 2.61792 12.5054 2.84327C12.6186 2.93097 12.7433 3.0008 12.8716 3.03826L13.0389 2.82521C12.9218 2.80518 12.8116 2.75671 12.718 2.6841C12.5691 2.56864 12.5132 2.44953 12.5913 2.31582L13.1992 2.78755ZM12.7225 2.14215C12.8085 2.04677 12.9254 2.00537 13.0353 2.09067C13.1566 2.1848 13.1392 2.30372 13.0603 2.40429L12.7225 2.14215ZM13.1344 3.33479L13.4119 3.60086L14.1873 2.8034L13.9098 2.53742L13.1344 3.33479ZM14.5103 2.47134L14.2328 2.20526L14.0366 2.40727L14.3137 2.67325L14.5103 2.47134ZM14.2466 3.24123L14.3824 3.41403L14.0244 3.69183C13.8153 3.85426 13.7469 4.01256 13.959 4.28267C14.0185 4.35798 14.0733 4.40725 14.1249 4.45912L14.3148 4.29583C14.2856 4.26941 14.2541 4.2429 14.2303 4.21255C14.155 4.11688 14.1893 4.04992 14.2957 3.96741L14.6197 3.71584L14.7864 3.92726L14.9989 3.76195L14.8328 3.55062L15.1232 3.32537L14.797 3.1005L14.5993 3.25381L14.4594 3.07611L14.2466 3.24123ZM15.1674 5.3804L15.2296 5.34736C15.5232 5.19242 15.7117 4.92404 15.5178 4.56133C15.3545 4.25693 15.0478 4.13705 14.7224 4.3087C14.3971 4.48064 14.3377 4.82779 14.5106 5.15083C14.5782 5.27685 14.6633 5.39087 14.7653 5.47694L15.0056 5.35005C14.9067 5.2844 14.8258 5.19546 14.77 5.09118C14.6812 4.92577 14.6789 4.79465 14.8051 4.70378L15.1674 5.3804ZM14.996 4.59821C15.1135 4.54577 15.2377 4.55499 15.3027 4.67708C15.3754 4.81242 15.3106 4.91395 15.197 4.97399L14.996 4.59821ZM14.884 5.8067L15.003 6.17085L15.4513 6.02638C15.6795 5.9529 15.8087 5.99612 15.8579 6.14616C15.8902 6.24529 15.8454 6.33568 15.6459 6.40013L15.1322 6.56573L15.2512 6.93027L15.9138 6.71654C16.1337 6.64546 16.2997 6.4644 16.2059 6.17709C16.1516 6.01101 16.0366 5.88691 15.86 5.86337L15.8587 5.85934L16.0541 5.79623L15.9457 5.46416L14.884 5.8067ZM15.3157 7.34417L15.3625 7.72446L16.2027 7.62216L16.2362 7.89256L16.5042 7.85981L16.4708 7.5895L16.5386 7.58124C16.6472 7.56818 16.7199 7.59776 16.7318 7.69488C16.739 7.75193 16.7366 7.7845 16.7298 7.81754L16.9966 7.80851C16.999 7.75895 17.0041 7.69411 16.9938 7.6115C16.9561 7.30748 16.8223 7.16724 16.4925 7.20729L16.4245 7.21546L16.396 6.98531L16.1282 7.01797L16.1558 7.24187L15.3157 7.34417ZM15.3849 8.78329C15.3785 9.14946 15.5878 9.43196 15.9564 9.43839C16.3268 9.44473 16.546 9.17001 16.5526 8.80394C16.5592 8.43797 16.3497 8.15527 15.979 8.14903C15.6104 8.14231 15.3913 8.41751 15.3849 8.78329ZM15.6548 8.78819C15.658 8.61135 15.8071 8.5418 15.9722 8.54469C16.1393 8.54757 16.286 8.62259 16.2826 8.79924C16.2796 8.97559 16.1306 9.04533 15.9633 9.04255C15.7984 9.03976 15.6516 8.96484 15.6548 8.78819ZM15.3409 9.65567L15.2606 10.0305L15.7218 10.1279C15.9566 10.1775 16.0465 10.279 16.0135 10.4332C15.9918 10.5353 15.9073 10.5914 15.702 10.5478L15.1739 10.4362L15.0936 10.8109L15.7749 10.9549C16.0012 11.0026 16.2363 10.9284 16.2994 10.6328C16.336 10.4619 16.299 10.2975 16.1576 10.1894L16.1584 10.185L16.3598 10.2277L16.4329 9.88621L15.3409 9.65567ZM15.9106 12.8531L16.0806 12.5067L15.5106 12.2308L15.5124 12.2267C15.6715 12.1946 15.7649 12.0958 15.8327 11.958C15.968 11.6827 15.7821 11.4057 15.5356 11.2862C15.239 11.1424 14.9144 11.1818 14.7687 11.4781C14.691 11.6368 14.7128 11.8204 14.803 11.9187L14.801 11.9224L14.6219 11.8356L14.466 12.1533L15.9106 12.8531ZM15.3533 11.6381C15.4861 11.7027 15.565 11.8333 15.4994 11.9671C15.4372 12.0933 15.2861 12.1243 15.1342 12.0505C14.9874 11.9798 14.9249 11.8308 14.9814 11.716C15.0452 11.586 15.1934 11.5607 15.3533 11.6381ZM14.3584 12.3617C14.2636 12.4332 14.1816 12.5196 14.0822 12.6607C13.9375 12.8662 13.8449 13.1268 14.089 13.2966C14.4368 13.5385 14.6537 12.993 14.796 13.0919C14.8468 13.1273 14.8051 13.2126 14.7569 13.2805C14.7018 13.359 14.6105 13.4437 14.5238 13.4819L14.7258 13.6592C14.8372 13.5859 14.9272 13.4849 15.0033 13.3767C15.1312 13.1952 15.1902 12.9298 14.9797 12.7834C14.6496 12.5539 14.4435 13.0759 14.2893 12.9682C14.2261 12.9243 14.2598 12.8541 14.3054 12.7899C14.3853 12.6765 14.4931 12.5905 14.5761 12.5391L14.3584 12.3617Z\" fill=\"black\"/>\n<path d=\"M2.89844 8.65131C2.89844 5.76443 5.25505 3.42412 8.16215 3.42412C11.0692 3.42412 13.4259 5.76443 13.4259 8.65131C13.4259 11.5383 11.0692 13.8786 8.16215 13.8786C5.25505 13.8786 2.89844 11.5383 2.89844 8.65131Z\" fill=\"black\"/>\n<path d=\"M8.05558 8.79491V13.5781C7.21829 13.5781 6.43121 13.3648 5.74646 12.9897L8.05558 8.79491ZM8.0877 8.01436L4.51007 4.88081C3.75665 5.72102 3.29883 6.82845 3.29883 8.04212C3.29883 9.83674 4.23855 11.3776 5.71648 12.1869L8.0877 8.01436ZM10.3755 12.419C9.66837 12.8063 8.87372 13.0089 8.06613 13.0078V10.2529L10.3755 12.419ZM12.3025 8.4858L8.58991 8.47533L8.60839 6.74142L10.8506 4.28911C12.1521 4.97524 13.0967 6.23962 13.3372 7.73743L12.3025 8.4858Z\" fill=\"black\"/>\n<path d=\"M12.7571 8.7538C12.7571 10.5485 11.7557 12.0417 10.2774 12.8513L8.05273 10.6792V8.7709L12.7571 8.7538ZM10.7743 4.71848C10.1053 4.36576 9.41236 4.16615 8.60187 4.16615V7.1707L10.7743 4.71848Z\" fill=\"black\"/>\n<path d=\"M5.66641 12.2387C5.85764 12.3733 5.81025 11.8132 6.19484 11.7598C6.87998 11.6653 7.26206 11.3646 7.45329 11.4594C8.17441 11.8174 6.97545 11.8076 8.71164 12.0446C9.06035 12.0923 9.12709 12.085 9.4286 12.2345C9.74713 12.3928 9.79752 12.7652 10.0577 12.6468C11.5778 11.954 12.6335 10.429 12.6335 8.65938C12.6335 7.03305 11.742 5.61334 10.4177 4.85641C9.77005 4.48612 10.1643 5.09886 10.0819 5.32152C9.97028 5.62208 9.68493 6.27228 9.25332 6.52385C8.5206 6.95092 8.20197 7.34658 8.37715 7.45723C8.66202 7.63705 9.23823 7.66673 9.42869 7.80515C10.3208 8.45401 10.9072 8.17852 11.0057 8.39042C11.1014 8.59627 11.0045 8.9488 10.99 9.02333C10.8963 9.50458 10.6447 10.2645 10.1561 10.8864C9.55628 11.6494 9.06219 12.0133 8.56858 11.871C8.41942 11.8277 8.8459 10.6675 8.58444 10.3681C7.54895 9.18144 8.42755 8.50473 8.32966 8.64353C8.26562 8.7343 8.39814 7.99784 8.32966 8.10581C8.12382 8.4298 7.43762 7.91581 7.1189 7.9477C6.86924 7.97248 6.78431 8.31146 6.4976 8.15316C6.12278 7.94654 6.07761 7.36281 5.95602 7.33063C5.7171 7.26733 6.1015 6.72749 5.73286 6.46055C4.96832 5.90689 5.35697 5.30183 5.11157 5.54302C4.30311 6.33779 3.80225 7.44052 3.80225 8.65947C3.80225 10.137 4.53836 11.444 5.66641 12.2387Z\" fill=\"#00ACEC\"/>\n</svg>\n);\n\n\n\n\n","import { type SVGProps } from \"react\";\n\nexport const SGRLogo = ({\n className,\n white,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\" {...props}>\n<path d=\"M15.0618 2.67719C11.2657 -1.4724 6.20916 0.439902 6.20916 0.439902C0.393012 2.43411 0 7.54282 0 7.54282L1.15263 7.51811C1.54574 4.70428 4.00053 2.78925 4.00053 2.78925C2.6381 4.83822 3.19623 7.36247 3.19623 7.36247L4.29653 7.24234C3.85109 3.17173 6.0215 1.96881 6.0215 1.96881L7.38809 6.58773C8.03492 6.409 8.49758 6.22431 8.49758 6.22431L7.1188 1.56354C10.0604 1.66904 11.382 4.96794 11.382 4.96794L12.3936 4.41399C11.5289 2.06443 9.30072 1.09532 9.30072 1.09532C12.8347 1.55618 14.1089 3.34936 14.1089 3.34936L15.0618 2.67719Z\" fill={white ? \"#fff\" : \"#CE364F\"}/>\n<path d=\"M6.50379 5.41871C6.65768 4.62419 6.0716 4.47622 5.97332 4.45585C5.86121 4.43235 5.279 4.34651 5.14135 5.15252C5.01638 5.88561 5.58031 6.06071 5.68516 6.08805C5.78373 6.11377 6.35976 6.16319 6.50379 5.41871Z\" fill={white ? \"#fff\" : \"#CE364F\"}/>\n<path d=\"M16.581 0.440101C16.5651 0.451903 16.5429 0.457753 16.5148 0.457753H16.4523V0.318357H16.4973C16.5275 0.318357 16.5508 0.321686 16.5672 0.328343C16.5922 0.33853 16.6047 0.356787 16.6047 0.383012C16.6046 0.409438 16.5966 0.428401 16.581 0.440101Z\" fill={white ? \"#fff\" : \"#CE364F\"}/>\n<path d=\"M8.54072 4.63911C8.07613 3.98904 8.5474 3.58164 8.62594 3.53202C8.62897 3.5301 8.63244 3.52786 8.63634 3.52535C8.74965 3.45223 9.22405 3.14613 9.66346 3.79154C10.0769 4.39865 9.65292 4.80867 9.55503 4.87958C9.47097 4.9407 8.976 5.24804 8.54072 4.63911Z\" fill={white ? \"#fff\" : \"#CE364F\"}/>\n<path d=\"M4.9302 13.362C4.9302 13.362 4.03893 13.2121 3.48274 13.1845C3.07 13.164 2.59854 13.1777 2.19237 13.212C2.18659 13.2124 2.18055 13.2129 2.17426 13.2135C1.8104 13.2439 0.596998 13.3452 0.607362 13.9453C0.614228 14.3486 1.05968 14.4786 1.46708 14.5976C1.53605 14.6177 1.60392 14.6375 1.66839 14.6583C1.7564 14.6866 1.86383 14.7171 1.97845 14.7497C2.41547 14.8738 2.95708 15.0276 2.92597 15.2062C2.88669 15.4316 2.3365 15.4725 1.98276 15.4521C1.55289 15.4271 0.80382 15.3018 0.80382 15.3018L0.155442 15.7732C0.581149 15.8824 1.75341 15.9847 2.45422 15.9984C4.1967 16.0323 5.02625 15.5346 5.02838 15.097C5.03002 14.7485 4.51252 14.5503 4.23636 14.4619C4.15815 14.4368 4.04297 14.4044 3.91014 14.3671C3.41891 14.2291 2.68635 14.0233 2.69024 13.8675C2.69865 13.5237 4.43891 13.8265 4.43891 13.8265L4.9302 13.362Z\" fill={white ? \"#fff\" : \"#2561A6\"}/>\n<path d=\"M10.7154 13.8265L10.545 13.2527C10.545 13.2527 9.83602 13.1024 9.05164 13.1159C8.32946 13.1285 6.06503 13.28 6.05178 14.5503C6.04017 15.6841 8.00358 15.9163 8.67169 15.9163C9.39223 15.9163 9.99079 15.7164 9.99079 15.7164L10.0243 15.8208H11.3048L10.9037 14.5038L9.64643 14.5066L9.82983 15.1787C9.82983 15.1787 9.47754 15.3562 9.07796 15.3562C8.69258 15.3562 7.6894 15.2333 7.66319 14.6049C7.62788 13.758 8.80286 13.7035 9.2482 13.6899C9.69373 13.6762 10.7154 13.8265 10.7154 13.8265Z\" fill={white ? \"#fff\" : \"#2561A6\"}/>\n<path d=\"M7.69819 7.63724C7.69819 7.63724 8.30991 7.45942 8.81281 7.29087L9.22052 8.66929C9.22052 8.66929 9.99494 8.25343 10.0735 7.02398L10.997 6.61407C10.997 6.61407 11.3047 8.97744 9.57639 9.87221L9.9397 11.0999C12.199 9.85405 11.6988 6.02885 11.6988 6.02885L12.7069 5.47782C13.237 7.84371 12.2152 9.85577 12.2152 9.85577C14.6676 7.70018 14.4859 4.37244 14.4859 4.37244L15.5361 3.64328C15.5361 3.64328 16.3165 10.4238 9.75369 12.4523C3.00924 14.537 0.130859 8.62219 0.130859 8.62219L1.38457 8.57488C1.38457 8.57488 2.99966 11.2652 6.16329 11.6692C6.16329 11.6692 4.27687 10.7224 3.46135 8.42187L4.59154 8.28106C4.59154 8.28106 6.12895 11.6646 8.82615 11.4496L8.46526 10.2296C6.45802 10.4935 5.46568 8.36589 5.46568 8.36589L6.49739 8.15095C6.49739 8.15095 7.10398 9.13872 8.1062 9.01556L7.69819 7.63724Z\" fill={white ? \"#fff\" : \"#2561A6\"}/>\n<path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.4963 13.1107H15.2806C15.6915 13.1024 16.7019 13.164 16.7019 13.8197C16.7019 14.3523 16.0075 14.5913 15.8897 14.6049L16.9999 15.8208H15.3755L14.5797 14.8099H13.8594L13.8637 15.8208H12.4935L12.4963 13.1107ZM13.8671 14.2718H14.5042C14.8237 14.264 15.1331 14.1801 15.1299 13.9358C15.1265 13.6892 14.7942 13.6369 14.4925 13.6369C14.112 13.6369 13.8696 13.6408 13.8696 13.6408L13.8671 14.2718Z\" fill={white ? \"#fff\" : \"#2561A6\"}/>\n</svg>\n);\n\n\n\n","\"use client\";\nimport { ANVRLogo } from \"@utils/ANVR\";\nimport { CalamiteitenFondsLogo } from \"@utils/Calamiteitenfonds\";\nimport { SGRLogo } from \"@utils/SGR\";\nimport clsx from \"clsx\";\nimport { useBrand } from \"../../theme\";\n\ninterface UspProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const Nominations = ({ className, ...props }: UspProps) => {\n\n const brand = useBrand('prijsvrij');\n\n return <div\n data-component=\"nominations\"\n className={clsx(\"nominations-wrapper flex font-bold flex-row gap-0.5 w-full\", className)}\n {...props}\n >\n {brand === 'dreizen' ? <>\n <ANVRLogo title=\"ANVR\" height={25} width={35} />\n <CalamiteitenFondsLogo height={25} width={35} title=\"Calamiteitenfonds\" />\n <SGRLogo title=\"SGR\" height={25} width={35} />\n </> : <>\n <ANVRLogo white title=\"ANVR\" height={25} width={35} />\n <SGRLogo white title=\"SGR\" height={25} width={35} />\n </>}\n </div>\n\n}\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useBrand } from \"../../theme\";\nimport { DReizenLogo } from \"@utils/d-reizen_logo\";\nimport { PrijsvrijLogo } from \"@utils/prijsvrij_logo\";\nimport { SearchBox } from \"@components/searchBox\";\nimport { Menu, type MenuItemType } from \"@components/menu\";\nimport { Nominations } from \"@components/nominations\";\n\n\ninterface DividerProps {\n \"data-testid\"?: string;\n className?: string;\n middleNavigation: React.ReactElement;\n menuItems?: MenuItemType[] | undefined;\n}\n\n\nexport const Header = ({ className, middleNavigation, menuItems, \"data-testid\": dataTestId }: DividerProps) => {\n const brand = useBrand();\n\n return (\n <div\n data-component=\"header\"\n data-testid={dataTestId}\n className={clsx(`w-full ${brand === 'dreizen' && 'bg-white shadow-[0_4px_4px_rgba(0,0,0,0.05)]'}`, className)}\n >\n {brand === 'prijsvrij' ? (\n <div className=\"w-full\" style={{ backgroundColor: '#0092f2' }}>\n <span className=\"container mx-auto flex flex-row items-center gap-8\">\n <div className=\"w-[200px] h-[70px] min-w-[200px]\">\n <PrijsvrijLogo />\n </div>\n <div className=\"flex flex-row items-center gap-4 ml-auto h-[70px]\">\n <Nominations />\n <Menu items={menuItems} />\n <SearchBox placeholder={\"Zoek bestemming of accommodatie\"} />\n </div>\n \n </span>\n </div>\n ) : brand === 'dreizen' ? (\n <div>\n <span className=\"container mx-auto h-[88px] overflow-hidden flex flex-row items-center justify-between\">\n <div className=\"w-[247px] h-[112px] flex self-start \" >\n <DReizenLogo />\n </div>\n <div className=\"flex flex-row items-center gap-4\">\n {middleNavigation}\n <SearchBox placeholder={\"Zoek bestemming of accommodatie\"} />\n </div>\n </span>\n <span className=\"container mx-auto flex flex-row\">\n <Menu />\n </span>\n </div>\n ) : null}\n </div>\n );\n};\n\nexport { Divider } from \"@components/divider\";\n","\"use client\";\ninterface LogoProps {\n className?: string;\n logo?: React.ReactNode;\n}\n\nexport const Logo = ({ className, logo }: LogoProps) => {\n return logo ? <div className={className}>{logo}</div> : null;\n};\n\nLogo.displayName = \"Logo\";\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\n\n\ninterface IPageRating {\n rating: number;\n ratingsCount: number;\n className?: string;\n text?: string;\n}\n\n const RATING_COLORS = [\n \"#FB3C00\", // 1 ster - rood\n '#FB3C00', // 1.5 sterren - rood\n \"#FB7800\", // 2 sterren - oranje \n '#FB7800', // 2.5 sterren oranje\n \"#FBD300\", // 3 sterren - geel\n '#FBD300', // 3.5 sterren - geel\n \"#73CF11\", // 4 sterren - licht groen\n '#00B845', // 4.5 sterren - groen\n \"#00B845\", // 5 sterren - donker groen\n ];\n\nexport const PageRating = ({\n rating,\n ratingsCount,\n text,\n className, \n}: IPageRating) => {\n \n const RatingBox = ({ rating: boxRating, ratingsCount }: { rating: number, ratingsCount: number }) => {\n // Round rating to nearest 0.5 increment\n const roundedRating = Math.round(boxRating * 2) / 2;\n \n // Determine color based on whether we have a half rating\n let ratingColor = \"rgba(0,0,0,0.25)\";\n if (boxRating > 0) {\n if (roundedRating % 1 !== 0) {\n // Half-filled star - use half colors (odd indices in the array)\n const halfColorIndex = Math.floor(roundedRating) * 2 - 1; // 1.5 -> 1, 2.5 -> 3, 3.5 -> 5, etc.\n ratingColor = RATING_COLORS[Math.min(halfColorIndex, RATING_COLORS.length - 1)] || \"#FB3C00\";\n } else {\n // Full star - use regular colors (even indices in the array)\n const fullColorIndex = Math.floor(boxRating) * 2 - 2; // 1 -> 0, 2 -> 2, 3 -> 4, etc.\n ratingColor = RATING_COLORS[Math.min(fullColorIndex, RATING_COLORS.length - 1)] || \"#FB3C00\";\n }\n }\n \n return (\n <div className=\"flex gap-1\">\n {Array.from({ length: ratingsCount }, (_, i) => {\n const starIndex = i + 1;\n const isFullyFilled = starIndex <= Math.floor(roundedRating);\n const isHalfFilled = starIndex === Math.ceil(roundedRating) && roundedRating % 1 !== 0;\n \n return (\n <div\n key={i}\n className=\"w-6 h-6 rounded flex items-center justify-center relative overflow-hidden\"\n style={{ backgroundColor: isFullyFilled ? ratingColor : \"rgba(0,0,0,0.25)\" }}\n >\n {isHalfFilled ? (\n <div className=\"relative w-6 h-6 flex items-center justify-center\">\n {/* Green background half - left side only */}\n <div \n className=\"absolute inset-0 z-0\"\n style={{ \n backgroundColor: ratingColor,\n clipPath: 'inset(0 50% 0 0)'\n }}\n />\n {/* White star - always full white */}\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"white\"\n className=\"w-5 h-5 absolute top-[2px] left-[2px] inset-0 z-10\"\n >\n <path d=\"M12 16.1748L15.65 15.2498L17.175 19.9498L12 16.1748ZM20.4 10.0998H13.975L12 4.0498L10.025 10.0998H3.59998L8.79998 13.8498L6.82498 19.8998L12.025 16.1498L15.225 13.8498L20.4 10.0998Z\"/>\n </svg>\n </div>\n ) : (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"white\"\n className=\"w-5 h-5\"\n >\n <path d=\"M12 16.1748L15.65 15.2498L17.175 19.9498L12 16.1748ZM20.4 10.0998H13.975L12 4.0498L10.025 10.0998H3.59998L8.79998 13.8498L6.82498 19.8998L12.025 16.1498L15.225 13.8498L20.4 10.0998Z\"/>\n </svg>\n )}\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <span className={cn(\"flex flex-col\", className)}>\n <div\n data-testid=\"rating-container\"\n data-component=\"rating\"\n className=\"flex flex-row gap-4 items-center\"\n >\n <div className=\"flex items-center justify-center\">\n <RatingBox ratingsCount={ratingsCount} rating={rating} />\n </div>\n {text && <span className=\"text-white font-bold text-sm whitespace-nowrap\">{text}</span>} \n </div> \n </span>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface PriceCheckProps {\n \"data-testid\"?: string;\n className?: string;\n price?: number;\n text?: string;\n disabled?: boolean;\n}\n\nexport const PriceCheck = ({ className, price, text, disabled = false, \"data-testid\": testId = \"price-check\", ...props }: PriceCheckProps) => (\n <div\n data-testid={testId}\n data-component=\"price-check\"\n className={clsx(\"flex flex-col w-fit p-2 relative\", disabled && \"price-check-disabled\", className)}\n {...props}\n >\n <span className=\"price-background block w-full h-full\"></span>\n <span className=\"price-check-text-padding text-start price-check-color price-check-fontFamily price-check-font-price-text text-[11px] whitespace-nowrap\">{text}</span>\n <span className=\"price-check-price-padding text-start price-check-color-price price-check-fontFamily-price font-bold text-2xl whitespace-nowrap price-check-price-margin-top\">{price},<span className=\"price-check-minus\">-</span></span>\n </div>\n);\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\nimport { IconStar } from \"../../icons\";\n\n\ninterface IRating {\n rating: number;\n size?: string;\n className?: string;\n}\n\n\nexport const Rating = ({\n rating,\n size,\n className,\n}: IRating) => {\n\n const RatingBox = ({ rating }: { rating: number }) => {\n return (\n <div className=\"flex gap-[2px]\">\n {Array.from({ length: rating }, (_, i) => {\n return (\n <div\n key={i}\n className=\"w-fit h-fit items-center justify-center\"\n >\n <IconStar className={size === 'small' ? 'w-3 h-3' : 'w-4 h-4'} />\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <span className={cn(\"flex flex-col\", className)}>\n <div\n data-testid=\"rating-container\"\n data-component=\"rating\"\n className=\"flex flex-row gap-4 items-center\"\n >\n <div className=\"flex items-center justify-center\">\n <RatingBox rating={rating} />\n </div>\n </div>\n </span>\n );\n};\n","\"use client\";\nimport { cn } from \"@utils/cn\";\nimport { Rating } from \"@components/rating\";\nimport { Fragment, useState } from \"react\";\nimport { Divider } from \"@components/divider\";\n\n\ninterface SearchBoxItem {\n id: string;\n type: string;\n rating?: number;\n city?: string;\n area?: string;\n country?: string;\n name: string;\n image?: string;\n}\n\ninterface SearchBoxResultsProps {\n className?: string;\n searchBoxItems?: SearchBoxItem[] | undefined;\n onClick: (value: string) => void;\n style?: React.CSSProperties;\n}\n\n\nexport const SearchBoxResultItem = ({\n id,\n name,\n rating,\n city,\n area,\n country,\n image,\n type,\n onclick,\n}) => {\n const [imageError, setImageError] = useState(false);\n\n if (type === \"page\") {\n return <>\n\n <div \n tabIndex={0} \n className=\"p-2 flex items-start gap-2 -ml-2\" \n onClick={() => onclick(id)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n onclick(id);\n }\n }}\n >\n <div className=\"flex flex-col text-left\">\n <span className=\"font-semibold text-xs search-box-result-type-page\">{name}</span>\n\n </div>\n </div>\n </>\n } else {\n return <>\n <div \n tabIndex={0} \n className=\"search-box-result p-2 rounded-2xl flex items-start gap-2\" \n onClick={() => onclick(id)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n onclick(id);\n }\n }}\n >\n {!imageError && image && (\n <div className=\"w-12 h-12 min-w-12 min-h-12 rounded-md overflow-hidden\">\n <img\n onError={() => setImageError(true)}\n src={image}\n className=\"w-full h-full object-cover\"\n />\n </div>\n )}\n <div className=\"flex flex-col text-left\">\n <Rating rating={rating} size=\"small\" />\n <span className=\"font-semibold text-xs\">{name}</span>\n <span className=\"text-xs search-box-result-location font-semibold\">\n {city && `${city}, `}{country && `${country}${area && country ? ', ' : ''}${area}`}\n </span> \n </div>\n </div>\n </>\n }\n}\n\nexport const SearchBoxResults = ({\n className,\n searchBoxItems,\n onClick,\n style,\n}: SearchBoxResultsProps) => {\n const pageItems = searchBoxItems?.filter(item => item.type === 'page');\n const accomodationItems = searchBoxItems?.filter(item => item.type !== 'page');\n\n return <div className={cn(\"search-box-results bg-white cursor-pointer rounded-3xl p-5 absolute top-full left-auto right-0 mt-2 w-fit text-right\", className)} style={style}>\n<div className=\"min-w-[400px]\">\n {accomodationItems?.map((result, index) => (\n <Fragment key={result.id}>\n <SearchBoxResultItem onclick={(val: string) => onClick(val)} type={result.type} id={result.id} name={result.name} rating={result.rating} city={result.city} area={result.area} country={result.country} image={result.image} />\n {index < accomodationItems.length - 1 && <Divider className=\"my-2\" />}\n </Fragment>\n ))}\n \n {pageItems && pageItems.length > 0 && (\n <>\n <div className=\"text-xs font-semibold text-gray-600 my-2 text-left\">Pagina's</div>\n {pageItems.map((result, index) => (\n <Fragment key={result.id}>\n <SearchBoxResultItem onclick={(val: string) => onClick(val)} type={result.type} id={result.id} name={result.name} rating={result.rating} city={result.city} area={result.area} country={result.country} image={result.image} />\n {index < pageItems.length - 1 && <Divider className=\"my-2\" />}\n </Fragment>\n ))}\n </>\n )}\n</div>\n </div>\n};\n","\"use client\";\n\n\nimport { cn } from \"@utils/cn\";\n\nimport { IconCar } from \"../../icons/IconCar\";\nimport { IconPlane } from \"../../icons/IconPlane\";\nimport { withPvUi } from \"../withPvUi\";\n\ninterface TransportOption {\n id: string;\n label: string;\n icon: \"FL\" | \"HO\";\n disabled?: boolean;\n}\n\ninterface TransportToggleProps {\n options: TransportOption[];\n selectedValue?: string | undefined;\n onSelect: (value: string) => void;\n disabled?: boolean;\n disabledSingle?: \"FL\" | \"HO\";\n disabledSingleText?: string;\n className?: string;\n loading?: boolean;\n orientation?: \"vertical\" | \"horizontal\";\n}\n\nconst iconMap = {\n FL: IconPlane,\n HO: IconCar,\n};\n\nexport const TransportToggle = withPvUi(({\n options,\n selectedValue,\n onSelect,\n disabled = false,\n disabledSingle = undefined,\n disabledSingleText = \"\",\n className,\n loading,\n orientation = \"horizontal\",\n}: TransportToggleProps) => {\n const normalizeOptionValue = (value?: string) => value?.trim().toUpperCase() ?? \"\";\n const normalizedOptionIds = options.map((option) => normalizeOptionValue(option.id));\n const normalizedSelectedValue = normalizeOptionValue(selectedValue);\n const resolvedSelectedValue = normalizedOptionIds.includes(normalizedSelectedValue)\n ? normalizedSelectedValue\n : normalizedOptionIds[0] ?? \"\";\n\n const handleSelect = (value: string) => {\n if (!disabled && !isDisabled(value))\n onSelect(value);\n };\n\n const isDisabled = (optionId: string) => {\n const option = options.find(opt => opt.id === optionId);\n\n if (disabledSingle)\n return disabled || option?.disabled || normalizeOptionValue(optionId) === normalizeOptionValue(disabledSingle);\n\n return disabled || option?.disabled;\n };\n\n const isDisabledSingle = (optionId: string) => \n disabledSingle && normalizeOptionValue(optionId) === normalizeOptionValue(disabledSingle);\n\n const isActive = (optionId: string) => \n resolvedSelectedValue === normalizeOptionValue(optionId);\n\n return (\n <div className=\"@container w-full box-border\">\n <div\n className={cn(\n \"flex justify-between text-xs w-full toggle p-1 rounded-sm font-bold min-h-12\",\n orientation === \"horizontal\" ? \"flex-row\" : \"flex-col\",\n disabled && \"opacity-50\",\n className\n )}\n data-testid=\"transport-toggle-wrapper\"\n >\n\n {loading ? <div className=\"p-2 text-white toggle-active w-full h-9 text-center tracking-[.08em] flex items-center justify-center uppercase\">Loading...</div> : <>\n {options.map((option) => (\n <div\n key={option.id}\n className={cn(\n \"flex flex-1 flex-row items-center justify-center rounded-sm cursor-pointer tracking-[.08em]\",\n isActive(option.id) ? \"toggle-active\" : \"toggle-inactive\",\n isDisabledSingle(option.id) && \"cursor-not-allowed opacity-50 disabled\"\n )}\n data-testid={`transport-option-${option.id}`}\n onClick={() => isDisabled(option.id) ? null : handleSelect(option.id)}\n >\n\n <span className=\"flex flex-col items-center\">\n <span className=\"whitespace-nowrap uppercase flex flex-row items-center gap-2\">\n <div className=\"flex items-center justify-center w-auto h-4\">\n {(() => {\n const IconComponent = iconMap[option.icon as keyof typeof iconMap];\n if (!IconComponent)\n return null;\n return (\n <IconComponent\n className={`w-4 h-4 ${isActive(option.id) ? \"toggle-active-icon\" : \"toggle-inactive-icon\"}`}\n data-testid={`transport-icon-${option.id}`}\n />\n );\n })()}\n </div>\n {option.label}\n </span>\n {isDisabledSingle(option.id) && <span className=\"ml-1 text-[9px] whitespace-nowrap\">{disabledSingleText}</span>}\n </span>\n </div>\n ))}\n </>}\n </div>\n </div>\n );\n}) as React.FC<TransportToggleProps>;\n\n// Default export for backward compatibility\nexport const Toggle = TransportToggle;\nexport type { TransportOption, TransportToggleProps };\nexport type ToggleProps = TransportToggleProps;\n","\"use client\";\nimport clsx from \"clsx\";\n\nimport { IconHeart } from \"../../icons\";\nimport { Button } from \"@components/button\";\nimport React from \"react\";\n\ninterface TopHeaderMenuProps {\n \"data-testid\"?: string;\n className?: string;\n menuItems?: React.ReactNode[];\n onHeartClick?: () => void;\n}\n\nexport const TopHeaderMenu = ({ className, menuItems, onHeartClick, ...props }: TopHeaderMenuProps) => {\n return (\n <div\n data-component=\"top-header-menu\"\n className={clsx(\"top-header-menu-wrapper\", className)}\n {...props}\n >\n <ul className=\"top-header-menu flex flex-row\">\n {menuItems?.map((item, index) => (\n <React.Fragment key={index}>{item}</React.Fragment>\n ))}\n </ul>\n\n <Button \n variant=\"icon\" \n onClick={onHeartClick} \n icon={<IconHeart width={20} height={20} className=\"text-red-600 mt-[800px]\" />} \n />\n </div>\n );\n};\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\nimport type { Brand } from \"../../theme/brand\";\n\n\ninterface ITopMenu {\n className?: string;\n leftSection?: React.ReactNode;\n rightSection?: React.ReactNode;\n leftSectionClassName?: string;\n rightSectionClassName?: string;\n}\n\n\nexport const TopMenu = ({\n className,\n leftSectionClassName,\n rightSectionClassName,\n leftSection,\n rightSection,\n}: ITopMenu) => {\n\n return <div className=\"w-full topMenu\">\n <div className={cn('topMenu flex flex-row justify-between items-center container mx-auto', className)}>\n <div className={cn('topMenu-leftSection flex-1', leftSectionClassName)}>{leftSection}</div> \n <span className={cn('topMenu-rightSection', rightSectionClassName)}>{rightSection}</span>\n </div>\n </div>\n};\n\ninterface BrandSections {\n left: React.ReactNode;\n right: React.ReactNode;\n}\n\ninterface BrandTopMenuProps extends Omit<ITopMenu, \"leftSection\" | \"rightSection\"> {\n brand: Brand;\n sections: {\n prijsvrij: BrandSections;\n dreizen: BrandSections;\n };\n}\n\nexport const BrandTopMenu = ({\n brand,\n sections,\n ...rest\n}: BrandTopMenuProps) => {\n const resolvedBrand: Brand = brand === \"dreizen\" ? \"dreizen\" : \"prijsvrij\";\n const resolvedSections = sections[resolvedBrand] ?? sections.prijsvrij ?? sections.dreizen;\n\n if (!resolvedSections) {\n return null;\n }\n\n const { left, right } = resolvedSections;\n\n return (\n <TopMenu\n {...rest}\n leftSection={left}\n rightSection={right}\n />\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport React from \"react\";\n\n\nexport interface UspItem {\n icon: React.ReactNode;\n text: string;\n url?: string;\n}\n\ninterface UspProps {\n \"data-testid\"?: string;\n className?: string;\n orientation?: \"horizontal\" | \"vertical\";\n uspItems: UspItem[];\n}\n\nexport const Usp = ({ className, orientation = \"horizontal\", uspItems, \"data-testid\": dataTestId = \"usp\", ...props }: UspProps) => (\n <div\n data-component=\"usp\"\n data-testid={dataTestId}\n className={clsx(`usp-wrapper flex font-bold ${orientation === \"vertical\" ? \"flex-col\" : \"flex-row gap-8\"} w-full`, className)}\n {...props}\n >\n {uspItems.map((item, index) => {\n const content = (\n <>\n <span className={`w-6 h-6 flex ${orientation === \"vertical\" ? \"\" : \"justify-center items-center\"}`}>\n {item.icon}\n </span>\n <span className={`ml-2 flex items-center ${orientation === \"vertical\" ? \"\" : \"justify-center\"} whitespace-nowrap`}>{item.text}</span>\n </>\n );\n\n return (\n <React.Fragment key={index}>\n {item.url ? (\n <a \n href={item.url} \n title={item.text} \n className=\"flex flex-row text-xs font-bold whitespace-nowrap usp-item\"\n >\n {content}\n </a>\n ) : (\n <div \n className={`flex flex-row items-center ${orientation === \"vertical\" ? \"\" : \"justify-center\"} text-xs usp-item`}\n >\n {content}\n </div>\n )}\n </React.Fragment>\n );\n })}\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface MiddleNavigationProps {\n \"data-testid\"?: string;\n className?: string;\n menuItems: { text: string; icon: React.ReactNode; onClick?: () => void }[];\n}\n\n\nconst MenuItem = ({ item }: { item: { text: string; icon: React.ReactNode; onClick?: () => void } }) => {\n return (\n <li onClick={item.onClick} className=\"flex cursor-pointer flex-col justify-center items-center\">\n <span className=\"w-6 h-6 flex items-center justify-center\">{item.icon}</span>\n <span className=\"text-xs mt-2 font-bold whitespace-nowrap\">{item.text}</span> \n </li>\n )\n}\n\n\nexport const MiddleNavigation = ({ className, menuItems, ...props }: MiddleNavigationProps) => (\n <div\n data-component=\"middle-navigation\"\n className={clsx(\"middle-navigation flex flex-row justify-between items-center w-full\", className)}\n {...props}\n >\n <ul className=\"flex flex-row gap-4\">\n {menuItems.map((item) => (\n <MenuItem key={item.text} item={item}/>\n ))}\n \n </ul>\n\n </div>\n);\n\nexport { Divider } from \"@components/divider\";\n","// Footer Navigation Data\nexport const footerNavigationData = [\n // First row of columns\n {\n title: \"Over Prijsvrij\",\n links: [\n { text: \"Over ons\", href: \"#\" },\n { text: \"Drukwerk\", href: \"#\" },\n { text: \"Partner worden\", href: \"#\" },\n { text: \"Affiliate marketing\", href: \"#\" }\n ]\n },\n {\n title: \"Zonvakanties\",\n links: [\n { text: \"Spanje\", href: \"#\" },\n { text: \"Griekenland\", href: \"#\" },\n { text: \"Turkije\", href: \"#\" },\n { text: \"Portugal\", href: \"#\" }\n ]\n },\n {\n title: \"All inclusive\",\n links: [\n { text: \"Turkije\", href: \"#\" },\n { text: \"Spanje\", href: \"#\" },\n { text: \"Egypte\", href: \"#\" },\n { text: \"Griekenland\", href: \"#\" }\n ]\n },\n {\n title: \"Schoolvakanties\",\n links: [\n { text: \"Voorjaarsvakantie\", href: \"#\" },\n { text: \"Meivakantie\", href: \"#\" },\n { text: \"Zomervakantie\", href: \"#\" },\n { text: \"Herfstvakantie\", href: \"#\" }\n ]\n },\n // Second row of columns\n {\n title: \"Inspiratie\",\n links: [\n { text: \"Blog\", href: \"#\" },\n { text: \"Bestemmingen\", href: \"#\" },\n { text: \"Thema's\", href: \"#\" },\n { text: \"Acties\", href: \"#\" }\n ]\n },\n {\n title: \"Populaire eilanden\",\n links: [\n { text: \"Mallorca\", href: \"#\" },\n { text: \"Gran Canaria\", href: \"#\" },\n { text: \"Tenerife\", href: \"#\" },\n { text: \"Ibiza\", href: \"#\" }\n ]\n },\n {\n title: \"Populaire regio's\",\n links: [\n { text: \"Costa Brava\", href: \"#\" },\n { text: \"Costa Dorada\", href: \"#\" },\n { text: \"Riviera Maya\", href: \"#\" },\n { text: \"Algarve\", href: \"#\" }\n ]\n },\n {\n title: \"Last minute\",\n links: [\n { text: \"Spanje\", href: \"#\" },\n { text: \"Griekenland\", href: \"#\" },\n { text: \"Turkije\", href: \"#\" },\n { text: \"Egypte\", href: \"#\" }\n ]\n }\n];\n\n// Footer Bar Data\nexport const footerBarData = {\n leftLinks: [\n { text: \"Vacatures\", href: \"#\" },\n { text: \"Contact\", href: \"#\" },\n { text: \"ANVR SGR\", href: \"#\" },\n { text: \"Reviews\", href: \"#\" },\n { text: \"Cookies\", href: \"#\" }\n ],\n socialLinks: [\n {\n name: \"Facebook\",\n href: \"#\",\n path: \"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"\n },\n {\n name: \"Instagram\",\n href: \"#\",\n path: \"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zM5.838 12a6.162 6.162 0 1112.324 0 6.162 6.162 0 01-12.324 0zM12 16a4 4 0 110-8 4 4 0 010 8zm4.965-10.405a1.44 1.44 0 112.881.001 1.44 1.44 0 01-2.881-.001z\"\n },\n {\n name: \"YouTube\",\n href: \"#\",\n path: \"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\"\n },\n {\n name: \"TikTok\",\n href: \"#\",\n path: \"M12.535.013c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm0 2.163c5.424 0 9.837 4.413 9.837 9.837s-4.413 9.837-9.837 9.837-9.837-4.413-9.837-9.837 4.413-9.837 9.837-9.837zm4.245 5.729c-.393-.197-.86-.197-1.253 0l-2.992 1.496-2.992-1.496c-.393-.197-.86-.197-1.253 0-.393.197-.638.597-.638 1.032v5.968c0 .435.245.835.638 1.032.393.197.86.197 1.253 0l2.992-1.496 2.992 1.496c.393.197.86.197 1.253 0 .393-.197.638-.597.638-1.032v-5.968c0-.435-.245-.835-.638-1.032z\"\n },\n {\n name: \"Pinterest\",\n href: \"#\",\n path: \"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.627 0 12-5.373 12-12 0-6.628-5.373-12-12-12zm5.894 8.221l-1.97 9.28c-.145.658-.537.818-1.084.508l-3-2.21-1.446 1.394c-.14.18-.357.295-.6.295-.002 0-.003 0-.005 0l.213-3.054 5.56-5.022c.24-.213-.054-.334-.373-.121l-6.869 4.326-2.96-.924c-.64-.203-.658-.64.135-.954l11.566-4.458c.538-.196 1.006.128.832.941z\"\n }\n ]\n};","\"use client\";\nimport clsx from \"clsx\";\nimport { footerNavigationData } from \"./mockData\";\nimport { IconChevronRight } from \"../../icons\";\n\nexport type FooterNavigationLink = {\n text: string;\n href: string;\n};\n\nexport type FooterNavigationColumn = {\n title: string;\n links: FooterNavigationLink[];\n};\n\ninterface FooterNavigationProps {\n \"data-testid\"?: string;\n className?: string;\n showIcon?: boolean | undefined;\n columns?: FooterNavigationColumn[] | undefined;\n}\n\nexport const FooterNavigation = ({ className, showIcon = true, columns = footerNavigationData, \"data-testid\": dataTestId = \"footer-navigation\", ...props }: FooterNavigationProps) => (\n <div\n data-component=\"footer-navigation\"\n data-testid={dataTestId}\n className={clsx(\"bg-white py-8 px-6\", className)}\n {...props}\n >\n <div className=\"max-w-7xl mx-auto\">\n <div className=\"grid grid-rows-auto sm:grid-cols-8 gap-8\">\n {columns.map((column, columnIndex) => (\n <div key={columnIndex} className=\"col-span-2\">\n <h3 className=\"font-semibold footer-navigation-category-link mb-4\">{column.title}</h3>\n <ul className=\"\">\n {column.links.map((link, linkIndex) => (\n <li key={linkIndex} className=\"flex items-center\">\n {showIcon && <IconChevronRight width={19} height={19} className=\"text-secondary\" />}\n <a href={link.href} className=\"footer-navigation-link hover:text-gray-900\">\n {link.text}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport { footerBarData } from \"./mockData\";\n\nexport type FooterBarLink = {\n text: string;\n href: string;\n};\n\nexport type FooterBarSocialLink = {\n name: string;\n href: string;\n path?: string;\n iconHtml?: string;\n};\n\nexport type FooterBarData = {\n leftLinks: FooterBarLink[];\n socialLinks: FooterBarSocialLink[];\n};\n\ninterface FooterBarProps {\n \"data-testid\"?: string;\n className?: string;\n data?: FooterBarData | undefined;\n}\n\nexport const FooterBar = ({ className, data = footerBarData, \"data-testid\": dataTestId = \"footer-bar\", ...props }: FooterBarProps) => (\n <div\n data-component=\"footer-bar\"\n data-testid={dataTestId}\n className={clsx(\"bg-primary text-white py-4 px-3 sm:py-4 sm:px-6\", className)}\n {...props}\n >\n <div className=\"max-w-7xl mx-auto flex-col flex sm:flex-row gap-2 sm:gap-0 justify-between items-center\">\n <div className=\"flex space-x-6 w-full items-center justify-center overflow-scroll\">\n {data.leftLinks.map((link, index) => (\n <a key={index} href={link.href} className=\"text-white transition-colors whitespace-nowrap\">\n {link.text}\n </a>\n ))}\n </div>\n\n <div className=\"flex space-x-4\">\n {data.socialLinks.map((social, index) => (\n <a key={index} href={social.href} aria-label={social.name} className=\"text-white transition-colors\">\n {social.iconHtml ? (\n <span\n className=\"block w-6 h-6\"\n dangerouslySetInnerHTML={{ __html: social.iconHtml }}\n />\n ) : (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path d={social.path} />\n </svg>\n )}\n </a>\n ))}\n </div>\n </div>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport type { HTMLAttributes } from \"react\";\nimport { FooterNavigation, type FooterNavigationColumn } from \"./FooterNavigation\";\nimport { FooterBar, type FooterBarData } from \"./FooterBar\";\n\ninterface FooterProps extends HTMLAttributes<HTMLElement> {\n \"data-testid\"?: string;\n className?: string;\n showIcon?: boolean | undefined;\n navigationColumns?: FooterNavigationColumn[] | undefined;\n footerBarData?: FooterBarData | undefined;\n}\n\nexport const Footer = ({\n className,\n showIcon,\n navigationColumns,\n footerBarData,\n \"data-testid\": dataTestId = \"footer\",\n ...props\n}: FooterProps) => (\n <footer\n data-component=\"footer\"\n data-testid={dataTestId}\n className={clsx(\"w-full\", className)}\n {...props}\n >\n <FooterNavigation showIcon={showIcon} columns={navigationColumns} />\n <FooterBar data={footerBarData} />\n </footer>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport type React from \"react\";\nimport { useState } from \"react\";\nimport { IconMinus, IconPlus } from \"../../icons\";\n\nexport interface IAccordionItem {\n title: React.ReactElement;\n content: React.ReactElement;\n iconOpen?: React.ReactElement;\n iconClosed?: React.ReactElement;\n}\n\ninterface PvAccordionProps {\n \"data-testid\"?: string;\n className?: string;\n item: IAccordionItem;\n isOpen?: boolean;\n onToggle?: () => void;\n}\n\nexport const AccordionItem = ({ className, item, isOpen, onToggle, ...props }: PvAccordionProps) => {\n\n const [uncontrolledIsOpen, setUncontrolledIsOpen] = useState(false);\n const resolvedIsOpen = isOpen ?? uncontrolledIsOpen;\n\n const iconOpenFallback = <IconMinus width={16} height={16} className=\"text-secondary\" />;\n const iconClosedFallback = <IconPlus width={16} height={16} className=\"text-primary\" />;\n const icon = resolvedIsOpen ? (item.iconOpen ?? iconOpenFallback) : (item.iconClosed ?? iconClosedFallback);\n\n return (\n <div\n data-component=\"pv-accordion\"\n className={clsx(className, \"divide-y divide-gray-200\")}\n {...props}\n >\n <button\n type=\"button\"\n className=\"flex justify-between w-full py-4 items-center\"\n aria-expanded={resolvedIsOpen}\n onClick={() => (onToggle ? onToggle() : setUncontrolledIsOpen((v) => !v))}\n >\n <span>{item.title}</span>\n <span className=\"w-10 h-10 items-center flex\">{icon}</span>\n </button>\n <div\n className={clsx(\n \"grid transition-[grid-template-rows] duration-300 ease-in-out motion-reduce:transition-none\",\n resolvedIsOpen ? \"grid-rows-[1fr]\" : \"grid-rows-[0fr]\",\n )}\n >\n <div className=\"min-h-0 overflow-hidden\">\n <div\n className={clsx(\n \"py-4 transition-opacity duration-200 motion-reduce:transition-none\",\n resolvedIsOpen ? \"opacity-100\" : \"opacity-0\",\n )}\n >\n {item.content}\n </div>\n </div>\n </div>\n </div>\n );\n};","\"use client\";\nimport clsx from \"clsx\";\nimport { useState } from \"react\";\nimport { AccordionItem, IAccordionItem } from \"./AccordionItem\";\n\ninterface PvAccordionProps {\n \"data-testid\"?: string;\n className?: string;\n items: IAccordionItem[];\n onlyOneOpen?: boolean;\n}\n\nexport const Accordion = ({ className, items, onlyOneOpen = false, ...props }: PvAccordionProps) => {\n const [openItems, setOpenItems] = useState<Set<number>>(() => new Set());\n\n const toggleIndex = (index: number) => {\n setOpenItems((prev) => {\n const next = new Set(prev);\n if (next.has(index)) {\n next.delete(index);\n return next;\n }\n\n if (onlyOneOpen) {\n next.clear();\n }\n next.add(index);\n return next;\n });\n };\n\n return (\n <div\n data-component=\"pv-accordion\"\n className={clsx(className)}\n {...props}\n >\n {items.map((item, index) => (\n <AccordionItem\n key={index}\n item={item}\n isOpen={openItems.has(index)}\n onToggle={() => toggleIndex(index)}\n />\n ))}\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useEffect, useId, useRef, useState } from \"react\";\nimport { IconCheck, IconMinus } from \"../../icons\";\n\ninterface CheckboxProps {\n \"data-testid\"?: string;\n className?: string;\n label?: string;\n checked?: boolean;\n defaultChecked?: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n onChange?: (checked: boolean) => void;\n name?: string;\n value?: string;\n}\n\nexport const Checkbox = ({\n className,\n label,\n checked,\n defaultChecked = false,\n indeterminate = false,\n disabled = false,\n onChange,\n name,\n value,\n ...props\n}: CheckboxProps) => {\n const checkboxId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const isControlled = checked !== undefined;\n const [internalChecked, setInternalChecked] = useState(defaultChecked);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n \n const newChecked = e.target.checked;\n \n if (!isControlled) {\n setInternalChecked(newChecked);\n }\n \n if (onChange) {\n onChange(newChecked);\n }\n };\n\n const isChecked = isControlled ? checked : internalChecked;\n\n return (\n <div\n data-component=\"checkbox\"\n className={clsx(\"inline-flex items-center gap-2\", className)}\n {...props}\n >\n <label\n htmlFor={checkboxId}\n className={clsx(\n \"inline-flex items-center gap-2\",\n disabled ? \"cursor-not-allowed\" : \"cursor-pointer\"\n )}\n >\n <div className=\"relative inline-flex items-center justify-center\">\n <input\n ref={inputRef}\n type=\"checkbox\"\n id={checkboxId}\n {...(isControlled ? { checked } : { defaultChecked })}\n disabled={disabled}\n onChange={handleChange}\n name={name}\n value={value}\n className=\"peer sr-only\"\n />\n <div\n className={clsx(\n \"w-5 h-5 rounded border-2 flex items-center justify-center transition-all\",\n disabled\n ? \"border-gray-300 bg-gray-100\"\n : isChecked || indeterminate\n ? \"border-primary bg-primary\"\n : \"border-gray-400 bg-white hover:border-primary\",\n )}\n >\n {indeterminate ? (\n <IconMinus className=\"text-white\" width={16} height={16} />\n ) : isChecked ? (\n <IconCheck className=\"text-white\" width={16} height={16} />\n ) : null}\n </div>\n </div>\n {label && (\n <span\n className={clsx(\n \"text-sm select-none\",\n disabled ? \"text-gray-400\" : \"text-gray-900\",\n )}\n >\n {label}\n </span>\n )}\n </label>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconCheck } from \"../../icons\";\n\ninterface Step {\n name: string;\n number: number;\n state: \"active\" | \"completed\" | \"upcoming\";\n}\n\ninterface StepperProps {\n \"data-testid\"?: string;\n className?: string;\n steps: Step[];\n}\n\nexport const Stepper = ({ className, steps, ...props }: StepperProps) => {\n\n \n\n\n const getLineColor = (state: Step[\"state\"]) => {\n switch (state) {\n case 'completed': return \"bg-green-600\";\n case 'active': return \"bg-primary-light-50\";\n default: return \"bg-primary-light-50\";\n }\n };\n\n return <div\n data-component=\"stepper\"\n className={clsx(className, \"relative flex flex-row justify-between\")}\n {...props}\n >\n {/* Line layer – runs behind the circles */}\n <div className=\"absolute top-[19px] left-[30px] right-[30px] flex h-[2px]\">\n {steps.slice(0, -1).map((step, i) => (\n <div key={i} className={clsx(\"flex-1\", getLineColor(step.state))} />\n ))}\n </div>\n\n {/* Steps layer – circles on top */}\n {steps.map((step) => {\n let styling = \"bg-white\";\n\n switch (step.state) {\n case 'active':\n styling = \"bg-primary text-white border-primary-light-50 border-3\"\n break;\n \n case 'completed':\n styling = \"bg-green-600 border-primary-light-75 text-white\"\n break;\n \n case 'upcoming':\n styling = \"bg-primary-light-50 border-primary-light-75 border-3 text-white\"\n break;\n \n default:\n break;\n }\n\n return (\n <div className=\"step flex flex-col items-center relative z-10\" key={step.number}>\n <span className={clsx(\"w-[40px] h-[40px] rounded-full flex items-center justify-center\", styling)}>{step.state === 'completed' ? <IconCheck className=\"text-white\" width={16} height={16} /> : step.number}</span>\n <span className={`${step.state === 'active' ? 'text-dark-400' : 'text-light-400'}`}>{step.name}</span>\n </div>\n );\n })}\n </div>\n}\n","\"use client\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport { IconArrival, IconCalendar, IconCancel, IconClock, IconDeparture, IconFood, IconHotel, IconInfo, IconParty } from \"../../icons\";\n\ninterface FilterItem {\n Active: boolean;\n Count: number;\n Id: number;\n Inactive: boolean;\n IsChild: boolean;\n IsFixed: boolean;\n Name: string;\n Sequence: number;\n Value: string;\n}\n\ninterface Filter {\n Active: boolean;\n ActiveFiltersVisible: boolean;\n AddNoPreferenceOption: boolean;\n DoMultiSelectMode: boolean;\n FilterGroupType: number;\n FilterType: number;\n Id: number;\n Items: FilterItem[];\n LocalFilter: boolean;\n MaintainFilterSequenceWhenSelected: boolean;\n Name: string;\n PortalName: string;\n Sequence: number;\n SequenceSelectedFilters: number;\n ShowAllFilterItems: boolean;\n ShowOnTopOnly: boolean;\n UrlName: string;\n Visible: boolean;\n VisibleOutside: boolean;\n}\n\ninterface FilterData {\n name: string | undefined;\n value: string | undefined;\n icon: React.ReactElement;\n internal?: boolean;\n disabled: boolean;\n isCancellable?: boolean;\n}\n\ninterface ResultPageFilterBoxProps {\n \"data-testid\"?: string;\n className?: string;\n filters: Filter[];\n clickFunction: (val: string) => void;\n}\n\nexport const ResultPageFilterBox = ({ className, filters, clickFunction, ...props }: ResultPageFilterBoxProps) => {\n\n\n const departureDateData = filters.find((filter) => filter.Name === \"Vertrekdatum\");\n const durationData = filters.find((filter) => filter.Name === \"Reisduur\");\n const boardBasisData = filters.find((filter) => filter.Name === \"Verzorging\");\n const airportData = filters.find((filter) => filter.Name === \"Luchthaven\");\n const arrivalDateData = filters.find((filter) => filter.Name === \"Aankomst op\");\n const tourOperatorData = filters.find((filter) => filter.Name === \"Touroperator\");\n const roomTypeData = filters.find((filter) => filter.Name === \"Kamertype\");\n\n console.log('arrivalDateData', arrivalDateData)\n\n const travelParty = {\n Name: \"Reisgezelschap\",\n Value: \"2 personen\",\n icon: <IconParty className=\"size-5\" />,\n }\n\n\n\n\n\n const filtersData: FilterData[] = [\n {\n name: departureDateData?.Name,\n value: departureDateData?.Items?.find(item => item.Active)?.Name ? moment(departureDateData?.Items?.find(item => item.Active)?.Name, [\"MM/DD/YYYY\", \"YYYYMMDD\", \"YYYY-MM-DD\"]).locale(\"nl\").format(\"D MMMM [']YY\") : \"Geen voorkeur\",\n icon: <IconCalendar className=\"size-5\" />,\n disabled: Boolean(departureDateData?.Items && departureDateData?.Items.length <= 1),\n isCancellable: true\n },\n {\n name: travelParty?.Name,\n value: travelParty?.Value,\n icon: travelParty?.icon,\n disabled: false,\n isCancellable: true\n },\n {\n name: durationData?.Name,\n value: durationData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconClock className=\"size-5\" />,\n disabled: Boolean(durationData?.Items && durationData?.Items.length <= 1),\n isCancellable: true\n },\n {\n name: boardBasisData?.Name,\n value: boardBasisData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconFood className=\"size-5\" />,\n disabled: Boolean(boardBasisData?.Items && boardBasisData?.Items.length <= 1)\n },\n {\n name: airportData?.Name,\n value: airportData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconDeparture className=\"size-5\" />,\n disabled: Boolean(airportData?.Items && airportData?.Items.length <= 1)\n },\n {\n name: arrivalDateData?.Name,\n value: arrivalDateData?.Items?.length === 1 ? arrivalDateData?.Items[0]?.Name : arrivalDateData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconArrival className=\"size-5\" />,\n disabled: Boolean(arrivalDateData?.Items && arrivalDateData?.Items.length <= 1)\n },\n {\n name: tourOperatorData?.Name,\n value: tourOperatorData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconInfo className=\"size-5\" />,\n disabled: Boolean(tourOperatorData?.Items && tourOperatorData?.Items.length <= 1),\n internal: true\n },\n {\n name: roomTypeData?.Name,\n value: roomTypeData?.Items?.find(item => item.Active)?.Name || \"Geen voorkeur\",\n icon: <IconHotel className=\"size-5\" />,\n disabled: Boolean(roomTypeData?.Items && roomTypeData?.Items.length <= 1),\n internal: true,\n }\n ]\n\n\n\n return <div\n data-component=\"ResultPageFilterBox\"\n className={clsx(\"bg-white\", className)}\n {...props}\n >\n <div className=\"border border-[#80c8f8] rounded-md overflow-hidden grid grid-cols-1 md:grid-cols-2 [&>*:last-child]:border-b-0 md:[&>*:nth-last-child(-n+2)]:border-b-0 md:[&>*:nth-child(even)]:border-l md:[&>*:nth-child(even)]:border-l-[#80c8f8] [&>*:not(:last-child)]:border-b [&>*:not(:last-child)]:border-b-[#80c8f8] md:[&>*:not(:nth-last-child(-n+2))]:border-b md:[&>*:not(:nth-last-child(-n+2))]:border-b-[#80c8f8]\">\n {filtersData.map((filter, index) => (\n <button onClick={() => {}} key={index} className={`flex flex-row items-center justify-between gap-2 p-1.5 hover:bg-gray-50/70 cursor-pointer ${filter.disabled ? 'bg-gray-100 text-black/50' : ''}`}>\n <div className=\"flex flex-row\">\n <span className=\"whitespace-nowrap p-1.5\">{filter.icon}</span>\n <div className=\"flex flex-col gap-0 items-start\">\n <span className=\"font-bold text-xs text-[#666666]\">{filter.name}</span>\n <span className=\"text-sm\">{filter.value}</span>\n \n </div>\n </div>\n {filter.isCancellable && (<div className=\"flex items-center mr-2 bg-gray-200 rounded-full p-1\">\n <IconCancel className=\"size-3 text-white\" />\n </div>)}\n \n </button>\n ))}\n </div>\n </div>\n}\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconMinus, IconPlus } from \"../../icons\";\nimport { Button } from \"@components/button\";\n\ninterface QuantityButtonsProps {\n \"data-testid\"?: string;\n className?: string;\n value: number;\n setValue: (value: number) => void;\n minValue?: number;\n maxValue?: number;\n}\n\nexport const QuantityButtons = ({ className, value, setValue, minValue = 0, maxValue = 8, ...props }: QuantityButtonsProps) => {\n const isMin = value <= minValue;\n const isMax = value >= maxValue;\n\n return (\n <div\n data-component=\"quantity-buttons\"\n className={clsx(\"flex flex-row w-fit justify-center items-center\", className)}\n {...props}\n >\n <Button\n ariaLabel=\"Decrease value\"\n variant=\"icon\"\n disabled={isMin}\n className=\"group rounded-full quantity-buttons-border-color border-2 p-1 w-8 h-8 items-center justify-center focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n onClick={() => setValue(Math.max(value - 1, minValue))}\n >\n <IconMinus className=\"quantity-buttons-color\" />\n </Button>\n\n <span className=\"mx-5 text-center text-base quantity-buttons-value-color\">{value}</span>\n\n <Button\n ariaLabel=\"Increase value\"\n variant=\"icon\"\n disabled={isMax}\n className=\"group rounded-full quantity-buttons-border-color border-2 p-1 w-8 h-8 items-center justify-center focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n onClick={() => setValue(Math.min(value + 1, maxValue))}\n >\n <IconPlus className=\"quantity-buttons-color\" />\n </Button>\n </div>\n );\n};\n","\"use client\";\nimport {\n cloneElement,\n type HTMLAttributes,\n isValidElement,\n type ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport type { EmblaCarouselType, EmblaOptionsType, EmblaPluginType } from \"embla-carousel\";\nimport useEmblaCarousel from \"embla-carousel-react\";\n\nconst LAZY_LOAD_PLACEHOLDER_SRC =\n \"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D\";\n\nexport interface SliderProps extends HTMLAttributes<HTMLDivElement> {\n className?: string | undefined;\n slides: ReactNode[];\n options?: EmblaOptionsType | undefined;\n plugins?: EmblaPluginType[] | undefined;\n lazyLoad?: boolean | undefined;\n showArrows?: boolean | undefined;\n showDots?: boolean | undefined;\n dotsPlacement?: \"inside\" | \"outside\" | undefined;\n overlay?: ReactNode;\n overlayClassName?: string | undefined;\n viewportClassName?: string;\n containerClassName?: string;\n slideClassName?: string;\n}\n\nexport function Slider({\n slides,\n options,\n plugins,\n lazyLoad = false,\n showArrows = true,\n showDots = true,\n dotsPlacement = \"outside\",\n overlay,\n overlayClassName,\n className,\n viewportClassName,\n containerClassName,\n slideClassName,\n ...props\n}: SliderProps) {\n const [emblaRef, emblaApi] = useEmblaCarousel(options, plugins);\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [scrollSnaps, setScrollSnaps] = useState<number[]>([]);\n const [slidesInView, setSlidesInView] = useState<number[]>([]);\n\n const canScrollPrev = useMemo(() => emblaApi?.canScrollPrev() ?? false, [emblaApi, selectedIndex]);\n const canScrollNext = useMemo(() => emblaApi?.canScrollNext() ?? false, [emblaApi, selectedIndex]);\n\n const scrollPrev = useCallback(() => {\n emblaApi?.scrollPrev();\n }, [emblaApi]);\n\n const scrollNext = useCallback(() => {\n emblaApi?.scrollNext();\n }, [emblaApi]);\n\n const scrollTo = useCallback(\n (index: number) => {\n emblaApi?.scrollTo(index);\n },\n [emblaApi],\n );\n\n useEffect(() => {\n if (!emblaApi) return;\n\n const onSelect = () => {\n setSelectedIndex(emblaApi.selectedScrollSnap());\n };\n\n setScrollSnaps(emblaApi.scrollSnapList());\n onSelect();\n\n emblaApi.on(\"select\", onSelect);\n emblaApi.on(\"reInit\", () => {\n setScrollSnaps(emblaApi.scrollSnapList());\n onSelect();\n });\n\n return () => {\n emblaApi.off(\"select\", onSelect);\n };\n }, [emblaApi]);\n\n const updateSlidesInView = useCallback(\n (api: EmblaCarouselType) => {\n setSlidesInView((current) => {\n if (current.length === api.slideNodes().length) {\n api.off('slidesInView', updateSlidesInView);\n }\n\n const inView = api\n .slidesInView()\n .filter((index) => !current.includes(index));\n\n return current.concat(inView);\n });\n },\n [],\n );\n\n useEffect(() => {\n if (!emblaApi) return;\n if (!lazyLoad) {\n setSlidesInView([]);\n return;\n }\n\n updateSlidesInView(emblaApi);\n emblaApi.on('slidesInView', updateSlidesInView);\n emblaApi.on(\"reInit\", updateSlidesInView);\n\n return () => {\n emblaApi.off('slidesInView', updateSlidesInView);\n emblaApi.off(\"reInit\", updateSlidesInView);\n };\n }, [emblaApi, lazyLoad, updateSlidesInView]);\n\n return (\n <div\n data-component=\"slider\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <div ref={emblaRef} className={cn(\"overflow-hidden\", viewportClassName)}>\n <div className={cn(\"flex touch-pan-y\", containerClassName)}>\n {slides.map((slide, index) => (\n <div\n key={index}\n className={cn(\"min-w-0 shrink-0 grow-0 basis-full\", slideClassName)}\n >\n {(lazyLoad && isValidElement(slide) && slide.type === \"img\")\n ? (() => {\n const hasBeenInView = slidesInView.includes(index);\n const originalSrc = slide.props.src as string | undefined;\n const src = hasBeenInView\n ? originalSrc\n : LAZY_LOAD_PLACEHOLDER_SRC;\n\n return cloneElement(slide, {\n src,\n \"data-src\": originalSrc,\n className: cn(slide.props.className, \"h-auto\"),\n });\n })()\n : isValidElement(slide)\n ? cloneElement(slide, {\n className: cn(slide.props.className, \"h-auto\"),\n })\n : slide}\n </div>\n ))}\n </div>\n\n {showDots && dotsPlacement === \"inside\" && scrollSnaps.length > 1 && (\n <div 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\">\n {scrollSnaps.map((_, index) => (\n <button\n key={index}\n type=\"button\"\n aria-label={`Go to slide ${index + 1}`}\n className={cn(\n \"pointer-events-auto cursor-pointer h-2 w-2 rounded-full bg-transparent border-2 border-white\",\n index === selectedIndex && \"bg-white\",\n )}\n onClick={() => scrollTo(index)}\n />\n ))}\n </div>\n )}\n </div>\n\n {overlay && (\n <div\n className={cn(\n \"pointer-events-none absolute inset-0 z-10\",\n overlayClassName,\n )}\n >\n <div className=\"pointer-events-auto h-full w-full\">{overlay}</div>\n </div>\n )}\n\n {showArrows && (\n <div className=\"pointer-events-none absolute inset-y-0 left-0 right-0 z-20 flex items-center justify-between\">\n <button\n type=\"button\"\n aria-label=\"Previous slide\"\n className={cn(\n \"pointer-events-auto cursor-pointer ml-2 inline-flex size-9 items-center justify-center rounded-full bg-white text-gray-900 shadow\",\n !canScrollPrev && \"opacity-50\",\n )}\n onClick={scrollPrev}\n disabled={!canScrollPrev}\n >\n <span aria-hidden=\"true\">‹</span>\n </button>\n <button\n type=\"button\"\n aria-label=\"Next slide\"\n className={cn(\n \"pointer-events-auto cursor-pointer mr-2 inline-flex size-9 items-center justify-center rounded-full bg-white text-gray-900 shadow\",\n !canScrollNext && \"opacity-50\",\n )}\n onClick={scrollNext}\n disabled={!canScrollNext}\n >\n <span aria-hidden=\"true\">›</span>\n </button>\n </div>\n )}\n\n {showDots && dotsPlacement === \"outside\" && scrollSnaps.length > 1 && (\n <div className=\"relative z-30 mt-3 flex items-center justify-center gap-2\">\n {scrollSnaps.map((_, index) => (\n <button\n key={index}\n type=\"button\"\n aria-label={`Go to slide ${index + 1}`}\n className={cn(\n \"h-2 w-2 rounded-full cursor-pointer bg-gray-300\",\n index === selectedIndex && \"bg-gray-900\",\n )}\n onClick={() => scrollTo(index)}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n","export interface Country {\n Code: number;\n CountryCode: string;\n AreaCode: string;\n Name: string;\n Nationality: string;\n}\n\nexport const countries:Country[] = [\n { \"Code\": 173, \"CountryCode\": \"ES\", \"AreaCode\": \"+34\", \"Name\": \"Canarische Eilanden\", \"Nationality\": \"Spaanse\" },\n { \"Code\": 204, \"CountryCode\": \"AF\", \"AreaCode\": \"+93\", \"Name\": \"Afghanistan\", \"Nationality\": \"Afghaanse\" },\n { \"Code\": 1, \"CountryCode\": \"AL\", \"AreaCode\": \"+355\", \"Name\": \"Albanie\", \"Nationality\": \"Albanese\" },\n { \"Code\": 2, \"CountryCode\": \"DZ\", \"AreaCode\": \"+213\", \"Name\": \"Algerije\", \"Nationality\": \"Algerijnse\" },\n { \"Code\": 5, \"CountryCode\": \"AD\", \"AreaCode\": \"+376\", \"Name\": \"Andorra\", \"Nationality\": \"Andorrese\" },\n { \"Code\": 6, \"CountryCode\": \"AO\", \"AreaCode\": \"+244\", \"Name\": \"Angola\", \"Nationality\": \"Angolese\" }, \n { \"Code\": 9, \"CountryCode\": \"AG\", \"AreaCode\": \"+1\", \"Name\": \"Antigua en Barbuda\", \"Nationality\": \"Antiguaan / Barbudaan / Redondaan\" }, \n { \"Code\": 10, \"CountryCode\": \"AR\", \"AreaCode\": \"+54\", \"Name\": \"Argentinie\", \"Nationality\": \"Argentijnse\" }, \n { \"Code\": 11, \"CountryCode\": \"AM\", \"AreaCode\": \"+374\", \"Name\": \"Armenie\", \"Nationality\": \"Armeense\" }, \n { \"Code\": 12, \"CountryCode\": \"AW\", \"AreaCode\": \"+297\", \"Name\": \"Aruba\", \"Nationality\": \"Arubaanse\" }, { \"Code\": 13, \"CountryCode\": \"AU\", \"AreaCode\": \"+61\", \"Name\": \"Australie\", \"Nationality\": \"Australische\" }, { \"Code\": 14, \"CountryCode\": \"AZ\", \"AreaCode\": \"+994\", \"Name\": \"Azerbeidzjan\", \"Nationality\": \"Azerbeidzjaans\" }, { \"Code\": 15, \"CountryCode\": \"BS\", \"AreaCode\": \"+1\", \"Name\": \"Bahamas\", \"Nationality\": \"Bahamaanse\" }, { \"Code\": 16, \"CountryCode\": \"BH\", \"AreaCode\": \"+973\", \"Name\": \"Bahrein\", \"Nationality\": \"Bahreinse\" }, { \"Code\": 17, \"CountryCode\": \"BD\", \"AreaCode\": \"+880\", \"Name\": \"Bangladesh\", \"Nationality\": \"Bengalees\" }, { \"Code\": 18, \"CountryCode\": \"BB\", \"AreaCode\": \"+1\", \"Name\": \"Barbados\", \"Nationality\": \"Barbadaanse\" }, { \"Code\": 19, \"CountryCode\": \"BE\", \"AreaCode\": \"+32\", \"Name\": \"Belgie\", \"Nationality\": \"Belgische\" }, { \"Code\": 20, \"CountryCode\": \"BZ\", \"AreaCode\": \"+501\", \"Name\": \"Belize\", \"Nationality\": \"Beliziaanse\" }, { \"Code\": 21, \"CountryCode\": \"BJ\", \"AreaCode\": \"+229\", \"Name\": \"Benin\", \"Nationality\": \"Beninse\" }, { \"Code\": 23, \"CountryCode\": \"BT\", \"AreaCode\": \"+975\", \"Name\": \"Bhutan\", \"Nationality\": \"Bhutaanse\" }, { \"Code\": 24, \"CountryCode\": \"BO\", \"AreaCode\": \"+591\", \"Name\": \"Bolivia\", \"Nationality\": \"Boliviaanse\" }, { \"Code\": 206, \"CountryCode\": \"BQ\", \"AreaCode\": \"+599\", \"Name\": \"Bonaire\", \"Nationality\": \"Bonairiaanse\" }, { \"Code\": 25, \"CountryCode\": \"BA\", \"AreaCode\": \"+387\", \"Name\": \"Bosnie Herzegovina\", \"Nationality\": \"Bosniër\" }, { \"Code\": 26, \"CountryCode\": \"BW\", \"AreaCode\": \"+267\", \"Name\": \"Botswana\", \"Nationality\": \"Botswaanse\" }, { \"Code\": 27, \"CountryCode\": \"BR\", \"AreaCode\": \"+55\", \"Name\": \"Brazilie\", \"Nationality\": \"Braziliaanse\" }, { \"Code\": 29, \"CountryCode\": \"BN\", \"AreaCode\": \"+673\", \"Name\": \"Brunei Darussalam\", \"Nationality\": \"Bruneise\" }, { \"Code\": 30, \"CountryCode\": \"BG\", \"AreaCode\": \"+359\", \"Name\": \"Bulgarije\", \"Nationality\": \"Bulgaarse\" }, { \"Code\": 31, \"CountryCode\": \"BF\", \"AreaCode\": \"+226\", \"Name\": \"Burkina Faso\", \"Nationality\": \"Burger van Burkina Faso\" }, { \"Code\": 32, \"CountryCode\": \"BI\", \"AreaCode\": \"+257\", \"Name\": \"Burundi\", \"Nationality\": \"Burundische\" }, { \"Code\": 33, \"CountryCode\": \"KH\", \"AreaCode\": \"+855\", \"Name\": \"Cambodja\", \"Nationality\": \"Cambodjaanse\" }, { \"Code\": 34, \"CountryCode\": \"CA\", \"AreaCode\": \"+1\", \"Name\": \"Canada\", \"Nationality\": \"Canadese\" }, { \"Code\": 209, \"CountryCode\": \"CF\", \"AreaCode\": \"+236\", \"Name\": \"Centraal-Afrikaanse Republiek\", \"Nationality\": \"Centraal-Afrikaanse\" }, { \"Code\": 36, \"CountryCode\": \"CL\", \"AreaCode\": \"+56\", \"Name\": \"Chili\", \"Nationality\": \"Chileense\" }, { \"Code\": 37, \"CountryCode\": \"CN\", \"AreaCode\": \"+86\", \"Name\": \"China\", \"Nationality\": \"Chinese\" }, { \"Code\": 38, \"CountryCode\": \"CO\", \"AreaCode\": \"+57\", \"Name\": \"Colombia\", \"Nationality\": \"Colombiaanse\" }, { \"Code\": 39, \"CountryCode\": \"KM\", \"AreaCode\": \"+269\", \"Name\": \"Comoren\", \"Nationality\": \"Comorese\" }, { \"Code\": 212, \"CountryCode\": \"CD\", \"AreaCode\": \"+243\", \"Name\": \"Congo-Kinshasa\", \"Nationality\": \"Congoleese\" }, { \"Code\": 41, \"CountryCode\": \"CR\", \"AreaCode\": \"+506\", \"Name\": \"Costa Rica\", \"Nationality\": \"Costaricaanse\" }, { \"Code\": 42, \"CountryCode\": \"CU\", \"AreaCode\": \"+53\", \"Name\": \"Cuba\", \"Nationality\": \"Cubaanse\" }, { \"Code\": 213, \"CountryCode\": \"CW\", \"AreaCode\": \"+599\", \"Name\": \"Curacao\", \"Nationality\": \"Curaçaoënaarse\" }, { \"Code\": 43, \"CountryCode\": \"CY\", \"AreaCode\": \"+357\", \"Name\": \"Cyprus\", \"Nationality\": \"Cyprische\" }, { \"Code\": 44, \"CountryCode\": \"DK\", \"AreaCode\": \"+45\", \"Name\": \"Denemarken\", \"Nationality\": \"Deense\" }, { \"Code\": 45, \"CountryCode\": \"DJ\", \"AreaCode\": \"+253\", \"Name\": \"Djibouti\", \"Nationality\": \"Djiboutiaanse\" }, { \"Code\": 46, \"CountryCode\": \"DM\", \"AreaCode\": \"+1\", \"Name\": \"Dominica\", \"Nationality\": \"Dominicaanse\" }, { \"Code\": 47, \"CountryCode\": \"DO\", \"AreaCode\": \"+1\", \"Name\": \"Dominicaanse Republiek\", \"Nationality\": \"Dominicaanse\" }, { \"Code\": 48, \"CountryCode\": \"DE\", \"AreaCode\": \"+49\", \"Name\": \"Duitsland\", \"Nationality\": \"Duitse\" }, { \"Code\": 49, \"CountryCode\": \"EC\", \"AreaCode\": \"+593\", \"Name\": \"Ecuador\", \"Nationality\": \"Ecuadoraanse\" }, { \"Code\": 50, \"CountryCode\": \"EG\", \"AreaCode\": \"+20\", \"Name\": \"Egypte\", \"Nationality\": \"Egyptische\" }, { \"Code\": 51, \"CountryCode\": \"SV\", \"AreaCode\": \"+503\", \"Name\": \"El Salvador\", \"Nationality\": \"Salvadoraanse\" }, { \"Code\": 248, \"CountryCode\": \"ER\", \"AreaCode\": \"+291\", \"Name\": \"Eritrea\", \"Nationality\": \"Eritrese\" }, { \"Code\": 52, \"CountryCode\": \"EE\", \"AreaCode\": \"+372\", \"Name\": \"Estland\", \"Nationality\": \"Estnische\" }, { \"Code\": 53, \"CountryCode\": \"ET\", \"AreaCode\": \"+251\", \"Name\": \"Ethopie\", \"Nationality\": \"Ethiopische\" }, { \"Code\": 56, \"CountryCode\": \"FJ\", \"AreaCode\": \"+679\", \"Name\": \"Fiji\", \"Nationality\": \"Fijische\" }, { \"Code\": 57, \"CountryCode\": \"PH\", \"AreaCode\": \"+63\", \"Name\": \"Filipijnen\", \"Nationality\": \"Filippijnse\" }, { \"Code\": 58, \"CountryCode\": \"FI\", \"AreaCode\": \"+358\", \"Name\": \"Finland\", \"Nationality\": \"Finse\" }, { \"Code\": 59, \"CountryCode\": \"FR\", \"AreaCode\": \"+33\", \"Name\": \"Frankrijk\", \"Nationality\": \"Franse\" }, { \"Code\": 62, \"CountryCode\": \"GA\", \"AreaCode\": \"+241\", \"Name\": \"Gabon\", \"Nationality\": \"Gabonese\" }, { \"Code\": 63, \"CountryCode\": \"GM\", \"AreaCode\": \"+220\", \"Name\": \"Gambia\", \"Nationality\": \"Gambiaanse\" }, { \"Code\": 64, \"CountryCode\": \"GE\", \"AreaCode\": \"+995\", \"Name\": \"Georgie\", \"Nationality\": \"Georgiër\" }, { \"Code\": 65, \"CountryCode\": \"GH\", \"AreaCode\": \"+233\", \"Name\": \"Ghana\", \"Nationality\": \"Ghanese\" }, { \"Code\": 67, \"CountryCode\": \"GD\", \"AreaCode\": \"+1\", \"Name\": \"Grenada\", \"Nationality\": \"Grenadiaanse\" }, { \"Code\": 68, \"CountryCode\": \"GR\", \"AreaCode\": \"+30\", \"Name\": \"Griekenland\", \"Nationality\": \"Griekse\" }, { \"Code\": 193, \"CountryCode\": \"GB\", \"AreaCode\": \"+44\", \"Name\": \"Groot-Brittannie\", \"Nationality\": \"Brits\" }, { \"Code\": 72, \"CountryCode\": \"GT\", \"AreaCode\": \"+502\", \"Name\": \"Guatemala\", \"Nationality\": \"Guatamalteekse\" }, { \"Code\": 216, \"CountryCode\": \"GN\", \"AreaCode\": \"+224\", \"Name\": \"Guinee\", \"Nationality\": \"Guineeër\" }, { \"Code\": 217, \"CountryCode\": \"GW\", \"AreaCode\": \"+245\", \"Name\": \"Guinee-Bissau\", \"Nationality\": \"Guinee-Bissauer\" }, { \"Code\": 73, \"CountryCode\": \"GY\", \"AreaCode\": \"+592\", \"Name\": \"Guyana\", \"Nationality\": \"Guyaanse\" }, { \"Code\": 74, \"CountryCode\": \"HT\", \"AreaCode\": \"+509\", \"Name\": \"Haiti\", \"Nationality\": \"Haïtiaanse\" }, { \"Code\": 75, \"CountryCode\": \"HN\", \"AreaCode\": \"+504\", \"Name\": \"Honduras\", \"Nationality\": \"Hondurese\" }, { \"Code\": 76, \"CountryCode\": \"HU\", \"AreaCode\": \"+36\", \"Name\": \"Hongarije\", \"Nationality\": \"Hongaarse\" }, { \"Code\": 78, \"CountryCode\": \"IE\", \"AreaCode\": \"+353\", \"Name\": \"Ierland\", \"Nationality\": \"Ierse\" }, { \"Code\": 79, \"CountryCode\": \"IS\", \"AreaCode\": \"+354\", \"Name\": \"Ijsland\", \"Nationality\": \"IJslandse\" }, { \"Code\": 80, \"CountryCode\": \"IN\", \"AreaCode\": \"+91\", \"Name\": \"India\", \"Nationality\": \"Indiase\" }, { \"Code\": 81, \"CountryCode\": \"ID\", \"AreaCode\": \"+62\", \"Name\": \"Indonesie\", \"Nationality\": \"Indonesische\" }, { \"Code\": 82, \"CountryCode\": \"IQ\", \"AreaCode\": \"+964\", \"Name\": \"Irak\", \"Nationality\": \"Iraakse\" }, { \"Code\": 83, \"CountryCode\": \"IR\", \"AreaCode\": \"+98\", \"Name\": \"Iran\", \"Nationality\": \"Iraanse\" }, { \"Code\": 84, \"CountryCode\": \"IL\", \"AreaCode\": \"+972\", \"Name\": \"Israel\", \"Nationality\": \"Israëlische\" }, { \"Code\": 85, \"CountryCode\": \"IT\", \"AreaCode\": \"+39\", \"Name\": \"Italie\", \"Nationality\": \"Italiaanse\" }, { \"Code\": 219, \"CountryCode\": \"CI\", \"AreaCode\": \"+225\", \"Name\": \"Ivoorkust\", \"Nationality\": \"Ivoriaanse\" }, { \"Code\": 86, \"CountryCode\": \"JM\", \"AreaCode\": \"+1\", \"Name\": \"Jamaica\", \"Nationality\": \"Jamaicaanse\" }, { \"Code\": 87, \"CountryCode\": \"JP\", \"AreaCode\": \"+81\", \"Name\": \"Japan\", \"Nationality\": \"Japanse\" }, { \"Code\": 88, \"CountryCode\": \"YE\", \"AreaCode\": \"+967\", \"Name\": \"Jemen\", \"Nationality\": \"Jemenitische\" }, { \"Code\": 89, \"CountryCode\": \"JO\", \"AreaCode\": \"+962\", \"Name\": \"Jordanie\", \"Nationality\": \"Jordaanse\" }, { \"Code\": 90, \"CountryCode\": \"CV\", \"AreaCode\": \"+238\", \"Name\": \"Kaapverdische Eilanden\", \"Nationality\": \"Kaapverdische\" }, { \"Code\": 91, \"CountryCode\": \"CM\", \"AreaCode\": \"+237\", \"Name\": \"Kameroen\", \"Nationality\": \"Kameroense\" }, { \"Code\": 92, \"CountryCode\": \"KZ\", \"AreaCode\": \"+7\", \"Name\": \"Kazachstan\", \"Nationality\": \"Kazachse\" }, { \"Code\": 93, \"CountryCode\": \"KE\", \"AreaCode\": \"+254\", \"Name\": \"Kenia\", \"Nationality\": \"Kenyaanse\" }, { \"Code\": 94, \"CountryCode\": \"KG\", \"AreaCode\": \"+996\", \"Name\": \"Kirgizstan\", \"Nationality\": \"Kirgies\" }, { \"Code\": 221, \"CountryCode\": \"KI\", \"AreaCode\": \"+686\", \"Name\": \"Kiribati\", \"Nationality\": \"Kiribatiërse\" }, { \"Code\": 95, \"CountryCode\": \"KW\", \"AreaCode\": \"+965\", \"Name\": \"Koeweit\", \"Nationality\": \"Koeweitse\" }, { \"Code\": 253, \"CountryCode\": \"XK\", \"AreaCode\": \"+383\", \"Name\": \"Kosovo\", \"Nationality\": \"Kosovaarse\" }, { \"Code\": 96, \"CountryCode\": \"HR\", \"AreaCode\": \"+385\", \"Name\": \"Kroatie\", \"Nationality\": \"Kroatische\" }, { \"Code\": 97, \"CountryCode\": \"LA\", \"AreaCode\": \"+856\", \"Name\": \"Laos\", \"Nationality\": \"Laotiaanse\" }, { \"Code\": 98, \"CountryCode\": \"LS\", \"AreaCode\": \"+266\", \"Name\": \"Lesotho\", \"Nationality\": \"Lesothaanse\" }, { \"Code\": 99, \"CountryCode\": \"LV\", \"AreaCode\": \"+371\", \"Name\": \"Letland\", \"Nationality\": \"Letse\" }, { \"Code\": 100, \"CountryCode\": \"LB\", \"AreaCode\": \"+961\", \"Name\": \"Libanon\", \"Nationality\": \"Libanese\" }, { \"Code\": 223, \"CountryCode\": \"LR\", \"AreaCode\": \"+231\", \"Name\": \"Liberia\", \"Nationality\": \"Liberiaans\" }, { \"Code\": 101, \"CountryCode\": \"LY\", \"AreaCode\": \"+218\", \"Name\": \"Libie\", \"Nationality\": \"Libische\" }, { \"Code\": 102, \"CountryCode\": \"LI\", \"AreaCode\": \"+423\", \"Name\": \"Liechtenstein\", \"Nationality\": \"Liechtensteinse\" }, { \"Code\": 103, \"CountryCode\": \"LT\", \"AreaCode\": \"+370\", \"Name\": \"Litouwen\", \"Nationality\": \"Litouwse\" }, { \"Code\": 104, \"CountryCode\": \"LU\", \"AreaCode\": \"+352\", \"Name\": \"Luxemburg\", \"Nationality\": \"Luxemburgse\" }, { \"Code\": 105, \"CountryCode\": \"MO\", \"AreaCode\": \"+853\", \"Name\": \"Macau\", \"Nationality\": \"Macauerse\" }, { \"Code\": 107, \"CountryCode\": \"MG\", \"AreaCode\": \"+261\", \"Name\": \"Madagaskar\", \"Nationality\": \"Malagassiër\" }, { \"Code\": 108, \"CountryCode\": \"MW\", \"AreaCode\": \"+265\", \"Name\": \"Malawi\", \"Nationality\": \"Malawische\" }, { \"Code\": 109, \"CountryCode\": \"MV\", \"AreaCode\": \"+960\", \"Name\": \"Malediven\", \"Nationality\": \"Maldivische\" }, { \"Code\": 110, \"CountryCode\": \"MY\", \"AreaCode\": \"+60\", \"Name\": \"Maleisie\", \"Nationality\": \"Maleisische\" }, { \"Code\": 111, \"CountryCode\": \"ML\", \"AreaCode\": \"+223\", \"Name\": \"Mali\", \"Nationality\": \"Malinese\" }, { \"Code\": 112, \"CountryCode\": \"MT\", \"AreaCode\": \"+356\", \"Name\": \"Malta\", \"Nationality\": \"Maltese\" }, { \"Code\": 113, \"CountryCode\": \"MA\", \"AreaCode\": \"+212\", \"Name\": \"Marokko\", \"Nationality\": \"Marokkaanse\" }, { \"Code\": 114, \"CountryCode\": \"MH\", \"AreaCode\": \"+692\", \"Name\": \"Marshalleilanden\", \"Nationality\": \"Marshalleilander\" }, { \"Code\": 117, \"CountryCode\": \"MU\", \"AreaCode\": \"+230\", \"Name\": \"Mauritius\", \"Nationality\": \"Mauritiaan\" }, { \"Code\": 118, \"CountryCode\": \"MX\", \"AreaCode\": \"+52\", \"Name\": \"Mexico\", \"Nationality\": \"Mexicaanse\" }, { \"Code\": 119, \"CountryCode\": \"FM\", \"AreaCode\": \"+691\", \"Name\": \"Micronesia\", \"Nationality\": \"Micronesiër\" }, { \"Code\": 120, \"CountryCode\": \"MD\", \"AreaCode\": \"+373\", \"Name\": \"Moldavie\", \"Nationality\": \"Moldaviër\" }, { \"Code\": 121, \"CountryCode\": \"MC\", \"AreaCode\": \"+377\", \"Name\": \"Monaco\", \"Nationality\": \"Monegask\" }, { \"Code\": 122, \"CountryCode\": \"MN\", \"AreaCode\": \"+976\", \"Name\": \"Mongolie\", \"Nationality\": \"Mongolische\" }, { \"Code\": 123, \"CountryCode\": \"ME\", \"AreaCode\": \"+382\", \"Name\": \"Montenegro\", \"Nationality\": \"Montenegrijnse\" }, { \"Code\": 124, \"CountryCode\": \"MZ\", \"AreaCode\": \"+258\", \"Name\": \"Mozambique\", \"Nationality\": \"Mozambiquaanse\" }, { \"Code\": 125, \"CountryCode\": \"MM\", \"AreaCode\": \"+95\", \"Name\": \"Myanmar\", \"Nationality\": \"Myanmarese\" }, { \"Code\": 126, \"CountryCode\": \"NA\", \"AreaCode\": \"+264\", \"Name\": \"Namibie\", \"Nationality\": \"Namibische\" }, { \"Code\": 227, \"CountryCode\": \"NR\", \"AreaCode\": \"+674\", \"Name\": \"Nauru\", \"Nationality\": \"Nauruaanse\" }, { \"Code\": 127, \"CountryCode\": \"NL\", \"AreaCode\": \"+31\", \"Name\": \"Nederland\", \"Nationality\": \"Nederlandse\" }, { \"Code\": 129, \"CountryCode\": \"NP\", \"AreaCode\": \"+977\", \"Name\": \"Nepal\", \"Nationality\": \"Nepalese\" }, { \"Code\": 130, \"CountryCode\": \"NI\", \"AreaCode\": \"+505\", \"Name\": \"Nicaragua\", \"Nationality\": \"Nicaraguaanse\" }, { \"Code\": 132, \"CountryCode\": \"NZ\", \"AreaCode\": \"+64\", \"Name\": \"Nieuw-Zeeland\", \"Nationality\": \"Nieuw-Zeelandse\" }, { \"Code\": 134, \"CountryCode\": \"NG\", \"AreaCode\": \"+234\", \"Name\": \"Nigeria\", \"Nationality\": \"Nigeriaanse\" }, { \"Code\": 229, \"CountryCode\": \"KP\", \"AreaCode\": \"+850\", \"Name\": \"Noord-Korea\", \"Nationality\": \"Noordkoreaanse\" }, { \"Code\": 106, \"CountryCode\": \"MK\", \"AreaCode\": \"+389\", \"Name\": \"Noord-Macedonie\", \"Nationality\": \"Macedonische\" }, { \"Code\": 136, \"CountryCode\": \"NO\", \"AreaCode\": \"+47\", \"Name\": \"Noorwegen\", \"Nationality\": \"Noorse\" }, { \"Code\": 137, \"CountryCode\": \"UG\", \"AreaCode\": \"+256\", \"Name\": \"Oeganda\", \"Nationality\": \"Oegandese\" }, { \"Code\": 138, \"CountryCode\": \"UA\", \"AreaCode\": \"+380\", \"Name\": \"Oekraine\", \"Nationality\": \"Oekraïense\" }, { \"Code\": 139, \"CountryCode\": \"UZ\", \"AreaCode\": \"+998\", \"Name\": \"Oezbekistan\", \"Nationality\": \"Oezbeekse\" }, { \"Code\": 140, \"CountryCode\": \"OM\", \"AreaCode\": \"+968\", \"Name\": \"Oman\", \"Nationality\": \"Omaniet\" }, { \"Code\": 141, \"CountryCode\": \"AT\", \"AreaCode\": \"+43\", \"Name\": \"Oostenrijk\", \"Nationality\": \"Oostenrijkse\" }, { \"Code\": 142, \"CountryCode\": \"PK\", \"AreaCode\": \"+92\", \"Name\": \"Pakistan\", \"Nationality\": \"Pakistaanse\" }, { \"Code\": 232, \"CountryCode\": \"PS\", \"AreaCode\": \"+970\", \"Name\": \"Palestina\", \"Nationality\": \"Palesteinse\" }, { \"Code\": 144, \"CountryCode\": \"PA\", \"AreaCode\": \"+507\", \"Name\": \"Panama\", \"Nationality\": \"Panamese\" }, { \"Code\": 146, \"CountryCode\": \"PY\", \"AreaCode\": \"+595\", \"Name\": \"Paraguay\", \"Nationality\": \"Paraguayaanse\" }, { \"Code\": 147, \"CountryCode\": \"PE\", \"AreaCode\": \"+51\", \"Name\": \"Peru\", \"Nationality\": \"Peruaanse\" }, { \"Code\": 148, \"CountryCode\": \"PL\", \"AreaCode\": \"+48\", \"Name\": \"Polen\", \"Nationality\": \"Poolse\" }, { \"Code\": 149, \"CountryCode\": \"PT\", \"AreaCode\": \"+351\", \"Name\": \"Portugal\", \"Nationality\": \"Portugese\" }, { \"Code\": 151, \"CountryCode\": \"QA\", \"AreaCode\": \"+974\", \"Name\": \"Qatar\", \"Nationality\": \"Qatarees\" }, { \"Code\": 153, \"CountryCode\": \"RO\", \"AreaCode\": \"+40\", \"Name\": \"Roemenie\", \"Nationality\": \"Roemeense\" }, { \"Code\": 154, \"CountryCode\": \"RU\", \"AreaCode\": \"+7\", \"Name\": \"Rusland\", \"Nationality\": \"Russische\" }, { \"Code\": 155, \"CountryCode\": \"RW\", \"AreaCode\": \"+250\", \"Name\": \"Rwanda\", \"Nationality\": \"Rwandese\" }, { \"Code\": 160, \"CountryCode\": \"SB\", \"AreaCode\": \"+677\", \"Name\": \"Salomonseilanden\", \"Nationality\": \"Salomonseilandse\" }, { \"Code\": 161, \"CountryCode\": \"WS\", \"AreaCode\": \"+685\", \"Name\": \"Samoa\", \"Nationality\": \"Samoaanse\" }, { \"Code\": 162, \"CountryCode\": \"SM\", \"AreaCode\": \"+378\", \"Name\": \"San Marino\", \"Nationality\": \"Sanmarinese\" }, { \"Code\": 164, \"CountryCode\": \"SA\", \"AreaCode\": \"+966\", \"Name\": \"Saudi-Arabie\", \"Nationality\": \"Saoediarabische\" }, { \"Code\": 165, \"CountryCode\": \"SN\", \"AreaCode\": \"+221\", \"Name\": \"Senegal\", \"Nationality\": \"Senegalese\" }, { \"Code\": 166, \"CountryCode\": \"RS\", \"AreaCode\": \"+381\", \"Name\": \"Servie\", \"Nationality\": \"Servische\" }, { \"Code\": 168, \"CountryCode\": \"SC\", \"AreaCode\": \"+248\", \"Name\": \"Seychellen\", \"Nationality\": \"Seychelse\" }, { \"Code\": 236, \"CountryCode\": \"SL\", \"AreaCode\": \"+232\", \"Name\": \"Sierra Leone\", \"Nationality\": \"Sierra Leoner\" }, { \"Code\": 169, \"CountryCode\": \"SG\", \"AreaCode\": \"+65\", \"Name\": \"Singapore\", \"Nationality\": \"Singaporaanse\" }, { \"Code\": 238, \"CountryCode\": \"SX\", \"AreaCode\": \"+1\", \"Name\": \"Sint Maarten\", \"Nationality\": \"Sint Maartense\" }, { \"Code\": 171, \"CountryCode\": \"SI\", \"AreaCode\": \"+386\", \"Name\": \"Slovenie\", \"Nationality\": \"Sloveense\" }, { \"Code\": 172, \"CountryCode\": \"SK\", \"AreaCode\": \"+421\", \"Name\": \"Slowakije\", \"Nationality\": \"Slowaakse\" }, { \"Code\": 175, \"CountryCode\": \"SD\", \"AreaCode\": \"+249\", \"Name\": \"Soedan\", \"Nationality\": \"Sudanees\" }, { \"Code\": 239, \"CountryCode\": \"SO\", \"AreaCode\": \"+252\", \"Name\": \"Somalie\", \"Nationality\": \"Somaliër\" }, \n { \"Code\": 173, \"CountryCode\": \"ES\", \"AreaCode\": \"+34\", \"Name\": \"Spanje\", \"Nationality\": \"Spaanse\" }, { \"Code\": 174, \"CountryCode\": \"LK\", \"AreaCode\": \"+94\", \"Name\": \"Sri Lanka\", \"Nationality\": \"Srilankaanse\" }, { \"Code\": 176, \"CountryCode\": \"SR\", \"AreaCode\": \"+597\", \"Name\": \"Suriname\", \"Nationality\": \"Surinaamse\" }, { \"Code\": 177, \"CountryCode\": \"SZ\", \"AreaCode\": \"+268\", \"Name\": \"Swaziland\", \"Nationality\": \"Swazische\" }, { \"Code\": 178, \"CountryCode\": \"SY\", \"AreaCode\": \"+963\", \"Name\": \"Syrie\", \"Nationality\": \"Syrische\" }, { \"Code\": 241, \"CountryCode\": \"TJ\", \"AreaCode\": \"+992\", \"Name\": \"Tadzjikistan\", \"Nationality\": \"Tadzjiek\" }, { \"Code\": 179, \"CountryCode\": \"TW\", \"AreaCode\": \"+886\", \"Name\": \"Taiwan\", \"Nationality\": \"Taiwanese\" }, { \"Code\": 180, \"CountryCode\": \"TZ\", \"AreaCode\": \"+255\", \"Name\": \"Tanzania\", \"Nationality\": \"Tanzaniaanse\" }, { \"Code\": 181, \"CountryCode\": \"TH\", \"AreaCode\": \"+66\", \"Name\": \"Thailand\", \"Nationality\": \"Thaise\" }, { \"Code\": 182, \"CountryCode\": \"TG\", \"AreaCode\": \"+228\", \"Name\": \"Togo\", \"Nationality\": \"Togolese\" }, { \"Code\": 183, \"CountryCode\": \"TO\", \"AreaCode\": \"+676\", \"Name\": \"Tonga\", \"Nationality\": \"Tongaanse\" }, { \"Code\": 184, \"CountryCode\": \"TT\", \"AreaCode\": \"+1\", \"Name\": \"Trinidad en Tobago\", \"Nationality\": \"Trinidadaanse\" }, { \"Code\": 185, \"CountryCode\": \"TD\", \"AreaCode\": \"+235\", \"Name\": \"Tsjaad\", \"Nationality\": \"Tsjadische\" }, { \"Code\": 186, \"CountryCode\": \"CZ\", \"AreaCode\": \"+420\", \"Name\": \"Tsjechie\", \"Nationality\": \"Tsjechische\" }, { \"Code\": 187, \"CountryCode\": \"TN\", \"AreaCode\": \"+216\", \"Name\": \"Tunesie\", \"Nationality\": \"Tunesische\" }, { \"Code\": 188, \"CountryCode\": \"TR\", \"AreaCode\": \"+90\", \"Name\": \"Turkije\", \"Nationality\": \"Turkse\" }, { \"Code\": 243, \"CountryCode\": \"TM\", \"AreaCode\": \"+993\", \"Name\": \"Turkmenistan\", \"Nationality\": \"Turkmeense\" }, { \"Code\": 250, \"CountryCode\": \"TV\", \"AreaCode\": \"+688\", \"Name\": \"Tuvalu\", \"Nationality\": \"Tuvaluaanse\" }, { \"Code\": 190, \"CountryCode\": \"UY\", \"AreaCode\": \"+598\", \"Name\": \"Uruguay\", \"Nationality\": \"Uruguayaanse\" }, { \"Code\": 191, \"CountryCode\": \"VU\", \"AreaCode\": \"+678\", \"Name\": \"Vanuatu\", \"Nationality\": \"Vanuatuse\" }, { \"Code\": 192, \"CountryCode\": \"VE\", \"AreaCode\": \"+58\", \"Name\": \"Venezuela\", \"Nationality\": \"Venezolaanse\" }, { \"Code\": 194, \"CountryCode\": \"AE\", \"AreaCode\": \"+971\", \"Name\": \"Verenigde Arabische Emiraten\", \"Nationality\": \"Verenigde Arabische Emiraten\" }, { \"Code\": 195, \"CountryCode\": \"US\", \"AreaCode\": \"+1\", \"Name\": \"Verenigde Staten\", \"Nationality\": \"Amerikaans\" }, { \"Code\": 196, \"CountryCode\": \"VN\", \"AreaCode\": \"+84\", \"Name\": \"Vietnam\", \"Nationality\": \"Vietnamese\" }, { \"Code\": 197, \"CountryCode\": \"BY\", \"AreaCode\": \"+375\", \"Name\": \"Wit-Rusland\", \"Nationality\": \"Wit-Russische\" }, { \"Code\": 198, \"CountryCode\": \"ZM\", \"AreaCode\": \"+260\", \"Name\": \"Zambia\", \"Nationality\": \"Zambiaanse\" }, { \"Code\": 199, \"CountryCode\": \"ZW\", \"AreaCode\": \"+263\", \"Name\": \"Zimbabwe\", \"Nationality\": \"Zimbabwaanse\" }, { \"Code\": 200, \"CountryCode\": \"ZA\", \"AreaCode\": \"+27\", \"Name\": \"Zuid-Afrika\", \"Nationality\": \"Zuidafrikaanse\" }, { \"Code\": 201, \"CountryCode\": \"KR\", \"AreaCode\": \"+82\", \"Name\": \"Zuid-Korea\", \"Nationality\": \"Zuidkoreaanse\" }, { \"Code\": 247, \"CountryCode\": \"SS\", \"AreaCode\": \"+211\", \"Name\": \"Zuid-Soedan\", \"Nationality\": \"Zuid Sudanees\" }, { \"Code\": 202, \"CountryCode\": \"SE\", \"AreaCode\": \"+46\", \"Name\": \"Zweden\", \"Nationality\": \"Zweedse\" }, { \"Code\": 203, \"CountryCode\": \"CH\", \"AreaCode\": \"+41\", \"Name\": \"Zwitserland\", \"Nationality\": \"Zwitserse\" }]\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface LabelProps {\n children: React.ReactNode | string | React.ReactNode[];\n htmlFor?: string;\n className?: string;\n}\n\nexport const Label = ({ children, className, ...props }: LabelProps) => (\n <label\n data-component=\"label\"\n data-testid=\"label\"\n className={cn(\n \"flex items-center gap-1 text-xs font-medium text-black\",\n className,\n )}\n {...props}\n >\n {children}\n </label>\n);\n","\"use client\";\nimport { Button } from \"@components/button\";\nimport { countries, Country } from \"@utils/countries\";\nimport clsx from \"clsx\";\nimport type React from \"react\";\nimport { useEffect, useId, useMemo, useRef, useState } from \"react\";\nimport { IconArrowDown, IconCheck } from \"../../icons\";\nimport { Label } from \"@components/label\";\n\ninterface SliderProps {\n \"data-testid\"?: string;\n className?: string;\n defaultSelectedCountry?: Country;\n placeholder: string;\n label: string;\n}\n\nexport const PhoneNumberInput = ({ className, defaultSelectedCountry, placeholder, label, ...props }: SliderProps) => {\n const phoneNumberId = useId();\n const safeId = phoneNumberId.replace(/[^a-zA-Z0-9_-]/g, \"\");\n const resolvedPhoneNumberId = `phone-number-input-${safeId}`;\n const resolvedPopover = \"auto\";\n const countryAnchorName = `phone-country-${safeId}`;\n const containerAnchorName = `phone-container-${safeId}`;\n\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const optionRefs = useRef<Array<HTMLButtonElement | null>>([]);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const phoneInputRef = useRef<HTMLInputElement | null>(null);\n const focusInputOnCloseRef = useRef(false);\n const [isOpen, setIsOpen] = useState(false);\n\n const [selectedCountry, setSelectedCountry] = useState<Country | null>(\n defaultSelectedCountry ?? countries[0] ?? null,\n );\n\n const [phoneNumber, setPhoneNumber] = useState(\"\");\n\n const normalizedDigits = useMemo(() => {\n return phoneNumber.replace(/\\D/g, \"\");\n }, [phoneNumber]);\n\n const isValidPhoneNumber = useMemo(() => {\n // E.164 allows up to 15 digits (excluding +). Use a safe lower bound for a “filled in” number.\n return normalizedDigits.length >= 6 && normalizedDigits.length <= 15;\n }, [normalizedDigits.length]);\n\n const getCountryKey = (country: Country) => {\n return `${country.CountryCode}-${country.AreaCode}-${country.Code}-${country.Name}`;\n };\n\n const selectedCountryKey = useMemo(() => {\n if (!selectedCountry) return null;\n return getCountryKey(selectedCountry);\n }, [selectedCountry]);\n\n const selectedIndex = useMemo(() => {\n if (!selectedCountry) return 0;\n const key = getCountryKey(selectedCountry);\n const idx = countries.findIndex((c) => getCountryKey(c) === key);\n return idx >= 0 ? idx : 0;\n }, [selectedCountry]);\n\n const [searchQuery, setSearchQuery] = useState(\"\");\n\n const normalizeSearchValue = (value: string) => {\n return value\n .toLowerCase()\n .normalize(\"NFD\")\n // Strip accents/diacritics\n .replace(/\\p{Diacritic}/gu, \"\")\n .trim();\n };\n\n const filteredCountries = useMemo(() => {\n const q = normalizeSearchValue(searchQuery);\n if (!q) return countries;\n return countries.filter((c) => {\n const haystack = [\n c.Name,\n c.AreaCode,\n c.CountryCode,\n c.Nationality,\n String(c.Code),\n ]\n .map(normalizeSearchValue)\n .join(\" \");\n\n return haystack.includes(q);\n });\n }, [searchQuery]);\n\n const filteredSelectedIndex = useMemo(() => {\n if (!selectedCountry) return 0;\n const key = getCountryKey(selectedCountry);\n const idx = filteredCountries.findIndex((c) => getCountryKey(c) === key);\n return idx >= 0 ? idx : 0;\n }, [filteredCountries, selectedCountry]);\n\n const [activeIndex, setActiveIndex] = useState<number>(0);\n\n useEffect(() => {\n setActiveIndex(filteredSelectedIndex);\n }, [filteredSelectedIndex]);\n\n useEffect(() => {\n optionRefs.current = optionRefs.current.slice(0, filteredCountries.length);\n if (filteredCountries.length === 0) {\n setActiveIndex(0);\n return;\n }\n\n setActiveIndex((prev) => Math.min(prev, filteredCountries.length - 1));\n }, [filteredCountries.length]);\n\n useEffect(() => {\n const el = document.getElementById(resolvedPhoneNumberId) as (HTMLDivElement & {\n matches?: (selectors: string) => boolean;\n showPopover?: () => void;\n hidePopover?: () => void;\n }) | null;\n if (!el) return;\n\n const onToggle = (e: Event) => {\n const evt = e as unknown as { newState?: \"open\" | \"closed\" };\n const nextOpen = evt.newState === \"open\";\n setIsOpen(nextOpen);\n\n if (nextOpen) {\n setActiveIndex(filteredSelectedIndex);\n requestAnimationFrame(() => {\n // Force layout so anchor positioning is computed before focusing into the popover.\n void el.getBoundingClientRect();\n requestAnimationFrame(() => {\n searchRef.current?.focus();\n });\n });\n } else {\n requestAnimationFrame(() => {\n if (focusInputOnCloseRef.current) {\n focusInputOnCloseRef.current = false;\n phoneInputRef.current?.focus();\n return;\n }\n\n triggerRef.current?.focus();\n });\n }\n };\n\n el.addEventListener(\"toggle\", onToggle);\n return () => {\n el.removeEventListener(\"toggle\", onToggle);\n };\n }, [resolvedPhoneNumberId, selectedIndex]);\n\n const closePopover = () => {\n const el = document.getElementById(resolvedPhoneNumberId) as (HTMLDivElement & {\n hidePopover?: () => void;\n }) | null;\n el?.hidePopover?.();\n };\n\n const handleSelectCountry = (country: Country) => {\n setSelectedCountry(country);\n focusInputOnCloseRef.current = true;\n closePopover();\n };\n\n const handleTriggerKeyDown: React.KeyboardEventHandler<HTMLButtonElement> = (e) => {\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n e.preventDefault();\n // Use the same path as a pointer interaction so anchor positioning is applied consistently.\n triggerRef.current?.click();\n }\n };\n\n const handleListboxKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (e) => {\n if (e.key === \"Escape\") {\n e.preventDefault();\n closePopover();\n return;\n }\n\n if (filteredCountries.length === 0) {\n return;\n }\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActiveIndex((prev) => {\n const next = Math.min(prev + 1, filteredCountries.length - 1);\n optionRefs.current[next]?.focus();\n return next;\n });\n return;\n }\n\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActiveIndex((prev) => {\n const next = Math.max(prev - 1, 0);\n optionRefs.current[next]?.focus();\n return next;\n });\n return;\n }\n\n if (e.key === \"Home\") {\n e.preventDefault();\n setActiveIndex(() => {\n optionRefs.current[0]?.focus();\n return 0;\n });\n return;\n }\n\n if (e.key === \"End\") {\n e.preventDefault();\n setActiveIndex(() => {\n const last = filteredCountries.length - 1;\n optionRefs.current[last]?.focus();\n return last;\n });\n return;\n }\n };\n\n const handleSearchKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (e) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n e.stopPropagation();\n setActiveIndex(() => {\n if (filteredCountries.length > 0) {\n optionRefs.current[0]?.focus();\n }\n return 0;\n });\n return;\n }\n\n if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n closePopover();\n }\n };\n\n return (\n <div\n data-component=\"PhoneNumberInput\"\n className={clsx(\"w-full\", `anchor/${containerAnchorName}`, className)}\n {...props}\n >\n {label && <Label htmlFor={resolvedPhoneNumberId} className=\"mb-2\">\n {label}\n </Label>}\n <div\n className={clsx(\n \"flex flex-row rounded border bg-white pl-2\",\n isValidPhoneNumber ? \"border-green-600\" : \"border-primary\",\n isValidPhoneNumber\n ? \"focus-within:outline-none focus-within:ring-2 focus-within:ring-green-600 focus-within:ring-offset-2\"\n : \"focus-within:outline-none focus-within:ring-2 focus-within:ring-primary focus-within:ring-offset-2\",\n )}\n >\n <Button\n variant=\"textButton\"\n className={clsx(\n \"inline-flex min-w-[50px] justify-center bg-transparent p-2 font-medium gap-1\",\n `${isValidPhoneNumber ? 'text-green-600!' : 'text-primary!'}`,\n `anchor/${countryAnchorName}`,\n )}\n popoverTarget={resolvedPhoneNumberId}\n ref={triggerRef}\n aria-haspopup=\"listbox\"\n aria-controls={resolvedPhoneNumberId}\n aria-expanded={isOpen}\n onKeyDown={handleTriggerKeyDown}\n >\n ({selectedCountry?.AreaCode ?? \"--\"})\n <IconArrowDown className={`${isValidPhoneNumber ? 'text-green-600' : 'text-primary'}`} width={24} height={24} />\n </Button>\n <input\n ref={phoneInputRef}\n className={clsx(\n \"w-full bg-transparent pl-2 text-sm\",\n 'border-none',\n \"focus:outline-none\",\n )}\n placeholder={placeholder}\n value={phoneNumber}\n onChange={(e) => setPhoneNumber(e.target.value)}\n inputMode=\"tel\"\n aria-invalid={!isValidPhoneNumber && normalizedDigits.length > 0}\n />\n {isValidPhoneNumber && <span className=\"flex h-full justify-center align-middle items-center w-8 mr-2 self-center\"><IconCheck className=\"text-green-600\" width={24} height={24} /></span>}\n </div>\n\n <div\n id={resolvedPhoneNumberId}\n {...({ popover: resolvedPopover } as React.HTMLAttributes<HTMLDivElement>)}\n className={clsx(\n `anchored/${countryAnchorName}`,\n \"top-anchor-bottom left-anchor-left\",\n `w-anchor/${containerAnchorName}`,\n \"max-h-[164px] overflow-y-auto\",\n \"z-50 bg-white border border-gray-200 rounded shadow-md\",\n )}\n role=\"listbox\"\n tabIndex={-1}\n aria-activedescendant={\n filteredCountries.length > 0 ? `${resolvedPhoneNumberId}-option-${activeIndex}` : undefined\n }\n onKeyDown={handleListboxKeyDown}\n >\n <div className=\"sticky top-0 z-10 bg-white pt-0 p-2 w-full border-b border-gray-100\">\n <input\n ref={searchRef}\n className=\"w-full border border-gray-200 rounded px-2 mt-2 py-1 text-sm focus:outline-none focus:none focus:ring-primary focus:ring-offset-2\"\n placeholder=\"Zoek land\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n onKeyDown={handleSearchKeyDown}\n />\n </div>\n\n <div className=\"flex flex-col\">\n {filteredCountries.map((country, index) => (\n <button\n key={getCountryKey(country)}\n id={`${resolvedPhoneNumberId}-option-${index}`}\n type=\"button\"\n ref={(el) => {\n optionRefs.current[index] = el;\n }}\n role=\"option\"\n aria-selected={selectedCountryKey === getCountryKey(country)}\n className={clsx(\n \"block text-left w-full px-2 py-1 rounded\",\n \"focus:outline-none focus:bg-primary/10\",\n \"hover:bg-primary/10\",\n index === activeIndex && \"bg-primary/10\",\n selectedCountryKey === getCountryKey(country) && \"font-semibold\",\n )}\n onClick={() => handleSelectCountry(country)}\n onMouseEnter={() => setActiveIndex(index)}\n onFocus={() => setActiveIndex(index)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleSelectCountry(country);\n }\n }}\n >\n {country.Name} ({country.AreaCode})\n </button>\n ))}\n </div>\n </div>\n </div>\n );\n};","\"use client\";\nimport clsx from \"clsx\";\n\ninterface RotatedImage {\n src: string;\n alt: string;\n}\n\ninterface PhotoCardsRotatedProps {\n \"data-testid\"?: string;\n className?: string;\n images: RotatedImage[];\n blackAndWhite: boolean;\n}\n\n\nconst rotate = ['19.872deg', '-15deg', '4.778deg'];\nconst moveY = ['5%', '25%', '50%'];\nconst moveX = ['50%', '0%', '25%'];\n\nexport const PhotoCardsRotated = ({ className, images, blackAndWhite = false, \"data-testid\": dataTestId = \"photoCardsRotated\", ...props }: PhotoCardsRotatedProps) => (\n <div\n data-component=\"photoCardsRotated\"\n data-testid={dataTestId}\n className={clsx(\"block w-auto h-auto relative\", className)}\n {...props}\n >\n\n {images.map((image, index) => (\n <div \n key={image.src} \n style={{ rotate: rotate[index], zIndex: index, transform: `translateX(${moveX[index]}) translateY(${moveY[index]})`, padding: '12px 12px 50px 12px' }} \n className={`absolute rotated-image-${index} ${blackAndWhite && 'grayscale-100'} bg-white`}\n >\n <img className=\"rounded-xs w-full h-full object-cover\" src={image.src} alt={image.alt} />\n </div>\n ))}\n\n\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface ChatbotProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const Chatbot = ({ className, ...props }: ChatbotProps) => (\n <div\n data-component=\"chatbot\"\n className={clsx(\"block h-px w-full bg-gray-100\", className)}\n {...props}\n >Chatbot component</div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\nimport type { Brand } from \"../../theme\";\nimport { IconArrowRight, IconCalendar, IconFood, IconPlane } from \"../../icons\";\n\nimport { Button } from \"@components/button\";\nimport { PriceCheck } from \"@components/priceCheck\";\n\nexport interface PriceBoxHotelData {\n Price: number;\n PriceInfo: string;\n DepartureDate: string;\n Duration: number;\n DeparturePointHuman: string;\n BoardTypeHuman: string;\n}\n\nexport interface PriceBoxProps {\n \"data-testid\"?: string;\n className?: string;\n hotel: PriceBoxHotelData;\n brand: Brand;\n noBorder?: boolean;\n noHover?: boolean;\n hidePrice?: boolean;\n onClick?: (() => void) | undefined;\n}\n\nexport const PriceBox = ({\n className,\n hotel,\n brand,\n noBorder = false,\n noHover = false,\n hidePrice = false,\n onClick,\n \"data-testid\": dataTestId,\n}: PriceBoxProps) => {\n return (\n <div\n data-testid={dataTestId}\n data-component=\"price-box\"\n className={clsx(\n \"flex flex-row md:flex-col gap-4 md:gap-2 items-start bg-white cursor-pointer rounded-lg md:p-4 h-full justify-between w-full md:w-[222px] md:min-w-[222px] md:max-w-[222px] py-4\",\n noBorder ? \"border-transparent\" : \"border border-transparent md:border-[#ccc]\",\n noHover ? \"\" : \"hover:bg-primary-light-75\",\n className,\n )}\n onClick={onClick}\n >\n <span\n className={`${brand === \"dreizen\" && \"items-end justify-end w-full\"} flex order-3 md:order-1 ${hidePrice ? \"hidden md:flex\" : \"\"}`}\n >\n <PriceCheck price={hotel.Price} text={hotel.PriceInfo} />\n </span>\n <div className=\"text-sm flex flex-col gap-3 order-2\">\n <span className=\"w-full flex flex-row items-center\">\n <span className=\"w-8\">\n <IconCalendar className=\"w-6 h-6 flex\" />\n </span>\n <span>{hotel.DepartureDate.split(\",\")[0]}</span>\n <span className=\"text-gray-400 ml-2\">{hotel.Duration} dagen</span>\n </span>\n <span className=\"w-full flex flex-row items-center\">\n <span className=\"min-w-8 flex\">\n <IconPlane className=\"w-6 h-6 flex\" />\n </span>\n <span className=\"flex flex-col\">\n <span>Vanaf {hotel.DeparturePointHuman}</span>\n <span className=\"text-[10px]\">Bekijk ook andere luchthaven opties</span>\n </span>\n </span>\n <span className=\"w-full flex flex-row items-center\">\n <span className=\"w-8\">\n <IconFood className=\"w-6 h-6 flex\" />\n </span>\n {hotel.BoardTypeHuman}\n </span>\n </div>\n <div className=\"w-4/12 md:w-full order-3\"> \n <Button\n variant={brand === \"prijsvrij\" ? \"primaryGlow\" : \"secondary\"}\n className=\"whitespace-nowrap w-full md:w-auto\"\n iconRight\n icon={<IconArrowRight className=\"w-4 h-4\" />}\n >\n Bekijk vakantie\n </Button>\n </div>\n </div>\n );\n};\n","export enum ACTION_ICON_STYLE_VARIANT {\n DEFAULT = \"default\",\n TRANSPARENT = \"transparent\",\n SMALL = \"small\",\n ROUND = \"round\",\n}\n\nexport enum THEME_ICON_STYLE_VARIANT {\n PINK_WITH_BACKGROUND = \"pink-with-background\",\n}\n\nexport enum COLOR {\n PRIMARY = \"primary\",\n BLACK = \"black\",\n LIGHT_BLUE = \"light-blue\",\n LIGHT_BLUE_DISABLED = \"light-blue-disabled\",\n GREEN = \"green\",\n GREEN_LIGHT = \"green-light\",\n PINK = \"pink\",\n PINK_LIGHT = \"pink-light\",\n ORANGE = \"orange\",\n ORANGE_LIGHT = \"orange-light\",\n ACCENT_BLUE = \"accent-blue\",\n ACCENT_BLUE_LIGHT = \"accent-blue-light\",\n YELLOW = \"yellow\",\n CHECK = \"check\",\n WARNING = \"warning\",\n ERROR = \"error\",\n SUCCESS = \"success\",\n WARNING_LIGHT = \"warning-light\",\n ULTRA_LIGHT_BLUE = \"ultra-light-blue\",\n ULTRA_LIGHT_GRAY = \"ultra-light-gray\",\n TURQUOISE = \"turquoise\",\n RED = \"red\",\n GRAY = \"gray\",\n WHITE = \"white\",\n PURPLE = \"purple\",\n PURPLE_LIGHT = \"purple-light\",\n}\n\nexport enum REGION {\n NETHERLANDS = \"nl\",\n BELGIUM = \"nl-BE\",\n UNITED_KINGDOM = \"gb\",\n}\n\nexport enum TOOLTIP_COLOR {\n DEFAULT = \"default\",\n WHITE = \"white\",\n}\n","\"use client\";\nimport type { MouseEvent } from \"react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport { ACTION_ICON_STYLE_VARIANT } from \"@utils/enums\";\nimport formatIcon from \"@utils/formatIcon\";\nimport clsx from \"clsx\";\n\nexport interface ActionIconProps {\n \"data-testid\"?: string;\n title: string;\n disabled?: boolean;\n type?: \"button\" | \"submit\" | \"reset\";\n styleVariant?: \"default\" | \"transparent\" | \"small\" | \"round\";\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n icon?: React.ReactNode;\n iconSize?: number;\n strokeWidth?: number;\n className?: string;\n children?: React.ReactNode;\n\n /**\n * @deprecated Can be removed and replaced by iconSize\n */\n width?: string;\n /**\n * @deprecated Can be removed and replaced by iconSize\n */\n height?: string;\n}\n\nconst ActionIcon: React.ForwardRefExoticComponent<\n ActionIconProps & React.RefAttributes<HTMLButtonElement>\n> = forwardRef<HTMLButtonElement, ActionIconProps>(\n (\n {\n title,\n disabled = false,\n styleVariant = \"default\",\n icon,\n type = \"button\" as const,\n \"data-testid\": testId,\n iconSize = 20,\n strokeWidth = 1,\n onClick,\n className,\n ...props\n },\n ref,\n ) => {\n const variantClassNames = clsx({\n \"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\":\n styleVariant === ACTION_ICON_STYLE_VARIANT.DEFAULT,\n \"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\":\n styleVariant === ACTION_ICON_STYLE_VARIANT.TRANSPARENT,\n \"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\":\n styleVariant === ACTION_ICON_STYLE_VARIANT.ROUND,\n \"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\":\n styleVariant === ACTION_ICON_STYLE_VARIANT.SMALL,\n });\n\n return (\n <>\n <button\n title={title}\n type={type}\n disabled={disabled}\n data-testid={testId}\n data-component=\"ActionIcon\"\n className={cn(\n variantClassNames,\n {\n \"hover:bg-transparant cursor-not-allowed hover:border-gray-200\":\n disabled,\n },\n className,\n )}\n onClick={onClick}\n ref={ref}\n data-tooltip-id={title}\n data-tooltip-content={title}\n {...props}\n >\n {icon\n ? formatIcon(icon, { stroke: strokeWidth, size: iconSize })\n : props['children']}\n </button>\n </>\n );\n },\n);\n\nActionIcon.displayName = \"ActionIcon\";\n\nexport { ActionIcon };\n","\"use client\";\nimport { useEffect, useState } from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport { COLOR } from \"@utils/enums\";\n\ninterface IAlert {\n show: boolean;\n message: React.ReactNode;\n type: \"warning\" | \"error\" | \"success\";\n \"data-testid\"?: string;\n plain?: boolean;\n /**\n * @deprecated Can be removed entirely.\n */\n closable?: boolean;\n className?: string;\n}\n\nexport const Alert = ({\n show,\n message,\n type,\n plain = false,\n className,\n}: IAlert) => {\n const [showAlert, setShowAlert] = useState<boolean>();\n\n const icon = () => {\n if (plain) return null;\n\n switch (type) {\n case \"warning\":\n return (\n <svg\n className=\"text-warning hidden md:block\"\n data-testid=\"alert-circle-icon\"\n />\n );\n case \"error\":\n return (\n <svg\n className=\"hidden text-red-500 md:block\"\n data-testid=\"alert-circle-icon\"\n />\n );\n case \"success\":\n return (\n <svg\n className=\"text-green hidden md:block\"\n data-testid=\"check-circle-icon\"\n />\n );\n }\n };\n\n useEffect(() => {\n setShowAlert(show);\n }, [show]);\n\n if (!showAlert) return null;\n\n return (\n <div\n className={cn(\n `flex w-full justify-between gap-3 rounded border border-solid p-5 md:items-center md:gap-12 ${\n plain ? \"border-none py-4 text-sm font-medium\" : \"\"\n }`,\n {\n \"border-warning bg-warning-light text-warning\":\n type === COLOR.WARNING,\n \"border-red-500 bg-red-50 text-red-500\": type === COLOR.ERROR,\n \"border-green bg-green-light text-green\": type === COLOR.SUCCESS,\n },\n className,\n )}\n data-component=\"Alert\"\n data-testid=\"alert\"\n >\n <>\n <div className=\"flex md:items-center\">\n <div className=\"flex md:items-center\">{icon()}</div>\n <p className={`m-0 font-medium text-black ${plain ? \"\" : \"md:ml-5\"}`}>\n {message}\n </p>\n </div>\n </>\n </div>\n );\n};\n\nAlert.displayName = \"Alert\";\n","\"use client\";\n\n\nimport React, {\n type ChangeEvent,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n} from \"react\";\n\nimport clsx from \"clsx\";\n\nimport { IconAlert } from \"../../icons/IconAlert\";\n\nexport type TextInputProps = InputHTMLAttributes<HTMLInputElement> & {\n rightSection?: React.ReactNode;\n leftSection?: React.ReactNode;\n label?: React.ReactNode | string;\n className?: string;\n min?: string | undefined | number;\n max?: string | undefined | number;\n error?: string;\n showRightSection?: boolean;\n step?: string;\n loadingState?: boolean;\n autoFocus?: boolean;\n wrapperClassName?: string;\n maxLength?: undefined | number;\n password?: boolean;\n autoComplete?: string;\n enablePasswordManagerAutofill?: boolean;\n onBlur?: (e: FocusEvent<HTMLInputElement>) => void;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n};\n\nexport const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(\n (\n {\n rightSection,\n leftSection,\n className,\n error,\n autoFocus,\n label,\n maxLength,\n enablePasswordManagerAutofill = false,\n onBlur,\n disabled,\n loadingState,\n onKeyDown,\n min = \"0\",\n max,\n autoComplete,\n showRightSection = true,\n step,\n wrapperClassName,\n password = false,\n ...props\n },\n ref,\n ) => {\n const [showPassword, setShowPassword] = React.useState(false);\n\n return (\n <div\n data-component=\"TextInput\"\n data-testid=\"TextInput\"\n className={clsx(\"relative\", wrapperClassName)}\n >\n {typeof label === \"string\" ? (\n <label\n htmlFor={props['id']}\n className=\"mb-2 flex items-center gap-1 text-xs font-medium text-black\"\n >\n {label}\n </label>\n ) : (\n label\n )}\n\n <div className=\"relative\">\n {leftSection && (\n <div\n className={clsx(\n \"absolute top-0 left-0 flex h-10 w-12 content-center items-center justify-center align-middle text-sm font-medium text-black\",\n )}\n >\n {leftSection}\n </div>\n )}\n <input\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n autoComplete={autoComplete}\n min={min}\n max={max}\n autoFocus={autoFocus}\n disabled={disabled}\n step={step}\n maxLength={maxLength}\n className={clsx(\n `${loadingState ? \"cursor-not-allowed\" : \"\"}`,\n `${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\"} ${\n error &&\n \"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\"\n }`,\n className,\n )}\n aria-busy={loadingState || undefined}\n data-lpignore={enablePasswordManagerAutofill ? undefined : \"true\"} // lastpass\n data-1p-ignore={enablePasswordManagerAutofill ? undefined : \"true\"} // 1Password\n ref={ref}\n {...props}\n type={password ? (showPassword ? \"text\" : \"password\") : \"text\"}\n />\n {loadingState ? (\n <div 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\">\n <IconAlert\n className=\"h-4 w-4 animate-spin text-gray-500\"\n aria-label=\"Loading\"\n />\n </div>\n ) : (\n rightSection &&\n showRightSection && (\n <div 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\">\n {rightSection}\n </div>\n )\n )}\n {password && (\n <div className=\"absolute inset-y-0 right-4 flex content-center items-center justify-center align-middle text-sm font-medium text-black\">\n {showPassword ? (\n <svg\n data-testid=\"password-visibility-toggle\"\n className=\"cursor-pointer text-gray-500\"\n onClick={() => setShowPassword(false)}\n />\n ) : (\n <svg\n data-testid=\"password-visibility-toggle\"\n className=\"cursor-pointer text-gray-500\"\n onClick={() => setShowPassword(true)}\n />\n )}\n </div>\n )}\n </div>\n {error && (\n <div className=\"mt-2 text-xs font-normal text-red-500\">{error}</div>\n )}\n </div>\n );\n },\n);\n","\"use client\";\nimport { type ChangeEvent, type KeyboardEvent, type Ref } from \"react\";\n\nimport { TextInput, type TextInputProps } from \"../textInput\";\n\ninterface ISearchLocationFormProps extends TextInputProps {\n label: string;\n onChange: (e: ChangeEvent<HTMLInputElement>) => void;\n onFocus?: () => void;\n inputValue?: string;\n showSuggestions: boolean;\n handleOnKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n children: React.ReactNode;\n error?: string;\n loading?: boolean;\n rightSection?: React.ReactNode;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const AutoCompleteInput = ({\n label,\n onChange,\n onFocus,\n inputValue,\n showSuggestions,\n handleOnKeyDown,\n children,\n error,\n rightSection,\n inputRef,\n}: ISearchLocationFormProps) => (\n <div className=\"relative mb-8\">\n <TextInput\n ref={inputRef}\n label={label}\n id=\"search\"\n type=\"text\"\n name=\"searchField\"\n onChange={onChange}\n onFocus={onFocus}\n onKeyDown={handleOnKeyDown}\n value={inputValue}\n error={error}\n rightSection={rightSection}\n aria-autocomplete=\"list\"\n aria-controls=\"suggestions-googlemaps-location-list\"\n />\n {showSuggestions && inputValue && children}\n </div>\n);\n","\"use client\";\nimport { cn } from \"@utils/cn\";\n\ninterface IAvatarProps {\n \"data-testid\"?: string;\n src: string;\n alt?: string;\n size?: number;\n radius?: keyof typeof radiusFormatter;\n}\n\nconst radiusFormatter = {\n 0: \"rounded-none\",\n 2: \"rounded-sm\",\n 4: \"rounded\",\n 6: \"rounded-lg\",\n 8: \"rounded-xl\",\n 10: \"rounded-2xl\",\n 12: \"rounded-3xl\",\n 100: \"rounded-full\",\n};\n\nexport const Avatar = ({\n src,\n alt = \"\",\n size = 50,\n radius = 100,\n \"data-testid\": dataTestId = \"avatar\",\n}: IAvatarProps) => (\n <div data-component=\"Avatar\" data-testid={dataTestId}>\n {src && (\n <img\n src={src}\n className={cn(\n \"aspect-square appearance-none object-cover\",\n radiusFormatter[radius],\n )}\n alt={alt}\n width={size}\n height={size}\n data-testid=\"avatar-img\"\n />\n )}\n </div>\n);\n\nAvatar.displayName = \"Avatar\";\n","\"use client\";\nimport { cn } from \"@utils/cn\";\n\ninterface IAvatarIndicator {\n indicatorCount?: number;\n className?: string;\n}\n\nexport const AvatarIndicator = ({\n indicatorCount,\n className,\n}: IAvatarIndicator) => (\n <div\n className={cn(\n \"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\",\n className,\n )}\n data-component=\"AvatarIndicator\"\n data-testid=\"AvatarIndicator\"\n >\n <div className=\"font-['Gotham'] text-[10px] leading-[10px] font-bold text-white\">{`+${indicatorCount}`}</div>\n </div>\n);\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\nimport { COLOR } from \"@utils/enums\";\nimport clsx from \"clsx\";\ninterface IBadgeProps {\n styleVariant?:\n | \"green-light\"\n | \"red\"\n | \"accent-blue\"\n | \"warning\"\n | \"gray\"\n | \"black\"\n | \"purple\"\n | \"pink\"\n | \"pink-light\"\n | \"gray\"\n | \"white\";\n color?:\n | \"dark\"\n | \"gray\"\n | \"red\"\n | \"pink\"\n | \"grape\"\n | \"violet\"\n | \"indigo\"\n | \"blue\"\n | \"cyan\"\n | \"green\"\n | \"lime\"\n | \"yellow\"\n | \"orange\"\n | \"teal\";\n /** Controls appearance */\n variant?: \"light\" | \"filled\" | \"outline\" | \"dot\" | \"gradient\";\n /** Badge height and font size */\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n /** Key of theme.radius or any valid CSS value to set border-radius, \"xl\" by default */\n radius?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n /** Sets badge width to 100% of parent element, hides overflow text with text-overflow: ellipsis */\n fullWidth?: boolean;\n /** Section rendered on the left side of label */\n leftSection?: React.ReactNode;\n /** Section rendered on the right side of label */\n rightSection?: React.ReactNode;\n favorite?: boolean;\n /** Badge label */\n children?: React.ReactNode;\n mobile?: boolean;\n className?: string;\n badgeBorder?: boolean;\n}\n\nexport const Badge = ({\n styleVariant = COLOR.ACCENT_BLUE,\n className,\n favorite,\n mobile = false,\n badgeBorder = false,\n fullWidth = false,\n leftSection,\n rightSection,\n children,\n ...props\n}: IBadgeProps) => (\n <span\n data-testid=\"badge\"\n data-component=\"Badge\"\n className={clsx(\n \"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\",\n mobile ? \"rounded-s\" : \"rounded-[2rem]\",\n fullWidth && \"w-full\",\n badgeBorder && {\n \"border-accent-blue\": styleVariant === COLOR.ACCENT_BLUE,\n \"border-green-light\": styleVariant === COLOR.GREEN_LIGHT,\n \"border-red-500\": styleVariant === COLOR.RED,\n \"border-purple\": styleVariant === COLOR.PURPLE,\n \"border-warning\": styleVariant === COLOR.WARNING,\n \"border-black\": styleVariant === COLOR.BLACK,\n \"border-gray-800\": styleVariant === COLOR.GRAY,\n \"border-pink\":\n styleVariant === COLOR.PINK_LIGHT || styleVariant === COLOR.PINK,\n \"border-gray-200 bg-white text-black\": styleVariant === COLOR.WHITE,\n },\n {\n \"bg-accent-blue-light text-accent-blue\":\n styleVariant === COLOR.ACCENT_BLUE,\n \"bg-green-light text-green\": styleVariant === COLOR.GREEN_LIGHT,\n \"bg-red-50 text-red-500\": styleVariant === COLOR.RED,\n \"bg-purple-light text-purple\": styleVariant === COLOR.PURPLE,\n \"bg-warning-light text-warning\": styleVariant === COLOR.WARNING,\n \"bg-gray-50 text-black\": styleVariant === COLOR.BLACK,\n \"bg-gray-50 text-gray-800\": styleVariant === COLOR.GRAY,\n \"bg-pink-light text-pink\": styleVariant === COLOR.PINK_LIGHT,\n \"bg-pink text-white\": styleVariant === COLOR.PINK,\n \"bg-white text-black\": styleVariant === COLOR.WHITE,\n },\n className,\n )}\n {...props}\n >\n {leftSection && <div data-testid=\"left-section\">{leftSection}</div>}\n <span\n data-testid=\"badge-content\"\n className={cn(\n \"block h-5 overflow-hidden text-ellipsis whitespace-nowrap\",\n {\n \"flex items-center\": favorite,\n },\n )}\n >\n {children}\n </span>\n {rightSection && <div data-testid=\"right-section\">{rightSection}</div>}\n </span>\n);\n\nBadge.displayName = \"Badge\";\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\nimport { COLOR } from \"@utils/enums\";\n\ninterface IBigBadgeProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n styleVariant?: \"green\" | \"red\" | \"white\" | \"accent-blue\" | \"orange\";\n \"data-testid\"?: string;\n children: React.ReactNode;\n}\n\nexport const BigBadge = ({\n styleVariant = COLOR.GREEN,\n className,\n children,\n ...props\n}: IBigBadgeProps) => (\n <div\n data-component=\"BigBadge\"\n data-testid=\"big-badge\"\n className={cn(\n \"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\",\n {\n \"border-green text-green bg-white\": styleVariant === COLOR.GREEN,\n \"border-accent-blue text-accent-blue bg-white\":\n styleVariant === COLOR.ACCENT_BLUE,\n \"border-orange text-orange bg-white\": styleVariant === COLOR.ORANGE,\n \"group-hover:bg-green-light\": styleVariant === COLOR.GREEN,\n \"border-red-500 bg-white text-red-500\": styleVariant === COLOR.RED,\n \"group-hover:bg-red-50\": styleVariant === COLOR.RED,\n \"border-gray-200 bg-white text-black\": styleVariant === COLOR.WHITE,\n \"\": styleVariant === COLOR.WHITE,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n);\n","\"use client\";\nimport { type FC } from \"react\";\n\ninterface IBreadCrumb {\n children: React.ReactNode;\n LinkText: FC<{ classNames: string; children: React.ReactNode }>;\n}\n\nexport const BreadCrumb = ({ children, LinkText }: IBreadCrumb) => (\n <LinkText data-component=\"BreadCrumb\" classNames=\"flex items-center\">\n <>\n <svg role=\"img\" />\n <span className=\"flex items-center gap-5\">{children}</span>\n </>\n </LinkText>\n);\n\nBreadCrumb.displayName = \"BreadCrumb\";\n","\"use client\";\nimport {\n cloneElement,\n forwardRef,\n isValidElement,\n useImperativeHandle,\n useState,\n} from \"react\";\n\nimport {\n type AlignedPlacement,\n autoUpdate,\n flip,\n offset,\n shift,\n type Side,\n useClick,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport { cn } from \"@utils/cn\";\nimport clsx from \"clsx\";\n\nimport { ActionIcon } from \"../actionIcon\";\n\ntype ITooltipProps = {\n content: React.ReactNode;\n children: React.ReactNode;\n hoverEnabled?: boolean;\n passedOpen?: boolean;\n placement?: AlignedPlacement | Side;\n isMobile?: boolean;\n amountOfOffset?: number;\n className?: string;\n style?: \"minimal\" | \"card\";\n};\n\nexport type PopoverRefType = {\n closePopover: () => void;\n openPopover: () => void;\n togglePopover: () => void;\n};\n\nexport const Popover = forwardRef<PopoverRefType, ITooltipProps>(\n (\n {\n content,\n children,\n hoverEnabled = false,\n passedOpen = false,\n placement = \"right\",\n style = \"card\",\n isMobile = false,\n className,\n }: ITooltipProps,\n ref,\n ) => {\n const [isOpen, setIsOpen] = useState(passedOpen);\n\n const mobileStyles = {\n width: `${style === \"card\" && \"100%\"}`,\n };\n\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: setIsOpen,\n placement: !isMobile ? placement : \"bottom-start\",\n middleware: [\n !isMobile && flip(),\n !isMobile && shift(),\n offset(() => ({\n mainAxis: 15,\n crossAxis: !isMobile ? 0 : 78,\n })),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context, { event: \"click\", keyboardHandlers: true });\n const focus = useFocus(context);\n const hover = useHover(context, {\n enabled: hoverEnabled,\n });\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: \"tooltip\" });\n\n const interactions = [click, focus, dismiss, role, hover];\n\n const { getReferenceProps, getFloatingProps } =\n useInteractions(interactions);\n\n // Use useImperativeHandle to expose closePopover to the parent\n useImperativeHandle(ref, () => ({\n closePopover: () => setIsOpen(false),\n openPopover: () => setIsOpen(true),\n togglePopover: () => setIsOpen((prev) => !prev),\n }));\n\n return (\n <div className={cn(\"\", { \"[&>div]:border-navyBlue\": isOpen }, className)}>\n {isValidElement(children) &&\n cloneElement(\n children,\n getReferenceProps({\n ref: refs.setReference,\n ...getReferenceProps(),\n }),\n )}\n\n {isOpen && (\n <div\n ref={refs.setFloating}\n style={{ ...floatingStyles, ...(isMobile && { ...mobileStyles }) }}\n {...getFloatingProps()}\n className={clsx(\"z-60\", {\n \"w-fit rounded border border-gray-200! bg-white p-5\":\n style === \"minimal\",\n \"card w-[489px] drop-shadow-xl\": style === \"card\",\n })}\n data-testid=\"popover-container\"\n data-component=\"Popover\"\n >\n {style === \"minimal\" && content}\n {style === \"card\" && (\n <div className=\"bg-linear-gradient-x pt-[3px]\">\n <div className=\"relative overflow-hidden bg-white p-5\">\n {!hoverEnabled && (\n <ActionIcon\n onClick={() => setIsOpen(false)}\n title={\"\"}\n icon={<svg />}\n styleVariant=\"small\"\n className=\"absolute top-5 right-5\"\n />\n )}\n {content}\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n },\n);\n","\"use client\";\nimport { type ReactNode, useEffect, useRef, useState } from \"react\";\nimport { DayPicker, useDayPicker } from \"react-day-picker\";\n\nimport { cn } from \"@utils/cn\";\nimport clsx from \"clsx\";\nimport { addMonths, format, setMonth } from \"date-fns\";\nimport { enGB, fr, nl, nlBE } from \"date-fns/locale\";\n\nimport { Button } from \"../button\";\nimport { Popover, type PopoverRefType } from \"../popover\";\n\ninterface IDatePickerInputProps {\n value?: Date;\n label?: ReactNode | string;\n className?: string;\n classNames?: string;\n disabledFrom?: Date;\n disabledUntil?: Date;\n placeholder?: string;\n icon?: React.ReactNode;\n locale?: string;\n error?: string;\n onChange?: (date: Date | undefined) => void;\n lang?: string;\n todayText?: string;\n disabled?: boolean;\n minimalDropdownYears?: number;\n}\n\ninterface IDay {\n date: Date;\n}\n\nexport const DatePickerInput = ({\n lang,\n todayText,\n value,\n disabledFrom,\n disabledUntil,\n className,\n error,\n onChange,\n placeholder,\n label,\n disabled,\n minimalDropdownYears = 4,\n}: IDatePickerInputProps) => {\n const [selected, setSelected] = useState<Date | undefined>(value);\n const today = new Date();\n const [newMonth, setNewMonth] = useState(selected || today);\n const [dropdownOpened, setDropdownOpened] = useState({\n month: false,\n year: false,\n });\n const locales = { fr, enGB, nl, nlBE };\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<PopoverRefType | null>(null);\n const renderLocale = () => {\n switch (lang) {\n case \"fr-FR\":\n return locales.fr;\n case \"nl-BE\":\n return locales.nlBE;\n case \"nl-NL\":\n return locales.nl;\n case \"en-GB\":\n return locales.enGB;\n default:\n return locales.enGB;\n }\n };\n\n /* istanbul ignore next - relies on dropdown DOM not rendered in tests */\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n )\n setDropdownOpened({ month: false, year: false });\n };\n\n /* istanbul ignore next - environment differences make listener attach hard to test */\n useEffect(() => {\n if (dropdownOpened.month || dropdownOpened.year)\n document.addEventListener(\"mousedown\", handleClickOutside);\n else document.removeEventListener(\"mousedown\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [dropdownOpened]);\n\n const handleDayClick = (date: Date | undefined) => {\n /* istanbul ignore next - react-day-picker rarely calls onSelect(undefined) in our configuration */\n if (!date) return;\n handleClosePopover();\n setNewMonth(date);\n setSelected(date);\n onChange?.(date);\n };\n\n const isDateSelected = (day: IDay) => {\n /* istanbul ignore next - defensive null guard */\n if (!selected || !day) return false;\n // Create new Date objects to avoid mutating the original ones\n const d1 = new Date(day?.date);\n const d2 = new Date(selected);\n\n // Set the time components (hours, minutes, seconds, milliseconds) to zero\n d1.setHours(0, 0, 0, 0);\n d2.setHours(0, 0, 0, 0);\n\n // Compare the normalized dates\n return d1.getTime() === d2.getTime();\n };\n\n const handleClosePopover = () => {\n popoverRef.current?.closePopover();\n };\n\n const isDateToday = (day: IDay) => {\n /* istanbul ignore next - defensive null guard */\n if (!day) return false;\n const d1 = new Date(day?.date);\n const d2 = new Date(today);\n d1.setHours(0, 0, 0, 0);\n d2.setHours(0, 0, 0, 0);\n return d1.getTime() === d2.getTime();\n };\n\n return (\n <Popover\n style=\"minimal\"\n className=\"w-full\"\n ref={popoverRef}\n content={\n <div>\n <DayPicker\n {...(className && { className })}\n mode=\"single\"\n selected={selected}\n onSelect={handleDayClick}\n locale={renderLocale()}\n fixedWeeks\n endMonth={addMonths(today, 13)}\n captionLayout=\"dropdown\"\n onMonthChange={(newMonth) => setNewMonth(newMonth)}\n showOutsideDays\n // If a disabledFrom is provided, disable all dates before it, if a toDate is provided, disable all dates after it\n disabled={\n disabledFrom\n ? { before: disabledFrom }\n : disabledUntil\n ? { after: disabledUntil }\n : undefined\n }\n classNames={{\n month_grid: \"mt-3 max-w-[400px] border-t border-gray-100\",\n month_caption: \"text-sm font-bold\",\n dropdowns:\n \"flex items-center w-[190px] gap-1 left-0 justify-center h-8\",\n caption_label:\n \"text-sm font-medium flex items-center justify-center w-[190px]\",\n chevron: \"w-4 h-4 z-50\",\n nav: \"absolute w-[190px] justify-between flex h-8 items-center\",\n nav_button:\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 cursor-pointer\",\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n day: \"h-8 w-8 p-0 aria-selected:opacity-100 font-normal text-sm\",\n weekdays: \"pt-12\",\n weekday: \"text-gray-300 text-sm font-normal pt-4 pb-2\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-gray-800 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30\",\n day_disabled: \"text-gray-800\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n }}\n components={{\n DayButton: (props) => {\n const { day, ...buttonProps } = props;\n const { goToMonth } = useDayPicker();\n return (\n <button\n type=\"button\"\n {...buttonProps}\n className={clsx(\n \"m-1 size-8 text-black transition-all duration-100 ease-in-out\",\n \"md:hover:bg-gradient-calendar hover:rounded md:hover:text-white\",\n isDateSelected(day) &&\n \"bg-gradient-calendar rounded text-sm font-normal text-white\",\n isDateToday(day) &&\n \"border-b-primary border border-transparent\",\n \"translate-y-0 active:translate-y-0.5\",\n )}\n onClick={() => {\n goToMonth(day.date);\n handleDayClick(day.date);\n }}\n />\n );\n },\n Dropdown: (props) => {\n const { goToMonth, months } = useDayPicker();\n const { className: dropdownClassName } = props as {\n className?: string;\n };\n\n const today = new Date();\n\n /* istanbul ignore next - react-day-picker may not pass this className in our test env */\n if (dropdownClassName === \"rdp-months_dropdown\") {\n const selectedYear = newMonth.getFullYear();\n\n const selectItems = Array.from({ length: 12 }, (_, i) => {\n const monthDate = setMonth(new Date(selectedYear, i), i);\n\n return {\n value: i.toString(),\n label: format(monthDate, \"MMMM\", {\n locale: renderLocale(),\n }),\n };\n });\n\n return (\n <>\n <div className=\"relative\">\n <span\n className=\"cursor-pointer\"\n onClick={() =>\n setDropdownOpened({\n ...dropdownOpened,\n month: !dropdownOpened.month,\n year: false,\n })\n }\n >\n {format(newMonth, \"MMMM\", { locale: renderLocale() })}\n </span>\n {dropdownOpened.month && (\n <div\n ref={dropdownRef}\n className={\n \"shadow-dropdown absolute z-70 rounded-md border border-gray-50 bg-white\"\n }\n >\n {selectItems.map((item) => (\n <div\n key={item.value}\n onClick={() => {\n const newDate = new Date(\n selectedYear,\n parseInt(item.value),\n );\n goToMonth(newDate);\n setDropdownOpened({\n month: false,\n year: false,\n });\n }}\n 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\"\n >\n {item.label}\n </div>\n ))}\n </div>\n )}\n </div>\n <Button\n variant=\"secondary\"\n type=\"button\"\n className=\"absolute top-4 right-4 z-10 h-8 px-3 text-xs font-normal\"\n onClick={() => {\n goToMonth(today);\n handleDayClick(today);\n }}\n >\n {todayText}\n </Button>\n </>\n );\n /* istanbul ignore next - react-day-picker may not pass this className in our test env */\n } else if (dropdownClassName === \"rdp-years_dropdown\") {\n const earliestYear =\n new Date().getFullYear() - minimalDropdownYears;\n const latestYear = new Date().getFullYear() + 1;\n /* istanbul ignore else - defensive guard will always be truthy */\n if (earliestYear && latestYear) {\n const years = Array.from(\n { length: latestYear - earliestYear + 1 },\n (_, i) => earliestYear + i,\n ).reverse();\n return (\n <div className=\"relative\">\n <span\n className=\"cursor-pointer\"\n onClick={() =>\n setDropdownOpened({\n ...dropdownOpened,\n year: !dropdownOpened.year,\n month: false,\n })\n }\n >\n {format(newMonth, \"yyyy\", { locale: renderLocale() })}\n </span>\n {dropdownOpened.year && (\n <div\n ref={dropdownRef}\n className=\"shadow-dropdown absolute z-70 rounded-md border border-gray-50 bg-white max-h-64 overflow-y-auto\"\n >\n {years.map((year) => (\n <div\n key={year}\n onClick={() => {\n const newDate =\n months?.[0]?.date || new Date();\n newDate.setFullYear(year);\n goToMonth(newDate);\n setDropdownOpened({\n month: false,\n year: false,\n });\n }}\n className={\n \"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\"\n }\n >\n {year}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }\n }\n /* istanbul ignore next - fallback path only when react-day-picker passes unknown className */\n return <></>;\n },\n }}\n />\n </div>\n }\n placement=\"bottom-start\"\n >\n <div\n data-component=\"datePickerInput\"\n className={cn(\"relative\", className)}\n >\n {/* istanbul ignore next - trivial render guard */}\n {label && (\n <label className=\"mb-2 flex items-center gap-1 text-xs font-medium\">\n {label}\n </label>\n )}\n <Button\n variant=\"outline\"\n type=\"button\"\n disabled={disabled}\n className={cn(\n \"flex h-10 w-full items-center justify-start bg-gray-50 px-3 text-black\",\n /* istanbul ignore next - cosmetic class toggle */ {\n \"border-red-500 text-red-500\": error,\n },\n )}\n onClick={() => setNewMonth(today)}\n >\n <svg />\n <span className=\"text-sm font-normal text-nowrap text-black\">\n {selected ? selected.toLocaleDateString() : placeholder}\n </span>\n {/* istanbul ignore next - close icon rendering is covered functionally elsewhere */}\n {selected !== undefined && (\n <div>\n <span\n className=\"cursor-pointer text-sm font-normal text-gray-800\"\n onClick={() => {\n setSelected(undefined);\n onChange?.(undefined);\n }}\n >\n <svg />\n </span>\n </div>\n )}\n </Button>\n {/* istanbul ignore next - trivial render guard */}\n {error && (\n <small className=\"text-xs font-normal text-red-500\">{error}</small>\n )}\n </div>\n </Popover>\n );\n};\n","\"use client\";\nimport {\n type ButtonHTMLAttributes,\n forwardRef,\n type JSX,\n type Ref,\n} from \"react\";\n\nimport { ActionIcon } from \"../actionIcon\";\n\ninterface IFavouriteButtonProps extends Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n \"type\" | \"size\"\n> {\n onClick: () => void;\n favourite: boolean;\n iconOutline?: React.ReactNode;\n iconFilled?: React.ReactNode;\n iconSize?: number;\n className?: string;\n favouriteTitle?: string;\n \"data-testid\"?: string;\n iconColor?: string;\n iconColorSelected?: string;\n styleVariant?: \"transparent\" | \"small\" | \"default\" | \"round\" | undefined;\n children?: React.ReactNode;\n}\n\nexport const FavouriteButton = forwardRef<\n HTMLButtonElement,\n IFavouriteButtonProps\n>((props, ref) => {\n const {\n onClick,\n favourite,\n iconFilled,\n iconOutline,\n favouriteTitle,\n iconColorSelected = \"text-pink\",\n iconColor = \"text-gray-800\",\n iconSize,\n className = \"\",\n styleVariant = \"transparent\",\n children,\n ...rest\n } = props;\n\n return (\n <ActionIcon\n onClick={onClick}\n data-component=\"favouriteButton\"\n title={favouriteTitle || \"Favorite\"}\n styleVariant={styleVariant}\n className={`${favourite ? iconColorSelected : iconColor} ${className}`.trim()}\n iconSize={iconSize}\n ref={ref}\n icon={favourite ? (iconFilled ?? <svg />) : (iconOutline ?? <svg />)}\n {...rest}\n >\n {children}\n </ActionIcon>\n );\n}) as (\n props: IFavouriteButtonProps & { ref?: Ref<HTMLButtonElement> },\n) => JSX.Element;\n","\"use client\";\nimport { type ButtonHTMLAttributes, forwardRef } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface IUnstyledButton extends Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n \"className\"\n> {\n className?: string;\n}\n\nexport const UnstyledButton = forwardRef<HTMLButtonElement, IUnstyledButton>(\n ({ className, ...props }, ref) => (\n <button\n type=\"button\"\n data-component=\"unstyledButton\"\n className={cn(\"appearance-none\", className)}\n ref={ref}\n {...props}\n />\n ),\n);\n\nUnstyledButton.displayName = \"UnstyledButton\";\n","\"use client\";\n\nimport { Button } from \"../button\";\nimport { UnstyledButton } from \"../unstyledButton\";\n\ninterface IFilterButtonProps {\n onClick: () => void;\n hasFilters: boolean;\n reset: () => void;\n filtersText: string;\n resetText: string;\n}\n\nexport const FilterButton = ({\n onClick,\n hasFilters,\n reset,\n filtersText,\n resetText,\n}: IFilterButtonProps) => (\n <div className=\"flex gap-3\" data-testid=\"filterButton\">\n <Button\n onClick={onClick}\n variant=\"secondary\"\n className=\"font-normal md:font-normal\"\n icon={<svg />}\n >\n {filtersText}\n </Button>\n <UnstyledButton\n className=\"text-sm font-normal disabled:text-gray-500\"\n onClick={reset}\n disabled={!hasFilters}\n >\n {resetText}\n </UnstyledButton>\n </div>\n);\n","\"use client\";\nimport { cn } from \"@utils/cn\";\n\ninterface IFilterItemProps {\n title: string;\n isActive?: boolean;\n onClick?: () => void;\n}\n\nexport const FilterItem = ({\n title,\n isActive = false,\n onClick,\n}: IFilterItemProps) => (\n <label\n className={cn(\n \"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\",\n )}\n >\n <input\n type=\"checkbox\"\n className=\"hidden\"\n onChange={onClick}\n checked={isActive}\n />\n {title}\n </label>\n);\n","\"use client\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\nimport { FilterButton } from \"./FilterButton\";\nimport { FilterItem } from \"./FilterItem\";\n\ninterface IFilterProps {\n filters: string[];\n selectedFilters: string[];\n selectedFiltersText: string;\n setFilters: (filter: string[]) => void;\n callBack?: () => void;\n filtersText: string;\n resetText: string;\n}\n\nexport const Filters = ({\n filters,\n setFilters,\n selectedFilters,\n selectedFiltersText,\n filtersText,\n resetText,\n}: IFilterProps) => {\n const content = useRef<HTMLDivElement>(null);\n\n const [showFilters, setShowFilters] = useState(false);\n\n const onFilter = (filter: string) => {\n if (selectedFilters.includes(filter))\n setFilters(selectedFilters.filter((f) => f !== filter));\n else setFilters([...selectedFilters, filter]);\n };\n\n useEffect(() => {\n setShowFilters(selectedFilters.length > 0);\n }, [selectedFilters]);\n\n const onReset = () => {\n setFilters([]);\n };\n\n return (\n <div className=\"grid justify-end gap-3\" data-testid=\"filters-component\">\n <div className=\"flex items-center justify-end gap-3\">\n <span className=\"text-sm font-medium\" data-testid=\"filters-title\">\n {selectedFiltersText}\n </span>\n <FilterButton\n onClick={() => setShowFilters(!showFilters)}\n hasFilters={selectedFilters.length > 0}\n reset={() => onReset()}\n filtersText={filtersText}\n resetText={resetText}\n />\n </div>\n <div\n ref={content}\n data-testid=\"filters-items-container\"\n data-visible={showFilters}\n className={cn(\n \"flex flex-wrap justify-end gap-2 overflow-hidden opacity-0 ease-in-out [transition:max-height_0.4s,opacity_0.3s]\",\n showFilters && \"opacity-100\",\n )}\n style={{\n maxHeight: showFilters\n ? `${content?.current?.scrollHeight}px`\n : \"0px\",\n }}\n >\n {filters.map((filter) => (\n <FilterItem\n key={filter}\n title={filter}\n isActive={selectedFilters.includes(filter)}\n onClick={() => onFilter(filter)}\n />\n ))}\n </div>\n </div>\n );\n};\n","\"use client\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\nimport { UnstyledButton } from \"../unstyledButton\";\n\ninterface IHamburgerMenuButtonProps {\n setMenuState: () => void;\n menuState: boolean;\n}\n\nexport const HamburgerMenuButton = forwardRef<\n HTMLButtonElement,\n IHamburgerMenuButtonProps\n>(({ menuState, setMenuState }: IHamburgerMenuButtonProps, ref) => {\n const defaultClasses = cn(\"absolute h-[2px] bg-white duration-150\");\n\n return (\n <UnstyledButton\n onClick={setMenuState}\n className=\"relative h-4 w-6\"\n name=\"hamburgerMenuButton\"\n data-component=\"hamburgerMenuButton\"\n aria-label=\"Mobile Menu button\"\n ref={ref}\n >\n <span\n data-testid=\"hamburger-line-top\"\n className={cn(defaultClasses, \"top-0 left-0 w-6\", {\n \"translation top-1/2 translate-y-[-50%] rotate-45 transform duration-150 ease-in\":\n menuState,\n })}\n />\n <span\n data-testid=\"hamburger-line-middle\"\n className={cn(\n defaultClasses,\n \"top-1/2 right-0 w-4 translate-y-[-50%]\",\n {\n \"translation opacity-0 ease-in\": menuState,\n },\n )}\n />\n <span\n data-testid=\"hamburger-line-bottom\"\n className={cn(defaultClasses, \"bottom-0 left-0 w-6\", {\n \"translation top-1/2 translate-y-[-50%] -rotate-45 transform duration-150 ease-in\":\n menuState,\n })}\n />\n </UnstyledButton>\n );\n});\n\nHamburgerMenuButton.displayName = \"HamburgerMenuButton\";\n","\"use client\";\ninterface HRProps {\n className?: string;\n}\n\nexport const HR = ({ className }: HRProps) => (\n <hr\n data-component=\"hr\"\n className={`h-px w-full border-none bg-gray-200 ${className}`}\n />\n);\n\nHR.displayName = \"HR\";\n","\"use client\";\nimport * as React from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface IIsland extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n noShadow?: boolean;\n className?: string;\n noPadding?: boolean;\n}\n\nexport const Island = ({\n children,\n className,\n noShadow = false,\n noPadding = false,\n ...props\n}: IIsland) => (\n <div\n data-testid=\"island\"\n data-component=\"island\"\n className={cn(\n \"relative bg-white px-5 py-5 md:px-10 md:py-9\",\n {\n \"shadow-[0_-0.5rem_2rem_rgba(38,41,92,0.04)]\": !noShadow,\n \"drop-shadow-none\": noShadow,\n \"md:px-0 md:py-0\": noPadding,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n);\n\nIsland.displayName = \"Island\";\n","\"use client\";\n\nimport {\n type JSX,\n type KeyboardEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\n// import { useTranslations } from 'next-intl';\nimport { cn } from \"@utils/cn\";\n\nimport { ActionIcon } from \"../actionIcon\";\ninterface IModal {\n children: React.ReactNode;\n title?: string;\n withCloseButton?: boolean;\n opened: boolean;\n onClose: () => void;\n additionalClassNames?: string;\n gradient?: boolean;\n dataTestId?: string;\n size?: string | number;\n uncloseAble?: boolean;\n closeModalWithConfirmation?: boolean;\n confirmText?: string;\n}\n\nexport const Modal = ({\n title,\n children,\n withCloseButton = true,\n opened,\n additionalClassNames,\n closeModalWithConfirmation = false,\n gradient = true,\n uncloseAble = false,\n confirmText = \"Are you sure you want to close this modal?\",\n dataTestId,\n onClose,\n size,\n}: IModal) => {\n // const t = useTranslations();\n const ref = useRef<HTMLDivElement | null>(null);\n const refContainer = useRef<HTMLDivElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n setIsOpen(opened);\n }, [opened]);\n\n const handleClose = useCallback(() => {\n if (uncloseAble) return;\n if (closeModalWithConfirmation) {\n if (window.confirm(confirmText)) {\n setIsOpen(false);\n onClose();\n }\n } else {\n setIsOpen(false);\n onClose();\n }\n }, [closeModalWithConfirmation, onClose, uncloseAble]);\n\n const handleClickOutside = useCallback(\n (event: MouseEvent) => {\n if (\n refContainer.current &&\n refContainer.current.contains(event.target as HTMLElement)\n )\n {if (ref.current && !ref.current.contains(event.target as HTMLElement))\n handleClose();}\n },\n [handleClose],\n );\n\n const handleEscapeKey = useCallback(\n (event: KeyboardEvent) => {\n if (event.code === \"Escape\") handleClose();\n },\n [handleClose],\n );\n\n useEffect(() => {\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n window.addEventListener(\n \"keydown\",\n handleEscapeKey as unknown as EventListener,\n );\n }\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n window.removeEventListener(\n \"keydown\",\n handleEscapeKey as unknown as EventListener,\n );\n };\n }, [\n handleClickOutside,\n handleClose,\n handleEscapeKey,\n isOpen,\n onClose,\n opened,\n ref,\n ]);\n\n if (!isOpen) return null;\n\n return createPortal(\n <div\n className={cn(\n \"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\",\n )}\n data-testid={dataTestId}\n data-component=\"modal\"\n ref={refContainer}\n >\n <div\n className=\"bg-navy-blue/40 fixed top-0 left-0 z-[-1] size-full\"\n data-testid=\"modalBg\"\n />\n <div className={\"relative flex w-full justify-center\"}>\n <section\n className={cn(\n \"relative h-full w-full max-w-[1000px] bg-white px-5 py-8 shadow-xl md:px-10 md:py-10\",\n additionalClassNames,\n size,\n )}\n ref={ref}\n role=\"dialog\"\n tabIndex={-1}\n aria-modal={isOpen}\n aria-label={title}\n >\n <div className=\"relative z-10 w-full\">\n {withCloseButton && (\n <ActionIcon\n onClick={handleClose}\n // aria-label={t('globals.closeModal')}\n aria-label={\"close modal\"}\n className=\"absolute top-0 right-0\"\n data-testid=\"close-modal\"\n icon={<svg />}\n title={\"close Modal\"}\n // title={t('globals.closeModal')}\n />\n )}\n </div>\n {title && (\n <div className=\"relative w-full pt-14\">\n <h2 className=\"mt-0 mb-8 text-left text-3xl font-bold\">\n {title}\n </h2>\n </div>\n )}\n <div>{children}</div>\n {gradient && (\n <hr\n data-testid=\"modal-gradient\"\n className=\"absolute bottom-0 left-0 mt-8 mb-0 h-2! w-full border-none\"\n style={{\n backgroundImage:\n \"linear-gradient(90deg, var(--color-light-blue) 0%, var(--color-primary) 50.52%, var(--color-pink) 100%)\",\n }}\n />\n )}\n </section>\n </div>\n </div>,\n document.body,\n // Below is needed for test.tsx and for stories.tsx\n ) as unknown as JSX.Element;\n};\n\nModal.displayName = \"Modal\";\n","\"use client\";\nimport { type ChangeEvent } from \"react\";\n\ninterface NumberFieldProps {\n name: string;\n value: number | undefined;\n id: string;\n className?: string;\n label?: string;\n error?: string;\n max?: number;\n min?: number;\n isDisabled?: boolean;\n onChange?: (value: number) => void;\n}\n\nexport const NumberField = ({\n name,\n value = 0,\n max,\n min = 0,\n isDisabled,\n id,\n className = \"\",\n label,\n error,\n onChange,\n}: NumberFieldProps) => {\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n const newValue = parseInt(e.target.value, 10);\n onChange?.(newValue);\n };\n\n const handleIncrement = () => {\n onChange?.(value + 1);\n };\n\n const handleDecrement = () => {\n if (value > 0) onChange?.(value - 1);\n };\n\n return (\n <div\n data-testid=\"number-field-container\"\n className={`inline-flex flex-col ${className}`}\n >\n {label && (\n <label htmlFor={id} className=\"mb-1 text-sm font-medium text-gray-700\">\n {label}\n </label>\n )}\n <div\n 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\"}`}\n >\n <button\n type=\"button\"\n onClick={handleDecrement}\n disabled={isDisabled}\n 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\"\n >\n -\n </button>\n <input\n type=\"number\"\n id={id}\n name={name}\n min={min}\n max={max}\n disabled={isDisabled}\n value={value}\n onChange={handleChange}\n className={`peer m-auto mx-8 block w-[42px] [appearance:textfield] items-center border-x border-gray-300 py-2 text-center focus:border-x-gray-300 focus:ring-0 focus:ring-red-500 focus:outline-hidden [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none ${\n error ? \"border-red-300\" : \"border-gray-300\"\n }`}\n />\n <button\n type=\"button\"\n onClick={handleIncrement}\n disabled={isDisabled}\n className=\"absolute right-0 flex h-full w-8 items-center justify-center rounded-r-md bg-gray-50 text-gray-500 hover:bg-gray-100\"\n >\n +\n </button>\n </div>\n {error && (\n <p className=\"mt-1 text-sm font-normal text-red-600\">{error}</p>\n )}\n </div>\n );\n};\n","\"use client\";\n\nimport React from \"react\";\nimport { TextInput, type TextInputProps } from \"../textInput\";\n\nexport const PasswordInput = React.forwardRef<HTMLInputElement, TextInputProps>(\n (props, ref) => (\n <TextInput\n password={true}\n enablePasswordManagerAutofill={true}\n type=\"password\"\n {...props}\n ref={ref}\n />\n ),\n);\n\nPasswordInput.displayName = \"PasswordInput\";\n","\"use client\";\n\nimport { useEffect, useState } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ProgressProps {\n value: number;\n maxValue?: number;\n className?: string;\n}\n\nexport const ProgressBar = ({\n value,\n maxValue = 100,\n className,\n}: ProgressProps) => {\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n // Handle edge cases: negative values, zero maxValue, value > maxValue\n if (value <= 0) setWidth(0);\n else if (maxValue <= 0) setWidth(0);\n else if (value >= maxValue) setWidth(100);\n else setWidth((value / maxValue) * 100);\n }, [value, maxValue]);\n\n return (\n <div\n className={cn(\"h-2 rounded-lg bg-gray-100\", className)}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={maxValue}\n >\n <div\n data-testid=\"progress-bar-fill\"\n className=\"h-2 rounded-lg bg-[#27295c] transition-all duration-1000 ease-in-out\"\n style={{ width: `${width}%` }}\n ></div>\n </div>\n );\n};\n","\"use client\";\n\n\nimport clsx from \"clsx\";\n\nexport interface IRadioButton extends React.InputHTMLAttributes<HTMLInputElement> {\n id?: string;\n name?: string;\n value: string;\n label: string;\n className?: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n checked?: boolean;\n dataTestId?: string;\n containerClassName?: string;\n labelClassName?: string;\n inputClassName?: string;\n disabled?: boolean;\n}\n\nexport const RadioButton = ({\n id,\n name,\n value,\n label,\n onChange,\n checked,\n dataTestId,\n className,\n containerClassName,\n labelClassName,\n ...props\n}: IRadioButton) => (\n <div\n data-testid=\"radio-button-container\"\n className={`${containerClassName || \"radio-button-container\"} relative flex items-start`}\n >\n <div className=\"relative\">\n <input\n type=\"radio\"\n id={id}\n name={name}\n value={value}\n onChange={props.disabled ? undefined : onChange}\n checked={checked}\n data-testid={dataTestId}\n className={`${clsx(\n className,\n \"ease checked:border-navyBlue checked:bg-navy-blue relative m-0 flex size-5 cursor-pointer appearance-none items-center justify-center rounded-full border border-gray-400 bg-white transition-colors duration-100 focus:ring-0 focus:outline-hidden focus-visible:ring-0\",\n {\n \"cursor-not-allowed opacity-50\": props.disabled,\n },\n )}`}\n {...props}\n />\n {checked && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 5 5\"\n className=\"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 scale-100 text-white\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"M0 2.5a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0z\"\n ></path>\n </svg>\n )}\n </div>\n <label\n htmlFor={id}\n className={` ${clsx(\n labelClassName,\n \"mb-0 cursor-pointer pl-3 text-sm font-normal\",\n {\n \"text-gray-400\": props.disabled,\n },\n )}`}\n >\n {label}\n </label>\n </div>\n);\n\nRadioButton.displayName = \"RadioButton\";\n","\"use client\";\n\n// check old component what to do with the regions (i made this way dumber)\n\ninterface IRegionSelector {\n title: string;\n regions: React.ReactNode[];\n \"data-testid\"?: string;\n}\n\nexport const RegionSelector = ({\n title,\n regions,\n ...props\n}: IRegionSelector) => {\n if (regions?.length === 0) return null;\n\n return (\n <div\n data-component=\"regionSelector\"\n className=\"flex w-full flex-col items-center justify-center gap-11 break-words lg:gap-14\"\n {...props}\n >\n <h1 className=\"w-full text-2xl leading-10 font-bold md:text-3xl\">\n {title}\n </h1>\n <ul\n className=\"mx-auto flex w-full max-w-[415px] list-none flex-col items-start justify-start gap-3.5 pl-0 hover:cursor-pointer\"\n data-testid=\"region-select\"\n >\n {regions}\n </ul>\n </div>\n );\n};\n\nRegionSelector.displayName = \"RegionSelector\";\n","\"use client\";\nimport { ProgressBar } from \"../progressBar\";\nimport { Rating } from \"../rating\";\n\nconst ReviewsLine = ({\n maxValue,\n amount,\n countStarsText,\n}: {\n maxValue: number;\n amount: number;\n countStarsText: string;\n}) => (\n <div className=\"flex w-full flex-row place-content-center gap-5 align-middle\">\n <span className=\"min-w-20 tabular-nums\">{countStarsText}</span>\n <span className=\"flex w-full flex-1 items-center\">\n <ProgressBar value={amount} maxValue={maxValue} className=\"w-full\" />\n </span>\n <span className=\"w-10 text-right text-gray-800 tabular-nums\">{amount}</span>\n </div>\n);\n\ninterface AggregatedRating {\n score: number;\n amount: number;\n}\n\ninterface IReviewsProps {\n totalRatings: number;\n averageRating: number;\n ratings: { value: number; label: string }[];\n aggregatedRating: AggregatedRating[];\n countStarsText: string[];\n numberOfReviewsText: string;\n}\n\nfunction formatRating(rating: number): string | number {\n return rating === 0 ? 0 : rating.toFixed(1);\n}\n\nexport const Reviews = ({\n totalRatings,\n averageRating,\n aggregatedRating,\n countStarsText,\n numberOfReviewsText,\n}: IReviewsProps) => (\n <div className=\"bg-ultra-light-gray flex w-full flex-col p-6 md:flex-row\">\n <div className=\"mb-5 flex flex-1 flex-row items-start justify-start gap-5 md:mb-0 md:flex-col md:justify-center md:gap-0\">\n <div className=\"mb-4 text-[50px] leading-[50px] font-bold\">\n {formatRating(averageRating ?? 0)}\n </div>\n <div className=\"flex flex-col\">\n <Rating\n rating={averageRating}\n className=\"mb-4\"\n />\n <div className=\"text-gray-800\">({numberOfReviewsText})</div>\n </div>\n </div>\n <div className=\"flex flex-1 flex-col items-center gap-2\">\n {aggregatedRating.map((rating, i) => {\n const arrayIndex = aggregatedRating.length - i;\n return (\n <ReviewsLine\n amount={rating.amount}\n maxValue={totalRatings}\n key={i}\n countStarsText={countStarsText[arrayIndex - 1] || ''}\n />\n );\n })}\n </div>\n </div>\n);\n","\"use client\";\nimport { useEffect, useState } from \"react\";\n\nexport const ScrollToTop = ({\n scrollToTopTitle,\n}: {\n scrollToTopTitle: string;\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n const showScrollToTopButtonPosition = 20;\n const scrollDuration = 250;\n\n useEffect(() => {\n const handleScroll = () => {\n if (window.scrollY > showScrollToTopButtonPosition) setIsVisible(true);\n else setIsVisible(false);\n };\n window.addEventListener(\"scroll\", handleScroll);\n return () => {\n window.removeEventListener(\"scroll\", handleScroll);\n };\n }, []);\n\n const scrollToTop = () => {\n const scrollStep = -window.scrollY / (scrollDuration / 15);\n const scrollInterval = setInterval(() => {\n if (window.scrollY !== 0) window.scrollBy(0, scrollStep);\n else clearInterval(scrollInterval);\n }, 15);\n };\n\n return (\n <>\n <button\n title={scrollToTopTitle}\n type=\"button\"\n disabled={false}\n data-testid=\"scrollToTop\"\n data-component=\"ActionIcon\"\n className={`active:translate-y-[1px] content-center rounded-[4px] border-gray-200 hover:border-black child:p-10 disabled:text-gray-500 bg-turquoise-700 hover:bg-turquoise-600 fixed -right-[10px] bottom-[105px] z-40 flex h-[43px] w-[62px] cursor-pointer items-center justify-center rounded-l-3xl border-0 px-2 text-black duration-500 ${\n isVisible ? \"translate-x-0\" : \"translate-x-[60px]\"\n }`}\n onClick={scrollToTop}\n data-tooltip-id={scrollToTopTitle}\n data-tooltip-content={scrollToTopTitle}\n >\n <svg />\n </button>\n </>\n );\n};\n","\"use client\";\n\nimport { type ChangeEvent } from \"react\";\n\nimport { TextInput, type TextInputProps } from \"../textInput\";\n\ninterface SearchInputProps extends TextInputProps {\n placeholder: string;\n value?: string;\n className?: string;\n disabled?: boolean;\n rightSection?: React.ReactNode;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const SearchInput = ({\n placeholder,\n value,\n onChange,\n className,\n rightSection,\n ...props\n}: SearchInputProps) => (\n <TextInput\n placeholder={placeholder}\n className={className || \"w-full lg:w-auto lg:min-w-[23.75rem]\"}\n rightSection={rightSection || <></>}\n value={value}\n onChange={onChange}\n {...props}\n />\n);\n","\"use client\";\n\nimport * as React from \"react\";\nimport { forwardRef, type ReactElement } from \"react\";\nimport ReactSelect, {\n type ActionMeta,\n components,\n type ControlProps,\n type CSSObjectWithLabel,\n type DropdownIndicatorProps,\n type GroupBase,\n type GroupHeadingProps,\n type NoticeProps,\n type Props,\n type PropsValue,\n type SingleValue,\n type SingleValueProps,\n type StylesConfig,\n type ThemeConfig,\n} from \"react-select\";\n\n// import { useTranslations } from 'next-intl';\nimport { cn } from \"@utils/cn\";\nimport clsx from \"clsx\";\n\nimport { Label } from \"../label\";\n\n// Define language flags outside the component\nconst LANGUAGE_FLAGS = [\n { value: \"nl-NL\", altValue: \"nl_NL\", label: \"nl\" }, // NL flag\n { value: \"nl-BE\", altValue: \"nl_BE\", label: \"be\" }, // BE flag\n { value: \"en-GB\", altValue: \"en_GB\", label: \"gb\" }, // GB flag\n { value: \"fr-FR\", altValue: \"fr_FR\", label: \"fr\" }, // FR flag\n];\n\n// TODO: language external\n\ninterface CustomSelectProps<T> extends Props<T, false, GroupBase<T>> {\n small?: boolean;\n error?: string;\n icon?: ReactElement;\n showLangFlags?: boolean;\n hideErrorText?: boolean;\n fullWidth?: boolean;\n isClearable?: boolean;\n width?: string;\n options: readonly (T | GroupBase<T>)[];\n defaultValue?: PropsValue<T> | undefined;\n value?: PropsValue<T>;\n onChange?:\n | ((newValue: SingleValue<T>, actionMeta: ActionMeta<T>) => void)\n | undefined;\n isDisabled?: boolean;\n}\n\ninterface ISelectNewProps<T> extends CustomSelectProps<T> {\n placeholder: string;\n label?: string | ReactElement;\n className?: string;\n id: string;\n labelClassNames?: string;\n}\n\nconst selectStyles: StylesConfig<unknown, false, GroupBase<unknown>> = {\n singleValue: (provided) => ({\n ...provided,\n fontSize: \"14px\",\n }),\n placeholder: (provided) => ({\n ...provided,\n color: \"#838383\",\n fontSize: \"14px\",\n textWrap: \"nowrap\",\n }),\n dropdownIndicator: (provided) => ({\n ...provided,\n color: \"black\",\n }),\n option: (base, { isFocused, isSelected }) => ({\n ...base,\n color: \"black\",\n marginLeft: \"4px\",\n marginRight: \"4px\",\n backgroundColor: isSelected\n ? \"#f8f8f8\"\n : isFocused\n ? \"#f8f8f8\"\n : \"transparent\",\n width: \"calc(100% - 8px)\",\n cursor: \"pointer\",\n }),\n menuList: (provided) => ({\n ...provided,\n fontSize: \"14px\",\n }),\n};\n\nconst selectTheme: ThemeConfig = (theme) => ({\n ...theme,\n borderRadius: 4,\n colors: {\n ...theme.colors,\n primary25: \"#f8f8f8\",\n primary: \"#f8f8f8\",\n },\n});\n\nexport const Select = forwardRef<HTMLDivElement, ISelectNewProps<unknown>>(\n (\n {\n options,\n placeholder,\n defaultValue,\n label,\n id,\n icon,\n error,\n className,\n labelClassNames,\n showLangFlags = false,\n hideErrorText = false,\n isClearable = true,\n fullWidth = true,\n width,\n isDisabled,\n ...props\n },\n ref,\n ) => {\n // const t = useTranslations();\n const DropdownIndicator = (\n props: DropdownIndicatorProps<unknown, false, GroupBase<unknown>>,\n ) => (\n <components.DropdownIndicator {...props}>\n {props.hasValue && isClearable ? (\n <svg\n data-testid=\"icon-x\"\n className=\"cursor-pointer\"\n color=\"black\"\n onClick={() => props.clearValue()}\n />\n ) : (\n <svg color=\"black\" />\n )}\n </components.DropdownIndicator>\n );\n\n const GroupHeading: React.FC<\n GroupHeadingProps<unknown, false, GroupBase<unknown>>\n > = ({ children }) => (\n <div className=\"flex items-stretch px-4 py-2 font-normal text-[#838383] capitalize\">\n <span className=\"flex-nowrap whitespace-nowrap\">{children}</span>\n <span className=\"ml-2 flex w-full flex-1 items-center justify-center\">\n <span className=\"h-px w-full bg-[#838383]\" />\n </span>\n </div>\n );\n\n const LanguageControl: React.FC<\n ControlProps<unknown, false, GroupBase<unknown>>\n > = (props) => {\n const getSelectedFlag = () => {\n const selectValue = props.selectProps.value;\n const findFlag = (value: string) =>\n LANGUAGE_FLAGS.find((e) => e.value === value || e.altValue === value)\n ?.label || \"\";\n\n if (typeof selectValue === \"string\") return findFlag(selectValue);\n if (\n typeof selectValue === \"object\" &&\n selectValue !== null &&\n \"value\" in selectValue\n )\n return findFlag(selectValue.value as string);\n\n return null;\n };\n\n const selectedFlag = getSelectedFlag();\n\n return (\n <components.Control {...props}>\n {selectedFlag && (\n <div className=\"flex h-[39px] items-center border-r border-gray-200 p-3\">\n <img\n src={`/images/countries/${selectedFlag.toUpperCase()}_flag.svg`}\n alt=\"\"\n width={24}\n height={24}\n />\n </div>\n )}\n {props.children}\n </components.Control>\n );\n };\n\n const NoOptionsMessage = (\n props: NoticeProps<unknown, false, GroupBase<unknown>>,\n ) => (\n // <components.NoOptionsMessage {...props}>{t('globals.noOptions')}</components.NoOptionsMessage>\n <components.NoOptionsMessage {...props}>\n noOptionsMessage\n </components.NoOptionsMessage>\n );\n\n const SingleValue: React.FC<\n SingleValueProps<unknown, false, GroupBase<unknown>>\n > = (props) => (\n <components.SingleValue {...props}>\n <span className=\"flex items-center\">\n {icon && icon}\n <span className=\"mx-2\">{props.children}</span>\n </span>\n </components.SingleValue>\n );\n\n // const formatGroupLabel = (data: CustomGroupBase<unknown>) => (\n // <div className=\"flex items-center\">\n // <span className=\"normal-case\">{data.label}</span>\n // </div>\n // );\n\n return (\n <div\n data-component=\"Select\"\n data-testid=\"select-container\"\n ref={ref}\n className={clsx(\n \"m-0 grid gap-2 p-0\",\n width ? width : fullWidth && \"w-full\",\n className,\n )}\n >\n {label && (\n <Label className={cn(\"leading-4\", labelClassNames)}>{label}</Label>\n )}\n <ReactSelect<unknown, false, GroupBase<unknown>>\n key={id}\n data-component=\"select\"\n data-testid=\"select-input\"\n options={options}\n menuPlacement=\"auto\"\n isDisabled={isDisabled}\n defaultValue={defaultValue}\n placeholder={placeholder}\n isClearable={false}\n menuPortalTarget={document?.body}\n styles={{\n ...selectStyles,\n control: (\n base: CSSObjectWithLabel,\n state: { isFocused: boolean },\n ) => ({\n ...base,\n \"&:hover\": {\n borderColor: \"#A8A8A8\",\n },\n height: \"40px\",\n width: \"100%\",\n backgroundColor: \"#fbfbfb\",\n borderColor: error\n ? \"red\"\n : state.isFocused\n ? \"#10d1bb\"\n : \"#cccccc\",\n cursor: \"pointer\",\n }),\n menuPortal: (base: CSSObjectWithLabel) => ({\n ...base,\n zIndex: 99999,\n }),\n }}\n theme={selectTheme}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n GroupHeading,\n Control: showLangFlags ? LanguageControl : components.Control,\n SingleValue,\n NoOptionsMessage,\n }}\n // formatGroupLabel={formatGroupLabel}\n {...props}\n />\n {!hideErrorText && error && (\n <small className=\"text-xs font-normal text-red-500\" role=\"alert\">\n {error}\n </small>\n )}\n </div>\n );\n },\n);\n\nSelect.displayName = \"Select\";\n","\"use client\";\nimport { cn } from \"@utils/cn\";\n\ninterface ISkeleton {\n className: string;\n \"data-testid\"?: string;\n}\n\nexport const Skeleton = ({\n className,\n \"data-testid\": dataTestId,\n}: ISkeleton) => (\n <span\n data-component=\"genericSkeleton\"\n data-testid={dataTestId || \"skeleton\"}\n className={cn(\n \"inline-block rounded-md\",\n \"animate-pulse bg-gray-100/50\",\n className,\n )}\n />\n);\n","\"use client\";\ninterface ISkillPillProps {\n name: string;\n number: number;\n}\n\nexport const SkillPill = ({ name, number }: ISkillPillProps) => (\n <div\n data-testid=\"skill-pill-container\"\n className=\"flex items-center rounded-full border border-gray-200 p-[3px]\"\n >\n <span className=\"pr-4 pl-3\">{name}</span>\n <span\n data-testid=\"skill-pill-number\"\n className=\"bg-turquoise-200 grid h-[30px] min-w-[30px] place-content-center rounded-full px-2.5\"\n >\n {number}\n </span>\n </div>\n);\n","\"use client\";\n\ninterface IStickyMobileButton {\n children: React.ReactNode;\n}\n\nexport const StickyMobileButtonWrapper = ({\n children,\n}: IStickyMobileButton) => (\n <div\n data-testid=\"sticky-mobile-button-wrapper\"\n className=\"fixed inset-x-0 bottom-0 z-40 w-full bg-white p-8 md:hidden\"\n >\n <div\n data-testid=\"sticky-mobile-button-grid\"\n className=\"grid place-content-center\"\n >\n {children}\n </div>\n </div>\n);\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ITable extends HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const Table = ({ children, className, ...props }: ITable) => (\n <div\n data-testid=\"table\"\n data-component=\"table\"\n className={cn(\n \"table w-full table-fixed border-collapse overflow-auto\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n);\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ITableCell extends HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n smallPadding?: boolean;\n className?: string;\n}\n\nexport const TableCell = ({\n children,\n smallPadding,\n className,\n}: ITableCell) => (\n <div\n data-testid=\"tableCell\"\n data-component=\"tableCell\"\n className={`${cn(\n \"table-cell py-2 align-middle text-sm font-normal first:pl-2 last:pr-2 md:py-0 md:xl:first:pl-10 md:xl:last:pr-10\",\n {\n \"md:xl:first:pl-5 md:xl:last:pr-5\": smallPadding,\n },\n className,\n )}`}\n >\n {children}\n </div>\n);\n","\"use client\";\n\ninterface ITableHeader {\n children: React.ReactNode;\n}\n\nexport const TableHeader = ({ children }: ITableHeader) => (\n <div\n data-component=\"tableHeader\"\n data-testid=\"tableHeader\"\n className=\"table-header-group border-b border-gray-200\"\n >\n {children}\n </div>\n);\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ITableHeaderItem extends HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n smallPadding?: boolean;\n className?: string;\n}\n\nexport const TableHeaderItem = ({\n children,\n smallPadding,\n className,\n ...props\n}: ITableHeaderItem) => (\n <div\n data-testid=\"tableHeaderItem\"\n data-component=\"tableHeaderItem\"\n className={cn(\n \"hidden h-10 align-middle text-xs font-medium first:pl-10 last:pr-10 xl:table-cell\",\n {\n \"xl:first:pl-5 xl:last:pr-5\": smallPadding,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n);\n","\"use client\";\nimport { type HTMLAttributes } from \"react\";\n\ninterface ITableRow extends HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nexport const TableHeaderRow = ({ children, ...props }: ITableRow) => (\n <div\n data-testid=\"tableHeaderRow\"\n data-component=\"tableHeaderRow\"\n className=\"table-row xl:border-0 xl:border-b xl:border-solid xl:border-gray-300\"\n {...props}\n >\n {children}\n </div>\n);\n","import { type HTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\ninterface ITableRow extends Omit<HTMLAttributes<HTMLDivElement>, \"className\"> {\n children: React.ReactNode;\n className?: string;\n header?: boolean;\n}\n\nexport function TableRow({ children, className, header, ...props }: ITableRow) {\n return (\n <div\n data-testid=\"tableRow\"\n data-component=\"tableRow\"\n className={`${cn(\n \"table-row border-x-0 border-y-0 border-t border-solid border-gray-200 xl:border-t xl:border-solid xl:border-gray-200\",\n \"hover:bg-ultra-light-blue\",\n header && \"font-medium\",\n className,\n )}`}\n {...props}\n >\n {children}\n </div>\n );\n}\n","\"use client\";\nimport React, { forwardRef, type RefObject } from \"react\";\n\nexport interface TabProps {\n setActiveTab: (tab: string) => void;\n tabId: string;\n ref: RefObject<HTMLButtonElement | null>;\n activeTab: boolean;\n tabContent: React.ReactNode | React.ReactNode[] | string;\n rightSection?: React.ReactNode | undefined;\n clickFnc: (tabId: string) => void;\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(\n ({ tabId, activeTab, tabContent, clickFnc, rightSection }, ref) => (\n <button\n ref={ref}\n data-testid={`tab-${tabId}`}\n className={`${\n activeTab && \"text-light-blue bg-[#F0F0F6]\"\n } 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`}\n onClick={() => clickFnc(tabId)}\n >\n {tabContent}\n {rightSection && <span className=\"ml-2 inline-flex\">{rightSection}</span>}\n </button>\n ),\n);\n","\"use client\";\n\nimport clsx from \"clsx\";\n\nexport interface TabsBadgeProps {\n children: React.ReactNode;\n}\n\nexport const TabsBadge = ({ children }: TabsBadgeProps) => {\n const isCircular =\n (typeof children === \"number\" && children <= 9) ||\n (typeof children === \"string\" && children.length === 1) ||\n false;\n\n return (\n <div\n data-testid=\"tabs-badge\"\n className={clsx(\n \"bg-pink h-5 rounded-full text-xs leading-5 font-medium text-white\",\n {\n \"w-5 text-center\": isCircular,\n \"px-2\": !isCircular,\n },\n )}\n >\n {children}\n </div>\n );\n};\n\nTabsBadge.displayName = \"TabsBadge\";\n","\"use client\";\nimport {\n createRef,\n forwardRef,\n type ReactElement,\n type RefObject,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { Tab } from \"./Tab\";\n\ninterface ITab {\n name: string;\n value: string;\n rightSection?: ReactElement | undefined;\n clickFnc: (val: string) => void;\n requiredPermissions?: string[];\n}\n\ninterface TabsWrapperProps {\n children?: React.ReactNode | React.ReactNode[];\n defaultActive?: string;\n setActiveTab: (value: string) => void;\n activeTab?: string;\n tabs: ITab[];\n}\n\nexport const TabsWrapper = ({\n setActiveTab,\n activeTab,\n tabs,\n}: TabsWrapperProps) => {\n const tabRefs = useMemo(() => {\n const refs: { [key: string]: RefObject<HTMLButtonElement> } = {};\n tabs?.forEach((tab) => {\n refs[tab.value] = createRef<HTMLButtonElement>();\n });\n return refs;\n }, [tabs]);\n\n const [underlineStyle, setUnderlineStyle] = useState({ width: 0, left: 0 });\n\n useEffect(() => {\n if (activeTab && tabRefs[activeTab]?.current) {\n const activeTabElement = tabRefs[activeTab].current;\n setUnderlineStyle({\n width: activeTabElement?.offsetWidth || 0,\n left: activeTabElement?.offsetLeft || 0,\n });\n }\n }, [activeTab, tabRefs]);\n\n return (\n <div className=\"w-full\">\n <div className=\"relative inline-block w-auto border-b-[3px] border-gray-200\">\n <div className=\"flex\">\n {tabs &&\n tabs?.map((tab) =>\n tab.requiredPermissions ? (\n // <Authorize key={tab.value} requiredPermissions={tab.requiredPermissions}>\n <TabContent\n key={tab.value}\n tab={tab}\n ref={tabRefs[tab.value]}\n setActiveTab={setActiveTab}\n activeTab={activeTab}\n />\n ) : (\n // </Authorize>\n <TabContent\n key={tab.value}\n tab={tab}\n ref={tabRefs[tab.value]}\n setActiveTab={setActiveTab}\n activeTab={activeTab}\n />\n ),\n )}\n </div>\n <div\n className=\"absolute h-[3px] bg-gray-900 transition-all duration-300\"\n style={{\n width: underlineStyle.width,\n left: underlineStyle.left,\n bottom: \"-3px\",\n }}\n />\n </div>\n </div>\n );\n};\n\nconst TabContent = forwardRef<\n HTMLButtonElement,\n { tab: ITab; setActiveTab: (val: string) => void; activeTab?: string }\n>(({ tab, setActiveTab, activeTab }, ref) => (\n <Tab\n ref={ref}\n tabId={tab.value}\n setActiveTab={setActiveTab}\n activeTab={activeTab === tab.value}\n tabContent={tab.name}\n rightSection={tab?.rightSection || undefined}\n clickFnc={() => {\n tab.clickFnc(tab.value);\n setActiveTab(tab.value);\n }}\n />\n));\n\nTabContent.displayName = \"TabContent\";\n","\"use client\";\n\nimport { forwardRef, type TextareaHTMLAttributes } from \"react\";\n\nimport { cn } from \"@utils/cn\";\n\nexport interface ITextarea extends Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"className\" | \"rows\"\n> {\n label?: React.ReactNode;\n error?: string;\n className?: string;\n rows?: number;\n}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, ITextarea>(\n ({ className, label, error, rows = 8, ...props }, ref) => (\n <div className=\"relative grid gap-2\">\n {label && (\n <label className=\"flex items-center gap-1 text-xs font-medium text-black\">\n {label}\n </label>\n )}\n <textarea\n data-component=\"TextArea\"\n rows={rows}\n ref={ref}\n className={cn(\n \"disabled:bg-grey-100 bg-ultra-light-gray w-full rounded border border-gray-200 p-3 text-sm font-normal text-black placeholder:text-gray-800 focus:ring-0 focus:outline-hidden disabled:cursor-not-allowed disabled:border-gray-300\",\n {\n \"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\":\n !!error,\n },\n className,\n )}\n {...props}\n />\n {error && (\n <small className=\"text-xs font-normal text-red-500\">{error}</small>\n )}\n </div>\n ),\n);\n","\"use client\";\nimport React, { type ChangeEvent, forwardRef } from \"react\";\n\nexport interface ITimeInput extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"size\"\n> {\n \"data-testid\"?: string;\n label?: string;\n error?: string;\n withSeconds?: boolean;\n}\n\nexport const TimeInput = forwardRef<HTMLInputElement, ITimeInput>(\n ({ label, error, withSeconds, className = \"\", ...props }, ref) => {\n const handleTimeChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (props['onChange']) props['onChange'](e);\n };\n\n return (\n <div className=\"leading-none\" data-component=\"timeInput\">\n {label && (\n <label className=\"mb-2 block text-xs font-medium\" htmlFor={props['id']}>\n {label}\n </label>\n )}\n <input\n {...props}\n ref={ref}\n type=\"time\"\n step={withSeconds ? \"1\" : \"60\"}\n onChange={handleTimeChange}\n className={`bg-ultra-light-gray focus:border-primary flex h-10 min-h-[36px] w-full items-center rounded-[5px] border border-solid border-gray-200 px-3 text-sm font-normal focus:outline-hidden ${error ? \"border-red-500\" : \"\"} ${className}`}\n />\n {error && (\n <p className=\"pt-2 text-xs font-normal text-red-500\">{error}</p>\n )}\n </div>\n );\n },\n);\n","\"use client\";\nimport { useEffect, useState } from \"react\";\n\n\ninterface ITruncatedText {\n text: string;\n limit?: number;\n}\n\nexport const TruncatedText = ({ text, limit = 20 }: ITruncatedText) => {\n const [truncatedText, setTruncatedText] = useState(text);\n\n useEffect(() => {\n if (text.length > limit) setTruncatedText(text.substring(0, limit) + \"...\");\n else setTruncatedText(text);\n }, [text, limit]);\n\n return (\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm font-normal\">{truncatedText}</span>\n </div>\n );\n};\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\n\ntype IUnorderedListProps = {\n children: React.ReactNode;\n className?: string;\n actionItem?: React.ReactNode;\n};\n\nexport const UnorderedList = ({\n children,\n className,\n actionItem,\n ...props\n}: IUnorderedListProps) => (\n <ul\n className={cn(\"m-0 last:border-none\", className)}\n data-component=\"unorderedList\"\n data-testid=\"unorderedList\"\n {...props}\n >\n {children}\n {actionItem && <span className=\"flex items-center\">{actionItem}</span>}\n </ul>\n);\n","\"use client\";\n\nimport { cn } from \"@utils/cn\";\n\ntype IUnorderedListProps = {\n children: React.ReactNode;\n actionItem?: React.ReactNode;\n className?: string;\n header?: boolean;\n};\n\nexport const UnorderedListItem = ({\n children,\n actionItem,\n className,\n header = false,\n ...props\n}: IUnorderedListProps) => (\n <li\n {...props}\n data-component=\"unorderedListItem\"\n className={cn(\n \"grid min-h-[74px] list-none items-center border-b border-solid border-b-gray-200 py-5 text-sm font-normal last:border-none md:flex md:py-4 md:pr-10 md:pl-10\",\n header ? \"md:items-end\" : \"hover:bg-ultra-light-blue\",\n {\n \"grid-cols-2\": actionItem,\n },\n className,\n )}\n >\n {children}\n\n {actionItem && (\n <span className=\"flex justify-end gap-2 md:absolute md:right-8 md:items-center\">\n {actionItem}\n </span>\n )}\n </li>\n);\n","\"use client\";\nimport {\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { buttonVariants } from \"@components/button/buttonVariants\";\nimport { UnstyledButton } from \"@components/unstyledButton\";\nimport { cn } from \"@utils/cn\";\n\ninterface IProfileMenu {\n title?: ReactNode;\n metaTitle?: string;\n icon?: ReactNode;\n disabled?: boolean;\n classNames?: {\n root?: string;\n button?: string;\n menu?: string;\n };\n content: {\n key: number;\n onClick: () => void;\n title: string;\n disabled?: boolean;\n }[];\n}\n\nexport const ProfileMenu = ({\n title,\n metaTitle,\n icon,\n content,\n disabled = false,\n classNames,\n}: IProfileMenu) => {\n const [isOpen, setIsOpen] = useState(false);\n const [focusedIndex, setFocusedIndex] = useState(-1);\n const menuRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const menuItemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n /* istanbul ignore next - id generation not critical to logic and flaky in coverage */\n const menuId = `profile-menu-${metaTitle || \"default\"}`;\n /* istanbul ignore next - id generation not critical to logic and flaky in coverage */\n const buttonId = `${menuId}-button`;\n\n const defaultStyling =\n \"text-black flex items-center gap-1 bg-transparent py-1 px-2.5 h-9 min-w-9 cursor-pointer border-gray-200 focus:bg-gray-50 focus:ring focus:ring-primary focus:outline-none focus:border-0 focus:ring-inset\";\n\n const handleToggle = () => {\n if (!disabled) {\n setIsOpen((prev) => {\n const newIsOpen = !prev;\n /* istanbul ignore next - branch depends on async DOM focus */\n if (newIsOpen) {\n // Focus first menu item when opening\n setTimeout(() => {\n /* istanbul ignore next - async focus behavior depends on DOM/timing */\n setFocusedIndex(0);\n /* istanbul ignore next - async focus behavior depends on DOM/timing */\n menuItemRefs.current[0]?.focus();\n }, 0);\n } else {\n /* istanbul ignore next - focus reset depends on DOM/timing */\n setFocusedIndex(-1);\n /* istanbul ignore next - focus reset depends on DOM/timing */\n buttonRef.current?.focus();\n }\n return newIsOpen;\n });\n }\n };\n\n /* istanbul ignore next - click handler behavior covered via integration; unit env flaky */\n const handleItemClick = (onClick: () => void) => {\n if (!disabled) {\n onClick();\n setIsOpen(false);\n setFocusedIndex(-1);\n\n /* istanbul ignore next - async focus timing not reliable in unit tests */\n setTimeout(() => buttonRef.current?.focus(), 0);\n }\n };\n\n /* istanbul ignore next - relies on document events; hard to unit test reliably */\n const handleClickOutside = (event: MouseEvent) => {\n if (menuRef.current && !menuRef.current.contains(event.target as Node)) {\n setIsOpen(false);\n setFocusedIndex(-1);\n }\n };\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n /* istanbul ignore next - early return depends on open state timing */\n if (!isOpen) return;\n /* istanbul ignore next - keyboard navigation covered by e2e; unit env is flaky */\n switch (event.key) {\n case \"Escape\":\n event.preventDefault();\n setIsOpen(false);\n setFocusedIndex(-1);\n buttonRef.current?.focus();\n break;\n case \"ArrowDown\":\n event.preventDefault();\n setFocusedIndex((prev) => {\n const nextIndex = prev < content.length - 1 ? prev + 1 : 0;\n menuItemRefs.current[nextIndex]?.focus();\n return nextIndex;\n });\n break;\n case \"ArrowUp\":\n event.preventDefault();\n setFocusedIndex((prev) => {\n const nextIndex = prev > 0 ? prev - 1 : content.length - 1;\n menuItemRefs.current[nextIndex]?.focus();\n return nextIndex;\n });\n break;\n case \"Home\":\n event.preventDefault();\n setFocusedIndex(0);\n menuItemRefs.current[0]?.focus();\n break;\n case \"End\": {\n event.preventDefault();\n const lastIndex = content.length - 1;\n setFocusedIndex(lastIndex);\n menuItemRefs.current[lastIndex]?.focus();\n break;\n }\n }\n },\n [isOpen, content.length],\n );\n\n /* istanbul ignore next - global listeners are not reliably asserted in unit tests */\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside);\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [handleKeyDown]);\n\n return (\n <>\n <div\n className={cn(\"relative\", classNames?.root)}\n data-component=\"ProfileMenu\"\n data-testid=\"profile-menu\"\n ref={menuRef}\n data-context-menu-id={metaTitle}\n data-context-menu-content={metaTitle}\n >\n <UnstyledButton\n ref={buttonRef}\n id={buttonId}\n aria-label=\"Toggle profile menu\"\n aria-expanded={isOpen}\n aria-haspopup=\"menu\"\n aria-controls={isOpen ? menuId : undefined}\n className={cn(\n buttonVariants[\"secondary\"],\n defaultStyling,\n classNames?.button,\n )}\n disabled={disabled}\n onClick={handleToggle}\n >\n {title && (\n <span className=\"hidden font-normal md:block\">{title}</span>\n )}\n {icon}\n </UnstyledButton>\n {isOpen && (\n <div\n id={menuId}\n role=\"menu\"\n aria-labelledby={buttonId}\n className={cn(\n \"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\",\n classNames?.menu,\n )}\n >\n {content.map(\n /* istanbul ignore next - render callback not meaningful for unit coverage */\n (c, index) => (\n <UnstyledButton\n key={index}\n ref={\n /* istanbul ignore next - ref setter is a render-time callback */\n (el) => {\n menuItemRefs.current[index] = el;\n }\n }\n role=\"menuitem\"\n tabIndex={-1}\n onClick={\n /* istanbul ignore next - inline handler wrapper */\n () => handleItemClick(c.onClick)\n }\n className={cn(\n \"w-full rounded-md px-4 py-2 text-left text-sm font-normal whitespace-nowrap transition-colors\",\n \"focus:ring-primary hover:bg-gray-50 focus:bg-gray-50 focus:ring focus:outline-none focus:ring-inset\",\n c.disabled && \"cursor-not-allowed opacity-50\",\n focusedIndex === index && \"bg-gray-50\",\n )}\n aria-label={c.title}\n disabled={c.disabled}\n >\n {c.title}\n </UnstyledButton>\n ),\n )}\n </div>\n )}\n </div>\n </>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface StickyFooterProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const StickyFooter = ({ className, ...props }: StickyFooterProps) => (\n <div\n data-component=\"sticky-footer\"\n className={clsx(className)}\n {...props}\n >\n StickyFooter\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface SpotlightsProps {\n \"data-testid\"?: string;\n className?: string;\n images: { src: string; alt: string }[];\n}\n\nexport const Spotlights = ({ className, images, ...props }: SpotlightsProps) => (\n <div\n data-testid=\"spotlights-component\"\n data-component=\"spotlights\"\n className={clsx(className, 'w-full flex flex-col gap-5 p-10')}\n {...props}\n >\n {images.map((image, index) => {\n return <div key={`${image.src}-${index}`} data-testid={`spotlights-item-${index}`} className=\"w-full rounded-md bg-white shadow-xl\">\n <img src={image.src} alt={image.alt} className=\"w-full rounded-t-md\" />\n <div className=\"text-secondary p-8 text-2xl font-bold spotlights-item\">Lorem ipsum</div>\n </div>\n })}\n </div>\n);\n","\n\n// Import all available icons for the selector\nimport { IconAlert } from \"../icons/IconAlert\";\nimport { IconArrival } from \"../icons/IconArrival\";\nimport { IconArrowDown } from \"../icons/IconArrowDown\";\nimport { IconArrowLeft } from \"../icons/IconArrowLeft\";\nimport { IconArrowRight } from \"../icons/IconArrowRight\";\nimport { IconArrowUp } from \"../icons/IconArrowUp\";\nimport { IconBeach } from \"../icons/IconBeach\";\nimport { IconBed } from \"../icons/IconBed\";\nimport { IconBlog } from \"../icons/IconBlog\";\nimport { IconBus } from \"../icons/IconBus\";\nimport { IconCalendar } from \"../icons/IconCalendar\";\nimport { IconCancel } from \"../icons/IconCancel\";\nimport { IconCar } from \"../icons/IconCar\";\nimport { IconCarSun } from \"../icons/IconCarSun\";\nimport { IconCheck } from \"../icons/IconCheck\";\nimport { IconChevronRight } from \"../icons/IconChevronRight\";\nimport { IconCity } from \"../icons/IconCity\";\nimport { IconClock } from \"../icons/IconClock\";\nimport { IconDelete } from \"../icons/IconDelete\";\nimport { IconDeparture } from \"../icons/IconDeparture\";\nimport { IconDollar } from \"../icons/IconDollar\";\nimport { IconEdit } from \"../icons/IconEdit\";\nimport { IconExpand } from \"../icons/IconExpand\";\nimport { IconFacebook } from \"../icons/IconFacebook\";\nimport { IconFavorite } from \"../icons/IconFavorite\";\nimport { IconFilter } from \"../icons/IconFilter\";\nimport { IconFood } from \"../icons/IconFood\";\nimport { IconHeart } from \"../icons/IconHeart\";\nimport { IconHot } from \"../icons/IconHot\";\nimport { IconHotel } from \"../icons/IconHotel\";\nimport { IconHouse } from \"../icons/IconHouse\";\nimport { IconInfo } from \"../icons/IconInfo\";\nimport { IconInstagram } from \"../icons/IconInstagram\";\nimport { IconLuggage } from \"../icons/IconLuggage\";\nimport { IconMail } from \"../icons/IconMail\";\nimport { IconMap } from \"../icons/IconMap\";\nimport { IconMinus } from \"../icons/IconMinus\";\nimport { IconParty } from \"../icons/IconParty\";\nimport { IconPhone } from \"../icons/IconPhone\";\nimport { IconPhoto } from \"../icons/IconPhoto\";\nimport { IconPinterest } from \"../icons/IconPinterest\";\nimport { IconPlane } from \"../icons/IconPlane\";\nimport { IconPlus } from \"../icons/IconPlus\";\nimport { IconQuestion } from \"../icons/IconQuestion\";\nimport { IconRating } from \"../icons/IconRating\";\nimport { IconSearch } from \"../icons/IconSearch\";\nimport { IconSeat } from \"../icons/IconSeat\";\nimport { IconShare } from \"../icons/IconShare\";\nimport { IconSplash } from \"../icons/IconSplash\";\nimport { IconStar } from \"../icons/IconStar\";\nimport { IconSuccess } from \"../icons/IconSuccess\";\nimport { IconSun } from \"../icons/IconSun\";\nimport { IconSupport } from \"../icons/IconSupport\";\nimport { IconTemperature } from \"../icons/IconTemperature\";\nimport { IconTiktok } from \"../icons/IconTiktok\";\nimport { IconTransfer } from \"../icons/IconTransfer\";\nimport { IconTree } from \"../icons/IconTree\";\nimport { IconTwitter } from \"../icons/IconTwitter\";\nimport { IconUser } from \"../icons/IconUser\";\nimport { IconView } from \"../icons/IconView\";\nimport { IconWarning } from \"../icons/IconWarning\";\nimport { IconWhatsapp } from \"../icons/IconWhatsapp\";\nimport { IconWinterSport } from \"../icons/IconWinterSport\";\nimport { IconWinterSun } from \"../icons/IconWinterSun\";\n\n// Icon options for the selector\nexport const iconOptions = [\n \"none\",\n \"IconAlert\",\n \"IconArrival\",\n \"IconArrowDown\",\n \"IconArrowLeft\",\n \"IconArrowRight\",\n \"IconArrowUp\",\n \"IconBeach\",\n \"IconBed\",\n \"IconBlog\",\n \"IconBus\",\n \"IconCalendar\",\n \"IconCancel\",\n \"IconCar\",\n \"IconCarSun\",\n \"IconCheck\",\n \"IconChevronRight\",\n \"IconCity\",\n \"IconClock\",\n \"IconDelete\",\n \"IconDeparture\",\n \"IconDollar\",\n \"IconEdit\",\n \"IconExpand\",\n \"IconFacebook\",\n \"IconFavorite\",\n \"IconFilter\",\n \"IconFood\",\n \"IconHeart\",\n \"IconHot\",\n \"IconHotel\",\n \"IconHouse\",\n \"IconInfo\",\n \"IconInstagram\",\n \"IconLuggage\",\n \"IconMail\",\n \"IconMap\",\n \"IconMinus\",\n \"IconParty\",\n \"IconPhone\",\n \"IconPhoto\",\n \"IconPinterest\",\n \"IconPlane\",\n \"IconPlus\",\n \"IconQuestion\",\n \"IconRating\",\n \"IconSearch\",\n \"IconSeat\",\n \"IconShare\",\n \"IconSplash\",\n \"IconStar\",\n \"IconSuccess\",\n \"IconSun\",\n \"IconSupport\",\n \"IconTemperature\",\n \"IconTiktok\",\n \"IconTransfer\",\n \"IconTree\",\n \"IconTwitter\",\n \"IconUser\",\n \"IconView\",\n \"IconWarning\",\n \"IconWhatsapp\",\n \"IconWinterSport\",\n \"IconWinterSun\",\n];\n\n// Icon mapping function\nexport const getIcon = (iconName: string): React.ReactNode => {\n const iconMap: Record<string, React.ReactNode> = {\n IconAlert: <IconAlert className=\"w-full h-full\" />,\n IconArrival: <IconArrival className=\"w-full h-full\" />,\n IconArrowDown: <IconArrowDown className=\"w-full h-full\" />,\n IconArrowLeft: <IconArrowLeft className=\"w-full h-full\" />,\n IconArrowRight: <IconArrowRight className=\"w-full h-full\" />,\n IconArrowUp: <IconArrowUp className=\"w-full h-full\" />,\n IconBeach: <IconBeach className=\"w-full h-full\" />,\n IconBed: <IconBed className=\"w-full h-full\" />,\n IconBlog: <IconBlog className=\"w-full h-full\" />,\n IconBus: <IconBus className=\"w-full h-full\" />,\n IconCalendar: <IconCalendar className=\"w-full h-full\" />,\n IconCancel: <IconCancel className=\"w-full h-full\" />,\n IconCar: <IconCar className=\"w-full h-full\" />,\n IconCarSun: <IconCarSun className=\"w-full h-full\" />,\n IconCheck: <IconCheck className=\"w-full h-full\" />,\n IconChevronRight: <IconChevronRight className=\"w-full h-full\" />,\n IconCity: <IconCity className=\"w-full h-full\" />,\n IconClock: <IconClock className=\"w-full h-full\" />,\n IconDelete: <IconDelete className=\"w-full h-full\" />,\n IconDeparture: <IconDeparture className=\"w-full h-full\" />,\n IconDollar: <IconDollar className=\"w-full h-full\" />,\n IconEdit: <IconEdit className=\"w-full h-full\" />,\n IconExpand: <IconExpand className=\"w-full h-full\" />,\n IconFacebook: <IconFacebook className=\"w-full h-full\" />,\n IconFavorite: <IconFavorite className=\"w-full h-full\" />,\n IconFilter: <IconFilter className=\"w-full h-full\" />,\n IconFood: <IconFood className=\"w-full h-full\" />,\n IconHeart: <IconHeart className=\"w-full h-full\" />,\n IconHot: <IconHot className=\"w-full h-full\" />,\n IconHotel: <IconHotel className=\"w-full h-full\" />,\n IconHouse: <IconHouse className=\"w-full h-full\" />,\n IconInfo: <IconInfo className=\"w-full h-full\" />,\n IconInstagram: <IconInstagram className=\"w-full h-full\" />,\n IconLuggage: <IconLuggage className=\"w-full h-full\" />,\n IconMail: <IconMail className=\"w-full h-full\" />,\n IconMap: <IconMap className=\"w-full h-full\" />,\n IconMinus: <IconMinus className=\"w-full h-full\" />,\n IconParty: <IconParty className=\"w-full h-full\" />,\n IconPhone: <IconPhone className=\"w-full h-full\" />,\n IconPhoto: <IconPhoto className=\"w-full h-full\" />,\n IconPinterest: <IconPinterest className=\"w-full h-full\" />,\n IconPlane: <IconPlane className=\"w-full h-full\" />,\n IconPlus: <IconPlus className=\"w-full h-full\" />,\n IconQuestion: <IconQuestion className=\"w-full h-full\" />,\n IconRating: <IconRating className=\"w-full h-full\" />,\n IconSearch: <IconSearch className=\"w-full h-full\" />,\n IconSeat: <IconSeat className=\"w-full h-full\" />,\n IconShare: <IconShare className=\"w-full h-full\" />,\n IconSplash: <IconSplash className=\"w-full h-full\" />,\n IconStar: <IconStar className=\"w-full h-full\" />,\n IconSuccess: <IconSuccess className=\"w-full h-full\" />,\n IconSun: <IconSun className=\"w-full h-full\" />,\n IconSupport: <IconSupport className=\"w-full h-full\" />,\n IconTemperature: <IconTemperature className=\"w-full h-full\" />,\n IconTiktok: <IconTiktok className=\"w-full h-full\" />,\n IconTransfer: <IconTransfer className=\"w-full h-full\" />,\n IconTree: <IconTree className=\"w-full h-full\" />,\n IconTwitter: <IconTwitter className=\"w-full h-full\" />,\n IconUser: <IconUser className=\"w-full h-full\" />,\n IconView: <IconView className=\"w-full h-full\" />,\n IconWarning: <IconWarning className=\"w-full h-full\" />,\n IconWhatsapp: <IconWhatsapp className=\"w-full h-full\" />,\n IconWinterSport: <IconWinterSport className=\"w-full h-full\" />,\n IconWinterSun: <IconWinterSun className=\"w-full h-full\" />,\n };\n \n const icon = iconMap[iconName];\n if (!icon) {\n console.warn(`Icon \"${iconName}\" not found, returning fallback`);\n return <IconArrowDown className=\"w-full h-full\" />;\n }\n \n return icon;\n};\n","\"use client\";\nimport { useState, useEffect, useRef } from \"react\";\nimport formatIcon from \"@utils/formatIcon\";\nimport { getIcon } from \"@utils/storybookIcons\";\nimport clsx from \"clsx\";\n\ninterface Category {\n id: number;\n name: string;\n icon?: string;\n}\n\ninterface CategoryFilterProps {\n \"data-testid\"?: string;\n className?: string;\n categories: Category[];\n defaultActiveId?: number;\n onCategoryChange?: (categoryId: number) => void;\n}\n\nexport const CategoryFilter = ({ \n className, \n categories, \n defaultActiveId,\n onCategoryChange,\n \"data-testid\": dataTestId = \"category-filter\",\n ...props \n}: CategoryFilterProps) => {\n const [activeId, setActiveId] = useState(defaultActiveId || categories[0]?.id);\n const [indicatorStyle, setIndicatorStyle] = useState({ width: 0, left: 0 });\n const categoryRefs = useRef<{ [key: number]: HTMLDivElement | null }>({});\n\n useEffect(() => {\n const activeElement = categoryRefs.current[activeId];\n if (activeElement) {\n const parentElement = activeElement.parentElement;\n if (parentElement) {\n const parentRect = parentElement.getBoundingClientRect();\n const activeRect = activeElement.getBoundingClientRect();\n \n setIndicatorStyle({\n width: activeRect.width,\n left: activeRect.left - parentRect.left\n });\n }\n }\n }, [activeId, categories]);\n\n const handleCategoryClick = (categoryId: number) => {\n setActiveId(categoryId);\n onCategoryChange?.(categoryId);\n };\n\n\n \nreturn <div\n data-component=\"category-filter\"\n data-testid={dataTestId}\n className={clsx(className, 'w-fit category-filter uppercase text-xs font-bold')} \n {...props}\n >\n <div className=\"flex flex-row gap-2 relative\">\n {categories.map((category) => {\n \n const formattedIcon = category.icon\n ? formatIcon(getIcon(category.icon), {\n className: clsx(\n \"size-[1rem]\",\n ),\n })\n : null;\n \n return <div \n key={category.id} \n ref={(el) => categoryRefs.current[category.id] = el}\n className={clsx(\n \"flex items-center gap-2 cursor-pointer px-3 py-3 rounded transition-colors whitespace-nowrap\",\n )}\n onClick={() => handleCategoryClick(category.id)}\n >\n <span className={`h-4 w-4 flex items-center justify-center ${activeId === category.id && \"text-primary\"}`}>{formattedIcon}</span>\n <span className={`text-dark-600 ${activeId === category.id && \"text-primary\"}`}>{category.name}</span>\n </div>\n \n })}\n \n <div \n className=\"absolute -bottom-[1px] h-[2px] bg-primary transition-all duration-300 ease-in-out\"\n style={{\n width: `${indicatorStyle.width}px`,\n left: `${indicatorStyle.left}px`,\n }}\n />\n </div>\n <div className=\"w-full h-[1px] bg-light-600\"></div>\n\n </div>\n}","\"use client\";\nimport clsx from \"clsx\";\nimport { useMemo, useState } from \"react\";\n\ninterface CalendarProps {\n \"data-testid\"?: string;\n className?: string;\n month: number;\n year?: number;\n}\n\nexport const Calendar = ({ className, month, year = 2026, ...props }: CalendarProps) => {\n type SelectionMode = \"exact\" | \"pm1\" | \"pm2\" | \"pm3\" | \"month\";\n\n const [mode, setMode] = useState<SelectionMode>(\"exact\");\n const [selectedDay, setSelectedDay] = useState<number | null>(null);\n\n const today = useMemo(() => {\n const now = new Date();\n return new Date(now.getFullYear(), now.getMonth(), now.getDate());\n }, []);\n\n const firstOfMonth = useMemo(() => new Date(year, month, 1), [year, month]);\n const daysInMonth = useMemo(() => new Date(year, month + 1, 0).getDate(), [year, month]);\n const daysInPrevMonth = useMemo(() => new Date(year, month, 0).getDate(), [year, month]);\n const mondayIndex = useMemo(() => {\n const jsDay = firstOfMonth.getDay();\n return (jsDay + 6) % 7;\n }, [firstOfMonth]);\n const trailingOutsideDays = useMemo(() => {\n const total = mondayIndex + daysInMonth;\n return (7 - (total % 7)) % 7;\n }, [mondayIndex, daysInMonth]);\n\n const defaultSelectableDay = useMemo(() => {\n const isSameMonthAsToday = today.getFullYear() === year && today.getMonth() === month;\n if (isSameMonthAsToday) {\n return today.getDate();\n }\n\n const firstDate = new Date(year, month, 1);\n if (firstDate < today) {\n return null;\n }\n\n return 1;\n }, [today, year, month]);\n\n const resolvedSelectedDay = selectedDay ?? defaultSelectableDay;\n\n const weekdayLabels = [\"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\", \"zo\"];\n\n const range = useMemo(() => {\n if (!resolvedSelectedDay) return 0;\n if (mode === \"pm1\") return 1;\n if (mode === \"pm2\") return 2;\n if (mode === \"pm3\") return 3;\n return 0;\n }, [mode, resolvedSelectedDay]);\n\n const rangeBounds = useMemo(() => {\n if (!resolvedSelectedDay) return null;\n if (mode === \"exact\") return null;\n\n if (mode === \"month\") {\n return {\n rawStart: 1,\n rawEnd: daysInMonth,\n start: 1,\n end: daysInMonth,\n leftOverflow: false,\n rightOverflow: false,\n };\n }\n\n const rawStart = resolvedSelectedDay - range;\n const rawEnd = resolvedSelectedDay + range;\n const start = Math.max(1, rawStart);\n const end = Math.min(daysInMonth, rawEnd);\n\n return {\n rawStart,\n rawEnd,\n start,\n end,\n leftOverflow: rawStart < 1,\n rightOverflow: rawEnd > daysInMonth,\n };\n }, [resolvedSelectedDay, mode, range, daysInMonth]);\n\n const isPastDate = (date: Date) => date < today;\n\n const isActive = (day: number) => {\n if (!resolvedSelectedDay) return false;\n return day === resolvedSelectedDay;\n };\n\n const isSubActive = (day: number) => {\n if (!resolvedSelectedDay) return false;\n if (isActive(day)) return false;\n\n const date = new Date(year, month, day);\n if (isPastDate(date)) return false;\n\n if (mode === \"month\") {\n return true;\n }\n\n if (range === 0) {\n return false;\n }\n\n return Math.abs(day - resolvedSelectedDay) <= range;\n };\n\n const handleDayClick = (day: number) => {\n setSelectedDay(day);\n };\n\n return (\n <div\n data-component=\"calendar\"\n className={clsx(className, \"w-full\")}\n {...props}\n >\n <div className=\"flex items-center justify-between gap-4 mb-3\">\n <div className=\"text-sm text-secondary font-bold whitespace-nowrap\">\n {firstOfMonth.toLocaleDateString(\"nl-NL\", { month: \"long\", year: \"numeric\" })}\n </div>\n <select\n data-testid=\"calendar-mode\"\n className=\"border border-gray-200 rounded px-2 py-1 text-sm\"\n value={mode}\n onChange={(e) => setMode(e.target.value as SelectionMode)}\n >\n <option value=\"exact\">Exacte datum</option>\n <option value=\"pm1\">+/- 1 dag</option>\n <option value=\"pm2\">+/- 2 dagen</option>\n <option value=\"pm3\">+/- 3 dagen</option>\n <option value=\"month\">Hele maand</option>\n </select>\n </div>\n\n <div className=\"grid grid-cols-7 gap-0\" data-testid=\"calendar-grid\">\n {weekdayLabels.map((label) => (\n <div\n key={label}\n className=\"text-xs font-semibold text-gray-600 text-center py-2\"\n >\n {label}\n </div>\n ))}\n\n {Array.from({ length: mondayIndex }).map((_, i) => {\n const day = daysInPrevMonth - mondayIndex + i + 1;\n const prevDate = new Date(year, month - 1, day);\n\n const yyyy = String(prevDate.getFullYear());\n const mm = String(prevDate.getMonth() + 1).padStart(2, \"0\");\n const dd = String(prevDate.getDate()).padStart(2, \"0\");\n const testId = `calendar-day-outside-${yyyy}-${mm}-${dd}`;\n\n return (\n <button\n key={testId}\n type=\"button\"\n data-testid={testId}\n className=\"h-10 rounded text-sm flex items-center justify-center text-gray-300 cursor-not-allowed\"\n disabled\n aria-pressed={false}\n >\n {day}\n </button>\n );\n })}\n\n {Array.from({ length: daysInMonth }).map((_, i) => {\n const day = i + 1;\n const date = new Date(year, month, day);\n const disabled = isPastDate(date);\n const active = isActive(day);\n const subActive = isSubActive(day);\n\n const inRange = !disabled && (subActive || (active && mode !== \"exact\"));\n const isRangeStart = !!rangeBounds && day === rangeBounds.start;\n const isRangeEnd = !!rangeBounds && day === rangeBounds.end;\n\n const leftFade = !!rangeBounds && rangeBounds.leftOverflow && day === 1;\n const rightFade = !!rangeBounds && rangeBounds.rightOverflow && day === daysInMonth;\n\n const rangeBgClass = !inRange\n ? null\n : leftFade\n ? \"bg-gradient-to-r from-transparent via-primary/5 to-primary/5 \"\n : rightFade\n ? \"bg-gradient-to-r from-primary/5 via-primary/5 to-transparent \"\n : \"bg-primary/5\";\n\n const yyyy = String(year);\n const mm = String(month + 1).padStart(2, \"0\");\n const dd = String(day).padStart(2, \"0\");\n const testId = `calendar-day-${yyyy}-${mm}-${dd}`;\n\n return (\n <button\n key={testId}\n type=\"button\"\n data-testid={testId}\n className={clsx(\n \"h-10 text-sm flex items-center justify-center\",\n disabled && \"text-gray-300 cursor-not-allowed\",\n rangeBgClass,\n inRange && isRangeStart && \"rounded-l-full\",\n inRange && isRangeEnd && \"rounded-r-full\",\n )}\n disabled={disabled}\n aria-pressed={active}\n onClick={() => handleDayClick(day)}\n >\n <span\n className={clsx(\n 'w-8 h-8 p-2 flex justify-center items-center cursor-pointer',\n active && \"bg-primary text-white rounded-full \",\n !disabled && !active && !subActive && \"hover:bg-primary/20 hover:rounded-full \",\n )}\n >\n {day}\n </span>\n </button>\n );\n })}\n\n {Array.from({ length: trailingOutsideDays }).map((_, i) => {\n const day = i + 1;\n const nextDate = new Date(year, month + 1, day);\n\n const yyyy = String(nextDate.getFullYear());\n const mm = String(nextDate.getMonth() + 1).padStart(2, \"0\");\n const dd = String(nextDate.getDate()).padStart(2, \"0\");\n const testId = `calendar-day-outside-${yyyy}-${mm}-${dd}`;\n\n return (\n <button\n key={testId}\n type=\"button\"\n data-testid={testId}\n className=\"h-10 rounded text-sm flex items-center justify-center text-gray-300 cursor-not-allowed\"\n disabled\n aria-pressed={false}\n >\n {day}\n </button>\n );\n })}\n </div>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { IconArrowLeft, IconArrowRight, IconCancel } from \"../../icons\";\nimport { Button } from \"@components/button\";\n\ninterface Item {\n \"DurationInDays\": number,\n \"DepartureDate\": string,\n \"Price\": {\n \"Value\": number,\n \"Currency\": string,\n \"PricePer\": string\n },\n \"DeparturePoint\": {\n \"Code\": string\n },\n \"BoardType\": {\n \"Code\": string,\n \"Name\": string,\n },\n \"TransferIncluded\": string\n}\n\ninterface MatrixTableProps {\n \"data-testid\"?: string;\n className?: string;\n startDuration: number;\n endDuration: number;\n startDate: string;\n endDate: string;\n items: Item[];\n activeKey?: string | null;\n onActiveKeyChange?: (key: string | null) => void;\n loadPrevious?: () => void;\n loadNext?: () => void;\n}\n\nexport const MatrixTable = ({ className, startDuration, endDuration, startDate, endDate, items, loadPrevious, loadNext, activeKey: activeKeyProp, onActiveKeyChange, ...props }: MatrixTableProps) => {\n\n const scrollContainerRef = useRef<HTMLDivElement | null>(null);\n const [showRightShadow, setShowRightShadow] = useState(false);\n\n const [uncontrolledActiveKey, setUncontrolledActiveKey] = useState<string | null>(null);\n const activeKey = activeKeyProp ?? uncontrolledActiveKey;\n const setActiveKey = onActiveKeyChange ?? setUncontrolledActiveKey;\n\n const itemsWithinDurationRange = items.filter((item) => item.DurationInDays >= startDuration && item.DurationInDays <= endDuration);\n\n const itemsSortedByDepartureDate = [...itemsWithinDurationRange].sort((a, b) => a.DepartureDate.localeCompare(b.DepartureDate));\n\n const startDateOnly = startDate.slice(0, 10);\n const endDateOnly = endDate.slice(0, 10);\n\n const start = new Date(`${startDateOnly}T00:00:00Z`);\n const end = new Date(`${endDateOnly}T00:00:00Z`);\n\n\n\n const dates: string[] = [];\n if (!Number.isNaN(start.getTime()) && !Number.isNaN(end.getTime()) && start.getTime() <= end.getTime()) {\n for (let d = new Date(start); d.getTime() <= end.getTime(); d.setUTCDate(d.getUTCDate() + 1)) {\n dates.push(d.toISOString().slice(0, 10));\n }\n }\n\n const months = Array.from(new Set(dates.map((date) => new Date(date).getMonth())));\n\n\n const itemsGroupedByDuration = itemsSortedByDepartureDate.reduce<Record<number, Item[]>>((acc, item) => {\n const key = item.DurationInDays;\n (acc[key] ??= []).push(item);\n return acc;\n }, {});\n\n const itemsGroupedByDurationEntries = Object.entries(itemsGroupedByDuration).sort(([a], [b]) => Number(a) - Number(b));\n\n const monthsLabel = months.map((month) => new Date(0, month).toLocaleString('nl', { month: 'long' })).join(\"/\");\n\n useEffect(() => {\n const el = scrollContainerRef.current!;\n\n const updateShadow = () => {\n const hasOverflow = el.scrollWidth > el.clientWidth + 1;\n const atEnd = el.scrollLeft + el.clientWidth >= el.scrollWidth - 1;\n setShowRightShadow(hasOverflow && !atEnd);\n };\n\n updateShadow();\n el.addEventListener(\"scroll\", updateShadow, { passive: true });\n window.addEventListener(\"resize\", updateShadow);\n\n return () => {\n el.removeEventListener(\"scroll\", updateShadow);\n window.removeEventListener(\"resize\", updateShadow);\n };\n }, [dates.length, itemsGroupedByDurationEntries.length]);\n\n\n return <div data-component=\"matrix-table\" className={clsx(className, 'bg-white py-5')}\n {...props}>\n\n <div className=\"w-full flex flex-col\">\n <div className=\"w-full text-center matrix-table-month-header text-2xl font-bold mb-3\">{monthsLabel}</div>\n <div className=\"relative w-full\">\n {showRightShadow ? (\n <div className=\"pointer-events-none absolute inset-y-0 right-0 z-30 w-10 bg-gradient-to-l from-white to-transparent\" />\n ) : null}\n <div ref={scrollContainerRef} className=\"w-full overflow-x-auto pr-3\">\n <div className=\"min-w-max flex items-center justify-center\">\n\n <div className=\"grid gap-x-2.5 gap-y-2.5\" style={{ gridTemplateColumns: `max-content repeat(${dates.length}, 46px)` }}>\n <div className=\"sticky left-0 z-20 bg-white\" />\n {dates.map((date) => {\n const dateForDisplay = new Date(`${date}T00:00:00`);\n return <div key={date} className=\"flex-none flex flex-col h-[50px] w-[46px] items-center justify-center\">\n <span className=\"text-gray-400 text-xs matrix-table-dates-weekday\">{dateForDisplay.toLocaleString('nl', { weekday: 'short' })}</span>\n <span className=\"text-xs font-bold matrix-table-dates\">{dateForDisplay.toLocaleString('nl', { day: '2-digit' })}</span>\n </div>\n })}\n\n {itemsGroupedByDurationEntries.map(([durationInDays, groupedItems]) => {\n const cheapestItem = groupedItems.reduce((acc, curr) => {\n return curr.Price.Value < acc.Price.Value ? curr : acc;\n });\n\n const itemsByDate = groupedItems.reduce<Record<string, Item>>((acc, item) => {\n const dateOnly = item.DepartureDate.slice(0, 10);\n const existing = acc[dateOnly];\n if (!existing || item.Price.Value < existing.Price.Value) {\n acc[dateOnly] = item;\n }\n return acc;\n }, {});\n\n return (\n <div key={durationInDays} className=\"contents\">\n <div className=\"matrix-table-days font-bold text-xs sticky left-0 z-10 bg-white flex px-3 items-center h-[40px]\">\n {durationInDays} dagen\n </div>\n\n {dates.map((date) => {\n const itemForDate = itemsByDate[date];\n const isCheapest = !!itemForDate && itemForDate === cheapestItem;\n const cellKey = `${durationInDays}-${date}`;\n const isActive = activeKey === cellKey;\n const isInteractive = !!itemForDate;\n\n return <div onClick={isInteractive ? () => setActiveKey(cellKey) : undefined} className={`flex-none flex text-xs items-center justify-center w-[46px] h-[40px] rounded-xs ${isCheapest ? 'matrix-table-cell-cheapest border text-white' : 'matrix-table-cell border'} ${isActive ? 'matrix-table-cell-active' : ''} ${isInteractive ? 'cursor-pointer hover:scale-110 transition-transform' : '!bg-white'}`} key={cellKey}>\n {itemForDate ? Math.ceil(itemForDate.Price.Value) : null}\n {!isInteractive && <IconCancel width={16} height={16} className=\"text-[var(--color-light-300)]\" />}\n </div>\n })}\n </div>\n );\n })}\n\n <div className=\"sticky left-0 z-20 bg-white\" />\n {dates.map((date,index) => {\n \n return <div key={date} className={`flex flex-row h-[50px] w-[46px]`}>\n {index === 0 && loadPrevious ? <Button onClick={loadPrevious} variant=\"icon\" iconRight className=\"flex flex-row font-medium items-center justify-start text-xs\" icon={false}><IconArrowLeft className=\"text-primary\" width={20} height={20} /> eerder</Button> : null}\n {index === (dates.length - 1) && loadNext ? <Button onClick={loadNext} variant=\"icon\" className=\"flex flex-row font-medium items-center justify-start text-xs\" iconRight icon={false}>later<IconArrowRight className=\"text-primary\" width={20} height={20} /></Button> : null}\n </div>\n })}\n </div>\n\n </div>\n </div>\n </div>\n </div>\n\n\n </div>\n}\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface MapProps {\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport const Map = ({ className, ...props }: MapProps) => (\n <div\n data-component=\"map\"\n className={clsx(className)}\n {...props}\n >\n Map\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\n\ninterface LinkBoxProps {\n \"data-testid\"?: string;\n className?: string;\n items: React.ReactNode[];\n header: {\n title: string;\n icon: React.ReactNode;\n };\n}\n\nexport const LinkBox = ({ className, items, header, ...props }: LinkBoxProps) => (\n <div\n data-component=\"link-box\"\n className={clsx(className)}\n {...props}\n >\n <div className=\"flex flex-row items-center gap-2 text-secondary mb-2\">\n {header.icon}\n <span className=\"text-lg font-semibold\">{header.title}</span>\n </div>\n <ul className=\"divide-y divide-gray-200 border border-gray-200 border-x-0\">\n {items.map((item, index) => (\n <li key={index} className=\"flex flex-row gap-2 items-center py-2\">{item}</li>\n ))}\n </ul>\n </div>\n);\n","import { type SVGProps } from \"react\";\n\nexport const Plane = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n\n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" id=\"plane-svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 487.3 202\" style={{ enableBackground: \"new 0 0 487.3 202\" }} xmlSpace=\"preserve\">\n <style type=\"text/css\">{`\n\t#plane-svg .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#0092F2;}\n\t#plane-svg .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#F7EE24;}\n\t#plane-svg .st2{fill-rule:evenodd;clip-rule:evenodd;fill:#0061EF;}\n\t#plane-svg .st3{opacity:0.82;fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}\n\t#plane-svg .st4{fill-rule:evenodd;clip-rule:evenodd;fill:#C6C699;}\n\t#plane-svg .st5{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}\n\t#plane-svg .st6{fill-rule:evenodd;clip-rule:evenodd;fill:#D8D8D8;}\n\t#plane-svg .st7{fill-rule:evenodd;clip-rule:evenodd;fill:#0255B7;}\n\t#plane-svg .st8{clip-path:url(#plane-SVGID_2_);fill-rule:evenodd;clip-rule:evenodd;fill:#FAEC22;}\n\t#plane-svg .st9{fill-rule:evenodd;clip-rule:evenodd;fill:#FAEC22;}\n\t#plane-svg .st10{fill:#FFFFFF;}\n`}</style>\n <path className=\"st0\" d=\"M92,132.7c-10.1-2.5-8.2-11.5-0.4-13.9c-3.7-24.4-9.3-49.8-13-74.1c4.1-0.2,9.7-0.6,13.8-0.9 c14.9,17.8,32.7,40.2,47.6,58c14.9,4.6,24.3,5.7,39.3,10.3c38.4-2.5,75.7-4.1,112-4.7c36.1-0.7,76.7-4.1,112.5,1.9 c13.9,2.3,23.5,7.3,29.1,12.7c5.2,2,21.1,6.3,23.1,12.3c0.5,1.5-0.5,2.9-2.8,4.6c-36.3,20.4-88.5,14.2-128.9,16.3 c-15,0.1-30,0.2-45,0.2C214.4,155.7,153.3,159.2,92,132.7z\" />\n <path className=\"st1\" d=\"M91,115.1c-3.5-22.1-8.4-44.9-11.9-67c3.8-0.2,10.8-0.7,13.8-0.8c15.4,17.8,33.8,40.2,49.2,58 c15.4,4.6,25.2,5.7,40.6,10.3c39.8-2.5,78.3-4.1,115.9-4.7c37.3-0.7,79.4-4.1,116.4,1.9c1.2,0.2,2.4,0.4,3.6,0.7 c6.2,2.4,10.9,5.5,14.3,8.6c3.4,1.3,11.4,3.6,17.1,6.7c-34.4,11.8-81.2,7.4-117.3,9.2c-57.1,0.6-175.5,18.1-240.3-22.4 C91.9,115.4,91.5,115.2,91,115.1z\" />\n <path className=\"st2\" d=\"M92,132.7c-10.1-2.5-8.2-11.5-0.4-13.9l0-0.2c5.4,0.7,10.9,1.4,16.3,2.1c-5,7.1-2.5,12.9,1,18.5 C103.1,137.3,97.4,135.1,92,132.7z\" />\n <path className=\"st0\" d=\"M90.5,111.7c-0.6-4-1.3-7.9-2-11.9l-9.8-55c3.5-0.2,10.7-0.7,13.8-0.9c14.9,17.8,32.7,40.2,47.6,58 c14.9,4.6,24.3,5.7,39.3,10.3c38.4-2.5,75.7-4.1,112-4.7c36.1-0.7,76.7-4.1,112.5,1.9c13.9,2.3,23.5,7.3,29.1,12.7 c1.6,0.6,4.2,1.4,7.1,2.5c-33.5,12.9-80,8.2-115.8,10.1c-45,0.2-90,0.5-135,0.7c-37.2-3.4-69.6-11.1-97.3-23.1 C91.5,112,91,111.8,90.5,111.7z\" />\n <path className=\"st2\" d=\"M89.4,44c1.2-0.1,2.3-0.1,3.1-0.2c14.8,17.6,32.4,39.9,47.3,57.6l-5.6,2L89.4,44z\" />\n <path className=\"st3\" d=\"M423.6,115.5c3.8,2,7,4.2,9.4,6.4c0.2,0.1,0.5,0.2,0.8,0.3c-1.7,0.7-3.4,1.3-5.1,1.9 c-4.7,1.6-13.5,6.9-13.7-1.1c0-0.2-0.1-2.8-0.2-4.2c0-0.7,0.7-1.4,1.7-1.6C418.8,116.7,421.2,116.1,423.6,115.5z\" />\n <path className=\"st3\" d=\"M279.7,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C278.6,122.8,279.1,122.4,279.7,122.4L279.7,122.4z M375.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C374.3,122.8,374.8,122.4,375.4,122.4L375.4,122.4z M367.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C366.3,122.8,366.8,122.4,367.4,122.4L367.4,122.4z M359.4,122.4h1.1 c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C358.4,122.8,358.8,122.4,359.4,122.4 L359.4,122.4z M351.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C350.4,122.8,350.9,122.4,351.4,122.4L351.4,122.4z M343.5,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C342.4,122.8,342.9,122.4,343.5,122.4L343.5,122.4z M335.5,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C334.4,122.8,334.9,122.4,335.5,122.4L335.5,122.4z M327.5,122.4h1.1 c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C326.5,122.8,326.9,122.4,327.5,122.4 L327.5,122.4z M319.5,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C318.5,122.8,319,122.4,319.5,122.4L319.5,122.4z M311.6,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C310.5,122.8,311,122.4,311.6,122.4L311.6,122.4z M303.6,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C302.5,122.8,303,122.4,303.6,122.4L303.6,122.4z M295.6,122.4h1.1 c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C294.6,122.8,295,122.4,295.6,122.4L295.6,122.4 z M287.6,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C286.6,122.8,287.1,122.4,287.6,122.4z\" />\n <path className=\"st3\" d=\"M267.3,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C266.2,122.8,266.7,122.4,267.3,122.4L267.3,122.4z M259.3,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C258.3,122.8,258.7,122.4,259.3,122.4L259.3,122.4z M251.3,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C250.3,122.8,250.8,122.4,251.3,122.4L251.3,122.4z M243.4,122.4h1.1 c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C242.3,122.8,242.8,122.4,243.4,122.4 L243.4,122.4z M235.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1 C234.3,122.8,234.8,122.4,235.4,122.4L235.4,122.4z M227.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1c0,0.6-0.5,1.1-1.1,1.1h-1.1 c-0.6,0-1.1-0.5-1.1-1.1v-4.1C226.4,122.8,226.8,122.4,227.4,122.4L227.4,122.4z M219.4,122.4h1.1c0.6,0,1.1,0.5,1.1,1.1v4.1 c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1v-4.1C218.4,122.8,218.9,122.4,219.4,122.4L219.4,122.4z M211.5,122.4h1.1 c1.8,0,1.1,4.1,1.1,5.1c0,0.6-0.5,1.1-1.1,1.1h-1.1c-0.6,0-1.1-0.5-1.1-1.1C210.4,126.4,209.7,122.4,211.5,122.4z\" />\n <path className=\"st4\" d=\"M386.9,115.5c1.4,0,2.8,0,4.1,0s2.8,0,4.1,0c0.8,0,1.7,0.6,1.8,1.3c0.8,3,1.4,6,1.7,9.1c0.3,3,0.2,6,0.1,9.1 c0,0.7-0.7,1.3-1.5,1.3c-1.4,0-2.8,0-4.1,0c-1.4,0-2.8,0-4.1,0c-0.8,0-1.3-0.6-1.3-1.3c0.3-3,0.4-6,0.1-9.1c-0.3-3-1-6-1.9-9.1 C385.7,116.1,386.1,115.5,386.9,115.5z\" />\n <path className=\"st5\" d=\"M386.9,115.9c-0.5,0-0.7,0.3-0.6,0.7c0.9,3,1.6,6,1.9,9.1c0.3,3,0.2,6.1-0.1,9.1c0,0.4,0.3,0.8,0.8,0.8 c1.4,0,2.8,0,4.1,0c1.4,0,2.8,0,4.1,0c0.5,0,1-0.4,1-0.9c0.1-3,0.2-6-0.1-9c-0.3-3-0.9-6-1.7-9c-0.1-0.5-0.8-0.9-1.4-0.9 c-1.4,0-2.8,0-4.1,0S388.3,115.9,386.9,115.9z\" />\n <path className=\"st6\" d=\"M284.9,146.6c2-0.1,3.6,1.4,3.6,3.1c0,2.5,0,4.6,0,7.1c0,1.7-1.6,3.2-3.6,3.1c-4.5-0.2-27.4,1.8-27.4-3.7 c0-1.8,0-3.7,0-5.5C257.5,145.2,280.4,146.8,284.9,146.6z\" />\n <path className=\"st5\" d=\"M284.9,146.6c2-0.1,3.6,1.4,3.6,3.1v0.1v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1l0,0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0 v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0v0.1v0 v0.1v0.1v0.1v0.1c0,1.7-1.6,3.2-3.6,3.1c-4.5-0.2-27.4,1.8-27.4-3.7v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1 v0v-0.1v0V152v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0v-0.1v0V151v0V151v0v-0.1v0v-0.1v0v-0.1 C257.5,145.2,280.4,146.8,284.9,146.6z\" />\n <path className=\"st7\" d=\"M317.5,139.4c3.5-0.2,6.4,2.9,6.4,6.4c0,5.3,0,9.5,0,14.7c0,3.5-2.9,6.6-6.4,6.4c-8-0.4-48.4,3.8-48.4-7.6 c0-3.8,0-7.6,0-11.4C269,136.4,309.5,139.8,317.5,139.4z\" />\n <path className=\"st6\" d=\"M317.5,139.4c3.5-0.2,6.4,2.9,6.4,6.4c0,5.3,0,9.5,0,14.7c0,3.5-2.9,6.6-6.4,6.4l0,0V139.4L317.5,139.4z\" />\n <polygon className=\"st2\" points=\"286.8,141 21.1,93.5 17.7,99.2 207.5,145 280,141.8 \" />\n <polygon className=\"st7\" points=\"19.8,95.7 17.7,99.2 207.4,145.2 280,141.8 \" />\n <path className=\"st2\" d=\"M317.5,139.4c3.5-0.2,6.4,2.9,6.4,6.4v13.4c-0.6,0.1-1.2,0.1-1.8,0.1c-7.7-0.3-39.6,2.2-53.1-2.2v-9.2 C269,136.4,309.5,139.8,317.5,139.4z\" />\n <path className=\"st5\" d=\"M317.5,139.4c3.5-0.2,6.4,2.9,6.4,6.4v13.4c-0.6,0.1-1.2,0.1-1.8,0.1c-1.1,0-2.7,0-4.6,0V139.4L317.5,139.4z\" />\n <g>\n <defs>\n <rect id=\"SVGID_1_\" x=\"91.2\" y=\"70.7\" width=\"25.2\" height=\"32.7\" />\n </defs>\n <clipPath id=\"SVGID_2_\">\n <use xlinkHref=\"#SVGID_1_\" style={{ overflow: \"visible\" }} />\n </clipPath>\n <path className=\"st8\" d=\"M96.3,76.7l-1.2-2.9l4.1-1.6l1.2,2.8c3.9-1,7.1-0.1,9.7,2.8l-5.3,4.1c-1.2-1.2-2.5-1.5-4.1-0.9 c-1.2,0.5-1.7,1-1.4,1.7c0.1,0.2,0.3,0.4,0.5,0.5c0.3,0.1,0.9,0.1,2.1-0.1c2.8-0.5,4.8-0.7,6.1-0.7c1.3,0,2.6,0.4,3.8,1.1 c1.2,0.8,2.1,1.8,2.7,3.2c0.8,2,0.8,4-0.2,5.9c-0.9,1.9-2.5,3.5-4.8,4.6l1.2,2.9l-4.1,1.6l-1.2-2.9c-4.4,1.2-7.9-0.1-10.8-3.8 l6.3-3.8c1.2,1.5,2.8,1.9,4.7,1.2c1.4-0.5,2-1.2,1.7-1.8c-0.1-0.3-0.4-0.5-0.8-0.6c-0.4-0.1-1.1,0-2.1,0.1c-4.2,0.8-7.1,0.8-8.7,0 c-1.6-0.8-2.7-2-3.3-3.6c-0.7-1.7-0.7-3.5-0.1-5.3C92.9,79.4,94.3,77.9,96.3,76.7\" />\n </g>\n <g>\n <g>\n <g>\n <path className=\"st9\" d=\"M352.2,143.9l-0.2-0.7l1-0.2l0.2,0.7c0.9-0.1,1.6,0.2,2.1,0.9l-1.3,0.8c-0.2-0.3-0.5-0.4-0.9-0.3 c-0.3,0.1-0.4,0.2-0.4,0.3c0,0.1,0.1,0.1,0.1,0.1c0.1,0,0.2,0,0.5,0c0.6,0,1.1,0,1.4,0c0.3,0,0.6,0.2,0.8,0.4 c0.2,0.2,0.4,0.5,0.5,0.8c0.1,0.5,0.1,0.9-0.2,1.3c-0.3,0.4-0.7,0.7-1.2,0.9l0.2,0.7l-1,0.2l-0.2-0.7c-1,0.1-1.8-0.3-2.3-1.2 l1.5-0.7c0.2,0.4,0.6,0.5,1,0.4c0.3-0.1,0.5-0.2,0.4-0.4c0-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2,0-0.5,0c-1,0.1-1.6,0-2-0.3 c-0.3-0.2-0.6-0.5-0.7-0.9c-0.1-0.4-0.1-0.8,0.1-1.2C351.3,144.4,351.7,144.1,352.2,143.9z\" />\n </g>\n </g>\n </g>\n <g>\n <g>\n <path className=\"st10\" d=\"M335.1,144.4l2.2,0c0.8,0,1.2,0.1,1.6,0.4c0.4,0.3,0.6,0.7,0.6,1.2c0,1-0.7,1.7-1.9,1.7l-0.9,0l0,1.9l-1.6,0 L335.1,144.4z M337.3,146.5c0.5,0,0.7-0.2,0.7-0.5c0-0.3-0.2-0.5-0.7-0.5l-0.6,0l0,1L337.3,146.5z\" />\n <path className=\"st10\" d=\"M340,144.3l2.7-0.1c1.2,0,1.9,0.5,1.9,1.5c0,0.7-0.2,1-0.9,1.4l1,2.2l-1.8,0l-0.8-2l-0.5,0l0,2l-1.6,0 L340,144.3z M342.4,146.3c0.4,0,0.7-0.2,0.7-0.5c0-0.3-0.2-0.5-0.6-0.5l-0.7,0l0,1L342.4,146.3z\" />\n <path className=\"st10\" d=\"M345.4,144.2l1.6,0l0.1,5.2l-1.6,0L345.4,144.2z\" />\n <path className=\"st10\" d=\"M347.6,148c0.2,0.1,0.4,0.1,0.6,0.1c0.2,0,0.4-0.1,0.5-0.2c0.1-0.1,0.1-0.2,0.1-0.5l-0.1-3.3l1.5,0l0.1,3.3 c0,0.8-0.1,1.2-0.3,1.5c-0.3,0.4-0.7,0.5-1.4,0.5c-0.4,0-0.6,0-1-0.1L347.6,148z\" />\n <path className=\"st10\" d=\"M355.8,143.9l1.7,0l0.8,2.7l0.1,0.3l0.1,0.4l0.1-0.4l0.1-0.3l0.7-2.7l1.3,0l-1.5,5.2l-1.6,0L355.8,143.9z\" />\n <path className=\"st10\" d=\"M361.1,143.8l2.7-0.1c1.2,0,1.9,0.5,1.9,1.5c0,0.7-0.2,1-0.9,1.4l1,2.2l-1.8,0l-0.8-2l-0.5,0l0,2l-1.6,0 L361.1,143.8z M363.4,145.9c0.4,0,0.7-0.2,0.7-0.5c0-0.3-0.2-0.5-0.6-0.5l-0.7,0l0,1L363.4,145.9z\" />\n <path className=\"st10\" d=\"M366.5,143.7l1.6,0l0.1,5.2l-1.6,0L366.5,143.7z\" />\n <path className=\"st10\" d=\"M368.7,147.5c0.2,0.1,0.4,0.1,0.6,0.1c0.2,0,0.4-0.1,0.5-0.2c0.1-0.1,0.1-0.2,0.1-0.5l-0.1-3.3l1.5,0 l0.1,3.3c0,0.8-0.1,1.2-0.3,1.5c-0.3,0.4-0.7,0.5-1.4,0.5c-0.4,0-0.6,0-1-0.1L368.7,147.5z\" />\n <path className=\"st10\" d=\"M372.2,147.4l1.4,0l0,1.4l-1.4,0L372.2,147.4z\" />\n <path className=\"st10\" d=\"M374.3,143.5l1.5,0l1.2,1.9c0.3,0.5,0.5,0.8,0.6,1c-0.1-0.5-0.1-0.9-0.2-1.4l0-1.5l1.3,0l0.1,5.2l-1.3,0 l-1.5-2.2c-0.1-0.1-0.2-0.3-0.2-0.4c-0.2-0.3-0.2-0.3-0.3-0.7c0.1,0.4,0.1,0.6,0.1,0.8l0.1,2.5l-1.3,0L374.3,143.5z\" />\n <path className=\"st10\" d=\"M379.6,143.4l1.6,0l0.1,3.9l2,0l0,1.3l-3.6,0.1L379.6,143.4z\" />\n </g>\n </g>\n </svg>\n);\n\n\n\n","import { type SVGProps } from \"react\";\n\nexport const Cloud = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n \n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" id=\"Laag_1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 168 94\" style={{ enableBackground: \"new 0 0 168 94\" }} xmlSpace=\"preserve\">\n<style type=\"text/css\">{`\n .st0{fill-rule:evenodd;clip-rule:evenodd;fill:url(#cloud-SVGID_1_);}\n .st1{fill-rule:evenodd;clip-rule:evenodd;fill:url(#cloud-SVGID_2_);}\n .st2{fill-rule:evenodd;clip-rule:evenodd;fill:url(#cloud-SVGID_3_);}\n`}</style>\n<linearGradient id=\"cloud-SVGID_1_\" gradientUnits=\"userSpaceOnUse\" x1=\"66.1615\" y1=\"11.6471\" x2=\"96.3318\" y2=\"85.7017\">\n <stop offset=\"0.2086\" stopColor=\"#FFFFFF\"/>\n <stop offset=\"0.4042\" stopColor=\"#FCFEFF\"/>\n <stop offset=\"0.5206\" stopColor=\"#F4FAFD\"/>\n <stop offset=\"0.6162\" stopColor=\"#E6F4FB\"/>\n <stop offset=\"0.7007\" stopColor=\"#D2ECF8\"/>\n <stop offset=\"0.7777\" stopColor=\"#B8E0F4\"/>\n <stop offset=\"0.8494\" stopColor=\"#97D3F0\"/>\n <stop offset=\"0.9169\" stopColor=\"#71C2EA\"/>\n <stop offset=\"0.9795\" stopColor=\"#46B0E3\"/>\n <stop offset=\"1\" stopColor=\"#36A9E1\"/>\n</linearGradient>\n<path className=\"st0\" d=\"M130.3,43.1c0-3.5-1.6-6.6-4.2-8.9c0.3-1.1,0.5-2.2,0.5-3.3c0-6.7-5.9-12.2-13.2-12.2c-1.8,0-3.6,0.4-5.2,1 c-3.7-6.6-10.3-11.3-20.1-11.3c-13.2,0-17.9,7.7-21.6,16c-2.1-1.8-4.7-2.8-7.6-2.8c-6.5,0-11.8,5.4-11.8,12c0,0.7,0.1,1.4,0.2,2 c-8.9,1.4-15.7,9.2-15.7,18.7c0,10.4,8.3,18.9,18.6,18.9h5c1.2,4.4,7.9,7.8,16,7.8s14.8-3.4,16-7.8h20.7c10.3,0,18.6-8.5,18.6-18.9 c0-0.9-0.1-1.8-0.2-2.6C128.8,49.5,130.3,46.4,130.3,43.1z\"/>\n<g>\n <linearGradient id=\"cloud-SVGID_2_\" gradientUnits=\"userSpaceOnUse\" x1=\"112.9733\" y1=\"30.9611\" x2=\"117.4733\" y2=\"80.4611\">\n <stop offset=\"0\" stopColor=\"#FFFFFF\"/>\n <stop offset=\"0.3909\" stopColor=\"#FDFEFF\"/>\n <stop offset=\"0.5317\" stopColor=\"#F6FBFE\"/>\n <stop offset=\"0.6321\" stopColor=\"#EBF6FC\"/>\n <stop offset=\"0.7133\" stopColor=\"#DAEFF9\"/>\n <stop offset=\"0.7829\" stopColor=\"#C4E6F6\"/>\n <stop offset=\"0.8444\" stopColor=\"#A8DAF2\"/>\n <stop offset=\"0.9002\" stopColor=\"#88CCED\"/>\n <stop offset=\"0.9501\" stopColor=\"#63BCE8\"/>\n <stop offset=\"0.9958\" stopColor=\"#3AABE2\"/>\n <stop offset=\"1\" stopColor=\"#36A9E1\"/>\n </linearGradient>\n <path className=\"st1\" d=\"M150.1,61.6c0,7.5-6,13.6-13.5,13.6H94.9c-7.4,0-13.5-6.1-13.5-13.6c0-6.8,4.9-12.4,11.4-13.4 c-0.1-0.5-0.1-1-0.1-1.5c0-4.8,3.8-8.6,8.5-8.6c2.1,0,4,0.8,5.5,2c2.7-6,6.1-11.5,15.6-11.5c11.6,0,17,9,17,18.5c0,0.4,0,0.8,0,1.2 C145.5,49.5,150.1,55,150.1,61.6L150.1,61.6z M150.1,61.6\"/>\n</g>\n<g>\n <radialGradient id=\"cloud-SVGID_3_\" cx=\"48.4537\" cy=\"22.917\" r=\"52.6617\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stopColor=\"#FFFFFF\"/>\n <stop offset=\"0.3909\" stopColor=\"#FDFEFF\"/>\n <stop offset=\"0.5317\" stopColor=\"#F6FBFE\"/>\n <stop offset=\"0.6321\" stopColor=\"#EBF6FC\"/>\n <stop offset=\"0.7133\" stopColor=\"#DAEFF9\"/>\n <stop offset=\"0.7829\" stopColor=\"#C4E6F6\"/>\n <stop offset=\"0.8444\" stopColor=\"#A8DAF2\"/>\n <stop offset=\"0.9002\" stopColor=\"#88CCED\"/>\n <stop offset=\"0.9501\" stopColor=\"#63BCE8\"/>\n <stop offset=\"0.9958\" stopColor=\"#3AABE2\"/>\n <stop offset=\"1\" stopColor=\"#36A9E1\"/>\n </radialGradient>\n <path className=\"st2\" d=\"M19,51.2c0-5.8,4.1-10.6,9.5-11.8c0-0.3,0-0.7,0-1c0-8.4,4.8-16.3,15.1-16.3c8.4,0,11.4,4.9,13.8,10.2 c1.3-1.1,3-1.8,4.9-1.8c4.2,0,7.5,3.4,7.5,7.6c0,0.4,0,0.9-0.1,1.3c5.7,0.9,10,5.9,10,11.8c0,6.6-5.3,12-11.9,12H30.9 C24.4,63.2,19,57.8,19,51.2L19,51.2z M19,51.2\"/>\n</g>\n</svg>\n);","import { type SVGProps } from \"react\";\n\nexport const Dollar = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n \n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"24\" viewBox=\"0 0 19 24\" fill=\"none\">\n<path d=\"M18.3601 14.1429L18.3388 14.0786C17.5908 10.2214 14.3425 9.38571 9.70519 9.27857C6.692 9.19286 6.11501 8.89286 5.94404 8.1L5.92267 8.03571C5.77308 7.28571 6.39281 6.70714 7.58955 6.47143C9.40601 6.10714 11.4789 6.42857 13.4664 7.32857L13.5305 7.37143L15.582 2.80714L15.5179 2.76429C13.4877 1.69286 11.3293 1.26429 8.89313 1.43572L8.61532 0L4.17031 0.878571L4.4695 2.44286C1.30671 3.81429 -0.296059 6.6 0.302306 9.68571L0.323678 9.75C1.15712 13.9714 4.93964 14.4214 9.08546 14.55C12.0559 14.6786 12.6115 15 12.7611 15.75L12.7825 15.8143C12.9535 16.65 12.2483 17.25 10.8164 17.5286C8.57258 17.9786 6.28596 17.5929 3.97798 16.4143L3.91388 16.3714L1.52041 20.7643L1.58452 20.8071C3.6788 22.05 6.17912 22.65 8.82902 22.5857L9.10683 24L13.5518 23.1214L13.2954 21.8143C17.142 20.5071 19.044 17.6357 18.3601 14.1429Z\" fill=\"#FDE92F\"/>\n</svg>\n);\n\n","import { type SVGProps } from \"react\";\n\nexport const DReizenSign = ({\n className,\n ...props\n}: SVGProps<SVGSVGElement>) => (\n <svg\n className={className}\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"17 25 68 45\" xmlSpace=\"preserve\" preserveAspectRatio=\"xMidYMid meet\" id=\"dreizen-sign-svg\">\n <path style={{ fillRule: \"evenodd\", clipRule: \"evenodd\", fill: \"#FFFFFF\" }} d=\"M32.24,43.48c-2.83,1.65-3.57-4.57,0.46-7.52c6.25-4.58,13.39-7.72,21.11-7.04c16.56,1.47,16.16,15.83,13.91,13.64c-1.62-1.57-4.34-8.67-16.3-7.35C42.99,36.18,35.69,41.47,32.24,43.48\" />\n <path style={{ fillRule: \"evenodd\", clipRule: \"evenodd\", fill: \"#FFFFFF\" }} d=\"M68.53,44.5c-1.92,1.18,0.25,8.21-12.31,13.73c-2.49,0.97-5.11,1.36-7.64,1.42c2.36-6.54,4.88-18.77,1.66-18.6c-3.22,0.16-4.31,8.95-8.73,17.72c-0.06,0.11-0.1,0.21-0.15,0.32c-2.4-0.39-4.34-0.86-5.46-1.03c-3.07-0.47-3.28,7.48,2.83,8.47c6.11,1,13.43,0.62,19.58-1.98C68.34,60.32,72.21,46.76,68.53,44.5\" />\n </svg>\n);","\"use client\";\nimport clsx from \"clsx\";\nimport { Plane } from \"./plane\";\nimport { Cloud } from \"./cloud\";\nimport { Dollar } from \"./dollar\";\nimport { useBrand } from \"../../theme\";\nimport { DReizenSign } from \"./d-reizen-sign\";\n\ninterface LoadingProps {\n \"data-testid\"?: string;\n className?: string;\n plane?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n}\n\nexport const Loading = ({ className, plane = true, size = \"small\", ...props }: LoadingProps) => {\n\n\n let dollarSize = \"size-[60px]\";\n let planeSize = \"w-full h-full\";\n let cloud1Width = 200;\n let cloud1Height = 90;\n let cloud1Position = \"top-20\";\n\n let cloud2Width = 100;\n let cloud2Height = 45;\n let cloud2Position = \"bottom-24\";\n\n let cloud3Width = 100;\n let cloud3Height = 45;\n let cloud3Position = \"bottom-32\";\n\n if (size === \"small\") {\n dollarSize = \"size-[30px]\";\n planeSize = \"w-16 h-16\";\n\n cloud1Width = 60;\n cloud1Height = 27;\n cloud1Position = \"top-1\";\n\n cloud2Width = 36;\n cloud2Height = 16;\n cloud2Position = \"bottom-2\";\n\n cloud3Width = 36;\n cloud3Height = 16;\n cloud3Position = \"bottom-4\";\n } else if (size === \"medium\") {\n dollarSize = \"size-[45px]\";\n planeSize = \"w-24 h-24\";\n\n cloud1Width = 140;\n cloud1Height = 63;\n cloud1Position = \"top-6\";\n\n cloud2Width = 70;\n cloud2Height = 32;\n cloud2Position = \"bottom-6\";\n\n cloud3Width = 70;\n cloud3Height = 32;\n cloud3Position = \"bottom-10\";\n } else if (size === \"large\") {\n dollarSize = \"size-[75px]\";\n }\n\n const brand = useBrand();\n\n\n return <div\n data-component=\"loading\"\n className={clsx(className, planeSize)}\n {...props}\n >\n {plane ? \n <div className={`relative overflow-hidden ${planeSize}`}>\n <Cloud width={cloud1Width} height={cloud1Height} className={clsx(\"animate-cloud-float absolute z-10\", cloud1Position)} />\n <Plane className=\"absolute inset-0 w-full h-full animate-plane-bounce z-20\" />\n <Cloud width={cloud2Width} height={cloud2Height} className={clsx(\"animate-cloud-float-2 absolute z-30\", cloud2Position)} />\n <Cloud width={cloud3Width} height={cloud3Height} className={clsx(\"animate-cloud-float-3 absolute z-40 opacity-98\", cloud3Position)} />\n </div>\n : <div className=\"relative overflow-hidden w-full h-full\">\n <div className={`${brand === \"prijsvrij\" ? \"bg-primary\" : \"bg-secondary\"} rounded-full ${dollarSize} flex items-center justify-center`}>\n {brand === \"prijsvrij\" ? <Dollar className=\"animate-spin-slow w-full h-full p-2\" /> : <DReizenSign className=\" w-full h-full p-2 animate-spin-slow\" />} \n </div>\n </div>\n }\n \n</div>\n}","\"use client\";\nimport { Button } from \"@components/button\";\nimport clsx from \"clsx\";\nimport { IconCancel } from \"../../icons\";\n\ninterface WarningTextProps {\n \"data-testid\"?: string;\n className?: string;\n warningText: string;\n onClick?: () => void;\n type: 'fit' | 'full' | 'fit-with-padding'\n}\n\nexport const WarningText = ({ className, warningText, onClick, type, ...props }: WarningTextProps) => (\n <div\n data-component=\"warning-text\"\n className={clsx(className, 'Warning-text flex items-start justify-between bg-primary-light-75 p-2.5', type === 'fit' ? 'w-fit' : type === 'full' ? 'w-full' : 'w-fit')}\n {...props}\n >\n {warningText && <span className=\"inline\">{warningText}<Button variant=\"textButton\" className=\"!inline-flex ml-2\">[Link...]</Button></span>}\n <Button variant=\"textButton\" onClick={onClick}><IconCancel width={24} height={24} className={`text-secondary ml-2 ${type === 'fit-with-padding' ? 'ml-10' : ''}`} /></Button>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport { cn } from \"@utils/cn\";\n\ninterface ReviewProps {\n \"data-testid\"?: string;\n className?: string;\n rating: number;\n showArrow?: boolean;\n}\n\nexport const ReviewSmall = ({ className, rating, showArrow = true, \"data-testid\": dataTestId = \"review\", ...props }: ReviewProps) => {\n\n\n const formatRating = (rating: number) => {\n return rating.toFixed(1);\n };\n\n const ratingProcessed = formatRating(rating);\n \n\n const RatingNumber = ({className, showArrow}: {className?: string; showArrow?: boolean}) => (\n <div className=\"relative\">\n <span className={cn(\"review-small-color review-small-number-color\", className)}>{ratingProcessed}</span>\n {showArrow && (\n <div className=\"absolute left-1/2 -translate-x-1/2 -bottom-[6px]\">\n <div className=\"w-0 h-0 border-l-[8px] border-l-transparent border-r-[8px] border-r-transparent border-t-[8px] review-small-arrow\"></div>\n </div>\n )}\n </div>\n );\n\n\n\n return <div\n data-component=\"review\"\n data-testid={dataTestId}\n className={clsx(className, 'flex flex-col w-fit')}\n {...props}\n > \n <div className=\"flex flex-row gap-2 review-small rounded-sm\">\n <div className=\"flex content-center items-center font-bold\">\n <RatingNumber className=\"px-1 rounded-xs\" showArrow={showArrow} />\n </div>\n </div>\n </div>\n}\n","\"use client\";\nimport { HotelData } from \"@components/hotelAccomodationResults\";\nimport { PriceBox } from \"@components/priceBox\";\nimport { ReviewSmall } from \"@components/reviewSmall\";\nimport { Slider } from \"@components/slider\";\nimport clsx from \"clsx\";\nimport type { ReactNode } from \"react\";\n\ninterface HeroProps {\n \"data-testid\"?: string;\n className?: string;\n sliderImages: string[];\n topRightImage: string;\n bottomLeftImage: string;\n bottomRightImage: string;\n bottomRightOverlay?: ReactNode;\n hotel: HotelData;\n priceBoxPosition?: \"start\" | \"end\";\n}\n\nexport const Hero = ({\n className,\n sliderImages,\n topRightImage,\n bottomLeftImage,\n bottomRightImage,\n bottomRightOverlay,\n hotel,\n priceBoxPosition = \"end\",\n ...props\n}: HeroProps) => (\n <div\n data-component=\"hero\"\n className={clsx(className, 'bg-white p-1 rounded-lg hero-shadow')}\n {...props}\n >\n <div className=\"flex flex-col md:flex-row\">\n <div\n className={clsx(\n \"grid gap-1 md:aspect-[16/6] md:grid-cols-3 md:grid-rows-[2fr_1fr]\",\n priceBoxPosition === \"start\" ? \"order-2 md:order-2\" : \"order-1 md:order-1\",\n )}\n >\n <div className=\"md:col-span-2 md:row-span-2 overflow-hidden rounded-l-lg relative\">\n <ReviewSmall className=\"absolute right-4 top-4 z-50\" rating={9.3} />\n <Slider\n className=\"h-full max-h-[340px] md:h-full rounded-l-lg\"\n slides={sliderImages.map((src, index) => (\n <img\n key={index}\n src={src}\n alt={`Hero slide ${index + 1}`}\n className=\"h-full w-full object-cover rounded-l-lg\"\n />\n ))}\n showArrows={false}\n dotsPlacement=\"inside\" \n options={{ loop: true }}\n lazyLoad\n />\n </div>\n\n <div className=\"hidden md:flex col-span-1 row-span-1 overflow-hidden\">\n <img\n src={topRightImage}\n alt=\"Hero image 1\"\n className=\"h-full w-full object-cover\"\n />\n </div>\n\n <div className=\"hidden md:grid col-span-1 row-span-1 grid-cols-2 gap-1\">\n <div className=\"overflow-hidden\">\n <img\n src={bottomLeftImage}\n alt=\"Hero image 2\"\n className=\"h-full w-full object-cover\"\n />\n </div>\n\n <div className=\"relative overflow-hidden \">\n <img\n src={bottomRightImage}\n alt=\"Hero image 3\"\n className=\"h-full w-full object-cover\"\n />\n {bottomRightOverlay && (\n <div className=\"absolute inset-0\">{bottomRightOverlay}</div>\n )}\n </div>\n </div>\n </div>\n <div className={clsx(priceBoxPosition === \"start\" ? \"order-1 md:order-1\" : \"order-2 md:order-2\")}>\n <PriceBox noHover noBorder hotel={hotel} brand={\"prijsvrij\"} />\n </div>\n </div>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useBrand } from \"../../theme\";\nimport { cn } from \"@utils/cn\";\n\ninterface ReviewProps {\n \"data-testid\"?: string;\n className?: string;\n rating: number;\n ratingText: string;\n ratingCount: number;\n}\n\nexport const Review = ({ className, rating, ratingText, ratingCount, \"data-testid\": dataTestId = \"review\", ...props }: ReviewProps) => {\n\n const brand = useBrand();\n\n const formatRating = (rating: number) => {\n return rating.toFixed(1);\n };\n\n const formatRatingCount = (count: number) => {\n if (count < 100) {\n return count.toString();\n }\n if (count > 500) {\n return \"500+ beoordelingen\";\n }\n const hundreds = Math.floor(count / 100);\n return `${hundreds}00+ beoordelingen`;\n };\n\n const ratingProcessed = formatRating(rating);\n const ratingCountProcessed = formatRatingCount(ratingCount);\n\n const isDreizen = brand === 'dreizen';\n\n const RatingNumber = ({className, showArrow}: {className?: string; showArrow?: boolean}) => (\n <div className=\"relative\">\n <span className={cn(\"review-color review-number-color\", className)}>{ratingProcessed}</span>\n {showArrow && (\n <div className=\"absolute left-1/2 -translate-x-1/2 -bottom-[3px]\">\n <div className=\"w-0 h-0 border-l-[4px] border-l-transparent border-r-[4px] border-r-transparent border-t-[4px] border-t-[#0077bf]\"></div>\n </div>\n )}\n </div>\n );\n\n const RatingText = ({className}: {className?: string;}) => (\n <span className={cn('review-color', className)}>{ratingText}</span>\n );\n\n const RatingCount = ({className}: {className?: string;}) => (\n <span className={cn('', className)}>{ratingCountProcessed}</span>\n );\n\n return <div\n data-component=\"review\"\n data-testid={dataTestId}\n className={clsx(className, 'review-shadow review p-2 bg-white flex flex-col w-fit')}\n {...props}\n >\n {isDreizen ? (\n <div className=\"flex flex-row gap-2\">\n <div className=\"flex content-center items-center font-bold\">\n <RatingNumber className=\"px-1 rounded-xs\" showArrow={true} />\n </div>\n <div className=\"flex flex-col\">\n <RatingText className=\"text-[10px]\" />\n <RatingCount className=\"text-[10px]\" />\n </div>\n </div>\n ) : (\n <div className=\"flex flex-col\">\n <div className=\"flex flex-row gap-1\">\n <RatingNumber className=\"font-bold\" />\n <RatingText className=\"font-bold\" />\n </div>\n <RatingCount className=\"text-[12px] text-gray-400 font-medium\" />\n </div>\n )}\n </div>\n}\n","\"use client\";\nimport { Rating } from \"@components/rating\";\nimport { Review } from \"@components/review\";\nimport { Usp, UspItem } from \"@components/usp\";\nimport clsx from \"clsx\";\nimport { IconHeart, IconSuccess } from \"../../icons\";\nimport { PriceCheck } from \"@components/priceCheck\";\nimport { useBrand } from \"../../theme\";\nimport { Divider } from \"@components/divider\";\nimport { countries } from \"@utils/countries\";\nimport { PriceBox } from \"@components/priceBox\";\n\ninterface HotelAccomodationResultsProps {\n \"data-testid\"?: string;\n className?: string;\n hotel: HotelData;\n onClick?: (() => void) | undefined;\n}\n\nexport interface HotelData {\n Id: string;\n Name: string;\n Classification: number[];\n City: string;\n Country: string;\n Image: string;\n Images: string[];\n Url: string;\n TripUrl: string;\n Review: {\n Grade: number;\n NrReviews: number;\n NrReviewsValue: string;\n };\n Price: number;\n PriceInfo: string;\n ReviewText: string;\n Date: string;\n HotelUsps: string[];\n Region: string;\n Transport: string;\n BoardType: string;\n DepartureDate: string;\n BoardTypeHuman: string;\n Duration: number;\n TransferIncluded: boolean;\n DeparturePoint: string;\n DeparturePointHuman: string;\n}\n\nexport const HotelAccomodationResults = ({ className, hotel, \"data-testid\": dataTestId = \"hotel-accomodation-results\", onClick, ...props }: HotelAccomodationResultsProps) => {\n\n const brand = useBrand('prijsvrij');\n \n // Convert Classification array to rating number (count of non-zero values)\n const rating = hotel.Classification.filter(c => c > 0).length;\n \n // Convert HotelUsps array to UspItem format\n const usps: UspItem[] = hotel.HotelUsps.map(usp => ({ \n text: usp,\n icon: <IconSuccess className=\"text-usp-icon-color\" />\n }));\n\n return <div\n data-component=\"hotel-accomodation-results\"\n data-testid={dataTestId}\n className={clsx(className, 'flex flex-col md:flex-row md:gap-8')}\n {...props}\n >\n <div className=\"object-cover w-full block md:max-w-[320px] rounded-sm overflow-hidden relative\">\n <img src={hotel.Image} alt={hotel.Name} className=\"md:aspect-square object-cover\" />\n <div className=\"absolute top-4 right-4 w-full h-full flex justify-end items-start\"><IconHeart className=\"w-6 h-6 text-white hover:text-red-500 cursor-pointer\" /></div>\n <div className=\"block md:hidden absolute z-20 right-8 bottom-8\"><PriceCheck price={hotel.Price} text={hotel.PriceInfo} /></div>\n </div>\n <div className=\"flex flex-col gap-2 flex-1 pb-4 md:pb-0\">\n <div className=\"flex flex-col md:flex-row gap-2 md:items-center mt-2 md:mt-0\">\n <span className=\"text-xl hotel-accomodation-results-title font-bold whitespace-nowrap\">{hotel.Name}</span>\n <span><Rating rating={rating} /></span>\n </div>\n <div className=\"flex flex-row gap-2 items-start mt-1\">\n <span className=\"\">\n {hotel.Country && <img src={`https://www.prijsvrij.nl/MVVMC/Themes/Images/Base/ico/flags/${countries.find(c => c.Name === hotel.Country)?.CountryCode}.svg`} width={24} height={24} alt={hotel.Country} />}\n </span>\n <span className=\"hotel-accomodation-results-location text-sm items-center justify-center flex align-center\">{hotel.City} - {hotel.Region} - {hotel.Country}</span>\n </div>\n <Divider className=\"md:hidden mt-2\" />\n <div className=\"my-2 md:my-6\">\n <Review rating={hotel.Review.Grade} ratingText={hotel.ReviewText} ratingCount={hotel.Review.NrReviews} />\n </div>\n <div>\n <Usp orientation=\"vertical\" uspItems={usps} className=\"font-normal gap-2\" />\n </div>\n </div>\n <div className=\"flex-col items-end flex\">\n <PriceBox hidePrice className=\"w-full md:w-auto\" brand={brand} hotel={hotel} onClick={onClick} />\n </div>\n </div>\n}","\"use client\";\nimport { useState } from \"react\";\nimport clsx from \"clsx\";\nimport { format, differenceInMinutes, parse } from \"date-fns\";\nimport { nl } from \"date-fns/locale\";\nimport { IconArrowDown, IconArrowUp, IconClock, IconPlane, IconTransfer } from \"../../icons\";\n\nexport interface FlightPoint {\n Code: string;\n Name: string;\n}\n\nexport interface Carrier {\n IcaoCode: string;\n Code: string;\n Name: string;\n}\n\nexport interface FlightClass {\n Code: string;\n Name: string;\n}\n\nexport interface StopOver {\n ArrivalPoint: FlightPoint;\n DeparturePoint: FlightPoint;\n FlightNumber: string;\n DepartureDateTime: string;\n ArrivalDateTime: string;\n Carrier: Carrier;\n Id: string;\n Class: FlightClass;\n TotalDurationInMinutes: number;\n TimeBetweenFlightsInMinutes: number;\n}\n\nexport interface FlightClassOption {\n Allotment: number;\n Code: string;\n Currency: number;\n Id: string;\n Name: string;\n PricePerPerson: number;\n}\n\nexport interface FlightLeg {\n ArrivalPoint: FlightPoint;\n DeparturePoint: FlightPoint;\n FlightNumber: string;\n DepartureDateTime: string;\n ArrivalDateTime: string;\n Carrier: Carrier;\n Id: string;\n Class: FlightClass;\n StopOvers: StopOver[];\n TotalDurationInMinutes: number;\n FlightClassOptions: FlightClassOption[];\n TimeBetweenFlightsInMinutes: number;\n}\n\nexport interface FlightOption {\n To: FlightLeg[];\n From: FlightLeg[];\n Id: string;\n AlternativeIds?: string[];\n}\n\ninterface FlightSwitchProps {\n \"data-testid\"?: string;\n className?: string;\n leg: FlightLeg;\n direction: \"to\" | \"from\";\n onClassSelect?: (option: FlightClassOption) => void;\n}\n\nfunction parseDateTime(dateTime: string): Date {\n return parse(dateTime, \"yyyy-MM-dd HH:mm:ss\", new Date());\n}\n\nfunction formatDate(dateTime: string): string {\n const date = parseDateTime(dateTime);\n return format(date, \"EEE d MMM yyyy\", { locale: nl });\n}\n\nfunction formatTime(dateTime: string): string {\n const date = parseDateTime(dateTime);\n return format(date, \"HH:mm\");\n}\n\nfunction formatDuration(departureDt: string, arrivalDt: string): string {\n const departure = parseDateTime(departureDt);\n const arrival = parseDateTime(arrivalDt);\n const totalMinutes = differenceInMinutes(arrival, departure);\n const hours = Math.floor(totalMinutes / 60);\n const minutes = totalMinutes % 60;\n if (minutes === 0) return `${hours}u`;\n return `${hours}u ${minutes}m`;\n}\n\nfunction formatPrice(priceInCents: number): string {\n const euros = priceInCents / 100;\n const hasDecimals = euros % 1 !== 0;\n if (hasDecimals) {\n return `€ ${euros.toFixed(2).replace(\".\", \",\")}`;\n }\n return `€ ${euros},-`;\n}\n\nfunction formatMinutes(minutes: number): string {\n const hours = Math.floor(minutes / 60);\n const mins = minutes % 60;\n if (hours === 0) return `${mins}m`;\n if (mins === 0) return `${hours}u`;\n return `${hours}u ${mins}m`;\n}\n\nfunction stopOverLabel(stopOvers: StopOver[]): string {\n const stops = stopOvers.length - 1;\n return `${stops} tussenstop${stops > 1 ? \"s\" : \"\"}`;\n}\n\nfunction TimelineDot({ size = 9 }: { size?: 7 | 9 }) {\n return (\n <span\n className={clsx(\n \"rounded-full border-[#EFF8FE] border-[1px] bg-primary shrink-0\",\n size === 9 ? \"w-[9px] h-[9px]\" : \"w-[7px] h-[7px]\"\n )}\n />\n );\n}\n\nfunction TimelineSegment({ children }: { children: React.ReactNode }) {\n return (\n <div className=\"flex flex-row\">\n <div className=\"flex flex-col items-center w-[9px] ml-[1px] mr-4 py-1\">\n <TimelineDot />\n <div className=\"w-[1px] flex-1 bg-primary\" />\n <TimelineDot />\n </div>\n <div className=\"flex flex-col gap-1 w-full py-1\">\n {children}\n </div>\n </div>\n );\n}\n\nfunction CompactTimeline({\n leg,\n hasStopOvers,\n onToggleStopOvers,\n}: {\n leg: FlightLeg;\n hasStopOvers: boolean;\n onToggleStopOvers: () => void;\n}) {\n const duration = formatDuration(leg.DepartureDateTime, leg.ArrivalDateTime);\n\n return (\n <div className=\"flex flex-row\">\n <div className=\"flex flex-col items-center w-[9px] ml-[1px] mr-4 py-1\">\n <TimelineDot />\n <div className=\"w-[1px] flex-1 bg-primary\" />\n {hasStopOvers && (\n <>\n <TimelineDot size={7} />\n <div className=\"w-[1px] flex-1 bg-primary\" />\n </>\n )}\n <TimelineDot />\n </div>\n <div className=\"flex flex-col gap-2 w-full\">\n <div className=\"flex flex-row gap-2\">\n <span className=\"font-bold\">{formatTime(leg.DepartureDateTime)}</span>\n <span>{leg.DeparturePoint.Name} ({leg.DeparturePoint.Code})</span>\n </div>\n {hasStopOvers && (\n <button\n type=\"button\"\n className=\"text-xs flex flex-row gap-1 items-center text-primary cursor-pointer bg-transparent border-none p-0\"\n onClick={onToggleStopOvers}\n >\n {stopOverLabel(leg.StopOvers)} <IconArrowDown width={16} height={16} />\n </button>\n )}\n <div className=\"flex flex-col sm:flex-row w-full justify-between\">\n <div className=\"flex flex-row gap-2\">\n <span className=\"font-bold\">{formatTime(leg.ArrivalDateTime)}</span>\n <span>{leg.ArrivalPoint.Name} ({leg.ArrivalPoint.Code})</span>\n </div>\n <span className=\"text-gray-500 items-center flex text-xs flex-row whitespace-nowrap gap-1\">\n <IconClock width={16} height={16} /> {duration} totale reistijd\n </span>\n </div>\n </div>\n </div>\n );\n}\n\nfunction ExpandedTimeline({\n leg,\n onToggleStopOvers,\n}: {\n leg: FlightLeg;\n onToggleStopOvers: () => void;\n}) {\n return (\n <div className=\"flex flex-col\">\n {leg.StopOvers.map((stopOver, index) => (\n <div key={stopOver.Id}>\n <TimelineSegment>\n <div className=\"flex flex-row gap-2\">\n <span className=\"font-bold\">{formatTime(stopOver.DepartureDateTime)}</span>\n <span>{stopOver.DeparturePoint.Name} ({stopOver.DeparturePoint.Code})</span>\n </div>\n <div className=\"text-xs text-secondary\">\n {stopOver.Carrier.Name} - {stopOver.Class.Name}\n </div>\n <div className=\"flex flex-row gap-2\">\n <span className=\"font-bold\">{formatTime(stopOver.ArrivalDateTime)}</span>\n <span>{stopOver.ArrivalPoint.Name} ({stopOver.ArrivalPoint.Code})</span>\n </div>\n </TimelineSegment>\n \n {index === 0 && (\n <div className=\"flex flex-row gap-1\">\n <button\n type=\"button\"\n className=\"text-xs flex flex-row gap-1 items-center text-primary cursor-pointer bg-transparent border-none p-0 py-1\"\n onClick={onToggleStopOvers}\n >\n {stopOverLabel(leg.StopOvers)} <IconArrowUp width={16} height={16} />\n </button>\n {stopOver.TimeBetweenFlightsInMinutes > 0 && (\n <div className=\"flex flex-row items-center gap-1 text-xs text-gray-500 py-2\">\n <IconTransfer width={14} height={14} />\n <span>{formatMinutes(stopOver.TimeBetweenFlightsInMinutes)} transfertijd</span>\n </div>\n )}\n </div>\n )}\n </div>\n ))}\n </div>\n );\n}\n\nexport const FlightSwitch = ({\n className,\n leg,\n direction,\n onClassSelect,\n ...props\n}: FlightSwitchProps) => {\n const [stopOversOpen, setStopOversOpen] = useState(false);\n const [selectedClassId, setSelectedClassId] = useState<string | null>(null);\n const hasStopOvers = leg.StopOvers && leg.StopOvers.length > 1;\n \n return (\n <div\n data-component=\"flight-switch\"\n className={clsx(\n className,\n \"border border-primary-light-50 bg-white flex flex-col divide-y divide-primary-light-50 rounded-sm\"\n )}\n {...props}\n >\n <div className=\"p-4\">\n <div className=\"flex flex-row justify-between mb-2\">\n <div className=\"flex flex-row items-center gap-2\">\n <span>\n <IconPlane\n width={24}\n height={24}\n className={clsx(\n \"text-secondary\",\n direction === \"to\" ? \"rotate-90\" : \"-rotate-90\"\n )}\n />\n </span>\n <span className=\"text-secondary font-medium text-base\">\n {formatDate(leg.DepartureDateTime)}\n </span>\n </div>\n </div>\n {stopOversOpen ? (\n <ExpandedTimeline\n leg={leg}\n onToggleStopOvers={() => setStopOversOpen(false)}\n />\n ) : (\n <CompactTimeline\n leg={leg}\n hasStopOvers={hasStopOvers}\n onToggleStopOvers={() => setStopOversOpen(true)}\n />\n )}\n </div>\n {leg.FlightClassOptions?.map((option) => (\n <button\n key={option.Id}\n type=\"button\"\n className={clsx(\n \"px-4 py-2 flex flex-row justify-between w-full text-left hover:bg-[#eff8fe] cursor-pointer transition-colors\",\n selectedClassId === option.Id && \"bg-[#eff8fe]\"\n )}\n onClick={() => {\n setSelectedClassId(option.Id);\n onClassSelect?.(option);\n }}\n >\n <span className=\"flex flex-row items-center gap-1\">\n <span>{option.Name}</span>\n </span>\n <span>\n {option.PricePerPerson === 0\n ? \"Inbegrepen\"\n : `+ ${formatPrice(option.PricePerPerson)}`}\n </span>\n </button>\n ))}\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconPresent } from \"../../icons\";\n\ninterface GiftCardProps {\n \"data-testid\"?: string;\n className?: string;\n amount?: string;\n amountTotal?: string;\n cardNumber?: string;\n validUntilDate?: string;\n}\n\nconst setCurrencyValue = (value: string, showCurrencySymbol: boolean = true) => {\n return new Intl.NumberFormat('nl-NL', { \n style: showCurrencySymbol ? 'currency' : 'decimal', \n currency: 'EUR',\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).format(Number(value));\n};\n\nexport const GiftCard = ({ className, amount, amountTotal, cardNumber, validUntilDate, ...props }: GiftCardProps) => (\n <div\n data-component=\"gift-card\"\n className={clsx(className, 'rounded-sm bg-primary gift-card text-white p-3 flex flex-row w-fit gap-8')}\n {...props}\n >\n <div className=\"flex flex-col\">\n <span className=\"mb-1.5 text-xs sm:text-2xl\"><span className=\"font-bold gift-card-amount\">{setCurrencyValue(amount || '0')}</span> / {setCurrencyValue(amountTotal || '0', false)}</span>\n <span className=\"text-xs\">{cardNumber}</span>\n <span className=\"uppercase tracking-[0.8px] text-[10px]\">Geldig t/m {validUntilDate}</span>\n </div>\n <span className=\"flex items-center mr-3\">\n <IconPresent className=\"size-[28px] sm:size-[56px]\" /> \n </span>\n \n </div>\n);\n","import { Brand } from \"../../theme\";\n\ninterface ViewedAccomodationsImageProps {\n brand: Brand;\n}\n\nexport const ViewedAccomodationsImage = ({ brand }: ViewedAccomodationsImageProps) => {\n\n\n return <>{brand === 'prijsvrij' ? <svg width=\"129\" height=\"138\" viewBox=\"0 0 129 138\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<circle cx=\"60.2157\" cy=\"68.2706\" r=\"59.7294\" fill=\"#80C8F8\"></circle>\n<path d=\"M72.1008 35.1365C72.8364 35.1365 73.0082 34.5452 73.2472 33.9821C73.3909 33.6423 73.811 33.1036 73.6691 32.6944C73.544 32.334 73.3984 32.12 73.025 32.12L72.7524 32.1707C72.1606 31.7483 71.6789 32.2176 71.3391 32.685C71.0049 33.143 70.8425 33.7399 70.9489 34.3406C71.059 34.9732 71.4922 35.1384 72.1027 35.1384L72.1008 35.1365Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M73.7493 32.2174C73.8371 32.3113 73.9678 32.5009 73.9977 32.6398C74.3524 33.0152 74.1937 33.1654 74.8359 33.2179L75.2579 33.6666C74.948 33.6666 74.3505 34.0401 74.315 34.3649C74.3076 34.4381 74.3262 34.9787 74.3673 35.0331C74.4569 35.1533 74.8378 35.1852 74.9704 35.2396C74.8919 35.2452 74.8229 35.264 74.7389 35.2659C74.6735 35.4555 74.47 35.5944 74.3953 35.7915C74.3468 35.9191 74.3823 36.0487 74.3636 36.1838C74.3468 36.3058 74.287 36.3865 74.2926 36.5048C74.8714 36.5423 75.3176 36.3865 75.902 36.3584C76.1951 36.3434 76.4453 36.2758 76.7197 36.2289C76.9961 36.1819 77.2761 36.1369 77.5356 36.0543C78.1723 35.8497 78.2974 35.5249 78.0789 34.9374C77.9744 34.6558 77.937 34.3855 77.7373 34.1584C77.5431 33.9388 77.3433 33.8374 77.1547 33.6347C76.9774 33.447 76.8411 33.3043 76.6171 33.1391C76.4061 32.9833 76.1858 32.8707 76.0084 32.6586C75.6724 32.2569 75.4054 31.7144 75.1291 31.3014C74.8415 30.8678 74.5354 30.436 74.0555 30.177C73.8408 30.0606 73.5533 30.0081 73.3199 30.1395C73.053 30.2896 73.0604 30.5599 73.0772 30.8453C73.1071 31.399 73.5869 31.7444 73.7512 32.2118L73.7493 32.2174Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M25.928 77.2611C26.3873 77.109 26.4433 76.5084 26.9306 76.4258C27.177 76.3845 27.4478 76.4727 27.6942 76.4258C28.3047 76.3094 27.8081 75.8026 27.4496 75.7256C26.9698 75.6242 26.4713 75.7519 25.9878 75.7519C25.4053 75.7519 24.9385 75.8082 24.6678 75.277C24.552 75.048 24.4662 74.8809 24.2981 74.7044C24.0797 74.4773 23.8743 74.2783 23.738 73.963C23.5681 73.5613 23.5793 72.9268 23.626 72.4594C23.6522 72.1966 23.7194 71.9451 23.7007 71.6691C23.6876 71.4626 23.5644 70.9952 23.4375 70.8469C23.2694 70.648 22.868 70.6273 22.6328 70.6142C22.2071 70.5916 21.8337 70.5485 21.4192 70.464C21.1877 70.4171 20.8087 70.3589 20.65 70.1787C20.4801 69.9835 20.594 69.6606 20.6538 69.4466C20.7826 68.9736 21.0066 68.6094 21.1746 68.1664C21.3147 67.7985 21.52 67.4324 21.5182 67.0364C21.5182 66.7473 21.5331 66.4488 21.4827 66.1785C21.4211 65.8538 21.3856 65.7111 21.0216 65.728C20.7191 65.743 20.4745 65.8857 20.1833 65.9307C20.1273 66.0471 20.0601 66.0114 19.9686 66.0846C19.5261 66.4319 19.4271 67.0589 19.0015 67.4306C18.544 67.8266 17.9111 67.8473 17.3268 67.8229C16.72 67.7966 16.4511 67.2991 16.1057 66.8637C15.9228 66.6365 15.7641 66.3625 15.6633 66.0753C15.4915 65.5835 15.3384 65.0335 15.344 64.506C15.3477 64.1831 15.3851 63.8771 15.484 63.5806C15.5998 63.237 15.6259 62.9067 15.7155 62.5594C15.7921 62.2591 15.9415 61.9944 16.018 61.6922C16.186 61.3787 16.2607 61.1046 16.3858 60.8137C16.4829 60.5828 16.7835 60.1792 17.028 60.1135C17.183 59.8882 17.7711 59.5766 18.0418 59.5428C18.7382 59.4584 19.3581 59.6686 20.0358 59.6686C20.4092 59.6686 20.5324 59.6686 20.7508 59.3927C20.8871 59.2181 20.9992 58.9647 21.1597 58.777C21.3782 58.5217 21.6209 58.563 21.942 58.5911C22.265 58.6193 22.4031 58.6925 22.6682 58.8652C22.9464 59.0473 23.1275 58.9759 23.4206 58.9009C23.8221 58.7995 23.893 58.8821 23.9509 59.25C23.9845 59.4715 24.0293 59.7906 24.1021 60.0309C24.272 60.6034 24.4214 61.1609 24.7649 61.6884C24.9068 61.908 25.0823 62.2328 25.3101 62.3792C25.5901 62.5594 25.704 62.3585 25.9299 62.2816C26.0886 61.6283 25.8814 60.885 25.7899 60.258C25.7395 59.9239 25.6349 59.6592 25.6349 59.3176C25.6349 58.4804 25.5266 57.722 26.2734 57.1795C26.4825 57.0275 26.7047 56.9224 26.9194 56.776C27.1098 56.6464 27.2928 56.47 27.515 56.3986C27.6009 56.2034 27.9369 56.0364 28.0956 55.8806C28.5792 55.4056 29.0235 54.9889 29.3857 54.3939C29.5089 54.1911 29.6452 53.9753 29.7143 53.7744C29.8114 53.4872 29.7778 53.1644 29.8076 52.8621C29.8599 52.3121 30.1568 51.5275 30.7299 51.3717C30.982 51.3022 31.1108 51.2985 31.2079 51.015C31.277 50.8123 31.3405 50.5964 31.4226 50.3993C31.8203 50.1365 32.0107 49.6091 32.4289 49.3519C32.8341 49.1041 33.3363 49.0609 33.7564 48.8432C34.2026 48.6104 34.2212 48.3871 34.2156 47.9009C34.2119 47.4992 34.5554 47.3039 34.8541 47.09C35.179 46.8572 35.4497 46.5231 35.7876 46.3109C36.0938 46.1195 36.6502 46.0481 36.9937 46.0313C38.4033 45.9693 39.8428 46.1251 41.1665 45.5657C41.5119 45.4193 41.9282 45.241 42.2026 44.9575C42.3968 44.7586 42.3856 44.4301 42.1821 44.2367C41.749 43.8219 40.9406 44.5633 40.584 44.7604C40.0015 45.0814 39.1912 44.8036 38.9205 44.2179C38.7954 43.9439 38.73 43.6454 38.9018 43.3864C39.0381 43.1836 39.292 43.0429 39.4227 42.8364C39.4936 42.7237 39.5459 42.6261 39.5216 42.4666C39.488 42.2488 39.4918 42.2864 39.2696 42.2657C39.0157 42.2413 38.7226 42.2751 38.4799 42.3352C38.2035 42.4028 37.9552 42.5173 37.6826 42.6149C37.4231 42.7069 36.7193 42.8045 36.4691 42.6468C36.6203 42.5323 36.7081 42.354 36.8537 42.247C37.0535 42.0987 37.313 42.0104 37.5594 41.9241C37.8805 41.8115 38.2017 41.6406 38.5004 41.4173C38.9167 41.1057 39.5776 41.2427 40.0929 41.2202C40.7146 41.1939 41.2878 41.0681 41.9263 41.0681C42.3931 41.0681 42.9308 41.085 43.3546 40.8504C43.56 40.7359 43.6682 40.5406 43.8531 40.4092C44.0342 40.2797 44.2862 40.1971 44.5028 40.1427C44.8501 40.0563 45.1562 40.0226 45.455 39.8574C46.0039 39.5533 46.1943 38.9075 45.7705 38.3744C45.6249 38.1905 45.3784 38.1154 45.2365 37.9239C45.0648 37.6949 45.0666 37.434 44.9751 37.1749C44.7884 36.6606 43.9128 36.8408 43.5413 36.3959C43.2482 36.0468 43.4367 35.2284 43.4125 34.7628C43.3975 34.4606 43.3789 34.1659 43.166 33.9594C42.9812 33.7792 42.7105 33.6065 42.6414 33.3456C42.4491 33.263 42.4286 32.9458 42.3464 32.7843C42.2661 32.6229 42.1597 32.3301 42.0197 32.2156C41.65 31.919 41.4708 32.6886 41.3233 32.8819C41.1123 33.1616 40.6586 33.2517 40.3935 33.5108C40.1807 33.7173 40.1788 33.7961 39.8409 33.7436C39.6673 33.7154 39.4899 33.6891 39.3349 33.6159C39.0026 33.4601 39.0325 33.3099 39.1016 32.957C39.1576 32.6623 39.2472 32.3751 39.2472 32.071C39.2472 31.7669 39.3275 31.5229 39.0175 31.3784C38.913 31.3296 38.7226 31.3352 38.6385 31.2582C38.5527 31.1794 38.5975 31.1062 38.5527 30.9898C38.4294 30.6838 38.2297 30.6575 37.9328 30.5506C37.6322 30.4436 37.3541 30.2784 37.0404 30.1826C36.5494 30.0306 35.6924 29.9893 35.2089 30.2239C34.8597 30.5975 34.7944 31.0086 34.6842 31.5192C34.5554 32.1067 34.3221 32.7074 33.8422 33.0809C33.6145 33.2593 33.3792 33.4751 33.5435 33.7886C33.7582 34.1997 34.197 34.2691 34.1895 34.7741C34.1783 35.525 33.9561 35.7333 33.4016 36.1238C32.9591 36.4354 32.414 36.5424 31.9118 36.7526C31.6448 36.9441 31.4487 37.0285 31.3423 37.3476C31.2564 37.6086 31.2882 37.9296 31.2882 38.2205C31.2882 38.6935 31.3927 39.6096 30.87 39.7654C30.6123 39.8424 30.1213 39.726 29.9141 39.5964C29.6714 39.4444 29.6434 39.3168 29.6583 39.0014C29.6826 38.4458 30.0952 37.8714 29.8002 37.357C29.6788 37.143 29.5201 36.8145 29.3596 36.6268C29.2139 36.4541 28.8816 36.3715 28.6632 36.2927C28.0732 36.0825 27.8081 35.5662 27.3077 35.2847C26.8205 35.0087 26.2697 34.8661 26.0793 34.3292C25.8645 33.7229 25.8982 32.7318 26.3313 32.2437C26.4695 32.0879 26.6356 31.9734 26.7738 31.842C27.1061 31.5285 27.472 31.2639 27.8585 30.9692C28.4037 30.5562 29.0254 30.0381 29.4511 29.5181C29.8805 28.9925 30.5657 28.604 31.1071 28.1797C31.5832 27.8043 32.1246 27.5378 32.6567 27.2299C32.9349 27.0704 33.1552 26.9296 33.5043 26.8751C33.7937 26.8301 34.1055 26.862 34.3967 26.832C34.9419 26.7756 35.6514 26.5692 36.0416 26.1937C36.4467 25.8052 36.6931 25.0975 36.6185 24.5193C36.54 23.9149 35.586 24.4086 35.3134 24.6C34.8709 24.9116 34.3911 25.5105 33.7937 25.3246C33.7638 25.1763 33.8684 25.0581 33.8366 24.9079C33.1421 24.8647 33.5136 24.2021 33.6667 23.8567C33.8012 23.5489 33.7937 23.2372 33.8404 22.9088C33.8908 22.5652 33.9262 22.1297 33.8814 21.7881C33.5043 21.7675 33.1328 22.0096 32.806 22.1804C32.6716 22.2518 32.5652 22.3869 32.4513 22.5108C32.3449 22.6253 32.175 22.7342 32.1041 22.8337C31.9976 22.9857 32.0275 23.1528 32.007 23.3349C31.9846 23.5301 31.9342 23.6803 31.8576 23.8586C31.7437 24.1289 31.501 24.4743 31.2826 24.6601C30.9316 24.9567 30.575 25.2589 30.1213 25.3922C29.8749 25.4654 29.6153 25.4128 29.3801 25.3678C29.0702 25.3077 28.8051 25.2552 28.4783 25.2289C28.0788 25.197 27.1061 24.9379 26.8149 25.2796C26.5889 25.5461 26.7308 25.854 26.2548 25.8277C26.1185 25.8202 26.0027 25.8033 25.8795 25.7526C25.8048 25.7207 25.8253 25.6606 25.7563 25.6325C25.648 25.5893 25.5416 25.6325 25.437 25.5743C25.4127 25.411 25.2223 25.3115 25.185 25.1275C25.1439 24.9361 25.241 24.7408 25.2671 24.5569C25.3213 24.1777 25.3119 23.5413 24.9198 23.4099C24.5838 23.2954 24.1114 23.5714 23.809 23.6089C23.6111 23.6333 23.3217 23.6446 23.1294 23.6089C22.8942 23.5676 22.7784 23.3574 22.5842 23.2823L22.5096 23.4813C22.3994 23.7797 21.8654 24.0688 21.6339 24.2847C21.2008 24.6883 20.8349 25.1613 20.3625 25.5386C20.0115 25.8183 19.6456 26.0811 19.3581 26.449C19.1732 26.6837 19.0071 26.9089 18.8428 27.1605C18.7569 27.2919 18.6038 27.5866 18.4694 27.6241C18.3629 27.8944 18.1034 28.221 17.9149 28.4632C17.8178 28.5871 17.7132 28.7035 17.6031 28.8255C17.5172 28.9193 17.3585 28.9982 17.3156 29.1145C17.1233 29.154 17 29.3041 16.8096 29.3698C16.8059 29.3905 16.804 29.4111 16.804 29.4318C16.3373 29.5012 16.1842 29.963 15.9844 30.2971C15.751 30.6913 15.2507 30.8453 15.1162 31.3314C15.008 31.3746 14.937 31.613 14.9109 31.7313C14.8885 31.7313 14.8698 31.735 14.8493 31.7388C14.825 32.0936 14.5337 32.5441 14.4068 32.8838C14.2574 33.2743 14.0913 33.6685 13.9232 34.0533C13.5984 34.7966 13.2791 35.5625 13.0868 36.3734C12.79 37.6273 12.1981 38.7799 11.8229 39.9831C11.6754 40.458 11.6119 40.9799 11.5073 41.4792C11.3561 42.2038 11.063 42.9471 10.6037 43.5103C10.4711 43.6736 10.4002 43.8144 10.2863 44.0002C10.094 44.3137 9.94839 44.6891 9.80836 45.0458C9.65714 45.4343 9.48724 45.8191 9.42003 46.2471C9.34161 46.7389 9.0765 47.1819 8.873 47.6156C8.64896 48.0905 8.60602 48.7249 8.49586 49.2543C8.38384 49.7968 8.25129 50.3449 8.18034 50.9249C8.10379 51.5519 7.98244 52.162 7.98244 52.7946V54.285C7.98244 54.5178 7.96564 54.6848 8.07019 54.8857C8.15234 55.0415 8.28489 55.1673 8.33904 55.3418C8.36144 55.3437 8.38011 55.3456 8.40065 55.3493C8.42865 55.5446 8.54067 55.7398 8.60228 55.9181C8.67136 56.119 8.72364 56.3461 8.75724 56.562C8.82446 56.9937 8.77591 57.478 8.77591 57.9191C8.77591 58.5067 8.89914 59.0604 8.94954 59.6367C9.00369 60.2449 9.00182 60.8531 9.16798 61.4312C9.42563 62.321 9.61046 63.8265 10.5589 64.1718C10.5626 64.108 10.5552 64.0386 10.5626 63.9748C10.585 63.7645 10.5066 63.4754 10.4655 63.2746C10.4263 63.0812 10.3797 62.7828 10.3143 62.5782C10.1594 62.0976 9.97453 61.5908 9.79529 61.1027C9.55632 60.4608 9.44617 59.9427 9.44617 59.2406C9.44617 58.8145 9.33228 57.9229 9.76356 57.7145C10.0436 58.2195 9.93532 58.8539 10.0679 59.4358C10.1258 59.6893 10.165 59.9614 10.2452 60.2017C10.3442 60.5058 10.5309 60.7442 10.5906 61.0765C10.7419 61.1515 10.8501 61.5945 10.9174 61.7485C10.992 61.9174 11.0275 62.351 11.2049 62.4111C11.2273 62.672 11.4028 62.9104 11.4569 63.1732C11.5521 63.6444 11.47 64.0423 11.7052 64.491C11.8098 64.6937 11.8994 64.8964 11.9722 65.1198C12.1122 65.5572 12.1029 65.9814 12.1029 66.4657C12.1029 66.9162 12.0562 67.3836 12.228 67.759C12.4035 68.142 12.6219 68.4968 12.7508 68.8722C12.8404 68.9341 12.9711 69.0073 13.0047 69.1275C13.0308 69.1312 13.0588 69.1331 13.0849 69.135C13.1167 69.2795 13.3445 69.3659 13.4546 69.456C13.6432 69.6118 13.8075 69.8183 14.0352 69.914C14.0875 70.1618 14.8903 70.4058 15.148 70.4846C15.555 70.6104 16.0012 70.5353 16.4194 70.5278C16.8208 70.5222 17.2147 70.5654 17.6068 70.6517C18.1184 70.7643 18.376 70.8131 18.6225 71.2937C18.8633 71.763 19.1602 72.1666 19.6381 72.4218C19.8472 72.5345 20.0657 72.6058 20.2561 72.7766C20.4521 72.9512 20.6071 73.092 20.8479 73.2046C21.2904 73.4092 21.8001 73.7677 22.1212 74.192C22.2631 74.3797 22.3863 74.6181 22.4778 74.8227C22.5786 75.048 22.7131 75.2957 22.8325 75.5116C22.9576 75.7406 23.1257 75.7706 23.3553 75.8945C23.7511 76.1104 24.0797 76.4539 24.4736 76.6886C24.8489 76.9119 25.4613 77.4038 25.9392 77.2442L25.928 77.2611Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M56.4106 91.1128C56.3508 90.8462 56.3583 90.5365 56.194 90.3094C56.0521 90.1123 55.7254 89.9921 55.4995 89.9133C55.2549 89.8288 54.9748 89.8138 54.7191 89.7669C54.4241 89.7143 54.3158 89.6449 54.1123 89.4346C53.6904 89.0029 53.106 88.4041 52.4712 88.344C52.1295 88.3121 51.7916 88.2689 51.45 88.2182C50.9925 88.1507 50.4418 88.2595 49.9956 88.1338C49.5307 88.0024 49.0807 87.6082 48.6924 87.3679C48.4497 87.2159 48.151 87.0056 47.869 86.9399C47.6618 86.893 47.3444 86.938 47.154 86.8423C46.9617 86.7466 46.8777 86.4444 46.6406 86.3524C46.3867 86.2548 46.0338 86.3355 45.7687 86.3486C45.4532 86.3636 45.1712 86.4293 44.9808 86.6659C44.796 86.893 44.8912 87.1239 44.8072 87.3886C44.7232 87.3848 44.6111 87.3341 44.5383 87.2928C44.4711 87.1764 44.2247 87.0901 44.1145 87.0188C44.094 86.5288 44.2191 86.328 44.5197 85.9788C44.7418 85.7198 45.0443 85.4739 44.8987 85.0328C44.781 84.6799 44.4412 84.3307 44.2359 84.0285C44.1033 83.8351 43.9932 83.638 43.8699 83.4466C43.799 83.3358 43.7878 83.2176 43.7224 83.1256C43.6702 83.0524 43.5974 83.0242 43.5619 82.9379C43.3528 82.8759 43.1941 82.7314 43.0242 82.6094C42.6303 82.3297 42.171 82.0369 41.7248 81.8811C41.1815 81.6915 40.5616 81.7703 39.9959 81.6389C39.4713 81.5169 38.7824 81.5019 38.5005 81.0176C38.3772 80.8073 38.3287 80.5427 38.1961 80.3399C37.7518 79.6604 36.3702 79.9476 36.2264 78.9696C36.1928 78.7444 36.2843 78.4722 36.176 78.2713C36.0883 78.1043 35.7578 77.9503 35.5506 77.9222C35.0297 77.8546 34.5611 78.1474 34.0682 78.1981C33.5436 78.2526 32.9331 78.2019 32.4532 78.0742C32.2087 78.0085 31.938 78.0404 31.7008 77.9785C31.4787 77.9222 31.3125 77.8077 31.0941 77.7138C30.9951 77.391 30.7748 77.1526 30.4219 77.1244C30.0504 77.0944 29.6322 77.0869 29.3484 77.2915C29.1057 77.4698 28.7977 77.6293 28.8089 77.9729C28.8145 78.1549 28.9078 78.2863 28.9358 78.4384C28.9657 78.6036 28.9358 78.8176 28.9302 78.9846C28.8089 78.9508 28.5475 78.9039 28.4803 78.7763C28.4168 78.6524 28.4616 78.4121 28.4616 78.2732C28.4616 77.8884 28.5232 77.5712 28.6091 77.2239C28.6446 77.0812 28.7248 76.8353 28.6315 76.7058C28.5475 76.595 28.1703 76.5556 28.0359 76.55C27.2275 76.5125 27.95 77.3891 27.4422 77.6444C27.2088 77.7607 27.0203 77.7213 26.7514 77.7476C26.4788 77.7758 26.3762 77.879 26.2305 78.1212C26.1036 78.3314 25.9636 78.5698 25.8646 78.795C25.7657 79.0184 25.5995 79.2268 25.5323 79.4652C25.1551 79.559 25.2634 80.2348 25.1365 80.4788C25.017 80.7078 24.8023 80.7679 24.7911 81.072C24.7817 81.3123 24.9087 81.5488 25.0338 81.744C25.2037 82.0125 25.4016 82.2471 25.5734 82.4855C25.7657 82.7539 25.971 82.9604 25.9822 83.2964C25.9934 83.623 26.0046 83.8652 25.7881 84.1073C25.6163 84.2969 25.4091 84.4077 25.2112 84.586C24.5334 85.2017 23.9752 86.3749 24.2497 87.3679C24.3673 87.4055 24.4737 87.6288 24.5222 87.7171C24.9218 87.8822 24.8658 88.7044 24.8658 89.0855C24.8658 89.6054 24.918 90.2887 25.0581 90.7899C25.1794 91.2235 25.6238 91.4281 25.9356 91.7022C26.2865 92.0082 26.5218 92.3217 26.8242 92.6858C27.2107 93.1476 27.6159 93.5493 27.9893 94.0017C28.3328 94.4165 28.6184 94.9271 28.9265 95.3983C29.2719 95.9258 29.5594 96.4795 30.0485 96.9356C30.4948 97.3505 31.1295 97.5926 31.6654 97.816C32.345 98.1013 33.1198 98.3548 33.5492 98.978C33.7153 99.2182 33.8647 99.3928 33.9973 99.6443C34.2213 100.067 34.5387 100.559 34.6731 101.011C34.8505 101.598 34.9662 102.192 35.1996 102.76C35.4591 103.389 35.8064 103.956 36.0771 104.564C36.0958 104.576 36.1163 104.579 36.1368 104.577C36.3963 105.058 36.6652 105.441 36.7175 106.006C36.7716 106.582 36.7417 107.155 36.8967 107.707C37.0629 108.294 37.257 108.882 37.4549 109.435C37.5445 109.691 37.6379 109.927 37.7144 110.166C37.8153 110.472 38.0038 110.738 38.1252 111.035C38.2372 111.309 38.2503 111.604 38.3492 111.881C38.5602 112.482 38.9728 112.985 39.3947 113.451C39.9212 114.031 40.6046 114.365 40.8865 115.123C41.0788 115.639 41.0004 116.082 41.3962 116.501C41.7808 116.908 42.156 117.286 42.5182 117.732C43.0018 118.333 43.6254 118.714 44.1369 119.247C44.3255 119.444 44.4543 119.664 44.6877 119.814C44.8725 119.931 45.2721 120.036 45.3785 120.229C45.8508 120.319 46.2336 120.649 46.6816 120.76C46.8721 120.982 47.2324 120.888 47.4938 120.893C47.8168 120.903 48.1603 120.91 48.4628 120.773C48.6551 120.687 48.8399 120.531 48.7167 120.28C48.6401 120.122 48.3619 120.084 48.1902 120.051C47.6805 119.949 47.2492 119.857 46.7974 119.626C46.5734 119.512 46.3698 119.367 46.1757 119.242C46.0338 119.148 45.8154 118.827 45.6697 118.806C45.6193 118.622 45.4158 118.5 45.2945 118.367C45.1507 118.211 45.0293 117.993 44.9715 117.787C44.8781 117.46 45.0312 116.764 44.8389 116.539C44.7456 116.428 44.458 116.36 44.3292 116.257C44.1929 116.148 44.0734 116.019 43.9614 115.885C43.7374 115.619 43.7897 115.288 43.9054 114.971C43.9988 114.712 44.2993 114.096 44.1537 113.811C44.023 113.554 43.2856 113.685 43.3883 113.229C43.5432 113.171 43.7299 113.096 43.9017 113.047C43.9278 112.593 43.883 112.313 44.3199 112.131C44.5439 112.037 44.6933 112.017 44.9229 111.981C45.1059 111.951 45.3915 111.825 45.5652 111.851C45.6641 111.752 46.4203 111.288 45.9666 111.08C45.9666 110.98 45.9274 110.9 45.8863 110.819C45.5782 110.633 45.3598 110.267 45.0275 110.104C44.7978 109.991 44.712 109.969 44.6989 109.679C44.6877 109.42 44.7474 109.375 44.9827 109.362C45.3542 109.338 45.7556 109.387 46.1365 109.387C46.3194 109.387 46.5248 109.411 46.7059 109.387C46.9262 109.359 46.9692 109.199 47.1204 109.158C47.2305 108.87 47.3762 108.619 47.4975 108.337C47.5965 108.106 47.6655 107.857 47.8298 107.66C47.996 107.459 48.235 107.297 48.3713 107.067C48.4665 106.903 48.5113 106.734 48.5953 106.573C48.7727 106.233 48.909 105.843 48.9426 105.448C49.0061 104.711 48.4721 103.746 49.1367 103.248C49.4149 102.866 50.0441 102.723 50.4548 102.569C50.5351 102.139 51.8775 102.06 52.2192 101.955C52.8035 101.777 53.0425 101.595 53.2367 101.002C53.3879 100.536 53.5541 100.08 53.6978 99.6106C53.8565 99.0944 53.877 98.5932 53.877 98.0413C53.877 97.7447 53.8976 97.4688 53.9499 97.1966C54.0357 96.7592 54.0339 96.3875 54.0563 95.9502C54.0787 95.5578 54.1534 95.173 54.4222 94.8708C54.6052 94.6662 54.818 94.4691 55.0178 94.2758C55.1522 94.1444 55.4976 93.9754 55.5424 93.8065C55.7254 93.737 55.9121 93.3973 56.0334 93.2358C56.1996 93.0162 56.3322 92.8604 56.4292 92.6351C56.5413 92.3761 56.5263 92.1433 56.5132 91.8317C56.5002 91.5577 56.4628 91.3493 56.4087 91.109L56.4106 91.1128Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M50.186 118.96L50.2103 119.259C50.201 119.486 50.3503 119.308 50.4586 119.484C50.608 119.726 50.6322 119.707 50.9235 119.707C51.2148 119.707 51.2726 119.732 51.2764 119.418C51.2801 119.21 51.2838 118.996 51.2726 118.789C51.0056 118.594 50.2028 118.448 50.186 118.96Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M63.9734 23.0852C63.9493 23.1094 63.9289 23.1336 63.9067 23.1577C63.9067 23.167 63.9067 23.1745 63.9067 23.1838L63.9734 23.0852Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M66.1527 22.6541C65.6971 22.5828 63.9029 22.4345 63.9067 23.1609C63.9272 23.1365 63.9496 23.1102 63.9739 23.0877L63.9067 23.1872C63.9067 23.1872 63.9067 23.1703 63.9067 23.1609C63.7144 23.388 63.6079 23.6264 63.3204 23.4425C63.0516 23.2698 63.0983 22.9469 62.7566 22.8418C62.5886 22.4551 62.2357 23.099 62.1797 23.2717C62.0975 23.5288 62.0453 24.0094 62.1199 24.2834C62.1834 24.5237 62.4541 24.9273 62.6147 25.1338C62.8555 25.4454 63.1393 25.481 63.5127 25.481C64.2745 25.481 65.053 25.5374 65.7793 25.3628C66.1657 25.2708 66.429 25.1075 66.7221 24.8278C66.9461 24.6138 67.2057 24.4937 67.3737 24.2365C67.945 23.358 66.8808 22.7667 66.1564 22.6541H66.1527Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M62.3549 20.7277C62.4146 20.6507 62.4109 20.433 62.4837 20.326C62.5528 20.2246 62.6629 20.1495 62.7488 20.0632C62.9075 19.9074 63.21 19.6596 63.2791 19.4888C63.3799 19.2391 63.2025 18.9294 63.1428 18.7117C62.7694 18.5521 62.5584 18.34 62.7227 17.9064C62.9337 17.8932 63.2324 17.8519 63.4378 17.9064C63.6394 17.9608 63.7906 18.1617 64.0688 18.0978C64.1005 17.4821 64.0277 17.4146 63.4807 17.1949C63.1148 17.0485 62.8926 16.7876 62.6816 16.476C62.1981 16.4253 61.9199 15.9354 61.8247 15.4924C61.7687 15.224 61.7463 14.4224 61.4009 14.3736C61.3971 14.3342 61.4009 14.2966 61.3934 14.2591C60.9136 14.0338 60.529 13.6622 60.1014 13.3299C59.784 13.0821 59.6552 12.8794 59.6776 12.4439C59.6926 12.183 59.7542 11.8864 59.7542 11.6349C59.7542 11.2632 59.6683 11.3627 59.2874 11.4209C58.9644 11.4716 58.7423 11.4716 58.4323 11.6011C58.0477 11.7625 57.7901 11.8151 57.3607 11.7513C57.0097 11.6987 56.5933 11.6199 56.2255 11.6949C55.8932 11.7625 55.6804 12.0234 55.4115 12.2449C54.8608 12.703 54.0841 12.8569 53.3597 12.917C52.9546 12.9507 52.7455 13.0371 52.3963 13.1798C52.0491 13.3205 51.9669 13.6096 51.713 13.7861C51.5991 14.368 50.4565 14.2629 50.0215 14.3868C49.1944 14.6233 49.2392 15.2277 49.2635 15.9635C49.5902 16.003 49.9524 15.9166 50.281 15.9748C50.6507 16.0424 50.5872 16.1738 50.6974 16.5135C50.8112 16.8608 50.9065 17.1142 50.8822 17.4972C50.8486 18.0641 50.5499 18.5089 50.5499 19.089C50.5499 19.5977 50.4995 19.485 50.1541 19.7291C49.9282 19.8905 49.8721 20.1815 49.7489 20.4217C49.6462 20.6263 49.4987 20.7953 49.3569 20.9849C49.215 21.1745 49.1627 21.197 49.1608 21.4654C49.1608 21.7414 49.1309 21.7207 49.3531 21.792C49.6126 21.8765 49.9002 21.7245 50.1223 21.6588C50.3986 21.5762 50.647 21.6043 50.8224 21.3359C50.9419 21.1538 50.9438 20.6808 51.2071 20.6658C51.2257 21.1181 51.0297 21.5199 50.7552 21.8296C50.7403 21.8521 50.7478 21.8915 50.7366 21.9178C50.632 21.9873 50.6694 21.9234 50.6115 22.053C50.4789 22.0717 50.3725 22.1506 50.3482 22.2838C49.9524 22.3439 49.8049 23.0103 49.5977 23.2243C49.5025 23.4158 49.2504 23.6035 49.1011 23.7837C48.9704 23.9395 48.6717 24.1553 48.5746 24.3412C48.3767 24.7166 48.7482 25.5463 48.9256 25.8541C49.1683 26.2784 49.5902 26.6125 49.8087 27.0724C50.0514 27.5792 49.8479 28.2325 50.2119 28.6811C50.4061 28.9176 50.7907 29.0171 51.0409 29.1861C51.1641 29.2686 51.3377 29.34 51.4647 29.4338C51.6047 29.539 51.6869 29.7454 51.8568 29.8018C52.191 29.9144 52.6838 29.7454 52.9751 29.6253C53.4008 29.4507 53.4904 29.4094 53.5949 29.8656C53.6547 30.1265 53.6547 30.4794 53.9459 30.5995C54.2913 30.7422 54.8832 30.5019 55.2006 30.4156C55.602 30.3067 55.8223 30.226 55.9679 29.7942C56.0687 29.5014 56.2106 29.2611 56.3189 28.9833C56.5168 28.9139 56.4813 28.668 56.4683 28.484C55.7439 28.347 56.4739 26.8847 56.7651 26.6632C56.7856 26.6294 56.7651 26.5844 56.7838 26.5487C57.4298 26.3422 57.0339 25.1671 57.2412 24.7579C57.3644 24.5158 57.7658 24.4632 57.9525 24.2454C58.2606 23.8907 58.2475 23.6504 58.7553 23.5528C59.2389 23.4608 59.7187 23.4796 60.1724 23.3144C60.1294 22.7794 60.4058 22.4077 60.6634 22.0361C60.9509 21.6212 61.0499 20.9548 61.6006 20.8948C61.9031 20.861 62.1607 20.9867 62.3605 20.7296L62.3549 20.7277Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M45.7214 41.6369C45.7251 41.6201 45.7251 41.6032 45.7251 41.5864C45.6786 41.5621 45.634 41.5359 45.5894 41.5042L45.7214 41.6369Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M45.4176 44.37C45.6323 44.6554 45.9516 44.5953 46.2895 44.5953C46.592 44.5953 46.9803 44.6272 47.2697 44.5484C47.6562 44.4432 47.6393 44.1673 47.6393 43.8238C47.6393 43.5028 47.5759 43.2982 47.4639 43.041C47.3462 42.767 47.3313 42.4967 47.1446 42.2695C46.7768 41.8228 46.185 41.8303 45.7257 41.5862C45.7257 41.6031 45.7257 41.62 45.7219 41.6369L45.5894 41.5037C45.6323 41.5337 45.679 41.56 45.7257 41.5862C45.7425 41.2108 45.2701 40.8335 44.9023 40.9386C44.6279 41.0175 44.3777 41.4473 44.1574 41.6876C43.896 41.9748 43.6384 42.2996 43.4069 42.5811C43.1305 42.9171 42.9308 43.0729 42.9495 43.5516C43.6328 43.927 44.5868 43.3902 45.2888 43.5103C45.3075 43.8313 45.2309 44.1204 45.4195 44.37H45.4176Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M33.6665 27.7184C33.3043 27.6771 32.9104 27.8029 32.6247 27.9737C32.3316 28.1483 31.4317 28.886 31.6445 29.2595H31.68C31.7603 29.6406 32.3465 29.3571 32.5594 29.329C32.9552 29.2746 33.267 29.4247 33.6329 29.4717C33.8756 29.5036 34.4805 29.4961 34.6019 29.252C34.7158 29.0249 34.3872 28.5631 34.2845 28.3641C34.137 28.0826 33.9951 27.7541 33.6665 27.7184Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M35.4796 21.4749C35.2929 21.6382 34.9792 21.7883 34.8765 22.0418C34.7738 22.2933 34.8168 22.8883 34.9381 23.0929C35.4441 23.9395 36.7902 23.7668 37.5071 23.5059C38.1475 23.2732 39.0119 23.3482 39.2042 24.009C39.3947 24.6622 38.6068 24.8218 38.1886 25.1259C38.0187 25.2498 37.6845 25.5107 37.8096 25.7923C37.9309 26.0644 38.5508 26.0476 38.7823 25.9556C38.8178 25.8129 38.9167 25.6721 39.0063 25.5501C39.0941 25.4281 39.2845 25.2516 39.3275 25.0977C39.6056 25.094 40.0761 24.9344 40.1489 25.3793C40.2087 25.7397 39.7195 26.132 39.4544 26.2784C39.0773 26.4868 38.913 26.3967 38.7562 26.8115C38.618 27.1776 38.8215 27.4216 38.786 27.752C38.6441 27.7952 38.5134 27.7651 38.4425 27.6506C38.1961 27.2583 36.3216 27.4028 36.2786 27.9885C36.2506 28.0035 36.2226 28.011 36.1928 28.0073C36.1666 28.0711 36.1704 28.1687 36.1834 28.24C36.5848 28.5028 37.2868 28.4916 37.7834 28.4916C38.0467 28.4916 38.2763 28.4597 38.4518 28.6042C38.6553 28.7694 38.8383 29.1298 39.0325 29.3382C39.4171 29.7455 39.8166 30.1998 40.2498 30.5264C40.6717 30.8417 41.1048 30.7479 41.6033 30.7291C41.6929 30.303 40.6754 29.3438 40.9965 29.0585C41.4222 28.6793 42.3109 29.9013 42.6638 29.9557C43.5767 30.0965 43.0334 28.8351 42.759 28.5348C42.3576 28.0993 41.8031 27.523 42.2138 26.851C42.5144 26.7684 42.8747 26.7871 43.166 26.8941C43.5226 27.0237 43.5991 27.3371 43.8904 27.5361C44.0883 27.6713 44.5812 27.7576 44.8612 27.6412C45.0479 27.5624 45.6136 27.1119 45.6286 26.9279C45.819 26.8528 45.9497 26.667 46.1177 26.5638C45.9161 26.2634 45.3242 26.2259 45.0031 26.0307C44.6615 25.8223 44.4132 25.5426 44.1574 25.2516C43.9819 25.0508 43.6608 24.7561 43.6701 24.437C43.6776 24.2249 43.8232 24.0897 43.8867 23.902C43.9669 23.6711 44.0323 23.4046 44.0547 23.1624C44.1592 21.9929 43.0316 21.8972 42.2698 21.5894C41.9282 21.4523 41.6089 21.1088 41.3065 20.8817C41.1926 20.7972 41.1982 20.7221 41.0264 20.679C40.7968 20.6226 40.6138 20.7296 40.4178 20.8104C40.345 20.8404 40.2964 20.9211 40.2684 20.9943C40.1191 20.3805 39.727 19.9713 39.0735 20.0764C38.8439 20.1139 38.5022 20.2059 38.2745 20.2941C38.0038 20.4011 37.7666 20.6377 37.6397 20.8854C37.481 21.0469 37.2233 21.2646 37.1225 21.5218C37.0534 21.3566 37.0871 21.1201 37.1375 20.9305C37.1375 20.9249 37.242 20.7803 37.2626 20.7221C37.2868 20.6489 37.2626 20.5138 37.2682 20.4368C37.2868 20.4331 37.3074 20.4312 37.326 20.4274C37.3634 20.3411 37.3484 20.2885 37.3372 20.2172C36.8667 20.3711 36.456 20.4593 36.1106 20.8085C35.9052 21.0168 35.7036 21.289 35.4852 21.4767L35.4796 21.4749Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M26.9055 23.1645C26.8851 23.1608 26.8611 23.1608 26.8389 23.1608C26.8315 23.1887 26.8204 23.2148 26.8037 23.2352L26.9073 23.1664L26.9055 23.1645Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M26.2436 22.331C26.5628 22.3873 26.589 22.3535 26.7234 22.6557C26.7831 22.7871 26.8765 23.0142 26.8391 23.1606C26.8634 23.1606 26.8877 23.1606 26.9064 23.1644L26.8018 23.2339C26.8205 23.2132 26.8298 23.1869 26.8373 23.1588C26.5759 23.1475 26.1185 23.2958 25.999 23.4685C25.8758 23.6431 25.8571 24.1537 25.8179 24.3507C25.6853 24.989 26.139 24.8444 26.63 24.8444C27.0538 24.8444 27.3432 24.8763 27.6718 24.6342C27.9836 24.4052 28.3607 24.3639 28.7808 24.4221C29.1393 24.4728 29.3596 24.6605 29.6247 24.3188C29.8095 24.0804 29.9197 23.6806 30.0803 23.4066C30.2613 23.0987 30.4294 22.7871 30.5657 22.4323C30.6777 22.1414 30.8625 21.781 31.1519 21.6139C31.3909 21.2873 31.7587 21.3211 31.4861 20.8781C31.2303 20.4595 30.898 20.6021 30.4649 20.512C30.4499 20.099 30.4555 19.8531 30.1232 19.5772C29.8618 19.3595 29.4903 19.2731 29.171 19.2037C28.7678 19.1173 28.5269 19.2206 28.1964 19.4045C27.9967 19.5171 27.2536 19.8081 27.1789 19.9958C26.8727 20.069 26.5236 20.3205 26.3052 20.5252C26.0662 20.7467 25.7283 21.2497 25.5995 21.5501C25.3754 22.0757 25.7992 22.2502 26.2417 22.3272L26.2436 22.331Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M32.3618 21.6738L32.5168 21.779C32.9032 21.7677 33.1179 21.5124 33.5529 21.518C33.9095 21.5218 34.2307 21.5931 34.5854 21.5631C34.5238 21.1332 35.7392 20.6452 36.0865 20.4668C36.1182 20.3505 36.1182 20.1271 36.0865 20.0145C35.9763 19.9957 35.7859 20.022 35.6869 20.0651C35.6328 20.4518 35.2052 20.4387 35.1418 20.0651C34.5835 20.0407 32.935 19.7967 33.1347 20.7784C32.6717 20.8291 31.7812 21.1464 32.3637 21.6738H32.3618Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M30.5039 23.9244C30.3434 24.0821 30.293 24.3224 30.3471 24.572C30.5525 24.604 30.7896 24.5946 31.0062 24.5833C31.1014 24.45 31.1536 24.3111 31.1686 24.1215L31.219 24.0183C31.008 23.9038 30.7429 23.8813 30.5021 23.9226L30.5039 23.9244Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M32.5594 19.4758C32.7909 18.9352 33.4276 18.8996 33.9074 18.7456C34.2995 18.6199 34.6113 18.205 34.798 17.8709V18.0267C34.9063 18.0436 35.0071 18.0154 35.0986 17.9685C35.0724 17.3584 35.2031 17.4523 35.668 17.2984C35.9331 17.2101 36.4447 17.105 36.3999 16.7465C36.0115 16.5456 35.3189 16.5531 34.91 16.6789C34.9473 17.3828 34.6057 17.655 33.9205 17.5987C34.1072 17.3941 34.4451 17.334 34.3238 16.9417C33.3548 16.8948 32.468 17.396 31.8406 18.0286C31.5979 18.2764 31.1648 18.8132 31.3254 19.2243C31.484 19.6354 32.1058 19.5059 32.5613 19.4777L32.5594 19.4758Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M107.872 87.5049C107.559 88.2802 106.409 88.5918 106.037 89.3182C105.328 89.506 105.145 89.4459 104.975 90.1742C104.831 90.7843 104.715 91.3418 104.594 91.9425C104.51 92.3573 104.265 92.8604 104.06 93.2039C103.862 93.538 103.408 93.6882 103.285 94.2476C103.125 94.9703 102.981 95.6048 103.011 96.3763C104.174 96.5114 104.758 96.1848 105.106 95.1636C105.339 95.0135 105.664 94.3433 105.712 94.0317C106.173 93.2246 106.765 92.3479 107.178 91.4206C107.387 90.9532 107.557 90.544 107.725 90.0635C107.893 89.581 108.222 89.2019 108.341 88.7532C108.462 88.299 108.49 87.5387 108.401 87.0694C108.195 85.9901 108.016 87.1427 107.871 87.5068L107.872 87.5049Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M96.4408 49.2436L96.3437 48.5848C95.9778 48.581 95.216 48.2807 95.1208 48.718C94.9883 49.3356 96.0431 49.2662 96.4389 49.2436H96.4408Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M100.828 48.6896C100.733 48.6258 100.634 48.5338 100.511 48.4831C100.238 48.3705 99.4334 48.3705 99.6817 49.0144C99.8087 49.341 100.593 49.2265 100.901 49.2077C100.959 49.0557 100.977 48.8642 100.847 48.776C100.832 48.7403 100.852 48.7197 100.828 48.6878V48.6896Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M84.7069 45.8608C84.8992 46.1105 85.3361 46.1292 85.6292 46.1199C85.6479 45.4216 85.5881 44.6557 85.3323 44.0306C85.1344 43.5463 85.0392 42.741 84.3148 42.8048C84.2625 42.9644 84.1841 43.1165 84.2103 43.2985L84.2588 43.6139C84.2588 44.0287 84.2812 43.9405 84.4567 44.2878C84.6341 44.6369 85.0448 44.6257 84.8843 44.9936C84.7666 45.2639 84.453 45.5342 84.7069 45.8608Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M26.6224 66.4773C27.0686 66.8959 27.2087 67.429 27.9592 67.352C28.2654 67.3201 29.591 67.2976 29.6526 66.8752C29.6843 66.6762 29.3837 66.4885 29.2288 66.3965C29.014 66.2689 28.8479 66.0493 28.6164 65.9498C28.5585 65.7602 28.2187 65.5462 28.0918 65.3998C27.9331 65.2177 27.7986 64.9812 27.6138 64.8423C27.3823 64.6658 27.0444 64.6433 26.7699 64.5532C26.4376 64.4424 26.165 64.4087 25.8009 64.4087C25.2483 64.4087 24.6565 64.3861 24.1524 64.5776C23.7286 64.739 23.3645 64.9831 22.9612 65.1858C22.9071 65.2815 22.8847 65.4129 22.9164 65.5274C23.0994 65.6401 23.2394 65.6795 23.4709 65.6813C23.7734 65.6851 23.7883 65.6513 23.9862 65.4824C24.1543 65.3378 24.3129 65.2853 24.5445 65.2815C24.761 65.2796 24.9421 65.3585 25.1307 65.3585C25.183 65.4561 25.2819 65.488 25.3883 65.5049L25.3137 65.5556C25.7841 65.8559 26.2117 66.0962 26.6224 66.4773Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M30.0148 68.7111C30.3826 68.8725 30.7504 68.8894 31.1388 68.9401C31.4207 68.9777 31.6989 69.079 31.9789 69.0978C32.5652 69.1353 33.1439 69.0565 33.7171 68.9702C34.0774 68.9157 34.126 68.7449 33.9897 68.4051C33.8105 67.9528 33.4856 67.8777 33.0823 67.6543C32.427 67.292 31.6167 67.048 30.8475 67.0799C30.8009 67.1456 30.7336 67.185 30.6459 67.2019H30.5955C30.4648 67.2169 30.4368 67.4516 30.4704 67.5755C30.5245 67.765 30.7206 67.8439 30.8737 67.949C30.5843 68.3038 30.0914 68.0447 29.7516 68.2062C29.4267 68.362 29.8169 68.6266 30.0148 68.713V68.7111Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M34.7849 69.1707C34.9511 69.5199 35.7016 69.5011 36.0526 69.4917C36.1404 69.1933 36.3924 68.7765 36.0452 68.525C35.8641 68.3936 35.1677 68.2866 35.009 68.4706L35.1322 68.5212C34.8391 68.4893 34.6599 68.9098 34.7831 69.1707H34.7849Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M37.4286 19.4514C38.4069 19.581 39.7455 19.5641 40.6585 19.2731C40.9534 19.1792 41.6872 19.0441 41.788 18.725C41.9859 18.0924 41.254 18.0774 40.9889 18.3946C40.8601 18.4246 40.707 18.4322 40.5987 18.4678L40.567 18.633H40.651C40.356 18.633 40.0293 18.6518 39.7436 18.6011C39.3142 18.526 39.2918 18.2257 39.1126 17.931C38.9502 17.6606 38.9427 17.5537 38.6197 17.5011C38.3247 17.4542 37.9588 17.4936 37.6619 17.5048C37.6433 17.7526 37.9775 17.7489 38.0801 17.9328C38.2052 18.1525 38.0764 18.3045 37.9849 18.4734C37.8038 18.8076 37.3427 18.984 37.4304 19.4514H37.4286Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M35.4777 18.8598C35.8343 18.8767 36.1797 18.9105 36.4634 18.7378C36.7043 18.5914 36.9601 18.2798 36.9563 17.9719C36.7696 17.8875 36.9283 17.6641 36.7211 17.6584L36.6632 17.9663C35.8903 17.9663 35.4366 17.9588 35.4777 18.8598Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M38.2573 16.6132C38.2256 16.7277 38.5878 16.7709 38.4814 16.7709H38.5467C38.7185 16.5663 39.4914 16.6789 39.5997 16.3729C39.6763 16.1514 39.428 16.0332 39.4074 15.8323C39.3906 15.6615 39.5194 15.5977 39.5045 15.4137C39.0564 15.1603 38.108 15.2241 37.9213 15.7479C37.658 16.4818 37.953 16.2697 38.2573 16.6132Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M41.4835 16.1403C41.56 16.0615 41.5824 15.8456 41.659 15.7518C41.7617 15.626 41.8644 15.6129 42.0007 15.5603C42.3629 15.4233 42.7363 15.2994 43.1059 15.1774C43.582 15.0197 43.6586 14.8076 43.8882 14.3683L43.9386 14.4922C44.0768 14.4528 44.1216 14.3552 44.116 14.1975C44.607 14.1187 45.0961 13.931 45.5853 13.8146C46.0726 13.6982 46.2126 13.6869 46.1921 13.1989C45.6077 13.1857 45.0345 13.2083 44.4894 13.3566C44.0226 13.4842 43.6455 13.7958 43.2459 14.0342C42.9883 14.1881 42.6989 14.2989 42.4543 14.4735C42.1892 14.663 41.8233 14.7438 41.4816 14.8808C41.1978 14.9953 40.8188 15.2299 40.7628 15.5153C40.7199 15.7405 40.8244 15.9845 40.8151 16.2117C40.9701 16.3093 41.3397 16.2886 41.4835 16.1422V16.1403Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M42.1953 17.8597C42.354 17.8597 42.5425 17.8315 42.6994 17.8597C42.8693 17.8897 42.9197 17.9592 43.069 18.0587C43.5246 18.359 43.9708 17.9592 44.3162 17.6213C44.4487 17.4918 44.4375 17.5237 44.4581 17.3247C44.473 17.1651 44.4581 16.9943 44.4581 16.8348C44.4581 16.5645 44.389 16.1965 44.628 16.0201C44.9024 15.8192 45.358 15.9112 45.6828 15.8906C45.9031 15.8774 46.2691 15.8662 46.467 15.7423C46.635 15.6372 46.7377 15.3781 46.8926 15.2486C47.2642 14.9407 47.7645 14.6892 48.2481 14.6686C48.6906 14.6498 48.9501 14.6498 49.3067 14.3983C49.8052 14.0454 50.425 13.8126 50.8059 13.3208C50.916 13.1781 50.987 13.0355 51.0747 12.8872C51.1102 12.8271 51.3529 12.6075 51.3566 12.5981C51.3566 12.5887 51.3958 12.553 51.4014 12.5436C51.028 12.2471 50.2495 12.2771 49.7865 12.2733C49.3645 12.2696 49.0266 12.3916 48.614 12.4423C48.3993 12.4704 48.1099 12.4179 47.9251 12.5699C47.7851 12.6863 47.8261 12.8121 47.7477 12.9604C47.6768 13.0918 47.5498 13.1969 47.4714 13.332C47.3743 13.5029 47.3407 13.7131 47.2156 13.8651C47.0849 14.0209 46.8833 14.1148 46.7246 14.2274C46.4464 14.4227 46.1888 14.7249 45.8714 14.8488C45.5951 14.9558 45.2926 14.9576 45.0219 15.089C44.4506 15.3669 43.8177 15.4363 43.1904 15.5621L43.0672 15.6372C42.7983 15.6372 42.9906 15.6128 42.8189 15.793C42.6116 16.0088 42.6975 16.4293 42.6956 16.709C42.6919 17.0018 42.606 17.1032 42.3073 17.1595C42.1187 17.1971 41.7995 17.1314 41.6333 17.0525C41.4989 16.9887 41.4746 16.8911 41.3066 16.8836C41.0732 16.8742 40.5243 17.2515 40.5635 17.5368C40.6233 17.9967 41.8125 17.8559 42.1934 17.8559L42.1953 17.8597Z\" fill=\"#EFF8FE\"></path>\n<path d=\"M92.0255 16.8329L91.8854 17.2064C91.7641 17.5912 91.5979 17.9272 92.0908 18.19C92.4119 18.3609 92.6864 18.5373 92.9888 18.7626C93.3361 19.0216 93.5433 19.2938 93.8607 19.5697C93.9615 19.658 94.1352 19.8494 94.2939 19.8982C94.4787 19.9545 94.6486 19.9114 94.8204 19.9996C94.9473 20.2605 95.0201 20.8218 94.615 20.5702C94.3331 20.3957 94.2491 20.0953 93.8981 20.4276C93.7954 20.5252 93.7562 20.6904 93.6591 20.8105C93.5788 20.9119 93.4892 20.9757 93.4014 21.0602C93.2409 21.216 92.8432 21.383 92.7947 21.6196C92.7667 21.6233 92.7387 21.6271 92.7125 21.6289C92.7125 21.8523 92.397 22.2202 92.2178 22.3272C92.1842 22.5544 92.0012 22.5656 91.975 22.7834C91.7529 22.9242 91.6017 22.8228 91.4019 23.0199C91.2936 23.1269 91.0864 23.4685 91.0528 23.5924C90.9837 23.8515 91.3179 24.2832 91.2301 24.4165C91.0789 24.6474 89.8709 24.6136 89.6264 24.6155C89.3183 24.6155 89.0196 24.6023 88.7153 24.576C88.6555 24.2945 88.9318 24.0523 89.1185 23.8815C89.0345 23.7895 89.0364 23.6919 89.0103 23.5887C89.4789 23.5305 89.8971 23.7726 90.2873 23.5098C90.5767 23.3146 90.7802 22.9992 90.6924 22.5919C90.586 22.102 89.7571 21.7641 89.3407 21.5614C89.0028 21.3962 88.6219 21.1766 88.2504 21.0827C87.7706 20.7129 86.951 20.5853 86.3535 20.3581C85.9278 20.1948 84.9906 20.1591 84.7684 19.6974C84.423 19.6636 84.0889 19.4721 83.7304 19.4177C83.3831 19.367 83.0228 19.3557 82.6569 19.3595C81.8821 19.367 81.3705 19.8963 81.0139 20.5252C80.6834 21.1033 80.3269 21.6139 80.1682 22.2841C80.0039 22.9748 79.735 23.6318 79.6155 24.3132C79.5147 24.8783 79.272 25.1185 78.8183 25.5146C78.6335 25.676 78.3926 25.8056 78.2246 25.9933C78.0342 26.2054 78.0211 26.4044 77.995 26.7047C77.9539 27.1796 77.952 27.7822 78.0921 28.2289C78.1779 28.5011 78.5345 29.2707 78.8818 29.3027C78.9938 29.5617 79.4718 29.5185 79.7219 29.5317C79.9217 29.5411 79.974 29.5861 80.1103 29.4754C80.198 29.404 80.2727 29.19 80.3735 29.0943C80.5882 28.8878 80.8384 28.824 81.1427 28.8672C81.3164 28.8934 81.701 29.0699 81.8261 29.19C82.0389 29.3928 82.0594 29.7719 82.2499 30.0235C82.4254 30.2506 82.9556 30.3614 82.9575 30.6579C83.3365 30.8194 83.5922 31.3938 83.3458 31.788C82.9967 31.8518 82.6905 32.0207 82.5187 32.353C82.1341 32.3643 81.8746 32.826 81.6468 33.0569C81.406 33.3047 81.0195 33.7421 80.6834 33.7909C80.62 33.9823 80.2708 34.1025 80.1121 34.2451C79.8881 34.4441 79.8526 34.6337 79.7201 34.859C79.496 35.2438 79.0293 35.73 78.6017 35.8858C78.4785 36.1861 78.079 36.4752 77.8251 36.7211C77.5936 36.9445 77.2538 37.3311 76.9439 37.4137C76.1709 37.624 75.3214 37.2129 74.5261 37.3236C74.4439 37.6559 74.8155 37.838 75.0246 38.052C75.3084 38.3429 75.4913 38.495 75.8461 38.6677C76.2792 38.8779 77.1996 39.2683 77.306 39.8315C77.4983 39.9516 77.4535 40.4265 77.4666 40.6612C77.4834 40.9934 77.5898 41.2487 77.2388 41.3707C77.2519 41.4346 77.2146 41.5265 77.222 41.5866C76.4603 41.6654 75.6706 41.6654 74.9163 41.78C74.1826 41.8907 73.447 41.6523 72.7207 41.7424C72.6385 42.4876 72.4406 43.2723 72.4406 44.0269C72.4406 44.5863 72.5732 45.0724 72.5993 45.6224C72.6255 46.2025 72.7039 46.4934 73.1034 46.8557C73.3648 47.0941 73.8558 47.6197 74.1844 47.6629C74.1956 47.6892 74.2012 47.7154 74.2012 47.7436C74.9014 47.9482 75.6482 47.8975 76.3408 47.7567C76.6694 47.6892 77.11 47.6535 77.4293 47.5427C77.7504 47.4301 78.0174 47.0378 78.3553 46.9777C78.5383 46.5591 78.9471 46.2419 79.1768 45.7933C79.2851 45.5811 79.427 45.3296 79.5184 45.0893C79.6137 44.8359 79.5782 44.5844 79.6547 44.3291C79.6827 44.3291 79.7107 44.3216 79.7369 44.3122C79.7499 44.1245 79.8937 43.8542 80.0748 43.7885C80.1215 43.6552 80.2503 43.5426 80.3418 43.4243C80.4613 43.2685 80.4762 43.2141 80.5509 43.0095C80.6741 42.6697 80.8328 42.5383 81.1707 42.3956C81.5441 42.238 81.8354 42.2286 82.2349 42.2286C82.6289 42.2286 82.7483 42.1385 83.0564 41.9376C83.609 41.5753 84.367 41.5528 85.0448 41.6298C85.2875 41.6561 85.7113 41.7462 85.8998 41.8963C86.1369 42.084 86.2527 42.3938 86.4767 42.6021C86.6728 42.7823 86.9248 42.9175 87.091 43.0583C87.3169 43.2516 87.5615 43.4224 87.7948 43.6158C88.0432 43.8223 88.3176 43.9893 88.5528 44.2259C88.6929 44.3648 88.9038 44.7233 89.1055 44.7608C89.1148 44.9748 89.4471 45.1119 89.548 45.2695C89.7066 45.5154 89.7328 45.7219 89.5984 45.981C89.3015 46.5535 88.846 46.27 88.3624 46.1781C88.2392 46.1555 87.7426 46.0692 87.6343 46.1574C87.455 46.302 87.5689 46.7975 87.6623 46.9158C87.8863 47.2049 88.2933 47.1823 88.6051 47.3137C88.8534 47.417 89.0476 47.5709 89.3333 47.5446C89.4975 47.0021 89.9998 46.3921 90.3676 45.9941C90.6271 45.7144 90.7186 45.6544 90.7596 45.2226C90.782 44.9936 90.9221 44.4023 90.6327 44.3197C90.6252 44.2916 90.6383 44.2559 90.6233 44.2296C90.3414 44.0963 89.6581 43.6683 89.4639 43.4318C89.1578 43.353 88.9636 43.1709 88.7097 43.0095C88.4875 42.8668 87.9909 42.7016 87.8453 42.4689C87.6025 42.3994 87.259 42.1441 87.1302 41.9545C86.9808 41.733 86.6653 41.2074 86.697 40.9709C86.8707 40.9446 87.1041 40.8883 87.2609 40.9634C87.4681 41.0629 87.5895 41.305 87.8116 41.4026C88.2691 41.6054 88.5379 41.8813 88.9655 42.1704C89.337 42.4238 89.8224 42.6115 90.2406 42.8837C90.5244 43.0695 91.0154 43.4375 91.0584 43.8166C91.2376 43.8861 91.428 44.4286 91.54 44.6032C91.7025 44.8566 91.8574 45.0687 92.0777 45.2714C92.2775 45.4554 92.58 45.5661 92.748 45.7745C92.8992 45.9622 92.9888 46.1612 93.1438 46.3489C93.4705 46.7431 93.562 47.0904 93.7132 47.5427C93.8551 47.5784 93.9335 47.6103 94.0586 47.6497C94.1221 47.8393 94.3573 47.8412 94.4077 48.1078C94.544 48.1134 94.6841 48.1115 94.8204 48.1078C94.8428 47.7229 94.7569 47.402 94.7251 47.0415C94.6841 46.5892 94.5683 46.4296 94.3051 46.0561C93.8701 45.4385 93.9074 44.1977 94.9865 44.4267C94.9977 44.4567 94.9865 44.4849 94.9959 44.5168C95.1938 44.6032 95.2274 44.8603 95.3132 45.0537C95.4141 45.2789 95.5578 45.5173 95.7165 45.7125C95.8864 45.9209 96.0768 46.1274 96.2878 46.3264C96.4465 46.4784 96.665 46.8032 96.8386 46.8557C97.1802 47.7661 97.8654 48.2654 98.8344 47.9445C99.2414 47.8074 99.6073 47.7136 100.074 47.7136C100.563 47.7136 101.034 47.7436 101.5 47.7192C101.609 47.9857 101.781 48.1847 101.835 48.4813C101.896 48.8248 101.984 49.1909 102.033 49.5494C102.12 50.1876 101.917 50.824 101.835 51.4115C101.777 51.8207 101.773 51.8902 101.403 52.0704C101.118 52.2074 100.791 52.2018 100.444 52.2018C99.7212 52.2018 99.0286 52.1042 98.3191 52.0366C97.0047 51.9108 95.9555 51.2951 94.7587 50.839C94.5011 50.7414 94.0157 50.5856 93.6983 50.6738C93.2278 50.8071 93.3977 51.1975 93.3361 51.5729C93.267 51.9859 93.0523 51.9822 92.6416 52.0047C92.186 52.0291 91.9452 51.8677 91.5587 51.6311C91.1778 51.3984 90.6999 51.0605 90.2798 50.9441C89.8915 50.8352 89.3893 50.8296 89.0065 50.7564C88.2261 50.6062 87.5596 50.3828 86.8296 50.1388C86.6168 49.9042 86.4543 49.602 86.4245 49.2716C86.3834 48.8248 86.5776 48.4794 86.557 48.0477C86.5178 47.1898 85.4686 47.3156 84.7964 47.3156C83.9806 47.3156 83.1666 47.3119 82.3581 47.3569C81.9437 47.3794 81.4676 47.3663 81.0699 47.4489C80.7451 47.5165 80.4277 47.6591 80.1084 47.7549C79.3485 47.982 78.6167 48.2617 77.8549 48.47C77.4498 48.5808 76.4752 48.9825 76.1989 48.4513C75.5996 48.4156 75.0003 48.425 74.7445 48.9975C74.7184 49.0069 74.6792 49.0013 74.6586 49.0144C74.4719 49.2659 74.2983 49.3992 74.1321 49.6921C73.9753 49.9661 73.8521 50.1276 73.6262 50.3828C73.2752 50.7827 72.7039 51.2951 72.5676 51.8339C72.4836 52.1661 72.6386 52.5622 72.5732 52.8982C72.5153 53.2042 72.2297 53.5439 71.9646 53.7241C71.6826 53.9175 71.3466 53.9456 71.046 54.1089C70.794 54.246 70.499 54.5088 70.2917 54.7021C69.9501 55.0175 69.9071 55.177 69.853 55.62C69.4833 55.7496 69.5113 56.232 69.3844 56.5248C69.3097 56.6956 69.1603 56.9115 69.0632 57.103C68.9867 57.2588 68.8766 57.4333 68.8019 57.591C68.7272 57.7468 68.5312 57.9946 68.533 58.1786C67.8646 58.7774 67.3344 59.6502 67.5192 60.6038C67.7283 60.8159 67.8012 61.334 67.8833 61.6513C67.9879 62.053 68.0084 62.4472 68.0084 62.9014C68.0084 63.397 67.9543 63.6429 67.6481 64.0071C67.3549 64.3562 67.3251 64.7335 67.312 65.1728C67.2933 65.7866 67.2187 66.4117 67.2803 67.0236C67.3344 67.5755 67.8273 67.9059 67.8814 68.4484C68.0607 68.5891 68.1615 68.7862 68.3463 68.942C68.533 69.1016 68.8168 69.2949 68.9139 69.5127C69.1902 69.6479 69.4049 69.9144 69.6551 70.1134C69.8885 70.2973 70.1218 70.547 70.3384 70.7554C70.7772 71.1758 71.2626 71.6076 71.7685 71.983C72.2017 72.304 72.6143 72.7263 73.068 73.0642C73.5851 73.4528 74.0593 73.7663 74.7333 73.8038C75.4857 73.8451 76.1485 73.9371 76.8934 73.9371C77.6384 73.9371 78.2974 73.7269 79.02 73.6386C79.7499 73.5485 80.325 73.267 80.9504 72.946C81.2361 72.7995 81.5628 72.6888 81.8615 72.6006C82.149 72.5142 82.5299 72.4448 82.8529 72.5067C83.1684 72.5668 83.4447 72.8465 83.6987 72.8784C83.7733 73.068 84.0478 73.1712 84.1729 73.3064C84.3334 73.4772 84.423 73.6405 84.6322 73.7813C84.9813 74.0197 85.4984 73.9709 85.9334 73.9709C86.4655 73.9709 86.6952 74.0516 87.0107 74.4796C87.2161 74.7574 87.2833 75.1347 87.2889 75.4745C87.2964 75.8668 87.0947 76.1258 87.0163 76.4994C86.9528 76.8035 86.923 77.1676 86.8651 77.4361C86.7251 78.0837 86.8128 78.8364 86.9472 79.4502C87.0966 80.1279 87.8303 80.4413 88.1066 81.0589C88.3848 81.6821 88.6723 82.1139 88.8348 82.7821C88.9804 83.3903 89.0364 84.006 89.0663 84.6349C89.0905 85.1774 89.2119 85.8644 88.9879 86.3656C88.7563 86.4332 88.5603 86.818 88.3979 87.0019C88.0301 87.4149 87.7631 87.8016 87.5148 88.2915C87.3673 88.5768 87.2011 88.8603 87.0891 89.1268C86.824 89.7482 86.8203 90.4802 86.8203 91.1598C86.8203 91.8393 87.1451 92.2391 87.2833 92.8511C87.5801 94.1557 87.4494 95.5785 87.4494 96.9057C87.4494 97.6378 87.5111 98.2366 87.6492 98.8954C87.7724 99.4773 87.7463 100.136 87.7463 100.758C87.7463 101.105 87.6791 101.379 87.6137 101.689C87.5727 101.886 87.4569 102.34 87.5708 102.535C87.8247 102.976 89.3538 102.888 89.7813 102.768C90.4759 102.571 91.2432 102.34 91.8836 102.096C92.5426 101.844 93.1289 101.463 93.7338 101.047C94.2509 100.692 94.8876 100.318 95.3524 99.9354C95.9331 99.4586 96.5585 98.8466 96.9189 98.139C97.2232 97.5439 97.4827 96.7949 97.9028 96.2919C98.3172 95.7963 98.9987 95.6743 99.3534 95.0811C99.71 94.486 99.7642 93.8234 99.8706 93.1552C99.977 92.4925 100.446 92.0965 100.644 91.4977C100.672 91.4977 100.7 91.4901 100.726 91.4789C100.834 91.1147 101.338 90.9458 101.65 90.728C101.906 90.5497 102.27 90.3413 102.462 90.103C102.876 89.9941 103.513 89.4478 103.814 89.1175C104.127 88.7739 104.357 88.2446 104.46 87.8091C104.719 86.7091 104.594 85.4157 104.551 84.2914C104.51 83.2064 104.406 81.9787 104.93 80.9857C105.242 80.3944 105.802 79.8726 106.217 79.3526C106.65 78.812 107.152 78.2019 107.581 77.7345C107.859 77.4342 108.162 77.2277 108.435 76.9011C108.772 76.4956 108.968 76.0676 109.202 75.6434C109.607 74.9057 110.173 74.1755 110.428 73.3815C110.727 73.2294 111.009 72.5443 111.097 72.2158C111.474 70.7929 111.888 69.1861 111.81 67.6975C111.405 67.6581 110.733 67.9716 110.587 68.3432C110.145 68.5272 109.443 69.1917 108.98 68.9796C108.554 68.7881 108.371 68.347 108.306 67.9077C108.229 67.3784 108.212 66.9823 107.824 66.5543C107.576 66.2803 107.288 66.0381 107.096 65.7566C106.745 65.2403 106.706 64.6603 106.491 64.1047C106.269 63.5246 105.899 62.9596 105.496 62.5054C105.087 62.0473 104.874 61.4955 104.641 60.9436C104.105 59.6822 103.629 58.631 103.037 57.469C102.757 56.919 102.455 56.3972 102.26 55.8491C102.173 55.5956 101.997 55.1451 102.425 55.1583C102.699 55.1658 102.985 55.4886 103.121 55.6895C103.44 56.1663 103.67 56.7463 103.948 57.2888C104.226 57.8351 104.525 58.4245 104.878 58.9726C105.223 59.5076 105.511 59.9618 105.77 60.5456C106.03 61.1275 106.435 61.6062 106.737 62.175C107.169 62.9859 107.589 63.7949 107.779 64.6828C107.953 65.49 108.136 66.5055 108.578 67.2226C109.557 67.4647 110.408 66.4004 111.061 65.8316C111.73 65.2516 112.105 64.1704 112.966 63.8644C113.05 63.596 113.438 63.2862 113.625 63.0629C113.912 62.7175 114.095 62.3383 114.357 62.0342C114.415 61.7076 114.653 61.4523 114.732 61.1482C114.808 60.8497 114.803 60.4781 114.816 60.1702C114.831 59.8755 114.857 59.5432 114.823 59.2485C114.792 58.9576 114.596 58.7267 114.513 58.4583C114.295 58.263 114.026 58.0791 113.802 57.82C113.653 57.6492 113.44 57.1086 113.276 57.0504C113.141 56.6356 112.805 56.66 112.477 56.8871C112.335 56.9828 111.722 57.9458 111.747 57.1762C111.569 57.0955 111.429 56.6206 111.295 56.4497C111.132 56.2414 110.929 55.9955 110.742 55.7834C110.395 55.3892 109.904 54.856 109.726 54.3699C109.708 54.3661 109.691 54.3624 109.672 54.3605C109.656 54.3342 109.669 54.3004 109.663 54.2723C109.635 54.2685 109.607 54.2648 109.579 54.2629C109.446 53.8612 109.605 53.6678 110.012 53.8349C110.384 53.9869 110.384 54.338 110.583 54.6083C110.968 55.1301 111.633 55.3253 111.954 55.8584C112.568 55.774 113.332 56.1926 113.572 56.6543C113.834 56.8758 114.125 57.0711 114.48 57.1724C114.84 57.2738 115.296 57.2588 115.718 57.2588C116.237 57.2588 116.401 57.3996 116.668 57.8275C117.099 58.5221 117.626 59.2354 117.99 59.9694C118.167 60.3316 118.262 60.6282 118.376 61.0112C118.61 61.7958 118.828 62.5673 119.02 63.4101C119.201 64.1967 119.433 64.9869 119.633 65.7922C119.788 66.4098 119.829 67.6356 120.436 67.9209L120.51 67.3972C120.51 45.8552 109.082 27.2547 92.0217 16.831L92.0255 16.8329ZM89.9363 28.4561C89.4901 28.6757 88.8721 28.702 88.3773 28.7376C88.228 29.4716 89.6861 29.5523 89.3407 30.2975C89.2978 30.3914 89.225 30.5453 89.1335 30.6204C89.0289 30.7049 88.8198 30.6767 88.7097 30.748C88.439 30.9226 88.4744 31.1742 88.4744 31.4914C88.4744 31.7767 88.5043 32.0095 88.3699 32.231C88.2168 32.4863 88.0861 32.6928 87.8658 32.8936C87.6604 33.0776 87.4625 33.2221 87.1713 33.2165C86.8389 33.2108 86.6056 33.0381 86.3012 32.9668C85.9671 32.8899 85.5918 32.9049 85.3117 33.0907C85.0317 33.2765 84.8319 33.316 84.4828 33.316C84.0982 33.316 82.6438 33.2484 83.0601 32.5632C83.23 32.2835 83.7864 32.1465 84.0665 32.0564C84.367 31.9588 84.6751 31.9231 84.9477 31.7523C85.5619 31.3694 85.9166 30.7274 85.7243 29.9803C85.6385 29.648 85.5638 29.3515 85.4928 29.0079C85.4462 28.7921 85.1474 28.5462 85.2016 28.3303L85.3995 28.3547C85.181 28.366 84.9047 27.9342 84.7479 27.7822C84.5649 27.602 84.4324 27.3411 84.2793 27.1552C84.199 27.0576 84.0758 26.9581 83.9843 26.8699C83.9152 26.8042 83.6968 26.6728 83.6706 26.6033C83.5474 26.2767 84.1486 26.0684 84.2812 25.8318C84.4865 25.4639 84.3614 25.2387 84.1411 24.9271C83.9899 24.7149 83.8051 24.2926 83.8891 24.0223C83.9619 23.7876 84.3185 23.5286 84.5052 23.3991C84.7927 23.2001 85.0821 23.0969 85.4574 23.1194C85.6385 23.1306 85.814 23.2095 85.9895 23.1982C86.3666 23.8027 85.7281 24.4728 85.5712 25.0134C85.4088 25.5766 85.5993 26.2242 85.7561 26.7366C86.0119 27.5682 86.7176 28.0975 87.6025 28.0074C88.0208 27.9643 88.4222 27.7559 88.8404 27.709C89.1839 27.6696 89.7141 27.6076 90.0558 27.6808C90.6794 27.8122 90.3246 28.2665 89.9363 28.4579V28.4561ZM102.996 43.9105C102.201 44.0081 101.31 43.9105 100.601 43.6383C100.235 43.4975 98.4741 42.8311 98.3378 43.5933C98.2687 43.9743 97.0047 43.4825 96.9375 43.9424C96.2374 43.7453 95.8659 42.7223 95.8099 42.069C95.7315 41.153 95.8435 40.5504 96.1534 39.7583C96.6593 39.441 96.7583 39.2627 97.3128 39.6963C97.8057 40.0811 97.8113 40.3195 97.8356 40.9259C98.1623 41.2037 99.9733 41.3069 99.738 40.5486C99.1779 40.5805 98.7709 39.8108 99.051 39.3378C99.1555 39.1632 99.7623 38.8666 99.9415 39.0224C100.16 39.2139 99.9826 39.7827 100.076 40.0361C100.451 41.0554 101.915 41.4571 102.617 42.2248C103.063 42.4726 102.988 43.4224 102.994 43.9124L102.996 43.9105ZM109.921 47.3757C109.773 47.7229 109.433 47.7567 109.011 47.6197C107.542 47.1392 107.292 45.1419 106.885 43.9293H106.829C106.653 43.2404 106.218 43.1972 105.718 42.8574C105.309 42.5815 105.137 42.0033 104.947 41.5115C104.588 40.5823 104.45 39.4204 105.522 38.9417C105.91 38.7672 106.493 38.7728 106.65 39.2496C106.829 39.7958 106.297 40.1206 106.209 40.5936C106.011 41.6673 107.09 42.4276 107.895 42.7429C108.044 42.8011 108.029 42.8011 108.132 42.9044C108.395 42.9137 109.052 43.1071 109.204 43.3079C109.43 43.6102 109.172 44.1433 108.802 44.2202C108.72 44.6858 109.263 44.8491 109.473 45.1607C109.65 45.4253 109.837 45.8383 109.909 46.133C109.969 46.3808 110.021 47.1392 109.923 47.3757H109.921Z\" fill=\"#EFF8FE\"></path>\n<g filter=\"url(#filter0_d_3002_2466)\">\n<path d=\"M9.11794 113.154C8.56809 113.168 8.13339 113.625 8.147 114.175C8.16061 114.724 8.61737 115.159 9.16722 115.145L9.11794 113.154ZM55.0217 52.2564L54.9426 53.2491L55.0217 52.2564ZM102.199 108.09L101.74 107.207L102.199 108.09ZM61.9469 86.8821L61.1592 86.2727L61.9469 86.8821ZM12.2875 114.909C12.8335 114.843 13.2226 114.347 13.1565 113.801C13.0904 113.255 12.5942 112.866 12.0481 112.932L12.2875 114.909ZM17.9016 111.829C17.3675 111.961 17.041 112.5 17.1724 113.034C17.3038 113.568 17.8433 113.895 18.3774 113.764L17.9016 111.829ZM24.2886 112.041C24.8103 111.867 25.0922 111.303 24.9182 110.781C24.7441 110.26 24.1801 109.978 23.6583 110.152L24.2886 112.041ZM29.2971 108.061C28.7877 108.268 28.5427 108.849 28.75 109.359C28.9574 109.868 29.5384 110.113 30.0479 109.906L29.2971 108.061ZM35.6622 107.427C36.1587 107.19 36.3695 106.596 36.1329 106.099C35.8964 105.603 35.3021 105.392 34.8055 105.629L35.6622 107.427ZM40.1659 102.885C39.6837 103.149 39.5074 103.755 39.772 104.237C40.0366 104.719 40.642 104.895 41.1242 104.631L40.1659 102.885ZM46.4145 101.517C46.8796 101.223 47.0186 100.608 46.725 100.143C46.4314 99.678 45.8163 99.5389 45.3512 99.8325L46.4145 101.517ZM50.3192 96.4544C49.8758 96.7799 49.7802 97.4032 50.1057 97.8465C50.4312 98.2899 51.0545 98.3854 51.4979 98.06L50.3192 96.4544ZM56.3102 94.2092C56.7237 93.8465 56.7649 93.2173 56.4023 92.8038C56.0396 92.3903 55.4104 92.3491 54.9969 92.7117L56.3102 94.2092ZM59.2583 88.5396C58.8896 88.9478 58.9217 89.5776 59.3299 89.9462C59.7381 90.3148 60.3678 90.2828 60.7365 89.8746L59.2583 88.5396ZM64.3129 85.2179C64.6034 84.7509 64.4603 84.1367 63.9933 83.8462C63.5263 83.5557 62.9122 83.6987 62.6217 84.1657L64.3129 85.2179ZM64.9183 79.5615C64.7181 80.0738 64.9712 80.6514 65.4835 80.8515C65.9958 81.0517 66.5734 80.7986 66.7735 80.2863L64.9183 79.5615ZM68.3248 75.0081C68.4339 74.469 68.0853 73.9436 67.5462 73.8345C67.0071 73.7254 66.4817 74.074 66.3726 74.6131L68.3248 75.0081ZM66.9406 69.4976C66.9307 70.0475 67.3685 70.5014 67.9184 70.5113C68.4683 70.5212 68.9222 70.0835 68.9321 69.5335L66.9406 69.4976ZM68.4545 64.0135C68.3457 63.4743 67.8205 63.1255 67.2813 63.2342C66.7422 63.343 66.3933 63.8683 66.5021 64.4074L68.4545 64.0135ZM64.8418 59.6605C65.1012 60.1455 65.7046 60.3285 66.1896 60.0691C66.6747 59.8098 66.8576 59.2064 66.5983 58.7213L64.8418 59.6605ZM63.0114 54.3022C62.5848 53.955 61.9575 54.0194 61.6103 54.4459C61.2631 54.8725 61.3275 55.4998 61.7541 55.847L63.0114 54.3022ZM57.3981 53.6591C57.93 53.799 58.4746 53.4812 58.6146 52.9493C58.7545 52.4173 58.4367 51.8727 57.9048 51.7328L57.3981 53.6591ZM51.9471 51.2552C51.3989 51.301 50.9917 51.7823 51.0374 52.3305C51.0831 52.8786 51.5645 53.2858 52.1126 53.2401L51.9471 51.2552ZM46.9961 54.9626C47.4437 54.6429 47.5474 54.021 47.2278 53.5734C46.9082 53.1257 46.2863 53.022 45.8386 53.3416L46.9961 54.9626ZM42.0091 58.549C41.8214 59.066 42.0884 59.6373 42.6054 59.8249C43.1224 60.0126 43.6936 59.7456 43.8813 59.2286L42.0091 58.549ZM43.0292 64.7619C43.0274 64.2119 42.5801 63.7675 42.0301 63.7692C41.4801 63.771 41.0356 64.2184 41.0374 64.7684L43.0292 64.7619ZM41.7227 70.9049C41.8342 71.4435 42.3612 71.7897 42.8998 71.6782C43.4384 71.5667 43.7846 71.0397 43.6731 70.5011L41.7227 70.9049ZM45.2659 76.1189C45.0817 75.6006 44.5122 75.3298 43.994 75.514C43.4758 75.6982 43.205 76.2677 43.3892 76.7859L45.2659 76.1189ZM45.7489 82.4043C45.9885 82.8993 46.5841 83.1065 47.0792 82.8669C47.5743 82.6273 47.7814 82.0317 47.5418 81.5366L45.7489 82.4043ZM50.3628 86.7041C50.0765 86.2345 49.4637 86.0858 48.9941 86.3721C48.5244 86.6584 48.3758 87.2712 48.6621 87.7408L50.3628 86.7041ZM52.0588 92.7711C52.3875 93.2122 53.0114 93.3033 53.4524 92.9747C53.8935 92.6461 53.9846 92.0221 53.656 91.5811L52.0588 92.7711ZM57.3929 96.1303C57.0237 95.7226 56.3939 95.6913 55.9862 96.0605C55.5785 96.4297 55.5473 97.0595 55.9164 97.4672L57.3929 96.1303ZM60.2222 101.763C60.6313 102.13 61.261 102.097 61.6285 101.687C61.9961 101.278 61.9623 100.649 61.5531 100.281L60.2222 101.763ZM66.1281 103.945C65.6792 103.627 65.0576 103.733 64.7398 104.182C64.422 104.631 64.5283 105.253 64.9772 105.57L66.1281 103.945ZM70.1845 108.77C70.6717 109.025 71.2736 108.837 71.5288 108.35C71.7841 107.862 71.596 107.26 71.1088 107.005L70.1845 108.77ZM76.4521 109.309C75.9313 109.132 75.3656 109.411 75.1886 109.931C75.0115 110.452 75.2901 111.018 75.8108 111.195L76.4521 109.309ZM81.7797 112.664C82.3234 112.747 82.8316 112.374 82.9147 111.83C82.9979 111.286 82.6246 110.778 82.0809 110.695L81.7797 112.664ZM87.8463 111.028C87.2967 111.048 86.868 111.511 86.8888 112.06C86.9096 112.61 87.372 113.039 87.9216 113.018L87.8463 111.028ZM94.0345 112.198C94.5704 112.074 94.9042 111.539 94.7802 111.003C94.6561 110.467 94.1212 110.133 93.5853 110.257L94.0345 112.198ZM99.079 108.462C98.5725 108.676 98.3359 109.261 98.5504 109.767C98.765 110.274 99.3494 110.51 99.8559 110.296L99.079 108.462ZM105.301 107.519C105.776 107.242 105.937 106.633 105.66 106.157C105.383 105.682 104.773 105.521 104.298 105.798L105.301 107.519ZM109.121 102.647C108.677 102.972 108.581 103.595 108.906 104.039C109.231 104.483 109.854 104.579 110.298 104.254L109.121 102.647ZM114.94 100.421C115.343 100.046 115.365 99.4162 114.99 99.0138C114.615 98.6115 113.984 98.5894 113.582 98.9645L114.94 100.421ZM117.521 94.7904C117.171 95.2145 117.23 95.8422 117.655 96.1924C118.079 96.5426 118.706 96.4827 119.057 96.0586L117.521 94.7904ZM122.564 91.1483C122.851 90.6791 122.703 90.0661 122.234 89.7792C121.765 89.4923 121.152 89.6401 120.865 90.1094L122.564 91.1483ZM123.486 85.0111C123.272 85.5177 123.509 86.102 124.015 86.3163C124.522 86.5305 125.106 86.2936 125.32 85.787L123.486 85.0111ZM127.243 80.0718C127.378 79.5387 127.056 78.9968 126.523 78.8614C125.989 78.7261 125.448 79.0485 125.312 79.5816L127.243 80.0718ZM126.301 73.9324C126.247 74.4798 126.647 74.9673 127.194 75.0213C127.741 75.0752 128.229 74.6753 128.283 74.1279L126.301 73.9324ZM128.433 68.1019C128.407 67.5525 127.94 67.1283 127.391 67.1544C126.842 67.1805 126.417 67.6471 126.444 68.1965L128.433 68.1019ZM125.768 62.4917C125.87 63.0321 126.391 63.3873 126.932 63.2849C127.472 63.1826 127.827 62.6615 127.725 62.1211L125.768 62.4917ZM126.211 56.2956C126.038 55.7736 125.474 55.4908 124.952 55.664C124.43 55.8371 124.147 56.4007 124.32 56.9228L126.211 56.2956ZM122.162 51.5858C122.4 52.0817 122.995 52.2908 123.491 52.0529C123.987 51.815 124.196 51.2201 123.958 50.7242L122.162 51.5858ZM121.033 45.4793C120.737 45.016 120.121 44.8807 119.658 45.1772C119.194 45.4736 119.059 46.0895 119.356 46.5528L121.033 45.4793ZM115.963 41.8843C116.312 42.3095 116.939 42.3714 117.364 42.0226C117.79 41.6738 117.852 41.0462 117.503 40.621L115.963 41.8843ZM113.439 36.2102C113.044 35.8276 112.413 35.8377 112.031 36.2328C111.648 36.6279 111.658 37.2584 112.053 37.641L113.439 36.2102ZM107.687 33.8632C108.123 34.1994 108.748 34.1192 109.084 33.6839C109.42 33.2486 109.34 32.6232 108.905 32.287L107.687 33.8632ZM103.965 28.8856C103.495 28.5988 102.882 28.7467 102.595 29.216C102.309 29.6853 102.457 30.2983 102.926 30.5851L103.965 28.8856ZM97.8449 27.8407C98.342 28.0762 98.9358 27.8641 99.1712 27.367C99.4067 26.8699 99.1946 26.2761 98.6975 26.0407L97.8449 27.8407ZM93.1547 23.7595C92.636 23.5765 92.0672 23.8487 91.8843 24.3674C91.7013 24.8861 91.9735 25.4549 92.4922 25.6378L93.1547 23.7595ZM86.9506 23.9904C87.4849 24.1209 88.0238 23.7935 88.1543 23.2592C88.2848 22.7249 87.9575 22.186 87.4231 22.0555L86.9506 23.9904ZM9.14258 114.15L9.16722 115.145C10.1558 115.121 11.1992 115.041 12.2875 114.909L12.1678 113.92L12.0481 112.932C11.0138 113.057 10.0345 113.132 9.11794 113.154L9.14258 114.15ZM18.1395 112.797L18.3774 113.764C20.2783 113.296 22.2597 112.718 24.2886 112.041L23.9735 111.096L23.6583 110.152C21.675 110.813 19.7453 111.376 17.9016 111.829L18.1395 112.797ZM29.6725 108.983L30.0479 109.906C31.9112 109.148 33.7903 108.319 35.6622 107.427L35.2338 106.528L34.8055 105.629C32.9681 106.504 31.1243 107.317 29.2971 108.061L29.6725 108.983ZM40.6451 103.758L41.1242 104.631C42.9224 103.644 44.6931 102.603 46.4145 101.517L45.8829 100.675L45.3512 99.8325C43.6657 100.897 41.9302 101.916 40.1659 102.885L40.6451 103.758ZM50.9085 97.2572L51.4979 98.06C53.1889 96.8185 54.8018 95.5321 56.3102 94.2092L55.6535 93.4605L54.9969 92.7117C53.536 93.993 51.9686 95.2435 50.3192 96.4544L50.9085 97.2572ZM59.9974 89.2071L60.7365 89.8746C61.4454 89.0896 62.1131 88.2947 62.7345 87.4915L61.9469 86.8821L61.1592 86.2727C60.571 87.033 59.9361 87.7891 59.2583 88.5396L59.9974 89.2071ZM61.9469 86.8821L62.7345 87.4915C63.2979 86.7633 63.8242 86.0033 64.3129 85.2179L63.4673 84.6918L62.6217 84.1657C62.1674 84.8959 61.6796 85.6 61.1592 86.2727L61.9469 86.8821ZM65.8459 79.9239L66.7735 80.2863C67.4444 78.5689 67.9635 76.7941 68.3248 75.0081L67.3487 74.8106L66.3726 74.6131C66.0338 76.2879 65.5469 77.9523 64.9183 79.5615L65.8459 79.9239ZM67.9364 69.5156L68.9321 69.5335C68.9663 67.6399 68.811 65.7803 68.4545 64.0135L67.4783 64.2105L66.5021 64.4074C66.8274 66.0201 66.9725 67.7347 66.9406 69.4976L67.9364 69.5156ZM65.7201 59.1909L66.5983 58.7213C65.6878 57.0185 64.4981 55.5122 63.0114 54.3022L62.3827 55.0746L61.7541 55.847C63.0137 56.8722 64.0416 58.164 64.8418 59.6605L65.7201 59.1909ZM57.6514 52.6959L57.9048 51.7328C57.0208 51.5003 56.086 51.3421 55.1008 51.2636L55.0217 52.2564L54.9426 53.2491C55.8158 53.3187 56.6336 53.458 57.3981 53.6591L57.6514 52.6959ZM55.0217 52.2564L55.1008 51.2636C53.9845 51.1747 52.9334 51.173 51.9471 51.2552L52.0298 52.2477L52.1126 53.2401C52.9802 53.1677 53.9224 53.1678 54.9426 53.2491L55.0217 52.2564ZM46.4174 54.1521L45.8386 53.3416C44.0361 54.6287 42.7807 56.4233 42.0091 58.549L42.9452 58.8888L43.8813 59.2286C44.5363 57.4243 45.5681 55.9822 46.9961 54.9626L46.4174 54.1521ZM42.0333 64.7651L41.0374 64.7684C41.0438 66.705 41.2803 68.7681 41.7227 70.9049L42.6979 70.703L43.6731 70.5011C43.2531 68.4726 43.035 66.5439 43.0292 64.7619L42.0333 64.7651ZM44.3275 76.4524L43.3892 76.7859C44.0488 78.6417 44.8389 80.5239 45.7489 82.4043L46.6454 81.9704L47.5418 81.5366C46.6616 79.718 45.9 77.9026 45.2659 76.1189L44.3275 76.4524ZM49.5124 87.2225L48.6621 87.7408C49.7025 89.4476 50.8373 91.1318 52.0588 92.7711L52.8574 92.1761L53.656 91.5811C52.4717 89.9917 51.3714 88.3587 50.3628 86.7041L49.5124 87.2225ZM56.6546 96.7987L55.9164 97.4672C57.2768 98.9695 58.7144 100.409 60.2222 101.763L60.8876 101.022L61.5531 100.281C60.0988 98.9747 58.7095 97.5843 57.3929 96.1303L56.6546 96.7987ZM65.5526 104.758L64.9772 105.57C66.649 106.754 68.3873 107.828 70.1845 108.77L70.6467 107.887L71.1088 107.005C69.3954 106.108 67.7326 105.081 66.1281 103.945L65.5526 104.758ZM76.1314 110.252L75.8108 111.195C77.7503 111.854 79.7428 112.352 81.7797 112.664L81.9303 111.679L82.0809 110.695C80.1659 110.402 78.2871 109.933 76.4521 109.309L76.1314 110.252ZM87.8839 112.023L87.9216 113.018C89.9327 112.942 91.973 112.675 94.0345 112.198L93.8099 111.228L93.5853 110.257C91.6469 110.706 89.7318 110.956 87.8463 111.028L87.8839 112.023ZM99.4674 109.379L99.8559 110.296C100.788 109.901 101.723 109.461 102.659 108.974L102.199 108.09L101.74 107.207C100.849 107.67 99.9621 108.088 99.079 108.462L99.4674 109.379ZM102.199 108.09L102.659 108.974C103.565 108.503 104.445 108.018 105.301 107.519L104.799 106.659L104.298 105.798C103.471 106.28 102.618 106.75 101.74 107.207L102.199 108.09ZM109.709 103.451L110.298 104.254C111.965 103.033 113.512 101.753 114.94 100.421L114.261 99.6929L113.582 98.9645C112.213 100.241 110.727 101.471 109.121 102.647L109.709 103.451ZM118.289 95.4245L119.057 96.0586C120.367 94.4716 121.535 92.8314 122.564 91.1483L121.714 90.6289L120.865 90.1094C119.885 91.7114 118.772 93.2751 117.521 94.7904L118.289 95.4245ZM124.403 85.3991L125.32 85.787C126.113 83.913 126.752 82.0037 127.243 80.0718L126.277 79.8267L125.312 79.5816C124.846 81.4167 124.239 83.2305 123.486 85.0111L124.403 85.3991ZM127.292 74.0302L128.283 74.1279C128.48 72.1241 128.529 70.111 128.433 68.1019L127.438 68.1492L126.444 68.1965C126.535 70.1107 126.489 72.0269 126.301 73.9324L127.292 74.0302ZM126.746 62.3064L127.725 62.1211C127.353 60.1581 126.846 58.212 126.211 56.2956L125.266 56.6092L124.32 56.9228C124.929 58.7568 125.413 60.6172 125.768 62.4917L126.746 62.3064ZM123.06 51.155L123.958 50.7242C123.098 48.9325 122.122 47.1804 121.033 45.4793L120.194 46.016L119.356 46.5528C120.401 48.1864 121.338 49.8678 122.162 51.5858L123.06 51.155ZM116.733 41.2527L117.503 40.621C116.246 39.0895 114.89 37.6158 113.439 36.2102L112.746 36.9256L112.053 37.641C113.45 38.9939 114.755 40.4117 115.963 41.8843L116.733 41.2527ZM108.296 33.0751L108.905 32.287C107.34 31.0785 105.692 29.9417 103.965 28.8856L103.445 29.7354L102.926 30.5851C104.592 31.6034 106.18 32.699 107.687 33.8632L108.296 33.0751ZM98.2712 26.9407L98.6975 26.0407C96.9171 25.1973 95.0684 24.4343 93.1547 23.7595L92.8234 24.6987L92.4922 25.6378C94.3413 26.2899 96.1265 27.0268 97.8449 27.8407L98.2712 26.9407ZM87.1869 23.0229L87.4231 22.0555C86.4588 21.8199 85.4806 21.6058 84.4889 21.4139L84.2997 22.3917L84.1105 23.3694C85.0707 23.5552 86.0175 23.7625 86.9506 23.9904L87.1869 23.0229Z\" fill=\"#2654B5\"></path>\n</g>\n<g filter=\"url(#filter1_d_3002_2466)\">\n<path d=\"M61.5128 17.8856C61.7819 16.4624 63.167 15.9872 64.0513 16.1544L70.4554 17.3654L78.8783 7.90257L81.7246 8.44079L76.0592 18.425L83.2643 19.7875L85.3602 16.4986L88.2066 17.0368L85.7068 22.4604L86.0537 28.4223L83.2073 27.8841L82.4567 24.057L75.2521 22.6946L76.8806 34.0581L74.0343 33.5199L69.6483 21.635L63.2439 20.424C62.3597 20.2568 61.2437 19.3087 61.5128 17.8856Z\" fill=\"#2654B5\"></path>\n</g>\n<defs>\n<filter id=\"filter0_d_3002_2466\" x=\"8.14648\" y=\"21.4139\" width=\"120.334\" height=\"95.7236\" filterUnits=\"userSpaceOnUse\" colorInterpolationFilters=\"sRGB\">\n<feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\"></feFlood>\n<feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"></feColorMatrix>\n<feOffset dy=\"1.99177\"></feOffset>\n<feComposite in2=\"hardAlpha\" operator=\"out\"></feComposite>\n<feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0.286275 0 0 0 0 0.47451 0 0 0 0.25 0\"></feColorMatrix>\n<feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_3002_2466\"></feBlend>\n<feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_3002_2466\" result=\"shape\"></feBlend>\n</filter>\n<filter id=\"filter1_d_3002_2466\" x=\"61.4722\" y=\"7.90259\" width=\"26.7344\" height=\"28.1473\" filterUnits=\"userSpaceOnUse\" colorInterpolationFilters=\"sRGB\">\n<feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\"></feFlood>\n<feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"></feColorMatrix>\n<feOffset dy=\"1.99177\"></feOffset>\n<feComposite in2=\"hardAlpha\" operator=\"out\"></feComposite>\n<feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0.286275 0 0 0 0 0.47451 0 0 0 0.25 0\"></feColorMatrix>\n<feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_3002_2466\"></feBlend>\n<feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_3002_2466\" result=\"shape\"></feBlend>\n</filter>\n</defs>\n</svg> : <><svg width=\"120\" height=\"120\" viewBox=\"0 0 120 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M86.1027 119.91C76.6693 119.91 67.2301 120.146 57.8082 119.853C43.3562 119.404 30.7352 114.097 19.9365 104.489C12.5094 97.8792 7.14595 89.8379 3.73417 80.5229C0.170052 70.7996 -0.948047 60.7371 0.836887 50.5481C4.24867 31.0585 14.8289 16.4822 32.1149 6.96595C42.4192 1.29644 53.6088 -0.707434 65.3446 0.215441C79.2015 1.30507 90.9228 7.07232 101.083 16.3241C110.255 24.676 116.231 35.0633 118.266 47.147C119.726 55.8266 119.571 64.7995 119.855 73.6516C120.1 81.2589 119.962 88.8805 119.956 96.4964C119.953 102.54 119.965 108.586 119.83 114.629C119.766 117.495 117.047 119.905 114.167 119.91C104.814 119.925 95.4613 119.916 86.1055 119.913L86.1027 119.91Z\" fill=\"#FF9A40\"></path>\n<path d=\"M53.5835 91.2785C40.3849 76.6569 39.5784 51.4049 54.5 49.5C78 46.5 72.4188 72.9105 65 82.5C62.4693 85.7711 58.3899 88.7219 53.5835 91.2785Z\" fill=\"#FF9A40\"></path>\n<path d=\"M54.5 49.5L54.6899 50.9879L54.5 49.5ZM88 99.5L87.5232 98.0778L88 99.5ZM16.3345 100.419C15.5063 100.439 14.8515 101.127 14.872 101.955C14.8925 102.784 15.5805 103.438 16.4087 103.418L16.3345 100.419ZM65 82.5L63.8136 81.5821L65 82.5ZM52.7991 87.9813C52.298 87.3216 51.3569 87.1931 50.6973 87.6943C50.0376 88.1954 49.9091 89.1364 50.4103 89.7961L52.7991 87.9813ZM46.9375 84.3775C47.329 85.1075 48.2383 85.3819 48.9683 84.9904C49.6984 84.5988 49.9728 83.6896 49.5812 82.9595L46.9375 84.3775ZM47.1588 77.4943C46.8806 76.714 46.0225 76.3069 45.2421 76.5851C44.4618 76.8633 44.0548 77.7214 44.333 78.5018L47.1588 77.4943ZM42.6424 72.2963C42.7966 73.1102 43.5815 73.645 44.3954 73.4908C45.2094 73.3365 45.7441 72.5517 45.5899 71.7377L42.6424 72.2963ZM44.9972 65.8396C44.9922 65.0112 44.3167 64.3436 43.4883 64.3485C42.6599 64.3535 41.9923 65.029 41.9972 65.8574L44.9972 65.8396ZM42.717 59.3384C42.5192 60.1429 43.0111 60.9554 43.8156 61.1531C44.6201 61.3509 45.4325 60.859 45.6303 60.0545L42.717 59.3384ZM47.902 54.948C48.3911 54.2794 48.2455 53.3409 47.5769 52.8518C46.9082 52.3627 45.9697 52.5083 45.4806 53.1769L47.902 54.948ZM50.9353 48.8804C50.1672 49.1908 49.7963 50.0652 50.1068 50.8332C50.4172 51.6013 51.2916 51.9722 52.0596 51.6617L50.9353 48.8804ZM57.4375 50.7712C58.2657 50.7503 58.92 50.0619 58.899 49.2337C58.8781 48.4056 58.1897 47.7512 57.3615 47.7722L57.4375 50.7712ZM63.5409 48.5135C62.748 48.2736 61.9107 48.7219 61.6708 49.5148C61.4309 50.3078 61.8792 51.145 62.6721 51.385L63.5409 48.5135ZM66.9124 53.9174C67.4827 54.5182 68.4321 54.543 69.033 53.9727C69.6338 53.4024 69.6586 52.453 69.0883 51.8521L66.9124 53.9174ZM72.1939 57.4924C71.9683 56.6953 71.1392 56.2321 70.3421 56.4577C69.545 56.6833 69.0817 57.5124 69.3073 58.3095L72.1939 57.4924ZM69.9154 63.5937C69.8996 64.422 70.5583 65.1062 71.3866 65.122C72.2148 65.1378 72.8991 64.4792 72.9149 63.6509L69.9154 63.5937ZM72.1944 69.6658C72.3665 68.8554 71.8491 68.059 71.0387 67.8869C70.2284 67.7148 69.4319 68.2322 69.2598 69.0425L72.1944 69.6658ZM67.6885 74.3615C67.3942 75.1359 67.7834 76.0023 68.5578 76.2966C69.3322 76.5909 70.1985 76.2017 70.4928 75.4273L67.6885 74.3615ZM67.8993 80.8729C68.3211 80.1598 68.0849 79.2399 67.3719 78.8182C66.6589 78.3964 65.739 78.6326 65.3172 79.3456L67.8993 80.8729ZM61.5212 84.0587C60.9137 84.6219 60.8777 85.5709 61.4408 86.1785C62.004 86.7861 62.9531 86.822 63.5606 86.2589L61.5212 84.0587ZM57.518 90.7566C58.2233 90.3222 58.4429 89.3981 58.0084 88.6928C57.5739 87.9874 56.6499 87.7679 55.9446 88.2024L57.518 90.7566ZM54.7696 94.6118C55.3781 95.174 56.3271 95.1364 56.8893 94.5279C57.4514 93.9194 57.4138 92.9704 56.8053 92.4082L54.7696 94.6118ZM61.561 96.0139C60.8539 95.5825 59.9308 95.806 59.4993 96.5132C59.0678 97.2204 59.2913 98.1434 59.9985 98.5749L61.561 96.0139ZM65.9525 101.386C66.7355 101.657 67.5896 101.241 67.8601 100.458C68.1307 99.6753 67.7152 98.8212 66.9322 98.5507L65.9525 101.386ZM72.7234 99.8674C71.9005 99.7715 71.1557 100.361 71.0598 101.184C70.9639 102.007 71.5532 102.751 72.3761 102.847L72.7234 99.8674ZM78.9361 102.943C79.7617 102.875 80.3757 102.151 80.3074 101.325C80.2391 100.499 79.5145 99.8854 78.6889 99.9537L78.9361 102.943ZM84.6175 98.9383C83.8151 99.1442 83.3314 99.9616 83.5372 100.764C83.7431 101.566 84.5605 102.05 85.3629 101.844L84.6175 98.9383ZM91.5059 99.8048C92.2739 99.4941 92.6446 98.6197 92.3339 97.8517C92.0233 97.0837 91.1489 96.713 90.3809 97.0237L91.5059 99.8048ZM95.793 94.3895C95.0768 94.8059 94.8338 95.7241 95.2502 96.4402C95.6666 97.1564 96.5847 97.3994 97.3009 96.983L95.793 94.3895ZM102.607 93.2692C103.241 92.7356 103.322 91.7894 102.789 91.1556C102.255 90.5219 101.309 90.4407 100.675 90.9742L102.607 93.2692ZM104.8 86.7355C104.287 87.3858 104.398 88.329 105.049 88.8422C105.699 89.3553 106.642 89.2441 107.156 88.5937L104.8 86.7355ZM110.623 83.0369C110.98 82.2895 110.664 81.3939 109.917 81.0365C109.17 80.679 108.274 80.9951 107.917 81.7424L110.623 83.0369ZM109.847 76.1831C109.663 76.9909 110.169 77.7949 110.977 77.9789C111.784 78.1629 112.588 77.6573 112.772 76.8496L109.847 76.1831ZM113.548 70.3645C113.563 69.5362 112.903 68.8531 112.075 68.8386C111.246 68.8242 110.563 69.4839 110.549 70.3122L113.548 70.3645ZM110.092 64.3814C110.23 65.1983 111.004 65.7487 111.821 65.6109C112.638 65.4731 113.188 64.6991 113.051 63.8823L110.092 64.3814ZM111.445 57.6134C111.176 56.8301 110.322 56.4135 109.539 56.6831C108.755 56.9526 108.339 57.8062 108.608 58.5895L111.445 57.6134ZM106.231 53.0762C106.614 53.8108 107.52 54.0959 108.255 53.7129C108.99 53.33 109.275 52.424 108.892 51.6894L106.231 53.0762ZM105.522 46.204C105.04 45.5298 104.104 45.3736 103.429 45.855C102.755 46.3364 102.599 47.2732 103.08 47.9474L105.522 46.204ZM99.2542 43.2909C99.822 43.8942 100.771 43.923 101.375 43.3552C101.978 42.7874 102.007 41.8381 101.439 41.2349L99.2542 43.2909ZM96.7281 36.858C96.0848 36.3361 95.1401 36.4346 94.6183 37.078C94.0964 37.7214 94.1949 38.666 94.8382 39.1879L96.7281 36.858ZM89.9129 35.7185C90.6212 36.1482 91.5437 35.9223 91.9734 35.2141C92.4031 34.5058 92.1773 33.5833 91.469 33.1536L89.9129 35.7185ZM85.7466 30.2046C84.9854 29.8775 84.1033 30.2295 83.7763 30.9906C83.4493 31.7518 83.8012 32.6339 84.5623 32.9609L85.7466 30.2046ZM78.8805 30.9851C79.6804 31.2006 80.5035 30.7268 80.719 29.9269C80.9345 29.127 80.4607 28.3038 79.6608 28.0884L78.8805 30.9851ZM19.7654 103.183C20.5891 103.094 21.1854 102.355 21.0972 101.531C21.009 100.708 20.2698 100.111 19.446 100.2L19.7654 103.183ZM25.7334 99.221C24.9205 99.3804 24.3906 100.169 24.55 100.982C24.7094 101.795 25.4976 102.324 26.3106 102.165L25.7334 99.221ZM32.7282 100.699C33.5301 100.491 34.0116 99.6726 33.8037 98.8707C33.5958 98.0688 32.7771 97.5872 31.9752 97.7952L32.7282 100.699ZM38.1335 96.0153C37.3443 96.2673 36.9089 97.1114 37.1609 97.9005C37.4129 98.6897 38.2569 99.1252 39.0461 98.8731L38.1335 96.0153ZM45.2553 96.6878C46.028 96.3888 46.412 95.5202 46.113 94.7476C45.8141 93.9749 44.9455 93.5909 44.1729 93.8899L45.2553 96.6878ZM50.0408 91.3787C49.2922 91.7337 48.9732 92.6283 49.3282 93.3768C49.6832 94.1253 50.5777 94.4443 51.3262 94.0893L50.0408 91.3787ZM53.5835 91.2785L54.697 90.2734C54.0321 89.5369 53.3993 88.7713 52.7991 87.9813L51.6047 88.8887L50.4103 89.7961C51.0601 90.6515 51.7468 91.4824 52.47 92.2836L53.5835 91.2785ZM48.2594 83.6685L49.5812 82.9595C48.6286 81.1833 47.8196 79.3477 47.1588 77.4943L45.7459 77.998L44.333 78.5018C45.0432 80.4937 45.9127 82.4667 46.9375 84.3775L48.2594 83.6685ZM44.1161 72.017L45.5899 71.7377C45.2065 69.7146 45.0084 67.7303 44.9972 65.8396L43.4972 65.8485L41.9972 65.8574C42.0096 67.943 42.2278 70.1085 42.6424 72.2963L44.1161 72.017ZM44.1736 59.6965L45.6303 60.0545C46.1189 58.0668 46.8827 56.3417 47.902 54.948L46.6913 54.0625L45.4806 53.1769C44.1883 54.9438 43.2806 57.0455 42.717 59.3384L44.1736 59.6965ZM51.4974 50.271L52.0596 51.6617C52.8532 51.3409 53.728 51.1107 54.6899 50.9879L54.5 49.5L54.3101 48.012C53.1054 48.1658 51.9793 48.4583 50.9353 48.8804L51.4974 50.271ZM54.5 49.5L54.6899 50.9879C55.6644 50.8635 56.5793 50.793 57.4375 50.7712L57.3995 49.2717L57.3615 47.7722C56.3935 47.7967 55.3768 47.8759 54.3101 48.012L54.5 49.5ZM63.1065 49.9493L62.6721 51.385C64.4849 51.9335 65.8658 52.8147 66.9124 53.9174L68.0003 52.8847L69.0883 51.8521C67.6639 50.3514 65.8242 49.2044 63.5409 48.5135L63.1065 49.9493ZM70.7506 57.901L69.3073 58.3095C69.7604 59.91 69.9516 61.6995 69.9154 63.5937L71.4152 63.6223L72.9149 63.6509C72.9554 61.5289 72.744 59.4357 72.1939 57.4924L70.7506 57.901ZM70.7271 69.3542L69.2598 69.0425C68.8731 70.8635 68.3337 72.664 67.6885 74.3615L69.0907 74.8944L70.4928 75.4273C71.1899 73.5933 71.774 71.645 72.1944 69.6658L70.7271 69.3542ZM66.6083 80.1092L65.3172 79.3456C64.8258 80.1764 64.3204 80.927 63.8136 81.5821L65 82.5L66.1864 83.4178C66.7794 82.6514 67.3535 81.7956 67.8993 80.8729L66.6083 80.1092ZM65 82.5L63.8136 81.5821C63.1662 82.4189 62.3986 83.2455 61.5212 84.0587L62.5409 85.1588L63.5606 86.2589C64.5396 85.3515 65.4231 84.4044 66.1864 83.4178L65 82.5ZM56.7313 89.4795L55.9446 88.2024C54.9685 88.8036 53.9438 89.3879 52.8791 89.9542L53.5835 91.2785L54.2879 92.6028C55.4029 92.0098 56.483 91.3942 57.518 90.7566L56.7313 89.4795ZM53.5835 91.2785L52.47 92.2836C53.1994 93.0916 53.9661 93.8695 54.7696 94.6118L55.7874 93.51L56.8053 92.4082C56.0705 91.7294 55.3675 91.0163 54.697 90.2734L53.5835 91.2785ZM60.7798 97.2944L59.9985 98.5749C61.8486 99.7037 63.8347 100.654 65.9525 101.386L66.4424 99.9684L66.9322 98.5507C65.0263 97.8921 63.2349 97.0352 61.561 96.0139L60.7798 97.2944ZM72.5497 101.357L72.3761 102.847C74.471 103.091 76.6591 103.132 78.9361 102.943L78.8125 101.449L78.6889 99.9537C76.6053 100.126 74.6165 100.088 72.7234 99.8674L72.5497 101.357ZM84.9902 100.391L85.3629 101.844C86.3864 101.582 87.4244 101.275 88.4768 100.922L88 99.5L87.5232 98.0778C86.5376 98.4082 85.569 98.6943 84.6175 98.9383L84.9902 100.391ZM88 99.5L88.4768 100.922C89.5212 100.572 90.5308 100.199 91.5059 99.8048L90.9434 98.4142L90.3809 97.0237C89.4639 97.3947 88.5116 97.7464 87.5232 98.0778L88 99.5ZM96.5469 95.6863L97.3009 96.983C99.2537 95.8476 101.021 94.6049 102.607 93.2692L101.641 92.1217L100.675 90.9742C99.2271 92.1933 97.603 93.3371 95.793 94.3895L96.5469 95.6863ZM105.978 87.6646L107.156 88.5937C108.546 86.8315 109.698 84.9707 110.623 83.0369L109.27 82.3896L107.917 81.7424C107.087 83.4762 106.053 85.1478 104.8 86.7355L105.978 87.6646ZM111.31 76.5164L112.772 76.8496C113.257 74.7224 113.51 72.5512 113.548 70.3645L112.049 70.3384L110.549 70.3122C110.514 72.3019 110.284 74.2669 109.847 76.1831L111.31 76.5164ZM111.572 64.1318L113.051 63.8823C112.695 61.7743 112.155 59.6766 111.445 57.6134L110.027 58.1015L108.608 58.5895C109.267 60.504 109.765 62.4423 110.092 64.3814L111.572 64.1318ZM107.562 52.3828L108.892 51.6894C107.908 49.8031 106.781 47.9677 105.522 46.204L104.301 47.0757L103.08 47.9474C104.26 49.5992 105.314 51.3155 106.231 53.0762L107.562 52.3828ZM100.347 42.2629L101.439 41.2349C99.9798 39.6846 98.4063 38.2193 96.7281 36.858L95.7832 38.0229L94.8382 39.1879C96.411 40.4637 97.8862 41.8373 99.2542 43.2909L100.347 42.2629ZM90.691 34.436L91.469 33.1536C89.6485 32.0491 87.738 31.0601 85.7466 30.2046L85.1545 31.5827L84.5623 32.9609C86.4228 33.7602 88.2092 34.6848 89.9129 35.7185L90.691 34.436ZM79.2706 29.5367L79.6608 28.0884C78.6293 27.8105 77.5812 27.5677 76.5177 27.3619L76.2327 28.8346L75.9477 30.3073C76.9401 30.4993 77.918 30.7259 78.8805 30.9851L79.2706 29.5367ZM16.3716 101.918L16.4087 103.418C17.4208 103.393 18.5481 103.313 19.7654 103.183L19.6057 101.691L19.446 100.2C18.2915 100.323 17.2478 100.396 16.3345 100.419L16.3716 101.918ZM26.022 100.693L26.3106 102.165C28.3476 101.766 30.5064 101.275 32.7282 100.699L32.3517 99.2471L31.9752 97.7952C29.8092 98.3568 27.709 98.8338 25.7334 99.221L26.022 100.693ZM38.5898 97.4442L39.0461 98.8731C41.1207 98.2106 43.2051 97.481 45.2553 96.6878L44.7141 95.2888L44.1729 93.8899C42.1828 94.6598 40.1553 95.3697 38.1335 96.0153L38.5898 97.4442ZM50.6835 92.734L51.3262 94.0893C52.3359 93.6105 53.3253 93.1149 54.2879 92.6028L53.5835 91.2785L52.8791 89.9542C51.96 90.4431 51.0119 90.9181 50.0408 91.3787L50.6835 92.734Z\" fill=\"white\"></path>\n<rect width=\"27.687\" height=\"27.687\" transform=\"translate(51 37.0278) rotate(-77.4721)\" fill=\"#FF9A40\"></rect>\n<path d=\"M57.3813 24.2646C57.6315 23.1384 58.7462 22.7952 59.4459 22.9507L64.5135 24.0768L71.4581 16.7567L73.7104 17.2572L68.9477 25.0621L74.649 26.329L76.4008 23.7638L78.6531 24.2643L76.5259 28.5186L76.6512 33.2735L74.3989 32.7731L73.8982 29.7074L68.1971 28.4406L69.2061 37.528L66.9538 37.0275L63.7629 27.4553L58.6952 26.3292C57.9955 26.1737 57.1311 25.3908 57.3813 24.2646Z\" fill=\"white\"></path>\n</svg></>}</>\n}","\"use client\";\nimport { Rating } from \"@components/rating\";\nimport clsx from \"clsx\";\nimport { IconArrowRight, IconCancel, IconChevronRight, IconDelete, IconHeart, IconHeartFilled } from \"../../icons\";\nimport { Button } from \"@components/button\";\nimport { ViewedAccomodationsImage } from \"./ViewedAccomodationsImage\";\nimport { useBrand } from \"../../theme\";\n\n\ninterface Accomodation {\n Id: number;\n AccommodationId: number;\n AccommodationName: string;\n LocationName: string;\n RegionName: string;\n CountryName: string;\n Url: string;\n Classification: number;\n ImageUrl: string;\n}\n\ninterface EmptyItem {\n title: string;\n icon: React.ReactNode;\n onClick: () => void;\n}\n\ninterface ViewedAccomodationsProps {\n \"data-testid\"?: string;\n className?: string;\n accomodations: Accomodation[];\n cancelFunction: () => void;\n emptyItems: EmptyItem[]\n}\n\nexport const ViewedAccomodations = ({ className, accomodations, cancelFunction, emptyItems, ...props }: ViewedAccomodationsProps) => {\n\n const brand = useBrand('prijsvrij');\n\n return <div\n data-component=\"viewed-accomodations\"\n className={clsx(className, 'viewed-accomodations max-w-[310px] bg-white flex flex-col justify-between rounded-lg divide-y divide-gray-200')}\n {...props}\n >\n\n <div className=\"flex flex-row justify-between p-4\">\n <span className=\"viewed-accomodations-header font-bold\">Bekeken vakanties</span>\n <span className={`cursor-pointer ${brand === 'prijsvrij' ? 'text-secondary' : 'viewed-accomodations-empty-header'} hover:text-black`} onClick={cancelFunction}><IconCancel width={20} height={20} /></span>\n\n </div>\n\n <div className=\"min-h-[150px] max-h-[400px] overflow-scroll divide-y divide-gray-200\">\n\n {accomodations.map((accomodation) => {\n\n return <div key={accomodation.Id} className=\"flex flex-row gap-2 justify-between px-4 py-4\">\n\n <div className=\"rounded-sm min-w-[64px] w-[64px] h-[64px]\">\n <img className=\"rounded-sm object-cover w-full h-full\" src={accomodation.ImageUrl} alt={accomodation.AccommodationName} />\n </div>\n <div className=\"flex flex-col w-full truncate\">\n <span className=\"truncate text-ellipsis text-sm font-bold viewed-accomodations-title\">{accomodation.AccommodationName}</span>\n <span className=\"truncate whitespace-nowrap text-xs text-gray-400\">{accomodation.LocationName}</span>\n <span><Rating rating={accomodation.Classification} size=\"small\" /></span>\n </div>\n <div className=\"flex flex-col gap-2 justify-between my-2 w-[20px]\">\n <Button\n variant=\"icon\"\n className=\"group\"\n icon={\n <span className=\"relative block w-[18px] h-[18px]\">\n <IconHeart width={18} height={18} className=\"text-red-600 group-hover:hidden\" />\n <IconHeartFilled width={18} height={18} className=\"text-red-600 hidden group-hover:block\" />\n </span>\n }\n />\n <Button variant=\"icon\" icon={<IconDelete width={18} height={18} className=\"text-gray-400 hover:text-gray-600\" />} />\n </div>\n </div>\n\n })}\n\n {accomodations.length === 0 && <div className=\"px-4 text-center text-dark-600\">\n <span className={`w-full flex items-center justify-center my-5 `}><ViewedAccomodationsImage brand={brand} /></span>\n <span className={`w-full font-bold block text-xl my-2 viewed-accomodations-empty-header `}>Begin je zoektocht</span>\n <div className=\"text-sm viewed-accomodations-empty-text-color\">Je hebt nog geen vakanties bekeken.</div>\n <div className=\"text-sm mb-2 viewed-accomodations-empty-text-color\">Misschien zit hier iets voor je bij:</div>\n\n <div className=\"viewed-accomodations-items\">\n <ul className=\"divide-y divide-gray-200 text-sm\">\n\n {emptyItems.map((emptyItem: EmptyItem) => {\n return <li key={emptyItem.title} onClick={emptyItem.onClick} className=\"flex flex-row gap-2 items-center justify-between py-2 cursor-pointer\">\n <div className=\"flex flex-row items-center gap-2\">\n <span>{emptyItem.icon}</span>\n <span>{emptyItem.title}</span>\n </div>\n <span>{brand === 'prijsvrij' ? <IconArrowRight className={\"text-secondary\"} width={16} height={16} data-testid=\"IconArrowRight\" /> : <IconChevronRight className=\"text-secondary\" width={16} height={16} data-testid=\"IconChevronRight\" />}</span>\n </li>\n })}\n </ul>\n </div>\n \n </div>}\n\n </div>\n\n <div className=\"flex flex-row justify-between p-4\">\n {accomodations.length > 0 ? <Button variant=\"outline-danger\" className=\"uppercase w-full !text-xs !tracking-[0.08em] !font-bold\">Alles verwijderen</Button> :\n <Button variant=\"secondary\" className=\"uppercase w-full !text-xs !tracking-[0.08em] !font-bold\">Bekijk vakanties</Button>}\n\n </div>\n\n </div>\n}","\"use client\";\nimport { Button } from \"@components/button\";\nimport clsx from \"clsx\";\nimport { IconArrowRight } from \"../../icons\";\n\ninterface BlogWidgetProps {\n \"data-testid\"?: string;\n className?: string;\n blogTitle?: string;\n blogText?: string;\n blogImage?: string;\n buttonText?: string;\n ButtonAction?: () => void;\n readingTime?: string;\n dropShadow?: boolean;\n}\n\nexport const BlogWidget = ({ className, blogTitle, blogText, blogImage, buttonText, ButtonAction, readingTime, dropShadow = false, \"data-testid\": dataTestId = \"blog-widget\", ...props }: BlogWidgetProps) => (\n <div\n data-component=\"blog-widget\"\n data-testid={dataTestId}\n className={clsx(className, `flex flex-col rounded-t-lg h-fit rounded-b-lg bg-white ${dropShadow && 'drop-shadow-2xl'}`)}\n {...props}\n >\n \n <div className=\"w-full\">\n <img className=\"rounded-t-lg\" src={blogImage} alt=\"\" />\n </div>\n <div className=\"p-4 flex flex-col\">\n <span className=\"text-primary text-xs blog-widget-date font-bold\">{new Date().toLocaleDateString('nl-NL')}{readingTime && <span className=\"uppercase\">{` - ${readingTime}`}</span>}</span>\n <span className=\"text-secondary blog-widget-title text-xl my-2 font-bold tracking-[-0.02em]\">{blogTitle}</span>\n <span className=\"mb-5 line-clamp-3 text-sm\">{blogText}</span>\n <Button variant=\"outline\" className=\"w-fit\" iconRight icon={<IconArrowRight />} onClick={ButtonAction}>{buttonText}</Button>\n </div>\n </div>\n);\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconClock } from \"../../icons\";\n\ninterface CouponProps {\n \"data-testid\"?: string;\n className?: string;\n title: string;\n description: React.ReactNode;\n code: string;\n validUntil: string;\n image: {\n src: string;\n alt: string;\n },\n backgroundColor?: string;\n}\n\n\nexport const Coupon = ({ className, title, description, code, validUntil, image, backgroundColor = \"bg-white\", ...props }: CouponProps) => {\n\n const onClickFunction = () => {\n navigator.clipboard.writeText(code);\n }\n\n return <div\n data-component=\"coupon\"\n className={clsx(className, 'rounded-lg w-full sm:w-fit relative')}\n {...props}\n >\n <div className={clsx(\"rounded-t-sm\", backgroundColor)}>\n <div className=\"flex flex-row p-4 pb-2\">\n <div>\n <img src={image.src} className=\"rounded-lg\" alt={image.alt} width={65} height={65} />\n </div>\n <div className=\"flex flex-col px-4\">\n <h2 className=\"font-bold text-secondary\">{title}</h2>\n <p className=\"text-xs sm:text-sm\">{description}</p>\n </div>\n </div>\n </div>\n <div className={clsx(\"h-3 coupon-bite-top\", backgroundColor)} />\n <div className={clsx(\"h-[2px] mx-3 coupon-bite-dashes\", backgroundColor)} />\n <div className={clsx(\"h-3 coupon-bite-bottom\", backgroundColor)} />\n <div className={clsx(\"rounded-b-sm\", backgroundColor)}>\n <div className=\"flex flex-col items-center justify-center p-4 pt-2\">\n <div className=\"text-primary uppercase flex flex-row items-center gap-1\">\n <span className=\"text-xs sm:text-base\">Kortingscode:</span> \n <span className=\"font-bold text-xs sm:text-base\">{code}</span>\n <button onClick={onClickFunction}><IconClock className=\"w-5 h-5\" /></button>\n </div>\n {validUntil && <span className=\"w-full text-center text-gray-600 uppercase text-[10px] font-bold\">Geldig t/m: {validUntil}</span>}\n </div>\n </div>\n\n </div> \n}","\"use client\";\nimport clsx from \"clsx\";\n\ninterface WeatherItem {\n icon: React.ReactNode;\n temperature: string;\n temperature_percent: number;\n month: number;\n}\n\ninterface WeatherProps {\n \"data-testid\"?: string;\n className?: string;\n weatherItems: WeatherItem[];\n title: string;\n direction?: 'horizontal' | 'vertical';\n}\n\nconst monthLabels = [\"jan\", \"feb\", \"mar\", \"apr\", \"mei\", \"jun\", \"jul\", \"aug\", \"sep\", \"okt\", \"nov\", \"dec\"];\n\nexport const Weather = ({ className, weatherItems, title, direction = 'horizontal', ...props }: WeatherProps) => {\n const isVertical = direction === 'vertical';\n return (\n <div\n data-component=\"weather\"\n className={clsx(className, 'flex flex-col gap-2')}\n {...props}\n >\n <div className=\"p-4 rounded-lg overflow-scroll w-full sm:w-fit\" style={{ background: 'linear-gradient(180deg, #0092F2 0%, #0092F2 56.18%, #7EC3F0 101.61%)' }}>\n <div className=\"text-white text-lg font-bold mb-5\">{title}</div>\n <div className={clsx(\"gap-2 flex flex-col\", isVertical && \"h-[310px] flex flex-row gap-2 w-fit\")}>\n\n {weatherItems.map((weatherItem, index) => (\n <div key={index} className={clsx(\"flex gap-2 text-white\", isVertical ? \"flex-col h-full w-8 items-center justify-center\" : \"flex-row\")}>\n <span className={clsx(isVertical ? \"w-full order-5 justify-center items-center text-center\" : \"w-10\")}>{monthLabels[weatherItem.month]}</span>\n <span className={clsx(\"flex items-center justify-center\", isVertical ? \"w-full order-1\" : \"w-10\")}>{weatherItem.icon}</span>\n <div className={clsx(\"flex items-center justify-center\", isVertical ? \"h-full order-3\" : \"w-full\")}>\n <span className={clsx(\"bg-white/50 rounded-xl flex\", isVertical ? \"w-2 h-full items-end\" : \"w-full h-2\")}>\n <span className=\"bg-amber-200 rounded-xl\" style={isVertical ? { height: `${weatherItem.temperature_percent}%`, width: '100%' } : { width: `${weatherItem.temperature_percent}%`, height: '100%' }} />\n </span>\n </div>\n <span className={clsx(isVertical ? \"w-full text-center order-2\" : \"w-14 text-right\")}>{weatherItem.temperature}{isVertical ? '°' : '°C'}</span>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { IconEdit, IconShare } from \"../../icons\";\nimport { Button } from \"@components/button\";\n\ninterface Image {\n src: string;\n alt: string;\n}\n\ninterface CollectionProps {\n \"data-testid\"?: string;\n className?: string;\n images: Image[];\n collectionTitle: string;\n collectionDescription: string;\n shareAction?: () => void;\n editAction?: () => void;\n}\n\nexport const Collection = ({ className, images, collectionTitle, collectionDescription, shareAction, editAction, \"data-testid\": dataTestId = \"collection\", ...props }: CollectionProps) => (\n <div\n data-component=\"collection\"\n data-testid={dataTestId}\n className={clsx(className, 'rounded-sm overflow-hidden bg-white')}\n {...props}\n >\n <div className=\"grid grid-cols-3 gap-[2px]\">\n <div className=\"col-span-2 row-span-2\">\n <img className=\"h-full w-full object-cover\" src={images[0]?.src} alt={images[0]?.alt} />\n </div>\n <div className=\"col-span-1 row-span-1\">\n <img className=\"h-full w-full object-cover\" src={images[1]?.src} alt={images[1]?.alt} />\n </div>\n <div className=\"col-span-1 row-span-1\">\n <img className=\"h-full w-full object-cover\" src={images[2]?.src} alt={images[2]?.alt} />\n </div>\n </div>\n\n <div className=\"flex flex-row content-between justify-between\">\n\n <div className=\"flex flex-col gap-2 m-4 mb-8\">\n <span className=\"font-bold text-2xl text-secondary w-full collection-title\">\n {collectionTitle}\n </span>\n <span className=\"w-full collection-description font-normal text-sm\">\n {collectionDescription}\n </span>\n </div>\n <div className=\"m-5 gap-2 flex flex-row items-start\">\n <Button variant=\"icon\" className=\"cursor-pointer\" onClick={shareAction}><IconShare className=\"text-dark-600 hover:text-dark-500\" width={24} height={24} /></Button>\n <Button variant=\"icon\" className=\"cursor-pointer\" onClick={editAction}><IconEdit className=\"text-dark-600 hover:text-dark-500\" width={24} height={24} /></Button>\n </div>\n\n </div>\n\n </div>\n);\n","\"use client\";\nimport { Rating } from \"@components/rating\";\nimport { ReviewSmall } from \"@components/reviewSmall\";\nimport clsx from \"clsx\";\n\ninterface HotelWidgetProps {\n \"data-testid\"?: string;\n className?: string;\n Id: string,\n Name: string,\n Classification: number[],\n City: string,\n Country: string,\n Image: string,\n Images: string[],\n Url: string,\n TripUrl: string,\n Review: {\n Grade: number,\n NrReviews: number,\n NrReviewsValue: string\n },\n Price: number,\n PriceInfo: string,\n ReviewText: string,\n Date: string,\n HotelUsps: string[],\n Region: string,\n Transport: string,\n BoardType: string,\n DepartureDate: string,\n BoardTypeHuman: string,\n Duration: number,\n TransferIncluded: boolean,\n DeparturePoint: string,\n DeparturePointHuman: string\n\n}\n\nexport const HotelWidget = ({\n className,\n Review,\n Classification,\n City,\n Country,\n Name,\n Url,\n Image,\n Id,\n Images,\n TripUrl,\n Price,\n PriceInfo,\n ReviewText,\n Date,\n HotelUsps,\n Region,\n Transport,\n BoardType,\n DepartureDate,\n BoardTypeHuman,\n Duration,\n TransferIncluded,\n DeparturePoint,\n DeparturePointHuman,\n ...props\n}: HotelWidgetProps) => (\n <div\n data-component=\"hotel-widget\"\n className={clsx(className, 'flex flex-row p-4 rounded-md gap-3 bg-white w-fit')}\n {...props}\n >\n<div>\n <img src={Image} alt={Name} className=\"w-16 h-16 object-cover rounded-md min-w-16 min-h-16\" />\n</div>\n<div className=\"flex flex-col\">\n <span className=\"text-base font-bold max-w-[190px] whitespace-nowrap truncate mb-1\">{Name}</span>\n <div className=\"flex flex-row justify-between items-center\">\n <div>\n <span className=\"truncate max-w-[160px] block overflow-ellipsis text-xs mb-1 font-medium text-gray-500\">{City} - {Country}</span>\n <span><Rating size=\"small\" rating={Classification.length} /></span>\n </div>\n <div><ReviewSmall rating={Review.Grade} /></div>\n\n </div>\n\n</div>\n\n\n </div>\n);\n","\"use client\";\nimport { Button } from \"@components/button\";\nimport clsx from \"clsx\";\nimport { IconArrowLeft, IconArrowRight } from \"../../icons\";\n\ninterface PageNavigationProps {\n \"data-testid\"?: string;\n className?: string;\n currentPage: number;\n pages?: number[];\n onPageChange?: (page: number) => void;\n onPagesChange?: (pages: number[]) => void;\n totalPages?: number;\n}\n\nexport const PageNavigation = ({ className, pages, currentPage, onPageChange, onPagesChange, totalPages, ...props }: PageNavigationProps) => {\n\n const sortedPages = [...(pages ?? [])].sort((a, b) => a - b);\n const groupSize = sortedPages.length;\n\n const isGrouped = typeof totalPages === \"number\" && totalPages > 0 && groupSize > 0;\n\n const currentIndex = sortedPages.indexOf(currentPage);\n\n const nextGreaterIndex = sortedPages.findIndex((p) => p > currentPage);\n const insertionIndex = nextGreaterIndex === -1 ? sortedPages.length : nextGreaterIndex;\n const derivedIndex = currentIndex !== -1 ? currentIndex : insertionIndex - 1;\n\n const isFirst = sortedPages.length === 0 || derivedIndex <= 0;\n const isLast = sortedPages.length === 0 || derivedIndex >= sortedPages.length - 1;\n\n const previousPage = !isFirst ? sortedPages[derivedIndex - 1] : undefined;\n const nextPage = !isLast ? sortedPages[derivedIndex + 1] : undefined;\n\n const canGoGroupPrev = isGrouped ? (sortedPages[0] !== undefined && sortedPages[0] > 1) : !isFirst;\n const canGoGroupNext = isGrouped ? (sortedPages[0] !== undefined && sortedPages[0] + groupSize <= totalPages) : !isLast;\n\n const buildGroup = (start: number) => {\n const safeStart = Math.max(1, start);\n const max = totalPages!;\n return Array.from({ length: groupSize }, (_, i) => safeStart + i).filter((p) => p <= max);\n };\n\n return (\n <div\n data-component=\"page-navigation\"\n data-testid={\"page-navigation\"}\n className={clsx(className, \"flex justify-between w-full gap-2\")}\n {...props}\n >\n <Button\n variant=\"icon\"\n disabled={!canGoGroupPrev}\n className={!canGoGroupPrev ? \"cursor-not-allowed opacity-50\" : \"\"}\n onClick={() => {\n if (isGrouped) {\n const groupStart = sortedPages[0];\n if (groupStart !== undefined) {\n const prevStart = groupStart - groupSize;\n const newPages = buildGroup(prevStart);\n onPagesChange?.(newPages);\n if (newPages[0] !== undefined) onPageChange?.(newPages[0]);\n }\n return;\n }\n\n if (previousPage !== undefined) onPageChange?.(previousPage);\n }}\n icon={<IconArrowLeft className=\"text-primary\" width={16} height={16} />}\n />\n <div className=\"flex flex-row gap-2\">\n {pages?.map((page) => {\n return (\n <span\n key={page}\n role=\"button\"\n tabIndex={0}\n onClick={() => onPageChange?.(page)}\n className={`page-navigation cursor-pointer w-8 h-8 p-2 text-xs rounded-sm flex items-center justify-center hover:bg-primary hover:text-white ${currentPage === page ? \"bg-primary rounded-full text-white selected\" : \"\"}`}\n >\n {page}\n </span>\n );\n })}\n </div>\n <Button\n variant=\"icon\"\n className={!canGoGroupNext ? \"cursor-not-allowed opacity-50\" : \"\"}\n disabled={!canGoGroupNext}\n onClick={() => {\n if (isGrouped) {\n const groupStart = sortedPages[0];\n if (groupStart !== undefined) {\n const nextStart = groupStart + groupSize;\n const newPages = buildGroup(nextStart);\n onPagesChange?.(newPages);\n if (newPages[0] !== undefined) onPageChange?.(newPages[0]);\n }\n return;\n }\n\n if (nextPage !== undefined) onPageChange?.(nextPage);\n }}\n icon={<IconArrowRight className=\"text-primary\" width={16} height={16} />}\n />\n </div>\n );\n};\n","\"use client\";\nimport { Button } from \"@components/button\";\nimport clsx from \"clsx\";\nimport type * as React from \"react\";\nimport { useId, type HTMLAttributes } from \"react\";\nimport { IconCancel } from \"../../icons\";\nimport \"./styles.css\";\n\ninterface PvPopupProps extends HTMLAttributes<HTMLDivElement> {\n \"data-testid\"?: string;\n className?: string;\n popupTitle: string;\n content: React.ReactElement;\n button?: React.ReactElement;\n size: \"small\" | \"medium\";\n popover?: \"auto\";\n popupId?: string;\n backdrop?: boolean;\n}\n\nexport const PvPopup = ({ className, popupTitle, content, button, size, popover, popupId, backdrop, ...props }: PvPopupProps) => {\n const reactId = useId();\n const resolvedPopupId = popupId ?? `pv-popup-${reactId.replace(/:/g, \"\")}`;\n const resolvedPopover = popover ?? \"auto\";\n\n return (\n <div\n data-component=\"pv-popup\"\n className={clsx(className)} \n {...props}\n >\n <Button popoverTarget={resolvedPopupId}>Open Popup</Button>\n\n <div\n {...({ popover: resolvedPopover } as React.HTMLAttributes<HTMLDivElement>)}\n id={resolvedPopupId}\n className={clsx(\n `shadow rounded-sm ${size === 'small' ? 'w-[375px]' : 'w-[600px]'}`,\n backdrop && 'with-backdrop'\n )}\n style={backdrop ? {\n '--backdrop-bg': 'rgba(0, 0, 0, 0.5)'\n } as React.CSSProperties : undefined}\n >\n <div className=\"flex flex-row justify-between p-4 border-b border-gray-200\">\n <span className=\"text-base font-bold text-secondary popup-title\">{popupTitle}</span>\n <Button popoverTarget={resolvedPopupId} popoverTargetAction=\"hide\" icon={<IconCancel width={24} height={24} />} variant=\"icon\" />\n </div>\n <div className=\"p-4\">\n {content}\n </div>\n {button && <div className=\"w-full border-t border-gray-300 p-4\">\n {button}\n </div>}\n </div>\n </div>\n );\n};\n","\"use client\";\nimport clsx from \"clsx\";\nimport { useBrand } from \"../../theme\";\nimport { IconArrowDown, IconArrowRight, IconCalendar, IconChevronRight, IconMap, IconParty, IconPlane, IconSun } from \"../../icons\";\nimport { Button } from \"@components/button\";\n\n\ninterface SearchBlockProps {\n \"data-testid\"?: string;\n className?: string;\n searchBlockTitle?: string;\n searchBlockForm?: React.ReactNode;\n loading: boolean;\n onClickFn?: () => void;\n}\n\ninterface SearchBlockButtonProps {\n className?: string;\n label?: string;\n labelOutside?: boolean;\n icon?: React.ReactNode;\n downIcon?: React.ReactNode;\n onClick?: () => void;\n selectedValue?: string;\n secondarySelectedValue?: string;\n}\n\n\nexport const SearchBlockButton = ({ className, label, labelOutside, icon, downIcon, onClick, selectedValue, secondarySelectedValue, ...props }: SearchBlockButtonProps) => {\n return <>\n {labelOutside && <span className=\"searchBlockButtonLabel\">{label}</span>}\n <button className={clsx(className, \"searchBlockButton flex flex-row items-center justify-between gap-2 px-2 py-2 cursor-pointer border border-transparent hover:border-gray-300 transition-all\")} onClick={onClick} {...props}>\n <div className=\"flex flex-row items-center justify-center gap-2\">\n <span className=\"w-5 h-auto sm:h-5 flex items-center justify-center searchBlockButtonIcon\">{icon}</span>\n <span className=\"flex flex-col items-start justify-center\">\n {!labelOutside && <span className=\"searchBlockButtonLabel\">{label}</span>}\n <span className=\"searchBlockButtonSelectedValue whitespace-nowrap flex flex-col sm:flex-row items-start sm:items-center\">\n <span className={`${secondarySelectedValue && \"font-bold\"}`}>\n {selectedValue}\n </span>\n {secondarySelectedValue && <div className=\"flex flex-row gap-0 sm:gap-2 text-xs\"><span className=\"hidden ml-0 sm:ml-2 sm:inline\">-</span>{secondarySelectedValue}</div>}\n </span>\n </span>\n \n </div>\n <span className=\"searchBlockButtonDownIcon\">{downIcon}</span>\n\n </button></>\n}\n\nexport const SearchBlock = ({ className, searchBlockTitle, searchBlockForm, loading, onClickFn, \"data-testid\": dataTestId = \"book-module\", ...props }: SearchBlockProps) => {\n const brand = useBrand();\n return <div\n data-component=\"book-module\"\n data-testid={dataTestId}\n className={clsx(className, `searchBlock w-full sm:w-[350px] ${brand === 'dreizen' ? \"p-8\" : \"p-4\"}`)}\n {...props}\n >\n <div className={`flex flex-col ${brand === 'prijsvrij' && \"gap-2\"}`}>\n <span className={`${brand === 'dreizen' && \"mb-2\"}`}>{searchBlockTitle}</span>\n <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"2 personen op 1 kamer\" label=\"Reisgezelschap\" icon={<IconParty />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} />\n <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"Alle landen\" label=\"Bestemming\" icon={<IconMap />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} />\n <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"De voordeligste datum\" secondarySelectedValue=\"14 dagen\" label=\"Vertrekdatum\" icon={<IconCalendar />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} />\n {/* <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"1 week\" label=\"Reisduur\" icon={<IconPlane />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} /> */}\n <SearchBlockButton labelOutside={brand === 'dreizen'} selectedValue=\"Vliegreis\" secondarySelectedValue=\"5 geselecteerd\" label=\"Vervoerstype\" icon={<IconPlane />} downIcon={brand === 'dreizen' ? <IconChevronRight className=\" rotate-90\" /> : <IconArrowDown className=\"\" />} onClick={() => { }} />\n <Button variant={`${brand === 'prijsvrij' ? 'primaryGlow' : 'primary'}`} className={`${brand === 'dreizen' ? \"mt-6\" : 'mt-2'}`} onClick={onClickFn} icon={loading ? <IconSun className=\"animate-spin\" /> : <IconArrowRight />} iconRight={true}>Zoek vakanties</Button>\n </div>\n </div>\n};","\"use client\";\nimport { forwardRef, useState, useCallback } from \"react\";\nimport { cn } from \"@utils/cn\";\n\nexport interface RangeSliderProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"type\" | \"className\" | \"onChange\" | \"size\"\n> {\n \"data-testid\"?: string;\n className?: string;\n min?: number;\n max?: number;\n value?: number;\n defaultValue?: number;\n step?: number;\n disabled?: boolean;\n onChange?: (value: number) => void;\n variant?: \"default\" | \"primary\" | \"secondary\";\n size?: \"sm\" | \"md\" | \"lg\";\n showValue?: boolean;\n valueFormatter?: (value: number) => string;\n}\n\nexport const RangeSlider = forwardRef<HTMLInputElement, RangeSliderProps>(\n function RangeSlider(\n {\n className,\n min = 0,\n max = 100,\n value: controlledValue,\n defaultValue = 0,\n step = 1,\n disabled = false,\n onChange,\n variant = \"default\",\n size = \"md\",\n showValue = false,\n valueFormatter = (value) => value.toString(),\n \"data-testid\": dataTestId,\n ...props\n },\n ref,\n ) {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const value = controlledValue !== undefined ? controlledValue : internalValue;\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = Number(event.target.value);\n setInternalValue(newValue);\n onChange?.(newValue);\n },\n [onChange],\n );\n\n const percentage = ((value - min) / (max - min)) * 100;\n\n const variants = {\n default: {\n track: \"bg-gray-200\",\n trackFilled: \"bg-blue-500\",\n },\n primary: {\n track: \"bg-[#80C9F8]\",\n trackFilled: \"bg-primary\",\n },\n secondary: {\n track: \"bg-gray-100\",\n trackFilled: \"bg-gray-400\",\n },\n };\n\n const sizes = {\n sm: { track: 4 },\n md: { track: 6 },\n lg: { track: 6 },\n };\n\n const currentVariant = variants[variant];\n const currentSize = sizes[size];\n\n return (\n <div\n data-component=\"RangeSlider\"\n className={cn(\"relative w-full\", disabled && \"opacity-50\", className)}\n data-testid={dataTestId}\n >\n <div className=\"relative py-2\">\n {/* Track background */}\n <div\n className={cn(\n \"absolute w-full rounded-full\",\n currentVariant.track,\n )}\n style={{ \n height: `${currentSize.track}px`,\n top: '50%',\n transform: 'translateY(-50%)'\n }}\n />\n \n {/* Filled track */}\n <div\n className={cn(\n \"absolute rounded-full transition-all duration-150 ease-out\",\n currentVariant.trackFilled,\n )}\n style={{ \n width: `${percentage}%`,\n height: `${currentSize.track}px`,\n top: '50%',\n transform: 'translateY(-50%)'\n }}\n />\n \n {/* Custom thumb */}\n <div\n className={cn(\n \"absolute rounded-full bg-primary border-2 transition-all duration-150 ease-out pointer-events-none\",\n variant === \"default\" && \"border-white\",\n variant === \"primary\" && \"border-white\",\n variant === \"secondary\" && \"border-gray-400\",\n )}\n style={{\n width: `${size === 'sm' ? 12 : size === 'lg' ? 24 : 16}px`,\n height: `${size === 'sm' ? 12 : size === 'lg' ? 24 : 16}px`,\n left: `calc(${percentage}% - ${(size === 'sm' ? 12 : size === 'lg' ? 24 : 16) / 2}px)`,\n top: '50%',\n transform: 'translateY(-50%)',\n boxShadow: '0 1px 3px rgba(0, 0, 0, 0.1)',\n }}\n />\n \n {/* Value display that follows thumb */}\n {showValue && (\n <div\n className=\"absolute pointer-events-none transition-all duration-150 ease-out\"\n style={{\n left: `${percentage}%`,\n top: '100%',\n transform: 'translateX(-50%) translateY(8px)',\n }}\n >\n <div className=\"bg-gray-800 text-white text-xs font-medium px-2 py-1 rounded whitespace-nowrap\">\n {valueFormatter(value)}\n </div>\n </div>\n )}\n \n {/* Native range input (invisible, for functionality) */}\n <input\n ref={ref}\n type=\"range\"\n min={min}\n max={max}\n value={value}\n step={step}\n disabled={disabled}\n onChange={handleChange}\n className={cn(\n \"absolute inset-0 w-full cursor-pointer\",\n disabled && \"cursor-not-allowed\"\n )}\n style={{ opacity: 0 }}\n {...props}\n />\n </div>\n </div>\n );\n },\n);\n\nRangeSlider.displayName = \"RangeSlider\";\n"],"mappings":"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AC5FD,IAAY,kFAAL;AACL;AACA;AACA;AACA;;AACD;AAED,IAAY,gFAAL;AACL;;AACD;AAED,IAAY,0CAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD;AAED,IAAY,4CAAL;AACL;AACA;AACA;;AACD;AAED,IAAY,0DAAL;AACL;AACA;;AACD;;;;ACjBD,MAAMC,aAEF,WACF,CACE,EACE,OACA,WAAW,OACX,eAAe,WACf,MACA,OAAO,UACP,eAAe,QACf,WAAW,IACX,cAAc,GACd,SACA,UACA,GAAG,OACJ,EACD,QACG;CACH,MAAM,oBAAoB,KAAK;EAC7B,mMACE,iBAAiB,0BAA0B;EAC7C,4KACE,iBAAiB,0BAA0B;EAC7C,8NACE,iBAAiB,0BAA0B;EAC7C,+LACE,iBAAiB,0BAA0B;CAC9C,EAAC;AAEF,wBACE,4CACE,IAAC;EACQ;EACD;EACI;EACV,eAAa;EACb,kBAAe;EACf,WAAW,GACT,mBACA,EACE,iEACE,SACH,GACD,UACD;EACQ;EACJ;EACL,mBAAiB;EACjB,wBAAsB;EACtB,GAAI;YAEH,OACG,WAAW,MAAM;GAAE,QAAQ;GAAa,MAAM;EAAU,EAAC,GACzD,MAAM;GACH,GACR;AAEN,EACF;AAED,WAAW,cAAc;;;;AC1EzB,MAAa,QAAQ,CAAC,EACpB,MACA,SACA,MACA,QAAQ,OACR,WACO,KAAK;CACZ,MAAM,CAAC,WAAW,aAAa,GAAG,UAAmB;CAErD,MAAM,OAAO,MAAM;AACjB,MAAI,MAAO,QAAO;AAElB,UAAQ,MAAR;GACE,KAAK,UACH,wBACE,IAAC;IACC,WAAU;IACV,eAAY;KACZ;GAEN,KAAK,QACH,wBACE,IAAC;IACC,WAAU;IACV,eAAY;KACZ;GAEN,KAAK,UACH,wBACE,IAAC;IACC,WAAU;IACV,eAAY;KACZ;EAEP;CACF;AAED,WAAU,MAAM;AACd,eAAa,KAAK;CACnB,GAAE,CAAC,IAAK,EAAC;AAEV,MAAK,U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"}