@sonic-equipment/ui 0.0.74 → 0.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +33 -20
- package/dist/index.js +398 -233
- package/dist/src/algolia/use-algolia-insights.d.ts +1 -2
- package/dist/src/buttons/favorite/connected-favorite-button.d.ts +3 -2
- package/dist/src/cards/product-card/connected-product-cart.d.ts +3 -2
- package/dist/src/carousel/carousel.d.ts +7 -3
- package/dist/src/carousel/product-carousel/product-carousel.d.ts +5 -1
- package/dist/src/carousel/product-carousel/product-carousel.stories.d.ts +1 -0
- package/dist/src/collapsables/accordion/accordion-item.d.ts +3 -1
- package/dist/src/collapsables/accordion/accordion.d.ts +4 -4
- package/dist/src/collapsables/accordion/accordion.stories.d.ts +3 -0
- package/dist/src/collapsables/show-all/show-all.d.ts +12 -5
- package/dist/src/collapsables/show-all/show-all.stories.d.ts +6 -4
- package/dist/src/intl/translation-id.d.ts +1 -1
- package/dist/src/lists/download-document-list/document-download-list.stories.d.ts +13 -0
- package/dist/src/lists/download-document-list/download-document-list.d.ts +11 -0
- package/dist/src/lists/feature-list/feature-list.d.ts +26 -0
- package/dist/src/lists/feature-list/feature-list.stories.d.ts +16 -0
- package/dist/src/pages/product-details-page/components/product-details-panel.d.ts +4 -0
- package/dist/src/shared/api/bff/model/bff.model.d.ts +3 -3
- package/dist/src/shared/hooks/use-resize-observer.d.ts +4 -0
- package/dist/src/shared/utils/merge.d.ts +12 -0
- package/dist/styles.css +304 -130
- package/package.json +2 -1
- package/dist/src/algolia/algolia-filter-section.d.ts +0 -17
- package/dist/src/global-search/plugins/products-plugin.d.ts +0 -7
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ import { createQuerySuggestionsPlugin } from '@algolia/autocomplete-plugin-query
|
|
|
19
19
|
import { createLocalStorageRecentSearchesPlugin, search } from '@algolia/autocomplete-plugin-recent-searches';
|
|
20
20
|
|
|
21
21
|
const environments = ['sandbox', 'production', 'local'];
|
|
22
|
-
const localUrls = /
|
|
22
|
+
const localUrls = /localhost:6006/i;
|
|
23
23
|
const sandboxUrls = /local|insitesandbox.com|azurestaticapps|ui.sonic-equipment.com|sandbox|accept|test/i;
|
|
24
24
|
const productionUrls = /sonic-equipment.com|production/i;
|
|
25
25
|
let environmentUrl;
|
|
@@ -31,7 +31,7 @@ function getEnvironment() {
|
|
|
31
31
|
environmentUrl = process.env.BUILD_INFO;
|
|
32
32
|
}
|
|
33
33
|
else if (typeof window !== 'undefined') {
|
|
34
|
-
environmentUrl = window.location.hostname
|
|
34
|
+
environmentUrl = `${window.location.hostname}:${window.location.port}`;
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
37
|
environmentUrl = 'production';
|
|
@@ -1163,7 +1163,7 @@ function useNavigate() {
|
|
|
1163
1163
|
};
|
|
1164
1164
|
}
|
|
1165
1165
|
|
|
1166
|
-
var styles$
|
|
1166
|
+
var styles$W = {"link":"link-module-xLqBn","primary":"link-module-bGD6u","secondary":"link-module-v31wH","has-underline":"link-module-UuCEp"};
|
|
1167
1167
|
|
|
1168
1168
|
function Link({ children, className, color = 'primary', hasUnderline, onClick: _onClick, ...props }) {
|
|
1169
1169
|
function onClick(e) {
|
|
@@ -1172,7 +1172,7 @@ function Link({ children, className, color = 'primary', hasUnderline, onClick: _
|
|
|
1172
1172
|
return;
|
|
1173
1173
|
e.preventDefault();
|
|
1174
1174
|
}
|
|
1175
|
-
return (jsx(Link$1, { className: clsx({ [styles$
|
|
1175
|
+
return (jsx(Link$1, { className: clsx({ [styles$W['has-underline']]: hasUnderline }, styles$W['link'], styles$W[color], className),
|
|
1176
1176
|
// Workaround for adobe/react-spectrum #963
|
|
1177
1177
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
1178
1178
|
// @ts-ignore
|
|
@@ -1271,24 +1271,24 @@ function SolidHomeIcon(props) {
|
|
|
1271
1271
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M15.039782,22 C14.6690193,22 14.3684378,21.6994185 14.3684378,21.3286559 L14.3684378,15.6029043 L9.34495251,15.6029043 L9.34495251,21.3286559 C9.34495251,21.6994185 9.04437101,22 8.67345678,22 L3.67134415,22 C3.3005815,22 3,21.6994185 3,21.3286559 L3,9.79560307 C3,9.60127857 3.08412644,9.41665514 3.23055192,9.28917706 L11.4158271,2.16495603 C11.6686612,1.94501466 12.0447291,1.94501466 12.2975632,2.16495603 L20.4828384,9.28917706 C20.6292639,9.41665514 20.7133903,9.60127857 20.7133903,9.79560307 L20.7133903,21.3286559 C20.7133903,21.6994185 20.4128088,22 20.0418946,22 L15.039782,22 Z", fillRule: "evenodd" }) }));
|
|
1272
1272
|
}
|
|
1273
1273
|
|
|
1274
|
-
var styles$
|
|
1274
|
+
var styles$V = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
|
|
1275
1275
|
|
|
1276
1276
|
function BreadcrumbShort({ links }) {
|
|
1277
1277
|
const homeLink = links[0];
|
|
1278
1278
|
const previousLink = links[links.length - 2];
|
|
1279
1279
|
const isHomeLink = previousLink === undefined || previousLink === homeLink;
|
|
1280
1280
|
const href = previousLink?.href || homeLink?.href;
|
|
1281
|
-
return (jsx(Breadcrumbs, { className: styles$
|
|
1281
|
+
return (jsx(Breadcrumbs, { className: styles$V.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$V.breadcrumb, children: jsxs(RouteLink, { className: styles$V.link, href: href, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$V.icon }), isHomeLink ? (jsx(SolidHomeIcon, { className: styles$V.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
|
|
1282
1282
|
}
|
|
1283
1283
|
function BreadcrumbLongItem({ index, isDisabled, link, }) {
|
|
1284
|
-
return (jsx(Breadcrumb$1, { className: styles$
|
|
1284
|
+
return (jsx(Breadcrumb$1, { className: styles$V.breadcrumb, children: jsxs(RouteLink, { className: styles$V.link, color: "secondary", href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$V['previous-icon'], styles$V.icon) }), link.label] }) }, index));
|
|
1285
1285
|
}
|
|
1286
1286
|
function BreadcrumbLong({ links }) {
|
|
1287
1287
|
const linksWithoutFirst = links.slice(1);
|
|
1288
1288
|
const homeLink = links[0];
|
|
1289
1289
|
if (!homeLink)
|
|
1290
1290
|
return null;
|
|
1291
|
-
return (jsxs(Breadcrumbs, { className: styles$
|
|
1291
|
+
return (jsxs(Breadcrumbs, { className: styles$V.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$V.breadcrumb, children: jsx(RouteLink, { className: styles$V.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$V['home-icon'], styles$V.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
|
|
1292
1292
|
}
|
|
1293
1293
|
function Breadcrumb({ links }) {
|
|
1294
1294
|
const { lg } = useBreakpoint();
|
|
@@ -1297,10 +1297,10 @@ function Breadcrumb({ links }) {
|
|
|
1297
1297
|
return lg ? BreadcrumbLong({ links }) : BreadcrumbShort({ links });
|
|
1298
1298
|
}
|
|
1299
1299
|
|
|
1300
|
-
var styles$
|
|
1300
|
+
var styles$U = {"icon-button":"icon-button-module-4PDK-","md":"icon-button-module-k3s9J","lg":"icon-button-module-agk6Y","primary":"icon-button-module-fTeP4","secondary":"icon-button-module-dM0eo"};
|
|
1301
1301
|
|
|
1302
1302
|
function IconButton({ children, className, color = 'primary', isDisabled, onPress, size = 'md', type = 'button', }) {
|
|
1303
|
-
return (jsx(Button$1, { className: clsx(styles$
|
|
1303
|
+
return (jsx(Button$1, { className: clsx(styles$U['icon-button'], styles$U[size], styles$U[color], className), isDisabled: isDisabled,
|
|
1304
1304
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
1305
1305
|
// @ts-expect-error
|
|
1306
1306
|
onClick: e => e.preventDefault(), onPress: onPress, type: type, children: children }));
|
|
@@ -1314,21 +1314,21 @@ function StrokeFavoriteIcon(props) {
|
|
|
1314
1314
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M7.33319295,3.33090958 C5.12714802,3.33090958 3.33232058,5.12348359 3.33232058,7.32679321 C3.33232058,8.18447047 3.64878056,9.03643889 4.29989998,9.93107334 L11.9997744,20.2227497 L19.7053643,9.92401241 C20.351069,9.03643889 20.6673786,8.1846207 20.6673786,7.32679321 C20.6673786,5.12348359 18.8727016,3.33090958 16.6666566,3.33090958 C14.8537801,3.33090958 13.1222748,4.56251549 12.6388611,6.19569283 C12.5552338,6.47843037 12.2951771,6.67253074 11.9999248,6.67253074 C11.7046724,6.67253074 11.4447662,6.47843037 11.3609885,6.19569283 C10.8775748,4.56251549 9.14606944,3.33090958 7.33319295,3.33090958 M11.9997744,22 L11.9997744,22 C11.7898038,22 11.5918659,21.9008466 11.4662746,21.7327364 L3.22718487,10.720545 C2.41106707,9.59905954 2,8.45954615 2,7.32679321 C2,4.3895979 4.39240135,2 7.33319295,2 C9.22488362,2 11.0018124,2.98206975 11.9999248,4.46786903 C12.9978868,2.98206975 14.774966,2 16.6666566,2 C19.6072978,2 22,4.3895979 22,7.32679321 C22,8.45969638 21.5887825,9.59920978 20.777929,10.7136343 L12.5334246,21.7327364 C12.4076829,21.9008466 12.2098954,22 11.9997744,22", fillRule: "evenodd" }) }));
|
|
1315
1315
|
}
|
|
1316
1316
|
|
|
1317
|
-
var styles$
|
|
1317
|
+
var styles$T = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
|
|
1318
1318
|
|
|
1319
1319
|
function FavoriteButton({ isDisabled, isFavorite, onPress, }) {
|
|
1320
|
-
return (jsx(IconButton, { className: clsx(styles$
|
|
1321
|
-
[styles$
|
|
1320
|
+
return (jsx(IconButton, { className: clsx(styles$T['favorite-button'], {
|
|
1321
|
+
[styles$T['is-favorite']]: isFavorite,
|
|
1322
1322
|
}), color: "secondary", isDisabled: isDisabled, onPress: onPress, children: isFavorite ? jsx(SolidFavoriteIcon, {}) : jsx(StrokeFavoriteIcon, {}) }));
|
|
1323
1323
|
}
|
|
1324
1324
|
|
|
1325
|
-
var styles$
|
|
1325
|
+
var styles$S = {"field-error":"field-error-module-FXnIg"};
|
|
1326
1326
|
|
|
1327
1327
|
function FieldError({ children }) {
|
|
1328
|
-
return (jsx(FieldError$1, { className: styles$
|
|
1328
|
+
return (jsx(FieldError$1, { className: styles$S['field-error'], children: children }));
|
|
1329
1329
|
}
|
|
1330
1330
|
|
|
1331
|
-
var styles$
|
|
1331
|
+
var styles$R = {"input-container":"input-module-2woJR","shadow-input":"input-module-pNKEt","lg":"input-module-Dx2qC","md":"input-module-sH6e7","focus":"input-module-hEEuy","growing-input":"input-module-6HwY4"};
|
|
1332
1332
|
|
|
1333
1333
|
/**
|
|
1334
1334
|
* This component is used to create an input that grows as the user types.
|
|
@@ -1344,20 +1344,20 @@ const Input = forwardRef(({ _pseudo = 'none', autoGrow, size = 'lg', ...inputPro
|
|
|
1344
1344
|
? onChange?.(event)
|
|
1345
1345
|
: setUncontrolledValue(event.target.value);
|
|
1346
1346
|
const { pressProps } = usePress({});
|
|
1347
|
-
return (jsx("div", { className: clsx(styles$
|
|
1347
|
+
return (jsx("div", { className: clsx(styles$R['input-container'], styles$R[size], styles$R[_pseudo]), children: jsxs("div", { className: clsx({ [styles$R['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ...pressProps, ref: ref, onChange: handleChange, onClick: e => {
|
|
1348
1348
|
e.preventDefault();
|
|
1349
1349
|
e.stopPropagation();
|
|
1350
1350
|
e.target.focus();
|
|
1351
|
-
} }), autoGrow && jsx("span", { className: styles$
|
|
1351
|
+
} }), autoGrow && jsx("span", { className: styles$R['shadow-input'], children: value })] }) }));
|
|
1352
1352
|
});
|
|
1353
1353
|
Input.displayName = 'Input';
|
|
1354
1354
|
|
|
1355
|
-
var styles$
|
|
1355
|
+
var styles$Q = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
|
|
1356
1356
|
|
|
1357
1357
|
function Label({ children, isRequired }) {
|
|
1358
1358
|
if (!children)
|
|
1359
1359
|
return null;
|
|
1360
|
-
return (jsxs(Label$1, { className: styles$
|
|
1360
|
+
return (jsxs(Label$1, { className: styles$Q.label, children: [children, isRequired && jsx("span", { className: styles$Q.required, children: "*" })] }));
|
|
1361
1361
|
}
|
|
1362
1362
|
|
|
1363
1363
|
function StrokeCollapseIcon(props) {
|
|
@@ -1372,7 +1372,7 @@ function StrokeTrashIcon(props) {
|
|
|
1372
1372
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M7.77273912,6.04398453 L9.07201126,6.04398453 L9.07201126,4.11757519 C9.07201126,3.84748949 9.15880324,3.63104347 9.33238719,3.46823712 C9.50597114,3.30543077 9.73570292,3.22402759 10.0215825,3.22402759 L13.3263825,3.22402759 C13.6186194,3.22402759 13.850313,3.30543077 14.0214633,3.46823712 C14.1926136,3.63104347 14.2781888,3.84748949 14.2781888,4.11757519 L14.2781888,6.04398453 L15.5846129,6.04398453 L15.5846129,4.04352264 C15.5846129,3.40769382 15.3900697,2.90814951 15.0009834,2.5448897 C14.6118971,2.1816299 14.0799703,2 13.405203,2 L9.942762,2 C9.26869007,2 8.73850162,2.1816299 8.35219662,2.5448897 C7.96589162,2.90814951 7.77273912,3.40769382 7.77273912,4.04352264 L7.77273912,6.04398453 Z M3.60955531,6.6940676 L19.7561406,6.6940676 C19.9248076,6.6940676 20.0683931,6.6332263 20.186897,6.51154371 C20.305401,6.38986111 20.3646529,6.242352 20.3646529,6.06901638 C20.3646529,5.9003494 20.3052023,5.75537328 20.186301,5.63408801 C20.0673997,5.51280275 19.9240129,5.45216011 19.7561406,5.45216011 L3.60955531,5.45216011 C3.44734496,5.45216011 3.30519982,5.51300141 3.18311989,5.63468401 C3.06103996,5.75636661 3,5.90114406 3,6.06901638 C3,6.24314666 3.06103996,6.39085444 3.18311989,6.5121397 C3.30519982,6.63342497 3.44734496,6.6940676 3.60955531,6.6940676 Z M7.56920636,22 L15.8049825,22 C16.4210441,22 16.9252074,21.8108208 17.3174724,21.4324624 C17.7097373,21.0541041 17.9209684,20.5545101 17.9511655,19.9336805 L18.6066126,6.5283806 L17.2870766,6.5283806 L16.6578534,19.8059883 C16.6444435,20.0808419 16.5455825,20.3084381 16.3612707,20.4887766 C16.1769588,20.6691152 15.9469787,20.7592845 15.6713303,20.7592845 L7.68497866,20.7592845 C7.41479362,20.7592845 7.18757,20.6677246 7.00330778,20.4846047 C6.81904556,20.3014848 6.72015983,20.0752793 6.70665057,19.8059883 L6.05358753,6.5295726 L4.76996029,6.5295726 L5.41587138,19.9420245 C5.4468632,20.562854 5.65806942,21.0610573 6.04949005,21.4366344 C6.44091068,21.8122115 6.94748278,22 7.56920636,22 Z M9.00213069,19.1375783 C9.15957307,19.1375783 9.2862223,19.0920591 9.38207839,19.0010206 C9.47793448,18.9099822 9.5230812,18.7917017 9.51751857,18.6461793 L9.2314403,8.86811345 C9.22587767,8.72338566 9.17618647,8.60729053 9.0823667,8.51982806 C8.98854694,8.43236558 8.86649184,8.38863435 8.71620142,8.38863435 C8.55945437,8.38863435 8.43436962,8.43395491 8.34094719,8.52459603 C8.24752475,8.61523714 8.20081354,8.73371626 8.20081354,8.88003338 L8.48555081,18.6485633 C8.49121278,18.7988537 8.54055631,18.9179288 8.63358142,19.0057886 C8.72660652,19.0936484 8.84945628,19.1375783 9.00213069,19.1375783 Z M11.6876904,19.1375783 C11.8451328,19.1375783 11.9717821,19.0922578 12.0676381,19.0016166 C12.1634942,18.9109755 12.2114223,18.7924964 12.2114223,18.6461793 L12.2114223,8.88003338 C12.2114223,8.73451092 12.1634942,8.61623047 12.0676381,8.52519202 C11.9717821,8.43415357 11.8451328,8.38863435 11.6876904,8.38863435 C11.5310427,8.38863435 11.4032015,8.43415357 11.3041668,8.52519202 C11.205132,8.61623047 11.1556147,8.73451092 11.1556147,8.88003338 L11.1556147,18.6461793 C11.1556147,18.7924964 11.205132,18.9109755 11.3041668,19.0016166 C11.4032015,19.0922578 11.5310427,19.1375783 11.6876904,19.1375783 Z M14.3635653,19.1387703 C14.516339,19.1387703 14.6392384,19.0948404 14.7322635,19.0069806 C14.8252886,18.9191208 14.8745825,18.802827 14.8801451,18.6580992 L15.1662234,8.88122537 C15.1662234,8.73490825 15.1194873,8.6166278 15.0260152,8.52638402 C14.9325431,8.43614023 14.8070859,8.39101833 14.6496435,8.39101833 C14.4993531,8.39101833 14.3772732,8.4345509 14.2834037,8.52161604 C14.1895343,8.60868118 14.1398183,8.7277563 14.1342556,8.87884138 L13.8483264,18.6485633 C13.8483264,18.7932911 13.8948389,18.9111742 13.987864,19.0022126 C14.0808891,19.0932511 14.2061229,19.1387703 14.3635653,19.1387703 Z" }) }));
|
|
1373
1373
|
}
|
|
1374
1374
|
|
|
1375
|
-
var styles$
|
|
1375
|
+
var styles$P = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
|
|
1376
1376
|
|
|
1377
1377
|
/**
|
|
1378
1378
|
* This component is used to create a number field.
|
|
@@ -1380,7 +1380,7 @@ var styles$N = {"field":"number-field-module-gmnog","button-input-container":"nu
|
|
|
1380
1380
|
*/
|
|
1381
1381
|
function NumberField({ autoFocus, autoGrow, defaultValue, formatOptions = { style: 'decimal', useGrouping: false }, isDisabled, isInvalid, isReadOnly, isRequired, label, maxLength, maxValue, minValue, name, onChange, onInput, onKeyUp, placeholder, showLabel = false, size = 'lg', value, withButtons, }) {
|
|
1382
1382
|
const inputRef = useRef(null);
|
|
1383
|
-
return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$
|
|
1383
|
+
return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$P.field, styles$P[size]), defaultValue: defaultValue, formatOptions: formatOptions, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxValue: maxValue, minValue: minValue, name: name, onChange: onChange, onInput: onInput, value: value, children: [showLabel && jsx(Label, { isRequired: isRequired, children: label }), jsxs("div", { className: styles$P['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
|
|
1384
1384
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
1385
1385
|
// @ts-expect-error
|
|
1386
1386
|
onClick: e => e.preventDefault(), onPressStart: e => e.target.focus(), slot: "decrement", children: (value || 0) <= 1 ? jsx(StrokeTrashIcon, {}) : jsx(StrokeCollapseIcon, {}) })), jsx(Input, { ref: inputRef, autoGrow: autoGrow, maxLength: maxLength, onFocus: e => (e.target.selectionStart = e.target.value.length || 0), onKeyUp: e => onKeyUp?.(e), placeholder: placeholder, size: size }), withButtons && (jsx(Button$1, { isDisabled: isDisabled,
|
|
@@ -1393,7 +1393,7 @@ function SolidCartIcon(props) {
|
|
|
1393
1393
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M7.89619008,16.6656848 C9.33405626,16.6656848 10.4996925,17.831321 10.4996925,19.2690253 C10.4996925,20.7068915 9.33405626,21.8725278 7.89619008,21.8725278 C6.45832389,21.8725278 5.29268766,20.7068915 5.29268766,19.2690253 C5.29268766,17.831321 6.45832389,16.6656848 7.89619008,16.6656848 Z M16.8207199,16.6656848 C18.2585861,16.6656848 19.4242223,17.831321 19.4242223,19.2690253 C19.4242223,20.7068915 18.2585861,21.8725278 16.8207199,21.8725278 C15.3828537,21.8725278 14.2172175,20.7068915 14.2172175,19.2690253 C14.2172175,17.831321 15.3828537,16.6656848 16.8207199,16.6656848 Z M7.89619008,18.0995047 C7.25122196,18.0995047 6.72650762,18.6242191 6.72650762,19.2690253 C6.72650762,19.9139935 7.25122196,20.4387078 7.89619008,20.4387078 C8.54115819,20.4387078 9.06587253,19.9139935 9.06587253,19.2690253 C9.06587253,18.6242191 8.54115819,18.0995047 7.89619008,18.0995047 Z M16.8207199,18.0995047 C16.1757518,18.0995047 15.6510375,18.6242191 15.6510375,19.2690253 C15.6510375,19.9139935 16.1757518,20.4387078 16.8207199,20.4387078 C17.465688,20.4387078 17.9904024,19.9139935 17.9904024,19.2690253 C17.9904024,18.6242191 17.465688,18.0995047 16.8207199,18.0995047 Z M4.58909785,3 C4.6054446,3 4.6206584,3.00372253 4.63668145,3.00485547 C4.65869291,3.00631211 4.68038067,3.0079306 4.70174473,3.01132943 C4.72958275,3.0158612 4.75628783,3.02233516 4.78299291,3.02994206 C4.8001489,3.03479753 4.81698119,3.03949115 4.83365164,3.04564141 C4.8622989,3.05616159 4.88948953,3.06862396 4.91619461,3.08254297 L4.956495,3.10439258 C4.98287638,3.12025378 5.00763927,3.13789532 5.03175477,3.15699349 L5.06736154,3.18645 C5.08921115,3.20603373 5.10911857,3.22707409 5.1283786,3.2492474 C5.13986987,3.26251902 5.1511993,3.27562878 5.16171948,3.28970964 C5.17806623,3.31155925 5.19230894,3.33421811 5.2060661,3.35768621 C5.21626258,3.37500405 5.22597352,3.39216004 5.23455152,3.41028712 C5.24555725,3.43326967 5.25462079,3.45706147 5.26319878,3.48150066 C5.27032014,3.50205548 5.27711779,3.52244845 5.28245881,3.54381251 C5.28860907,3.56825171 5.29249345,3.59317645 5.29605412,3.61858673 C5.29799631,3.63299129 5.30252808,3.64642476 5.30382287,3.66115301 L5.510504,6.30738355 L21.2869744,6.30772748 C21.3139222,6.30835464 21.3370666,6.31256272 21.3603729,6.3151523 C21.3861069,6.31790373 21.4120027,6.31936037 21.4369275,6.32486324 C21.4591008,6.32923316 21.4726961,6.33603082 21.4875862,6.34056259 C21.5163953,6.34914058 21.5452044,6.35723303 21.5722332,6.36920985 C21.5918169,6.37778785 21.6092966,6.38911728 21.6275855,6.39931376 C21.6497588,6.41145243 21.6722559,6.42278186 21.6928107,6.43718642 C21.711747,6.45029618 21.7280937,6.46583368 21.7455734,6.48072379 C21.763215,6.49577574 21.7815039,6.51001845 21.7976888,6.52668889 C21.8132263,6.54287379 21.8261742,6.56067718 21.8400932,6.57815686 C21.8551452,6.59676949 21.8706827,6.61473473 21.8836306,6.634804 C21.8954456,6.65293108 21.9043473,6.67251481 21.9145437,6.69161299 C21.9258732,6.71330075 21.9381737,6.73434111 21.9473991,6.75716182 C21.9559771,6.77868773 21.9614799,6.80134658 21.9679539,6.82368174 C21.9744279,6.8456932 21.9820348,6.86705726 21.9864047,6.89003981 C21.9915839,6.91658304 21.9925549,6.94393552 21.994659,6.97128799 C21.9959538,6.98909138 22,7.00608552 22,7.0242126 C21.9988671,7.05496391 21.994659,7.07794646 21.9922312,7.10109086 C21.9894798,7.1269867 21.9880232,7.15320623 21.9825203,7.17813097 L20.5915903,13.2322533 L20.587706,13.2487619 C20.5797754,13.2835594 20.5681222,13.3164147 20.555498,13.3486227 C20.5524229,13.3567151 20.5499951,13.3651313 20.5465963,13.3730619 C20.5299259,13.4117438 20.5096948,13.4483216 20.4870359,13.4827955 C20.4797527,13.4938012 20.4710129,13.5031884 20.4632441,13.5137086 C20.445117,13.5381478 20.4265044,13.5619396 20.4056259,13.5836274 C20.3944583,13.5952805 20.3823196,13.605477 20.3705046,13.6163208 C20.3505972,13.6344479 20.3302043,13.6517658 20.3083546,13.6674651 C20.2941119,13.6778235 20.2795455,13.6872107 20.2646554,13.6964361 C20.2424821,13.7101932 20.2198233,13.7223319 20.1963552,13.7334995 L20.148286,13.7550254 C20.1214191,13.7655456 20.0935811,13.7734762 20.0654194,13.7807594 C20.0513385,13.7843201 20.037905,13.7888518 20.0235005,13.7916033 C19.9798012,13.8000194 19.9351309,13.8053604 19.8898132,13.8053604 L6.09623539,13.8051986 L6.20774933,15.2317353 L19.411064,15.2317353 C19.8069466,15.2317353 20.1278931,15.5528437 20.1278931,15.9487262 C20.1278931,16.3446088 19.8069466,16.6657172 19.411064,16.6657172 L5.54384488,16.6657172 C5.49593759,16.6657172 5.44932509,16.660538 5.40384553,16.6514744 C5.38863173,16.6483993 5.37471272,16.6425728 5.35998446,16.6386884 C5.33052795,16.6307578 5.30090959,16.6231509 5.27290972,16.6116596 C5.25543003,16.6043764 5.23940699,16.5945036 5.22257469,16.5859256 C5.19910659,16.5741106 5.17547665,16.5627812 5.15362704,16.5485385 C5.13711844,16.5376946 5.12255203,16.5249086 5.10701453,16.5127699 C5.08694526,16.4972324 5.06687599,16.4821804 5.04874891,16.4647007 C5.03434435,16.4509436 5.02204383,16.4357298 5.00893406,16.4208397 C4.99226362,16.4019033 4.97575503,16.3834526 4.96118862,16.3628977 C4.94937364,16.3463891 4.93966271,16.3285858 4.92930437,16.3111061 C4.91668015,16.2899039 4.90437963,16.2688635 4.8940213,16.2462046 C4.88511961,16.2267828 4.87832195,16.2065516 4.87103875,16.1861587 C4.86310815,16.163338 4.8553394,16.1406791 4.84967468,16.1168873 C4.84433367,16.0950377 4.84109669,16.0728644 4.83785971,16.0502055 L4.82992911,16.0045641 L3.92600265,4.43381996 L2.7169909,4.43381996 C2.32110834,4.43381996 2,4.11287347 2,3.7169909 C2,3.32094649 2.32110834,3 2.7169909,3 Z", fillRule: "evenodd" }) }));
|
|
1394
1394
|
}
|
|
1395
1395
|
|
|
1396
|
-
var styles$
|
|
1396
|
+
var styles$O = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
|
|
1397
1397
|
|
|
1398
1398
|
function AddToCartButton({ initialState = 'initial', isDisabled = false, onChange, quantity, }) {
|
|
1399
1399
|
const [currentState, setState] = useState(initialState);
|
|
@@ -1481,7 +1481,7 @@ function ManualInputState({ isDisabled, onCancel, onConfirm, quantity, }) {
|
|
|
1481
1481
|
e.key === 'Enter' && onConfirm(ensureNumber(updatedQuantity));
|
|
1482
1482
|
e.key === 'Escape' && onCancel();
|
|
1483
1483
|
};
|
|
1484
|
-
return (jsxs("div", { className: styles$
|
|
1484
|
+
return (jsxs("div", { className: styles$O['manual-input-container'], children: [jsx("div", { className: styles$O['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
|
|
1485
1485
|
maximumFractionDigits: 0,
|
|
1486
1486
|
style: 'decimal',
|
|
1487
1487
|
useGrouping: false,
|
|
@@ -1531,12 +1531,12 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
|
|
|
1531
1531
|
return (jsx(AddToCartButton, { isDisabled: isPendingDeleteCartLine || isLoadingCartLines || isPendingAddToCart, onChange: handleChange, quantity: quantity }));
|
|
1532
1532
|
};
|
|
1533
1533
|
|
|
1534
|
-
var styles$
|
|
1534
|
+
var styles$N = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
|
|
1535
1535
|
|
|
1536
1536
|
function Tag({ children }) {
|
|
1537
1537
|
if (!children)
|
|
1538
1538
|
return null;
|
|
1539
|
-
return (jsxs("div", { className: styles$
|
|
1539
|
+
return (jsxs("div", { className: styles$N.tag, children: [jsx("div", { className: styles$N.body, children: children }), jsx("svg", { className: styles$N.shape, height: "16", viewBox: "0 0 9 16", width: "9", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1.92461763,0 L0,0 L0,16 L1.92461763,16 L6.4117887,16 L8.87489381,7.57121588 C9.23711515,6.3325062 8.79482383,4.99454094 7.78060408,4.2560794 L1.92461763,0 Z", fill: "currentColor" }) })] }));
|
|
1540
1540
|
}
|
|
1541
1541
|
|
|
1542
1542
|
const IntlContext = createContext({
|
|
@@ -1572,35 +1572,35 @@ function useFormattedMessage() {
|
|
|
1572
1572
|
|
|
1573
1573
|
const FormattedMessage = ({ fallbackValue, id, optional, replacementValues, }) => useFormattedMessage()(id, { fallbackValue, optional, replacementValues });
|
|
1574
1574
|
|
|
1575
|
-
var styles$
|
|
1575
|
+
var styles$M = {"product-price":"product-price-module-oIU1K","original-price":"product-price-module-til0s","is-hidden":"product-price-module-V1NCf","current-price-wrapper":"product-price-module-FfVhl","current-price":"product-price-module-pvy2w","wholes":"product-price-module-GCw07","dot":"product-price-module-N56iV","decimals":"product-price-module-eWOOF","vat":"product-price-module-96DoG"};
|
|
1576
1576
|
|
|
1577
1577
|
const formatPrice = (price) => new Intl.NumberFormat('en-US', {
|
|
1578
1578
|
maximumFractionDigits: 2,
|
|
1579
1579
|
minimumFractionDigits: 2,
|
|
1580
1580
|
}).format(price);
|
|
1581
1581
|
function ProductPrice({ className, isVatIncluded, originalPrice, price, }) {
|
|
1582
|
-
if (
|
|
1582
|
+
if (isNaN(price))
|
|
1583
1583
|
return;
|
|
1584
1584
|
const originalPriceWithCurrency = formatPrice(!isNaN(originalPrice) ? originalPrice : price);
|
|
1585
1585
|
const priceWithCurrency = formatPrice(price);
|
|
1586
1586
|
const [wholes, decimals] = priceWithCurrency.split('.');
|
|
1587
1587
|
const showOriginalPrice = priceWithCurrency !== originalPriceWithCurrency;
|
|
1588
|
-
return (jsxs("div", { className: clsx(className, styles$
|
|
1589
|
-
[styles$
|
|
1590
|
-
}), children: originalPriceWithCurrency }), jsxs("div", { className: styles$
|
|
1588
|
+
return (jsxs("div", { className: clsx(className, styles$M['product-price']), children: [jsx("span", { className: clsx(styles$M['original-price'], {
|
|
1589
|
+
[styles$M['is-hidden']]: !showOriginalPrice,
|
|
1590
|
+
}), children: originalPriceWithCurrency }), jsxs("div", { className: styles$M['current-price-wrapper'], children: [jsxs("div", { className: styles$M['current-price'], children: [jsx("span", { className: styles$M.wholes, children: wholes }), jsx("span", { className: styles$M.dot, children: "." }), jsx("span", { className: styles$M.decimals, children: decimals })] }), jsx("span", { className: styles$M.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
|
|
1591
1591
|
}
|
|
1592
1592
|
|
|
1593
|
-
var styles$
|
|
1593
|
+
var styles$L = {"product-sku":"product-sku-module-ITb8x"};
|
|
1594
1594
|
|
|
1595
1595
|
function ProductSku({ sku }) {
|
|
1596
|
-
return (jsx("p", { className: styles$
|
|
1596
|
+
return (jsx("p", { className: styles$L['product-sku'], "data-test-selector": "productNumber", children: sku }));
|
|
1597
1597
|
}
|
|
1598
1598
|
|
|
1599
1599
|
function isResponsiveImage(image) {
|
|
1600
1600
|
return Boolean(image.lg);
|
|
1601
1601
|
}
|
|
1602
1602
|
|
|
1603
|
-
var styles$
|
|
1603
|
+
var styles$K = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B","picture":"image-module-pNYjR"};
|
|
1604
1604
|
|
|
1605
1605
|
function Image({ className, fallbackSrc = 'https://res.cloudinary.com/dkz9eknwh/image/upload/v1716545808/images/product-card/fallback_p6ngjz.svg', fit = 'cover', height, image, loading = 'eager', title, width, }) {
|
|
1606
1606
|
const [hasError, setHasError] = useState(false);
|
|
@@ -1627,22 +1627,83 @@ function ImageComponent({ className, fallbackSrc, fit = 'cover', hasError, image
|
|
|
1627
1627
|
const srcSet = !hasError
|
|
1628
1628
|
? `${image[1]} 1x, ${image[2]} 2x, ${image[3]} 3x`
|
|
1629
1629
|
: undefined;
|
|
1630
|
-
return (jsx("img", { alt: image.altText, className: clsx(styles$
|
|
1631
|
-
[styles$
|
|
1630
|
+
return (jsx("img", { alt: image.altText, className: clsx(styles$K.image, className, styles$K[fit], {
|
|
1631
|
+
[styles$K['has-error']]: hasError,
|
|
1632
1632
|
}), src: !hasError ? image[3] : fallbackSrc, srcSet: srcSet, ...rest }));
|
|
1633
1633
|
}
|
|
1634
1634
|
function PictureComponent({ className, fallbackSrc, fit = 'cover', hasError, image, ...rest }) {
|
|
1635
1635
|
if (!isResponsiveImage(image))
|
|
1636
1636
|
return null;
|
|
1637
|
-
return (jsxs("picture", { className: clsx(styles$
|
|
1638
|
-
[styles$
|
|
1637
|
+
return (jsxs("picture", { className: clsx(styles$K.picture, className), children: [jsx("source", { media: "(max-width: 768px)", srcSet: `${image.sm[1]} 1x, ${image.sm[2]} 2x, ${image.sm[3]} 3x` }), jsx("source", { media: "(max-width: 1439px)", srcSet: `${image.md[1]} 1x, ${image.md[2]} 2x, ${image.md[3]} 3x` }), jsx("source", { media: "(min-width: 1440px)", srcSet: `${image.lg[1]} 1x, ${image.lg[2]} 2x, ${image.lg[3]} 3x` }), jsx("img", { className: clsx(styles$K[fit], {
|
|
1638
|
+
[styles$K['has-error']]: hasError,
|
|
1639
1639
|
}), src: !hasError ? image.lg[3] : fallbackSrc, ...rest })] }));
|
|
1640
1640
|
}
|
|
1641
1641
|
|
|
1642
|
-
var styles$
|
|
1642
|
+
var styles$J = {"product-card-container":"product-card-module-LepTy","product-card":"product-card-module-pLaiB","favorite-button":"product-card-module-tvEdz","content":"product-card-module-e0kMu","top":"product-card-module-Q0VvF","tag":"product-card-module-HkWBE","title":"product-card-module-CStNi","bottom":"product-card-module-kD2tU","image":"product-card-module-p-zoi","price":"product-card-module-irW0D","add-to-cart-button":"product-card-module-SnCvX"};
|
|
1643
1643
|
|
|
1644
1644
|
function ProductCard({ addToCartButton: AddToCartButton, areaSelected, favoriteButton: FavoriteButton, href, id, image, onClick, onMouseDown, onMouseMove, onPress, price, role, sku, tags, title, }) {
|
|
1645
|
-
return (jsxs(RouteLink, { "aria-selected": areaSelected, className: styles$
|
|
1645
|
+
return (jsx("div", { className: styles$J['product-card-container'], children: jsxs(RouteLink, { "aria-selected": areaSelected, className: styles$J['product-card'], "data-product-id": sku, href: href, id: id, onClick: onClick, onMouseDown: onMouseDown, onMouseMove: onMouseMove, onPress: onPress, role: role, children: [jsx("div", { className: styles$J.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$J['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$J.content, children: [jsxs("div", { className: styles$J.top, children: [jsx("div", { className: styles$J.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$J.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$J.bottom, children: [jsx("div", { className: styles$J.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$J['add-to-cart-button'], children: AddToCartButton })] })] })] }) }));
|
|
1646
|
+
}
|
|
1647
|
+
|
|
1648
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
1649
|
+
function deepMerge(...items) {
|
|
1650
|
+
return _merge(true, true, items);
|
|
1651
|
+
}
|
|
1652
|
+
function clone(input) {
|
|
1653
|
+
if (Array.isArray(input)) {
|
|
1654
|
+
const output = [];
|
|
1655
|
+
for (let index = 0; index < input.length; ++index)
|
|
1656
|
+
output.push(clone(input[index]));
|
|
1657
|
+
return output;
|
|
1658
|
+
}
|
|
1659
|
+
else if (isPlainObject(input)) {
|
|
1660
|
+
const output = {};
|
|
1661
|
+
for (const index in input)
|
|
1662
|
+
output[index] = clone(input[index]);
|
|
1663
|
+
return output;
|
|
1664
|
+
}
|
|
1665
|
+
else {
|
|
1666
|
+
return input;
|
|
1667
|
+
}
|
|
1668
|
+
}
|
|
1669
|
+
function isPlainObject(input) {
|
|
1670
|
+
if (input === null || typeof input !== 'object')
|
|
1671
|
+
return false;
|
|
1672
|
+
if (Object.getPrototypeOf(input) === null)
|
|
1673
|
+
return true;
|
|
1674
|
+
let ref = input;
|
|
1675
|
+
while (Object.getPrototypeOf(ref) !== null)
|
|
1676
|
+
ref = Object.getPrototypeOf(ref);
|
|
1677
|
+
return Object.getPrototypeOf(input) === ref;
|
|
1678
|
+
}
|
|
1679
|
+
function _recursiveMerge(base, extend) {
|
|
1680
|
+
if (!isPlainObject(base) || !isPlainObject(extend))
|
|
1681
|
+
return extend;
|
|
1682
|
+
for (const key in extend) {
|
|
1683
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype')
|
|
1684
|
+
continue;
|
|
1685
|
+
base[key] =
|
|
1686
|
+
isPlainObject(base[key]) && isPlainObject(extend[key])
|
|
1687
|
+
? _recursiveMerge(base[key], extend[key])
|
|
1688
|
+
: extend[key];
|
|
1689
|
+
}
|
|
1690
|
+
return base;
|
|
1691
|
+
}
|
|
1692
|
+
function _merge(isClone, isRecursive, items) {
|
|
1693
|
+
let result;
|
|
1694
|
+
result = {};
|
|
1695
|
+
for (let index = 0; index < items.length; ++index) {
|
|
1696
|
+
const item = items[index];
|
|
1697
|
+
if (!isPlainObject(item))
|
|
1698
|
+
continue;
|
|
1699
|
+
for (const key in item) {
|
|
1700
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype')
|
|
1701
|
+
continue;
|
|
1702
|
+
const value = clone(item[key]) ;
|
|
1703
|
+
result[key] = _recursiveMerge(result[key], value) ;
|
|
1704
|
+
}
|
|
1705
|
+
}
|
|
1706
|
+
return result;
|
|
1646
1707
|
}
|
|
1647
1708
|
|
|
1648
1709
|
/**
|
|
@@ -6957,24 +7018,35 @@ function GlyphsArrowBoldCapsLeftIcon(props) {
|
|
|
6957
7018
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "11", viewBox: "0 0 11 11", width: "11", children: jsx("path", { d: "M2.31124163,11 C2.06716529,11 1.91839241,10.7730596 2.04771379,10.5980857 L6.08820761,5.13116556 C6.42092595,4.68081431 6.37243043,4.10595375 5.96732409,3.70073526 L2.70240329,0.432177991 C2.53178078,0.261409485 2.67540212,0 2.93972934,0 L5.48361239,0 C5.57518542,0 5.6619622,0.0340936243 5.72102726,0.0931942463 L8.14882304,2.52367916 C9.1607451,3.53657521 9.28198389,4.9729381 8.45036569,6.09787751 L4.91836426,10.876542 C4.86160851,10.9533653 4.7620417,11 4.65492523,11 L2.31124163,11 Z", fillRule: "evenodd", transform: "matrix(-1 0 0 1 11 0)" }) }));
|
|
6958
7019
|
}
|
|
6959
7020
|
|
|
6960
|
-
var styles$
|
|
7021
|
+
var styles$I = {"carousel":"carousel-module-ealh-","swiper":"carousel-module-IftbN","is-ready":"carousel-module-RCpfc","has-overflow":"carousel-module-tPg7k","slide":"carousel-module-bUMlb","navigation-button":"carousel-module-kcqEE","is-locked":"carousel-module-uCrOA","navigation-button-next":"carousel-module-T7bTr","is-dragging":"carousel-module-34OWD","navigation-button-prev":"carousel-module-984Rr","navigation-buttons":"carousel-module-k7Z4S","navigation-button-wrapper":"carousel-module-Hi-0z","top":"carousel-module-nL-O8","center":"carousel-module-5SGYn"};
|
|
6961
7022
|
|
|
6962
7023
|
function CarouselNavigationButton({ direction, isDisabled = false, }) {
|
|
6963
7024
|
const swiper = useSwiper();
|
|
7025
|
+
const slidesPerView = typeof swiper.params.slidesPerView === 'number'
|
|
7026
|
+
? swiper.params.slidesPerView
|
|
7027
|
+
: 1;
|
|
6964
7028
|
function handleNavigation() {
|
|
6965
7029
|
if (direction === 'next') {
|
|
6966
|
-
swiper.
|
|
7030
|
+
swiper.slideTo(swiper.activeIndex + slidesPerView);
|
|
6967
7031
|
}
|
|
6968
7032
|
else {
|
|
6969
|
-
swiper.
|
|
7033
|
+
swiper.slideTo(swiper.activeIndex - slidesPerView);
|
|
6970
7034
|
}
|
|
6971
7035
|
}
|
|
6972
|
-
return (jsx(Button$1, { className: clsx(styles$
|
|
6973
|
-
[styles$
|
|
7036
|
+
return (jsx(Button$1, { className: clsx(styles$I['navigation-button'], {
|
|
7037
|
+
[styles$I['is-locked']]: swiper.isLocked,
|
|
6974
7038
|
}), isDisabled: isDisabled, onPress: handleNavigation, children: direction === 'previous' ? (jsx(GlyphsArrowBoldCapsLeftIcon, {})) : (jsx(GlyphsArrowBoldCapsRightIcon, {})) }));
|
|
6975
7039
|
}
|
|
6976
7040
|
|
|
6977
|
-
function
|
|
7041
|
+
function generateSlidesPerViewBreakpoints(slidesPerView) {
|
|
7042
|
+
return Object.keys(slidesPerView).reduce((result, breakpoint) => ({
|
|
7043
|
+
...result,
|
|
7044
|
+
[breakpoints$1[breakpoint]]: {
|
|
7045
|
+
slidesPerView: slidesPerView[breakpoint],
|
|
7046
|
+
},
|
|
7047
|
+
}), {});
|
|
7048
|
+
}
|
|
7049
|
+
function Carousel({ breakpoints: _breakpoints, className, hasNavigation = true, hasOverflow = true, navigationButtonsPosition = 'top', slideClasses, slides, slidesPerView: _slidesPerView = 'auto', spaceBetween, }) {
|
|
6978
7050
|
const [isEnd, setIsEnd] = useState(false);
|
|
6979
7051
|
const [isBeginning, setIsBeginning] = useState(true);
|
|
6980
7052
|
const [isLocked, setIsLocked] = useState(undefined);
|
|
@@ -6985,33 +7057,42 @@ function Carousel({ breakpoints, className, hasNavigation = true, hasOverflow =
|
|
|
6985
7057
|
setIsLocked(swiper.isLocked);
|
|
6986
7058
|
setIsBeginning(swiper.isBeginning);
|
|
6987
7059
|
}
|
|
7060
|
+
const slidesPerView = typeof _slidesPerView !== 'object' ? _slidesPerView : undefined;
|
|
7061
|
+
if (typeof _slidesPerView === 'object') {
|
|
7062
|
+
const slidesPerViewBreakpoints = generateSlidesPerViewBreakpoints(_slidesPerView);
|
|
7063
|
+
_breakpoints = deepMerge(_breakpoints, slidesPerViewBreakpoints);
|
|
7064
|
+
}
|
|
6988
7065
|
if (slides.length === 0)
|
|
6989
7066
|
return null;
|
|
6990
|
-
return (jsx("div", { className: clsx(styles$
|
|
6991
|
-
|
|
6992
|
-
|
|
6993
|
-
[styles$
|
|
7067
|
+
return (jsx("div", { className: clsx(styles$I.carousel, className), style: spaceBetween !== undefined
|
|
7068
|
+
? { '--column-gap': `${spaceBetween}px` }
|
|
7069
|
+
: undefined, children: jsxs(Swiper, { breakpoints: _breakpoints, className: clsx(styles$I.swiper, {
|
|
7070
|
+
[styles$I['is-dragging']]: isDragging,
|
|
7071
|
+
[styles$I['has-overflow']]: hasOverflow,
|
|
7072
|
+
[styles$I['is-ready']]: isReady,
|
|
6994
7073
|
}), freeMode: {
|
|
6995
7074
|
enabled: true,
|
|
6996
7075
|
sticky: true,
|
|
6997
7076
|
}, modules: [freeMode], onReachBeginning: () => setIsBeginning(true), onReachEnd: () => setIsEnd(true), onResize: swiper => handleSlideChange(swiper), onSlideChange: swiper => handleSlideChange(swiper), onSliderMove: () => setIsDragging(true), onSlidesUpdated: () => {
|
|
6998
7077
|
if (!isReady)
|
|
6999
7078
|
setIsReady(true);
|
|
7000
|
-
}, onSwiper: swiper => handleSlideChange(swiper), onTouchEnd: () => setIsDragging(false), onUpdate: swiper => handleSlideChange(swiper), slidesPerGroupAuto:
|
|
7079
|
+
}, onSwiper: swiper => handleSlideChange(swiper), onTouchEnd: () => setIsDragging(false), onUpdate: swiper => handleSlideChange(swiper), slidesPerGroupAuto: false, slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: [slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$I.slide, slideClasses), children: slide }, index))), hasNavigation && isLocked === false && (jsxs("div", { className: clsx(styles$I['navigation-buttons'], styles$I[navigationButtonsPosition]), children: [jsx("div", { className: clsx(styles$I['navigation-button-wrapper'], styles$I['navigation-button-prev']), children: jsx(CarouselNavigationButton, { direction: "previous", isDisabled: isBeginning }) }), jsx("div", { className: clsx(styles$I['navigation-button-wrapper'], styles$I['navigation-button-next']), children: jsx(CarouselNavigationButton, { direction: "next", isDisabled: isEnd }) })] }))] }) }));
|
|
7001
7080
|
}
|
|
7002
7081
|
|
|
7003
|
-
var styles$
|
|
7082
|
+
var styles$H = {"slide":"category-carousel-module-muLq-"};
|
|
7004
7083
|
|
|
7005
7084
|
function CategoryCarousel({ categoryCards }) {
|
|
7006
|
-
return jsx(Carousel, { slideClasses: styles$
|
|
7085
|
+
return jsx(Carousel, { slideClasses: styles$H.slide, slides: categoryCards });
|
|
7007
7086
|
}
|
|
7008
7087
|
|
|
7009
|
-
var styles$
|
|
7088
|
+
var styles$G = {"accordion":"accordion-module-9WvAH","indented":"accordion-module-6CcEH","white":"accordion-module-CaVdG","accordion-item":"accordion-module-lf9d-","lg":"accordion-module-0qnae","with-seperators":"accordion-module-yOLrW","button":"accordion-module--Rwpb","icon":"accordion-module-Y50uq","focus":"accordion-module-M4BZs","panel":"accordion-module-KZjMo","content":"accordion-module-ejMH3","border-type-bottom":"accordion-module-oTdZK","border-type-top":"accordion-module-0mrLq","border-type-middle":"accordion-module-aAr-R","is-open":"accordion-module-W0F1z","border-type-middle-accentuated":"accordion-module-OB98a"};
|
|
7010
7089
|
|
|
7011
|
-
function Accordion({
|
|
7012
|
-
return (jsx("div", { className: clsx({ [styles$
|
|
7090
|
+
function Accordion({ borderType = 'bottom', children, color = 'black', hasLineSeparator = true, indented, size = 'md', }) {
|
|
7091
|
+
return (jsx("div", { className: clsx({ [styles$G.indented]: indented }, styles$G.accordion, styles$G[color], styles$G[size], hasLineSeparator && styles$G['with-seperators']), children: Boolean(children) &&
|
|
7013
7092
|
Children.map(children, child => {
|
|
7014
|
-
|
|
7093
|
+
if (!child)
|
|
7094
|
+
return null;
|
|
7095
|
+
return cloneElement(child, { borderType, size });
|
|
7015
7096
|
}) }));
|
|
7016
7097
|
}
|
|
7017
7098
|
|
|
@@ -7019,23 +7100,52 @@ function GlyphsChevronsSlimDownIcon(props) {
|
|
|
7019
7100
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "12", viewBox: "0 0 12 12", width: "12", children: jsx("path", { d: "M6,9 L1,4.06645029 C1.08169007,3.87890406 1.19817561,3.69487412 1.34945663,3.51436046 C1.50073764,3.3338468 1.68216803,3.16239331 1.89374779,3 L5.98800959,7.08347812 L9.9960307,3 C10.2121071,3.16649238 10.4031847,3.33794587 10.5692635,3.51436046 C10.7353424,3.69077505 10.8789212,3.87480499 11,4.06645029 L6,9 Z", fillRule: "evenodd" }) }));
|
|
7020
7101
|
}
|
|
7021
7102
|
|
|
7022
|
-
|
|
7103
|
+
function useResizeObserver(resizeCallback) {
|
|
7104
|
+
let size;
|
|
7105
|
+
function onResize(entries, _observer) {
|
|
7106
|
+
size = entries[0]?.contentRect;
|
|
7107
|
+
if (!size)
|
|
7108
|
+
return;
|
|
7109
|
+
resizeCallback(size);
|
|
7110
|
+
}
|
|
7111
|
+
const resizeObserver = useRef(new ResizeObserver(onResize));
|
|
7112
|
+
const ref = useRef(null);
|
|
7113
|
+
return {
|
|
7114
|
+
ref: (el) => {
|
|
7115
|
+
ref.current = el;
|
|
7116
|
+
resizeObserver.current.disconnect();
|
|
7117
|
+
if (!ref.current)
|
|
7118
|
+
return;
|
|
7119
|
+
resizeObserver.current.observe(ref.current);
|
|
7120
|
+
},
|
|
7121
|
+
size,
|
|
7122
|
+
};
|
|
7123
|
+
}
|
|
7124
|
+
|
|
7125
|
+
var styles$F = {"show-all":"show-all-module-BDp21","panel":"show-all-module-bEdda","content":"show-all-module-RF--F","has-transparency":"show-all-module-30y7l","button":"show-all-module-58e7Q","icon":"show-all-module-fqncI","is-open":"show-all-module-hQeGI","content-fits":"show-all-module-OhPfm"};
|
|
7023
7126
|
|
|
7024
|
-
|
|
7127
|
+
function ShowAll({ children, hasTransparency = true, initialHeight = 0, initialIsOpen = false, isOpen: isControlledOpen, onToggle, }) {
|
|
7128
|
+
const isControlled = isControlledOpen !== undefined && onToggle !== undefined;
|
|
7129
|
+
const { isOpen, toggle } = useDisclosure(initialIsOpen);
|
|
7025
7130
|
const showAllRef = useRef(null);
|
|
7026
|
-
|
|
7027
|
-
|
|
7028
|
-
|
|
7029
|
-
|
|
7030
|
-
}
|
|
7031
|
-
return (jsxs("div", { ref: showAllRef, className: clsx(styles$
|
|
7032
|
-
[styles$
|
|
7033
|
-
|
|
7034
|
-
|
|
7035
|
-
|
|
7036
|
-
}
|
|
7131
|
+
const isReallyOpen = isControlled ? isControlledOpen : isOpen;
|
|
7132
|
+
const [contentFits, setContentFits] = useState(false);
|
|
7133
|
+
const { ref } = useResizeObserver(size => {
|
|
7134
|
+
setContentFits((size.height || 0) <= initialHeight);
|
|
7135
|
+
});
|
|
7136
|
+
return (jsxs("div", { ref: showAllRef, className: clsx(styles$F['show-all'], {
|
|
7137
|
+
[styles$F['content-fits']]: contentFits,
|
|
7138
|
+
[styles$F['is-open']]: isReallyOpen,
|
|
7139
|
+
}), style: { '--initital-height': `${initialHeight}px` }, children: [jsx("div", { className: styles$F.panel, children: jsx("div", { className: clsx(styles$F.content, {
|
|
7140
|
+
[styles$F['has-transparency']]: hasTransparency,
|
|
7141
|
+
}), children: jsx("div", { ref: ref, "aria-hidden": true, style: { display: 'block' }, children: children }) }) }), !contentFits && (jsxs(RouteLink, { className: styles$F.button, color: "secondary", onPress: () => {
|
|
7142
|
+
if (isControlled)
|
|
7143
|
+
return onToggle(!isControlled);
|
|
7144
|
+
toggle();
|
|
7145
|
+
}, children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$F.icon }), isReallyOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] }))] }));
|
|
7146
|
+
}
|
|
7037
7147
|
|
|
7038
|
-
var styles$
|
|
7148
|
+
var styles$E = {"multi-select":"multi-select-module-DC7Ix","filter-item":"multi-select-module-OW-NK"};
|
|
7039
7149
|
|
|
7040
7150
|
function MultiSelect({ amountShown = 3, onChange, options, render, }) {
|
|
7041
7151
|
const shownOptions = options.slice(0, amountShown);
|
|
@@ -7046,28 +7156,28 @@ function MultiSelect({ amountShown = 3, onChange, options, render, }) {
|
|
|
7046
7156
|
options.filter(option => option.isSelected).length === 0) {
|
|
7047
7157
|
return null;
|
|
7048
7158
|
}
|
|
7049
|
-
return (jsxs("div", { className: styles$
|
|
7159
|
+
return (jsxs("div", { className: styles$E['multi-select'], children: [jsx("div", { className: styles$E['filter-items'], children: shownOptions
|
|
7050
7160
|
.concat(isOpen ? [] : hiddenSelectedOptions)
|
|
7051
|
-
.map(option => (jsxs("div", { className: styles$
|
|
7161
|
+
.map(option => (jsxs("div", { className: styles$E['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }), hiddenOptions.length > 0 && (jsx(ShowAll, { hasTransparency: false, isOpen: isOpen, onToggle: toggle, children: jsx("div", { className: clsx(styles$E['filter-items'], styles$E['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$E['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
|
|
7052
7162
|
}
|
|
7053
7163
|
|
|
7054
|
-
var styles$
|
|
7164
|
+
var styles$D = {"checkbox":"checkbox-module-YNVdd","box":"checkbox-module-UKoyf","checkmark":"checkbox-module-pHIwh","focus":"checkbox-module-v23jy","active":"checkbox-module-7UG-b","color-checkbox":"checkbox-module-nEhvW"};
|
|
7055
7165
|
|
|
7056
7166
|
function Checkbox({ _pseudo = 'none', children, className, isDisabled, isSelected, onChange, value, }) {
|
|
7057
|
-
return (jsxs(Checkbox$1, { className: clsx(className, styles$
|
|
7167
|
+
return (jsxs(Checkbox$1, { className: clsx(className, styles$D.checkbox, styles$D[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$D.box, children: jsx("svg", { "aria-hidden": "true", className: styles$D.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
|
|
7058
7168
|
}
|
|
7059
7169
|
|
|
7060
7170
|
function ColorCheckbox({ _pseudo = 'none', children, className, color, isDisabled, isSelected, onChange, value, }) {
|
|
7061
|
-
return (jsxs(Checkbox$1, { className: clsx(className, styles$
|
|
7171
|
+
return (jsxs(Checkbox$1, { className: clsx(className, styles$D.checkbox, styles$D['color-checkbox'], styles$D[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
|
|
7062
7172
|
'--selected-color': color,
|
|
7063
|
-
}, value: value, children: [jsx("div", { className: styles$
|
|
7173
|
+
}, value: value, children: [jsx("div", { className: styles$D.box }), children] }));
|
|
7064
7174
|
}
|
|
7065
7175
|
|
|
7066
7176
|
function StrokeCheckmarkIcon(props) {
|
|
7067
7177
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M10.8641425,17 C10.6636971,17 10.4855234,16.9548533 10.3296214,16.8645598 C10.1737194,16.7742664 10.0252413,16.6388262 9.88418708,16.4582393 L6.27839644,12.2189616 C6.09279881,11.9857035 6,11.744921 6,11.496614 C6,11.2332581 6.08723088,11.0094056 6.26169265,10.8250564 C6.43615442,10.6407073 6.65330364,10.5485327 6.91314031,10.5485327 C7.06904232,10.5485327 7.21195249,10.5823928 7.34187082,10.6501129 C7.47178916,10.717833 7.59985152,10.8382242 7.72605791,11.0112867 L10.8195991,14.7200903 L16.2405345,6.53047404 C16.4558278,6.17682468 16.7230883,6 17.0423163,6 C17.2873051,6 17.5081663,6.08088789 17.7048998,6.24266366 C17.9016333,6.40443943 18,6.61700527 18,6.88036117 C18,7.00075245 17.9721604,7.12302483 17.9164811,7.24717833 C17.8608018,7.37133183 17.7958426,7.48984199 17.7216036,7.6027088 L11.7884187,16.4469526 C11.5582777,16.8156509 11.2501856,17 10.8641425,17 Z", fillRule: "evenodd" }) }));
|
|
7068
7178
|
}
|
|
7069
7179
|
|
|
7070
|
-
var styles$
|
|
7180
|
+
var styles$C = {"select":"select-module-ui-Wc","sm":"select-module-44a1l","md":"select-module-QUm-8","solid":"select-module-IRd4F","button":"select-module-aMQIQ","chevron":"select-module-00uRU","focus":"select-module-XMc0P","popover":"select-module-z8cWq","listbox":"select-module-S21ba","header":"select-module-4Bm2j","item":"select-module-LgEJO","check":"select-module-lQFw3"};
|
|
7071
7181
|
|
|
7072
7182
|
function Select({ isDisabled = false, label, onChange, options, placeholder, selectedOption, showLabel = true, size = 'md', variant = 'outline', }) {
|
|
7073
7183
|
const selectRef = useRef(null);
|
|
@@ -7084,12 +7194,12 @@ function Select({ isDisabled = false, label, onChange, options, placeholder, sel
|
|
|
7084
7194
|
window.addEventListener('resize', updateWidth);
|
|
7085
7195
|
return () => window.removeEventListener('resize', updateWidth);
|
|
7086
7196
|
}, []);
|
|
7087
|
-
return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$
|
|
7197
|
+
return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$C.select, styles$C[size], styles$C[variant]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: placeholder || label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$C.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$C.chevron })] }), jsx(Popover, { ref: ref =>
|
|
7088
7198
|
// Workaround for react/react-aria #1513
|
|
7089
|
-
ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$
|
|
7199
|
+
ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$C.popover, styles$C[variant]), placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$C.listbox, children: jsxs(Section, { children: [jsx(Header, { className: styles$C.header, children: placeholder || label }), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$C.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$C.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
|
|
7090
7200
|
}
|
|
7091
7201
|
|
|
7092
|
-
var styles$
|
|
7202
|
+
var styles$B = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
|
|
7093
7203
|
|
|
7094
7204
|
/**
|
|
7095
7205
|
* This component is used to create a textarea that can grow as the user types.
|
|
@@ -7124,7 +7234,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
|
|
|
7124
7234
|
}
|
|
7125
7235
|
updateHeight();
|
|
7126
7236
|
}, [ref, autoGrow, updateHeight, size]);
|
|
7127
|
-
return (jsx("div", { className: styles$
|
|
7237
|
+
return (jsx("div", { className: styles$B['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
|
|
7128
7238
|
ref.current =
|
|
7129
7239
|
node;
|
|
7130
7240
|
textAreaRef.current = node;
|
|
@@ -7135,7 +7245,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
|
|
|
7135
7245
|
});
|
|
7136
7246
|
TextArea.displayName = 'TextArea';
|
|
7137
7247
|
|
|
7138
|
-
var styles$
|
|
7248
|
+
var styles$A = {"field":"text-field-module-JeaK0"};
|
|
7139
7249
|
|
|
7140
7250
|
/**
|
|
7141
7251
|
* This component is used to create a text field.
|
|
@@ -7143,7 +7253,7 @@ var styles$y = {"field":"text-field-module-JeaK0"};
|
|
|
7143
7253
|
* This field can also grow when a user types in text.
|
|
7144
7254
|
*/
|
|
7145
7255
|
function TextField({ autoFocus, autoGrow, defaultValue, isDisabled, isInvalid, isMultiline, isReadOnly, isRequired, label, maxLength, name, onChange, onInput, onKeyUp, placeholder, rows, showLabel = false, size = 'lg', value, }) {
|
|
7146
|
-
return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$
|
|
7256
|
+
return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$A.field, styles$A[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, name: name, onChange: value => {
|
|
7147
7257
|
onChange?.(value);
|
|
7148
7258
|
}, onInput: onInput, onKeyUp: e => onKeyUp?.(e), value: value, children: [showLabel && jsx(Label, { isRequired: isRequired, children: label }), isMultiline ? (jsx(TextArea, { autoGrow: autoGrow, placeholder: placeholder, rows: rows, size: size })) : (jsx(Input, { autoGrow: autoGrow, placeholder: placeholder, size: size })), jsx(FieldError, {})] }));
|
|
7149
7259
|
}
|
|
@@ -7153,31 +7263,31 @@ function IntlProvider({ children, formatMessage, languageCode: _languageCode, })
|
|
|
7153
7263
|
return (jsx(IntlContext.Provider, { value: { formatMessage, languageCode, updateLanguageCode }, children: children }));
|
|
7154
7264
|
}
|
|
7155
7265
|
|
|
7156
|
-
var styles$
|
|
7266
|
+
var styles$z = {"progress-circle":"progress-circle-module-4nweP","spin":"progress-circle-module-kCf7K"};
|
|
7157
7267
|
|
|
7158
7268
|
function ProgressCircle({ className }) {
|
|
7159
|
-
return (jsxs("svg", { className: clsx(styles$
|
|
7269
|
+
return (jsxs("svg", { className: clsx(styles$z['progress-circle'], className), viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", children: [jsx("title", { children: "Spinner" }), jsxs("defs", { children: [jsx("pattern", { height: "100%", id: "pattern-1", patternUnits: "objectBoundingBox", width: "100%", children: jsx("use", { xlinkHref: "#image-2" }) }), jsx("image", { height: "24", id: "image-2", width: "24", xlinkHref: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAB7UlEQVRIDZ2VSaoCQQyG01rOoBtBr+YZXXsFL+BGEHcqDuCE89SPL480hdpiGYil3an/S1KDUavViq/Xq1wul8RPp5Ocz2dhPB6PiR8OB42RAHO5XE7D4zgW/PF4CM/u97tks1n1TCYjURSpB2hraALglw8BQGXOuQQSKk68y+fzL9lRBQAqAUIlVkUoxBUKBZ3sC1irbrdbUoX/PgTyAqDXmFVBBVRCFfYuGMBk67UvRCUA2FFAfgKUSiWhFTgQA9ESjLVgC7NWwEPNFYtFFUEICJnigAxCFbvd7jcAFVi/gbDoCALmOzCMAzebzUILEFculxVgOwcIDqRSqaiTBDadToMhziYDwBgNRmW0rdFoSLPZ1PeDwUDHbz+iTqejyv5VYHuekbVggavVqkLq9fq32hqnLTJxdgmijPQeYSqs1Woa3G63g8QJ1haZKMJkjDgLjLi/Nbvd7m8ARCxry9x2jyn2ej2ZTCb28+tRK/Azpy3vrN/vy2azeffq4zM9aLTFP1jPM4bDoWbPH06o6WXn9/lZgDMxGo1kuVwG/5uhlfkkTsB4PJb5fC7b7VYPH89C7P9GS5nBLYr4er2W/X6vhy4lNPXxR8BisdDWkD13Ee0KtVQAgqvVSncO2XNlc3WEWirAxLmmgf0K+ANZ6DTlvO5jwwAAAABJRU5ErkJggg==" })] }), jsx("g", { fill: "none", fillRule: "evenodd", id: "Page-1", stroke: "none", strokeWidth: "1", children: jsx("path", { d: "M12,0 C18.627417,0 24,5.372583 24,12 C24,14.7277828 23.0855773,17.3196292 21.4324752,19.4188392 C19.1717866,22.2895997 15.7255176,24 12,24 C11.2636203,24 10.6666667,23.4030463 10.6666667,22.6666667 C10.6666667,21.930287 11.2636203,21.3333333 12,21.3333333 C14.8994206,21.3333333 17.5771113,20.0043823 19.3374325,17.7690188 C20.6234737,16.1359252 21.3333333,14.1238938 21.3333333,12 C21.3333333,6.84534234 17.1546577,2.66666667 12,2.66666667 C6.84534234,2.66666667 2.66666667,6.84534234 2.66666667,12 C2.66666667,14.4546154 3.61656005,16.756214 5.28844833,18.485859 C5.80023235,19.015323 5.78589988,19.8594213 5.25643588,20.3712053 C4.72697187,20.8829893 3.88287357,20.8686569 3.37108955,20.3391928 C1.22326178,18.1171666 0,15.1531945 0,12 C0,5.372583 5.372583,0 12,0 Z", fill: "url(#pattern-1)", fillRule: "nonzero", id: "Spinner" }) })] }));
|
|
7160
7270
|
}
|
|
7161
7271
|
|
|
7162
|
-
var styles$
|
|
7272
|
+
var styles$y = {"product-grid":"product-overview-grid-module-bzys-","loading-panel":"product-overview-grid-module-XikkF","fade-in":"product-overview-grid-module-A6CS7","progress-circle":"product-overview-grid-module-DWnnI","fade-in-spinner":"product-overview-grid-module-r-wvY","grid-item":"product-overview-grid-module-MlUVA"};
|
|
7163
7273
|
|
|
7164
7274
|
function ProductOverviewGrid({ children, isLoading, }) {
|
|
7165
|
-
return (jsxs("div", { className: styles$
|
|
7275
|
+
return (jsxs("div", { className: styles$y['product-grid'], children: [Children.map(children, (child, index) => (jsx("div", { className: styles$y['grid-item'], children: child }, index))), isLoading && (jsx("div", { className: styles$y['loading-panel'], children: jsx(ProgressCircle, { className: styles$y['progress-circle'] }) }))] }));
|
|
7166
7276
|
}
|
|
7167
7277
|
|
|
7168
|
-
var styles$
|
|
7278
|
+
var styles$x = {"loading-overlay":"loading-overlay-module-L67Gy"};
|
|
7169
7279
|
|
|
7170
7280
|
function LoadingOverlay() {
|
|
7171
|
-
return (jsx("div", { className: styles$
|
|
7281
|
+
return (jsx("div", { className: styles$x['loading-overlay'], children: jsx(ProgressCircle, {}) }));
|
|
7172
7282
|
}
|
|
7173
7283
|
|
|
7174
|
-
var styles$
|
|
7284
|
+
var styles$w = {"page-container":"page-container-module-PYmbC","inner-page-container":"page-container-module-uD8GF"};
|
|
7175
7285
|
|
|
7176
7286
|
function PageContainer({ children, className, }) {
|
|
7177
|
-
return (jsx("div", { className: styles$
|
|
7287
|
+
return (jsx("div", { className: styles$w['page-container'], children: jsx("div", { className: clsx(styles$w['inner-page-container'], className), children: children }) }));
|
|
7178
7288
|
}
|
|
7179
7289
|
|
|
7180
|
-
var styles$
|
|
7290
|
+
var styles$v = {"heading":"heading-module-pMC65","uppercase":"heading-module-6spgX","italic":"heading-module-XXMDM","bold":"heading-module-xvrxo","xxl":"heading-module-Kn3ZN","xl":"heading-module--hZs-","l":"heading-module-WrJRY","m":"heading-module-hTexc","s":"heading-module-7W29m","xs":"heading-module-SgaLB","xxs":"heading-module-33en7"};
|
|
7181
7291
|
|
|
7182
7292
|
const sizeToTag = {
|
|
7183
7293
|
l: 'h3',
|
|
@@ -7190,41 +7300,41 @@ const sizeToTag = {
|
|
|
7190
7300
|
};
|
|
7191
7301
|
function Heading({ bold = true, children, className, italic, size = 'xxl', tag, uppercase, }) {
|
|
7192
7302
|
return createElement$1(tag || sizeToTag[size], {
|
|
7193
|
-
className: clsx(className, styles$
|
|
7194
|
-
[styles$
|
|
7195
|
-
[styles$
|
|
7196
|
-
[styles$
|
|
7303
|
+
className: clsx(className, styles$v.heading, styles$v[size], {
|
|
7304
|
+
[styles$v.uppercase]: uppercase,
|
|
7305
|
+
[styles$v.italic]: italic,
|
|
7306
|
+
[styles$v.bold]: bold,
|
|
7197
7307
|
}),
|
|
7198
7308
|
}, children);
|
|
7199
7309
|
}
|
|
7200
7310
|
|
|
7201
|
-
var styles$
|
|
7311
|
+
var styles$u = {"page":"page-module-XtZ9Y","breadcrumb":"page-module-ohh9z","title":"page-module-TEmve"};
|
|
7202
7312
|
|
|
7203
7313
|
function PageTitle({ children }) {
|
|
7204
7314
|
const { lg, xxl } = useBreakpoint();
|
|
7205
|
-
return (jsx(Heading, { italic: true, uppercase: true, className: styles$
|
|
7315
|
+
return (jsx(Heading, { italic: true, uppercase: true, className: styles$u.title, size: xxl ? 'xl' : lg ? 'm' : 's', tag: "h1", children: children }));
|
|
7206
7316
|
}
|
|
7207
7317
|
function Page({ breadCrumb, children, className, title }) {
|
|
7208
|
-
return (jsxs(PageContainer, { className: clsx(styles$
|
|
7318
|
+
return (jsxs(PageContainer, { className: clsx(styles$u.page, className), children: [jsx("div", { className: styles$u.breadcrumb, children: jsx(Breadcrumb, { links: breadCrumb }) }), title && jsx(PageTitle, { children: title }), children] }));
|
|
7209
7319
|
}
|
|
7210
7320
|
|
|
7211
7321
|
function StrokeCloseboxIcon(props) {
|
|
7212
7322
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M8,8 L16,16 M16,8 L8,16", fill: "currentColor", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.4" }) }));
|
|
7213
7323
|
}
|
|
7214
7324
|
|
|
7215
|
-
var styles$
|
|
7325
|
+
var styles$t = {"modal-overlay":"modal-module-rVFJc","modal-fade":"modal-module-63Uyl","modal":"modal-module-6vlFt","modal-zoom":"modal-module-aPJ7X"};
|
|
7216
7326
|
|
|
7217
7327
|
function Modal({ children, className, isDismissable, isKeyboardDismissDisabled, isOpen, onOpenChange, }) {
|
|
7218
|
-
return (jsx(ModalOverlay, { className: clsx(styles$
|
|
7328
|
+
return (jsx(ModalOverlay, { className: clsx(styles$t['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Modal$1, { className: styles$t.modal, children: children }) }));
|
|
7219
7329
|
}
|
|
7220
7330
|
|
|
7221
|
-
var styles$
|
|
7331
|
+
var styles$s = {"header":"dialog-module-ZnsAe","heading":"dialog-module-SwpuZ","close":"dialog-module-Y7Tqg","content":"dialog-module-Koqia","footer":"dialog-module-y7Axm"};
|
|
7222
7332
|
|
|
7223
7333
|
function Footer({ close }) {
|
|
7224
7334
|
return (jsx(Button, { onPress: close, size: "md", children: "Close" }));
|
|
7225
7335
|
}
|
|
7226
7336
|
function Dialog({ allowClose = true, children, className, footer = Footer, hideTitle, isDismissable, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, title, validationErrors, }) {
|
|
7227
|
-
return (jsx(Modal, { className: clsx(styles$
|
|
7337
|
+
return (jsx(Modal, { className: clsx(styles$s['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, children: jsx(Dialog$1, { "aria-label": title, children: ({ close }) => (jsxs(Form, { onSubmit: onSubmit || (e => e.preventDefault), validationErrors: validationErrors, children: [jsxs("header", { className: styles$s.header, children: [!hideTitle && (jsx(Heading, { className: styles$s.heading, size: "xs", children: title })), jsx("div", { className: styles$s.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onPress: close, children: jsx(StrokeCloseboxIcon, {}) }) })] }), jsx("div", { className: styles$s.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$s.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
|
|
7228
7338
|
}
|
|
7229
7339
|
|
|
7230
7340
|
function SignInDialog({ isOpen, onOpenChange }) {
|
|
@@ -7233,7 +7343,7 @@ function SignInDialog({ isOpen, onOpenChange }) {
|
|
|
7233
7343
|
return (jsxs(Dialog, { isDismissable: true, isOpen: isOpen, onOpenChange: onOpenChange, title: t('Please Sign In'), children: [t('You must '), jsx(RouteLink, { color: "secondary", href: `${signInUrl}?returnUrl=${encodeURIComponent(window.location.pathname + window.location.search)}`, onPress: () => onOpenChange(false), children: t('sign in') }), t(' to your account to manage your lists.')] }));
|
|
7234
7344
|
}
|
|
7235
7345
|
|
|
7236
|
-
function ConnectedFavoriteButton({
|
|
7346
|
+
function ConnectedFavoriteButton({ onFavorited: _onFavorited, onFavoriting: _onFavoriting, productId, }) {
|
|
7237
7347
|
const { refetch } = useSession();
|
|
7238
7348
|
const isAuthenticated = useIsAuthenticated();
|
|
7239
7349
|
const { isFavorite: _isFavorite, isFetching, wishList, wishListItem, } = useFavoriteProduct(productId);
|
|
@@ -7242,6 +7352,8 @@ function ConnectedFavoriteButton({ onFavorite: _onFavorite, productId, }) {
|
|
|
7242
7352
|
const { error: deleteWishListItemFromWishListError, mutate: deleteWishListItemFromWishList, } = useDeleteWishListItemFromWishList();
|
|
7243
7353
|
const [isFavorite, setIsFavorite] = useState(_isFavorite);
|
|
7244
7354
|
function onFavorite() {
|
|
7355
|
+
if (!(wishList && wishListItem))
|
|
7356
|
+
_onFavoriting?.();
|
|
7245
7357
|
if (!isAuthenticated) {
|
|
7246
7358
|
return setShowSignInDialog(true);
|
|
7247
7359
|
}
|
|
@@ -7253,8 +7365,11 @@ function ConnectedFavoriteButton({ onFavorite: _onFavorite, productId, }) {
|
|
|
7253
7365
|
});
|
|
7254
7366
|
}
|
|
7255
7367
|
else {
|
|
7256
|
-
addWishListItemToCurrentWishList({ productId }
|
|
7257
|
-
|
|
7368
|
+
addWishListItemToCurrentWishList({ productId }, {
|
|
7369
|
+
onSuccess() {
|
|
7370
|
+
_onFavorited?.();
|
|
7371
|
+
},
|
|
7372
|
+
});
|
|
7258
7373
|
}
|
|
7259
7374
|
}
|
|
7260
7375
|
useEffect(() => {
|
|
@@ -7279,14 +7394,22 @@ function ConnectedFavoriteButton({ onFavorite: _onFavorite, productId, }) {
|
|
|
7279
7394
|
return (jsxs(Fragment, { children: [jsx(FavoriteButton, { isDisabled: isFetching, isFavorite: isFavorite, onPress: onFavorite }), jsx(SignInDialog, { isOpen: showSignInDialog, onOpenChange: setShowSignInDialog })] }));
|
|
7280
7395
|
}
|
|
7281
7396
|
|
|
7282
|
-
function ConnectedProductCard({ onAddToCart,
|
|
7283
|
-
return (jsx(ProductCard, { ...props, addToCartButton: jsx(ConnectedAddToCartButton, { onAddToCart: onAddToCart, productId: productId }), favoriteButton: jsx(ConnectedFavoriteButton, {
|
|
7397
|
+
function ConnectedProductCard({ onAddToCart, onFavorited, onFavoriting, productId, ...props }) {
|
|
7398
|
+
return (jsx(ProductCard, { ...props, addToCartButton: jsx(ConnectedAddToCartButton, { onAddToCart: onAddToCart, productId: productId }), favoriteButton: jsx(ConnectedFavoriteButton, { onFavorited: onFavorited, onFavoriting: onFavoriting, productId: productId }) }));
|
|
7284
7399
|
}
|
|
7285
7400
|
|
|
7286
|
-
var styles$
|
|
7401
|
+
var styles$r = {"carousel-container":"product-carousel-module-DpUaX","button":"product-carousel-module-0ymqZ","slide":"product-carousel-module-XVTB1","width-auto":"product-carousel-module-E2EUK","width-narrow":"product-carousel-module-yrkV9","width-normal":"product-carousel-module-SzVga"};
|
|
7287
7402
|
|
|
7288
|
-
function ProductCarousel({ hasOverflow = false, productCards,
|
|
7289
|
-
|
|
7403
|
+
function ProductCarousel({ allowExpandToGrid = false, cardWidth = 'auto', hasOverflow = false, productCards, productsPerView = {
|
|
7404
|
+
md: 2,
|
|
7405
|
+
sm: 1,
|
|
7406
|
+
xxl: 3,
|
|
7407
|
+
}, }) {
|
|
7408
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
7409
|
+
if (!isExpanded) {
|
|
7410
|
+
return (jsxs("div", { className: styles$r['carousel-container'], children: [jsx(Carousel, { hasOverflow: hasOverflow, navigationButtonsPosition: "center", slideClasses: clsx(styles$r.slide, styles$r[`width-${cardWidth}`]), slides: productCards, slidesPerView: productsPerView, spaceBetween: 16 }), allowExpandToGrid && (jsx(Button, { withArrow: true, className: styles$r.button, color: "secondary", onPress: () => setIsExpanded(true), variant: "outline", children: jsx(FormattedMessage, { id: "Show all" }) }))] }));
|
|
7411
|
+
}
|
|
7412
|
+
return (jsxs("div", { className: styles$r['carousel-container'], children: [jsxs(ProductOverviewGrid, { children: [...productCards] }), jsx(Button, { withArrow: true, className: styles$r.button, color: "secondary", onPress: () => setIsExpanded(false), variant: "outline", children: jsx(FormattedMessage, { id: "Show less" }) })] }));
|
|
7290
7413
|
}
|
|
7291
7414
|
|
|
7292
7415
|
function useLanguageCode() {
|
|
@@ -7294,7 +7417,7 @@ function useLanguageCode() {
|
|
|
7294
7417
|
return languageCode;
|
|
7295
7418
|
}
|
|
7296
7419
|
|
|
7297
|
-
var styles$
|
|
7420
|
+
var styles$q = {"images-grid":"images-grid-module-i5868","grid-item":"images-grid-module-nY9-n","clickable":"images-grid-module-Ruktz"};
|
|
7298
7421
|
|
|
7299
7422
|
const mainImagePosition = {
|
|
7300
7423
|
1: 0,
|
|
@@ -7324,9 +7447,9 @@ function ImagesGrid({ images, onSelectImage }) {
|
|
|
7324
7447
|
// TODO: Implement mobile thumbs swiper
|
|
7325
7448
|
return jsx("div", { children: "Mobile thumbs swiper" });
|
|
7326
7449
|
}
|
|
7327
|
-
return (jsx("div", { className: styles$
|
|
7328
|
-
[styles$
|
|
7329
|
-
}), onClick: () => onSelectImage?.(image, images.indexOf(image)), onKeyDown: event => handleKeydown(event, image), role: onSelectImage ? 'button' : undefined, tabIndex: onSelectImage ? 0 : undefined, children: jsx(Image, { fit: "
|
|
7450
|
+
return (jsx("div", { className: styles$q['images-grid'], "data-count": images.length, children: imageList.map((image, index) => image && (jsx("div", { "aria-label": onSelectImage ? `Open image ${index}` : undefined, className: clsx(styles$q['grid-item'], {
|
|
7451
|
+
[styles$q.clickable]: Boolean(onSelectImage),
|
|
7452
|
+
}), onClick: () => onSelectImage?.(image, images.indexOf(image)), onKeyDown: event => handleKeydown(event, image), role: onSelectImage ? 'button' : undefined, tabIndex: onSelectImage ? 0 : undefined, children: jsx(Image, { fit: "contain", image: image, title: image.altText }) }, index))) }));
|
|
7330
7453
|
}
|
|
7331
7454
|
|
|
7332
7455
|
function ErrorPage({ error }) {
|
|
@@ -7342,16 +7465,16 @@ function ErrorPage({ error }) {
|
|
|
7342
7465
|
], title: "Something went wrong", children: environment !== 'production' && (jsxs(Fragment, { children: [jsx(Heading, { size: "l", children: isRequestError(error) ? (jsxs(Fragment, { children: [error.status, " - ", error.statusText || 'Unknown error'] })) : (jsx(Fragment, { children: error.message })) }), isRequestError(error) && (jsxs(Fragment, { children: [jsx(Heading, { size: "xs", children: "Error details" }), jsx(Heading, { size: "xxs", children: "Body" }), jsx("pre", { children: JSON.stringify(error.body, null, 2) }), jsx(Heading, { size: "xxs", children: "Options" }), jsx("pre", { children: JSON.stringify(error.options, null, 2) })] }))] })) }));
|
|
7343
7466
|
}
|
|
7344
7467
|
|
|
7345
|
-
var styles$
|
|
7468
|
+
var styles$p = {"product-details-page-layout":"product-details-page-layout-module-IQFIn","top":"product-details-page-layout-module--7oUp","image-gallery":"product-details-page-layout-module-Efavu","product-information":"product-details-page-layout-module-Y2490","recently-viewed":"product-details-page-layout-module-EDW8t","included":"product-details-page-layout-module-GSMls"};
|
|
7346
7469
|
|
|
7347
7470
|
function ProductDetailsPageLayout({ imageGallery, included, productInformation, recentlyViewed, usp, }) {
|
|
7348
|
-
return (jsxs("div", { className: styles$
|
|
7471
|
+
return (jsxs("div", { className: styles$p['product-details-page-layout'], children: [jsxs("section", { className: styles$p.top, children: [jsx("div", { className: styles$p['image-gallery'], children: imageGallery }), jsx("div", { className: styles$p['product-information'], children: productInformation })] }), jsx("section", { className: styles$p.usp, children: usp }), jsx("section", { className: styles$p.included, children: included }), jsx("section", { className: styles$p['recently-viewed'], children: recentlyViewed })] }));
|
|
7349
7472
|
}
|
|
7350
7473
|
|
|
7351
|
-
var styles$
|
|
7474
|
+
var styles$o = {"blank-page-spacer":"blank-page-spacer-module-lXxle","loading-overlay":"blank-page-spacer-module-hbxDP"};
|
|
7352
7475
|
|
|
7353
7476
|
function BlankPageSpacer({ children }) {
|
|
7354
|
-
return jsx("div", { className: styles$
|
|
7477
|
+
return jsx("div", { className: styles$o['blank-page-spacer'], children: children });
|
|
7355
7478
|
}
|
|
7356
7479
|
|
|
7357
7480
|
function LoadingPage() {
|
|
@@ -7364,9 +7487,9 @@ function useFetchProductDetailsPageData({ languageCode, pageUrl, }) {
|
|
|
7364
7487
|
queryFn: async () => {
|
|
7365
7488
|
const { body } = await request({
|
|
7366
7489
|
headers: { 'Current-Language-Id': languageCode },
|
|
7367
|
-
|
|
7368
|
-
|
|
7369
|
-
|
|
7490
|
+
url: environment === 'local'
|
|
7491
|
+
? `${config.SHOP_API_URL}/pdp/?pageUrl=${pageUrl}`
|
|
7492
|
+
: `${config.BFF_API_URL}/pdp/?pageUrl=${pageUrl}`,
|
|
7370
7493
|
});
|
|
7371
7494
|
return body;
|
|
7372
7495
|
},
|
|
@@ -7375,6 +7498,97 @@ function useFetchProductDetailsPageData({ languageCode, pageUrl, }) {
|
|
|
7375
7498
|
});
|
|
7376
7499
|
}
|
|
7377
7500
|
|
|
7501
|
+
function GlyphsChevronsBoldDownIcon(props) {
|
|
7502
|
+
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "12", viewBox: "0 0 12 12", width: "12", children: jsx("path", { d: "M5.98800959,10 L1,4.97931034 C1.17585931,4.65747126 1.4636291,4.2954023 1.86330935,3.89310345 C2.03916867,3.71609195 2.21502798,3.55517241 2.39088729,3.41034483 C2.5667466,3.26551724 2.70263789,3.16896552 2.79856115,3.12068966 L2.94244604,3.02413793 L5.98800959,6.08965517 L9.05755396,3 C9.39328537,3.19310345 9.7529976,3.48275862 10.1366906,3.86896552 C10.31255,4.04597701 10.4724221,4.22298851 10.616307,4.4 L10.8321343,4.67517241 C10.8705036,4.72666667 10.902478,4.77172414 10.9280576,4.81034483 L11,4.95517241 L5.98800959,10 Z", fillRule: "evenodd" }) }));
|
|
7503
|
+
}
|
|
7504
|
+
|
|
7505
|
+
function AccordionItem({ _pseudo = 'none', borderType = 'bottom', children, className, id, initialIsOpen = false, isDisabled = false, size, title, }) {
|
|
7506
|
+
const { isOpen, toggle } = useDisclosure(initialIsOpen);
|
|
7507
|
+
const panelId = `panel-${id}`;
|
|
7508
|
+
return (jsxs("div", { className: clsx(className, ...[]
|
|
7509
|
+
.concat(borderType)
|
|
7510
|
+
.map(type => styles$G[`border-type-${type}`]), styles$G['accordion-item'], {
|
|
7511
|
+
[styles$G['is-open']]: isOpen,
|
|
7512
|
+
}), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$G.button, styles$G[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$G.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$G.panel, id: panelId, role: "region", children: jsx("div", { className: styles$G.content, children: children }) })] }));
|
|
7513
|
+
}
|
|
7514
|
+
|
|
7515
|
+
function StrokeDownloadIcon(props) {
|
|
7516
|
+
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M12.6685993,12.3385757 C12.6685993,12.1644319 12.6024808,12.0142458 12.4702437,11.8880173 C12.3380066,11.7617888 12.1827098,11.6986746 12.0043534,11.6986746 C11.8261024,11.6986746 11.669592,11.7617888 11.5348221,11.8880173 C11.4000521,12.0142458 11.3326671,12.1644319 11.3326671,12.3385757 L11.3326671,15.9558716 L11.3972554,17.550369 L10.4070604,16.5637776 L9.55854795,15.7142857 C9.49765346,15.6490591 9.42559851,15.5997527 9.34238308,15.5663666 C9.25916765,15.5329804 9.17402618,15.5162873 9.08695867,15.5162873 C8.90870774,15.5162873 8.76232879,15.5723688 8.64782183,15.6845319 C8.53331486,15.7966949 8.47606138,15.9373752 8.47606138,16.1065729 C8.47606138,16.2079679 8.49632437,16.2968172 8.53685033,16.3731211 C8.5773763,16.4494249 8.63225521,16.5189021 8.70148707,16.5815526 L11.5151923,19.1380656 C11.6064813,19.2214279 11.689512,19.2798022 11.7642845,19.3131883 C11.839057,19.3465744 11.91908,19.3632675 12.0043534,19.3632675 C12.0905766,19.3632675 12.1708634,19.3465744 12.2452138,19.3131883 C12.3195641,19.2798022 12.4023838,19.2214279 12.4936728,19.1380656 L15.2983546,16.5815526 C15.3685363,16.5189021 15.4251566,16.4494249 15.4682154,16.3731211 C15.5112743,16.2968172 15.5328037,16.2079679 15.5328037,16.1065729 C15.5328037,15.9373752 15.4742838,15.7966949 15.3572439,15.6845319 C15.2402041,15.5723688 15.0921366,15.5162873 14.9130413,15.5162873 C14.8268181,15.5162873 14.7433652,15.5329804 14.6626827,15.5663666 C14.5820001,15.5997527 14.5112116,15.6490591 14.4503171,15.7142857 L13.5940477,16.5637776 L12.6128761,17.550369 L12.6685993,15.9558716 L12.6685993,12.3385757 Z M6.89950629,22 L17.1004937,22 C18.0682622,22 18.7934554,21.7615055 19.2760733,21.2845164 C19.7586911,20.8075273 20,20.0941046 20,19.1442482 L20,10.5402063 C20,10.1632727 19.9790774,9.84509963 19.9372322,9.58568724 C19.8953871,9.32627484 19.8138602,9.09161869 19.6926517,8.88171877 C19.5714432,8.67181885 19.391319,8.44723521 19.1522791,8.20796785 L13.7292398,2.8363538 C13.3879352,2.49734019 13.0527517,2.27319448 12.7236893,2.16391669 C12.3946269,2.0546389 11.9745921,2 11.463585,2 L6.89950629,2 C5.94018067,2 5.21709821,2.23993714 4.73025893,2.71981143 C4.24341964,3.19968572 4,3.91455105 4,4.86440743 L4,19.1442482 C4,20.0941046 4.2429975,20.8075273 4.72899249,21.2845164 C5.21498748,21.7615055 5.93849208,22 6.89950629,22 Z M6.96409455,20.6361142 C6.44844383,20.6361142 6.05980614,20.5055064 5.79818148,20.2442907 C5.53655681,19.9830751 5.40574448,19.6065021 5.40574448,19.1145717 L5.40574448,4.89408401 C5.40574448,4.41122145 5.53803432,4.03691539 5.802614,3.77116581 C6.06719369,3.50541623 6.45730889,3.37254144 6.9729596,3.37254144 L11.3238021,3.37254144 L11.3238021,8.87940029 C11.3238021,9.44500689 11.4680175,9.86740858 11.7564484,10.1466054 C12.0448793,10.4258021 12.4733042,10.5654005 13.0417231,10.5654005 L18.6031206,10.5654005 L18.6031206,19.1145717 C18.6031206,19.6065021 18.4708307,19.9830751 18.2062511,20.2442907 C17.9416714,20.5055064 17.5489705,20.6361142 17.0281485,20.6361142 L6.96409455,20.6361142 Z M13.2027189,9.27833378 C13.0010389,9.27833378 12.8556889,9.23484936 12.766669,9.14788052 C12.677649,9.06091168 12.6331391,8.91896905 12.6331391,8.72205263 L12.6331391,3.63854863 L18.3306784,9.27833378 L13.2027189,9.27833378 Z" }) }));
|
|
7517
|
+
}
|
|
7518
|
+
|
|
7519
|
+
function SolidCloseIcon(props) {
|
|
7520
|
+
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M11.9997748,2 C17.5138784,2 22,6.48597148 22,11.9997748 C22,17.5138784 17.5138784,22 11.9997748,22 C6.48597148,22 2,17.5138784 2,11.9997748 C2,6.48597148 6.48597148,2 11.9997748,2 Z M16.4949747,7.50502525 C16.2216077,7.23165825 15.7783923,7.23165825 15.5050253,7.50502525 L12,11.011 L8.49497475,7.50502525 C8.22160774,7.23165825 7.77839226,7.23165825 7.50502525,7.50502525 L7.43121616,7.59179111 C7.23439192,7.86533687 7.25899495,8.24894444 7.50502525,8.49497475 L11.011,12 L7.50502525,15.5050253 C7.23165825,15.7783923 7.23165825,16.2216077 7.50502525,16.4949747 L7.59179111,16.5687838 C7.86533687,16.7656081 8.24894444,16.7410051 8.49497475,16.4949747 L12,12.988 L15.5050253,16.4949747 C15.7783923,16.7683418 16.2216077,16.7683418 16.4949747,16.4949747 L16.5687838,16.4082089 C16.7656081,16.1346631 16.7410051,15.7510556 16.4949747,15.5050253 L12.988,12 L16.4949747,8.49497475 C16.7683418,8.22160774 16.7683418,7.77839226 16.4949747,7.50502525 Z", fillRule: "evenodd" }) }));
|
|
7521
|
+
}
|
|
7522
|
+
|
|
7523
|
+
function SolidOkayIcon(props) {
|
|
7524
|
+
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M12.0051467,22 C13.3707325,22 14.6574026,21.7375193 15.865157,21.2125579 C17.0729113,20.6875965 18.1365586,19.9653457 19.0560988,19.0458055 C19.975639,18.1262652 20.6961743,17.0643335 21.2177046,15.8600103 C21.7392349,14.6556871 22,13.3673014 22,11.9948533 C22,10.6292675 21.7375193,9.34259736 21.2125579,8.13484303 C20.6875965,6.92708869 19.9653457,5.86172585 19.0458055,4.9387545 C18.1262652,4.01578315 17.0626179,3.2952479 15.8548636,2.77714874 C14.6471093,2.25904958 13.3604392,2 11.9948533,2 C10.6292675,2 9.34431292,2.25904958 8.13998971,2.77714874 C6.9356665,3.2952479 5.87201921,4.01578315 4.94904786,4.9387545 C4.02607651,5.86172585 3.3038257,6.92708869 2.78229542,8.13484303 C2.26076514,9.34259736 2,10.6292675 2,11.9948533 C2,13.3673014 2.2624807,14.6556871 2.7874421,15.8600103 C3.3124035,17.0643335 4.03465431,18.1262652 4.95419454,19.0458055 C5.87373477,19.9653457 6.9356665,20.6875965 8.13998971,21.2125579 C9.34431292,21.7375193 10.6326986,22 12.0051467,22 Z M10.9243438,16.7812661 C10.7390633,16.7812661 10.5743695,16.7400926 10.4302625,16.6577458 C10.2861554,16.5753989 10.1489106,16.4518785 10.018528,16.2871848 L7.60988163,13.3329902 C7.43832561,13.1202608 7.35254761,12.9006691 7.35254761,12.6742151 C7.35254761,12.4340367 7.43317893,12.2298851 7.59444159,12.0617602 C7.75570424,11.8936353 7.95642477,11.8095728 8.19660319,11.8095728 C8.34071024,11.8095728 8.47280837,11.8404529 8.59289758,11.9022131 C8.71298679,11.9639732 8.83136044,12.0737691 8.94801853,12.2316006 L10.8831704,14.7020072 L14.9696346,8.14513639 C15.1686396,7.82261108 15.4156802,7.66134843 15.7107566,7.66134843 C15.9372105,7.66134843 16.1413622,7.73511752 16.3232115,7.88265569 C16.5050609,8.03019386 16.5959856,8.22405215 16.5959856,8.46423057 C16.5959856,8.57402642 16.5702522,8.68553783 16.5187854,8.7987648 C16.4673186,8.91199177 16.407274,9.02007205 16.3386516,9.12300566 L11.7786927,16.2768914 C11.5659633,16.6131412 11.2811803,16.7812661 10.9243438,16.7812661 Z" }) }));
|
|
7525
|
+
}
|
|
7526
|
+
|
|
7527
|
+
var styles$n = {"feature-list":"feature-list-module-cxc8U","row":"feature-list-module-tTJ2r","column":"feature-list-module-Tw0KD","column-label":"feature-list-module-J6Xfj","alignment-right":"feature-list-module-deI1-","column-value":"feature-list-module-CqSj1","icon-true":"feature-list-module-ojZvf","icon-false":"feature-list-module-4IjrA"};
|
|
7528
|
+
|
|
7529
|
+
function FeatureKey({ label }) {
|
|
7530
|
+
return label;
|
|
7531
|
+
}
|
|
7532
|
+
function FeatureValue({ value }) {
|
|
7533
|
+
if (typeof value === 'boolean' ||
|
|
7534
|
+
(typeof value === 'string' &&
|
|
7535
|
+
(value.toLowerCase() === 'true' || value.toLowerCase() === 'false'))) {
|
|
7536
|
+
return (jsx(Fragment, { children: String(value).toLowerCase() === 'true' ? (jsx(SolidOkayIcon, { className: styles$n['icon-true'] })) : (jsx(SolidCloseIcon, { className: styles$n['icon-false'] })) }));
|
|
7537
|
+
}
|
|
7538
|
+
return jsx("div", { className: styles$n.value, children: value });
|
|
7539
|
+
}
|
|
7540
|
+
function FeatureList({ className, features, style }) {
|
|
7541
|
+
return (jsx("div", { className: clsx(styles$n['feature-list'], className), children: features.map(({ id, key, value }) => (jsxs("div", { className: styles$n.row, children: [jsx("div", { className: clsx(styles$n.column, styles$n['column-label'], styles$n[`alignment-${style?.keyAlignment || 'left'}`]), children: key && jsx(FeatureKey, { ...key }) }), jsx("div", { className: clsx(styles$n.column, styles$n['column-value'], styles$n[`alignment-${style?.valueAlignment || 'right'}`]), children: Array.isArray(value) ? (value.map((value, index) => (jsx(FeatureValue, { value: value }, `${id}-${index}`)))) : (jsx(FeatureValue, { value: value })) })] }, id))) }));
|
|
7542
|
+
}
|
|
7543
|
+
|
|
7544
|
+
var styles$m = {"download-list-item":"download-document-list-module-Z023h"};
|
|
7545
|
+
|
|
7546
|
+
function DownloadDocumentList({ className, documents, }) {
|
|
7547
|
+
return (jsx(FeatureList, { className: className, features: documents.map(document => ({
|
|
7548
|
+
id: `${document.id}`,
|
|
7549
|
+
value: jsx(DownloadListItem, { document: document }, document.id),
|
|
7550
|
+
})), style: { valueAlignment: 'left' } }));
|
|
7551
|
+
}
|
|
7552
|
+
function DownloadListItem({ document: { href, name }, }) {
|
|
7553
|
+
return (jsxs("div", { className: styles$m['download-list-item'], children: [jsx(StrokeDownloadIcon, {}), jsx("a", { href: href, rel: "noreferrer", target: "_blank", children: name })] }));
|
|
7554
|
+
}
|
|
7555
|
+
|
|
7556
|
+
var styles$l = {"description":"product-details-panel-module-BqSmY","feature-list":"product-details-panel-module-J060x"};
|
|
7557
|
+
|
|
7558
|
+
function ProductDetailsPanel({ product }) {
|
|
7559
|
+
return (jsxs("div", { style: {
|
|
7560
|
+
display: 'flex',
|
|
7561
|
+
flexDirection: 'column',
|
|
7562
|
+
gap: '24px',
|
|
7563
|
+
padding: '1rem',
|
|
7564
|
+
}, children: [jsxs("div", { style: {
|
|
7565
|
+
display: 'flex',
|
|
7566
|
+
flexDirection: 'column',
|
|
7567
|
+
gap: '8px',
|
|
7568
|
+
}, children: [jsx(Heading, { size: "xs", children: product.productTitle }), jsx(ProductSku, { sku: product.productNumber })] }), jsxs("div", { style: {
|
|
7569
|
+
alignItems: 'flex-end',
|
|
7570
|
+
display: 'flex',
|
|
7571
|
+
justifyContent: 'space-between',
|
|
7572
|
+
width: '100%',
|
|
7573
|
+
}, children: [jsx(ProductPrice, { isVatIncluded: false, originalPrice: product.unitListPrice, price: product.unitListPrice }), jsxs("div", { style: { alignItems: 'center', display: 'flex', gap: '8px' }, children: [product.canAddToCart && (jsx(ConnectedAddToCartButton, { productId: product.storefrontId })), product.canAddToWishlist && (jsx(ConnectedFavoriteButton, { productId: product.storefrontId }))] })] }), jsxs("div", { children: [jsx(Heading, { size: "xxs", children: jsx(FormattedMessage, { id: "Product Features" }) }), jsx(ShowAll, { initialHeight: 216, children: jsx("div", { className: styles$l.description, dangerouslySetInnerHTML: {
|
|
7574
|
+
__html: product.content.htmlContent,
|
|
7575
|
+
} }) })] }), jsx("div", { children: jsxs(Accordion, { indented: true, borderType: ['top', 'middle-accentuated'], children: [Boolean(product.attributeTypes.length) && (jsx(AccordionItem, { id: "specification", title: jsx(FormattedMessage, { id: "Specifications" }), children: jsx(FeatureList, { className: styles$l['feature-list'], features: product.attributeTypes.map(attribute => ({
|
|
7576
|
+
id: `${attribute.id}`,
|
|
7577
|
+
key: { label: attribute.label },
|
|
7578
|
+
value: attribute.attributeValues.map(attributeValue => attributeValue.value),
|
|
7579
|
+
})) }) })), Boolean(product.specifications.length) && (jsx(AccordionItem, { id: "features", title: jsx(FormattedMessage, { id: "Features" }), children: jsx(FeatureList, { className: styles$l['feature-list'], features: product.specifications.map(specification => ({
|
|
7580
|
+
id: `${specification.id}`,
|
|
7581
|
+
key: { label: specification.nameDisplay },
|
|
7582
|
+
value: specification.value,
|
|
7583
|
+
})) }) })), Boolean(product.documents.length) && (jsx(AccordionItem, { id: "downloads", title: jsx(FormattedMessage, { id: "Downloads" }), children: jsx(DownloadDocumentList, { className: styles$l['feature-list'], documents: product.documents
|
|
7584
|
+
.map(document => ({
|
|
7585
|
+
href: document.filePath,
|
|
7586
|
+
id: document.id,
|
|
7587
|
+
name: document.name,
|
|
7588
|
+
}))
|
|
7589
|
+
.sort((a, b) => a.name.localeCompare(b.name)) }) }))] }) })] }));
|
|
7590
|
+
}
|
|
7591
|
+
|
|
7378
7592
|
function ProductDetailsPage({ pageUrl }) {
|
|
7379
7593
|
const languageCode = useLanguageCode();
|
|
7380
7594
|
const { data, error, isError, isFetching } = useFetchProductDetailsPageData({
|
|
@@ -7386,29 +7600,17 @@ function ProductDetailsPage({ pageUrl }) {
|
|
|
7386
7600
|
if (!data || isFetching)
|
|
7387
7601
|
return jsx(LoadingPage, {});
|
|
7388
7602
|
const { breadCrumb, included, product, recentlyViewed } = data;
|
|
7389
|
-
return (jsx(Page, { breadCrumb: breadCrumb, children: jsx(ProductDetailsPageLayout, { imageGallery: jsx(ImagesGrid, { images: product.images }), included:
|
|
7390
|
-
|
|
7391
|
-
display: 'flex',
|
|
7392
|
-
flexDirection: 'column',
|
|
7393
|
-
padding: '0 1rem 1rem',
|
|
7394
|
-
}, children: [jsx("h1", { style: { marginTop: '0' }, children: "Includes" }), included && (jsx(ProductCarousel, { hasOverflow: true, productCards: included.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
|
|
7603
|
+
return (jsx(Page, { breadCrumb: breadCrumb, children: jsx(ProductDetailsPageLayout, { imageGallery: jsx(ImagesGrid, { images: product.images }), included: included !== undefined &&
|
|
7604
|
+
Boolean(included.length) && (jsxs(Fragment, { children: [jsx(Heading, { size: "s", tag: "h2", children: jsx(FormattedMessage, { id: "Includes" }) }), jsx(ProductCarousel, { allowExpandToGrid: true, hasOverflow: true, productCards: included.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
|
|
7395
7605
|
fit: 'contain',
|
|
7396
7606
|
image: product.image,
|
|
7397
7607
|
title: product.image.altText,
|
|
7398
|
-
}, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) })
|
|
7399
|
-
|
|
7400
|
-
}, children: [jsx("h1", { children: product.productTitle }), jsx(ProductSku, { sku: product.productNumber }), jsx(ProductPrice, { isVatIncluded: false, originalPrice: product.unitListPrice, price: product.unitListPrice }), product.canAddToCart && (jsx(ConnectedAddToCartButton, { productId: product.storefrontId })), product.canAddToWishlist && (jsx(ConnectedFavoriteButton, { productId: product.storefrontId })), jsx("h2", { children: "Product Features" }), jsx("div", { dangerouslySetInnerHTML: {
|
|
7401
|
-
__html: product.content.htmlContent,
|
|
7402
|
-
} }), jsx("h2", { children: "Specifications" }), jsx("div", { style: {
|
|
7403
|
-
display: 'flex',
|
|
7404
|
-
flexDirection: 'column',
|
|
7405
|
-
}, children: product.attributeTypes.map(attribute => attribute.attributeValues.map(attributeValue => (jsxs("div", { style: { display: 'flex' }, children: [jsx("b", { children: attribute.label }), ":", jsx("span", { children: attributeValue.value })] }, `${attribute.id}-${attributeValue.id}`)))) }), jsx("h2", { children: "Features" }), jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: product.specifications.map(specification => (jsxs("div", { style: { display: 'flex' }, children: [jsx("b", { children: specification.nameDisplay }), ":", jsx("span", { children: specification.value })] }, specification.id))) }), jsx("h2", { children: "Downloads" }), jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: product.documents.map(document => (jsx("a", { href: `${config.SHOP_API_URL}/${document.filePath}`, rel: "noreferrer", target: "_blank", children: document.name }, document.id))) })] }), recentlyViewed: jsxs("div", { style: {
|
|
7406
|
-
padding: '0 1rem 1rem',
|
|
7407
|
-
}, children: [jsx("h1", { style: { marginTop: '0' }, children: "Recently Viewed" }), recentlyViewed && (jsx(ProductCarousel, { hasOverflow: true, productCards: recentlyViewed.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
|
|
7608
|
+
}, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) })] })), productInformation: jsx(ProductDetailsPanel, { product: product }), recentlyViewed: recentlyViewed !== undefined &&
|
|
7609
|
+
Boolean(recentlyViewed.length) && (jsxs(Fragment, { children: [jsx(Heading, { size: "s", tag: "h2", children: jsx(FormattedMessage, { id: "Recently viewed" }) }), jsx(ProductCarousel, { hasOverflow: true, productCards: recentlyViewed.map(product => (jsx(ConnectedProductCard, { href: product.href, image: {
|
|
7408
7610
|
fit: 'contain',
|
|
7409
7611
|
image: product.image,
|
|
7410
7612
|
title: product.image.altText,
|
|
7411
|
-
}, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) })
|
|
7613
|
+
}, price: product.price, productId: product.productId, sku: product.sku, tags: product.tags, title: product.title }, product.storefrontId))) })] })), usp: jsx("div", { style: {
|
|
7412
7614
|
backgroundColor: '#bcbcbc',
|
|
7413
7615
|
display: 'grid',
|
|
7414
7616
|
fontWeight: 'bold',
|
|
@@ -7454,19 +7656,7 @@ function StrokeCategoriesIcon(props) {
|
|
|
7454
7656
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M5.41809745,11.3726236 L7.09605568,11.3726236 C8.03897912,11.3726236 8.51415313,10.8859316 8.51415313,9.88212928 L8.51415313,6.48288973 C8.51415313,5.47908745 8.03897912,5 7.09605568,5 L5.41809745,5 C4.47517401,5 4,5.47908745 4,6.48288973 L4,9.88212928 C4,10.8859316 4.47517401,11.3726236 5.41809745,11.3726236 Z M11.1647332,11.3726236 L12.8426914,11.3726236 C13.7856148,11.3726236 14.2607889,10.8859316 14.2607889,9.88212928 L14.2607889,6.48288973 C14.2607889,5.47908745 13.7856148,5 12.8426914,5 L11.1647332,5 C10.2218097,5 9.74663573,5.47908745 9.74663573,6.48288973 L9.74663573,9.88212928 C9.74663573,10.8859316 10.2218097,11.3726236 11.1647332,11.3726236 Z M16.9113689,11.3726236 L18.5819026,11.3726236 C19.524826,11.3726236 20,10.8859316 20,9.88212928 L20,6.48288973 C20,5.47908745 19.524826,5 18.5819026,5 L16.9113689,5 C15.9610209,5 15.4858469,5.47908745 15.4858469,6.48288973 L15.4858469,9.88212928 C15.4858469,10.8859316 15.9610209,11.3726236 16.9113689,11.3726236 Z M5.43294664,10.3003802 C5.17308585,10.3003802 5.04686775,10.1634981 5.04686775,9.88212928 L5.04686775,6.48288973 C5.04686775,6.20912548 5.17308585,6.07224335 5.43294664,6.07224335 L7.0737819,6.07224335 C7.33364269,6.07224335 7.46728538,6.20912548 7.46728538,6.48288973 L7.46728538,9.88212928 C7.46728538,10.1634981 7.33364269,10.3003802 7.0737819,10.3003802 L5.43294664,10.3003802 Z M11.1795824,10.3003802 C10.9197216,10.3003802 10.7935035,10.1634981 10.7935035,9.88212928 L10.7935035,6.48288973 C10.7935035,6.20912548 10.9197216,6.07224335 11.1795824,6.07224335 L12.8278422,6.07224335 C13.087703,6.07224335 13.2139211,6.20912548 13.2139211,6.48288973 L13.2139211,9.88212928 C13.2139211,10.1634981 13.087703,10.3003802 12.8278422,10.3003802 L11.1795824,10.3003802 Z M16.9187935,10.3003802 C16.6589327,10.3003802 16.5327146,10.1634981 16.5327146,9.88212928 L16.5327146,6.48288973 C16.5327146,6.20912548 16.6589327,6.07224335 16.9187935,6.07224335 L18.5670534,6.07224335 C18.8269142,6.07224335 18.9531323,6.20912548 18.9531323,6.48288973 L18.9531323,9.88212928 C18.9531323,10.1634981 18.8269142,10.3003802 18.5670534,10.3003802 L16.9187935,10.3003802 Z M5.41809745,19 L7.09605568,19 C8.03897912,19 8.51415313,18.5209125 8.51415313,17.5171103 L8.51415313,14.1102662 C8.51415313,13.1140684 8.03897912,12.6273764 7.09605568,12.6273764 L5.41809745,12.6273764 C4.47517401,12.6273764 4,13.1140684 4,14.1102662 L4,17.5171103 C4,18.5209125 4.47517401,19 5.41809745,19 Z M11.1647332,19 L12.8426914,19 C13.7856148,19 14.2607889,18.5209125 14.2607889,17.5171103 L14.2607889,14.1102662 C14.2607889,13.1140684 13.7856148,12.6273764 12.8426914,12.6273764 L11.1647332,12.6273764 C10.2218097,12.6273764 9.74663573,13.1140684 9.74663573,14.1102662 L9.74663573,17.5171103 C9.74663573,18.5209125 10.2218097,19 11.1647332,19 Z M16.9113689,19 L18.5819026,19 C19.524826,19 20,18.5209125 20,17.5171103 L20,14.1102662 C20,13.1140684 19.524826,12.6273764 18.5819026,12.6273764 L16.9113689,12.6273764 C15.9610209,12.6273764 15.4858469,13.1140684 15.4858469,14.1102662 L15.4858469,17.5171103 C15.4858469,18.5209125 15.9610209,19 16.9113689,19 Z M5.43294664,17.9277567 C5.17308585,17.9277567 5.04686775,17.7908745 5.04686775,17.5171103 L5.04686775,14.1178707 C5.04686775,13.8365019 5.17308585,13.6996198 5.43294664,13.6996198 L7.0737819,13.6996198 C7.33364269,13.6996198 7.46728538,13.8365019 7.46728538,14.1178707 L7.46728538,17.5171103 C7.46728538,17.7908745 7.33364269,17.9277567 7.0737819,17.9277567 L5.43294664,17.9277567 Z M11.1795824,17.9277567 C10.9197216,17.9277567 10.7935035,17.7908745 10.7935035,17.5171103 L10.7935035,14.1178707 C10.7935035,13.8365019 10.9197216,13.6996198 11.1795824,13.6996198 L12.8278422,13.6996198 C13.087703,13.6996198 13.2139211,13.8365019 13.2139211,14.1178707 L13.2139211,17.5171103 C13.2139211,17.7908745 13.087703,17.9277567 12.8278422,17.9277567 L11.1795824,17.9277567 Z M16.9187935,17.9277567 C16.6589327,17.9277567 16.5327146,17.7908745 16.5327146,17.5171103 L16.5327146,14.1178707 C16.5327146,13.8365019 16.6589327,13.6996198 16.9187935,13.6996198 L18.5670534,13.6996198 C18.8269142,13.6996198 18.9531323,13.8365019 18.9531323,14.1178707 L18.9531323,17.5171103 C18.9531323,17.7908745 18.8269142,17.9277567 18.5670534,17.9277567 L16.9187935,17.9277567 Z" }) }));
|
|
7455
7657
|
}
|
|
7456
7658
|
|
|
7457
|
-
|
|
7458
|
-
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "12", viewBox: "0 0 12 12", width: "12", children: jsx("path", { d: "M5.98800959,10 L1,4.97931034 C1.17585931,4.65747126 1.4636291,4.2954023 1.86330935,3.89310345 C2.03916867,3.71609195 2.21502798,3.55517241 2.39088729,3.41034483 C2.5667466,3.26551724 2.70263789,3.16896552 2.79856115,3.12068966 L2.94244604,3.02413793 L5.98800959,6.08965517 L9.05755396,3 C9.39328537,3.19310345 9.7529976,3.48275862 10.1366906,3.86896552 C10.31255,4.04597701 10.4724221,4.22298851 10.616307,4.4 L10.8321343,4.67517241 C10.8705036,4.72666667 10.902478,4.77172414 10.9280576,4.81034483 L11,4.95517241 L5.98800959,10 Z", fillRule: "evenodd" }) }));
|
|
7459
|
-
}
|
|
7460
|
-
|
|
7461
|
-
function AccordionItem({ _pseudo = 'none', children, className, id, initialIsOpen = false, isDisabled = false, size, title, }) {
|
|
7462
|
-
const { isOpen, toggle } = useDisclosure(initialIsOpen);
|
|
7463
|
-
const panelId = `panel-${id}`;
|
|
7464
|
-
return (jsxs("div", { className: clsx(className, styles$E['accordion-item'], {
|
|
7465
|
-
[styles$E['is-open']]: isOpen,
|
|
7466
|
-
}), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$E.button, styles$E[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$E.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$E.panel, id: panelId, role: "region", children: jsx("div", { className: styles$E.content, children: children }) })] }));
|
|
7467
|
-
}
|
|
7468
|
-
|
|
7469
|
-
var styles$l = {"filter-section":"filter-section-module-q1Ob8","default":"filter-section-module-JkP09","title":"filter-section-module-hWVv-","with-action":"filter-section-module-9qc6L","header":"filter-section-module-zi2ZE","content":"filter-section-module-15-YW","sm":"filter-section-module-crU-3","md":"filter-section-module-vHRQu","border-top":"filter-section-module-dGcTY"};
|
|
7659
|
+
var filterSectionStyles = {"filter-section":"filter-section-module-q1Ob8","default":"filter-section-module-JkP09","title":"filter-section-module-hWVv-","with-action":"filter-section-module-9qc6L","header":"filter-section-module-zi2ZE","content":"filter-section-module-15-YW","border-top":"filter-section-module-dGcTY","filter-section-item":"filter-section-module-n-AWg"};
|
|
7470
7660
|
|
|
7471
7661
|
function FilterSection({ ...props }) {
|
|
7472
7662
|
const variant = props.variant;
|
|
@@ -7484,13 +7674,13 @@ function FilterSection({ ...props }) {
|
|
|
7484
7674
|
/* eslint-enable @typescript-eslint/no-unnecessary-condition */
|
|
7485
7675
|
}
|
|
7486
7676
|
function CollapsibleFilterSection({ children, gap = 'md', initialIsOpen = true, title, variant, }) {
|
|
7487
|
-
return (jsx("section", { className: clsx(
|
|
7677
|
+
return (jsx("section", { className: clsx(filterSectionStyles['filter-section'], filterSectionStyles[variant], filterSectionStyles[gap]), children: jsx(Accordion, { borderType: "middle", children: jsx(AccordionItem, { id: title, initialIsOpen: initialIsOpen, title: jsx("span", { className: filterSectionStyles['accordion-title'], children: jsx(FormattedMessage, { optional: true, fallbackValue: title, id: `facet.${title.toLowerCase()}` }) }), children: jsx("div", { className: filterSectionStyles.content, children: children }) }) }) }));
|
|
7488
7678
|
}
|
|
7489
7679
|
function WithActionFilterSection({ button, children, gap = 'md', title, variant, }) {
|
|
7490
|
-
return (jsxs("section", { className: clsx(
|
|
7680
|
+
return (jsxs("section", { className: clsx(filterSectionStyles['filter-section'], filterSectionStyles[variant], filterSectionStyles[gap]), children: [jsxs("div", { className: filterSectionStyles.header, children: [jsx("h3", { className: filterSectionStyles.title, children: title }), jsx("div", { children: button })] }), jsx("div", { className: filterSectionStyles.content, children: children })] }));
|
|
7491
7681
|
}
|
|
7492
7682
|
function DefaultFilterSection({ children, gap = 'md', title, variant, }) {
|
|
7493
|
-
return (jsxs("section", { className: clsx(
|
|
7683
|
+
return (jsxs("section", { className: clsx(filterSectionStyles['filter-section'], filterSectionStyles[variant], filterSectionStyles[gap]), children: [jsx("h3", { className: filterSectionStyles.title, children: title }), jsx("div", { className: filterSectionStyles.content, children: children })] }));
|
|
7494
7684
|
}
|
|
7495
7685
|
|
|
7496
7686
|
var styles$k = {"filter-panel":"algolia-filter-panel-module-GfhOO","scroll-container":"algolia-filter-panel-module-4ubB1","category":"algolia-filter-panel-module-LKet3","is-active":"algolia-filter-panel-module-yf8kI","value":"algolia-filter-panel-module-gQzED","count":"algolia-filter-panel-module-uAHPx","button":"algolia-filter-panel-module-ABOYv"};
|
|
@@ -7506,7 +7696,7 @@ function AlgoliaActiveCategories() {
|
|
|
7506
7696
|
const t = useFormattedMessage();
|
|
7507
7697
|
if (categories.length <= 0)
|
|
7508
7698
|
return null;
|
|
7509
|
-
return (jsx(FilterSection, { gap: "sm", title: t('facet.categories'), variant: "default", children: jsx(
|
|
7699
|
+
return (jsx(FilterSection, { gap: "sm", title: t('facet.categories'), variant: "default", children: jsx(Categories, { categories: categories, path: "/Catalog" }) }));
|
|
7510
7700
|
}
|
|
7511
7701
|
function Categories({ categories, path: _path, }) {
|
|
7512
7702
|
return categories
|
|
@@ -7515,19 +7705,19 @@ function Categories({ categories, path: _path, }) {
|
|
|
7515
7705
|
const categorySlug = category.label.toLowerCase().replace(/ /g, '-');
|
|
7516
7706
|
const path = `${_path}/${categorySlug}`;
|
|
7517
7707
|
const isActive = !category.data || !category.data.some(c => c.isRefined);
|
|
7518
|
-
return (jsxs(Fragment, { children: [jsxs(RouteLink, { hasUnderline: true, className: clsx(styles$k.category, {
|
|
7519
|
-
|
|
7520
|
-
|
|
7708
|
+
return (jsxs(Fragment, { children: [jsx("div", { className: filterSectionStyles['filter-section-item'], children: jsxs(RouteLink, { hasUnderline: true, className: clsx(styles$k.category, {
|
|
7709
|
+
[styles$k['is-active']]: isActive,
|
|
7710
|
+
}), href: path, isDisabled: isActive, children: [jsx(StrokeCategoriesIcon, { height: 24, width: 24 }), jsx("span", { children: category.label })] }) }), category.data && (jsx(Categories, { categories: category.data, path: path }))] }, category.value));
|
|
7521
7711
|
});
|
|
7522
7712
|
}
|
|
7523
7713
|
|
|
7524
|
-
var styles$j = {"active-filter-item":"active-filters-module-Rrmhy","
|
|
7714
|
+
var styles$j = {"active-filter-item":"active-filters-module-Rrmhy","active-filter-value":"active-filters-module-CIuPU","clear-filter-button":"active-filters-module-Ud9kZ"};
|
|
7525
7715
|
|
|
7526
7716
|
const ActiveFilters = ({ onClearAllFilters, onClearFilter, selectedFilterCategories, }) => {
|
|
7527
7717
|
const t = useFormattedMessage();
|
|
7528
7718
|
if (selectedFilterCategories.length === 0)
|
|
7529
7719
|
return null;
|
|
7530
|
-
return (jsx(FilterSection, { button: jsx(RouteLink, { onPress: onClearAllFilters, children: jsx(FormattedMessage, { id: "Clear filters" }) }), title: t('Chosen filters'), variant: "with-action", children: selectedFilterCategories.map(
|
|
7720
|
+
return (jsx(FilterSection, { button: jsx(RouteLink, { onPress: onClearAllFilters, children: jsx(FormattedMessage, { id: "Clear filters" }) }), title: t('Chosen filters'), variant: "with-action", children: selectedFilterCategories.map(category => category.filters.map(filter => (jsxs("div", { className: clsx(filterSectionStyles['filter-section-item'], styles$j['active-filter-item']), children: [jsxs("span", { children: [jsxs("span", { children: [jsx(FormattedMessage, { id: `facet.${category.label.toLowerCase()}` }), jsx("span", { children: ": " })] }), jsx("span", { className: styles$j['active-filter-value'], children: filter.label })] }), jsx(IconButton, { className: styles$j['clear-filter-button'], color: "secondary", onPress: () => onClearFilter(category.label, filter), children: jsx(StrokeCloseboxIcon, {}) })] }, `${category.label}-${filter.value}`)))) }));
|
|
7531
7721
|
};
|
|
7532
7722
|
|
|
7533
7723
|
function AlgoliaActiveFilters() {
|
|
@@ -7568,9 +7758,9 @@ function AlgoliaCategoriesFilters() {
|
|
|
7568
7758
|
const t = useFormattedMessage();
|
|
7569
7759
|
if (categories.length <= 0)
|
|
7570
7760
|
return null;
|
|
7571
|
-
return (jsx(FilterSection, { title: t('facet.categories'), variant: "default", children: categories.map(({
|
|
7572
|
-
|
|
7573
|
-
|
|
7761
|
+
return (jsx(FilterSection, { title: t('facet.categories'), variant: "default", children: categories.map(category => (jsx(Fragment$1, { children: jsx("div", { className: filterSectionStyles['filter-section-item'], children: jsxs(Link, { hasUnderline: true, className: clsx(styles$k.category, {
|
|
7762
|
+
[styles$k['is-active']]: category.isRefined,
|
|
7763
|
+
}), onClick: () => refine(category.value), children: [jsx(StrokeCategoriesIcon, { height: 24, width: 24 }), jsx("span", { children: category.label }), jsxs("span", { className: styles$k.count, children: ["(", category.count, ")"] })] }) }) }, category.value))) }));
|
|
7574
7764
|
}
|
|
7575
7765
|
|
|
7576
7766
|
function AlgoliaDummyRefinementListConsumer() {
|
|
@@ -8068,10 +8258,7 @@ function useFetchProductListingPageData({ languageCode, pageUrl, }) {
|
|
|
8068
8258
|
queryKey: ['product-listing-page-data', pageUrl, languageCode],
|
|
8069
8259
|
select: ({ body }) => {
|
|
8070
8260
|
return {
|
|
8071
|
-
breadCrumb: body.breadCrumb
|
|
8072
|
-
href: breadCrumb.url,
|
|
8073
|
-
label: breadCrumb.text,
|
|
8074
|
-
})),
|
|
8261
|
+
breadCrumb: body.breadCrumb,
|
|
8075
8262
|
category: body.categories
|
|
8076
8263
|
? {
|
|
8077
8264
|
href: body.categories.path,
|
|
@@ -8292,19 +8479,21 @@ function useAlgoliaInsights() {
|
|
|
8292
8479
|
queryId: context.queryId,
|
|
8293
8480
|
});
|
|
8294
8481
|
},
|
|
8295
|
-
sendProductClickFromSearchEvent({
|
|
8482
|
+
sendProductClickFromSearchEvent({ objectId, position, queryId }) {
|
|
8296
8483
|
if (!objectId)
|
|
8297
8484
|
return console.warn('Unable to send clickedObjectIDsAfterSearch event, no index', context);
|
|
8485
|
+
if (!context.index)
|
|
8486
|
+
return console.warn('Unable to send clickedObjectIDsAfterSearch event, no index', context);
|
|
8298
8487
|
aa('clickedObjectIDsAfterSearch', {
|
|
8299
8488
|
eventName: 'SRP: Product Clicked',
|
|
8300
|
-
index,
|
|
8489
|
+
index: context.index,
|
|
8301
8490
|
objectIDs: [].concat(objectId),
|
|
8302
8491
|
positions: [].concat(position),
|
|
8303
8492
|
queryID: queryId,
|
|
8304
8493
|
userToken,
|
|
8305
8494
|
});
|
|
8306
8495
|
setGlobalState({
|
|
8307
|
-
index,
|
|
8496
|
+
index: context.index,
|
|
8308
8497
|
queryId,
|
|
8309
8498
|
});
|
|
8310
8499
|
},
|
|
@@ -8364,7 +8553,7 @@ function ProductListingProductOverview() {
|
|
|
8364
8553
|
title: product.name,
|
|
8365
8554
|
}, onAddToCart: () => sendAddToCartFromProductListPageEvent({
|
|
8366
8555
|
objectId: product.objectId,
|
|
8367
|
-
}),
|
|
8556
|
+
}), onFavoriting: () => sendAddToWishListFromProductListPageEvent({
|
|
8368
8557
|
objectId: product.objectId,
|
|
8369
8558
|
position: product.position,
|
|
8370
8559
|
}), onPress: () => sendProductClickFromProductListPageEvent({
|
|
@@ -8420,13 +8609,15 @@ function SearchResultProductOverview() {
|
|
|
8420
8609
|
title: product.name,
|
|
8421
8610
|
}, onAddToCart: () => sendAddToCartFromSearchResultPageEvent({
|
|
8422
8611
|
objectId: product.objectId,
|
|
8423
|
-
}),
|
|
8424
|
-
objectId: product.objectId,
|
|
8425
|
-
position: product.position,
|
|
8426
|
-
}), onPress: () => sendProductClickFromSearchResultPageEvent({
|
|
8612
|
+
}), onFavoriting: () => sendAddToWishListFromSearchResultPageEvent({
|
|
8427
8613
|
objectId: product.objectId,
|
|
8428
8614
|
position: product.position,
|
|
8429
|
-
}),
|
|
8615
|
+
}), onPress: () => {
|
|
8616
|
+
sendProductClickFromSearchResultPageEvent({
|
|
8617
|
+
objectId: product.objectId,
|
|
8618
|
+
position: product.position,
|
|
8619
|
+
});
|
|
8620
|
+
}, price: {
|
|
8430
8621
|
isVatIncluded: product.isVatIncluded,
|
|
8431
8622
|
originalPrice: product.originalPrice,
|
|
8432
8623
|
price: product.price,
|
|
@@ -8606,35 +8797,6 @@ const popularSearchesPlugin = ({ searchClient, suggestionsIndexName, }) => creat
|
|
|
8606
8797
|
},
|
|
8607
8798
|
});
|
|
8608
8799
|
|
|
8609
|
-
const productsPlugin = ({ productsIndexName, searchClient, }) => {
|
|
8610
|
-
return {
|
|
8611
|
-
getSources() {
|
|
8612
|
-
return [
|
|
8613
|
-
{
|
|
8614
|
-
getItemUrl({ item }) {
|
|
8615
|
-
return item.slug;
|
|
8616
|
-
},
|
|
8617
|
-
getItems({ query }) {
|
|
8618
|
-
return getAlgoliaResults({
|
|
8619
|
-
queries: [
|
|
8620
|
-
{
|
|
8621
|
-
indexName: productsIndexName,
|
|
8622
|
-
params: {
|
|
8623
|
-
hitsPerPage: 5,
|
|
8624
|
-
},
|
|
8625
|
-
query,
|
|
8626
|
-
},
|
|
8627
|
-
],
|
|
8628
|
-
searchClient,
|
|
8629
|
-
});
|
|
8630
|
-
},
|
|
8631
|
-
sourceId: 'productsPlugin',
|
|
8632
|
-
},
|
|
8633
|
-
];
|
|
8634
|
-
},
|
|
8635
|
-
};
|
|
8636
|
-
};
|
|
8637
|
-
|
|
8638
8800
|
const querySuggestionsPlugin = ({ searchClient, suggestionsIndexName, }) => createQuerySuggestionsPlugin({
|
|
8639
8801
|
getSearchParams({ state }) {
|
|
8640
8802
|
return {
|
|
@@ -8718,7 +8880,6 @@ function AlgoliaSearchProvider({ children, searchClient: _searchClient, }) {
|
|
|
8718
8880
|
const index = getAlgoliaIndex(environment, languageCode);
|
|
8719
8881
|
const productsIndexName = index.default;
|
|
8720
8882
|
const productsQuerySuggestionsIndexName = index.suggestions;
|
|
8721
|
-
const { sendProductClickFromSearchEvent } = useAlgoliaInsights();
|
|
8722
8883
|
const getSources = useDebouncedCallback(({ query }) => {
|
|
8723
8884
|
return [
|
|
8724
8885
|
{
|
|
@@ -8727,6 +8888,9 @@ function AlgoliaSearchProvider({ children, searchClient: _searchClient, }) {
|
|
|
8727
8888
|
queries: [
|
|
8728
8889
|
{
|
|
8729
8890
|
indexName: productsIndexName,
|
|
8891
|
+
params: {
|
|
8892
|
+
hitsPerPage: 5,
|
|
8893
|
+
},
|
|
8730
8894
|
query,
|
|
8731
8895
|
},
|
|
8732
8896
|
],
|
|
@@ -8743,27 +8907,12 @@ function AlgoliaSearchProvider({ children, searchClient: _searchClient, }) {
|
|
|
8743
8907
|
const autocomplete = useMemo(() => createAutocomplete({
|
|
8744
8908
|
autoFocus: true,
|
|
8745
8909
|
getSources,
|
|
8746
|
-
insights:
|
|
8747
|
-
onSelect({ insightsEvents }) {
|
|
8748
|
-
insightsEvents.forEach(event => {
|
|
8749
|
-
sendProductClickFromSearchEvent({
|
|
8750
|
-
index: event.index,
|
|
8751
|
-
objectId: event.items.map(item => item.objectID),
|
|
8752
|
-
position: event.positions,
|
|
8753
|
-
queryId: event.queryID,
|
|
8754
|
-
});
|
|
8755
|
-
});
|
|
8756
|
-
},
|
|
8757
|
-
},
|
|
8910
|
+
insights: true,
|
|
8758
8911
|
onStateChange({ state }) {
|
|
8759
8912
|
setState(state);
|
|
8760
8913
|
},
|
|
8761
8914
|
openOnFocus: true,
|
|
8762
8915
|
plugins: [
|
|
8763
|
-
productsPlugin({
|
|
8764
|
-
productsIndexName,
|
|
8765
|
-
searchClient,
|
|
8766
|
-
}),
|
|
8767
8916
|
querySuggestionsPlugin({
|
|
8768
8917
|
searchClient,
|
|
8769
8918
|
suggestionsIndexName: productsQuerySuggestionsIndexName,
|
|
@@ -8875,10 +9024,6 @@ const useGlobalSearchDisclosure = () => {
|
|
|
8875
9024
|
return context;
|
|
8876
9025
|
};
|
|
8877
9026
|
|
|
8878
|
-
function SolidCloseIcon(props) {
|
|
8879
|
-
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M11.9997748,2 C17.5138784,2 22,6.48597148 22,11.9997748 C22,17.5138784 17.5138784,22 11.9997748,22 C6.48597148,22 2,17.5138784 2,11.9997748 C2,6.48597148 6.48597148,2 11.9997748,2 Z M16.4949747,7.50502525 C16.2216077,7.23165825 15.7783923,7.23165825 15.5050253,7.50502525 L12,11.011 L8.49497475,7.50502525 C8.22160774,7.23165825 7.77839226,7.23165825 7.50502525,7.50502525 L7.43121616,7.59179111 C7.23439192,7.86533687 7.25899495,8.24894444 7.50502525,8.49497475 L11.011,12 L7.50502525,15.5050253 C7.23165825,15.7783923 7.23165825,16.2216077 7.50502525,16.4949747 L7.59179111,16.5687838 C7.86533687,16.7656081 8.24894444,16.7410051 8.49497475,16.4949747 L12,12.988 L15.5050253,16.4949747 C15.7783923,16.7683418 16.2216077,16.7683418 16.4949747,16.4949747 L16.5687838,16.4082089 C16.7656081,16.1346631 16.7410051,15.7510556 16.4949747,15.5050253 L12.988,12 L16.4949747,8.49497475 C16.7683418,8.22160774 16.7683418,7.77839226 16.4949747,7.50502525 Z", fillRule: "evenodd" }) }));
|
|
8880
|
-
}
|
|
8881
|
-
|
|
8882
9027
|
function StrokeSearchIcon(props) {
|
|
8883
9028
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M10.1044994,16.5738466 C6.53724234,16.5738466 3.63503896,13.6716658 3.63503896,10.1044364 C3.63503896,6.53739167 6.53724234,3.63521084 10.1044994,3.63521084 C13.6717564,3.63521084 16.5737752,6.53739167 16.5737752,10.1044364 C16.5737752,13.6716658 13.6717564,16.5738466 10.1044994,16.5738466 M21.7583512,20.6019769 L16.3655653,15.2505791 C17.5171805,13.8510793 18.2089988,12.0586047 18.2089988,10.1044364 C18.2089988,5.62851052 14.5804601,2 10.1044994,2 C5.62853871,2 2,5.62851052 2,10.1044364 C2,14.5805469 5.62853871,18.2090574 10.1044994,18.2090574 C12.0372712,18.2090574 13.8113014,17.5312728 15.2041671,16.4020009 L20.6065514,21.7628123 C20.7660314,21.9208144 20.9742413,22 21.1824513,22 C21.3925071,22 21.6029321,21.9191531 21.7627812,21.7581977 C22.0808183,21.4377636 22.0787879,20.9200114 21.7583512,20.6019769", fillRule: "evenodd" }) }));
|
|
8884
9029
|
}
|
|
@@ -8974,7 +9119,7 @@ function SearchList({ ariaLabelledby, children, className, id, }) {
|
|
|
8974
9119
|
var styles$2 = {"search-list-item":"search-list-item-module-WXp77","clear-filter-button":"search-list-item-module-YJvJm","content":"search-list-item-module-CPrhz","text":"search-list-item-module--5uqN"};
|
|
8975
9120
|
|
|
8976
9121
|
function SearchListItem({ icon, isRemovable = false, onClick, onRemove, text, }) {
|
|
8977
|
-
return (jsxs("li", { className: styles$2['search-list-item'], onClick: onClick, role: "option", children: [jsxs("div", { className: styles$2.content, children: [icon && icon, text && jsx("span", { className: styles$2.text, children: text })] }), isRemovable && (jsx(IconButton, { color: "secondary", onPress: onRemove, children: jsx(StrokeCloseboxIcon, {}) }))] }));
|
|
9122
|
+
return (jsxs("li", { className: styles$2['search-list-item'], onClick: onClick, role: "option", children: [jsxs("div", { className: styles$2.content, children: [icon && icon, text && jsx("span", { className: styles$2.text, children: text })] }), isRemovable && (jsx(IconButton, { className: styles$2['clear-filter-button'], color: "secondary", onPress: onRemove, children: jsx(StrokeCloseboxIcon, {}) }))] }));
|
|
8978
9123
|
}
|
|
8979
9124
|
|
|
8980
9125
|
var styles$1 = {"quick-access-section":"no-search-module-87NKV","quick-access-carousel":"no-search-module-beCXI","quick-access-card":"no-search-module-dtT5J"};
|
|
@@ -9054,12 +9199,12 @@ function SuggestionsSection() {
|
|
|
9054
9199
|
function ProductResultsSection() {
|
|
9055
9200
|
const { autocomplete, products: collection } = useAlgoliaSearch();
|
|
9056
9201
|
const { close } = useGlobalSearchDisclosure();
|
|
9057
|
-
const { sendAddToCartFromSearchEvent, sendAddToWishListFromSearchEvent } = useAlgoliaInsights();
|
|
9202
|
+
const { sendAddToCartFromSearchEvent, sendAddToWishListFromSearchEvent, sendProductClickFromSearchEvent, } = useAlgoliaInsights();
|
|
9058
9203
|
const t = useFormattedMessage();
|
|
9059
9204
|
if (!collection)
|
|
9060
9205
|
return null;
|
|
9061
9206
|
const { items, source } = collection;
|
|
9062
|
-
return (jsx(SearchSection, { className: styles$4['product-results-section'], title: t('Products'), children: jsx("div", { className: styles$4['product-results'], ...autocomplete.getListProps({ source }), children: jsx(ProductCarousel, { productCards: items.map((product, index) => (createElement$1(ConnectedProductCard, { ...autocomplete.getItemProps({
|
|
9207
|
+
return (jsx(SearchSection, { className: styles$4['product-results-section'], title: t('Products'), children: jsx("div", { className: styles$4['product-results'], ...autocomplete.getListProps({ source }), children: jsx(ProductCarousel, { cardWidth: "narrow", productCards: items.map((product, index) => (createElement$1(ConnectedProductCard, { ...autocomplete.getItemProps({
|
|
9063
9208
|
item: product.hit,
|
|
9064
9209
|
source: source,
|
|
9065
9210
|
}), key: product.storefrontId, href: product.storefrontSlug, image: {
|
|
@@ -9070,18 +9215,25 @@ function ProductResultsSection() {
|
|
|
9070
9215
|
sendAddToCartFromSearchEvent({
|
|
9071
9216
|
objectId: product.objectId,
|
|
9072
9217
|
queryId: product.queryId,
|
|
9073
|
-
}), onClick: () => close(),
|
|
9218
|
+
}), onClick: () => close(), onFavoriting: () => {
|
|
9074
9219
|
product.queryId &&
|
|
9075
9220
|
sendAddToWishListFromSearchEvent({
|
|
9076
9221
|
objectId: product.objectId,
|
|
9077
9222
|
position: product.position || index + 1,
|
|
9078
9223
|
queryId: product.queryId,
|
|
9079
9224
|
});
|
|
9225
|
+
}, onPress: () => {
|
|
9226
|
+
product.queryId &&
|
|
9227
|
+
sendProductClickFromSearchEvent({
|
|
9228
|
+
objectId: product.objectId,
|
|
9229
|
+
position: product.position || index + 1,
|
|
9230
|
+
queryId: product.queryId,
|
|
9231
|
+
});
|
|
9080
9232
|
}, price: {
|
|
9081
9233
|
isVatIncluded: product.isVatIncluded,
|
|
9082
9234
|
originalPrice: product.originalPrice,
|
|
9083
9235
|
price: product.price,
|
|
9084
|
-
}, productId: product.storefrontId, sku: product.id, tags: product.labels, title: jsx(Highlight, { attribute: "name", hit: product.hit }) }))) }) }) }));
|
|
9236
|
+
}, productId: product.storefrontId, sku: product.id, tags: product.labels, title: jsx(Highlight, { attribute: "name", hit: product.hit }) }))), productsPerView: "auto" }) }) }));
|
|
9085
9237
|
}
|
|
9086
9238
|
|
|
9087
9239
|
function PanelContent() {
|
|
@@ -9142,4 +9294,17 @@ function ReactQueryContainer({ children }) {
|
|
|
9142
9294
|
return (jsx(QueryClientProvider, { client: queryClient, children: children }));
|
|
9143
9295
|
}
|
|
9144
9296
|
|
|
9297
|
+
/* eslint-disable simple-import-sort/exports */
|
|
9298
|
+
// eslint-disable-next-line no-console
|
|
9299
|
+
console.log(`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
9300
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
9301
|
+
@@@@@@/ &@@@@ .@@@@& *@@@@# @@@@& *@@@@
|
|
9302
|
+
@@@@% #@@@@@ *#. ,@@& ##( (@@( @@@ /( /@@@
|
|
9303
|
+
@@@@ /@ @@, @@@@@@@ (@& @@@@@% @@( @@ @@@@@@@@@@@@@
|
|
9304
|
+
@@@@* .@* @@, @@@@@@& #@& @@@@@@ @@( @@ @@@@@@@@@@@@@
|
|
9305
|
+
@@@@@. @@@@. . /@@& @@@@@@ @@( @@@ ,@@@
|
|
9306
|
+
@@@@ @@@@@@@@, (@@@@& @@@@@@ @@% @@@@@ &@@@@
|
|
9307
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
9308
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`);
|
|
9309
|
+
|
|
9145
9310
|
export { Accordion, AddToCartButton, AlgoliaActiveCategories, AlgoliaCategoriesFilters, AlgoliaFilterPanel, AlgoliaInsightsProvider, AlgoliaInsightsProviderContext, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, AvailabilityMessageType, BadRequestError, BadgeImagePlacementValues, BadgeStyleValues, BadgeTypeValues, Breadcrumb, Button, CartProvider, CategoryCarousel, Checkbox, ColorCheckbox, ConnectedAddToCartButton, CurrencyPositioningType, FavoriteButton, FavoriteProvider, FilterSection, ForbiddenRequestError, FormattedMessage, GlobalSearch, GlobalSearchDisclosureContext, GlobalSearchProvider, GlobalStateProvider, GlobalStateProviderContext, IconButton, Image, InternalServerErrorRequest, IntlProvider, Link, LoadingOverlay, MultiSelect, NotFoundRequestError, NumberField, Page, PageContainer, ProductCard, ProductDetailsPage, ProductListingPage, ProductOverviewGrid, ProductPrice, ProductSku, ProgressCircle, ReactQueryContainer, RequestError, RouteButton, RouteLink, RouteProvider, SearchResultsPage, SearchRoot, Select, ShowAll, Sidebar, SidebarDetectBreakpoint, SidebarProvider, TextField, TimeoutRequestError, UnauthorizedRequestError, UnprocessableContentRequestError, VariantDisplayTypeValues, WishListNameAlreadyExistsError, addProductToCurrentCart, addWishListItemToWishList, config, configPerEnvironment, createSession, createSonicSearchClient, createWishList, deleteCartLineById, deleteWishList, deleteWishListItemFromWishList, environment, environments, fetchCurrentCartLines, fetchTranslations, getSession, getWishList, getWishListItemsByWishListId, getWishLists, isRequestError, request, signIn, signOut, transformAlgoliaProductHitToProductHit, updateCartLineById, useAddProductToCurrentCart, useAddWishListItemToCurrentWishList, useAddWishListItemToWishList, useAlgolia, useAlgoliaInsights, useAlgoliaSearch, useBreakpoint, useCartEvents, useCreateWishList, useDebouncedCallback, useDeleteCartLineById, useDeleteWishListItemFromWishList, useDisclosure, useFavorite, useFavoriteProduct, useFeatureFlags, useFetchAllWishListsItems, useFetchCurrentCartLines, useFetchTranslations, useFetchWishLists, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useIsAuthenticated, useIsBreakpoint, useNavigate, useOnNavigate, useScrollLock, useSession, useSignIn, useSignOut, useUpdateCartLineById, userToken };
|