@loczer/storefront-sdk 0.208.0 → 0.209.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/StorefrontContext.d.ts +89 -0
  2. package/dist/StorefrontContext.d.ts.map +1 -1
  3. package/dist/StorefrontContext.js +8 -1
  4. package/dist/StorefrontProvider.d.ts +84 -0
  5. package/dist/StorefrontProvider.d.ts.map +1 -1
  6. package/dist/StorefrontProvider.js +55 -41
  7. package/dist/chunks/pkg/ui/dist/Map/{MapContent-CDeWtwKa.js → MapContent-TzYCv8ji.js} +109 -108
  8. package/dist/chunks/pkg/ui/dist/Map/constants-dF2KdJZy.js +8 -0
  9. package/dist/chunks/pkg/ui/dist/{Map-Cs7wgtH9.js → Map-ZM-ZOU9P.js} +1 -1
  10. package/dist/components/BookingBikeVariantDialog/index.js +15 -15
  11. package/dist/components/ContactSection/index.js +9 -9
  12. package/dist/components/Header/index.d.ts.map +1 -1
  13. package/dist/components/Header/index.js +72 -66
  14. package/dist/components/Itineraries/ItinerariesSection.d.ts +2 -0
  15. package/dist/components/Itineraries/ItinerariesSection.d.ts.map +1 -0
  16. package/dist/components/Itineraries/ItinerariesSection.js +81 -0
  17. package/dist/components/Itineraries/ItineraryListItem.d.ts +9 -0
  18. package/dist/components/Itineraries/ItineraryListItem.d.ts.map +1 -0
  19. package/dist/components/Itineraries/ItineraryListItem.js +100 -0
  20. package/dist/components/Itineraries/ItineraryRouteMap.d.ts +10 -0
  21. package/dist/components/Itineraries/ItineraryRouteMap.d.ts.map +1 -0
  22. package/dist/components/Itineraries/ItineraryRouteMap.js +67 -0
  23. package/dist/components/Itineraries/index.d.ts +4 -0
  24. package/dist/components/Itineraries/index.d.ts.map +1 -0
  25. package/dist/components/Itineraries/index.js +4 -0
  26. package/dist/components/Map/index.d.ts +12 -0
  27. package/dist/components/Map/index.d.ts.map +1 -1
  28. package/dist/components/Map/index.js +1 -1
  29. package/dist/i18n/en.d.ts +31 -0
  30. package/dist/i18n/en.d.ts.map +1 -1
  31. package/dist/i18n/en.js +31 -0
  32. package/dist/i18n/fr.d.ts +31 -0
  33. package/dist/i18n/fr.d.ts.map +1 -1
  34. package/dist/i18n/fr.js +31 -0
  35. package/dist/index.d.ts +763 -0
  36. package/dist/index.js +58 -51
  37. package/dist/lib/itineraryPresentation.d.ts +14 -0
  38. package/dist/lib/itineraryPresentation.d.ts.map +1 -0
  39. package/dist/lib/itineraryPresentation.js +26 -0
  40. package/dist/lib/storefrontItineraries.d.ts +418 -0
  41. package/dist/lib/storefrontItineraries.d.ts.map +1 -0
  42. package/dist/lib/storefrontItineraries.js +81 -0
  43. package/dist/pages/BookingPage.js +8 -8
  44. package/dist/pages/CheckoutPage.js +4 -4
  45. package/dist/pages/HomePage.d.ts.map +1 -1
  46. package/dist/pages/HomePage.js +111 -108
  47. package/dist/pages/ItinerariesPage.d.ts +2 -0
  48. package/dist/pages/ItinerariesPage.d.ts.map +1 -0
  49. package/dist/pages/ItinerariesPage.js +76 -0
  50. package/dist/pages/ItineraryDetailsPage.d.ts +66 -0
  51. package/dist/pages/ItineraryDetailsPage.d.ts.map +1 -0
  52. package/dist/pages/ItineraryDetailsPage.js +223 -0
  53. package/dist/pages/ProductPage.js +6 -6
  54. package/dist/pages/itineraries/ElevationProfile.d.ts +5 -0
  55. package/dist/pages/itineraries/ElevationProfile.d.ts.map +1 -0
  56. package/dist/pages/itineraries/ElevationProfile.js +59 -0
  57. package/dist/routes.d.ts.map +1 -1
  58. package/dist/routes.js +18 -10
  59. package/dist/storefront.css +1 -1
  60. package/package.json +1 -1
  61. package/dist/chunks/pkg/ui/dist/Map/constants-BNmiJXfg.js +0 -4
@@ -0,0 +1,418 @@
1
+ import { z } from 'zod';
2
+ export declare const storefrontItineraryLocalizedStringSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
3
+ value: z.ZodString;
4
+ updatedAt: z.ZodCoercedDate<unknown>;
5
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
6
+ }, z.core.$loose>>;
7
+ export declare const storefrontItineraryDifficultySchema: z.ZodEnum<{
8
+ easy: "easy";
9
+ moderate: "moderate";
10
+ challenging: "challenging";
11
+ }>;
12
+ export declare const storefrontItineraryTripTypeSchema: z.ZodEnum<{
13
+ one_way: "one_way";
14
+ out_and_back: "out_and_back";
15
+ loop: "loop";
16
+ }>;
17
+ export declare const storefrontItineraryMetricsSchema: z.ZodObject<{
18
+ distanceMeters: z.ZodNumber;
19
+ durationSeconds: z.ZodNumber;
20
+ elevationGainMeters: z.ZodNumber;
21
+ elevationLossMeters: z.ZodNumber;
22
+ }, z.core.$strip>;
23
+ export declare const storefrontItineraryBoundsSchema: z.ZodObject<{
24
+ west: z.ZodNumber;
25
+ south: z.ZodNumber;
26
+ east: z.ZodNumber;
27
+ north: z.ZodNumber;
28
+ }, z.core.$strip>;
29
+ export declare const storefrontItineraryCoordinateSchema: z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
30
+ export declare const storefrontItinerarySummarySchema: z.ZodObject<{
31
+ slug: z.ZodString;
32
+ title: z.ZodRecord<z.ZodString, z.ZodObject<{
33
+ value: z.ZodString;
34
+ updatedAt: z.ZodCoercedDate<unknown>;
35
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
36
+ }, z.core.$loose>>;
37
+ introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
38
+ value: z.ZodString;
39
+ updatedAt: z.ZodCoercedDate<unknown>;
40
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
41
+ }, z.core.$loose>>;
42
+ tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
43
+ value: z.ZodString;
44
+ updatedAt: z.ZodCoercedDate<unknown>;
45
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
46
+ }, z.core.$loose>>>;
47
+ coverImageId: z.ZodNullable<z.ZodString>;
48
+ difficulty: z.ZodEnum<{
49
+ easy: "easy";
50
+ moderate: "moderate";
51
+ challenging: "challenging";
52
+ }>;
53
+ tripType: z.ZodEnum<{
54
+ one_way: "one_way";
55
+ out_and_back: "out_and_back";
56
+ loop: "loop";
57
+ }>;
58
+ metrics: z.ZodObject<{
59
+ distanceMeters: z.ZodNumber;
60
+ durationSeconds: z.ZodNumber;
61
+ elevationGainMeters: z.ZodNumber;
62
+ elevationLossMeters: z.ZodNumber;
63
+ }, z.core.$strip>;
64
+ }, z.core.$strip>;
65
+ export declare const storefrontItineraryStepSchema: z.ZodObject<{
66
+ id: z.ZodString;
67
+ label: z.ZodRecord<z.ZodString, z.ZodObject<{
68
+ value: z.ZodString;
69
+ updatedAt: z.ZodCoercedDate<unknown>;
70
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
71
+ }, z.core.$loose>>;
72
+ description: z.ZodRecord<z.ZodString, z.ZodObject<{
73
+ value: z.ZodString;
74
+ updatedAt: z.ZodCoercedDate<unknown>;
75
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
76
+ }, z.core.$loose>>;
77
+ category: z.ZodOptional<z.ZodString>;
78
+ role: z.ZodEnum<{
79
+ shaping: "shaping";
80
+ stop: "stop";
81
+ detached: "detached";
82
+ }>;
83
+ point: z.ZodObject<{
84
+ lng: z.ZodNumber;
85
+ lat: z.ZodNumber;
86
+ ele: z.ZodOptional<z.ZodNumber>;
87
+ }, z.core.$strip>;
88
+ imageIds: z.ZodArray<z.ZodString>;
89
+ }, z.core.$strip>;
90
+ export declare const storefrontItineraryPreviewSchema: z.ZodObject<{
91
+ slug: z.ZodString;
92
+ title: z.ZodRecord<z.ZodString, z.ZodObject<{
93
+ value: z.ZodString;
94
+ updatedAt: z.ZodCoercedDate<unknown>;
95
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
96
+ }, z.core.$loose>>;
97
+ introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
98
+ value: z.ZodString;
99
+ updatedAt: z.ZodCoercedDate<unknown>;
100
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
101
+ }, z.core.$loose>>;
102
+ tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
103
+ value: z.ZodString;
104
+ updatedAt: z.ZodCoercedDate<unknown>;
105
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
106
+ }, z.core.$loose>>>;
107
+ coverImageId: z.ZodNullable<z.ZodString>;
108
+ difficulty: z.ZodEnum<{
109
+ easy: "easy";
110
+ moderate: "moderate";
111
+ challenging: "challenging";
112
+ }>;
113
+ tripType: z.ZodEnum<{
114
+ one_way: "one_way";
115
+ out_and_back: "out_and_back";
116
+ loop: "loop";
117
+ }>;
118
+ metrics: z.ZodObject<{
119
+ distanceMeters: z.ZodNumber;
120
+ durationSeconds: z.ZodNumber;
121
+ elevationGainMeters: z.ZodNumber;
122
+ elevationLossMeters: z.ZodNumber;
123
+ }, z.core.$strip>;
124
+ previewCoordinates: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
125
+ steps: z.ZodArray<z.ZodObject<{
126
+ id: z.ZodString;
127
+ label: z.ZodRecord<z.ZodString, z.ZodObject<{
128
+ value: z.ZodString;
129
+ updatedAt: z.ZodCoercedDate<unknown>;
130
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
131
+ }, z.core.$loose>>;
132
+ description: z.ZodRecord<z.ZodString, z.ZodObject<{
133
+ value: z.ZodString;
134
+ updatedAt: z.ZodCoercedDate<unknown>;
135
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
136
+ }, z.core.$loose>>;
137
+ category: z.ZodOptional<z.ZodString>;
138
+ role: z.ZodEnum<{
139
+ shaping: "shaping";
140
+ stop: "stop";
141
+ detached: "detached";
142
+ }>;
143
+ point: z.ZodObject<{
144
+ lng: z.ZodNumber;
145
+ lat: z.ZodNumber;
146
+ ele: z.ZodOptional<z.ZodNumber>;
147
+ }, z.core.$strip>;
148
+ imageIds: z.ZodArray<z.ZodString>;
149
+ }, z.core.$strip>>;
150
+ }, z.core.$strip>;
151
+ export declare const storefrontItineraryDetailSchema: z.ZodObject<{
152
+ slug: z.ZodString;
153
+ title: z.ZodRecord<z.ZodString, z.ZodObject<{
154
+ value: z.ZodString;
155
+ updatedAt: z.ZodCoercedDate<unknown>;
156
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
157
+ }, z.core.$loose>>;
158
+ introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
159
+ value: z.ZodString;
160
+ updatedAt: z.ZodCoercedDate<unknown>;
161
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
162
+ }, z.core.$loose>>;
163
+ tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
164
+ value: z.ZodString;
165
+ updatedAt: z.ZodCoercedDate<unknown>;
166
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
167
+ }, z.core.$loose>>>;
168
+ coverImageId: z.ZodNullable<z.ZodString>;
169
+ difficulty: z.ZodEnum<{
170
+ easy: "easy";
171
+ moderate: "moderate";
172
+ challenging: "challenging";
173
+ }>;
174
+ tripType: z.ZodEnum<{
175
+ one_way: "one_way";
176
+ out_and_back: "out_and_back";
177
+ loop: "loop";
178
+ }>;
179
+ metrics: z.ZodObject<{
180
+ distanceMeters: z.ZodNumber;
181
+ durationSeconds: z.ZodNumber;
182
+ elevationGainMeters: z.ZodNumber;
183
+ elevationLossMeters: z.ZodNumber;
184
+ }, z.core.$strip>;
185
+ geometry: z.ZodObject<{
186
+ type: z.ZodLiteral<"LineString">;
187
+ coordinates: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
188
+ }, z.core.$strip>;
189
+ bounds: z.ZodNullable<z.ZodObject<{
190
+ west: z.ZodNumber;
191
+ south: z.ZodNumber;
192
+ east: z.ZodNumber;
193
+ north: z.ZodNumber;
194
+ }, z.core.$strip>>;
195
+ steps: z.ZodArray<z.ZodObject<{
196
+ id: z.ZodString;
197
+ label: z.ZodRecord<z.ZodString, z.ZodObject<{
198
+ value: z.ZodString;
199
+ updatedAt: z.ZodCoercedDate<unknown>;
200
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
201
+ }, z.core.$loose>>;
202
+ description: z.ZodRecord<z.ZodString, z.ZodObject<{
203
+ value: z.ZodString;
204
+ updatedAt: z.ZodCoercedDate<unknown>;
205
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
206
+ }, z.core.$loose>>;
207
+ category: z.ZodOptional<z.ZodString>;
208
+ role: z.ZodEnum<{
209
+ shaping: "shaping";
210
+ stop: "stop";
211
+ detached: "detached";
212
+ }>;
213
+ point: z.ZodObject<{
214
+ lng: z.ZodNumber;
215
+ lat: z.ZodNumber;
216
+ ele: z.ZodOptional<z.ZodNumber>;
217
+ }, z.core.$strip>;
218
+ imageIds: z.ZodArray<z.ZodString>;
219
+ }, z.core.$strip>>;
220
+ }, z.core.$strip>;
221
+ export declare const STOREFRONT_ITINERARIES_LIST_ROUTE = "/api/public/storefront/itineraries/list";
222
+ export declare const STOREFRONT_ITINERARIES_FEATURED_ROUTE = "/api/public/storefront/itineraries/featured";
223
+ export declare const STOREFRONT_ITINERARY_DETAIL_ROUTE = "/api/public/storefront/itineraries/get";
224
+ export declare const storefrontItinerariesListRequestSchema: z.ZodObject<{
225
+ storeSlug: z.ZodString;
226
+ }, z.core.$strip>;
227
+ export declare const storefrontItinerariesFeaturedRequestSchema: z.ZodObject<{
228
+ storeSlug: z.ZodString;
229
+ }, z.core.$strip>;
230
+ export declare const storefrontItineraryDetailRequestSchema: z.ZodObject<{
231
+ storeSlug: z.ZodString;
232
+ itinerarySlug: z.ZodString;
233
+ }, z.core.$strip>;
234
+ export declare const storefrontItinerariesListResponseSchema: z.ZodObject<{
235
+ success: z.ZodBoolean;
236
+ message: z.ZodOptional<z.ZodString>;
237
+ itineraries: z.ZodDefault<z.ZodArray<z.ZodObject<{
238
+ slug: z.ZodString;
239
+ title: z.ZodRecord<z.ZodString, z.ZodObject<{
240
+ value: z.ZodString;
241
+ updatedAt: z.ZodCoercedDate<unknown>;
242
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
243
+ }, z.core.$loose>>;
244
+ introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
245
+ value: z.ZodString;
246
+ updatedAt: z.ZodCoercedDate<unknown>;
247
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
248
+ }, z.core.$loose>>;
249
+ tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
250
+ value: z.ZodString;
251
+ updatedAt: z.ZodCoercedDate<unknown>;
252
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
253
+ }, z.core.$loose>>>;
254
+ coverImageId: z.ZodNullable<z.ZodString>;
255
+ difficulty: z.ZodEnum<{
256
+ easy: "easy";
257
+ moderate: "moderate";
258
+ challenging: "challenging";
259
+ }>;
260
+ tripType: z.ZodEnum<{
261
+ one_way: "one_way";
262
+ out_and_back: "out_and_back";
263
+ loop: "loop";
264
+ }>;
265
+ metrics: z.ZodObject<{
266
+ distanceMeters: z.ZodNumber;
267
+ durationSeconds: z.ZodNumber;
268
+ elevationGainMeters: z.ZodNumber;
269
+ elevationLossMeters: z.ZodNumber;
270
+ }, z.core.$strip>;
271
+ }, z.core.$strip>>>;
272
+ }, z.core.$strip>;
273
+ export declare const storefrontItinerariesFeaturedResponseSchema: z.ZodObject<{
274
+ success: z.ZodBoolean;
275
+ message: z.ZodOptional<z.ZodString>;
276
+ itineraries: z.ZodDefault<z.ZodArray<z.ZodObject<{
277
+ slug: z.ZodString;
278
+ title: z.ZodRecord<z.ZodString, z.ZodObject<{
279
+ value: z.ZodString;
280
+ updatedAt: z.ZodCoercedDate<unknown>;
281
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
282
+ }, z.core.$loose>>;
283
+ introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
284
+ value: z.ZodString;
285
+ updatedAt: z.ZodCoercedDate<unknown>;
286
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
287
+ }, z.core.$loose>>;
288
+ tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
289
+ value: z.ZodString;
290
+ updatedAt: z.ZodCoercedDate<unknown>;
291
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
292
+ }, z.core.$loose>>>;
293
+ coverImageId: z.ZodNullable<z.ZodString>;
294
+ difficulty: z.ZodEnum<{
295
+ easy: "easy";
296
+ moderate: "moderate";
297
+ challenging: "challenging";
298
+ }>;
299
+ tripType: z.ZodEnum<{
300
+ one_way: "one_way";
301
+ out_and_back: "out_and_back";
302
+ loop: "loop";
303
+ }>;
304
+ metrics: z.ZodObject<{
305
+ distanceMeters: z.ZodNumber;
306
+ durationSeconds: z.ZodNumber;
307
+ elevationGainMeters: z.ZodNumber;
308
+ elevationLossMeters: z.ZodNumber;
309
+ }, z.core.$strip>;
310
+ previewCoordinates: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
311
+ steps: z.ZodArray<z.ZodObject<{
312
+ id: z.ZodString;
313
+ label: z.ZodRecord<z.ZodString, z.ZodObject<{
314
+ value: z.ZodString;
315
+ updatedAt: z.ZodCoercedDate<unknown>;
316
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
317
+ }, z.core.$loose>>;
318
+ description: z.ZodRecord<z.ZodString, z.ZodObject<{
319
+ value: z.ZodString;
320
+ updatedAt: z.ZodCoercedDate<unknown>;
321
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
322
+ }, z.core.$loose>>;
323
+ category: z.ZodOptional<z.ZodString>;
324
+ role: z.ZodEnum<{
325
+ shaping: "shaping";
326
+ stop: "stop";
327
+ detached: "detached";
328
+ }>;
329
+ point: z.ZodObject<{
330
+ lng: z.ZodNumber;
331
+ lat: z.ZodNumber;
332
+ ele: z.ZodOptional<z.ZodNumber>;
333
+ }, z.core.$strip>;
334
+ imageIds: z.ZodArray<z.ZodString>;
335
+ }, z.core.$strip>>;
336
+ }, z.core.$strip>>>;
337
+ }, z.core.$strip>;
338
+ export declare const storefrontItineraryDetailResponseSchema: z.ZodObject<{
339
+ success: z.ZodBoolean;
340
+ message: z.ZodOptional<z.ZodString>;
341
+ itinerary: z.ZodOptional<z.ZodObject<{
342
+ slug: z.ZodString;
343
+ title: z.ZodRecord<z.ZodString, z.ZodObject<{
344
+ value: z.ZodString;
345
+ updatedAt: z.ZodCoercedDate<unknown>;
346
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
347
+ }, z.core.$loose>>;
348
+ introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
349
+ value: z.ZodString;
350
+ updatedAt: z.ZodCoercedDate<unknown>;
351
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
352
+ }, z.core.$loose>>;
353
+ tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
354
+ value: z.ZodString;
355
+ updatedAt: z.ZodCoercedDate<unknown>;
356
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
357
+ }, z.core.$loose>>>;
358
+ coverImageId: z.ZodNullable<z.ZodString>;
359
+ difficulty: z.ZodEnum<{
360
+ easy: "easy";
361
+ moderate: "moderate";
362
+ challenging: "challenging";
363
+ }>;
364
+ tripType: z.ZodEnum<{
365
+ one_way: "one_way";
366
+ out_and_back: "out_and_back";
367
+ loop: "loop";
368
+ }>;
369
+ metrics: z.ZodObject<{
370
+ distanceMeters: z.ZodNumber;
371
+ durationSeconds: z.ZodNumber;
372
+ elevationGainMeters: z.ZodNumber;
373
+ elevationLossMeters: z.ZodNumber;
374
+ }, z.core.$strip>;
375
+ geometry: z.ZodObject<{
376
+ type: z.ZodLiteral<"LineString">;
377
+ coordinates: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
378
+ }, z.core.$strip>;
379
+ bounds: z.ZodNullable<z.ZodObject<{
380
+ west: z.ZodNumber;
381
+ south: z.ZodNumber;
382
+ east: z.ZodNumber;
383
+ north: z.ZodNumber;
384
+ }, z.core.$strip>>;
385
+ steps: z.ZodArray<z.ZodObject<{
386
+ id: z.ZodString;
387
+ label: z.ZodRecord<z.ZodString, z.ZodObject<{
388
+ value: z.ZodString;
389
+ updatedAt: z.ZodCoercedDate<unknown>;
390
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
391
+ }, z.core.$loose>>;
392
+ description: z.ZodRecord<z.ZodString, z.ZodObject<{
393
+ value: z.ZodString;
394
+ updatedAt: z.ZodCoercedDate<unknown>;
395
+ autoTranslated: z.ZodOptional<z.ZodBoolean>;
396
+ }, z.core.$loose>>;
397
+ category: z.ZodOptional<z.ZodString>;
398
+ role: z.ZodEnum<{
399
+ shaping: "shaping";
400
+ stop: "stop";
401
+ detached: "detached";
402
+ }>;
403
+ point: z.ZodObject<{
404
+ lng: z.ZodNumber;
405
+ lat: z.ZodNumber;
406
+ ele: z.ZodOptional<z.ZodNumber>;
407
+ }, z.core.$strip>;
408
+ imageIds: z.ZodArray<z.ZodString>;
409
+ }, z.core.$strip>>;
410
+ }, z.core.$strip>>;
411
+ }, z.core.$strip>;
412
+ export type StorefrontItineraryLocalizedString = z.infer<typeof storefrontItineraryLocalizedStringSchema>;
413
+ export type StorefrontItineraryCoordinate = z.infer<typeof storefrontItineraryCoordinateSchema>;
414
+ export type StorefrontItinerarySummary = z.infer<typeof storefrontItinerarySummarySchema>;
415
+ export type StorefrontItineraryPreview = z.infer<typeof storefrontItineraryPreviewSchema>;
416
+ export type StorefrontItineraryDetail = z.infer<typeof storefrontItineraryDetailSchema>;
417
+ export type StorefrontItineraryStep = z.infer<typeof storefrontItineraryStepSchema>;
418
+ //# sourceMappingURL=storefrontItineraries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storefrontItineraries.d.ts","sourceRoot":"","sources":["../../src/lib/storefrontItineraries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,eAAO,MAAM,wCAAwC;;;;kBAAoD,CAAA;AACzG,eAAO,MAAM,mCAAmC;;;;EAA8C,CAAA;AAC9F,eAAO,MAAM,iCAAiC;;;;EAA8C,CAAA;AAE5F,eAAO,MAAM,gCAAgC;;;;;iBAK3C,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;iBAK1C,CAAA;AAEF,eAAO,MAAM,mCAAmC,gIAG9C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS3C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;iBAYxC,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3C,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO1C,CAAA;AAEF,eAAO,MAAM,iCAAiC,4CAA4C,CAAA;AAC1F,eAAO,MAAM,qCAAqC,gDAAgD,CAAA;AAClG,eAAO,MAAM,iCAAiC,2CAA2C,CAAA;AAEzF,eAAO,MAAM,sCAAsC;;iBAA2C,CAAA;AAC9F,eAAO,MAAM,0CAA0C;;iBAA2C,CAAA;AAClG,eAAO,MAAM,sCAAsC;;;iBAGjD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIlD,CAAA;AACF,eAAO,MAAM,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAItD,CAAA;AACF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIlD,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wCAAwC,CAAC,CAAA;AACzG,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAC/F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AACvF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
@@ -0,0 +1,81 @@
1
+ import { z as e } from "zod";
2
+ //#region src/lib/storefrontItineraries.ts
3
+ var t = e.string().trim().regex(/^[a-f0-9]{24}$/i), n = e.string().trim().min(1).toLowerCase(), r = e.string().trim().min(1).max(160).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).toLowerCase(), i = e.object({
4
+ value: e.string(),
5
+ updatedAt: e.coerce.date(),
6
+ autoTranslated: e.boolean().optional()
7
+ }).passthrough(), a = e.record(e.string().min(2), i), o = e.enum([
8
+ "easy",
9
+ "moderate",
10
+ "challenging"
11
+ ]), s = e.enum([
12
+ "one_way",
13
+ "out_and_back",
14
+ "loop"
15
+ ]), c = e.object({
16
+ distanceMeters: e.number().finite().min(0),
17
+ durationSeconds: e.number().finite().min(0),
18
+ elevationGainMeters: e.number().finite().min(0),
19
+ elevationLossMeters: e.number().finite().min(0)
20
+ }), l = e.object({
21
+ west: e.number().finite().min(-180).max(180),
22
+ south: e.number().finite().min(-90).max(90),
23
+ east: e.number().finite().min(-180).max(180),
24
+ north: e.number().finite().min(-90).max(90)
25
+ }), u = e.union([e.tuple([e.number().finite(), e.number().finite()]), e.tuple([
26
+ e.number().finite(),
27
+ e.number().finite(),
28
+ e.number().finite()
29
+ ])]), d = e.object({
30
+ slug: r,
31
+ title: a,
32
+ introduction: a,
33
+ tags: e.array(a),
34
+ coverImageId: t.nullable(),
35
+ difficulty: o,
36
+ tripType: s,
37
+ metrics: c
38
+ }), f = e.object({
39
+ id: e.string().min(1),
40
+ label: a,
41
+ description: a,
42
+ category: e.string().optional(),
43
+ role: e.enum([
44
+ "shaping",
45
+ "stop",
46
+ "detached"
47
+ ]),
48
+ point: e.object({
49
+ lng: e.number().finite(),
50
+ lat: e.number().finite(),
51
+ ele: e.number().finite().optional()
52
+ }),
53
+ imageIds: e.array(t)
54
+ }), p = d.extend({
55
+ previewCoordinates: e.array(u).min(2),
56
+ steps: e.array(f)
57
+ }), m = d.extend({
58
+ geometry: e.object({
59
+ type: e.literal("LineString"),
60
+ coordinates: e.array(u)
61
+ }),
62
+ bounds: l.nullable(),
63
+ steps: e.array(f)
64
+ }), h = "/api/public/storefront/itineraries/list", g = "/api/public/storefront/itineraries/featured", _ = "/api/public/storefront/itineraries/get", v = e.object({ storeSlug: n }), y = e.object({ storeSlug: n }), b = e.object({
65
+ storeSlug: n,
66
+ itinerarySlug: r
67
+ }), x = e.object({
68
+ success: e.boolean(),
69
+ message: e.string().optional(),
70
+ itineraries: e.array(d).default([])
71
+ }), S = e.object({
72
+ success: e.boolean(),
73
+ message: e.string().optional(),
74
+ itineraries: e.array(p).max(4).default([])
75
+ }), C = e.object({
76
+ success: e.boolean(),
77
+ message: e.string().optional(),
78
+ itinerary: m.optional()
79
+ });
80
+ //#endregion
81
+ export { g as STOREFRONT_ITINERARIES_FEATURED_ROUTE, h as STOREFRONT_ITINERARIES_LIST_ROUTE, _ as STOREFRONT_ITINERARY_DETAIL_ROUTE, y as storefrontItinerariesFeaturedRequestSchema, S as storefrontItinerariesFeaturedResponseSchema, v as storefrontItinerariesListRequestSchema, x as storefrontItinerariesListResponseSchema, l as storefrontItineraryBoundsSchema, u as storefrontItineraryCoordinateSchema, b as storefrontItineraryDetailRequestSchema, C as storefrontItineraryDetailResponseSchema, m as storefrontItineraryDetailSchema, o as storefrontItineraryDifficultySchema, a as storefrontItineraryLocalizedStringSchema, c as storefrontItineraryMetricsSchema, p as storefrontItineraryPreviewSchema, f as storefrontItineraryStepSchema, d as storefrontItinerarySummarySchema, s as storefrontItineraryTripTypeSchema };
@@ -6,10 +6,10 @@ import { buildStorefrontCartSummary as ne } from "../lib/cartSummary.js";
6
6
  import { ROUTE as re, buildStorefrontAvailabilityKey as c, getStorefrontAvailabilityIssue as ie, getStorefrontAvailabilityStatus as l, getValidStorefrontAvailabilitySchedule as u, isStorefrontAvailabilityInsufficient as ae, responseSchema as oe } from "../lib/storefrontAvailability.js";
7
7
  import { Badge as se } from "../ui/badge.js";
8
8
  import { Button as ce } from "../ui/button.js";
9
- import { toast as le } from "../lib/toast.js";
10
- import { BookingPeriodSelector as ue } from "../components/BookingPeriodSelector/index.js";
11
- import { BookingFlowSteps as de } from "../components/BookingFlowSteps/index.js";
12
- import { useStorefront as fe, useStorefrontBookingProducts as pe, useStorefrontProducts as me } from "../StorefrontContext.js";
9
+ import { useStorefront as le, useStorefrontBookingProducts as ue, useStorefrontProducts as de } from "../StorefrontContext.js";
10
+ import { toast as fe } from "../lib/toast.js";
11
+ import { BookingPeriodSelector as pe } from "../components/BookingPeriodSelector/index.js";
12
+ import { BookingFlowSteps as me } from "../components/BookingFlowSteps/index.js";
13
13
  import { StepSectionTitle as d } from "../components/StepSectionTitle/index.js";
14
14
  import { Card as he } from "../ui/card.js";
15
15
  import { ProductWarningNotice as ge } from "../components/ProductWarningNotice/index.js";
@@ -72,7 +72,7 @@ var v = (e) => String(e).padStart(2, "0"), y = "product_modal", Ie = (e, t) => {
72
72
  return Array.from(t.values());
73
73
  };
74
74
  function S() {
75
- let { t: v, i18n: S } = Ae(), { storeSlug: C } = Oe(), w = De(), We = Ee(null), { storefrontConfiguration: T } = fe(), E = T.workspace?.workspaceLanguage, { bikes: Ge, accessories: Ke } = me(), { bikes: D, accessories: O } = pe(), [k, A] = ke(), { items: qe, itemCount: j, addItem: Je, removeItem: Ye, setQuantity: Xe } = te();
75
+ let { t: v, i18n: S } = Ae(), { storeSlug: C } = Oe(), w = De(), We = Ee(null), { storefrontConfiguration: T } = le(), E = T.workspace?.workspaceLanguage, { bikes: Ge, accessories: Ke } = de(), { bikes: D, accessories: O } = ue(), [k, A] = ke(), { items: qe, itemCount: j, addItem: Je, removeItem: Ye, setQuantity: Xe } = te();
76
76
  Te(() => {
77
77
  w.hash === "#booking-products" && We.current?.scrollIntoView({ block: "start" });
78
78
  }, [w.hash]);
@@ -298,7 +298,7 @@ function S() {
298
298
  productId: s(e),
299
299
  ...t ? { productVariantId: t } : {},
300
300
  quantity: r
301
- }), le.success(v("product_added_to_cart_successfully", {
301
+ }), fe.success(v("product_added_to_cart_successfully", {
302
302
  quantity: r,
303
303
  productName: ee({
304
304
  product: e,
@@ -324,7 +324,7 @@ function S() {
324
324
  children: [/* @__PURE__ */ g("div", {
325
325
  className: "flex flex-col gap-4",
326
326
  children: [
327
- /* @__PURE__ */ h(de, {
327
+ /* @__PURE__ */ h(me, {
328
328
  currentStep: "booking",
329
329
  bookingPath: _t,
330
330
  checkoutPath: Y,
@@ -366,7 +366,7 @@ function S() {
366
366
  stepNumber: 1,
367
367
  title: v("booking_summary_title")
368
368
  }),
369
- /* @__PURE__ */ h(ue, {
369
+ /* @__PURE__ */ h(pe, {
370
370
  ...ft,
371
371
  className: "gap-3",
372
372
  labelClassName: "text-xs font-medium text-slate-700",
@@ -5,9 +5,9 @@ import { ROUTE as re, responseSchema as ie } from "../lib/checkoutPaymentDecisio
5
5
  import { ROUTE as ae, responseSchema as oe } from "../lib/checkoutSubmit.js";
6
6
  import { ROUTE as se, buildStorefrontAvailabilityKey as ce, getStorefrontAvailabilityIssue as le, getValidStorefrontAvailabilitySchedule as ue, responseSchema as de } from "../lib/storefrontAvailability.js";
7
7
  import { Button as fe } from "../ui/button.js";
8
+ import { useStorefront as pe, useStorefrontProducts as me } from "../StorefrontContext.js";
8
9
  import { toast as a } from "../lib/toast.js";
9
- import { BookingFlowSteps as pe } from "../components/BookingFlowSteps/index.js";
10
- import { useStorefront as me, useStorefrontProducts as he } from "../StorefrontContext.js";
10
+ import { BookingFlowSteps as he } from "../components/BookingFlowSteps/index.js";
11
11
  import { apiPost as o } from "../lib/apiCall.js";
12
12
  import { FulfillmentSection as ge } from "../components/FulfillmentSection/index.js";
13
13
  import { ROUTE as _e, responseSchema as ve } from "../lib/checkoutVerifyCoupon.js";
@@ -56,7 +56,7 @@ var Ne = .2, Pe = (e) => e <= 0 ? 1 : Math.max(1, Math.ceil(e / 1440)), f = (e,
56
56
  return new Intl.DateTimeFormat(t, r).format(e);
57
57
  };
58
58
  function p() {
59
- let { t: p, i18n: m } = ke(), { storefrontConfiguration: h } = me(), Le = h.workspace?.workspaceLanguage, { bikes: g, accessories: Re } = he(), { storeSlug: _ } = De(), [v, ze] = Oe(), Be = Ee(), { items: Ve, itemCount: He, checkoutSessionId: y, setQuantity: Ue, removeItem: We, ensureCheckoutSessionId: Ge, clearCheckoutSession: Ke, clear: qe } = te(), [b, Je] = l(!1), Ye = we(!1), [x, S] = l(null), [Xe, Ze] = l(!1), [Qe, C] = l(null), $e = v.get("coupon") ?? v.get("code") ?? "", [et, w] = l($e), [tt, nt] = l($e.trim()), [T, E] = l(null), [D, O] = l(null), [k, A] = l(!1), [rt, j] = l(null), [it, M] = l(null), [N, at] = l(!1), [P, ot] = l(!1), st = c(() => i(v, _), [v, _]), F = h.settings.fulfillmentModes.includes("delivery"), ct = h.settings.deliveryDisabledReason.trim(), lt = F || ct.length > 0, ut = h.shop.address?.trim() ?? "", I = c(() => {
59
+ let { t: p, i18n: m } = ke(), { storefrontConfiguration: h } = pe(), Le = h.workspace?.workspaceLanguage, { bikes: g, accessories: Re } = me(), { storeSlug: _ } = De(), [v, ze] = Oe(), Be = Ee(), { items: Ve, itemCount: He, checkoutSessionId: y, setQuantity: Ue, removeItem: We, ensureCheckoutSessionId: Ge, clearCheckoutSession: Ke, clear: qe } = te(), [b, Je] = l(!1), Ye = we(!1), [x, S] = l(null), [Xe, Ze] = l(!1), [Qe, C] = l(null), $e = v.get("coupon") ?? v.get("code") ?? "", [et, w] = l($e), [tt, nt] = l($e.trim()), [T, E] = l(null), [D, O] = l(null), [k, A] = l(!1), [rt, j] = l(null), [it, M] = l(null), [N, at] = l(!1), [P, ot] = l(!1), st = c(() => i(v, _), [v, _]), F = h.settings.fulfillmentModes.includes("delivery"), ct = h.settings.deliveryDisabledReason.trim(), lt = F || ct.length > 0, ut = h.shop.address?.trim() ?? "", I = c(() => {
60
60
  let e = r(st, {
61
61
  start_time: "",
62
62
  end_time: ""
@@ -354,7 +354,7 @@ function p() {
354
354
  children: /* @__PURE__ */ d("div", {
355
355
  className: "flex flex-col gap-6",
356
356
  children: [
357
- /* @__PURE__ */ u(pe, {
357
+ /* @__PURE__ */ u(he, {
358
358
  currentStep: "checkout",
359
359
  bookingPath: xt,
360
360
  checkoutPath: St
@@ -1 +1 @@
1
- {"version":3,"file":"HomePage.d.ts","sourceRoot":"","sources":["../../src/pages/HomePage.tsx"],"names":[],"mappings":"AA0IA,MAAM,CAAC,OAAO,UAAU,QAAQ,4CA8uB/B"}
1
+ {"version":3,"file":"HomePage.d.ts","sourceRoot":"","sources":["../../src/pages/HomePage.tsx"],"names":[],"mappings":"AA2IA,MAAM,CAAC,OAAO,UAAU,QAAQ,4CAgvB/B"}