PageSourceSearch

https://diks.net/_next/static/chunks/2t_jleszrpcgc.js

js diks.net collected 2026-09-24 10:28:04 UTC 92,848 bytes, 1,598 lines download raw bytes

1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="26012f16-abd9-1700-e28a-c25517740e3b")}catch(e){}}();
2(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([typeof document === "object" ? document.currentScript : undefined,
344038, ((__turbopack_context__) => {
4"use strict";
5
6var __TURBOPACK__imported__module__843476__ = __turbopack_context__.i(843476);
7var __TURBOPACK__imported__module__271645__ = __turbopack_context__.i(271645);
8;
9;
10const SvgPassengerCar = (props, ref)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])("svg", {
11        xmlns: "http://www.w3.org/2000/svg",
12        width: 24,
13        height: 24,
14        fill: "none",
15        viewBox: "0 0 24 24",
16        ref: ref,
17        ...props,
18        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])("path", {
19            fill: "currentColor",
20            d: "M21.375 12.417v6.25a.8.8 0 0 1-.275.589 1 1 0 0 1-.663.244H19.5a1 1 0 0 1-.663-.244.8.8 0 0 1-.274-.59v-.833H5.438v.834a.8.8 0 0 1-.275.589 1 1 0 0 1-.663.244h-.937a1 1 0 0 1-.663-.244.8.8 0 0 1-.275-.59v-6.25l-1.165-.258a.96.96 0 0 1-.512-.295.78.78 0 0 1-.198-.513v-.6c0-.11.05-.216.137-.295a.5.5 0 0 1 .332-.122h1.758L4.98 5.582c.134-.318.374-.592.688-.785A2.04 2.04 0 0 1 6.737 4.5h10.526c.382 0 .755.104 1.068.297s.554.467.688.785l2.004 4.751h1.758a.5.5 0 0 1 .332.122.4.4 0 0 1 .137.295v.6c0 .186-.07.366-.198.513a.96.96 0 0 1-.512.295zM4.5 13.667v1.666a.8.8 0 0 0 .275.59 1 1 0 0 0 .662.244H8.48c.08 0 .16-.02.23-.055a.45.45 0 0 0 .171-.148.38.38 0 0 0 .01-.41q-1.131-1.888-4.391-1.887m15 0q-3.259 0-4.393 1.886a.38.38 0 0 0 .011.411.45.45 0 0 0 .171.149c.07.035.15.054.231.054h3.043a1 1 0 0 0 .662-.244.8.8 0 0 0 .275-.59zm-13.125-7.5L4.912 10.07a.75.75 0 0 0-.038.389c.023.13.08.254.166.361s.201.195.333.255c.133.06.279.092.427.092h12.4c.148 0 .294-.032.427-.092a.9.9 0 0 0 .333-.255.8.8 0 0 0 .166-.361.75.75 0 0 0-.038-.389l-1.463-3.903z"
21        })
22    });
23const ForwardRef = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__["forwardRef"])(SvgPassengerCar);
24const Memo = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__["memo"])(ForwardRef);
25const __TURBOPACK__default__export__ = Memo;
26__turbopack_context__.s([
27    "default",
28    0,
29    __TURBOPACK__default__export__
30]);
31}),
3217198, ((__turbopack_context__) => {
33"use strict";
34
35var __TURBOPACK__imported__module__271645__ = __turbopack_context__.i(271645);
36var __TURBOPACK__imported__module__408155__ = __turbopack_context__.i(408155);
37var __TURBOPACK__imported__module__768834__ = __turbopack_context__.i(768834);
38"use client";
39;
40;
41;
42const createRentalWidgetStore = ()=>{
43    return (0, __TURBOPACK__imported__module__408155__["createStore"])()((set)=>({
44            currentActiveElement: null,
45            setCurrentActiveElement: (element)=>set((state)=>({
46                        ...state,
47                        currentActiveElement: element
48                    }))
49        }));
50};
51const RentalWidgetContext = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__["createContext"])(null);
52function useRentalWidgetStore() {
53    const store = (0, __TURBOPACK__imported__module__271645__["useContext"])(RentalWidgetContext);
54    if (!store) throw new Error("Missing RentalWidgetContext.Provider in the tree");
55    return store;
56}
57function useRentalWidgetState(selector) {
58    const store = useRentalWidgetStore();
59    return (0, __TURBOPACK__imported__module__768834__["useStore"])(store, selector);
60}
61__turbopack_context__.s([
62    "RentalWidgetContext",
63    0,
64    RentalWidgetContext,
65    "createRentalWidgetStore",
66    0,
67    createRentalWidgetStore,
68    "useRentalWidgetState",
69    0,
70    useRentalWidgetState,
71    "useRentalWidgetStore",
72    0,
73    useRentalWidgetStore
74]);
75}),
7635404, ((__turbopack_context__) => {
77"use strict";
78
79var __TURBOPACK__imported__module__843476__ = __turbopack_context__.i(843476);
80var __TURBOPACK__imported__module__271645__ = __turbopack_context__.i(271645);
81var __TURBOPACK__imported__module__218330__ = __turbopack_context__.i(218330);
82var __TURBOPACK__imported__module__735436__ = __turbopack_context__.i(735436);
83var __TURBOPACK__imported__module__773447__ = __turbopack_context__.i(773447);
84var __TURBOPACK__imported__module__948148__ = __turbopack_context__.i(948148);
85var __TURBOPACK__imported__module__17198__ = __turbopack_context__.i(17198);
86;
87;
88;
89;
90;
91;
92const ConnectedLocationPicker = /*#__PURE__*/ __TURBOPACK__imported__module__271645__["default"].memo(function ConnectedLocationPicker(param) {
93    let { ref, mode = "pickup_and_return", errors = [], anchor, align, label, className, popupClassName, triggerClassName, showLocationInfo = true, onSelect } = param;
94    const isReturn = mode === "return";
95    const widgetStore = (0, __TURBOPACK__imported__module__17198__["useRentalWidgetStore"])();
96    const t = (0, __TURBOPACK__imported__module__948148__["useTranslations"])(isReturn ? "LocationPicker.returnLocation" : "LocationPicker");
97    const element = isReturn ? "return_location" : "location";
98    const open = (0, __TURBOPACK__imported__module__17198__["useRentalWidgetState"])((state)=>state.currentActiveElement === element);
99    const onOpenChange = (0, __TURBOPACK__imported__module__271645__["useCallback"])((open)=>{
100        const state = widgetStore.getState();
101        state.setCurrentActiveElement(open ? element : null);
102    }, [
103        widgetStore,
104        element
105    ]);
106    const locations = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.locations);
107    const pickupLocation = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.locations.find((location)=>location.id === state.config.locationId));
108    const returnLocation = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.locations.find((location)=>location.id === state.config.returnLocationId));
109    const error = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
110        const fields = [];
111        if (mode === "return") fields.push("returnLocationId");
112        if (mode === "pickup") fields.push("locationId");
113        if (mode === "pickup_and_return") fields.push("locationId", "returnLocationId");
114        return errors.some((it)=>fields.includes(it.field));
115    }, [
116        errors,
117        mode
118    ]);
119    const setReturnLocationId = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.setReturnLocationId);
120    const setLocationId = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.setLocationId);
121    const handleOnChangeLocation = (0, __TURBOPACK__imported__module__271645__["useCallback"])((location)=>{
122        if (mode === "return") {
123            setReturnLocationId(location === null || location === void 0 ? void 0 : location.id);
124            return;
125        }
126        if (mode === "pickup") {
127            setLocationId(location === null || location === void 0 ? void 0 : location.id);
128        } else {
129            setLocationId(location === null || location === void 0 ? void 0 : location.id);
130            setReturnLocationId(location === null || location === void 0 ? void 0 : location.id);
131        }
132        // Advance to the next field once a pickup location is actually chosen.
133        if (location) {
134            onSelect === null || onSelect === void 0 ? void 0 : onSelect();
135        }
136    }, [
137        mode,
138        setLocationId,
139        setReturnLocationId,
140        onSelect
141    ]);
142    const handleOnChangeReturnLocation = (0, __TURBOPACK__imported__module__271645__["useCallback"])((location)=>{
143        setReturnLocationId(location === null || location === void 0 ? void 0 : location.id);
144    }, [
145        setReturnLocationId
146    ]);
147    const value = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
148        if (mode === "return") {
149            return {
150                pickupLocation,
151                returnLocation: returnLocation !== null && returnLocation !== void 0 ? returnLocation : pickupLocation
152            };
153        }
154        return {
155            pickupLocation,
156            returnLocation: (returnLocation === null || returnLocation === void 0 ? void 0 : returnLocation.id) === (pickupLocation === null || pickupLocation === void 0 ? void 0 : pickupLocation.id) ? undefined : returnLocation
157        };
158    }, [
159        mode,
160        pickupLocation,
161        returnLocation
162    ]);
163    return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__735436__["default"], {
164        ref: ref,
165        mode: mode,
166        align: align,
167        label: label !== null && label !== void 0 ? label : t("label"),
168        anchor: anchor,
169        locations: locations,
170        className: className,
171        popupClassName: popupClassName,
172        triggerClassName: triggerClassName,
173        showLocationInfo: !isReturn && showLocationInfo,
174        onChangeLocation: handleOnChangeLocation,
175        onChangeReturnLocation: handleOnChangeReturnLocation,
176        value: value,
177        error: error,
178        open: open,
179        onOpenChange: onOpenChange
180    });
181});
182__turbopack_context__.s([
183    "ConnectedLocationPicker",
184    0,
185    ConnectedLocationPicker
186]);
187}),
188394973, 893980, 
189((__turbopack_context__) => {
190"use strict";
191
192// MERGED MODULE: [project]/src/components/widgets/_components/MainCategoryPicker.tsx [app-client] (ecmascript)
193;
194var __TURBOPACK__imported__module__843476__ = __turbopack_context__.i(843476);
195var __TURBOPACK__imported__module__774084__ = __turbopack_context__.i(774084);
196var __TURBOPACK__imported__module__501804__ = __turbopack_context__.i(501804);
197var __TURBOPACK__imported__module__47660__ = __turbopack_context__.i(47660);
198var __TURBOPACK__imported__module__773447__ = __turbopack_context__.i(773447);
199var __TURBOPACK__imported__module__948148__ = __turbopack_context__.i(948148);
200// MERGED MODULE: [project]/src/icon/vehicle-categories/CarTransporter.tsx [app-client] (ecmascript)
201;
202var __TURBOPACK__imported__module__843476__1 = __TURBOPACK__imported__module__843476__;
203var __TURBOPACK__imported__module__271645__ = __turbopack_context__.i(271645);
204;
205;
206const SvgCarTransporter = (props, ref)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("svg", {
207        xmlns: "http://www.w3.org/2000/svg",
208        width: 24,
209        height: 24,
210        fill: "none",
211        viewBox: "0 0 24 24",
212        ref: ref,
213        ...props,
214        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("path", {
215            fill: "#050C43",
216            fillRule: "evenodd",
217            d: "M16.75 5.25h2.622a.75.75 0 0 1 .603.304l2.628 3.553a.75.75 0 0 1 .147.446V14.5a.75.75 0 0 1-.75.75h-1.285a3.5 3.5 0 0 1-6.93 0h-5.07a3.5 3.5 0 0 1-6.93 0H.75v-3a1 1 0 0 1 1-1h13.206v-6zm0 2v3h4v-.285L18.742 7.25zm-9.688 7.719a1.781 1.781 0 1 1-3.562 0 1.781 1.781 0 0 1 3.562 0m10.22 1.781a1.781 1.781 0 1 0 0-3.563 1.781 1.781 0 0 0 0 3.563",
218            clipRule: "evenodd"
219        })
220    });
221const ForwardRef = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__["forwardRef"])(SvgCarTransporter);
222const Memo = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__["memo"])(ForwardRef);
223const __TURBOPACK__default__export__ = Memo;
224// MERGED MODULE: [project]/src/icon/vehicle-categories/DeliveryVan.tsx [app-client] (ecmascript)
225;
226var __TURBOPACK__imported__module__843476__2 = __TURBOPACK__imported__module__843476__;
227var __TURBOPACK__imported__module__271645__1 = __TURBOPACK__imported__module__271645__;
228;
229;
230const SvgDeliveryVan = (props, ref)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__2["jsx"])("svg", {
231        xmlns: "http://www.w3.org/2000/svg",
232        width: 24,
233        height: 24,
234        fill: "none",
235        viewBox: "0 0 24 24",
236        ref: ref,
237        ...props,
238        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__2["jsx"])("path", {
239            fill: "#050C43",
240            fillRule: "evenodd",
241            d: "m20.02 9.728 2.89 2.095a.82.82 0 0 1 .34.664v4.526a.82.82 0 0 1-.824.822h-2.46a2.498 2.498 0 0 1-4.708 0H6.763a2.497 2.497 0 0 1-4.708 0h-.481a.82.82 0 0 1-.824-.822V5.321c0-.453.369-.821.824-.821h13.75c.246 0 .48.11.636.3zM3.563 17.013a.846.846 0 0 0 1.693 0 .846.846 0 0 0-1.694 0m13.202 0a.846.846 0 0 0 1.694 0 .846.846 0 0 0-1.694 0M13.93 6.936a.82.82 0 0 1 .915.253l2.291 2.796a.824.824 0 0 1-.602 1.39h-2.326a.824.824 0 0 1-.824-.826V7.713c0-.349.219-.66.546-.777",
242            clipRule: "evenodd"
243        })
244    });
245const ForwardRef1 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__1["forwardRef"])(SvgDeliveryVan);
246const Memo1 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__1["memo"])(ForwardRef1);
247const __TURBOPACK__default__export__1 = Memo1;
248// MERGED MODULE: [project]/src/icon/vehicle-categories/Electric.tsx [app-client] (ecmascript)
249;
250var __TURBOPACK__imported__module__843476__3 = __TURBOPACK__imported__module__843476__;
251var __TURBOPACK__imported__module__271645__2 = __TURBOPACK__imported__module__271645__;
252;
253;
254const SvgElectric = (props, ref)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__3["jsx"])("svg", {
255        xmlns: "http://www.w3.org/2000/svg",
256        width: 24,
257        height: 24,
258        fill: "none",
259        viewBox: "0 0 24 24",
260        ref: ref,
261        ...props,
262        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__3["jsx"])("path", {
263            fill: "currentColor",
264            d: "M3.375 19.083V4.708a.96.96 0 0 1 .958-.958h8.625a.96.96 0 0 1 .958.958v7.667h1.917a1.917 1.917 0 0 1 1.917 1.917v3.833a.958.958 0 0 0 1.916 0v-6.708H17.75a.96.96 0 0 1-.959-.959V7.022l-1.588-1.588 1.356-1.355 4.743 4.743a.96.96 0 0 1 .281.678v8.625a2.875 2.875 0 1 1-5.75 0v-3.833h-1.917v4.791h.959V21H2.416v-1.917zm5.75-7.666V7.583l-3.833 5.75h2.874v3.834L12 11.417z"
265        })
266    });
267const ForwardRef2 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__2["forwardRef"])(SvgElectric);
268const Memo2 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__2["memo"])(ForwardRef2);
269const __TURBOPACK__default__export__2 = Memo2;
270__turbopack_context__.s([
271    "default",
272    0,
273    __TURBOPACK__default__export__2
274], 893980);
275// MERGED MODULE: [project]/src/icon/vehicle-categories/PassengerBus.tsx [app-client] (ecmascript)
276;
277var __TURBOPACK__imported__module__843476__4 = __TURBOPACK__imported__module__843476__;
278var __TURBOPACK__imported__module__271645__3 = __TURBOPACK__imported__module__271645__;
279;
280;
281const SvgPassengerBus = (props, ref)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__4["jsx"])("svg", {
282        xmlns: "http://www.w3.org/2000/svg",
283        width: 24,
284        height: 24,
285        fill: "none",
286        viewBox: "0 0 24 24",
287        ref: ref,
288        ...props,
289        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__4["jsx"])("path", {
290            fill: "#050C43",
291            fillRule: "evenodd",
292            d: "m20.02 10.076 2.89 1.934a.74.74 0 0 1 .34.613v4.178c0 .419-.369.758-.824.758h-2.46c-.341.894-1.267 1.537-2.354 1.537s-2.013-.643-2.354-1.537H6.763c-.341.894-1.267 1.537-2.354 1.537-1.086 0-2.012-.643-2.354-1.537h-.481c-.455 0-.824-.34-.824-.758V6.008c0-.419.369-.758.824-.758h13.75c.246 0 .48.102.636.277zM3.563 16.801c0 .43.38.779.846.779.467 0 .847-.35.847-.78 0-.429-.38-.778-.847-.778s-.846.35-.846.779m13.202 0c0 .43.38.779.847.779s.847-.35.847-.78c0-.429-.38-.778-.847-.778s-.847.35-.847.779M13.93 7.499a.87.87 0 0 1 .915.233l2.291 2.581a.73.73 0 0 1 .222.52c0 .421-.369.762-.824.762h-2.326c-.455 0-.824-.34-.824-.762V8.216c0-.322.219-.609.546-.717m-5.68.832c0-.478.42-.866.938-.866h1.874c.518 0 .938.388.938.866v2.423c0 .478-.42.865-.937.865H9.187c-.517 0-.937-.387-.937-.865zM4.5 7.465c-.518 0-.937.388-.937.866v2.423c0 .478.42.865.937.865h1.875c.518 0 .938-.387.938-.865V8.33c0-.478-.42-.866-.938-.866z",
293            clipRule: "evenodd"
294        })
295    });
296const ForwardRef3 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__3["forwardRef"])(SvgPassengerBus);
297const Memo3 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__3["memo"])(ForwardRef3);
298const __TURBOPACK__default__export__3 = Memo3;
299var __TURBOPACK__imported__module__44038__ = __turbopack_context__.i(44038);
300// MERGED MODULE: [project]/src/icon/vehicle-categories/Pickup.tsx [app-client] (ecmascript)
301;
302var __TURBOPACK__imported__module__843476__5 = __TURBOPACK__imported__module__843476__;
303var __TURBOPACK__imported__module__271645__4 = __TURBOPACK__imported__module__271645__;
304;
305;
306const SvgPickup = (props, ref)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__5["jsx"])("svg", {
307        xmlns: "http://www.w3.org/2000/svg",
308        width: 32,
309        height: 32,
310        fill: "none",
311        viewBox: "0 0 32 32",
312        ref: ref,
313        ...props,
314        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__5["jsx"])("path", {
315            fill: "#050C43",
316            d: "M25.83 7a1 1 0 0 1 .803.405l3.505 4.738a1 1 0 0 1 .195.594v6.596a1 1 0 0 1-1 1H27.62a4.668 4.668 0 0 1-9.24 0h-6.76a4.668 4.668 0 0 1-9.24 0H1v-8A1.333 1.333 0 0 1 2.333 11h15.608V7zM7.041 17.583a2.375 2.375 0 1 0 0 4.75 2.375 2.375 0 0 0 0-4.75m16 0a2.375 2.375 0 1 0 0 4.75 2.375 2.375 0 0 0 0-4.75m-2.709-3.916h7.334v-.38l-2.678-3.62h-4.656z"
317        })
318    });
319const ForwardRef4 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__4["forwardRef"])(SvgPickup);
320const Memo4 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__4["memo"])(ForwardRef4);
321const __TURBOPACK__default__export__4 = Memo4;
322// MERGED MODULE: [project]/src/icon/vehicle-categories/RefrigeratedVan.tsx [app-client] (ecmascript)
323;
324var __TURBOPACK__imported__module__843476__6 = __TURBOPACK__imported__module__843476__;
325var __TURBOPACK__imported__module__271645__5 = __TURBOPACK__imported__module__271645__;
326;
327;
328const SvgRefrigeratedVan = (props, ref)=>
328/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__6["jsxs"])("svg", {
329        xmlns: "http://www.w3.org/2000/svg",
330        width: 24,
331        height: 24,
332        fill: "none",
333        viewBox: "0 0 24 24",
334        ref: ref,
335        ...props,
336        children: [
337            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__6["jsx"])("path", {
338                fill: "currentColor",
339                fillRule: "evenodd",
340                d: "m22.91 11.823-2.89-2.095L15.96 4.8a.83.83 0 0 0-.636-.3H1.574a.82.82 0 0 0-.824.821v11.692c0 .454.369.822.824.822h.481a2.497 2.497 0 0 0 4.708 0h8.495a2.498 2.498 0 0 0 4.708 0h2.46a.82.82 0 0 0 .824-.822v-4.526a.82.82 0 0 0-.34-.664m-18.5 6.035a.846.846 0 0 1-.848-.845.846.846 0 0 1 1.694 0c0 .466-.38.845-.847.845m13.202 0a.846.846 0 0 1-.847-.845.846.846 0 0 1 1.694 0c0 .466-.38.845-.847.845M14.845 7.189a.823.823 0 0 0-1.46.524v2.836c0 .456.368.825.823.825h2.326a.824.824 0 0 0 .602-1.39zm-6.32-.546-.533-.533L6.75 7.35 5.508 6.11l-.533.533 1.398 1.398v1.454l-1.417-.818-.469-1.752-.729.195.455 1.696-1.696.455.195.728 2.067-.553 1.217.702-1.532.884-1.752-.47-.195.73 1.696.454-.455 1.696.729.195.554-2.067 1.332-.769v1.72l-1.398 1.398.533.533 1.242-1.241 1.242 1.241.533-.533-1.402-1.402v-1.718l1.336.77.554 2.068.728-.195-.454-1.696 1.696-.455-.195-.728-1.752.47-1.532-.885 1.217-.702 2.067.553.195-.728-1.696-.455.454-1.696-.728-.195-.47 1.752-1.42.82V8.046z",
341                clipRule: "evenodd"
342            }),
343            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__
3436["jsx"])("rect", {
344                width: 6.75,
345                height: 2.25,
346                x: 4.5,
347                y: 3,
348                fill: "#50557B",
349                rx: 0.75
350            })
351        ]
352    });
353const ForwardRef5 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__5["forwardRef"])(SvgRefrigeratedVan);
354const Memo5 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__5["memo"])(ForwardRef5);
355const __TURBOPACK__default__export__5 = Memo5;
356// MERGED MODULE: [project]/src/icon/vehicle-categories/Truck.tsx [app-client] (ecmascript)
357;
358var __TURBOPACK__imported__module__843476__7 = __TURBOPACK__imported__module__843476__;
359var __TURBOPACK__imported__module__271645__6 = __TURBOPACK__imported__module__271645__;
360;
361;
362const SvgTruck = (props, ref)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__7["jsx"])("svg", {
363        xmlns: "http://www.w3.org/2000/svg",
364        width: 24,
365        height: 24,
366        fill: "none",
367        viewBox: "0 0 24 24",
368        ref: ref,
369        ...props,
370        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__7["jsx"])("path", {
371            fill: "#050C43",
372            fillRule: "evenodd",
373            d: "M17 8h2.622a.75.75 0 0 1 .603.304l2.628 3.553a.75.75 0 0 1 .147.446v4.947a.75.75 0 0 1-.75.75h-1.285a3.5 3.5 0 0 1-6.93 0h-5.07a3.5 3.5 0 0 1-6.93 0H1V6a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1zm0 2v3h4v-.285L18.992 10zm-9.688 7.72a1.781 1.781 0 1 1-3.562 0 1.781 1.781 0 0 1 3.562 0m10.22 1.78a1.781 1.781 0 1 0 0-3.562 1.781 1.781 0 0 0 0 3.562",
374            clipRule: "evenodd"
375        })
376    });
377const ForwardRef6 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__6["forwardRef"])(SvgTruck);
378const Memo6 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__6["memo"])(ForwardRef6);
379const __TURBOPACK__default__export__6 = Memo6;
380// MERGED MODULE: [project]/src/icon/vehicle-categories/Wintersport.tsx [app-client] (ecmascript)
381;
382var __TURBOPACK__imported__module__843476__8 = __TURBOPACK__imported__module__843476__;
383var __TURBOPACK__imported__module__271645__7 = __TURBOPACK__imported__module__271645__;
384;
385;
386const SvgWintersport = (props, ref)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__8["jsx"])("svg", {
387        xmlns: "http://www.w3.org/2000/svg",
388        width: 32,
389        height: 32,
390        fill: "none",
391        viewBox: "0 0 32 32",
392        ref: ref,
393        ...props,
394        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__8["jsx"])("g", {
395            fill: "#050C43",
396            children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__8["jsx"])("path", {
397                d: "M25.994 27.205a.926.926 0 0 0-1.226.442.927.927 0 0 1-1.222.443l-5.969-2.822-.007-.003 1.949-4.14a1.79 1.79 0 0 0-.226-1.895l-2.769-3.455 1.686-1.336c.168.136 5.38 2.523 5.318 2.494.93.43 2.027.018 2.45-.883a1.823 1.823 0 0 0-.891-2.427l-2.641-1.22-1.526-4.15a1.86 1.86 0 0 0-2.373-1.096c-.295.114-2.856 2.156-4.431 3.408l-3.791-1.75-4.6-2.366a.926.926 0 0 0-1.225.442.91.91 0 0 0 .446 1.213l7.556 3.73c-.062.049-.464.334-.92.692-.393.31-.64.75-.695 1.239-.054.477.083.944.385 1.316l4.42 5.529-1.466 3.111-8.914-4.116a.926.926 0 0 0-1.225.442.91.91 0 0 0 .446 1.213l18.223 8.48.008.004c1.382.638 3.031.043 3.676-1.326a.91.91 0 0 0-.446-1.213M26.803 4.094A3.21 3.21 0 0 0 23.788 2c-1.188 0-2.36.662-2.914 1.838a3.17 3.17 0 0 0 1.554 4.226c.431.199.887.3 1.355.3 2.22 0 3.786-2.188 3.02-4.27"
398            })
399        })
400    });
401const ForwardRef7 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__7["forwardRef"])(SvgWintersport);
402const Memo7 = /*#__PURE__*/ (0, __TURBOPACK__imported__module__271645__7["memo"])(ForwardRef7);
403const __TURBOPACK__default__export__7 = Memo7;
404var __TURBOPACK__imported__module__945060__ = __turbopack_context__.i(945060);
405var __TURBOPACK__imported__module__480630__ = __turbopack_context__.i(480630);
406;
407;
408;
409;
410;
411;
412;
413;
414;
415;
416;
417;
418;
419;
420;
421;
422// Mapping of vehicle category titles (from mainCategory.title['en_US']) to corresponding icons.
423const VEHICLE_ITEM_MAPPINGS = {
424    "Passenger cars": __TURBOPACK__imported__module__44038__["default"],
425    "Passenger buses": __TURBOPACK__default__export__3,
426    "Electric": __TURBOPACK__default__export__2,
427    "Delivery vans": __TURBOPACK__default__export__1,
428    "Refrigerated vans": __TURBOPACK__default__export__5,
429    "Wheelchair buses": __TURBOPACK__default__export__3,
430    "Car transporters": __TURBOPACK__default__export__,
431    "Winter sports": __TURBOPACK__default__export__7,
432    "Trucks": __TURBOPACK__default__export__6,
433    "Pick-ups": __TURBOPACK__default__export__4,
434    "fallback": __TURBOPACK__imported__module__44038__["default"]
435};
436function getIconForMainCategory(category) {
437    return VEHICLE_ITEM_MAPPINGS[category === null || category === void 0 ? void 0 : category.title["en_US"]] || VEHICLE_ITEM_MAPPINGS["fallback"];
438}
439function MainCategoryPicker(param) {
440    let { mainCategories, value, onChange, onSelect, error, ref, open, onOpenChange, onHoverCategory } = param;
441    const apiLocale = (0, __TURBOPACK__imported__module__501804__["default"])();
442    const activeMainCategory = mainCategories.find((it)=>it.id.toString() === value);
443    const LabelIconComponent = getIconForMainCategory(activeMainCategory);
444    const t = (0, __TURBOPACK__imported__module__948148__["useTranslations"])("NewRentalWidget");
445    const { onItemPointerDown, onItemPointerUp } = (0, __TURBOPACK__imported__module__47660__["useSelectItemSelect"])(open, onSelect);
446    const items = mainCategories.map((item)=>{
447        const IconComponent = getIconForMainCategory(item);
448        return {
449            id: item.id.toString(),
450            label: item.title[apiLocale] || "",
451            icon: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(IconComponent, {
452                className: "w-3 h-3"
453            }),
454            category: item
455        };
456    });
457    const handleKeyDown = (event)=>{
458        if (event.key !== "Enter" && event.key !== " ") {
459            return;
460        }
461        onSelect === null || onSelect === void 0 ? void 0 : onSelect();
462    };
463    // Only suppress Radix's focus restoration if we have our own handler setup for focus management
464    const handleCloseAutoFocus = (event)=>{
465        if (!onSelect) {
466            return;
467        }
468        event.preventDefault();
469    };
470    return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsxs"])(__TURBOPACK__imported__module__480630__["SelectRoot"], {
471        value: value,
472        onValueChange: onChange,
473        open: open,
474        onOpenChange: onOpenChange,
475        children: [
476            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__480630__["SelectTrigger"], {
477                ref: ref,
478                "aria-label": t("mainCategory.label"),
479                error: error,
480                className: "rounded-tl rounded-tr xl:rounded-bl xl:rounded-tr-none",
481                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__480630__["SelectFieldset"], {
482                    label: t("mainCategory.label"),
483                    error: error,
484                    isOpen: open,
485                    children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsxs"])("div", {
486                        className: "flex items-center gap-1",
487                        children: [
488                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])("div", {
489                                className: "shrink-0",
490                                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(LabelIconComponent, {
491                                    className: "h-2 w-2"
492                                })
493                            }),
494                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsxs"])("div", {
495                                className: "text-14 flex-1 flex gap-0.5 font-inter",
496                                children: [
497                                    !!activeMainCategory && /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])("div", {
498                                        className: "text-left flex-1 w-0 truncate",
499                                        children: activeMainCategory.title[apiLocale]
500                                    }),
501                                    !activeMainCategory && /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])("div", {
502                                        className: (0, __TURBOPACK__imported__module__945060__["cn"])("flex-1 w-0 text-left truncate transition duration-200", !open ? "opacity-50" : "opacity-0"),
503                                        children: t("mainCategory.placeholder")
504                                    })
505                                ]
506                            })
507                        ]
508                    })
509                })
510            }),
511            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__480630__["SelectContent"], {
512                onCloseAutoFocus: handleCloseAutoFocus,
513                children: items.map((item)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__480630__["SelectItem"], {
514                        value: item.id,
515                        icon: item.icon,
516                        onFocus: ()=>
516onHoverCategory === null || onHoverCategory === void 0 ? void 0 : onHoverCategory(item.category),
517                        onMouseOver: ()=>onHoverCategory === null || onHoverCategory === void 0 ? void 0 : onHoverCategory(item.category),
518                        onPointerDown: onItemPointerDown,
519                        onPointerUp: onItemPointerUp,
520                        onKeyDown: handleKeyDown,
521                        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__774084__["Select"].ItemText, {
522                            children: item.label
523                        })
524                    }, item.id))
525            })
526        ]
527    });
528}
529__turbopack_context__.s([
530    "default",
531    0,
532    MainCategoryPicker
533], 394973);
534}),
535653362, ((__turbopack_context__) => {
536"use strict";
537
538var __TURBOPACK__imported__module__843476__ = __turbopack_context__.i(843476);
539var __TURBOPACK__imported__module__271645__ = __turbopack_context__.i(271645);
540var __TURBOPACK__imported__module__218330__ = __turbopack_context__.i(218330);
541var __TURBOPACK__imported__module__394973__ = __turbopack_context__.i(394973);
542var __TURBOPACK__imported__module__852963__ = __turbopack_context__.i(852963);
543var __TURBOPACK__imported__module__17198__ = __turbopack_context__.i(17198);
544;
545;
546;
547;
548;
549;
550const ConnectedMainCategoryPicker = /*#__PURE__*/ __TURBOPACK__imported__module__271645__["default"].memo(function ConnectedMainCategoryPicker(param) {
551    let { ref, errors = [], onSelect } = param;
552    const widgetStore = (0, __TURBOPACK__imported__module__17198__["useRentalWidgetStore"])();
553    const mainCategoryId = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.config.mainCategoryId);
554    const open = (0, __TURBOPACK__imported__module__17198__["useRentalWidgetState"])((state)=>state.currentActiveElement === "category");
555    const onOpenChange = (0, __TURBOPACK__imported__module__271645__["useCallback"])((open)=>{
556        const state = widgetStore.getState();
557        state.setCurrentActiveElement(open ? "category" : null);
558    }, [
559        widgetStore
560    ]);
561    const error = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>errors.filter((it)=>it.field === "mainCategoryId").length > 0, [
562        errors
563    ]);
564    const { data: mainCategories = [] } = (0, __TURBOPACK__imported__module__852963__["useMainCategoryList"])({
565        queryOptions: {
566            select: (data)=>data.mainCategories,
567            staleTime: Infinity
568        }
569    });
570    const setMainCategoryId = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.setMainCategoryId);
571    const onChange = (0, __TURBOPACK__imported__module__271645__["useCallback"])((newValue)=>{
572        setMainCategoryId(parseInt(newValue));
573    }, [
574        setMainCategoryId
575    ]);
576    return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__394973__["default"], {
577        ref: ref,
578        mainCategories: mainCategories,
579        value: mainCategoryId ? mainCategoryId.toString() : "",
580        error: error,
581        onChange: onChange,
582        onSelect: onSelect,
583        open: open,
584        onOpenChange: onOpenChange
585    });
586});
587__turbopack_context__.s([
588    "ConnectedMainCategoryPicker",
589    0,
590    ConnectedMainCategoryPicker
591]);
592}),
593176403, ((__turbopack_context__) => {
594"use strict";
595
596// MERGED MODULE: [project]/src/components/widgets/RentalWidget/ConnectedRentalWidgetDatePicker.tsx [app-client] (ecmascript)
597;
598var __TURBOPACK__imported__module__843476__ = __turbopack_context__.i(843476);
599var __TURBOPACK__imported__module__271645__ = __turbopack_context__.i(271645);
600var __TURBOPACK__imported__module__929387__ = __turbopack_context__.i(929387);
601var __TURBOPACK__imported__module__988052__ = __turbopack_context__.i(988052);
602var __TURBOPACK__imported__module__299378__ = __turbopack_context__.i(299378);
603var __TURBOPACK__imported__module__974875__ = __turbopack_context__.i(974875);
604var __TURBOPACK__imported__module__685149__ = __turbopack_context__.i(685149);
605var __TURBOPACK__imported__module__218330__ = __turbopack_context__.i(218330);
606var __TURBOPACK__imported__module__105047__ = __turbopack_context__.i(105047);
607var __TURBOPACK__imported__module__702305__ = __turbopack_context__.i(702305);
608var __TURBOPACK__imported__module__478569__ = __turbopack_context__.i(478569);
609var __TURBOPACK__imported__module__864516__ = __turbopack_context__.i(864516);
610var __TURBOPACK__imported__module__773447__ = __turbopack_context__.i(773447);
611var __TURBOPACK__imported__module__948148__ = __turbopack_context__.i(948148);
612var __TURBOPACK__imported__module__17198__ = __turbopack_context__.i(17198);
613// MERGED MODULE: [project]/src/components/widgets/RentalWidget/_components/RentalWidgetDatePicker.tsx [app-client] (ecmascript)
614;
615var __TURBOPACK__imported__module__843476__1 = __TURBOPACK__imported__module__843476__;
616var __TURBOPACK__imported__module__271645__1 = __TURBOPACK__imported__module__271645__;
617var __TURBOPACK__imported__module__867228__ = __turbopack_context__.i(867228);
618var __TURBOPACK__imported__module__882179__ = __turbopack_context__.i(882179);
619var __TURBOPACK__imported__module__401851__ = __turbopack_context__.i(401851);
620var __TURBOPACK__imported__module__127923__ = __turbopack_context__.i(127923);
621var __TURBOPACK__imported__module__774084__ = __turbopack_context__.i(774084);
622var __TURBOPACK__imported__module__697791__ = __turbopack_context__.i(697791);
623var __TURBOPACK__imported__module__47897__ = __turbopack_context__.i(47897);
624var __TURBOPACK__imported__module__949907__ = __turbopack_context__.i(949907);
625var __TURBOPACK__imported__module__710007__ = __turbopack_context__.i(710007);
626var __TURBOPACK__imported__module__108956__ = __turbopack_context__.i(108956);
627var __TURBOPACK__imported__module__690740__ = __turbopack_context__.i(690740);
628var __TURBOPACK__imported__module__480630__ = __turbopack_context__.i(480630);
629var __TURBOPACK__imported__module__107282__ = __turbopack_context__.i(107282);
630var __TURBOPACK__imported__module__812440__ = __turbopack_context__.i(812440);
631var __TURBOPACK__imported__module__773447__1 = __TURBOPACK__imported__module__773447__;
632var __TURBOPACK__imported__module__948148__1 = __TURBOPACK__imported__module__948148__;
633var __TURBOPACK__imported__module__861745__ = __turbopack_context__.i(861745);
634var __TURBOPACK__imported__module__945060__ = __turbopack_context__.i(945060);
635var __TURBOPACK__imported__module__685149__1 = __TURBOPACK__imported__module__685149__;
636var __TURBOPACK__imported__module__307741__ = __turbopack_context__.i(307741);
637"use client";
638;
639;
640;
641;
642;
643;
644;
645;
646;
647;
648;
649;
650;
651;
652;
653;
654;
655;
656;
657const RentalWidgetDatePicker = /*#__PURE__*/ __TURBOPACK__imported__module__271645__1["default"].memo(function RentalWidgetDatePicker(param) {
658    let { className, triggerClassName, onOpenChangeDatePicker, onOpenChangePickupTimePicker, onOpenChangeReturnTimePicker, onApply, open, value, error, disabled, slots, ref, refs: _refs, onDayClick, onChangeReturnTime: _onChangeReturnTime, onChangePickupTime: _onChangePickupTime, ...props } = param;
659    var _ref;
660    const isDesktop = (0, __TURBOPACK__imported__module__867228__["useMediaQuery"])(__TURBOPACK__imported__module__685149__1["MEDIA_QUERY_DESKTOP"]);
661    const datePickerOpen = open === "date";
662    const formatter = (0, __TURBOPACK__imported__module__948148__1["useFormatter"])();
663    const portal = (0, __TURBOPACK__imported__module__307741__["usePortal"])();
664    const t = (0, __TURBOPACK__imported__module__948148__1["useTranslations"])("NewRentalWidget");
665    const locale = (0, __TURBOPACK__imported__module__861745__["useLocale"])();
666    const onChangeReturnTime = (0, __TURBOPACK__imported__module__271645__1["useCallback"])((newTimeValue)=>{
667        if (!(value === null || value === void 0 ? void 0 : value.to)) {
668            return;
669        }
670        const to = (0, __TURBOPACK__imported__module__690740__["parseTimeString"])(newTimeValue, value.to);
671        _onChangeReturnTime === null || _onChangeReturnTime === void 0 ? void 0 : _onChangeReturnTime(to);
672    }, [
673        _onChangeReturnTime,
674        value === null || value === void 0 ? void 0 : value.to
675    ]);
676    const onChangePickupTime = (0, __TURBOPACK__imported__module__271645__1["useCallback"])((newTimeValue)=>{
677        if (!(value === null || value === void 0 ? void 0 : value.from)) {
678            return;
679        }
680        const from = (0, __TURBOPACK__imported__module__690740__["parseTimeString"])(newTimeValue, value.from);
681        _onChangePickupTime === null || _onChangePickupTime === void 0 ? void 0 : _onChangePickupTime(from);
682    }, [
683        _onChangePickupTime,
684        value === null || value === void 0 ? void 0 : value.from
685    ]);
686    const onRootTrigger = (0, __TURBOPACK__imported__module__271645__1["useCallback"])((event)=>{
687        var _rootTriggerRef_current;
688        if (event.target instanceof HTMLButtonElement || !((_rootTriggerRef_current = rootTriggerRef.current) === null || _rootTriggerRef_current === void 0 ? void 0 : _rootTriggerRef_current.contains(event.target))) {
689            return;
690        }
691        event.preventDefault();
692        onOpenChangeDatePicker === null || onOpenChangeDatePicker === void 0 ? void 0 : onOpenChangeDatePicker(!open);
693    }, [
694        open,
695        onOpenChangeDatePicker
696    ]);
697    const rootTriggerRef = (0, __TURBOPACK__imported__module__271645__1["useRef"])(null);
698    const pickupTriggerRef = (0, __TURBOPACK__imported__module__271645__1["useRef"])(null);
699    const returnTriggerRef = (0, __TURBOPACK__imported__module__271645__1["useRef"])(null);
700    // This ref tracks which of our `<Popover.Trigger>`s triggered the popover.
701    const currentTriggerRef = (0, __TURBOPACK__imported__module__271645__1["useRef"])(null);
702    const _pickupTriggerRef = (0, __TURBOPACK__imported__module__882179__["mergeRefs"])(pickupTriggerRef, ref);
703    // For accessibility, we need to move the focus back to the trigger element.
704    // Because we trigger the popover `onMouseDown` on the root element, we have to manually
705    // implement focus restoration.
706    const onCloseAutoFocus = (0, __TURBOPACK__imported__module__271645__1["useCallback"])((event)=>{
707        var _ref;
708        var _currentTriggerRef_current;
709        event.preventDefault();
710        // This `.current?.current` may look a bit weird, but our ref object points to either
711        // of the other trigger ref objects.
712        // Keeping a reference to the ref objects instead of their values makes sure we always
713        // have access to the latest values without doing some more complex synchronisation.
714        const currentTrigger = (_ref = (_currentTriggerRef_current = currentTriggerRef.current) === null || _currentTriggerRef_current === void 0 ? void 0 : _currentTriggerRef_current.current) !== null && _ref !== void 0 ? _ref : pickupTriggerRef.current;
715        currentTrigger === null || currentTrigger === void 0 ? void 0 : currentTrigger.focus({
716            preventScroll: true
717        });
718        // Make sure to clear the currentTrigger ref, otherwise we'll focus the wrong element
719        // next time the root trigger is used.
720        currentTriggerRef.current = null;
721    }, []);
722    const onInteractOutside = (0, __TURBOPACK__imported__module__271645__1["useCallback"])((event)=>{
723        var _rootTriggerRef_current;
724        // Prevent automatically closing the popover when interacting with the root trigger
725        // element. Not doing this will cause the popover to be closed before the root trigger
726        // can determine if the popover should be opened or closed.
727        if (event.target === rootTriggerRef.current || ((_rootTriggerRef_current = rootTriggerRef.current) === null || _rootTriggerRef_current === void 0 ? void 0 : _rootTriggerRef_current.contains(event.target))) {
728            event.preventDefault();
729        }
730    }, []);
731    return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsxs"])(__TURBOPACK__imported__module__127923__["Popover"].Root, {
732        open: datePickerOpen,
733        onOpenChange: onOpenChangeDatePicker,
734        children: [
735            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__127923__["Popover"].Anchor, {
736                asChild: true,
737                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("div", {
738                    ref: rootTriggerRef,
739                    className: (0, __TURBOPACK__imported__module__945060__["cn"])("focus:outline-none ring-blue-500 h-full w-full focus-within:ring-[0.125rem] ring-inset px-[1.5rem] xl:px-[0.75rem] 2xl:px-[1.5rem] py-[0.59375rem] xl:rounded-tr rounded-br rounded-bl xl:rounded-bl-none xl:rounded-br", {
740                        "ring-[0.125rem]": datePickerOpen
741                    }, triggerClassName, className),
742                    onClick: onRootTrigger,
743                    onMouseDown: (event)=>{
744                        var _pickupTriggerRef_current;
745                        event.preventDefault();
746                        (_pickupTriggerRef_current = pickupTriggerRef.current) === null || _pickupTriggerRef_current === void 0 ? void 0 : _pickupTriggerRef_current.focus({
747                            preventScroll: true
748                        });
749                    },
750                    ...props,
751                    children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__480630__["SelectFieldset"], {
752                        error: !!error,
753                        isOpen: open !== false,
754                        label: t("date_picker.label"),
755                        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("div", {
756                            className: "flex min-w-0 items-center overflow-x-auto",
757                            children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsxs"])("div", {
758                                className: "mt-[2px] flex min-w-max items-center gap-x-[0.5rem] whitespace-nowrap pb-1",
759                                children: [
760                                    /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("div", {
761                                        className: "relative shrink-0",
762                                        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("span", {
763                                            className: "h-[16px] w-[16px] flex items-center justify-center",
764                                            children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(CalendarIcon, {
765                                                className: (0, __TURBOPACK__imported__module__945060__["cn"])("w-full", {
766                                                    "text-dark-300": !value,
767                                                    "text-brand-600": !!value
768                                                })
769                                            })
770                                        })
771                                    }),
772                                    /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsxs"])("div", {
773                                        className: "flex items-center gap-x-[0.125rem]",
774                                        children: [
775                                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__127923__["Popover"].Trigger, {
776                                                asChild: true,
777                                                ref: _pickupTriggerRef,
778                                                onClick: ()=>{
779                                                    currentTriggerRef.current = pickupTriggerRef;
780                                                },
781                                                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(RentalWidgetDatePickerSegment, {
782                                                    active: open === "date",
783                                                    "aria-label": !!(value === null || value === void 0 ? void 0 : value.from) ? "".concat(formatter.dateTime(value.from, {
784                                                        day: "numeric",
785                                                        month: "long",
786                                                        year: "numeric"
787                                                    }), ", ").concat(t("date_picker.pickup.date.label")) : t("date_picker.pickup.date.label"),
788                                                    children: !!value && !!value.from ? formatter.dateTime(value.from, {
789                                                        day: "numeric",
790                                                        month: "short"
791                                                    }) : t("date_picker.pickup.date.placeholder")
792                                                })
793                                            }),
794                                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(RentalWidgetDatePickerTimePicker, {
795                                                value: !!(value === null || value === void 0 ? void 0 : value.from) ? (0, __TURBOPACK__imported__module__401851__["format"])(value.from, "HH:mm") : undefined,
796                                                slots: slots,
797                                                onOpenChange: onOpenChangePickupTimePicker,
798                                                onChange: onChangePickupTime,
799                                                label: t("date_picker.pickup.time.label")
800                                            })
801                                        ]
802                                    }),
803                                    /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("div", {
804                                        className: "h-[1px] w-[6px] bg-brand-200"
805                                    }),
806                                    /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsxs"])("div", {
807                                        className: "flex items-center gap-x-[0.125rem]",
808                                        children: [
809                                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__127923__["Popover"].Trigger, {
810                                                asChild: true,
811                                                ref: returnTriggerRef,
812                                                onClick: ()=>{
813                                                    currentTriggerRef.current = returnTriggerRef;
814                                                },
815                                                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(RentalWidgetDatePickerSegment, {
816                                                    active: open === "date",
817                                                    "aria-label": !!(value === null || value === void 0 ? void 0 : value.to) ? "".concat(formatter.dateTime(value.to, {
818                                                        day: "numeric",
819                                                        month: "long",
820                                                        year: "numeric"
821                                                    }), ", ").concat(t("date_picker.return.date.label")) : t("date_picker.return.date.label"),
822                                                    children: !!value && !!value.to ? formatter.dateTime(value.to, {
823                                                        day: "numeric",
824                                                        month: "short"
825                                                    }) : t("date_picker.return.date.placeholder")
826                                                })
827                                            }),
828                                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(RentalWidgetDatePickerTimePicker, {
829                                                value: !!(value === null || value === void 0 ? void 0 : value.to) ? (0, __TURBOPACK__imported__module__690740__["asTimeStr
829ing"])(value.to) : undefined,
830                                                onOpenChange: onOpenChangeReturnTimePicker,
831                                                onChange: onChangeReturnTime,
832                                                label: t("date_picker.return.time.label"),
833                                                disabled: !(value === null || value === void 0 ? void 0 : value.to)
834                                            })
835                                        ]
836                                    })
837                                ]
838                            })
839                        })
840                    })
841                })
842            }),
843            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__127923__["Popover"].Portal, {
844                container: portal,
845                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__127923__["Popover"].Content, {
846                    className: "max-w-(--radix-popover-trigger-width) sm:max-w-full rounded bg-white border border-brand-100 px-3 pb-2 pt-1 shadow-lg flex items-center justify-center",
847                    sideOffset: 5,
848                    avoidCollisions: false,
849                    collisionPadding: __TURBOPACK__imported__module__812440__["PICKER_COLLISION_PADDING"],
850                    side: "bottom",
851                    align: "end",
852                    onCloseAutoFocus: onCloseAutoFocus,
853                    onInteractOutside: onInteractOutside,
854                    children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsxs"])("div", {
855                        children: [
856                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__697791__["DayPicker"], {
857                                locale: locale === "nl" ? __TURBOPACK__imported__module__949907__["nl"] : __TURBOPACK__imported__module__47897__["enGB"],
858                                classNames: {
859                                    day: "font-inter",
860                                    weekday: "font-inter font-normal text-sm text-dark-300",
861                                    disabled: "line-through text-dark-300",
862                                    caption_label: "text-brand-500 font-semibold flex items-center justify-center"
863                                },
864                                defaultMonth: value === null || value === void 0 ? void 0 : value.from,
865                                mode: "range",
866                                // `onSelect` is required for `selected` to work as a prop
867                                onSelect: ()=>{},
868                                selected: {
869                                    from: value === null || value === void 0 ? void 0 : value.from,
870                                    to: (_ref = value === null || value === void 0 ? void 0 : value.to) !== null && _ref !== void 0 ? _ref : undefined
871                                },
872                                onDayClick: onDayClick,
873                                numberOfMonths: isDesktop ? 2 : 1,
874                                disabled: disabled
875                            }),
876                            onApply && /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("div", {
877                                className: "flex justify-end",
878                                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__710007__["default"], {
879                                    variant: "transparent",
880                                    disabled: !(value === null || value === void 0 ? void 0 : value.from) || !value.to,
881                                    onClick: onApply,
882                                    children: t("date_picker.apply")
883                                })
884                            }),
885                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__107282__["WidgetErrorBar"], {
886                                show: !!error,
887                                message: error
888                            })
889                        ]
890                    })
891                })
892            })
893        ]
894    });
895});
896const RentalWidgetDatePickerTimePicker = /*#__PURE__*/ __TURBOPACK__imported__module__271645__1["default"].memo(function Re
896ntalWidgetDatePickerTimePicker(param) {
897    let { label, value, onChange, onOpenChange, slots: _slots, disabled = false } = param;
898    const now = (0, __TURBOPACK__imported__module__773447__1["useNow"])();
899    const slots = __TURBOPACK__imported__module__271645__1["default"].useMemo(()=>{
900        return _slots !== null && _slots !== void 0 ? _slots : (0, __TURBOPACK__imported__module__108956__["getTimeSlots"])({
901            date: now
902        });
903    }, [
904        _slots,
905        now
906    ]);
907    const portal = (0, __TURBOPACK__imported__module__307741__["usePortal"])();
908    return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsxs"])(__TURBOPACK__imported__module__774084__["Select"].Root, {
909        value: value !== null && value !== void 0 ? value : "",
910        onValueChange: onChange,
911        disabled: disabled !== null && disabled !== void 0 ? disabled : slots.length === 0,
912        onOpenChange: onOpenChange,
913        children: [
914            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__774084__["Select"].Trigger, {
915                asChild: true,
916                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(RentalWidgetDatePickerSegment, {
917                    className: "data-[state=open]:bg-blue-100 data-[state=open]:text-dark-500",
918                    "aria-label": label,
919                    children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("span", {
920                        className: "pointer-events-none",
921                        children: !!value ? value : "--:--"
922                    })
923                })
924            }),
925            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__774084__["Select"].Portal, {
926                container: portal,
927                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsxs"])(__TURBOPACK__imported__module__774084__["Select"].Content, {
928                    className: "isolate overflow-hidden relative rounded w-[170px] max-h-[min(300px,var(--radix-select-content-available-height))] bg-white border border-brand-100 shadow-lg flex items-center justify-center",
929                    position: "popper",
930                    side: "bottom",
931                    avoidCollisions: false,
932                    collisionPadding: __TURBOPACK__imported__module__812440__["PICKER_COLLISION_PADDING"],
933                    sideOffset: 15,
934                    align: "center",
935                    children: [
936                        /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__774084__["Select"].ScrollUpButton, {
937                            className: "pointer-events-none z-10 h-[20px] absolute top-0 left-0 right-0 w-full bg-[linear-gradient(180deg,rgba(255,255,255,0.85)_0%,rgba(255,255,255,0.50)_60%,rgba(0,0,0,0)_100%)]"
938                        }),
939                        /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__774084__["Select"].Viewport, {
940                            className: "divide-y divide-brand-100 w-full",
941                            children: slots.map((slot)=>{
942                                const value = (0, __TURBOPACK__imported__module__690740__["asTimeString"])(slot);
943                                return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsxs"])(__TURBOPACK__imported__module__774084__["Select"].Item, {
944                                    value: value,
945                                    className: "relative h-[46px] w-full text-16 font-inter text-dark-500 font-medium flex items-center justify-center data-highlighted:bg-brand-50/50 select-none",
946                                    children: [
947                                        /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__774084__["Select"].ItemText, {
948                                            children: value
949                                        }),
950                                        /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__7
95074084__["Select"].ItemIndicator, {
951                                            children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("svg", {
952                                                width: "20",
953                                                height: "20",
954                                                viewBox: "0 0 20 20",
955                                                fill: "none",
956                                                xmlns: "http://www.w3.org/2000/svg",
957                                                className: "absolute top-[25%] right-[24px]",
958                                                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("path", {
959                                                    fillRule: "evenodd",
960                                                    clipRule: "evenodd",
961                                                    d: "M17.5755 5.18325C17.8196 5.42732 17.8196 5.82305 17.5755 6.06713L8.38358 15.2591C7.89543 15.7472 7.10397 15.7472 6.61582 15.2591L1.79888 10.4421C1.5548 10.1981 1.5548 9.80232 1.79888 9.55825L2.68276 8.67436C2.92684 8.43029 3.32257 8.43029 3.56664 8.67436L7.05776 12.1655C7.30184 12.4096 7.69757 12.4096 7.94164 12.1655L15.8078 4.29936C16.0518 4.05529 16.4476 4.05529 16.6916 4.29936L17.5755 5.18325Z",
962                                                    fill: "#105DFD"
963                                                })
964                                            })
965                                        })
966                                    ]
967                                }, value);
968                            })
969                        }),
970                        /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])(__TURBOPACK__imported__module__774084__["Select"].ScrollDownButton, {
971                            className: "pointer-events-none z-10 h-[20px] absolute bottom-0 left-0 right-0 w-full bg-[linear-gradient(180deg,rgba(255,255,255,0.85)_0%,rgba(255,255,255,0.50)_60%,rgba(0,0,0,0)_100%)] transform rotate-180"
972                        })
973                    ]
974                })
975            })
976        ]
977    });
978});
979function RentalWidgetDatePickerSegment(param) {
980    let { active = false, className, ...props } = param;
981    return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("button", {
982        suppressHydrationWarning: true,
983        type: "button",
984        className: (0, __TURBOPACK__imported__module__945060__["cn"])("select-none rounded h-[1.375rem] whitespace-nowrap px-[0.375rem] text-14 inline-flex items-center justify-center font-inter focus:bg-blue-100 focus:text-dark-500", {
985            "bg-blue-100 text-dark-500": active,
986            "bg-gray-50 text-dark-400 hover:bg-gray-100": !active
987        }, className),
988        ...props
989    });
990}
991const CalendarIcon = /*#__PURE__*/ __TURBOPACK__imported__module__271645__1["default"].memo(function CalendarIcon(props) {
992    return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("svg", {
993        width: "16",
994        height: "17",
995        viewBox: "0 0 16 17",
996        fill: "none",
997        xmlns: "http://www.w3.org/2000/svg",
998        ...props,
999        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__1["jsx"])("path", {
1000            fillRule: "evenodd",
1001            clipRule: "evenodd",
1002            d: "M4.04545 2.13636C4.04545 1.78491 4.33036 1.5 4.68182 1.5C5.03327 1.5 5.31818 1.78491 5.31818 2.13636V2.77273H10.4091V2.13636C10.4091 1.78491 10.694 1.5 11.0455 1.5C11.3969 1.5 11.6818 1.78491 11.6818 2.13636V2.77273H12.9545C13.6575 2.77273 14.2273 3.34255 14.2273 4.04545V14.2273C14.2273 14.9302 13.6575 15.5 12.9545 15.5H2.77273C2.06982 15.5 1.5 14.9302 1.5 14.2273V4.04545C1.5 3.34255 2.06982 2.77273 2.77273 2.77273H4.04545V2.13636ZM12.9545 5.95455H2.77273V7.22727H12.9545V5.95455Z",
1003            fill: "currentColor"
1004        })
1005    });
1006});
1007;
1008;
1009;
1010;
1011;
1012;
1013;
1014;
1015;
1016;
1017;
1018;
1019;
1020const ConnectedRentalWidgetDatePicker = /*#__PURE__*/ __TURBOPACK__imported__module__271645__["default"].memo(function ConnectedRentalWidgetDatePicker(param) {
1021    let { ref, refs, errors: _errors = [], className, triggerClassName, isMobileCollapsed = false, onExpandMobileCollapsed, onSelect } = param;
1022    const t = (0, __TURBOPACK__imported__module__948148__["useTranslations"])("NewRentalWidget");
1023    const currentActiveElement = (0, __TURBOPACK__imported__module__17198__["useRentalWidgetState"])((state)=>state.currentActiveElement);
1024    const store = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStoreContext"])();
1025    const value = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>{
1026        return {
1027            from: state.config.datePickup,
1028            to: state.config.dateReturn
1029        };
1030    });
1031    // Instead of using useNow() here, the now value from the store is used to keep in sync with all
1032    // other store state.
1033    const now = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.now);
1034    const errors = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>_errors.filter((it)=>it.field === "datePickup" || it.field === "dateReturn"), [
1035        _errors
1036    ]);
1037    const locations = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>{
1038        return state.locations;
1039    });
1040    // Read from the store to keep a single source of truth.
1041    const bookingOffsetMinutes = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.bookingOffsetMinutes);
1042    // By extracting most values separately from the store, we optimize rendering.
1043    // This is because we can skip expensive isEqual() checks and repetitive computation by
1044    // utilising useMemo().
1045    const datePickup = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.config.datePickup);
1046    const locationId = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>state.config.locationId);
1047    const location = locations.find((it)=>it.id === locationId);
1048    const minPickupDate = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1049        return (0, __TURBOPACK__imported__module__105047__["findFirstAvailableDateByLocation"])(now, location);
1050    }, [
1051        location,
1052        now
1053    ]);
1054    const minPickupTime = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1055        return (0, __TURBOPACK__imported__module__702305__["getMinPickupTime"])({
1056            locations,
1057            now,
1058            date: minPickupDate,
1059            bookingOffsetMinutes
1060        });
1061    }, [
1062        bookingOffsetMinutes,
1063        locations,
1064        minPickupDate,
1065        now
1066    ]);
1067    const minPickupTimeForValue = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1068        if (!datePickup) {
1069            return null;
1070        }
1071        return (0, __TURBOPACK__imported__module__702305__["getMinPickupTime"])({
1072            locations,
1073            now,
1074            date: datePickup,
1075            bookingOffsetMinutes
1076        });
1077    }, [
1078        bookingOffsetMinutes,
1079        datePickup,
1080        locations,
1081        now
1082    ]);
1083    const maxPickupTimeForValue = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1084        if (!datePickup) {
1085            return null;
1086        }
1087        return (0, __TURBOPACK__imported__module__702305__["getMaxPickupTime"])({
1088            locations,
1089            now,
1090            date: datePickup,
1091            bookingOffsetMinutes
1092        });
1093    }, [
1094        bookingOffsetMinutes,
1095        datePickup,
1096        locations,
1097        now
1098    ]);
1099    const slots = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1100        let range;
1101        if (!!location && !!datePickup) {
1102            range = (0, __TURBOPACK__imported__module__478569__["getRangeForLocation"])({
1103                now,
1104                date: datePickup,
1105                location,
1106                bookingOffsetMinutes
1107            });
1108        } else if (!!minPickupTimeForValue && !!maxPickupTimeForValue) {
1109            range = {
1110                from: minPickupTimeForValue,
1111                to: maxPickupTimeForValue
1112            };
1113        } else {
1114            range = [];
1115        }
1116        return (0, __TURBOPACK__imported__module__864516__["getTimeSlotsForRange"])({
1117            range
1118        });
1119    }, [
1120        bookingOffsetMinutes,
1121        datePickup,
1122        location,
1123        maxPickupTimeForValue,
1124        minPickupTimeForValue,
1125        now
1126    ]);
1127    // We'll create a array of closed dates so those can be disabled on the date dropdown to avoid
1128    // "closed at this time" errors
1129    const disabledPickupDates = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1130        if (!location) {
1131            return [];
1132        }
1133        return (0, __TURBOPACK__imported__module__702305__["getDisabledPickupDatesForLocation"])({
1134            now,
1135            location,
1136            bookingOffsetMinutes
1137        });
1138    }, [
1139        bookingOffsetMinutes,
1140        location,
1141        now
1142    ]);
1143    const disabled = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1144        return [
1145            {
1146                after: (0, __TURBOPACK__imported__module__299378__["addYears"])(now, 1)
1147            },
1148            {
1149                before: minPickupTime !== null && minPickupTime !== void 0 ? minPickupTime : minPickupDate
1150            },
1151            ...disabledPickupDates
1152        ];
1153    }, [
1154        disabledPickupDates,
1155        minPickupDate,
1156        minPickupTime,
1157        now
1158    ]);
1159    const widgetStore = (0, __TURBOPACK__imported__module__17198__["useRentalWidgetStore"])();
1160    const error = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1161        let error = errors === null || errors === void 0 ? void 0 : errors[0];
1162        if (currentActiveElement === "date") {
1163            var _errors_filter;
1164            error = (_errors_filter = errors.filter((it)=>it.type !== "date_return_required")) === null || _errors_filter === void 0 ? void 0 : _errors_filter[0];
1165        }
1166        if (!!(error === null || error === void 0 ? void 0 : error.type) && t.has("errors.".concat(error.type))) {
1167            return t("errors.".concat(error.type));
1168        }
1169        return error === null || error === void 0 ? void 0 : error.message;
1170    }, [
1171        currentActiveElement,
1172        errors,
1173        t
1174    ]);
1175    return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(RentalWidgetDatePicker, {
1176        ref: ref,
1177        refs: refs,
1178        value: value,
1179        error: error,
1180        className: className,
1181        triggerClassName: triggerClassName,
1182        open: currentActiveElement && [
1183            "date",
1184            "return_time",
1185            "return_location"
1186        ].includes(currentActiveElement) ? currentActiveElement : false,
1187        onOpenChangeDatePicker: (open)=>{
1188            if (open && isMobileCollapsed) {
1189                onExpandMobileCollapsed === null || onExpandMobileCollapsed === void 0 ? void 0 : onExpandMobileCollapsed(true);
1190                return;
1191            }
1192            const state = widgetStore.getState();
1193            state.setCurrentActiveElement(open ? "date" : null);
1194        },
1195        onOpenChangePickupTimePicker: (open)=>{
1196            if (open && isMobileCollapsed) {
1197                onExpandMobileCollapsed === null || onExpandMobileCollapsed === void 0 ? void 0 : onExpandMobileCollapsed(true);
1198                return;
1199            }
1200            const state = widgetStore.getState();
1201            state.setCurrentActiveElement(open ? "pickup_time" : null);
1202        },
1203        onApply: ()=>{
1204            const state = widgetStore.getState();
1205            state.setCurrentActiveElement(null);
1206            onSelect === null || onSelect === void 0 ? void 0 : onSelect();
1207        },
1208        onOpenChangeReturnTimePicker: (open)=>{
1209            if (open && isMobileCollapsed) {
1210                onExpandMobileCollapsed === null || onExpandMobileCollapsed === void 0 ? void 0 : onExpandMobileCollapsed(true);
1211                return;
1212            }
1213            const state = widgetStore.getState();
1214            state.setCurrentActiveElement(open ? "return_time" : null);
1215        },
1216        onChangePickupTime: (date)=>{
1217            const state = store.getState();
1218            state.setRentalPeriod({
1219                from: date,
1220                to: state.config.dateReturn
1221            });
1222        },
1223        onChangeReturnTime: (date)=>{
1224            const state = store.getState();
1225            state.setRentalPeriod({
1226                from: state.config.datePickup,
1227                to: date
1228            });
1229        },
1230        onDayClick: (date)=>{
1231            const state = store.getState();
1232            if (!!state.config.datePickup && !!state.config.dateReturn) {
1233                state.setRentalPeriod({
1234                    from: new __TURBOPACK__imported__module__988052__["TZDate"](date).withTimeZone(__TURBOPACK__imported__module__685149__["TIMEZONE"]),
1235                    to: null
1236                });
1237            }
1238            if (!!state.config.datePickup && !state.config.dateReturn) {
1239                const _to = new __TURBOPACK__imported__module__988052__["TZDate"](date).withTimeZone(__TURBOPACK__imported__module__685149__["TIMEZONE"]);
1240                const _from = new __TURBOPACK__imported__module__988052__["TZDate"](state.config.datePickup).withTimeZone(__TURBOPACK__imported__module__685149__["TIMEZONE"]);
1241                if ((0, __TURBOPACK__imported__module__974875__["isBefore"])(_to, _from)) {
1242                    _from.setHours(8, 0, 0, 0);
1243                    return state.setRentalPeriod({
1244                        from: _to,
1245                        to: _from
1246                    });
1247                }
1248                _to.setHours(8, 0, 0, 0);
1249                state.setRentalPeriod({
1250                    from: _from,
1251                    to: _to
1252                });
1253            }
1254        },
1255        // TODO: Calculate slots for return time picker as well. E.g. when pickup date and return
1256        // date are the same day and pickup time is 8:00 we should only offer return slots from
1257        // 09:00.
1258        slots: slots,
1259        disabled: disabled
1260    });
1261});
1262__turbopack_context__.s([
1263    "ConnectedRentalWidgetDatePicker",
1264    0,
1265    ConnectedRentalWidgetDatePicker
1266], 176403);
1267}),
1268958425, ((__turbopack_context__) => {
1269"use strict";
1270
1271var __TURBOPACK__imported__module__843476__ = __turbopack_context__.i(843476);
1272var __TURBOPACK__imported__module__271645__ = __turbopack_context__.i(271645);
1273var __TURBOPACK__imported__module__867228__ = __turbopack_context__.i(867228);
1274var __TURBOPACK__imported__module__209019__ = __turbopack_context__.i(209019);
1275var __TURBOPACK__imported__module__401851__ = __turbopack_context__.i(401851);
1276var __TURBOPACK__imported__module__768834__ = __turbopack_context__.i(768834);
1277var __TURBOPACK__imported__module__685149__ = __turbopack_context__.i(685149);
1278var __TURBOPACK__imported__module__432082__ = __turbopack_context__.i(432082);
1279var __TURBOPACK__imported__module__218330__ = __turbopack_context__.i(218330);
1280var __TURBOPACK__imported__module__710007__ = __turbopack_context__.i(710007);
1281var __TURBOPACK__imported__module__107282__ = __turbopack_context__.i(107282);
1282var __TURBOPACK__imported__module__697329__ = __turbopack_context__.i(697329);
1283var __TURBOPACK__imported__module__852963__ = __turbopack_context__.i(852963);
1284var __TURBOPACK__imported__module__501804__ = __turbopack_context__.i(501804);
1285var __TURBOPACK__imported__module__773447__ = __turbopack_context__.i(773447);
1286var __TURBOPACK__imported__module__948148__ = __turbopack_context__.i(948148);
1287var __TURBOPACK__imported__module__966601__ = __turbopack_context__.i(966601);
1288var __TURBOPACK__imported__module__945060__ = __turbopack_context__.i(945060);
1289var __TURBOPACK__imported__module__35404__ = __turbopack_context__.i(35404);
1290var __TURBOPACK__imported__module__653362__ = __turbopack_context__.i(653362);
1291var __TURBOPACK__imported__module__176403__ = __turbopack_context__.i(176403);
1292var __TURBOPACK__imported__module__17198__ = __turbopack_context__.i(17198);
1293"use client";
1294;
1295;
1296;
1297;
1298;
1299;
1300;
1301;
1302;
1303;
1304;
1305;
1306;
1307;
1308;
1309;
1310;
1311;
1312;
1313;
1314;
1315function RentalWidgetLegacy(param) {
1316    let { footer, className, onSubmit, variant, onInteract, isMobileCollapsed = false, onExpandMobileCollapsed, validate, ref } = param;
1317    const widgetStore = (0, __TURBOPACK__imported__module__271645__["useRef"])((0, __TURBOPACK__imported__module__17198__["createRentalWidgetStore"])()).current;
1318    const containerRef = (0, __TURBOPACK__imported__module__271645__["useRef"])(null);
1319    const rootRef = (0, __TURBOPACK__imported__module__271645__["useRef"])(null);
1320    const locationRef = (0, __TURBOPACK__imported__module__271645__["useRef"])(null);
1321    const dateRef = (0, __TURBOPACK__imported__module__271645__["useRef"])(null);
1322    const categoryRef = (0, __TURBOPACK__imported__module__271645__["useRef"])(null);
1323    const searchButtonRef = (0, __TURBOPACK__imported__module__271645__["useRef"])(null);
1324    const refs = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1325        return {
1326            container: containerRef,
1327            root: rootRef,
1328            location: locationRef,
1329            date: dateRef,
1330            category: categoryRef
1331        };
1332    }, []);
1333    (0, __TURBOPACK__imported__module__271645__["useImperativeHandle"])(ref, ()=>refs, [
1334        refs
1335    ]);
1336    const currentActiveElement = (0, __TURBOPACK__imported__module__768834__["useStore"])(widgetStore, (state)=>state.currentActiveElement);
1337    (0, __TURBOPACK__imported__module__271645__["useEffect"])(()=>{
1338        const unsubscribe = widgetStore.subscribe((state, prevState)=>{
1339            if (prevState.currentActiveElement === null && !!state.currentActiveElement) {
1340                onInteract === null || onInteract === void 0 ? void 0 : onInteract();
1341            }
1342        });
1343        return unsubscribe;
1344    }, [
1345        widgetStore,
1346        onInteract
1347    ]);
1348    const store = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStoreContext"])();
1349    const t = (0, __TURBOPACK__imported__module__948148__["useTranslations"])("NewRentalWidget");
1350    const apiLocale = (0, __TURBOPACK__imported__module__501804__["default"])();
1351    const isDesktop = (0, __TURBOPACK__imported__module__867228__["useMediaQuery"])(__TURBOPACK__imported__module__685149__["MEDIA_QUERY_DESKTOP"]);
1352    const { data: { mainCategories } = {} }
1352 = (0, __TURBOPACK__imported__module__852963__["useMainCategoryList"])({
1353        queryOptions: {
1354            staleTime: Infinity
1355        }
1356    });
1357    const errors = (0, __TURBOPACK__imported__module__218330__["useCarRentalConfigurationStore"])((state)=>!!validate ? validate(state) : state.errors);
1358    const error = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1359        if (currentActiveElement === "date") {
1360            return errors.filter((it)=>it.field !== "dateReturn" && it.field !== "datePickup")[0];
1361        }
1362        return errors[0];
1363    }, [
1364        errors,
1365        currentActiveElement
1366    ]);
1367    const errorMessage = (0, __TURBOPACK__imported__module__271645__["useMemo"])(()=>{
1368        if (!!(error === null || error === void 0 ? void 0 : error.type) && t.has("errors.".concat(error.type))) {
1369            return t("errors.".concat(error.type));
1370        }
1371        return error === null || error === void 0 ? void 0 : error.message;
1372    }, [
1373        error === null || error === void 0 ? void 0 : error.message,
1374        error === null || error === void 0 ? void 0 : error.type,
1375        t
1376    ]);
1377    const pushSearchInitiatedEvent = (0, __TURBOPACK__imported__module__271645__["useCallback"])((config, locations)=>{
1378        var _config_dateReturn, _ref, _ref1;
1379        var _mainCategory_title, _pickupLocation_name, _dropoffLocation_name, _pickupLocation_name1;
1380        if (!config.datePickup || !config.locationId) {
1381            return;
1382        }
1383        const mainCategory = mainCategories === null || mainCategories === void 0 ? void 0 : mainCategories.find((category)=>category.id === config.mainCategoryId);
1384        const pickupDate = config.datePickup;
1385        const returnDate = (_config_dateReturn = config.dateReturn) !== null && _config_dateReturn !== void 0 ? _config_dateReturn : pickupDate;
1386        const pickupLocation = locations.find((location)=>location.id === config.locationId);
1387        const dropoffLocation = locations.find((location)=>location.id === config.returnLocationId);
1388        const rentalDuration = (0, __TURBOPACK__imported__module__209019__["differenceInDays"])(returnDate, pickupDate);
1389        (0, __TURBOPACK__imported__module__432082__["dataLayer"])({
1390            event: "search_initiated",
1391            vehicleCategory: (_ref = mainCategory === null || mainCategory === void 0 ? void 0 : (_mainCategory_title = mainCategory.title) === null || _mainCategory_title === void 0 ? void 0 : _mainCategory_title[apiLocale]) !== null && _ref !== void 0 ? _ref : mainCategory === null || mainCategory === void 0 ? void 0 : mainCategory.shortName,
1392            pickup_location: pickupLocation === null || pickupLocation === void 0 ? void 0 : (_pickupLocation_name = pickupLocation.name) === null || _pickupLocation_name === void 0 ? void 0 : _pickupLocation_name[apiLocale],
1393            dropoff_location: (_ref1 = dropoffLocation === null || dropoffLocation === void 0 ? void 0 : (_dropoffLocation_name = dropoffLocation.name) === null || _dropoffLocation_name === void 0 ? void 0 : _dropoffLocation_name[apiLocale]) !== null && _ref1 !== void 0 ? _ref1 : pickupLocation === null || pickupLocation === void 0 ? void 0 : (_pickupLocation_name1 = pickupLocation.name) === null || _pickupLocation_name1 === void 0 ? void 0 : _pickupLocation_name1[apiLocale],
1394            pickup_date: (0, __TURBOPACK__imported__module__401851__["format"])(pickupDate, "yyyy-MM-dd"),
1395            pickup_time: (0, __TURBOPACK__imported__module__401851__["format"])(pickupDate, "HH:mm"),
1396            dropoff_date: (0, __TURBOPACK__imported__module__401851__["format"])(returnDate, "yyyy-MM-dd"),
1397            dropoff_time: (0, __TURBOPACK__imported__module__401851__["format"])(returnDate, "HH:mm"),
1398            rental_duration: rentalDuration
1399        });
1400    }, [
1401        apiLocale,
1402        mainCategories
1403    ]);
1404    const advancedField = (0, __TURBOPACK__imported__module__271645__["useCallback"])((from)=>{
1405        if (!isDesktop) {
1406            return;
1407        }
1408        const config = store.getState().config;
1409        const setActive = (element)=>()=>widgetStore.getState().setCurrentActiveElement(element);
1410        const fields = [
1411            {
1412                key: "category",
1413                filled: !!config.mainCategoryId,
1414                open: setActive("category")
1415            },
1416            {
1417                key: "location",
1418                filled: !!config.locationId,
1419                open: setActive("location")
1420            },
1421            {
1422                key: "date",
1423                filled: !!config.datePickup && !!config.dateReturn,
1424                open: setActive("date")
1425            }
1426        ];
1427        const next = (0, __TURBOPACK__imported__module__697329__["getNextUnfilledField"])(fields, from);
1428        if (next) {
1429            requestAnimationFrame(next.open);
1430            return;
1431        }
1432        requestAnimationFrame(()=>{
1433            var _searchButtonRef_current;
1434            return (_searchButtonRef_current = searchButtonRef.current) === null || _searchButtonRef_current === void 0 ? void 0 : _searchButtonRef_current.focus();
1435        });
1436    }, [
1437        isDesktop,
1438        store,
1439        widgetStore
1440    ]);
1441    const handleSearch = (0, __TURBOPACK__imported__module__271645__["useCallback"])(()=>{
1442        const state = store.getState();
1443        const hasMissingRequiredInput = !state.config.mainCategoryId || !state.config.locationId || !state.config.datePickup || !state.config.dateReturn;
1444        if (hasMissingRequiredInput) {
1445            if (isMobileCollapsed) {
1446                onExpandMobileCollapsed === null || onExpandMobileCollapsed === void 0 ? void 0 : onExpandMobileCollapsed(true);
1447                return;
1448            }
1449            // On desktop we'll open the first field that is invali
1449d.
1450            if (isDesktop) {
1451                if (!state.config.mainCategoryId) {
1452                    var _categoryRef_current;
1453                    widgetStore.getState().setCurrentActiveElement("category");
1454                    (_categoryRef_current = categoryRef.current) === null || _categoryRef_current === void 0 ? void 0 : _categoryRef_current.focus();
1455                    return;
1456                }
1457                if (!state.config.locationId) {
1458                    var _locationRef_current;
1459                    widgetStore.getState().setCurrentActiveElement("location");
1460                    (_locationRef_current = locationRef.current) === null || _locationRef_current === void 0 ? void 0 : _locationRef_current.focus();
1461                    return;
1462                }
1463                if (!state.config.datePickup || !state.config.dateReturn) {
1464                    var _dateRef_current;
1465                    widgetStore.getState().setCurrentActiveElement("date");
1466                    (_dateRef_current = dateRef.current) === null || _dateRef_current === void 0 ? void 0 : _dateRef_current.focus();
1467                    return;
1468                }
1469            }
1470        }
1471        pushSearchInitiatedEvent(state.config, state.locations);
1472        onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(state.config);
1473    }, [
1474        isDesktop,
1475        isMobileCollapsed,
1476        store,
1477        widgetStore,
1478        pushSearchInitiatedEvent,
1479        onExpandMobileCollapsed,
1480        onSubmit
1481    ]);
1482    const lastFieldTriggerClassName = isMobileCollapsed ? "rounded-tl rounded-tr rounded-bl-none rounded-br-none py-[0.75rem]" : undefined;
1483    return /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__17198__["RentalWidgetContext"].Provider, {
1484        value: widgetStore,
1485        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsxs"])("div", {
1486            ref: containerRef,
1487            className: className,
1488            "data-testid": "RentalWidget.A",
1489            children: [
1490                /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])("div", {
1491                    className: (0, __TURBOPACK__imported__module__945060__["cn"])("relative"),
1492                    children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsxs"])(__TURBOPACK__imported__module__107282__["WidgetWrapper"], {
1493                        variant: variant,
1494                        ref: rootRef,
1495                        error: !!errorMessage,
1496                        children: [
1497                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsxs"])(__TURBOPACK__imported__module__107282__["WidgetFieldsBorder"], {
1498                                children: [
1499                                    /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsxs"])(__TURBOPACK__imported__module__107282__["WidgetFields"], {
1500                                        variant: variant,
1501                                        children: [
1502                                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__107282__["CollapsibleWidgetField"], {
1503                                                isCollapsed: isMobileCollapsed,
1504                                                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__653362__["ConnectedMainCategoryPicker"], {
1505                                                    ref: categoryRef,
1506                                                    errors: errors,
1507                                                    onSelect: ()=>advancedField("category")
1508                                                })
1509                                            }),
1510                                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__107282__["CollapsibleWidgetDivider"], {
1511                                                variant: variant,
1512                                                isMobileCollapsed: isMobileCollapsed
1513                                            }),
1514                                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__107282__["CollapsibleWidgetField"], {
1515                                                isCollapsed: isMobileCollapsed,
1516                                                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__35404__["ConnectedLocationPicker"], {
1517                                                    ref: locationRef,
1518                                                    mode: "pickup",
1519                                                    anchor: rootRef,
1520                                                    errors: errors,
1521                                                    onSelect: ()=>advancedField("location")
1522                                                })
1523                                            }),
1524                                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__107282__["CollapsibleWidgetDivider"], {
1525                                                variant: variant,
1526                                                isMobileCollapsed: isMobileCollapsed
1527                                            }),
1528                                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__107282__["WidgetFieldWrapper"], {
1529                                                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__176403__["ConnectedRentalWidgetDatePicker"], {
1530                                                    errors: errors,
1531                                                    ref: dateRef,
1532                                                    refs: refs,
1533                                                    triggerClassName: lastFieldTriggerClassName,
1534                                                    isMobileCollapsed: isMobileCollapsed,
1535                                                    onExpandMobileCollapsed: onExpandMobileCollapsed,
1536                                                    onSelect: ()=>advancedField("date")
1537                                                })
1538                                            })
1539                                        ]
1540                                    }),
1541                                    !!onSubmit && /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])("div", {
1542                                        className: (0, __TURBOPACK__imported__module__945060__["cn"])("h-full flex items-center justify-center ", {
1543                                            "bg-[#f0c800] pl-[4px]": variant === "prominent",
1544                                            "px-1": variant === "default"
1545                                        }),
1546                                        children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsxs"])(__TURBOPACK__imported__module__710007__["default"], {
1547                                            ref: searchButtonRef,
1548                                            onClick: handleSearch,
1549                                            className: (0, __TURBOPACK__imported__module__945060__["cn"])("hidden xl:flex px-4", {
1550                                                "h-full": variant === "prominent",
1551                                                "h-[3.1rem]": variant === "default"
1552                                            }),
1553                                            children: [
1554                                                /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__966601__["default"], {
1555                                                    className: "relative w-2 h-2 mr-1 -top-[1px]",
1556                                                    "aria-hidden": "true"
1557                                                }),
1558                                                t("searchShort")
1559                                            ]
1560                                        })
1561                                    })
1562                                ]
1563                            }),
1564                            /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__107282__["WidgetErrorBar"], {
1565                                show: !!errorMessage,
1566                                message: errorMessage
1567                            }),
1568                            !!onSubmit && /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])("div", {
1569                                className: "border-t border-brand-100 xl:hidden relative w-full px-2 py-1",
1570                                children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsxs"])(__TURBOPACK__imported__module__710007__["default"], {
1571                                    onClick: handleSearch,
1572                                    className: "w-full items-center justify-center",
1573                                    children: [
1574                                        /*#__PURE__*/ (0, __TURBOPACK__imported__module__843476__["jsx"])(__TURBOPACK__imported__module__966601__["default"], {
1575                                            className: "relative w-2 h-2 mr-1 -top-[1px]",
1576                                            "aria-hidden": "true"
1577                                        }),
1578                                        t("searchVehicle")
1579                                    ]
1580                                })
1581                            })
1582                        ]
1583                    })
1584                }),
1585                footer
1586            ]
1587        })
1588    });
1589}
1590__turbopack_context__.s([
1591    "default",
1592    0,
1593    RentalWidgetLegacy
1594]);
1595}),
1596]);
1597
1598//# debugId=26012f16-abd9-1700-e28a-c25517740e3b

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.