@loczer/storefront-sdk 0.211.0 → 0.213.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.
- package/dist/components/BikeProductCard/index.d.ts.map +1 -1
- package/dist/components/BikeProductCard/index.js +5 -5
- package/dist/components/BookingBikeVariantDialog/index.d.ts.map +1 -1
- package/dist/components/BookingBikeVariantDialog/index.js +5 -4
- package/dist/components/BookingFlowSteps/index.d.ts.map +1 -1
- package/dist/components/BookingFlowSteps/index.js +73 -32
- package/dist/components/BookingPeriodSelector/components/BookingEndDateField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingEndTimeField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingMobileDateDrawer.js +16 -16
- package/dist/components/BookingPeriodSelector/components/BookingStartDateField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingStartTimeField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/internal/StorefrontHourPickerField.js +2 -2
- package/dist/components/BookingPeriodSelector/index.js +3 -3
- package/dist/components/FulfillmentSection/index.js +10 -4
- package/dist/components/Header/index.d.ts.map +1 -1
- package/dist/components/Header/index.js +205 -100
- package/dist/components/Layout/index.js +2 -2
- package/dist/components/ProductPriceBadge/index.js +16 -10
- package/dist/i18n/en.d.ts +7 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +7 -1
- package/dist/i18n/fr.d.ts +7 -1
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +7 -1
- package/dist/index.d.ts +24 -4
- package/dist/lib/cart.d.ts +6 -2
- package/dist/lib/cart.d.ts.map +1 -1
- package/dist/lib/cart.js +45 -23
- package/dist/lib/checkoutSubmit.d.ts +3 -0
- package/dist/lib/checkoutSubmit.d.ts.map +1 -1
- package/dist/lib/checkoutSubmit.js +14 -2
- package/dist/pages/BookingPage.d.ts.map +1 -1
- package/dist/pages/BookingPage.js +7 -2
- package/dist/pages/CheckoutPage.d.ts.map +1 -1
- package/dist/pages/CheckoutPage.js +235 -245
- package/dist/pages/HomePage.d.ts.map +1 -1
- package/dist/pages/HomePage.js +252 -235
- package/dist/storefront.css +1 -1
- package/package.json +1 -1
|
@@ -3,180 +3,285 @@ import { getLocalizedValue as t } from "../../localization.js";
|
|
|
3
3
|
import { useStorefrontCart as n } from "../../lib/cart.js";
|
|
4
4
|
import { buildStorefrontImageUrl as r } from "../../lib/storefrontImage.js";
|
|
5
5
|
import i from "../../chunks/assets/whatsapp-m5e0vjnZ.js";
|
|
6
|
-
import { MISSING_SHOP_EMAIL as
|
|
7
|
-
import { formatStorefrontAddressTagline as
|
|
8
|
-
import { Badge as
|
|
9
|
-
import { Button as
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
6
|
+
import { MISSING_SHOP_EMAIL as ee } from "../../lib/storefrontMissingValues.js";
|
|
7
|
+
import { formatStorefrontAddressTagline as a } from "../../lib/storefrontAddress.js";
|
|
8
|
+
import { Badge as o } from "../../ui/badge.js";
|
|
9
|
+
import { Button as s } from "../../ui/button.js";
|
|
10
|
+
import { Drawer as te, DrawerClose as c, DrawerContent as ne, DrawerDescription as re, DrawerHeader as ie, DrawerTitle as ae, DrawerTrigger as oe } from "../../ui/drawer.js";
|
|
11
|
+
import { useOptionalStorefront as se } from "../../StorefrontContext.js";
|
|
12
|
+
import { useState as ce } from "react";
|
|
13
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
14
|
+
import { useMediaQuery as d, useThrottledMeasure as f } from "@rpcbase/client";
|
|
15
|
+
import { Link as p, useLocation as m, useParams as h } from "@rpcbase/router";
|
|
16
|
+
import { useTranslation as g } from "react-i18next";
|
|
17
|
+
import { cn as _, useScrollHideOnDown as le } from "@rpcbase/ui";
|
|
18
|
+
import { ArrowRight as v, Menu as ue, ShoppingCart as de } from "lucide-react";
|
|
17
19
|
//#region src/components/Header/index.tsx
|
|
18
|
-
var
|
|
20
|
+
var fe = 36, y = (e, t) => {
|
|
19
21
|
let n = e?.trim() ?? "";
|
|
20
22
|
return n ? r(n, t ?? "") : "";
|
|
21
23
|
};
|
|
22
|
-
function
|
|
23
|
-
let { t:
|
|
24
|
-
enabled:
|
|
25
|
-
thresholdPx:
|
|
26
|
-
}),
|
|
27
|
-
let e =
|
|
28
|
-
|
|
29
|
-
},
|
|
30
|
-
|
|
24
|
+
function b({ storefrontConfiguration: r, whatsappHref: b, whatsappPhoneDisplay: x }) {
|
|
25
|
+
let { t: S, i18n: C } = g(), w = se(), { storeSlug: T } = h(), E = m(), { itemCount: D } = n(), O = d("(max-width: 640px)"), [k, A] = ce(!1), [j, M] = f(), N = M?.height ?? fe, P = le({
|
|
26
|
+
enabled: O,
|
|
27
|
+
thresholdPx: N
|
|
28
|
+
}), F = O && P ? `translateY(-${N}px)` : "translateY(0)", I = () => {
|
|
29
|
+
let e = C.language.startsWith("fr") ? "en" : "fr";
|
|
30
|
+
C.changeLanguage(e);
|
|
31
|
+
}, L = `/${T ?? ""}`, R = e(new URLSearchParams(E.search), T), z = R.toString(), B = !!(R.get("start_time")?.trim() && R.get("end_time")?.trim()), V = z ? `?${z}` : "", H = `${L}/booking${V}`, pe = `${L}/checkout${V}`, U = r?.shop.name?.trim() ?? "", W = r?.shop.emailAddress?.trim() ?? "", G = r?.workspace?.workspaceLanguage, K = t(r?.content?.tagline, C.language, G).trim(), q = a(r?.shop), J = K || q || "[Missing shop address]", Y = !K && !q, me = t(r?.content?.topBannerMessage, C.language, G).trim() || S("top_bar_message"), X = y(r?.content?.logoWideImageId, T), Z = y(r?.shop.logoImageId ?? r?.content?.logoSquareImageId, T), Q = X.length > 0, $ = Z.length > 0, he = [
|
|
32
|
+
{
|
|
33
|
+
label: S("nav_categories"),
|
|
34
|
+
to: `${L}${V}#categories`
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
label: S("nav_featured"),
|
|
38
|
+
to: `${L}${V}#featured`
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
label: S("nav_products"),
|
|
42
|
+
to: H
|
|
43
|
+
},
|
|
44
|
+
...(w?.itineraries.length ?? 0) > 0 ? [{
|
|
45
|
+
label: S("nav_itineraries"),
|
|
46
|
+
to: `${L}/itineraries`
|
|
47
|
+
}] : [],
|
|
48
|
+
{
|
|
49
|
+
label: S("nav_contact"),
|
|
50
|
+
to: `${L}${V}#contact`
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
return /* @__PURE__ */ u("div", {
|
|
31
54
|
className: "sticky top-0 z-30",
|
|
32
|
-
children: [/* @__PURE__ */
|
|
55
|
+
children: [/* @__PURE__ */ l("div", {
|
|
33
56
|
className: "transition-transform duration-300",
|
|
34
|
-
style: { transform:
|
|
35
|
-
children: /* @__PURE__ */
|
|
36
|
-
ref:
|
|
57
|
+
style: { transform: F },
|
|
58
|
+
children: /* @__PURE__ */ l("div", {
|
|
59
|
+
ref: j,
|
|
37
60
|
className: "bg-slate-950 text-white",
|
|
38
|
-
children: /* @__PURE__ */
|
|
39
|
-
className: "mx-auto flex max-w-7xl items-center justify-
|
|
40
|
-
children: [/* @__PURE__ */
|
|
41
|
-
className: "
|
|
42
|
-
children: /* @__PURE__ */
|
|
43
|
-
}), /* @__PURE__ */
|
|
61
|
+
children: /* @__PURE__ */ u("div", {
|
|
62
|
+
className: "mx-auto flex max-w-7xl items-center justify-start gap-3 px-4 py-2 text-left text-xs leading-4 sm:justify-between sm:px-6",
|
|
63
|
+
children: [/* @__PURE__ */ l("p", {
|
|
64
|
+
className: "w-full min-w-0 break-words sm:w-auto",
|
|
65
|
+
children: /* @__PURE__ */ l("span", { children: me })
|
|
66
|
+
}), /* @__PURE__ */ u("div", {
|
|
44
67
|
className: "hidden items-center gap-4 sm:flex",
|
|
45
|
-
children: [
|
|
68
|
+
children: [b ? /* @__PURE__ */ u("a", {
|
|
46
69
|
className: "inline-flex items-center gap-2 rounded-md px-2 py-1 text-white/90 hover:bg-white/10 hover:text-white",
|
|
47
|
-
href:
|
|
70
|
+
href: b,
|
|
48
71
|
target: "_blank",
|
|
49
72
|
rel: "noreferrer",
|
|
50
|
-
"aria-label": `WhatsApp${
|
|
51
|
-
children: [/* @__PURE__ */
|
|
73
|
+
"aria-label": `WhatsApp${x ? ` ${x}` : ""}`,
|
|
74
|
+
children: [/* @__PURE__ */ l("img", {
|
|
52
75
|
src: i,
|
|
53
76
|
className: "h-5 w-5 shrink-0",
|
|
54
77
|
alt: "",
|
|
55
78
|
"aria-hidden": "true"
|
|
56
|
-
}),
|
|
57
|
-
}) : null,
|
|
79
|
+
}), x ? /* @__PURE__ */ l("span", { children: x }) : null]
|
|
80
|
+
}) : null, W ? /* @__PURE__ */ l("a", {
|
|
58
81
|
className: "inline-flex items-center gap-2 rounded-md px-2 py-1 text-white/90 hover:bg-white/10 hover:text-white",
|
|
59
|
-
href: `mailto:${
|
|
60
|
-
"aria-label":
|
|
61
|
-
children: /* @__PURE__ */
|
|
62
|
-
}) : /* @__PURE__ */
|
|
82
|
+
href: `mailto:${W}`,
|
|
83
|
+
"aria-label": W,
|
|
84
|
+
children: /* @__PURE__ */ l("span", { children: W })
|
|
85
|
+
}) : /* @__PURE__ */ l("span", {
|
|
63
86
|
className: "inline-flex items-center rounded-md px-2 py-1 text-destructive",
|
|
64
|
-
children:
|
|
87
|
+
children: ee
|
|
65
88
|
})]
|
|
66
89
|
})]
|
|
67
90
|
})
|
|
68
91
|
})
|
|
69
|
-
}), /* @__PURE__ */
|
|
92
|
+
}), /* @__PURE__ */ l("header", {
|
|
70
93
|
className: "sticky top-0 z-30 border-b bg-white/90 backdrop-blur transition-transform duration-300",
|
|
71
|
-
style: { transform:
|
|
72
|
-
children: /* @__PURE__ */
|
|
73
|
-
className: "mx-auto flex max-w-7xl items-center
|
|
94
|
+
style: { transform: F },
|
|
95
|
+
children: /* @__PURE__ */ u("div", {
|
|
96
|
+
className: "mx-auto flex max-w-7xl min-w-0 items-center gap-2 px-4 py-3 sm:gap-4 sm:px-6",
|
|
74
97
|
children: [
|
|
75
|
-
/* @__PURE__ */
|
|
76
|
-
to:
|
|
77
|
-
className: "flex min-w-0 items-center gap-3",
|
|
78
|
-
children: [$ ? /* @__PURE__ */
|
|
98
|
+
/* @__PURE__ */ u(p, {
|
|
99
|
+
to: L,
|
|
100
|
+
className: "flex min-w-0 flex-1 items-center gap-2 sm:gap-3",
|
|
101
|
+
children: [$ ? /* @__PURE__ */ l("span", {
|
|
79
102
|
className: "inline-flex h-9 w-9 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-slate-200 bg-white",
|
|
80
|
-
children: /* @__PURE__ */
|
|
103
|
+
children: /* @__PURE__ */ l("img", {
|
|
81
104
|
src: Z,
|
|
82
105
|
alt: "",
|
|
83
106
|
className: "h-full w-full object-contain",
|
|
84
107
|
"aria-hidden": "true"
|
|
85
108
|
})
|
|
86
|
-
}) : Q ? null : /* @__PURE__ */
|
|
109
|
+
}) : Q ? null : /* @__PURE__ */ l("span", {
|
|
87
110
|
className: "inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border-2 border-dashed border-slate-300 bg-slate-50 text-slate-400",
|
|
88
|
-
children: /* @__PURE__ */
|
|
111
|
+
children: /* @__PURE__ */ l("span", {
|
|
89
112
|
className: "text-lg font-semibold leading-none",
|
|
90
113
|
"aria-hidden": "true",
|
|
91
114
|
children: "?"
|
|
92
115
|
})
|
|
93
|
-
}), /* @__PURE__ */
|
|
116
|
+
}), /* @__PURE__ */ u("span", {
|
|
94
117
|
className: "flex min-w-0 flex-col leading-tight",
|
|
95
|
-
children: [Q && !$ ? /* @__PURE__ */
|
|
118
|
+
children: [Q && !$ ? /* @__PURE__ */ l("img", {
|
|
96
119
|
src: X,
|
|
97
|
-
alt:
|
|
120
|
+
alt: U,
|
|
98
121
|
className: "h-8 max-w-[10rem] object-contain object-left sm:max-w-[14rem]"
|
|
99
|
-
}) : /* @__PURE__ */
|
|
122
|
+
}) : /* @__PURE__ */ l("span", {
|
|
100
123
|
className: "truncate text-sm font-semibold",
|
|
101
|
-
children:
|
|
102
|
-
}), /* @__PURE__ */
|
|
103
|
-
className:
|
|
104
|
-
children:
|
|
124
|
+
children: U
|
|
125
|
+
}), /* @__PURE__ */ l("span", {
|
|
126
|
+
className: _("truncate text-xs text-slate-600", Y && "text-destructive"),
|
|
127
|
+
children: J
|
|
105
128
|
})]
|
|
106
129
|
})]
|
|
107
130
|
}),
|
|
108
|
-
/* @__PURE__ */
|
|
131
|
+
/* @__PURE__ */ u("nav", {
|
|
109
132
|
className: "hidden items-center gap-6 text-sm font-medium text-slate-700 md:flex",
|
|
110
133
|
children: [
|
|
111
|
-
/* @__PURE__ */
|
|
134
|
+
/* @__PURE__ */ l(p, {
|
|
112
135
|
className: "hover:text-slate-950",
|
|
113
|
-
to: `${
|
|
114
|
-
children: /* @__PURE__ */
|
|
136
|
+
to: `${L}${V}#categories`,
|
|
137
|
+
children: /* @__PURE__ */ l("span", { children: S("nav_categories") })
|
|
115
138
|
}),
|
|
116
|
-
/* @__PURE__ */
|
|
139
|
+
/* @__PURE__ */ l(p, {
|
|
117
140
|
className: "hover:text-slate-950",
|
|
118
|
-
to: `${
|
|
119
|
-
children: /* @__PURE__ */
|
|
141
|
+
to: `${L}${V}#featured`,
|
|
142
|
+
children: /* @__PURE__ */ l("span", { children: S("nav_featured") })
|
|
120
143
|
}),
|
|
121
|
-
/* @__PURE__ */
|
|
144
|
+
/* @__PURE__ */ l(p, {
|
|
122
145
|
className: "hover:text-slate-950",
|
|
123
|
-
to:
|
|
124
|
-
children: /* @__PURE__ */
|
|
146
|
+
to: H,
|
|
147
|
+
children: /* @__PURE__ */ l("span", { children: S("nav_products") })
|
|
125
148
|
}),
|
|
126
|
-
(
|
|
149
|
+
(w?.itineraries.length ?? 0) > 0 ? /* @__PURE__ */ l(p, {
|
|
127
150
|
className: "hover:text-slate-950",
|
|
128
|
-
to: `${
|
|
129
|
-
children: /* @__PURE__ */
|
|
151
|
+
to: `${L}/itineraries`,
|
|
152
|
+
children: /* @__PURE__ */ l("span", { children: S("nav_itineraries") })
|
|
130
153
|
}) : null,
|
|
131
|
-
/* @__PURE__ */
|
|
154
|
+
/* @__PURE__ */ l(p, {
|
|
132
155
|
className: "hover:text-slate-950",
|
|
133
|
-
to: `${
|
|
134
|
-
children: /* @__PURE__ */
|
|
156
|
+
to: `${L}${V}#contact`,
|
|
157
|
+
children: /* @__PURE__ */ l("span", { children: S("nav_contact") })
|
|
135
158
|
})
|
|
136
159
|
]
|
|
137
160
|
}),
|
|
138
|
-
/* @__PURE__ */
|
|
139
|
-
className: "flex items-center gap-2",
|
|
161
|
+
/* @__PURE__ */ u("div", {
|
|
162
|
+
className: "flex shrink-0 items-center gap-1.5 sm:gap-2",
|
|
140
163
|
children: [
|
|
141
|
-
/* @__PURE__ */
|
|
164
|
+
/* @__PURE__ */ l(s, {
|
|
142
165
|
variant: "outline",
|
|
143
166
|
size: "sm",
|
|
144
167
|
className: "hidden sm:inline-flex",
|
|
145
|
-
onClick:
|
|
146
|
-
children: /* @__PURE__ */
|
|
168
|
+
onClick: I,
|
|
169
|
+
children: /* @__PURE__ */ l("span", { children: S("language_toggle") })
|
|
147
170
|
}),
|
|
148
|
-
/* @__PURE__ */
|
|
171
|
+
/* @__PURE__ */ l(s, {
|
|
149
172
|
asChild: !0,
|
|
150
173
|
variant: "outline",
|
|
151
174
|
size: "sm",
|
|
152
|
-
className:
|
|
153
|
-
children: /* @__PURE__ */
|
|
154
|
-
to:
|
|
155
|
-
|
|
175
|
+
className: _("relative h-9 w-9 gap-2 px-0 sm:w-auto sm:px-3", D > 0 && B ? "inline-flex" : "hidden"),
|
|
176
|
+
children: /* @__PURE__ */ u(p, {
|
|
177
|
+
to: pe,
|
|
178
|
+
"aria-label": `${S("cart_button")} (${D})`,
|
|
156
179
|
children: [
|
|
157
|
-
/* @__PURE__ */
|
|
180
|
+
/* @__PURE__ */ l(de, {
|
|
158
181
|
className: "h-4 w-4",
|
|
159
182
|
"aria-hidden": "true"
|
|
160
183
|
}),
|
|
161
|
-
/* @__PURE__ */
|
|
162
|
-
|
|
184
|
+
/* @__PURE__ */ l("span", {
|
|
185
|
+
className: "hidden sm:inline",
|
|
186
|
+
children: S("cart_button")
|
|
187
|
+
}),
|
|
188
|
+
/* @__PURE__ */ l(o, {
|
|
163
189
|
className: "absolute -right-2 -top-2 h-5 min-w-5 rounded-full px-1.5 text-xs",
|
|
164
|
-
children: /* @__PURE__ */
|
|
190
|
+
children: /* @__PURE__ */ l("span", { children: D })
|
|
165
191
|
})
|
|
166
192
|
]
|
|
167
193
|
})
|
|
168
194
|
}),
|
|
169
|
-
/* @__PURE__ */
|
|
195
|
+
/* @__PURE__ */ l(s, {
|
|
170
196
|
asChild: !0,
|
|
171
197
|
size: "sm",
|
|
172
|
-
className: "gap-2",
|
|
173
|
-
children: /* @__PURE__ */
|
|
174
|
-
to:
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
"
|
|
178
|
-
|
|
198
|
+
className: "h-9 gap-1.5 px-2 sm:gap-2 sm:px-3",
|
|
199
|
+
children: /* @__PURE__ */ u(p, {
|
|
200
|
+
to: H,
|
|
201
|
+
"aria-label": S("cta_book_now"),
|
|
202
|
+
children: [
|
|
203
|
+
/* @__PURE__ */ l("span", {
|
|
204
|
+
className: "sm:hidden",
|
|
205
|
+
children: S("cta_book_short")
|
|
206
|
+
}),
|
|
207
|
+
/* @__PURE__ */ l("span", {
|
|
208
|
+
className: "hidden sm:inline",
|
|
209
|
+
children: S("cta_book_now")
|
|
210
|
+
}),
|
|
211
|
+
/* @__PURE__ */ l(v, {
|
|
212
|
+
className: "h-4 w-4",
|
|
213
|
+
"aria-hidden": "true"
|
|
214
|
+
})
|
|
215
|
+
]
|
|
179
216
|
})
|
|
217
|
+
}),
|
|
218
|
+
/* @__PURE__ */ u(te, {
|
|
219
|
+
open: k,
|
|
220
|
+
onOpenChange: A,
|
|
221
|
+
direction: "right",
|
|
222
|
+
children: [/* @__PURE__ */ l(oe, {
|
|
223
|
+
asChild: !0,
|
|
224
|
+
children: /* @__PURE__ */ l(s, {
|
|
225
|
+
type: "button",
|
|
226
|
+
variant: "outline",
|
|
227
|
+
size: "icon",
|
|
228
|
+
className: "h-9 w-9 md:hidden",
|
|
229
|
+
"aria-label": S("mobile_menu_open"),
|
|
230
|
+
children: /* @__PURE__ */ l(ue, {
|
|
231
|
+
className: "h-4 w-4",
|
|
232
|
+
"aria-hidden": "true"
|
|
233
|
+
})
|
|
234
|
+
})
|
|
235
|
+
}), /* @__PURE__ */ u(ne, {
|
|
236
|
+
className: "w-[min(22rem,calc(100vw-1.5rem))] bg-white",
|
|
237
|
+
"aria-label": S("mobile_menu_label"),
|
|
238
|
+
closeLabel: S("mobile_menu_close"),
|
|
239
|
+
showCloseButton: !0,
|
|
240
|
+
children: [
|
|
241
|
+
/* @__PURE__ */ u(ie, {
|
|
242
|
+
className: "border-b border-slate-200 px-5 pb-4 pt-6 text-left",
|
|
243
|
+
children: [/* @__PURE__ */ l(ae, { children: U }), /* @__PURE__ */ l(re, {
|
|
244
|
+
className: "break-words",
|
|
245
|
+
children: J
|
|
246
|
+
})]
|
|
247
|
+
}),
|
|
248
|
+
/* @__PURE__ */ l("nav", {
|
|
249
|
+
className: "grid gap-1 overflow-y-auto p-3",
|
|
250
|
+
"aria-label": S("mobile_menu_label"),
|
|
251
|
+
children: he.map((e) => /* @__PURE__ */ l(c, {
|
|
252
|
+
asChild: !0,
|
|
253
|
+
children: /* @__PURE__ */ l(p, {
|
|
254
|
+
to: e.to,
|
|
255
|
+
className: "flex min-h-11 items-center rounded-lg px-3 py-2 text-sm font-medium text-slate-700 transition-colors hover:bg-slate-100 hover:text-slate-950",
|
|
256
|
+
children: e.label
|
|
257
|
+
})
|
|
258
|
+
}, `${e.to}-${e.label}`))
|
|
259
|
+
}),
|
|
260
|
+
/* @__PURE__ */ u("div", {
|
|
261
|
+
className: "mt-auto grid gap-3 border-t border-slate-200 p-4",
|
|
262
|
+
children: [/* @__PURE__ */ l(c, {
|
|
263
|
+
asChild: !0,
|
|
264
|
+
children: /* @__PURE__ */ l(s, {
|
|
265
|
+
asChild: !0,
|
|
266
|
+
className: "w-full gap-2",
|
|
267
|
+
children: /* @__PURE__ */ u(p, {
|
|
268
|
+
to: H,
|
|
269
|
+
children: [/* @__PURE__ */ l("span", { children: S("cta_book_now") }), /* @__PURE__ */ l(v, {
|
|
270
|
+
className: "h-4 w-4",
|
|
271
|
+
"aria-hidden": "true"
|
|
272
|
+
})]
|
|
273
|
+
})
|
|
274
|
+
})
|
|
275
|
+
}), /* @__PURE__ */ l(s, {
|
|
276
|
+
type: "button",
|
|
277
|
+
variant: "outline",
|
|
278
|
+
className: "w-full",
|
|
279
|
+
onClick: I,
|
|
280
|
+
children: /* @__PURE__ */ l("span", { children: S("language_toggle") })
|
|
281
|
+
})]
|
|
282
|
+
})
|
|
283
|
+
]
|
|
284
|
+
})]
|
|
180
285
|
})
|
|
181
286
|
]
|
|
182
287
|
})
|
|
@@ -186,4 +291,4 @@ function S({ storefrontConfiguration: r, whatsappHref: S, whatsappPhoneDisplay:
|
|
|
186
291
|
});
|
|
187
292
|
}
|
|
188
293
|
//#endregion
|
|
189
|
-
export {
|
|
294
|
+
export { b as Header };
|
|
@@ -34,7 +34,7 @@ function b({ storefrontConfiguration: b, storefrontProducts: x }) {
|
|
|
34
34
|
storeSlug: S ?? "",
|
|
35
35
|
products: x,
|
|
36
36
|
children: /* @__PURE__ */ f("div", {
|
|
37
|
-
className: `loczer-storefront flex flex-col bg-background text-foreground ${O && !k ? "h-dvh overflow-hidden" : "min-h-screen"}`,
|
|
37
|
+
className: `loczer-storefront flex w-full min-w-0 flex-col overflow-x-clip bg-background text-foreground ${O && !k ? "h-dvh overflow-hidden" : "min-h-screen"}`,
|
|
38
38
|
children: O ? /* @__PURE__ */ f("main", {
|
|
39
39
|
className: `flex-1 ${k ? "bg-white" : "overflow-hidden"}`,
|
|
40
40
|
children: /* @__PURE__ */ f(h, {})
|
|
@@ -45,7 +45,7 @@ function b({ storefrontConfiguration: b, storefrontProducts: x }) {
|
|
|
45
45
|
whatsappPhoneDisplay: E?.phoneDisplay
|
|
46
46
|
}),
|
|
47
47
|
/* @__PURE__ */ f("main", {
|
|
48
|
-
className: "flex-1",
|
|
48
|
+
className: "min-w-0 flex-1",
|
|
49
49
|
children: /* @__PURE__ */ f(h, {})
|
|
50
50
|
}),
|
|
51
51
|
/* @__PURE__ */ f(n, {
|
|
@@ -65,24 +65,30 @@ var le = 180, h = "(max-width: 767px)", g = "loczer:storefront:product-price-pop
|
|
|
65
65
|
j(!1);
|
|
66
66
|
}, [D]), !V) return typeof b == "number" ? /* @__PURE__ */ l(i, {
|
|
67
67
|
variant: "outline",
|
|
68
|
-
className: f("border-slate-200 bg-white text-slate-700", x),
|
|
69
|
-
children: /* @__PURE__ */ l("span", {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
className: f("min-w-0 max-w-full border-slate-200 bg-white text-slate-700", x),
|
|
69
|
+
children: /* @__PURE__ */ l("span", {
|
|
70
|
+
className: "truncate",
|
|
71
|
+
children: C("price_from", {
|
|
72
|
+
price: n(b, w.language),
|
|
73
|
+
unit: R
|
|
74
|
+
})
|
|
75
|
+
})
|
|
73
76
|
}) : null;
|
|
74
|
-
let Y = f(a({ variant: "outline" }), "gap-1.5 border-slate-200 bg-white text-slate-700 outline-none transition hover:border-slate-300 hover:text-slate-950 focus:border-slate-200 focus:outline-none focus:ring-0 focus:ring-transparent focus:ring-offset-0 focus-visible:border-slate-200 focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0", B.length > 0 && "cursor-pointer", x), X = E?.storefrontConfiguration.shop.emailAddress?.trim(), Z = E?.storefrontConfiguration.shop.contactPhone1?.trim(), _e = !!(X || Z), Q = () => /* @__PURE__ */ u(re, { children: [
|
|
77
|
+
let Y = f(a({ variant: "outline" }), "min-w-0 max-w-full gap-1.5 border-slate-200 bg-white text-slate-700 outline-none transition hover:border-slate-300 hover:text-slate-950 focus:border-slate-200 focus:outline-none focus:ring-0 focus:ring-transparent focus:ring-offset-0 focus-visible:border-slate-200 focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0", B.length > 0 && "cursor-pointer", x), X = E?.storefrontConfiguration.shop.emailAddress?.trim(), Z = E?.storefrontConfiguration.shop.contactPhone1?.trim(), _e = !!(X || Z), Q = () => /* @__PURE__ */ u(re, { children: [
|
|
75
78
|
/* @__PURE__ */ l("span", {
|
|
76
|
-
className: "font-semibold",
|
|
79
|
+
className: "shrink-0 font-semibold",
|
|
77
80
|
children: V
|
|
78
81
|
}),
|
|
79
82
|
H ? /* @__PURE__ */ u("span", {
|
|
80
|
-
className: "inline-flex items-center gap-1 text-slate-500",
|
|
83
|
+
className: "inline-flex min-w-0 items-center gap-1 text-slate-500",
|
|
81
84
|
children: [/* @__PURE__ */ l(ce, {
|
|
82
|
-
className: "h-3 w-3",
|
|
85
|
+
className: "h-3 w-3 shrink-0",
|
|
83
86
|
strokeWidth: 2.4,
|
|
84
87
|
"aria-hidden": "true"
|
|
85
|
-
}), /* @__PURE__ */ l("span", {
|
|
88
|
+
}), /* @__PURE__ */ l("span", {
|
|
89
|
+
className: "truncate",
|
|
90
|
+
children: C("price_then", { price: H })
|
|
91
|
+
})]
|
|
86
92
|
}) : null,
|
|
87
93
|
B.length > 0 ? /* @__PURE__ */ l("span", {
|
|
88
94
|
ref: P,
|
package/dist/i18n/en.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ export declare const storefront: {
|
|
|
11
11
|
nav_contact: string;
|
|
12
12
|
language_toggle: string;
|
|
13
13
|
cta_book_now: string;
|
|
14
|
+
cta_book_short: string;
|
|
15
|
+
mobile_menu_open: string;
|
|
16
|
+
mobile_menu_close: string;
|
|
17
|
+
mobile_menu_label: string;
|
|
14
18
|
cart_button: string;
|
|
15
19
|
checkout_button: string;
|
|
16
20
|
storefront_popup_title_fallback: string;
|
|
@@ -75,7 +79,9 @@ export declare const storefront: {
|
|
|
75
79
|
booking_time_slots_required: string;
|
|
76
80
|
booking_selected_days_tooltip_one: string;
|
|
77
81
|
booking_selected_days_tooltip_other: string;
|
|
78
|
-
|
|
82
|
+
booking_rental_period: string;
|
|
83
|
+
booking_date_drawer_continue: string;
|
|
84
|
+
booking_date_drawer_close: string;
|
|
79
85
|
booking_submit: string;
|
|
80
86
|
flow_step_booking: string;
|
|
81
87
|
flow_step_checkout: string;
|
package/dist/i18n/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqftB,CAAA"}
|
package/dist/i18n/en.js
CHANGED
|
@@ -12,6 +12,10 @@ var e = {
|
|
|
12
12
|
nav_contact: "Contact",
|
|
13
13
|
language_toggle: "FR/EN",
|
|
14
14
|
cta_book_now: "Book now",
|
|
15
|
+
cta_book_short: "Book",
|
|
16
|
+
mobile_menu_open: "Open navigation menu",
|
|
17
|
+
mobile_menu_close: "Close navigation menu",
|
|
18
|
+
mobile_menu_label: "Store navigation",
|
|
15
19
|
cart_button: "Cart",
|
|
16
20
|
checkout_button: "Checkout",
|
|
17
21
|
storefront_popup_title_fallback: "Update",
|
|
@@ -76,7 +80,9 @@ var e = {
|
|
|
76
80
|
booking_time_slots_required: "Select available start and return times before continuing.",
|
|
77
81
|
booking_selected_days_tooltip_one: "{{count}} day",
|
|
78
82
|
booking_selected_days_tooltip_other: "{{count}} days",
|
|
79
|
-
|
|
83
|
+
booking_rental_period: "Rental period",
|
|
84
|
+
booking_date_drawer_continue: "Continue",
|
|
85
|
+
booking_date_drawer_close: "Close calendar",
|
|
80
86
|
booking_submit: "See available bikes",
|
|
81
87
|
flow_step_booking: "Booking",
|
|
82
88
|
flow_step_checkout: "Confirmation & Payment",
|
package/dist/i18n/fr.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ export declare const storefront: {
|
|
|
11
11
|
nav_contact: string;
|
|
12
12
|
language_toggle: string;
|
|
13
13
|
cta_book_now: string;
|
|
14
|
+
cta_book_short: string;
|
|
15
|
+
mobile_menu_open: string;
|
|
16
|
+
mobile_menu_close: string;
|
|
17
|
+
mobile_menu_label: string;
|
|
14
18
|
cart_button: string;
|
|
15
19
|
checkout_button: string;
|
|
16
20
|
storefront_popup_title_fallback: string;
|
|
@@ -75,7 +79,9 @@ export declare const storefront: {
|
|
|
75
79
|
booking_time_slots_required: string;
|
|
76
80
|
booking_selected_days_tooltip_one: string;
|
|
77
81
|
booking_selected_days_tooltip_other: string;
|
|
78
|
-
|
|
82
|
+
booking_rental_period: string;
|
|
83
|
+
booking_date_drawer_continue: string;
|
|
84
|
+
booking_date_drawer_close: string;
|
|
79
85
|
booking_submit: string;
|
|
80
86
|
flow_step_booking: string;
|
|
81
87
|
flow_step_checkout: string;
|
package/dist/i18n/fr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsftB,CAAA"}
|
package/dist/i18n/fr.js
CHANGED
|
@@ -12,6 +12,10 @@ var e = {
|
|
|
12
12
|
nav_contact: "Contact",
|
|
13
13
|
language_toggle: "FR/EN",
|
|
14
14
|
cta_book_now: "Réserver",
|
|
15
|
+
cta_book_short: "Réserver",
|
|
16
|
+
mobile_menu_open: "Ouvrir le menu de navigation",
|
|
17
|
+
mobile_menu_close: "Fermer le menu de navigation",
|
|
18
|
+
mobile_menu_label: "Navigation de la boutique",
|
|
15
19
|
cart_button: "Panier",
|
|
16
20
|
checkout_button: "Commander",
|
|
17
21
|
storefront_popup_title_fallback: "Information",
|
|
@@ -76,7 +80,9 @@ var e = {
|
|
|
76
80
|
booking_time_slots_required: "Sélectionnez des heures de départ et de retour disponibles avant de continuer.",
|
|
77
81
|
booking_selected_days_tooltip_one: "{{count}} jour",
|
|
78
82
|
booking_selected_days_tooltip_other: "{{count}} jours",
|
|
79
|
-
|
|
83
|
+
booking_rental_period: "Période de location",
|
|
84
|
+
booking_date_drawer_continue: "Continuer",
|
|
85
|
+
booking_date_drawer_close: "Fermer le calendrier",
|
|
80
86
|
booking_submit: "Voir les vélos disponibles",
|
|
81
87
|
flow_step_booking: "Réservation",
|
|
82
88
|
flow_step_checkout: "Confirmation & Paiement",
|