vviinn-widgets 2.188.0 → 2.189.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{Rectangle-0jUlP_jx.js → Rectangle-DVEulpFu.js} +1 -0
- package/dist/cjs/{index-BUEskchg.js → index-DZMV2ChQ.js} +1 -1
- package/dist/cjs/{package-B2xF7VCy.js → package-CN6WlYoJ.js} +1 -1
- package/dist/cjs/{resources-5_Y1cO9T.js → resources-cQWt9LRT.js} +2 -2
- package/dist/cjs/{search.store-NSPzykno.js → search.store-CT4luzT3.js} +5 -2
- package/dist/cjs/vviinn-button_6.cjs.entry.js +3 -3
- package/dist/cjs/vviinn-camera_11.cjs.entry.js +35 -26
- package/dist/cjs/vviinn-carousel_10.cjs.entry.js +5 -5
- package/dist/cjs/vviinn-detected-object_2.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-selected-filters.cjs.entry.js +3 -3
- package/dist/cjs/vviinn-shop-the-look.cjs.entry.js +2 -2
- package/dist/cjs/vviinn-text-search.cjs.entry.js +3 -3
- package/dist/cjs/vviinn-vps-button.cjs.entry.js +2 -2
- package/dist/collection/Image/error.js +2 -1
- package/dist/collection/components/vviinn-carousel/vviinn-carousel.js +2 -2
- package/dist/collection/components/vviinn-image-selector/vviinn-image-selector.js +20 -11
- package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-widget.js +1 -1
- package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +2 -2
- package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +16 -16
- package/dist/collection/locale/resources.js +2 -2
- package/dist/esm/{Rectangle-CWwG37eK.js → Rectangle-DGBESJrE.js} +1 -1
- package/dist/esm/{index-CdSE2oQq.js → index-BIViS3eV.js} +1 -1
- package/dist/esm/{package-C1SlDb4h.js → package-B82dIeWY.js} +1 -1
- package/dist/esm/{resources-Bv3dEgL8.js → resources-CHDT594L.js} +2 -2
- package/dist/esm/{search.store-HXwFfRvm.js → search.store-DLJr8QhM.js} +4 -3
- package/dist/esm/vviinn-button_6.entry.js +3 -3
- package/dist/esm/vviinn-camera_11.entry.js +35 -26
- package/dist/esm/vviinn-carousel_10.entry.js +5 -5
- package/dist/esm/vviinn-detected-object_2.entry.js +1 -1
- package/dist/esm/vviinn-selected-filters.entry.js +3 -3
- package/dist/esm/vviinn-shop-the-look.entry.js +2 -2
- package/dist/esm/vviinn-text-search.entry.js +3 -3
- package/dist/esm/vviinn-vps-button.entry.js +2 -2
- package/dist/types/Image/error.d.ts +1 -0
- package/dist/types/components/vviinn-image-selector/vviinn-image-selector.d.ts +2 -2
- package/dist/types/components/vviinn-suggestions/render-helpers.d.ts +2 -4
- package/dist/types/components/vviinn-vps-button/vviinn-vps-button.d.ts +1 -1
- package/dist/types/components/vviinn-vps-widget/vviinn-vps-widget.d.ts +2 -2
- package/dist/types/components.d.ts +5 -5
- package/dist/types/interfaces/generated.d.ts +23 -6
- package/dist/vviinn-widgets/{p-63811fdb.entry.js → p-1152fa0e.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-138c29a9.entry.js → p-256b88e4.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-dd65398d.entry.js → p-2b84bf8e.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-fd6ee191.entry.js → p-30a6e803.entry.js} +1 -1
- package/{www/build/p-da22f7e7.entry.js → dist/vviinn-widgets/p-41b337dd.entry.js} +1 -1
- package/dist/vviinn-widgets/p-80eb9975.entry.js +1 -0
- package/dist/vviinn-widgets/{p-75994d6d.entry.js → p-93335b84.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-C1SlDb4h.js → p-B82dIeWY.js} +1 -1
- package/dist/vviinn-widgets/p-BiDe0ltU.js +1 -0
- package/dist/vviinn-widgets/p-CHDT594L.js +1 -0
- package/dist/vviinn-widgets/{p-sRFYL4zd.js → p-D3T7gXzV.js} +1 -1
- package/dist/vviinn-widgets/{p-Bn0oxRR6.js → p-DtaDzVqa.js} +1 -1
- package/dist/vviinn-widgets/p-b78ab652.entry.js +1 -0
- package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
- package/package.json +1 -1
- package/www/build/{p-63811fdb.entry.js → p-1152fa0e.entry.js} +1 -1
- package/www/build/{p-138c29a9.entry.js → p-256b88e4.entry.js} +1 -1
- package/www/build/{p-dd65398d.entry.js → p-2b84bf8e.entry.js} +1 -1
- package/www/build/{p-fd6ee191.entry.js → p-30a6e803.entry.js} +1 -1
- package/{dist/vviinn-widgets/p-da22f7e7.entry.js → www/build/p-41b337dd.entry.js} +1 -1
- package/www/build/p-80eb9975.entry.js +1 -0
- package/www/build/{p-75994d6d.entry.js → p-93335b84.entry.js} +1 -1
- package/www/build/{p-C1SlDb4h.js → p-B82dIeWY.js} +1 -1
- package/www/build/p-BiDe0ltU.js +1 -0
- package/www/build/p-CHDT594L.js +1 -0
- package/www/build/{p-sRFYL4zd.js → p-D3T7gXzV.js} +1 -1
- package/www/build/{p-Bn0oxRR6.js → p-DtaDzVqa.js} +1 -1
- package/www/build/p-b78ab652.entry.js +1 -0
- package/www/build/{p-89a9d325.js → p-c7ba294f.js} +1 -1
- package/www/build/vviinn-widgets.esm.js +1 -1
- package/www/index.html +1 -1
- package/dist/vviinn-widgets/p-499470d6.entry.js +0 -1
- package/dist/vviinn-widgets/p-72fe0037.entry.js +0 -1
- package/dist/vviinn-widgets/p-Bv3dEgL8.js +0 -1
- package/dist/vviinn-widgets/p-XVwOf-d0.js +0 -1
- package/www/build/p-499470d6.entry.js +0 -1
- package/www/build/p-72fe0037.entry.js +0 -1
- package/www/build/p-Bv3dEgL8.js +0 -1
- package/www/build/p-XVwOf-d0.js +0 -1
|
@@ -129,6 +129,7 @@ export class VviinnVpsWidget {
|
|
|
129
129
|
/** @internal */
|
|
130
130
|
this.showInWidget = true;
|
|
131
131
|
this.slidePosition = 0;
|
|
132
|
+
this.uploadSource = null;
|
|
132
133
|
this.stream = null;
|
|
133
134
|
this.products = [];
|
|
134
135
|
this.isCameraInitializing = false;
|
|
@@ -243,20 +244,19 @@ export class VviinnVpsWidget {
|
|
|
243
244
|
this.wrongImageFormat = false;
|
|
244
245
|
this.resetScroll("results-block");
|
|
245
246
|
this.stopStreamTracks();
|
|
246
|
-
this.initResultEvents();
|
|
247
|
+
this.showInWidget && this.initResultEvents();
|
|
247
248
|
this.stream = null;
|
|
248
249
|
this.isCameraEnabled = false;
|
|
249
250
|
this.isCameraButtonClicked = false;
|
|
250
251
|
this.isCameraInitializing = false;
|
|
251
252
|
this.setShowAspectRatioError(false);
|
|
252
253
|
this.slidePosition = 0;
|
|
254
|
+
this.uploadSource = null;
|
|
253
255
|
this.resetScroll("start-page_block");
|
|
254
256
|
};
|
|
255
257
|
this.resetState = () => {
|
|
256
258
|
this.resetInnerState();
|
|
257
|
-
|
|
258
|
-
resetStore(this.storeName, "appStateAndReceivedData");
|
|
259
|
-
}
|
|
259
|
+
this.showInWidget && resetStore(this.storeName, "appStateAndReceivedData");
|
|
260
260
|
};
|
|
261
261
|
}
|
|
262
262
|
initResultEvents() {
|
|
@@ -312,7 +312,7 @@ export class VviinnVpsWidget {
|
|
|
312
312
|
}
|
|
313
313
|
else {
|
|
314
314
|
document.body.style.overflow = this.overflow;
|
|
315
|
-
this.initResultEvents();
|
|
315
|
+
this.showInWidget && this.initResultEvents();
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
318
|
slidePositionWatcher() {
|
|
@@ -439,31 +439,31 @@ export class VviinnVpsWidget {
|
|
|
439
439
|
}
|
|
440
440
|
render() {
|
|
441
441
|
var _a, _b, _c;
|
|
442
|
-
return (h(Host, { key: '
|
|
442
|
+
return (h(Host, { key: 'e4b3eb07adaedcc346dc23ebb4074d6b568f34a2', exportparts: `${modalParts}, ${productCardParts}, ${searchBarParts}, ${searchWidgetFilterParts}, ${searchWidgetButtonParts}, ${productCardsGridPart}, ${suggestionsParts}` }, !this.showingInButton && SlotSkeleton("search"), h("vviinn-overlayed-modal", { key: '7b4de48bae309958fdbcd075554c0926ceea6174', class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState, onVviinnWidgetClose: ({ detail }) => {
|
|
443
443
|
if (detail.campaignTypeId !== "VPR")
|
|
444
444
|
this.handleModalClose();
|
|
445
445
|
}, buttonElementId: (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId, widgetVersion: version, hideBackButton: (this.mode === "upload" && this.showingInButton) ||
|
|
446
|
-
(!this.isCameraEnabled && this.isOnboardingSlide()), exportparts: modalParts }, h("vviinn-slider", { key: '
|
|
446
|
+
(!this.isCameraEnabled && this.isOnboardingSlide()), exportparts: modalParts }, h("vviinn-slider", { key: 'a8d336c59f73a6d68f6551363224b0b533958a51', position: this.slidePosition }, h("vviinn-slide", { key: '926a5a90953d80086442acc521a3d5577a444747', class: {
|
|
447
447
|
"start-page": true,
|
|
448
448
|
"camera-enabled": this.isCameraEnabled,
|
|
449
|
-
} }, h("vviinn-camera", { key: '
|
|
449
|
+
} }, h("vviinn-camera", { key: '8d4d1233f9f293f608d94d79437845545329593c', onVviinnImageUploadFinished: this.handleVviinnImageUploadFinished, onVviinnImageUploadStarted: () => {
|
|
450
450
|
this.handleVviinnImageUpload("startCamera");
|
|
451
|
-
}, basicEventData: this.getBasicEventData(), srcObject: this.stream, cameraButtonClicked: this.isCameraButtonClicked, exampleImageSource: this.exampleImageSource, showInWidget: this.showInWidget, storeName: this.storeName, state: this.state }), h("div", { key: '
|
|
451
|
+
}, basicEventData: this.getBasicEventData(), srcObject: this.stream, cameraButtonClicked: this.isCameraButtonClicked, exampleImageSource: this.exampleImageSource, showInWidget: this.showInWidget, storeName: this.storeName, state: this.state }), h("div", { key: '720b321bb57d3aad2bffd7ea1846f15dbb0ce53a', class: {
|
|
452
452
|
error: this.haveErrors(),
|
|
453
|
-
}, id: "start-page_block" }, h("div", { key: '
|
|
454
|
-
this.state.searchStatus === "error") && (h("div", { key: '
|
|
453
|
+
}, id: "start-page_block" }, h("div", { key: 'c32f285eb2a09128da261ab6760ffecfe2c8d29c', class: "start-page_main-content" }, (this.wrongImageFormat ||
|
|
454
|
+
this.state.searchStatus === "error") && (h("div", { key: 'bf1e3792a180449a856e43e06f98fadb2b20f2b1', class: "start-page_errors-block" }, this.getCurrentErrorType() && (h("vviinn-error", { key: '475c56ce4cea82ca41630c7f33d80cc101be38c6', errorType: this.getCurrentErrorType(), handler: this.resetState, hasBackground: this.showInWidget, searchType: this.state.searchType })))), !this.haveErrors() && (h(Fragment, { key: '4df2847cfbb83dbda1cc6a79a441d66012644eec' }, h("vviinn-teaser", { key: 'da876e72cfd3883155f7852b4850d7d4ed8ffd06' }), h("div", { key: '804553414e50659d9394909e7db7e4ce999a2c16', class: "buttons-group" }, this.renderButtons()), this.textSearchShow && (h("vviinn-text-search", { key: '331a1f31d82487c4f50862793f88597e5e338929', token: globalState.token, apiPath: globalState.apiPath, locale: globalState.locale, showInWidget: true, showOnFirstScreen: true, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), "save-image-mode": "never" }))))), h("vviinn-privacy-badge", { key: '3da1dec800cd91585502ad7eca9f309cf6f31f48', privacyBadgeText: i18next.t("privacyBadgeText", {
|
|
455
455
|
interpolation: { escapeValue: false },
|
|
456
|
-
}), class: { invisible: this.haveErrors() } }))), h("vviinn-slide", { key: '
|
|
456
|
+
}), class: { invisible: this.haveErrors() } }))), h("vviinn-slide", { key: 'a344e5987bdc38735860430750c10e01d2c0eb8e', class: {
|
|
457
457
|
"results-page": true,
|
|
458
458
|
active: this.isResultSlide(),
|
|
459
|
-
} }, this.isResultSlide() && (h("div", { key: '
|
|
459
|
+
} }, this.isResultSlide() && (h("div", { key: 'eadd2ddfcaa8277953e379742ede5f7afd22dffe', class: "source-wrapper" }, this.isTextSearch() ? (h(Fragment, null, h("vviinn-text-search", { token: this.token, showInWidget: true, apiPath: this.apiPath, locale: this.locale, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), "save-image-mode": "never" }), h("vviinn-suggestions", { showInWidget: true, token: this.token, apiPath: this.apiPath, locale: this.locale }))) : (h("vviinn-cropper", { basicEventData: this.getBasicEventData(), showAspectRatioError: this.showAspectRatioError, apiPath: this.apiPath, showInWidget: true, "save-image-mode": "never" })), ((_b = this.state.dynamicFilters) === null || _b === void 0 ? void 0 : _b.length) > 0 && (h("div", { key: 'b2cb3daae83d7ef7a50cfc8bcc04b300be5382c7', class: {
|
|
460
460
|
"filters-wrapper": true,
|
|
461
461
|
hidden: this.showAspectRatioError,
|
|
462
|
-
} }, h("vviinn-filters", { key: '
|
|
462
|
+
} }, h("vviinn-filters", { key: 'a028c222574d4e60ddcfd5ec289ff0c208bcfabc', class: "preview-filters", showInWidget: true, exportparts: filtersParts }), h("vviinn-extended-filters", { key: '88c438a41b5b44c918e5eeb9bc8590cba874b9c6', class: "preview-extended-filters", mode: "preview", showHeader: false, exportparts: extendedFiltersParts, showInWidget: true }), h("vviinn-extended-filters-button", { key: '0aba5bc3f6d005f0ae754494a79aaa10cf28a238', class: {
|
|
463
463
|
"extended-filters-button": true,
|
|
464
464
|
"has-primary-filters": this.state.dynamicFilters.filter((f) => f.isPrimary)
|
|
465
465
|
.length > 0,
|
|
466
|
-
}, exportparts: "extended-filters-button", showInWidget: true }))))), this.isResultSlide() && (h("vviinn-results", { key: '
|
|
466
|
+
}, exportparts: "extended-filters-button", showInWidget: true }))))), this.isResultSlide() && (h("vviinn-results", { key: 'fc9e349d99f23df55fb546c2115ce705827b3114', token: globalState.token, locale: globalState.locale, pricePrefix: globalState.pricePrefix, "currency-sign": globalState.currencySign, apiPath: globalState.apiPath, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, uiSessionId: this.uiSessionId, widgetElementId: (_c = this.buttonElementId) !== null && _c !== void 0 ? _c : this.widgetElementId, showInWidget: true, buttonElementId: this.buttonElementId, imageResolutionWidth: this.imageResolutionWidth, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, showAspectRatioError: this.showAspectRatioError, resetWidgetState: this.resetState, replaceSlotsContentInWidget: this.replaceSlotsContent.bind(this), replaceSlotsContentInButton: this.replaceSlotsContentInButton, addPriceContainer: this.addPriceContainer, oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, parentSlots: [...this.parentSlots, ...this.slots], scrollableModalBody: this.modalBody })))), h("vviinn-extended-filters", { key: 'af6545ad7c1e002f297566a4c1590e8e043263d2', class: "modal-extended-filters", mode: "modal", exportparts: extendedFiltersParts, showInWidget: true }))));
|
|
467
467
|
}
|
|
468
468
|
static get is() { return "vviinn-vps-widget"; }
|
|
469
469
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1267,7 +1267,7 @@ export class VviinnVpsWidget {
|
|
|
1267
1267
|
"composed": true,
|
|
1268
1268
|
"docs": {
|
|
1269
1269
|
"tags": [],
|
|
1270
|
-
"text": "Wrong image format, that isn't .jpg, .jpeg, png, or the request failed"
|
|
1270
|
+
"text": "Wrong image format, that isn't .jpg, .jpeg, .png, .webp, or .avif, or the request failed"
|
|
1271
1271
|
},
|
|
1272
1272
|
"complexType": {
|
|
1273
1273
|
"original": "BasicEventData",
|
|
@@ -47,7 +47,7 @@ export const resources = {
|
|
|
47
47
|
},
|
|
48
48
|
wrongFormatBlock: {
|
|
49
49
|
title: "Dateityp wird nicht unterstützt",
|
|
50
|
-
text: "Bitte laden Sie eine .jpg, .png oder .
|
|
50
|
+
text: "Bitte laden Sie eine .jpg, .png, .webp oder .avif Bilddatei hoch.",
|
|
51
51
|
button: "Neues Bild hochladen",
|
|
52
52
|
},
|
|
53
53
|
wrongAspectRatioBlock: {
|
|
@@ -170,7 +170,7 @@ export const resources = {
|
|
|
170
170
|
},
|
|
171
171
|
wrongFormatBlock: {
|
|
172
172
|
title: "Wrong file format",
|
|
173
|
-
text: "Please upload a .jpg, .png or .
|
|
173
|
+
text: "Please upload a .jpg, .png, .webp or .avif image file.",
|
|
174
174
|
button: "Upload another file",
|
|
175
175
|
},
|
|
176
176
|
wrongAspectRatioBlock: {
|
|
@@ -8993,4 +8993,4 @@ const isClickedInRectBound = (event, rect) => {
|
|
|
8993
8993
|
return inLeftBound && inRightBound && inTopBound && inBottomBound;
|
|
8994
8994
|
};
|
|
8995
8995
|
|
|
8996
|
-
export {
|
|
8996
|
+
export { createInitPostRequest as $, sequenceToEither as A, invalidTokenError as B, requireTask as C, isSome as D, EitherExports as E, none$1 as F, fromTask as G, mapLeft as H, map as I, chain as J, textSearchSessionClient as K, fromEither as L, setBodyAndHeaders as M, chainW as N, OptionExports as O, productListingPageSessionClient as P, tryCatch as Q, chainTaskK as R, getOrElse as S, of as T, visualSearchSessionClient as U, getOrElseW as V, has as W, tuple as X, makeRequest as Y, getApiPath as Z, _functionExports as _, divideOnSized as a, Apply as a0, TaskEitherExports as a1, isLeft as b, center as c, detectedObjectEq as d, requireSemigroup as e, fromImage as f, getOrElse$3 as g, require_function as h, isClickedInRectBound as i, requireFunctor as j, requireApply as k, requireChain as l, match as m, requireOrd as n, requireEq as o, requireZero as p, requireWitherable as q, requireInternal as r, scaleWithSized as s, requireFromEither as t, requireSeparated as u, pipe as v, chain$1 as w, left as x, right as y, fromNullable$1 as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from './index-C5qrIvmr.js';
|
|
2
|
-
import { a as addIfNotEmpty, p as parseStringToExcluded } from './search.store-
|
|
2
|
+
import { a as addIfNotEmpty, p as parseStringToExcluded } from './search.store-DLJr8QhM.js';
|
|
3
3
|
|
|
4
4
|
const PlusIcon = () => (h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "plus-icon", "aria-hidden": "true" },
|
|
5
5
|
h("path", { d: "M14.6667 17.3333H8.00001C7.62223 17.3333 7.30556 17.2056 7.05001 16.95C6.79445 16.6944 6.66667 16.3778 6.66667 16C6.66667 15.6222 6.79445 15.3056 7.05001 15.05C7.30556 14.7944 7.62223 14.6667 8.00001 14.6667H14.6667V8.00001C14.6667 7.62223 14.7944 7.30556 15.05 7.05001C15.3056 6.79445 15.6222 6.66667 16 6.66667C16.3778 6.66667 16.6944 6.79445 16.95 7.05001C17.2056 7.30556 17.3333 7.62223 17.3333 8.00001V14.6667H24C24.3778 14.6667 24.6944 14.7944 24.95 15.05C25.2056 15.3056 25.3333 15.6222 25.3333 16C25.3333 16.3778 25.2056 16.6944 24.95 16.95C24.6944 17.2056 24.3778 17.3333 24 17.3333H17.3333V24C17.3333 24.3778 17.2056 24.6944 16.95 24.95C16.6944 25.2056 16.3778 25.3333 16 25.3333C15.6222 25.3333 15.3056 25.2056 15.05 24.95C14.7944 24.6944 14.6667 24.3778 14.6667 24V17.3333Z", fill: "currentColor" })));
|
|
@@ -47,7 +47,7 @@ const resources = {
|
|
|
47
47
|
},
|
|
48
48
|
wrongFormatBlock: {
|
|
49
49
|
title: "Dateityp wird nicht unterstützt",
|
|
50
|
-
text: "Bitte laden Sie eine .jpg, .png oder .
|
|
50
|
+
text: "Bitte laden Sie eine .jpg, .png, .webp oder .avif Bilddatei hoch.",
|
|
51
51
|
button: "Neues Bild hochladen",
|
|
52
52
|
},
|
|
53
53
|
wrongAspectRatioBlock: {
|
|
@@ -170,7 +170,7 @@ const resources = {
|
|
|
170
170
|
},
|
|
171
171
|
wrongFormatBlock: {
|
|
172
172
|
title: "Wrong file format",
|
|
173
|
-
text: "Please upload a .jpg, .png or .
|
|
173
|
+
text: "Please upload a .jpg, .png, .webp or .avif image file.",
|
|
174
174
|
button: "Upload another file",
|
|
175
175
|
},
|
|
176
176
|
wrongAspectRatioBlock: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as createStore, g as globalState } from './store-CMhsm-nf.js';
|
|
2
|
-
import { r as requireInternal,
|
|
2
|
+
import { r as requireInternal, e as requireSemigroup, h as require_function, j as requireFunctor, k as requireApply, l as requireChain, n as requireOrd, o as requireEq, p as requireZero, q as requireWitherable, t as requireFromEither, u as requireSeparated, v as pipe, w as chain, x as left, y as right, z as fromNullable, A as sequenceToEither, E as EitherExports, B as invalidTokenError, C as requireTask, D as isSome, F as none, _ as _functionExports, O as OptionExports, G as fromTask, H as mapLeft, I as map, J as chain$1, K as textSearchSessionClient, L as fromEither, M as setBodyAndHeaders, N as chainW, P as productListingPageSessionClient, Q as tryCatch, R as chainTaskK, S as getOrElse, T as of, U as visualSearchSessionClient, V as getOrElseW, a as divideOnSized } from './Rectangle-DGBESJrE.js';
|
|
3
3
|
|
|
4
4
|
var _Array = {};
|
|
5
5
|
|
|
@@ -7700,7 +7700,8 @@ var findFirstMap$1 = function (f) {
|
|
|
7700
7700
|
*/
|
|
7701
7701
|
var findFirstMap = findFirstMap$1;
|
|
7702
7702
|
|
|
7703
|
-
const SUPPORTED_FILE_TYPES = ["jpg", "jpeg", "png", "webp"];
|
|
7703
|
+
const SUPPORTED_FILE_TYPES = ["jpg", "jpeg", "png", "webp", "avif"];
|
|
7704
|
+
const acceptableFileFormats = SUPPORTED_FILE_TYPES.map((type) => `.${type}`).join(", ");
|
|
7704
7705
|
const unsupportedFileTypeError = {
|
|
7705
7706
|
kind: "client",
|
|
7706
7707
|
inner: "File format not supported",
|
|
@@ -8467,4 +8468,4 @@ const useSearchStore = (showInWidget) => showInWidget
|
|
|
8467
8468
|
storeName: "components",
|
|
8468
8469
|
};
|
|
8469
8470
|
|
|
8470
|
-
export { _ArrayExports as _, addIfNotEmpty as a, searchState as b, shopTheLookState as c, makeVisualSearchRequest as d, makeUploadFileRequest as e,
|
|
8471
|
+
export { _ArrayExports as _, addIfNotEmpty as a, searchState as b, shopTheLookState as c, makeVisualSearchRequest as d, makeUploadFileRequest as e, checkImageType as f, getImageSizes as g, acceptableFileFormats as h, makeProductListingPageRequest as i, makeTextSearchRequest as m, parseStringToExcluded as p, resetStore as r, setTextSearchQuery as s, toFile as t, useSearchStore as u };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { h, r as registerInstance, H as Host, c as createEvent, g as getElement, F as Fragment } from './index-C5qrIvmr.js';
|
|
2
2
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
3
3
|
import { s as slotChangeListener } from './customized-slots-Dy-qVYWj.js';
|
|
4
|
-
import { c as campaignTypeNames, v as version } from './package-
|
|
4
|
+
import { c as campaignTypeNames, v as version } from './package-B82dIeWY.js';
|
|
5
5
|
import { S as SecondaryActionIcon } from './SecondaryActionIcon-Co8n0aty.js';
|
|
6
6
|
import { m as modalParts, c as carouselParts, p as productCardParts } from './index-B6wlG8FA.js';
|
|
7
|
-
import { a as addIfNotEmpty, b as searchState, u as useSearchStore } from './search.store-
|
|
7
|
+
import { a as addIfNotEmpty, b as searchState, u as useSearchStore } from './search.store-DLJr8QhM.js';
|
|
8
8
|
import { a as SIDEBAR_ANIMATION_DURATION, P as PRODUCT_CARD_IMAGE_WIDTH, D as DISCOVERY_WIDGET_IMAGE_RESOLUTION_WIDTH, L as LOADING_CLASS_DELAY } from './constants-rqiiCPBX.js';
|
|
9
|
-
import { i as isClickedInRectBound } from './Rectangle-
|
|
9
|
+
import { i as isClickedInRectBound } from './Rectangle-DGBESJrE.js';
|
|
10
10
|
import { a as addEventListenersWithSignal } from './index-CckoTlaC.js';
|
|
11
11
|
import './store-CMhsm-nf.js';
|
|
12
12
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement, F as Fragment } from './index-C5qrIvmr.js';
|
|
2
|
-
import { _ as _functionExports, E as EitherExports, f as fromImage, m as match, g as getOrElse, O as OptionExports } from './Rectangle-
|
|
3
|
-
import { t as toFile, e as makeUploadFileRequest, g as getImageSizes, d as makeVisualSearchRequest, u as useSearchStore, s as setTextSearchQuery, r as resetStore, a as addIfNotEmpty, m as makeTextSearchRequest,
|
|
2
|
+
import { _ as _functionExports, E as EitherExports, f as fromImage, b as isLeft, m as match, g as getOrElse, O as OptionExports } from './Rectangle-DGBESJrE.js';
|
|
3
|
+
import { t as toFile, e as makeUploadFileRequest, g as getImageSizes, d as makeVisualSearchRequest, u as useSearchStore, f as checkImageType, h as acceptableFileFormats, s as setTextSearchQuery, r as resetStore, a as addIfNotEmpty, m as makeTextSearchRequest, i as makeProductListingPageRequest, p as parseStringToExcluded } from './search.store-DLJr8QhM.js';
|
|
4
4
|
import { s as slotChangeListener, p as productCardSlotNames, v as vprIconSlotName, S as SlotSkeleton } from './customized-slots-Dy-qVYWj.js';
|
|
5
|
-
import { P as PlusIcon, R as RESULTS_CALCULATED_COLUMNS_CSS_VAR, c as createWidgetEvent, a as createFilterEvent, v as v4, b as createAddToBasketEvent, d as createAddToWishlistEvent, e as createResultEventByType, f as createProductEventByType, g as getCustomLabels, h as createImageSearchEvent } from './index-
|
|
5
|
+
import { P as PlusIcon, R as RESULTS_CALCULATED_COLUMNS_CSS_VAR, c as createWidgetEvent, a as createFilterEvent, v as v4, b as createAddToBasketEvent, d as createAddToWishlistEvent, e as createResultEventByType, f as createProductEventByType, g as getCustomLabels, h as createImageSearchEvent } from './index-BIViS3eV.js';
|
|
6
6
|
import { s as setLocalStorageItems, g as getLocalStorageItems, c as cleanLocalStorage } from './index-C5MrXMjM.js';
|
|
7
7
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
8
8
|
import { M as MIN_SEARCH_AREA_SIZE, S as SUPPORTED_ASPECT_RATIO, b as MIN_IMAGE_SIDE_FOR_CROPPER, C as Cropper, c as cropperOptions, g as getCropBoxData, i as isCropBoxChangeMinimal, D as DEFAULT_IMAGE_SIZE, d as checkDeviceType } from './checkDeviceType-BFZcnzQf.js';
|
|
9
9
|
import { u as updateGlobalState, t as trackEvent, g as globalState } from './store-CMhsm-nf.js';
|
|
10
10
|
import { a as addEventListenersWithSignal, f as findSlotElements, g as getSlotNames, s as setElementInteractivity } from './index-CckoTlaC.js';
|
|
11
|
-
import { v as version, c as campaignTypeNames } from './package-
|
|
12
|
-
import { r as resources } from './resources-
|
|
11
|
+
import { v as version, c as campaignTypeNames } from './package-B82dIeWY.js';
|
|
12
|
+
import { r as resources } from './resources-CHDT594L.js';
|
|
13
13
|
import { a as productCardsGridPart, p as productCardParts, b as suggestionsParts, m as modalParts, e as extendedFiltersParts, f as filtersParts, s as searchBarParts, d as searchWidgetFilterParts, g as searchWidgetButtonParts } from './index-B6wlG8FA.js';
|
|
14
14
|
import { R as RESULTS_WIDGET_IMAGE_RESOLUTION_WIDTH, b as SCROLL_TO_DISCOVERY_DELAY, S as SEARCH_WIDGET_IMAGE_RESOLUTION_WIDTH } from './constants-rqiiCPBX.js';
|
|
15
15
|
import { t as triggerFilter } from './triggerFilter-B4e4JwCJ.js';
|
|
@@ -394,12 +394,21 @@ const VviinnImageSelector = class {
|
|
|
394
394
|
this.vviinnNoResult = createEvent(this, "vviinnNoResult");
|
|
395
395
|
this.vviinnImageUploadFinished = createEvent(this, "vviinnImageUploadFinished");
|
|
396
396
|
this.loading = false;
|
|
397
|
-
this.accept = "image";
|
|
398
397
|
}
|
|
399
398
|
async handleInputChange(event) {
|
|
400
|
-
|
|
399
|
+
var _a;
|
|
401
400
|
const input = event.target;
|
|
402
|
-
const
|
|
401
|
+
const file = (_a = input.files) === null || _a === void 0 ? void 0 : _a[0];
|
|
402
|
+
if (!file)
|
|
403
|
+
return;
|
|
404
|
+
const validationResult = checkImageType(file);
|
|
405
|
+
if (isLeft(validationResult)) {
|
|
406
|
+
this.vviinnNoResult.emit(Object.assign(Object.assign({}, this.basicEventData), { reason: validationResult.left.kind }));
|
|
407
|
+
input.value = "";
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
this.vviinnImageUploadStarted.emit(Object.assign(Object.assign({}, this.basicEventData), { isTriggeredByVpsWidget: this.storeName === "widget" }));
|
|
411
|
+
const processingResult = await makeUploadFileRequest(this.storeName)(file);
|
|
403
412
|
_functionExports.pipe(processingResult, match(({ kind }) => {
|
|
404
413
|
this.vviinnNoResult.emit(Object.assign(Object.assign({}, this.basicEventData), { reason: kind }));
|
|
405
414
|
}, (response) => {
|
|
@@ -411,7 +420,7 @@ const VviinnImageSelector = class {
|
|
|
411
420
|
isTriggeredByVpsWidget: this.storeName === "widget",
|
|
412
421
|
});
|
|
413
422
|
}));
|
|
414
|
-
input.value =
|
|
423
|
+
input.value = "";
|
|
415
424
|
}
|
|
416
425
|
startUploadWatcher(upload) {
|
|
417
426
|
if (upload) {
|
|
@@ -420,13 +429,13 @@ const VviinnImageSelector = class {
|
|
|
420
429
|
}
|
|
421
430
|
}
|
|
422
431
|
render() {
|
|
423
|
-
return (h(Host, { key: '
|
|
432
|
+
return (h(Host, { key: 'ccdb1848c44143d1ec9243c39776886873729aef', exportparts: "button" }, this.loading ? (h("vviinn-preloader", null)) : (h("label", { htmlFor: "fileInput", part: "button", tabindex: "0", onKeyDown: (e) => {
|
|
424
433
|
var _a;
|
|
425
434
|
if (e.key === "Enter" || e.key === " ") {
|
|
426
435
|
e.preventDefault();
|
|
427
436
|
(_a = this.fileInput) === null || _a === void 0 ? void 0 : _a.click();
|
|
428
437
|
}
|
|
429
|
-
} }, h("slot", { name: "upload-button-text" }, "Upload image"))), h("input", { key: '
|
|
438
|
+
} }, h("slot", { name: "upload-button-text" }, "Upload image"))), h("input", { key: 'bdddef690583a01729d2b7412736f3825b060386', id: "fileInput", class: "visually-hidden", type: "file", tabindex: "-1", accept: acceptableFileFormats, onChange: (event) => this.handleInputChange(event), ref: (el) => (this.fileInput = el) })));
|
|
430
439
|
}
|
|
431
440
|
static get watchers() { return {
|
|
432
441
|
"startUpload": ["startUploadWatcher"]
|
|
@@ -1387,6 +1396,7 @@ const VviinnVpsWidget = class {
|
|
|
1387
1396
|
/** @internal */
|
|
1388
1397
|
this.showInWidget = true;
|
|
1389
1398
|
this.slidePosition = 0;
|
|
1399
|
+
this.uploadSource = null;
|
|
1390
1400
|
this.stream = null;
|
|
1391
1401
|
this.products = [];
|
|
1392
1402
|
this.isCameraInitializing = false;
|
|
@@ -1501,20 +1511,19 @@ const VviinnVpsWidget = class {
|
|
|
1501
1511
|
this.wrongImageFormat = false;
|
|
1502
1512
|
this.resetScroll("results-block");
|
|
1503
1513
|
this.stopStreamTracks();
|
|
1504
|
-
this.initResultEvents();
|
|
1514
|
+
this.showInWidget && this.initResultEvents();
|
|
1505
1515
|
this.stream = null;
|
|
1506
1516
|
this.isCameraEnabled = false;
|
|
1507
1517
|
this.isCameraButtonClicked = false;
|
|
1508
1518
|
this.isCameraInitializing = false;
|
|
1509
1519
|
this.setShowAspectRatioError(false);
|
|
1510
1520
|
this.slidePosition = 0;
|
|
1521
|
+
this.uploadSource = null;
|
|
1511
1522
|
this.resetScroll("start-page_block");
|
|
1512
1523
|
};
|
|
1513
1524
|
this.resetState = () => {
|
|
1514
1525
|
this.resetInnerState();
|
|
1515
|
-
|
|
1516
|
-
resetStore(this.storeName, "appStateAndReceivedData");
|
|
1517
|
-
}
|
|
1526
|
+
this.showInWidget && resetStore(this.storeName, "appStateAndReceivedData");
|
|
1518
1527
|
};
|
|
1519
1528
|
}
|
|
1520
1529
|
initResultEvents() {
|
|
@@ -1570,7 +1579,7 @@ const VviinnVpsWidget = class {
|
|
|
1570
1579
|
}
|
|
1571
1580
|
else {
|
|
1572
1581
|
document.body.style.overflow = this.overflow;
|
|
1573
|
-
this.initResultEvents();
|
|
1582
|
+
this.showInWidget && this.initResultEvents();
|
|
1574
1583
|
}
|
|
1575
1584
|
}
|
|
1576
1585
|
slidePositionWatcher() {
|
|
@@ -1697,31 +1706,31 @@ const VviinnVpsWidget = class {
|
|
|
1697
1706
|
}
|
|
1698
1707
|
render() {
|
|
1699
1708
|
var _a, _b, _c;
|
|
1700
|
-
return (h(Host, { key: '
|
|
1709
|
+
return (h(Host, { key: 'e4b3eb07adaedcc346dc23ebb4074d6b568f34a2', exportparts: `${modalParts}, ${productCardParts}, ${searchBarParts}, ${searchWidgetFilterParts}, ${searchWidgetButtonParts}, ${productCardsGridPart}, ${suggestionsParts}` }, !this.showingInButton && SlotSkeleton("search"), h("vviinn-overlayed-modal", { key: '7b4de48bae309958fdbcd075554c0926ceea6174', class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState, onVviinnWidgetClose: ({ detail }) => {
|
|
1701
1710
|
if (detail.campaignTypeId !== "VPR")
|
|
1702
1711
|
this.handleModalClose();
|
|
1703
1712
|
}, buttonElementId: (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId, widgetVersion: version, hideBackButton: (this.mode === "upload" && this.showingInButton) ||
|
|
1704
|
-
(!this.isCameraEnabled && this.isOnboardingSlide()), exportparts: modalParts }, h("vviinn-slider", { key: '
|
|
1713
|
+
(!this.isCameraEnabled && this.isOnboardingSlide()), exportparts: modalParts }, h("vviinn-slider", { key: 'a8d336c59f73a6d68f6551363224b0b533958a51', position: this.slidePosition }, h("vviinn-slide", { key: '926a5a90953d80086442acc521a3d5577a444747', class: {
|
|
1705
1714
|
"start-page": true,
|
|
1706
1715
|
"camera-enabled": this.isCameraEnabled,
|
|
1707
|
-
} }, h("vviinn-camera", { key: '
|
|
1716
|
+
} }, h("vviinn-camera", { key: '8d4d1233f9f293f608d94d79437845545329593c', onVviinnImageUploadFinished: this.handleVviinnImageUploadFinished, onVviinnImageUploadStarted: () => {
|
|
1708
1717
|
this.handleVviinnImageUpload("startCamera");
|
|
1709
|
-
}, basicEventData: this.getBasicEventData(), srcObject: this.stream, cameraButtonClicked: this.isCameraButtonClicked, exampleImageSource: this.exampleImageSource, showInWidget: this.showInWidget, storeName: this.storeName, state: this.state }), h("div", { key: '
|
|
1718
|
+
}, basicEventData: this.getBasicEventData(), srcObject: this.stream, cameraButtonClicked: this.isCameraButtonClicked, exampleImageSource: this.exampleImageSource, showInWidget: this.showInWidget, storeName: this.storeName, state: this.state }), h("div", { key: '720b321bb57d3aad2bffd7ea1846f15dbb0ce53a', class: {
|
|
1710
1719
|
error: this.haveErrors(),
|
|
1711
|
-
}, id: "start-page_block" }, h("div", { key: '
|
|
1712
|
-
this.state.searchStatus === "error") && (h("div", { key: '
|
|
1720
|
+
}, id: "start-page_block" }, h("div", { key: 'c32f285eb2a09128da261ab6760ffecfe2c8d29c', class: "start-page_main-content" }, (this.wrongImageFormat ||
|
|
1721
|
+
this.state.searchStatus === "error") && (h("div", { key: 'bf1e3792a180449a856e43e06f98fadb2b20f2b1', class: "start-page_errors-block" }, this.getCurrentErrorType() && (h("vviinn-error", { key: '475c56ce4cea82ca41630c7f33d80cc101be38c6', errorType: this.getCurrentErrorType(), handler: this.resetState, hasBackground: this.showInWidget, searchType: this.state.searchType })))), !this.haveErrors() && (h(Fragment, { key: '4df2847cfbb83dbda1cc6a79a441d66012644eec' }, h("vviinn-teaser", { key: 'da876e72cfd3883155f7852b4850d7d4ed8ffd06' }), h("div", { key: '804553414e50659d9394909e7db7e4ce999a2c16', class: "buttons-group" }, this.renderButtons()), this.textSearchShow && (h("vviinn-text-search", { key: '331a1f31d82487c4f50862793f88597e5e338929', token: globalState.token, apiPath: globalState.apiPath, locale: globalState.locale, showInWidget: true, showOnFirstScreen: true, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), "save-image-mode": "never" }))))), h("vviinn-privacy-badge", { key: '3da1dec800cd91585502ad7eca9f309cf6f31f48', privacyBadgeText: instance.t("privacyBadgeText", {
|
|
1713
1722
|
interpolation: { escapeValue: false },
|
|
1714
|
-
}), class: { invisible: this.haveErrors() } }))), h("vviinn-slide", { key: '
|
|
1723
|
+
}), class: { invisible: this.haveErrors() } }))), h("vviinn-slide", { key: 'a344e5987bdc38735860430750c10e01d2c0eb8e', class: {
|
|
1715
1724
|
"results-page": true,
|
|
1716
1725
|
active: this.isResultSlide(),
|
|
1717
|
-
} }, this.isResultSlide() && (h("div", { key: '
|
|
1726
|
+
} }, this.isResultSlide() && (h("div", { key: 'eadd2ddfcaa8277953e379742ede5f7afd22dffe', class: "source-wrapper" }, this.isTextSearch() ? (h(Fragment, null, h("vviinn-text-search", { token: this.token, showInWidget: true, apiPath: this.apiPath, locale: this.locale, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), "save-image-mode": "never" }), h("vviinn-suggestions", { showInWidget: true, token: this.token, apiPath: this.apiPath, locale: this.locale }))) : (h("vviinn-cropper", { basicEventData: this.getBasicEventData(), showAspectRatioError: this.showAspectRatioError, apiPath: this.apiPath, showInWidget: true, "save-image-mode": "never" })), ((_b = this.state.dynamicFilters) === null || _b === void 0 ? void 0 : _b.length) > 0 && (h("div", { key: 'b2cb3daae83d7ef7a50cfc8bcc04b300be5382c7', class: {
|
|
1718
1727
|
"filters-wrapper": true,
|
|
1719
1728
|
hidden: this.showAspectRatioError,
|
|
1720
|
-
} }, h("vviinn-filters", { key: '
|
|
1729
|
+
} }, h("vviinn-filters", { key: 'a028c222574d4e60ddcfd5ec289ff0c208bcfabc', class: "preview-filters", showInWidget: true, exportparts: filtersParts }), h("vviinn-extended-filters", { key: '88c438a41b5b44c918e5eeb9bc8590cba874b9c6', class: "preview-extended-filters", mode: "preview", showHeader: false, exportparts: extendedFiltersParts, showInWidget: true }), h("vviinn-extended-filters-button", { key: '0aba5bc3f6d005f0ae754494a79aaa10cf28a238', class: {
|
|
1721
1730
|
"extended-filters-button": true,
|
|
1722
1731
|
"has-primary-filters": this.state.dynamicFilters.filter((f) => f.isPrimary)
|
|
1723
1732
|
.length > 0,
|
|
1724
|
-
}, exportparts: "extended-filters-button", showInWidget: true }))))), this.isResultSlide() && (h("vviinn-results", { key: '
|
|
1733
|
+
}, exportparts: "extended-filters-button", showInWidget: true }))))), this.isResultSlide() && (h("vviinn-results", { key: 'fc9e349d99f23df55fb546c2115ce705827b3114', token: globalState.token, locale: globalState.locale, pricePrefix: globalState.pricePrefix, "currency-sign": globalState.currencySign, apiPath: globalState.apiPath, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, uiSessionId: this.uiSessionId, widgetElementId: (_c = this.buttonElementId) !== null && _c !== void 0 ? _c : this.widgetElementId, showInWidget: true, buttonElementId: this.buttonElementId, imageResolutionWidth: this.imageResolutionWidth, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, showAspectRatioError: this.showAspectRatioError, resetWidgetState: this.resetState, replaceSlotsContentInWidget: this.replaceSlotsContent.bind(this), replaceSlotsContentInButton: this.replaceSlotsContentInButton, addPriceContainer: this.addPriceContainer, oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, parentSlots: [...this.parentSlots, ...this.slots], scrollableModalBody: this.modalBody })))), h("vviinn-extended-filters", { key: 'af6545ad7c1e002f297566a4c1590e8e043263d2', class: "modal-extended-filters", mode: "modal", exportparts: extendedFiltersParts, showInWidget: true }))));
|
|
1725
1734
|
}
|
|
1726
1735
|
get el() { return getElement(this); }
|
|
1727
1736
|
static get watchers() { return {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, F as Fragment, H as Host, g as getElement } from './index-C5qrIvmr.js';
|
|
2
|
-
import { a as addIfNotEmpty, _ as _ArrayExports, u as useSearchStore, b as searchState } from './search.store-
|
|
3
|
-
import {
|
|
2
|
+
import { a as addIfNotEmpty, _ as _ArrayExports, u as useSearchStore, b as searchState } from './search.store-DLJr8QhM.js';
|
|
3
|
+
import { W as has, X as tuple, _ as _functionExports, e as requireSemigroup, O as OptionExports, v as pipe$1, N as chainW, Y as makeRequest, L as fromEither, Z as getApiPath, $ as createInitPostRequest, a0 as Apply, a1 as TaskEitherExports, E as EitherExports } from './Rectangle-DGBESJrE.js';
|
|
4
4
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
5
|
-
import { c as campaignTypeNames, f as fromString, a as fold, v as version } from './package-
|
|
6
|
-
import { S as SET_MODE_IMAGE_WIDTH_CSS_VAR, C as CONTENT_GROUP_CSS_CLASS, i as CAROUSEL_IMAGE_WIDTH_CSS_VAR, j as CAROUSEL_CONTENT_WIDTH_CSS_VAR, R as RESULTS_CALCULATED_COLUMNS_CSS_VAR, D as DEFAULT_COLUMNS_NUMBER, g as getCustomLabels, k as SCROLL_POSITION_TOLERANCE, P as PlusIcon, v as v4, c as createWidgetEvent, e as createResultEventByType, b as createAddToBasketEvent, d as createAddToWishlistEvent, f as createProductEventByType, l as getRecommendationsBody } from './index-
|
|
5
|
+
import { c as campaignTypeNames, f as fromString, a as fold, v as version } from './package-B82dIeWY.js';
|
|
6
|
+
import { S as SET_MODE_IMAGE_WIDTH_CSS_VAR, C as CONTENT_GROUP_CSS_CLASS, i as CAROUSEL_IMAGE_WIDTH_CSS_VAR, j as CAROUSEL_CONTENT_WIDTH_CSS_VAR, R as RESULTS_CALCULATED_COLUMNS_CSS_VAR, D as DEFAULT_COLUMNS_NUMBER, g as getCustomLabels, k as SCROLL_POSITION_TOLERANCE, P as PlusIcon, v as v4, c as createWidgetEvent, e as createResultEventByType, b as createAddToBasketEvent, d as createAddToWishlistEvent, f as createProductEventByType, l as getRecommendationsBody } from './index-BIViS3eV.js';
|
|
7
7
|
import { P as PRODUCT_CARD_IMAGE_WIDTH, D as DISCOVERY_WIDGET_IMAGE_RESOLUTION_WIDTH, c as PRODUCT_CARD_IMAGE_RESOLUTION_WIDTH } from './constants-rqiiCPBX.js';
|
|
8
8
|
import { s as slotChangeListener, S as SlotSkeleton } from './customized-slots-Dy-qVYWj.js';
|
|
9
9
|
import { h as energyLabelParts, i as imageParts, j as contentCardParts, p as productCardParts, k as priceRangeParts } from './index-B6wlG8FA.js';
|
|
10
10
|
import { b as announceToScreenReader, a as getIntervalLabel, c as isPriceFilter, i as isSubFilterActive, R as RenderFilterButton } from './RenderFilterButton-DbAF7O7r.js';
|
|
11
|
-
import { r as resources } from './resources-
|
|
11
|
+
import { r as resources } from './resources-CHDT594L.js';
|
|
12
12
|
import { b as triggerResetFilters, t as triggerFilter } from './triggerFilter-B4e4JwCJ.js';
|
|
13
13
|
import { g as globalState, t as trackEvent, u as updateGlobalState } from './store-CMhsm-nf.js';
|
|
14
14
|
import { a as addEventListenersWithSignal, i as isElementInSelector } from './index-CckoTlaC.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host } from './index-C5qrIvmr.js';
|
|
2
|
-
import { _ as _functionExports, O as OptionExports, s as scaleWithSized, c as center, d as detectedObjectEq } from './Rectangle-
|
|
2
|
+
import { _ as _functionExports, O as OptionExports, s as scaleWithSized, c as center, d as detectedObjectEq } from './Rectangle-DGBESJrE.js';
|
|
3
3
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
4
4
|
import './store-CMhsm-nf.js';
|
|
5
5
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-C5qrIvmr.js';
|
|
2
2
|
import { g as getRemoveFilterAriaLabel, F as FilterIconClose, a as getIntervalLabel, b as announceToScreenReader, i as isSubFilterActive, R as RenderFilterButton } from './RenderFilterButton-DbAF7O7r.js';
|
|
3
3
|
import { t as triggerFilter, a as triggerRemoveIntervalFilter } from './triggerFilter-B4e4JwCJ.js';
|
|
4
|
-
import { u as useSearchStore } from './search.store-
|
|
4
|
+
import { u as useSearchStore } from './search.store-DLJr8QhM.js';
|
|
5
5
|
import { g as globalState } from './store-CMhsm-nf.js';
|
|
6
6
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
7
|
-
import { r as resources } from './resources-
|
|
7
|
+
import { r as resources } from './resources-CHDT594L.js';
|
|
8
8
|
import { g as getLocalStorageItems } from './index-C5MrXMjM.js';
|
|
9
9
|
import { a as addEventListenersWithSignal } from './index-CckoTlaC.js';
|
|
10
|
-
import './Rectangle-
|
|
10
|
+
import './Rectangle-DGBESJrE.js';
|
|
11
11
|
|
|
12
12
|
const TextIcon = () => (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" },
|
|
13
13
|
h("svg", { width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-C5qrIvmr.js';
|
|
2
|
-
import { a as divideOnSized, E as EitherExports } from './Rectangle-
|
|
2
|
+
import { a as divideOnSized, E as EitherExports } from './Rectangle-DGBESJrE.js';
|
|
3
3
|
import { C as Cropper, c as cropperOptions, g as getCropBoxData, i as isCropBoxChangeMinimal, a as isDesktop$1 } from './checkDeviceType-BFZcnzQf.js';
|
|
4
4
|
import { u as updateGlobalState } from './store-CMhsm-nf.js';
|
|
5
|
-
import { c as shopTheLookState, d as makeVisualSearchRequest, e as makeUploadFileRequest } from './search.store-
|
|
5
|
+
import { c as shopTheLookState, d as makeVisualSearchRequest, e as makeUploadFileRequest } from './search.store-DLJr8QhM.js';
|
|
6
6
|
import { S as SecondaryActionIcon } from './SecondaryActionIcon-Co8n0aty.js';
|
|
7
7
|
import { s as setupIntersectionObserver } from './intersectionObserver-DHxfjh-K.js';
|
|
8
8
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-C5qrIvmr.js';
|
|
2
|
-
import { s as setTextSearchQuery, m as makeTextSearchRequest, u as useSearchStore } from './search.store-
|
|
2
|
+
import { s as setTextSearchQuery, m as makeTextSearchRequest, u as useSearchStore } from './search.store-DLJr8QhM.js';
|
|
3
3
|
import { s as slotChangeListener } from './customized-slots-Dy-qVYWj.js';
|
|
4
4
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
5
|
-
import { r as resources } from './resources-
|
|
6
|
-
import { _ as _functionExports, g as getOrElse } from './Rectangle-
|
|
5
|
+
import { r as resources } from './resources-CHDT594L.js';
|
|
6
|
+
import { _ as _functionExports, g as getOrElse } from './Rectangle-DGBESJrE.js';
|
|
7
7
|
import { s as searchBarParts } from './index-B6wlG8FA.js';
|
|
8
8
|
import { u as updateGlobalState, g as globalState } from './store-CMhsm-nf.js';
|
|
9
9
|
|
|
@@ -4,7 +4,7 @@ import { D as DEFAULT_EXAMPLE_IMAGE } from './constants-DOMXsA9W.js';
|
|
|
4
4
|
import { f as findSlotElements } from './index-CckoTlaC.js';
|
|
5
5
|
import { S as SEARCH_WIDGET_IMAGE_RESOLUTION_WIDTH } from './constants-rqiiCPBX.js';
|
|
6
6
|
import { i as instance } from './i18next-C7V-mvcq.js';
|
|
7
|
-
import { r as resources } from './resources-
|
|
7
|
+
import { r as resources } from './resources-CHDT594L.js';
|
|
8
8
|
import { u as updateGlobalState, g as globalState } from './store-CMhsm-nf.js';
|
|
9
9
|
|
|
10
10
|
const SearchModalCameraIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" },
|
|
@@ -150,7 +150,7 @@ const VviinnVpsButton = class {
|
|
|
150
150
|
}
|
|
151
151
|
render() {
|
|
152
152
|
const { ariaLabel, buttonIcon } = this.getButtonConfig();
|
|
153
|
-
return (h(Host, { key: '
|
|
153
|
+
return (h(Host, { key: '77f53d931cece790d3ad282c9361255da9d7855f', role: this.buttonPressed ? undefined : "button", "aria-label": this.buttonPressed ? undefined : ariaLabel }, h("vviinn-button", { key: '4ae881afffce59ca29a16bcfac041b7f27e9b99f', addStyle: this.addStyle, part: "vviinn-button", tabindex: this.buttonPressed ? undefined : "0", onClick: this.buttonPressed ? undefined : this.handleActivation, onKeyDown: this.buttonPressed ? undefined : this.handleKeyDown }, h("slot", { key: 'd696de9a652f1536e8658647e8a34c4346560262' }, buttonIcon)), SlotSkeleton("search"), h("vviinn-vps-widget", { key: '96d554c425f8c06a2f61c8f4415b8789589996c6', mode: this.mode, "currency-sign": this.currencySign, token: this.token, locale: this.locale, apiPath: this.apiPath, pricePrefix: this.pricePrefix, campaignId: this.campaignId, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, showingInButton: true, buttonPressed: this.buttonPressed, resetVpsButton: this.resetButton, buttonElementId: this.el.id, active: this.buttonPressed &&
|
|
154
154
|
(this.mode === "modal" || this.mode === "camera"), excluded: this.excluded, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, imageResolutionWidth: this.imageResolutionWidth, exampleImageSource: this.exampleImageSource, textSearchShow: this.textSearchShow, addToBasketShow: this.addToBasketShow, addPriceContainer: this.addPriceContainer, replaceSlotsContentInButton: this.replaceSlotsContent.bind(this), oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, favoriteShow: this.favoriteShow, showInWidget: this.showInWidget, parentSlots: this.slots })));
|
|
155
155
|
}
|
|
156
156
|
get el() { return getElement(this); }
|
|
@@ -6,13 +6,13 @@ import { BasicEventData, ImageUploadEventData, NoResultEventData, SearchIdEventD
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class VviinnImageSelector {
|
|
8
8
|
vviinnImageUploadStarted: EventEmitter<ImageUploadEventData>;
|
|
9
|
-
/** Wrong image format, that isn't .jpg, .jpeg, png */
|
|
9
|
+
/** Wrong image format, that isn't .jpg, .jpeg, .png, .webp, or .avif */
|
|
10
10
|
vviinnNoResult: EventEmitter<NoResultEventData>;
|
|
11
11
|
vviinnImageUploadFinished: EventEmitter<SearchIdEventData>;
|
|
12
12
|
basicEventData: BasicEventData;
|
|
13
13
|
startUpload: boolean;
|
|
14
14
|
loading: boolean;
|
|
15
|
-
accept:
|
|
15
|
+
accept: string;
|
|
16
16
|
resetVpsButton: () => void;
|
|
17
17
|
token?: string;
|
|
18
18
|
apiPath?: string;
|
|
@@ -17,10 +17,8 @@ export declare const extractDataItems: (annotation: ContextAnnotation) => {
|
|
|
17
17
|
deeplink?: string | null;
|
|
18
18
|
brand?: string | null;
|
|
19
19
|
productType?: string | null;
|
|
20
|
-
image?:
|
|
21
|
-
|
|
22
|
-
thumbnail?: string | null;
|
|
23
|
-
};
|
|
20
|
+
image?: import("../../interfaces/generated").components["schemas"]["image"];
|
|
21
|
+
images?: import("../../interfaces/generated").components["schemas"]["image"][];
|
|
24
22
|
price?: {
|
|
25
23
|
actual?: import("../../interfaces/generated").components["schemas"]["price"] | null;
|
|
26
24
|
sale?: import("../../interfaces/generated").components["schemas"]["price"] | null;
|
|
@@ -136,7 +136,7 @@ export declare class VviinnVpsButton {
|
|
|
136
136
|
vviinnResultLoad: EventEmitter<BasicEventData>;
|
|
137
137
|
/** The search result appears in the viewport */
|
|
138
138
|
vviinnResultView: EventEmitter<BasicEventData>;
|
|
139
|
-
/** Wrong image format, that isn't .jpg, .jpeg, png, or the request failed */
|
|
139
|
+
/** Wrong image format, that isn't .jpg, .jpeg, .png, .webp, or .avif, or the request failed */
|
|
140
140
|
vviinnNoResult: EventEmitter<BasicEventData>;
|
|
141
141
|
/** Crop area changes */
|
|
142
142
|
vviinnImageCrop: EventEmitter<BasicEventData>;
|
|
@@ -122,7 +122,7 @@ export declare class VviinnVpsWidget {
|
|
|
122
122
|
/** @internal */
|
|
123
123
|
showInWidget?: boolean;
|
|
124
124
|
slidePosition: number;
|
|
125
|
-
uploadSource: UploadSource;
|
|
125
|
+
uploadSource: UploadSource | null;
|
|
126
126
|
stream: MediaStream | null;
|
|
127
127
|
products: Recommendation[];
|
|
128
128
|
modalBody?: HTMLElement;
|
|
@@ -147,7 +147,7 @@ export declare class VviinnVpsWidget {
|
|
|
147
147
|
vviinnSelectFilter: EventEmitter<SelectFilterEventData>;
|
|
148
148
|
/** The image upload has started */
|
|
149
149
|
vviinnImageUploadStarted: EventEmitter<ImageUploadEventData>;
|
|
150
|
-
/** Wrong image format, that isn't .jpg, .jpeg, png, or the request failed */
|
|
150
|
+
/** Wrong image format, that isn't .jpg, .jpeg, .png, .webp, or .avif, or the request failed */
|
|
151
151
|
vviinnNoResult: EventEmitter<BasicEventData>;
|
|
152
152
|
private overflow;
|
|
153
153
|
private uiSessionId;
|