@colabcommerce/elements 0.0.4 → 0.9.1

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 (99) hide show
  1. package/.pnp.cjs +16484 -0
  2. package/.pnp.loader.mjs +2126 -0
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.12.0.cjs +942 -0
  5. package/.yarnrc.yml +1 -0
  6. package/README.md +60 -41
  7. package/cypress/fixtures/example.json +5 -0
  8. package/cypress/support/commands.js +25 -0
  9. package/cypress/support/component-index.html +15 -0
  10. package/cypress/support/component.js +26 -0
  11. package/cypress.config.js +10 -0
  12. package/eslint.config.js +32 -0
  13. package/index.html +13 -0
  14. package/package.json +91 -67
  15. package/playground/index.html +14 -0
  16. package/playground/main.jsx +36 -0
  17. package/public/vite.svg +1 -0
  18. package/src/App.css +0 -0
  19. package/src/App.jsx +65 -0
  20. package/src/components/CollapsibleStoreHours/index.jsx +269 -0
  21. package/src/components/HoursList/index.jsx +225 -0
  22. package/src/components/LeadForm/index.jsx +241 -0
  23. package/src/components/MessageDialog/index.jsx +169 -0
  24. package/src/components/QuoteForm/index.jsx +82 -0
  25. package/src/components/QuoteFormSearch/index.jsx +276 -0
  26. package/src/components/QuoteFormStoreList/index.jsx +65 -0
  27. package/src/components/QuoteFormStoreListItem/index.jsx +134 -0
  28. package/src/components/QuoteLeadForm/index.jsx +16 -0
  29. package/src/components/QuoteMap/index.jsx +96 -0
  30. package/src/components/QuoteMapMarker/index.jsx +56 -0
  31. package/src/components/StaticMap/index.jsx +24 -0
  32. package/src/components/Store/index.jsx +44 -0
  33. package/src/components/StoreContact/index.jsx +96 -0
  34. package/src/components/StoreInfo/index.jsx +50 -0
  35. package/src/components/StoreList/index.jsx +59 -0
  36. package/src/components/StoreListItem/index.jsx +99 -0
  37. package/src/components/StoreListItem/indexStoreListItem.cy.jsx +30 -0
  38. package/src/components/StoreListNoneFound/index.jsx +16 -0
  39. package/src/components/StoreLocator/index.jsx +43 -0
  40. package/src/components/StoreLocatorMap/index.jsx +93 -0
  41. package/src/components/StoreLocatorMapMarker/index.jsx +55 -0
  42. package/src/components/StoreLocatorMessageDialog/index.jsx +20 -0
  43. package/src/components/StoreLocatorSearch/index.jsx +316 -0
  44. package/src/components/StoreMap/index.jsx +30 -0
  45. package/src/components/StoreMeta/index.jsx +7 -0
  46. package/src/components/StoreProducts/index.jsx +112 -0
  47. package/src/components/ui/Badge/index.jsx +46 -0
  48. package/src/components/ui/Button/index.jsx +56 -0
  49. package/src/components/ui/Button/indexButton.cy.jsx +9 -0
  50. package/src/components/ui/Card/index.jsx +90 -0
  51. package/src/components/ui/Input/index.jsx +19 -0
  52. package/src/components/ui/Input/indexInput.cy.jsx +9 -0
  53. package/src/components/ui/LoadingPuff/index.jsx +10 -0
  54. package/src/components/ui/Panel/index.jsx +23 -0
  55. package/src/components/ui/PhoneNumberInput/index.jsx +17 -0
  56. package/src/contexts/quote-form.jsx +94 -0
  57. package/src/contexts/store-locator.jsx +83 -0
  58. package/src/contexts/store.jsx +59 -0
  59. package/src/contexts/translations.jsx +11 -0
  60. package/src/dist.css +229 -0
  61. package/src/entries/QuoteForm.js +2 -0
  62. package/src/entries/Store.js +2 -0
  63. package/src/entries/StoreLocator.js +2 -0
  64. package/src/entries/StoreLocatorProvider.js +2 -0
  65. package/src/entries/styles.js +2 -0
  66. package/src/entries/useStoreLocator.js +2 -0
  67. package/src/i18n/defaultResources.js +19 -0
  68. package/src/i18n/index.js +44 -0
  69. package/src/i18n/mergeResources.js +22 -0
  70. package/src/index.css +214 -0
  71. package/src/lib/addressComponentsToAddress.js +43 -0
  72. package/src/lib/productSchema.js +6 -0
  73. package/src/lib/useGeolocation.js +266 -0
  74. package/src/lib/useHours.js +205 -0
  75. package/src/lib/usePlacesAutocomplete.js +288 -0
  76. package/src/lib/useProductAvailability.js +38 -0
  77. package/src/lib/useRudderAnalytics.js +50 -0
  78. package/src/lib/useSearchResults.js +102 -0
  79. package/src/lib/useStoreLocatorConfig.js +50 -0
  80. package/src/lib/utils/cn.js +6 -0
  81. package/src/lib/utils/measure.js +31 -0
  82. package/src/locales/en/default.json +58 -0
  83. package/src/locales/es/default.json +58 -0
  84. package/src/locales/fr/default.json +58 -0
  85. package/src/locales/it/default.json +58 -0
  86. package/src/main.jsx +10 -0
  87. package/vite.config.js +60 -53
  88. package/dist/CartForm.js +0 -617
  89. package/dist/Container-CU_WrBOi.js +0 -22
  90. package/dist/Modal-DTBKy_6d.js +0 -863
  91. package/dist/ProductForm.js +0 -343
  92. package/dist/Retailer.js +0 -3637
  93. package/dist/StoreLocator.js +0 -797
  94. package/dist/addressComponentsToAddress-DCL-K8mn.js +0 -1932
  95. package/dist/browser-ponyfill-DcK7_cJB.js +0 -339
  96. package/dist/globals-B8-hYoIU.js +0 -8518
  97. package/dist/index-CqSfhXDd.js +0 -137
  98. package/dist/index-FM02Uq_P.js +0 -100
  99. package/dist/style.css +0 -1
@@ -1,797 +0,0 @@
1
- import { jsx as s, jsxs as d, Fragment as se } from "react/jsx-runtime";
2
- import * as B from "react";
3
- import T, { useState as $, useRef as pe, useEffect as D, useLayoutEffect as Ee, useMemo as he, useCallback as Te, Suspense as He } from "react";
4
- import { a as E, b as je, c, d as Y, n as We, o as C, C as ne, p as U, q as F, T as Re, r as Be, t as De, E as fe, s as Fe, v as Pe, R as ge, e as Ae, h as Q, i as ze, B as oe, F as w, I as Le, l as Ge, m as Ue } from "./globals-B8-hYoIU.js";
5
- import { C as qe, u as H, L as Je, d as Qe, l as Ve, a as Xe, S as Ke, b as Ye, A as Ze, c as et, w as tt, e as st, f as at } from "./addressComponentsToAddress-DCL-K8mn.js";
6
- import { S as nt } from "./index-FM02Uq_P.js";
7
- import { A as rt, d as it, u as ct, a as ot, B as lt, F as dt, b as mt, g as ut, M as V } from "./Modal-DTBKy_6d.js";
8
- const pt = "-E4vU", ht = "Y9kow", ft = "x0-tL", gt = "XBGE-", vt = "oUgyZ", yt = "_5xvIm", wt = "yR8v8", Nt = "-FfTB", bt = "mPv4I", _t = "DizAj", Ct = "pL7JB", It = "uUoP0", N = {
9
- wrapper: pt,
10
- title: ht,
11
- hours: ft,
12
- open: gt,
13
- closed: vt,
14
- soon: yt,
15
- subHoursWrapper: wt,
16
- subHours: Nt,
17
- today: bt,
18
- toggle: _t,
19
- shown: Ct,
20
- shownHours: It
21
- }, St = ({ i: e, hour: t }) => {
22
- const { t: n, locale: a } = E(), i = /* @__PURE__ */ new Date();
23
- i.setUTCHours(t.open_at_hour - t.utc_offset_minute / 60, t.open_at_minute, 0, 0);
24
- const r = /* @__PURE__ */ new Date();
25
- r.setUTCHours(t.close_at_hour - t.utc_offset_minute / 60, t.close_at_minute, 0, 0);
26
- const u = i.getUTCMinutes() === 0 ? new Intl.DateTimeFormat(a, { hour: "numeric" }) : new Intl.DateTimeFormat(a, { hour: "numeric", minute: "2-digit" }), l = r.getUTCMinutes() === 0 ? new Intl.DateTimeFormat(a, { hour: "numeric" }) : new Intl.DateTimeFormat(a, { hour: "numeric", minute: "2-digit" });
27
- return /* @__PURE__ */ d("div", { className: `${N.subHours} ${t.day === (/* @__PURE__ */ new Date()).getDay() ? N.today : ""}`, children: [
28
- /* @__PURE__ */ s("div", { children: n(`store.days.${t.day}`) }),
29
- /* @__PURE__ */ d("div", { children: [
30
- u.format(i),
31
- " - ",
32
- l.format(r)
33
- ] })
34
- ] }, t.day);
35
- }, Mt = ({ hours: e, defaultOpen: t = !1 }) => {
36
- const { t: n, locale: a } = E(), { isOpen: i, openingSoon: r, closingSoon: u, openAt: l, closeAt: m, openFormatter: p, closeAtFormatter: f } = je(e), [y, _] = $(t), o = (/* @__PURE__ */ new Date()).getDay();
37
- if (!(e == null ? void 0 : e.find((M) => M.day === o))) return null;
38
- const W = i, I = e.sort((M, x) => M.day - x.day);
39
- let S = null, h = null;
40
- return W ? u ? (h = c(N.hours, N.soon), S = /* @__PURE__ */ s("span", { children: n("store.closingSoon") })) : (h = c(N.hours, N.open), S = /* @__PURE__ */ s("span", { children: n("store.openNow") })) : r ? (h = c(N.hours, N.soon), S = /* @__PURE__ */ s("span", { children: n("store.openingSoon") })) : (h = c(N.hours, N.closed), S = /* @__PURE__ */ s("span", { children: n("store.closedNow") })), /* @__PURE__ */ d("div", { className: y ? c(N.wrapper, N.shown) : c(N.wrapper), children: [
41
- /* @__PURE__ */ d("div", { className: c(N.title), onClick: () => _(!y), children: [
42
- /* @__PURE__ */ d("span", { className: h, children: [
43
- /* @__PURE__ */ s("i", { className: "lpe-icons", children: "clock" }),
44
- S
45
- ] }),
46
- /* @__PURE__ */ d("span", { className: N.shownHours, children: [
47
- p.format(l),
48
- " - ",
49
- f.format(m)
50
- ] }),
51
- /* @__PURE__ */ s("i", { className: c("lpe-icons", N.toggle), children: "arrow" })
52
- ] }),
53
- /* @__PURE__ */ s(qe, { in: y, children: /* @__PURE__ */ s("div", { children: /* @__PURE__ */ s("div", { className: c(N.subHoursWrapper), children: I.map((M, x) => /* @__PURE__ */ s(St, { i: x, hour: M }, M.day)) }) }) })
54
- ] });
55
- };
56
- var ve = {
57
- color: void 0,
58
- size: void 0,
59
- className: void 0,
60
- style: void 0,
61
- attr: void 0
62
- }, le = T.createContext && /* @__PURE__ */ T.createContext(ve), Ot = ["attr", "size", "title"];
63
- function xt(e, t) {
64
- if (e == null) return {};
65
- var n = kt(e, t), a, i;
66
- if (Object.getOwnPropertySymbols) {
67
- var r = Object.getOwnPropertySymbols(e);
68
- for (i = 0; i < r.length; i++)
69
- a = r[i], !(t.indexOf(a) >= 0) && Object.prototype.propertyIsEnumerable.call(e, a) && (n[a] = e[a]);
70
- }
71
- return n;
72
- }
73
- function kt(e, t) {
74
- if (e == null) return {};
75
- var n = {};
76
- for (var a in e)
77
- if (Object.prototype.hasOwnProperty.call(e, a)) {
78
- if (t.indexOf(a) >= 0) continue;
79
- n[a] = e[a];
80
- }
81
- return n;
82
- }
83
- function X() {
84
- return X = Object.assign ? Object.assign.bind() : function(e) {
85
- for (var t = 1; t < arguments.length; t++) {
86
- var n = arguments[t];
87
- for (var a in n)
88
- Object.prototype.hasOwnProperty.call(n, a) && (e[a] = n[a]);
89
- }
90
- return e;
91
- }, X.apply(this, arguments);
92
- }
93
- function de(e, t) {
94
- var n = Object.keys(e);
95
- if (Object.getOwnPropertySymbols) {
96
- var a = Object.getOwnPropertySymbols(e);
97
- t && (a = a.filter(function(i) {
98
- return Object.getOwnPropertyDescriptor(e, i).enumerable;
99
- })), n.push.apply(n, a);
100
- }
101
- return n;
102
- }
103
- function K(e) {
104
- for (var t = 1; t < arguments.length; t++) {
105
- var n = arguments[t] != null ? arguments[t] : {};
106
- t % 2 ? de(Object(n), !0).forEach(function(a) {
107
- $t(e, a, n[a]);
108
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : de(Object(n)).forEach(function(a) {
109
- Object.defineProperty(e, a, Object.getOwnPropertyDescriptor(n, a));
110
- });
111
- }
112
- return e;
113
- }
114
- function $t(e, t, n) {
115
- return t = Et(t), t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;
116
- }
117
- function Et(e) {
118
- var t = Tt(e, "string");
119
- return typeof t == "symbol" ? t : t + "";
120
- }
121
- function Tt(e, t) {
122
- if (typeof e != "object" || !e) return e;
123
- var n = e[Symbol.toPrimitive];
124
- if (n !== void 0) {
125
- var a = n.call(e, t);
126
- if (typeof a != "object") return a;
127
- throw new TypeError("@@toPrimitive must return a primitive value.");
128
- }
129
- return (t === "string" ? String : Number)(e);
130
- }
131
- function ye(e) {
132
- return e && e.map((t, n) => /* @__PURE__ */ T.createElement(t.tag, K({
133
- key: n
134
- }, t.attr), ye(t.child)));
135
- }
136
- function Ht(e) {
137
- return (t) => /* @__PURE__ */ T.createElement(jt, X({
138
- attr: K({}, e.attr)
139
- }, t), ye(e.child));
140
- }
141
- function jt(e) {
142
- var t = (n) => {
143
- var {
144
- attr: a,
145
- size: i,
146
- title: r
147
- } = e, u = xt(e, Ot), l = i || n.size || "1em", m;
148
- return n.className && (m = n.className), e.className && (m = (m ? m + " " : "") + e.className), /* @__PURE__ */ T.createElement("svg", X({
149
- stroke: "currentColor",
150
- fill: "currentColor",
151
- strokeWidth: "0"
152
- }, n.attr, a, u, {
153
- className: m,
154
- style: K(K({
155
- color: e.color || n.color
156
- }, n.style), e.style),
157
- height: l,
158
- width: l,
159
- xmlns: "http://www.w3.org/2000/svg"
160
- }), r && /* @__PURE__ */ T.createElement("title", null, r), e.children);
161
- };
162
- return le !== void 0 ? /* @__PURE__ */ T.createElement(le.Consumer, null, (n) => t(n)) : t(ve);
163
- }
164
- function Wt(e) {
165
- return Ht({ attr: { viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { fill: "none", d: "M0 0h24v24H0z" }, child: [] }, { tag: "path", attr: { d: "M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z" }, child: [] }] })(e);
166
- }
167
- /**
168
- * @license lucide-react v0.542.0 - ISC
169
- *
170
- * This source code is licensed under the ISC license.
171
- * See the LICENSE file in the root directory of this source tree.
172
- */
173
- const Rt = [
174
- ["path", { d: "m15 14 5-5-5-5", key: "12vg1m" }],
175
- ["path", { d: "M4 20v-7a4 4 0 0 1 4-4h12", key: "1lu4f8" }]
176
- ], Bt = Y("corner-up-right", Rt);
177
- /**
178
- * @license lucide-react v0.542.0 - ISC
179
- *
180
- * This source code is licensed under the ISC license.
181
- * See the LICENSE file in the root directory of this source tree.
182
- */
183
- const Dt = [
184
- ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
185
- ["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
186
- ["path", { d: "M2 12h20", key: "9i4pu4" }]
187
- ], Ft = Y("globe", Dt);
188
- /**
189
- * @license lucide-react v0.542.0 - ISC
190
- *
191
- * This source code is licensed under the ISC license.
192
- * See the LICENSE file in the root directory of this source tree.
193
- */
194
- const Pt = [
195
- [
196
- "path",
197
- {
198
- d: "M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",
199
- key: "18887p"
200
- }
201
- ],
202
- ["path", { d: "M7 11h10", key: "1twpyw" }],
203
- ["path", { d: "M7 15h6", key: "d9of3u" }],
204
- ["path", { d: "M7 7h8", key: "af5zfr" }]
205
- ], At = Y("message-square-text", Pt);
206
- /**
207
- * @license lucide-react v0.542.0 - ISC
208
- *
209
- * This source code is licensed under the ISC license.
210
- * See the LICENSE file in the root directory of this source tree.
211
- */
212
- const zt = [
213
- [
214
- "path",
215
- {
216
- d: "M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",
217
- key: "9njp5v"
218
- }
219
- ]
220
- ], Lt = Y("phone", zt), Gt = () => {
221
- const { t: e } = E(), { locationName: t, setLocationName: n, setSearchCenter: a, setMapCenter: i, setShowFilters: r, setLoadingGeo: u, getPosition: l } = H(), m = pe(null), [p, f] = $(null), y = We("places");
222
- return D(() => {
223
- if (!y || !m.current) return;
224
- const b = {
225
- fields: ["geometry", "name", "formatted_address"]
226
- };
227
- f(new y.Autocomplete(m.current, b));
228
- }, [y]), D(() => {
229
- p && p.addListener("place_changed", () => {
230
- const b = p.getPlace();
231
- if (!b.geometry) {
232
- console.log("Returned place contains no geometry");
233
- return;
234
- }
235
- const o = { lat: b.geometry.location.lat(), lng: b.geometry.location.lng() };
236
- i(o), a(o), n(b.formatted_address);
237
- });
238
- }, [p, n]), /* @__PURE__ */ s(Je, { locationName: t, setLocationName: n, setSearchCenter: a, setMapCenter: i, handleLocate: () => {
239
- u(!0), l();
240
- } });
241
- }, Ut = typeof global < "u" && // @ts-ignore
242
- global.navigator && // @ts-ignore
243
- global.navigator.product === "ReactNative", qt = typeof document < "u", Jt = qt || Ut ? Ee : D, Qt = "_0KWD0", Vt = "g3FBG", Xt = "CLUyb", Kt = "npnV3", Yt = "BIswH", Zt = "-m7UC", es = "-q7GQ", ts = "YbQl1", ss = "N8xLz", as = "I-G0P", ns = "OuZOS", rs = "WA4AC", is = "xkI8T", cs = "frXG0", os = "xm9kk", ls = "owF5c", ds = "FeU6b", ms = "XSAWh", us = "RmHU1", ps = "VFB9v", v = {
244
- wrapper: Qt,
245
- selected: Vt,
246
- nameWrapper: Xt,
247
- details: Kt,
248
- distance: Yt,
249
- name: Zt,
250
- address: es,
251
- interactWrapper: ts,
252
- interactItem: ss,
253
- interactIcon: as,
254
- interactText: ns,
255
- addressWrapper: rs,
256
- viewProducts: is,
257
- rotateIcon: cs,
258
- slide: os,
259
- productItem: ls,
260
- productImage: ds,
261
- productName: ms,
262
- productsWrapper: us,
263
- dismissable: ps
264
- }, hs = ({ id: e, location: t, dismissable: n }) => {
265
- var q, P, A, z, J;
266
- const a = "store-locator-sidebar-list-item", { selectedLocation: i, searchCenter: r, showDetails: u, setShowDetails: l, setMessageModalOpen: m, setSelectedLocationId: p } = H(), { t: f, i18n: y } = E(), _ = y == null ? void 0 : y.language, [b, o] = $(!1), [j, W] = $(!1), I = () => {
267
- m(!0);
268
- }, S = () => {
269
- p(e);
270
- const R = new URLSearchParams(window.location.search);
271
- R.set("location", e), window.history.replaceState({}, "", `?${R.toString()}`);
272
- }, h = (R) => {
273
- b || (R.preventDefault(), o(!0));
274
- }, M = Math.round(Qe({ lat: (q = t == null ? void 0 : t.address) == null ? void 0 : q.latitude, lng: (P = t == null ? void 0 : t.address) == null ? void 0 : P.longitude }, r) * 10) / 10, x = e === (i == null ? void 0 : i.id) ? C(["wrapper", "selected"], v, "sidebar-list-item") : C("wrapper", v, "sidebar-list-item");
275
- return /* @__PURE__ */ d("div", { onClick: S, className: x, children: [
276
- /* @__PURE__ */ d("section", { className: c(v.nameWrapper), children: [
277
- /* @__PURE__ */ d("div", { className: c(v.name), children: [
278
- t == null ? void 0 : t.retailer_name,
279
- /* @__PURE__ */ d("div", { className: `text-muted fw-normal mt-1 ${v.distance}`, children: [
280
- Math.round(Xe(M, _) * 10) / 10,
281
- " ",
282
- Ve(_),
283
- " away"
284
- ] })
285
- ] }),
286
- /* @__PURE__ */ s("div", { className: "text-end d-flex align-items-center justify-content-end", children: /* @__PURE__ */ s(Ke, { type: t == null ? void 0 : t.store_type }) })
287
- ] }),
288
- /* @__PURE__ */ s("section", { className: `${v.hoursWrapper} d-flex justify-content-between align-items-center pe-3`, children: /* @__PURE__ */ s(Ye, { hours: t == null ? void 0 : t.retailer_location_hours }) }),
289
- /* @__PURE__ */ s("section", { className: c(v.addressWrapper), children: /* @__PURE__ */ d("div", { className: c(v.address), children: [
290
- /* @__PURE__ */ s("div", { children: t == null ? void 0 : t.address.street_line_one }),
291
- /* @__PURE__ */ s("div", { children: t == null ? void 0 : t.address.street_line_two }),
292
- /* @__PURE__ */ d("div", { children: [
293
- t == null ? void 0 : t.address.city,
294
- ", ",
295
- t == null ? void 0 : t.address.province,
296
- " ",
297
- t == null ? void 0 : t.address.postal_code
298
- ] }),
299
- /* @__PURE__ */ s("div", { className: "d-none", children: t == null ? void 0 : t.address.country })
300
- ] }) }),
301
- /* @__PURE__ */ d("section", { className: C("interactWrapper", v, "store-locator-sidebar-list-item"), children: [
302
- (t == null ? void 0 : t.phone_number) && /* @__PURE__ */ d(
303
- "a",
304
- {
305
- href: `tel:${(A = t == null ? void 0 : t.phone_number) == null ? void 0 : A.phone_number}`,
306
- className: [C("interactItem", v, "store-locator-sidebar-list-item"), "cc-interact-item-phone"].join(" "),
307
- onClick: h,
308
- children: [
309
- /* @__PURE__ */ s("div", { className: [v.interactIcon, "cc-interact-icon", "cc-interact-icon-phone"].join(" "), children: /* @__PURE__ */ s(Lt, { size: 20 }) }),
310
- /* @__PURE__ */ s("div", { className: [v.interactText, "cc-interact-text", "cc-interact-text-phone"].join(" "), children: b ? (z = t == null ? void 0 : t.phone_number) == null ? void 0 : z.formatted : f("general.phone") })
311
- ]
312
- }
313
- ),
314
- /* @__PURE__ */ d(
315
- "a",
316
- {
317
- href: `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent((J = t == null ? void 0 : t.address) == null ? void 0 : J.string)}=&destination_place_id=${t == null ? void 0 : t.place_id}`,
318
- target: "new",
319
- className: [C("interactItem", v, a), "cc-interact-item-directions"].join(" "),
320
- children: [
321
- /* @__PURE__ */ s("div", { className: [C("interactIcon", v, a), "cc-interact-icon-directions"].join(" "), children: /* @__PURE__ */ s(Bt, { size: 20 }) }),
322
- /* @__PURE__ */ s("div", { className: [C("interactText", v, a), "cc-interact-text-directions"].join(" "), children: f("general.directions") })
323
- ]
324
- }
325
- ),
326
- /* @__PURE__ */ d("button", { className: C("interactItem", v, a), onClick: I, children: [
327
- /* @__PURE__ */ s("div", { className: C("interactIcon", v, a), children: /* @__PURE__ */ s(At, { size: 20 }) }),
328
- /* @__PURE__ */ s("div", { className: C("interactText", v, a), children: f("general.message") })
329
- ] }),
330
- (t == null ? void 0 : t.website) && /* @__PURE__ */ d("a", { href: t == null ? void 0 : t.website, target: "_blank", className: C("interactItem", v, a), children: [
331
- /* @__PURE__ */ s("div", { className: C("interactIcon", v, a), children: /* @__PURE__ */ s(Ft, { size: 20 }) }),
332
- /* @__PURE__ */ s("div", { className: C("interactText", v, a), children: f("general.website") })
333
- ] })
334
- ] })
335
- ] });
336
- }, fs = "pCNHg", gs = "frwR4", vs = "sUqpG", L = {
337
- loading: fs,
338
- itemWrapper: gs,
339
- wrapper: vs
340
- }, ys = () => {
341
- const { t: e } = E(), { locations: t, isLoading: n, selectedLocationId: a } = H();
342
- function i(r, u) {
343
- if (!r || !u) return;
344
- const l = r.getBoundingClientRect(), p = u.getBoundingClientRect().top - l.top + r.scrollTop;
345
- r.scrollTo({
346
- top: p,
347
- behavior: "smooth"
348
- });
349
- }
350
- return D(() => {
351
- const r = document.getElementById(`location-${a}`);
352
- if (r) {
353
- const u = document.getElementById("llw");
354
- i(u, r);
355
- }
356
- }, [a]), n ? /* @__PURE__ */ s("div", { className: c(L.loading), children: /* @__PURE__ */ s("img", { src: "https://images.sofasandsectionals.com/cc/pal-loader.svg", width: "50", height: "50", alt: e("store_locator.loading") }) }) : /* @__PURE__ */ s("div", { id: "location-list", className: `${L.wrapper} ${a ? L.hasSelected : ""}`, children: t.map((r) => /* @__PURE__ */ s("div", { id: `location-${r.id}`, className: `${L.itemWrapper} ${a === r.id ? L.selected : ""}`, children: /* @__PURE__ */ s(hs, { id: r.id, location: r }) }, r.id)) });
357
- }, ws = "N2FHA", Ns = "BSoIL", bs = "xMDdB", _s = "-zMng", G = {
358
- wrapper: ws,
359
- top: Ns,
360
- searchWrapper: bs,
361
- listWrapper: _s
362
- }, Cs = () => {
363
- const { showMap: e, showFilters: t, setShowFilters: n, locale: a, selectedLocationId: i } = H();
364
- return /* @__PURE__ */ d(ne, { xs: { order: 1 }, lg: { order: 0, span: 4 }, xxl: { order: 0, span: 3 }, className: c(G.wrapper), children: [
365
- /* @__PURE__ */ s("div", { className: c(G.top), children: /* @__PURE__ */ s("div", { className: c(G.searchWrapper), children: /* @__PURE__ */ s("div", { className: "mb-3", children: /* @__PURE__ */ s(Gt, {}) }) }) }),
366
- /* @__PURE__ */ s("div", { className: `${G.listWrapper} ${i ? G.hasSelected : ""}`, id: "llw", children: /* @__PURE__ */ s(ys, {}) })
367
- ] });
368
- }, ae = /* @__PURE__ */ new WeakMap(), me = (e, t) => {
369
- if (!e || !t) return;
370
- const n = ae.get(t) || /* @__PURE__ */ new Map();
371
- ae.set(t, n);
372
- let a = n.get(e);
373
- return a || (a = t.matchMedia(e), a.refCount = 0, n.set(a.media, a)), a;
374
- };
375
- function Is(e, t = typeof window > "u" ? void 0 : window) {
376
- const n = me(e, t), [a, i] = $(() => n ? n.matches : !1);
377
- return Jt(() => {
378
- let r = me(e, t);
379
- if (!r)
380
- return i(!1);
381
- let u = ae.get(t);
382
- const l = () => {
383
- i(r.matches);
384
- };
385
- return r.refCount++, r.addListener(l), l(), () => {
386
- r.removeListener(l), r.refCount--, r.refCount <= 0 && (u == null || u.delete(r.media)), r = void 0;
387
- };
388
- }, [e]), a;
389
- }
390
- function Ss(e) {
391
- const t = Object.keys(e);
392
- function n(l, m) {
393
- return l === m ? m : l ? `${l} and ${m}` : m;
394
- }
395
- function a(l) {
396
- return t[Math.min(t.indexOf(l) + 1, t.length - 1)];
397
- }
398
- function i(l) {
399
- const m = a(l);
400
- let p = e[m];
401
- return typeof p == "number" ? p = `${p - 0.2}px` : p = `calc(${p} - 0.2px)`, `(max-width: ${p})`;
402
- }
403
- function r(l) {
404
- let m = e[l];
405
- return typeof m == "number" && (m = `${m}px`), `(min-width: ${m})`;
406
- }
407
- function u(l, m, p) {
408
- let f;
409
- typeof l == "object" ? (f = l, p = m, m = !0) : (m = m || !0, f = {
410
- [l]: m
411
- });
412
- let y = he(() => Object.entries(f).reduce((_, [b, o]) => ((o === "up" || o === !0) && (_ = n(_, r(b))), (o === "down" || o === !0) && (_ = n(_, i(b))), _), ""), [JSON.stringify(f)]);
413
- return Is(y, p);
414
- }
415
- return u;
416
- }
417
- const Ms = Ss({
418
- xs: 0,
419
- sm: 576,
420
- md: 768,
421
- lg: 992,
422
- xl: 1200,
423
- xxl: 1400
424
- }), we = /* @__PURE__ */ B.forwardRef(({
425
- className: e,
426
- bsPrefix: t,
427
- as: n = "div",
428
- ...a
429
- }, i) => (t = U(t, "offcanvas-body"), /* @__PURE__ */ s(n, {
430
- ref: i,
431
- className: F(e, t),
432
- ...a
433
- })));
434
- we.displayName = "OffcanvasBody";
435
- const Os = {
436
- [fe]: "show",
437
- [Pe]: "show"
438
- }, Ne = /* @__PURE__ */ B.forwardRef(({
439
- bsPrefix: e,
440
- className: t,
441
- children: n,
442
- in: a = !1,
443
- mountOnEnter: i = !1,
444
- unmountOnExit: r = !1,
445
- appear: u = !1,
446
- ...l
447
- }, m) => (e = U(e, "offcanvas"), /* @__PURE__ */ s(Re, {
448
- ref: m,
449
- addEndListener: De,
450
- in: a,
451
- mountOnEnter: i,
452
- unmountOnExit: r,
453
- appear: u,
454
- ...l,
455
- childRef: Be(n),
456
- children: (p, f) => /* @__PURE__ */ B.cloneElement(n, {
457
- ...f,
458
- className: F(t, n.props.className, (p === fe || p === Fe) && `${e}-toggling`, Os[p])
459
- })
460
- })));
461
- Ne.displayName = "OffcanvasToggling";
462
- const be = /* @__PURE__ */ B.forwardRef(({
463
- bsPrefix: e,
464
- className: t,
465
- closeLabel: n = "Close",
466
- closeButton: a = !1,
467
- ...i
468
- }, r) => (e = U(e, "offcanvas-header"), /* @__PURE__ */ s(rt, {
469
- ref: r,
470
- ...i,
471
- className: F(t, e),
472
- closeLabel: n,
473
- closeButton: a
474
- })));
475
- be.displayName = "OffcanvasHeader";
476
- const xs = it("h5"), _e = /* @__PURE__ */ B.forwardRef(({
477
- className: e,
478
- bsPrefix: t,
479
- as: n = xs,
480
- ...a
481
- }, i) => (t = U(t, "offcanvas-title"), /* @__PURE__ */ s(n, {
482
- ref: i,
483
- className: F(e, t),
484
- ...a
485
- })));
486
- _e.displayName = "OffcanvasTitle";
487
- function ks(e) {
488
- return /* @__PURE__ */ s(Ne, {
489
- ...e
490
- });
491
- }
492
- function $s(e) {
493
- return /* @__PURE__ */ s(dt, {
494
- ...e
495
- });
496
- }
497
- const Ce = /* @__PURE__ */ B.forwardRef(({
498
- bsPrefix: e,
499
- className: t,
500
- children: n,
501
- "aria-labelledby": a,
502
- placement: i = "start",
503
- responsive: r,
504
- /* BaseModal props */
505
- show: u = !1,
506
- backdrop: l = !0,
507
- keyboard: m = !0,
508
- scroll: p = !1,
509
- onEscapeKeyDown: f,
510
- onShow: y,
511
- onHide: _,
512
- container: b,
513
- autoFocus: o = !0,
514
- enforceFocus: j = !0,
515
- restoreFocus: W = !0,
516
- restoreFocusOptions: I,
517
- onEntered: S,
518
- onExit: h,
519
- onExiting: M,
520
- onEnter: x,
521
- onEntering: q,
522
- onExited: P,
523
- backdropClassName: A,
524
- manager: z,
525
- renderStaticNode: J = !1,
526
- ...R
527
- }, Ie) => {
528
- const Z = pe();
529
- e = U(e, "offcanvas");
530
- const [re, Se] = $(!1), ee = ct(_), ie = Ms(r || "xs", "up");
531
- D(() => {
532
- Se(r ? u && !ie : u);
533
- }, [u, r, ie]);
534
- const Me = he(() => ({
535
- onHide: ee
536
- }), [ee]);
537
- function Oe() {
538
- return z || (p ? (Z.current || (Z.current = new mt({
539
- handleContainerOverflow: !1
540
- })), Z.current) : ut());
541
- }
542
- const xe = (O, ...te) => {
543
- O && (O.style.visibility = "visible"), x == null || x(O, ...te);
544
- }, ke = (O, ...te) => {
545
- O && (O.style.visibility = ""), P == null || P(...te);
546
- }, $e = Te((O) => /* @__PURE__ */ s("div", {
547
- ...O,
548
- className: F(`${e}-backdrop`, A)
549
- }), [A, e]), ce = (O) => /* @__PURE__ */ s("div", {
550
- ...O,
551
- ...R,
552
- className: F(t, r ? `${e}-${r}` : e, `${e}-${i}`),
553
- "aria-labelledby": a,
554
- children: n
555
- });
556
- return /* @__PURE__ */ d(se, {
557
- children: [!re && (r || J) && ce({}), /* @__PURE__ */ s(ot.Provider, {
558
- value: Me,
559
- children: /* @__PURE__ */ s(lt, {
560
- show: re,
561
- ref: Ie,
562
- backdrop: l,
563
- container: b,
564
- keyboard: m,
565
- autoFocus: o,
566
- enforceFocus: j && !p,
567
- restoreFocus: W,
568
- restoreFocusOptions: I,
569
- onEscapeKeyDown: f,
570
- onShow: y,
571
- onHide: ee,
572
- onEnter: xe,
573
- onEntering: q,
574
- onEntered: S,
575
- onExit: h,
576
- onExiting: M,
577
- onExited: ke,
578
- manager: Oe(),
579
- transition: ks,
580
- backdropTransition: $s,
581
- renderBackdrop: $e,
582
- renderDialog: ce
583
- })
584
- })]
585
- });
586
- });
587
- Ce.displayName = "Offcanvas";
588
- const ue = Object.assign(Ce, {
589
- Body: we,
590
- Header: be,
591
- Title: _e
592
- }), g = {}, Es = () => {
593
- var l, m, p;
594
- const { selectedLocation: e, showDetails: t, setShowDetails: n, setMessageModalOpen: a } = H(), { t: i } = E(), r = () => {
595
- n(!1);
596
- }, u = () => {
597
- a(!0);
598
- };
599
- return /* @__PURE__ */ s(ue, { show: t, onHide: r, backdrop: !1, placement: "start", className: c(g.wrapper), scroll: !0, children: /* @__PURE__ */ d(ue.Body, { className: "px-0", children: [
600
- /* @__PURE__ */ d("section", { className: c(g.nameWrapper), children: [
601
- /* @__PURE__ */ d("div", { className: c(g.close), onClick: r, children: [
602
- /* @__PURE__ */ s("i", { className: "lpe-icons", children: "back" }),
603
- " ",
604
- i("general.viewAll")
605
- ] }),
606
- /* @__PURE__ */ s("div", { className: c(g.name), children: e == null ? void 0 : e.retailer_name })
607
- ] }),
608
- /* @__PURE__ */ d("section", { className: c(g.interactWrapper), children: [
609
- /* @__PURE__ */ d("a", { href: `tel:${(l = e == null ? void 0 : e.phone_number) == null ? void 0 : l.phone_number}`, className: c(g.interactItem), children: [
610
- /* @__PURE__ */ s("div", { className: c(g.interactIcon), children: /* @__PURE__ */ s("i", { className: "lpe-icons", children: "phone" }) }),
611
- /* @__PURE__ */ s("div", { className: c(g.interactText), children: i("general.phone") })
612
- ] }),
613
- /* @__PURE__ */ d("a", { href: `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent((m = e == null ? void 0 : e.address) == null ? void 0 : m.string)}=&destination_place_id=${e == null ? void 0 : e.place_id}`, target: "new", className: c(g.interactItem), children: [
614
- /* @__PURE__ */ s("div", { className: c(g.interactIcon), children: /* @__PURE__ */ s("i", { className: "lpe-icons", children: "direction" }) }),
615
- /* @__PURE__ */ s("div", { className: c(g.interactText), children: i("general.directions") })
616
- ] }),
617
- /* @__PURE__ */ d("a", { className: c(g.interactItem), onClick: u, children: [
618
- /* @__PURE__ */ s("div", { className: c(g.interactIcon), children: /* @__PURE__ */ s(Wt, {}) }),
619
- /* @__PURE__ */ s("div", { className: c(g.interactText), children: i("general.message") })
620
- ] }),
621
- /* @__PURE__ */ d("a", { href: e == null ? void 0 : e.website, target: "_blank", className: c(g.interactItem), children: [
622
- /* @__PURE__ */ s("div", { className: c(g.interactIcon), children: /* @__PURE__ */ s("i", { className: "lpe-icons", children: "world" }) }),
623
- /* @__PURE__ */ s("div", { className: c(g.interactText), children: i("general.website") })
624
- ] })
625
- ] }),
626
- /* @__PURE__ */ d("section", { className: c(g.addressWrapper), children: [
627
- /* @__PURE__ */ s("div", { children: /* @__PURE__ */ s("i", { className: "lpe-icons", children: "marker" }) }),
628
- /* @__PURE__ */ d("div", { className: c(g.address), children: [
629
- /* @__PURE__ */ s("div", { children: e == null ? void 0 : e.address.street_line_one }),
630
- /* @__PURE__ */ s("div", { children: e == null ? void 0 : e.address.street_line_two }),
631
- /* @__PURE__ */ d("div", { children: [
632
- e == null ? void 0 : e.address.city,
633
- ", ",
634
- e == null ? void 0 : e.address.province,
635
- " ",
636
- e == null ? void 0 : e.address.postal_code
637
- ] }),
638
- /* @__PURE__ */ s("div", { children: e == null ? void 0 : e.address.country })
639
- ] })
640
- ] }),
641
- /* @__PURE__ */ s("section", { className: c(g.hoursWrapper), children: /* @__PURE__ */ s(Mt, { hours: e == null ? void 0 : e.retailer_location_hours }) }),
642
- /* @__PURE__ */ d("section", { className: "container", children: [
643
- /* @__PURE__ */ s("h5", { className: c(g.productTitle), children: i("store_locator.products") }),
644
- /* @__PURE__ */ s(ge, { children: (p = e == null ? void 0 : e.retailer_location_products) == null ? void 0 : p.map((f, y) => /* @__PURE__ */ s(ne, { xs: 6, className: "mb-3", children: /* @__PURE__ */ d("div", { className: c(g.product), children: [
645
- /* @__PURE__ */ s("img", { src: f.image_url || `https://placehold.co/400x400?text=${f.name}`, alt: f.name, className: c(g.productImage) }),
646
- /* @__PURE__ */ s("div", { className: c(g.productName), children: f.name }),
647
- /* @__PURE__ */ s("div", { className: c(g.productPrice), children: f.price })
648
- ] }) }, y)) })
649
- ] })
650
- ] }) });
651
- }, Ts = "_3k9so", Hs = "-sMg9", js = "IGCsG", Ws = "Ri4DF", Rs = "AmPYE", k = {
652
- title: Ts,
653
- formGroup: Hs,
654
- submit: js,
655
- error: Ws,
656
- success: Rs
657
- }, Bs = () => {
658
- const { id: e, messageModalOpen: t, setMessageModalOpen: n, selectedLocation: a, locale: i, searchCenter: r } = H(), { t: u } = E("default", { lng: i }), [l, m] = $(!1), [p, f] = $(!1), y = /^((\\+[1-9]{1,4}[ \\-]*)|(\\([0-9]{2,3}\\)[ \\-]*)|([0-9]{2,4})[ \\-]*)*?[0-9]{3,4}?[ \\-]*[0-9]{3,4}?$/, _ = Ae({
659
- name: Q().required(u("message.validation.name")),
660
- email: Q().email(u("message.validation.email")).required(u("message.validation.email")),
661
- phone: Q().matches(y, "Phone number is not valid"),
662
- message: Q().required(u("message.validation.message"))
663
- }), o = ze({
664
- initialValues: {
665
- name: "",
666
- email: "",
667
- phone: "",
668
- message: "",
669
- optIn: !1
670
- },
671
- enableReinitialize: !0,
672
- validationSchema: _,
673
- onSubmit: async (I) => {
674
- f(!0), tt("AIzaSyAnJmWEU1r63DiRWHkjczxzHyIEq3dhj4M");
675
- const S = await Ze(r == null ? void 0 : r.lat, r == null ? void 0 : r.lng), h = et(S.results[0].address_components);
676
- if (!(await fetch("https://api.colabcommerce.com/widget_api/leads", {
677
- method: "POST",
678
- headers: {
679
- "Content-Type": "application/json"
680
- },
681
- body: JSON.stringify({
682
- id: e,
683
- lead: {
684
- name: I.name,
685
- emails_attributes: [{ email: I.email }],
686
- phone_numbers_attributes: [{ phone_number: I.phone, country_code: "US" }],
687
- message: I.message,
688
- opt_in: I.optIn,
689
- location_attributes: {
690
- street_line_one: h == null ? void 0 : h.addressLine1,
691
- street_line_two: h == null ? void 0 : h.addressLine2,
692
- city: h == null ? void 0 : h.city,
693
- province: h == null ? void 0 : h.province,
694
- postal_code: h == null ? void 0 : h.postalCode,
695
- country: h == null ? void 0 : h.country,
696
- latitude: (r == null ? void 0 : r.lat) || null,
697
- longitude: (r == null ? void 0 : r.lng) || null
698
- },
699
- assignee_id: (a == null ? void 0 : a.id) || null,
700
- assignee_type: "CompanyRetailerLocation",
701
- lead_activities_attributes: [{
702
- type: "LeadActivity::Referral",
703
- message: I.message,
704
- source_type: "Company",
705
- source_id: e
706
- }]
707
- }
708
- })
709
- })).ok) {
710
- o.setErrors({ general: u("message.validation.general") }), f(!1);
711
- return;
712
- }
713
- m(!0), f(!1);
714
- }
715
- }), j = () => {
716
- n(!1), m(!1), o.resetForm();
717
- }, W = typeof window < "u" ? document.querySelector(".cc") : null;
718
- return /* @__PURE__ */ d(V, { container: W, show: t, centered: !0, dialogClassName: "cc", onHide: j, children: [
719
- l && /* @__PURE__ */ d("div", { className: "p-5 d-flex align-items-center justify-content-center flex-column", style: { display: l ? "flex" : "none" }, children: [
720
- /* @__PURE__ */ s("div", { className: "fw-bold fs-2", children: "Thank you!" }),
721
- /* @__PURE__ */ s("div", { className: "fw-bold mb-3", children: "Your Palliser retailer will be in touch soon" }),
722
- /* @__PURE__ */ s(oe, { variant: "dark", onClick: j, children: "Close" })
723
- ] }),
724
- !l && /* @__PURE__ */ d(se, { children: [
725
- /* @__PURE__ */ s(V.Header, { closeButton: !0, children: /* @__PURE__ */ d(V.Title, { className: c(k.title), children: [
726
- u("message.title"),
727
- " ",
728
- a == null ? void 0 : a.retailer_name
729
- ] }) }),
730
- /* @__PURE__ */ s(V.Body, { children: /* @__PURE__ */ d(w, { onSubmit: o.handleSubmit, children: [
731
- /* @__PURE__ */ d(w.Group, { className: c(k.formGroup), children: [
732
- /* @__PURE__ */ s(w.Label, { htmlFor: "name", children: u("message.name") }),
733
- /* @__PURE__ */ s(w.Control, { type: "text", name: "name", isInvalid: !!o.errors.name && o.touched.name, value: o.values.name, onChange: o.handleChange }),
734
- /* @__PURE__ */ s(w.Control.Feedback, { type: "invalid", style: { display: o.errors.name && o.touched.name ? "block" : "none" }, children: o.errors.name })
735
- ] }),
736
- /* @__PURE__ */ d(w.Group, { className: c(k.formGroup), children: [
737
- /* @__PURE__ */ s(w.Label, { htmlFor: "email", children: u("message.email") }),
738
- /* @__PURE__ */ s(
739
- w.Control,
740
- {
741
- type: "email",
742
- name: "email",
743
- isInvalid: !!o.errors.email && o.touched.email,
744
- value: o.values.email,
745
- onChange: o.handleChange
746
- }
747
- ),
748
- /* @__PURE__ */ s(w.Control.Feedback, { type: "invalid", style: { display: o.errors.email && o.touched.email ? "block" : "none" }, children: o.errors.email })
749
- ] }),
750
- /* @__PURE__ */ d(w.Group, { className: c(k.formGroup), children: [
751
- /* @__PURE__ */ s(w.Label, { children: u("message.phone") }),
752
- /* @__PURE__ */ s(w.Control, { type: "tel", name: "phone", isInvalid: !!o.errors.phone && o.touched.phone, value: o.values.phone, onChange: o.handleChange }),
753
- /* @__PURE__ */ s(w.Control.Feedback, { type: "invalid", style: { display: o.errors.phone && o.touched.phone ? "block" : "none" }, children: o.errors.phone })
754
- ] }),
755
- /* @__PURE__ */ d(w.Group, { className: c(k.formGroup), children: [
756
- /* @__PURE__ */ s(w.Label, { children: u("message.message") }),
757
- /* @__PURE__ */ s(w.Control, { as: "textarea", name: "message", isInvalid: !!o.errors.message && o.touched.message, value: o.values.message, onChange: o.handleChange }),
758
- /* @__PURE__ */ s(w.Control.Feedback, { type: "invalid", style: { display: o.errors.message && o.touched.message ? "block" : "none" }, children: o.errors.message })
759
- ] }),
760
- /* @__PURE__ */ d(oe, { className: c(k.submit), variant: "dark", type: "submit", disabled: o.isSubmitting || l, children: [
761
- !l && /* @__PURE__ */ s(se, { children: o.isSubmitting ? u("message.sending") : u("message.send") }),
762
- l && u("message.sent"),
763
- o.isSubmitting && /* @__PURE__ */ s("img", { src: "https://images.sofasandsectionals.com/cc/pal-loader.svg", alt: "Loading", width: 20, height: 20 })
764
- ] }),
765
- /* @__PURE__ */ s(w.Text, { className: c(k.success), children: l && u("message.success") }),
766
- /* @__PURE__ */ s(w.Text, { className: c(k.error), children: o.errors.general })
767
- ] }) })
768
- ] })
769
- ] });
770
- }, Ds = {}, Fs = ({ id: e, locale: t, baseUrl: n = "/retailers" }) => {
771
- var m;
772
- const { t: a, i18n: i } = E("default"), { settings: r, setSelectedLocationId: u } = H();
773
- D(() => {
774
- i.changeLanguage(t);
775
- }, [t]);
776
- const l = (p) => {
777
- u(p.id);
778
- };
779
- return /* @__PURE__ */ d("div", { className: "cc", children: [
780
- /* @__PURE__ */ s("style", { dangerouslySetInnerHTML: { __html: ((m = r == null ? void 0 : r.entity) == null ? void 0 : m.store_locator_css) || "" } }),
781
- /* @__PURE__ */ d(ge, { children: [
782
- /* @__PURE__ */ s(Cs, {}),
783
- /* @__PURE__ */ s(ne, { xs: { order: 0 }, lg: { order: 1 }, className: c(Ds.noMap, "position-relative"), children: /* @__PURE__ */ d("div", { className: "position-relative", children: [
784
- /* @__PURE__ */ s(at, {}),
785
- /* @__PURE__ */ s(nt, { onMarkerClick: l })
786
- ] }) })
787
- ] }),
788
- /* @__PURE__ */ s(Es, {}),
789
- /* @__PURE__ */ s(Bs, {})
790
- ] });
791
- }, qs = ({ id: e, locale: t }) => /* @__PURE__ */ s(He, { children: /* @__PURE__ */ s(Le, { i18n: Ge, children: /* @__PURE__ */ d(Ue, { apiKey: "AIzaSyAnJmWEU1r63DiRWHkjczxzHyIEq3dhj4M", libraries: ["places"], children: [
792
- /* @__PURE__ */ s("script", { src: "https://maps.googleapis.com/maps/api/js?key=AIzaSyAnJmWEU1r63DiRWHkjczxzHyIEq3dhj4M&libraries=places" }),
793
- /* @__PURE__ */ s(st, { id: e, lngLocale: t, autolocate: !0, children: /* @__PURE__ */ s(Fs, { id: e, locale: t }) })
794
- ] }) }) });
795
- export {
796
- qs as default
797
- };