vviinn-widgets 2.219.0 → 2.221.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.
Files changed (116) hide show
  1. package/dist/cjs/{SecondaryActionIcon-Ng84u7-b.js → SecondaryActionIcon-CuNEBTWD.js} +1 -1
  2. package/dist/cjs/{cssUrlHelper-BX9kngtZ.js → cssUrlHelper-B5A2BBm7.js} +1 -1
  3. package/dist/cjs/{index-CvMi8_tX.js → index-BF9aENF8.js} +6 -2
  4. package/dist/cjs/{index-D38ORu31.js → index-BU8FMTXn.js} +3 -0
  5. package/dist/cjs/{index-CBteD3gC.js → index-CP1QUrJT.js} +11 -1
  6. package/dist/cjs/{index-DdCwxNyl.js → index-sL3iGA57.js} +2 -2
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/{search.store-DiomZf0i.js → search.store-C-fS-eJR.js} +10 -11
  9. package/dist/cjs/vviinn-button_6.cjs.entry.js +13 -13
  10. package/dist/cjs/vviinn-camera_12.cjs.entry.js +113 -52
  11. package/dist/cjs/vviinn-carousel_10.cjs.entry.js +9 -9
  12. package/dist/cjs/vviinn-detected-object_2.cjs.entry.js +2 -2
  13. package/dist/cjs/vviinn-shop-the-look.cjs.entry.js +6 -6
  14. package/dist/cjs/vviinn-text-search.cjs.entry.js +32 -27
  15. package/dist/cjs/vviinn-vps-button.cjs.entry.js +16 -7
  16. package/dist/cjs/vviinn-widgets.cjs.js +2 -2
  17. package/dist/collection/Image/error.js +6 -1
  18. package/dist/collection/components/customized-slots.js +2 -0
  19. package/dist/collection/components/vviinn-icons/icons/DragDropImageIcon.js +2 -0
  20. package/dist/collection/components/vviinn-icons/index.js +1 -0
  21. package/dist/collection/components/vviinn-image-selector/vviinn-image-selector.css +36 -1
  22. package/dist/collection/components/vviinn-image-selector/vviinn-image-selector.js +132 -21
  23. package/dist/collection/components/vviinn-modal/vviinn-modal.js +2 -2
  24. package/dist/collection/components/vviinn-overlay/vviinn-overlay.js +1 -1
  25. package/dist/collection/components/vviinn-overlayed-modal/vviinn-overlayed-modal.js +1 -1
  26. package/dist/collection/components/vviinn-preloader/vviinn-preloader.js +1 -1
  27. package/dist/collection/components/vviinn-privacy-badge/vviinn-privacy-badge.js +1 -1
  28. package/dist/collection/components/vviinn-product-card/vviinn-energy-label/vviinn-energy-label.js +2 -2
  29. package/dist/collection/components/vviinn-results/vviinn-results.js +3 -3
  30. package/dist/collection/components/vviinn-shop-the-look/vviinn-shop-the-look.js +1 -1
  31. package/dist/collection/components/vviinn-skeleton/vviinn-skeleton.js +1 -1
  32. package/dist/collection/components/vviinn-slider/vviinn-slide/vviinn-slide.js +1 -1
  33. package/dist/collection/components/vviinn-slider/vviinn-slider.js +1 -1
  34. package/dist/collection/components/vviinn-teaser/vviinn-teaser.js +1 -1
  35. package/dist/collection/components/vviinn-text-search/helpers/autoSuggestDebounce.js +4 -4
  36. package/dist/collection/components/vviinn-text-search/vviinn-text-search.js +47 -22
  37. package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.js +3 -3
  38. package/dist/collection/components/vviinn-vpr-button/vviinn-vpr-button.js +1 -1
  39. package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +39 -6
  40. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.css +35 -1
  41. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +39 -16
  42. package/dist/collection/cssParts/index.js +2 -0
  43. package/dist/collection/dom/index.js +7 -0
  44. package/dist/collection/helpers/dragAndDrop/parseDroppedFile.js +2 -0
  45. package/dist/collection/locale/resources.js +4 -2
  46. package/dist/collection/store/search.store.js +2 -7
  47. package/dist/esm/{SecondaryActionIcon-FWFzrhba.js → SecondaryActionIcon-D4f3aMUD.js} +1 -1
  48. package/dist/esm/{cssUrlHelper-DsQD_dY6.js → cssUrlHelper-Byz4s-MD.js} +1 -1
  49. package/dist/esm/{index-RkvPN2Rk.js → index-B89nCb_F.js} +3 -0
  50. package/dist/esm/{index-BtnjaTty.js → index-BCrstDkj.js} +6 -2
  51. package/dist/esm/{index-OsoUj2Au.js → index-C1-PYhS4.js} +11 -2
  52. package/dist/esm/{index-DHNImAac.js → index-D5yWioO8.js} +2 -2
  53. package/dist/esm/loader.js +3 -3
  54. package/dist/esm/{search.store-DUkS1MAq.js → search.store-C8LIDQfX.js} +11 -11
  55. package/dist/esm/vviinn-button_6.entry.js +13 -13
  56. package/dist/esm/vviinn-camera_12.entry.js +113 -52
  57. package/dist/esm/vviinn-carousel_10.entry.js +9 -9
  58. package/dist/esm/vviinn-detected-object_2.entry.js +2 -2
  59. package/dist/esm/vviinn-shop-the-look.entry.js +6 -6
  60. package/dist/esm/vviinn-text-search.entry.js +32 -27
  61. package/dist/esm/vviinn-vps-button.entry.js +16 -7
  62. package/dist/esm/vviinn-widgets.js +3 -3
  63. package/dist/types/components/vviinn-icons/icons/DragDropImageIcon.d.ts +1 -0
  64. package/dist/types/components/vviinn-icons/index.d.ts +1 -0
  65. package/dist/types/components/vviinn-image-selector/vviinn-image-selector.d.ts +11 -0
  66. package/dist/types/components/vviinn-text-search/helpers/autoSuggestDebounce.d.ts +2 -1
  67. package/dist/types/components/vviinn-text-search/vviinn-text-search.d.ts +4 -1
  68. package/dist/types/components/vviinn-vps-button/vviinn-vps-button.d.ts +6 -0
  69. package/dist/types/components/vviinn-vps-widget/vviinn-vps-widget.d.ts +2 -0
  70. package/dist/types/components.d.ts +32 -0
  71. package/dist/types/dom/index.d.ts +1 -0
  72. package/dist/types/helpers/dragAndDrop/parseDroppedFile.d.ts +2 -0
  73. package/dist/types/store/search.store.d.ts +1 -3
  74. package/dist/vviinn-widgets/p-07211a51.entry.js +1 -0
  75. package/dist/vviinn-widgets/{p-a8d88d55.entry.js → p-27b41f88.entry.js} +1 -1
  76. package/dist/vviinn-widgets/p-7411202d.entry.js +1 -0
  77. package/{www/build/p-5e186249.entry.js → dist/vviinn-widgets/p-95423f25.entry.js} +1 -1
  78. package/{www/build/p-RkvPN2Rk.js → dist/vviinn-widgets/p-B89nCb_F.js} +1 -1
  79. package/dist/vviinn-widgets/p-BadZr0hq.js +1 -0
  80. package/dist/vviinn-widgets/{p-D3wRLf2J.js → p-BfTXDLup.js} +1 -1
  81. package/dist/vviinn-widgets/{p-C063BS9s.js → p-BpHXy3Gg.js} +1 -1
  82. package/dist/vviinn-widgets/p-Bq5Hj7Kz.js +1 -0
  83. package/{www/build/p-DXT8Rt8G.js → dist/vviinn-widgets/p-DTASrq1W.js} +1 -1
  84. package/dist/vviinn-widgets/{p-6vxKTHCE.js → p-DvD16Fp_.js} +1 -1
  85. package/dist/vviinn-widgets/p-e7b0a5b9.entry.js +1 -0
  86. package/dist/vviinn-widgets/{p-fa907040.entry.js → p-f46ad1fd.entry.js} +1 -1
  87. package/{www/build/p-fcbaa790.entry.js → dist/vviinn-widgets/p-f48452fd.entry.js} +1 -1
  88. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  89. package/package.json +1 -2
  90. package/www/build/p-07211a51.entry.js +1 -0
  91. package/www/build/{p-a8d88d55.entry.js → p-27b41f88.entry.js} +1 -1
  92. package/www/build/{p-ed15ff33.js → p-2d5777fa.js} +1 -1
  93. package/www/build/p-7411202d.entry.js +1 -0
  94. package/{dist/vviinn-widgets/p-5e186249.entry.js → www/build/p-95423f25.entry.js} +1 -1
  95. package/{dist/vviinn-widgets/p-RkvPN2Rk.js → www/build/p-B89nCb_F.js} +1 -1
  96. package/www/build/p-BadZr0hq.js +1 -0
  97. package/www/build/{p-D3wRLf2J.js → p-BfTXDLup.js} +1 -1
  98. package/www/build/{p-C063BS9s.js → p-BpHXy3Gg.js} +1 -1
  99. package/www/build/p-Bq5Hj7Kz.js +1 -0
  100. package/{dist/vviinn-widgets/p-DXT8Rt8G.js → www/build/p-DTASrq1W.js} +1 -1
  101. package/www/build/{p-6vxKTHCE.js → p-DvD16Fp_.js} +1 -1
  102. package/www/build/p-e7b0a5b9.entry.js +1 -0
  103. package/www/build/{p-fa907040.entry.js → p-f46ad1fd.entry.js} +1 -1
  104. package/{dist/vviinn-widgets/p-fcbaa790.entry.js → www/build/p-f48452fd.entry.js} +1 -1
  105. package/www/build/vviinn-widgets.esm.js +1 -1
  106. package/www/index.html +1 -1
  107. package/dist/vviinn-widgets/p-315db5a2.entry.js +0 -1
  108. package/dist/vviinn-widgets/p-91768e9c.entry.js +0 -1
  109. package/dist/vviinn-widgets/p-CPTOq59a.js +0 -1
  110. package/dist/vviinn-widgets/p-DKHkeCw7.js +0 -1
  111. package/dist/vviinn-widgets/p-ab6447df.entry.js +0 -1
  112. package/www/build/p-315db5a2.entry.js +0 -1
  113. package/www/build/p-91768e9c.entry.js +0 -1
  114. package/www/build/p-CPTOq59a.js +0 -1
  115. package/www/build/p-DKHkeCw7.js +0 -1
  116. package/www/build/p-ab6447df.entry.js +0 -1
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D38ORu31.js');
3
+ var index = require('./index-BU8FMTXn.js');
4
4
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
5
- var search_store = require('./search.store-DiomZf0i.js');
6
- var index$2 = require('./index-CBteD3gC.js');
7
- var index$1 = require('./index-DdCwxNyl.js');
5
+ var search_store = require('./search.store-C-fS-eJR.js');
6
+ var index$2 = require('./index-CP1QUrJT.js');
7
+ var index$1 = require('./index-sL3iGA57.js');
8
8
  var store = require('./store-jPZ4ROqV.js');
9
9
  var cropperUtils = require('./cropperUtils-DCDOLeBS.js');
10
- var cssUrlHelper = require('./cssUrlHelper-BX9kngtZ.js');
11
- var index$3 = require('./index-CvMi8_tX.js');
10
+ var cssUrlHelper = require('./cssUrlHelper-B5A2BBm7.js');
11
+ var index$3 = require('./index-BF9aENF8.js');
12
12
  var resultsPageUrl = require('./resultsPageUrl-Cki7CFQz.js');
13
13
  var constants = require('./constants-BlwqMvns.js');
14
14
  var openProductLink = require('./openProductLink-B3cy6uw_.js');
@@ -31,6 +31,9 @@ const UploadActionIcon = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/
31
31
  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 },
32
32
  index.h("path", { d: "M31 3H15C8.37258 3 3 8.37258 3 15V31", stroke: "white", "stroke-width": "6", "stroke-linecap": "square" })));
33
33
 
34
+ const DragDropImageIcon = () => (index.h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
35
+ index.h("path", { d: "M6.66667 28C5.93333 28 5.30556 27.7389 4.78333 27.2167C4.26111 26.6944 4 26.0667 4 25.3333V6.66667C4 5.93333 4.26111 5.30556 4.78333 4.78333C5.30556 4.26111 5.93333 4 6.66667 4H25.3333C26.0667 4 26.6944 4.26111 27.2167 4.78333C27.7389 5.30556 28 5.93333 28 6.66667V25.3333C28 26.0667 27.7389 26.6944 27.2167 27.2167C26.6944 27.7389 26.0667 28 25.3333 28H6.66667ZM6.66667 25.3333H25.3333V6.66667H6.66667V25.3333ZM9.33333 22.6667H22.6667C22.9333 22.6667 23.1333 22.5444 23.2667 22.3C23.4 22.0556 23.3778 21.8222 23.2 21.6L19.5333 16.7C19.4 16.5222 19.2222 16.4333 19 16.4333C18.7778 16.4333 18.6 16.5222 18.4667 16.7L15 21.3333L12.5333 18.0333C12.4 17.8556 12.2222 17.7667 12 17.7667C11.7778 17.7667 11.6 17.8556 11.4667 18.0333L8.8 21.6C8.62222 21.8222 8.6 22.0556 8.73333 22.3C8.86667 22.5444 9.06667 22.6667 9.33333 22.6667Z", fill: "currentColor" })));
36
+
34
37
  const TextIcon = () => (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" },
35
38
  index.h("svg", { width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
36
39
  index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M5.5 3C4.39543 3 3.5 3.89543 3.5 5V19C3.5 20.1046 4.39543 21 5.5 21H19.5C20.6046 21 21.5 20.1046 21.5 19V5C21.5 3.89543 20.6046 3 19.5 3H5.5ZM8.5 9C8.5 8.44772 8.94772 8 9.5 8H15.5C16.0523 8 16.5 8.44772 16.5 9C16.5 9.55228 16.0523 10 15.5 10H13.5V15C13.5 15.5523 13.0523 16 12.5 16C11.9477 16 11.5 15.5523 11.5 15V10H9.5C8.94772 10 8.5 9.55228 8.5 9Z", fill: "white" }))));
@@ -446,7 +449,10 @@ const VviinnCropper = class {
446
449
  };
447
450
  VviinnCropper.style = vviinnCropperCss;
448
451
 
449
- const vviinnImageSelectorCss = ".visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}label{cursor:pointer;display:grid;width:100%;height:100%;transition:background 0.1s ease-in-out}";
452
+ /** Returns the first file from a drop's DataTransfer (no type validation). */
453
+ const parseDroppedFile = (dataTransfer) => { var _a, _b; return (_b = (_a = dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.files) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null; };
454
+
455
+ const vviinnImageSelectorCss = ".visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}label{cursor:pointer;display:grid;place-items:center;width:100%;height:100%;transition:background 0.15s ease-in-out}label.loading{pointer-events:none;cursor:default}:host(.upload-drop-zone) label{height:48px;border-radius:var(--border-radius-100);background:var(--color-primary, var(--button-bg-color-primary));color:var(--color-text-on-color)}:host(.upload-drop-zone) label:hover{background:var(--color-primary-hover, var(--button-bg-color-primary-hover))}.drop-zone__hint{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-50);width:100%}.drop-zone__text{font-size:var(--font-size-body);line-height:var(--line-height-body);text-align:center;color:var(--color-text-secondary)}";
450
456
 
451
457
  const VviinnImageSelector = class {
452
458
  constructor(hostRef) {
@@ -455,34 +461,86 @@ const VviinnImageSelector = class {
455
461
  this.vviinnNoResult = index.createEvent(this, "vviinnNoResult");
456
462
  this.vviinnImageUploadFinished = index.createEvent(this, "vviinnImageUploadFinished");
457
463
  this.loading = false;
458
- }
459
- async handleInputChange(event) {
460
- var _a;
461
- const input = event.target;
462
- const file = (_a = input.files) === null || _a === void 0 ? void 0 : _a[0];
463
- if (!file)
464
+ /** Accept image files dropped from the OS onto the selector */
465
+ this.useDragAndDrop = false;
466
+ this.isDragOver = false;
467
+ // Guards against a second drop / file-input change starting a concurrent
468
+ // upload while the first request is still in flight (racing two searches).
469
+ this.isProcessing = false;
470
+ }
471
+ async processFile(file) {
472
+ if (this.isProcessing)
464
473
  return;
465
474
  const validationResult = search_store.checkImageType(file);
466
475
  if (Rectangle.isLeft(validationResult)) {
467
476
  this.vviinnNoResult.emit(Object.assign(Object.assign({}, this.basicEventData), { reason: validationResult.left.kind, errorMessage: validationResult.left.inner, errorCode: validationResult.left.code }));
468
- input.value = "";
469
477
  return;
470
478
  }
471
479
  this.vviinnImageUploadStarted.emit(Object.assign(Object.assign({}, this.basicEventData), { isTriggeredByVpsWidget: this.storeName === "widget" }));
472
- const processingResult = await search_store.makeUploadFileRequest(this.storeName, this.token, this.apiPath)(file);
473
- Rectangle._functionExports.pipe(processingResult, Rectangle.match(({ kind, code }) => {
474
- this.vviinnNoResult.emit(Object.assign(Object.assign({}, this.basicEventData), { reason: kind, errorCode: code }));
475
- }, (response) => {
476
- var _a;
477
- if (!this.showInWidget)
478
- setLocalStorageItems((_a = this.state.image) === null || _a === void 0 ? void 0 : _a.src, this.state.detectedObjects);
479
- this.vviinnImageUploadFinished.emit({
480
- searchId: response.requestId,
481
- isTriggeredByVpsWidget: this.storeName === "widget",
482
- });
483
- }));
480
+ this.isProcessing = true;
481
+ try {
482
+ const processingResult = await search_store.makeUploadFileRequest(this.storeName, this.token, this.apiPath)(file);
483
+ Rectangle._functionExports.pipe(processingResult, Rectangle.match(({ kind, code }) => {
484
+ this.vviinnNoResult.emit(Object.assign(Object.assign({}, this.basicEventData), { reason: kind, errorCode: code }));
485
+ }, (response) => {
486
+ var _a;
487
+ if (!this.showInWidget)
488
+ setLocalStorageItems((_a = this.state.image) === null || _a === void 0 ? void 0 : _a.src, this.state.detectedObjects);
489
+ this.vviinnImageUploadFinished.emit({
490
+ searchId: response.requestId,
491
+ isTriggeredByVpsWidget: this.storeName === "widget",
492
+ });
493
+ }));
494
+ }
495
+ finally {
496
+ this.isProcessing = false;
497
+ }
498
+ }
499
+ async handleInputChange(event) {
500
+ var _a;
501
+ const input = event.target;
502
+ const file = (_a = input.files) === null || _a === void 0 ? void 0 : _a[0];
503
+ if (!file)
504
+ return;
505
+ await this.processFile(file);
484
506
  input.value = "";
485
507
  }
508
+ onDragOver(event) {
509
+ if (!this.useDragAndDrop)
510
+ return;
511
+ event.preventDefault();
512
+ if (event.dataTransfer)
513
+ event.dataTransfer.dropEffect = "copy";
514
+ clearTimeout(this.dragLeaveTimer);
515
+ this.isDragOver = true;
516
+ }
517
+ onDragLeave() {
518
+ if (!this.useDragAndDrop)
519
+ return;
520
+ clearTimeout(this.dragLeaveTimer);
521
+ this.dragLeaveTimer = setTimeout(() => (this.isDragOver = false), 50);
522
+ }
523
+ async onDrop(event) {
524
+ if (!this.useDragAndDrop)
525
+ return;
526
+ event.preventDefault();
527
+ clearTimeout(this.dragLeaveTimer);
528
+ this.isDragOver = false;
529
+ const file = parseDroppedFile(event.dataTransfer);
530
+ if (file)
531
+ await this.processFile(file);
532
+ }
533
+ // Safety net for a drag that ends without a dragleave reaching this host
534
+ // (dropped outside the element, or cancelled): clears a stuck highlight.
535
+ onGlobalDragEnd() {
536
+ if (!this.useDragAndDrop || !this.isDragOver)
537
+ return;
538
+ clearTimeout(this.dragLeaveTimer);
539
+ this.isDragOver = false;
540
+ }
541
+ disconnectedCallback() {
542
+ clearTimeout(this.dragLeaveTimer);
543
+ }
486
544
  startUploadWatcher(upload) {
487
545
  if (upload) {
488
546
  this.fileInput.click();
@@ -490,13 +548,13 @@ const VviinnImageSelector = class {
490
548
  }
491
549
  }
492
550
  render() {
493
- return (index.h(index.Host, { key: '8b5391a9be30260571a08494f069bab7eeceb183', exportparts: "button" }, this.loading ? (index.h("vviinn-preloader", null)) : (index.h("label", { htmlFor: "fileInput", part: "button", tabindex: "0", onKeyDown: (e) => {
551
+ return (index.h(index.Host, { key: '616c751da82243f02d9d9cbc4f908702c49b3889', exportparts: this.useDragAndDrop ? "button:upload-photo_button" : "button", class: { "drag-over": this.isDragOver } }, this.useDragAndDrop && (index.h("div", { key: 'b02ad9a11981be6f13bd1347279fe4dad3046887', class: "drop-zone__hint", "aria-hidden": "true" }, index.h("span", { key: '9f5ed13a34f05cd9dd13aeddf3bfe166b84ee6f6', class: "drop-zone__icon" }, index.h("slot", { key: 'ccbadd5393155b7e2222d89afad490f43e93b0bc', name: "drop-zone-icon" })), index.h("span", { key: '0cd1cbaaadb326ef8d53bd8c895c9d72af8571a0', class: "drop-zone__text" }, index.h("slot", { key: '659b6e91869f7fbb1d73df37d6e25a54ebd200a1', name: "drop-zone-text" })))), index.h("label", { key: '3684c5e7afefa0403b8d760db89390530834d16d', htmlFor: "fileInput", part: "button", class: { loading: this.loading }, tabindex: this.loading ? -1 : 0, onKeyDown: (e) => {
494
552
  var _a;
495
- if (e.key === "Enter" || e.key === " ") {
553
+ if (!this.loading && (e.key === "Enter" || e.key === " ")) {
496
554
  e.preventDefault();
497
555
  (_a = this.fileInput) === null || _a === void 0 ? void 0 : _a.click();
498
556
  }
499
- } }, index.h("slot", { name: "upload-button-text" }, "Upload image"))), index.h("input", { key: '7e21fce692bf7a41c274eec5a9cd198cbed023eb', id: "fileInput", class: "visually-hidden", type: "file", tabindex: "-1", accept: search_store.getAcceptableFileFormats(), onChange: (event) => this.handleInputChange(event), ref: (el) => (this.fileInput = el) })));
557
+ } }, this.loading ? (index.h("vviinn-preloader", null)) : (index.h("slot", { name: "upload-button-text" }, "Upload image"))), index.h("input", { key: '7d9cfd89c2d64cdf3c262e89f652da500dcc80ba', id: "fileInput", class: "visually-hidden", type: "file", tabindex: "-1", accept: search_store.getAcceptableFileFormats(), onChange: (event) => this.handleInputChange(event), ref: (el) => (this.fileInput = el) })));
500
558
  }
501
559
  static get watchers() { return {
502
560
  "startUpload": ["startUploadWatcher"]
@@ -515,7 +573,7 @@ const VviinnOverlayedModal = class {
515
573
  this.hideBackButton = false;
516
574
  }
517
575
  render() {
518
- return (index.h(index.Host, { key: '7f7b0ee43cb77127b47a0ba3be067662aa6a9e9b' }, index.h("vviinn-overlay", { key: '3a0da726703e5930b97b111b4039492156db8aff', active: this.active }, index.h("vviinn-modal", { key: 'c88334ba9d6c975a3fb93a002878284a102f2fcf', resetState: this.resetState, active: this.active, buttonElementId: this.buttonElementId, hideBackButton: this.hideBackButton, widgetVersion: this.widgetVersion, isFirstScreen: this.isFirstScreen }, index.h("slot", { key: '76a94f8c3591bf1a3e9a5f537196657c1c00b8e7' }, "CONTENT")))));
576
+ return (index.h(index.Host, { key: '32e8d4e925e77941445edaf5b403e1ae020e33fb' }, index.h("vviinn-overlay", { key: '584afbe6de3cc7d6670e0242fe5bdc1853efa787', active: this.active }, index.h("vviinn-modal", { key: '03993aaa1c481819cf6909ea1c83dd501a34b164', resetState: this.resetState, active: this.active, buttonElementId: this.buttonElementId, hideBackButton: this.hideBackButton, widgetVersion: this.widgetVersion, isFirstScreen: this.isFirstScreen }, index.h("slot", { key: '59ff72bd0569dd3a0cb1ecefcd94f7f22ded92bb' }, "CONTENT")))));
519
577
  }
520
578
  };
521
579
  VviinnOverlayedModal.style = vviinnOverlayedModalCss;
@@ -543,7 +601,7 @@ const VviinnPrivacyBadge = class {
543
601
  }
544
602
  }
545
603
  render() {
546
- return (index.h(index.Host, { key: '3be7fae8e35376e72e1e780b89cc6b63a19a403f' }, index.h("slot", { key: '00ad4c7ce9fe26d3b7eafcde87953e1add9dd4a6', name: "vviinn-privacy-badge-text" }, index.h("div", { key: 'cc4eab27483574b5922eea7a24336aeeba229cf5', innerHTML: this.privacyBadgeText }))));
604
+ return (index.h(index.Host, { key: 'c1bd1ffac9b817b4bb8ca9b0b9f66b406abf6b69' }, index.h("slot", { key: 'a55744d30b8957f7eb1f2114361ac26cd670974f', name: "vviinn-privacy-badge-text" }, index.h("div", { key: '66ed59809f59942c3bbf00b1a26dddf17cfb31ce', innerHTML: this.privacyBadgeText }))));
547
605
  }
548
606
  get el() { return index.getElement(this); }
549
607
  };
@@ -982,13 +1040,13 @@ const VviinnResults = class {
982
1040
  render() {
983
1041
  var _a;
984
1042
  const resultsLength = this.getResults().length;
985
- return (index.h(index.Host, { key: '2ba9c019be5e6d2a70f299ebd4827baefa671cad', id: "results-block", class: {
1043
+ return (index.h(index.Host, { key: '0767d0c21dee72b9a0f09a80dfe2ca7c375e4d50', id: "results-block", class: {
986
1044
  "show-in-widget": this.showInWidget,
987
1045
  "matching-discovery": this.oneClickDiscoveryMode === "append-slider",
988
- }, exportparts: `${index$3.productCardParts}, ${index$3.listCardParts}, ${index$3.contentCardParts}, ${index$3.productCardsGridPart}` }, cssUrlHelper.renderExternalCSS(this.cssUrl), index.h("div", { key: '8521abb79a86723af8f18cd66558f8cd56d0d725', class: "nothing-found" }, this.getCurrentErrorType() && (index.h("vviinn-error", { key: '030f376feaa161d598dc60e2deae0bcde368759a', errorType: this.getCurrentErrorType(), handler: this.resetWidgetState, hasBackground: this.showInWidget, searchType: this.state.searchType }))), index.h("div", { key: '82a242f74f6a5481b40ec26a977d11465a5c58da', class: {
1046
+ }, exportparts: `${index$3.productCardParts}, ${index$3.listCardParts}, ${index$3.contentCardParts}, ${index$3.productCardsGridPart}` }, cssUrlHelper.renderExternalCSS(this.cssUrl), index.h("div", { key: 'bfd01f2bf39be84501ce0cf42f5672acda3e500b', class: "nothing-found" }, this.getCurrentErrorType() && (index.h("vviinn-error", { key: 'ce077ad92253c7727a509567571d821ebda6dbd4', errorType: this.getCurrentErrorType(), handler: this.resetWidgetState, hasBackground: this.showInWidget, searchType: this.state.searchType }))), index.h("div", { key: 'dc63984664328f04abe6011aa0db856cb862f37c', class: {
989
1047
  hidden: this.showAspectRatioError || resultsLength === 0,
990
1048
  products: true,
991
- }, part: index$3.productCardsGridPart, id: "vviinn-results-products" }, resultsLength > 0 && this.renderResults(), index.h("div", { key: 'ed28c78ddfa0826f8ad8a70639e83386d9297c7c', id: "one-click-discovery-append", style: {
1049
+ }, part: index$3.productCardsGridPart, id: "vviinn-results-products" }, resultsLength > 0 && this.renderResults(), index.h("div", { key: '2e39c5d65c5c7981c0b9a93dfe97ad62165a25b4', id: "one-click-discovery-append", style: {
992
1050
  order: ((_a = this.oneClickDiscoveryAppendIndex) !== null && _a !== void 0 ? _a : resultsLength).toString(),
993
1051
  } }))));
994
1052
  }
@@ -1252,7 +1310,7 @@ const VviinnSlide = class {
1252
1310
  index.registerInstance(this, hostRef);
1253
1311
  }
1254
1312
  render() {
1255
- return (index.h(index.Host, { key: '133a498cc9bacc4be222f7bc10aab41581e81f1a' }, index.h("slot", { key: '4c6793ca181403a57e378b9212d341cdfe2c529c' })));
1313
+ return (index.h(index.Host, { key: '8740746256bbf7c374da17ff2bca8730108586c8' }, index.h("slot", { key: '2de442bb958c11b063b2d9d3a416e5a8df33d3cb' })));
1256
1314
  }
1257
1315
  };
1258
1316
  VviinnSlide.style = vviinnSlideCss;
@@ -1297,7 +1355,7 @@ const VviinnSlider = class {
1297
1355
  return this.isRTL ? position * -1 : position;
1298
1356
  }
1299
1357
  render() {
1300
- return (index.h(index.Host, { key: 'cae995bbfc00ab993963b12e219ca9e7d1b88a10' }, index.h("div", { key: 'ef4812aaa71a522c8bd038596d5f3d4b8e068057', class: "items-wrapper" }, index.h("div", { key: '56796be36f776337632f02b6b0e3cf034e36c0a7', class: "items" }, index.h("slot", { key: '6f9d9f5a6d6a8abb27689e7d5c724bb0a696659d' })))));
1358
+ return (index.h(index.Host, { key: '6ee307d2510c452af6a730498f67fa26324f2990' }, index.h("div", { key: '1e721a9e0da711a893d318a3536668362da3c2b7', class: "items-wrapper" }, index.h("div", { key: 'd48b29eb243c35ac655e0b784b7303e239b416b0', class: "items" }, index.h("slot", { key: 'dc63e964c8def5b7202377c0c9f75681e7220ad9' })))));
1301
1359
  }
1302
1360
  get el() { return index.getElement(this); }
1303
1361
  static get watchers() { return {
@@ -1694,7 +1752,7 @@ const VviinnTeaser = class {
1694
1752
  index$2.slotChangeListener(this, this.el);
1695
1753
  }
1696
1754
  render() {
1697
- return (index.h(index.Host, { key: '8a000f0c33266514f8665f595f5de4e3be66a92a' }, index.h("slot", { key: '5d6f646a3efc56a7a8f69b299e550685763f3d58' }, index.h("span", { key: 'b044024aab57627bd5a7236c6cb8f170b6a18d9c', class: "vviinn-teaser-text" }, index.h("slot", { key: '41dbdef5be7ce19a88c34521b94332de7a2c0b21', name: "vviinn-teaser-text" }, store.instance.t("teaserText"))))));
1755
+ return (index.h(index.Host, { key: 'fe777d0460b338bc11c372b2ae6d1c75120484cd' }, index.h("slot", { key: '85b8c8777d91d0fe48e955a601bf5742e50a3f12' }, index.h("span", { key: '2f4033a65dac4820a1236e52a470cc0523a31745', class: "vviinn-teaser-text" }, index.h("slot", { key: '75f5fbc11611d5b12d996dbf9267cc47c59f0269', name: "vviinn-teaser-text" }, store.instance.t("teaserText"))))));
1698
1756
  }
1699
1757
  get el() { return index.getElement(this); }
1700
1758
  };
@@ -1707,7 +1765,7 @@ const videoStreamSettings = {
1707
1765
  frameRate: { ideal: 30 },
1708
1766
  };
1709
1767
 
1710
- const vviinnVpsWidgetCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(results-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{width:100%;padding:40px 62px;box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center}#start-page_block.error{align-content:center}#start-page_block vviinn-text-search{margin-top:var(--spacing-150)}.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;align-items:center;gap:var(--spacing-150)}.buttons-group{display:flex;flex-direction:column;gap:var(--spacing-150);margin-top:var(--spacing-300)}.action-button{display:grid;border:none;cursor:pointer;align-items:center;border-radius:var(--border-radius-100);font-weight:var(--font-weight-500);font-size:16px;height:48px;justify-items:center;font-family:var(--font-family, var(--font-family-base));transition:background 0.1s ease-in-out;color:var(--color-text-primary);background-color:#f4f4f4}.action-button:hover{background-color:#eaeaea}.action-button:first-child{background:var(--color-primary, var(--button-bg-color-primary));border-color:var(--color-primary, var(--button-bg-color-primary));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--button-bg-color-primary-hover));border-color:var(\n --color-primary-hover,\n var(--button-bg-color-primary-hover)\n )}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;font-family:var(--font-family, var(--font-family-base));grid-template-columns:max-content auto;grid-gap:8px}.action-button .hidden{display:none}.results-page{padding-top:64px;display:grid;grid-template-columns:336px auto;height:640px;box-sizing:border-box}.results-page>*{box-sizing:border-box}.source-wrapper{display:grid;position:relative;grid-auto-rows:min-content;padding:0 12px 12px 24px;width:100%;max-width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;gap:var(--spacing-300);padding:0 16px 12px 24px;scrollbar-width:thin}.filters-wrapper{transform:translateX(-24px);min-width:calc(100% + 24px)}@supports (scrollbar-color: unset){.source-wrapper{scrollbar-color:transparent transparent}.source-wrapper:hover{scrollbar-color:initial}}vviinn-filters,vviinn-extended-filters[mode=\"modal\"]{display:none}vviinn-extended-filters[mode=\"preview\"]{display:block;width:100%}vviinn-extended-filters[mode=\"preview\"]::part(extended-filters-row){padding-right:0}.extended-filters-button{display:none}search-filters span{display:none}.results-page:not(.active){display:none}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}.source-wrapper vviinn-text-search{width:calc(100% - 48px);transform:translateX(24px)}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden;height:0}.results-page{height:auto;padding-top:0}.results-page>*{box-sizing:border-box;padding:var(--spacing-150) var(--spacing-300) var(--spacing-300)}.source-wrapper{scrollbar-gutter:initial;grid-template-rows:min-content auto;width:100%;padding:0}.filters-wrapper{min-width:100%;min-height:40px;padding-left:var(--spacing-300)}vviinn-filters{padding:0 var(--spacing-300)}vviinn-filters,vviinn-extended-filters[mode=\"modal\"]{display:block;overflow:hidden}vviinn-extended-filters[mode=\"preview\"]{display:none}vviinn-suggestions::part(suggestions-container){padding:0 var(--spacing-300)}vviinn-suggestions::part(suggestions-wrapper){width:calc(100% + 48px);transform:translateX(-24px)}vviinn-filters::part(filters-footer){min-width:calc(100% + 48px);transform:translateX(-24px)}vviinn-filters::part(filters-footer-list){padding:0 var(--spacing-300)}vviinn-suggestions::part(suggestion-info-text){padding:0 var(--spacing-300)}vviinn-suggestions::part(suggestions-list){padding:0 var(--spacing-300)}.extended-filters-button{display:block;position:absolute;left:48px;top:0}.extended-filters-button.has-primary-filters{left:unset;right:var(--spacing-300)}.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 20px}vviinn-text-search::part(suggestions-container){top:auto;bottom:100%;margin:0 0 var(--spacing-50)}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}";
1768
+ const vviinnVpsWidgetCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(results-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{width:100%;padding:40px 62px;box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center}#start-page_block.error{align-content:center}#start-page_block vviinn-text-search{margin-top:var(--spacing-150)}.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;align-items:center;gap:var(--spacing-150)}.buttons-group{display:flex;flex-direction:column;gap:var(--spacing-150);margin-top:var(--spacing-300)}.action-button{display:grid;border:none;cursor:pointer;align-items:center;border-radius:var(--border-radius-100);font-weight:var(--font-weight-500);font-size:16px;height:48px;justify-items:center;font-family:var(--font-family, var(--font-family-base));transition:background 0.15s ease-in-out;color:var(--color-text-primary);background-color:#f4f4f4}.action-button:hover{background-color:#eaeaea}.action-button:first-child{background:var(--color-primary, var(--button-bg-color-primary));border-color:var(--color-primary, var(--button-bg-color-primary));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--button-bg-color-primary-hover));border-color:var(\n --color-primary-hover,\n var(--button-bg-color-primary-hover)\n )}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;font-family:var(--font-family, var(--font-family-base));grid-template-columns:max-content auto;grid-gap:8px}.action-button .hidden{display:none}.upload-drop-zone{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-150);padding:var(--spacing-200);box-sizing:border-box;cursor:pointer;background:var(--button-bg-color-secondary);border:1px dashed var(--color-border-02);border-radius:var(--border-radius-50);font-family:var(--font-family, var(--font-family-base));transition:border-color 0.1s ease-in-out,\n background 0.1s ease-in-out}.upload-drop-zone.drag-over{border-color:var(--color-primary, var(--button-bg-color-primary));background:color-mix(\n in srgb,\n var(--color-primary, var(--button-bg-color-primary)) 8%,\n transparent\n )}.upload-drop-zone [slot=\"drop-zone-icon\"] svg{display:block;width:32px;height:32px;color:var(--color-text-secondary)}.results-page{padding-top:64px;display:grid;grid-template-columns:336px auto;height:640px;box-sizing:border-box}.results-page>*{box-sizing:border-box}.source-wrapper{display:grid;position:relative;grid-auto-rows:min-content;padding:0 12px 12px 24px;width:100%;max-width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;gap:var(--spacing-300);padding:0 16px 12px 24px;scrollbar-width:thin}.filters-wrapper{transform:translateX(-24px);min-width:calc(100% + 24px)}@supports (scrollbar-color: unset){.source-wrapper{scrollbar-color:transparent transparent}.source-wrapper:hover{scrollbar-color:initial}}vviinn-filters,vviinn-extended-filters[mode=\"modal\"]{display:none}vviinn-extended-filters[mode=\"preview\"]{display:block;width:100%}vviinn-extended-filters[mode=\"preview\"]::part(extended-filters-row){padding-right:0}.extended-filters-button{display:none}search-filters span{display:none}.results-page:not(.active){display:none}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}.source-wrapper vviinn-text-search{width:calc(100% - 48px);transform:translateX(24px)}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden;height:0}.results-page{height:auto;padding-top:0}.results-page>*{box-sizing:border-box;padding:var(--spacing-150) var(--spacing-300) var(--spacing-300)}.source-wrapper{scrollbar-gutter:initial;grid-template-rows:min-content auto;width:100%;padding:0}.filters-wrapper{min-width:100%;min-height:40px;padding-left:var(--spacing-300)}vviinn-filters{padding:0 var(--spacing-300)}vviinn-filters,vviinn-extended-filters[mode=\"modal\"]{display:block;overflow:hidden}vviinn-extended-filters[mode=\"preview\"]{display:none}vviinn-suggestions::part(suggestions-container){padding:0 var(--spacing-300)}vviinn-suggestions::part(suggestions-wrapper){width:calc(100% + 48px);transform:translateX(-24px)}vviinn-filters::part(filters-footer){min-width:calc(100% + 48px);transform:translateX(-24px)}vviinn-filters::part(filters-footer-list){padding:0 var(--spacing-300)}vviinn-suggestions::part(suggestion-info-text){padding:0 var(--spacing-300)}vviinn-suggestions::part(suggestions-list){padding:0 var(--spacing-300)}.extended-filters-button{display:block;position:absolute;left:48px;top:0}.extended-filters-button.has-primary-filters{left:unset;right:var(--spacing-300)}.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 20px}vviinn-text-search::part(suggestions-container){top:auto;bottom:100%;margin:0 0 var(--spacing-50)}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}";
1711
1769
 
1712
1770
  var __rest = (undefined && undefined.__rest) || function (s, e) {
1713
1771
  var t = {};
@@ -1753,12 +1811,14 @@ const VviinnVpsWidget = class {
1753
1811
  this.imageResolutionWidth = constants.SEARCH_WIDGET_IMAGE_RESOLUTION_WIDTH;
1754
1812
  /** Show multiple images: swiper on mobile, hover on desktop in product cards */
1755
1813
  this.showMultipleImages = false;
1814
+ /** Accept image files dropped from the OS onto the upload button (desktop only) */
1815
+ this.useDragAndDrop = false;
1756
1816
  /** Example image source */
1757
1817
  this.exampleImageSource = constants$1.DEFAULT_EXAMPLE_IMAGE;
1758
1818
  /** Show the text search */
1759
1819
  this.textSearchShow = false;
1760
1820
  /** Show auto-suggest dropdown with search completions */
1761
- this.autoSuggestShow = false;
1821
+ this.autoSuggestShow = true;
1762
1822
  /** Show or hide Add to Basket buttons */
1763
1823
  this.addToBasketShow = false;
1764
1824
  /** Show or hide Favorite button */
@@ -2107,9 +2167,10 @@ const VviinnVpsWidget = class {
2107
2167
  this.state.searchType === "image" &&
2108
2168
  this.uploadSource === "startCamera") ||
2109
2169
  this.isCameraInitializing;
2170
+ const isDropZone = this.useDragAndDrop && this.isDesktop;
2110
2171
  const buttons = [
2111
2172
  this.cameraAvailable && (index.h("button", { class: "action-button", part: "start-camera_button", onClick: this.handleStartCameraClick, onKeyDown: (e) => this.handleButtonKeyDown(e, this.handleStartCameraClick) }, isLoading && index.h("vviinn-preloader", null), index.h("span", { class: { "action-button-content": true, hidden: isLoading } }, index.h("slot", { name: "vviinn-camera-icon" }, index.h(CameraActionIcon, null)), index.h("span", { class: { hidden: !this.isCameraEnabled } }, index.h("slot", { name: "vviinn-camera-button-text-stop" }, store.instance.t("cameraButtonTextStop"))), index.h("span", { class: { hidden: this.isCameraEnabled } }, index.h("slot", { name: "vviinn-camera-button-text-start" }, store.instance.t("cameraButtonTextStart")))))),
2112
- index.h("vviinn-image-selector", { class: "action-button", onClick: () => {
2173
+ index.h("vviinn-image-selector", { class: isDropZone ? "upload-drop-zone" : "action-button", onClick: () => {
2113
2174
  if (this.mode !== "upload")
2114
2175
  this.uploadSource = "uploadPhoto";
2115
2176
  }, onKeyDown: (e) => this.handleButtonKeyDown(e, () => {
@@ -2118,11 +2179,11 @@ const VviinnVpsWidget = class {
2118
2179
  }), onVviinnImageUploadFinished: ({ detail }) => this.handleVviinnImageUploadFinished(detail), onVviinnImageUploadStarted: () => {
2119
2180
  this.uploadDialogOpened = true;
2120
2181
  this.handleVviinnImageUpload("uploadPhoto");
2121
- }, token: this.token, apiPath: this.apiPath, storeName: this.storeName, state: this.state, onVviinnNoResult: ({ detail }) => this.handleVviinnNoResult(detail), resetVpsButton: this.resetVpsButton, basicEventData: this.getBasicEventData(), part: "upload-photo_button", startUpload: this.buttonPressed &&
2182
+ }, token: this.token, apiPath: this.apiPath, useDragAndDrop: isDropZone, storeName: this.storeName, state: this.state, onVviinnNoResult: ({ detail }) => this.handleVviinnNoResult(detail), resetVpsButton: this.resetVpsButton, basicEventData: this.getBasicEventData(), part: isDropZone ? "drop-zone" : "upload-photo_button", startUpload: this.buttonPressed &&
2122
2183
  this.mode === "upload" &&
2123
2184
  !this.uploadDialogOpened, showInWidget: this.showInWidget, loading: this.state.searchStatus === "loading" &&
2124
2185
  this.state.searchType === "image" &&
2125
- this.uploadSource === "uploadPhoto" }, index.h("span", { slot: "upload-button-text", class: "action-button-content" }, index.h("slot", { name: "vviinn-image-upload-icon" }, index.h(UploadActionIcon, null)), index.h("slot", { name: "vviinn-image-upload-button-text" }, index.h("span", null, store.instance.t("imageUploadButtonText"))))),
2186
+ this.uploadSource === "uploadPhoto" }, index.h("span", { slot: "drop-zone-icon" }, index.h("slot", { name: "vviinn-drag-drop-icon" }, index.h(DragDropImageIcon, null))), index.h("span", { slot: "drop-zone-text" }, index.h("slot", { name: "vviinn-drag-drop-text" }, store.instance.t("dragDropHintText"))), index.h("span", { slot: "upload-button-text", class: "action-button-content" }, !isDropZone && (index.h("slot", { name: "vviinn-image-upload-icon" }, index.h(UploadActionIcon, null))), index.h("slot", { name: "vviinn-image-upload-button-text" }, index.h("span", null, store.instance.t("imageUploadButtonText"))))),
2126
2187
  ];
2127
2188
  return this.isDesktop ? buttons.reverse() : buttons;
2128
2189
  }
@@ -2148,31 +2209,31 @@ const VviinnVpsWidget = class {
2148
2209
  }
2149
2210
  render() {
2150
2211
  var _a, _b, _c;
2151
- return (index.h(index.Host, { key: '0985a289b00fca5286466be2d4f33ef7d32c49cb', exportparts: `${index$3.modalParts}, ${index$3.productCardParts}, ${index$3.searchBarParts}, ${index$3.searchWidgetFilterParts}, ${index$3.searchWidgetButtonParts}, ${index$3.productCardsGridPart}, ${index$3.suggestionsParts}` }, cssUrlHelper.renderExternalCSS(this.cssUrl), !this.showingInButton && index$2.SlotSkeleton("search"), index.h("vviinn-overlayed-modal", { key: '42c48cf9f6414ccd23705ad4a1ca2dcccf6aa65f', class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState, onVviinnWidgetClose: ({ detail }) => {
2212
+ return (index.h(index.Host, { key: '3d819edc5b1a3ce7fc05d343f80775a425077d26', exportparts: `${index$3.modalParts}, ${index$3.productCardParts}, ${index$3.searchBarParts}, ${index$3.searchWidgetFilterParts}, ${index$3.searchWidgetButtonParts}, ${index$3.productCardsGridPart}, ${index$3.suggestionsParts}` }, cssUrlHelper.renderExternalCSS(this.cssUrl), !this.showingInButton && index$2.SlotSkeleton("search"), index.h("vviinn-overlayed-modal", { key: '48a8934f201007aacb83a1436ceee773bc4e64c1', class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState, onVviinnWidgetClose: ({ detail }) => {
2152
2213
  if (detail.campaignTypeId !== "VPR")
2153
2214
  this.handleModalClose();
2154
2215
  }, buttonElementId: (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId, widgetVersion: search_store.version, hideBackButton: this.mode === "upload" ||
2155
- (!this.isCameraEnabled && this.isOnboardingSlide()) }, index.h("vviinn-slider", { key: '399dac9c2c005efad3c3506dd84f7bcf9c550eaf', position: this.slidePosition }, index.h("vviinn-slide", { key: '832f2287e46f4edaeade004325106fecbdb3e618', class: {
2216
+ (!this.isCameraEnabled && this.isOnboardingSlide()) }, index.h("vviinn-slider", { key: '2e010cd695fe00d065766973467d1eb59771a803', position: this.slidePosition }, index.h("vviinn-slide", { key: '71b5c21bbc37d62500ae28f5070d4ab98ab08663', class: {
2156
2217
  "start-page": true,
2157
2218
  "camera-enabled": this.isCameraEnabled,
2158
- } }, index.h("vviinn-camera", { key: 'fee0491b5660c7f4c61796bfc647edf6c1121ed6', token: this.token, onVviinnImageUploadFinished: ({ detail }) => this.handleVviinnImageUploadFinished(detail), onVviinnImageUploadStarted: () => {
2219
+ } }, index.h("vviinn-camera", { key: 'f26d9576c072b36cfbe7594deae56388dec592bb', token: this.token, onVviinnImageUploadFinished: ({ detail }) => this.handleVviinnImageUploadFinished(detail), onVviinnImageUploadStarted: () => {
2159
2220
  this.handleVviinnImageUpload("startCamera");
2160
- }, apiPath: this.apiPath, basicEventData: this.getBasicEventData(), srcObject: this.stream, cameraButtonClicked: this.isCameraButtonClicked, exampleImageSource: this.exampleImageSource, showInWidget: this.showInWidget, storeName: this.storeName, state: this.state }), index.h("div", { key: 'f5e463f64ac999e3b7bded376a0f12406ad3869d', class: {
2221
+ }, apiPath: this.apiPath, basicEventData: this.getBasicEventData(), srcObject: this.stream, cameraButtonClicked: this.isCameraButtonClicked, exampleImageSource: this.exampleImageSource, showInWidget: this.showInWidget, storeName: this.storeName, state: this.state }), index.h("div", { key: '475765308993fd599a6064fde186793059eb9069', class: {
2161
2222
  error: this.haveErrors(),
2162
- }, id: "start-page_block" }, index.h("div", { key: '155a80658288afe387d77f1140819fa72134a42e', class: "start-page_main-content" }, (this.wrongImageFormat ||
2163
- this.state.searchStatus === "error") && (index.h("div", { key: '3c948759b2b3b264008d814d8c711cba759f0042', class: "start-page_errors-block" }, this.getCurrentErrorType() && (index.h("vviinn-error", { key: '6ded7b63230680c53893a571100ad63787db36e8', errorType: this.getCurrentErrorType(), handler: this.resetState, hasBackground: true, searchType: this.state.searchType })))), !this.haveErrors() && (index.h(index.Fragment, { key: '14c56d10d2df3af3f32b37aa10bc687bc4a52617' }, index.h("vviinn-teaser", { key: '99092cc741e26cb2f1101fa4bb5ff219017c7be9' }), index.h("div", { key: '77cf9e9e82a38e9fc9de074c3d02dda473d604ac', class: "buttons-group" }, this.renderButtons()), this.textSearchShow && !this.isResultSlide() && (index.h("vviinn-text-search", { key: '9393d8afb3ae1bbc3ed1d6f4f6461356dd3be912', token: this.token, apiPath: this.apiPath, locale: this.locale, showInWidget: this.showInWidget, showOnFirstScreen: true, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), resultsPageUrl: this.resultsPageUrl, autoSuggestShow: this.autoSuggestShow, "save-image-mode": "never" }))))), index.h("vviinn-privacy-badge", { key: '4c381e57c33d18a5736af7ad54a3512ba1ace512', privacyBadgeText: store.instance.t("privacyBadgeText", {
2223
+ }, id: "start-page_block" }, index.h("div", { key: '1c3e3a20caa40a360e7133a300f36a138e09cb4e', class: "start-page_main-content" }, (this.wrongImageFormat ||
2224
+ this.state.searchStatus === "error") && (index.h("div", { key: 'aed26307e98322b8355dc58f19f51079eb8f5939', class: "start-page_errors-block" }, this.getCurrentErrorType() && (index.h("vviinn-error", { key: 'af8b068c7ab554f66565e445a2562e5de1b1e70b', errorType: this.getCurrentErrorType(), handler: this.resetState, hasBackground: true, searchType: this.state.searchType })))), !this.haveErrors() && (index.h(index.Fragment, { key: 'ff464606d3447e0feab7690c4aaffa1389adea38' }, index.h("vviinn-teaser", { key: '91043f95623cae0f7f39902612ea8e4056361c44' }), index.h("div", { key: '83bf07377aabb98372a5688b51b8fd92328c9ba2', class: "buttons-group" }, this.renderButtons()), this.textSearchShow && !this.isResultSlide() && (index.h("vviinn-text-search", { key: 'e0a766d21276ecca7d075ff9fef2aa7ba0ebfc93', token: this.token, apiPath: this.apiPath, locale: this.locale, showInWidget: this.showInWidget, showOnFirstScreen: true, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), resultsPageUrl: this.resultsPageUrl, autoSuggestShow: this.autoSuggestShow, "save-image-mode": "never" }))))), index.h("vviinn-privacy-badge", { key: 'be525a2dc35924de5c73275939b61fc474fe0ce0', privacyBadgeText: store.instance.t("privacyBadgeText", {
2164
2225
  interpolation: { escapeValue: false },
2165
- }), class: { invisible: this.haveErrors() } }))), index.h("vviinn-slide", { key: 'c3f7ea7984ce33f702153878f378be802adb8258', class: {
2226
+ }), class: { invisible: this.haveErrors() } }))), index.h("vviinn-slide", { key: '73565ad9d70d0fa39bc7031a3cc0af988e70eb64', class: {
2166
2227
  "results-page": true,
2167
2228
  active: this.isResultSlide(),
2168
- } }, this.isResultSlide() && (index.h("div", { key: 'cd8ec6519b09395d2b4926301bfeec3dc91d2ac6', class: "source-wrapper" }, this.isTextSearch() && (index.h("vviinn-text-search", { key: '96e71f8fb6f1c682f872e76f2b9dd5616d767934', token: this.token, showInWidget: this.showInWidget, apiPath: this.apiPath, locale: this.locale, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), resultsPageUrl: this.resultsPageUrl, autoSuggestShow: this.autoSuggestShow, "save-image-mode": "never" })), !this.isTextSearch() && (index.h("vviinn-cropper", { key: '4aabf6d68425e50b277c15c881c40bea2e4d38b1', token: this.token, basicEventData: this.getBasicEventData(), showAspectRatioError: this.showAspectRatioError, apiPath: this.apiPath, showInWidget: this.showInWidget, "save-image-mode": "never" })), index.h("vviinn-suggestions", { key: 'ca8f970dbd2f3b1824f80feb7477b3d34b8b5ed1', showInWidget: this.showInWidget, token: this.token, apiPath: this.apiPath, locale: this.locale }), index.h("vviinn-selected-filters", { key: '44ff0a2c8dea93a3b5c2cd593b34dc20a4b115b4', locale: this.locale, currencySign: this.currencySign, showInWidget: this.showInWidget, exportparts: index$3.filtersParts }), ((_b = this.state.dynamicFilters) === null || _b === void 0 ? void 0 : _b.length) > 0 && (index.h("div", { key: 'dbf0b1c1a240f60931b1b75d8b76806e071f359f', class: {
2229
+ } }, this.isResultSlide() && (index.h("div", { key: '439495970eb510e757737be0b95b8e6431ec705a', class: "source-wrapper" }, this.isTextSearch() && (index.h("vviinn-text-search", { key: '8bc91e68349913cb9eda6e6166825f32d7afeb5f', token: this.token, showInWidget: this.showInWidget, apiPath: this.apiPath, locale: this.locale, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), resultsPageUrl: this.resultsPageUrl, autoSuggestShow: this.autoSuggestShow, "save-image-mode": "never" })), !this.isTextSearch() && (index.h("vviinn-cropper", { key: 'bdf8e645e389c39947ece8c0576adea23e40d80d', token: this.token, basicEventData: this.getBasicEventData(), showAspectRatioError: this.showAspectRatioError, apiPath: this.apiPath, showInWidget: this.showInWidget, "save-image-mode": "never" })), index.h("vviinn-suggestions", { key: '5088ac4c87e0351f39743484b717b2233d1cd6cc', showInWidget: this.showInWidget, token: this.token, apiPath: this.apiPath, locale: this.locale }), index.h("vviinn-selected-filters", { key: '64b97e027404482d52003d6fff076779d585f90e', locale: this.locale, currencySign: this.currencySign, showInWidget: this.showInWidget, exportparts: index$3.filtersParts }), ((_b = this.state.dynamicFilters) === null || _b === void 0 ? void 0 : _b.length) > 0 && (index.h("div", { key: '08dc0f036a9e27a62e688389118664ec6d38f5fe', class: {
2169
2230
  "filters-wrapper": true,
2170
2231
  hidden: this.showAspectRatioError,
2171
- } }, index.h("vviinn-filters", { key: '801f6aab643da44e564f062fddeb14811eca70bd', showInWidget: this.showInWidget, showIntervalInputs: this.showIntervalInputs }), index.h("vviinn-extended-filters", { key: '36a32875a0532cbf7148720df7a743bb0159e51e', mode: "preview", showHeader: false, showInWidget: this.showInWidget, locale: this.locale, currencySign: this.currencySign, showIntervalInputs: this.showIntervalInputs }), index.h("vviinn-extended-filters-button", { key: '148bf202a89af93e8cd88a612d585d0849a3d7de', class: {
2232
+ } }, index.h("vviinn-filters", { key: '0e0634bc3963b7f87e19fa5ef9814d1206368e5f', showInWidget: this.showInWidget, showIntervalInputs: this.showIntervalInputs }), index.h("vviinn-extended-filters", { key: 'a12da4af4e2922904bc3acbaae517c5268385b61', mode: "preview", showHeader: false, showInWidget: this.showInWidget, locale: this.locale, currencySign: this.currencySign, showIntervalInputs: this.showIntervalInputs }), index.h("vviinn-extended-filters-button", { key: '63ed9c068918f1915a84ab90af1a0d2e6eccd596', class: {
2172
2233
  "extended-filters-button": true,
2173
2234
  "has-primary-filters": this.state.dynamicFilters.filter((f) => f.isPrimary)
2174
2235
  .length > 0,
2175
- }, showInWidget: this.showInWidget }))))), this.isResultSlide() && (index.h(index.Fragment, { key: '263743fba6b324f47a1fae12648995bdef73aa25' }, index.h("vviinn-results", { key: '977140130b3b8dafaac6ae428c2b9f013de37d00', token: this.token, locale: this.locale, numberLocale: this.numberLocale, pricePrefix: this.pricePrefix, "currency-sign": this.currencySign, apiPath: this.apiPath, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, uiSessionId: this.uiSessionId, widgetElementId: (_c = this.buttonElementId) !== null && _c !== void 0 ? _c : this.widgetElementId, showInWidget: this.showInWidget, buttonElementId: this.buttonElementId, imageResolutionWidth: this.imageResolutionWidth, showMultipleImages: this.showMultipleImages, 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 }))))), index.h("vviinn-extended-filters", { key: '24d12faff2641fd61a4d13d7303734f1770120b2', class: "modal-extended-filters", mode: "modal", exportparts: index$3.extendedFiltersParts, showInWidget: this.showInWidget, locale: this.locale, currencySign: this.currencySign, showIntervalInputs: this.showIntervalInputs }))));
2236
+ }, showInWidget: this.showInWidget }))))), this.isResultSlide() && (index.h(index.Fragment, { key: 'f82ea6c8e9009241f94f70ec9512ede273db9052' }, index.h("vviinn-results", { key: '422e0d0c3b7f93bab6f6581a7c352107774f6c87', token: this.token, locale: this.locale, numberLocale: this.numberLocale, pricePrefix: this.pricePrefix, "currency-sign": this.currencySign, apiPath: this.apiPath, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, uiSessionId: this.uiSessionId, widgetElementId: (_c = this.buttonElementId) !== null && _c !== void 0 ? _c : this.widgetElementId, showInWidget: this.showInWidget, buttonElementId: this.buttonElementId, imageResolutionWidth: this.imageResolutionWidth, showMultipleImages: this.showMultipleImages, 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 }))))), index.h("vviinn-extended-filters", { key: '203270237562c97f144ccce3ba364893a1ecafd5', class: "modal-extended-filters", mode: "modal", exportparts: index$3.extendedFiltersParts, showInWidget: this.showInWidget, locale: this.locale, currencySign: this.currencySign, showIntervalInputs: this.showIntervalInputs }))));
2176
2237
  }
2177
2238
  get el() { return index.getElement(this); }
2178
2239
  static get watchers() { return {
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D38ORu31.js');
4
- var search_store = require('./search.store-DiomZf0i.js');
3
+ var index = require('./index-BU8FMTXn.js');
4
+ var search_store = require('./search.store-C-fS-eJR.js');
5
5
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
6
6
  var store = require('./store-jPZ4ROqV.js');
7
- var index$1 = require('./index-DdCwxNyl.js');
7
+ var index$1 = require('./index-sL3iGA57.js');
8
8
  var constants = require('./constants-BlwqMvns.js');
9
- var index$2 = require('./index-CBteD3gC.js');
10
- var index$3 = require('./index-CvMi8_tX.js');
9
+ var index$2 = require('./index-CP1QUrJT.js');
10
+ var index$3 = require('./index-BF9aENF8.js');
11
11
  var swiperElement = require('./swiper-element-DjtzojCR.js');
12
- var cssUrlHelper = require('./cssUrlHelper-BX9kngtZ.js');
12
+ var cssUrlHelper = require('./cssUrlHelper-B5A2BBm7.js');
13
13
  var openProductLink = require('./openProductLink-B3cy6uw_.js');
14
14
 
15
15
  const BasketIcon = () => (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
@@ -604,9 +604,9 @@ const VviinnEnergyLabel = class {
604
604
  return store.instance.t("energyLabel.iconAlt");
605
605
  }
606
606
  render() {
607
- return (index.h(index.Host, { key: 'f311f7c89f27a7dd90a8198284b179fe6e04cb3f', class: {
607
+ return (index.h(index.Host, { key: '9a53d56bb0772e1118fc4f5cda718e9b29adaf24', class: {
608
608
  hidden: !this.classIconUrls && !this.productType && !this.classDataSheetUrl,
609
- }, exportparts: index$3.energyLabelParts }, index.h("div", { key: 'd20b22eaca0f7121a09f20e9a1a8e16ae8c77a16', class: "container", part: "energy-label-container" }, !!this.classIconUrls && (index.h("img", { key: '4551fc562d643b825ff489ebd4fcf51812479862', class: "class-label-icon", part: "energy-label-icon", src: this.classIconUrls[this.iconDirection], alt: this.getEnergyIconAltText() })), (this.productType || this.classDataSheetUrl) && (index.h("div", { key: '3260e0e590ed46c72daf3b06075a153c23ed0c51', class: "info-container" }, this.productType && (index.h("span", { key: 'be310b1e00cc1b279d58ce2d56cee9803622f01b', class: "product-type", part: "energy-label-product-type" }, this.productType)), this.classDataSheetUrl && (index.h("a", { key: '2e4f3d3985d11d7b2bba729b6c1816af866cafdc', class: "data-sheet-link", part: "energy-label-data-sheet-link", href: this.classDataSheetUrl, target: "_blank", rel: "noopener noreferrer" }, index.h("slot", { key: 'ca584e501471e5d6bc9c76f7d3767910ed645016', name: "vviinn-energy-label-data-sheet-text" }, store.instance.t("energyLabel.dataSheetText")))))))));
609
+ }, exportparts: index$3.energyLabelParts }, index.h("div", { key: '73fa2bd6c113c6fc3f1834b630403271fb168da4', class: "container", part: "energy-label-container" }, !!this.classIconUrls && (index.h("img", { key: '3737b12a4aab1f06205186d9ffd7642a1ed527c0', class: "class-label-icon", part: "energy-label-icon", src: this.classIconUrls[this.iconDirection], alt: this.getEnergyIconAltText() })), (this.productType || this.classDataSheetUrl) && (index.h("div", { key: '45c195a6b7bcd3fbf69d330ae22e6666519b54e6', class: "info-container" }, this.productType && (index.h("span", { key: '52725161ec90599fadb046ab396194b1d83b3bb1', class: "product-type", part: "energy-label-product-type" }, this.productType)), this.classDataSheetUrl && (index.h("a", { key: '31efc6ee893e9721cf58a6387b4568832c81ddee', class: "data-sheet-link", part: "energy-label-data-sheet-link", href: this.classDataSheetUrl, target: "_blank", rel: "noopener noreferrer" }, index.h("slot", { key: 'ece6066ee47b41db4b7dfd43a50ad24210e0d037', name: "vviinn-energy-label-data-sheet-text" }, store.instance.t("energyLabel.dataSheetText")))))))));
610
610
  }
611
611
  get el() { return index.getElement(this); }
612
612
  };
@@ -2110,7 +2110,7 @@ const VviinnSkeleton = class {
2110
2110
  this.halfWidth = false;
2111
2111
  }
2112
2112
  render() {
2113
- return (index.h(index.Host, { key: '149fe2396c333fff4ff01e607a8f1b238ac12bdb' }, index.h("div", { key: '6a9e376f9955458af0c30c9df01ea7c2b8849196', class: {
2113
+ return (index.h(index.Host, { key: '762b28b1619a152ca13d7f71c23ede1b8182bf8a' }, index.h("div", { key: '4509aa114dddccfaa65a5bb593f1dfecddb054ba', class: {
2114
2114
  "vviinn-skeleton": true,
2115
2115
  }, style: {
2116
2116
  height: this.height ? `${this.height.toString()}px` : "100%",
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D38ORu31.js');
3
+ var index = require('./index-BU8FMTXn.js');
4
4
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
5
5
  var store = require('./store-jPZ4ROqV.js');
6
6
 
@@ -57,7 +57,7 @@ const VviinnPreloader = class {
57
57
  index.registerInstance(this, hostRef);
58
58
  }
59
59
  render() {
60
- return index.h(index.Host, { key: 'd8904f0c7dd8aebb13da4d44e2c5422d8d31667d' });
60
+ return index.h(index.Host, { key: '9915424347748222693eb70e98216b2d2fe6969b' });
61
61
  }
62
62
  };
63
63
  VviinnPreloader.style = vviinnPreloaderCss;
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D38ORu31.js');
3
+ var index = require('./index-BU8FMTXn.js');
4
4
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
5
5
  var cropperUtils = require('./cropperUtils-DCDOLeBS.js');
6
6
  var swiperElement = require('./swiper-element-DjtzojCR.js');
7
- var search_store = require('./search.store-DiomZf0i.js');
8
- var SecondaryActionIcon = require('./SecondaryActionIcon-Ng84u7-b.js');
9
- var index$1 = require('./index-CvMi8_tX.js');
7
+ var search_store = require('./search.store-C-fS-eJR.js');
8
+ var SecondaryActionIcon = require('./SecondaryActionIcon-CuNEBTWD.js');
9
+ var index$1 = require('./index-BF9aENF8.js');
10
10
  var store = require('./store-jPZ4ROqV.js');
11
- var cssUrlHelper = require('./cssUrlHelper-BX9kngtZ.js');
11
+ var cssUrlHelper = require('./cssUrlHelper-B5A2BBm7.js');
12
12
  var openProductLink = require('./openProductLink-B3cy6uw_.js');
13
13
 
14
14
  const UploadActionIconVariant = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
@@ -1380,7 +1380,7 @@ const VviinnShopTheLook = class {
1380
1380
  }, TIMING.SEARCH_DEBOUNCE_DELAY);
1381
1381
  }
1382
1382
  render() {
1383
- return (index.h(index.Host, { key: '4734dcdc0c1a7d206970c8baf08e257077e952f9', exportparts: index$1.shopTheLookParts }, cssUrlHelper.renderExternalCSS(this.cssUrl), index.h("div", { key: '129438fdcf114bd903ad6888287e060e5fdc3948', class: `shop-the-look-container ${this.showModal ? "modal-open" : ""} ${this.showCropper ? "with-cropper" : ""} widget-style-${this.widgetStyle}` }, index.h("div", { key: '04e037ad029930bd366920ca79e0ae7becebaf2c', class: "main-content" }, this.renderSwiperWrapper(), this.showLoadingSpinner && (index.h("div", { key: '18ca739ed4cf0b1167fd8976fdab0c5e6e0ee410', class: "search-loader" }, index.h("vviinn-preloader", { key: 'efd47991fa32bf315c4985f98f0c14ccbf6f5a72' })))), this.renderModalWrapper(), index.h("div", { key: '332adbe2912fb61f82f9cf0488a13f7c9a0a405c', class: "actions-container", part: "shop-the-look-actions-container" }, this.uploadMode && (index.h("div", { key: '55c748ffeded24b97801683454f9a1b8675f6ed6', class: "upload-button-container" }, index.h("button", { key: '7cfa399b98e254bd12bff706cf6c4bea42dce684', class: "upload-button", part: "shop-the-look-upload-button", onClick: () => { var _a; return (_a = this.fileInput) === null || _a === void 0 ? void 0 : _a.click(); }, disabled: this.showLoadingSpinner }, index.h("span", { key: '48b59d82816a50b6f98bbf68c8a6849679437852', class: "upload-button-icon", part: "shop-the-look-upload-button-icon" }, index.h("slot", { key: '14f12cf7f44a39ba4f1d9cbecb6fa3558ae5fd5d', name: "vviinn-image-upload-icon" }, index.h(UploadActionIconVariant, { key: '1937cea6010c0a21182e88f365f188a65b0f3a70' }))), index.h("span", { key: 'd62a5ee1ac2c17a663dda26cb0debd83821510c0', class: "upload-button-text", part: "shop-the-look-upload-button-text" }, index.h("slot", { key: '42a4910a590a2b258dccb2a3ace5da8f60099791', name: "upload-button-text" }))), index.h("input", { key: '242e2ed2e319428ebde6dff7df8c37b60d33a8f1', type: "file", class: "visually-hidden", accept: search_store.getAcceptableFileFormats(), onChange: this.handleFileUpload, ref: (el) => (this.fileInput = el) }))), this.showNavigation() &&
1383
+ return (index.h(index.Host, { key: '810afce8775ce69f39d3ddb19dbfafc081f90b95', exportparts: index$1.shopTheLookParts }, cssUrlHelper.renderExternalCSS(this.cssUrl), index.h("div", { key: 'ab678e97ff5878b7d68fb63fa6ad0344f55e56eb', class: `shop-the-look-container ${this.showModal ? "modal-open" : ""} ${this.showCropper ? "with-cropper" : ""} widget-style-${this.widgetStyle}` }, index.h("div", { key: '78fe26aa58f8c8da8a49a0a1f20d27025de4270e', class: "main-content" }, this.renderSwiperWrapper(), this.showLoadingSpinner && (index.h("div", { key: '02ee522ea4f2f60a5becae75834123f7f2059d31', class: "search-loader" }, index.h("vviinn-preloader", { key: '209d5b1caf48f57ef4ab0f143e77c83e9547403d' })))), this.renderModalWrapper(), index.h("div", { key: '8a92411b196592578c1811e88b20b5c79d955751', class: "actions-container", part: "shop-the-look-actions-container" }, this.uploadMode && (index.h("div", { key: '283494b6ed7e2279ebc12ba00bff48679bd84515', class: "upload-button-container" }, index.h("button", { key: '6843b123419ab70e75c38d2ef1fc6f95724198f6', class: "upload-button", part: "shop-the-look-upload-button", onClick: () => { var _a; return (_a = this.fileInput) === null || _a === void 0 ? void 0 : _a.click(); }, disabled: this.showLoadingSpinner }, index.h("span", { key: '921d7b5487c68d1e5f3095415d7d195a76de5a53', class: "upload-button-icon", part: "shop-the-look-upload-button-icon" }, index.h("slot", { key: 'c5a149403be172d546d34e4271a04b6bf7184cf2', name: "vviinn-image-upload-icon" }, index.h(UploadActionIconVariant, { key: '363804dec9e24cf917d8da7244285f14dd874e61' }))), index.h("span", { key: 'fde616b05fc029c9cc45e063483f0401efdf2ba5', class: "upload-button-text", part: "shop-the-look-upload-button-text" }, index.h("slot", { key: '756831c7b944e0f651b7907bf522375a35acb247', name: "upload-button-text" }))), index.h("input", { key: '6489e9ccae6426f4a96d57c2bec5b9c41b77916b', type: "file", class: "visually-hidden", accept: search_store.getAcceptableFileFormats(), onChange: this.handleFileUpload, ref: (el) => (this.fileInput = el) }))), this.showNavigation() &&
1384
1384
  renderNavigation(this.swiperActiveIndex, this.totalImages, this.handleNavigatePrev, this.handleNavigateNext)))));
1385
1385
  }
1386
1386
  get el() { return index.getElement(this); }