vviinn-widgets 2.52.3 → 2.52.4
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/{customized-slots-24ae7edf.js → customized-slots-d8565ce0.js} +0 -1
- package/dist/cjs/{package-562db613.js → package-b26ae1d9.js} +1 -1
- package/dist/cjs/{resources-04d0f3bb.js → resources-ade00c5f.js} +0 -2
- package/dist/cjs/search-filters_17.cjs.entry.js +5 -5
- package/dist/cjs/vviinn-carousel_4.cjs.entry.js +3 -3
- package/dist/cjs/vviinn-vpr-button.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-vps-button.cjs.entry.js +2 -2
- package/dist/cjs/vviinn-vps-widget.cjs.entry.js +3 -3
- package/dist/collection/components/customized-slots.js +0 -1
- package/dist/collection/components/vviinn-example-image/vviinn-example-image.css +6 -24
- package/dist/collection/components/vviinn-example-image/vviinn-example-image.js +1 -5
- package/dist/collection/components/vviinn-icons/icons/PhotoFrameCorner.js +1 -1
- package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +0 -1
- package/dist/collection/locale/resources.js +0 -2
- package/dist/esm/{customized-slots-ad6cbb20.js → customized-slots-e9494032.js} +0 -1
- package/dist/esm/{package-64508f8e.js → package-3ce7cddb.js} +1 -1
- package/dist/esm/{resources-aff59df2.js → resources-75e3c60e.js} +0 -2
- package/dist/esm/search-filters_17.entry.js +5 -5
- package/dist/esm/vviinn-carousel_4.entry.js +3 -3
- package/dist/esm/vviinn-vpr-button.entry.js +1 -1
- package/dist/esm/vviinn-vps-button.entry.js +2 -2
- package/dist/esm/vviinn-vps-widget.entry.js +3 -3
- package/dist/types/components/vviinn-example-image/vviinn-example-image.d.ts +0 -3
- package/dist/types/components/vviinn-vps-button/vviinn-vps-button.d.ts +0 -1
- package/dist/vviinn-widgets/p-0bbb6584.js +1 -0
- package/dist/vviinn-widgets/{p-967db961.entry.js → p-1cce910f.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-ebdb87ad.js → p-3d26c6da.js} +1 -1
- package/dist/vviinn-widgets/p-48b88ecc.js +1 -0
- package/dist/vviinn-widgets/{p-f3536fec.entry.js → p-505cebc8.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-afc8cf88.entry.js → p-9782020a.entry.js} +1 -1
- package/{www/build/p-e5637d19.entry.js → dist/vviinn-widgets/p-e593395f.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-a92c4590.entry.js → p-ff05b6ab.entry.js} +1 -1
- package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
- package/package.json +1 -1
- package/www/build/p-0bbb6584.js +1 -0
- package/www/build/{p-967db961.entry.js → p-1cce910f.entry.js} +1 -1
- package/www/build/{p-ebdb87ad.js → p-3d26c6da.js} +1 -1
- package/www/build/p-48b88ecc.js +1 -0
- package/www/build/{p-f3536fec.entry.js → p-505cebc8.entry.js} +1 -1
- package/www/build/{p-afc8cf88.entry.js → p-9782020a.entry.js} +1 -1
- package/{dist/vviinn-widgets/p-e5637d19.entry.js → www/build/p-e593395f.entry.js} +1 -1
- package/www/build/{p-a92c4590.entry.js → p-ff05b6ab.entry.js} +1 -1
- package/www/build/vviinn-widgets.esm.js +1 -1
- package/dist/vviinn-widgets/p-1ba068f6.js +0 -1
- package/dist/vviinn-widgets/p-f0860b0f.js +0 -1
- package/www/build/p-1ba068f6.js +0 -1
- package/www/build/p-f0860b0f.js +0 -1
|
@@ -3990,7 +3990,6 @@ const resources = {
|
|
|
3990
3990
|
imageUploadButtonText: "Bild hochladen",
|
|
3991
3991
|
cameraButtonTextStart: "Kamera starten",
|
|
3992
3992
|
cameraButtonTextStop: "Kamera stoppen",
|
|
3993
|
-
cameraCaptureText: "Platzieren Sie das Objekt im Quadrat",
|
|
3994
3993
|
privacyBadgeText: `Durch das Hochladen eines Bildes willigst Du in die Verarbeitung durch unseren Partner ${VVIINN_LINK} ein. Das Bild wird nach einer Stunde Inaktivität gelöscht.`,
|
|
3995
3994
|
teaserText: "Finde Produkte auf \n einem Foto",
|
|
3996
3995
|
imageSearchModalTitle: "AI Search",
|
|
@@ -4029,7 +4028,6 @@ const resources = {
|
|
|
4029
4028
|
imageUploadButtonText: "Upload Photo",
|
|
4030
4029
|
cameraButtonTextStart: "Start Camera",
|
|
4031
4030
|
cameraButtonTextStop: "Stop Camera",
|
|
4032
|
-
cameraCaptureText: "Place the object into the square area",
|
|
4033
4031
|
privacyBadgeText: `By uploading a picture you agree to the processing by our partner ${VVIINN_LINK}. The image will be deleted after one hour of inactivity.`,
|
|
4034
4032
|
teaserText: "Find Product by Photo",
|
|
4035
4033
|
imageSearchModalTitle: "AI Search",
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-5619b5ec.js');
|
|
6
6
|
const search_store = require('./search.store-0e899c7f.js');
|
|
7
7
|
const i18next = require('./i18next-74ff3413.js');
|
|
8
|
-
const customizedSlots = require('./customized-slots-
|
|
8
|
+
const customizedSlots = require('./customized-slots-d8565ce0.js');
|
|
9
9
|
const PlusIcon = require('./PlusIcon-5e585127.js');
|
|
10
10
|
|
|
11
11
|
const ArrowIcon = () => (index.h("svg", { width: "12", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
@@ -30,8 +30,8 @@ const WarningIcon = () => (index.h("svg", { slot: "icon", class: "icon", width:
|
|
|
30
30
|
index.h("path", { d: "M16 2a14 14 0 1 0 0 28 14 14 0 0 0 0-28Zm0 26a12 12 0 1 1 0-24 12 12 0 0 1 0 24Z", fill: "#525252" }),
|
|
31
31
|
index.h("path", { d: "M17 8h-2v11h2V8Zm-1 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z", fill: "#525252" })));
|
|
32
32
|
|
|
33
|
-
const PhotoFrameCorner = ({ className }) => (index.h("svg", { width: "
|
|
34
|
-
index.h("path", { d: "
|
|
33
|
+
const PhotoFrameCorner = ({ className }) => (index.h("svg", { width: "34", height: "34", viewBox: "0 0 34 34", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: className },
|
|
34
|
+
index.h("path", { d: "M31 3H15C8.37258 3 3 8.37258 3 15V31", stroke: "white", "stroke-width": "6", "stroke-linecap": "square" })));
|
|
35
35
|
|
|
36
36
|
// -------------------------------------------------------------------------------------
|
|
37
37
|
// -------------------------------------------------------------------------------------
|
|
@@ -223,7 +223,7 @@ const VviinnEmptyResults = class {
|
|
|
223
223
|
}
|
|
224
224
|
};
|
|
225
225
|
|
|
226
|
-
const vviinnExampleImageCss = ":host{display:block;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;flex-grow:1;transition:min-height 1s}:host(.video-expanded){min-height:100%;transition:min-height 0.8s}img{width:100%;height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}#camera-preview{width:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative}#captured-image-placeholder{height:auto}.container{position:absolute;width:100%;height:100%;left:0;top:0;display:flex;flex-direction:column;gap:12px;padding:
|
|
226
|
+
const vviinnExampleImageCss = ":host{display:block;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;flex-grow:1;transition:min-height 1s}:host(.video-expanded){min-height:100%;transition:min-height 0.8s}img{width:100%;height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}#camera-preview{width:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative}#captured-image-placeholder{height:auto}.container{position:absolute;width:100%;height:100%;left:0;top:0;display:flex;flex-direction:column;gap:12px;padding:68px 0 48px;justify-content:space-around;align-content:center;box-sizing:border-box}.photo-frame-container{width:100%;height:100%;display:flex;flex-direction:column;gap:12px}#photo-frame{position:relative;aspect-ratio:1/1;border-radius:16px;box-shadow:0 0 0 100vmax rgba(0, 0, 0, 0.32);width:100%;height:auto;max-width:80%;margin:0 auto}@media (max-width: 960px){.photo-frame-container{width:auto;height:auto}}@media (max-width: 380px){#photo-frame{max-width:70%}}.photo-frame-corner{position:absolute;--delta:-3px}.photo-frame-corner.top-left{top:var(--delta);left:var(--delta)}.photo-frame-corner.top-right{top:var(--delta);right:var(--delta);transform:rotate(90deg)}.photo-frame-corner.bottom-left{bottom:var(--delta);left:var(--delta);transform:rotate(-90deg)}.photo-frame-corner.bottom-right{bottom:var(--delta);right:var(--delta);transform:rotate(180deg)}.photo-button-container{display:flex;width:100%;align-items:center;justify-self:flex-end}.photo-button{cursor:pointer;border:none;position:relative;z-index:1;padding:0;color:#6f6f6f;background-color:transparent;-webkit-tap-highlight-color:transparent;line-height:0;margin:0 auto}.zoom-buttons{display:flex;position:relative;justify-content:center;gap:12px}.zoom-buttons button{color:white;display:flex;width:48px;height:48px;justify-content:center;align-items:center;border-radius:var(--radius-radius-md, 8px);background-color:rgba(0, 0, 0, 0.48);border:none;cursor:pointer}.hidden{display:none}";
|
|
227
227
|
|
|
228
228
|
const VviinnExampleImage = class {
|
|
229
229
|
constructor(hostRef) {
|
|
@@ -352,7 +352,7 @@ const VviinnExampleImage = class {
|
|
|
352
352
|
render() {
|
|
353
353
|
return (index.h(index.Host, { onKeyUp: (ev) => this.handleKeyPress(ev), class: { "video-expanded": this.cameraButtonClicked } }, index.h("video", { id: "camera-preview", class: {
|
|
354
354
|
hidden: !this.videoInitialized || this.selected,
|
|
355
|
-
}, autoplay: true, playsinline: true, muted: true }), index.h("img", { src: this.exampleImageSource, width: this.width, height: this.height, tabindex: 1, class: { hidden: this.videoInitialized || this.selected } }), index.h("img", { id: "captured-image-placeholder", class: { hidden: !this.selected } }), index.h("div", { class: { container: true, hidden: !this.videoInitialized } }, index.h("div", { class: "photo-frame-container" }, index.h("div", { id: "photo-frame" }, index.h(PhotoFrameCorner, { className: "photo-frame-corner top-left" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner top-right" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner bottom-left" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner bottom-right" })), index.h("div", { class: { "zoom-buttons": true, hidden: !this.zoomCapabilities } }, index.h("button", { onClick: () => this.onZoom("out") }, index.h(MinusIcon, null)), index.h("button", { onClick: () => this.onZoom("in") }, index.h(PlusIcon.PlusIcon, null)))), index.h("div", { class: "
|
|
355
|
+
}, autoplay: true, playsinline: true, muted: true }), index.h("img", { src: this.exampleImageSource, width: this.width, height: this.height, tabindex: 1, class: { hidden: this.videoInitialized || this.selected } }), index.h("img", { id: "captured-image-placeholder", class: { hidden: !this.selected } }), index.h("div", { class: { container: true, hidden: !this.videoInitialized } }, index.h("div", { class: "photo-frame-container" }, index.h("div", { id: "photo-frame" }, index.h(PhotoFrameCorner, { className: "photo-frame-corner top-left" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner top-right" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner bottom-left" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner bottom-right" })), index.h("div", { class: { "zoom-buttons": true, hidden: !this.zoomCapabilities } }, index.h("button", { onClick: () => this.onZoom("out") }, index.h(MinusIcon, null)), index.h("button", { onClick: () => this.onZoom("in") }, index.h(PlusIcon.PlusIcon, null)))), index.h("div", { class: "photo-button-container" }, index.h("button", { class: "photo-button", onClick: () => this.selectImage() }, index.h(RoundCameraIcon, null))))));
|
|
356
356
|
}
|
|
357
357
|
get el() { return index.getElement(this); }
|
|
358
358
|
static get watchers() { return {
|
|
@@ -6,9 +6,9 @@ const index = require('./index-5619b5ec.js');
|
|
|
6
6
|
const search_store = require('./search.store-0e899c7f.js');
|
|
7
7
|
const i18next = require('./i18next-74ff3413.js');
|
|
8
8
|
const PlusIcon = require('./PlusIcon-5e585127.js');
|
|
9
|
-
const customizedSlots = require('./customized-slots-
|
|
10
|
-
const _package = require('./package-
|
|
11
|
-
const resources = require('./resources-
|
|
9
|
+
const customizedSlots = require('./customized-slots-d8565ce0.js');
|
|
10
|
+
const _package = require('./package-b26ae1d9.js');
|
|
11
|
+
const resources = require('./resources-ade00c5f.js');
|
|
12
12
|
|
|
13
13
|
const BasketIcon = () => (index.h("svg", { width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
14
14
|
index.h("path", { d: "M7.5 22C6.95 22 6.47917 21.8042 6.0875 21.4125C5.69583 21.0208 5.5 20.55 5.5 20C5.5 19.45 5.69583 18.9792 6.0875 18.5875C6.47917 18.1958 6.95 18 7.5 18C8.05 18 8.52083 18.1958 8.9125 18.5875C9.30417 18.9792 9.5 19.45 9.5 20C9.5 20.55 9.30417 21.0208 8.9125 21.4125C8.52083 21.8042 8.05 22 7.5 22ZM17.5 22C16.95 22 16.4792 21.8042 16.0875 21.4125C15.6958 21.0208 15.5 20.55 15.5 20C15.5 19.45 15.6958 18.9792 16.0875 18.5875C16.4792 18.1958 16.95 18 17.5 18C18.05 18 18.5208 18.1958 18.9125 18.5875C19.3042 18.9792 19.5 19.45 19.5 20C19.5 20.55 19.3042 21.0208 18.9125 21.4125C18.5208 21.8042 18.05 22 17.5 22ZM6.65 6L9.05 11H16.05L18.8 6H6.65ZM5.7 4H20.45C20.8333 4 21.125 4.17083 21.325 4.5125C21.525 4.85417 21.5333 5.2 21.35 5.55L17.8 11.95C17.6167 12.2833 17.3708 12.5417 17.0625 12.725C16.7542 12.9083 16.4167 13 16.05 13H8.6L7.5 15H18.5C18.7833 15 19.0208 15.0958 19.2125 15.2875C19.4042 15.4792 19.5 15.7167 19.5 16C19.5 16.2833 19.4042 16.5208 19.2125 16.7125C19.0208 16.9042 18.7833 17 18.5 17H7.5C6.75 17 6.18333 16.6708 5.8 16.0125C5.41667 15.3542 5.4 14.7 5.75 14.05L7.1 11.6L3.5 4H2.5C2.21667 4 1.97917 3.90417 1.7875 3.7125C1.59583 3.52083 1.5 3.28333 1.5 3C1.5 2.71667 1.59583 2.47917 1.7875 2.2875C1.97917 2.09583 2.21667 2 2.5 2H4.125C4.30833 2 4.48333 2.05 4.65 2.15C4.81667 2.25 4.94167 2.39167 5.025 2.575L5.7 4Z", fill: "#525252" })));
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-5619b5ec.js');
|
|
6
|
-
const _package = require('./package-
|
|
6
|
+
const _package = require('./package-b26ae1d9.js');
|
|
7
7
|
const VisualSearchIcon = require('./VisualSearchIcon-1180d079.js');
|
|
8
8
|
|
|
9
9
|
const vviinnVprButtonCss = ":host{display:block}";
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-5619b5ec.js');
|
|
6
|
-
const _package = require('./package-
|
|
7
|
-
const customizedSlots = require('./customized-slots-
|
|
6
|
+
const _package = require('./package-b26ae1d9.js');
|
|
7
|
+
const customizedSlots = require('./customized-slots-d8565ce0.js');
|
|
8
8
|
const constants = require('./constants-7684cbfc.js');
|
|
9
9
|
|
|
10
10
|
const CameraIcon = () => (index.h("svg", { width: "22", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-5619b5ec.js');
|
|
6
6
|
const search_store = require('./search.store-0e899c7f.js');
|
|
7
7
|
const i18next = require('./i18next-74ff3413.js');
|
|
8
|
-
const _package = require('./package-
|
|
9
|
-
const customizedSlots = require('./customized-slots-
|
|
10
|
-
const resources = require('./resources-
|
|
8
|
+
const _package = require('./package-b26ae1d9.js');
|
|
9
|
+
const customizedSlots = require('./customized-slots-d8565ce0.js');
|
|
10
|
+
const resources = require('./resources-ade00c5f.js');
|
|
11
11
|
const constants = require('./constants-7684cbfc.js');
|
|
12
12
|
|
|
13
13
|
const CameraActionIcon = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
|
|
@@ -47,8 +47,8 @@ img {
|
|
|
47
47
|
display: flex;
|
|
48
48
|
flex-direction: column;
|
|
49
49
|
gap: 12px;
|
|
50
|
-
padding:
|
|
51
|
-
justify-content:
|
|
50
|
+
padding: 68px 0 48px;
|
|
51
|
+
justify-content: space-around;
|
|
52
52
|
align-content: center;
|
|
53
53
|
box-sizing: border-box;
|
|
54
54
|
}
|
|
@@ -68,7 +68,7 @@ img {
|
|
|
68
68
|
box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.32);
|
|
69
69
|
width: 100%;
|
|
70
70
|
height: auto;
|
|
71
|
-
max-width:
|
|
71
|
+
max-width: 80%;
|
|
72
72
|
margin: 0 auto;
|
|
73
73
|
}
|
|
74
74
|
|
|
@@ -77,11 +77,6 @@ img {
|
|
|
77
77
|
width: auto;
|
|
78
78
|
height: auto;
|
|
79
79
|
}
|
|
80
|
-
|
|
81
|
-
#photo-frame {
|
|
82
|
-
max-width: 80%;
|
|
83
|
-
height: auto;
|
|
84
|
-
}
|
|
85
80
|
}
|
|
86
81
|
|
|
87
82
|
@media (max-width: 380px) {
|
|
@@ -92,7 +87,7 @@ img {
|
|
|
92
87
|
|
|
93
88
|
.photo-frame-corner {
|
|
94
89
|
position: absolute;
|
|
95
|
-
--delta: -
|
|
90
|
+
--delta: -3px;
|
|
96
91
|
}
|
|
97
92
|
|
|
98
93
|
.photo-frame-corner.top-left {
|
|
@@ -116,24 +111,11 @@ img {
|
|
|
116
111
|
transform: rotate(180deg);
|
|
117
112
|
}
|
|
118
113
|
|
|
119
|
-
.
|
|
114
|
+
.photo-button-container {
|
|
120
115
|
display: flex;
|
|
121
116
|
width: 100%;
|
|
122
|
-
left: 0;
|
|
123
|
-
gap: 12px;
|
|
124
|
-
flex-direction: column;
|
|
125
117
|
align-items: center;
|
|
126
|
-
|
|
127
|
-
bottom: 32px;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.buttons-group-info {
|
|
131
|
-
padding: 4px 12px;
|
|
132
|
-
border-radius: 8px;
|
|
133
|
-
background-color: rgba(0, 0, 0, 0.48);
|
|
134
|
-
color: white;
|
|
135
|
-
font-size: 14px;
|
|
136
|
-
line-height: 20px;
|
|
118
|
+
justify-self: flex-end;
|
|
137
119
|
}
|
|
138
120
|
|
|
139
121
|
.photo-button {
|
|
@@ -5,10 +5,6 @@ import { processSelectedFile } from "../../store/search.store";
|
|
|
5
5
|
import * as E from "fp-ts/lib/Either";
|
|
6
6
|
import { slotChangeListener } from "../customized-slots";
|
|
7
7
|
import { MinusIcon, PhotoFrameCorner, PlusIcon, RoundCameraIcon, } from "../vviinn-icons";
|
|
8
|
-
import i18next from "i18next";
|
|
9
|
-
/**
|
|
10
|
-
* @slot vviinn-camera-capture-text - Text above the Camera Capture button.
|
|
11
|
-
*/
|
|
12
8
|
export class VviinnExampleImage {
|
|
13
9
|
constructor() {
|
|
14
10
|
this.videoTrack = null;
|
|
@@ -131,7 +127,7 @@ export class VviinnExampleImage {
|
|
|
131
127
|
render() {
|
|
132
128
|
return (h(Host, { onKeyUp: (ev) => this.handleKeyPress(ev), class: { "video-expanded": this.cameraButtonClicked } }, h("video", { id: "camera-preview", class: {
|
|
133
129
|
hidden: !this.videoInitialized || this.selected,
|
|
134
|
-
}, autoplay: true, playsinline: true, muted: true }), h("img", { src: this.exampleImageSource, width: this.width, height: this.height, tabindex: 1, class: { hidden: this.videoInitialized || this.selected } }), h("img", { id: "captured-image-placeholder", class: { hidden: !this.selected } }), h("div", { class: { container: true, hidden: !this.videoInitialized } }, h("div", { class: "photo-frame-container" }, h("div", { id: "photo-frame" }, h(PhotoFrameCorner, { className: "photo-frame-corner top-left" }), h(PhotoFrameCorner, { className: "photo-frame-corner top-right" }), h(PhotoFrameCorner, { className: "photo-frame-corner bottom-left" }), h(PhotoFrameCorner, { className: "photo-frame-corner bottom-right" })), h("div", { class: { "zoom-buttons": true, hidden: !this.zoomCapabilities } }, h("button", { onClick: () => this.onZoom("out") }, h(MinusIcon, null)), h("button", { onClick: () => this.onZoom("in") }, h(PlusIcon, null)))), h("div", { class: "
|
|
130
|
+
}, autoplay: true, playsinline: true, muted: true }), h("img", { src: this.exampleImageSource, width: this.width, height: this.height, tabindex: 1, class: { hidden: this.videoInitialized || this.selected } }), h("img", { id: "captured-image-placeholder", class: { hidden: !this.selected } }), h("div", { class: { container: true, hidden: !this.videoInitialized } }, h("div", { class: "photo-frame-container" }, h("div", { id: "photo-frame" }, h(PhotoFrameCorner, { className: "photo-frame-corner top-left" }), h(PhotoFrameCorner, { className: "photo-frame-corner top-right" }), h(PhotoFrameCorner, { className: "photo-frame-corner bottom-left" }), h(PhotoFrameCorner, { className: "photo-frame-corner bottom-right" })), h("div", { class: { "zoom-buttons": true, hidden: !this.zoomCapabilities } }, h("button", { onClick: () => this.onZoom("out") }, h(MinusIcon, null)), h("button", { onClick: () => this.onZoom("in") }, h(PlusIcon, null)))), h("div", { class: "photo-button-container" }, h("button", { class: "photo-button", onClick: () => this.selectImage() }, h(RoundCameraIcon, null))))));
|
|
135
131
|
}
|
|
136
132
|
static get is() { return "vviinn-example-image"; }
|
|
137
133
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
export const PhotoFrameCorner = ({ className }) => (h("svg", { width: "
|
|
2
|
+
export const PhotoFrameCorner = ({ className }) => (h("svg", { width: "34", height: "34", viewBox: "0 0 34 34", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: className }, h("path", { d: "M31 3H15C8.37258 3 3 8.37258 3 15V31", stroke: "white", "stroke-width": "6", "stroke-linecap": "square" })));
|
|
@@ -11,7 +11,6 @@ import { DEFAULT_EXAMPLE_IMAGE } from "../../assets/constants";
|
|
|
11
11
|
* @slot vviinn-camera-button-text-start - Title of Start Camera button.
|
|
12
12
|
* @slot vviinn-camera-button-text-stop - Title of Stop Camera button (for Desktop).
|
|
13
13
|
* @slot vviinn-camera-icon - Icon of Camera Button.
|
|
14
|
-
* @slot vviinn-camera-capture-text - Text above the Camera Capture button.
|
|
15
14
|
* @slot vviinn-privacy-badge-text - Text content of privacy notification block.
|
|
16
15
|
* @slot vviinn-image-search-modal-title - Image search modal title.
|
|
17
16
|
* @slot vviinn-text-search-icon - Icon of text search block.
|
|
@@ -15,7 +15,6 @@ export const resources = {
|
|
|
15
15
|
imageUploadButtonText: "Bild hochladen",
|
|
16
16
|
cameraButtonTextStart: "Kamera starten",
|
|
17
17
|
cameraButtonTextStop: "Kamera stoppen",
|
|
18
|
-
cameraCaptureText: "Platzieren Sie das Objekt im Quadrat",
|
|
19
18
|
privacyBadgeText: `Durch das Hochladen eines Bildes willigst Du in die Verarbeitung durch unseren Partner ${VVIINN_LINK} ein. Das Bild wird nach einer Stunde Inaktivität gelöscht.`,
|
|
20
19
|
teaserText: "Finde Produkte auf \n einem Foto",
|
|
21
20
|
imageSearchModalTitle: "AI Search",
|
|
@@ -54,7 +53,6 @@ export const resources = {
|
|
|
54
53
|
imageUploadButtonText: "Upload Photo",
|
|
55
54
|
cameraButtonTextStart: "Start Camera",
|
|
56
55
|
cameraButtonTextStop: "Stop Camera",
|
|
57
|
-
cameraCaptureText: "Place the object into the square area",
|
|
58
56
|
privacyBadgeText: `By uploading a picture you agree to the processing by our partner ${VVIINN_LINK}. The image will be deleted after one hour of inactivity.`,
|
|
59
57
|
teaserText: "Find Product by Photo",
|
|
60
58
|
imageSearchModalTitle: "AI Search",
|
|
@@ -3988,7 +3988,6 @@ const resources = {
|
|
|
3988
3988
|
imageUploadButtonText: "Bild hochladen",
|
|
3989
3989
|
cameraButtonTextStart: "Kamera starten",
|
|
3990
3990
|
cameraButtonTextStop: "Kamera stoppen",
|
|
3991
|
-
cameraCaptureText: "Platzieren Sie das Objekt im Quadrat",
|
|
3992
3991
|
privacyBadgeText: `Durch das Hochladen eines Bildes willigst Du in die Verarbeitung durch unseren Partner ${VVIINN_LINK} ein. Das Bild wird nach einer Stunde Inaktivität gelöscht.`,
|
|
3993
3992
|
teaserText: "Finde Produkte auf \n einem Foto",
|
|
3994
3993
|
imageSearchModalTitle: "AI Search",
|
|
@@ -4027,7 +4026,6 @@ const resources = {
|
|
|
4027
4026
|
imageUploadButtonText: "Upload Photo",
|
|
4028
4027
|
cameraButtonTextStart: "Start Camera",
|
|
4029
4028
|
cameraButtonTextStop: "Stop Camera",
|
|
4030
|
-
cameraCaptureText: "Place the object into the square area",
|
|
4031
4029
|
privacyBadgeText: `By uploading a picture you agree to the processing by our partner ${VVIINN_LINK}. The image will be deleted after one hour of inactivity.`,
|
|
4032
4030
|
teaserText: "Find Product by Photo",
|
|
4033
4031
|
imageSearchModalTitle: "AI Search",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-1f3eaf12.js';
|
|
2
2
|
import { s as searchState, _ as _function, O as Option, q as fromAlt, r as foldValueObject, u as scaleWithSized, v as center, w as makeRectangularSearchRequest, x as detectedObjectEq, y as toFile, z as processSelectedFile, E as Either, B as match, o as createCommonjsModule, n as commonjsGlobal, C as sequenceToOption, D as fromImage, F as dimensionsFromImage, G as scaleByLargestSide, N as NonEmptyArray, H as processSelectedText } from './search.store-d789660d.js';
|
|
3
3
|
import { i as instance } from './i18next-387f2b0a.js';
|
|
4
|
-
import { s as slotChangeListener, c as campaignTypeNames } from './customized-slots-
|
|
4
|
+
import { s as slotChangeListener, c as campaignTypeNames } from './customized-slots-e9494032.js';
|
|
5
5
|
import { P as PlusIcon } from './PlusIcon-af795e23.js';
|
|
6
6
|
|
|
7
7
|
const ArrowIcon = () => (h("svg", { width: "12", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
@@ -26,8 +26,8 @@ const WarningIcon = () => (h("svg", { slot: "icon", class: "icon", width: "32",
|
|
|
26
26
|
h("path", { d: "M16 2a14 14 0 1 0 0 28 14 14 0 0 0 0-28Zm0 26a12 12 0 1 1 0-24 12 12 0 0 1 0 24Z", fill: "#525252" }),
|
|
27
27
|
h("path", { d: "M17 8h-2v11h2V8Zm-1 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z", fill: "#525252" })));
|
|
28
28
|
|
|
29
|
-
const PhotoFrameCorner = ({ className }) => (h("svg", { width: "
|
|
30
|
-
h("path", { d: "
|
|
29
|
+
const PhotoFrameCorner = ({ className }) => (h("svg", { width: "34", height: "34", viewBox: "0 0 34 34", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: className },
|
|
30
|
+
h("path", { d: "M31 3H15C8.37258 3 3 8.37258 3 15V31", stroke: "white", "stroke-width": "6", "stroke-linecap": "square" })));
|
|
31
31
|
|
|
32
32
|
// -------------------------------------------------------------------------------------
|
|
33
33
|
// -------------------------------------------------------------------------------------
|
|
@@ -219,7 +219,7 @@ const VviinnEmptyResults = class {
|
|
|
219
219
|
}
|
|
220
220
|
};
|
|
221
221
|
|
|
222
|
-
const vviinnExampleImageCss = ":host{display:block;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;flex-grow:1;transition:min-height 1s}:host(.video-expanded){min-height:100%;transition:min-height 0.8s}img{width:100%;height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}#camera-preview{width:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative}#captured-image-placeholder{height:auto}.container{position:absolute;width:100%;height:100%;left:0;top:0;display:flex;flex-direction:column;gap:12px;padding:
|
|
222
|
+
const vviinnExampleImageCss = ":host{display:block;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;flex-grow:1;transition:min-height 1s}:host(.video-expanded){min-height:100%;transition:min-height 0.8s}img{width:100%;height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}#camera-preview{width:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative}#captured-image-placeholder{height:auto}.container{position:absolute;width:100%;height:100%;left:0;top:0;display:flex;flex-direction:column;gap:12px;padding:68px 0 48px;justify-content:space-around;align-content:center;box-sizing:border-box}.photo-frame-container{width:100%;height:100%;display:flex;flex-direction:column;gap:12px}#photo-frame{position:relative;aspect-ratio:1/1;border-radius:16px;box-shadow:0 0 0 100vmax rgba(0, 0, 0, 0.32);width:100%;height:auto;max-width:80%;margin:0 auto}@media (max-width: 960px){.photo-frame-container{width:auto;height:auto}}@media (max-width: 380px){#photo-frame{max-width:70%}}.photo-frame-corner{position:absolute;--delta:-3px}.photo-frame-corner.top-left{top:var(--delta);left:var(--delta)}.photo-frame-corner.top-right{top:var(--delta);right:var(--delta);transform:rotate(90deg)}.photo-frame-corner.bottom-left{bottom:var(--delta);left:var(--delta);transform:rotate(-90deg)}.photo-frame-corner.bottom-right{bottom:var(--delta);right:var(--delta);transform:rotate(180deg)}.photo-button-container{display:flex;width:100%;align-items:center;justify-self:flex-end}.photo-button{cursor:pointer;border:none;position:relative;z-index:1;padding:0;color:#6f6f6f;background-color:transparent;-webkit-tap-highlight-color:transparent;line-height:0;margin:0 auto}.zoom-buttons{display:flex;position:relative;justify-content:center;gap:12px}.zoom-buttons button{color:white;display:flex;width:48px;height:48px;justify-content:center;align-items:center;border-radius:var(--radius-radius-md, 8px);background-color:rgba(0, 0, 0, 0.48);border:none;cursor:pointer}.hidden{display:none}";
|
|
223
223
|
|
|
224
224
|
const VviinnExampleImage = class {
|
|
225
225
|
constructor(hostRef) {
|
|
@@ -348,7 +348,7 @@ const VviinnExampleImage = class {
|
|
|
348
348
|
render() {
|
|
349
349
|
return (h(Host, { onKeyUp: (ev) => this.handleKeyPress(ev), class: { "video-expanded": this.cameraButtonClicked } }, h("video", { id: "camera-preview", class: {
|
|
350
350
|
hidden: !this.videoInitialized || this.selected,
|
|
351
|
-
}, autoplay: true, playsinline: true, muted: true }), h("img", { src: this.exampleImageSource, width: this.width, height: this.height, tabindex: 1, class: { hidden: this.videoInitialized || this.selected } }), h("img", { id: "captured-image-placeholder", class: { hidden: !this.selected } }), h("div", { class: { container: true, hidden: !this.videoInitialized } }, h("div", { class: "photo-frame-container" }, h("div", { id: "photo-frame" }, h(PhotoFrameCorner, { className: "photo-frame-corner top-left" }), h(PhotoFrameCorner, { className: "photo-frame-corner top-right" }), h(PhotoFrameCorner, { className: "photo-frame-corner bottom-left" }), h(PhotoFrameCorner, { className: "photo-frame-corner bottom-right" })), h("div", { class: { "zoom-buttons": true, hidden: !this.zoomCapabilities } }, h("button", { onClick: () => this.onZoom("out") }, h(MinusIcon, null)), h("button", { onClick: () => this.onZoom("in") }, h(PlusIcon, null)))), h("div", { class: "
|
|
351
|
+
}, autoplay: true, playsinline: true, muted: true }), h("img", { src: this.exampleImageSource, width: this.width, height: this.height, tabindex: 1, class: { hidden: this.videoInitialized || this.selected } }), h("img", { id: "captured-image-placeholder", class: { hidden: !this.selected } }), h("div", { class: { container: true, hidden: !this.videoInitialized } }, h("div", { class: "photo-frame-container" }, h("div", { id: "photo-frame" }, h(PhotoFrameCorner, { className: "photo-frame-corner top-left" }), h(PhotoFrameCorner, { className: "photo-frame-corner top-right" }), h(PhotoFrameCorner, { className: "photo-frame-corner bottom-left" }), h(PhotoFrameCorner, { className: "photo-frame-corner bottom-right" })), h("div", { class: { "zoom-buttons": true, hidden: !this.zoomCapabilities } }, h("button", { onClick: () => this.onZoom("out") }, h(MinusIcon, null)), h("button", { onClick: () => this.onZoom("in") }, h(PlusIcon, null)))), h("div", { class: "photo-button-container" }, h("button", { class: "photo-button", onClick: () => this.selectImage() }, h(RoundCameraIcon, null))))));
|
|
352
352
|
}
|
|
353
353
|
get el() { return getElement(this); }
|
|
354
354
|
static get watchers() { return {
|
|
@@ -2,9 +2,9 @@ import { h, r as registerInstance, H as Host, g as getElement, c as createEvent,
|
|
|
2
2
|
import { _ as _function, a as _Array, O as Option, S as Semigroup, h as has, t as tuple, E as Either, s as searchState, p as pipe, c as chainW, m as makeRequest, f as fromEither, g as getApiPath, b as createInitGetRequest, A as Apply, d as map, e as match, i as arrayToQueryString, j as state, k as parseExcluded, T as TaskEither, l as checkEmpryString } from './search.store-d789660d.js';
|
|
3
3
|
import { i as instance } from './i18next-387f2b0a.js';
|
|
4
4
|
import { P as PlusIcon } from './PlusIcon-af795e23.js';
|
|
5
|
-
import { s as slotChangeListener, c as campaignTypeNames, f as fromString, a as fold, S as SlotSkeleton } from './customized-slots-
|
|
6
|
-
import { v as version } from './package-
|
|
7
|
-
import { v as v4, c as createTrackingApi, r as resources, a as createAddToBasketVpcEvent, b as createAddToBasketVprEvent, d as createWidgetVpcEvent, e as createWidgetVprEvent, f as createResultVpcEventByType, g as createResultVprEventByType, h as createProductVpcEventByType, i as createProductVprEventByType } from './resources-
|
|
5
|
+
import { s as slotChangeListener, c as campaignTypeNames, f as fromString, a as fold, S as SlotSkeleton } from './customized-slots-e9494032.js';
|
|
6
|
+
import { v as version } from './package-3ce7cddb.js';
|
|
7
|
+
import { v as v4, c as createTrackingApi, r as resources, a as createAddToBasketVpcEvent, b as createAddToBasketVprEvent, d as createWidgetVpcEvent, e as createWidgetVprEvent, f as createResultVpcEventByType, g as createResultVprEventByType, h as createProductVpcEventByType, i as createProductVprEventByType } from './resources-75e3c60e.js';
|
|
8
8
|
|
|
9
9
|
const BasketIcon = () => (h("svg", { width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
10
10
|
h("path", { d: "M7.5 22C6.95 22 6.47917 21.8042 6.0875 21.4125C5.69583 21.0208 5.5 20.55 5.5 20C5.5 19.45 5.69583 18.9792 6.0875 18.5875C6.47917 18.1958 6.95 18 7.5 18C8.05 18 8.52083 18.1958 8.9125 18.5875C9.30417 18.9792 9.5 19.45 9.5 20C9.5 20.55 9.30417 21.0208 8.9125 21.4125C8.52083 21.8042 8.05 22 7.5 22ZM17.5 22C16.95 22 16.4792 21.8042 16.0875 21.4125C15.6958 21.0208 15.5 20.55 15.5 20C15.5 19.45 15.6958 18.9792 16.0875 18.5875C16.4792 18.1958 16.95 18 17.5 18C18.05 18 18.5208 18.1958 18.9125 18.5875C19.3042 18.9792 19.5 19.45 19.5 20C19.5 20.55 19.3042 21.0208 18.9125 21.4125C18.5208 21.8042 18.05 22 17.5 22ZM6.65 6L9.05 11H16.05L18.8 6H6.65ZM5.7 4H20.45C20.8333 4 21.125 4.17083 21.325 4.5125C21.525 4.85417 21.5333 5.2 21.35 5.55L17.8 11.95C17.6167 12.2833 17.3708 12.5417 17.0625 12.725C16.7542 12.9083 16.4167 13 16.05 13H8.6L7.5 15H18.5C18.7833 15 19.0208 15.0958 19.2125 15.2875C19.4042 15.4792 19.5 15.7167 19.5 16C19.5 16.2833 19.4042 16.5208 19.2125 16.7125C19.0208 16.9042 18.7833 17 18.5 17H7.5C6.75 17 6.18333 16.6708 5.8 16.0125C5.41667 15.3542 5.4 14.7 5.75 14.05L7.1 11.6L3.5 4H2.5C2.21667 4 1.97917 3.90417 1.7875 3.7125C1.59583 3.52083 1.5 3.28333 1.5 3C1.5 2.71667 1.59583 2.47917 1.7875 2.2875C1.97917 2.09583 2.21667 2 2.5 2H4.125C4.30833 2 4.48333 2.05 4.65 2.15C4.81667 2.25 4.94167 2.39167 5.025 2.575L5.7 4Z", fill: "#525252" })));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-1f3eaf12.js';
|
|
2
|
-
import { v as version } from './package-
|
|
2
|
+
import { v as version } from './package-3ce7cddb.js';
|
|
3
3
|
import { V as VisualSearchIcon } from './VisualSearchIcon-13f7da6a.js';
|
|
4
4
|
|
|
5
5
|
const vviinnVprButtonCss = ":host{display:block}";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-1f3eaf12.js';
|
|
2
|
-
import { v as version } from './package-
|
|
3
|
-
import { c as campaignTypeNames, S as SlotSkeleton } from './customized-slots-
|
|
2
|
+
import { v as version } from './package-3ce7cddb.js';
|
|
3
|
+
import { c as campaignTypeNames, S as SlotSkeleton } from './customized-slots-e9494032.js';
|
|
4
4
|
import { D as DEFAULT_EXAMPLE_IMAGE } from './constants-8bf233a9.js';
|
|
5
5
|
|
|
6
6
|
const CameraIcon = () => (h("svg", { width: "22", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-1f3eaf12.js';
|
|
2
2
|
import { s as searchState, j as state, k as parseExcluded, O as Option } from './search.store-d789660d.js';
|
|
3
3
|
import { i as instance } from './i18next-387f2b0a.js';
|
|
4
|
-
import { v as version } from './package-
|
|
5
|
-
import { c as campaignTypeNames, s as slotChangeListener, S as SlotSkeleton } from './customized-slots-
|
|
6
|
-
import { j as createSearchEvent, k as createFilterEvent, v as v4, c as createTrackingApi, r as resources, l as createWidgetVpsEvent, m as createProductVpsEventByType, n as createResultVpsEventByType } from './resources-
|
|
4
|
+
import { v as version } from './package-3ce7cddb.js';
|
|
5
|
+
import { c as campaignTypeNames, s as slotChangeListener, S as SlotSkeleton } from './customized-slots-e9494032.js';
|
|
6
|
+
import { j as createSearchEvent, k as createFilterEvent, v as v4, c as createTrackingApi, r as resources, l as createWidgetVpsEvent, m as createProductVpsEventByType, n as createResultVpsEventByType } from './resources-75e3c60e.js';
|
|
7
7
|
import { D as DEFAULT_EXAMPLE_IMAGE } from './constants-8bf233a9.js';
|
|
8
8
|
|
|
9
9
|
const CameraActionIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
|
|
@@ -8,7 +8,6 @@ import { Locale } from "../../locale";
|
|
|
8
8
|
* @slot vviinn-camera-button-text-start - Title of Start Camera button.
|
|
9
9
|
* @slot vviinn-camera-button-text-stop - Title of Stop Camera button (for Desktop).
|
|
10
10
|
* @slot vviinn-camera-icon - Icon of Camera Button.
|
|
11
|
-
* @slot vviinn-camera-capture-text - Text above the Camera Capture button.
|
|
12
11
|
* @slot vviinn-privacy-badge-text - Text content of privacy notification block.
|
|
13
12
|
* @slot vviinn-image-search-modal-title - Image search modal title.
|
|
14
13
|
* @slot vviinn-text-search-icon - Icon of text search block.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o="2.52.4";export{o as v}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as t,r as i,c as s,H as e,g as a}from"./p-1e83e6ba.js";import{s as n,j as r,k as o,O as h}from"./p-75a253fb.js";import{i as d}from"./p-2e76a5c3.js";import{v as c}from"./p-f0860b0f.js";import{c as l,s as p,S as v}from"./p-1ba068f6.js";import{j as u,k as g,v as m,c as f,r as b,l as x,m as y,n as w}from"./p-ebdb87ad.js";import{D as k}from"./p-cc013cd2.js";const C=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M12 17.5C13.25 17.5 14.3125 17.0625 15.1875 16.1875C16.0625 15.3125 16.5 14.25 16.5 13C16.5 11.75 16.0625 10.6875 15.1875 9.8125C14.3125 8.9375 13.25 8.5 12 8.5C10.75 8.5 9.6875 8.9375 8.8125 9.8125C7.9375 10.6875 7.5 11.75 7.5 13C7.5 14.25 7.9375 15.3125 8.8125 16.1875C9.6875 17.0625 10.75 17.5 12 17.5ZM12 15.5C11.3 15.5 10.7083 15.2583 10.225 14.775C9.74167 14.2917 9.5 13.7 9.5 13C9.5 12.3 9.74167 11.7083 10.225 11.225C10.7083 10.7417 11.3 10.5 12 10.5C12.7 10.5 13.2917 10.7417 13.775 11.225C14.2583 11.7083 14.5 12.3 14.5 13C14.5 13.7 14.2583 14.2917 13.775 14.775C13.2917 15.2583 12.7 15.5 12 15.5ZM4 21C3.45 21 2.97917 20.8042 2.5875 20.4125C2.19583 20.0208 2 19.55 2 19V7C2 6.45 2.19583 5.97917 2.5875 5.5875C2.97917 5.19583 3.45 5 4 5H7.15L8.4 3.65C8.58333 3.45 8.80417 3.29167 9.0625 3.175C9.32083 3.05833 9.59167 3 9.875 3H14.125C14.4083 3 14.6792 3.05833 14.9375 3.175C15.1958 3.29167 15.4167 3.45 15.6 3.65L16.85 5H20C20.55 5 21.0208 5.19583 21.4125 5.5875C21.8042 5.97917 22 6.45 22 7V19C22 19.55 21.8042 20.0208 21.4125 20.4125C21.0208 20.8042 20.55 21 20 21H4Z",fill:"currentColor"})),j=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M4.5 21C4.1 21 3.75 20.85 3.45 20.55C3.15 20.25 3 19.9 3 19.5V4.5C3 4.1 3.15 3.75 3.45 3.45C3.75 3.15 4.1 3 4.5 3H19.5C19.9 3 20.25 3.15 20.55 3.45C20.85 3.75 21 4.1 21 4.5V19.5C21 19.9 20.85 20.25 20.55 20.55C20.25 20.85 19.9 21 19.5 21H4.5ZM6.65 17.075H17.375C17.525 17.075 17.6333 17.0083 17.7 16.875C17.7667 16.7417 17.7583 16.6083 17.675 16.475L14.75 12.575C14.6667 12.475 14.5667 12.425 14.45 12.425C14.3333 12.425 14.2333 12.475 14.15 12.575L11.15 16.45L9.125 13.675C9.04167 13.575 8.94167 13.525 8.825 13.525C8.70833 13.525 8.60833 13.575 8.525 13.675L6.375 16.475C6.275 16.6083 6.25833 16.7417 6.325 16.875C6.39167 17.0083 6.5 17.075 6.65 17.075Z",fill:"currentColor"})),I={facingMode:"environment",width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}};var S=function(t,i){var s={};for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&i.indexOf(e)<0&&(s[e]=t[e]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(e=Object.getOwnPropertySymbols(t);a<e.length;a++)i.indexOf(e[a])<0&&Object.prototype.propertyIsEnumerable.call(t,e[a])&&(s[e[a]]=t[e[a]])}return s};const T=class{constructor(e){i(this,e),this.globalSlotsChanged=s(this,"globalSlotsChanged",7),this.vviinnWidgetLoad=s(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=s(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=s(this,"vviinnWidgetClose",7),this.vviinnImageUpload=s(this,"vviinnImageUpload",7),this.vviinnProductLoad=s(this,"vviinnProductLoad",7),this.vviinnProductView=s(this,"vviinnProductView",7),this.vviinnProductClick=s(this,"vviinnProductClick",7),this.vviinnResultLoad=s(this,"vviinnResultLoad",7),this.vviinnResultView=s(this,"vviinnResultView",7),this.vviinnNoResult=s(this,"vviinnNoResult",7),this.vviinnImageCrop=s(this,"vviinnImageCrop",7),this.vviinnSelectObject=s(this,"vviinnSelectObject",7),this.vviinnSelectFilter=s(this,"vviinnSelectFilter",7),this.imageSource=null,this.resultLoaded=!1,this.resultViewed=!1,this.cameraAvailable=!1,this.isDesktop=!1,this.videoTrack=null,this.handleVviinnImageUpload=t=>{this.trackInitialSearch(),this.uploadSource=t},this.handleVviinnImageUploadFinished=()=>{this.handleImageSelection(),"upload"===this.mode&&this.showingInButton&&(this.active=!0)},this.handleVviinnNoResult=t=>{"client"===t.reason&&(this.wrongImageFormat=!0)},this.adjustCameraSettings=async()=>{var t;if(!this.videoTrack)return;const i=(null===(t=this.videoTrack)||void 0===t?void 0:t.getCapabilities)?this.videoTrack.getCapabilities():{};if("focusMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{focusMode:"continuous"}]})}catch(t){console.error("Failed to apply focus mode constraints",t)}if("exposureMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{exposureMode:"continuous"}]})}catch(t){console.error("Failed to apply exposure mode constraints",t)}if("whiteBalanceMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{whiteBalanceMode:"continuous"}]})}catch(t){console.error("Failed to apply white balance mode constraints",t)}},this.handleStartCameraClick=async()=>{this.stream?this.resetState():(this.cameraInitializing=!0,setTimeout((async()=>{this.cameraButtonClicked=!0;try{const t=await navigator.mediaDevices.getUserMedia({video:I});this.videoTrack=t.getVideoTracks()[0],this.adjustCameraSettings(),this.stream=t,this.uploadSource="startCamera"}catch(t){console.log("Error accessing camera: ",t.message),this.resetState(),this.cameraInitializing=!1}}),500))},this.setShowAspectRatioError=t=>{this.showAspectRatioError=t},this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>{var t;return{widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:l.VPS,widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.id,widgetVersion:c}},this.LinkText=({href:i,children:s})=>t("a",{href:i||""},s),this.token=void 0,this.active=!0,this.currencySign="€",this.locale="de-DE",this.campaignId="",this.excluded="",this.productDetailNewTab=!0,this.imageResolutionWidth=250,this.exampleImageSource=k,this.textSearchShow=!1,this.apiPath="https://api.vviinn.com",this.showingInButton=!1,this.buttonElementId=void 0,this.buttonPressed=void 0,this.mode="modal",this.resetVpsButton=void 0,this.slidePosition=0,this.width=0,this.wrongImageFormat=!1,this.trackingDeactivated=!1,this.stream=null,this.cameraInitializing=!1,this.cameraEnabled=!1,this.cameraButtonClicked=!1,this.uploadSource=void 0,this.showAspectRatioError=!1,this.products=[],this.initialSearchQuery=""}initResultEvents(){this.resultLoaded=!1,this.resultViewed=!1}stopStreamTracks(){var t;null===(t=this.stream)||void 0===t||t.getTracks().forEach((t=>{t.stop()}))}isOnboardingSlide(){return 0===this.slidePosition}isResultSlide(){return 1===this.slidePosition}findProductById(t){return n.results.find((i=>i.productId===t))}handleOpenLink(t,i){if(this.productDetailNewTab||i.ctrlKey||i.metaKey){let i=window.open();i?i.location.href=t:window.location.href=t}else window.location.href=t}componentDidLoad(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit({slots:Array.from(t),element:this.el})}activeWatcher(t){t?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.vviinnWidgetOpen.emit(this.getBasicEventData()),"camera"===this.mode&&this.handleStartCameraClick(),this.trackWidgetEvent("open")):(document.body.style.overflow=this.overflow,this.initResultEvents())}trackCameraEnabled({detail:t}){this.cameraEnabled=t,this.cameraInitializing=!1}trackProductLoad({detail:t}){const i=this.getProductTrackEvent(t,"load");i&&this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackProductView({detail:t}){this.resultViewed||(this.resultViewed=!0,this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"));const i=this.getProductTrackEvent(t,"view");i&&this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productId:i,clickEvent:s}=t,e=this.getProductTrackEvent(t,"click"),a=this.findProductById(i);a&&a.deeplink&&(this.trackingDeactivated?this.handleOpenLink(a.deeplink,s):await this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated).finally((()=>{this.handleOpenLink(a.deeplink,s)})))}async trackAuxClick({detail:t}){const{productId:i}=t,s=this.getProductTrackEvent(t,"click"),e=this.findProductById(i);e&&e.deeplink&&(this.trackingDeactivated||await this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated))}trachSearchAreaChanges(){if(this.initResultEvents(),this.trackingDeactivated)return;const t=this.getBasicEventData(),i=S(t,["campaignTypeId"]),s=u(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"},i));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}trackDetectedObject(){if(this.initResultEvents(),this.trackingDeactivated)return;const t=this.getBasicEventData(),i=S(t,["campaignTypeId"]),s=u(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"},i));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}trackFilter({detail:t}){if(this.initResultEvents(),this.trackingDeactivated)return;const i=this.getBasicEventData(),s=S(i,["campaignTypeId"]),e=g(Object.assign({session_id:this.uiSessionId,source:this.imageSource,kind:t.kind,action:t.action},s));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}async trackTextSearchFinished({detail:t}){this.initialSearchQuery=t,this.slidePosition=1}connectedCallback(){this.isDesktop="desktop"===(()=>{const t=navigator.userAgent;return/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(t)?"tablet":/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(t)?"mobile":"desktop"})(),r.apiPath=this.apiPath,r.currencySign=this.currencySign,r.locale=this.locale,this.cameraAvailable=!!navigator.mediaDevices&&!!navigator.mediaDevices.getUserMedia,this.excluded&&(this.excluded=o(this.excluded)),n.token=this.token,n.campaignId=this.campaignId,n.excluded=this.excluded,this.uiSessionId=m(),this.trackingApi=f(this.apiPath,this.token),this.id=this.el.id}async componentWillLoad(){await d.init({lng:this.locale,fallbackLng:"en",resources:b}),p(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData()),this.trackWidgetEvent("load")}trackWidgetEvent(t){if(this.trackingDeactivated)return;const i=this.getBasicEventData(),s=S(i,["campaignTypeId","widgetType"]),e=Object.assign({action:t,session_id:this.uiSessionId},s),a=x(e);this.trackingApi.trackEvent(a).then(this.setTrackingDeactivated)}getProductTrackEvent(t,i){if(this.trackingDeactivated)return null;const{productRank:s,productId:e}=t,a=S(t,["productRank","productId","campaignTypeId","widgetType","clickEvent"]),n=Object.assign({session_id:this.uiSessionId,rank:s,product:e},a);return y(i)(n)}trackResultEvent(t){if(this.trackingDeactivated)return;const i=this.getBasicEventData(),s=S(i,["campaignTypeId","widgetType"]);let e=w(t)(Object.assign({session_id:this.uiSessionId},s));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackInitialSearch(){if(this.trackingDeactivated)return;const t=this.getBasicEventData(),i=S(t,["campaignTypeId","widgetType"]),s=u(Object.assign({session_id:this.uiSessionId,search_area:"full",source:"upload"},i));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}handleImageSelection(){this.imageSource="upload",this.slidePosition=1,this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal").shadowRoot.querySelector(".body").scrollTop=0,this.stopStreamTracks()}renderButtons(){const i=n.loading&&"image"===n.searchType&&"startCamera"===this.uploadSource||this.cameraInitializing,s=[this.cameraAvailable&&t("button",{class:"action-button",part:"start-camera_button",onClick:()=>{this.handleStartCameraClick()}},t("vviinn-preloader",{class:{hidden:!i}}),t("span",{class:{"action-button-content":!0,hidden:i}},t("slot",{name:"vviinn-camera-icon"},t(C,null)),t("span",{class:{hidden:!this.cameraEnabled}},t("slot",{name:"vviinn-camera-button-text-stop"},d.t("cameraButtonTextStop"))),t("span",{class:{hidden:this.cameraEnabled}},t("slot",{name:"vviinn-camera-button-text-start"},d.t("cameraButtonTextStart"))))),t("vviinn-image-selector",{class:"action-button",onClick:()=>this.uploadSource="uploadPhoto",onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUpload:()=>{this.handleVviinnImageUpload("uploadPhoto")},onVviinnNoResult:({detail:t})=>this.handleVviinnNoResult(t),resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"upload-photo_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode,loading:n.loading&&"image"===n.searchType&&"uploadPhoto"===this.uploadSource},t("span",{slot:"upload-button-text",class:"action-button-content"},t("slot",{name:"vviinn-image-upload-icon"},t(j,null)),t("slot",{name:"vviinn-image-upload-button-text"},t("span",null,d.t("imageUploadButtonText")))))];return this.isDesktop?s.reverse():s}renderResults(){return 0!==n.results.length&&this.isResultSlide()?(this.resultLoaded||(this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),this.resultLoaded=!0),n.results.map(((i,s)=>{var e;return t("vviinn-product-card",{key:i.productId,hidden:!0,productTitle:i.title,productId:i.productId,productType:i.productType,brand:i.brand,deeplink:i.deeplink,price:i.price.actual,salePrice:i.price.sale,responsive:!0,imageWidth:this.imageResolutionWidth,image:null!==(e=i.image.thumbnail)&&void 0!==e?e:i.image.original,part:"product-card",campaignTypeId:"VPS",index:s,widgetElementId:this.id,buttonElementId:this.buttonElementId,widgetVersion:c,currency:this.currencySign,pricePrefix:"",locale:this.locale})}))):null}resetState(){this.resetScroll("start-page_block"),this.slidePosition=0,n.resetCategoryLink=void 0,n.activeIonLink=void 0,n.image=h.none,n.imageUrl=h.none,n.imageBounds=h.none,n.searchArea=h.none,n.results=[],n.filters=[],n.detectedObjects=[],n.rectangleSearchForm=void 0,n.loading=!1,n.serverError=!1,n.searchType=void 0,this.wrongImageFormat=!1,this.resetScroll("results-block"),this.stopStreamTracks(),this.initResultEvents(),this.stream=null,this.cameraEnabled=!1,this.cameraButtonClicked=!1,this.cameraInitializing=!1,this.setShowAspectRatioError(!1)}haveErrors(){return this.wrongImageFormat||n.serverError}resetScroll(t,i="auto"){this.el.shadowRoot.getElementById(t).scroll({top:0,left:0,behavior:i})}handleModalClose(){this.active=!1,this.resetState(),["start-page_block","results-block"].forEach((t=>this.resetScroll(t))),this.trackWidgetEvent("close")}render(){var i;return t(e,{exportparts:"text-search-input"},!this.showingInButton&&v("vps"),t("vviinn-overlayed-modal",{class:{"first-screen":this.isOnboardingSlide()},isFirstScreen:this.isOnboardingSlide(),active:this.active,resetState:this.resetState.bind(this),onVviinnWidgetClose:()=>this.handleModalClose(),buttonElementId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:c,hideBackButton:"upload"===this.mode&&this.showingInButton||!this.cameraEnabled&&this.isOnboardingSlide(),exportparts:"secondary-action, title, close-button"},t("vviinn-slider",{showBullets:!1,position:this.slidePosition},t("vviinn-slide",{class:{"start-page":!0,"camera-enabled":this.cameraEnabled}},t("vviinn-example-image",{onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUpload:()=>{this.handleVviinnImageUpload("startCamera")},basicEventData:this.getBasicEventData(),srcObject:this.stream,cameraButtonClicked:this.cameraButtonClicked,exampleImageSource:this.exampleImageSource}),t("div",{class:{error:this.haveErrors()},id:"start-page_block"},t("div",{class:"start-page_main-content"},t("div",{class:{"start-page_errors-block":!0,hidden:!this.wrongImageFormat&&!n.serverError}},t("vviinn-wrong-format",{class:{hidden:!this.wrongImageFormat},handler:()=>this.resetState()}),t("vviinn-server-error",{class:{hidden:!n.serverError},handler:()=>this.resetState()})),!this.haveErrors()&&t("vviinn-teaser",null),!this.haveErrors()&&t("div",{class:"buttons-group"},this.renderButtons()),this.textSearchShow&&!this.haveErrors()&&t("vviinn-text-search",{clearSearchQuery:!0})),t("vviinn-privacy-badge",{privacyBadgeText:d.t("privacyBadgeText",{interpolation:{escapeValue:!1}}),class:{invisible:this.haveErrors()}}))),t("vviinn-slide",{class:{"results-page":!0,active:this.isResultSlide()}},this.isResultSlide()&&"image"===n.searchType&&t("div",{class:"image-wrapper"},t("vviinn-image-view",{basicEventData:this.getBasicEventData(),setShowAspectRatioError:this.setShowAspectRatioError,showAspectRatioError:this.showAspectRatioError}),t("div",{class:{"filters-wrapper":!0,hidden:this.showAspectRatioError}},t("div",{class:"filters"},n.filters.map((i=>t("search-filters",{filter:i,basicEventData:this.getBasicEventData()})))))),this.textSearchShow&&this.isResultSlide()&&"text"===n.searchType&&t("div",{class:"text-search-wrapper"},t("vviinn-text-search",{initialSearchQuery:this.initialSearchQuery})),t("div",{id:"results-block",class:"products-wrapper"},t("div",{class:{"nothing-found":!0,hidden:n.results.length>0}},t("vviinn-empty-results",{handler:()=>this.resetState()})),t("div",{class:{"nothing-found":!0,hidden:!this.showAspectRatioError}},t("vviinn-wrong-aspect-ratio",{handler:()=>this.resetState()})),t("div",{class:{hidden:0===n.results.length||this.showAspectRatioError,products:!0}},this.renderResults()))))))}get el(){return a(this)}static get watchers(){return{active:["activeWatcher"]}}};T.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);height:640px}#start-page_block{box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center;padding:42px 62px}#start-page_block.error{align-content:center}.start-page_main-content{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.start-page_errors-block{display:flex;flex-direction:column;justify-content:center;gap:12px}#start-page_block vviinn-text-search{margin-top:12px}.buttons-group{display:flex;flex-direction:column;gap:12px;margin-top:24px}.action-button{font-family:inherit;display:grid;border:none;cursor:pointer;align-items:center;border-radius:8px;font-size:16px;height:48px;justify-items:center;transition:background 0.1s ease-in-out;color:#525252;background-color:#f4f4f4}.action-button:hover{background-color:#eaeaea}.action-button:first-child{background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:8px}.action-button .hidden{display:none}.results-page{margin-top:64px;display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.results-page .text-search-wrapper{width:100%;padding:24px}.products{width:100%;align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));justify-items:center;padding:24px;position:absolute}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{display:grid;grid-template-rows:min-content 1fr;min-width:100%}.filters-wrapper{margin-top:24px;overflow-x:auto;transform:translateX(-24px);min-width:calc(100% + 48px)}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:8px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:400;line-height:20px}search-filters::part(show-more-filters){display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #f4f4f4;min-width:40px;height:40px;border-radius:100px;box-sizing:border-box;color:#161616}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter active){background:var(--color-primary, var(--color-primary-system));color:white}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}vviinn-preloader{--preloader-size:24px;display:flex}@media (max-width: 1080px){#start-page_block{padding:24px 36px}}@media (max-width: 768px){.start-page{display:flex;flex-direction:column;height:100%}vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:visible}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden}.results-page{margin-top:0}.results-page>*{box-sizing:border-box;padding:12px 24px 24px}.image-wrapper{padding:0}.filters-wrapper{padding-left:24px;min-width:calc(100% + 40px)}.results-page{grid-template-rows:min-content;grid-template-columns:unset}#start-page_block{overflow-y:unset;min-height:-moz-fit-content;min-height:fit-content;padding:24px 20px}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0;margin-top:24px}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}@media (max-width: 380px){.filters-wrapper{padding-left:24px}.products{grid-gap:24px 10px}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}";export{T as vviinn_vps_widget}
|
|
1
|
+
import{h as t,r as i,c as s,H as e,g as a}from"./p-1e83e6ba.js";import{s as n,j as r,k as o,O as h}from"./p-75a253fb.js";import{i as d}from"./p-2e76a5c3.js";import{v as c}from"./p-0bbb6584.js";import{c as l,s as p,S as v}from"./p-48b88ecc.js";import{j as u,k as g,v as m,c as b,r as f,l as x,m as y,n as w}from"./p-3d26c6da.js";import{D as k}from"./p-cc013cd2.js";const C=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M12 17.5C13.25 17.5 14.3125 17.0625 15.1875 16.1875C16.0625 15.3125 16.5 14.25 16.5 13C16.5 11.75 16.0625 10.6875 15.1875 9.8125C14.3125 8.9375 13.25 8.5 12 8.5C10.75 8.5 9.6875 8.9375 8.8125 9.8125C7.9375 10.6875 7.5 11.75 7.5 13C7.5 14.25 7.9375 15.3125 8.8125 16.1875C9.6875 17.0625 10.75 17.5 12 17.5ZM12 15.5C11.3 15.5 10.7083 15.2583 10.225 14.775C9.74167 14.2917 9.5 13.7 9.5 13C9.5 12.3 9.74167 11.7083 10.225 11.225C10.7083 10.7417 11.3 10.5 12 10.5C12.7 10.5 13.2917 10.7417 13.775 11.225C14.2583 11.7083 14.5 12.3 14.5 13C14.5 13.7 14.2583 14.2917 13.775 14.775C13.2917 15.2583 12.7 15.5 12 15.5ZM4 21C3.45 21 2.97917 20.8042 2.5875 20.4125C2.19583 20.0208 2 19.55 2 19V7C2 6.45 2.19583 5.97917 2.5875 5.5875C2.97917 5.19583 3.45 5 4 5H7.15L8.4 3.65C8.58333 3.45 8.80417 3.29167 9.0625 3.175C9.32083 3.05833 9.59167 3 9.875 3H14.125C14.4083 3 14.6792 3.05833 14.9375 3.175C15.1958 3.29167 15.4167 3.45 15.6 3.65L16.85 5H20C20.55 5 21.0208 5.19583 21.4125 5.5875C21.8042 5.97917 22 6.45 22 7V19C22 19.55 21.8042 20.0208 21.4125 20.4125C21.0208 20.8042 20.55 21 20 21H4Z",fill:"currentColor"})),j=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M4.5 21C4.1 21 3.75 20.85 3.45 20.55C3.15 20.25 3 19.9 3 19.5V4.5C3 4.1 3.15 3.75 3.45 3.45C3.75 3.15 4.1 3 4.5 3H19.5C19.9 3 20.25 3.15 20.55 3.45C20.85 3.75 21 4.1 21 4.5V19.5C21 19.9 20.85 20.25 20.55 20.55C20.25 20.85 19.9 21 19.5 21H4.5ZM6.65 17.075H17.375C17.525 17.075 17.6333 17.0083 17.7 16.875C17.7667 16.7417 17.7583 16.6083 17.675 16.475L14.75 12.575C14.6667 12.475 14.5667 12.425 14.45 12.425C14.3333 12.425 14.2333 12.475 14.15 12.575L11.15 16.45L9.125 13.675C9.04167 13.575 8.94167 13.525 8.825 13.525C8.70833 13.525 8.60833 13.575 8.525 13.675L6.375 16.475C6.275 16.6083 6.25833 16.7417 6.325 16.875C6.39167 17.0083 6.5 17.075 6.65 17.075Z",fill:"currentColor"})),I={facingMode:"environment",width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}};var S=function(t,i){var s={};for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&i.indexOf(e)<0&&(s[e]=t[e]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(e=Object.getOwnPropertySymbols(t);a<e.length;a++)i.indexOf(e[a])<0&&Object.prototype.propertyIsEnumerable.call(t,e[a])&&(s[e[a]]=t[e[a]])}return s};const T=class{constructor(e){i(this,e),this.globalSlotsChanged=s(this,"globalSlotsChanged",7),this.vviinnWidgetLoad=s(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=s(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=s(this,"vviinnWidgetClose",7),this.vviinnImageUpload=s(this,"vviinnImageUpload",7),this.vviinnProductLoad=s(this,"vviinnProductLoad",7),this.vviinnProductView=s(this,"vviinnProductView",7),this.vviinnProductClick=s(this,"vviinnProductClick",7),this.vviinnResultLoad=s(this,"vviinnResultLoad",7),this.vviinnResultView=s(this,"vviinnResultView",7),this.vviinnNoResult=s(this,"vviinnNoResult",7),this.vviinnImageCrop=s(this,"vviinnImageCrop",7),this.vviinnSelectObject=s(this,"vviinnSelectObject",7),this.vviinnSelectFilter=s(this,"vviinnSelectFilter",7),this.imageSource=null,this.resultLoaded=!1,this.resultViewed=!1,this.cameraAvailable=!1,this.isDesktop=!1,this.videoTrack=null,this.handleVviinnImageUpload=t=>{this.trackInitialSearch(),this.uploadSource=t},this.handleVviinnImageUploadFinished=()=>{this.handleImageSelection(),"upload"===this.mode&&this.showingInButton&&(this.active=!0)},this.handleVviinnNoResult=t=>{"client"===t.reason&&(this.wrongImageFormat=!0)},this.adjustCameraSettings=async()=>{var t;if(!this.videoTrack)return;const i=(null===(t=this.videoTrack)||void 0===t?void 0:t.getCapabilities)?this.videoTrack.getCapabilities():{};if("focusMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{focusMode:"continuous"}]})}catch(t){console.error("Failed to apply focus mode constraints",t)}if("exposureMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{exposureMode:"continuous"}]})}catch(t){console.error("Failed to apply exposure mode constraints",t)}if("whiteBalanceMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{whiteBalanceMode:"continuous"}]})}catch(t){console.error("Failed to apply white balance mode constraints",t)}},this.handleStartCameraClick=async()=>{this.stream?this.resetState():(this.cameraInitializing=!0,setTimeout((async()=>{this.cameraButtonClicked=!0;try{const t=await navigator.mediaDevices.getUserMedia({video:I});this.videoTrack=t.getVideoTracks()[0],this.adjustCameraSettings(),this.stream=t,this.uploadSource="startCamera"}catch(t){console.log("Error accessing camera: ",t.message),this.resetState(),this.cameraInitializing=!1}}),500))},this.setShowAspectRatioError=t=>{this.showAspectRatioError=t},this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>{var t;return{widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:l.VPS,widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.id,widgetVersion:c}},this.LinkText=({href:i,children:s})=>t("a",{href:i||""},s),this.token=void 0,this.active=!0,this.currencySign="€",this.locale="de-DE",this.campaignId="",this.excluded="",this.productDetailNewTab=!0,this.imageResolutionWidth=250,this.exampleImageSource=k,this.textSearchShow=!1,this.apiPath="https://api.vviinn.com",this.showingInButton=!1,this.buttonElementId=void 0,this.buttonPressed=void 0,this.mode="modal",this.resetVpsButton=void 0,this.slidePosition=0,this.width=0,this.wrongImageFormat=!1,this.trackingDeactivated=!1,this.stream=null,this.cameraInitializing=!1,this.cameraEnabled=!1,this.cameraButtonClicked=!1,this.uploadSource=void 0,this.showAspectRatioError=!1,this.products=[],this.initialSearchQuery=""}initResultEvents(){this.resultLoaded=!1,this.resultViewed=!1}stopStreamTracks(){var t;null===(t=this.stream)||void 0===t||t.getTracks().forEach((t=>{t.stop()}))}isOnboardingSlide(){return 0===this.slidePosition}isResultSlide(){return 1===this.slidePosition}findProductById(t){return n.results.find((i=>i.productId===t))}handleOpenLink(t,i){if(this.productDetailNewTab||i.ctrlKey||i.metaKey){let i=window.open();i?i.location.href=t:window.location.href=t}else window.location.href=t}componentDidLoad(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit({slots:Array.from(t),element:this.el})}activeWatcher(t){t?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.vviinnWidgetOpen.emit(this.getBasicEventData()),"camera"===this.mode&&this.handleStartCameraClick(),this.trackWidgetEvent("open")):(document.body.style.overflow=this.overflow,this.initResultEvents())}trackCameraEnabled({detail:t}){this.cameraEnabled=t,this.cameraInitializing=!1}trackProductLoad({detail:t}){const i=this.getProductTrackEvent(t,"load");i&&this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackProductView({detail:t}){this.resultViewed||(this.resultViewed=!0,this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"));const i=this.getProductTrackEvent(t,"view");i&&this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productId:i,clickEvent:s}=t,e=this.getProductTrackEvent(t,"click"),a=this.findProductById(i);a&&a.deeplink&&(this.trackingDeactivated?this.handleOpenLink(a.deeplink,s):await this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated).finally((()=>{this.handleOpenLink(a.deeplink,s)})))}async trackAuxClick({detail:t}){const{productId:i}=t,s=this.getProductTrackEvent(t,"click"),e=this.findProductById(i);e&&e.deeplink&&(this.trackingDeactivated||await this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated))}trachSearchAreaChanges(){if(this.initResultEvents(),this.trackingDeactivated)return;const t=this.getBasicEventData(),i=S(t,["campaignTypeId"]),s=u(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"},i));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}trackDetectedObject(){if(this.initResultEvents(),this.trackingDeactivated)return;const t=this.getBasicEventData(),i=S(t,["campaignTypeId"]),s=u(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"},i));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}trackFilter({detail:t}){if(this.initResultEvents(),this.trackingDeactivated)return;const i=this.getBasicEventData(),s=S(i,["campaignTypeId"]),e=g(Object.assign({session_id:this.uiSessionId,source:this.imageSource,kind:t.kind,action:t.action},s));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}async trackTextSearchFinished({detail:t}){this.initialSearchQuery=t,this.slidePosition=1}connectedCallback(){this.isDesktop="desktop"===(()=>{const t=navigator.userAgent;return/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(t)?"tablet":/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(t)?"mobile":"desktop"})(),r.apiPath=this.apiPath,r.currencySign=this.currencySign,r.locale=this.locale,this.cameraAvailable=!!navigator.mediaDevices&&!!navigator.mediaDevices.getUserMedia,this.excluded&&(this.excluded=o(this.excluded)),n.token=this.token,n.campaignId=this.campaignId,n.excluded=this.excluded,this.uiSessionId=m(),this.trackingApi=b(this.apiPath,this.token),this.id=this.el.id}async componentWillLoad(){await d.init({lng:this.locale,fallbackLng:"en",resources:f}),p(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData()),this.trackWidgetEvent("load")}trackWidgetEvent(t){if(this.trackingDeactivated)return;const i=this.getBasicEventData(),s=S(i,["campaignTypeId","widgetType"]),e=Object.assign({action:t,session_id:this.uiSessionId},s),a=x(e);this.trackingApi.trackEvent(a).then(this.setTrackingDeactivated)}getProductTrackEvent(t,i){if(this.trackingDeactivated)return null;const{productRank:s,productId:e}=t,a=S(t,["productRank","productId","campaignTypeId","widgetType","clickEvent"]),n=Object.assign({session_id:this.uiSessionId,rank:s,product:e},a);return y(i)(n)}trackResultEvent(t){if(this.trackingDeactivated)return;const i=this.getBasicEventData(),s=S(i,["campaignTypeId","widgetType"]);let e=w(t)(Object.assign({session_id:this.uiSessionId},s));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackInitialSearch(){if(this.trackingDeactivated)return;const t=this.getBasicEventData(),i=S(t,["campaignTypeId","widgetType"]),s=u(Object.assign({session_id:this.uiSessionId,search_area:"full",source:"upload"},i));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}handleImageSelection(){this.imageSource="upload",this.slidePosition=1,this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal").shadowRoot.querySelector(".body").scrollTop=0,this.stopStreamTracks()}renderButtons(){const i=n.loading&&"image"===n.searchType&&"startCamera"===this.uploadSource||this.cameraInitializing,s=[this.cameraAvailable&&t("button",{class:"action-button",part:"start-camera_button",onClick:()=>{this.handleStartCameraClick()}},t("vviinn-preloader",{class:{hidden:!i}}),t("span",{class:{"action-button-content":!0,hidden:i}},t("slot",{name:"vviinn-camera-icon"},t(C,null)),t("span",{class:{hidden:!this.cameraEnabled}},t("slot",{name:"vviinn-camera-button-text-stop"},d.t("cameraButtonTextStop"))),t("span",{class:{hidden:this.cameraEnabled}},t("slot",{name:"vviinn-camera-button-text-start"},d.t("cameraButtonTextStart"))))),t("vviinn-image-selector",{class:"action-button",onClick:()=>this.uploadSource="uploadPhoto",onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUpload:()=>{this.handleVviinnImageUpload("uploadPhoto")},onVviinnNoResult:({detail:t})=>this.handleVviinnNoResult(t),resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"upload-photo_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode,loading:n.loading&&"image"===n.searchType&&"uploadPhoto"===this.uploadSource},t("span",{slot:"upload-button-text",class:"action-button-content"},t("slot",{name:"vviinn-image-upload-icon"},t(j,null)),t("slot",{name:"vviinn-image-upload-button-text"},t("span",null,d.t("imageUploadButtonText")))))];return this.isDesktop?s.reverse():s}renderResults(){return 0!==n.results.length&&this.isResultSlide()?(this.resultLoaded||(this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),this.resultLoaded=!0),n.results.map(((i,s)=>{var e;return t("vviinn-product-card",{key:i.productId,hidden:!0,productTitle:i.title,productId:i.productId,productType:i.productType,brand:i.brand,deeplink:i.deeplink,price:i.price.actual,salePrice:i.price.sale,responsive:!0,imageWidth:this.imageResolutionWidth,image:null!==(e=i.image.thumbnail)&&void 0!==e?e:i.image.original,part:"product-card",campaignTypeId:"VPS",index:s,widgetElementId:this.id,buttonElementId:this.buttonElementId,widgetVersion:c,currency:this.currencySign,pricePrefix:"",locale:this.locale})}))):null}resetState(){this.resetScroll("start-page_block"),this.slidePosition=0,n.resetCategoryLink=void 0,n.activeIonLink=void 0,n.image=h.none,n.imageUrl=h.none,n.imageBounds=h.none,n.searchArea=h.none,n.results=[],n.filters=[],n.detectedObjects=[],n.rectangleSearchForm=void 0,n.loading=!1,n.serverError=!1,n.searchType=void 0,this.wrongImageFormat=!1,this.resetScroll("results-block"),this.stopStreamTracks(),this.initResultEvents(),this.stream=null,this.cameraEnabled=!1,this.cameraButtonClicked=!1,this.cameraInitializing=!1,this.setShowAspectRatioError(!1)}haveErrors(){return this.wrongImageFormat||n.serverError}resetScroll(t,i="auto"){this.el.shadowRoot.getElementById(t).scroll({top:0,left:0,behavior:i})}handleModalClose(){this.active=!1,this.resetState(),["start-page_block","results-block"].forEach((t=>this.resetScroll(t))),this.trackWidgetEvent("close")}render(){var i;return t(e,{exportparts:"text-search-input"},!this.showingInButton&&v("vps"),t("vviinn-overlayed-modal",{class:{"first-screen":this.isOnboardingSlide()},isFirstScreen:this.isOnboardingSlide(),active:this.active,resetState:this.resetState.bind(this),onVviinnWidgetClose:()=>this.handleModalClose(),buttonElementId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:c,hideBackButton:"upload"===this.mode&&this.showingInButton||!this.cameraEnabled&&this.isOnboardingSlide(),exportparts:"secondary-action, title, close-button"},t("vviinn-slider",{showBullets:!1,position:this.slidePosition},t("vviinn-slide",{class:{"start-page":!0,"camera-enabled":this.cameraEnabled}},t("vviinn-example-image",{onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUpload:()=>{this.handleVviinnImageUpload("startCamera")},basicEventData:this.getBasicEventData(),srcObject:this.stream,cameraButtonClicked:this.cameraButtonClicked,exampleImageSource:this.exampleImageSource}),t("div",{class:{error:this.haveErrors()},id:"start-page_block"},t("div",{class:"start-page_main-content"},t("div",{class:{"start-page_errors-block":!0,hidden:!this.wrongImageFormat&&!n.serverError}},t("vviinn-wrong-format",{class:{hidden:!this.wrongImageFormat},handler:()=>this.resetState()}),t("vviinn-server-error",{class:{hidden:!n.serverError},handler:()=>this.resetState()})),!this.haveErrors()&&t("vviinn-teaser",null),!this.haveErrors()&&t("div",{class:"buttons-group"},this.renderButtons()),this.textSearchShow&&!this.haveErrors()&&t("vviinn-text-search",{clearSearchQuery:!0})),t("vviinn-privacy-badge",{privacyBadgeText:d.t("privacyBadgeText",{interpolation:{escapeValue:!1}}),class:{invisible:this.haveErrors()}}))),t("vviinn-slide",{class:{"results-page":!0,active:this.isResultSlide()}},this.isResultSlide()&&"image"===n.searchType&&t("div",{class:"image-wrapper"},t("vviinn-image-view",{basicEventData:this.getBasicEventData(),setShowAspectRatioError:this.setShowAspectRatioError,showAspectRatioError:this.showAspectRatioError}),t("div",{class:{"filters-wrapper":!0,hidden:this.showAspectRatioError}},t("div",{class:"filters"},n.filters.map((i=>t("search-filters",{filter:i,basicEventData:this.getBasicEventData()})))))),this.textSearchShow&&this.isResultSlide()&&"text"===n.searchType&&t("div",{class:"text-search-wrapper"},t("vviinn-text-search",{initialSearchQuery:this.initialSearchQuery})),t("div",{id:"results-block",class:"products-wrapper"},t("div",{class:{"nothing-found":!0,hidden:n.results.length>0}},t("vviinn-empty-results",{handler:()=>this.resetState()})),t("div",{class:{"nothing-found":!0,hidden:!this.showAspectRatioError}},t("vviinn-wrong-aspect-ratio",{handler:()=>this.resetState()})),t("div",{class:{hidden:0===n.results.length||this.showAspectRatioError,products:!0}},this.renderResults()))))))}get el(){return a(this)}static get watchers(){return{active:["activeWatcher"]}}};T.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);height:640px}#start-page_block{box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center;padding:42px 62px}#start-page_block.error{align-content:center}.start-page_main-content{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.start-page_errors-block{display:flex;flex-direction:column;justify-content:center;gap:12px}#start-page_block vviinn-text-search{margin-top:12px}.buttons-group{display:flex;flex-direction:column;gap:12px;margin-top:24px}.action-button{font-family:inherit;display:grid;border:none;cursor:pointer;align-items:center;border-radius:8px;font-size:16px;height:48px;justify-items:center;transition:background 0.1s ease-in-out;color:#525252;background-color:#f4f4f4}.action-button:hover{background-color:#eaeaea}.action-button:first-child{background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:8px}.action-button .hidden{display:none}.results-page{margin-top:64px;display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.results-page .text-search-wrapper{width:100%;padding:24px}.products{width:100%;align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));justify-items:center;padding:24px;position:absolute}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{display:grid;grid-template-rows:min-content 1fr;min-width:100%}.filters-wrapper{margin-top:24px;overflow-x:auto;transform:translateX(-24px);min-width:calc(100% + 48px)}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:8px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:400;line-height:20px}search-filters::part(show-more-filters){display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #f4f4f4;min-width:40px;height:40px;border-radius:100px;box-sizing:border-box;color:#161616}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter active){background:var(--color-primary, var(--color-primary-system));color:white}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}vviinn-preloader{--preloader-size:24px;display:flex}@media (max-width: 1080px){#start-page_block{padding:24px 36px}}@media (max-width: 768px){.start-page{display:flex;flex-direction:column;height:100%}vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:visible}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden}.results-page{margin-top:0}.results-page>*{box-sizing:border-box;padding:12px 24px 24px}.image-wrapper{padding:0}.filters-wrapper{padding-left:24px;min-width:calc(100% + 40px)}.results-page{grid-template-rows:min-content;grid-template-columns:unset}#start-page_block{overflow-y:unset;min-height:-moz-fit-content;min-height:fit-content;padding:24px 20px}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0;margin-top:24px}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}@media (max-width: 380px){.filters-wrapper{padding-left:24px}.products{grid-gap:24px 10px}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}";export{T as vviinn_vps_widget}
|