vviinn-widgets 2.0.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/cjs/Handler-d1a8a86a.js +329 -0
  2. package/dist/cjs/{app-globals-de6924b5.js → app-globals-d0251be8.js} +1 -1
  3. package/dist/cjs/cropper-handler.cjs.entry.js +27 -0
  4. package/dist/cjs/customized-slots-14b77e4a.js +53 -0
  5. package/dist/cjs/{cropper-handler_28.cjs.entry.js → highlight-box_22.cjs.entry.js} +48 -437
  6. package/dist/{esm/Array-e81cf4a3.js → cjs/imageSearch.store-d9ed1a5b.js} +10009 -3391
  7. package/dist/cjs/{index-7adce49f.js → index-141137b2.js} +14 -362
  8. package/dist/cjs/{index-8a276115.js → index-a5e15a0c.js} +7 -1
  9. package/dist/cjs/loader.cjs.js +3 -3
  10. package/dist/cjs/vviinn-carousel_5.cjs.entry.js +1232 -0
  11. package/dist/cjs/vviinn-error.cjs.entry.js +19 -0
  12. package/dist/cjs/vviinn-preloader.cjs.entry.js +26 -0
  13. package/dist/cjs/vviinn-vps-button.cjs.entry.js +43 -0
  14. package/dist/cjs/vviinn-vps-widget.cjs.entry.js +97 -0
  15. package/dist/cjs/vviinn-widgets.cjs.js +3 -3
  16. package/dist/collection/collection-manifest.json +2 -0
  17. package/dist/collection/components/vviinn-carousel/vviinn-carousel.css +22 -18
  18. package/dist/collection/components/vviinn-carousel/vviinn-carousel.js +78 -68
  19. package/dist/collection/components/vviinn-icons/index.js +4 -0
  20. package/dist/collection/components/vviinn-product-card/render-helpers.js +4 -4
  21. package/dist/collection/components/vviinn-product-card/vviinn-product-card.css +5 -6
  22. package/dist/collection/components/vviinn-product-card/vviinn-product-card.js +26 -5
  23. package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.css +238 -0
  24. package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.js +200 -0
  25. package/dist/collection/components/vviinn-vpr-button/stories/kek.stories.js +18 -0
  26. package/dist/collection/components/vviinn-vpr-button/vviinn-vpr-button.css +35 -0
  27. package/dist/collection/components/vviinn-vpr-button/vviinn-vpr-button.js +149 -0
  28. package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-vidget.js +148 -28
  29. package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-widget.css +31 -8
  30. package/dist/esm/Handler-639a4cb3.js +308 -0
  31. package/dist/esm/{app-globals-0a626970.js → app-globals-b6113170.js} +1 -1
  32. package/dist/esm/cropper-handler.entry.js +23 -0
  33. package/dist/esm/customized-slots-a952fb80.js +50 -0
  34. package/dist/esm/{cropper-handler_28.entry.js → highlight-box_22.entry.js} +21 -404
  35. package/dist/{cjs/Array-cce2fde8.js → esm/imageSearch.store-4ca31230.js} +8705 -2137
  36. package/dist/esm/{index-e77e65ae.js → index-017f18de.js} +6 -2
  37. package/dist/esm/{index-0ccfcee5.js → index-3e85e294.js} +14 -362
  38. package/dist/esm/loader.js +3 -3
  39. package/dist/esm/vviinn-carousel_5.entry.js +1224 -0
  40. package/dist/esm/vviinn-error.entry.js +15 -0
  41. package/dist/esm/vviinn-preloader.entry.js +22 -0
  42. package/dist/esm/vviinn-vps-button.entry.js +39 -0
  43. package/dist/esm/vviinn-vps-widget.entry.js +93 -0
  44. package/dist/esm/vviinn-widgets.js +3 -3
  45. package/dist/types/campaign/Campaign.d.ts +1 -1
  46. package/dist/types/components/vviinn-carousel/vviinn-carousel.d.ts +13 -7
  47. package/dist/types/components/vviinn-icons/index.d.ts +2 -0
  48. package/dist/types/components/vviinn-product-card/render-helpers.d.ts +3 -2
  49. package/dist/types/components/vviinn-product-card/vviinn-product-card.d.ts +2 -0
  50. package/dist/types/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.d.ts +25 -0
  51. package/dist/types/components/vviinn-vpr-button/stories/kek.stories.d.ts +7 -0
  52. package/dist/types/components/vviinn-vpr-button/vviinn-vpr-button.d.ts +14 -0
  53. package/dist/types/components/vviinn-vpr-widget/vviinn-vpr-vidget.d.ts +36 -8
  54. package/dist/types/components.d.ts +62 -10
  55. package/dist/vviinn-widgets/p-0ed1ef7e.entry.js +1 -0
  56. package/dist/vviinn-widgets/{p-6c4fd1db.js → p-16e49514.js} +1 -1
  57. package/dist/vviinn-widgets/p-3da18d7f.js +1 -0
  58. package/dist/vviinn-widgets/p-62a1b042.entry.js +1 -0
  59. package/dist/vviinn-widgets/p-68900093.entry.js +1 -0
  60. package/dist/vviinn-widgets/p-6c4c240d.entry.js +1 -0
  61. package/dist/vviinn-widgets/p-95e53d99.entry.js +1 -0
  62. package/dist/vviinn-widgets/p-9fee20e7.entry.js +1 -0
  63. package/dist/vviinn-widgets/p-d7894eaf.js +1 -0
  64. package/dist/vviinn-widgets/p-db0be4cd.js +1 -0
  65. package/dist/vviinn-widgets/p-eb15116d.entry.js +1 -0
  66. package/dist/vviinn-widgets/{p-489aee23.js → p-f00fddbb.js} +1 -1
  67. package/dist/vviinn-widgets/p-f582db5c.js +1 -0
  68. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  69. package/package.json +3 -1
  70. package/www/build/p-0ed1ef7e.entry.js +1 -0
  71. package/www/build/{p-6c4fd1db.js → p-16e49514.js} +1 -1
  72. package/www/build/p-1cc0cdfd.js +1 -0
  73. package/www/build/p-3da18d7f.js +1 -0
  74. package/www/build/p-62a1b042.entry.js +1 -0
  75. package/www/build/p-68900093.entry.js +1 -0
  76. package/www/build/p-6c4c240d.entry.js +1 -0
  77. package/www/build/p-95e53d99.entry.js +1 -0
  78. package/www/build/p-9fee20e7.entry.js +1 -0
  79. package/www/build/p-a67898be.css +1 -0
  80. package/www/build/p-d7894eaf.js +1 -0
  81. package/www/build/p-db0be4cd.js +1 -0
  82. package/www/build/p-eb15116d.entry.js +1 -0
  83. package/www/build/{p-489aee23.js → p-f00fddbb.js} +1 -1
  84. package/www/build/p-f582db5c.js +1 -0
  85. package/www/build/vviinn-widgets.esm.js +1 -1
  86. package/www/index.html +177 -8
  87. package/dist/cjs/imageSearch.store-39fce56c.js +0 -6926
  88. package/dist/cjs/vviinn-carousel.cjs.entry.js +0 -222
  89. package/dist/cjs/vviinn-vpr-widget.cjs.entry.js +0 -106
  90. package/dist/esm/imageSearch.store-b887ff78.js +0 -6893
  91. package/dist/esm/vviinn-carousel.entry.js +0 -218
  92. package/dist/esm/vviinn-vpr-widget.entry.js +0 -102
  93. package/dist/vviinn-widgets/p-2bf74c28.js +0 -1
  94. package/dist/vviinn-widgets/p-3063e23a.js +0 -1
  95. package/dist/vviinn-widgets/p-9145c82e.entry.js +0 -1
  96. package/dist/vviinn-widgets/p-ddcac3f8.js +0 -1
  97. package/dist/vviinn-widgets/p-f05da9f1.entry.js +0 -1
  98. package/dist/vviinn-widgets/p-f12f823d.entry.js +0 -1
  99. package/www/build/p-2bf74c28.js +0 -1
  100. package/www/build/p-3063e23a.js +0 -1
  101. package/www/build/p-9145c82e.entry.js +0 -1
  102. package/www/build/p-cbae3071.js +0 -125
  103. package/www/build/p-ddcac3f8.js +0 -1
  104. package/www/build/p-e0153ae2.css +0 -6
  105. package/www/build/p-f05da9f1.entry.js +0 -1
  106. package/www/build/p-f12f823d.entry.js +0 -1
@@ -21,14 +21,10 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'vviinn-widgets';
24
- const Env = /* vviinn-widgets */ {"packageVersion":"1.1.2","packageName":"vviinn-widgets","environment":"local"};
24
+ const Env = /* vviinn-widgets */ {"packageVersion":"2.2.0","packageName":"vviinn-widgets","environment":"local"};
25
25
 
26
26
  let scopeId;
27
- let contentRef;
28
27
  let hostTagName;
29
- let useNativeShadowDom = false;
30
- let checkSlotFallbackVisibility = false;
31
- let checkSlotRelocate = false;
32
28
  let isSvgMode = false;
33
29
  let renderingRef = null;
34
30
  let queuePending = false;
@@ -56,7 +52,7 @@ const supportsConstructibleStylesheets = /*@__PURE__*/ (() => {
56
52
  const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
57
53
  if (listeners) {
58
54
  listeners.map(([flags, name, method]) => {
59
- const target = elm;
55
+ const target = getHostListenerTarget(elm, flags) ;
60
56
  const handler = hostListenerProxy(hostRef, method);
61
57
  const opts = hostListenerOpts(flags);
62
58
  plt.ael(target, name, handler, opts);
@@ -80,6 +76,11 @@ const hostListenerProxy = (hostRef, methodName) => (ev) => {
80
76
  consoleError(e);
81
77
  }
82
78
  };
79
+ const getHostListenerTarget = (elm, flags) => {
80
+ if (flags & 16 /* TargetBody */)
81
+ return doc.body;
82
+ return elm;
83
+ };
83
84
  // prettier-ignore
84
85
  const hostListenerOpts = (flags) => (flags & 2 /* Capture */) !== 0;
85
86
  const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
@@ -194,7 +195,6 @@ const isComplexType = (o) => {
194
195
  // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
195
196
  const h = (nodeName, vnodeData, ...children) => {
196
197
  let child = null;
197
- let slotName = null;
198
198
  let simple = false;
199
199
  let lastSimple = false;
200
200
  let vNodeChildren = [];
@@ -222,9 +222,6 @@ const h = (nodeName, vnodeData, ...children) => {
222
222
  };
223
223
  walk(children);
224
224
  if (vnodeData) {
225
- if (vnodeData.name) {
226
- slotName = vnodeData.name;
227
- }
228
225
  {
229
226
  const classData = vnodeData.className || vnodeData.class;
230
227
  if (classData) {
@@ -246,9 +243,6 @@ const h = (nodeName, vnodeData, ...children) => {
246
243
  if (vNodeChildren.length > 0) {
247
244
  vnode.$children$ = vNodeChildren;
248
245
  }
249
- {
250
- vnode.$name$ = slotName;
251
- }
252
246
  return vnode;
253
247
  };
254
248
  const newVNode = (tag, text) => {
@@ -262,9 +256,6 @@ const newVNode = (tag, text) => {
262
256
  {
263
257
  vnode.$attrs$ = null;
264
258
  }
265
- {
266
- vnode.$name$ = null;
267
- }
268
259
  return vnode;
269
260
  };
270
261
  const Host = {};
@@ -450,39 +441,16 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
450
441
  let i = 0;
451
442
  let elm;
452
443
  let childNode;
453
- let oldVNode;
454
- if (!useNativeShadowDom) {
455
- // remember for later we need to check to relocate nodes
456
- checkSlotRelocate = true;
457
- if (newVNode.$tag$ === 'slot') {
458
- if (scopeId) {
459
- // scoped css needs to add its scoped id to the parent element
460
- parentElm.classList.add(scopeId + '-s');
461
- }
462
- newVNode.$flags$ |= newVNode.$children$
463
- ? // slot element has fallback content
464
- 2 /* isSlotFallback */
465
- : // slot element does not have fallback content
466
- 1 /* isSlotReference */;
467
- }
468
- }
469
444
  if (newVNode.$text$ !== null) {
470
445
  // create text node
471
446
  elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
472
447
  }
473
- else if (newVNode.$flags$ & 1 /* isSlotReference */) {
474
- // create a slot reference node
475
- elm = newVNode.$elm$ =
476
- doc.createTextNode('');
477
- }
478
448
  else {
479
449
  if (!isSvgMode) {
480
450
  isSvgMode = newVNode.$tag$ === 'svg';
481
451
  }
482
452
  // create element
483
- elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* isSlotFallback */
484
- ? 'slot-fb'
485
- : newVNode.$tag$)
453
+ elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$)
486
454
  );
487
455
  if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
488
456
  isSvgMode = false;
@@ -499,7 +467,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
499
467
  if (newVNode.$children$) {
500
468
  for (i = 0; i < newVNode.$children$.length; ++i) {
501
469
  // create the node
502
- childNode = createElm(oldParentVNode, newVNode, i, elm);
470
+ childNode = createElm(oldParentVNode, newVNode, i);
503
471
  // return node could have been null
504
472
  if (childNode) {
505
473
  // append our new node
@@ -518,62 +486,20 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
518
486
  }
519
487
  }
520
488
  }
521
- {
522
- elm['s-hn'] = hostTagName;
523
- if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
524
- // remember the content reference comment
525
- elm['s-sr'] = true;
526
- // remember the content reference comment
527
- elm['s-cr'] = contentRef;
528
- // remember the slot name, or empty string for default slot
529
- elm['s-sn'] = newVNode.$name$ || '';
530
- // check if we've got an old vnode for this slot
531
- oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
532
- if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
533
- // we've got an old slot vnode and the wrapper is being replaced
534
- // so let's move the old slot content back to it's original location
535
- putBackInOriginalLocation(oldParentVNode.$elm$, false);
536
- }
537
- }
538
- }
539
489
  return elm;
540
490
  };
541
- const putBackInOriginalLocation = (parentElm, recursive) => {
542
- plt.$flags$ |= 1 /* isTmpDisconnected */;
543
- const oldSlotChildNodes = parentElm.childNodes;
544
- for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
545
- const childNode = oldSlotChildNodes[i];
546
- if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
547
- // // this child node in the old element is from another component
548
- // // remove this node from the old slot's parent
549
- // childNode.remove();
550
- // and relocate it back to it's original location
551
- parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
552
- // remove the old original location comment entirely
553
- // later on the patch function will know what to do
554
- // and move this to the correct spot in need be
555
- childNode['s-ol'].remove();
556
- childNode['s-ol'] = undefined;
557
- checkSlotRelocate = true;
558
- }
559
- if (recursive) {
560
- putBackInOriginalLocation(childNode, recursive);
561
- }
562
- }
563
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
564
- };
565
491
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
566
- let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
492
+ let containerElm = (parentElm);
567
493
  let childNode;
568
494
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
569
495
  containerElm = containerElm.shadowRoot;
570
496
  }
571
497
  for (; startIdx <= endIdx; ++startIdx) {
572
498
  if (vnodes[startIdx]) {
573
- childNode = createElm(null, parentVNode, startIdx, parentElm);
499
+ childNode = createElm(null, parentVNode, startIdx);
574
500
  if (childNode) {
575
501
  vnodes[startIdx].$elm$ = childNode;
576
- containerElm.insertBefore(childNode, referenceNode(before) );
502
+ containerElm.insertBefore(childNode, before);
577
503
  }
578
504
  }
579
505
  }
@@ -582,20 +508,6 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
582
508
  for (; startIdx <= endIdx; ++startIdx) {
583
509
  if ((vnode = vnodes[startIdx])) {
584
510
  elm = vnode.$elm$;
585
- {
586
- // we're removing this element
587
- // so it's possible we need to show slot fallback content now
588
- checkSlotFallbackVisibility = true;
589
- if (elm['s-ol']) {
590
- // remove the original location comment
591
- elm['s-ol'].remove();
592
- }
593
- else {
594
- // it's possible that child nodes of the node
595
- // that's being removed are slot nodes
596
- putBackInOriginalLocation(elm, true);
597
- }
598
- }
599
511
  // remove the vnode's element from the dom
600
512
  elm.remove();
601
513
  }
@@ -636,20 +548,12 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
636
548
  newEndVnode = newCh[--newEndIdx];
637
549
  }
638
550
  else if (isSameVnode(oldStartVnode, newEndVnode)) {
639
- // Vnode moved right
640
- if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
641
- putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
642
- }
643
551
  patch(oldStartVnode, newEndVnode);
644
552
  parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
645
553
  oldStartVnode = oldCh[++oldStartIdx];
646
554
  newEndVnode = newCh[--newEndIdx];
647
555
  }
648
556
  else if (isSameVnode(oldEndVnode, newStartVnode)) {
649
- // Vnode moved left
650
- if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
651
- putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
652
- }
653
557
  patch(oldEndVnode, newStartVnode);
654
558
  parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
655
559
  oldEndVnode = oldCh[--oldEndIdx];
@@ -658,12 +562,12 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
658
562
  else {
659
563
  {
660
564
  // new element
661
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
565
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
662
566
  newStartVnode = newCh[++newStartIdx];
663
567
  }
664
568
  if (node) {
665
569
  {
666
- parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
570
+ oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
667
571
  }
668
572
  }
669
573
  }
@@ -679,28 +583,16 @@ const isSameVnode = (vnode1, vnode2) => {
679
583
  // compare if two vnode to see if they're "technically" the same
680
584
  // need to have the same element tag, and same key to be the same
681
585
  if (vnode1.$tag$ === vnode2.$tag$) {
682
- if (vnode1.$tag$ === 'slot') {
683
- return vnode1.$name$ === vnode2.$name$;
684
- }
685
586
  return true;
686
587
  }
687
588
  return false;
688
589
  };
689
- const referenceNode = (node) => {
690
- // this node was relocated to a new location in the dom
691
- // because of some other component's slot
692
- // but we still have an html comment in place of where
693
- // it's original location was according to it's original vdom
694
- return (node && node['s-ol']) || node;
695
- };
696
- const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
697
590
  const patch = (oldVNode, newVNode) => {
698
591
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
699
592
  const oldChildren = oldVNode.$children$;
700
593
  const newChildren = newVNode.$children$;
701
594
  const tag = newVNode.$tag$;
702
595
  const text = newVNode.$text$;
703
- let defaultHolder;
704
596
  if (text === null) {
705
597
  {
706
598
  // test if we're rendering an svg element, or still rendering nodes inside of one
@@ -739,147 +631,12 @@ const patch = (oldVNode, newVNode) => {
739
631
  isSvgMode = false;
740
632
  }
741
633
  }
742
- else if ((defaultHolder = elm['s-cr'])) {
743
- // this element has slotted content
744
- defaultHolder.parentNode.textContent = text;
745
- }
746
634
  else if (oldVNode.$text$ !== text) {
747
635
  // update the text content for the text only vnode
748
636
  // and also only if the text is different than before
749
637
  elm.data = text;
750
638
  }
751
639
  };
752
- const updateFallbackSlotVisibility = (elm) => {
753
- // tslint:disable-next-line: prefer-const
754
- let childNodes = elm.childNodes;
755
- let childNode;
756
- let i;
757
- let ilen;
758
- let j;
759
- let slotNameAttr;
760
- let nodeType;
761
- for (i = 0, ilen = childNodes.length; i < ilen; i++) {
762
- childNode = childNodes[i];
763
- if (childNode.nodeType === 1 /* ElementNode */) {
764
- if (childNode['s-sr']) {
765
- // this is a slot fallback node
766
- // get the slot name for this slot reference node
767
- slotNameAttr = childNode['s-sn'];
768
- // by default always show a fallback slot node
769
- // then hide it if there are other slots in the light dom
770
- childNode.hidden = false;
771
- for (j = 0; j < ilen; j++) {
772
- nodeType = childNodes[j].nodeType;
773
- if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
774
- // this sibling node is from a different component OR is a named fallback slot node
775
- if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
776
- childNode.hidden = true;
777
- break;
778
- }
779
- }
780
- else {
781
- // this is a default fallback slot node
782
- // any element or text node (with content)
783
- // should hide the default fallback slot node
784
- if (nodeType === 1 /* ElementNode */ ||
785
- (nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) {
786
- childNode.hidden = true;
787
- break;
788
- }
789
- }
790
- }
791
- }
792
- // keep drilling down
793
- updateFallbackSlotVisibility(childNode);
794
- }
795
- }
796
- };
797
- const relocateNodes = [];
798
- const relocateSlotContent = (elm) => {
799
- // tslint:disable-next-line: prefer-const
800
- let childNode;
801
- let node;
802
- let hostContentNodes;
803
- let slotNameAttr;
804
- let relocateNodeData;
805
- let j;
806
- let i = 0;
807
- let childNodes = elm.childNodes;
808
- let ilen = childNodes.length;
809
- for (; i < ilen; i++) {
810
- childNode = childNodes[i];
811
- if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
812
- // first got the content reference comment node
813
- // then we got it's parent, which is where all the host content is in now
814
- hostContentNodes = node.parentNode.childNodes;
815
- slotNameAttr = childNode['s-sn'];
816
- for (j = hostContentNodes.length - 1; j >= 0; j--) {
817
- node = hostContentNodes[j];
818
- if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
819
- // let's do some relocating to its new home
820
- // but never relocate a content reference node
821
- // that is suppose to always represent the original content location
822
- if (isNodeLocatedInSlot(node, slotNameAttr)) {
823
- // it's possible we've already decided to relocate this node
824
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
825
- // made some changes to slots
826
- // let's make sure we also double check
827
- // fallbacks are correctly hidden or shown
828
- checkSlotFallbackVisibility = true;
829
- node['s-sn'] = node['s-sn'] || slotNameAttr;
830
- if (relocateNodeData) {
831
- // previously we never found a slot home for this node
832
- // but turns out we did, so let's remember it now
833
- relocateNodeData.$slotRefNode$ = childNode;
834
- }
835
- else {
836
- // add to our list of nodes to relocate
837
- relocateNodes.push({
838
- $slotRefNode$: childNode,
839
- $nodeToRelocate$: node,
840
- });
841
- }
842
- if (node['s-sr']) {
843
- relocateNodes.map((relocateNode) => {
844
- if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
845
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
846
- if (relocateNodeData && !relocateNode.$slotRefNode$) {
847
- relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
848
- }
849
- }
850
- });
851
- }
852
- }
853
- else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
854
- // so far this element does not have a slot home, not setting slotRefNode on purpose
855
- // if we never find a home for this element then we'll need to hide it
856
- relocateNodes.push({
857
- $nodeToRelocate$: node,
858
- });
859
- }
860
- }
861
- }
862
- }
863
- if (childNode.nodeType === 1 /* ElementNode */) {
864
- relocateSlotContent(childNode);
865
- }
866
- }
867
- };
868
- const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
869
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
870
- if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
871
- return true;
872
- }
873
- if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
874
- return true;
875
- }
876
- return false;
877
- }
878
- if (nodeToRelocate['s-sn'] === slotNameAttr) {
879
- return true;
880
- }
881
- return slotNameAttr === '';
882
- };
883
640
  const renderVdom = (hostRef, renderFnResults) => {
884
641
  const hostElm = hostRef.$hostElement$;
885
642
  const cmpMeta = hostRef.$cmpMeta$;
@@ -897,90 +654,8 @@ const renderVdom = (hostRef, renderFnResults) => {
897
654
  {
898
655
  scopeId = hostElm['s-sc'];
899
656
  }
900
- {
901
- contentRef = hostElm['s-cr'];
902
- useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
903
- // always reset
904
- checkSlotFallbackVisibility = false;
905
- }
906
657
  // synchronous patch
907
658
  patch(oldVNode, rootVnode);
908
- {
909
- // while we're moving nodes around existing nodes, temporarily disable
910
- // the disconnectCallback from working
911
- plt.$flags$ |= 1 /* isTmpDisconnected */;
912
- if (checkSlotRelocate) {
913
- relocateSlotContent(rootVnode.$elm$);
914
- let relocateData;
915
- let nodeToRelocate;
916
- let orgLocationNode;
917
- let parentNodeRef;
918
- let insertBeforeNode;
919
- let refNode;
920
- let i = 0;
921
- for (; i < relocateNodes.length; i++) {
922
- relocateData = relocateNodes[i];
923
- nodeToRelocate = relocateData.$nodeToRelocate$;
924
- if (!nodeToRelocate['s-ol']) {
925
- // add a reference node marking this node's original location
926
- // keep a reference to this node for later lookups
927
- orgLocationNode =
928
- doc.createTextNode('');
929
- orgLocationNode['s-nr'] = nodeToRelocate;
930
- nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
931
- }
932
- }
933
- for (i = 0; i < relocateNodes.length; i++) {
934
- relocateData = relocateNodes[i];
935
- nodeToRelocate = relocateData.$nodeToRelocate$;
936
- if (relocateData.$slotRefNode$) {
937
- // by default we're just going to insert it directly
938
- // after the slot reference node
939
- parentNodeRef = relocateData.$slotRefNode$.parentNode;
940
- insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
941
- orgLocationNode = nodeToRelocate['s-ol'];
942
- while ((orgLocationNode = orgLocationNode.previousSibling)) {
943
- refNode = orgLocationNode['s-nr'];
944
- if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
945
- refNode = refNode.nextSibling;
946
- if (!refNode || !refNode['s-nr']) {
947
- insertBeforeNode = refNode;
948
- break;
949
- }
950
- }
951
- }
952
- if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
953
- nodeToRelocate.nextSibling !== insertBeforeNode) {
954
- // we've checked that it's worth while to relocate
955
- // since that the node to relocate
956
- // has a different next sibling or parent relocated
957
- if (nodeToRelocate !== insertBeforeNode) {
958
- if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
959
- // probably a component in the index.html that doesn't have it's hostname set
960
- nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
961
- }
962
- // add it back to the dom but in its new home
963
- parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
964
- }
965
- }
966
- }
967
- else {
968
- // this node doesn't have a slot home to go to, so let's hide it
969
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
970
- nodeToRelocate.hidden = true;
971
- }
972
- }
973
- }
974
- }
975
- if (checkSlotFallbackVisibility) {
976
- updateFallbackSlotVisibility(rootVnode.$elm$);
977
- }
978
- // done moving nodes around
979
- // allow the disconnect callback to work again
980
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
981
- // always reset
982
- relocateNodes.length = 0;
983
- }
984
659
  };
985
660
  const getElement = (ref) => (getHostRef(ref).$hostElement$ );
986
661
  const createEvent = (ref, name, flags) => {
@@ -1116,9 +791,6 @@ const postUpdateComponent = (hostRef) => {
1116
791
  const endPostUpdate = createTime('postUpdate', tagName);
1117
792
  const instance = hostRef.$lazyInstance$ ;
1118
793
  const ancestorComponent = hostRef.$ancestorComponent$;
1119
- {
1120
- safeCall(instance, 'componentDidRender');
1121
- }
1122
794
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1123
795
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1124
796
  {
@@ -1434,15 +1106,6 @@ const connectedCallback = (elm) => {
1434
1106
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
1435
1107
  // first time this component has connected
1436
1108
  hostRef.$flags$ |= 1 /* hasConnected */;
1437
- {
1438
- // initUpdate
1439
- // if the slot polyfill is required we'll need to put some nodes
1440
- // in here to act as original content anchors as we move nodes around
1441
- // host element has been connected to the DOM
1442
- if ((cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {
1443
- setContentReference(elm);
1444
- }
1445
- }
1446
1109
  {
1447
1110
  // find the first ancestor component (if there is one) and register
1448
1111
  // this component as one of the actively loading child components for its ancestor
@@ -1484,17 +1147,6 @@ const connectedCallback = (elm) => {
1484
1147
  endConnected();
1485
1148
  }
1486
1149
  };
1487
- const setContentReference = (elm) => {
1488
- // only required when we're NOT using native shadow dom (slot)
1489
- // or this browser doesn't support native shadow dom
1490
- // and this host element was NOT created with SSR
1491
- // let's pick out the inner content for slot projection
1492
- // create a node to represent where the original
1493
- // content was first placed, which is useful later on
1494
- const contentRefElm = (elm['s-cr'] = doc.createComment(''));
1495
- contentRefElm['s-cn'] = true;
1496
- elm.insertBefore(contentRefElm, elm.firstChild);
1497
- };
1498
1150
  const disconnectedCallback = (elm) => {
1499
1151
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1500
1152
  const hostRef = getHostRef(elm);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-7adce49f.js');
3
+ const index = require('./index-141137b2.js');
4
4
 
5
5
  const ArrowIcon = () => (index.h("svg", { width: "12", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
6
6
  index.h("path", { d: "M0 10 10 0l1.4 1.4L2.8 10l8.6 8.6L10 20 0 10Z" })));
@@ -25,11 +25,17 @@ const CheckIcon = () => (index.h("svg", { width: "14", height: "11", fill: "none
25
25
  index.h("path", { d: "M5 10.414 0 5.413 1.413 4 5 7.586 12.585 0 14 1.415l-9 8.999Z", fill: "var(--color-primary, var(--color-primary-system))" })));
26
26
  const ChevronIcon = () => (index.h("svg", { width: "9", height: "16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
27
27
  index.h("path", { d: "m9 8-7.895 8L0 14.88 6.79 8 0 1.12 1.105 0 9 8Z", fill: "#525252" })));
28
+ const VisualSearchIcon = () => (index.h("svg", { width: "22", height: "22", xmlns: "http://www.w3.org/2000/svg" },
29
+ index.h("path", { d: "M18 0h-3v2h3c1.103 0 2 .897 2 2v3h2V4c0-2.206-1.794-4-4-4Zm2 18c0 1.103-.897 2-2 2h-3v2h3c2.206 0 4-1.794 4-4v-3h-2v3ZM2 18v-3H0v3c0 2.206 1.794 4 4 4h3v-2H4c-1.103 0-2-.897-2-2ZM2 4c0-1.103.897-2 2-2h3V0H4C1.794 0 0 1.794 0 4v3h2V4Zm6 6.5C8 9.122 9.122 8 10.5 8S13 9.122 13 10.5 11.878 13 10.5 13A2.503 2.503 0 0 1 8 10.5Zm7.5 6.5a1.503 1.503 0 0 0 1.061-2.561l-2.012-2.011c.293-.6.448-1.26.451-1.928C15 8.019 12.981 6 10.5 6A4.505 4.505 0 0 0 6 10.5c0 2.481 2.019 4.5 4.5 4.5.693 0 1.341-.17 1.928-.451l2.011 2.012c.293.293.677.439 1.061.439Z" })));
30
+ const CrossIcon = () => (index.h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
31
+ index.h("path", { d: "M16 1.4L14.6 0L8 6.6L1.4 0L0 1.4L6.6 8L0 14.6L1.4 16L8 9.4L14.6 16L16 14.6L9.4 8L16 1.4Z", fill: "#161616" })));
28
32
 
29
33
  exports.ArrowIcon = ArrowIcon;
30
34
  exports.CameraIcon = CameraIcon;
31
35
  exports.CheckIcon = CheckIcon;
32
36
  exports.ChevronIcon = ChevronIcon;
37
+ exports.CrossIcon = CrossIcon;
33
38
  exports.OnboardingCard1Icon = OnboardingCard1Icon;
34
39
  exports.OnboardingCard2Icon = OnboardingCard2Icon;
35
40
  exports.OnboardingCard3Icon = OnboardingCard3Icon;
41
+ exports.VisualSearchIcon = VisualSearchIcon;
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-7adce49f.js');
6
- const appGlobals = require('./app-globals-de6924b5.js');
5
+ const index = require('./index-141137b2.js');
6
+ const appGlobals = require('./app-globals-d0251be8.js');
7
7
 
8
8
  /*
9
9
  Stencil Client Patch Esm v2.9.0 | MIT Licensed | https://stenciljs.com
@@ -16,7 +16,7 @@ const defineCustomElements = (win, options) => {
16
16
  if (typeof window === 'undefined') return Promise.resolve();
17
17
  return patchEsm().then(() => {
18
18
  appGlobals.globalScripts();
19
- return index.bootstrapLazy([["vviinn-carousel.cjs",[[4,"vviinn-carousel",{"mode":[1],"imageWidth":[2,"image-width"],"showScroll":[4,"show-scroll"],"moveDirection":[32],"contentGroups":[32],"activeContentGroup":[32]}]]],["cropper-handler_28.cjs",[[1,"vviinn-vps-button",{"token":[1],"currencySign":[1,"currency-sign"],"locale":[1],"apiPath":[1,"api-path"],"pressed":[32]},[[0,"modalClosed","handleModalClosed"]]],[1,"vviinn-vps-widget",{"token":[1],"apiPath":[1,"api-path"],"active":[1028],"currencySign":[1,"currency-sign"],"locale":[1],"slidePosition":[32],"width":[32],"wrongImageFormat":[32]}],[1,"vviinn-image-view"],[1,"vviinn-onboarding"],[1,"vviinn-example-images",null,[[0,"exampleImageSelected","handleImageSelection"],[0,"exampleImageError","handleImageSelectionError"]]],[1,"vviinn-overlayed-modal",{"active":[4]}],[1,"vviinn-empty-results"],[1,"vviinn-image-selector"],[1,"vviinn-server-error"],[1,"vviinn-wrong-format"],[1,"search-filters",{"filter":[16],"selectedCategoryId":[32],"hideFilters":[32]}],[1,"vviinn-privacy-badge"],[1,"vviinn-teaser"],[1,"image-cropper",{"disabled":[4],"handleMove":[32]}],[1,"vviinn-example-image",{"src":[1],"width":[2],"height":[2],"selected":[32]}],[1,"highlight-box"],[1,"vviinn-detected-object",{"detectedObject":[16],"position":[32]}],[1,"vviinn-modal",{"active":[1540],"slider":[32]}],[1,"vviinn-onboarding-card-1"],[1,"vviinn-onboarding-card-2"],[1,"vviinn-onboarding-card-3"],[1,"vviinn-overlay"],[1,"vviinn-product-card",{"brand":[1],"currency":[1],"deeplink":[1],"image":[1],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"locale":[1],"price":[2],"pricePrefix":[1,"price-prefix"],"productId":[1,"product-id"],"productTitle":[1,"product-title"],"productType":[1,"product-type"],"salePrice":[2,"sale-price"],"responsive":[4],"dimmedBackground":[4,"dimmed-background"],"imageLoaded":[32]}],[1,"vviinn-slide"],[1,"vviinn-slider",{"showBullets":[4,"show-bullets"],"position":[514],"showArrows":[4,"show-arrows"],"elementsCount":[32],"internalPosition":[32],"swipeStartPosition":[32]}],[1,"cropper-handler",{"handler":[16],"disabled":[4]}],[1,"vviinn-error"],[1,"vviinn-preloader"]]],["vviinn-vpr-widget.cjs",[[1,"vviinn-vpr-widget",{"blockTitle":[1,"block-title"],"columns":[2],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"productId":[1,"product-id"],"token":[1],"currencySign":[1,"currency-sign"],"pricePrefix":[1,"price-prefix"],"mode":[1],"campaignType":[1,"campaign-type"],"locale":[1],"apiPath":[1,"api-path"],"showScroll":[4,"show-scroll"],"recommendations":[32],"loaded":[32]}]]]], options);
19
+ return index.bootstrapLazy([["cropper-handler.cjs",[[1,"cropper-handler",{"handler":[16],"disabled":[4]}]]],["vviinn-error.cjs",[[1,"vviinn-error"]]],["vviinn-preloader.cjs",[[1,"vviinn-preloader"]]],["vviinn-carousel_5.cjs",[[1,"vviinn-vpr-button",{"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"sidebarTitle":[1,"sidebar-title"],"modalScrollbar":[4,"modal-scrollbar"]}],[1,"vviinn-recommendations-sidebar",{"sidebarTitle":[1,"sidebar-title"],"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"widgetScrollbar":[4,"widget-scrollbar"],"state":[32]},[[16,"click","bodyClickListener"]]],[1,"vviinn-vpr-widget",{"blockTitle":[1,"block-title"],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"productId":[1,"product-id"],"token":[1],"currencySign":[1,"currency-sign"],"pricePrefix":[1,"price-prefix"],"mode":[1],"campaignType":[1,"campaign-type"],"locale":[1],"apiPath":[1,"api-path"],"useCarousel":[4,"use-carousel"],"showScroll":[4,"show-scroll"],"cssUrl":[1,"css-url"],"recommendations":[32],"loaded":[32]},[[0,"productImageLoaded","lol"]]],[0,"vviinn-carousel",{"mode":[1],"imageWidth":[2,"image-width"],"showScroll":[4,"show-scroll"],"recommendations":[16],"moveDirection":[32],"contentGroups":[32],"activeContentGroup":[32]}],[1,"vviinn-product-card",{"brand":[1],"currency":[1],"deeplink":[1],"image":[1],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"locale":[1],"price":[2],"pricePrefix":[1,"price-prefix"],"productId":[1,"product-id"],"productTitle":[1,"product-title"],"productType":[1,"product-type"],"salePrice":[2,"sale-price"],"responsive":[4],"dimmedBackground":[4,"dimmed-background"],"imageLoaded":[32]}]]],["highlight-box_22.cjs",[[1,"vviinn-image-view"],[1,"vviinn-onboarding"],[1,"vviinn-example-images",null,[[0,"exampleImageSelected","handleImageSelection"],[0,"exampleImageError","handleImageSelectionError"]]],[1,"vviinn-overlayed-modal",{"active":[4]}],[1,"vviinn-empty-results"],[1,"vviinn-image-selector"],[1,"vviinn-server-error"],[1,"vviinn-wrong-format"],[1,"search-filters",{"filter":[16],"selectedCategoryId":[32],"hideFilters":[32]}],[1,"vviinn-privacy-badge"],[1,"vviinn-teaser"],[1,"image-cropper",{"disabled":[4],"handleMove":[32]}],[1,"vviinn-example-image",{"src":[1],"width":[2],"height":[2],"selected":[32]}],[1,"highlight-box"],[1,"vviinn-detected-object",{"detectedObject":[16],"position":[32]}],[1,"vviinn-modal",{"active":[1540],"slider":[32]}],[1,"vviinn-onboarding-card-1"],[1,"vviinn-onboarding-card-2"],[1,"vviinn-onboarding-card-3"],[1,"vviinn-overlay"],[1,"vviinn-slide"],[1,"vviinn-slider",{"showBullets":[4,"show-bullets"],"position":[514],"showArrows":[4,"show-arrows"],"elementsCount":[32],"internalPosition":[32],"swipeStartPosition":[32]}]]],["vviinn-vps-widget.cjs",[[1,"vviinn-vps-widget",{"token":[1],"apiPath":[1,"api-path"],"active":[1028],"currencySign":[1,"currency-sign"],"locale":[1],"slidePosition":[32],"width":[32],"wrongImageFormat":[32]}]]],["vviinn-vps-button.cjs",[[1,"vviinn-vps-button",{"token":[1],"currencySign":[1,"currency-sign"],"locale":[1],"apiPath":[1,"api-path"],"pressed":[32]},[[0,"modalClosed","handleModalClosed"]]]]]], options);
20
20
  });
21
21
  };
22
22